/*
Theme Name:  Dunesland
Theme URI:   https://group.dunes.land
Description: Premium Investment Theme — Desert Hotel & Wellness Retreat
Version:     4.0.0
Author:      Dunes Group SARL
Text Domain: dunesland
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* ============================================================
   DESIGN TOKENS — 1:1 del plugin
   ============================================================ */
:root{
  --gold:#c9a227; --gold-dk:#a8841e; --gold-light:#fef9ec; --gold-border:#fde68a;
  --bg:#f1f5f9; --card:#ffffff; --border:#e2e8f0;
  --text:#0f172a; --muted:#64748b;
  --success:#10b981; --accent:#3b82f6; --accent-dk:#1d4ed8;
  --danger:#ef4444; --sidebar:#1e293b;
  --r-lg:16px; --r-md:10px; --r-sm:8px; --r-pill:999px;
  --shadow:0 1px 8px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.03);
  --shadow-md:0 4px 24px rgba(0,0,0,.09);
  --shadow-lg:0 8px 40px rgba(0,0,0,.14);
  --font:'Inter',system-ui,sans-serif;
  --hh:64px; --abh:64px;
  --dur:.15s; --ease:cubic-bezier(.4,0,.2,1);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);background:var(--bg);color:var(--text);
  font-size:14px;line-height:1.6;font-weight:400;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:color var(--dur) var(--ease)}
a:hover{color:var(--accent-dk)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{line-height:1.15;font-weight:700;letter-spacing:-.3px}
input,textarea,select,button{font-family:var(--font)}

.c{width:100%;max-width:1280px;margin-inline:auto;padding-inline:24px}
.c--sm{max-width:860px} .c--xs{max-width:600px}
#main{min-height:60vh}

@media(max-width:959px){#main{padding-top:var(--hh)}}
@media(min-width:960px){#main{padding-top:var(--hh)}}

/* ============================================================
   HEADER
   ============================================================ */
#dl-hdr{
  position:fixed;top:0;left:0;right:0;z-index:9000;height:var(--hh);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  transition:background .3s,box-shadow .3s,border-color .3s;
}
#dl-hdr.scrolled{
  background:rgba(15,23,42,.97);
  box-shadow:0 4px 24px rgba(0,0,0,.28);
  border-bottom-color:rgba(255,255,255,.06);
}

/* Logo */
.dl-hdr-inner{
  display:flex;align-items:center;height:100%;
  max-width:1280px;margin-inline:auto;padding-inline:20px;gap:16px;
}
.dl-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.dl-logo-img{height:32px;width:auto}
.dl-logo-txt{display:flex;flex-direction:column;gap:2px;line-height:1}
.dl-logo-name{
  font-size:13px;font-weight:900;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sidebar);line-height:1;
  transition:color .3s;
}
.dl-logo-sub{
  font-size:7.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);line-height:1;
}
#dl-hdr.scrolled .dl-logo-name{color:#fff}

/* Desktop nav */
.dl-nav{flex:1;display:none;justify-content:center}
@media(min-width:960px){.dl-nav{display:flex}}
.dl-nav ul,.dl-nav-list{
  display:flex;align-items:center;gap:2px;
  list-style:none;margin:0;padding:0;
}
.dl-nav ul li a,.dl-nav-list li a{
  display:block;padding:7px 13px;font-size:13px;font-weight:500;
  color:var(--muted);border-radius:var(--r-sm);text-decoration:none;
  transition:color .18s,background .18s;
}
.dl-nav ul li a:hover,.dl-nav-list li a:hover{color:var(--text);background:var(--bg)}
.dl-nav ul li.current-menu-item>a,.dl-nav-list li.current-menu-item>a{
  color:var(--text);font-weight:600;
}
#dl-hdr.scrolled .dl-nav ul li a,#dl-hdr.scrolled .dl-nav-list li a{color:rgba(255,255,255,.7)}
#dl-hdr.scrolled .dl-nav ul li a:hover,#dl-hdr.scrolled .dl-nav-list li a:hover{
  color:#fff;background:rgba(255,255,255,.08);
}

/* Header actions */
.dl-hdr-acts{margin-left:auto;display:flex;align-items:center;gap:10px}

/* Portal button — minimal premium */
.dl-hdr-portal{
  display:inline-flex!important;align-items:center;gap:6px;
  padding:7px 14px!important;
  background:transparent!important;
  border:1px solid rgba(15,23,42,.18)!important;
  border-radius:6px!important;
  font-size:11.5px;font-weight:600;letter-spacing:.04em;
  color:var(--sidebar)!important;
  text-decoration:none;white-space:nowrap;
  box-shadow:none!important;
  transform:none!important;
  transition:border-color .2s,color .2s,background .2s;
}
.dl-hdr-portal svg{
  width:13px;height:13px;stroke:currentColor;fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;
}
.dl-hdr-portal:hover{
  border-color:var(--gold)!important;color:var(--gold)!important;background:var(--gold-light)!important;
  box-shadow:none!important;transform:none!important;
}
.dl-portal-lbl{display:inline}
#dl-hdr.scrolled .dl-hdr-portal{
  border-color:rgba(255,255,255,.55)!important;
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
}
#dl-hdr.scrolled .dl-hdr-portal:hover{
  border-color:var(--gold)!important;
  color:var(--gold)!important;
  background:rgba(201,162,39,.12)!important;
}

