/* Base tipográfica y de layout — Pigyfante 2.0 */

body{
  font-family:var(--pf-font);
  font-size:var(--body);
  color:var(--pf-texto);
  background:var(--pf-blanco);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{ font-family:var(--pf-font); color:var(--pf-azul); line-height:1.2; font-weight:800; }
h1{ font-size:var(--arch); }
h2{ font-size:calc(var(--arch) * .82); }
h3{ font-size:calc(var(--arch) * .68); }

a{ color:var(--pf-azul); text-decoration:none; transition:color var(--pf-trans); }
a:hover{ color:var(--pf-rosa); }

.pf-contenedor{ max-width:var(--pf-max); margin-inline:auto; padding-inline:var(--gut); }

/* --- Botones ------------------------------------------------------------- */
.pf-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--pf-azul); color:var(--pf-blanco);
  border:0; border-radius:var(--pf-radio-sm);
  padding:.75em 1.5em; font-family:var(--pf-font); font-weight:700;
  transition:background var(--pf-trans), transform var(--pf-trans);
  cursor:pointer;
}
.pf-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover{ background:var(--pf-azul-int); color:var(--pf-blanco); }

.pf-btn--acento,
.woocommerce button.button.alt, .woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt{ background:var(--pf-rosa); }
.pf-btn--acento:hover,
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover{ background:var(--pf-rosa-osc); }

/* Área táctil mínima en móvil */
@media (max-width:767px){
  .pf-btn, .woocommerce a.button, .woocommerce button.button{ min-height:48px; }
}

/* --- Formularios --------------------------------------------------------- */
input[type=text],input[type=email],input[type=tel],input[type=password],
input[type=number],input[type=search],select,textarea{
  border:1px solid var(--pf-borde); border-radius:var(--pf-radio-sm);
  padding:.7em .9em; font-family:var(--pf-font); font-size:var(--body);
  color:var(--pf-texto); background:var(--pf-blanco); width:100%;
}
input:focus,select:focus,textarea:focus{
  outline:2px solid var(--pf-rosa); outline-offset:1px; border-color:var(--pf-rosa);
}
/* En iOS, un input de menos de 16px provoca zoom automático al enfocarlo */
@media (max-width:767px){
  input,select,textarea{ font-size:16px; }
}

/* --- Utilidades ---------------------------------------------------------- */
.pf-oculto{ position:absolute!important; width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }
.pf-fondo-suave{ background:var(--pf-fondo); }
