/**
 * portal-base.css v4 — RYM Portal — LD Design System
 * Acento azul corporativo (#4A90D9) — Mobile-first boutique app
 * Responsive 320px → ∞, bottom nav on mobile, top nav on desktop
 */

/* ── TOKENS ────────────────────────────────────────────── */
:root,[data-theme="dark"]{
  /* Brand palette */
  --o:#F5820A;--o2:#D4690A;--o-dim:rgba(245,130,10,0.13);--o-b:rgba(245,130,10,0.40);
  --b:#1E3A5F;--b2:#4A90D9;--b-dim:rgba(74,144,217,0.13);--b-b:rgba(74,144,217,0.40);
  --p2:#9B6FDE;--p-dim:rgba(155,111,222,0.13);--p-b:rgba(155,111,222,0.40);
  --g:#1D9E75;--g2:#22c68f;--g-dim:rgba(29,158,117,0.13);--g-b:rgba(29,158,117,0.35);
  --r:#E24B4A;--r-dim:rgba(226,75,74,0.13);
  /* Portal primary accent = blue */
  --accent:var(--b2);--accent-dim:var(--b-dim);--accent-b:var(--b-b);
  --accent-glow:rgba(74,144,217,0.12);
  /* Surfaces */
  --bg:#07080F;--bg2:#0C0E1A;--bg3:#111320;
  --s1:rgba(255,255,255,0.04);--s2:rgba(255,255,255,0.07);--s3:rgba(255,255,255,0.11);
  --glass:rgba(255,255,255,0.05);--glass-b:rgba(255,255,255,0.10);
  /* Text */
  --text:#F0F0F6;--text2:#C8C8D4;--muted:rgba(240,240,246,0.45);--hint:rgba(240,240,246,0.18);
  /* Components */
  --card-bg:rgba(255,255,255,0.04);--card-b:rgba(255,255,255,0.09);
  --nav-bg:rgba(7,8,15,0.94);--nav-b:rgba(255,255,255,0.08);
  --input-bg:rgba(255,255,255,0.07);--input-b:rgba(255,255,255,0.11);
  --shadow:0 4px 24px rgba(0,0,0,0.45);--shadow-sm:0 2px 8px rgba(0,0,0,0.3);
  --radius:16px;--radius-sm:10px;--radius-xs:7px;
  --bot-h:64px;
  --font-heading:'Manrope',sans-serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  /* ── CSS aliases (backward-compat with page-level styles) ── */
  --card-border:var(--card-b);
  --o-border:var(--o-b);
  --input-border:var(--input-b);
  --b-border:var(--b-b);
  --p-border:var(--p-b);
  --g-border:var(--g-b);
}
[data-theme="light"]{
  --bg:#F0F2F8;--bg2:#E8EBF4;--bg3:#FFFFFF;
  --s1:rgba(255,255,255,0.85);--s2:rgba(255,255,255,0.70);--s3:rgba(255,255,255,0.55);
  --glass:rgba(255,255,255,0.90);--glass-b:rgba(30,58,95,0.10);
  --text:#0A0C1A;--text2:#3A4466;--muted:#7B88AA;--hint:#B0BCCF;
  --card-bg:#FFFFFF;--card-b:rgba(30,58,95,0.09);
  --nav-bg:rgba(240,242,248,0.95);--nav-b:rgba(30,58,95,0.09);
  --input-bg:#FFFFFF;--input-b:rgba(30,58,95,0.18);
  --shadow:0 4px 20px rgba(30,58,95,0.10);--shadow-sm:0 2px 8px rgba(30,58,95,0.07);
  --accent-glow:rgba(74,144,217,0.09);
  --o-dim:rgba(245,130,10,0.09);--o-b:rgba(245,130,10,0.32);
  --g-dim:rgba(29,158,117,0.09);--b-dim:rgba(74,144,217,0.09);
  --b-b:rgba(74,144,217,0.30);
  --p-dim:rgba(155,111,222,0.09);--r-dim:rgba(226,75,74,0.09);
  --card-border:var(--card-b);
  --o-border:var(--o-b);
  --input-border:var(--input-b);
  --b-border:var(--b-b);
  --p-border:var(--p-b);
  --g-border:var(--g-b);
}

