/* ── RESET TOTAL ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:       #0A0E0A;
  --surface:  #141A14;
  --card:     #1C231C;
  --green:    #4A7C3F;
  --green-lt: #6BAF5E;
  --gold:     #D4A017;
  --cream:    #E8DFC8;
  --muted:    #8A9A88;
  --white:    #F5F5F0;
}

html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--cream);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── NAV ── */
.ib-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 48px;
  background: linear-gradient(to bottom, rgba(10,14,10,.98) 0%, transparent 100%);
}
.ib-nav-logo img {
  height: 64px;
  width: auto;
  display: block;
}
.ib-nav-links {
  display: flex; gap: 36px; list-style: none;
}
.ib-nav-links a {
  color: var(--muted); text-decoration: none;
  font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase;
  transition: color .2s;
}
.ib-nav-links a:hover { color: var(--cream); }
.ib-nav-cta {
  background: var(--green); color: var(--white);
  text-decoration: none; display: inline-block;
  padding: 11px 24px; border-radius: 2px;
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  font-weight: 700; transition: background .2s;
}
.ib-nav-cta:hover { background: var(--green-lt); color: var(--white); }

/* ── HERO ── */
.ib-hero {
  min-height: 100vh;
  display: flex; align-items: center;
  position: relative; overflow: hidden;
  padding: 140px 48px 80px;
}
.ib-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 70% 50%, rgba(74,124,63,.18) 0%, transparent 70%),
    radial-gradient(ellipse 40% 60% at 20% 80%, rgba(212,160,23,.08) 0%, transparent 60%),
    var(--bg);
}
.ib-hero-content {
  position: relative; z-index: 2;
  max-width: 620px;
}
.ib-hero-logo {
  height: clamp(80px, 10vw, 140px);
  width: auto;
  display: block;
  margin-bottom: 32px;
}
.ib-hero-eyebrow {
  font-size: 11px; letter-spacing: 4px; text-transform: uppercase;
  color: var(--green-lt); margin-bottom: 20px;
  display: flex; align-items: center; gap: 12px;
}
.ib-hero-eyebrow::before {
  content: ''; display: block;
  width: 32px; height: 1px; background: var(--green-lt);
}
.ib-hero-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(72px, 10vw, 140px);
  line-height: .90; letter-spacing: 1px;
  color: var(--white); margin-bottom: 28px;
}
.ib-hero-title em { font-style: normal; color: var(--green-lt); }
.ib-hero-sub {
  font-size: 16px; color: var(--muted);
  max-width: 440px; margin-bottom: 48px; line-height: 1.7;
}
.ib-hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.ib-btn {
  background: var(--green); color: var(--white);
  text-decoration: none; display: inline-block;
  padding: 17px 40px; border-radius: 2px;
  font-size: 13px; letter-spacing: 2px; text-transform: uppercase;
  font-weight: 700; transition: background .2s, transform .15s;
}
.ib-btn:hover { background: var(--green-lt); color: var(--white); transform: translateY(-2px); }
.ib-btn-ghost {
  color: var(--muted); text-decoration: none;
  font-size: 13px; letter-spacing: 1px;
  border-bottom: 1px solid var(--muted); padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.ib-btn-ghost:hover { color: var(--cream); border-color: var(--cream); }

/* Latas flotantes */
.ib-cans {
  position: absolute; right: 0; top: 50%;
  transform: translateY(-50%);
  width: 520px; height: 540px;
  pointer-events: none;
}
.ib-can {
  position: absolute; width: 112px; height: 165px;
  border-radius: 10px; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 24px 64px rgba(0,0,0,.65);
}
.ib-can-1 { top:50px; right:60px; transform:rotate(-8deg); animation:ibf1 4s ease-in-out infinite; }
.ib-can-2 { top:180px; right:210px; transform:rotate(5deg); animation:ibf2 5s ease-in-out infinite; }
.ib-can-3 { top:310px; right:75px; transform:rotate(-3deg); animation:ibf3 4.5s ease-in-out infinite; }
@keyframes ibf1 { 0%,100%{transform:rotate(-8deg) translateY(0)} 50%{transform:rotate(-8deg) translateY(-14px)} }
@keyframes ibf2 { 0%,100%{transform:rotate(5deg) translateY(0)} 50%{transform:rotate(5deg) translateY(-18px)} }
@keyframes ibf3 { 0%,100%{transform:rotate(-3deg) translateY(0)} 50%{transform:rotate(-3deg) translateY(-11px)} }
.ib-can-ipa { background: linear-gradient(160deg,#1a3a1a,#0d1f0d); border:1px solid #2d5a2d; }
.ib-can-neipa { background: linear-gradient(160deg,#2a1f06,#1a1205); border:1px solid #5a3d0a; }
.ib-can-stout { background: linear-gradient(160deg,#111,#1a0a0a); border:1px solid #3a1a1a; }
.ib-can-inner { text-align:center; padding:8px; }
.ib-can-style { font-size:7px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.ib-can-stripe { width:100%; height:3px; margin:6px 0; }
.ib-can-ipa .ib-can-stripe { background:var(--green); }
.ib-can-neipa .ib-can-stripe { background:var(--gold); }
.ib-can-stout .ib-can-stripe { background:#8a3030; }
.ib-can-name { font-family:'Bebas Neue',sans-serif; font-size:17px; line-height:1.1; }
.ib-can-ipa .ib-can-name { color:var(--green-lt); }
.ib-can-neipa .ib-can-name { color:var(--gold); }
.ib-can-stout .ib-can-name { color:#c0a0a0; }
.ib-can-abv { font-size:8px; letter-spacing:2px; text-transform:uppercase; opacity:.55; margin-top:5px; color:var(--cream); }

/* ── TRUST BAR ── */
.ib-trust {
  background: var(--surface);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 22px 48px;
  display: flex; align-items: center; justify-content: center;
  gap: 52px; flex-wrap: wrap;
}
.ib-trust-item {
  display: flex; align-items: center; gap: 10px;
  font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted);
}
.ib-trust-item strong { color: var(--cream); }
.ib-trust-dot { width:5px; height:5px; border-radius:50%; background:var(--green); flex-shrink:0; }

/* ── SECCIONES ── */
.ib-section { padding: 100px 48px; background: var(--bg); }
.ib-section-label {
  font-size: 10px; letter-spacing: 4px; text-transform: uppercase;
  color: var(--green-lt); margin-bottom: 12px;
  display: flex; align-items: center; gap: 12px;
}
.ib-section-label::before { content:''; width:24px; height:1px; background:var(--green-lt); display:block; }
.ib-section-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(44px, 5vw, 68px);
  line-height: 1; color: var(--white); margin-bottom: 16px;
}
.ib-section-sub { font-size:15px; color:var(--muted); max-width:500px; margin-bottom:60px; line-height:1.7; }

/* ── PACKS ── */
.ib-packs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 24px;
}
.ib-pack {
  background: var(--card);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 4px; overflow: hidden;
  transition: transform .25s, border-color .25s;
  position: relative;
}
.ib-pack:hover { transform: translateY(-5px); border-color: var(--green); }
.ib-pack.featured { border-color: var(--green); }
.ib-pack-badge {
  position:absolute; top:14px; right:14px;
  background:var(--green); color:var(--white);
  font-size:9px; letter-spacing:2px; text-transform:uppercase;
  padding:4px 10px; border-radius:2px; font-weight:700;
}
.ib-pack-img {
  width:100%; height:210px;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.ib-pack-img-ipa { background:linear-gradient(135deg,#0d1f0d,#1a3a1a); }
.ib-pack-img-mix { background:linear-gradient(135deg,#1a1205,#2a1f06); }
.ib-pack-img-sorpresa { background:linear-gradient(135deg,#0f0a1a,#1a0f2a); }
.ib-mini-cans { display:flex; align-items:flex-end; }
.ib-mini-can {
  width:46px; height:74px; border-radius:5px;
  display:flex; align-items:center; justify-content:center;
  font-family:'Bebas Neue',sans-serif; font-size:7px;
  letter-spacing:1px; text-align:center; line-height:1.2; padding:4px;
  box-shadow:0 8px 28px rgba(0,0,0,.55);
}
.ib-mini-can + .ib-mini-can { margin-left:-10px; }
.mc-g { background:linear-gradient(160deg,#1a3a1a,#0d1f0d); border:1px solid #3a6a3a; color:var(--green-lt); }
.mc-o { background:linear-gradient(160deg,#2a1f06,#1a1205); border:1px solid #5a3d0a; color:var(--gold); }
.mc-d { background:linear-gradient(160deg,#1a1a1a,#0d0d0d); border:1px solid #3a3a3a; color:#c0c0c0; }
.mc-p { background:linear-gradient(160deg,#1a0f2a,#0f0a1a); border:1px solid #4a2a6a; color:#b09ad0; }
.ib-pack-info { padding:26px; }
.ib-pack-tag { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--green-lt); margin-bottom:8px; }
.ib-pack-name { font-family:'Bebas Neue',sans-serif; font-size:30px; color:var(--white); margin-bottom:10px; line-height:1; }
.ib-pack-desc { font-size:13px; color:var(--muted); margin-bottom:22px; line-height:1.65; }
.ib-pack-footer { display:flex; align-items:center; justify-content:space-between; }
.ib-pack-price { font-family:'Bebas Neue',sans-serif; font-size:34px; color:var(--white); }
.ib-pack-price small { font-family:"Helvetica Neue",sans-serif; font-size:12px; color:var(--muted); font-weight:400; margin-left:4px; }
.ib-btn-pack {
  background:var(--green); color:var(--white);
  text-decoration:none; display:inline-block;
  padding:12px 26px; border-radius:2px;
  font-size:11px; letter-spacing:2px; text-transform:uppercase;
  font-weight:700; transition:background .2s;
}
.ib-btn-pack:hover { background:var(--green-lt); color:var(--white); }
.ib-btn-pack-out {
  background:transparent; color:var(--green-lt);
  text-decoration:none; display:inline-block;
  border:1px solid var(--green);
  padding:12px 26px; border-radius:2px;
  font-size:11px; letter-spacing:2px; text-transform:uppercase;
  font-weight:700; transition:background .2s, color .2s;
}
.ib-btn-pack-out:hover { background:var(--green); color:var(--white); }

/* ── HISTORIA ── */
.ib-historia {
  background: var(--surface);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding: 100px 48px;
}
.ib-historia-inner {
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}
.ib-historia-visual { position:relative; height:400px; }
.ib-hb {
  position:absolute; border-radius:4px;
  display:flex; align-items:center; justify-content:center;
}
.ib-hb-main {
  width:260px; height:300px; top:0; left:0;
  background:linear-gradient(160deg,#1a3a1a,#0d1f0d);
  border:1px solid var(--green);
  flex-direction:column; gap:8px;
}
.ib-hb-year { font-family:'Bebas Neue',sans-serif; font-size:60px; line-height:1; color:var(--white); }
.ib-hb-lbl { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); }
.ib-hb-stat {
  position:absolute; border-radius:4px;
  background:var(--card); border:1px solid rgba(255,255,255,.08);
  padding:20px 24px;
}
.ib-hb-stat-1 { bottom:20px; left:40px; }
.ib-hb-stat-2 { top:40px; right:0; }
.ib-stat-num { font-family:'Bebas Neue',sans-serif; font-size:38px; color:var(--gold); line-height:1; }
.ib-stat-lbl { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-top:4px; }
.ib-historia-copy p { font-size:15px; color:var(--muted); margin-bottom:20px; line-height:1.8; }
.ib-historia-copy p strong { color:var(--cream); }

/* ── REVIEWS ── */
.ib-reviews { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.ib-review {
  background:var(--card); border:1px solid rgba(255,255,255,.06);
  border-radius:4px; padding:28px;
}
.ib-stars { color:var(--gold); font-size:14px; margin-bottom:14px; letter-spacing:2px; }
.ib-review-text { font-size:14px; color:var(--cream); line-height:1.7; margin-bottom:18px; font-style:italic; }
.ib-review-author { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
.ib-review-author strong { color:var(--green-lt); }

/* ── DELIVERY BANNER ── */
.ib-delivery {
  background:linear-gradient(135deg,#0d1f0d,#1a3a1a 50%,#0d1f0d);
  border-top:1px solid var(--green); border-bottom:1px solid var(--green);
  padding:72px 48px; text-align:center;
}
.ib-delivery p { font-size:15px; color:var(--muted); margin-bottom:36px; }
.ib-delivery-steps {
  display:flex; align-items:center; justify-content:center;
  gap:16px; flex-wrap:wrap; margin-bottom:44px;
}
.ib-step { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--cream); }
.ib-step-num {
  width:30px; height:30px; border-radius:50%;
  background:var(--green); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; flex-shrink:0;
}
.ib-step-arrow { color:var(--muted); font-size:18px; }

/* ── FOOTER ── */
.ib-footer {
  background:#060906;
  border-top:1px solid rgba(255,255,255,.06);
  padding:52px 48px 36px;
}
.ib-footer-inner {
  display:flex; justify-content:space-between;
  align-items:flex-start; flex-wrap:wrap; gap:36px; margin-bottom:44px;
}
.ib-footer-brand img { height:72px; display:block; margin-bottom:14px; }
.ib-footer-brand p { font-size:13px; color:var(--muted); max-width:220px; line-height:1.65; }
.ib-footer-col h4 {
  font-size:10px; letter-spacing:3px; text-transform:uppercase;
  color:var(--green-lt); margin-bottom:16px;
}
.ib-footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.ib-footer-col a { font-size:13px; color:var(--muted); text-decoration:none; transition:color .2s; }
.ib-footer-col a:hover { color:var(--cream); }
.ib-footer-bottom {
  border-top:1px solid rgba(255,255,255,.06); padding-top:24px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
}
.ib-footer-bottom p { font-size:12px; color:var(--muted); }
.ib-footer-ig { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); text-decoration:none; transition:color .2s; }
.ib-footer-ig:hover { color:var(--green-lt); }

/* ── MOBILE CTA FIJO ── */
.ib-mobile-cta {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:999;
  background:var(--green); color:var(--white);
  padding:19px; text-align:center;
  font-size:13px; letter-spacing:2px; text-transform:uppercase;
  font-weight:700; text-decoration:none;
}

/* ── WOOCOMMERCE — GENERAL ── */
.woocommerce .site-main,
.woocommerce-page .site-main {
  background: var(--bg) !important;
  padding: 100px 48px 80px !important;
  max-width: 100% !important;
}

/* Ocultar header/footer default de WordPress en páginas WC */
.woocommerce-page #site-header,
.woocommerce-page .site-branding,
.woocommerce-page #colophon { display: none !important; }

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  color: var(--muted) !important;
  font-size: 12px !important; letter-spacing: 1px !important;
  margin-bottom: 40px !important; padding-top: 20px !important;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--green-lt) !important; text-decoration: none !important; }

/* ── PÁGINA DE PRODUCTO INDIVIDUAL ── */
.woocommerce div.product {
  background: var(--bg) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}

/* Imagen del producto */
.woocommerce div.product div.images {
  background: var(--card) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  min-height: 400px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.woocommerce div.product div.images img {
  width: 100% !important; height: auto !important;
  object-fit: cover !important;
}

/* Placeholder sin foto */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  background: var(--card) !important;
}

/* Info del producto */
.woocommerce div.product div.summary {
  padding: 8px 0 !important;
}

/* Nombre del producto */
.woocommerce div.product h1.product_title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(48px, 5vw, 72px) !important;
  color: var(--white) !important;
  line-height: 1 !important;
  margin-bottom: 16px !important;
  letter-spacing: 1px !important;
}

/* Badge oferta */
.woocommerce span.onsale {
  background: var(--green) !important;
  border-radius: 2px !important;
  font-size: 10px !important; letter-spacing: 2px !important;
  text-transform: uppercase !important; font-weight: 700 !important;
  padding: 6px 12px !important; top: 16px !important; left: 16px !important;
}

/* Precio */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 48px !important; color: var(--white) !important;
  margin-bottom: 24px !important; display: block !important;
}
.woocommerce div.product p.price del {
  color: var(--muted) !important; font-size: 32px !important;
  margin-right: 12px !important;
}
.woocommerce div.product p.price ins {
  text-decoration: none !important; color: var(--gold) !important;
}

/* Descripción corta */
.woocommerce div.product div.woocommerce-product-details__short-description {
  font-size: 15px !important; color: var(--muted) !important;
  line-height: 1.7 !important; margin-bottom: 32px !important;
  border-left: 2px solid var(--green) !important;
  padding-left: 16px !important;
}

/* Cantidad */
.woocommerce div.product form.cart div.quantity input.qty {
  background: var(--card) !important;
  color: var(--cream) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 2px !important;
  font-size: 16px !important; padding: 12px 16px !important;
  width: 80px !important;
}

/* Botón agregar al carrito */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--green) !important; color: var(--white) !important;
  border: none !important; border-radius: 2px !important;
  text-transform: uppercase !important; letter-spacing: 2px !important;
  font-size: 12px !important; font-weight: 700 !important;
  padding: 14px 32px !important;
  transition: background .2s !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover {
  background: var(--green-lt) !important;
}

/* Meta (categorías, etiquetas) */
.woocommerce div.product .product_meta {
  margin-top: 32px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
  font-size: 12px !important; color: var(--muted) !important;
  letter-spacing: 1px !important;
}
.woocommerce div.product .product_meta a {
  color: var(--green-lt) !important; text-decoration: none !important;
}
.woocommerce div.product .product_meta span { display: block !important; margin-bottom: 6px !important; }

/* Tabs de descripción */
.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  margin-top: 48px !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
  padding-top: 48px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  padding: 0 !important; margin-bottom: 32px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important; border-radius: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--muted) !important;
  font-size: 11px !important; letter-spacing: 2px !important;
  text-transform: uppercase !important; padding: 12px 24px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--cream) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--green) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: transparent !important; color: var(--muted) !important;
  font-size: 15px !important; line-height: 1.8 !important;
}

/* Productos relacionados */
.woocommerce .related h2,
.woocommerce .upsells h2 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 36px !important; color: var(--white) !important;
  margin-bottom: 24px !important; letter-spacing: 1px !important;
  grid-column: 1 / -1 !important;
}
.woocommerce ul.products li.product {
  background: var(--card) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 4px !important; overflow: hidden !important;
  transition: transform .2s, border-color .2s !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  border-color: var(--green) !important;
}
.woocommerce ul.products li.product a { color: var(--cream) !important; text-decoration: none !important; }
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 24px !important; color: var(--white) !important;
  padding: 16px 16px 4px !important;
}
.woocommerce ul.products li.product .price { color: var(--gold) !important; padding: 0 16px 16px !important; }

/* Carrito */
.woocommerce-cart .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  background: var(--card) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 4px !important; padding: 32px !important;
}
.woocommerce table.cart { color: var(--cream) !important; }
.woocommerce table.cart th { color: var(--muted) !important; font-size: 11px !important; letter-spacing: 2px !important; text-transform: uppercase !important; border-color: rgba(255,255,255,.07) !important; }
.woocommerce table.cart td { border-color: rgba(255,255,255,.07) !important; color: var(--cream) !important; }
.woocommerce .cart-collaterals h2,
.woocommerce-checkout h3 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 28px !important; color: var(--white) !important;
  margin-bottom: 20px !important;
}

/* Checkout inputs */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  background: var(--surface) !important;
  color: var(--cream) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.woocommerce form .form-row label { color: var(--muted) !important; font-size: 12px !important; letter-spacing: 1px !important; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .ib-nav { padding:14px 20px; }
  .ib-nav-links { display:none; }
  .ib-nav-hamburger { display: flex !important; }
  .ib-nav-cta-desktop { display: none !important; }
  .ib-hero { padding:110px 20px 60px; }
  .ib-cans { display:none; }
  .ib-trust { gap:20px; padding:16px 20px; }
  .ib-section { padding:64px 20px; }
  .ib-historia { padding:64px 20px; }
  .ib-historia-inner { grid-template-columns:1fr; gap:40px; }
  .ib-historia-visual { height:280px; }
  .ib-hb-main { width:200px; height:220px; }
  .ib-delivery { padding:48px 20px; }
  .ib-footer { padding:44px 20px 110px; }
  .ib-footer-inner { flex-direction:column; gap:28px; }
  .ib-mobile-cta { display:block; }
}

/* ── WRAPPER WOOCOMMERCE ── */
.ib-wc-main {
  padding: 100px 48px 80px;
  background: var(--bg);
  min-height: 100vh;
  max-width: 1400px;
  margin: 0 auto;
}

/* Ocultar sidebar y footer default de WordPress */
#secondary, .widget-area,
#colophon, .site-footer,
.site-info { display: none !important; }

/* Links globales */
a { color: var(--green-lt); }
a:visited { color: var(--green-lt); }

@media (max-width: 900px) {
  .ib-wc-main { padding: 80px 20px 60px; }
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* ── AUDIOBAR ── */
.ib-audiobar {
  background: var(--surface);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 100px 48px;
}
.ib-audiobar-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.ib-audiobar-sub {
  font-size: 15px; color: var(--muted);
  line-height: 1.8; margin-bottom: 40px;
  max-width: 480px;
}
.ib-audiobar-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.ib-audiobar-detail {
  display: flex; gap: 14px; align-items: flex-start;
}
.ib-audiobar-detail-icon {
  font-size: 24px; flex-shrink: 0; margin-top: 2px;
}
.ib-audiobar-detail-label {
  font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
  color: var(--green-lt); margin-bottom: 6px;
}
.ib-audiobar-detail-value {
  font-size: 14px; color: var(--cream); line-height: 1.6;
}
.ib-audiobar-map {
  height: 420px;
  border-radius: 4px; overflow: hidden;
  border: 1px solid rgba(255,255,255,.07);
  background: var(--card);
}

@media (max-width: 900px) {
  .ib-audiobar { padding: 0 0 64px; }
  .ib-audiobar-intro { padding: 0 20px; }
  .ib-audiobar-eventos { padding: 0 20px; }
  .ib-audiobar-inner { grid-template-columns: 1fr; gap: 40px; padding: 0 20px; }
  .ib-audiobar-map { height: 280px; }
  .ib-audiobar-details { grid-template-columns: 1fr; }

  /* Eventos — mantener diseño de card en mobile */
  .ib-eventos-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .ib-evento {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 24px 20px !important;
    background: var(--card) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 4px !important;
  }
  .ib-evento-dia {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 32px !important;
    color: var(--green-lt) !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    min-width: 52px !important;
  }
  .ib-evento-nombre {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 22px !important;
    color: var(--white) !important;
    margin-bottom: 6px !important;
    line-height: 1 !important;
    display: block !important;
  }
  .ib-evento-desc {
    font-size: 13px !important;
    color: var(--muted) !important;
    line-height: 1.6 !important;
    display: block !important;
  }
}

/* ── AUDIOBAR — INTRO Y EVENTOS ── */
.ib-audiobar-intro {
  max-width: 720px;
  margin-bottom: 64px;
}
.ib-audiobar-intro-text {
  font-size: 15px; color: var(--muted);
  line-height: 1.8; margin-bottom: 16px;
}
.ib-audiobar-intro-text strong { color: var(--cream); }

.ib-audiobar-eventos {
  margin-bottom: 64px;
}
.ib-eventos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 24px;
}
.ib-evento {
  background: var(--card);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 4px;
  padding: 28px 24px;
  display: flex; gap: 20px; align-items: flex-start;
  transition: border-color .2s;
}
.ib-evento:hover { border-color: var(--green); }
.ib-evento-dia {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 36px; color: var(--green-lt);
  line-height: 1; flex-shrink: 0;
  min-width: 48px;
}
.ib-evento-nombre {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px; color: var(--white);
  margin-bottom: 8px; line-height: 1;
}
.ib-evento-desc {
  font-size: 13px; color: var(--muted); line-height: 1.6;
}

@media (max-width: 900px) {
  .ib-eventos-grid { grid-template-columns: 1fr; }
}

/* ── AUDIOBAR HERO CON FOTO ── */
.ib-audiobar-hero {
  position: relative;
  width: 100%;
  height: 85vh;
  min-height: 500px;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 80px;
}
.ib-audiobar-hero-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: brightness(.55) saturate(.8);
}
.ib-audiobar-hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(10,14,10,.3) 0%,
    rgba(10,14,10,.1) 40%,
    rgba(10,14,10,.7) 100%
  );
}
.ib-audiobar-hero-content {
  position: relative; z-index: 2;
  text-align: center; padding: 0 40px;
}
.ib-audiobar-hero-content .ib-section-label {
  justify-content: center;
}

@media (max-width: 900px) {
  .ib-audiobar-hero { height: 60vh; margin-bottom: 48px; }
}

/* ── BANNER ENVÍO GRATIS — CARRITO ── */
.ib-envio-banner {
  background: linear-gradient(135deg, #0d1f0d, #1a3a1a);
  border: 1px solid var(--green);
  border-radius: 4px;
  padding: 18px 24px;
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 28px;
  font-size: 14px; color: var(--cream); line-height: 1.5;
}
.ib-envio-banner strong { color: var(--green-lt); }

.ib-envio-aviso {
  background: linear-gradient(135deg, #1a1205, #2a1f06);
  border: 1px solid var(--gold);
  border-radius: 4px;
  padding: 16px 20px;
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 20px;
  font-size: 13px; color: var(--cream); line-height: 1.5;
}
.ib-envio-aviso strong { color: var(--gold); }
.ib-envio-aviso-btn {
  margin-left: auto; flex-shrink: 0;
  background: var(--gold); color: #0A0E0A;
  text-decoration: none; padding: 9px 18px; border-radius: 2px;
  font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase;
  font-weight: 700; white-space: nowrap;
}

.ib-envio-ok {
  background: linear-gradient(135deg, #0d1f0d, #1a3a1a);
  border: 1px solid var(--green-lt);
  border-radius: 4px;
  padding: 16px 20px;
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 20px;
  font-size: 13px; color: var(--cream); line-height: 1.5;
}
.ib-envio-ok strong { color: var(--green-lt); }

/* ── HAMBURGUESA MOBILE ── */
.ib-nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 8px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 4px;
  width: 40px;
  height: 40px;
}
.ib-nav-hamburger span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: all .3s;
  margin: 0 auto;
}
.ib-nav-hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.ib-nav-hamburger.active span:nth-child(2) { opacity: 0; }
.ib-nav-hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* Menú mobile desplegable */
.ib-nav-mobile {
  display: none;
  position: fixed;
  top: 76px;
  left: 0;
  right: 0;
  background: rgba(10,14,10,.98);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: 20px 24px;
  z-index: 998;
  flex-direction: column;
  gap: 0;
}
.ib-nav-mobile.open { display: flex; }
.ib-nav-mobile a {
  color: var(--muted);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: color .2s;
}
.ib-nav-mobile a:last-child { border-bottom: none; }
.ib-nav-mobile a:hover { color: var(--cream); }
@media (max-width: 900px) {
  .ib-nav { padding: 14px 20px; }
  .ib-nav-links { display: none; }
  .ib-nav-logo img { height: 48px; }
  .ib-hero { padding: 110px 20px 60px; }
  .ib-cans { display: none; }
  .ib-trust { gap: 16px; padding: 16px 20px; }
  .ib-trust-item { font-size: 10px; }
  .ib-section { padding: 64px 20px; }
  .ib-packs-grid { grid-template-columns: 1fr; }
  .ib-historia { padding: 64px 20px; }
  .ib-historia-inner { grid-template-columns: 1fr; gap: 40px; }
  .ib-historia-visual { height: 280px; }
  .ib-hb-main { width: 200px; height: 220px; }
  .ib-reviews { grid-template-columns: 1fr; }
  .ib-delivery { padding: 48px 20px; }
  .ib-footer { padding: 44px 20px 110px; }
  .ib-footer-inner { flex-direction: column; gap: 28px; }
  .ib-mobile-cta { display: block; }
  .ib-audiobar-hero { height: 60vh; margin-bottom: 48px; }
  .ib-audiobar-hero-content .ib-section-title { font-size: clamp(48px, 12vw, 80px) !important; }
}

/* ── BLOG ── */
.ib-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 32px;
  margin-bottom: 64px;
}
.ib-blog-card {
  background: var(--card);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 4px;
  overflow: hidden;
  transition: transform .2s, border-color .2s;
}
.ib-blog-card:hover { transform: translateY(-4px); border-color: var(--green); }
.ib-blog-thumb {
  display: block;
  width: 100%; height: 220px;
  overflow: hidden;
}
.ib-blog-thumb img { width:100%; height:100%; object-fit:cover; transition: transform .3s; }
.ib-blog-card:hover .ib-blog-thumb img { transform: scale(1.03); }
.ib-blog-thumb-placeholder {
  background: linear-gradient(135deg,#0d1f0d,#1a3a1a);
  display: flex; align-items: center; justify-content: center;
}
.ib-blog-info { padding: 24px; }
.ib-blog-meta {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 12px;
}
.ib-blog-date {
  font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--muted);
}
.ib-blog-cat {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--green-lt);
  background: rgba(74,124,63,.15);
  padding: 3px 10px; border-radius: 2px;
}
.ib-blog-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 26px; line-height: 1.1;
  margin-bottom: 10px;
}
.ib-blog-title a { color: var(--white); text-decoration: none; transition: color .2s; }
.ib-blog-title a:hover { color: var(--green-lt); }
.ib-blog-excerpt { font-size: 13px; color: var(--muted); line-height: 1.65; margin-bottom: 20px; }
.ib-blog-link {
  font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--green-lt); text-decoration: none;
  transition: color .2s;
}
.ib-blog-link:hover { color: var(--white); }

/* Paginación */
.ib-blog-pagination { text-align: center; padding: 32px 0; }
.ib-blog-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.ib-blog-pagination a, .ib-blog-pagination span {
  background: var(--card); color: var(--muted);
  border: 1px solid rgba(255,255,255,.07);
  padding: 10px 18px; border-radius: 2px;
  font-size: 13px; text-decoration: none; transition: all .2s;
}
.ib-blog-pagination a:hover { background: var(--green); color: var(--white); border-color: var(--green); }
.ib-blog-pagination .current { background: var(--green); color: var(--white); border-color: var(--green); }

/* ── ARTÍCULO INDIVIDUAL ── */
.ib-article { max-width: 760px; }
.ib-article-header { margin-bottom: 48px; }
.ib-article-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(36px, 5vw, 60px);
  line-height: 1; color: var(--white);
  margin-bottom: 32px;
}
.ib-article-thumb {
  width: 100%; height: 420px;
  overflow: hidden; border-radius: 4px;
  margin-top: 32px;
}
.ib-article-content {
  font-size: 16px; color: var(--muted);
  line-height: 1.85; margin-bottom: 56px;
}
.ib-article-content h2 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 32px; color: var(--white);
  margin: 40px 0 16px; line-height: 1;
}
.ib-article-content h3 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 24px; color: var(--white);
  margin: 32px 0 12px; line-height: 1;
}
.ib-article-content p { margin-bottom: 20px; }
.ib-article-content strong { color: var(--cream); }
.ib-article-content a { color: var(--green-lt); }
.ib-article-content img {
  width: 100%; border-radius: 4px;
  margin: 24px 0;
}
.ib-article-content blockquote {
  border-left: 3px solid var(--green);
  padding-left: 20px; margin: 32px 0;
  font-size: 18px; color: var(--cream);
  font-style: italic;
}
.ib-article-footer {
  border-top: 1px solid rgba(255,255,255,.07);
  padding-top: 32px;
}

@media (max-width: 900px) {
  .ib-blog-grid { grid-template-columns: 1fr; }
  .ib-article-thumb { height: 240px; }
}
