/* Desierto Bodas · sistema visual compartido (panel y landing). Inspirado en investigacion/02-cordially-diseno.md §9–10:
   papel y tinta (nunca #fff/#000 puros), serif ligera para emocionar, sans para operar, todo redondeado, movimiento lento con inercia. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300;1,9..144,400&family=Figtree:wght@400;500;600;700&family=Pinyon+Script&display=swap');
:root{
  --db-papel:#FBF6EE; --db-papel-claro:#FFFBF5; --db-arena:#F3E6D0; --db-arena-2:#EADBC2;
  --db-tinta:#2B2019; --db-tinta-2:#5E4B3C; --db-tinta-3:#8C7764; --db-espresso:#241C17; --db-noche:#140F0E;
  --db-terracota:#B5653A; --db-cobre:#8E4F2A; --db-salvia:#7C8B6A; --db-salvia-claro:#E4E9DC; --db-rubor:#E7B9A6;
  --db-error:#B8483A; --db-error-claro:#F6E1DC; --db-aviso:#C99A3B; --db-aviso-claro:#F7EBD0;
  --db-borde:rgb(43 32 25 / .10); --db-borde-suave:rgb(43 32 25 / .07); --db-borde-fuerte:rgb(43 32 25 / .20); --db-borde-hover:rgb(142 79 42 / .30);
  --db-glass-bg:rgb(255 251 245 / .86);
  --db-serif:"Fraunces","Iowan Old Style",Georgia,serif; --db-sans:"Figtree","Avenir Next","Segoe UI",system-ui,sans-serif; --db-script:"Pinyon Script",cursive;
  --db-fs-display:clamp(3rem,9vw,7rem); --db-fs-h1:clamp(2.4rem,6vw,5.2rem); --db-fs-h2:clamp(1.9rem,4vw,3.4rem); --db-fs-h3:clamp(1.3rem,2vw,1.8rem);
  --db-fs-lead:1.3rem; --db-fs-body:.9375rem; --db-fs-sm:.8125rem; --db-fs-eyebrow:.6875rem;
  --db-lh-titulo:.98; --db-lh-body:1.6; --db-ls-titulo:-.03em; --db-ls-eyebrow:.26em;
  --db-r-xs:6px; --db-r-sm:12px; --db-r-md:18px; --db-r-lg:24px; --db-r-xl:30px; --db-r-2xl:40px; --db-r-pill:9999px;
  --db-sh-1:0 8px 24px rgb(43 32 25 / .06); --db-sh-2:0 18px 48px rgb(43 32 25 / .08); --db-sh-3:0 30px 90px rgb(43 32 25 / .15);
  --db-sh-flota:0 12px 30px rgb(0 0 0 / .10); --db-ring-foco:0 0 0 3px rgb(181 101 58 / .28);
  --db-gutter:clamp(16px,3.5vw,48px); --db-seccion:clamp(56px,9vw,128px); --db-max:1280px; --db-control-h:44px;
  --db-ease:cubic-bezier(.4,0,.2,1); --db-ease-out:cubic-bezier(.16,1,.3,1); --db-ease-suave:cubic-bezier(.22,.72,.36,1); --db-ease-cajon:cubic-bezier(.32,.72,0,1);
  --db-t-rapido:160ms; --db-t-base:280ms; --db-t-lento:520ms; --db-t-reveal:760ms;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --db-papel:#16110F; --db-papel-claro:#1E1815; --db-arena:#2A211B; --db-arena-2:#33281F;
    --db-tinta:#F6EEE3; --db-tinta-2:#CDBFAF; --db-tinta-3:#9C8C7C; --db-espresso:#0F0B0A;
    --db-salvia-claro:#26301F; --db-error-claro:#3A1F1A; --db-aviso-claro:#3A2E15;
    --db-borde:rgb(246 238 227 / .10); --db-borde-suave:rgb(246 238 227 / .06); --db-borde-fuerte:rgb(246 238 227 / .20);
    --db-glass-bg:rgb(30 24 21 / .82); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --db-papel:#16110F; --db-papel-claro:#1E1815; --db-arena:#2A211B; --db-arena-2:#33281F;
  --db-tinta:#F6EEE3; --db-tinta-2:#CDBFAF; --db-tinta-3:#9C8C7C; --db-espresso:#0F0B0A;
  --db-salvia-claro:#26301F; --db-error-claro:#3A1F1A; --db-aviso-claro:#3A2E15;
  --db-borde:rgb(246 238 227 / .10); --db-borde-suave:rgb(246 238 227 / .06); --db-borde-fuerte:rgb(246 238 227 / .20);
  --db-glass-bg:rgb(30 24 21 / .82); color-scheme:dark;
}
@media (prefers-reduced-motion:reduce){:root{--db-t-base:0ms;--db-t-lento:0ms;--db-t-reveal:0ms}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--db-papel);color:var(--db-tinta);font:400 var(--db-fs-body)/var(--db-lh-body) var(--db-sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%;display:block}

.db-eyebrow{font:600 var(--db-fs-eyebrow)/1.4 var(--db-sans);letter-spacing:var(--db-ls-eyebrow);text-transform:uppercase;color:var(--db-cobre)}
.db-titulo{font:300 var(--db-fs-h1)/var(--db-lh-titulo) var(--db-serif);letter-spacing:var(--db-ls-titulo);text-wrap:balance;margin:0}
.db-titulo em,.db-h2 em,.db-h3 em{font-style:italic;color:var(--db-terracota)}
.db-h2{font:300 var(--db-fs-h2)/1.02 var(--db-serif);letter-spacing:var(--db-ls-titulo);text-wrap:balance;margin:0}
.db-h3{font:400 var(--db-fs-h3)/1.15 var(--db-serif);letter-spacing:-.015em;margin:0}
.db-lead{font:300 italic var(--db-fs-lead)/1.45 var(--db-serif);color:var(--db-tinta-2)}
.db-mut{color:var(--db-tinta-3)}
.db-num{font-variant-numeric:tabular-nums}

.db-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--db-control-h);padding:0 20px;border-radius:var(--db-r-pill);border:1px solid transparent;
  font:600 14px/1 var(--db-sans);cursor:pointer;text-decoration:none;white-space:nowrap;background:transparent;
  transition:background-color var(--db-t-rapido) var(--db-ease),border-color var(--db-t-rapido) var(--db-ease),transform var(--db-t-lento) var(--db-ease-suave)}
.db-btn:active{transform:scale(.97)}
.db-btn:focus-visible{outline:none;box-shadow:var(--db-ring-foco)}
.db-btn--primario{background:var(--db-tinta);color:var(--db-papel)}
.db-btn--primario:hover{background:var(--db-cobre)}
.db-btn--acento{background:var(--db-terracota);color:#FFFBF5}
.db-btn--acento:hover{background:var(--db-cobre)}
.db-btn--outline{border-color:var(--db-borde-fuerte)}
.db-btn--outline:hover{border-color:var(--db-cobre);color:var(--db-cobre)}
.db-btn--suave{background:var(--db-arena)}
.db-btn--suave:hover{background:var(--db-arena-2)}
.db-btn--chico{height:34px;padding:0 14px;font-size:13px}
.db-btn--wa{background:#1F8A55;color:#FFFBF5}
.db-btn--wa:hover{background:#17704A}

.db-card{background:var(--db-papel-claro);border:1px solid var(--db-borde);border-radius:var(--db-r-lg);padding:var(--db-s-5,20px);box-shadow:var(--db-sh-1);
  transition:border-color var(--db-t-rapido) var(--db-ease),box-shadow var(--db-t-base) var(--db-ease)}
.db-card--hover:hover{border-color:var(--db-borde-hover);box-shadow:var(--db-sh-3)}

.db-input,.db-select,.db-textarea{width:100%;min-height:var(--db-control-h);border-radius:var(--db-r-sm);border:1px solid var(--db-borde-fuerte);background:var(--db-papel-claro);
  padding:0 14px;font:400 15px var(--db-sans);transition:border-color var(--db-t-rapido) var(--db-ease),box-shadow var(--db-t-rapido) var(--db-ease)}
.db-textarea{padding:12px 14px;line-height:1.5;resize:vertical}
.db-input:focus,.db-select:focus,.db-textarea:focus{outline:none;border-color:var(--db-cobre);box-shadow:var(--db-ring-foco)}
.db-label{display:block;font:600 12px/1.3 var(--db-sans);color:var(--db-tinta-2);margin:0 0 6px}

.db-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--db-r-pill);background:var(--db-arena);color:var(--db-cobre);
  font:600 11px/1 var(--db-sans);letter-spacing:.06em;white-space:nowrap}
.db-chip--ok{background:var(--db-salvia-claro);color:var(--db-salvia)}
.db-chip--no{background:var(--db-error-claro);color:var(--db-error)}
.db-chip--aviso{background:var(--db-aviso-claro);color:var(--db-aviso)}
.db-chip--gris{background:var(--db-borde-suave);color:var(--db-tinta-3)}

.db-reveal{opacity:0;translate:0 16px;transition:opacity var(--db-t-reveal) var(--db-ease-out),translate var(--db-t-reveal) var(--db-ease-out)}
.db-reveal.is-in{opacity:1;translate:0 0}

.db-firma{font:400 12px var(--db-sans);color:var(--db-tinta-3);text-align:center;padding:24px 16px}
.db-firma a{color:var(--db-tinta-2);text-decoration:none;border-bottom:1px solid var(--db-borde-fuerte)}