/* ── ANIMATIONS ─────────────────────────────────────────── */
@keyframes rym-fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@keyframes rym-pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
@keyframes rym-spin{to{transform:rotate(360deg);}}
@keyframes slide-up{from{transform:translateY(40px);opacity:0;}to{transform:none;opacity:1;}}
@keyframes pop-in{from{transform:scale(.95);opacity:0;}to{transform:none;opacity:1;}}
@keyframes rym-pageIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.fu{opacity:0;animation:rym-fadeUp .75s cubic-bezier(.22,1,.36,1) forwards;}
.fu-s{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.fu-s.vis{opacity:1;transform:none;}

/* ── RESET ─────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);
  background:var(--bg);color:var(--text);
  min-height:100vh;
  padding-bottom:var(--bot-h);
  transition:background .25s,color .25s;
  -webkit-font-smoothing:antialiased;
}
@media(min-width:769px){body{padding-bottom:0;}}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
img{max-width:100%;display:block;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--s3);border-radius:4px;}

/* ── DESKTOP TOP NAV ────────────────────────────────────── */
.p-nav{
  display:none;
  position:sticky;top:0;z-index:200;
  height:58px;align-items:center;
  padding:0 clamp(16px,4vw,32px);gap:8px;
  background:var(--nav-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--nav-b);
}
@media(min-width:769px){.p-nav{display:flex;}}
.p-nav-logo{display:flex;align-items:center;gap:9px;margin-right:20px;flex-shrink:0;}
.p-nav-logo img{height:28px;width:auto;}
.p-nav-logo-fb{width:30px;height:30px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;color:#fff;}
.p-nav-brand{font-family:var(--font-heading);font-size:13px;font-weight:800;letter-spacing:-.01em;}
.p-nav-links{display:flex;gap:2px;flex:1;}
.p-nav-link{
  display:flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:22px;
  font-size:13px;font-weight:500;color:var(--muted);
  transition:all .15s;white-space:nowrap;
}
.p-nav-link i{font-size:15px;}
.p-nav-link:hover{color:var(--text);background:var(--s2);}
.p-nav-link.active{color:var(--accent);background:var(--accent-dim);font-weight:600;}
.p-nav-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0;}
.p-nav-btn{
  width:34px;height:34px;border-radius:9px;
  background:var(--glass);border:1px solid var(--glass-b);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:16px;transition:all .18s;
}
.p-nav-btn:hover{border-color:var(--accent-b);color:var(--accent);}
.p-nav-user{
  display:flex;align-items:center;gap:8px;
  padding:5px 14px 5px 6px;
  border-radius:22px;background:var(--s2);border:1px solid var(--glass-b);
}
.p-nav-avatar{
  width:26px;height:26px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--p2));
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:800;color:#fff;flex-shrink:0;
}
.p-nav-name{font-size:13px;font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ── MOBILE TOP BAR ─────────────────────────────────────── */
.p-mobile-bar{
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:200;
  padding:0 16px;height:56px;
  background:var(--nav-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--nav-b);
}
@media(min-width:769px){.p-mobile-bar{display:none;}}
.p-mobile-bar-logo{display:flex;align-items:center;gap:8px;}
.p-mobile-bar-logo img{height:24px;}
.p-mobile-bar-logo-fb{width:28px;height:28px;background:var(--accent);border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;color:#fff;}
.p-mobile-bar-title{font-family:var(--font-heading);font-size:14px;font-weight:800;}
.p-mobile-bar-right{display:flex;align-items:center;gap:8px;}
.p-mobile-bar-av{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--p2));
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:#fff;
}
.p-mobile-bar-btn{
  width:32px;height:32px;border-radius:8px;
  background:var(--glass);border:1px solid var(--glass-b);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;color:var(--muted);
}

