:root{
  --primary:#f39c12;
  --primary-dark:#d35400;
  --bg:#050505;
  --text:#fff;
}

*,
*::before,
*::after{
  box-sizing: border-box;
}

html,body{
  background:var(--bg);
  color:var(--text);
  margin:0;
  padding:0;
  font-family:'Inter',sans-serif;
  overflow-x:hidden;
}

img{
  max-width:100%;
  height:auto;
}

.lazy-section{
  content-visibility:auto;
  contain-intrinsic-size:1px 900px;
}

/* HEADER */
#main-header{
  position:fixed;
  top:0;
  width:100%;
  height:70vh;
  z-index:1000;
  transition:all .4s ease;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  background-image:
    linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.8)),
    url('../img/logos/Hansel%20paquete_PORTADA%20AJUSTADA%20(1).png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#000;

  /* ✨ OPTIMIZACIÓN */
  will-change: height, padding;
}

.header-content{
  width:100%;
  max-width:1200px;
  margin: 0 auto;   /* ✅ esto centra el bloque */
  padding:0 20px;
}

h1{
  font-size:3.5rem;
  font-weight:900;
  color:var(--primary);
  margin:0;
  transition:.4s;
}

.tagline{
  font-size:1.1rem;
  letter-spacing:4px;
  color:#bbb;
  text-transform:uppercase;
}
.location{
  margin-top: 14px;
  text-align:center;
  font-weight:700;
  opacity:.9;
}
@media (max-width: 768px){

  #main-header{
    height: 60vh;
    padding-top: 40px;
  }

  .header-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin: 0 auto;
  }

  h1{ font-size:2.2rem; }

  .location{
    margin-top:6px;
    font-size:14px;
    opacity:.85;
  }

  .container{
    margin-top:60vh;
    text-align:center;
  }

  .decision-card{
    width:100%;
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
  }

  .quote-cart{
  width: min(420px, 100vw);
  right: 0; /* ✅ nunca lo empujes negativo */
}

  .form-grid{ grid-template-columns:1fr; }

  footer{ text-align:center; }
  .social-links{ justify-content:center; }

  .language-switcher{
    top:14px;
    right:14px;
    transform: scale(.9);
  }
}

/* HEADER SCROLL */
#main-header.scrolled{
  height:80px;
  padding:10px 20px;
  background:#000;
  background-image:none;
}

#main-header.scrolled h1{ font-size:1.5rem; }
#main-header.scrolled .tagline{ display:none; }



/* PAGE */
.container{
  margin-top:70vh;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;

  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:40px 20px;
  background:var(--bg);
  position:relative;
  z-index:5;
}
/* ===============================
   FIX DEFINITIVO DE OVERFLOW MÓVIL
   =============================== */

/* Ningún contenedor puede salirse del ancho */
.container,
.inventory-grid,
.decision-grid,
.decision-grid.main-page-grid{
  max-width: 100%;
}

/* Ninguna card puede empujar el layout */
.decision-card,
.equipment-card{
  max-width: 100%;
}

/* MUY IMPORTANTE: evita overflow en hijos de flex/grid */
.inventory-grid > *,
.decision-grid > *,
.decision-grid.main-page-grid > *{
  min-width: 0;
}

/* Textos largos no rompen el centrado */
h1,
.tagline,
.location{
  max-width: 100%;
  word-break: break-word;
}

.filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin: 18px 0 10px 0;
}
.filter-btn{
  border:1px solid #333;
  background:#111;
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
}
.filter-btn.active{
  border-color:var(--primary);
  color:var(--primary);
}

/* INVENTORY GRID */
.inventory-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 220px));
  gap:40px;
  padding:20px 0;
  width:100%;
  max-width:1400px;
  justify-items:center;
  justify-content:center;
}
@media (max-width:900px){ .inventory-grid{ gap:24px;} }
@media (max-width:720px){ .inventory-grid{ gap:16px;} }
@media (max-width:520px){ .inventory-grid{ gap:14px;} }

