/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 22px;border-radius:var(--r-md);font-family:var(--ff-ui);
  font-size:.95rem;font-weight:500;letter-spacing:.005em;
  transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast);
  cursor:pointer;text-decoration:none;border:1px solid transparent;
  min-height:48px;
}
.btn svg{width:18px;height:18px;flex-shrink:0;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#000);transform:translateY(-1px);}
.btn-wa{background:var(--wa-green);color:#fff;}
.btn-wa:hover{background:color-mix(in srgb,var(--wa-green) 90%,#000);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--text);border-color:var(--text);}
.btn-outline:hover{background:var(--text);color:var(--bg);}
.btn-ghost{background:transparent;color:var(--text);}
.btn-ghost:hover{color:var(--accent);}

/* Chips */
.chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:999px;
  font-family:var(--ff-ui);font-size:.78rem;letter-spacing:.02em;
  background:color-mix(in srgb,var(--text) 6%,var(--bg));color:var(--text-2);
  border:1px solid var(--border);
}
.chip--accent{background:var(--accent-soft);color:var(--accent);border-color:transparent;}
.chip--dark{background:var(--text);color:var(--bg);border-color:transparent;}

/* Cards (LAY-6 card = radius-asym) */
.c-asym{
  background:color-mix(in srgb,var(--text) 4%,var(--bg));
  border-radius:22px 4px 22px 4px;padding:28px;
  transition:transform var(--t-base),box-shadow var(--t-base);
}
.c-asym:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(46,40,32,.08);}
.c-asym--dark{background:var(--text);color:var(--bg);border-radius:4px 22px 4px 22px;}
.c-asym--dark h3{color:var(--bg);}
.c-asym--dark p{color:rgba(246,240,230,.78);}
.c-asym--lead{background:var(--accent);color:#fff;border-radius:22px 4px 22px 4px;}
.c-asym--lead h3{color:#fff;}
.c-asym--lead p{color:rgba(255,255,255,.88);}

/* Form */
.form{display:flex;flex-direction:column;gap:14px;}
.form-row{display:flex;flex-direction:column;gap:6px;}
.form label{font-family:var(--ff-ui);font-size:.82rem;color:var(--text-2);}
.form input,.form textarea{
  width:100%;padding:13px 14px;font-family:var(--ff-ui);font-size:.96rem;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);
  color:var(--text);transition:border-color var(--t-fast);
  min-height:48px;
}
.form textarea{min-height:120px;resize:vertical;}
.form input:focus,.form textarea:focus{border-color:var(--accent);outline:none;}
.form button{margin-top:6px;align-self:flex-start;}

/* Modal mentions legales */
.ml-modal{
  position:fixed;inset:0;z-index:var(--z-modal);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
}
.ml-overlay{position:absolute;inset:0;background:rgba(46,40,32,.6);}
.ml-box{
  position:relative;background:var(--bg);max-width:520px;width:100%;
  padding:32px 28px;border-radius:var(--r-lg);max-height:80vh;overflow-y:auto;
  box-shadow:0 22px 60px rgba(0,0,0,.2);
}
.ml-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.1rem;}
.ml-box h2{font-size:1.45rem;margin-bottom:14px;}
.ml-box h3{font-size:.92rem;font-family:var(--ff-ui);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:18px 0 6px;}
.ml-box p{font-size:.92rem;color:var(--text-2);line-height:1.65;}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(20,16,10,.93);display:flex;align-items:center;justify-content:center;padding:24px;}
.lb-image{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:var(--r-md);}
.lb-close,.lb-prev,.lb-next{position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;font-size:1.4rem;transition:background var(--t-fast);}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.22);}
.lb-close{top:24px;right:24px;}
.lb-prev{left:24px;top:50%;transform:translateY(-50%);}
.lb-next{right:24px;top:50%;transform:translateY(-50%);}
@media (max-width:600px){.lb-prev{left:12px;}.lb-next{right:12px;}.lb-close{top:14px;right:14px;}}

/* Rating badge (used elsewhere - kept generic) */
.rating-line{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--ff-ui);font-size:.88rem;color:var(--text-2);}
.rating-line strong{font-weight:600;color:var(--text);white-space:nowrap;}
.rating-stars{display:inline-flex;gap:2px;color:var(--accent-2);}
.rating-stars svg{width:14px;height:14px;}

/* Section heading common */
.sec-heading{margin-bottom:38px;max-width:680px;}
.sec-eyebrow{font-family:var(--ff-ui);font-size:.74rem;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin-bottom:12px;display:inline-flex;align-items:center;gap:10px;}
.sec-eyebrow::before{content:"";width:28px;height:1px;background:var(--accent);}
.sec-heading p{margin-top:14px;color:var(--text-2);font-size:1.02rem;max-width:62ch;}