/* ── BOTTOM NAV (mobile only) ───────────────────────────── */
.p-bottom-nav{
  display:flex;
  position:fixed;bottom:0;left:0;right:0;z-index:200;
  height:var(--bot-h);
  background:var(--nav-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-top:1px solid var(--nav-b);
  padding-bottom:env(safe-area-inset-bottom);
}
@media(min-width:769px){.p-bottom-nav{display:none;}}
.p-bot-link{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;font-size:9px;font-weight:600;color:var(--muted);
  transition:all .18s;-webkit-tap-highlight-color:transparent;
  padding:8px 4px 6px;
}
.p-bot-link i{font-size:20px;transition:all .18s;}
.p-bot-link.active{color:var(--accent);}
.p-bot-link.active i{transform:translateY(-2px);}
.p-bot-link span{letter-spacing:.02em;}

/* ── PAGE CONTENT ───────────────────────────────────────── */
.p-content{
  max-width:1100px;margin:0 auto;
  padding:16px clamp(12px,4vw,28px) 24px;
}
.p-page-header{
  padding:20px clamp(12px,4vw,28px) 0;
  max-width:1100px;margin:0 auto 4px;
}
.p-page-title{
  font-family:var(--font-heading);
  font-size:clamp(22px,4vw,28px);font-weight:800;
  letter-spacing:-.03em;line-height:1.1;
}
.p-page-sub{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5;}

/* ── LD EYEBROW ─────────────────────────────────────────── */
.ld-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;
}
.ld-eyebrow::before,.ld-eyebrow::after{content:'';width:16px;height:1px;background:var(--accent);opacity:.4;flex-shrink:0;}

/* ── LD SECTION HEADING ─────────────────────────────────── */
.ld-h2{
  font-family:var(--font-heading);font-size:clamp(22px,3.5vw,34px);
  font-weight:900;letter-spacing:-.035em;line-height:1.1;color:var(--text);
  margin-bottom:clamp(20px,4vw,32px);
}
.ld-h2 em{font-style:normal;color:var(--accent);}

/* ── CARDS ─────────────────────────────────────────────── */
.p-card{background:var(--card-bg);border:1px solid var(--card-b);border-radius:var(--radius);overflow:hidden;}
.p-card-header{padding:14px 18px;border-bottom:1px solid var(--card-b);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.p-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);display:flex;align-items:center;gap:6px;}
.p-card-body{padding:16px 18px;}

/* ── STAT GRID ─────────────────────────────────────────── */
.p-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.p-stat{background:var(--card-bg);border:1px solid var(--card-b);border-radius:12px;padding:14px 16px;}
.p-stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:6px;}
.p-stat-val{font-family:var(--font-heading);font-size:26px;font-weight:800;letter-spacing:-.03em;}
.p-stat-val.o{color:var(--o);}
.p-stat-val.b{color:var(--b2);}
.p-stat-val.g{color:var(--g);}
.p-stat-val.p{color:var(--p2);}
.p-stat-sub{font-size:11px;color:var(--muted);margin-top:3px;}

/* ── BADGES ─────────────────────────────────────────────── */
.p-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700;}
.p-badge.o{background:var(--o-dim);color:var(--o);}
.p-badge.b{background:var(--b-dim);color:var(--b2);}
.p-badge.g{background:var(--g-dim);color:var(--g);}
.p-badge.p{background:var(--p-dim);color:var(--p2);}
.p-badge.r{background:var(--r-dim);color:var(--r);}
.p-badge.muted{background:var(--s2);color:var(--muted);}

/* ── BUTTONS ─────────────────────────────────────────────── */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:all .17s;white-space:nowrap;}
.p-btn.primary{background:var(--accent);color:#fff;}
.p-btn.primary:hover{opacity:.9;transform:translateY(-1px);}
.p-btn.primary:active{transform:translateY(0);}
.p-btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--card-b);}
.p-btn.ghost:hover{border-color:var(--accent-b);color:var(--accent);}
.p-btn.orange{background:var(--o);color:#fff;}
.p-btn.orange:hover{background:var(--o2);transform:translateY(-1px);}
.p-btn.green{background:var(--g);color:#fff;}
.p-btn.sm{padding:6px 12px;font-size:12px;}
.p-btn:disabled{opacity:.38;cursor:not-allowed;transform:none!important;}

/* ── INPUTS ─────────────────────────────────────────────── */
.p-input,.p-select,.p-textarea{
  width:100%;
  background:var(--input-bg);border:1px solid var(--input-b);
  border-radius:var(--radius-sm);
  padding:11px 14px;font-size:14px;color:var(--text);
  outline:none;font-family:inherit;transition:border-color .18s;
  -webkit-appearance:none;appearance:none;
}
.p-input::placeholder,.p-textarea::placeholder{color:var(--hint);}
.p-input:focus,.p-select:focus,.p-textarea:focus{border-color:var(--accent-b);}
.p-textarea{resize:vertical;min-height:90px;line-height:1.5;}
.p-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
.p-field{display:flex;flex-direction:column;gap:6px;}
.p-field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);}

