/*
Theme Name: Astra Child Flyers Mataro
Theme URI: https://flyersmataro.com
Author: Tu nombre o empresa
Author URI: https://flyersmataro.com
Description: Tema hijo personalizado de Astra para FlyersMataro
Template: astra
Version: 1.0
Text Domain: astra-child-flyers
*/

/* ===============================
   TOKENS GLOBALES
   =============================== */
:root{
  --c-white:#ffffff;
  --c-offwhite:#fafaf9;
  --c-warm:#f5f0eb;
  --c-cream:#ece5db;
  --c-ink:#1a1a1a;
  --c-ink-mid:#4a4540;
  --c-ink-light:#8a8279;
  --c-accent:#c45e28;
  --c-accent-hover:#a94d1e;
  --c-accent-soft:rgba(196,94,40,.08);
  --c-success:#2d6a4f;
  --c-error:#c1292e;
  --c-border:rgba(0,0,0,.06);
  --shadow-base:0 4px 24px rgba(0,0,0,.06);
  --shadow-hover:0 12px 40px rgba(0,0,0,.10);
  --shadow-lift:0 16px 48px rgba(0,0,0,.12);
  --radius-input:12px;
  --radius-card:20px;
  --radius-pill:999px;
  --font-display:'Instrument Serif',Georgia,serif;
  --font-body:'DM Sans','Helvetica Neue',Arial,sans-serif;
}

/* ===============================
   CARD
   =============================== */
.card{
  background:var(--c-white);
  border-radius:var(--radius-card);
  padding:2rem 1.75rem 2.25rem;
  box-shadow:var(--shadow-lift);
  border:1px solid var(--c-border);
}

.card header{
  text-align:center;
  margin-bottom:1.25rem;
}

.card .badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.4rem .8rem;
  border-radius:var(--radius-pill);
  background:var(--c-warm);
  color:var(--c-accent);
  font-weight:700;
  font-size:.8rem;
  margin-bottom:.4rem;
  border:1px solid var(--c-cream);
}

.card strong{
  display:block;
  font-size:1.2rem;
  font-weight:700;
  color:var(--c-ink);
  font-family:var(--font-display);
}

/* ===============================
   FORM ELEMENTS
   =============================== */
.card label{
  font-weight:600;
  font-size:.88rem;
  color:var(--c-ink);
  margin-bottom:.3rem;
  display:block;
  font-family:var(--font-body);
}

.card input,
.card select,
.card textarea{
  width:100%;
  height:50px;
  padding:0 1rem;
  border-radius:var(--radius-input);
  border:1px solid var(--c-cream);
  font-size:.95rem;
  font-weight:400;
  font-family:var(--font-body);
  outline:none;
  background:var(--c-white);
  color:var(--c-ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}

.card textarea{
  height:auto;
  min-height:110px;
  padding:.8rem 1rem;
}

.card input:focus,
.card select:focus,
.card textarea:focus{
  border-color:var(--c-accent);
  box-shadow:0 0 0 3px rgba(196,94,40,.14);
}

/* ===============================
   FILAS
   =============================== */
.card .row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.85rem;
  margin-bottom:.85rem;
}

@media(max-width:640px){
  .card .row{
    grid-template-columns:1fr;
  }
}

/* ===============================
   CTA / BOTONES
   =============================== */
.cta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
  margin-top:1.25rem;
}

@media(max-width:640px){
  .cta{
    grid-template-columns:1fr;
  }
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:52px;
  border-radius:var(--radius-pill);
  font-weight:700;
  font-size:.95rem;
  font-family:var(--font-body);
  letter-spacing:-.01em;
  text-decoration:none;
  cursor:pointer;
  border:1px solid transparent;
  transition:background .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}

.btn--brand{
  background:var(--c-accent);
  color:var(--c-white);
  box-shadow:0 8px 24px rgba(196,94,40,.24);
}

.btn--brand:hover{
  background:var(--c-accent-hover);
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(196,94,40,.30);
}

.btn--ghost{
  background:var(--c-white);
  color:var(--c-ink);
  border-color:var(--c-cream);
}

.btn--ghost:hover{
  background:var(--c-warm);
  border-color:var(--c-accent);
  color:var(--c-accent);
}

/* ===============================
   DISCLAIMER & MENSAJES
   =============================== */
.disclaimer{
  margin-top:.85rem;
  font-size:.76rem;
  color:var(--c-ink-light);
  text-align:center;
  font-family:var(--font-body);
}

.disclaimer a{
  font-weight:600;
  color:var(--c-ink-mid);
}

.success,
.error{
  margin-top:.85rem;
  font-size:.85rem;
  font-weight:600;
  text-align:center;
  font-family:var(--font-body);
}

.error{
  color:var(--c-error);
}

.success{
  color:var(--c-success);
}
