/* GS Solution 3.0 — Portada, búsqueda y acentos de marca. */
:root {
    --blue: #1461cf;
    --blue-deep: #104da5;
}
[hidden] { display: none !important; }

/* Búsqueda instantánea. */
.gs-header-shell { position: relative; z-index: 30; }
.gs-search { position: relative; }
.gs-search-panel {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    z-index: 40;
    background: #fff;
    border: 1px solid #dce5ea;
    border-top: 3px solid var(--cyan);
    border-radius: 12px;
    box-shadow: 0 18px 55px #12233b26;
    overflow: hidden;
    text-align: left;
}
.gs-search-status { font-size: 13px; padding: 13px 16px; margin: 0; color: var(--muted); background: #f7fafb; }
#gs-search-results { max-height: min(440px, 52dvh); overflow-y: auto; overscroll-behavior: contain; }
.gs-search-item { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #edf0f3; }
.gs-search-item:hover, .gs-search-item[aria-selected="true"] { background: #edfafa; color: var(--ink); }
.gs-search-item img { width: 60px; height: 60px; object-fit: contain; flex-shrink: 0; background: #fff; border-radius: 6px; }
.gs-search-item > span:not(.price) { flex: 1; min-width: 0; }
.gs-search-item strong { font-size: 13px; font-weight: 600; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gs-search-item small { display: block; font-size: 12px; color: #376858; margin-top: 4px; }
.gs-search-item .price { font-size: 14px; font-weight: 700; display: flex; flex-direction: column; white-space: nowrap; }
.gs-search-all { padding: 14px 16px; display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; color: var(--blue-deep); background: #f5f8ff; }

/* Ofertas rojas y liquidación azul. */
.gs-topnav { gap: 22px; }
.gs-promo-pill, .gs-topnav > .gs-promo-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 13px;
    margin-block: 7px;
    border-radius: 7px;
    color: #fff;
    font-weight: 700;
    overflow: hidden;
    isolation: isolate;
    transition: transform .2s, box-shadow .2s;
}
.gs-promo-red { background: linear-gradient(110deg, #c91839, #ee2347); box-shadow: 0 3px 12px #ee234725; }
.gs-promo-blue { background: linear-gradient(110deg, #104da5, #1674da); box-shadow: 0 3px 12px #1461cf25; }
.gs-promo-pill:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 6px 18px #152d4d30; }
.gs-promo-pill::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 20%, #ffffff40 50%, transparent 80%); transform: translateX(-150%); animation: gs-sheen 6s ease-in-out infinite; pointer-events: none; }
.gs-promo-blue::after { animation-delay: 2s; }
.gs-promo-pill > span { font-size: 18px; line-height: 1; }
.gs-promo-pill > svg { width: 14px; height: 14px; fill: currentColor; }
@keyframes gs-sheen { 0%, 65% { transform: translateX(-150%); } 90%, 100% { transform: translateX(150%); } }

/* Carrusel horizontal: fondos de marca y medios del tema, sin imágenes externas. */
.gs-showcase { position: relative; overflow: hidden; background: #111820; }
.gs-slides { display: flex; transition: transform .7s cubic-bezier(.22,.7,.2,1); }
.gs-slide { position: relative; flex: 0 0 100%; min-width: 0; overflow: hidden; background: #111820; color: #fff; }
.gs-slide-media { position: absolute; inset: 0; }
.gs-slide-media img, .gs-slide-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gs-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #111820 0%, #111820 24%, #111820e8 40%, #11182043 70%, #11182008 100%); pointer-events: none; }
.gs-slide-inner { position: relative; z-index: 1; display: flex; align-items: center; min-height: 530px; padding-block: 58px 78px; }
.gs-slide-copy { width: 49%; max-width: 570px; }
.gs-slide-copy > .gs-eyebrow { display: flex; align-items: center; gap: 9px; color: #b8d6e2; font-size: 12px; letter-spacing: .2em; }
.gs-slide-copy > .gs-eyebrow span { width: 6px; height: 6px; background: var(--red); border-radius: 50%; box-shadow: 0 0 0 5px #ee23471a; }
.gs-slide-copy h2 { font-size: clamp(44px, 4.5vw, 68px); font-weight: 750; line-height: 1.02; letter-spacing: -.055em; margin: 0 0 22px; max-width: 560px; }
.gs-slide-description { max-width: 430px; color: #c6d6df; line-height: 1.75; font-size: 16px; margin-bottom: 28px; }
.gs-slide-actions { display: flex; align-items: center; gap: 23px; flex-wrap: wrap; }
.gs-slide-actions .gs-button { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 8px 25px #ee23472b; }
.gs-slide-actions .gs-button:hover { background: #c91839; border-color: #c91839; }
.gs-slide-secondary { font-size: 14px; font-weight: 600; color: inherit; }
.gs-slide-secondary:hover { color: inherit; text-decoration: underline; text-underline-offset: 5px; }
.gs-slide-signature { display: flex; align-items: center; gap: 12px; font-size: 10px; font-weight: 600; letter-spacing: .22em; margin-top: 32px; opacity: .8; }
.gs-slide-ice { background: #edf0f1; color: #102c40; }
.gs-slide-ice::after { background: linear-gradient(90deg, #edf0f1 0%, #edf0f1 25%, #edf0f1ed 39%, #edf0f130 65%, transparent 80%); }
.gs-slide-ice .gs-eyebrow { color: #226578; }
.gs-slide-ice .gs-slide-description { color: #425c6b; }
.gs-slide-ice .gs-button { background: #106273; border-color: #106273; box-shadow: 0 8px 25px #10627320; }
.gs-slide-ice .gs-button:hover { background: #104c5a; }
.gs-slide-rose { background: #fff0f2; color: #381c28; }
.gs-slide-rose::after { background: linear-gradient(90deg, #fff0f2 0%, #fff0f2 25%, #fff0f2ed 39%, #fff0f230 65%, transparent 80%); }
.gs-slide-rose .gs-eyebrow { color: #9f3e56; }
.gs-slide-rose .gs-slide-description { color: #70515c; }
.gs-carousel-controls { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.gs-carousel-controls button { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid #ffffff50; border-radius: 50%; background: #ffffffe6; color: #20252c; box-shadow: 0 3px 15px #00000015; pointer-events: auto; transition: background .2s, box-shadow .2s; }
.gs-carousel-controls button:hover { background: #fff; box-shadow: 0 3px 20px #00000030; }
.gs-carousel-controls button:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
.gs-carousel-prev { left: 18px; }
.gs-carousel-next { right: 18px; }
.gs-carousel-controls button svg { width: 18px; height: 18px; }

/* Iconos con color, profundidad y movimiento suave. */
.gs-category-symbol { position: relative; isolation: isolate; background: linear-gradient(145deg, #edfbfc, #d9f2f5); color: #076678; border: 1px solid #bde6eb; box-shadow: 0 7px 18px #0d718b0c; overflow: hidden; }
.gs-category-symbol::before { content: ''; position: absolute; top: -17px; right: -14px; width: 55px; height: 55px; border-radius: 50%; background: #ffffffa8; z-index: -1; }
.gs-category-symbol::after { content: ''; position: absolute; bottom: 9px; right: 9px; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); }
.gs-category-symbol svg { filter: drop-shadow(0 3px 2px #10627315); animation: gs-icon-float 5s ease-in-out infinite; }
.gs-quick-categories > a:nth-child(3n) .gs-category-symbol svg { animation-delay: -1.5s; }
.gs-quick-categories > a:nth-child(2n) .gs-category-symbol svg { animation-delay: -3s; }
.gs-quick-categories a:hover .gs-category-symbol { transform: translateY(-5px); box-shadow: 0 12px 22px #0d718b1c; }
@keyframes gs-icon-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
.gs-discover { border-bottom: 0; }

/* Marcas originales a color, con una segunda copia para el bucle continuo. */
.gs-brand-heading { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 18px; }
.gs-brand-heading .gs-eyebrow { margin: 0; }
.gs-brands-window { overflow: hidden; padding-block: 12px; mask-image: linear-gradient(90deg, transparent, black 3%, black 97%, transparent); }
.gs-brand-section .gs-brands-track { display: flex; width: max-content; gap: 0; padding: 0; overflow: visible; animation: gs-brands-marquee 35s linear infinite; }
.gs-brands-group { display: flex; align-items: center; gap: 46px; padding-right: 46px; }
.gs-brand-section .gs-brands-track img { width: 100px; height: 54px; object-fit: contain; filter: none; opacity: 1; flex-shrink: 0; }
.gs-brand-section.is-paused .gs-brands-track, .gs-brand-section.is-offscreen .gs-brands-track, .gs-brand-section.is-page-hidden .gs-brands-track { animation-play-state: paused; }
@keyframes gs-brands-marquee { to { transform: translateX(-50%); } }

@media (max-width: 1150px) {
    .gs-topnav { gap: 16px; }
    .gs-promo-pill, .gs-topnav > .gs-promo-pill { padding-inline: 10px; }
    .gs-slide-copy { width: 52%; }
    .gs-slide-inner { min-height: 500px; }
}
@media (max-width: 900px) {
    .gs-slide-copy h2 { font-size: 46px; }
    .gs-slide-description { font-size: 16px; }
    .gs-slide-actions { gap: 16px; }
}
@media (max-width: 600px) {
    .gs-topnav { gap: 17px; min-height: 51px; }
    .gs-topnav > .gs-promo-pill { order: -1; padding: 7px 10px; font-size: 12px; margin-block: 6px; }
    .gs-search-item { gap: 8px; padding: 10px; }
    .gs-search-item img { width: 46px; height: 46px; }
    .gs-search-item strong { font-size: 13px; }
    .gs-search-item small { font-size: 11px; }
    .gs-search-item .price { font-size: 14px; }
    .gs-search-status { font-size: 12px; padding: 10px; }
    .gs-search-all { padding: 13px; font-size: 13px; }
    .gs-showcase { touch-action: pan-y; }
    .gs-slide-inner { min-height: 680px; align-items: flex-start; padding-block: 35px 310px; }
    .gs-slide-copy { width: 100%; max-width: 100%; }
    .gs-slide-copy h2 { font-size: 45px; line-height: 1.05; margin-bottom: 18px; max-width: 360px; }
    .gs-slide-copy > .gs-eyebrow { font-size: 11px; margin-bottom: 18px; letter-spacing: .13em; }
    .gs-slide-description { max-width: 380px; font-size: 15px; line-height: 1.7; margin-bottom: 22px; }
    .gs-slide-actions { gap: 16px; }
    .gs-slide-actions .gs-button { font-size: 13px; padding: 12px 15px; min-height: 44px; gap: 10px; }
    .gs-slide-secondary { font-size: 13px; }
    .gs-slide-signature { display: none; }
    .gs-slide-media { inset: auto 0 0; height: 58%; mask-image: linear-gradient(180deg, transparent 0%, #000 35%); }
    .gs-slide-media img, .gs-slide-media video { object-position: 68% center; }
    .gs-slide-graphite .gs-slide-media img { object-position: 75% center; }
    .gs-slide::after { background: linear-gradient(180deg, #111820 0%, #111820 40%, #111820f0 46%, #11182020 66%, #11182025 100%); }
    .gs-slide-ice::after { background: linear-gradient(180deg, #edf0f1 0%, #edf0f1 40%, #edf0f1f0 46%, #edf0f100 68%, #07162925 100%); }
    .gs-slide-rose::after { background: linear-gradient(180deg, #fff0f2 0%, #fff0f2 40%, #fff0f2f0 46%, #fff0f200 68%, #07162925 100%); }
    .gs-carousel-controls button { top: auto; bottom: 110px; transform: none; width: 36px; height: 36px; }
    .gs-carousel-prev { left: 12px; }
    .gs-carousel-next { right: 12px; }
    .gs-discover { padding-block: 32px 24px; }
    .gs-brand-heading { gap: 8px; }
    .gs-brand-heading .gs-eyebrow { font-size: 10px; letter-spacing: .12em; }
    .gs-brands-group { gap: 30px; padding-right: 30px; }
    .gs-brand-section .gs-brands-track img { width: 83px; height: 45px; }
}
@media (max-width: 360px) {
    .gs-slide-copy h2 { font-size: 39px; }
    .gs-slide-inner { min-height: 700px; }
    .gs-slide-actions { gap: 13px; }
    .gs-slide-actions .gs-button { font-size: 13px; padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .gs-slides, .gs-category-symbol { transition: none; }
    .gs-brands-window { overflow-x: auto; mask-image: none; }
    .gs-brands-group[aria-hidden] { display: none; }
}

/* Tonos neutros, luz cálida y acentos que acompañan al logotipo. */
.gs-slide-graphite { background: #252321; }
.gs-slide-graphite::after { background: linear-gradient(90deg, #252321fa 0%, #252321eb 24%, #252321ad 43%, #25232114 72%, transparent); }
.gs-slide-graphite .gs-eyebrow { color: #edcda8; }
.gs-slide-graphite .gs-slide-description { color: #e0d9d2; }
.gs-slide-graphite .gs-button { background: #fff; border-color: #fff; color: #242321; box-shadow: 0 8px 25px #0002; }
.gs-slide-graphite .gs-button:hover { background: #f0e8df; border-color: #f0e8df; }
.gs-slide-ice .gs-button { background: #253c4b; border-color: #253c4b; }
.gs-slide-inner { width: min(1320px, calc(100% - 152px)); }
.gs-topnav > .gs-promo-pill { box-shadow: none; border-radius: 5px; }
.gs-promo-pill::after { animation-duration: 11s; }
.gs-promo-red { background: #e51e40; }
.gs-promo-blue { background: #235ba8; }
.gs-quick-categories > a { --category-tone: #25292e; --category-bg: #f5f6f7; }
.gs-quick-categories > a .gs-category-symbol { color: var(--category-tone); background: var(--category-bg); border-color: transparent; box-shadow: 0 8px 24px #17202806; }
.gs-quick-categories > a .gs-category-symbol::after { background: currentColor; opacity: .5; }
.gs-quick-categories > a:hover { color: var(--category-tone); }
.gs-quick-categories > a:hover .gs-category-symbol { border-color: currentColor; }
.gs-catalog-toolbar { background: #f4f5f7; border: 0; padding: 14px 18px; border-radius: 9px; }
.gs-catalog-sidebar > h3 { background: #202832; color: #fff; }
.gs-sidebar-help { background: radial-gradient(ellipse at 100% 0%, #26424b, transparent 70%), #20242a; }
.gs-product-card:hover { border-color: #bfcad1; box-shadow: 0 12px 30px #20334412; }
.gs-whatsapp { background: #25d366; width: 54px; height: 54px; box-shadow: 0 5px 20px #163a2526; border: 3px solid #fff; transition: transform .2s, box-shadow .2s; }
.gs-whatsapp svg { width: 29px; height: 29px; }
.gs-whatsapp:hover { background: #1db95a; transform: translateY(-3px); box-shadow: 0 8px 25px #163a2538; }
@media (max-width: 900px) {
    .gs-slide-inner { width: calc(100% - 128px); }
}
@media (max-width: 600px) {
    .gs-slide-inner { width: calc(100% - 40px); }
    .gs-slide-graphite::after { background: linear-gradient(180deg, #252321 0%, #252321 37%, #252321d9 48%, transparent 73%); }
    .gs-whatsapp { width: 50px; height: 50px; right: 15px; bottom: 15px; }
}