@media (max-width: 768px){
  .inventory-grid{
    grid-template-columns:repeat(2, minmax(160px, 220px));
    justify-items:center;
  }

  .equipment-card{
    width:100%;
    max-width:220px;
    margin:0 auto;
    padding:12px;
  }

  .equipment-card h3{
    font-size:0.95rem;
    margin:10px 0 6px 0;
  }

  .equipment-card .btn-main{
    padding:8px 10px;
    font-size:0.75rem;
  }

  .image-container{
    height:110px;
  }

  .filters{
    justify-content:center;
  }
}

@media (max-width:520px){
  .inventory-grid{
    grid-template-columns:repeat(2, minmax(150px, 1fr));
  }
}

.equipment-card{
  background:#1a1a1a;
  border-radius:15px;
  padding:15px;
  text-align:center;
  transition:transform .3s ease;
  display:flex;
  flex-direction:column;
  height:100%;
}
.equipment-card:hover{ transform: translateY(-4px); }
.equipment-card--compact{
  padding:12px;
}
.equipment-meta{
  margin:8px 0 0 0;
  font-size:0.8rem;
  color:#cfcfcf;
}
.equipment-meta-secondary{
  margin-top:6px;
  font-size:0.75rem;
  opacity:0.75;
}
.equipment-card-actions{
  margin-top:auto;
  display:flex;
  justify-content:center;
}

.image-container{
  width:100%;
  height:160px;
  overflow-y:auto;
  border-radius:10px;
  background:#111;
}
.equipment-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* BUTTONS */
.btn-main{
  display:inline-block;
  margin-top:12px;
  padding:12px 16px;
  border-radius:12px;
  background:var(--primary);
  color:#000;
  text-decoration:none;
  font-weight:900;
  border:none;
  cursor:pointer;
}

.btn-main:hover{
  background:var(--primary-dark);
  color:#fff;
}

.btn-outline{
  display:inline-block;
  margin-top:12px;
  padding:12px 16px;
  border-radius:12px;
  border:1px solid var(--primary);
  background:transparent;
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}

.btn-outline:hover{
  background:var(--primary);
  color:#000;
}

/* CART FAB */
.cart-fab{
  position:fixed;
  right:22px;
  bottom:95px;
  width:60px;
  height:60px;
  border:none;
  border-radius:50%;
  background:var(--primary);
  color:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  z-index:10001;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(0,0,0,.45);
}
.cart-count{
  position:absolute;
  top:-8px;
  right:-8px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:linear-gradient(135deg, #fff 0%, #ffe5ba 100%);
  color:#1a1a1a;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
  border:2px solid var(--primary);
  box-shadow:
    0 0 0 2px rgba(243,156,18,.25),
    0 8px 18px rgba(243,156,18,.4);
  transform:translateZ(0);
  animation:cartPulse 1.8s ease-in-out infinite;
}

@keyframes cartPulse{
  0%{
    transform:scale(1);
    box-shadow:
      0 0 0 2px rgba(243,156,18,.25),
      0 8px 18px rgba(243,156,18,.4);
  }
  50%{
    transform:scale(1.08);
    box-shadow:
      0 0 0 6px rgba(243,156,18,.15),
      0 10px 20px rgba(243,156,18,.5);
  }
  100%{
    transform:scale(1);
    box-shadow:
      0 0 0 2px rgba(243,156,18,.25),
      0 8px 18px rgba(243,156,18,.4);
  }
}

/* OVERLAY */
.cart-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:10000;
  opacity:0;
  pointer-events:none;
  transition: opacity .2s ease;
}
.cart-overlay.open{
  opacity:1;
  pointer-events:auto;
}

/* CART PANEL */
.quote-cart{
  position:fixed;
  top:0;
  right:0;
  width:min(420px, 100vw);
  height:100dvh;
  max-height:100dvh;
  background:#0c0c0c;
  border-left:1px solid #222;
  z-index:10002;
  padding:18px;
  padding-bottom:calc(18px + env(safe-area-inset-bottom));
  box-sizing:border-box;
  overflow:hidden;
  transform: translateX(100%);
  transition: transform .25s ease;
  display:flex;
  flex-direction:column;
}
.quote-cart.open{ transform: translateX(0); }

.quote-cart-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.icon-btn{
  border:none;
  background:transparent;
  color:var(--primary);
  font-weight:800;
  cursor:pointer;
}

