:root{
  --bg:#FFFFFF;
  --surface:#F4F4F2;
  --ink:#111111;
  --ink-soft:#6E6E6E;
  --border:#111111;
  --border-soft:#DEDDD9;
  --card-dark:#111111;
  --on-dark:#FFFFFF;
  --whatsapp:#25D366;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'IBM Plex Sans',sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.wordmark{font-family:'Sora',sans-serif;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;}

header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
}
nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1120px;margin:0 auto;gap:20px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:34px;width:34px;border-radius:8px;}
.brand span{font-weight:800;font-size:1.15rem;letter-spacing:0.02em;}
.nav-links{display:flex;gap:22px;font-size:0.92rem;color:var(--ink-soft);}
.nav-links a:hover{color:var(--ink);}
.nav-right{display:flex;align-items:center;gap:16px;}
.cart-link{position:relative;font-weight:600;font-size:0.92rem;}
.cart-badge{
  position:absolute;top:-8px;right:-14px;background:var(--ink);color:#fff;
  font-size:0.68rem;border-radius:999px;width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;font-weight:700;
}
.nav-cta{
  background:var(--ink);color:var(--on-dark);font-weight:600;
  padding:10px 18px;border-radius:8px;font-size:0.9rem;
}

.hamburger-btn{display:none;background:none;border:none;padding:6px;margin-right:4px;cursor:pointer;color:var(--ink);}
.hamburger-btn svg{display:block;}

.mobile-menu-overlay{display:none;position:fixed;inset:0;background:#FFFFFF;z-index:90;padding:24px;overflow-y:auto;}
.mobile-menu-overlay.open{display:block;}
.mobile-menu-overlay .menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;}
.mobile-menu-overlay .close-btn{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--ink);}
.mobile-menu-overlay nav.menu-links{display:flex;flex-direction:column;}
.mobile-menu-overlay nav.menu-links a{padding:18px 0;font-size:1.15rem;font-weight:600;border-bottom:1px solid var(--border-soft);}

@media (max-width:860px){
  .hamburger-btn{display:block;}
}

section{padding:60px 0;}
.section-head{max-width:56ch;margin-bottom:34px;}
.section-head h2{font-size:1.8rem;font-weight:700;letter-spacing:-0.01em;}
.section-head p{color:var(--ink-soft);margin-top:10px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 22px;border-radius:9px;font-weight:600;font-size:0.98rem;
  cursor:pointer;border:1.5px solid var(--ink);transition:transform .15s ease;
}
.btn-primary{background:var(--ink);color:var(--on-dark);}
.btn-primary:hover{transform:translateY(-1px);}
.btn-secondary{background:transparent;color:var(--ink);}
.btn-secondary:hover{background:var(--surface);}
.btn-whatsapp{background:var(--whatsapp);color:#fff;border-color:var(--whatsapp);}
.btn-block{width:100%;}
.btn[disabled]{opacity:0.45;cursor:not-allowed;}

.card{border:1px solid var(--border-soft);border-radius:var(--radius);padding:24px;background:var(--surface);}
.card-dark{background:var(--card-dark);color:var(--on-dark);border-radius:20px;}

/* FORMS */
label{display:block;font-size:0.85rem;font-weight:600;margin-bottom:6px;}
input,select,textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--border-soft);border-radius:8px;
  font-family:inherit;font-size:0.95rem;background:#fff;color:var(--ink);
}
input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none;}
.field{margin-bottom:16px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.hint{font-size:0.78rem;color:var(--ink-soft);margin-top:4px;}
.radio-card{
  border:1.5px solid var(--border-soft);border-radius:10px;padding:14px 16px;
  display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin-bottom:10px;
}
.radio-card input{width:auto;margin-top:3px;}
.radio-card.selected{border-color:var(--ink);background:var(--surface);}
.radio-card strong{display:block;font-size:0.95rem;}
.radio-card span{font-size:0.83rem;color:var(--ink-soft);}

.field{position:relative;}
.suggestions-box{
  display:none;position:absolute;top:100%;left:0;right:0;z-index:20;
  background:#fff;border:1px solid var(--border-soft);border-top:none;border-radius:0 0 8px 8px;
  max-height:220px;overflow-y:auto;box-shadow:0 8px 16px rgba(0,0,0,0.08);
}
.suggestion-item{padding:10px 14px;font-size:0.92rem;cursor:pointer;}
.suggestion-item:hover{background:var(--surface);}

/* FOOTER */
footer{border-top:1px solid var(--border-soft);padding:40px 0;margin-top:20px;}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-links{display:flex;gap:20px;font-size:0.9rem;color:var(--ink-soft);flex-wrap:wrap;}
.footer-links a:hover{color:var(--ink);}
.footer-note{color:var(--ink-soft);font-size:0.8rem;margin-top:18px;}

/* WHATSAPP FLOAT */
.wsp-float{
  position:fixed;bottom:90px;right:20px;z-index:70;
  background:var(--whatsapp);color:#fff;width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,0.2);
}
@media (max-width:860px){
  .wsp-float{bottom:96px;left:16px;right:auto;}
}

.mobile-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;
  background:#fff;border-top:1px solid var(--border-soft);
  padding:12px 16px;gap:10px;
}

table.summary{width:100%;border-collapse:collapse;font-size:0.92rem;}
table.summary td{padding:10px 0;border-bottom:1px solid var(--border-soft);}
table.summary td:last-child{text-align:right;font-weight:600;}
table.summary tr:last-child td{border-bottom:none;font-size:1.1rem;padding-top:16px;}

.steps-simple{counter-reset:step;}
.steps-simple li{list-style:none;counter-increment:step;position:relative;padding-left:44px;margin-bottom:26px;}
.steps-simple li::before{
  content:counter(step);position:absolute;left:0;top:0;width:30px;height:30px;
  background:var(--card-dark);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:0.9rem;
}
.steps-simple h3{font-size:1.02rem;font-weight:600;margin-bottom:4px;}
.steps-simple p{color:var(--ink-soft);font-size:0.92rem;}

.prose h3{margin-top:24px;margin-bottom:8px;font-size:1.05rem;}
.prose p, .prose li{color:var(--ink-soft);font-size:0.95rem;margin-bottom:8px;}
.prose ul{padding-left:20px;}

@media (max-width:860px){
  .nav-links{display:none;}
  .field-row{grid-template-columns:1fr;}
  .mobile-bar{display:flex;}
  body{padding-bottom:78px;}
}
