:root{--spp-ink:#17130f;--spp-ink-2:#241d17;--spp-cream:#f4eee5;--spp-paper:#fffaf3;--spp-copper:#a94c2b;--spp-copper-2:#d9794e;--spp-gold:#c9a56b;--spp-muted:#655d56;--spp-line:rgba(23,19,15,.12);--spp-radius:28px;--spp-shadow:0 24px 70px rgba(40,27,17,.15);--spp-serif:Georgia,'Times New Roman',serif;--spp-sans:Inter,Arial,Helvetica,sans-serif}
html{scroll-behavior:smooth}body.spp-premium-active{margin:0;background:var(--spp-paper);color:var(--spp-ink);font-family:var(--spp-sans);font-size:16px;line-height:1.6;overflow-x:hidden}.spp-premium-active *{box-sizing:border-box}.spp-premium-active img{max-width:100%;height:auto}.spp-premium-active a{color:inherit;text-decoration:none}.spp-premium-active button,.spp-premium-active input,.spp-premium-active select,.spp-premium-active textarea{font:inherit}.spp-site{min-height:100vh;background:var(--spp-paper)}.spp-container{width:min(1380px,calc(100% - 64px));margin-inline:auto}.spp-main{min-height:60vh}.spp-section{padding:120px 0}.spp-section--cream{background:var(--spp-cream)}.spp-center{text-align:center;margin-top:54px}.spp-kicker{display:inline-flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#fff}.spp-kicker:before{content:'';width:38px;height:1px;background:currentColor}.spp-kicker--dark{color:var(--spp-copper)}
.spp-topline{height:38px;background:#0e0c0a;color:#d9c8b8;font-size:12px;letter-spacing:.04em}.spp-topline__inner{height:100%;display:flex;align-items:center;gap:18px}.spp-topline__inner a{margin-left:auto;color:#fff;font-weight:700}.spp-topline__sep{width:3px;height:3px;border-radius:50%;background:var(--spp-copper-2)}
.spp-header{position:sticky;top:0;z-index:100;background:rgba(255,250,243,.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(23,19,15,.08);transition:box-shadow .3s,background .3s}.spp-header.is-scrolled{box-shadow:0 12px 40px rgba(23,19,15,.09);background:rgba(255,250,243,.97)}.spp-header__inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.spp-brand{display:flex;align-items:center;max-width:260px;min-width:190px}.spp-brand img{display:block;max-height:52px;width:auto;object-fit:contain}.spp-brand>span,.spp-footer__brand{font-family:var(--spp-serif);font-weight:700;font-size:28px;letter-spacing:-.04em}.spp-brand>span span,.spp-footer__brand span{color:var(--spp-copper)}.spp-nav{display:flex;gap:40px;align-items:center}.spp-nav a{font-size:14px;font-weight:700;position:relative}.spp-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--spp-copper);transition:right .35s}.spp-nav a:hover:after{right:0}.spp-header__actions{display:flex;align-items:center;gap:14px}.spp-cart-link,.spp-menu-toggle{width:48px;height:48px;border-radius:50%;border:1px solid var(--spp-line);display:grid;place-items:center;background:#fff;position:relative}.spp-cart-link svg,.spp-floating-cart svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.spp-cart-count{position:absolute;right:-3px;top:-3px;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:var(--spp-copper);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.spp-menu-toggle{display:none;cursor:pointer;padding:0}.spp-menu-toggle span{display:block;width:20px;height:1.5px;background:var(--spp-ink);transition:.3s}.spp-menu-toggle span+span{margin-top:6px}.spp-menu-toggle.is-open span:first-child{transform:translateY(4px) rotate(45deg)}.spp-menu-toggle.is-open span:last-child{transform:translateY(-3px) rotate(-45deg)}.spp-mobile-nav{display:none}
.spp-hero{height:min(780px,calc(100vh - 126px));min-height:630px;position:relative;background:var(--spp-ink);overflow:hidden;color:#fff}.spp-hero__slides,.spp-hero__slide{position:absolute;inset:0}.spp-hero__slide{opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}.spp-hero__slide.is-active{opacity:1;visibility:visible}.spp-hero__bg{position:absolute;inset:-4%;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 8s ease}.spp-hero__slide.is-active .spp-hero__bg{transform:scale(1.12)}.spp-hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,9,7,.88) 0%,rgba(12,9,7,.58) 47%,rgba(12,9,7,.12) 78%),linear-gradient(0deg,rgba(12,9,7,.65),transparent 45%)}.spp-hero__content{height:100%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;padding-bottom:70px}.spp-hero__copy{max-width:760px}.spp-hero__copy h1{font-family:var(--spp-serif);font-weight:400;font-size:clamp(62px,7vw,112px);line-height:.92;letter-spacing:-.065em;margin:28px 0 28px;max-width:900px}.spp-hero__copy p{font-size:19px;max-width:650px;color:rgba(255,255,255,.8);margin:0 0 38px}.spp-hero__buttons{display:flex;gap:14px;flex-wrap:wrap}.spp-btn{min-height:58px;padding:0 26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:14px;font-weight:800;border:1px solid transparent;transition:transform .3s,background .3s,color .3s,border-color .3s;cursor:pointer;text-align:center}.spp-btn:hover{transform:translateY(-3px)}.spp-btn b{font-size:18px;line-height:1}.spp-btn--primary{background:var(--spp-copper);color:#fff}.spp-btn--primary:hover{background:#93401f}.spp-btn--ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.05);backdrop-filter:blur(10px)}.spp-btn--dark{background:var(--spp-ink);color:#fff}.spp-btn--light{background:#fff;color:var(--spp-ink)}.spp-hero__note{align-self:flex-end;margin-bottom:86px;width:180px;padding:22px;border:1px solid rgba(255,255,255,.25);background:rgba(20,14,10,.35);backdrop-filter:blur(16px);border-radius:22px}.spp-hero__note strong{display:block;font-family:var(--spp-serif);font-size:48px;line-height:1}.spp-hero__note span,.spp-hero__note small{display:block;color:rgba(255,255,255,.7);font-size:12px;margin-top:8px}.spp-hero__controls{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:18px}.spp-hero__controls button,.spp-slider-controls button{width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;display:grid;place-items:center}.spp-hero__controls span{font-size:12px;letter-spacing:.12em}.spp-hero__progress,.spp-slider-line{width:180px;height:2px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}.spp-hero__progress i,.spp-slider-line i{display:block;height:100%;width:0;background:#fff;transition:width .5s}
.spp-trustbar{background:var(--spp-ink);color:#fff}.spp-trustbar__grid{display:grid;grid-template-columns:repeat(4,1fr)}.spp-trustbar__grid>div{padding:34px 30px;border-left:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:42px 1fr;gap:2px 14px}.spp-trustbar__grid>div:last-child{border-right:1px solid rgba(255,255,255,.1)}.spp-trustbar b{color:var(--spp-copper-2);font-size:12px}.spp-trustbar span{font-weight:800}.spp-trustbar small{grid-column:2;color:rgba(255,255,255,.55)}
.spp-section-head{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(420px,1.6fr) minmax(220px,.7fr);align-items:end;gap:40px;margin-bottom:60px}.spp-section-head>span{color:var(--spp-copper);font-size:12px;text-transform:uppercase;letter-spacing:.17em;font-weight:800}.spp-section-head h2{font-family:var(--spp-serif);font-weight:400;font-size:clamp(42px,5vw,74px);line-height:1.02;letter-spacing:-.055em;margin:0}.spp-section-head h2 em{font-weight:400;color:var(--spp-copper)}.spp-section-head p{margin:0;color:var(--spp-muted);font-size:15px}
.spp-categories{background:var(--spp-paper);overflow:hidden}.spp-categories__rail{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:14px;cursor:grab}.spp-categories__rail::-webkit-scrollbar{display:none}.spp-categories__rail.is-dragging{cursor:grabbing}.spp-category-card{flex:0 0 min(340px,80vw);scroll-snap-align:start;border-radius:var(--spp-radius);overflow:hidden;background:var(--spp-ink);color:#fff;position:relative;min-height:470px}.spp-category-card__media{position:absolute;inset:0}.spp-category-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.spp-category-card__media span{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,10,7,.92),rgba(15,10,7,.06) 66%)}.spp-category-card__body{position:absolute;left:28px;right:28px;bottom:28px}.spp-category-card small{color:rgba(255,255,255,.62)}.spp-category-card h3{font-family:var(--spp-serif);font-weight:400;font-size:36px;line-height:1;margin:8px 0 18px}.spp-category-card b{font-size:13px}.spp-category-card:hover img{transform:scale(1.08)}
.spp-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.spp-product-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(23,19,15,.07);box-shadow:0 10px 34px rgba(51,31,18,.05);transition:transform .4s,box-shadow .4s}.spp-product-card:hover{transform:translateY(-8px);box-shadow:var(--spp-shadow)}.spp-product-card__media{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:#eee4d6}.spp-product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.spp-product-card:hover .spp-product-card__media img{transform:scale(1.06)}.spp-badge{position:absolute;left:16px;top:16px;background:var(--spp-copper);color:#fff;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:800}.spp-product-card__body{padding:22px}.spp-product-card__meta{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--spp-muted);min-height:20px}.spp-product-card__meta a{pointer-events:none}.spp-product-card h3{font-family:var(--spp-serif);font-size:25px;line-height:1.08;font-weight:400;margin:10px 0 22px;min-height:54px}.spp-product-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.spp-price{font-size:18px;font-weight:900}.spp-price del{font-size:13px;color:#9a9188}.spp-price ins{text-decoration:none;color:var(--spp-copper)}.spp-add{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--spp-ink);color:#fff!important;font-size:24px;transition:background .3s,transform .3s}.spp-add:hover{background:var(--spp-copper);transform:rotate(8deg)}
.spp-story{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px;background:var(--spp-ink);color:#fff}.spp-story__media{position:relative;overflow:hidden}.spp-story__media img{width:100%;height:100%;object-fit:cover}.spp-story__media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,var(--spp-ink))}.spp-story__stamp{position:absolute;right:50px;bottom:50px;z-index:2;width:150px;height:150px;border-radius:50%;background:var(--spp-copper);display:grid;place-content:center;text-align:center;transform:rotate(-8deg)}.spp-story__stamp span{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.spp-story__stamp strong{font-family:var(--spp-serif);font-size:30px}.spp-story__copy{padding:110px 8vw 90px 7vw;display:flex;flex-direction:column;justify-content:center}.spp-story__copy h2{font-family:var(--spp-serif);font-size:clamp(48px,5vw,76px);font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:28px 0}.spp-story__copy h2 em{color:var(--spp-copper-2);font-weight:400}.spp-story__copy>p{color:rgba(255,255,255,.68);font-size:17px;max-width:620px}.spp-story__numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:42px 0;border-top:1px solid rgba(255,255,255,.15);padding-top:34px}.spp-story__numbers b{display:block;font-family:var(--spp-serif);font-size:38px}.spp-story__numbers span{font-size:12px;color:rgba(255,255,255,.55)}.spp-text-link{display:inline-flex;align-items:center;gap:18px;font-weight:800}.spp-text-link span{transition:transform .3s}.spp-text-link:hover span{transform:translateX(7px)}
.spp-occasion{background:#fff}.spp-occasion__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.spp-occasion-card{padding:38px;min-height:320px;border-radius:var(--spp-radius);border:1px solid var(--spp-line);display:flex;flex-direction:column;transition:.4s;background:linear-gradient(145deg,#fff,#fbf4eb)}.spp-occasion-card>span{font-size:12px;color:var(--spp-copper);font-weight:800}.spp-occasion-card h3{font-family:var(--spp-serif);font-size:44px;font-weight:400;margin:38px 0 14px}.spp-occasion-card p{color:var(--spp-muted);margin:0}.spp-occasion-card b{margin-top:auto}.spp-occasion-card:hover{background:var(--spp-ink);color:#fff;transform:translateY(-6px)}.spp-occasion-card:hover p{color:rgba(255,255,255,.65)}
.spp-reviews{background:#211a15;color:#fff}.spp-reviews .spp-section-head{margin-bottom:40px}.spp-reviews .spp-section-head p{color:rgba(255,255,255,.55)}.spp-reviews__head{display:grid;grid-template-columns:1fr 220px;gap:50px;align-items:start}.spp-yandex-score{border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:22px;display:grid;grid-template-columns:44px 1fr;gap:0 14px;background:rgba(255,255,255,.04)}.spp-yandex-score>span{grid-row:1/3;width:44px;height:44px;border-radius:12px;background:#ffdb4d;color:#111;display:grid;place-items:center;font-size:22px;font-weight:900}.spp-yandex-score strong{font-family:var(--spp-serif);font-size:34px;line-height:1}.spp-yandex-score small{color:rgba(255,255,255,.55)}.spp-review-slider{overflow:hidden}.spp-review-slider__track{display:flex;gap:22px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.spp-review-card{flex:0 0 calc((100% - 44px)/3);min-height:330px;border-radius:26px;padding:34px;background:#2b221c;border:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column}.spp-review-card__stars{letter-spacing:.16em;color:#ffd36d}.spp-review-card blockquote{font-family:var(--spp-serif);font-size:25px;line-height:1.35;margin:30px 0;color:#fff}.spp-review-card__author{display:flex;align-items:center;gap:14px;margin-top:auto}.spp-review-card__author>span{width:46px;height:46px;border-radius:50%;background:var(--spp-copper);display:grid;place-items:center;font-weight:900}.spp-review-card__author strong,.spp-review-card__author small{display:block}.spp-review-card__author small{color:rgba(255,255,255,.5);font-size:11px}.spp-slider-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:28px}.spp-slider-line{background:rgba(255,255,255,.16)}.spp-yandex-widget{margin-top:44px;border-top:1px solid rgba(255,255,255,.14);padding-top:24px}.spp-yandex-widget summary{cursor:pointer;font-weight:800}.spp-yandex-widget>div{height:680px;position:relative;margin-top:22px;overflow:hidden;border-radius:24px}.spp-yandex-widget iframe{width:100%;height:100%;border:0;background:#fff}.spp-yandex-widget a{position:absolute;left:16px;right:16px;bottom:8px;text-align:center;color:#888;font-size:10px}
.spp-cta-strip{padding:72px 0;background:var(--spp-copper);color:#fff}.spp-cta-strip__inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.spp-cta-strip span{font-size:12px;text-transform:uppercase;letter-spacing:.18em}.spp-cta-strip h2{font-family:var(--spp-serif);font-size:clamp(38px,5vw,70px);font-weight:400;line-height:1;margin:10px 0 0}
.spp-footer{background:#0f0d0b;color:#fff;padding:80px 0 30px}.spp-footer__top{display:grid;grid-template-columns:1.6fr .7fr .9fr;gap:80px}.spp-footer__brand{display:inline-flex;align-items:center;font-size:34px}.spp-footer__brand img{display:block;max-height:68px;width:auto;object-fit:contain}.spp-footer p{color:rgba(255,255,255,.52);max-width:520px}.spp-footer h3{font-size:12px;text-transform:uppercase;letter-spacing:.17em;color:var(--spp-copper-2);margin:0 0 20px}.spp-footer__top>div:nth-child(n+2){display:flex;flex-direction:column;gap:10px}.spp-footer__bottom{margin-top:70px;padding-top:24px;border-top:1px solid rgba(255,255,255,.11);display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:12px}.spp-floating-cart{position:fixed;right:24px;bottom:24px;width:62px;height:62px;border-radius:50%;background:var(--spp-copper);color:#fff;display:grid;place-items:center;z-index:90;box-shadow:0 16px 40px rgba(184,88,50,.35)}
.spp-inner-hero{position:relative;min-height:460px;background:var(--spp-ink);color:#fff;overflow:hidden;display:flex;align-items:end}.spp-inner-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}.spp-inner-hero>span{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,10,8,.9),rgba(14,10,8,.3)),linear-gradient(0deg,rgba(14,10,8,.8),transparent)}.spp-inner-hero__content{position:relative;z-index:2;padding:90px 0 70px}.spp-inner-hero h1{font-family:var(--spp-serif);font-size:clamp(58px,7vw,100px);line-height:.95;letter-spacing:-.06em;font-weight:400;margin:22px 0}.spp-inner-hero__lead{max-width:760px;color:rgba(255,255,255,.7);font-size:18px}.spp-inner-hero--compact{min-height:330px;background:linear-gradient(135deg,#17130f,#35251b)}.spp-inner-hero--page{min-height:520px;background:radial-gradient(circle at 70% 40%,#573421 0,transparent 32%),linear-gradient(135deg,#17130f,#2a1f18)}.spp-breadcrumbs{display:flex;align-items:center;gap:10px;font-size:12px;color:rgba(255,255,255,.6);margin-bottom:36px}.spp-breadcrumbs span:last-child{color:#fff}.spp-landing-hero .spp-breadcrumbs,.spp-product-page .spp-breadcrumbs{color:var(--spp-muted)}.spp-landing-hero .spp-breadcrumbs span:last-child,.spp-product-page .spp-breadcrumbs span:last-child{color:var(--spp-ink)}
.spp-catalog-nav{position:sticky;top:88px;z-index:40;background:rgba(255,250,243,.96);backdrop-filter:blur(15px);border-bottom:1px solid var(--spp-line)}.spp-catalog-nav__rail{display:flex;gap:8px;overflow-x:auto;padding:14px 0;scrollbar-width:none}.spp-catalog-nav__rail::-webkit-scrollbar{display:none}.spp-catalog-nav a{white-space:nowrap;border:1px solid var(--spp-line);padding:10px 16px;border-radius:999px;font-weight:800;font-size:12px;display:flex;gap:8px;align-items:center}.spp-catalog-nav a small{color:var(--spp-muted)}.spp-catalog-nav a.is-active,.spp-catalog-nav a:hover{background:var(--spp-ink);color:#fff;border-color:var(--spp-ink)}.spp-catalog-section{padding-top:80px}.spp-catalog-toolbar{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.spp-catalog-toolbar>div>span{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--spp-copper);font-weight:800}.spp-catalog-toolbar h2{font-family:var(--spp-serif);font-size:50px;font-weight:400;margin:5px 0 0}.spp-catalog-toolbar .woocommerce-ordering{margin:0}.spp-catalog-toolbar select{border:1px solid var(--spp-line);background:#fff;border-radius:999px;padding:12px 42px 12px 18px}.spp-pagination{text-align:center;margin-top:54px}.spp-pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;border-radius:50%;margin:4px;border:1px solid var(--spp-line);background:#fff}.spp-pagination .current{background:var(--spp-ink);color:#fff}.spp-empty{grid-column:1/-1;padding:50px;background:#fff;border-radius:24px;text-align:center}
.spp-product-page{padding-top:58px;background:var(--spp-paper)}.spp-product-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}.spp-product-gallery__stage{position:relative;aspect-ratio:1/1;background:var(--spp-cream);border-radius:30px;overflow:hidden}.spp-product-gallery__stage figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .45s}.spp-product-gallery__stage figure.is-active{opacity:1}.spp-product-gallery__stage img{width:100%;height:100%;object-fit:cover}.spp-product-gallery__thumbs{display:flex;gap:12px;margin-top:16px;overflow-x:auto}.spp-product-gallery__thumbs button{width:82px;height:82px;border-radius:18px;border:2px solid transparent;padding:0;overflow:hidden;background:#eee;cursor:pointer}.spp-product-gallery__thumbs button.is-active{border-color:var(--spp-copper)}.spp-product-gallery__thumbs img{width:100%;height:100%;object-fit:cover}.spp-product-summary{padding-top:28px;position:sticky;top:130px}.spp-product-summary h1{font-family:var(--spp-serif);font-size:clamp(52px,6vw,86px);line-height:.96;letter-spacing:-.06em;font-weight:400;margin:24px 0}.spp-product-summary__lead{font-size:17px;color:var(--spp-muted);max-width:640px}.spp-product-summary__price{font-size:30px;font-weight:900;margin:32px 0}.spp-product-summary__buy form.cart{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0 0 34px}.spp-product-summary__buy .quantity input{width:90px;height:58px;border:1px solid var(--spp-line);border-radius:999px;text-align:center;background:#fff}.spp-product-summary__buy .single_add_to_cart_button{min-height:58px;border:0;border-radius:999px;background:var(--spp-copper)!important;color:#fff!important;padding:0 28px!important;font-weight:900!important;opacity:1!important;display:inline-flex!important;align-items:center;justify-content:center;text-align:center;line-height:1.2}.spp-product-summary__buy table.variations{width:100%;border-collapse:collapse;margin-bottom:20px}.spp-product-summary__buy table.variations th,.spp-product-summary__buy table.variations td{padding:8px 0;text-align:left;display:block}.spp-product-summary__buy table.variations select{width:100%;height:54px;border:1px solid var(--spp-line);border-radius:14px;padding:0 14px;background:#fff}.spp-product-summary__buy .reset_variations{font-size:12px;color:var(--spp-copper)}.spp-product-summary__benefits{border-top:1px solid var(--spp-line)}.spp-product-summary__benefits>div{padding:18px 0;border-bottom:1px solid var(--spp-line);display:grid;grid-template-columns:170px 1fr;gap:20px}.spp-product-summary__benefits span{color:var(--spp-muted);font-size:14px}.spp-product-description{margin-top:90px;padding-top:50px;border-top:1px solid var(--spp-line);display:grid;grid-template-columns:220px 1fr;gap:60px}.spp-product-description>span{text-transform:uppercase;letter-spacing:.15em;font-size:12px;color:var(--spp-copper);font-weight:800}.spp-product-description>div{font-size:18px;max-width:900px}
.spp-commerce__shell{background:#fff;border-radius:30px;padding:42px;box-shadow:0 14px 45px rgba(42,29,20,.07)}.spp-commerce__note{color:var(--spp-muted);font-size:13px;margin-top:18px}.spp-commerce .woocommerce{font-family:var(--spp-sans)}.spp-commerce table.shop_table{border:1px solid var(--spp-line)!important;border-radius:18px!important;overflow:hidden;border-collapse:separate}.spp-commerce table.shop_table th,.spp-commerce table.shop_table td{padding:18px!important}.spp-commerce .button,.spp-commerce button.button,.spp-commerce input.button{border-radius:999px!important;background:var(--spp-ink)!important;color:#fff!important;min-height:48px!important;padding:0 22px!important;font-weight:800!important;display:inline-flex!important;align-items:center;justify-content:center;text-align:center;line-height:1.2}.spp-commerce .checkout-button,.spp-commerce #place_order{background:var(--spp-copper)!important;min-height:58px!important}.spp-commerce input.input-text,.spp-commerce textarea,.spp-commerce select,.spp-commerce .select2-selection{border:1px solid var(--spp-line)!important;border-radius:12px!important;min-height:50px!important;padding:10px 14px!important;background:#fff!important}.spp-commerce .form-row label{font-weight:800;font-size:13px}.spp-commerce #payment{background:var(--spp-cream)!important;border-radius:20px!important}.spp-commerce .woocommerce-error,.spp-commerce .woocommerce-info,.spp-commerce .woocommerce-message{border-top-color:var(--spp-copper)!important;border-radius:12px;background:#fff8ee}.spp-commerce .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 24px;display:flex;gap:8px;flex-wrap:wrap}.spp-commerce .woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border:1px solid var(--spp-line);border-radius:999px}
.spp-landing-hero{padding:80px 0 100px;background:linear-gradient(135deg,#fffaf3,#ead8c7);position:relative;isolation:isolate;overflow:hidden}.spp-landing-hero:after{content:'';position:absolute;right:0;top:0;width:44%;height:100%;background-image:linear-gradient(90deg,#fffaf3 0%,rgba(255,250,243,.82) 18%,rgba(255,250,243,.18) 70%),var(--spp-landing-image);background-size:cover;background-position:center;opacity:.36;z-index:-1;pointer-events:none}.spp-landing-hero>.spp-container{position:relative;z-index:1}.spp-landing-hero>.spp-container{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}.spp-landing-hero h1{font-family:var(--spp-serif);font-size:clamp(62px,7vw,104px);line-height:.92;letter-spacing:-.065em;font-weight:400;margin:24px 0}.spp-landing-hero__copy>p{font-size:19px;color:var(--spp-muted);max-width:720px}.spp-landing-hero__actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px}.spp-landing-hero__facts{border-left:1px solid var(--spp-line)}.spp-landing-hero__facts>div{padding:22px 0 22px 28px;border-bottom:1px solid var(--spp-line);display:grid;grid-template-columns:42px 1fr;gap:15px}.spp-landing-hero__facts b{font-size:12px;color:var(--spp-copper)}.spp-seo-copy{padding:110px 0;background:#fff}.spp-seo-copy__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.spp-seo-copy h2{font-family:var(--spp-serif);font-size:58px;line-height:1;font-weight:400}.spp-seo-copy p{font-size:18px;color:var(--spp-muted)}
.spp-page-content{min-height:480px}.spp-editorial-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.spp-editorial-grid h2{font-family:var(--spp-serif);font-size:64px;line-height:1;font-weight:400}.spp-editorial-grid>div>p{font-size:18px;color:var(--spp-muted)}.spp-editorial-cards{display:grid;gap:16px}.spp-editorial-cards>div{padding:28px;border-radius:22px;background:#fff;border:1px solid var(--spp-line);display:grid;grid-template-columns:50px 1fr;gap:4px 18px}.spp-editorial-cards b{color:var(--spp-copper)}.spp-editorial-cards h3{margin:0;font-family:var(--spp-serif);font-size:30px;font-weight:400}.spp-editorial-cards p{grid-column:2;margin:4px 0;color:var(--spp-muted)}.spp-delivery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.spp-delivery-grid>div{padding:30px;background:#fff;border-radius:24px;min-height:240px}.spp-delivery-grid span{color:var(--spp-copper);font-weight:900}.spp-delivery-grid h3{font-family:var(--spp-serif);font-size:30px;font-weight:400}.spp-delivery-grid p{color:var(--spp-muted)}.spp-delivery-note{margin-top:22px;border-radius:28px;padding:46px;background:var(--spp-ink);color:#fff;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center}.spp-delivery-note h2{font-family:var(--spp-serif);font-size:42px;font-weight:400;margin:0}.spp-delivery-note p{color:rgba(255,255,255,.6)}.spp-contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.spp-contact-card,.spp-contact-list{background:#fff;border-radius:28px;padding:42px}.spp-contact-card>span,.spp-contact-list span{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--spp-copper);font-weight:800}.spp-contact-card h2{font-family:var(--spp-serif);font-size:48px;line-height:1.1;font-weight:400}.spp-contact-list{display:grid;gap:30px}.spp-contact-list>div{display:flex;flex-direction:column;gap:5px}.spp-contact-list a{font-size:20px;font-weight:800}.spp-map{height:480px;border-radius:28px;overflow:hidden;margin-top:24px}.spp-map iframe{width:100%;height:100%;border:0}.spp-requisites{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:28px;overflow:hidden}.spp-requisites>div{padding:28px 32px;border-bottom:1px solid var(--spp-line);display:grid;gap:7px}.spp-requisites>div:nth-child(odd){border-right:1px solid var(--spp-line)}.spp-requisites span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--spp-copper);font-weight:800}.spp-promos{display:grid;grid-template-columns:1fr 1fr;gap:22px}.spp-promo-card{min-height:390px;padding:46px;border-radius:28px;background:var(--spp-ink);color:#fff;display:flex;flex-direction:column}.spp-promo-card:nth-child(2){background:var(--spp-copper)}.spp-promo-card>span{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.spp-promo-card h2{font-family:var(--spp-serif);font-size:56px;line-height:1;font-weight:400}.spp-promo-card p{color:rgba(255,255,255,.68)}.spp-promo-card a{margin-top:auto;font-weight:800}.spp-article{max-width:900px;margin:auto;background:#fff;border-radius:28px;padding:50px;font-size:18px}.spp-article h2,.spp-article h3{font-family:var(--spp-serif);font-weight:400}.spp-article h2{font-size:44px}
.spp-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1)}.spp-reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.spp-nav{display:none}.spp-menu-toggle{display:grid}.spp-mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--spp-paper);border-bottom:1px solid var(--spp-line);padding:20px 32px 30px;display:grid;gap:10px;transform:translateY(-20px);opacity:0;visibility:hidden;transition:.3s}.spp-mobile-nav.is-open{transform:none;opacity:1;visibility:visible}.spp-mobile-nav a{padding:12px 0;border-bottom:1px solid var(--spp-line);font-weight:800}.spp-products-grid{grid-template-columns:repeat(3,1fr)}.spp-section-head{grid-template-columns:1fr 2fr}.spp-section-head p{grid-column:2}.spp-story{grid-template-columns:1fr}.spp-story__media{height:540px}.spp-story__media:after{background:linear-gradient(0deg,var(--spp-ink),transparent 40%)}.spp-story__copy{padding:80px 7vw}.spp-review-card{flex-basis:calc((100% - 22px)/2)}.spp-delivery-grid{grid-template-columns:repeat(2,1fr)}.spp-delivery-note{grid-template-columns:1fr}.spp-product-layout{gap:45px}.spp-landing-hero>.spp-container{grid-template-columns:1fr}.spp-landing-hero__facts{border-left:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.spp-landing-hero__facts>div{border:1px solid var(--spp-line);border-radius:18px;padding:18px;display:block}.spp-footer__top{grid-template-columns:1.3fr .7fr .9fr;gap:40px}}
@media(max-width:820px){.spp-container{width:min(100% - 34px,1380px)}.spp-topline__inner span:nth-child(2),.spp-topline__inner span:nth-child(3){display:none}.spp-header__inner{height:74px}.spp-brand{min-width:0;max-width:200px}.spp-brand img{max-height:42px}.spp-hero{height:710px;min-height:710px}.spp-hero__content{align-items:flex-end;padding-bottom:120px}.spp-hero__copy h1{font-size:64px}.spp-hero__copy p{font-size:16px}.spp-hero__note{display:none}.spp-hero__controls{bottom:28px}.spp-hero__progress{width:100px}.spp-trustbar__grid{grid-template-columns:1fr 1fr}.spp-trustbar__grid>div:nth-child(3){border-top:1px solid rgba(255,255,255,.1)}.spp-section{padding:82px 0}.spp-section-head{display:block;margin-bottom:40px}.spp-section-head h2{margin:12px 0}.spp-products-grid{grid-template-columns:repeat(2,1fr);gap:14px}.spp-product-card__body{padding:16px}.spp-product-card h3{font-size:21px;min-height:46px}.spp-product-card__meta{display:none}.spp-price{font-size:15px}.spp-add{width:38px;height:38px}.spp-occasion__grid{grid-template-columns:1fr}.spp-occasion-card{min-height:260px}.spp-reviews__head{display:block}.spp-yandex-score{max-width:230px;margin-bottom:30px}.spp-review-card{flex-basis:86%;min-height:300px}.spp-cta-strip__inner{display:block}.spp-cta-strip .spp-btn{margin-top:30px}.spp-footer__top{grid-template-columns:1fr 1fr}.spp-footer__top>div:first-child{grid-column:1/-1}.spp-inner-hero{min-height:410px}.spp-inner-hero__content{padding:70px 0 50px}.spp-inner-hero h1{font-size:58px}.spp-catalog-nav{top:74px}.spp-catalog-toolbar{display:block}.spp-catalog-toolbar .woocommerce-ordering{margin-top:18px}.spp-product-layout{grid-template-columns:1fr}.spp-product-summary{position:static}.spp-product-summary h1{font-size:58px}.spp-product-description{grid-template-columns:1fr;gap:15px}.spp-seo-copy__grid,.spp-editorial-grid,.spp-contact-grid{grid-template-columns:1fr;gap:35px}.spp-delivery-note{padding:32px}.spp-requisites{grid-template-columns:1fr}.spp-requisites>div:nth-child(odd){border-right:0}.spp-promos{grid-template-columns:1fr}.spp-commerce__shell{padding:22px}.spp-commerce table.shop_table_responsive tr td{padding-left:42%!important}.spp-map{height:360px}}
@media(max-width:540px){.spp-topline{height:34px}.spp-topline__inner a{margin-left:0}.spp-header__actions{gap:7px}.spp-cart-link,.spp-menu-toggle{width:42px;height:42px}.spp-brand{max-width:150px}.spp-hero{height:650px;min-height:650px}.spp-hero__copy h1{font-size:50px}.spp-hero__buttons{display:grid}.spp-btn{width:100%}.spp-hero__controls{justify-content:center}.spp-trustbar__grid{grid-template-columns:1fr}.spp-trustbar__grid>div{border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.spp-category-card{flex-basis:82vw;min-height:430px}.spp-products-grid{grid-template-columns:1fr 1fr}.spp-product-card h3{font-size:18px;min-height:40px}.spp-product-card__bottom{align-items:flex-end}.spp-price{max-width:90px}.spp-price .woocommerce-Price-amount{white-space:nowrap}.spp-story__media{height:420px}.spp-story__stamp{width:110px;height:110px;right:20px;bottom:20px}.spp-story__copy{padding:65px 25px}.spp-story__numbers{grid-template-columns:1fr;gap:20px}.spp-review-card{flex-basis:94%;padding:26px}.spp-review-card blockquote{font-size:22px}.spp-footer__top{grid-template-columns:1fr}.spp-footer__top>div:first-child{grid-column:auto}.spp-footer__bottom{display:block}.spp-footer__bottom a{display:block;margin-top:8px}.spp-floating-cart{width:56px;height:56px;right:16px;bottom:16px}.spp-landing-hero{padding-top:50px}.spp-landing-hero h1{font-size:54px}.spp-landing-hero__facts{grid-template-columns:1fr}.spp-delivery-grid{grid-template-columns:1fr}.spp-contact-card,.spp-contact-list{padding:28px}.spp-contact-card h2{font-size:36px}.spp-promo-card{padding:30px;min-height:320px}.spp-promo-card h2{font-size:44px}.spp-article{padding:26px}.spp-commerce table.shop_table_responsive tr td{padding-left:10px!important}.spp-commerce table.shop_table_responsive tr td:before{float:none;display:block;margin-bottom:4px}.spp-product-summary__benefits>div{grid-template-columns:1fr;gap:2px}}
@media(max-width:820px){.spp-landing-hero:after{width:100%;opacity:.16;background-image:linear-gradient(0deg,rgba(255,250,243,.94),rgba(255,250,243,.48)),var(--spp-landing-image)}.spp-footer__brand img{max-height:58px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spp-reveal{opacity:1;transform:none;transition:none}.spp-hero__bg,.spp-product-card,.spp-category-card img{transition:none!important}.spp-hero__slide{transition:none}}
/* Location landing pages — v1.1.0 */
.spp-landing-hero--location{position:relative;isolation:isolate}.spp-landing-hero--location:before{content:'';position:absolute;right:-9vw;top:-14vw;width:44vw;height:44vw;border-radius:50%;background:radial-gradient(circle,rgba(184,88,50,.16),rgba(184,88,50,0) 68%);z-index:-1;pointer-events:none}.spp-section--ink{background:var(--spp-ink);color:#fff}.spp-section--ink .spp-section-head h2{color:#fff}.spp-section--ink .spp-section-head p{color:rgba(255,255,255,.62)}
.spp-local-story{padding:120px 0;background:#fff}.spp-local-story__grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px;align-items:start}.spp-local-story__heading{position:sticky;top:150px}.spp-local-story__heading h2{font-family:var(--spp-serif);font-size:clamp(48px,5vw,74px);line-height:1;letter-spacing:-.055em;font-weight:400;margin:24px 0 0}.spp-local-story__copy>p{font-size:19px;color:var(--spp-muted);margin:0 0 24px}.spp-local-note{margin-top:38px;padding:28px 30px;border:1px solid var(--spp-line);border-radius:22px;background:var(--spp-paper);display:grid;grid-template-columns:74px 1fr;gap:20px}.spp-local-note span{color:var(--spp-copper);font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.spp-local-note p{margin:0;color:var(--spp-ink);font-weight:700}
.spp-local-audiences{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.spp-local-audience{min-height:310px;padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));display:flex;flex-direction:column;transition:transform .4s,border-color .4s,background .4s}.spp-local-audience:hover{transform:translateY(-8px);border-color:rgba(217,121,78,.55);background:linear-gradient(145deg,rgba(217,121,78,.17),rgba(255,255,255,.025))}.spp-local-audience>span{color:var(--spp-copper-2);font-size:12px;font-weight:900}.spp-local-audience h3{font-family:var(--spp-serif);font-size:38px;line-height:1.03;font-weight:400;margin:50px 0 18px}.spp-local-audience p{margin:auto 0 0;color:rgba(255,255,255,.62)}
.spp-area-links{padding:110px 0;background:linear-gradient(135deg,#f8f1e8,#e8d6c4)}.spp-area-links__head{display:grid;grid-template-columns:.65fr 1.25fr .8fr;gap:35px;align-items:end;margin-bottom:48px}.spp-area-links__head h2,.spp-zones-block__head h2{font-family:var(--spp-serif);font-size:clamp(44px,5vw,70px);line-height:1;font-weight:400;letter-spacing:-.05em;margin:0}.spp-area-links__head p,.spp-zones-block__head p{margin:0;color:var(--spp-muted)}.spp-area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.spp-area-card,.spp-zone-card{min-height:88px;padding:22px 24px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid rgba(23,19,15,.1);display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:800;transition:transform .3s,background .3s,box-shadow .3s}.spp-area-card:hover,.spp-zone-card:hover{transform:translateY(-4px);background:#fff;box-shadow:0 14px 38px rgba(46,29,18,.09)}.spp-area-card b,.spp-zone-card b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--spp-ink);color:#fff;flex:0 0 auto}.spp-text-link--dark{color:var(--spp-ink);font-weight:900}
.spp-zones-block{margin-top:90px}.spp-zones-block__head{display:grid;grid-template-columns:.7fr 1.2fr .9fr;gap:35px;align-items:end;margin-bottom:42px}.spp-zones-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.spp-zone-card{min-height:78px;background:#fff}
@media(max-width:1100px){.spp-local-story__grid{grid-template-columns:1fr;gap:42px}.spp-local-story__heading{position:static}.spp-area-links__head,.spp-zones-block__head{grid-template-columns:1fr 2fr}.spp-area-links__head p,.spp-zones-block__head p{grid-column:2}.spp-zones-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.spp-local-story,.spp-area-links{padding:82px 0}.spp-local-audiences{grid-template-columns:1fr}.spp-local-audience{min-height:240px}.spp-local-audience h3{margin-top:34px}.spp-area-links__head,.spp-zones-block__head{display:block}.spp-area-links__head h2,.spp-zones-block__head h2{margin:14px 0}.spp-area-grid,.spp-zones-grid{grid-template-columns:repeat(2,1fr)}.spp-area-links__head p,.spp-zones-block__head p{max-width:620px}}
@media(max-width:540px){.spp-local-story__heading h2{font-size:48px}.spp-local-note{grid-template-columns:1fr;padding:23px}.spp-local-audience{padding:27px}.spp-local-audience h3{font-size:34px}.spp-area-grid,.spp-zones-grid{grid-template-columns:1fr}.spp-area-card,.spp-zone-card{min-height:72px}.spp-zones-block{margin-top:70px}}

/* Legacy motion and accessibility refinements */
.spp-products-grid>.spp-reveal:nth-child(2),.spp-occasion__grid>.spp-reveal:nth-child(2),.spp-local-audiences>.spp-reveal:nth-child(2){transition-delay:.08s}.spp-products-grid>.spp-reveal:nth-child(3),.spp-occasion__grid>.spp-reveal:nth-child(3),.spp-local-audiences>.spp-reveal:nth-child(3){transition-delay:.16s}.spp-products-grid>.spp-reveal:nth-child(4){transition-delay:.24s}.spp-btn:focus-visible,.spp-add:focus-visible,.spp-hero__controls button:focus-visible,.spp-slider-controls button:focus-visible{outline:3px solid var(--spp-gold);outline-offset:3px}.spp-text-link{display:inline-flex;align-items:center;gap:8px}.spp-yandex-score:focus-visible,.spp-zone-card:focus-visible,.spp-area-card:focus-visible{outline:3px solid var(--spp-gold);outline-offset:3px}

.spp-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.spp-faq-item{border:1px solid var(--spp-line);border-radius:22px;background:#fff;overflow:hidden}.spp-faq-item summary{min-height:88px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-family:var(--spp-serif);font-size:24px;line-height:1.15;list-style:none}.spp-faq-item summary::-webkit-details-marker{display:none}.spp-faq-item summary span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--spp-ink);color:#fff;font-family:var(--spp-sans);font-size:22px;flex:0 0 auto;transition:transform .3s,background .3s}.spp-faq-item[open] summary span{transform:rotate(45deg);background:var(--spp-copper)}.spp-faq-item p{margin:0;padding:0 26px 28px;color:var(--spp-muted)}@media(max-width:820px){.spp-faq-grid{grid-template-columns:1fr}.spp-faq-item summary{font-size:21px;min-height:76px;padding:21px}.spp-faq-item p{padding:0 21px 24px}}

/* ========================================================================
   PREMIUM REDESIGN — 1.2.0
   High-contrast interface, compact hero, premium header and richer pages.
   ======================================================================== */
:root {
  --spp-ink: #17120f;
  --spp-ink-2: #241a15;
  --spp-ink-3: #35251d;
  --spp-paper: #fffaf4;
  --spp-cream: #f3eadf;
  --spp-cream-2: #e9dccd;
  --spp-copper: #b54d2b;
  --spp-copper-2: #df7546;
  --spp-copper-dark: #87371f;
  --spp-gold: #d6ad73;
  --spp-muted: #6a5f57;
  --spp-line: rgba(31, 22, 17, .13);
  --spp-line-light: rgba(255, 255, 255, .14);
  --spp-radius: 28px;
  --spp-radius-sm: 18px;
  --spp-shadow: 0 28px 80px rgba(55, 34, 22, .16);
  --spp-shadow-soft: 0 18px 48px rgba(55, 34, 22, .09);
  --spp-serif: Georgia, "Times New Roman", serif;
  --spp-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

body.spp-premium-active {
  background: var(--spp-paper) !important;
  color: var(--spp-ink) !important;
  font-family: var(--spp-sans) !important;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.spp-premium-active .spp-site,
.spp-premium-active .spp-main {
  background: var(--spp-paper);
  color: var(--spp-ink);
}

.spp-premium-active h1,
.spp-premium-active h2,
.spp-premium-active h3,
.spp-premium-active h4,
.spp-premium-active p,
.spp-premium-active span,
.spp-premium-active strong,
.spp-premium-active small,
.spp-premium-active label,
.spp-premium-active li {
  opacity: 1;
}

.spp-container {
  width: min(1360px, calc(100% - 72px));
}

.spp-section {
  padding: 112px 0;
}

.spp-section--cream {
  background:
    radial-gradient(circle at 8% 15%, rgba(213, 173, 115, .12), transparent 28%),
    linear-gradient(180deg, #f7f0e7 0%, var(--spp-cream) 100%);
}

.spp-kicker,
.spp-kicker--dark {
  color: var(--spp-copper-2) !important;
  font-family: var(--spp-sans);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  line-height: 1.3;
}

.spp-kicker::before {
  width: 42px;
  height: 2px;
  background: currentColor;
}

.spp-section-head-wrap {
  position: relative;
}

.spp-section-head {
  grid-template-columns: minmax(170px, .55fr) minmax(440px, 1.45fr) minmax(240px, .7fr);
  gap: 52px;
  margin-bottom: 54px;
}

.spp-section-head > span {
  color: var(--spp-copper) !important;
  font-weight: 900;
}

.spp-section-head h2 {
  color: var(--spp-ink) !important;
  font-size: clamp(42px, 4.8vw, 70px);
  line-height: .98;
  letter-spacing: -.055em;
}

.spp-section-head h2 em {
  color: var(--spp-copper) !important;
}

.spp-section-head p {
  color: var(--spp-muted) !important;
  font-size: 15px;
  line-height: 1.7;
}

/* Buttons — explicit readable contrast everywhere */
.spp-btn,
.spp-premium-active .button,
.spp-premium-active button.button,
.spp-premium-active input.button,
.spp-premium-active .woocommerce a.button,
.spp-premium-active .woocommerce button.button,
.spp-premium-active .woocommerce input.button {
  min-height: 56px;
  border-radius: 999px;
  border: 1px solid transparent;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px;
  padding: 0 28px;
  line-height: 1.1 !important;
  text-align: center !important;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease, border-color .28s ease;
}

.spp-btn::after,
.spp-header__order::after {
  content: "";
  position: absolute;
  inset: -2px auto -2px -48%;
  width: 36%;
  transform: skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), transparent);
  transition: left .55s ease;
  pointer-events: none;
}

.spp-btn:hover::after,
.spp-header__order:hover::after {
  left: 120%;
}

.spp-btn:hover,
.spp-premium-active .button:hover,
.spp-premium-active button.button:hover,
.spp-premium-active input.button:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(58, 31, 19, .18);
}

.spp-btn--primary,
.spp-premium-active .single_add_to_cart_button,
.spp-premium-active .checkout-button,
.spp-premium-active #place_order {
  background: linear-gradient(135deg, #c95a32, var(--spp-copper-dark)) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .08) !important;
  box-shadow: 0 12px 30px rgba(181, 77, 43, .28);
}

.spp-btn--dark {
  background: linear-gradient(135deg, #251b16, #0f0c0a) !important;
  color: #fff !important;
  border-color: #251b16 !important;
}

.spp-btn--light {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border-color: rgba(255, 255, 255, .7) !important;
}

.spp-btn--ghost {
  background: rgba(255, 255, 255, .08) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .34) !important;
  backdrop-filter: blur(14px);
}

/* Header */
.spp-topline {
  height: 38px;
  background: #120e0c !important;
  color: #f0dfd2 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.spp-topline__inner {
  justify-content: space-between;
  gap: 24px;
}

.spp-topline__group {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.spp-topline__group--right {
  margin-left: auto;
}

.spp-topline__inner span,
.spp-topline__inner a {
  color: #ead8ca !important;
  font-size: 12px;
}

.spp-topline__inner a {
  margin-left: 0;
}

.spp-topline__phone {
  color: #fff !important;
  font-weight: 850 !important;
}

.spp-topline__status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.spp-topline__status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #66b77a;
  box-shadow: 0 0 0 5px rgba(102, 183, 122, .12);
}

.spp-header {
  position: sticky;
  top: 0;
  z-index: 1100;
  background: rgba(255, 250, 244, .96) !important;
  border-bottom: 1px solid rgba(31, 22, 17, .08);
  backdrop-filter: blur(22px) saturate(1.25);
}

.admin-bar .spp-header {
  top: 32px;
}

.spp-header.is-scrolled {
  background: rgba(255, 250, 244, .99) !important;
  box-shadow: 0 16px 50px rgba(45, 28, 18, .12);
}

.spp-header__inner {
  height: 92px;
  gap: 30px;
}

.spp-brand {
  flex: 0 0 auto;
  min-width: 150px;
  max-width: 210px;
}

.spp-brand img {
  max-height: 66px;
  width: auto;
  filter: drop-shadow(0 7px 14px rgba(48, 29, 17, .12));
}

.spp-nav {
  gap: 32px;
  margin-left: auto;
}

.spp-nav > a,
.spp-nav__item > a {
  color: var(--spp-ink) !important;
  font-size: 14px;
  font-weight: 800;
  padding: 34px 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.spp-nav > a::after,
.spp-nav__item > a::after {
  bottom: 23px;
  height: 2px;
  background: var(--spp-copper);
}

.spp-nav__item {
  position: relative;
}

.spp-nav__item > a > span {
  font-size: 15px;
  color: var(--spp-copper) !important;
  transition: transform .25s ease;
}

.spp-nav__item:hover > a > span,
.spp-nav__item:focus-within > a > span {
  transform: rotate(180deg);
}

.spp-nav-catalog {
  position: absolute;
  top: calc(100% - 8px);
  left: 50%;
  width: min(780px, 78vw);
  transform: translate(-44%, 14px);
  background: rgba(255, 250, 244, .99);
  color: var(--spp-ink);
  border: 1px solid rgba(31, 22, 17, .1);
  border-radius: 26px;
  box-shadow: 0 28px 80px rgba(35, 22, 14, .22);
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}

.spp-nav__item:hover .spp-nav-catalog,
.spp-nav__item:focus-within .spp-nav-catalog {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-44%, 0);
}

.spp-nav-catalog__intro {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 0 4px 16px;
  border-bottom: 1px solid var(--spp-line);
}

.spp-nav-catalog__intro small {
  color: var(--spp-copper) !important;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: 10px;
  font-weight: 900;
}

.spp-nav-catalog__intro strong {
  color: var(--spp-ink) !important;
  font-family: var(--spp-serif);
  font-size: 25px;
  font-weight: 400;
}

.spp-nav-catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 16px 0;
}

.spp-nav-catalog__grid a {
  min-height: 48px;
  padding: 10px 13px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--spp-ink) !important;
  background: rgba(181, 77, 43, .035);
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 750;
  transition: .25s ease;
}

.spp-nav-catalog__grid a:hover {
  background: #fff;
  border-color: rgba(181, 77, 43, .18);
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(48, 28, 16, .07);
}

.spp-nav-catalog__grid small {
  color: var(--spp-copper) !important;
  font-size: 10px;
  font-weight: 900;
}

.spp-nav-catalog__all {
  min-height: 52px;
  border-radius: 16px;
  background: var(--spp-ink);
  color: #fff !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  font-weight: 850;
}

.spp-header__actions {
  gap: 10px;
  flex: 0 0 auto;
}

.spp-header__phone {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.2;
  margin-right: 8px;
}

.spp-header__phone small {
  color: var(--spp-muted) !important;
  font-size: 10px;
}

.spp-header__phone strong {
  color: var(--spp-ink) !important;
  font-size: 14px;
  white-space: nowrap;
}

.spp-header__order {
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #c95a32, var(--spp-copper-dark));
  color: #fff !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 850;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(181, 77, 43, .22);
}

.spp-cart-link,
.spp-menu-toggle {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid rgba(31, 22, 17, .12) !important;
  box-shadow: 0 8px 20px rgba(47, 30, 19, .06);
}

.spp-cart-link:hover,
.spp-menu-toggle:hover {
  border-color: rgba(181, 77, 43, .35) !important;
  color: var(--spp-copper) !important;
}

.spp-mobile-nav {
  background: #fffaf4 !important;
  color: var(--spp-ink) !important;
  border-top: 1px solid var(--spp-line);
  box-shadow: 0 22px 50px rgba(35, 22, 14, .16);
}

.spp-mobile-nav a {
  color: var(--spp-ink) !important;
}

.spp-mobile-nav__category {
  padding-left: 20px !important;
  display: flex !important;
  justify-content: space-between;
  background: rgba(181, 77, 43, .035);
}

.spp-mobile-nav__category small {
  color: var(--spp-copper) !important;
}

.spp-mobile-nav__phone {
  color: #fff !important;
  background: var(--spp-ink) !important;
  margin-top: 8px;
  border-radius: 14px;
  justify-content: center !important;
}

/* Compact premium hero: no low-resolution image stretched over the viewport */
.spp-hero {
  height: 690px;
  min-height: 690px;
  max-height: none;
  background:
    radial-gradient(circle at 78% 16%, rgba(213, 173, 115, .18), transparent 30%),
    radial-gradient(circle at 15% 90%, rgba(181, 77, 43, .2), transparent 33%),
    linear-gradient(135deg, #1b1410 0%, #2b1d16 55%, #17110e 100%) !important;
  color: #fff !important;
}

.spp-hero__ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, #000, transparent 70%);
}

.spp-hero__slides,
.spp-hero__slide {
  position: absolute;
  inset: 0;
}

.spp-hero__slide {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .7s ease, transform .7s ease, visibility .7s;
}

.spp-hero__slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.spp-hero__content {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr);
  align-items: center;
  gap: 70px;
  padding: 44px 0 88px;
}

.spp-hero__copy {
  max-width: 760px;
  position: relative;
  z-index: 3;
}

.spp-hero__copy .spp-kicker {
  color: #f0b28e !important;
}

.spp-hero__copy h1 {
  color: #fff !important;
  font-size: clamp(54px, 5.3vw, 82px);
  line-height: .96;
  letter-spacing: -.06em;
  margin: 24px 0 24px;
  max-width: 790px;
  text-shadow: 0 5px 30px rgba(0, 0, 0, .2);
}

.spp-hero__copy p {
  color: rgba(255, 255, 255, .82) !important;
  font-size: 18px;
  line-height: 1.7;
  max-width: 650px;
  margin-bottom: 32px;
}

.spp-hero__microfacts {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-top: 34px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  max-width: 670px;
}

.spp-hero__microfacts > div {
  min-width: 0;
  padding: 18px 26px 0 0;
  margin-right: 26px;
  border-right: 1px solid rgba(255, 255, 255, .12);
}

.spp-hero__microfacts > div:last-child {
  border-right: 0;
  margin-right: 0;
}

.spp-hero__microfacts strong {
  display: block;
  color: #fff !important;
  font-family: var(--spp-serif);
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
}

.spp-hero__microfacts span {
  display: block;
  color: rgba(255, 255, 255, .58) !important;
  font-size: 10px;
  margin-top: 7px;
  white-space: nowrap;
}

.spp-hero__visual {
  width: min(100%, 540px);
  justify-self: end;
  position: relative;
  z-index: 2;
}

.spp-hero__image-wrap {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 38px 38px 130px 38px;
  overflow: hidden;
  background: #3a281e;
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 38px 90px rgba(0, 0, 0, .34);
}

.spp-hero__image-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 58%, rgba(18, 12, 9, .32));
  pointer-events: none;
}

.spp-hero__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.015);
  filter: saturate(1.04) contrast(1.03);
  transition: transform 6.5s ease;
}

.spp-hero__slide.is-active .spp-hero__image-wrap img {
  transform: scale(1.075);
}

.spp-hero__visual::before {
  content: "";
  position: absolute;
  width: 44%;
  aspect-ratio: 1;
  border: 1px solid rgba(213, 173, 115, .35);
  border-radius: 50%;
  right: -10%;
  top: -9%;
  z-index: -1;
}

.spp-hero__dish-label {
  position: absolute;
  left: -42px;
  bottom: 48px;
  min-width: 220px;
  padding: 17px 20px;
  border-radius: 18px;
  background: rgba(255, 250, 244, .94);
  color: var(--spp-ink);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .2);
  backdrop-filter: blur(14px);
  display: flex;
  align-items: center;
  gap: 14px;
}

.spp-hero__dish-label span {
  color: var(--spp-copper) !important;
  font-size: 11px;
  font-weight: 900;
}

.spp-hero__dish-label strong {
  color: var(--spp-ink) !important;
  font-size: 14px;
}

.spp-hero__rating {
  position: absolute;
  top: 28px;
  right: -28px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: linear-gradient(145deg, #d9b374, #9c6e35);
  color: #fff;
  display: grid;
  place-content: center;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}

.spp-hero__rating strong {
  color: #fff !important;
  font-family: var(--spp-serif);
  font-size: 33px;
  line-height: .9;
}

.spp-hero__rating span {
  color: rgba(255, 255, 255, .82) !important;
  font-size: 9px;
  margin-top: 8px;
}

.spp-hero__controls {
  bottom: 24px;
  z-index: 20;
  justify-content: flex-start;
}

.spp-hero__controls button,
.spp-slider-controls button {
  background: rgba(255, 255, 255, .09) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .28) !important;
}

.spp-hero__controls button:hover,
.spp-slider-controls button:hover {
  background: #fff !important;
  color: var(--spp-ink) !important;
}

/* Trust */
.spp-trustbar {
  background: #120e0c !important;
  color: #fff !important;
  border-top: 1px solid rgba(255, 255, 255, .05);
}

.spp-trustbar__grid > div {
  min-height: 116px;
  padding: 29px 27px;
}

.spp-trustbar b {
  color: #ef9366 !important;
}

.spp-trustbar span {
  color: #fff !important;
  font-size: 14px;
}

.spp-trustbar small {
  color: rgba(255, 255, 255, .56) !important;
  line-height: 1.45;
}

/* Category rail */
.spp-categories {
  background:
    radial-gradient(circle at 95% 0%, rgba(213, 173, 115, .14), transparent 28%),
    var(--spp-paper) !important;
}

.spp-rail-shell {
  position: relative;
}

.spp-rail-controls {
  position: absolute;
  right: 0;
  bottom: 58px;
  display: flex;
  gap: 9px;
  z-index: 4;
}

.spp-rail-controls button,
.spp-catalog-nav__arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid var(--spp-line);
  background: #fff;
  color: var(--spp-ink);
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(45, 28, 17, .08);
  transition: .25s ease;
}

.spp-rail-controls button:hover,
.spp-catalog-nav__arrow:hover {
  background: var(--spp-ink);
  color: #fff;
  border-color: var(--spp-ink);
  transform: translateY(-2px);
}

.spp-categories__rail {
  gap: 20px;
  padding: 5px 2px 22px;
  scrollbar-width: thin;
  scrollbar-color: rgba(181, 77, 43, .55) rgba(31, 22, 17, .08);
  cursor: grab;
  overscroll-behavior-inline: contain;
}

.spp-categories__rail::-webkit-scrollbar {
  display: block;
  height: 6px;
}

.spp-categories__rail::-webkit-scrollbar-track {
  background: rgba(31, 22, 17, .08);
  border-radius: 999px;
}

.spp-categories__rail::-webkit-scrollbar-thumb {
  background: rgba(181, 77, 43, .55);
  border-radius: 999px;
}

.spp-category-card {
  flex: 0 0 330px;
  min-height: 470px;
  border-radius: 28px;
  background: #1a130f !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 20px 55px rgba(43, 26, 16, .13);
  isolation: isolate;
  transition: transform .4s ease, box-shadow .4s ease;
}

.spp-category-card:hover {
  transform: translateY(-9px);
  box-shadow: 0 30px 75px rgba(43, 26, 16, .24);
}

.spp-category-card__media span {
  background:
    linear-gradient(180deg, rgba(12, 8, 6, .12) 0%, rgba(12, 8, 6, .12) 38%, rgba(12, 8, 6, .94) 100%) !important;
}

.spp-category-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.03) contrast(1.04);
}

.spp-category-card__top {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.spp-category-card__top span {
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(17, 12, 9, .62);
  color: #fff !important;
  font-size: 10px;
  font-weight: 800;
  backdrop-filter: blur(10px);
}

.spp-category-card__top b {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: var(--spp-ink) !important;
  display: grid;
  place-items: center;
  transition: .3s ease;
}

.spp-category-card:hover .spp-category-card__top b {
  background: var(--spp-copper);
  color: #fff !important;
  transform: rotate(8deg);
}

.spp-category-card__body {
  left: 24px;
  right: 24px;
  bottom: 25px;
  z-index: 3;
}

.spp-category-card h3 {
  color: #fff !important;
  font-size: 35px;
  line-height: 1.02;
  margin: 0 0 13px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, .4);
}

.spp-category-card__body > span {
  color: rgba(255, 255, 255, .72) !important;
  font-size: 12px;
  font-weight: 750;
}

.spp-rail-hint {
  margin-top: 15px;
  color: var(--spp-muted);
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 9px;
}

.spp-rail-hint span {
  width: 42px;
  height: 1px;
  background: var(--spp-copper);
}

/* Product cards */
.spp-products-grid {
  gap: 22px;
}

.spp-product-card {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid rgba(31, 22, 17, .08);
  border-radius: 24px;
  box-shadow: 0 12px 34px rgba(52, 31, 18, .07);
}

.spp-product-card:hover {
  box-shadow: 0 28px 60px rgba(52, 31, 18, .16);
}

.spp-product-card__media {
  background: #e9ddcf;
  aspect-ratio: 1 / .92;
}

.spp-product-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: inherit;
  pointer-events: none;
}

.spp-product-card__body {
  padding: 21px 22px 23px;
}

.spp-product-card__meta,
.spp-product-card__meta a {
  color: var(--spp-copper) !important;
  font-weight: 850;
}

.spp-product-card h3,
.spp-product-card h3 a {
  color: var(--spp-ink) !important;
}

.spp-product-card h3 {
  font-size: 24px;
  min-height: 52px;
}

.spp-price,
.spp-price * {
  color: var(--spp-ink) !important;
  font-weight: 850;
}

.spp-price del,
.spp-price del * {
  color: #9a8d83 !important;
}

.spp-add {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  background: var(--spp-ink) !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 22px;
  box-shadow: 0 10px 24px rgba(31, 22, 17, .16);
}

.spp-add:hover {
  background: var(--spp-copper) !important;
  color: #fff !important;
}

/* Story */
.spp-story {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  min-height: 720px;
  background: #fff !important;
}

.spp-story__media {
  min-height: 720px;
  overflow: hidden;
  position: relative;
  background: #211711;
}

.spp-story__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(18, 12, 9, .55));
  pointer-events: none;
}

.spp-story__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.04) contrast(1.04);
  transition: transform 1s ease;
}

.spp-story__media:hover > img {
  transform: scale(1.035);
}

.spp-story__copy {
  padding: 100px clamp(48px, 7vw, 110px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 100% 0%, rgba(213, 173, 115, .15), transparent 32%),
    var(--spp-paper) !important;
  color: var(--spp-ink) !important;
}

.spp-story__copy h2 {
  color: var(--spp-ink) !important;
  font-size: clamp(48px, 5.2vw, 76px);
  line-height: .98;
}

.spp-story__copy h2 em {
  color: var(--spp-copper) !important;
}

.spp-story__copy p {
  color: var(--spp-muted) !important;
  font-size: 17px;
  max-width: 650px;
}

.spp-story__stamp {
  z-index: 3;
  background: rgba(255, 250, 244, .94) !important;
  color: var(--spp-ink) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .2);
}

.spp-story__stamp span,
.spp-story__stamp strong {
  color: var(--spp-ink) !important;
}

.spp-story__caption {
  position: absolute;
  z-index: 3;
  left: 34px;
  bottom: 34px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.spp-story__caption span {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(17, 12, 9, .64);
  color: #fff !important;
  font-size: 10px;
  font-weight: 800;
  backdrop-filter: blur(10px);
}

.spp-story__numbers {
  border-top: 1px solid var(--spp-line);
  border-bottom: 1px solid var(--spp-line);
  padding: 26px 0;
}

.spp-story__numbers b {
  color: var(--spp-ink) !important;
}

.spp-story__numbers span {
  color: var(--spp-muted) !important;
}

.spp-text-link,
.spp-text-link--dark {
  color: var(--spp-ink) !important;
  font-weight: 850;
}

.spp-text-link span {
  color: var(--spp-copper) !important;
}

/* Occasion */
.spp-occasion {
  background:
    radial-gradient(circle at 10% 80%, rgba(181, 77, 43, .12), transparent 30%),
    var(--spp-paper) !important;
}

.spp-occasion__grid {
  gap: 18px;
}

.spp-occasion-card {
  min-height: 330px;
  border-radius: 27px;
  padding: 34px;
  color: #fff !important;
  overflow: hidden;
  position: relative;
  background: #211711 !important;
  isolation: isolate;
  box-shadow: 0 20px 55px rgba(45, 27, 17, .14);
}

.spp-occasion-card::before,
.spp-occasion-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
}

.spp-occasion-card::before {
  background-size: cover;
  background-position: center;
  filter: saturate(.9);
  transition: transform .7s ease;
}

.spp-occasion-card::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(17, 12, 9, .18), rgba(17, 12, 9, .94));
}