.cart-policies{
  border:1px solid #222;
  border-radius:14px;
  padding:12px;
  background:#0f0f0f;
  margin-bottom:12px;
  text-align:left;
}
.cart-policies ul{
  margin:8px 0 0 18px;
  padding:0;
  font-size:0.8rem;
  opacity:.85;
}
.cart-availability{
  margin-top:8px;
  font-size:0.8rem;
  opacity:.75;
}

/* Days */
.cart-days{
  border:1px solid #222;
  border-radius:14px;
  padding:12px;
  background:#0f0f0f;
  margin-bottom:12px;
  text-align:left;
}
.cart-days label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.cart-days input{
  width:90px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #333;
  background:#111;
  color:#fff;
}
.cart-days-hint{
  margin-top:8px;
  font-size:12px;
  opacity:.75;
}

#cart-items{
  padding:12px 0;
  overflow:auto;
  flex:1;
  border-top:1px solid #222;
  border-bottom:1px solid #222;
}
.cart-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #1f1f1f;
}
.cart-row h4{ margin:0; font-size:14px; }
.cart-row .meta{ opacity:.75; font-size:12px; margin-top:4px; }

.qty{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.qty button{
  width:28px;
  height:28px;
  border-radius:8px;
  border:1px solid #333;
  background:#111;
  color:#fff;
  cursor:pointer;
}

.quote-cart-footer{
  padding-top:12px;
  margin-top:auto;
}
.total-row{
  display:flex;
  justify-content:space-between;
  margin-bottom:12px;
  opacity:.95;
}
.cart-actions{
  display:flex;
  gap:10px;
}
.cart-actions .btn-main{
  flex:1;
  margin-top:0;
}
.cart-actions-top{
  margin-bottom:12px;
}
.cart-actions-submit{
  margin-top:12px;
}
.cart-actions-submit.is-hidden{
  display:none;
}

/* CART EVENT DETAILS */
.cart-event{
  border:1px solid #222;
  border-radius:14px;
  padding:12px;
  background:#0f0f0f;
  margin-top:12px;
  text-align:left;
  width:100%;
  box-sizing:border-box;
}
.cart-event.is-hidden{
  display:none;
}
.cart-actions-top.is-hidden{
  display:none;
}
.cart-event h4{
  margin:0 0 10px 0;
  font-size:14px;
}
.required-note{
  margin:0 0 12px 0;
  font-size:12px;
  color:#f6c25b;
  background:rgba(243,156,18,0.12);
  border:1px solid rgba(243,156,18,0.35);
  border-radius:10px;
  padding:8px 10px;
}
.cart-summary{
  border:1px dashed #2a2a2a;
  border-radius:12px;
  padding:10px 12px;
  margin-bottom:12px;
  font-size:12px;
  background:#0c0c0c;
}
.cart-summary.is-hidden{
  display:none;
}
.cart-summary h5{
  margin:0 0 8px 0;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  opacity:.8;
}
.cart-summary ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cart-summary li{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.cart-event-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.cart-event label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  opacity:.9;
}
.cart-event input,
.cart-event select,
.cart-event textarea{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #333;
  background:#111;
  color:#fff;
  box-sizing:border-box;
}
.cart-event .time-row{
  display:flex;
  gap:8px;
  width:100%;
}
.cart-event textarea{
  resize:vertical;
}
@media (max-width: 768px){
  .cart-event-grid{
    grid-template-columns:1fr;
  }
}

/* PRODUCT MODAL */
.product-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.6);
  z-index:10003;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.product-modal.open{ display:flex; }