/* Hamburger — 3 líneas minimalistas asimétricas */
.dl-ham{
  display:none;
  align-items:center;justify-content:center;
  width:38px;height:38px;
  background:transparent;border:none;
  cursor:pointer;padding:0;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
}
@media(max-width:959px){.dl-ham{display:flex}}
/* Anular los span legacy del HTML antiguo */
.dl-ham > span{display:none!important}
/* Nuevo sistema de líneas */
.dl-ham-icon{
  display:flex;flex-direction:column;
  align-items:flex-end;gap:5px;
  width:20px;pointer-events:none;
}
.dl-ham-line{
  display:block;height:1.5px;
  background:var(--sidebar);border-radius:99px;
  transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s,width .28s;
}
.dl-ham-line:nth-child(1){width:20px}
.dl-ham-line:nth-child(2){width:13px}
.dl-ham-line:nth-child(3){width:20px}
.dl-ham.open .dl-ham-line:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.dl-ham.open .dl-ham-line:nth-child(2){opacity:0;width:0}
.dl-ham.open .dl-ham-line:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
#dl-hdr.scrolled .dl-ham-line{background:#fff}

/* Overlay */
.dl-overlay{
  position:fixed!important;inset:0;
  background:rgba(5,10,20,.58);
  z-index:9800!important;
  opacity:0;pointer-events:none;
  transition:opacity .3s;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
.dl-overlay.open{opacity:1;pointer-events:all}
@media(min-width:960px){.dl-overlay{display:none!important}}

/* Drawer — slide lateral premium */
.dl-drawer{
  position:fixed!important;top:0!important;right:-320px!important;bottom:0!important;left:auto!important;
  width:300px!important;max-width:88vw!important;
  background:#1e293b!important;
  z-index:9900!important;
  display:flex!important;flex-direction:column!important;
  border-left:1px solid rgba(255,255,255,.06)!important;
  box-shadow:none!important;
  transition:right .32s cubic-bezier(.4,0,.2,1),box-shadow .32s!important;
  overflow-y:auto!important;-webkit-overflow-scrolling:touch;
  border-top:none!important;
  padding:0!important;
  visibility:hidden!important;
}
.dl-drawer.open{
  right:0!important;
  box-shadow:-16px 0 48px rgba(0,0,0,.45)!important;
  visibility:visible!important;
}
/* Cortar sombra que sangra del drawer cerrado */
html, body{
  overflow-x:hidden!important;
  max-width:100vw;
}
@media(min-width:960px){.dl-drawer{display:none!important}}

/* Anular estilos del drawer original (ul/li) */
.dl-drawer > ul{display:none!important}
.dl-drawer-foot{display:none!important}

/* Drawer header */
.dl-drawer-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 18px 14px;
  border-bottom:1px solid rgba(255,255,255,.07);
  flex-shrink:0;
}
.dl-drawer-brand{display:flex;flex-direction:column;gap:3px}
.dl-drawer-brand-name{
  font-size:11px;font-weight:900;letter-spacing:.14em;
  color:#fff;text-transform:uppercase;line-height:1;
}
.dl-drawer-brand-sub{
  font-size:7px;font-weight:700;letter-spacing:.2em;
  color:var(--gold);text-transform:uppercase;line-height:1;
}
.dl-drawer-close{
  width:34px;height:34px;
  background:rgba(255,255,255,.07);border:none;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:rgba(255,255,255,.6);
  transition:background .2s,color .2s;flex-shrink:0;
}
.dl-drawer-close:hover{background:rgba(255,255,255,.14);color:#fff}
.dl-drawer-close svg{pointer-events:none}

/* Drawer nav */
.dl-drawer-nav{padding:10px 10px 0;flex-shrink:0}
.dl-drawer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.dl-drawer-link{
  display:flex;align-items:center;gap:11px;
  padding:12px 10px;border-radius:9px;
  text-decoration:none;color:rgba(255,255,255,.78);
  transition:background .18s,color .18s;
}
.dl-drawer-link:hover{background:rgba(255,255,255,.07);color:#fff}
.dl-dl-ic{
  width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border-radius:7px;
  flex-shrink:0;color:var(--gold);
}
.dl-dl-ic svg{pointer-events:none}
.dl-dl-txt{flex:1;font-size:14px;font-weight:600;letter-spacing:.01em}
.dl-dl-arr{color:rgba(255,255,255,.25);flex-shrink:0;transition:color .18s}
.dl-dl-arr svg{pointer-events:none}
.dl-drawer-link:hover .dl-dl-arr{color:rgba(255,255,255,.55)}

/* Drawer divider */
.dl-drawer-divider{height:1px;background:rgba(255,255,255,.07);margin:14px 18px;flex-shrink:0}

/* Drawer login */
.dl-drawer-login{padding:0 18px 22px;flex-shrink:0}
.dl-drawer-login-ttl{
  display:flex;align-items:center;gap:7px;
  font-size:9.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);margin:0 0 11px;
}
.dl-drawer-login-body{display:flex;flex-direction:column;gap:8px}
.dl-login-input{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.11);
  border-radius:8px;padding:11px 13px;
  font-size:13px;color:#fff;
  font-family:var(--font);
  width:100%;box-sizing:border-box;
  transition:border-color .2s,background .2s;
}
.dl-login-input::placeholder{color:rgba(255,255,255,.3)}
.dl-login-input:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.09)}
.dl-login-err{
  background:rgba(239,68,68,.13);border:1px solid rgba(239,68,68,.28);
  border-radius:7px;padding:9px 12px;font-size:12px;color:#fca5a5;
}
.dl-login-btn{
  display:flex;align-items:center;justify-content:center;gap:7px;
  background:var(--gold);color:#000;border:none;border-radius:8px;
  padding:12px;font-size:13px;font-weight:700;cursor:pointer;
  width:100%;font-family:var(--font);
  transition:background .2s,transform .15s;letter-spacing:.02em;
}
.dl-login-btn:hover{background:var(--gold-dk);transform:translateY(-1px)}
.dl-login-btn:active{transform:none}