.spp-occasion-card--country::before { background-image: url('../images/story-kitchen-enhanced.webp'); }
.spp-occasion-card--office::before { background-image: url('../images/hero-pizza-enhanced.webp'); }
.spp-occasion-card--party::before { background-image: url('../images/hero-plov-enhanced.webp'); }

.spp-occasion-card:hover::before {
  transform: scale(1.06);
}

.spp-occasion-card > span,
.spp-occasion-card h3,
.spp-occasion-card p,
.spp-occasion-card b {
  color: #fff !important;
}

.spp-occasion-card > span {
  color: #f2a47d !important;
}

.spp-occasion-card h3 {
  font-size: 42px;
  margin-top: 95px;
  text-shadow: 0 3px 20px rgba(0, 0, 0, .35);
}

.spp-occasion-card p {
  color: rgba(255, 255, 255, .72) !important;
}

/* Reviews */
.spp-reviews {
  background: #1a130f !important;
  color: #fff !important;
}

.spp-reviews .spp-section-head h2,
.spp-reviews .spp-section-head h2 em {
  color: #fff !important;
}

.spp-reviews .spp-section-head > span {
  color: #ef9366 !important;
}

.spp-reviews .spp-section-head p {
  color: rgba(255, 255, 255, .62) !important;
}

.spp-yandex-score {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 0;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .2);
}

