@import url("catalog.css");
@import url("information.css");
@import url("blog.css");
@import url("footer.css");
@import url("header.css");
@import url("header-fixes.css");
@import url("icon-fixes.css");
@import url("catalog-compact.css");
@import url("product-card-simple.css");
@import url("seo-compact.css");
@import url("product-detail.css");
@import url("product-configurator.css");
@import url("product-configurator-fixes.css");
@import url("product-personalization.css");
@import url("product-gallery.css");
@import url("product-gallery-fixes.css");
@import url("product-gallery-lens.css");
@import url("product-gallery-layout.css");
@import url("product-gallery-contain.css");
@import url("product-quantity.css");
@import url("printing-picker.css");
@import url("product-spacing.css");
@import url("product-card-alignment.css");
@import url("product-card-font.css");
@import url("product-card-spacing.css");
@import url("product-card-compact.css");
@import url("product-card-overflow.css");
@import url("related-cards.css");
@import url("product-title.css");
@import url("catalog-card-layout.css?v=20260803-1");
@import url("product-card-balance.css");
@import url("product-title-compact.css");
@import url("category-directory.css");
@import url("selection.css?v=20260803-3");
@import url("cart-modal.css");
@import url("cart-notice.css");
@import url("cart-modal-compact.css");
@import url("home-sections.css?v=20260803-3");
/* El banner deja visible el inicio del contenido siguiente en pantallas de escritorio. */
.home-slider{height:clamp(320px,26vw,500px)}
@media(max-width:760px){
  .home-page .home-slider{height:220px!important;min-height:0!important;max-height:220px!important}
  .home-slide picture img{object-position:center}
  .home-slider .slide-content{align-items:center;justify-content:center;padding:16px 18px;background:linear-gradient(90deg,#000a 0,transparent 82%)}
  .home-slider .align-izquierda .slide-content{justify-content:flex-start;text-align:left;background:linear-gradient(90deg,#000a 0,transparent 82%)}
  .home-slider .align-centro .slide-content{justify-content:center;text-align:center;background:#0005}
  .home-slider .align-derecha .slide-content{justify-content:flex-end;text-align:right;background:linear-gradient(270deg,#000a 0,transparent 82%)}
  .home-slider .slide-content h1{margin:0 0 8px;font-size:26px;line-height:1.05;text-shadow:0 2px 8px #0009}
  .home-slider .slide-content p{font-size:14px;line-height:1.25;text-shadow:0 1px 6px #000b}
  .home-slider .slide-content .button{margin-top:10px;padding:10px 15px;font-size:13px}
  .home-slider .slider-dots{bottom:8px}
}
@media(max-width:650px){
  .season-announcement__copy{flex:1;overflow:hidden}
  .season-announcement__copy strong{display:block!important;overflow:visible!important;color:inherit;font-size:15px!important;line-height:1.15;white-space:nowrap;text-overflow:clip!important}
  .season-announcement__copy span{max-width:100%!important;font-size:11px!important}
}
@media(max-width:430px){.season-announcement__copy span{display:none!important}}
.category-hero{position:relative;overflow:hidden;width:100%;height:clamp(220px,22vw,360px);margin-bottom:18px;border-radius:18px;background:#eef1f6}.category-hero picture,.category-hero img{display:block;width:100%;height:100%}.category-hero img{object-fit:cover}.category-offer{position:absolute;inset:0 0 0 auto;width:min(42%,620px);padding:34px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--season-primary) 94%,#111) 18%)}.category-offer small{font-size:clamp(14px,1.3vw,20px);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.category-offer strong{margin:12px 0;font-size:clamp(21px,2.2vw,38px);line-height:1.1}.category-offer span{padding:8px 14px;border-radius:999px;background:#ffffff24;font-weight:800}@media(max-width:650px){.category-hero{height:310px;border-radius:14px}.category-offer{inset:auto 0 0;width:auto;padding:20px;background:linear-gradient(0deg,#111d 65%,transparent)}.category-offer strong{margin:6px 0;font-size:20px}}
.category-hero{position:relative;overflow:hidden;width:100%;height:clamp(220px,22vw,360px);margin-bottom:18px;border-radius:18px;background:#eef1f6}.category-hero picture,.category-hero img{display:block;width:100%;height:100%}.category-hero img{object-fit:cover}.category-offer{position:absolute;inset:0 0 0 auto;width:min(42%,620px);padding:34px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--season-primary) 94%,#111) 18%)}.category-offer small{font-size:clamp(14px,1.3vw,20px);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.category-offer strong{margin:12px 0;font-size:clamp(21px,2.2vw,38px);line-height:1.1}.category-offer span{padding:8px 14px;border-radius:999px;background:#ffffff24;font-weight:800}@media(max-width:650px){.category-hero{height:310px;border-radius:14px}.category-offer{inset:auto 0 0;width:auto;padding:20px;background:linear-gradient(0deg,#111d 65%,transparent)}.category-offer strong{margin:6px 0;font-size:20px}}

@media(max-width:560px){
  .category-catalog-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .category-catalog-page .product-card .product-image{height:auto!important;aspect-ratio:1/1;padding:10px}
  .category-catalog-page .product-card .product-body{padding:11px 10px 12px}
  .category-catalog-page .product-card .product-meta code,.category-catalog-page .product-card h2{font-size:13px}
  .category-catalog-page .product-card h2{min-height:32px;margin:3px 0 5px;line-height:1.2}
  .category-catalog-page .product-card .product-footer{margin-top:5px!important;padding-top:7px;gap:5px}
  .category-catalog-page .product-card .product-footer small{font-size:11px}
  .category-catalog-page .product-card .product-footer strong{font-size:16px}
  .category-catalog-page .product-card .product-footer>a{font-size:0;white-space:nowrap}
  .category-catalog-page .product-card .product-footer>a::after{content:"Ver →";font-size:11px}
  .category-catalog-page .offer-badge{top:8px;left:8px;padding:4px 7px;font-size:10px}
}

@media(max-width:650px){
  .product-info .range-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .product-info .range-grid>div{min-width:0;padding:7px 6px}
  .product-info .range-grid span{font-size:10px;line-height:1.15}
  .product-info .range-grid strong{margin-top:4px;font-size:15px}
  .product-info .range-grid del{font-size:9px}
}

/* Apariencia uniforme para las listas desplegables del sitio público. */
main select:not([multiple]),.quote-modal select:not([multiple]){
  min-height:44px;
  padding:0 44px 0 14px!important;
  border:1px solid #cbd3df!important;
  border-radius:10px!important;
  appearance:none;
  -webkit-appearance:none;
  color:var(--navy);
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2317233c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 13px center!important;
  background-size:17px!important;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
main select:not([multiple]):hover,.quote-modal select:not([multiple]):hover{border-color:#98a4b5!important}
main select:not([multiple]):focus,.quote-modal select:not([multiple]):focus{outline:0;border-color:var(--season-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--season-primary) 18%,transparent)}
main select:not([multiple]):disabled,.quote-modal select:not([multiple]):disabled{color:#8a94a5;background-color:#eef1f5!important;cursor:not-allowed;opacity:.75}
main select option,.quote-modal select option{padding:10px 14px;background:#fff;color:var(--navy);font-weight:600}
main select option:checked,.quote-modal select option:checked{background:var(--season-primary);color:#fff}

@media(max-width:700px){
  .product-info input,.product-info select,.selection-page input,.selection-page select,.selection-page textarea,.quote-modal input,.quote-modal select,.quote-modal textarea{font-size:16px!important}
}

.home-products-carousel .home-product-info h3{height:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.product-card h2,.related-body h3,.product-info .product-title-line h1,.selection-item-info strong{text-transform:uppercase}

@media(max-width:760px){
  .home-products-carousel .home-product-info h3{font-size:12px}
  .home-featured-section>header h2{font-size:20px}
  .selection-card-title{padding:16px 14px;gap:8px}
  .selection-card-title h2{font-size:1.05rem;white-space:nowrap}
  .selection-card-title a{font-size:.8rem;text-align:right}
  .selection-item{grid-template-columns:66px minmax(0,1fr) 42px;gap:11px;padding:15px}
  .selection-item img{width:66px;height:66px}
  .selection-item .selection-quantity{grid-column:2/4;grid-row:2;min-width:0}
  .selection-item .selection-line-total{grid-column:2/4;grid-row:3;min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid #e7ebf1;text-align:right;font-size:1rem;white-space:nowrap}
  .selection-item .selection-line-total:before{content:"Total del producto";min-width:0;color:#69748a;font-size:.76rem;font-weight:600;white-space:normal;text-align:left}
  .selection-item .selection-remove{grid-column:3;grid-row:1}
}

/* Búsqueda predictiva del encabezado */
.header-search{position:relative}
.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:90;overflow:hidden;border:1px solid #e0e5ec;border-radius:14px;background:#fff;box-shadow:0 16px 38px #17233c2b}
.search-suggestions[hidden]{display:none!important}
.search-suggestion{min-height:72px;padding:9px 12px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;border-bottom:1px solid #edf0f4;color:#17233c;text-decoration:none}
.search-suggestion:last-child{border-bottom:0}
.search-suggestion:hover,.search-suggestion:focus{background:#f5f7fa;outline:0}
.search-suggestion img{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#fff}
.search-suggestion__copy{min-width:0}
.search-suggestion__copy strong,.search-suggestion__copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-suggestion__copy strong{font-size:13px}.search-suggestion__copy small{margin-top:3px;color:#68758a;font-size:11px}
.search-suggestion__price{color:var(--season-primary);font-size:13px;font-weight:900;white-space:nowrap}
.search-suggestions__message{padding:16px;color:#68758a;text-align:center;font-size:13px}
@media(max-width:650px){.search-suggestions{position:fixed;top:auto;left:12px;right:12px;margin-top:50px}.search-suggestion{grid-template-columns:45px minmax(0,1fr) auto;min-height:62px}.search-suggestion img{width:45px;height:45px}.search-suggestion__price{font-size:12px}}

/* Encabezados informativos compactos: mantienen el H1 y la descripción para SEO. */
.information-page{margin-top:20px}
.information-hero{padding:22px 30px;border-radius:16px;background:#fff;box-shadow:0 7px 20px #17233c0b}
.information-hero span{font-size:12px;letter-spacing:.12em}
.information-hero h1{margin:5px 0 7px;font-size:clamp(28px,3vw,42px);line-height:1.08}
.information-hero p{max-width:1050px;font-size:15px;line-height:1.4}
@media(max-width:760px){.information-page{margin-top:12px}.information-hero{padding:17px 18px;border-radius:13px}.information-hero span{font-size:10px}.information-hero h1{margin:4px 0 5px;font-size:25px}.information-hero p{font-size:13px;line-height:1.35}}

@media(max-width:560px){
  .category-catalog-page .product-card h2{min-height:0;font-size:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .category-catalog-page .product-card h2 a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Encabezado compacto para celulares. Esta regla queda al final para
   unificar los ajustes históricos del header sin modificar escritorio. */
@media(max-width:760px){
  .public-header .header-container{width:calc(100% - 20px)}
  .public-header .header-top .header-container{height:36px}
  .public-header .social-list{display:none}
  .public-header .top-contact{width:100%;gap:12px;justify-content:space-between}
  .public-header .top-contact a{min-width:0;gap:5px;font-size:11px;line-height:1;white-space:nowrap}
  .public-header .top-contact a:first-child{overflow:hidden;text-overflow:ellipsis}
  .public-header .top-contact svg{width:16px;height:16px;flex:0 0 16px}
  .public-header .top-contact b{display:none}

  .public-header .main-row{
    min-height:0;
    padding:8px 0 9px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px 56px;
    gap:7px;
    align-items:center;
  }
  .public-header .brand{grid-column:1/3;grid-row:1;min-width:0}
  .public-header .brand img{display:block;width:170px;max-width:100%;height:38px;object-fit:contain;object-position:left center}
  .public-header .mobile-menu-button{grid-column:3;grid-row:1;justify-self:end;width:42px;height:42px;margin:0;padding:0;display:grid;place-items:center;font-size:22px;border-radius:0;background:transparent;color:var(--season-primary)}
  .public-header .selection-button{
    grid-column:3;
    grid-row:2;
    width:56px!important;
    min-width:56px!important;
    height:42px;
    margin:0;
    padding:0 9px!important;
    gap:5px!important;
    border-radius:21px;
    font-size:12px;
  }
  .public-header .selection-button strong{display:none!important}
  .public-header .selection-button b{display:grid!important;width:20px;min-width:20px;height:20px}
  .public-header .selection-button svg{width:17px;height:17px}
  .public-header .header-search{
    grid-column:1/3;
    grid-row:2;
    order:initial;
    width:100%;
    max-width:none;
    min-width:0;
    height:42px;
    margin:0;
  }
  .public-header .header-search input{padding:0 16px;font-size:16px;border-radius:21px 0 0 21px}
  .public-header .header-search button{width:50px;flex:0 0 50px;border-radius:0 21px 21px 0;font-size:21px}
  .public-header .main-nav{grid-column:1/-1;grid-row:3;order:initial;margin:0;padding:4px 0}
}

@media(max-width:390px){
  .public-header .main-row{grid-template-columns:minmax(0,1fr) 40px 54px;gap:5px}
  .public-header .brand img{width:150px;height:34px}
  .public-header .mobile-menu-button{width:40px;height:40px}
  .public-header .selection-button{width:54px!important;min-width:54px!important;height:40px;padding-inline:6px!important}
  .public-header .top-contact a{font-size:10px}
}

@media(max-width:760px){
  .public-header .main-nav.is-open{display:flex;gap:3px;margin-top:2px;padding:9px;border:1px solid #e3e7ee;border-radius:14px;background:#fff;box-shadow:0 12px 28px #17233c20}
  .public-header .main-nav>a,.public-header .category-menu>button{min-height:42px;padding:9px 12px;border-radius:9px;font-size:14px}
  .public-header .category-menu>button{justify-content:space-between}
  .public-header .mega-menu{max-height:245px;padding:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 7px;border-radius:10px;background:#f4f6f9}
  .public-header .mega-menu a{min-width:0;padding:9px 8px;border-radius:7px;font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .public-header .mega-menu a:active{background:#fff;color:var(--season-primary)}
}