/* ── SPINNER ────────────────────────────────────────────── */
.p-spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--s3);border-top-color:var(--accent);animation:rym-spin .65s linear infinite;display:inline-block;flex-shrink:0;}

/* ── MODALS ─────────────────────────────────────────────── */
.p-modal-overlay{
  display:none;position:fixed;inset:0;z-index:500;
  background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);
  align-items:center;justify-content:center;
  padding:16px;box-sizing:border-box;
}
.p-modal-overlay.open{display:flex;}
.p-modal{
  background:var(--bg3);
  width:100%;max-height:92vh;overflow-y:auto;
  border-radius:20px;
  border:1px solid var(--card-b);
  animation:pop-in .25s cubic-bezier(.32,1,.45,1);
}
@media(min-width:600px){
  .p-modal{max-width:520px;}
}
.p-modal-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 20px 0;
  position:sticky;top:0;background:var(--bg3);z-index:1;
}
.p-modal-title{font-family:var(--font-heading);font-size:17px;font-weight:800;}
.p-modal-close{
  width:32px;height:32px;border-radius:50%;
  background:var(--s2);color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-size:16px;
}
.p-modal-body{padding:16px 20px;}
.p-modal-footer{
  display:flex;gap:10px;justify-content:flex-end;
  padding:0 20px 20px;
}

/* ── TOAST ──────────────────────────────────────────────── */
.p-toast{
  position:fixed;bottom:calc(var(--bot-h) + 16px);left:50%;transform:translateX(-50%);
  background:var(--bg3);border:1px solid var(--card-b);
  border-radius:100px;padding:10px 20px;
  font-size:13px;font-weight:600;color:var(--text);
  display:flex;align-items:center;gap:8px;
  box-shadow:var(--shadow);white-space:nowrap;z-index:400;
  opacity:0;transform:translateX(-50%) translateY(12px);
  transition:all .25s;pointer-events:none;
}
@media(min-width:769px){.p-toast{bottom:24px;}}
.p-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.p-toast.err{border-color:var(--r-dim);} .p-toast.err i{color:var(--r);}
.p-toast.ok  i{color:var(--g);}
.p-toast.info i{color:var(--accent);}

/* ── EMPTY STATE ────────────────────────────────────────── */
.p-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:60px 20px;gap:12px;text-align:center;
}
.p-empty i{font-size:40px;opacity:.2;}
.p-empty strong{font-size:15px;font-weight:700;}
.p-empty span{font-size:13px;color:var(--muted);max-width:280px;line-height:1.6;}
.p-empty a{color:var(--accent);font-weight:600;}

/* ── LOADING STATE ──────────────────────────────────────── */
.p-loading{display:flex;align-items:center;justify-content:center;padding:60px 20px;}

/* ── TABLE ──────────────────────────────────────────────── */
.p-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.p-table{width:100%;border-collapse:collapse;min-width:420px;}
.p-table th{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:10px 14px;text-align:left;border-bottom:1px solid var(--card-b);}
.p-table td{padding:12px 14px;font-size:13px;border-bottom:1px solid var(--s1);}
.p-table tr:last-child td{border-bottom:none;}
.p-table tbody tr:hover td{background:var(--s1);}

/* ── SECTION HEADER ─────────────────────────────────────── */
.p-section-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.p-section-hd h2{font-family:var(--font-heading);font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;}
.p-section-hd h2 i{color:var(--accent);font-size:16px;}
.p-section-link{font-size:12px;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:3px;}