.spp-yandex-score strong,
.spp-yandex-score small {
  color: var(--spp-ink) !important;
}

.spp-review-card {
  background: rgba(255, 255, 255, .075) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .13);
  box-shadow: none;
}

.spp-review-card blockquote,
.spp-review-card strong {
  color: #fff !important;
}

.spp-review-card small {
  color: rgba(255, 255, 255, .58) !important;
}

.spp-review-card__stars {
  color: #f2b65f !important;
}

.spp-review-card__author > span {
  background: #fff !important;
  color: var(--spp-ink) !important;
}

.spp-yandex-widget {
  border-color: rgba(255, 255, 255, .16) !important;
  color: #fff !important;
}

.spp-yandex-widget summary {
  color: #fff !important;
}

/* CTA and footer */
.spp-cta-strip {
  background:
    radial-gradient(circle at 85% 30%, rgba(213, 173, 115, .22), transparent 25%),
    linear-gradient(135deg, #a84024, #6e2818) !important;
  color: #fff !important;
}

.spp-cta-strip span,
.spp-cta-strip h2 {
  color: #fff !important;
}

.spp-footer {
  background: #100d0b !important;
  color: #fff !important;
}

.spp-footer h3,
.spp-footer a,
.spp-footer__phone {
  color: #fff !important;
}

.spp-footer p,
.spp-footer__bottom,
.spp-footer__bottom span {
  color: rgba(255, 255, 255, .58) !important;
}

.spp-footer__brand img {
  max-height: 76px;
  width: auto;
}

.spp-footer__phone {
  display: inline-block;
  margin-top: 18px;
  font-family: var(--spp-serif);
  font-size: 25px;
}

.spp-floating-cart {
  background: linear-gradient(135deg, #c85a32, #8d351f) !important;
  color: #fff !important;
  border: 2px solid rgba(255, 255, 255, .8);
  box-shadow: 0 18px 45px rgba(93, 38, 21, .3);
}

/* Inner heroes */
.spp-inner-hero {
  color: #fff !important;
  background:
    radial-gradient(circle at 80% 10%, rgba(213, 173, 115, .2), transparent 32%),
    linear-gradient(135deg, #1a130f, #302018) !important;
}

.spp-inner-hero__bg {
  opacity: .42;
  filter: saturate(.82) contrast(1.05);
}

.spp-inner-hero > span {
  background: linear-gradient(90deg, rgba(15, 10, 8, .94), rgba(15, 10, 8, .55), rgba(15, 10, 8, .36)) !important;
}

.spp-inner-hero__content {
  position: relative;
  z-index: 3;
}

.spp-inner-hero h1,
.spp-inner-hero__lead,
.spp-inner-hero .spp-kicker {
  color: #fff !important;
}

.spp-inner-hero__lead {
  max-width: 780px;
  color: rgba(255, 255, 255, .75) !important;
  font-size: 17px;
}

.spp-breadcrumbs,
.spp-breadcrumbs a,
.spp-breadcrumbs span {
  color: rgba(255, 255, 255, .68) !important;
}

.spp-inner-hero--page {
  position: relative;
  overflow: hidden;
}

.spp-inner-hero--page::before {
  content: "";
  position: absolute;
  inset: 0 0 0 52%;
  background-image: linear-gradient(90deg, rgba(29, 19, 14, .98), rgba(29, 19, 14, .24)), var(--spp-page-image, none);
  background-size: cover;
  background-position: center;
  opacity: .58;
}

.spp-inner-hero--page::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #1a130f 0%, rgba(26, 19, 15, .9) 48%, rgba(26, 19, 15, .28) 100%);
}

.spp-inner-hero--page .spp-inner-hero__content {
  max-width: 860px;
  margin-left: 0;
}

/* Catalog navigation with visible desktop controls */
.spp-catalog-nav {
  top: 92px;
  background: rgba(255, 250, 244, .98) !important;
  border-bottom: 1px solid var(--spp-line);
  box-shadow: 0 10px 28px rgba(39, 24, 15, .07);
  z-index: 900;
}

.admin-bar .spp-catalog-nav {
  top: 124px;
}

.spp-catalog-nav__inner {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
}

.spp-catalog-nav__arrow {
  width: 44px;
  height: 44px;
}

.spp-catalog-nav__rail {
  overflow-x: auto;
  touch-action: pan-y;
  display: flex;
  gap: 8px;
  scrollbar-width: thin;
  scrollbar-color: rgba(181, 77, 43, .45) transparent;
  padding: 3px 2px 7px;
  cursor: grab;
  overscroll-behavior-inline: contain;
}

.spp-catalog-nav__rail::-webkit-scrollbar {
  display: block;
  height: 4px;
}

.spp-catalog-nav__rail::-webkit-scrollbar-thumb {
  background: rgba(181, 77, 43, .45);
  border-radius: 999px;
}

.spp-catalog-nav__rail a {
  color: var(--spp-ink) !important;
  background: #fff !important;
  border: 1px solid var(--spp-line) !important;
  min-height: 46px;
  padding: 0 17px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
}

.spp-catalog-nav__rail a small {
  color: var(--spp-copper) !important;
  font-size: 10px;
}

.spp-catalog-nav__rail a:hover,
.spp-catalog-nav__rail a.is-active {
  background: var(--spp-ink) !important;
  color: #fff !important;
  border-color: var(--spp-ink) !important;
}

.spp-catalog-nav__rail a.is-active small,
.spp-catalog-nav__rail a:hover small {
  color: #f3ae88 !important;
}

.spp-catalog-toolbar span {
  color: var(--spp-copper) !important;
}

.spp-catalog-toolbar h2 {
  color: var(--spp-ink) !important;
}

.spp-catalog-toolbar select {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid var(--spp-line) !important;
}

.spp-pagination a,
.spp-pagination span {
  color: var(--spp-ink) !important;
  background: #fff !important;
  border: 1px solid var(--spp-line);
}

.spp-pagination .current {
  background: var(--spp-ink) !important;
  color: #fff !important;
}

/* Product */
.spp-product-page {
  background: var(--spp-paper) !important;
}

.spp-product-page .spp-breadcrumbs,
.spp-product-page .spp-breadcrumbs a,
.spp-product-page .spp-breadcrumbs span {
  color: var(--spp-muted) !important;
}

.spp-product-gallery__stage,
.spp-product-gallery__thumbs button {
  background: #eee2d5 !important;
  border-color: var(--spp-line) !important;
}

.spp-product-summary {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid rgba(31, 22, 17, .08);
  border-radius: 28px;
  padding: 38px;
  box-shadow: var(--spp-shadow-soft);
}

.spp-product-summary h1,
.spp-product-summary__price,
.spp-product-summary__price * {
  color: var(--spp-ink) !important;
}

.spp-product-summary__lead,
.spp-product-summary__lead p {
  color: var(--spp-muted) !important;
}

.spp-product-summary__benefits > div {
  border-color: var(--spp-line) !important;
}

.spp-product-summary__benefits b {
  color: var(--spp-ink) !important;
}

.spp-product-summary__benefits span {
  color: var(--spp-muted) !important;
}

.spp-product-description {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid var(--spp-line);
  border-radius: 26px;
  padding: 36px;
}

.spp-product-description > span {
  color: var(--spp-copper) !important;
}

.spp-product-description p,
.spp-product-description li {
  color: var(--spp-muted) !important;
}

.spp-premium-active .quantity .qty,
.spp-premium-active .variations select {
  min-height: 52px;
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid var(--spp-line) !important;
  border-radius: 12px;
}

.spp-premium-active .variations label,
.spp-premium-active .stock,
.spp-premium-active .reset_variations {
  color: var(--spp-ink) !important;
}

/* Commerce / checkout */
.spp-commerce {
  color: var(--spp-ink) !important;
}

.spp-commerce__shell {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid rgba(31, 22, 17, .08);
  border-radius: 28px;
  box-shadow: var(--spp-shadow-soft);
  padding: 38px;
}

.spp-commerce__shell h1,
.spp-commerce__shell h2,
.spp-commerce__shell h3,
.spp-commerce__shell h4,
.spp-commerce__shell p,
.spp-commerce__shell label,
.spp-commerce__shell th,
.spp-commerce__shell td,
.spp-commerce__shell strong,
.spp-commerce__shell span {
  color: var(--spp-ink) !important;
}

.spp-commerce__shell a {
  color: var(--spp-copper-dark) !important;
}

/* The classic WooCommerce cart exposes both subtotal and final total. On this
   installation both labels are translated as «Итого», so keep only the final row. */
.spp-premium-active .spp-commerce .cart_totals .cart-subtotal {
  display: none !important;
}

.spp-premium-active .woocommerce form .form-row input.input-text,
.spp-premium-active .woocommerce form .form-row textarea,
.spp-premium-active .woocommerce form .form-row select,
.spp-premium-active .select2-container--default .select2-selection--single,
.spp-premium-active .select2-dropdown {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid rgba(31, 22, 17, .18) !important;
  border-radius: 12px !important;
  min-height: 50px;
}

.spp-premium-active .select2-container--default .select2-selection--single .select2-selection__rendered,
.spp-premium-active .select2-results__option,
.spp-premium-active .select2-search__field {
  color: var(--spp-ink) !important;
}

.spp-premium-active .woocommerce-checkout-payment,
.spp-premium-active #payment {
  background: #f6eee5 !important;
  color: var(--spp-ink) !important;
  border-radius: 18px !important;
}

.spp-premium-active #payment div.payment_box {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border: 1px solid var(--spp-line);
}