/* Mobile logo size reduction */
@media(max-width:959px){
  .dl-logo-name{font-size:11.5px}
  .dl-logo-sub{font-size:6.5px;letter-spacing:.16em}
  .dl-hdr-portal{padding:6px 11px;font-size:11px}
}

/* ============================================================
   BOTTOM APP BAR
   ============================================================ */
.dl-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:9000;
  background:var(--card);border-top:1px solid var(--border);
  box-shadow:0 -2px 16px rgba(0,0,0,.06);
  padding-bottom:env(safe-area-inset-bottom);
}
@media(max-width:959px){.dl-bar{display:block}}
.dl-bar-inner{
  display:flex;align-items:flex-end;justify-content:space-around;
  max-width:520px;margin-inline:auto;
  height:56px;min-height:56px;
  overflow:visible;
}
.dl-bar-item{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  gap:3px;flex:1;padding-bottom:8px;
  text-decoration:none;color:var(--muted);
  border:none;background:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
/* Sin línea superior — eliminada */
.dl-bar-item::before{display:none}
.dl-bar-item svg{
  width:21px;height:21px;flex-shrink:0;
  stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.dl-bar-item span{
  font-size:9px;font-weight:700;
  color:var(--muted);letter-spacing:.02em;line-height:1;white-space:nowrap;
}
.dl-bar-item.active svg{stroke:var(--gold)}
.dl-bar-item.active span{color:var(--gold)}

/* FAB central */
.dl-bar-cta{
  flex:0 0 68px;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end;
  padding-bottom:6px;position:relative;overflow:visible;
}
.dl-bar-cta::before{display:none}
.dl-bar-cta-inner{
  position:absolute;bottom:10px;
  left:50%;transform:translateX(-50%);
  width:50px;height:50px;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold);border-radius:50%;
  border:3px solid var(--card);
  box-shadow:0 6px 20px rgba(201,162,39,.4),0 2px 6px rgba(0,0,0,.1);
  transition:transform .18s,box-shadow .18s;
}
.dl-bar-cta svg{stroke:#fff!important;fill:none;width:20px!important;height:20px!important;stroke-width:2!important}
.dl-bar-cta-lbl{
  font-size:9px;font-weight:700;color:var(--muted);white-space:nowrap;
  line-height:1;position:relative;z-index:1;margin-top:1px;
}
.dl-bar-cta span{ display:none; }
.dl-bar-cta:active .dl-bar-cta-inner{transform:translateX(-50%) scale(.92)}

/* ============================================================
   SECTIONS
   ============================================================ */
.sec{padding:80px 0}
.sec--sm{padding:56px 0}
.sec--lg{padding:110px 0}
.sec--card{background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.sec--dark{background:var(--sidebar);color:#fff}
.sec--dark .sec-title{color:#fff}
.sec--dark .sec-desc{color:rgba(255,255,255,.6)}
.sec--dark .kicker{color:var(--gold)}
.sec--gold{background:var(--gold-light);border-top:1px solid var(--gold-border);border-bottom:1px solid var(--gold-border)}

.sec-hd{margin-bottom:48px}
.sec-hd--center{text-align:center;max-width:640px;margin-inline:auto;margin-bottom:56px}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.kicker::before{content:'';display:block;width:20px;height:1.5px;background:var(--gold);border-radius:99px;flex-shrink:0}
.sec-title{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;letter-spacing:-.04em;color:var(--text);line-height:1.1;margin-bottom:12px}
.sec-title--lg{font-size:clamp(2rem,5vw,3rem)}
.sec-desc{font-size:15px;color:var(--muted);line-height:1.7;max-width:520px}
.sec-hd--center .sec-desc{margin-inline:auto}

.g2{display:grid;grid-template-columns:1fr;gap:20px}
.g3{display:grid;grid-template-columns:1fr;gap:16px}
.g4{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.g-split{display:grid;grid-template-columns:1fr;gap:56px;align-items:center}
@media(min-width:640px){.g3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:800px){.g2{grid-template-columns:1fr 1fr}.g-split{grid-template-columns:1fr 1fr;gap:72px}}
@media(min-width:900px){.g3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:700px){.g4{grid-template-columns:repeat(4,1fr)}}

/* ============================================================
   CARDS
   ============================================================ */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow);transition:box-shadow var(--dur) var(--ease)}
.card:hover{box-shadow:var(--shadow-md)}
.card--gold{border-top:3px solid var(--gold)}
.card--accent{border-top:3px solid var(--accent)}
.card--success{border-top:3px solid var(--success)}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 20px;font-size:13px;font-weight:600;
  border-radius:var(--r-md);border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:all var(--dur) var(--ease);letter-spacing:.01em;
  -webkit-tap-highlight-color:transparent;
}
.btn--gold{background:var(--gold);color:#fff;border-color:var(--gold);box-shadow:0 2px 8px rgba(201,162,39,.3)}
.btn--gold:hover{background:var(--gold-dk);border-color:var(--gold-dk);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px rgba(201,162,39,.4)}
.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn--primary:hover{background:var(--accent-dk);border-color:var(--accent-dk);color:#fff}
.btn--outline{background:transparent;color:var(--text);border-color:var(--border)}
.btn--outline:hover{background:var(--bg);border-color:var(--text);color:var(--text)}
/* En secciones oscuras el outline-light tiene texto blanco pero al hover => negro legible */
.sec--dark .btn--outline-light:hover,
.btn--outline-light:hover{
  background:#fff!important;color:#0f172a!important;border-color:#fff!important;
}
.btn--outline-light{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.35);
}
.btn--dark{background:var(--sidebar);color:#fff;border-color:var(--sidebar)}
.btn--dark:hover{background:#263548;color:#fff}
.btn--ghost{background:transparent;color:var(--muted);border-color:transparent}
.btn--ghost:hover{color:var(--text);background:var(--bg)}
.btn--lg{padding:12px 24px;font-size:14px}
.btn--xl{padding:14px 28px;font-size:15px;font-weight:700}
.btn--sm{padding:7px 14px;font-size:12px}
.btn--full{width:100%;justify-content:center}
.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* ============================================================
   KPI CARDS
   ============================================================ */
.kpi-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:22px 24px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:8px;
  transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.kpi-card--gold{border-top:3px solid var(--gold)}
.kpi-card--accent{border-top:3px solid var(--accent)}
.kpi-card--success{border-top:3px solid var(--success)}
.kpi-card--dark{border-top:3px solid var(--sidebar)}
.kpi-ico{font-size:22px}
.kpi-lbl{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.kpi-val{font-size:28px;font-weight:900;letter-spacing:-.05em;color:var(--text);line-height:1}
.kpi-val em{color:var(--gold);font-style:normal}
.kpi-note{font-size:12px;color:var(--muted)}

/* ============================================================
   STATS ROW
   ============================================================ */
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}
@media(min-width:600px){.stats-row{grid-template-columns:repeat(4,1fr)}}
.stat-item{padding:28px 24px;background:var(--card);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background var(--dur) var(--ease)}
.stat-item:hover{background:#fafbfc}
.stat-item:nth-child(2n){border-right:none}
@media(min-width:600px){
  .stat-item{border-bottom:none}
  .stat-item:nth-child(2n){border-right:1px solid var(--border)}
  .stat-item:last-child{border-right:none}
}
.stat-val{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:900;letter-spacing:-.05em;color:var(--text);line-height:1;margin-bottom:6px}
.stat-val span{color:var(--gold)}
.stat-lbl{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

/* ============================================================
   UNIT CARDS
   ============================================================ */
.unit-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);transition:all var(--dur) var(--ease)}
.unit-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.unit-card--featured{border-color:var(--gold-border)}
.unit-card-img{aspect-ratio:16/10;overflow:hidden;background:var(--bg)}
.unit-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.unit-card:hover .unit-card-img img{transform:scale(1.04)}
.unit-card-body{padding:22px 24px}
.unit-card-type{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.unit-card-price{font-size:26px;font-weight:900;letter-spacing:-.04em;color:var(--text);line-height:1;margin-bottom:4px}
.unit-card-name{font-size:14px;font-weight:600;color:var(--muted);margin-bottom:16px}
.unit-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
.unit-spec{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px}
.unit-spec span{display:block;font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.unit-spec strong{font-size:14px;font-weight:800;color:var(--text)}
.unit-spec strong.val-gold{color:var(--gold)}
.unit-spec strong.val-success{color:var(--success)}
.unit-spec strong.val-accent{color:var(--accent)}

/* ============================================================
   FEATURES / AMENIDADES
   ============================================================ */
.feat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;transition:all var(--dur) var(--ease)}
.feat-card:hover{box-shadow:var(--shadow-md);border-color:var(--gold-border)}
.feat-icon-wrap{width:44px;height:44px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}
.feat-icon-wrap svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.feat-title{font-size:14px;font-weight:700;color:var(--text)}
.feat-desc{font-size:13px;color:var(--muted);line-height:1.65}

/* ============================================================
   ROI CARD (estilo plugin)
   ============================================================ */
.roi-card{
  background:linear-gradient(135deg,#fffbf0,#fef9ec);
  border:1.5px solid var(--gold-border);border-top:3px solid var(--gold);
  border-radius:var(--r-lg);padding:28px 32px;box-shadow:var(--shadow);
}
.roi-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.roi-big{font-size:52px;font-weight:900;color:var(--gold);letter-spacing:-.05em;line-height:1}
.roi-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.roi-scen{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;text-align:center}
.roi-scen span{display:block;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.roi-scen strong{font-size:22px;font-weight:900;letter-spacing:-.04em}
.roi-scen.cons strong{color:var(--accent)}
.roi-scen.base strong{color:var(--gold)}
.roi-scen.opt strong{color:var(--success)}

/* ============================================================
   STEPS / PROCESS
   ============================================================ */
.steps{display:flex;flex-direction:column;gap:0;position:relative}
.step{display:grid;grid-template-columns:48px 1fr;gap:20px;position:relative;padding-bottom:32px}
.step:last-child{padding-bottom:0}
.step-left{display:flex;flex-direction:column;align-items:center}
.step-num{
  width:48px;height:48px;flex-shrink:0;border-radius:50%;
  background:var(--card);border:2px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:800;color:var(--text);
  box-shadow:var(--shadow);z-index:1;transition:all var(--dur) var(--ease);
}
.step.done .step-num{background:var(--gold);border-color:var(--gold);color:#fff}
.step-line{width:2px;flex:1;background:var(--border);margin-top:8px}
.step:last-child .step-line{display:none}
.step-body{padding-top:12px}
.step-title{font-size:15px;font-weight:700;margin-bottom:6px}
.step-desc{font-size:13px;color:var(--muted);line-height:1.65}

/* ============================================================
   PROGRESS BAR
   ============================================================ */
.prog-wrap{margin-bottom:8px}
.prog-labels{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:5px}
.prog-track{height:8px;background:var(--bg);border-radius:var(--r-pill);overflow:hidden;border:1px solid var(--border)}
.prog-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--gold),var(--gold-dk));transition:width .8s var(--ease)}

/* ============================================================
   IMAGE CARDS
   ============================================================ */
.img-card{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}
.img-card img{width:100%;height:100%;object-fit:cover}
.img-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(15,23,42,.7) 0%,transparent 60%);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px;
}
.img-card-tag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.img-card-title{font-size:18px;font-weight:800;color:#fff;line-height:1.2}
.img-card-sub{font-size:13px;color:rgba(255,255,255,.7);margin-top:4px}

/* ============================================================
   QUOTE / TESTIMONIAL
   ============================================================ */
.quote-block{
  background:var(--sidebar);border-radius:var(--r-lg);
  padding:56px;text-align:center;position:relative;overflow:hidden;
}
.quote-block::before{
  content:'"';position:absolute;top:-20px;left:32px;
  font-size:160px;font-weight:900;line-height:1;
  color:rgba(255,255,255,.04);font-family:Georgia,serif;pointer-events:none;
}
.quote-text{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:600;color:#fff;line-height:1.6;margin-bottom:20px;font-style:italic}
.quote-author{font-size:12px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.12em}

/* ============================================================
   CHECKLIST
   ============================================================ */
.checklist{display:flex;flex-direction:column;gap:10px}
.checklist li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text);line-height:1.5}
.check-dot{width:20px;height:20px;flex-shrink:0;background:#d1fae5;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px}
.check-dot svg{width:11px;height:11px;stroke:#065f46;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   MARKET BARS
   ============================================================ */
.market-bar{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);margin-bottom:8px}
.market-bar-hd{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}
.market-bar-hd span{font-size:13px;font-weight:600;color:var(--text)}
.market-bar-hd strong{font-size:13px;font-weight:800;color:var(--gold)}
.market-bar-track{height:8px;background:var(--bg)}
.market-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-dk));transition:width .8s var(--ease)}

/* ============================================================
   SEASONS
   ============================================================ */
.season-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.season-card{border-radius:var(--r-md);padding:16px;text-align:center}
.season-card.low{background:#f0fdf4;border:1px solid #86efac}
.season-card.mid{background:#fffbf0;border:1px solid #fde68a}
.season-card.high{background:#fef2f2;border:1px solid #fca5a5}
.season-card span{display:block;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.season-card strong{font-size:20px;font-weight:900}
.season-card small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.season-card.low strong{color:#065f46}
.season-card.mid strong{color:#92400e}
.season-card.high strong{color:#991b1b}

/* ============================================================
   DIVIDER
   ============================================================ */
.divider{width:100%;height:1px;background:var(--border)}

/* ============================================================
   FORMS
   ============================================================ */
.dl-form{display:flex;flex-direction:column;gap:14px}
.dl-label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.dl-input{
  border:1.5px solid var(--border);border-radius:var(--r-md);
  padding:10px 14px;font-size:14px;color:var(--text);
  background:var(--card);font-family:var(--font);width:100%;
  transition:border-color var(--dur) var(--ease);
}
.dl-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.1)}
textarea.dl-input{min-height:120px;resize:vertical}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero{background:var(--card);border-bottom:1px solid var(--border);padding:48px 0 40px}
.page-hero-kicker{margin-bottom:10px}
.page-hero-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;letter-spacing:-.05em;margin-bottom:10px}
.page-hero-desc{font-size:15px;color:var(--muted);max-width:560px;line-height:1.7}

/* ============================================================
   CONTACT SECTION
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:800px){.contact-grid{grid-template-columns:5fr 4fr}}
.contact-info-list{display:flex;flex-direction:column;gap:16px}
.contact-info-item{display:flex;align-items:flex-start;gap:14px}
.contact-info-icon{
  width:42px;height:42px;flex-shrink:0;border-radius:var(--r-md);
  background:var(--bg);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
}
.contact-info-icon svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.contact-info-lbl{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.contact-info-val{font-size:14px;font-weight:600;color:var(--text)}

/* ============================================================
   FOOTER
   ============================================================ */
#dl-ftr{background:var(--sidebar);color:rgba(255,255,255,.7);padding:64px 0 0;margin-top:auto}
@media(max-width:959px){#dl-ftr{padding-bottom:calc(var(--abh) + env(safe-area-inset-bottom))}}
.ftr-grid{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
@media(min-width:600px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(min-width:860px){.ftr-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.ftr-brand{display:flex;flex-direction:column;gap:14px}
.ftr-logo-wrap{display:flex;align-items:center;gap:10px}
.ftr-logo-img{height:30px;width:auto;filter:brightness(0) invert(1);opacity:.9}
.ftr-logo-name{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.ftr-logo-sub{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.ftr-desc{font-size:13px;line-height:1.7;color:rgba(255,255,255,.45);max-width:280px}
.ftr-social{display:flex;gap:8px;margin-top:4px}
.ftr-social a{
  width:32px;height:32px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.5);transition:all var(--dur) var(--ease);
}
.ftr-social a:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2)}
.ftr-social svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}
.ftr-col-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:16px}
.ftr-links{display:flex;flex-direction:column;gap:8px}
.ftr-links li a{font-size:13px;color:rgba(255,255,255,.55);text-decoration:none;transition:color var(--dur) var(--ease)}
.ftr-links li a:hover{color:#fff}
.ftr-bottom{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;padding:20px 0;
  font-size:12px;color:rgba(255,255,255,.3);
}
.ftr-legal{display:flex;gap:16px}
.ftr-legal a{color:rgba(255,255,255,.3);font-size:12px;transition:color var(--dur) var(--ease)}
.ftr-legal a:hover{color:rgba(255,255,255,.7)}

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeUp{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* Animations — never hide content */
.anim{opacity:1;transform:none}
.anim.visible{animation:fadeUp .5s var(--ease) both}
.anim-d1.visible{animation-delay:.08s}
.anim-d2.visible{animation-delay:.16s}
.anim-d3.visible{animation-delay:.24s}
.anim-d4.visible{animation-delay:.32s}

/* ============================================================
   BLOG
   ============================================================ */
.post-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);transition:all var(--dur) var(--ease)}
.post-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.post-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--bg)}
.post-card-img img{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:20px 22px}

/* ============================================================
   PRINT
   ============================================================ */
@media print{
  #dl-hdr,#dl-ftr,.dl-bar,.dl-drawer{display:none!important}
  body{padding-bottom:0!important;padding-top:0!important}
}

/* ============================================================
   BADGES
   ============================================================ */
.badge{
  display:inline-flex;align-items:center;
  padding:3px 9px;border-radius:var(--r-pill);
  font-size:10px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;line-height:1.4;white-space:nowrap;
}
.badge--gold   {background:#fef3c7;color:#92400e;border:1px solid var(--gold-border)}
.badge--success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}
.badge--accent {background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}
.badge--neutral{background:var(--bg);color:var(--muted);border:1px solid var(--border)}
.badge--dark   {background:var(--sidebar);color:#fff;border:1px solid var(--sidebar)}

/* Logo icon fallback */
.dl-logo-icon{
  width:32px;height:32px;background:var(--sidebar);border-radius:8px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.dl-logo-icon span{color:var(--gold);font-weight:900;font-size:14px;line-height:1}

/* Skip link */
.dl-skip{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.dl-skip:focus{
  position:fixed;top:0;left:0;width:auto;height:auto;padding:8px 16px;
  background:var(--gold);color:#fff;font-weight:700;z-index:99999;
}

/* ============================================================
   OVERRIDES — ROI / SEASON mobile, portal width, badges
   ============================================================ */

/* Evitar overflow horizontal global en móvil */
body{overflow-x:hidden}
.sec{overflow:hidden}
.c{overflow:visible}

/* ROI section — fix overflow móvil */
@media(max-width:800px){
  .roi-scenarios{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .roi-scen{padding:12px!important}
  .roi-card{max-width:100%;box-sizing:border-box}
  .roi-big{font-size:38px!important}
  .season-cards{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .g-split{gap:40px}
}

/* KPI grid spacing */
.kpi-grid{gap:16px!important}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:480px){.kpi-grid{grid-template-columns:1fr!important}}

/* Badges */
.badge{
  display:inline-flex;align-items:center;
  padding:3px 9px;border-radius:99px;
  font-size:10px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;white-space:nowrap;
}
.badge--gold{background:#fef3c7;color:#92400e;border:1px solid var(--gold-border)}
.badge--neutral{background:var(--bg);color:var(--muted);border:1px solid var(--border)}

/* Unit card img */
.unit-card-img{margin-bottom:16px;border-radius:12px;overflow:hidden;aspect-ratio:16/9}
.unit-card-img img{width:100%;height:100%;object-fit:cover}

/* Page hero */
.pg-hero{padding:80px 0 60px}

/* FAQ details */
details summary::-webkit-details-marker{display:none}
details[open] summary svg{transform:rotate(180deg)}
details[open] summary{color:var(--gold)}

/* Portal Inversor — 80% width, 10% margen cada lado */
.dlt-portal-wrap{
  width:80%!important;
  max-width:1200px!important;
  margin:0 auto!important;
  padding:40px 0 100px!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  .dlt-portal-wrap{width:92%!important;padding:24px 0 100px!important}
}
@media(max-width:600px){
  .dlt-portal-wrap{width:96%!important;padding:16px 0 100px!important}
}
.dlt-portal-wrap > *{max-width:100%!important;width:100%!important;box-sizing:border-box!important}

/* Admin imagen uploader */
.dlt-img-row{display:flex;align-items:stretch;margin-bottom:8px}
.dlt-img-url-display{
  border:1.5px solid var(--da-border);border-right:none;
  border-radius:8px 0 0 8px;padding:9px 12px;
  font-size:12px;color:var(--da-text);background:#fff;
  flex:1;min-width:0;cursor:pointer;
}
.dlt-img-url-display:focus{outline:none;border-color:var(--da-gold)}
.dlt-img-btn{
  background:var(--da-sidebar);color:#fff;border:none;
  border-radius:0 8px 8px 0;padding:9px 14px;
  font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;
  transition:background .2s;
}
.dlt-img-btn:hover{background:#2d3f55}
.dlt-img-remove{
  background:none;border:1px solid #fca5a5;color:#ef4444;
  border-radius:6px;padding:5px 10px;font-size:11px;
  cursor:pointer;margin-top:6px;display:inline-block;
  transition:background .2s;
}
.dlt-img-remove:hover{background:#fef2f2}

/* Responsive invest/project grids */
@media(max-width:680px){
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr!important}
}

/* Scroll-lock class (añadido por JS al abrir drawer) */
body.dl-drawer-open{overflow:hidden}

/* ============================================================
   DRAWER INTERIOR — forzado con !important para ganar a legado
   ============================================================ */
/* Anular CUALQUIER estilo legacy del drawer */
.dl-drawer > ul,
.dl-drawer > .dl-drawer-foot{ display:none!important; }

/* Header del drawer */
.dl-drawer-hdr{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  padding:18px 18px 14px!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  flex-shrink:0!important;
  background:transparent!important;
}
.dl-drawer-brand{ display:flex!important;flex-direction:column!important;gap:3px!important; }
.dl-drawer-brand-name{
  font-size:11px!important;font-weight:900!important;letter-spacing:.14em!important;
  color:#fff!important;text-transform:uppercase!important;line-height:1!important;
  display:block!important;
}
.dl-drawer-brand-sub{
  font-size:7px!important;font-weight:700!important;letter-spacing:.2em!important;
  color:#c9a227!important;text-transform:uppercase!important;line-height:1!important;
  display:block!important;
}
.dl-drawer-close{
  width:34px!important;height:34px!important;
  background:rgba(255,255,255,.07)!important;border:none!important;border-radius:8px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  cursor:pointer!important;color:rgba(255,255,255,.6)!important;
}
.dl-drawer-close:hover{ background:rgba(255,255,255,.14)!important;color:#fff!important; }

/* Nav del drawer */
.dl-drawer-nav{ padding:10px 10px 0!important;flex-shrink:0!important;background:transparent!important; }
.dl-drawer-list{
  list-style:none!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;gap:2px!important;
}
.dl-drawer-link{
  display:flex!important;align-items:center!important;gap:11px!important;
  padding:12px 10px!important;border-radius:9px!important;
  text-decoration:none!important;color:rgba(255,255,255,.78)!important;
  transition:background .18s,color .18s!important;
  border:none!important;background:transparent!important;
}
.dl-drawer-link:hover{
  background:rgba(255,255,255,.07)!important;color:#fff!important;
}
.dl-dl-ic{
  width:30px!important;height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:rgba(255,255,255,.06)!important;border-radius:7px!important;
  flex-shrink:0!important;color:#c9a227!important;
}
.dl-dl-txt{
  flex:1!important;font-size:14px!important;font-weight:600!important;
  color:rgba(255,255,255,.78)!important;
}
.dl-drawer-link:hover .dl-dl-txt{ color:#fff!important; }
.dl-dl-arr{ color:rgba(255,255,255,.25)!important;flex-shrink:0!important; }
.dl-drawer-link:hover .dl-dl-arr{ color:rgba(255,255,255,.55)!important; }

/* Divider */
.dl-drawer-divider{
  height:1px!important;background:rgba(255,255,255,.07)!important;
  margin:14px 18px!important;flex-shrink:0!important;
  display:block!important;
}

/* Login section */
.dl-drawer-login{
  padding:0 18px 22px!important;flex-shrink:0!important;
}
.dl-drawer-login-ttl{
  display:flex!important;align-items:center!important;gap:7px!important;
  font-size:9.5px!important;font-weight:700!important;letter-spacing:.1em!important;
  text-transform:uppercase!important;color:#c9a227!important;margin:0 0 11px!important;
}
.dl-drawer-login-body{
  display:flex!important;flex-direction:column!important;gap:8px!important;
}
.dl-login-input{
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:8px!important;padding:11px 13px!important;
  font-size:13px!important;color:#fff!important;
  width:100%!important;box-sizing:border-box!important;
  display:block!important;
}
.dl-login-input::placeholder{ color:rgba(255,255,255,.3)!important; }
.dl-login-input:focus{
  outline:none!important;
  border-color:#c9a227!important;
  background:rgba(255,255,255,.09)!important;
}
.dl-login-err{
  background:rgba(239,68,68,.13)!important;
  border:1px solid rgba(239,68,68,.28)!important;
  border-radius:7px!important;padding:9px 12px!important;
  font-size:12px!important;color:#fca5a5!important;
  display:none;
}
.dl-login-btn{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  background:#c9a227!important;color:#000!important;border:none!important;border-radius:8px!important;
  padding:12px!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;
  width:100%!important;letter-spacing:.02em!important;
  transition:background .2s,transform .15s!important;
}
.dl-login-btn:hover{
  background:#a8841e!important;transform:translateY(-1px)!important;
}

/* ============================================================
   PORTAL PAGE — forzar ancho con 10% margen
   ============================================================ */
body.dlt-portal-page #main{
  padding-left:0!important;
  padding-right:0!important;
}
body.dlt-portal-page .dlt-portal-wrap{
  width:80%!important;
  max-width:1300px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:32px!important;
  padding-bottom:100px!important;
  box-sizing:border-box!important;
  display:block!important;
}
/* Forzar el contenedor interno del plugin también */
body.dlt-portal-page .dlt-portal-wrap > *,
body.dlt-portal-page .dlt-portal-wrap .dunesland-portal,
body.dlt-portal-page .dlt-portal-wrap .dl-investor-portal,
body.dlt-portal-page .dlt-portal-wrap [class*="portal"],
body.dlt-portal-page .dlt-portal-wrap [class*="investor"]{
  max-width:100%!important;
  width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:960px){
  body.dlt-portal-page .dlt-portal-wrap{
    width:94%!important;
    padding-top:20px!important;
  }
}
@media(max-width:600px){
  body.dlt-portal-page .dlt-portal-wrap{
    width:98%!important;
  }
}

/* ──────────────────────────────────────────────
   PDF DOSSIER SECTION
   ────────────────────────────────────────────── */
.sec--pdf{background:var(--gold-light);border-top:1px solid var(--gold-border);border-bottom:1px solid var(--gold-border)}
.pdf-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:680px;margin:0 auto}
@media(max-width:600px){.pdf-cards{grid-template-columns:1fr}}
.pdf-card{
  background:#fff;border:1.5px solid var(--gold-border);border-radius:var(--r-lg);
  padding:24px;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 2px 12px rgba(201,162,39,.1);
  transition:box-shadow .2s,transform .2s;
}
.pdf-card:hover{box-shadow:0 6px 24px rgba(201,162,39,.2);transform:translateY(-2px)}
.pdf-card-top{display:flex;align-items:center;gap:12px}
.pdf-flag{font-size:28px;line-height:1;flex-shrink:0}
.pdf-lang{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.pdf-label{font-size:14px;font-weight:700;color:var(--text)}
.pdf-badge{margin-left:auto;background:var(--gold);color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:4px;letter-spacing:.06em;flex-shrink:0}
.pdf-downloads{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);font-weight:600}
.pdf-dl-btn{justify-content:center;gap:8px}

/* ──────────────────────────────────────────────
   GALLERY PAGE
   ────────────────────────────────────────────── */
.gal-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.gal-grid .gal-item:first-child{
  grid-column:span 2;grid-row:span 2;
}
.gal-item{
  border-radius:var(--r-md);overflow:hidden;
  aspect-ratio:1;background:var(--bg);
}
.gal-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s;display:block;
}
.gal-item:hover img{transform:scale(1.04)}
.gal-empty{
  grid-column:1/-1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;padding:48px;text-align:center;
  background:var(--bg);border-radius:var(--r-lg);
  border:2px dashed var(--border);color:var(--muted);font-size:13px;
}
@media(max-width:700px){
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .gal-grid .gal-item:first-child{grid-column:span 2;grid-row:span 1}
}
@media(max-width:400px){
  .gal-grid{grid-template-columns:1fr}
  .gal-grid .gal-item:first-child{grid-column:span 1}
}

/* ──────────────────────────────────────────────
   PORTAL SCREENSHOTS
   ────────────────────────────────────────────── */
.portal-screens{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:32px;
}
@media(max-width:900px){.portal-screens{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.portal-screens{grid-template-columns:1fr}}
.portal-screen-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow);
  transition:box-shadow .2s,transform .2s;
}
.portal-screen-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.portal-screen-img{aspect-ratio:16/10;overflow:hidden;background:var(--sidebar)}
.portal-screen-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.portal-screen-card:hover .portal-screen-img img{transform:scale(1.03)}
.portal-screen-body{padding:14px 16px}
.portal-screen-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}
.portal-screen-cap{font-size:12px;color:var(--muted);line-height:1.5}
