:root { --store-ink:#0d2f4f; --store-green:#178b57; --store-blue:#1f68ad; --store-soft:#eef5fa; }
.store-shell { width:min(1180px, calc(100% - 2rem)); margin-inline:auto; }
.store-hero { padding:clamp(3.5rem,8vw,7rem) 0; background:linear-gradient(135deg,#eaf3fa,#f3fbf6); text-align:center; }
.store-hero h1,.store-detail h1,.store-home-section h2 { margin:.5rem 0; color:var(--store-ink); font-weight:900; letter-spacing:-.035em; }
.store-hero h1 { font-size:clamp(2.2rem,5vw,4.2rem); }
.store-hero p:not(.store-eyebrow) { max-width:46rem; margin:1rem auto 0; color:#536b83; line-height:1.7; }
.store-eyebrow { color:#08734a; font-size:.72rem; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.store-section,.store-home-section,.store-detail { padding:clamp(3rem,7vw,6rem) 0; background:#f5f8fb; }
.store-home-section { background:#e8eff7; }
.store-home-section__heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.store-home-section__heading h2 { font-size:clamp(2rem,4vw,3.4rem); }
.store-home-section__heading p:not(.store-eyebrow) { color:#536b83; }
.store-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.store-editorial-hero { padding:clamp(4rem,8vw,7rem) 0; background-color:#eef9f4; background-image:linear-gradient(rgba(16,91,65,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(16,91,65,.055) 1px,transparent 1px),radial-gradient(circle at 84% 12%,rgba(71,190,225,.24),transparent 30%); background-size:40px 40px,40px 40px,auto; }
.store-editorial-hero__layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(22rem,.85fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.store-editorial-hero h1 { max-width:13ch; margin:.8rem 0 1.2rem; color:var(--store-ink); font-size:clamp(2.5rem,5vw,4.5rem); font-weight:900; line-height:1.02; letter-spacing:-.045em; }
.store-editorial-hero p:not(.store-eyebrow) { max-width:42rem; color:#536b83; font-size:1.05rem; line-height:1.75; }
.store-editorial-hero img { width:100%; aspect-ratio:4/3; border:8px solid #fff; border-radius:2rem; object-fit:cover; box-shadow:0 25px 60px rgba(13,47,79,.2); }
.store-catalog-heading { max-width:48rem; margin:0 auto 2.5rem; text-align:center; }
.store-catalog-heading h2 { margin:.6rem 0; color:var(--store-ink); font-size:clamp(2rem,4vw,3.25rem); font-weight:900; line-height:1.08; letter-spacing:-.035em; }
.store-catalog-heading p:not(.store-eyebrow) { color:#536b83; }
.store-pagination { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:2.5rem; color:#536b83; font-weight:800; }
.store-pagination a { border-radius:.75rem; background:var(--store-blue); padding:.7rem 1rem; color:#fff; text-decoration:none; }
.store-quick-view { position:fixed; inset:0; box-sizing:border-box; width:min(62rem,calc(100% - 1.5rem)); max-height:min(90dvh,54rem); margin:auto; overflow:auto; border:1px solid #dbe5ef; border-radius:1.5rem; padding:clamp(1.2rem,4vw,2.2rem); color:#233b53; box-shadow:0 30px 90px rgba(4,25,45,.35); }
.store-quick-view::backdrop { background:rgba(4,24,43,.72); backdrop-filter:blur(4px); }
.store-quick-view__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.9fr); gap:2rem; align-items:center; }
.store-quick-view__layout>* { min-width:0; }
.store-quick-view__media { display:grid; min-height:20rem; place-items:center; border-radius:1rem; background:#edf3f7; }
.store-quick-view__media img { width:100%; max-height:31rem; border-radius:1rem; object-fit:contain; }
.store-quick-view h2 { margin:.5rem 0 1rem; color:var(--store-ink); font-size:clamp(1.7rem,4vw,2.6rem); font-weight:900; line-height:1.08; }
.store-quick-view__description { margin-top:1rem; color:#536b83; line-height:1.65; }
.store-quick-view__close { position:absolute; top:.8rem; right:.8rem; display:grid; width:2.5rem; height:2.5rem; place-items:center; border:0; border-radius:50%; background:#eef3f7; color:#173653; font-size:1.5rem; cursor:pointer; }
.store-stepper,.commerce-stepper { display:grid!important; grid-template-columns:2.7rem minmax(3rem,5rem) 2.7rem; gap:0!important; }
.store-stepper button,.commerce-stepper button { border:1px solid #b8c8d6; background:#eef3f7; color:var(--store-ink); font-size:1.2rem; font-weight:900; cursor:pointer; }
.store-stepper button:disabled,.commerce-stepper button:disabled { opacity:.42; cursor:not-allowed; }
.store-stepper input,.commerce-stepper input { width:100%; border-radius:0!important; text-align:center; }
.store-product-card { position:relative; overflow:hidden; border:1px solid #d9e4ed; border-radius:1.4rem; background:#fff; box-shadow:0 18px 45px rgba(13,47,79,.08); transition:transform .2s ease,box-shadow .2s ease; }
.store-product-card.is-featured { border:2px solid #24a561; box-shadow:0 22px 55px rgba(23,139,87,.15); }
.store-product-card--blue { border-top:4px solid #1f68ad; }
.store-product-card--green { border-top:4px solid #24a561; }
.store-product-card--gold { border-top:4px solid #e1ad2b; }
.store-product-card__badges { position:absolute; z-index:2; display:flex; flex-wrap:wrap; gap:.3rem; padding:.75rem; }
.store-product-card__badges span { border-radius:999px; background:#0d2f4f; padding:.3rem .65rem; color:#fff; font-size:.65rem; font-weight:900; box-shadow:0 .3rem .8rem rgba(13,47,79,.2); }
.store-product-card:hover { transform:translateY(-4px); box-shadow:0 24px 55px rgba(13,47,79,.13); }
.store-product-card__media { position:relative; display:grid; aspect-ratio:4/3; place-items:center; overflow:hidden; background:#e9f0f5; color:#91a4b5; font-size:2rem; font-weight:900; letter-spacing:.2em; }
.store-product-card__media>a { display:block; width:100%; height:100%; }
.store-product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease,opacity .2s ease; }
.store-product-card__media img[hidden] { display:none; }
.store-product-card__carousel-controls { position:absolute; right:.65rem; bottom:.65rem; z-index:3; display:flex; gap:.3rem; }
.store-product-card__carousel-controls button { display:grid; width:2rem; height:2rem; place-items:center; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(13,47,79,.85); color:#fff; font-size:1.2rem; cursor:pointer; }
.store-product-card:hover .store-product-card__media img { transform:scale(1.035); }
.store-product-card__body { display:flex; min-height:18rem; flex-direction:column; align-items:flex-start; padding:1.25rem; }
.store-product-card h3 { margin:.8rem 0 .5rem; color:var(--store-ink); font-size:1.15rem; font-weight:900; line-height:1.25; }
.store-product-card h3 a { color:inherit; text-decoration:none; }
.store-product-card p { margin:0 0 1rem; color:#5d7185; font-size:.86rem; line-height:1.55; }
.store-price { margin-top:auto; color:var(--store-ink); font-size:1.2rem; }
.store-status { display:inline-flex; border-radius:999px; padding:.3rem .7rem; font-size:.7rem; font-weight:900; }
.store-status--available,.store-status--untracked { background:#dcf6e7; color:#12643f; }
.store-status--low { background:#fff0cf; color:#805500; }
.store-status--out { background:#fae1e3; color:#922d38; }
.store-product-card__actions { display:flex; flex-wrap:wrap; gap:.6rem; width:100%; margin-top:1rem; }
.store-button { display:inline-flex; min-height:2.75rem; align-items:center; justify-content:center; gap:.5rem; border:1px solid transparent; border-radius:.8rem; background:var(--store-green); padding:.7rem 1rem; color:#fff; font-size:.82rem; font-weight:900; text-decoration:none; cursor:pointer; box-shadow:0 .55rem 1.1rem rgba(23,139,87,.16); transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease; }
.store-button:hover { transform:translateY(-1px); box-shadow:0 .75rem 1.35rem rgba(13,47,79,.18); }
.store-button svg { width:1.05rem; height:1.05rem; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.store-button--secondary { background:var(--store-blue); }
.store-button--whatsapp { background:#1fa855; }
.store-button--whatsapp:hover { background:#168b45; }
.store-detail__form[hidden],[data-quick-view-request][hidden] { display:none!important; }
.store-product-card__actions form,.store-product-card__actions .store-button { flex:1; }
.store-product-card__actions form .store-button { width:100%; }
.store-empty { border:1px solid #d9e4ed; border-radius:1.4rem; background:#fff; padding:3rem; text-align:center; }
.store-detail { min-height:65vh; background:#f5f8fb; }
.store-breadcrumb { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.5rem; color:#64778a; font-size:.82rem; }
.store-breadcrumb a { color:var(--store-blue); font-weight:800; }
.store-detail__layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.store-gallery__main,.store-gallery__placeholder { display:grid; width:100%; aspect-ratio:4/3; place-items:center; border-radius:1.5rem; background:#e6edf3; object-fit:cover; color:#91a4b5; font-size:3rem; font-weight:900; letter-spacing:.2em; }
.store-gallery__thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:.65rem; margin-top:.8rem; }
.store-gallery__thumbs button { overflow:hidden; border:2px solid transparent; border-radius:.7rem; background:transparent; padding:0; cursor:pointer; }
.store-gallery__thumbs button[aria-pressed="true"],.store-gallery__thumbs button:hover { border-color:var(--store-blue); }
.store-gallery__thumbs img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.store-detail__info { position:sticky; top:7rem; border:1px solid #d9e4ed; border-radius:1.5rem; background:#fff; padding:clamp(1.5rem,4vw,2.5rem); box-shadow:0 18px 45px rgba(13,47,79,.08); }
.store-detail__info h1 { font-size:clamp(2rem,4vw,3.2rem); line-height:1.05; }
.store-detail__price { display:block; margin:1.25rem 0; color:var(--store-ink); font-size:1.6rem; }
.store-detail__description { color:#536b83; line-height:1.7; }
.store-detail__form { display:grid; gap:.6rem; margin-top:1.5rem; border-top:1px solid #e5edf3; padding-top:1.5rem; }
.store-detail__form label { color:var(--store-ink); font-size:.78rem; font-weight:900; }
.store-detail__form>div { display:flex; gap:.7rem; }
.store-detail__form input { width:5.5rem; border:1px solid #b8c8d6; border-radius:.8rem; padding:.7rem; color:var(--store-ink); font-weight:900; }
.store-detail__form small { color:#805500; font-weight:700; }
.store-quantity-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.store-quantity-heading small { color:#587088; font-size:.72rem; }
.store-unavailable { margin-top:1.5rem; border-radius:.9rem; background:#fae1e3; padding:1rem; color:#832933; font-weight:800; }
@media (max-width:64rem) { .store-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .store-editorial-hero__layout,.store-detail__layout { grid-template-columns:1fr; } .store-editorial-hero h1 { max-width:18ch; } .store-detail__info { position:static; } }
@media (max-width:40rem) { .store-shell { width:min(100% - 1.25rem,1180px); } .store-grid,.store-quick-view__layout { grid-template-columns:1fr; } .store-quick-view { max-height:calc(100dvh - 1rem); padding:1rem; border-radius:1.1rem; } .store-quick-view__media { min-height:0; } .store-quick-view__media img { width:auto; max-width:100%; max-height:32dvh; } .store-home-section__heading { align-items:start; flex-direction:column; } .store-detail__form>div:not(.store-stepper):not(.store-quantity-heading) { align-items:stretch; flex-direction:column; } .store-detail__form input { width:100%; } .store-gallery__thumbs { grid-template-columns:repeat(3,1fr); } }
