/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:var(--ff-ui);
  font-size:.98rem;
  font-weight:600;
  padding:14px 22px;
  border-radius:999px;
  line-height:1;
  letter-spacing:.01em;
  transition:transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
  min-height:48px;
}
.btn svg{width:18px;height:18px;}
.btn-primary{
  background:var(--accent);
  color:#FBF6EE;
}
.btn-primary:hover{
  background:var(--text);
  color:#FBF6EE;
}
.btn-wa{
  background:var(--wa-green);
  color:#FBF6EE;
}
.btn-wa:hover{background:var(--wa-green-dark);}
.btn-ghost{
  background:transparent;
  color:var(--text);
  border:1.5px solid var(--text);
}
.btn-ghost:hover{
  background:var(--text);
  color:#FBF6EE;
}
.btn-ghost-inverse{
  background:transparent;
  color:#FBF6EE;
  border:1.5px solid rgba(251,246,238,0.6);
}
.btn-ghost-inverse:hover{
  background:#FBF6EE;
  color:var(--text);
  border-color:#FBF6EE;
}

@media (max-width:560px){
  .btn{width:100%;}
}

/* CARDS - radius-asym (LAY-6 card style) */
.c-asym{
  background:var(--surface);
  border-radius:22px 4px 22px 4px;
  padding:26px 24px;
  border:1px solid var(--border);
  transition:transform .25s ease, box-shadow .25s ease;
}
.c-asym:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px -22px rgba(42,31,25,0.30);
}
.c-asym--lead{
  background:var(--surface-dark);
  color:#FBF6EE;
  border-color:transparent;
}
.c-asym--lead,
.c-asym--lead :where(h1,h2,h3,h4,p,li,span,a,strong,em){color:#FBF6EE;}
.c-asym--lead p{color:rgba(243,234,224,0.85);}
.c-asym--lead em{color:var(--accent-on-dark);}

/* CHIPS */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--ff-ui);
  font-size:.82rem;
  font-weight:500;
  padding:7px 13px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
}
.chip--solid{background:var(--accent);color:#FBF6EE;}
.chip--outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-2);}

/* TAGS / PILLS */
.tag-pill{
  display:inline-flex;align-items:center;
  font-family:var(--ff-ui);
  font-size:.7rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.16em;
  padding:5px 11px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
}

/* FORM */
.form{display:grid;gap:14px;}
.field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.field label{
  font-family:var(--ff-ui);font-size:.82rem;font-weight:500;
  color:rgba(251,246,238,0.85);text-transform:uppercase;letter-spacing:.12em;
}
.field input,
.field select,
.field textarea{
  width:100%;
  min-width:0;
  font:inherit;
  font-family:var(--ff-ui);
  padding:13px 14px;
  border-radius:10px;
  background:rgba(251,246,238,0.07);
  border:1px solid rgba(251,246,238,0.18);
  color:#FBF6EE;
  outline:none;
  transition:border-color .2s ease, background-color .2s ease;
}
.field textarea{min-height:110px;resize:vertical;}
.field input::placeholder,
.field textarea::placeholder{color:rgba(251,246,238,0.45);}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--accent-on-dark);
  background:rgba(251,246,238,0.10);
}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23E8C2AE' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:560px){.form-row-2{grid-template-columns:1fr;}}

/* LIGHTBOX */
.lightbox{
  position:fixed;inset:0;
  background:rgba(20,14,10,0.94);
  z-index:var(--z-modal);
  display:none;
  align-items:center;justify-content:center;
  padding:18px;
}
.lightbox[hidden]{display:none !important;}
.lightbox.is-open{display:flex;}
.lb-image{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.4);}
.lb-close,.lb-prev,.lb-next{
  position:absolute;
  background:rgba(251,246,238,0.10);
  color:#FBF6EE;
  border-radius:999px;
  width:44px;height:44px;
  display:grid;place-items:center;
  transition:background-color .2s ease;
}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(251,246,238,0.22);}
.lb-close{top:18px;right:18px;}
.lb-prev{left:14px;top:50%;transform:translateY(-50%);}
.lb-next{right:14px;top:50%;transform:translateY(-50%);}
.lb-close svg,.lb-prev svg,.lb-next svg{width:20px;height:20px;}

/* MODAL MENTIONS */
.modal{
  position:fixed;inset:0;
  z-index:var(--z-modal);
  display:none;
  align-items:center;justify-content:center;
  padding:18px;
}
.modal[hidden]{display:none !important;}
.modal.is-open{display:flex;}
.modal-overlay{
  position:absolute;inset:0;
  background:rgba(20,14,10,0.6);
}
.modal-box{
  position:relative;
  background:var(--surface);
  color:var(--text);
  max-width:560px;
  width:100%;
  max-height:86vh;
  overflow-y:auto;
  border-radius:18px;
  padding:30px 28px;
  border:1px solid var(--border);
  box-shadow:0 30px 80px rgba(0,0,0,.25);
}
.modal-box h2{margin-bottom:18px;font-size:1.6rem;}
.modal-box h3{font-size:1rem;margin:18px 0 6px;font-family:var(--ff-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:500;}
.modal-box p{font-size:.92rem;color:var(--text-2);}
.modal-close{
  position:absolute;top:14px;right:14px;
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--bg-alt);color:var(--text);
}
.modal-close:hover{background:var(--accent);color:#FBF6EE;}
.modal-close svg{width:16px;height:16px;}

/* DOTS / STATUS */
.dot{
  width:8px;height:8px;border-radius:50%;
  background:#3aaa5a;
  display:inline-block;
  flex-shrink:0;
}
.dot.is-closed{background:#c87a4d;}
.dot.is-pulse{
  position:relative;
}
.dot.is-pulse::after{
  content:"";position:absolute;inset:-3px;border-radius:50%;
  border:1px solid currentColor;color:#3aaa5a;
  opacity:.6;
  animation:pulse 2.4s ease-out infinite;
}
@keyframes pulse{
  0%{transform:scale(.6);opacity:.65;}
  100%{transform:scale(1.8);opacity:0;}
}
@media (prefers-reduced-motion:reduce){
  .dot.is-pulse::after{animation:none;display:none;}
}

/* STARS */
.stars{display:inline-flex;align-items:center;gap:2px;color:var(--accent);}
.stars svg{width:16px;height:16px;}

/* BADGE GOOGLE */
.badge-google{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--ff-ui);
  font-size:.78rem;font-weight:500;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(42,31,25,0.06);
  color:var(--text-2);
}
.badge-google svg{width:14px;height:14px;}