.spp-premium-active #payment div.payment_box::before {
  border-bottom-color: #fff !important;
}

.spp-premium-active .woocommerce-error,
.spp-premium-active .woocommerce-info,
.spp-premium-active .woocommerce-message {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border-top-color: var(--spp-copper) !important;
  box-shadow: 0 10px 25px rgba(44, 28, 18, .08);
}

/* Landing pages */
.spp-landing-hero {
  background: var(--spp-paper) !important;
  color: var(--spp-ink) !important;
}

.spp-landing-hero::after {
  background-image: linear-gradient(90deg, rgba(255, 250, 244, 1) 0%, rgba(255, 250, 244, .92) 47%, rgba(255, 250, 244, .2) 100%), var(--spp-landing-image) !important;
  filter: saturate(.95) contrast(1.04);
}

.spp-landing-hero h1,
.spp-landing-hero p,
.spp-landing-hero__facts span {
  color: var(--spp-ink) !important;
}

.spp-landing-hero__copy > p {
  color: var(--spp-muted) !important;
}

.spp-landing-hero__facts > div {
  background: rgba(255, 255, 255, .88) !important;
  border: 1px solid var(--spp-line);
  box-shadow: 0 12px 30px rgba(46, 29, 18, .07);
}

.spp-landing-hero__facts b {
  color: var(--spp-copper) !important;
}