/* ── CHIP FILTERS ───────────────────────────────────────── */
.p-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.p-chip{padding:6px 14px;border-radius:100px;font-size:12px;font-weight:600;border:1px solid var(--card-b);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap;}
.p-chip:hover{border-color:var(--accent-b);color:var(--accent);}
.p-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;}

/* ── INTENT CARDS (Ecosystem quick access) ──────────────── */
.ld-intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;}
@media(max-width:680px){.ld-intent-grid{grid-template-columns:1fr;gap:10px;}}

.ld-intent-card{
  background:var(--card-bg);border:1px solid var(--card-b);
  border-radius:var(--radius);padding:20px;
  display:flex;flex-direction:column;color:var(--text);
  position:relative;overflow:hidden;
  transition:all .25s ease;text-decoration:none;
}
.ld-intent-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at top right,var(--ic-glow,var(--accent-glow)) 0%,transparent 65%);
  opacity:0;transition:opacity .3s ease;pointer-events:none;
}
.ld-intent-card:hover{border-color:var(--ic-accent,var(--accent));transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.22);}
.ld-intent-card:hover::before{opacity:1;}
.ld-intent-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.ld-intent-icon{
  width:40px;height:40px;border-radius:11px;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ic-glow,var(--accent-glow));color:var(--ic-accent,var(--accent));
  flex-shrink:0;transition:transform .25s ease;
}
.ld-intent-card:hover .ld-intent-icon{transform:scale(1.08) rotate(-3deg);}
.ld-intent-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.ld-intent-card:hover .ld-intent-tag{color:var(--ic-accent,var(--accent));}
.ld-intent-title{font-family:var(--font-heading);font-size:15px;font-weight:800;line-height:1.25;margin-bottom:5px;}
.ld-intent-desc{font-size:12px;color:var(--muted);line-height:1.5;flex:1;margin-bottom:14px;}
.ld-intent-ft{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);transition:color .2s;}
.ld-intent-arrow{font-size:14px;transition:transform .2s ease;}
.ld-intent-card:hover .ld-intent-ft{color:var(--text);}
.ld-intent-card:hover .ld-intent-arrow{transform:translateX(3px);color:var(--ic-accent,var(--accent));}

/* Sub-ecosystem colors */
.ld-intent-card[data-p="lista"]{--ic-accent:var(--o);--ic-glow:rgba(245,130,10,0.12);}
.ld-intent-card[data-p="academia"]{--ic-accent:var(--p2);--ic-glow:rgba(155,111,222,0.12);}
.ld-intent-card[data-p="tienda"]{--ic-accent:var(--o2);--ic-glow:rgba(212,105,10,0.12);}
.ld-intent-card[data-p="whatsapp"]{--ic-accent:var(--g);--ic-glow:rgba(29,158,117,0.12);}

/* ── HIGHLIGHT CARDS (Promotions/Announcements) ─────────── */
.ld-highlights-band{
  background:var(--bg2);border-radius:var(--radius);
  padding:20px;margin-bottom:24px;
  border:1px solid var(--accent-b);
  position:relative;overflow:hidden;
}
.ld-highlights-band::before{
  content:'';position:absolute;top:0;right:0;
  width:200px;height:200px;pointer-events:none;
  background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);
}
.ld-highlights-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.ld-highlights-label{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);
}
.ld-live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:rym-pulse 2.2s ease-in-out infinite;}
.ld-highlights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;}
.ld-highlight-card{
  background:var(--card-bg);border:1px solid var(--card-b);border-radius:12px;
  padding:16px;display:flex;gap:14px;
  transition:border-color .2s,transform .2s;
}
.ld-highlight-card:hover{border-color:var(--accent-b);transform:translateY(-2px);}
.ld-highlight-img{width:64px;height:64px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--s2);}
.ld-highlight-img-placeholder{width:64px;height:64px;border-radius:10px;flex-shrink:0;background:var(--accent-glow);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:24px;}
.ld-highlight-body{flex:1;min-width:0;}
.ld-highlight-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:5px;}
.ld-highlight-title{font-family:var(--font-heading);font-size:14px;font-weight:800;line-height:1.25;margin-bottom:4px;}
.ld-highlight-sub{font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:10px;}
.ld-highlight-cta{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--accent);transition:gap .15s;}
.ld-highlight-cta:hover{gap:8px;}