.product-modal-content{
  background:#0d0d0d;
  border:1px solid #222;
  border-radius:16px;
  width:min(900px, 100%);
  max-height:90vh;
  overflow:auto;
  padding:20px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.product-modal-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.product-modal-header h3{ margin:0; }
.product-modal-close{
  border:none;
  background:transparent;
  color:var(--primary);
  font-weight:800;
  cursor:pointer;
}
.product-modal-body{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:20px;
}
.product-main-image{
  width:100%;
  aspect-ratio:4/3;
  border-radius:12px;
  object-fit:cover;
  background:#111;
}
.product-thumbs{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.product-thumb{
  width:100%;
  border-radius:10px;
  cursor:pointer;
  border:1px solid transparent;
  opacity:.85;
}
.product-thumb.active{
  border-color:var(--primary);
  opacity:1;
}
.product-specs{
  border-top:1px solid #222;
  margin-top:12px;
  padding-top:12px;
}
.product-specs ul{
  margin:8px 0 0 18px;
}
@media (max-width: 900px){
  .product-modal-body{
    grid-template-columns:1fr;
  }
  .product-thumbs{
    grid-template-columns:repeat(5, minmax(0,1fr));
  }
}

/* BOOKING MODAL */
.booking-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.6);
  z-index:10003;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.booking-modal.open{ display:flex; }
.booking-modal-content{
  background:#0d0d0d;
  border:1px solid #222;
  border-radius:16px;
  width:min(900px, 100%);
  max-height:90vh;
  overflow:auto;
  padding:20px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.booking-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.booking-modal-close{
  border:none;
  background:transparent;
  color:var(--primary);
  font-weight:800;
  cursor:pointer;
}
.booking-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  opacity:.9;
}
.booking-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.booking-grid input,
.booking-grid select,
.booking-grid textarea{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #333;
  background:#111;
  color:#fff;
  box-sizing:border-box;
}
.booking-notes{
  grid-column:1 / -1;
}
.booking-submit{
  width:100%;
  margin-top:12px;
}
@media (max-width: 768px){
  .booking-grid{
    grid-template-columns:1fr;
  }
}

/* FORM */
.quote-form-section{
  width:100%;
  max-width:900px;
  margin:50px auto 0 auto;
  text-align:left;
}
.quote-form{
  background:#111;
  border:1px solid #222;
  border-radius:16px;
  padding:18px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.form-group span{
  display:block;
  margin-bottom:6px;
  opacity:.85;
  font-weight:800;
}
.quote-form input,
.quote-form select,
.quote-form textarea{
  width:100%;
  padding:12px;
  border-radius:12px;
  border:1px solid #333;
  background:#0b0b0b;
  color:#fff;
}
/* Time input row (Start Time + AM/PM) */
.time-row{
  display:flex;
  gap:10px;
}

.time-row input{
  flex:1;
}

.time-row select{
  width:110px;
}

.logo-link{ text-decoration:none; color:inherit; }
/* ===== Language switcher (old pill style) ===== */
/* === LANGUAGE SWITCHER (pill como antes) === */
.language-switcher{
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1100;
  display: inline-flex;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(20,20,20,.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.lang-btn{
  padding: 10px 18px;
  border: 0;
  background: transparent;
  color: #fff;
  font-weight: 800;
  letter-spacing: .5px;
  cursor: pointer;
}

.lang-btn + .lang-btn{
  border-left: 1px solid rgba(255,255,255,.22);
}

.lang-btn:hover{
  background: rgba(243,156,18,.18);
  color: var(--primary);
}


/* (por si todavía existe en tu HTML viejo) */
.separator{ display:none !important; }

/* ===== Home labels / titles (restore main page look) ===== */
.section-title{
  margin: 0 0 24px 0;
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: .5px;
}

/* === SOCIAL ICONS (como antes) === */
footer{
  margin-top: 60px;
  padding: 30px;
  border-top: 1px solid rgba(255,255,255,.10);
  width: 100%;
  text-align: center;
}

.social-links{
  display:flex;
  justify-content:center;
  gap: 26px;
  margin-top: 16px;
}

.social-links a{
  color: inherit;
  text-decoration:none;
  transition: transform .2s ease, color .2s ease;
}

.social-links i{
  font-size: 44px;
  color: var(--primary);
}

.social-links a:hover{
  transform: scale(1.12);
  color: #fff;
}
.social-links a:hover i{
  color: #fff;
}

/* === HOME CARDS (como en tu foto) === */

.decision-card{
  background: rgba(20,20,20,.65);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 34px;
  /* FIX */
  flex: 0 1 520px;
  max-width: 520px;
  width: auto;
  
  min-height: 240px;
  text-align: center;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  transition: transform .25s ease, border-color .25s ease;
}

.service-bullets{
  list-style:none;
  margin:16px 0 16px 0;
  padding:0;
  text-align:left;
  font-size:0.85rem;
  color:#cfcfcf;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.decision-card .btn-main,
.decision-card .btn-outline{
  width:100%;
  margin-top:auto;
  text-align:center;
}
.service-bullets li::before{
  content:"•";
  color:var(--primary);
  margin-right:8px;
}
.service-bullets li{
  display:flex;
  align-items:flex-start;
  gap:8px;
}


.decision-card:hover{
  transform: translateY(-4px);
  border-color: rgba(243,156,18,.65);
}

.card-icon{
  width: 54px;
  height: 54px;
  margin: 0 auto 14px auto;
  border-radius: 50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(243,156,18,.18);
  border: 1px solid rgba(243,156,18,.35);
}

.card-icon i{
  font-size: 22px;
  color: var(--primary);
}

/* ===== HOME GRID (definitivo) ===== */
.decision-grid.main-page-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:30px;
  width:100%;
  max-width:1200px;
  margin-top:18px;
}

.decision-grid.main-page-grid .decision-card{
  flex: 1 1 480px;
  max-width: 540px;
  width: auto;
}

.trust-section,
.packages-section,
.about-section{
  margin-top:36px;
}
.contact-section{
  margin-top:36px;
}
.trust-section,
.packages-section,
.about-section,
.contact-section,
.video-playlist-section{
  content-visibility:auto;
  contain-intrinsic-size:1px 800px;
}
.trust-header{
  text-align:center;
  margin-bottom:18px;
}
.section-subtitle{
  opacity:.8;
  margin-top:6px;
}
.trust-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px,1fr));
  gap:16px;
  margin-bottom:18px;
}
.trust-card{
  background:#141414;
  border-radius:14px;
  padding:16px;
  text-align:center;
}
.trust-value{
  font-size:1.6rem;
  font-weight:900;
}
.trust-label{
  font-size:0.85rem;
  opacity:.8;
}
.review-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap:16px;
}
.review-card{
  background:#111;
  border:1px solid #222;
  border-radius:14px;
  padding:16px;
  text-align:left;
}
.review-stars{
  color:var(--primary);
  margin-bottom:8px;
}
.review-meta{
  margin-top:10px;
  font-size:0.8rem;
  opacity:.75;
}
.gallery-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px,1fr));
  grid-auto-rows:180px;
  gap:12px;
  align-items:stretch;
}
.gallery-grid img,
.video-card{
  border-radius:14px;
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-grid img,
.equipment-card img,
.product-main-image{
  transition:opacity .25s ease;
}
.video-card{
  background:#1a1a1a;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border:1px dashed #333;
}
.video-playlist-section{
  margin-top:32px;
}
.video-playlist-wrapper{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:20px;
}
.party-video-player{
  width:min(100%, 960px);
  margin:0 auto;
  border-radius:16px;
  background:#000;
  min-height:320px;
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
}
.video-playlist-panel{
  background:#111;
  border:1px solid #222;
  border-radius:16px;
  padding:16px;
}
.video-playlist-title{
  margin-top:0;
  margin-bottom:12px;
}
.video-playlist{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.video-playlist-item{
  width:100%;
  text-align:left;
  background:#0f0f0f;
  border:1px solid #222;
  border-radius:12px;
  padding:12px 14px;
  color:#fff;
  cursor:pointer;
  font-weight:600;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.video-playlist-item:hover,
.video-playlist-item:focus{
  border-color:#333;
}
.video-playlist-item.active{
  border-color:var(--primary);
  box-shadow:0 0 0 1px rgba(255,199,0,.35);
}
@media (max-width: 900px){
  .video-playlist-wrapper{
    grid-template-columns:1fr;
  }
}
.package-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap:18px;
}
@media (min-width: 769px){
  .package-grid{
    display:flex;
    flex-wrap:nowrap;
    gap:18px;
    overflow-x:auto;
    justify-content:center;
    padding-bottom:8px;
  }
  .package-card{
    flex:0 0 260px;
    max-width:280px;
  }
}
.package-card{
  background:#111;
  border:1px solid #222;
  border-radius:16px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.package-card ul{
  margin:0;
  padding-left:18px;
  text-align:left;
  font-size:0.85rem;
  color:#cfcfcf;
}
.package-card.featured{
  border-color:var(--primary);
  box-shadow:0 0 0 1px rgba(255,199,0,.35);
}
.package-btn{
  margin-top:auto;
}
.podcast-section .package-card{
  text-align:left;
}
.podcast-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;
  margin-top:18px;
}
.equipment-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:12px;
  margin-top:12px;
}
.podcast-additional{
  margin-top:16px;
}
.podcast-additional h4{
  margin:0 0 6px 0;
}
.about-section p{
  max-width:900px;
  margin:0 auto 18px auto;
  opacity:.85;
}
.about-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap:16px;
}
.about-grid h4{
  margin:0 0 6px 0;
}

