/*
Theme Name: TopSide
Theme URI: https://topside.es
Author: TopSide
Description: Theme personalizado para TopSide — entrenamiento personal y nutrición en Tarragona.
Version: 1.0
Text Domain: topside
*/

:root{
  --negro:#0D0D0D;
  --blanco:#FFFFFF;
  --amarillo:#F2C230;
  --gris-claro:#F7F7F5;
  --gris-texto:#4A4A4A;
  --borde:#E7E5E0;
  --font-display:'Montserrat',sans-serif;
  --font-texto:'Inter',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font-texto);color:var(--negro);background:var(--blanco);line-height:1.6;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
ul{list-style:none;}

/* HEADER */
.site-header{position:sticky;top:0;background:var(--blanco);border-bottom:1px solid var(--borde);z-index:20;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1120px;margin:0 auto;}
.logo-header{height:38px;}
.main-nav ul{display:flex;gap:22px;flex-wrap:wrap;}
.main-nav a{font-size:14px;font-weight:500;color:var(--negro);}
.main-nav a.current-menu-item, .main-nav .current-menu-item > a{color:#B8910F;border-bottom:2px solid var(--amarillo);padding-bottom:4px;}
.btn-nav{background:var(--negro);color:var(--blanco)!important;padding:10px 20px;border-radius:2px;font-size:14px;}
@media(max-width:960px){.main-nav ul{display:none;}}

/* BOTONES */
.btn-amarillo{background:var(--amarillo);color:var(--negro);padding:15px 28px;font-weight:600;font-size:15px;border-radius:2px;display:inline-block;border:none;cursor:pointer;font-family:var(--font-texto);}
.btn-outline{border:1px solid #555;color:var(--blanco);padding:15px 28px;font-weight:500;font-size:15px;border-radius:2px;display:inline-block;}

/* HERO GENÉRICO DE PÁGINA */
.page-hero{background:var(--negro);color:var(--blanco);padding:80px 0;}
.page-hero-inner{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;}
.page-eyebrow{display:inline-block;color:var(--negro);background:var(--amarillo);font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.03em;padding:6px 14px;border-radius:2px;margin-bottom:22px;}
.page-hero h1{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1.15;max-width:620px;}
.page-hero h1 span{color:var(--amarillo);}
.page-hero p{color:#D8D8D8;font-size:17px;max-width:520px;margin-top:20px;}
.page-hero-photo{background:#1E1E1E;border:1px dashed #555;border-radius:2px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;color:#888;font-size:13px;text-align:center;padding:20px;}
@media(max-width:860px){.page-hero-inner{grid-template-columns:1fr;}}

/* SECCIONES GENÉRICAS */
section{padding:80px 0;}
.section-label{color:#B8910F;font-family:var(--font-display);font-size:14px;font-weight:600;margin-bottom:10px;}
h2{font-family:var(--font-display);font-weight:300;font-size:30px;margin-bottom:16px;max-width:640px;}
.lead{color:var(--gris-texto);font-size:15.5px;max-width:600px;}

.tarjetas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--borde);border:1px solid var(--borde);margin-top:40px;}
.tarjeta{background:var(--blanco);padding:32px 28px;}
.tarjeta .accent{width:34px;height:3px;background:var(--amarillo);margin-bottom:18px;}
.tarjeta h3{font-family:var(--font-display);font-weight:500;font-size:18px;margin-bottom:10px;}
.tarjeta p{color:var(--gris-texto);font-size:14.5px;}
@media(max-width:860px){.tarjetas-grid{grid-template-columns:1fr;}}

.foto-placeholder{background:var(--gris-claro);border:1px dashed #C9C7C0;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:#999;font-size:13px;text-align:center;padding:16px;border-radius:2px;}

.cta-final{text-align:center;padding:90px 0;}
.cta-final h2{margin:0 auto 20px;text-align:center;max-width:600px;}

/* COMING SOON STRIP (home) */
.coming-soon{background:var(--amarillo);color:var(--negro);padding:26px 0;}
.cs-inner{max-width:1120px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.cs-inner p{font-family:var(--font-display);font-weight:500;font-size:16px;}
.cs-inner span{font-weight:700;}
.btn-negro-sm{background:var(--negro);color:var(--blanco);padding:11px 20px;font-size:14px;font-weight:500;border-radius:2px;white-space:nowrap;}

/* FOOTER */
.site-footer{background:var(--negro);color:#CFCFCF;padding:60px 0 30px;}
.footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-inner .logo-footer{height:34px;margin-bottom:16px;}
.site-footer h4{color:var(--blanco);font-family:var(--font-display);font-weight:500;font-size:15px;margin-bottom:14px;}
.site-footer li{margin-bottom:8px;font-size:14px;}
.footer-bottom{border-top:1px solid #333;padding-top:20px;font-size:13px;color:#888;text-align:center;}
@media(max-width:860px){.footer-inner{grid-template-columns:1fr;}}