/* ── REVISTA CARDS (Articles) ───────────────────────────── */
.ld-revista-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;}
@media(max-width:780px){.ld-revista-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ld-revista-grid{grid-template-columns:1fr;}}

.ld-revista-card{
  background:var(--card-bg);border:1px solid var(--card-b);border-radius:var(--radius);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s;text-decoration:none;color:inherit;
}
.ld-revista-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.15);border-color:var(--accent);}
.ld-revista-img{width:100%;height:140px;overflow:hidden;background:var(--s2);}
.ld-revista-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.ld-revista-card:hover .ld-revista-img img{transform:scale(1.04);}
.ld-revista-body{padding:16px;display:flex;flex-direction:column;flex:1;gap:8px;}
.ld-revista-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;}
.ld-revista-cat{color:var(--accent);}
.ld-revista-date{color:var(--hint);}
.ld-revista-title{font-family:var(--font-heading);font-size:14px;font-weight:800;line-height:1.3;}
.ld-revista-excerpt{font-size:12px;color:var(--muted);line-height:1.55;flex:1;}
.ld-revista-ft{display:flex;align-items:center;justify-content:space-between;margin-top:4px;font-size:12px;font-weight:600;color:var(--muted);}
.ld-revista-card:hover .ld-revista-ft{color:var(--accent);}

/* ── HERO EDITORIAL ─────────────────────────────────────── */
.ld-hero{
  display:grid;grid-template-columns:1.1fr 1fr;
  gap:clamp(28px,5vw,56px);align-items:center;
  padding:clamp(24px,4vw,40px) clamp(12px,4vw,28px);
  max-width:1100px;margin:0 auto 28px;
}
@media(max-width:720px){
  .ld-hero{grid-template-columns:1fr;}
  .ld-hero-img-col{order:-1;}
  .ld-hero-img-wrap{aspect-ratio:16/9;border-radius:14px;}
}
.ld-hero-tag{
  display:inline-flex;align-items:center;gap:7px;
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 12px;border-radius:20px;
  border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);
  color:var(--accent);margin-bottom:18px;
}
.ld-hero-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:rym-pulse 2.2s ease-in-out infinite;}
.ld-hero-title{
  font-family:var(--font-heading);
  font-size:clamp(22px,3.8vw,38px);
  font-weight:900;letter-spacing:-.03em;line-height:1.05;
  color:var(--text);margin-bottom:14px;
}
.ld-hero-excerpt{
  font-size:clamp(13px,1.5vw,15px);color:var(--muted);line-height:1.7;
  max-width:460px;margin-bottom:24px;
}
.ld-hero-cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.ld-hero-read-time{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);}
.ld-hero-img-wrap{
  aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--card-b);background:var(--card-bg);
  position:relative;display:flex;align-items:center;justify-content:center;
}
.ld-hero-img{width:100%;height:100%;object-fit:cover;display:block;}
.ld-hero-placeholder{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
}
.ld-hero-placeholder i{font-size:32px;color:var(--card-b);}
.ld-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,var(--card-bg) 0%,transparent 50%);
  pointer-events:none;
}

/* ── FIXED FILES SECTION ────────────────────────────────── */
.ld-fixed-band{
  background:linear-gradient(135deg,var(--b-dim) 0%,var(--p-dim) 100%);
  border:1px solid var(--b-b);border-radius:var(--radius);
  padding:20px;margin-bottom:24px;
}
.ld-fixed-file-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--card-b);}
.ld-fixed-file-row:last-child{border-bottom:none;}
.ld-fixed-file-icon{width:36px;height:36px;border-radius:9px;background:var(--accent-glow);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.ld-fixed-file-info{flex:1;min-width:0;}
.ld-fixed-file-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ld-fixed-file-note{font-size:11px;color:var(--muted);margin-top:2px;}

/* ── PROOF UPLOAD (Payment proofs) ─────────────────────── */
.proof-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:10px;}
.proof-thumb{width:100%;aspect-ratio:1;border-radius:8px;object-fit:cover;border:1px solid var(--card-b);cursor:pointer;transition:transform .15s;}
.proof-thumb:hover{transform:scale(1.04);}

