/* Componentes base compartilhados. Layouts e variações ficam junto da experiência. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;text-decoration:none;
  font-family:var(--f-sans);cursor:pointer;font-weight:600;font-size:1rem;padding:14px 24px;min-height:48px;border-radius:var(--r-btn);
  border:0;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur)}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--petrol);color:#fff;box-shadow:var(--sh-md)}
.btn-primary:hover{background:var(--petrol-deep);transform:translateY(-2px);box-shadow:var(--sh-lg)}
.btn-secondary{background:transparent;color:var(--terracotta-ink);border:1.5px solid var(--terracotta-ink)}
.btn-secondary:hover{background:rgba(200,118,90,.08);transform:translateY(-2px)}
.btn-wa{background:var(--whatsapp);color:#fff;box-shadow:var(--sh-md)}
.btn-wa:hover{background:#1fb959;transform:translateY(-2px);box-shadow:var(--sh-lg)}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn-block{width:100%}

.card{position:relative;background:#fff;border:1px solid var(--sand);border-radius:var(--r-md);padding:1.3rem 1.4rem;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.card h3{margin-bottom:.45rem} .card p{font-size:.95rem;color:var(--muted)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover,.btn:active{transform:none}}