.contact-section a{
  color: var(--primary);
  text-decoration: none;
  font-weight: 700;
}

.contact-section a:hover{
  color: #fff;
}

/* ===== MOBILE ===== */
@media (max-width: 768px){
  .decision-grid.main-page-grid .decision-card{
    flex: 1 1 100%;
    max-width: 520px;
    width: 100%;
    margin-left:auto;
    margin-right:auto;
  }

  .package-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .addon-grid .package-card:last-child:nth-child(odd){
    grid-column:1 / -1;
    justify-self:center;
    width:100%;
    max-width:260px;
  }
}

.package-card{
  position:relative;
}

.package-badge{
  align-self:flex-start;
  background:var(--primary);
  color:#0a0a0a;
  font-size:0.7rem;
  font-weight:800;
  letter-spacing:0.08em;
  padding:4px 10px;
  border-radius:999px;
}
.promo-badge{
  background:rgba(255,199,0,0.15);
  color:var(--primary);
  border:1px solid rgba(255,199,0,0.4);
  font-size:0.65rem;
}

.package-pricing{
  background:#0f0f0f;
  border:1px solid #1f1f1f;
  border-radius:12px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.package-price{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.price-now{
  font-size:1.8rem;
  font-weight:900;
  color:var(--primary);
}

.price-old{
  font-size:0.85rem;
  color:#9b9b9b;
  text-decoration:line-through;
}

.price-regular{
  font-size:0.85rem;
  color:#9b9b9b;
}

.price-strike{
  text-decoration:line-through;
  color:#6f6f6f;
}

.price-today{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  font-weight:900;
  color:var(--primary);
}

.price-label{
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.1em;
  opacity:0.9;
}

.price-value{
  font-size:1.8rem;
}

.price-save{
  font-size:0.85rem;
  color:#cfcfcf;
  opacity:0.85;
}

.package-capacity{
  font-weight:700;
}

.package-fineprint{
  font-size:0.75rem;
  opacity:0.7;
  margin-top:-4px;
}

.package-card.featured{
  background:linear-gradient(180deg, rgba(255,199,0,0.08), rgba(17,17,17,1));
}

.promo-banner{
  width:100%;
  margin:12px 0 18px;
  padding:12px 16px;
  border-radius:12px;
  border:1px solid #1f1f1f;
  background:#0f0f0f;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:700;
}

#promo-countdown{
  font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  color:var(--primary);
}

.storage-consent{
  position:fixed;
  bottom:16px;
  left:16px;
  right:16px;
  margin:0 auto;
  max-width:520px;
  background:#0f0f0f;
  border:1px solid #1f1f1f;
  border-radius:12px;
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:0.85rem;
  z-index:2000;
}

.storage-consent button{
  border:none;
  background:var(--primary);
  color:#0a0a0a;
  font-weight:700;
  border-radius:999px;
  padding:6px 14px;
  cursor:pointer;
}

.is-hidden{
  display:none !important;
}

.package-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

@media (max-width: 1024px){
  .package-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

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

@media (prefers-reduced-motion: reduce){
  #main-header,
  .decision-card,
  .equipment-card,
  .video-playlist-item,
  .product-thumb,
  .gallery-grid img,
  .btn-main,
  .btn-outline{
    transition:none !important;
  }
}