/* ── UTILITY ────────────────────────────────────────────── */
.hide-mobile{display:none;}
@media(min-width:769px){.hide-mobile{display:unset;}.show-mobile{display:none!important;}}
.section-gap{margin-bottom:20px;}

/* ── PAGE TRANSITIONS ───────────────────────────────────── */
/* Entry: plays automatically on every page load via CSS animation */
.p-main{
  animation:rym-pageIn .28s cubic-bezier(.22,1,.36,1) both;
  will-change:opacity,transform;
  min-height:60vh;
}
/* Exit: added by JS before navigation */
.p-main.p-exiting{
  animation:none!important;
  transition:opacity .15s ease,transform .15s ease!important;
  opacity:0!important;
  transform:translateY(-7px)!important;
  pointer-events:none!important;
}

/* ── BOTTOM NAV — SMALL SCREEN FIX ─────────────────────── */
/* 7 items × 9px label = overflow on 375px; hide labels below 440px */
@media(max-width:440px){
  .p-bot-link span{display:none;}
  .p-bot-link{padding:10px 2px;}
  .p-bot-link i{font-size:22px;}
}
/* Scrollable bottom nav fallback for very small screens */
@media(max-width:360px){
  .p-bottom-nav{overflow-x:auto;justify-content:flex-start;gap:0;padding-left:4px;padding-right:4px;}
  .p-bot-link{min-width:48px;flex:0 0 48px;}
}

/* ── RESPONSIVE — MOBILE FIRST REFINEMENTS ──────────────── */
/* Tighter spacing on small phones */
@media(max-width:480px){
  .p-content{padding:12px 12px 24px;}
  .p-page-header{padding:16px 12px 0;}
  .p-stat-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .p-stat-val{font-size:22px;}
  .ld-highlights-grid{grid-template-columns:1fr;}
  .ld-intent-grid{gap:8px;}
}

/* Intent cards: 2-col at medium mobile, 1-col at small */
@media(min-width:480px) and (max-width:679px){
  .ld-intent-grid{grid-template-columns:repeat(2,1fr);}
}

/* Hero editorial: keep image on tablet */
@media(max-width:900px) and (min-width:721px){
  .ld-hero{grid-template-columns:1fr 1fr;}
}

/* Revista cards: 2-col on mid-range phones */
@media(max-width:480px){
  .ld-revista-grid{grid-template-columns:1fr;}
}

/* Notif panel full-width on mobile */
@media(max-width:480px){
  #notif-panel{right:auto!important;left:50%;transform:translateX(-50%)!important;width:92vw!important;}
}

/* Card containers: remove horizontal padding overflow */
@media(max-width:360px){
  .p-card{border-radius:12px;}
  .p-modal{border-radius:16px;}
}

/* Chips: horizontal scroll on narrow screens */
@media(max-width:480px){
  .p-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
  .p-chips::-webkit-scrollbar{display:none;}
}

/* Desktop layout: sidebar-like on wider screens */
@media(min-width:1280px){
  .p-content{max-width:1200px;}
  .p-page-header{max-width:1200px;}
}

/* Nav links: hide labels at medium desktop when many items */
@media(min-width:769px) and (max-width:1060px){
  .p-nav-link{padding:7px 10px;font-size:12px;}
  .p-nav-link i{font-size:14px;}
}

/* Safe area insets for iOS notch/home indicator */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  body{padding-bottom:calc(var(--bot-h) + env(safe-area-inset-bottom));}
  @media(min-width:769px){body{padding-bottom:0;}}
  .p-bottom-nav{height:calc(var(--bot-h) + env(safe-area-inset-bottom));}
  .p-toast{bottom:calc(var(--bot-h) + env(safe-area-inset-bottom) + 16px);}
  @media(min-width:769px){.p-toast{bottom:24px;}}
}