.spp-seo-copy,
.spp-local-story {
  background: #fff !important;
  color: var(--spp-ink) !important;
}

.spp-seo-copy h2,
.spp-local-story h2,
.spp-local-story p {
  color: var(--spp-ink) !important;
}

.spp-local-story__copy > p {
  color: var(--spp-muted) !important;
}

.spp-section--ink {
  background: #17120f !important;
  color: #fff !important;
}

.spp-section--ink .spp-section-head h2,
.spp-section--ink .spp-section-head h2 em,
.spp-section--ink .spp-local-audience h3 {
  color: #fff !important;
}

.spp-section--ink .spp-section-head p,
.spp-section--ink .spp-local-audience p {
  color: rgba(255, 255, 255, .62) !important;
}

.spp-local-audience {
  border-color: rgba(255, 255, 255, .14) !important;
  color: #fff !important;
}

.spp-faq-item {
  background: #fff !important;
  color: var(--spp-ink) !important;
}

.spp-faq-item summary,
.spp-faq-item p {
  color: var(--spp-ink) !important;
}

.spp-faq-item p {
  color: var(--spp-muted) !important;
}

.spp-area-links,
.spp-delivery-note {
  background: linear-gradient(135deg, #f7efe5, #e7d5c3) !important;
  color: var(--spp-ink) !important;
}

.spp-area-links h2,
.spp-area-links p,
.spp-area-card,
.spp-zone-card {
  color: var(--spp-ink) !important;
}

/* About — fully expanded editorial page */
.spp-page-content--o-nas {
  padding-top: 0;
  background: var(--spp-paper) !important;
}

.spp-about {
  color: var(--spp-ink);
}

.spp-about-intro {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 80px;
  align-items: center;
  padding: 110px 0;
}

.spp-about-intro__copy h2,
.spp-about-values__head h2,
.spp-about-process__copy h2,
.spp-about-cta h2 {
  font-family: var(--spp-serif);
  font-weight: 400;
  letter-spacing: -.05em;
  color: var(--spp-ink) !important;
}

.spp-about-intro__copy h2 {
  font-size: clamp(46px, 5vw, 72px);
  line-height: 1;
  margin: 24px 0 28px;
}

.spp-about-intro__copy p {
  color: var(--spp-muted) !important;
  font-size: 17px;
  margin: 0 0 20px;
}

.spp-about-intro__media {
  min-height: 600px;
  position: relative;
}

.spp-about-intro__main {
  width: 78%;
  height: 560px;
  object-fit: cover;
  border-radius: 34px 110px 34px 34px;
  box-shadow: var(--spp-shadow);
}

.spp-about-intro__small {
  position: absolute;
  width: 42%;
  height: 290px;
  object-fit: cover;
  right: 0;
  bottom: 0;
  border: 10px solid var(--spp-paper);
  border-radius: 26px;
  box-shadow: 0 22px 55px rgba(47, 29, 18, .2);
}

.spp-about-intro__badge {
  position: absolute;
  right: 2%;
  top: 8%;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: var(--spp-copper);
  color: #fff;
  display: grid;
  place-content: center;
  text-align: center;
  box-shadow: 0 20px 50px rgba(181, 77, 43, .3);
}

.spp-about-intro__badge strong,
.spp-about-intro__badge span {
  color: #fff !important;
}

.spp-about-intro__badge strong {
  font-family: var(--spp-serif);
  font-size: 38px;
  line-height: 1;
}

.spp-about-intro__badge span {
  font-size: 10px;
  margin-top: 6px;
}

.spp-about-values {
  padding: 105px 0;
  border-top: 1px solid var(--spp-line);
}

.spp-about-values__head {
  display: grid;
  grid-template-columns: .6fr 1.4fr;
  align-items: end;
  gap: 55px;
  margin-bottom: 48px;
}

.spp-about-values__head h2 {
  font-size: clamp(44px, 4.7vw, 68px);
  line-height: 1;
  margin: 0;
}

.spp-about-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.spp-about-value {
  min-height: 310px;
  padding: 30px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid var(--spp-line);
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 34px rgba(49, 30, 18, .06);
  transition: transform .35s ease, box-shadow .35s ease, background .35s ease;
}

.spp-about-value:hover {
  transform: translateY(-8px);
  box-shadow: var(--spp-shadow-soft);
  background: #fffdf9;
}

.spp-about-value > b {
  color: var(--spp-copper) !important;
  font-size: 12px;
}

.spp-about-value h3 {
  color: var(--spp-ink) !important;
  font-family: var(--spp-serif);
  font-size: 32px;
  line-height: 1.05;
  font-weight: 400;
  margin: 50px 0 18px;
}

.spp-about-value p {
  color: var(--spp-muted) !important;
  margin: auto 0 0;
}

.spp-about-process {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 70px;
  align-items: center;
  padding: 105px 0;
}

.spp-about-process__media {
  min-height: 620px;
  border-radius: 38px;
  overflow: hidden;
  position: relative;
  box-shadow: var(--spp-shadow);
}

.spp-about-process__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(18, 12, 9, .7));
}

.spp-about-process__media img {
  width: 100%;
  height: 620px;
  object-fit: cover;
}

.spp-about-process__media > div {
  position: absolute;
  z-index: 2;
  left: 32px;
  right: 32px;
  bottom: 30px;
}

.spp-about-process__media span,
.spp-about-process__media strong {
  display: block;
  color: #fff !important;
}

.spp-about-process__media span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.spp-about-process__media strong {
  font-family: var(--spp-serif);
  font-size: 32px;
  font-weight: 400;
}

.spp-about-process__copy h2 {
  font-size: clamp(46px, 5vw, 72px);
  line-height: 1;
  margin: 22px 0 36px;
}

.spp-about-process__copy ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

.spp-about-process__copy li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  padding: 22px 0;
  border-top: 1px solid var(--spp-line);
}

.spp-about-process__copy li > span {
  color: var(--spp-copper) !important;
  font-weight: 900;
  font-size: 12px;
}

.spp-about-process__copy h3 {
  color: var(--spp-ink) !important;
  font-family: var(--spp-serif);
  font-size: 29px;
  font-weight: 400;
  margin: 0 0 8px;
}

.spp-about-process__copy p {
  color: var(--spp-muted) !important;
  margin: 0;
}

.spp-about-numbers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-radius: 30px;
  overflow: hidden;
  background: #17120f;
  color: #fff;
  margin: 10px 0 105px;
}

.spp-about-numbers > div {
  min-height: 180px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, .1);
}

.spp-about-numbers > div:last-child {
  border-right: 0;
}

.spp-about-numbers strong {
  color: #fff !important;
  font-family: var(--spp-serif);
  font-size: 43px;
  font-weight: 400;
  line-height: 1;
}

.spp-about-numbers span {
  color: rgba(255, 255, 255, .58) !important;
  font-size: 12px;
  margin-top: 12px;
}

.spp-about-cta {
  margin-bottom: 110px;
  padding: 58px 62px;
  border-radius: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 44px;
  background:
    radial-gradient(circle at 85% 15%, rgba(213, 173, 115, .25), transparent 27%),
    linear-gradient(135deg, #9e3d22, #642616);
  color: #fff;
  box-shadow: 0 28px 75px rgba(91, 37, 20, .24);
}

.spp-about-cta > div > span,
.spp-about-cta h2,
.spp-about-cta p {
  color: #fff !important;
}

.spp-about-cta > div > span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-weight: 900;
}

.spp-about-cta h2 {
  font-size: clamp(38px, 4.2vw, 58px);
  line-height: 1;
  margin: 10px 0 12px;
}

.spp-about-cta p {
  color: rgba(255, 255, 255, .7) !important;
  margin: 0;
}

/* Other content blocks */
.spp-delivery-grid > div,
.spp-contact-card,
.spp-contact-list,
.spp-requisites,
.spp-promo-card,
.spp-article {
  background: #fff !important;
  color: var(--spp-ink) !important;
  border-color: var(--spp-line) !important;
  box-shadow: 0 14px 38px rgba(47, 29, 18, .07);
}

.spp-delivery-grid h3,
.spp-delivery-grid p,
.spp-contact-card h2,
.spp-contact-card a,
.spp-contact-list a,
.spp-contact-list p,
.spp-requisites strong,
.spp-promo-card h2,
.spp-promo-card p,
.spp-promo-card a,
.spp-article h1,
.spp-article h2,
.spp-article h3,
.spp-article p,
.spp-article li {
  color: var(--spp-ink) !important;
}

.spp-delivery-grid p,
.spp-promo-card p,
.spp-article p,
.spp-article li {
  color: var(--spp-muted) !important;
}

.spp-contact-card > span,
.spp-contact-list span,
.spp-requisites span,
.spp-promo-card > span {
  color: var(--spp-copper) !important;
}

.spp-map {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--spp-shadow-soft);
}

/* Motion */
.spp-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .72s ease, transform .72s cubic-bezier(.2, .75, .25, 1);
}

.spp-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Responsive */
@media (max-width: 1240px) {
  .spp-header__phone { display: none; }
  .spp-nav { gap: 24px; }
  .spp-hero__content { grid-template-columns: minmax(0, 1fr) minmax(390px, .8fr); gap: 42px; }
  .spp-hero__visual { width: min(100%, 470px); }
  .spp-about-values__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1100px) {
  .spp-container { width: min(100% - 48px, 1120px); }
  .spp-nav { display: none; }
  .spp-header__order { display: none; }
  .spp-menu-toggle { display: grid; }
  .spp-mobile-nav.is-open { display: grid; padding: 18px 24px 24px; }
  .spp-section-head { grid-template-columns: .6fr 1.4fr; }
  .spp-section-head p { grid-column: 2; }
  .spp-rail-controls { bottom: auto; top: 2px; }
  .spp-hero { height: 670px; min-height: 670px; }
  .spp-hero__content { grid-template-columns: 1.08fr .92fr; }
  .spp-hero__copy h1 { font-size: 58px; }
  .spp-hero__microfacts > div { padding-right: 15px; margin-right: 15px; }
  .spp-hero__dish-label { left: -24px; }
  .spp-story { grid-template-columns: 1fr 1fr; }
  .spp-story__copy { padding: 80px 48px; }
  .spp-about-intro { gap: 48px; }
  .spp-about-process { gap: 48px; }
  .spp-about-numbers { grid-template-columns: repeat(2, 1fr); }
  .spp-about-numbers > div:nth-child(2) { border-right: 0; }
  .spp-about-numbers > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
}

