/* AMBIT BOX 2.0 — hoja de estilos única
   Paleta y tipografía tomadas del WordPress original (tema Flatsome). */

:root{
  --lime:#b1ca3e;
  --lime-dark:#9ab030;
  --dark:#1f1f1f;
  --darker:#141414;
  --grey:#777;
  --grey-light:#bdbdbd;
  --white:#f1f1f1;
  --header-h:78px;
  --maxw:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.7;
  color:var(--grey);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

h1,h2,h3,h4{
  font-family:inherit;
  color:var(--dark);
  line-height:1.1;
  margin:0 0 .5em;
  font-weight:700;
  letter-spacing:.5px;
}
h1{font-size:clamp(2.6rem,6vw,5rem);text-transform:uppercase}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);text-transform:uppercase}
h3{font-size:1.35rem;text-transform:uppercase}
h4{font-size:1rem;text-transform:uppercase;letter-spacing:1.2px}
p{margin:0 0 1.2em}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:88px 0}
.section--dark{background:var(--dark);color:var(--grey-light)}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}
.section--darker{background:var(--darker);color:var(--grey-light)}
.section--darker h2,.section--darker h3,.section--darker h4{color:#fff}
.center{text-align:center}

/* línea lime decorativa */
.rule{width:72px;height:3px;background:var(--lime);border:0;margin:0 0 26px}
.center .rule{margin-left:auto;margin-right:auto}

/* ---------- Botones ---------- */
.btn{
  display:inline-block;
  padding:13px 34px;
  border:2px solid var(--lime);
  border-radius:99px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.9px;
  text-transform:uppercase;
  color:var(--dark);
  background:var(--lime);
  transition:background .2s,color .2s,border-color .2s;
  cursor:pointer;
}
.btn:hover{background:var(--lime-dark);border-color:var(--lime-dark)}
.btn--ghost{background:transparent;color:#fff;border-color:#fff}
.btn--ghost:hover{background:#fff;color:var(--dark)}
.btn + .btn{margin-left:12px}

/* ---------- Cabecera ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--header-h);
  background:rgba(20,20,20,.94);
  backdrop-filter:saturate(140%) blur(6px);
  display:flex;align-items:center;
}
.header .wrap{display:flex;align-items:center;justify-content:space-between;width:100%}
.logo img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:26px}
.nav a{
  color:var(--white);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:1.1px;
  text-transform:uppercase;
  padding:6px 0;
  border-bottom:2px solid transparent;
}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--lime)}
.nav a.is-account{color:var(--lime);border-left:1px solid #444;padding-left:26px}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:92vh;
  display:flex;align-items:center;
  background:#111 center/cover no-repeat;
  margin-top:var(--header-h);
}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.35))}
.hero .wrap{position:relative;z-index:2}
.hero .eyebrow{color:#fff;font-size:1.3rem;letter-spacing:4px;text-transform:uppercase;margin-bottom:6px}
.hero h1{color:#fff;margin-bottom:28px}
.hero h1 .lime{color:var(--lime);display:block}
.hero .btn{margin-top:8px}

.page-hero{
  margin-top:var(--header-h);
  background:var(--dark) center/cover no-repeat;
  color:#fff;
  padding:96px 0 78px;
}
.page-hero h1{color:#fff;margin:0}
.page-hero p{color:var(--grey-light);margin:14px 0 0;max-width:640px}

/* ---------- Franja promoción ---------- */
.promo{background:var(--lime);color:#1a1a1a;text-align:center;padding:56px 0}
.promo h2{color:#1a1a1a;margin-bottom:10px}
.promo p{color:#2a2a2a;margin-bottom:22px;font-weight:500}
.promo .btn{background:#1a1a1a;border-color:#1a1a1a;color:#fff}
.promo .btn:hover{background:#000;border-color:#000}

/* ---------- Rejillas ---------- */
.grid{display:grid;gap:28px}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}

.card{position:relative;overflow:hidden;border-radius:4px;background:#222;min-height:230px}
.card img{height:100%;width:100%;object-fit:cover;transition:transform .5s}
.card:hover img{transform:scale(1.06)}
.card figcaption{
  position:absolute;inset:auto 0 0 0;
  padding:18px 20px;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
  color:#fff;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;font-size:.92rem;
}

.quote{border-left:3px solid var(--lime);padding:6px 0 6px 22px;color:var(--grey-light);font-size:1rem;line-height:1.6}
.quote cite{display:block;margin-top:10px;color:var(--lime);font-style:normal;font-size:.8rem;letter-spacing:1px;text-transform:uppercase}

.claim{background:var(--darker);color:#fff;text-align:center;padding:78px 0}
.claim blockquote{margin:0 auto;max-width:860px;font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.45;font-weight:600}

/* ---------- Galería ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:3px}

/* ---------- Contacto ---------- */
.info-list{list-style:none;margin:0;padding:0}
.info-list li{margin-bottom:26px}
.info-list strong{display:block;color:#fff;text-transform:uppercase;letter-spacing:1.2px;font-size:.85rem;margin-bottom:4px}
.info-list a:hover{color:var(--lime)}
.map{width:100%;height:380px;border:0;border-radius:4px;filter:grayscale(.3)}

/* ---------- Formulario ---------- */
.form{max-width:560px}
.form label{display:block;margin-bottom:18px;color:var(--grey-light);font-size:.85rem;letter-spacing:.6px;text-transform:uppercase}
.form input,.form textarea{
  width:100%;margin-top:7px;padding:13px 15px;
  border:1px solid #3a3a3a;border-radius:4px;
  background:#262626;color:#fff;
  font-family:inherit;font-size:1rem;
}
.form input:focus,.form textarea:focus{outline:2px solid var(--lime);outline-offset:1px;border-color:transparent}
.form .hp{position:absolute;left:-9999px}
.form-note{font-size:.78rem;color:var(--grey)}
.form-msg{padding:14px 16px;border-radius:4px;margin-bottom:22px;font-size:.92rem}
.form-msg--ok{background:rgba(177,202,62,.15);border:1px solid var(--lime);color:#dcecae}
.form-msg--err{background:rgba(220,80,80,.12);border:1px solid #c35;color:#f0b8b8}

/* ---------- Texto legal ---------- */
.legal{margin-top:var(--header-h);padding:70px 0 90px}
.legal h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.legal h2{font-size:1.25rem;margin-top:2em}
.legal p,.legal li{font-size:.95rem}

/* ---------- Pie ---------- */
.footer{background:#111;color:#8a8a8a;padding:56px 0 34px;font-size:.85rem}
.footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:38px}
.footer h4{color:#fff;margin-bottom:16px}
.footer a:hover{color:var(--lime)}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin-bottom:9px}
.footer .legal-bar{border-top:1px solid #262626;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .split,.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}
  .footer .cols{grid-template-columns:1fr}
  .nav-toggle{display:block}
  .nav{
    position:absolute;top:var(--header-h);left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:0;
    background:rgba(17,17,17,.98);padding:10px 24px 22px;
    display:none;
  }
  .nav.is-open{display:flex}
  .nav a{width:100%;padding:13px 0;border-bottom:1px solid #242424}
  .nav a.is-account{border-left:0;padding-left:0}
  .section{padding:62px 0}
  .btn + .btn{margin-left:0;margin-top:12px}
}
@media (max-width:560px){
  .grid--3,.grid--4{grid-template-columns:1fr}
  .hero{min-height:82vh}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
