:root { --ink:#17211c; --muted:#69746d; --cream:#f6f4ee; --paper:#fff; --line:#e3e6df; --green:#174f3a; --lime:#d7f36b; --orange:#f36e3f; --shadow:0 18px 55px rgba(24,47,36,.10); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.shop-navigation-shell { position:sticky; top:0; z-index:20; }
.shop-header { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; min-height:96px; padding:10px max(24px,calc((100% - 1240px)/2)); background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.shop-brand { display:flex; flex:0 1 380px; align-items:center; min-width:0; }.shop-brand img { display:block; width:min(380px,35vw); height:74px; object-fit:contain; object-position:left center; }
.shop-header nav { display:flex; align-items:center; gap:20px; color:#4d5a52; font-size:15px; font-weight:700; }.shop-header nav a:hover { color:var(--green); }.cart-link { padding:10px 13px; color:white!important; background:var(--green); border-radius:99px; }.cart-link b { display:inline-grid; place-items:center; min-width:20px; height:20px; margin-left:5px; color:var(--green); background:var(--lime); border-radius:50%; font-size:10px; }
.shop-header-mobile-actions { display:none; align-items:center; gap:8px; }.shop-menu-toggle { display:none; align-items:center; gap:8px; min-height:42px; padding:0 13px; color:var(--green); background:#fff; border:1px solid var(--line); border-radius:99px; cursor:pointer; font-size:11px; font-weight:850; }.shop-menu-icon { display:grid; gap:3px; width:17px; }.shop-menu-icon i { display:block; width:100%; height:2px; background:currentColor; border-radius:2px; transition:transform .18s ease,opacity .18s ease; }.shop-menu-toggle.is-open .shop-menu-icon i:first-child { transform:translateY(5px) rotate(45deg); }.shop-menu-toggle.is-open .shop-menu-icon i:nth-child(2) { opacity:0; }.shop-menu-toggle.is-open .shop-menu-icon i:last-child { transform:translateY(-5px) rotate(-45deg); }.shop-cart-mobile { display:none; }
.shop-category-bar { position:relative; z-index:1; color:#fff; background:linear-gradient(90deg,#123e2e 0%,var(--green) 50%,#1d6147 100%); border-bottom:1px solid rgba(0,0,0,.16); box-shadow:0 7px 17px rgba(24,47,36,.12); }
.shop-category-bar-inner { position:relative; display:flex; width:100%; padding:0 max(24px,calc((100% - 1240px)/2)); }
.shop-category-item { position:static; flex:1 1 0; min-width:0; }.shop-category-item + .shop-category-item { border-left:1px solid rgba(255,255,255,.17); }.shop-category-trigger { display:flex; align-items:stretch; min-width:0; transition:background .18s ease,color .18s ease; }.shop-category-trigger > a { display:flex; align-items:center; justify-content:center; flex:1 1 auto; min-width:0; min-height:48px; padding:8px 10px 8px 42px; font-size:13px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.shop-category-trigger > button { display:grid; place-items:center; flex:0 0 42px; width:42px; padding:0; color:inherit; background:transparent; border:0; cursor:pointer; }.shop-category-trigger svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }.shop-category-item.is-open .shop-category-trigger { color:var(--green); background:var(--lime); }.shop-category-item.is-open .shop-category-trigger svg { transform:rotate(180deg); }.shop-category-trigger > a:focus-visible,.shop-category-trigger > button:focus-visible { position:relative; z-index:1; outline:3px solid #fff; outline-offset:-4px; }
@media (hover:hover) and (min-width:981px) { .shop-category-item:hover .shop-category-trigger { color:var(--green); background:var(--lime); } }
.shop-category-dropdown { position:absolute; top:100%; right:max(24px,calc((100% - 1240px)/2)); left:max(24px,calc((100% - 1240px)/2)); max-height:calc(100vh - 152px); padding:22px 26px 27px; overflow:auto; color:var(--ink); background:rgba(255,255,255,.99); border:1px solid var(--line); border-top:3px solid var(--lime); border-radius:0 0 18px 18px; box-shadow:0 24px 50px rgba(24,47,36,.2); }.shop-category-dropdown[hidden] { display:none; }
.shop-category-dropdown-head { display:flex; align-items:center; justify-content:space-between; gap:28px; padding-bottom:17px; border-bottom:1px solid #e5eae3; }.shop-category-dropdown-head div span,.shop-category-dropdown-head div strong { display:block; }.shop-category-dropdown-head div span { margin-bottom:3px; color:#668071; font-size:9px; font-weight:900; letter-spacing:.14em; }.shop-category-dropdown-head div strong { color:var(--green); font-size:21px; letter-spacing:-.03em; }.shop-category-dropdown-head > a { display:inline-flex; align-items:center; gap:8px; min-height:39px; padding:0 15px; color:#fff; background:var(--green); border-radius:99px; font-size:11px; font-weight:850; white-space:nowrap; }.shop-category-dropdown-head > a:hover,.shop-category-dropdown-head > a:focus-visible { color:var(--green); background:var(--lime); outline:0; }
.shop-category-dropdown ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px 14px; margin:18px 0 0; padding:0; list-style:none; }.shop-category-dropdown li a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:39px; padding:8px 10px; color:#4d5d54; border-radius:9px; font-size:12px; font-weight:750; line-height:1.3; }.shop-category-dropdown li a span { color:#92a199; transition:transform .18s ease; }.shop-category-dropdown li a:hover,.shop-category-dropdown li a:focus-visible { color:var(--green); background:#eef5eb; outline:0; }.shop-category-dropdown li a:hover span,.shop-category-dropdown li a:focus-visible span { transform:translateX(3px); }
.shop-flash { max-width:1192px; margin:16px auto 0; padding:13px 16px; background:#e5f6ed; border:1px solid #b9dfca; border-radius:12px; font-size:13px; }.shop-flash.error { color:#8b2f25; background:#fff0ed; border-color:#f0c3ba; }.shop-flash.warning { color:#725611; background:#fff8df; border-color:#eadb9e; }
.cart-restoration-notice { display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:16px 0; padding:16px 18px; color:#684d10; background:#fff8df; border:1px solid #eadb9e; border-radius:14px; }.cart-restoration-notice span { font-size:12px; line-height:1.6; }.cart-restoration-notice a { color:var(--green); font-size:12px; font-weight:850; }.cart-restoration-item-status { display:inline-block; margin-top:4px; padding:3px 7px; border-radius:999px; font-weight:800; }.cart-restoration-item-status.restored { color:#286047; background:#e5f6ed; }.cart-restoration-item-status.excluded { color:#7d3026; background:#fff0ed; }.order-cart-restored-label { display:block; margin-top:5px; color:#806018; font-weight:800; }
.shop-container { max-width:1240px; margin:0 auto; padding:42px 24px 80px; }
.store-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:1.2fr .8fr; min-height:410px; margin-bottom:55px; color:white; background:var(--green); border-radius:30px; }.store-hero-copy { padding:58px; }.store-hero .eyebrow,.shop-section .eyebrow { margin:0 0 12px; color:var(--lime); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }.store-hero h1 { max-width:700px; margin:0; font-size:clamp(40px,5vw,69px); line-height:.98; letter-spacing:-.055em; }.store-hero p { max-width:570px; margin:24px 0 0; color:#d8e6de; font-size:16px; line-height:1.7; }.store-hero-art { display:grid; place-items:center; min-height:320px; background:linear-gradient(145deg,#d7f36b,#b7df38); clip-path:polygon(22% 0,100% 0,100% 100%,0 100%); }.store-hero-art span { transform:rotate(-8deg); color:var(--green); font-size:clamp(80px,12vw,150px); font-weight:950; letter-spacing:-.09em; }
.hero-actions { display:flex; gap:12px; margin-top:30px; }.shop-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border:0; border-radius:99px; cursor:pointer; color:white; background:var(--green); font-size:12px; font-weight:850; }.shop-button.lime { color:var(--green); background:var(--lime); }.shop-button.light { color:var(--green); background:white; border:1px solid var(--line); }.shop-button.danger { background:#a33c2f; }.shop-button:disabled { opacity:.5; cursor:not-allowed; }
.shop-section { margin-top:46px; }.shop-section > header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }.shop-section .eyebrow { color:#56816d; }.shop-section h1,.shop-section h2 { margin:0; letter-spacing:-.035em; }.shop-section h2 { font-size:31px; }.shop-section header span { color:var(--muted); font-size:12px; }
.store-search { display:flex; gap:10px; width:min(520px,100%); }.store-search input { flex:1; min-width:0; height:45px; padding:0 16px; background:white; border:1px solid var(--line); border-radius:99px; outline:0; }.store-search input:focus { border-color:#8aaa9b; box-shadow:0 0 0 3px rgba(23,79,58,.08); }
.store-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.store-card { overflow:hidden; background:white; border:1px solid var(--line); border-radius:19px; transition:.2s; }.store-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }.store-card-image { display:grid; place-items:center; aspect-ratio:1.12; padding:24px; background:#f9faf7; }.store-card-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }.store-card-body { padding:17px; }.store-card code { color:#6a786f; font-family:inherit; font-size:9px; font-weight:850; letter-spacing:.08em; }.store-card h3 { min-height:42px; margin:7px 0 14px; font-size:13px; line-height:1.55; }.store-price { display:flex; align-items:end; justify-content:space-between; gap:10px; padding-top:13px; border-top:1px solid #edf0ea; }.store-price small,.store-price strong { display:block; }.store-price small { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.08em; }.store-price strong { margin-top:3px; font-size:19px; }.store-price a { color:var(--green); font-size:11px; font-weight:850; }
.store-price s { display:block; margin:3px 0 8px; color:#8d9690; font-size:11px; }.public-pvp.store s { display:block; margin-top:6px; color:var(--muted); font-size:13px; }.joma-details-link { display:inline-block; margin-top:13px; color:var(--green); font-size:11px; font-weight:850; }.joma-details-link:hover { text-decoration:underline; }
.flash-section { position:relative; overflow:hidden; padding:30px; background:#122d23; border-radius:25px; }.flash-section > header { position:relative; z-index:1; display:block; margin-bottom:24px; }.flash-section > header > div { width:100%; }.flash-section h2.flash-slogan { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; gap:18px; width:100%; min-height:92px; margin:0; padding:16px 24px; overflow:hidden; color:#fff; background:linear-gradient(110deg,rgba(215,243,107,.075),rgba(255,255,255,.025) 44%,rgba(243,110,63,.085)); border:1px solid rgba(215,243,107,.18); border-radius:18px; box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px rgba(0,0,0,.12); text-align:center; }.flash-slogan::before { position:absolute; z-index:-1; top:-60%; bottom:-60%; left:-24%; width:15%; content:""; background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent); transform:skewX(-18deg); animation:flash-slogan-shine 4.8s ease-in-out infinite; }.flash-section > header .flash-slogan-label { display:inline-flex; align-items:center; flex:0 0 auto; color:transparent; background:linear-gradient(90deg,#fff36a 0%,#ff9c38 24%,#ff4f91 50%,#61f5e5 74%,#fff36a 100%); background-size:300% 100%; -webkit-background-clip:text; background-clip:text; filter:drop-shadow(0 0 8px rgba(255,117,80,.42)); font-size:clamp(19px,2vw,27px); font-weight:950; line-height:1.05; letter-spacing:.07em; text-transform:uppercase; animation:flash-slogan-color 3s linear infinite; }.flash-section > header .flash-slogan-label::before { margin-right:10px; content:"⚡"; color:#fff36a; font-size:1.25em; line-height:1; filter:drop-shadow(0 0 7px rgba(255,177,45,.85)); animation:flash-slogan-bolt .75s ease-in-out infinite alternate; }.flash-section > header .flash-slogan-message { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px 10px; min-width:0; color:#f7fff9; font-size:clamp(20px,2.15vw,30px); font-weight:820; line-height:1.25; letter-spacing:-.035em; }.flash-section > header .flash-slogan-beat { display:inline-flex; align-items:center; gap:7px; color:inherit; font-size:inherit; white-space:nowrap; }.flash-section > header .flash-slogan-three { --three-angle:-5deg; display:inline-grid; place-items:center; flex:0 0 48px; width:48px; height:48px; color:#173c2e; background:linear-gradient(145deg,#fff36a,#d7f36b 72%); border:3px solid #ff7048; border-radius:15px; box-shadow:0 7px 18px rgba(255,112,72,.28),inset 0 2px 0 rgba(255,255,255,.65); font-size:34px; font-weight:1000; line-height:1; letter-spacing:-.07em; text-shadow:1px 1px 0 rgba(255,255,255,.5); transform:rotate(var(--three-angle)); animation:flash-slogan-three 1.65s ease-in-out infinite; }.flash-section > header .flash-slogan-three-alt { --three-angle:5deg; animation-delay:-.82s; }.flash-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.flash-card { overflow:hidden; background:white; border-radius:18px; }.flash-image { position:relative; display:grid; place-items:center; aspect-ratio:1.25; padding:22px; background:#f8faf6; }.flash-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }.flash-image b { position:absolute; top:13px; right:13px; min-width:72px; padding:10px 13px; color:white; background:var(--orange); border-radius:12px; box-shadow:0 7px 18px rgba(160,54,19,.25); font-size:20px; line-height:1; text-align:center; }.flash-body { padding:19px; }.flash-body code { color:var(--muted); font-family:inherit; font-size:11px; font-weight:850; }.flash-body h3 { min-height:46px; margin:8px 0 14px; font-size:15px; line-height:1.5; }.flash-prices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px; }.flash-prices small,.flash-prices strong,.flash-prices s { display:block; }.flash-prices small { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }.flash-prices s { margin-top:4px; color:#89928c; font-size:15px; }.flash-prices strong { margin-top:2px; color:var(--orange); font-size:23px; }.flash-body .shop-button { width:100%; font-size:14px; }.flash-legal { margin:15px 0 0; color:#91a59a; font-size:10px; line-height:1.55; }.public-pvp.flash strong { color:var(--orange); }.public-pvp.flash s { display:block; margin-top:5px; color:var(--muted); }.offer-tag { display:inline-block; margin-bottom:12px; padding:7px 10px; color:#71341d; background:#ffe5d9; border-radius:99px; font-size:10px; font-weight:900; }.cart-flash { display:inline-block; margin-left:5px; padding:3px 6px; color:#8d3b20!important; background:#ffe7dc; border-radius:6px; font-weight:800; }
@keyframes flash-slogan-color { to { background-position:-300% 0; } }
@keyframes flash-slogan-bolt { from { transform:translateY(1px) rotate(-5deg) scale(.96); } to { transform:translateY(-2px) rotate(5deg) scale(1.12); } }
@keyframes flash-slogan-three { 0%,100% { transform:rotate(var(--three-angle)) scale(1); } 50% { transform:rotate(0deg) scale(1.08); } }
@keyframes flash-slogan-shine { 0%,52% { left:-24%; opacity:0; } 58% { opacity:1; } 82%,100% { left:124%; opacity:0; } }
@media (prefers-reduced-motion:reduce) { .flash-slogan::before,.flash-slogan-label,.flash-slogan-label::before,.flash-section > header .flash-slogan-three { animation:none; } }
@media (max-width:900px) { .flash-section h2.flash-slogan { align-items:center; flex-direction:column; gap:11px; min-height:0; padding:18px; }.flash-section > header .flash-slogan-message { width:100%; } }
@media (max-width:560px) { .flash-section h2.flash-slogan { padding:16px 10px; border-radius:15px; }.flash-section > header .flash-slogan-label { font-size:15px; letter-spacing:.055em; }.flash-section > header .flash-slogan-label::before { margin-right:7px; font-size:21px; }.flash-section > header .flash-slogan-message { gap:8px; font-size:clamp(18px,5.4vw,21px); line-height:1.35; }.flash-section > header .flash-slogan-beat { gap:6px; }.flash-section > header .flash-slogan-three { flex-basis:38px; width:38px; height:38px; border-width:2px; border-radius:12px; font-size:27px; } }
.policy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.policy-card { padding:24px; background:white; border:1px solid var(--line); border-radius:17px; }.policy-card b { display:grid; place-items:center; width:38px; height:38px; margin-bottom:17px; color:var(--green); background:#edf5e8; border-radius:12px; }.policy-card h3 { margin:0 0 8px; font-size:15px; }.policy-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.process-section { position:relative; overflow:hidden; padding:32px; background:linear-gradient(145deg,#fff 0%,#f5f8f1 100%); border:1px solid #dde6dc; border-radius:25px; box-shadow:0 18px 48px rgba(24,47,36,.08); }.process-section::before { position:absolute; top:-120px; right:-95px; width:280px; height:280px; content:""; background:radial-gradient(circle,rgba(215,243,107,.34),rgba(215,243,107,0) 68%); pointer-events:none; }.process-header { position:relative; z-index:1; }.process-section .process-header .eyebrow { display:inline-block; margin-bottom:9px; color:#ef673b; font-size:12px; font-weight:950; letter-spacing:.15em; }.process-section .process-header h2 { color:var(--green); font-size:clamp(32px,4vw,48px); }.process-section .process-header span { display:block; margin-top:8px; color:#647269; font-size:13px; line-height:1.55; }.process-flow { position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }.process-step { --step-accent:#f36e3f; position:relative; min-width:0; min-height:292px; padding:20px 18px 22px; overflow:visible; background:#fff; border:1px solid #e3e8e1; border-top:5px solid var(--step-accent); border-radius:17px; box-shadow:0 9px 24px rgba(27,58,42,.075); transition:transform .2s ease,box-shadow .2s ease; }.process-step:hover { transform:translateY(-6px); box-shadow:0 17px 32px rgba(27,58,42,.14); }.process-step-orange { --step-accent:#ff7447; }.process-step-lime { --step-accent:#9dcf32; }.process-step-blue { --step-accent:#35a8c6; }.process-step-violet { --step-accent:#8a69d4; }.process-step-coral { --step-accent:#ef5475; }.process-number { position:absolute; top:15px; right:15px; color:var(--step-accent); font-size:12px; font-weight:950; letter-spacing:.08em; }.process-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:18px; color:#fff; background:var(--step-accent); border-radius:17px; box-shadow:0 9px 20px color-mix(in srgb,var(--step-accent) 35%,transparent); transform:rotate(-4deg); transition:transform .2s ease; }.process-step:hover .process-icon { transform:rotate(3deg) scale(1.07); }.process-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.process-step h3 { margin:0 0 10px; color:#203027; font-size:16px; line-height:1.3; }.process-step p { margin:0; color:#66736b; font-size:12px; line-height:1.65; }.process-step:not(:last-child)::after { position:absolute; z-index:3; top:47px; right:-20px; display:grid; place-items:center; width:27px; height:27px; content:"→"; color:var(--green); background:var(--lime); border:3px solid #f7f9f4; border-radius:50%; font-size:14px; font-weight:950; }
@media (max-width:1100px) { .process-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }.process-step { min-height:255px; }.process-step:not(:last-child)::after { display:none; } }
@media (max-width:720px) { .process-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }.process-step:last-child { grid-column:1/-1; }.process-section { padding:25px; } }
@media (max-width:480px) { .process-flow { grid-template-columns:1fr; }.process-step:last-child { grid-column:auto; }.process-step { min-height:0; }.process-section { padding:22px 18px; }.process-section .process-header h2 { font-size:34px; } }
.pagination { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:30px; color:var(--muted); font-size:12px; }.pagination a { color:var(--green); font-weight:800; }
.empty-shop { padding:58px 20px; text-align:center; color:var(--muted); background:white; border:1px dashed #cdd5ce; border-radius:18px; }
.auth-shell { display:grid; place-items:center; min-height:calc(100vh - 190px); padding:48px 20px; }.auth-card { width:min(520px,100%); padding:30px; background:white; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }.auth-card h1 { margin:0 0 8px; font-size:30px; }.auth-card > p { margin:0 0 23px; color:var(--muted); font-size:13px; line-height:1.6; }.shop-form { display:grid; gap:15px; }.shop-form label > span { display:block; margin-bottom:6px; color:#59665e; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }.shop-form input,.shop-form select,.shop-form textarea { width:100%; padding:12px 13px; background:#fbfcfa; border:1px solid #dce2dc; border-radius:10px; outline:0; }.shop-form textarea { min-height:92px; resize:vertical; }.shop-form input:focus,.shop-form select:focus,.shop-form textarea:focus { background:white; border-color:#7ea18f; box-shadow:0 0 0 3px rgba(23,79,58,.08); }.form-error { padding:11px 13px; color:#8b2f25; background:#fff0ed; border-radius:9px; font-size:12px; }.form-note { color:var(--muted); font-size:11px; line-height:1.55; }.check-row { display:flex; gap:9px; align-items:flex-start; color:var(--muted); font-size:11px; line-height:1.5; }.check-row input { flex:0 0 auto; width:auto; margin-top:3px; }
.product-public { display:grid; grid-template-columns:.85fr 1.15fr; gap:55px; align-items:center; }.public-image { display:grid; place-items:center; aspect-ratio:1.1; padding:42px; background:white; border:1px solid var(--line); border-radius:24px; }.public-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }.public-copy code { color:#68766d; font-size:11px; }.public-copy h1 { margin:9px 0 18px; font-size:clamp(32px,4vw,52px); line-height:1.08; letter-spacing:-.04em; }.public-pvp small,.public-pvp strong { display:block; }.public-pvp small { color:var(--muted); font-size:10px; text-transform:uppercase; }.public-pvp strong { margin-top:4px; color:var(--green); font-size:34px; }.buy-box { max-width:500px; margin-top:25px; padding:20px; background:white; border:1px solid var(--line); border-radius:16px; }.buy-row { margin-bottom:12px; }.buy-actions { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; align-items:end; }.quantity-field > span { display:block; margin-bottom:6px; }.quantity-field input { width:100%; min-height:44px; padding:12px; border:1px solid var(--line); border-radius:9px; }.buy-actions .shop-button { width:100%; min-height:44px; }
.variant-stock-alert { margin:0 0 12px; padding:10px 12px; color:#725611; background:#fff8df; border:1px solid #eadb9e; border-radius:9px; font-size:11px; font-weight:750; line-height:1.45; }
.immediate-delivery-note { margin:0 0 12px; padding:10px 12px; color:#28523f; background:#edf6e9; border:1px solid #cee2c6; border-radius:9px; font-size:11px; line-height:1.5; }.immediate-delivery-note strong { display:block; margin-bottom:2px; }
.product-details-note { margin:0 0 16px; padding:12px 14px; overflow-wrap:anywhere; color:#4f6056; background:#f3f8ef; border:1px solid #d8e5d3; border-radius:10px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; border:0!important; }.variant-picker { position:relative; min-width:0; margin:0; padding:0; border:0; }.variant-picker legend { margin:0 0 10px; padding:0; color:#59665e; font-size:10px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }.variant-group + .variant-group { margin-top:14px; }.variant-group-title { display:block; margin-bottom:8px; color:var(--muted); font-size:10px; font-weight:750; }.variant-size-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 12px; width:100%; }.buy-row .variant-size-input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; opacity:0; pointer-events:none; }.variant-size-button { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:42px; padding:7px 10px; border:1px solid #171717; border-radius:999px; cursor:pointer; background:#fff; color:#111; font-size:15px; font-weight:700; transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease; }.variant-size-input:not(:disabled) + .variant-size-button:hover { transform:translateY(-1px); background:#eeeeec; box-shadow:0 5px 14px rgba(0,0,0,.10); }.variant-size-input:not(:disabled):not(:checked) + .variant-size-button.variant-size-low { background:#eadb9e; border-color:#d6c27c; }.variant-size-input:focus-visible + .variant-size-button { outline:3px solid rgba(23,79,58,.22); outline-offset:2px; }.variant-size-input:checked + .variant-size-button { color:#111; background:#a7a7a7; border-color:#a7a7a7; box-shadow:none; }.variant-size-low::after { position:absolute; top:7px; right:9px; width:6px; height:6px; content:""; background:#d89b19; border-radius:50%; }.variant-size-input:disabled + .variant-size-button { cursor:not-allowed; color:#d0d0d0; background:#fff; border-color:#dedede; opacity:1; }.variant-stock-icon { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cart-layout,.checkout-layout { display:grid; grid-template-columns:1.35fr .65fr; gap:22px; align-items:start; }.immediate-delivery-banner { display:flex; gap:6px; flex-direction:column; margin:0 0 16px; padding:13px 15px; border-radius:12px; font-size:12px; line-height:1.5; }.immediate-delivery-banner strong { font-size:13px; }.immediate-delivery-banner.is-immediate { color:#28523f; background:#edf6e9; border:1px solid #cee2c6; }.immediate-delivery-banner.is-mixed { color:#725611; background:#fff8df; border:1px solid #eadb9e; }.panel { padding:22px; background:white; border:1px solid var(--line); border-radius:18px; }.cart-item { display:grid; grid-template-columns:75px 1fr 90px 110px; gap:15px; align-items:center; padding:14px 0; border-bottom:1px solid #edf0ea; }.cart-item:last-child { border-bottom:0; }.cart-item img { width:70px; height:70px; object-fit:contain; }.cart-item h3 { margin:0 0 5px; font-size:13px; }.cart-item span { color:var(--muted); font-size:10px; }.cart-item input { width:72px; padding:9px; border:1px solid var(--line); border-radius:8px; }.cart-item strong { text-align:right; }.summary-line { display:flex; justify-content:space-between; gap:15px; padding:10px 0; color:var(--muted); font-size:12px; }.summary-line.total { margin-top:8px; padding-top:16px; color:var(--ink); border-top:1px solid var(--line); font-size:17px; font-weight:850; }.panel .shop-button { width:100%; margin-top:15px; }
.payment-option { display:block; padding:15px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }.payment-option + .payment-option { margin-top:10px; }.payment-option strong,.payment-option small { display:block; margin-left:25px; }.payment-option small { margin-top:4px; color:var(--muted); line-height:1.5; }.payment-option input { float:left; margin-top:3px; }
.checkout-processing,.catalog-processing { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:24px; background:rgba(15,35,27,.76); backdrop-filter:blur(6px); }.checkout-processing[hidden],.catalog-processing[hidden] { display:none; }.checkout-processing-card { width:min(460px,100%); padding:34px; text-align:center; background:#fff; border:1px solid rgba(255,255,255,.65); border-radius:22px; box-shadow:0 25px 80px rgba(0,0,0,.28); }.checkout-processing-card strong,.checkout-processing-card p { display:block; }.checkout-processing-card strong { margin-top:20px; color:var(--green); font-size:22px; }.checkout-processing-card p { margin:11px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }.checkout-processing-spinner { display:block; width:52px; height:52px; margin:0 auto; border:5px solid #e4eadf; border-top-color:var(--green); border-right-color:var(--lime); border-radius:50%; animation:checkout-processing-spin .8s linear infinite; }.checkout-is-processing { overflow:hidden; }@keyframes checkout-processing-spin { to { transform:rotate(360deg); } }@media (prefers-reduced-motion:reduce) { .checkout-processing-spinner { animation-duration:1.8s; } }
.cart-warning { display:inline-block; margin-left:5px; padding:2px 6px; color:#8b2f25; background:#fff0ed; border-radius:999px; font-size:9px; text-transform:uppercase; }.cart-issue { display:block; margin-top:6px; color:#8b2f25; font-weight:700; line-height:1.45; }
.order-code { padding:20px; text-align:center; color:var(--green); background:#eff7e9; border:1px solid #cfe1c5; border-radius:14px; }.order-code small,.order-code strong { display:block; }.order-code strong { margin-top:6px; font-size:25px; letter-spacing:.06em; }.order-list { display:grid; gap:12px; }.order-row { display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:center; padding:16px; background:white; border:1px solid var(--line); border-radius:13px; font-size:12px; }.status-pill { padding:6px 9px; color:#725611; background:#fff4c9; border-radius:99px; font-size:9px; font-weight:850; }.status-pill.validated { color:#14603f; background:#dff5e8; }.status-pill.cancelled { color:#7b3630; background:#f9e5e1; }.order-cancel { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:20px; padding:20px; background:#fff; border:1px solid #e8d1cc; border-radius:16px; }.order-cancel strong,.order-cancel span,.order-notice strong,.order-notice span,.order-notice small { display:block; }.order-cancel span,.order-notice span { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.5; }.order-cancel form { flex:0 0 auto; }.order-cancel .shop-button { margin:0; }.order-notice { margin-top:20px; padding:17px 19px; border-radius:14px; }.order-notice.cancelled { color:#7b3630; background:#f9e5e1; border:1px solid #e8c5be; }.order-notice.validated { color:#14603f; background:#e4f4e9; border:1px solid #c4e1cd; }.order-notice small { margin-top:8px; font-size:9px; opacity:.8; } #devoluciones { margin:20px 0; }
.shop-footer { display:grid; grid-template-columns:1fr auto; gap:35px; align-items:center; max-width:1240px; margin:0 auto; padding:30px 24px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }.shop-footer strong,.shop-footer span { display:block; }.shop-footer strong { margin-bottom:5px; color:var(--ink); }.legal-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 16px; }.legal-links a,.legal-page a,.check-row a,.form-note a { color:var(--green); text-decoration:underline; text-underline-offset:2px; }
.cookie-notice { position:fixed; z-index:1200; right:20px; bottom:20px; left:20px; display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:920px; margin:0 auto; padding:19px 21px; color:#edf6f1; background:#173d2f; border:1px solid rgba(255,255,255,.18); border-radius:16px; box-shadow:0 22px 65px rgba(9,29,21,.32); }.cookie-notice strong { display:block; margin-bottom:5px; color:#fff; font-size:14px; }.cookie-notice p { display:inline; margin:0; color:#d4e3db; font-size:12px; line-height:1.55; }.cookie-notice code { color:#fff; }.cookie-notice a { margin-left:7px; color:var(--lime); font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:2px; }.cookie-notice button { flex:0 0 auto; min-height:42px; padding:9px 17px; color:#173d2f; background:var(--lime); border:0; border-radius:10px; cursor:pointer; font-size:12px; font-weight:900; }.cookie-notice button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.privacy-summary { margin:5px 0; padding:17px 18px; color:#405248; background:#f1f6ef; border:1px solid #d6e3d2; border-radius:12px; }.privacy-summary > strong { display:block; margin-bottom:11px; color:var(--green); font-size:13px; }.privacy-summary dl { display:grid; gap:7px; margin:0 0 10px; }.privacy-summary dl > div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:9px; }.privacy-summary dt { color:#68776e; font-size:10px; font-weight:850; text-transform:uppercase; }.privacy-summary dd { margin:0; font-size:11px; line-height:1.5; }.privacy-summary a { color:var(--green); font-size:11px; font-weight:750; text-decoration:underline; text-underline-offset:2px; }
.legal-page { max-width:980px; }.legal-hero { margin-bottom:24px; padding:38px; color:white; background:var(--green); border-radius:24px; }.legal-hero .eyebrow { margin:0 0 10px; color:var(--lime); font-size:10px; font-weight:900; letter-spacing:.13em; }.legal-hero h1 { margin:0; font-size:clamp(32px,5vw,52px); line-height:1.05; letter-spacing:-.04em; }.legal-hero p { max-width:700px; margin:14px 0 9px; color:#d7e4dc; line-height:1.65; }.legal-hero small { color:#afc4b8; }.legal-card { margin-top:16px; padding:26px 30px; background:white; border:1px solid var(--line); border-radius:18px; }.legal-card h2 { margin:0 0 13px; font-size:21px; letter-spacing:-.025em; }.legal-card h3 { margin:0 0 7px; font-size:14px; }.legal-card p,.legal-card li,.legal-card dd,.legal-card blockquote { color:#536158; font-size:13px; line-height:1.75; }.legal-card p:last-child { margin-bottom:0; }.legal-card li + li { margin-top:7px; }.legal-card blockquote { margin:16px 0 0; padding:20px; background:#f7f8f4; border-left:4px solid var(--green); white-space:normal; }.legal-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.legal-grid article { padding:17px; background:#f7f9f5; border-radius:12px; }.legal-grid article p { margin:0; font-size:12px; }.legal-meta { display:grid; grid-template-columns:170px 1fr; gap:0; margin:0; }.legal-meta dt,.legal-meta dd { margin:0; padding:10px 0; border-bottom:1px solid #edf0ea; }.legal-meta dt { color:#7a867e; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }.legal-alert,.legal-callout { display:flex; gap:7px; flex-direction:column; padding:17px 19px; border-radius:14px; }.legal-alert { color:#7d3026; background:#fff0ed; border:1px solid #edc2b9; }.legal-callout { margin:16px 0; color:#28523f; background:#edf6e9; border:1px solid #cee2c6; }.legal-alert span,.legal-callout span { font-size:12px; line-height:1.6; }.table-wrap { overflow-x:auto; }.table-wrap table { width:100%; border-collapse:collapse; font-size:12px; }.table-wrap th,.table-wrap td { padding:12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }.table-wrap th { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.flash-card-clock { display:flex; align-items:center; justify-content:space-between; margin:-2px 0 13px; padding:9px 11px; color:#385044; background:#f0f6e9; border-radius:9px; }.flash-card-clock small { font-size:10px; font-weight:850; letter-spacing:.08em; }.flash-card-clock strong { font-size:14px; letter-spacing:.04em; }
@media (max-width:980px) { .shop-header nav > a:not(.cart-link):not(:nth-last-child(2)) { display:none; }.store-hero { grid-template-columns:1fr; }.store-hero-art { min-height:180px; clip-path:none; }.store-grid { grid-template-columns:repeat(3,1fr); }.flash-grid { grid-template-columns:1fr 1fr; }.flash-grid .flash-card:last-child { grid-column:1/-1; max-width:50%; justify-self:center; }.product-public,.cart-layout,.checkout-layout { grid-template-columns:1fr; }.policy-grid { grid-template-columns:1fr; } }
@media (max-width:680px) { .shop-header { min-height:84px; padding:8px 15px; }.shop-brand { flex-basis:230px; }.shop-brand img { width:min(230px,46vw); height:64px; }.shop-header nav { gap:8px; }.shop-container { padding:28px 15px 60px; }.store-hero-copy { padding:35px 27px; }.store-grid { grid-template-columns:repeat(2,1fr); }.flash-section { padding:22px; }.flash-grid { grid-template-columns:1fr; }.flash-grid .flash-card:last-child { grid-column:auto; max-width:none; }.shop-section > header { align-items:flex-start; flex-direction:column; }.store-search { width:100%; }.cart-item { grid-template-columns:60px 1fr 72px; }.cart-item strong { grid-column:2/-1; }.shop-footer { grid-template-columns:1fr; }.legal-links { justify-content:flex-start; }.legal-hero { padding:28px 23px; }.legal-card { padding:22px 20px; }.legal-grid { grid-template-columns:1fr; }.legal-meta { grid-template-columns:1fr; }.legal-meta dt { padding-bottom:0; border:0; }.order-row { grid-template-columns:1fr; }.order-cancel { align-items:stretch; flex-direction:column; }.order-cancel .shop-button { width:100%; }.buy-actions { grid-template-columns:90px minmax(0,1fr); }.variant-size-list { gap:8px; }.variant-size-button { min-height:39px; padding:6px; font-size:13px; } }
@media print { .shop-navigation-shell,.shop-footer,.shop-button { display:none!important; }.shop-container { max-width:none; padding:0; }.legal-hero { color:#000; background:#fff; border:1px solid #bbb; }.legal-hero p,.legal-hero small,.legal-hero .eyebrow { color:#333; }.legal-card { break-inside:avoid; box-shadow:none; } }
@media (max-width:430px) { .store-grid { grid-template-columns:1fr; }.shop-header nav > a:not(.cart-link) { display:none; } }
.variant-size-low::after { display:none; content:none; }
.product-public { grid-template-areas:"heading heading" "image purchase"; gap:32px 55px; align-items:start; }.public-copy { grid-area:heading; }.public-image { grid-area:image; }.public-purchase { grid-area:purchase; }.public-purchase .buy-box { margin-top:0; }@media (max-width:980px) { .product-public { grid-template-columns:1fr; grid-template-areas:"heading" "image" "purchase"; gap:26px; } }
.flash-image { position:relative; display:block; height:auto; aspect-ratio:1/1; padding:0; overflow:hidden; }.flash-image img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; object-position:center center; }.flash-image b { z-index:1; }@media (max-width:680px) { .flash-grid .flash-card:last-child { width:100%; justify-self:stretch; } }
.store-card-image { position:relative; display:block; height:auto; aspect-ratio:1/1; padding:0; overflow:hidden; }.store-card-image img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; object-position:center center; }
.shop-section > header.catalog-intro { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:32px; margin-bottom:26px; padding:38px 42px; color:#fff; background:radial-gradient(circle at 82% 20%,rgba(215,243,107,.2),transparent 25%),linear-gradient(125deg,#123e2e 0%,#175b41 62%,#207253 100%); border:1px solid rgba(255,255,255,.1); border-radius:25px; box-shadow:0 18px 45px rgba(22,58,42,.14); }.shop-section > header.catalog-intro::after { position:absolute; z-index:-1; right:-85px; bottom:-115px; width:280px; height:280px; content:""; border:36px solid rgba(255,255,255,.055); border-radius:50%; }.catalog-intro-copy { max-width:900px; }.catalog-intro-kicker { margin:0 0 12px; color:#ff9a5b; font-size:12px; font-weight:950; letter-spacing:.16em; text-transform:uppercase; }.shop-section > header.catalog-intro h1 { max-width:900px; margin:0; color:#fff; font-size:clamp(32px,4.3vw,54px); line-height:1.02; letter-spacing:-.045em; }.catalog-intro-copy > p:last-child { max-width:720px; margin:18px 0 0; color:#dbece3; font-size:15px; line-height:1.65; }
.catalog-filters { margin:0 0 28px; padding:22px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 30px rgba(24,47,36,.05); }.catalog-filter-primary { display:grid; grid-template-columns:minmax(460px,1.55fr) minmax(260px,.65fr); gap:16px; align-items:end; }.catalog-filters label > span { display:block; margin:0 0 7px; color:#59665e; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.catalog-filters input,.catalog-filters select { width:100%; min-height:44px; padding:10px 12px; color:var(--ink); background:#fbfcfa; border:1px solid #dce2dc; border-radius:10px; outline:0; }.catalog-filters input:focus,.catalog-filters select:focus { background:#fff; border-color:#7ea18f; box-shadow:0 0 0 3px rgba(23,79,58,.08); }.catalog-filters select:disabled { color:#98a099; background:#f1f3ef; cursor:not-allowed; }.catalog-family-picker { min-width:0; margin:0; padding:0; border:0; }.catalog-family-picker legend { margin:0 0 7px; padding:0; color:#59665e; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.catalog-family-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.catalog-family-input { position:absolute; width:1px!important; min-height:0!important; height:1px; margin:-1px; padding:0!important; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; opacity:0; }.catalog-family-button { display:flex; align-items:center; gap:11px; min-width:0; min-height:76px; padding:12px 13px; color:#33463b; background:linear-gradient(145deg,#fff 0%,#f5f8f2 100%); border:1px solid #dbe4da; border-radius:14px; cursor:pointer; box-shadow:0 5px 15px rgba(27,58,42,.045); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease; }.catalog-family-button:hover { transform:translateY(-2px); border-color:#9eb8a7; box-shadow:0 10px 22px rgba(27,58,42,.1); }.catalog-family-button > i { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; color:var(--green); background:#eaf3e7; border-radius:12px; transition:.18s ease; }.catalog-family-button svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }.catalog-family-button b,.catalog-family-button strong,.catalog-family-button small { display:block; min-width:0; }.catalog-family-button b { font-weight:inherit; }.catalog-family-button strong { font-size:13px; }.catalog-family-button small { margin-top:4px; color:#7b887f; font-size:9px; font-weight:700; }.catalog-family-input:focus-visible + .catalog-family-button { outline:3px solid rgba(23,79,58,.2); outline-offset:3px; }.catalog-family-input:checked + .catalog-family-button { color:#fff; background:linear-gradient(135deg,var(--green),#286d51); border-color:var(--green); box-shadow:0 11px 25px rgba(23,79,58,.22); }.catalog-family-input:checked + .catalog-family-button > i { color:#214937; background:var(--lime); }.catalog-family-input:checked + .catalog-family-button small { color:#d8e7dd; }.catalog-family-input:disabled + .catalog-family-button { cursor:not-allowed; opacity:.45; filter:grayscale(.45); box-shadow:none; transform:none; }.catalog-filter-details { margin-top:18px; padding-top:18px; border-top:1px solid #edf0ea; }.catalog-filter-step { margin:0 0 13px; color:var(--green); font-size:11px; font-weight:850; }.catalog-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.catalog-filter-actions { display:flex; align-items:center; gap:16px; margin-top:18px; }.catalog-filter-actions a { color:var(--green); font-size:11px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }@media (max-width:900px) { .shop-section > header.catalog-intro { grid-template-columns:1fr; padding:32px; }.catalog-filter-primary { grid-template-columns:1fr; } }@media (max-width:780px) { .catalog-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }@media (max-width:560px) { .shop-section > header.catalog-intro { padding:28px 24px; border-radius:20px; }.catalog-intro-copy > p:last-child { font-size:13px; }.catalog-filter-primary,.catalog-filter-grid,.catalog-family-options { grid-template-columns:1fr; }.catalog-family-button { min-height:64px; }.catalog-filter-actions { align-items:stretch; flex-direction:column; }.catalog-filter-actions .shop-button { width:100%; }.catalog-filter-actions a { text-align:center; } }

@media (max-width:980px) { .shop-header-mobile-actions { display:flex; }.shop-menu-toggle,.shop-cart-mobile { display:inline-flex; }.shop-cart-mobile { padding:9px 11px; font-size:10px; }.shop-header nav { position:absolute; top:100%; left:max(15px,calc((100% - 1240px)/2)); right:max(15px,calc((100% - 1240px)/2)); display:none; align-items:stretch; flex-direction:column; gap:4px; max-height:calc(100vh - 92px); padding:12px; overflow:auto; color:var(--ink); background:rgba(255,255,255,.99); border:1px solid var(--line); border-radius:0 0 16px 16px; box-shadow:0 20px 40px rgba(24,47,36,.16); }.shop-header nav.is-open { display:flex; }.shop-header nav > a:not(.cart-link) { display:flex!important; align-items:center; min-height:43px; padding:10px 12px; border-radius:9px; }.shop-header nav > a:not(.cart-link):hover { background:#f0f5ee; }.shop-header nav > .cart-link { display:none!important; }.shop-category-bar-inner { padding:0; }.shop-category-trigger > a { min-height:44px; padding:7px 2px 7px 30px; font-size:12px; letter-spacing:.045em; }.shop-category-trigger > button { flex-basis:30px; width:30px; }.shop-category-dropdown { right:0; left:0; max-height:calc(100vh - 132px); padding:19px 20px 23px; border-right:0; border-left:0; border-radius:0 0 15px 15px; }.shop-category-dropdown ul { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px) { .shop-brand { flex-basis:175px; }.shop-brand img { width:175px; height:56px; }.shop-menu-toggle { min-width:50px; padding:0 15px; }.shop-menu-toggle > span:last-child { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }.shop-cart-mobile { padding:8px 10px; font-size:9px; }.shop-cart-mobile b { margin-left:4px; font-size:9px; } }
@media (max-width:480px) { .shop-category-trigger > a { padding-left:27px; font-size:11px; }.shop-category-trigger > button { flex-basis:27px; width:27px; }.shop-category-dropdown { padding:17px 15px 21px; }.shop-category-dropdown-head { align-items:stretch; flex-direction:column; gap:12px; }.shop-category-dropdown-head > a { justify-content:center; width:100%; }.shop-category-dropdown ul { grid-template-columns:1fr; gap:3px; margin-top:13px; } }
.account-header-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }.profile-data-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; background:var(--line); border:1px solid var(--line); border-radius:18px; }.profile-data-field { min-width:0; padding:22px; background:#fff; }.profile-data-field span,.profile-data-field strong,.profile-data-field small { display:block; }.profile-data-field span { margin-bottom:8px; color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.profile-data-field strong { overflow-wrap:anywhere; font-size:15px; }.profile-data-field small { margin-top:7px; color:#61806f; font-size:9px; font-weight:750; }.profile-contact-card { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:20px; padding:25px; color:#fff; background:var(--green); border-radius:18px; }.profile-contact-card .eyebrow { color:var(--lime); }.profile-contact-card h2 { font-size:24px; }.profile-contact-card p:not(.eyebrow) { max-width:680px; margin:10px 0 0; color:#d8e6de; font-size:12px; line-height:1.65; }.profile-contact-card .whatsapp-button { flex:0 0 auto; color:#153e2e; background:#d7f36b; }.profile-contact-card .form-error { color:#fff; background:#8b2f25; }@media (max-width:700px) { .account-header-actions { width:100%; justify-content:stretch; }.account-header-actions .shop-button { flex:1; }.profile-data-card { grid-template-columns:1fr; }.profile-contact-card { align-items:stretch; flex-direction:column; }.profile-contact-card .shop-button { width:100%; text-align:center; } }@media (max-width:430px) { .account-header-actions { flex-direction:column; }.account-header-actions .shop-button { width:100%; } }
.cart-sync-status { min-height:20px; margin:14px 0 0; }.cart-sync-status.syncing { color:#725611; }.cart-sync-status.error { color:#8b2f25; font-weight:750; }
.copy-control { min-width:0; max-width:100%; }
.copy-control-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.copy-control-row > strong { min-width:0; overflow-wrap:anywhere; }
.order-code .copy-control-row { margin-top:8px; }
.order-code .copy-control-row > strong { margin-top:0; }
.copy-button { flex:0 0 auto; min-height:44px; padding:8px 14px; color:var(--green); background:#fff; border:1px solid #9cb69f; border-radius:9px; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.copy-button:hover { background:#e3eedb; }
.copy-button:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.copy-button:disabled { cursor:wait; opacity:.65; }
.copy-status { display:block; min-height:1.3em; margin-top:6px; color:#315b38; font-size:11px; line-height:1.3; }
.summary-line > .copy-control { text-align:right; }
.summary-line .copy-control-row { justify-content:flex-end; }
.order-transfer-warning { margin:18px 0; padding:16px 18px; color:#704600; background:#fff4d6; border:1px solid #e4bb5b; border-left:5px solid #c8880c; border-radius:10px; }
.order-transfer-warning > strong { display:block; font-size:14px; }
.order-transfer-warning > p { margin:7px 0 0; font-size:13px; line-height:1.55; }
@media print { .copy-button,.copy-status { display:none!important; } }
@media (max-width:680px) { .cookie-notice { right:12px; bottom:12px; left:12px; align-items:stretch; flex-direction:column; gap:14px; padding:17px; }.cookie-notice button { width:100%; }.privacy-summary dl > div { grid-template-columns:1fr; gap:2px; } }
@media print { .cookie-notice { display:none!important; } }
[data-checkout-form] [hidden] { display: none !important; }
.cheque-expiry-warning { width:calc(100% - 48px); max-width:1192px; margin:20px auto 0; padding:18px 21px; color:#674000; background:#fff4d6; border:1px solid #e4bb5b; border-left:5px solid #c8880c; border-radius:12px; overflow-wrap:anywhere; }
.cheque-expiry-warning > strong { display:block; font-size:16px; }
.cheque-expiry-warning ul { display:grid; gap:8px; margin:11px 0; padding-left:20px; }
.cheque-expiry-warning li,.cheque-expiry-warning p { font-size:13px; line-height:1.6; }
.cheque-expiry-warning p { margin:10px 0 0; }
.cheque-expiry-warning a { color:inherit; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.cheque-expiry-warning a:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
.customer-cheques-table { min-width:790px; }
.cheque-filter-nav { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.cheque-filter-nav a { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:9px 14px; color:var(--green); background:#fff; border:1px solid var(--line); border-radius:10px; font-size:12px; font-weight:800; }
.cheque-filter-nav a[aria-current="page"] { color:#fff; background:var(--green); border-color:var(--green); }
.cheque-filter-nav a:focus-visible,.cheque-detail-link:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.cheque-filter-nav span { opacity:.8; }
.cheque-detail-link { color:var(--green); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.cheque-archive-label { display:block; margin-top:8px; color:var(--muted); font-size:10px; }
.cheque-detail-summary { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:22px 0 30px; }
.cheque-detail-summary > * { min-width:0; }
.customer-cheque-requests-table { min-width:930px; }
@media (max-width:800px) { .cheque-detail-summary { grid-template-columns:1fr; } }
@media (max-width:680px) { .cheque-expiry-warning { width:calc(100% - 30px); margin-top:15px; padding:16px; } }

.store-card code,.flash-body code { display:block; overflow-wrap:anywhere; }

.test-login-card { width:min(820px,100%); }.test-login-local-label { display:block; margin-bottom:7px; color:var(--green); font-size:9px; font-weight:950; letter-spacing:.14em; }.test-login-current { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin:18px 0; padding:13px 15px; color:#28523f; background:#edf6e9; border:1px solid #cee2c6; border-radius:12px; }.test-login-current span { font-size:8px; font-weight:900; letter-spacing:.11em; }.test-login-current strong { font-size:13px; }.test-login-current small { color:#5f7669; font-size:10px; }.test-login-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:22px; }.test-login-option { display:flex; align-items:stretch; flex-direction:column; min-width:0; padding:20px; background:#f8faf6; border:1px solid #dce4d9; border-radius:15px; }.test-login-option.is-current { background:#edf6e9; border-color:#a8c6ad; box-shadow:inset 0 0 0 1px #a8c6ad; }.test-login-option > span,.test-login-option > strong,.test-login-option > small { display:block; }.test-login-option > span { color:#698075; font-size:8px; font-weight:950; letter-spacing:.12em; }.test-login-option > strong { margin-top:7px; font-size:17px; }.test-login-option > small { min-height:30px; margin-top:5px; overflow-wrap:anywhere; color:var(--muted); font-size:10px; line-height:1.45; }.test-login-option > p { flex:1; margin:12px 0 17px; color:#5d6b63; font-size:11px; line-height:1.55; }.test-login-option .shop-button { width:100%; }.test-login-footer { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 18px; margin-top:22px; padding-top:19px; border-top:1px solid var(--line); }.test-login-footer form { margin:0; }.test-login-footer .shop-button { min-height:38px; }.test-login-footer a { color:var(--green); font-size:10px; font-weight:800; text-decoration:underline; text-underline-offset:2px; }.test-login-safety { margin:17px 0 0!important; text-align:center; font-size:10px!important; }.test-login-admin-link { margin-top:18px!important; text-align:center; }@media (max-width:620px) { .test-login-card { padding:25px 20px; }.test-login-grid { grid-template-columns:1fr; }.test-login-option > small { min-height:0; }.test-login-footer { align-items:stretch; flex-direction:column; }.test-login-footer form,.test-login-footer .shop-button { width:100%; }.test-login-footer a { text-align:center; } }

.flash-image b small { display:block; max-width:110px; margin-top:5px; font-size:10px; line-height:1.3; }

/* Navigation shared with Vértice. */
.store-logout-form { display: inline-flex; margin: 0; }
.store-logout-form button { border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; padding: 0; }
.top-actions form { display: inline-flex; margin: 0; }

@media print { .vt-navigation-shell { display: none !important; } }

/* Keep the selected size distinct from disabled and low-stock sizes. */
.variant-size-input:checked + .variant-size-button,
.variant-size-input:checked:not(:disabled) + .variant-size-button:hover {
    color:#fff;
    background:var(--green);
    border-color:var(--green);
    box-shadow:0 0 0 2px #fff,0 0 0 3px var(--green);
}
.variant-size-input:focus-visible + .variant-size-button {
    outline:3px solid var(--green);
    outline-offset:4px;
}
.checkout-layout .summary-line > span { min-width:0; overflow-wrap:anywhere; }
.checkout-layout .summary-line > strong { flex-shrink:0; white-space:nowrap; }
.checkout-layout .form-note,.checkout-layout .legal-callout span { line-height:1.6; }
@media (max-width:680px) {
    .shop-form input:not([type="checkbox"]):not([type="radio"]),
    .shop-form select,.shop-form textarea,.quantity-field input { font-size:16px; }
    .checkout-layout .form-note,.checkout-layout .legal-callout span,
    .checkout-layout .payment-option small { font-size:13px; }
}