@media (max-width: 820px) {
  .admin-bar .spp-header { top: 46px; }
  .spp-container { width: min(100% - 32px, 760px); }
  .spp-section { padding: 82px 0; }
  .spp-topline__group > span:not(.spp-topline__status),
  .spp-topline__group--right > a:first-child { display: none; }
  .spp-topline__inner { justify-content: space-between; }
  .spp-header__inner { height: 76px; }
  .spp-brand img { max-height: 55px; }
  .spp-section-head { display: block; margin-bottom: 38px; }
  .spp-section-head h2 { margin: 15px 0; font-size: 47px; }
  .spp-section-head p { max-width: 620px; }
  .spp-rail-controls { position: static; justify-content: flex-end; margin: -8px 0 18px; }
  .spp-hero { height: 830px; min-height: 830px; }
  .spp-hero__content { display: block; padding: 58px 0 90px; }
  .spp-hero__copy { max-width: 100%; }
  .spp-hero__copy h1 { font-size: clamp(48px, 11vw, 66px); max-width: 680px; }
  .spp-hero__copy p { font-size: 16px; max-width: 600px; }
  .spp-hero__microfacts { display: none; }
  .spp-hero__visual { width: 340px; margin: 38px auto 0; justify-self: auto; }
  .spp-hero__image-wrap { border-radius: 24px 24px 80px 24px; }
  .spp-hero__rating { width: 88px; height: 88px; right: -16px; top: 18px; }
  .spp-hero__rating strong { font-size: 28px; }
  .spp-hero__dish-label { left: -16px; bottom: 22px; min-width: 190px; padding: 13px 15px; }
  .spp-hero__controls { justify-content: center; }
  .spp-trustbar__grid { grid-template-columns: repeat(2, 1fr); }
  .spp-trustbar__grid > div:nth-child(2) { border-right: 1px solid rgba(255,255,255,.1); }
  .spp-category-card { flex-basis: 300px; min-height: 430px; }
  .spp-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spp-story { grid-template-columns: 1fr; }
  .spp-story__media { min-height: 520px; }
  .spp-story__copy { padding: 78px 32px; }
  .spp-occasion__grid { grid-template-columns: 1fr; }
  .spp-occasion-card { min-height: 300px; }
  .spp-inner-hero--page::before { left: 20%; }
  .spp-catalog-nav { top: 76px; }
  .admin-bar .spp-catalog-nav { top: 122px; }
  .spp-catalog-nav__inner { grid-template-columns: 40px minmax(0,1fr) 40px; gap: 7px; }
  .spp-catalog-nav__arrow { width: 38px; height: 38px; }
  .spp-about-intro,
  .spp-about-process { grid-template-columns: 1fr; }
  .spp-about-intro { padding: 82px 0; }
  .spp-about-intro__media { min-height: 530px; }
  .spp-about-intro__main { height: 500px; }
  .spp-about-values__head { display: block; }
  .spp-about-values__head h2 { margin-top: 16px; }
  .spp-about-process__media,
  .spp-about-process__media img { min-height: 500px; height: 500px; }
  .spp-about-cta { padding: 44px; display: block; }
  .spp-about-cta .spp-btn { margin-top: 28px; }
}

@media (max-width: 540px) {
  .spp-container { width: calc(100% - 24px); }
  .spp-section { padding: 68px 0; }
  .spp-topline { height: 34px; }
  .spp-topline__status { font-size: 10px !important; }
  .spp-topline__phone { font-size: 11px !important; }
  .spp-header__inner { height: 70px; gap: 12px; }
  .spp-brand { min-width: 0; max-width: 125px; }
  .spp-brand img { max-height: 48px; }
  .spp-cart-link,
  .spp-menu-toggle { width: 42px; height: 42px; flex-basis: 42px; }
  .spp-section-head h2 { font-size: 40px; }
  .spp-hero { height: 785px; min-height: 785px; }
  .spp-hero__content { padding-top: 42px; }
  .spp-hero__copy h1 { font-size: 44px; margin: 18px 0; }
  .spp-hero__copy p { margin-bottom: 24px; }
  .spp-hero__buttons { display: grid; }
  .spp-btn { width: 100%; }
  .spp-hero__visual { width: 285px; margin-top: 28px; }
  .spp-hero__rating { width: 76px; height: 76px; right: -10px; }
  .spp-hero__rating strong { font-size: 24px; }
  .spp-hero__dish-label { min-width: 170px; left: -8px; }
  .spp-hero__progress { width: 120px; }
  .spp-trustbar__grid { grid-template-columns: 1fr; }
  .spp-trustbar__grid > div { border-right: 1px solid rgba(255,255,255,.1); }
  .spp-category-card { flex-basis: 82vw; min-height: 420px; }
  .spp-products-grid { gap: 12px; }
  .spp-product-card { border-radius: 18px; }
  .spp-product-card__body { padding: 15px; }
  .spp-product-card h3 { font-size: 18px; min-height: 42px; margin-bottom: 15px; }
  .spp-add { width: 40px; height: 40px; }
  .spp-story__media { min-height: 420px; }
  .spp-story__copy { padding: 64px 20px; }
  .spp-story__copy h2 { font-size: 45px; }
  .spp-story__numbers { grid-template-columns: 1fr; gap: 18px; }
  .spp-story__caption { left: 18px; bottom: 18px; }
  .spp-occasion-card { padding: 26px; }
  .spp-occasion-card h3 { margin-top: 70px; font-size: 38px; }
  .spp-commerce__shell,
  .spp-product-summary,
  .spp-product-description { padding: 22px; border-radius: 20px; }
  .spp-catalog-nav__inner { grid-template-columns: 34px minmax(0,1fr) 34px; }
  .spp-catalog-nav__arrow { width: 32px; height: 32px; font-size: 12px; }
  .spp-catalog-nav__rail a { min-height: 40px; padding: 0 14px; }
  .spp-about-intro__copy h2,
  .spp-about-process__copy h2 { font-size: 44px; }
  .spp-about-intro__media { min-height: 430px; }
  .spp-about-intro__main { width: 88%; height: 410px; border-radius: 24px 70px 24px 24px; }
  .spp-about-intro__small { height: 200px; border-width: 7px; }
  .spp-about-intro__badge { width: 100px; height: 100px; }
  .spp-about-intro__badge strong { font-size: 30px; }
  .spp-about-values { padding: 75px 0; }
  .spp-about-values__grid { grid-template-columns: 1fr; }
  .spp-about-value { min-height: 250px; }
  .spp-about-process { padding: 75px 0; }
  .spp-about-process__media,
  .spp-about-process__media img { min-height: 390px; height: 390px; }
  .spp-about-numbers { grid-template-columns: 1fr; }
  .spp-about-numbers > div { min-height: 130px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .spp-about-numbers > div:last-child { border-bottom: 0; }
  .spp-about-cta { margin-bottom: 75px; padding: 34px 25px; }
  .spp-about-cta h2 { font-size: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .spp-hero__slide,
  .spp-hero__image-wrap img,
  .spp-reveal,
  .spp-btn,
  .spp-category-card,
  .spp-product-card,
  .spp-occasion-card::before {
    transition: none !important;
  }
}

/* ========================================================================
   TARGETED VISUAL REFINEMENTS — 1.2.1
   Layout and presentation only. WooCommerce order/payment logic is untouched.
   ======================================================================== */

/* Header: cleaner vertical rhythm and a correctly centred menu chevron. */
.spp-header__inner {
  min-height: 92px;
  align-items: center;
}

.spp-nav > a,
.spp-nav__item > a {
  line-height: 1;
}

.spp-nav__item > a > span {
  width: 15px;
  height: 15px;
  display: inline-grid;
  place-items: center;
  line-height: 1;
  transform: translateY(-1px);
  transform-origin: center;
}

.spp-nav__item:hover > a > span,
.spp-nav__item:focus-within > a > span {
  transform: translateY(-1px) rotate(180deg);
}

/* Homepage hero: additional breathing room and controls kept away from facts. */
.spp-hero {
  height: 760px;
  min-height: 760px;
}

.spp-hero__content {
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  gap: clamp(48px, 5vw, 78px);
  padding-top: 54px;
  padding-bottom: 138px;
}

.spp-hero__copy h1 {
  font-size: clamp(54px, 4.7vw, 76px);
  line-height: .98;
  max-width: 760px;
}

.spp-hero__visual {
  width: min(100%, 515px);
}

.spp-hero__controls {
  left: max(36px, calc((100vw - 1360px) / 2));
  right: auto;
  bottom: 30px;
  transform: none;
}

/* Category section navigation gets its own row and never covers the intro text. */
.spp-section-head-wrap .spp-section-head {
  margin-bottom: 26px;
}

.spp-rail-controls {
  position: static;
  justify-content: flex-end;
  margin: 0 0 28px;
}

/* Home story image: compact editorial crop instead of an oversized bitmap. */
.spp-story {
  min-height: 610px;
}

.spp-story__media {
  min-height: 610px;
  height: 610px;
}

.spp-story__media > img {
  object-position: center 54%;
}

.spp-story__copy {
  padding-top: 76px;
  padding-bottom: 76px;
}

/* Floating cart: restrained premium control instead of the concentric badge look. */
.spp-floating-cart {
  width: 58px;
  height: 58px;
  right: 22px;
  bottom: 22px;
  border-radius: 18px;
  background: rgba(24, 18, 15, .96) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  box-shadow: 0 16px 42px rgba(32, 20, 14, .25);
  backdrop-filter: blur(14px);
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.spp-floating-cart:hover {
  transform: translateY(-4px);
  background: var(--spp-copper-dark) !important;
  box-shadow: 0 20px 46px rgba(83, 34, 20, .28);
}

.spp-floating-cart svg {
  width: 24px;
  height: 24px;
  stroke-width: 1.65;
}

.spp-floating-cart .spp-cart-count {
  right: -7px;
  top: -7px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border: 2px solid var(--spp-paper);
  background: var(--spp-copper) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(82, 31, 18, .24);
}

/* The white CTA always keeps dark, readable text including nested spans/icons. */
.spp-cta-strip .spp-btn--light,
.spp-cta-strip .spp-btn--light span,
.spp-cta-strip .spp-btn--light b {
  color: var(--spp-ink) !important;
}

/* Native catalog sorting arrow with proper right-side inset. */
.spp-catalog-toolbar select,
.spp-premium-active .woocommerce-ordering select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 54px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2317120f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 16px 16px !important;
}

/* Product quantity and purchase button stay on one aligned row. */
.spp-product-summary__buy form.cart:not(.variations_form),
.spp-product-summary__buy .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
}

.spp-product-summary__buy .quantity {
  float: none !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

.spp-product-summary__buy .quantity .qty {
  width: 74px !important;
  height: 56px !important;
  min-height: 56px !important;
  border-radius: 16px !important;
  padding: 0 8px !important;
  text-align: center;
}

.spp-product-summary__buy .single_add_to_cart_button {
  min-height: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  margin: 0 !important;
  flex: 1 1 auto;
}

/* Identical, reliable horizontal insets for every internal hero. */
.spp-inner-hero__content {
  width: min(1360px, calc(100% - 72px)) !important;
  margin-inline: auto !important;
  padding: 88px 0 72px !important;
}

.spp-inner-hero--compact .spp-inner-hero__content {
  padding-top: 68px !important;
  padding-bottom: 58px !important;
}

.spp-inner-hero h1 {
  max-width: 980px;
}

/* Delivery information is intentionally dark on the light panel. */
.spp-delivery-note h2,
.spp-delivery-note p {
  color: var(--spp-ink) !important;
}

.spp-delivery-note p {
  color: var(--spp-muted) !important;
}

/* Yandex map receives a restrained warm treatment matching the site palette. */
.spp-map {
  background: #e8ddcf;
}

.spp-map iframe {
  filter: sepia(.16) saturate(.72) contrast(.96) brightness(.98);
  transition: filter .35s ease;
}

.spp-map:hover iframe,
.spp-map:focus-within iframe {
  filter: sepia(.07) saturate(.9) contrast(.99) brightness(1);
}

/* Cart delete action: small, explicit and readable instead of a black sphere. */
.spp-commerce .woocommerce a.remove,
.spp-commerce__shell a.remove {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 12px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  background: #f6e7df !important;
  color: var(--spp-copper-dark) !important;
  border: 1px solid rgba(181, 77, 43, .16) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.spp-commerce .woocommerce a.remove::before,
.spp-commerce__shell a.remove::before {
  content: "×";
  font-size: 24px;
  line-height: 1;
  font-weight: 500;
  color: var(--spp-copper-dark);
  transform: translateY(-1px);
}

.spp-commerce .woocommerce a.remove:hover,
.spp-commerce__shell a.remove:hover {
  background: var(--spp-copper-dark) !important;
  border-color: var(--spp-copper-dark) !important;
}

.spp-commerce .woocommerce a.remove:hover::before,
.spp-commerce__shell a.remove:hover::before {
  color: #fff;
}

/* Checkout: one coherent form instead of uneven floating columns. */
.spp-commerce .woocommerce-checkout .col2-set,
.spp-commerce .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.spp-commerce .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.spp-commerce .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  width: 100% !important;
}

.spp-commerce .woocommerce-checkout .col2-set {
  grid-template-columns: 1fr !important;
  gap: 26px;
}

.spp-commerce .woocommerce-checkout .col2-set .col-1,
.spp-commerce .woocommerce-checkout .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--spp-line);
  border-radius: 20px;
  background: #fffdf9;
}

.spp-commerce .woocommerce-checkout .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.spp-commerce .woocommerce-checkout .form-row-wide,
.spp-commerce .woocommerce-checkout #billing_address_1_field,
.spp-commerce .woocommerce-checkout #billing_address_2_field,
.spp-commerce .woocommerce-checkout #order_comments_field,
.spp-commerce .woocommerce-checkout .create-account {
  grid-column: 1 / -1;
}

.spp-commerce .woocommerce-checkout .form-row label {
  display: block;
  margin-bottom: 7px;
  color: var(--spp-ink) !important;
}

.spp-commerce .woocommerce-checkout #order_review_heading {
  margin-top: 42px;
}

.spp-commerce .woocommerce-checkout #order_review,
.spp-commerce .woocommerce-checkout .woocommerce-checkout-review-order {
  width: 100% !important;
  float: none !important;
}

@media (max-width: 1240px) {
  .spp-hero {
    height: 720px;
    min-height: 720px;
  }

  .spp-hero__content {
    padding-bottom: 132px;
  }
}

@media (max-width: 1100px) {
  .spp-hero {
    height: 720px;
    min-height: 720px;
  }

  .spp-hero__controls {
    left: 24px;
  }

  .spp-story,
  .spp-story__media {
    min-height: 560px;
    height: 560px;
  }
}

@media (max-width: 820px) {
  .spp-hero {
    height: auto;
    min-height: 860px;
  }

  .spp-hero__content {
    padding: 52px 0 112px;
  }

  .spp-hero__copy h1 {
    font-size: clamp(46px, 10.5vw, 62px);
  }

  .spp-hero__controls {
    left: 50%;
    bottom: 26px;
    transform: translateX(-50%);
  }

  .spp-story,
  .spp-story__media {
    height: auto;
    min-height: 440px;
  }

  .spp-story__media > img {
    min-height: 440px;
  }

  .spp-inner-hero__content {
    width: min(100% - 32px, 760px) !important;
    padding: 72px 0 58px !important;
  }

  .spp-commerce .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .spp-commerce .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .spp-commerce .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .spp-commerce .woocommerce-checkout .form-row,
  .spp-commerce .woocommerce-checkout .form-row-wide,
  .spp-commerce .woocommerce-checkout #billing_address_1_field,
  .spp-commerce .woocommerce-checkout #billing_address_2_field,
  .spp-commerce .woocommerce-checkout #order_comments_field {
    grid-column: 1;
  }
}

@media (max-width: 540px) {
  .spp-hero {
    min-height: 820px;
  }

  .spp-hero__content {
    padding-top: 38px;
  }

  .spp-hero__copy h1 {
    font-size: 42px;
  }

  .spp-hero__visual {
    width: min(278px, calc(100vw - 60px));
  }

  .spp-story,
  .spp-story__media,
  .spp-story__media > img {
    min-height: 360px;
  }

  .spp-floating-cart {
    width: 54px;
    height: 54px;
    right: 14px;
    bottom: 14px;
    border-radius: 16px;
  }

  .spp-product-summary__buy form.cart:not(.variations_form),
  .spp-product-summary__buy .woocommerce-variation-add-to-cart {
    gap: 9px !important;
  }

  .spp-product-summary__buy .quantity .qty {
    width: 68px !important;
  }

  .spp-product-summary__buy .single_add_to_cart_button {
    padding-inline: 18px !important;
  }

  .spp-inner-hero__content {
    width: calc(100% - 24px) !important;
    padding: 60px 0 50px !important;
  }

  .spp-commerce .woocommerce-checkout .col2-set .col-1,
  .spp-commerce .woocommerce-checkout .col2-set .col-2 {
    padding: 20px !important;
    border-radius: 16px;
  }
}

/* ========================================================================
   PRECISION FIXES — 1.2.2
   Checkout breathing room, one floating cart, unified hero rhythm,
   corrected controls, local SEO blocks and dedicated high-resolution crops.
   ======================================================================== */

