/* TiendasCamping.es — retail navigation redesign. Preserves the original green/orange identity. */
:root{--camp-green:#1a3d2b;--camp-green-2:#2d6a4f;--camp-orange:#e76f00;--camp-orange-bright:#ff8c1a;--camp-cream:#f5f0e8;--camp-ink:#17251d;--camp-muted:#617066;--camp-line:#dfe6e1}

/* Header shell */
.site-header.camp-retail-header{position:sticky!important;top:0!important;z-index:1000!important;background:#fff!important;color:var(--camp-ink)!important;box-shadow:0 4px 22px rgba(18,50,34,.12)!important;overflow:visible!important}
.camp-mainbar{background:#fff}
.site-header .camp-mainbar-inner{display:grid!important;grid-template-columns:auto minmax(320px,1fr) auto;align-items:center!important;gap:28px!important;width:min(1480px,calc(100% - 48px))!important;max-width:1480px!important;min-height:88px!important;padding:13px 0!important;overflow:visible!important}
.camp-logo{display:flex!important;align-items:center!important;gap:12px!important;color:var(--camp-green)!important;text-decoration:none!important;min-width:max-content!important}
.camp-logo:hover{color:var(--camp-green)!important}
.camp-logo-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--camp-orange-bright);font-size:1.55rem;box-shadow:0 8px 20px rgba(231,111,0,.2)}
.camp-logo-copy{display:flex;flex-direction:column;gap:1px;white-space:nowrap}
.camp-logo-copy strong{font-family:'Bebas Neue',cursive;font-size:2rem;line-height:1;letter-spacing:.035em;color:var(--camp-green)}
.camp-logo-copy small{font-family:'DM Sans',sans-serif;font-size:.66rem;line-height:1;font-weight:800;letter-spacing:.14em;color:#68776d}

/* Persistent search */
.camp-search{position:relative;min-width:0}
.camp-search .search-box{display:block!important;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;width:100%!important;max-width:none!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.camp-search .search-inner{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0;border:2px solid #cfd9d2;border-radius:999px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.camp-search .search-inner:focus-within{border-color:var(--camp-green-2);box-shadow:0 0 0 4px rgba(45,106,79,.12)}
.camp-search .search-inner>svg{margin-left:19px;color:#647269;flex:none}
.camp-search input{width:100%!important;min-width:0!important;border:0!important;outline:0!important;background:#fff!important;padding:15px 15px!important;font:600 1rem 'DM Sans',sans-serif!important;color:#25352b!important}
.camp-search input::placeholder{color:#7b8980;opacity:1}
.camp-search button{align-self:stretch;border:0;background:var(--camp-orange-bright);color:#19241e;padding:0 28px;font:800 1rem 'DM Sans',sans-serif;cursor:pointer}
.camp-search button:hover{background:#ff9c35}

/* Quick actions */
.camp-actions{display:flex;align-items:center;gap:16px}
.camp-actions>a{display:flex;align-items:center;gap:8px;color:var(--camp-green)!important;text-decoration:none!important;font:800 .92rem 'DM Sans',sans-serif!important;white-space:nowrap;padding:8px 0!important;background:transparent!important}
.camp-actions>a>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eff4f1;color:var(--camp-green);font-weight:900}
.camp-actions>a:hover>span{background:#ffe3c4;color:#b94f00}
.camp-mobile-toggle{display:none!important}

/* Second navigation bar */
.camp-navshell{position:relative;background:var(--camp-green);color:#fff}
.site-header .camp-navrow{display:flex!important;align-items:stretch!important;gap:0!important;width:min(1480px,calc(100% - 48px))!important;max-width:1480px!important;min-height:54px!important;padding:0!important;overflow:visible!important}
.camp-navrow>a{display:flex;align-items:center;color:#f2f6f3!important;text-decoration:none!important;font:800 .94rem 'DM Sans',sans-serif!important;white-space:nowrap;padding:0 17px!important;border-bottom:3px solid transparent;border-radius:0!important;background:transparent!important}
.camp-navrow>a:hover,.camp-navrow>a:focus{color:#fff!important;background:rgba(255,255,255,.08)!important;border-bottom-color:var(--camp-orange-bright)}
.camp-dept-toggle{display:flex;align-items:center;gap:12px;min-width:228px;border:0;background:var(--camp-orange-bright);color:#17251d;padding:0 18px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:1rem}
.camp-dept-toggle>span{font-size:1.35rem}.camp-dept-toggle>strong{font-weight:900}.camp-dept-toggle>b{margin-left:auto;font-size:1.1rem}
.camp-dept-toggle[aria-expanded="true"]>b{transform:rotate(180deg)}

/* Mega menu */
.camp-mega{display:none;position:absolute;left:0;right:0;top:100%;z-index:6000;background:#fff;color:var(--camp-ink);box-shadow:0 30px 70px rgba(14,45,30,.2);border-top:1px solid #e8ede9;max-height:min(76vh,760px);overflow:auto}
.camp-mega.open{display:block}
.camp-mega-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;padding-top:32px!important;padding-bottom:36px!important}
.camp-mega-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 38px}
.camp-mega-col{min-width:0}
.camp-mega-col>a{display:block;text-decoration:none!important}
.camp-mega-title{display:flex!important;justify-content:space-between;gap:10px;color:var(--camp-green)!important;font-family:'Bebas Neue',cursive!important;font-size:1.5rem!important;line-height:1!important;letter-spacing:.035em!important;padding:0 0 11px!important;margin-bottom:5px;border-bottom:2px solid #e6ebe7!important;background:transparent!important}
.camp-mega-title span{color:var(--camp-orange)}
.camp-mega-col>a:not(.camp-mega-title){color:#34463b!important;font:700 .98rem/1.35 'DM Sans',sans-serif!important;padding:7px 0!important;white-space:normal!important;background:transparent!important;border-radius:8px!important}
.camp-mega-col>a:not(.camp-mega-title):hover{color:#163e2b!important;background:#fff4e8!important;padding-left:9px!important}
.camp-mega-side{background:linear-gradient(145deg,#173f2d,#245b41);color:#fff;border-radius:18px;padding:27px}
.camp-mega-side>p{margin:0 0 7px;color:#ffad55;font:900 .72rem 'DM Sans',sans-serif;letter-spacing:.12em}
.camp-mega-side h2{color:#fff;font-size:2.05rem;margin:0 0 18px}
.camp-mega-side>a{display:flex;justify-content:space-between;gap:12px;color:#f2f7f4!important;text-decoration:none!important;font:700 .96rem 'DM Sans',sans-serif!important;padding:10px 0!important;border-bottom:1px solid rgba(255,255,255,.13);background:transparent!important}
.camp-mega-side>a span{color:#ffad55}
.camp-mega-side>a:hover{color:#fff!important}
.camp-mega-side .camp-mega-all{justify-content:center;margin-top:18px;padding:12px 14px!important;border:0;border-radius:10px;background:var(--camp-orange-bright)!important;color:#18251e!important;font-weight:900!important}

/* Mobile navigation restyle */
@media(max-width:1180px){
  .site-header .camp-mainbar-inner{grid-template-columns:auto minmax(260px,1fr) auto!important;gap:18px!important;width:min(100% - 32px,1200px)!important;min-height:78px!important}
  .camp-actions{display:none}
  .camp-navrow>a:nth-of-type(n+6){display:none}
  .camp-mega-layout{grid-template-columns:1fr 270px}.camp-mega-groups{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .site-header .camp-mainbar-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 14px!important;width:min(100% - 28px,900px)!important;min-height:0!important;padding:11px 0 12px!important}
  .camp-logo{min-width:0!important}.camp-logo-mark{width:43px;height:43px;border-radius:12px;font-size:1.25rem}.camp-logo-copy{min-width:0}.camp-logo-copy strong{font-size:1.65rem}.camp-logo-copy small{font-size:.58rem;letter-spacing:.1em}
  .camp-mobile-toggle{display:flex!important;align-items:center;gap:7px;border:1px solid #d6dfd9!important;background:#f4f7f5!important;color:var(--camp-green)!important;border-radius:10px!important;padding:9px 12px!important;font:800 .92rem 'DM Sans',sans-serif!important}
  .camp-mobile-toggle span{font-size:1.15rem}.camp-mobile-toggle b{font-weight:800}
  .camp-search{grid-column:1/-1}.camp-search .search-inner{border-radius:12px}.camp-search input{font-size:16px!important;padding:12px 11px!important}.camp-search .search-inner>svg{margin-left:14px}.camp-search button{padding:0 17px;font-size:.92rem}
  .camp-navshell{display:none}

  body.mobile-nav-open{overflow:hidden!important}
  .mobile-nav{display:none!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:9999!important;background:#fff!important;color:var(--camp-ink)!important;padding:0!important;overflow-y:auto!important;box-shadow:0 24px 60px rgba(13,45,29,.25)!important}
  .mobile-nav.active{display:block!important}
  .mobile-menu-inner{padding:14px 16px 36px!important;max-width:720px;margin:0 auto}
  .mobile-nav a.mobile-primary{display:flex!important;align-items:center!important;min-height:52px!important;color:var(--camp-green)!important;background:#f4f7f5!important;border-radius:10px!important;margin-bottom:8px!important;padding:13px 14px!important;font:800 1.02rem 'DM Sans',sans-serif!important;text-decoration:none!important}
  .mobile-nav-section{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:54px!important;margin-top:10px!important;padding:13px 14px!important;border:0!important;border-bottom:1px solid #e5ebe7!important;background:#fff!important;color:var(--camp-green)!important;text-align:left!important;font:900 1.05rem 'DM Sans',sans-serif!important}
  .mobile-nav-section::after{content:'+';font-size:1.35rem;color:var(--camp-orange)!important}.mobile-nav-section[aria-expanded="true"]::after{content:'−'}
  .mobile-nav-group{padding:5px 0 10px 12px!important;border-left:3px solid #ffd3a5!important}
  .mobile-nav-group[hidden]{display:none!important}
  .mobile-nav-group a{display:block!important;min-height:46px!important;padding:11px 12px!important;color:#34463b!important;background:#fff!important;border-bottom:1px solid #eef1ef!important;font:700 .98rem/1.35 'DM Sans',sans-serif!important;text-decoration:none!important}
  .mobile-nav-group a:hover{background:#fff4e8!important;color:#173f2d!important}
}
@media(max-width:520px){
  .offer-bar{font-size:.78rem!important;padding:7px 12px!important}
  .site-header .camp-mainbar-inner{width:min(100% - 22px,520px)!important}
  .camp-logo-mark{width:40px;height:40px}.camp-logo-copy strong{font-size:1.5rem}.camp-logo-copy small{font-size:.54rem}
  .camp-mobile-toggle b{display:none}.camp-mobile-toggle{padding:8px 11px!important}
  .camp-search .search-inner>svg{display:none}.camp-search .search-inner{grid-template-columns:1fr auto!important}.camp-search input{padding-left:13px!important}.camp-search button{padding:0 15px!important}
  .mobile-menu-inner{padding-left:12px!important;padding-right:12px!important}.mobile-nav a.mobile-primary,.mobile-nav-section{font-size:1rem!important}.mobile-nav-group a{font-size:.96rem!important}
}

/* Small visual polish outside the navigation: same palette, cleaner retail feel. */
.home-product-card,.store-product-card,.product-card{border-radius:16px!important;border-color:#dfe6e1!important;box-shadow:0 10px 28px rgba(19,61,42,.07)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.home-product-card:hover,.store-product-card:hover,.product-card:hover{transform:translateY(-4px)!important;box-shadow:0 20px 42px rgba(19,61,42,.12)!important;border-color:#cbd9d0!important}
.home-product-image,.store-product-image{border-radius:12px!important;overflow:hidden}
.home-product-button{border-radius:10px!important;min-height:48px!important}
.home-product-button:hover{background:#245b41!important}
.section-header h2,.store-section-head h2{letter-spacing:.025em}
@media(max-width:560px){
 .home-product-card,.store-product-card{border-radius:13px!important}
 .home-product-body p,.store-product-body p{font-size:.9rem!important;line-height:1.45!important;color:#56645b!important}
 .home-product-body h3,.store-product-body h3{font-size:1rem!important;line-height:1.28!important}
 .home-product-button{font-size:.92rem!important;min-height:44px!important}
}


/* V2 — header más limpio: buscador protagonista, acciones en la barra inferior */
@media(min-width:1181px){
  .site-header .camp-mainbar-inner{
    grid-template-columns:auto minmax(520px,1fr)!important;
    gap:34px!important;
  }
  .camp-search{width:100%!important;max-width:none!important;}
  .camp-search .search-inner{min-height:58px!important;}
  .camp-search input{font-size:1.06rem!important;padding-left:17px!important;}
  .camp-search button{min-width:126px!important;font-size:1.04rem!important;}
  .camp-actions{display:none!important;}
  .camp-navrow>a{font-size:.96rem!important;padding-left:16px!important;padding-right:16px!important;}
}

@media(min-width:901px) and (max-width:1180px){
  .site-header .camp-mainbar-inner{
    grid-template-columns:auto minmax(360px,1fr)!important;
  }
  .camp-actions{display:none!important;}
}

/* =========================================================
   V3 — buscador integrado, sin huecos heredados del CSS antiguo
   ========================================================= */
.camp-search .search-inner{
  padding:0!important;
  gap:0!important;
  min-width:0!important;
}
.camp-search .search-inner button,
.camp-search button{
  margin:0!important;
  border-radius:0!important;
  min-width:148px!important;
  height:100%!important;
  min-height:58px!important;
  padding:0 30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  box-shadow:none!important;
}
.camp-search .search-inner input{
  border-radius:0!important;
  margin:0!important;
}

@media(max-width:900px){
  .camp-search .search-inner button,
  .camp-search button{
    min-width:112px!important;
    min-height:48px!important;
    padding:0 18px!important;
    font-size:.95rem!important;
  }
}
@media(max-width:520px){
  .camp-search .search-inner button,
  .camp-search button{
    min-width:96px!important;
    min-height:46px!important;
    padding:0 14px!important;
    font-size:.92rem!important;
  }
}

/* =========================================================
   V4 — estructura de cabecera alineada con Herramienta Maestra
   ========================================================= */
.camp-mobile-search{display:none}
.site-header .camp-mainbar-inner{
  grid-template-columns:auto minmax(420px,720px) auto!important;
  justify-content:space-between!important;
  column-gap:30px!important;
}
.camp-desktop-search{width:100%;max-width:720px;justify-self:center}
.camp-actions{display:flex!important;align-items:center!important;justify-content:flex-end;gap:6px!important;min-width:max-content}
.camp-actions>a{display:flex!important;align-items:center!important;gap:8px!important;color:var(--camp-green)!important;text-decoration:none!important;font:800 .88rem 'DM Sans',sans-serif!important;padding:9px 10px!important;border-radius:10px!important;background:transparent!important}
.camp-actions>a>span{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:50%!important;background:#eef4f0!important;color:var(--camp-green)!important;font-size:.95rem!important}
.camp-actions>a:hover{background:#f4f7f5!important}
.camp-actions>a:hover>span{background:#ffe1bf!important;color:#a94700!important}
.camp-actions b{font-weight:800}
.camp-search .search-inner{min-height:58px}
.camp-search button{min-width:126px;padding:0 22px!important}

@media(max-width:1180px){
  .site-header .camp-mainbar-inner{grid-template-columns:auto minmax(320px,1fr)!important;gap:22px!important}
  .camp-actions{display:none!important}
  .camp-desktop-search{max-width:none}
  .camp-navrow>a:nth-of-type(n+6){display:none!important}
}

/* Móvil/tablet: exactamente la lógica de Herramienta Maestra.
   Logo > barra de departamentos > buscador. El mega menú es el menú móvil. */
@media(max-width:900px){
  .site-header .camp-mainbar-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:min(100% - 28px,900px)!important;
    min-height:72px!important;
    padding:11px 0!important;
  }
  .camp-logo-mark{width:43px;height:43px;border-radius:12px;font-size:1.24rem}
  .camp-logo-copy strong{font-size:1.72rem}
  .camp-logo-copy small{font-size:.61rem;letter-spacing:.105em}
  .camp-desktop-search{display:none!important}
  .camp-actions{display:none!important}
  .camp-mobile-toggle{display:none!important}

  .camp-navshell{display:block!important;background:var(--camp-green)!important}
  .site-header .camp-navrow{
    display:flex!important;
    width:min(100% - 28px,900px)!important;
    min-height:54px!important;
    padding:0!important;
  }
  .camp-navrow>a{display:none!important}
  .camp-dept-toggle{
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    justify-content:flex-start!important;
    padding:0 18px!important;
    font-size:1.03rem!important;
  }
  .camp-dept-toggle>b{margin-left:auto!important}

  .camp-mobile-search{display:block!important;padding-top:10px!important;padding-bottom:12px!important;width:min(100% - 28px,900px)!important}
  .camp-mobile-search .camp-search{width:100%}
  .camp-mobile-search .search-inner{min-height:50px!important;border-radius:12px!important;border-width:1px!important}
  .camp-mobile-search .search-inner>svg{margin-left:14px!important}
  .camp-mobile-search input{font-size:16px!important;padding:12px 11px!important}
  .camp-mobile-search button{min-width:92px!important;padding:0 15px!important;font-size:.92rem!important}

  .camp-mega{
    position:absolute!important;
    left:0!important;right:0!important;top:100%!important;
    max-height:72vh!important;
    background:#fff!important;
    color:var(--camp-ink)!important;
    box-shadow:0 24px 55px rgba(15,49,31,.22)!important;
    overflow:auto!important;
  }
  .camp-mega-layout{grid-template-columns:1fr!important;padding:20px 22px 26px!important}
  .camp-mega-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 28px!important}
  .camp-mega-side{display:none!important}
  .camp-mega-title{font-size:1.32rem!important;color:var(--camp-green)!important}
  .camp-mega-col>a:not(.camp-mega-title){font-size:1rem!important;color:#2d4035!important;padding:8px 0!important}

  /* El antiguo menú móvil queda fuera: ya usamos el mismo mega menú en todos los tamaños. */
  .mobile-nav{display:none!important}
  .mobile-nav.active{display:none!important}
  body.mobile-nav-open{overflow:auto!important}
}

@media(max-width:640px){
  .offer-bar{font-size:.78rem!important;line-height:1.35!important;padding:7px 12px!important}
  .site-header .camp-mainbar-inner{width:calc(100% - 24px)!important;min-height:70px!important;padding:10px 0!important}
  .camp-logo{gap:10px!important;min-width:0!important}
  .camp-logo-mark{width:40px;height:40px;font-size:1.12rem}
  .camp-logo-copy strong{font-size:1.52rem!important;letter-spacing:.025em!important}
  .camp-logo-copy small{font-size:.57rem!important;letter-spacing:.09em!important}
  .site-header .camp-navrow,.camp-mobile-search{width:calc(100% - 24px)!important}
  .camp-dept-toggle{min-height:52px!important;font-size:.98rem!important;padding:0 14px!important}
  .camp-mobile-search{padding-top:9px!important;padding-bottom:10px!important}
  .camp-mobile-search button{min-width:84px!important;font-size:.88rem!important;padding:0 12px!important}
  .camp-mega-layout{padding:18px 18px 24px!important}
  .camp-mega-groups{grid-template-columns:1fr!important;gap:20px!important}
  .camp-mega-title{font-size:1.26rem!important;margin-bottom:4px!important}
  .camp-mega-col>a:not(.camp-mega-title){font-size:1.02rem!important;padding:9px 0!important}
}

/* =========================================================
   V5 — evita el buscador móvil duplicado en escritorio
   ========================================================= */
.site-header .camp-mobile-search{
  display:none!important;
}
@media (max-width:900px){
  .site-header .camp-mobile-search{
    display:block!important;
  }
}