/* Header menu chevron: optical center independent of the text baseline. */
.spp-nav__item > a .spp-nav__chevron {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  display: inline-grid;
  place-items: center;
  line-height: 0;
  transform-origin: 50% 50%;
  color: var(--spp-copper) !important;
  transition: transform .25s ease;
}

.spp-nav__item > a .spp-nav__chevron svg {
  display: block;
  width: 14px;
  height: 14px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.spp-nav__item:hover > a .spp-nav__chevron,
.spp-nav__item:focus-within > a .spp-nav__chevron {
  transform: rotate(180deg);
}

/* Do not let the older generic span rule move the SVG off-center. */
.spp-nav__item:hover > a > span.spp-nav__chevron,
.spp-nav__item:focus-within > a > span.spp-nav__chevron {
  transform: rotate(180deg);
}

/* Keep the plugin's own floating cart and suppress duplicate side-cart widgets. */
body.spp-premium-active .xoo-wsc-basket,
body.spp-premium-active .xoo-wsc-modal,
body.spp-premium-active .xt_woofc-trigger,
body.spp-premium-active .xt_woofc-cart-open,
body.spp-premium-active .woofc-count,
body.spp-premium-active .woofc-area,
body.spp-premium-active .fkcart-floating-toggler,
body.spp-premium-active .cartflows-floating-cart,
body.spp-premium-active .wc-block-mini-cart__button,
body.spp-premium-active .elementor-menu-cart__toggle,
body.spp-premium-active .ast-site-header-cart,
body.spp-premium-active .site-header-cart,
body.spp-premium-active .floating-cart:not(.spp-floating-cart),
body.spp-premium-active .sticky-cart:not(.spp-floating-cart) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Unified internal hero spacing: same measured rhythm as checkout. */
.spp-inner-hero,
.spp-inner-hero--page,
.spp-inner-hero--catalog {
  min-height: 360px;
  align-items: center;
}

.spp-inner-hero__content,
.spp-inner-hero--compact .spp-inner-hero__content,
.spp-inner-hero--page .spp-inner-hero__content,
.spp-inner-hero--catalog .spp-inner-hero__content {
  width: min(1360px, calc(100% - 72px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 70px 0 62px !important;
}

.spp-inner-hero__content > * {
  max-width: 900px;
}

.spp-inner-hero .spp-breadcrumbs {
  margin-bottom: 24px;
}

.spp-inner-hero h1 {
  margin: 16px 0 18px;
  font-size: clamp(52px, 6vw, 84px);
}

.spp-inner-hero--catalog .spp-inner-hero__bg {
  background-position: center 52%;
  filter: saturate(1.03) contrast(1.06) brightness(.88);
}

/* Landing-page heroes use the same container inset and calmer vertical spacing. */
.spp-landing-hero {
  padding: 68px 0 76px;
}

.spp-landing-hero > .spp-container {
  width: min(1360px, calc(100% - 72px));
  gap: clamp(42px, 5vw, 72px);
}

.spp-landing-hero .spp-breadcrumbs {
  margin-bottom: 24px;
}

.spp-landing-hero h1 {
  margin: 18px 0 22px;
  font-size: clamp(54px, 6.2vw, 88px);
}

/* Fourth homepage screen: exact image-height section, no white strip below. */
.spp-story {
  height: 660px;
  min-height: 660px;
  overflow: hidden;
  align-items: stretch;
}

.spp-story__media {
  height: 100%;
  min-height: 0;
  align-self: stretch;
  background: #1c130f;
}

.spp-story__media > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 54% 50%;
}

.spp-story__copy {
  height: 100%;
  min-height: 0;
  padding: 62px clamp(44px, 6vw, 92px);
  overflow: hidden;
}

.spp-story__copy h2 {
  margin: 20px 0 22px;
  font-size: clamp(44px, 4.4vw, 66px);
}

.spp-story__copy > p {
  margin: 0 0 14px;
  font-size: 16px;
}

.spp-story__numbers {
  margin: 26px 0;
  padding: 22px 0;
}

/* Product description: label and copy start on exactly the same line. */
.spp-product-description {
  align-items: start;
}

.spp-product-description > span {
  display: block;
  margin: 0;
  padding-top: 4px;
  line-height: 1.45;
}

.spp-product-description > div,
.spp-product-description > div > :first-child {
  margin-top: 0 !important;
}

.spp-product-description > div > :last-child {
  margin-bottom: 0 !important;
}

/* Cart remove control: a real circle with a mathematically centered cross. */
.spp-commerce .woocommerce a.remove,
.spp-commerce__shell a.remove {
  position: relative !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.spp-commerce .woocommerce a.remove::before,
.spp-commerce .woocommerce a.remove::after,
.spp-commerce__shell a.remove::before,
.spp-commerce__shell a.remove::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: var(--spp-copper-dark);
  transform-origin: center;
}

.spp-commerce .woocommerce a.remove::before,
.spp-commerce__shell a.remove::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.spp-commerce .woocommerce a.remove::after,
.spp-commerce__shell a.remove::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.spp-commerce .woocommerce a.remove:hover::before,
.spp-commerce .woocommerce a.remove:hover::after,
.spp-commerce__shell a.remove:hover::before,
.spp-commerce__shell a.remove:hover::after {
  background: #fff;
}

/* Checkout footer area: privacy text and submit button get real breathing room. */
.spp-commerce #payment .place-order,
.spp-commerce .woocommerce-checkout-payment .place-order {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 28px 30px 30px !important;
  border-top: 1px solid rgba(31, 22, 17, .1);
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 26px !important;
  background: rgba(255, 255, 255, .18);
}

.spp-commerce #payment .woocommerce-terms-and-conditions-wrapper,
.spp-commerce #payment .woocommerce-privacy-policy-text {
  flex: 1 1 auto;
  min-width: 0;
}

.spp-commerce #payment .woocommerce-privacy-policy-text p {
  margin: 0 !important;
  max-width: 920px;
  line-height: 1.65;
}

.spp-commerce #payment #place_order {
  flex: 0 0 auto;
  min-width: 190px;
  margin: 0 0 0 auto !important;
  padding-inline: 28px !important;
}

.spp-commerce #payment ul.payment_methods {
  margin: 0 !important;
  padding: 24px 28px 26px !important;
}

.spp-commerce #payment div.payment_box {
  margin: 16px 0 6px !important;
  padding: 20px 22px !important;
}

/* Local landing SEO: unique, readable city-specific content. */
.spp-location-seo {
  background:
    radial-gradient(circle at 92% 4%, rgba(213, 173, 115, .13), transparent 28%),
    #fff;
  color: var(--spp-ink);
}

.spp-location-seo__grid {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: clamp(52px, 7vw, 110px);
  align-items: start;
}

.spp-location-seo__heading {
  position: sticky;
  top: 138px;
}

.spp-location-seo__heading h2 {
  margin: 22px 0 0;
  font-family: var(--spp-serif);
  font-size: clamp(42px, 4.5vw, 66px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.05em;
  color: var(--spp-ink) !important;
}

.spp-location-seo__copy p {
  margin: 0 0 22px;
  font-size: 18px;
  line-height: 1.78;
  color: var(--spp-muted) !important;
}

.spp-location-seo__copy p:first-child {
  font-size: 21px;
  color: var(--spp-ink) !important;
}

.spp-location-seo__points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 58px;
}

.spp-location-seo__point {
  min-height: 230px;
  padding: 28px;
  border: 1px solid var(--spp-line);
  border-radius: 22px;
  background: var(--spp-paper);
  box-shadow: 0 12px 34px rgba(45, 28, 18, .055);
}

.spp-location-seo__point > span {
  color: var(--spp-copper) !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

.spp-location-seo__point h3 {
  margin: 18px 0 12px;
  font-family: var(--spp-serif);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.1;
  color: var(--spp-ink) !important;
}

.spp-location-seo__point p {
  margin: 0;
  color: var(--spp-muted) !important;
  font-size: 14px;
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .spp-story {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .spp-story__media {
    height: 540px;
    min-height: 540px;
  }

  .spp-story__copy {
    height: auto;
    overflow: visible;
    padding: 72px 7vw;
  }

  .spp-location-seo__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .spp-location-seo__heading {
    position: static;
  }
}

@media (max-width: 820px) {
  .spp-inner-hero,
  .spp-inner-hero--page,
  .spp-inner-hero--catalog {
    min-height: 330px;
  }

  .spp-inner-hero__content,
  .spp-inner-hero--compact .spp-inner-hero__content,
  .spp-inner-hero--page .spp-inner-hero__content,
  .spp-inner-hero--catalog .spp-inner-hero__content,
  .spp-landing-hero > .spp-container {
    width: min(100% - 34px, 760px) !important;
  }

  .spp-inner-hero__content,
  .spp-inner-hero--compact .spp-inner-hero__content,
  .spp-inner-hero--page .spp-inner-hero__content,
  .spp-inner-hero--catalog .spp-inner-hero__content {
    padding: 58px 0 50px !important;
  }

  .spp-landing-hero {
    padding: 54px 0 62px;
  }

  .spp-landing-hero h1 {
    font-size: clamp(48px, 10vw, 64px);
  }

  .spp-commerce #payment .place-order,
  .spp-commerce .woocommerce-checkout-payment .place-order {
    align-items: stretch !important;
    flex-direction: column !important;
    padding: 24px 22px 26px !important;
  }

  .spp-commerce #payment #place_order {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
  }

  .spp-location-seo__points {
    grid-template-columns: 1fr;
    margin-top: 38px;
  }

  .spp-location-seo__point {
    min-height: 0;
  }
}

@media (max-width: 540px) {
  .spp-inner-hero__content,
  .spp-inner-hero--compact .spp-inner-hero__content,
  .spp-inner-hero--page .spp-inner-hero__content,
  .spp-inner-hero--catalog .spp-inner-hero__content,
  .spp-landing-hero > .spp-container {
    width: calc(100% - 24px) !important;
  }

  .spp-inner-hero h1 {
    font-size: 44px;
  }

  .spp-story__media {
    height: 370px;
    min-height: 370px;
  }

  .spp-story__media > img {
    object-position: 58% 50%;
  }

  .spp-commerce #payment ul.payment_methods {
    padding: 20px 18px 22px !important;
  }

  .spp-commerce #payment .place-order,
  .spp-commerce .woocommerce-checkout-payment .place-order {
    padding: 22px 18px 22px !important;
  }

  .spp-location-seo__copy p,
  .spp-location-seo__copy p:first-child {
    font-size: 16px;
  }
}

/* =========================================================
   MOBILE PRECISION FIXES — 1.2.3
   ========================================================= */

/* The phone CTA in the opened mobile menu must stay legible on its dark surface. */
.spp-mobile-nav a.spp-mobile-nav__phone,
.spp-mobile-nav .spp-mobile-nav__phone,
a.spp-mobile-nav__phone {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: linear-gradient(135deg, #241a15, #130f0c) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  text-align: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
  letter-spacing: .015em;
  box-shadow: 0 12px 28px rgba(29, 18, 12, .18);
}

/* WooCommerce floats the category ordering form. Clear that float so the
   product grid always receives the full catalog width. */
.spp-catalog-toolbar .woocommerce-ordering {
  float: none !important;
  clear: both !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.spp-catalog-toolbar::after {
  content: "";
  display: block;
  clear: both;
}

.spp-catalog-section .spp-products-grid {
  clear: both !important;
  width: 100% !important;
  min-width: 0 !important;
}

.spp-catalog-section .spp-product-card {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

@media (max-width: 820px) {
  /* A hidden WordPress admin bar must not leave a 46px blank strip above the sticky header. */
  body.admin-bar .spp-header,
  .admin-bar .spp-header {
    top: 0 !important;
  }

  html.spp-adminbar-visible body.admin-bar .spp-header {
    top: 46px !important;
  }

  .spp-catalog-nav,
  body.admin-bar .spp-catalog-nav,
  .admin-bar .spp-catalog-nav {
    top: 76px !important;
  }

  html.spp-adminbar-visible body.admin-bar .spp-catalog-nav {
    top: 122px !important;
  }

  /* Category archive toolbar becomes a normal full-width stack. */
  .spp-catalog-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100% !important;
    margin-bottom: 30px !important;
  }

  .spp-catalog-toolbar > div,
  .spp-catalog-toolbar .woocommerce-ordering,
  .spp-catalog-toolbar .woocommerce-ordering select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .spp-catalog-toolbar .woocommerce-ordering {
    display: block !important;
    margin: 0 !important;
  }

  .spp-catalog-toolbar .woocommerce-ordering select {
    display: block !important;
    height: 50px !important;
  }

  .spp-catalog-section .spp-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  .spp-catalog-section .spp-product-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .spp-catalog-section .spp-product-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
  }

  .spp-catalog-section .spp-product-card__bottom {
    margin-top: auto;
  }

  /* Mobile cart rows: labels remain readable on the left while every value,
     control and action is consistently anchored to the right. */
  .spp-commerce table.shop_table_responsive tr.cart_item td,
  .spp-commerce table.shop_table_responsive tbody tr td {
    width: 100% !important;
    min-width: 0 !important;
    text-align: right !important;
    vertical-align: middle !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td:not(.product-remove):not(.product-thumbnail),
  .spp-commerce table.shop_table_responsive tbody tr td:not(.product-remove):not(.product-thumbnail):not(.actions) {
    display: grid !important;
    grid-template-columns: minmax(92px, .85fr) minmax(0, 1.15fr) !important;
    align-items: center !important;
    column-gap: 14px !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td::before,
  .spp-commerce table.shop_table_responsive tbody tr td::before {
    float: none !important;
    display: block !important;
    margin: 0 !important;
    text-align: left !important;
    line-height: 1.35 !important;
  }

  .spp-commerce table.shop_table_responsive td.product-remove::before,
  .spp-commerce table.shop_table_responsive td.product-thumbnail::before,
  .spp-commerce table.shop_table_responsive td.actions::before {
    display: none !important;
  }

  .spp-commerce table.shop_table_responsive td.product-remove,
  .spp-commerce table.shop_table_responsive td.product-thumbnail,
  .spp-commerce table.shop_table_responsive td.actions {
    display: block !important;
    text-align: right !important;
  }

  .spp-commerce table.shop_table_responsive td.product-remove a.remove,
  .spp-commerce table.shop_table_responsive td.product-thumbnail a,
  .spp-commerce table.shop_table_responsive td.product-thumbnail img,
  .spp-commerce table.shop_table_responsive td.product-name > a,
  .spp-commerce table.shop_table_responsive td.product-price > *,
  .spp-commerce table.shop_table_responsive td.product-subtotal > *,
  .spp-commerce table.shop_table_responsive td.product-quantity .quantity {
    margin-left: auto !important;
    margin-right: 0 !important;
  }

  .spp-commerce table.shop_table_responsive td.product-name,
  .spp-commerce table.shop_table_responsive td.product-name a,
  .spp-commerce table.shop_table_responsive td.product-name dl,
  .spp-commerce table.shop_table_responsive td.product-price,
  .spp-commerce table.shop_table_responsive td.product-quantity,
  .spp-commerce table.shop_table_responsive td.product-subtotal {
    text-align: right !important;
  }

  .spp-commerce table.shop_table_responsive td.product-name dl.variation {
    justify-self: end;
    margin: 5px 0 0 auto !important;
  }

  .spp-commerce table.shop_table_responsive td.product-quantity .quantity {
    display: inline-flex !important;
    justify-self: end !important;
    width: max-content !important;
  }

  .spp-commerce table.shop_table_responsive td.actions .coupon,
  .spp-commerce table.shop_table_responsive td.actions .button {
    float: none !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 540px) {
  .spp-catalog-nav,
  body.admin-bar .spp-catalog-nav,
  .admin-bar .spp-catalog-nav {
    top: 70px !important;
  }

  html.spp-adminbar-visible body.admin-bar .spp-catalog-nav {
    top: 116px !important;
  }

  .spp-catalog-section .spp-products-grid {
    gap: 12px !important;
  }

  .spp-catalog-toolbar h2 {
    font-size: 42px !important;
    line-height: 1 !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td,
  .spp-commerce table.shop_table_responsive tbody tr td {
    padding: 13px 10px !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td:not(.product-remove):not(.product-thumbnail),
  .spp-commerce table.shop_table_responsive tbody tr td:not(.product-remove):not(.product-thumbnail):not(.actions) {
    grid-template-columns: minmax(84px, .8fr) minmax(0, 1.2fr) !important;
    column-gap: 10px !important;
  }

  .spp-commerce table.shop_table_responsive td.actions .coupon {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .spp-commerce table.shop_table_responsive td.actions .coupon .input-text,
  .spp-commerce table.shop_table_responsive td.actions .coupon .button,
  .spp-commerce table.shop_table_responsive td.actions > .button {
    width: 100% !important;
  }
}

/* ================================================================
   MOBILE POLISH — 1.2.4
   Scoped to mobile widths: desktop layout and styling stay intact.
   ================================================================ */
@media (max-width: 820px) {
  /* Location landing facts: preserve a clear, deliberate gap between
     the index and its copy instead of letting inline text run together. */
  .spp-landing-hero__facts > div {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 14px !important;
  }

  .spp-landing-hero__facts b,
  .spp-landing-hero__facts span {
    display: block !important;
    min-width: 0;
  }

  /* Remove the oversized blank lead-in between the second and third
     homepage sections while retaining a small intentional breathing gap. */
  .spp-trustbar + .spp-categories {
    padding-top: 24px !important;
  }

  /* The catalog category strip uses native touch momentum. Mouse drag
     remains available through site.js without competing with finger swipes. */
  .spp-catalog-nav__rail {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    touch-action: pan-x pan-y;
  }

  .spp-catalog-nav__rail > a {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }

  /* Cart remove action belongs to the product card itself, not to a
     separate responsive-table row. */
  .spp-commerce table.shop_table_responsive tr.cart_item {
    position: relative !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail {
    padding-right: 58px !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove {
    position: absolute !important;
    z-index: 4 !important;
    top: 12px !important;
    right: 10px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove::before,
  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove::after {
    content: none !important;
    display: none !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove a.remove {
    margin: 0 0 0 auto !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove a.remove .button_icon {
    display: none !important;
  }
}

@media (max-width: 540px) {
  .spp-trustbar + .spp-categories {
    padding-top: 18px !important;
  }

  .spp-landing-hero__facts > div {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }
}



/* ================================================================
   MOBILE CART POLISH — 1.2.5
   Refines the first cart row and makes the remove button perfectly circular.
   ================================================================ */
@media (max-width: 820px) {
  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-height: 62px !important;
    padding: 10px 64px 10px 10px !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail::before,
  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail::after,
  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove::before,
  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove::after {
    content: none !important;
    display: none !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 0 auto !important;
    line-height: 0 !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail img {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove {
    top: 50% !important;
    right: 10px !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove a.remove {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    aspect-ratio: 1 / 1;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove a.remove::before,
  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove a.remove::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 14px !important;
    height: 2px !important;
    margin: 0 !important;
    transform-origin: center !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove a.remove::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove a.remove::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
}

/* ================================================================
   CART ACTIONS & AJAX FEEDBACK — 1.2.6
   ================================================================ */

/* The clear-cart action is intentionally mobile-only. */
.spp-commerce .spp-clear-cart-button {
  display: none !important;
}

/* Confirmation shown after AJAX add-to-cart without opening a side drawer. */
.spp-cart-toast {
  position: fixed;
  z-index: 100050;
  left: 50%;
  bottom: 28px;
  width: min(560px, calc(100% - 36px));
  min-height: 76px;
  padding: 14px 16px;
  border: 1px solid rgba(31, 22, 17, .12);
  border-radius: 22px;
  background: rgba(255, 250, 244, .98);
  color: var(--spp-ink);
  box-shadow: 0 22px 70px rgba(34, 20, 12, .24);
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 18px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}

.spp-cart-toast.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.spp-cart-toast__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--spp-copper);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
}

.spp-cart-toast__copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.spp-cart-toast__copy strong {
  font-size: 15px;
  line-height: 1.25;
}

.spp-cart-toast__copy small {
  overflow: hidden;
  color: var(--spp-muted);
  font-size: 13px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.spp-cart-toast__link {
  min-height: 42px;
  padding: 0 17px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--spp-ink);
  color: #fff !important;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.spp-cart-toast.is-error .spp-cart-toast__icon {
  background: #a53b2c;
}

.spp-cart-toast.is-error .spp-cart-toast__icon::before {
  content: "!";
}

.spp-cart-toast.is-error .spp-cart-toast__icon {
  font-size: 0;
}

.spp-cart-toast.is-error .spp-cart-toast__icon::before {
  font-size: 20px;
}

/* Hidden side-cart plugins must never leave the premium pages scroll-locked. */
html.spp-cart-scroll-unlocked,
html.spp-cart-scroll-unlocked body.spp-premium-active {
  overflow-y: auto !important;
  height: auto !important;
}

@media (max-width: 820px) {
  /* Per-item deletion is removed on phones; the cart is cleared with one
     dedicated action below the standard update button. */
  .spp-commerce table.shop_table_responsive tr.cart_item td.product-remove {
    display: none !important;
  }

  /* A clean first row containing only the product image. */
  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail {
    min-height: 94px !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail > a {
    margin: 0 !important;
  }

  .spp-commerce table.shop_table_responsive tr.cart_item td.product-thumbnail img {
    width: 70px !important;
    height: 70px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    object-fit: cover !important;
  }

  .spp-commerce table.shop_table_responsive td.actions > button[name="update_cart"],
  .spp-commerce table.shop_table_responsive td.actions > .spp-clear-cart-button {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .spp-commerce table.shop_table_responsive td.actions > .spp-clear-cart-button {
    display: inline-flex !important;
    margin-top: 10px !important;
  }

  .spp-cart-toast {
    bottom: 86px;
    width: calc(100% - 28px);
    min-height: 72px;
    padding: 12px;
    border-radius: 18px;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 11px;
  }

  .spp-cart-toast__icon {
    width: 40px;
    height: 40px;
  }

  .spp-cart-toast__link {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 2px;
  }
}

/* ================================================================
   DESKTOP STORY IMAGE CORNER — 1.3.2
   Only the lower-right corner of the fourth homepage image is rounded.
   ================================================================ */
@media (min-width: 821px) {
  .home .spp-story__media {
    border-radius: 0 0 88px 0;
  }
}


/* ================================================================
   GRID, LEGAL PAGES, PIZZA SIZES & HEADER ALIGNMENT — 1.4.0
   ================================================================ */

/* The second homepage screen is a true responsive grid, not a carousel. */
.home .spp-categories {
  overflow: visible;
}

.spp-categories__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.spp-categories__grid .spp-category-card {
  width: 100%;
  min-width: 0;
  min-height: 340px;
  flex: none;
  border-radius: 24px;
}

.spp-categories__grid .spp-category-card__top {
  top: 17px;
  left: 17px;
  right: 17px;
}

.spp-categories__grid .spp-category-card__body {
  left: 20px;
  right: 20px;
  bottom: 21px;
}

.spp-categories__grid .spp-category-card h3 {
  font-size: clamp(26px, 2.2vw, 34px);
  overflow-wrap: anywhere;
}

/* A button cannot follow WooCommerce's add-to-cart URL, so the catalog never reloads. */
button.spp-add-to-cart {
  appearance: none;
  cursor: pointer;
  line-height: 1;
}

button.spp-add-to-cart.loading {
  pointer-events: none;
  opacity: .68;
}

button.spp-add-to-cart.loading::before {
  content: "";
  width: 15px;
  height: 15px;
  border: 2px solid rgba(255, 255, 255, .45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spp-add-spin .65s linear infinite;
}

button.spp-add-to-cart.loading {
  font-size: 0;
}

@keyframes spp-add-spin {
  to { transform: rotate(360deg); }
}

/* The phone number itself now sits on the same centre line as the desktop menu.
   Its explanatory caption is positioned above without pushing the number down. */
@media (min-width: 1101px) {
  .spp-header__phone {
    position: relative;
    height: 48px;
    min-height: 48px;
    justify-content: center;
    align-items: flex-end;
    line-height: 1;
    margin-top: 0;
  }

  .spp-header__phone small {
    position: absolute;
    top: 1px;
    right: 0;
    line-height: 1;
  }

  .spp-header__phone strong {
    display: flex;
    align-items: center;
    min-height: 48px;
    line-height: 1;
  }
}

/* Footer documents receive their own compact, readable column. */
.spp-footer__top {
  grid-template-columns: minmax(280px, 1.5fr) minmax(130px, .62fr) minmax(210px, .92fr) minmax(190px, .82fr);
  gap: 54px;
}

.spp-footer__top > div:nth-child(n+2) a {
  line-height: 1.42;
}

/* Managed legal documents follow the site's premium editorial styling. */
.spp-page-content--politika-konfidentsialnosti .spp-container,
.spp-page-content--soglasie-na-obrabotku-personalnyh-dannyh .spp-container {
  width: min(1060px, calc(100% - 64px));
}

.spp-legal-document {
  padding: clamp(32px, 5vw, 72px);
  border: 1px solid rgba(31, 22, 17, .09);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(45, 28, 17, .08);
}

.spp-legal-document__intro {
  margin: 0 0 42px !important;
  padding: 24px 26px;
  border-left: 4px solid var(--spp-copper);
  border-radius: 0 18px 18px 0;
  background: var(--spp-paper);
  color: var(--spp-ink) !important;
  font-size: 18px;
  font-weight: 700;
}

.spp-legal-document h2 {
  margin: 48px 0 18px;
  color: var(--spp-ink);
  font-family: var(--spp-serif);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 400;
  line-height: 1.08;
}

.spp-legal-document h2:first-of-type {
  margin-top: 0;
}

.spp-legal-document p,
.spp-legal-document li {
  color: var(--spp-muted);
  font-size: 16px;
  line-height: 1.78;
}

.spp-legal-document ul,
.spp-legal-document ol {
  margin: 18px 0 26px;
  padding-left: 24px;
}

.spp-legal-document li + li {
  margin-top: 9px;
}

.spp-legal-document a {
  color: var(--spp-copper-dark) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

/* Custom pizza-size choices. WooCommerce's select remains present but invisible. */
.spp-variation-row--pizza-size .label {
  padding-bottom: 10px !important;
}

.spp-variation-row--pizza-size .value {
  position: relative;
}

.spp-variation-row--pizza-size select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.spp-pizza-sizes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin: 4px 0 10px;
}

.spp-pizza-size {
  min-width: 0;
  min-height: 104px;
  padding: 12px 8px 10px;
  border: 1px solid var(--spp-line) !important;
  border-radius: 18px;
  background: #fff !important;
  color: var(--spp-ink) !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(45, 28, 17, .045);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.spp-pizza-size:hover:not(:disabled) {
  transform: translateY(-3px);
  border-color: rgba(181, 77, 43, .46) !important;
  box-shadow: 0 14px 30px rgba(45, 28, 17, .09);
}

.spp-pizza-size.is-active {
  border-color: var(--spp-copper) !important;
  background: rgba(181, 77, 43, .075) !important;
  box-shadow: 0 0 0 2px rgba(181, 77, 43, .12), 0 14px 30px rgba(45, 28, 17, .08);
}

.spp-pizza-size:disabled {
  opacity: .38;
  cursor: not-allowed;
}

.spp-pizza-size__icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  transform-origin: center;
}

.spp-pizza-size--1 .spp-pizza-size__icon { transform: scale(.72); }
.spp-pizza-size--2 .spp-pizza-size__icon { transform: scale(.87); }
.spp-pizza-size--3 .spp-pizza-size__icon { transform: scale(1); }

.spp-pizza-size__icon svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: var(--spp-copper);
}

.spp-pizza-size__icon .spp-pizza-size__crust {
  fill: #d88a48;
}

.spp-pizza-size__icon .spp-pizza-size__cheese {
  fill: #f4c96d;
}

.spp-pizza-size__icon path {
  fill: none;
  stroke: rgba(116, 51, 27, .45);
  stroke-width: 1.4;
  stroke-linecap: round;
}

.spp-pizza-size strong {
  overflow: hidden;
  max-width: 100%;
  color: var(--spp-ink) !important;
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
}

.spp-variation-row--pizza-size .reset_variations {
  display: inline-flex !important;
  margin-top: 5px;
  font-size: 12px;
}

@media (max-width: 1100px) {
  .spp-categories__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .spp-footer__top {
    grid-template-columns: minmax(260px, 1.2fr) minmax(200px, .8fr);
    gap: 42px 60px;
  }
}

@media (max-width: 820px) {
  .spp-categories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .spp-categories__grid .spp-category-card {
    min-height: 300px;
  }

  .spp-footer__top {
    grid-template-columns: 1fr 1fr;
  }

  .spp-page-content--politika-konfidentsialnosti .spp-container,
  .spp-page-content--soglasie-na-obrabotku-personalnyh-dannyh .spp-container {
    width: min(100% - 34px, 1060px);
  }
}

@media (max-width: 540px) {
  .spp-categories__grid {
    grid-template-columns: 1fr;
  }

  .spp-categories__grid .spp-category-card {
    min-height: 320px;
  }

  .spp-categories__grid .spp-category-card h3 {
    font-size: 31px;
  }

  .spp-footer__top {
    grid-template-columns: 1fr;
  }

  .spp-legal-document {
    padding: 26px 20px;
    border-radius: 22px;
  }

  .spp-legal-document__intro {
    padding: 19px 18px;
    font-size: 16px;
  }

  .spp-pizza-size {
    min-height: 92px;
    padding-inline: 5px;
  }

  .spp-pizza-size__icon {
    width: 46px;
    height: 46px;
  }

  .spp-pizza-size strong {
    font-size: 11px;
  }
}

/* 1.4.9: category navigation stays usable after adding all menu sections. */
.spp-nav-catalog {
  max-height: min(76vh, 680px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

@media (max-width: 1100px) {
  .spp-mobile-nav {
    max-height: calc(100vh - 88px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 820px) {
  .admin-bar .spp-mobile-nav {
    max-height: calc(100vh - 134px);
  }
}

/* ================================================================
   DIRECT DRINK CART & CATALOG ORDERING — 1.4.11
   ================================================================ */
.spp-catalog-toolbar .woocommerce-ordering{position:relative!important;z-index:66;overflow:visible!important}
.spp-ordering-shell{position:relative;display:inline-block;width:min(100%,330px);max-width:100%;isolation:isolate;vertical-align:bottom}
.spp-ordering-shell>select.spp-ordering-native{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;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.spp-ordering-trigger{position:relative;z-index:2;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px;width:100%;min-width:290px;min-height:54px;margin:0!important;padding:0 17px 0 20px!important;border:1px solid rgba(42,31,24,.18)!important;border-radius:17px!important;background:#fffaf3!important;color:#17120f!important;-webkit-text-fill-color:#17120f!important;box-shadow:0 8px 24px rgba(52,34,23,.07),inset 0 1px 0 rgba(255,255,255,.9)!important;font-family:inherit!important;font-size:14px!important;font-weight:800!important;line-height:1.25!important;text-align:left!important;cursor:pointer;appearance:none;transition:border-color .2s,box-shadow .2s,background .2s}
.spp-ordering-trigger:hover{border-color:rgba(165,92,48,.55)!important;background:#fff!important;box-shadow:0 12px 30px rgba(52,34,23,.11)!important}
.spp-ordering-trigger:focus-visible{outline:3px solid rgba(184,88,50,.24)!important;outline-offset:3px;border-color:var(--spp-copper)!important}
.spp-ordering-trigger__label{min-width:0;overflow:hidden;color:inherit!important;-webkit-text-fill-color:currentColor!important;text-overflow:ellipsis;white-space:nowrap}
.spp-ordering-trigger svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.spp-ordering-shell.is-open .spp-ordering-trigger{border-color:var(--spp-copper)!important;background:#fff!important;box-shadow:0 12px 32px rgba(52,34,23,.13)!important}
.spp-ordering-shell.is-open .spp-ordering-trigger svg{transform:rotate(180deg)}
.spp-ordering-menu{position:absolute;top:calc(100% + 9px);right:0;z-index:999;display:grid;width:max(100%,310px);max-width:min(390px,calc(100vw - 34px));max-height:min(440px,calc(100vh - 180px));padding:8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(42,31,24,.14);border-radius:18px;background:#fffaf3;color:#17120f;box-shadow:0 26px 64px rgba(39,25,17,.22),0 7px 20px rgba(39,25,17,.09);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.985);transform-origin:top right;transition:opacity .18s,transform .18s,visibility .18s;scrollbar-width:thin;scrollbar-color:rgba(184,88,50,.48) transparent}
.spp-ordering-shell.is-open .spp-ordering-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.spp-ordering-option{position:relative;display:block!important;width:100%;min-height:46px;margin:0!important;padding:12px 43px 12px 15px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:#17120f!important;-webkit-text-fill-color:#17120f!important;box-shadow:none!important;font-family:inherit!important;font-size:14px!important;font-weight:750!important;line-height:1.3!important;text-align:left!important;cursor:pointer;appearance:none;transition:background .16s,color .16s,transform .16s}
.spp-ordering-option:hover,.spp-ordering-option:focus-visible{outline:0!important;background:rgba(184,88,50,.11)!important;color:#17120f!important;-webkit-text-fill-color:#17120f!important;transform:translateX(2px)}
.spp-ordering-option.is-selected,.spp-ordering-option.is-selected:hover,.spp-ordering-option.is-selected:focus-visible{background:#17120f!important;color:#fff!important;-webkit-text-fill-color:#fff!important;transform:none}
.spp-ordering-option.is-selected:after{content:"✓";position:absolute;top:50%;right:16px;transform:translateY(-50%);color:#f3bd91;font-size:14px;font-weight:900}
.spp-pagination .page-numbers.current{pointer-events:none}
@media(max-width:820px){.spp-catalog-toolbar .woocommerce-ordering,.spp-ordering-shell{width:100%!important;max-width:100%!important}.spp-ordering-trigger{width:100%!important;min-width:0!important;min-height:52px;padding-left:17px!important;border-radius:15px!important;font-size:13px!important}.spp-ordering-menu{left:0;right:auto;width:100%;max-width:100%;max-height:min(390px,calc(100vh - 160px));transform-origin:top center}.spp-ordering-option{min-height:48px;padding-top:13px!important;padding-bottom:13px!important}}

