:root{color-scheme:dark;--bg:#090b0a;--surface:#111311;--raised:#171917;--line:#303330;--line2:#242725;--text:#f6eee5;--muted:#a9aaa7;--accent:#ff6a35;--accent-light:#ff8650;--radius:16px;--bottom:82px;--width:1100px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}svg{display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}.container{max-width:var(--width);padding:0 24px;margin:0 auto}.site{min-height:100dvh;padding-bottom:calc(var(--bottom) + env(safe-area-inset-bottom) + 25px);background:radial-gradient(ellipse at 90% 12%,rgba(83,38,18,.12),transparent 35%),var(--bg)}.boot{text-align:center;padding:45vh 0;font:700 35px Georgia,serif}.boot span{color:var(--accent)}.noscript{padding:20px;text-align:center}
/* shared header */
.topbar{height:95px;display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:4}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand img{width:55px;height:55px;flex:none}.brand-word{font:700 clamp(23px,4.8vw,34px)/1.05 Georgia,"Times New Roman",serif;letter-spacing:-1.3px;white-space:nowrap}.brand-word em{font-style:normal;color:var(--accent)}.tagline{font-size:9px;letter-spacing:2.5px;color:#a5a3a0;white-space:nowrap;margin-top:5px}.header-tools{display:flex;gap:9px;align-items:center}.round-action{border:1px solid #373b39;background:#101210;color:#eee7df;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;position:relative}.round-action svg,.cart-top svg{width:23px;height:23px}.cart-top{height:44px;border:1px solid #8e432b;color:var(--accent);border-radius:11px;background:#11110f;display:flex;align-items:center;gap:8px;padding:0 8px 0 12px}.count-badge{display:inline-flex;min-width:25px;height:26px;align-items:center;justify-content:center;border-radius:7px;background:var(--accent);color:#1b100d;font-weight:800;padding:0 6px}.hamburger{border:0;background:transparent;color:var(--text);padding:9px;display:grid;place-items:center}.hamburger svg{width:26px;height:26px}.header-second{display:flex;align-items:center;justify-content:space-between;padding:0 0 16px}.location-btn{display:inline-flex;align-items:center;gap:8px;min-width:0;border:1px solid #414442;border-radius:30px;background:rgba(12,13,12,.9);color:#ebebe8;padding:8px 13px;font-size:13px}.location-btn .pin{color:var(--accent)}.location-btn .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:184px}.header-second .hamburger{margin-right:0}
.serif{font-family:Georgia,"Times New Roman",serif;letter-spacing:-1.6px}.page-title{font-size:clamp(47px,9vw,82px);line-height:.99;letter-spacing:-2.6px;margin:2px 0 24px}.orange-dot{color:var(--accent)}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase}.subheading{font:700 clamp(29px,6vw,44px)/1.06 Georgia,serif;letter-spacing:-1px;margin-bottom:4px}.muted{color:var(--muted)}.thin-rule{height:1px;background:#30312e}.cta{border:0;border-radius:11px;background:var(--accent);color:#1b120e;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-weight:650;padding:15px 18px;transition:background .2s,transform .2s}.cta:hover{background:var(--accent-light)}.cta:active{transform:scale(.98)}.cta svg{width:22px;height:22px}.outline-btn{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:13px 15px}.pill{border:1px solid #343633;border-radius:11px;color:#bdbcb8;background:#0a0c0b;padding:10px 15px;white-space:nowrap;font-size:13px;transition:.15s}.pill.active{background:#f5dfc9;border-color:#f5dfc9;color:#1c1714}.pill.alt.active{background:transparent;color:var(--text);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
/* home */
.hero{margin-top:8px;position:relative;min-height:410px;overflow:hidden;border-radius:4px}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 77% 46%,rgba(129,49,20,.28),transparent 38%),linear-gradient(90deg,#090b0a 18%,rgba(9,11,10,.95) 34%,rgba(9,11,10,0) 76%);z-index:1;pointer-events:none}.hero-photo{position:absolute;right:-4%;top:0;width:63%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.1);opacity:.97;mask-image:linear-gradient(90deg,transparent,#000 27%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 27%)}.hero-content{position:relative;z-index:2;max-width:430px;padding:24px 0 24px 8px}.hero h1{font:700 clamp(46px,7vw,79px)/.94 Georgia,serif;letter-spacing:-2.4px;margin:0 0 18px}.hero h1 .hot{color:var(--accent)}.hero p{font-size:15px;line-height:1.48;color:#bdbcb9;max-width:306px;margin-bottom:18px}.hero .cta{min-height:54px;padding-inline:20px}.hero-link{display:flex;gap:8px;color:#c9c6c2;align-items:center;margin-top:15px;font-size:14px}.hero-link b{color:var(--accent);font-size:24px;font-weight:400}
.quick-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:11px}.quick{min-width:0;min-height:145px;border:1px solid #333532;border-radius:15px;background:#0d0f0e;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:4px;padding:8px 4px;font-size:14px;transition:border-color .2s}.quick:first-child{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.quick:hover{border-color:var(--accent)}.quick img{height:75px;width:100%;object-fit:contain}.quick span{min-height:34px;display:grid;place-items:center;line-height:1.1}.set-banner{margin-top:18px;position:relative;min-height:238px;overflow:hidden;border:1px solid #42322c;border-radius:16px;background:radial-gradient(circle at 70% 10%,#9a3a11 0,#341408 33%,#100b08 80%);display:flex;align-items:center}.set-banner img{position:absolute;right:0;top:0;width:58%;height:100%;object-fit:cover;object-position:52% center;mask-image:linear-gradient(90deg,transparent,#000 30%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%)}.set-banner .copy{position:relative;z-index:1;padding:24px;max-width:53%}.set-banner h2{font:700 clamp(43px,6vw,70px)/.95 Georgia,serif;margin-bottom:7px}.set-banner p{font-size:16px;line-height:1.23;color:#d1c8be;margin-bottom:15px}.set-banner .cta{padding:13px 16px}.advantages{display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center;margin:25px 0 17px}.advantage{padding:0 12px;position:relative}.advantage+.advantage:before{content:"";position:absolute;left:0;top:30px;bottom:13px;background:#333331;width:1px}.advantage .ring{width:52px;height:52px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);display:grid;place-items:center;margin:0 auto 7px}.advantage .ring svg{width:26px;height:26px}.advantage h3{font-size:13px;line-height:1.25;font-weight:500;margin-bottom:4px}.advantage p{font-size:11px;color:var(--muted);margin:0;line-height:1.35}.waves{height:60px;position:relative;overflow:hidden;margin:18px -24px 0}.waves svg{width:100%;height:100%}
/* category menu/catalog */
.search{width:100%;position:relative;display:flex;align-items:center;gap:11px;border:1px solid #373a37;border-radius:11px;background:#0c0e0d;padding:0 15px;height:51px}.search svg{width:22px;height:22px;color:#9a9d9b;flex:none}.search input{background:transparent;border:0;outline:0;color:var(--text);min-width:0;flex:1;font-size:14px}.search:focus-within{border-color:var(--accent)}.search input::placeholder{color:#8d918e}.category-chips{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0 23px}.category-chips .chip{display:flex;align-items:center;gap:8px;font-size:13px;border:1px solid #393c39;padding:8px 11px;border-radius:10px;background:#0b0d0c;color:#ddd9d4}.category-chips .chip.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--text)}.category-chips .chip img{width:24px;height:24px;object-fit:contain}.category-chips .chip .emoji{font-size:18px;color:var(--accent)}.section-bar{display:flex;align-items:baseline;justify-content:space-between;gap:9px;margin:0 0 12px}.section-left{display:flex;align-items:baseline;gap:10px;min-width:0}.section-bar .subheading{font-size:clamp(26px,5vw,38px);white-space:normal}.count-label{color:#959894;font-size:12px;white-space:nowrap}.sort-select{background:transparent;border:0;color:#dedbd6;font-size:12px;max-width:125px;min-width:110px;outline:0}.sort-select option{background:#171817;color:white}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{min-width:0;border:1px solid #303330;background:#0b0d0c;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .15s,border-color .15s}.product-card:hover{border-color:#5c3c30}.card-photo{height:155px;display:block;width:100%;border:0;position:relative;background:#030404;padding:0;overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .2s}.product-card:hover .card-photo img{transform:scale(1.035)}.heart{position:absolute;right:9px;top:10px;color:#e6e5e1;border:0;background:#03040380;border-radius:99px;padding:5px}.heart svg{height:25px;width:25px}.heart.is-active{color:var(--accent)}.heart.is-active svg{fill:var(--accent)}.card-main{padding:0 12px 11px;display:flex;flex-direction:column;flex:1}.card-name{padding:0;border:0;background:transparent;text-align:left;color:#f5f5f3;font-size:16px;font-weight:560;line-height:1.16;margin:0 0 7px}.card-desc{font-size:12px;line-height:1.22;color:#929692;margin:0 0 4px;min-height:29px}.card-meta{color:#9a9d99;font-size:12px}.card-buy{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:8px;gap:8px}.price{font-size:21px;font-weight:750;letter-spacing:.1px;color:var(--accent);white-space:nowrap}.add-btn{display:grid;place-items:center;flex:none;width:40px;height:40px;color:var(--accent);font-size:29px;font-weight:300;line-height:1;border:1px solid var(--accent);border-radius:11px;background:#0b0e0c}.add-btn:active{background:#28180f}.rolls-banner{height:165px;position:relative;margin:4px 0 20px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-bottom:1px solid #2c2d29}.rolls-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090b0a 20%,transparent 98%),radial-gradient(circle at 85% 50%,#512211,#080909 55%)}.rolls-banner img{position:absolute;right:0;top:-22px;height:210px;width:45%;object-fit:contain;opacity:.9;filter:saturate(1.2)}.breadcrumbs{position:relative;z-index:1;color:#9b9e9a;font-size:12px;display:flex;gap:10px;align-items:center;margin-bottom:16px}.rolls-banner h1{position:relative;z-index:1;font-size:65px;margin:0 0 17px}.roll-tabs{display:flex;gap:9px;overflow:auto;padding:0 0 15px;scrollbar-width:none;margin-bottom:0}.roll-tabs::-webkit-scrollbar{display:none}.empty{padding:32px 20px;border:1px solid #333;border-radius:14px;text-align:center;color:#bbb}.empty svg{margin:0 auto 12px;color:var(--accent);width:42px;height:42px}.empty strong{display:block;color:white;margin:0 0 7px;font-size:19px}.empty .cta{margin-top:16px}
/* cart */
.cart-header{display:flex;align-items:center;justify-content:space-between;padding:12px 0 19px}.cart-header .brand img{width:40px;height:40px}.cart-header .brand-word{font-size:22px}.cart-header .tagline{font-size:7px}.icon-only{padding:6px;background:none;border:none;color:#eeece8}.icon-only svg{width:25px;height:25px}.cart-card{border:1px solid #343634;border-radius:13px;padding:10px;margin-bottom:9px;display:flex;align-items:stretch;gap:13px;min-height:114px}.cart-image{width:98px;flex:none;background:black;border:1px solid #2f302e;border-radius:10px;overflow:hidden}.cart-image img{width:100%;height:100%;object-fit:contain}.cart-details{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center}.cart-line{display:flex;gap:3px;justify-content:space-between;align-items:flex-start}.cart-line strong{font-size:14px;line-height:1.25;font-weight:600;max-width:90%}.cart-remove{border:0;color:#ccc;background:none;font-size:24px;line-height:1;padding:0 2px}.cart-details .muted{font-size:12px;margin:6px 0 8px}.stepper{display:flex;align-items:center;border:1px solid var(--accent);border-radius:9px;height:33px;width:132px}.stepper button{border:0;background:transparent;color:var(--accent);width:42px;height:100%;font-size:23px}.stepper span{flex:1;text-align:center;font-size:13px}.extras-row{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:transparent;border:1px solid #353835;color:var(--text);padding:12px 15px;border-radius:12px;margin:16px 0 12px}.extras-row svg{width:22px;height:22px;color:var(--accent)}.extras-row b{margin-left:auto;color:var(--accent);font-size:22px}.promo-row{display:flex;gap:9px;margin-bottom:14px}.promo-row label{min-width:0;flex:1;border:1px solid #363936;border-radius:11px;display:flex;align-items:center;gap:10px;padding:0 11px;color:#aaa}.promo-row label svg{width:20px;height:20px}.promo-row input{color:white;background:transparent;border:0;min-width:0;width:100%;outline:0;height:44px}.promo-row button{background:#111311;color:#d9d9d5;border:1px solid #3d3f3b;border-radius:11px;padding:0 16px}.summary{border-top:1px solid #31332f;padding-top:12px}.summary-row{display:flex;justify-content:space-between;gap:10px;color:#aaa;margin-bottom:9px}.summary-row strong{color:#e8e8e6;font-size:16px}.summary-location{display:flex;justify-content:space-between;color:#aaa;margin:5px 0 13px;gap:15px}.summary-location button{color:#c5c2bd;border:0;background:transparent;text-decoration:underline;padding:0}.total{border-top:1px solid #333;display:flex;justify-content:space-between;align-items:center;padding:14px 0 12px;font-size:23px;font-weight:740}.total strong{font-size:25px}.checkout-btn{width:100%;justify-content:center;font-size:16px}.demo-note{font-size:11px;line-height:1.4;color:#888e89;margin:9px 0 6px}.soft-note{font-size:12px;color:#b0aba3;margin:6px 0 13px}.link-plain{color:var(--accent);text-decoration:underline;background:none;border:0;padding:0}
/* bottom navigation */
.bottom-nav{position:fixed;z-index:15;bottom:0;left:0;right:0;background:linear-gradient(0deg,#090b0a 78%,rgba(9,11,10,.96));border-top:1px solid #252925;padding-bottom:env(safe-area-inset-bottom);height:calc(var(--bottom) + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);max-width:100vw}.nav-item{border:0;background:transparent;color:#babdb9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;position:relative}.nav-item svg{height:25px;width:25px}.nav-item.active{color:var(--accent)}.nav-count{position:absolute;background:var(--accent);color:#100d0a;border-radius:5px;font-size:10px;font-weight:700;min-width:19px;height:19px;display:grid;place-items:center;top:9px;left:calc(50% + 6px)}
/* checkout/profile */
.form-section{background:#0d0f0e;border:1px solid #343734;border-radius:16px;padding:16px;margin-bottom:14px}.form-section h2{font:700 27px Georgia,serif;margin-bottom:16px}.form-row{margin-bottom:14px}.form-row:last-child{margin-bottom:0}.form-row label{display:block;font-size:12px;color:#c4c1bc;margin-bottom:6px}.text-control{display:block;width:100%;background:#111412;border:1px solid #3b3e3b;color:white;border-radius:9px;padding:12px;min-height:43px;outline:0;font-size:14px}.text-control:focus{border-color:var(--accent)}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice{background:#111311;border:1px solid #373a37;color:#ccc;border-radius:10px;padding:11px 14px;display:flex;align-items:center;gap:6px}.choice.selected{border-color:var(--accent);color:#fff}.form-section .total{font-size:18px}.form-section .total strong{font-size:22px}.profile-card{border:1px solid #323532;border-radius:15px;padding:16px;margin-bottom:12px;background:#0e100f}.profile-card h2{font:700 25px Georgia,serif;margin:0 0 9px}.profile-card p{color:#aaa;line-height:1.5;margin:0 0 10px}.order-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #303430;padding:11px 0;gap:12px;font-size:13px}.order-row:first-child{border-top:0}.success-mark{border:2px solid var(--accent);border-radius:50%;color:var(--accent);height:78px;width:78px;display:grid;place-items:center;margin:27px auto 17px}.success-mark svg{height:42px;width:42px}
/* overlays */
.overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.77);display:flex;align-items:flex-end;justify-content:center;padding:12px 0 0}.modal-panel{position:relative;background:#131614;border:1px solid #4a4d47;border-bottom:0;border-radius:23px 23px 0 0;width:min(100%,600px);max-height:92dvh;overflow:auto;padding:24px 22px calc(env(safe-area-inset-bottom) + 25px);box-shadow:0 -20px 80px #0009}.modal-close{position:absolute;right:14px;top:15px;background:#242824;border:0;color:white;border-radius:50%;width:34px;height:34px;font-size:23px;display:grid;place-items:center;z-index:2}.modal-panel h2{font:700 36px/1 Georgia,serif;letter-spacing:-1px;margin:7px 42px 14px 0}.modal-panel p{line-height:1.45;color:#b5b8b2}.modal-photo{width:100%;height:230px;object-fit:contain;background:#070907;border-radius:12px;margin-bottom:12px}.modal-meta{display:flex;align-items:center;justify-content:space-between;color:#aaa;margin:14px 0}.modal-buy{display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-buy .cta{flex:1}.modal-buy .price{font-size:24px}.loc-option{display:block;width:100%;padding:15px;background:#171a17;color:white;border:1px solid #424541;border-radius:10px;margin-bottom:9px;text-align:left}.loc-option.selected{border-color:var(--accent)}.menu-list{display:grid;gap:8px}.menu-list button{width:100%;background:#1b1e1b;border:1px solid #333;color:white;padding:15px 16px;text-align:left;border-radius:11px;display:flex;justify-content:space-between;align-items:center}#toast{position:fixed;bottom:calc(var(--bottom) + env(safe-area-inset-bottom) + 13px);z-index:100;left:50%;transform:translate(-50%,15px);background:#252a25;color:#fff;border:1px solid #5f6b5a;border-radius:12px;padding:11px 17px;font-size:13px;box-shadow:0 10px 35px #000a;opacity:0;pointer-events:none;transition:opacity .17s,transform .17s;min-width:170px;max-width:90vw;text-align:center}#toast.shown{opacity:1;transform:translate(-50%,0)}
@media(min-width:800px){.container{padding-inline:45px}.topbar{height:110px}.bottom-nav{left:50%;transform:translateX(-50%);width:480px;border:1px solid #383a38;border-bottom:0;border-radius:18px 18px 0 0}.hero{min-height:480px}.hero-content{padding:44px 0 35px 24px}.hero h1{font-size:85px}.hero-photo{width:55%;right:0}.quick{min-height:173px}.quick img{height:105px}.set-banner{min-height:290px}.card-photo{height:215px}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cart-layout{max-width:740px;margin:auto}.rolls-banner{height:210px}.rolls-banner h1{font-size:82px}.rolls-banner img{width:25%}}
@media(max-width:420px){.container{padding-inline:16px}.topbar{height:81px;gap:7px}.brand{gap:7px}.brand img{width:46px;height:46px}.brand-word{font-size:24px}.tagline{font-size:7px;letter-spacing:1.9px}.header-tools{gap:7px}.round-action{height:38px;width:38px}.cart-top{height:38px;gap:4px;padding:0 5px 0 7px}.cart-top svg{width:18px;height:18px}.count-badge{min-width:23px;height:24px}.hero{min-height:404px}.hero-content{padding:20px 0 18px 3px}.hero h1{font-size:clamp(44px,12vw,53px);margin-bottom:16px}.hero p{max-width:220px;font-size:13px}.hero-photo{width:66%;right:-6%;object-position:center}.hero .cta{font-size:14px;padding-inline:13px}.quick-cats{gap:8px}.quick{min-height:122px;font-size:12px;padding:7px 2px}.quick img{height:70px}.set-banner{min-height:210px}.set-banner .copy{padding:17px;max-width:55%}.set-banner p{font-size:14px}.set-banner h2{font-size:45px}.set-banner .cta{font-size:12px;padding:12px 9px;gap:6px}.advantage{padding-inline:7px}.waves{margin-inline:-16px}.advantage h3{font-size:12px}.advantage p{font-size:10px}.card-photo{height:118px}.card-main{padding:0 9px 10px}.card-name{font-size:14px;margin-bottom:5px}.card-desc{font-size:11px}.card-meta{font-size:11px}.price{font-size:20px}.add-btn{height:37px;width:37px}.product-grid{gap:10px}.rolls-banner{height:150px}.rolls-banner h1{font-size:56px}.pill{padding:10px 13px}.cart-image{width:82px}.cart-card{gap:11px;padding:8px}.cart-line strong{font-size:13px}}
@media(max-width:355px){.brand-word{font-size:20px}.brand img{width:39px;height:39px}.tagline{letter-spacing:1.4px;font-size:6px}.round-action{display:none}.card-photo{height:97px}.price{font-size:18px}.hero h1{font-size:43px}.category-chips .chip{font-size:12px;padding:7px}.section-bar .subheading{font-size:25px}.sort-select{max-width:100px;min-width:86px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Stable icon sizing in inline controls */
.location-btn svg{width:18px;height:18px;flex:none}.location-btn svg:last-child{width:14px;height:14px}.summary-location svg{display:inline-block;vertical-align:middle;width:15px;height:15px;color:var(--accent)}

/* SG_Web Demo 1.0a: единая матовая тарелка для вырезанных исходных роллов. */
.plate-photo{background-color:#090b0b!important;background-image:url('media.66113409f10d/plate.png')!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important}
.card-photo.plate-photo img{object-fit:contain;width:100%;height:100%;padding:5px 5px 0;filter:drop-shadow(0px 5px 5px rgba(0,0,0,.65));transform:scale(1.03)}
.product-card:hover .card-photo.plate-photo img{transform:scale(1.08)}
.cart-image.plate-photo{border-radius:10px;overflow:hidden}
.cart-image.plate-photo img{width:100%;height:100%;object-fit:contain;padding:2px;filter:drop-shadow(0 3px 4px #0008)}
.modal-photo-frame{width:100%;height:255px;border-radius:12px;overflow:hidden;background:#070907;margin-bottom:14px}
.modal-photo-frame .modal-photo{width:100%;height:100%;border-radius:0;margin:0;object-fit:contain;padding:6px;filter:drop-shadow(0 10px 8px #0008)}
.quick.plate-photo{background-position:center 15%!important;background-size:100% 87%!important}
.quick.plate-photo img{position:relative;filter:drop-shadow(0 2px 4px #0009)}
.rolls-banner{background:radial-gradient(circle at 88% 32%,rgba(106,42,17,.25),transparent 37%),#080a09}
.rolls-banner img{filter:drop-shadow(0px 9px 14px #000a)}
.card-buy .price{font-variant-numeric:tabular-nums}
.card-buy .price:not(:has(+.add-btn:not([disabled]))){font-size:clamp(10px,2.8vw,15px)}
.card-buy .add-btn:disabled{border-color:#3a3a36;color:#5b5b55}
@media(max-width:420px){.card-photo.plate-photo{height:134px}.card-photo.plate-photo img{transform:scale(1.11)}.product-card:hover .card-photo.plate-photo img{transform:scale(1.13)}.card-buy .price:not(:has(+ .add-btn:not([disabled]))){font-size:11px}}
/* Roll photo kept within the rim, leaving the serving plate clearly visible */
.card-photo.plate-photo img{transform:scale(.88);padding:0}
.product-card:hover .card-photo.plate-photo img{transform:scale(.94)}
@media(max-width:420px){.card-photo.plate-photo img{transform:scale(.92)}.product-card:hover .card-photo.plate-photo img{transform:scale(.97)}}

/* SG_Web Mobile Demo 2.0.0 — premium mobile update. Loaded last. */
:root{--bg:#0a0c0a;--text:#f3eee4;--accent:#ff783d;--line:#33372f;--width:1000px;--bottom:76px}
body{background:#0a0c0a}button{-webkit-tap-highlight-color:transparent}.site{background:#0a0c0a;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.container{max-width:var(--width)}
.sg-header{position:sticky;top:0;z-index:18;background:rgba(10,12,10,.96);border-bottom:1px solid #292d26;backdrop-filter:blur(15px)}.topbar{height:72px}.brand{gap:10px}.brand img{height:53px;width:53px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,118,59,.08))}.brand-word{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:680;font-size:29px;letter-spacing:-1.15px}.brand-word .orange-dot{color:var(--accent)}.tagline{font-size:8.4px;letter-spacing:2.7px;color:#b8aca0;display:block;margin-top:4px}.header-tools{gap:10px}.header-tools svg{width:21px;height:21px}.cart-top{background:#201813;border-color:#754532;border-radius:11px}.count-badge{background:#ff783d;color:#180d07}.round-action{background:#0b0d0b}
.page-title{font:700 clamp(43px,8.4vw,66px)/1.06 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-2.6px;margin:26px 0 23px}.menu-page{padding-top:32px}.menu-page .hero-overline{margin:0 0 11px}.catalog-hero-title{font:720 clamp(43px,7.5vw,70px)/1.05 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-2.4px;margin:16px 0 25px}.hero-overline{font-size:11px;letter-spacing:2px;color:#adafa4;text-transform:uppercase;display:flex;align-items:center;gap:14px}.hero-overline i{width:8px;height:8px;border-radius:50%;background:#c7dca8;display:inline-block}
.home-hero{padding:42px 0 30px}.home-hero h1{font:570 clamp(39px,7.2vw,69px)/1.17 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-2px;margin:30px 0 23px;color:#eeeae1}.home-hero h1 span{color:var(--accent)}.hero-description{font-size:16px;line-height:1.62;color:#b7b7ad;max-width:510px;margin:0 0 23px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero-actions .cta{padding:20px 25px;font-size:15px;min-height:59px}.hero-secondary{font-size:15px;color:#bebdb6}.hero-secondary:hover{color:var(--accent)}
.hero-feature{height:310px;max-width:620px;margin:20px auto 14px;position:relative;display:grid;place-items:center;overflow:visible}.feature-circle{width:min(90%,400px);aspect-ratio:1;position:absolute;top:-1px;left:50%;transform:translateX(-50%);border:1px solid #2c2d29;border-radius:50%;pointer-events:none}.feature-circle:after{content:"";position:absolute;inset:22px;border-radius:50%;border:1px dashed rgba(118,112,98,.13)}.feature-plate{height:285px;width:90%;max-width:470px;display:grid;place-items:center;background:url('media.66113409f10d/plate.png') center 46%/contain no-repeat}.feature-plate img{width:92%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 13px #000a)}.feature-index{position:absolute;right:6%;top:29px;color:#a6a09a;font-size:9px;letter-spacing:1px}.feature-caption{position:absolute;bottom:0;left:5%;right:5%;display:flex;align-items:end;justify-content:space-between;gap:15px}.feature-caption small{color:#adaea4;font-size:10px;letter-spacing:1.7px;display:block;margin-bottom:6px}.feature-caption strong{font:650 25px Georgia,serif}.feature-add{border:1px solid #6b4d3d;border-radius:10px;background:#171511;color:var(--accent);padding:12px 17px;white-space:nowrap;font-size:17px}
.delivery-strip{border-top:1px solid #2f332e;border-bottom:1px solid #2f332e;padding:22px 1px;display:flex;justify-content:space-between;align-items:center;color:#c7c9bf;font-size:13px;margin:5px 0 48px}.delivery-strip span,.delivery-strip a{display:flex;align-items:center;gap:9px}.delivery-strip svg{height:19px;width:19px;color:#b8d69c}.delivery-strip a{color:#df9a74}.delivery-strip a svg{color:var(--accent)}.home-catalog{scroll-margin-top:90px;margin-bottom:40px}.search{border:none;border-radius:0;background:transparent;border-bottom:1px solid #383c35;padding:0 3px 0 0;height:62px}.search:focus-within{border-bottom:1px solid var(--accent);border-color:transparent transparent var(--accent)}.search input{font-size:16px}.search svg{height:23px;width:23px;color:#c4c6bc}
.category-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:19px -4px 26px;padding:4px 4px 8px;scrollbar-width:none}.category-chips::-webkit-scrollbar{display:none}.category-chips .chip{flex-shrink:0;display:inline-flex;gap:8px;align-items:center;border-radius:11px;padding:11px 12px;background:#141613;border:1px solid #373934;color:#d6d8d2;font-size:12px;white-space:nowrap}.category-chips .chip.active{border-color:#c7dba5;background:#cad9af;box-shadow:none;color:#142014}.category-chips .chip svg{height:19px;width:19px;color:#f87b47}.category-chips .chip.active svg{color:#243a1b}
.catalog-bar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:22px 0 14px}.catalog-kicker{font-size:10px;letter-spacing:1.7px;color:#a8aaa3}.sort-select{font-size:12px;color:#e3dfd7;background:transparent;border:0;max-width:145px}.section-bar{margin:18px 0 16px}.section-left{align-items:baseline}.subheading{font-family:Georgia,"Times New Roman",serif;font-size:33px;letter-spacing:-1px;font-weight:600}.count-label{color:#989d91;font-size:12px}.product-grid{gap:12px;margin-bottom:38px}.product-card{border:1px solid #323730;background:#0d0f0d;border-radius:15px;overflow:hidden;min-height:252px}.card-photo{height:158px!important;background:#0a0c0a;position:relative}.card-photo.plate-photo{background-size:cover!important;background-position:center center!important}.card-photo .photo-plate{display:block;width:100%;height:100%}.card-photo img,.card-photo.plate-photo img{width:100%;height:100%;object-fit:contain;padding:0 2px;transform:scale(.96)!important;filter:drop-shadow(0 5px 6px #000c)}.product-card:hover .card-photo.plate-photo img{transform:scale(1.02)!important}.heart{top:10px;right:10px}.heart svg{height:22px;width:22px}.spicy-badge{position:absolute;top:9px;left:9px;z-index:4;height:28px;width:28px;border:1px solid #7d3e2c;border-radius:50%;display:grid;place-items:center;background:#231310;color:#ff8557;pointer-events:none}.spicy-badge svg{height:18px;width:18px}.card-main{padding:2px 13px 13px}.card-name{font-size:16px;color:#f1f0ea;line-height:1.25;text-align:left}.card-desc{font-size:11.5px;line-height:1.36;color:#a7aba4;min-height:0;max-height:49px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-meta{font-size:12px;color:#9fa49a;margin:4px 0 8px}.price{color:var(--accent)!important;font-weight:700}.card-buy .price{font-size:20px}.add-btn{background:#100e0c;border:1px solid var(--accent);color:var(--accent);border-radius:10px;display:grid;place-items:center}.add-btn svg{width:20px;height:20px}.card-buy .price:not(:has(+.add-btn:not([disabled]))){font-size:13px}.product-card .card-buy{margin-top:auto}
/* Cart */
.cart-layout{max-width:780px}.cart-layout .page-title{margin-top:23px}.cart-items{display:grid;gap:10px;margin-bottom:22px}.cart-compact{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:13px;align-items:center;border:1px solid #343a34;border-radius:15px;background:#0d100e;padding:10px}.cart-picture{width:96px;height:94px;border:1px solid #343631;border-radius:10px;overflow:hidden;background:#070807;padding:0;display:block}.cart-picture.plate-photo{background-size:cover!important}.cart-picture .photo-plate{width:100%;height:100%;display:block}.cart-picture img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 4px 5px #0009)}.cart-name{font-size:14px;font-weight:650;border:0;background:transparent;color:#edece4;padding:0;text-align:left;line-height:1.25}.cart-meta{font-size:11px;color:#9c9f9a;margin-top:7px}.cart-line-price{color:var(--accent);font-weight:700;margin-top:7px;font-size:13px}.cart-side{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:13px}.counter,.extra-counter{display:inline-flex;border:1px solid #b55c3d;border-radius:10px;overflow:hidden;align-items:center;background:#17120f}.counter button,.extra-counter button{color:var(--accent);width:33px;height:35px;background:transparent;border:0;font-size:24px}.counter span,.extra-counter span{width:22px;text-align:center;font-size:14px;color:#fff}.delete-item{border:none;background:transparent;color:#a5a9a2;padding:0 9px}.delete-item svg{height:18px;width:18px}.delete-item:hover{color:var(--accent)}
.extras-section{margin:17px 0 18px;border:1px solid #343834;border-radius:15px;background:#0d0f0e;padding:16px 11px 17px}.extras-section h2{font:600 25px Georgia,serif;margin:0 6px 14px}.extras-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.extra-item{min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.extra-photo{position:relative;background:#151613;border:1px solid #2b2c29;border-radius:10px;height:80px;width:100%;display:grid;place-items:center;overflow:hidden}.extra-photo img{width:90%;height:90%;object-fit:contain}.extra-overlay{position:absolute;inset:0;background:rgba(0,0,0,.53);display:grid;place-items:center;color:#fff;font-size:27px;font-weight:800;text-shadow:0 2px 10px #000}.extra-name{font-size:11px;line-height:1.15;min-height:25px;color:#dddcd3;display:flex;align-items:center;justify-content:center}.extra-price{font-size:10px;color:#a8aea5}.extra-counter{border-color:#6c4b36;border-radius:8px;width:100%;justify-content:space-between}.extra-counter button{width:29px;height:30px;font-size:20px}.extra-counter span{font-size:12px;min-width:10px;width:auto}
.promo-row{display:grid;grid-template-columns:1fr auto;gap:9px;margin:0 0 19px}.promo-input{display:flex;align-items:center;gap:8px;border:1px solid #343834;border-radius:10px;background:#121413;padding:0 12px;min-width:0}.promo-input svg{width:21px;height:21px;color:#aeaaa2}.promo-input input{min-width:0;flex:1;border:0;outline:none;color:#fff;background:transparent;font-size:13px}.promo-row .outline-btn{padding-inline:13px}
.form-section{padding:18px;border-color:#31362f;background:#101210}.form-section h2{font:650 26px Georgia,serif;margin:0 0 16px}.form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.address-fields{display:grid;gap:10px;margin-top:19px}.address-fields .form-four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;min-width:0;gap:6px;margin:0}.field>span{font-size:11px;color:#b7bdb4}.text-control{background:#171b18;border-color:#3c413a;border-radius:9px;font-size:14px;min-height:43px;padding:11px 12px;width:100%;color:#fff}.text-control:focus{outline:1px solid var(--accent);border-color:var(--accent)}.comment-box{resize:vertical}.form-section .choice-row{margin-bottom:8px}.choice{font-size:12px;white-space:normal;padding:11px 13px;border-color:#3c4039;background:#171a17}.choice svg{height:17px;width:17px}.choice.selected{border-color:#ff783d;background:#2e1913;color:#ffeadd}.tags-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.tag{font-size:12px;border:1px solid #454a42;background:#161914;color:#cfd3cb;padding:10px 12px;border-radius:20px}.tag.selected{border-color:var(--accent);color:#fff1e9;background:#3e2219}.time-options,.pay-choices,.date-choices{display:flex;flex-wrap:wrap;gap:8px}.time-fields{margin-top:18px;border-top:1px solid #363932;padding-top:14px}.date-choices{margin-bottom:12px}.time-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;max-width:340px}.cash-info{border-top:1px solid #333a34;margin-top:13px;padding-top:15px;display:grid;gap:11px}.tick{font-size:13px;display:flex;align-items:center;gap:10px;color:#ddd}.tick input{accent-color:var(--accent);width:18px;height:18px}.change-result{font-size:13px;color:#dccbb8;background:#1b201a;padding:12px;border-radius:10px}.summary-row{font-size:14px}.summary-row strong{font-size:14px}.summary-section .total{font-size:20px}.summary-section .total strong{font-size:23px}.checkout-btn{width:100%;font-size:16px;margin-top:12px;padding:17px}.demo-note{line-height:1.45}.soft-note{line-height:1.5}
.modal-panel{max-width:640px}.modal-photo-frame .photo-plate{height:100%;width:100%;display:grid;place-items:center}.modal-photo-frame.plate-photo{background-size:cover!important}.modal-photo-frame .photo-plate img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 10px 10px #000a)}.hot-label{display:flex;align-items:center;gap:7px;color:#f7875c!important;font-size:13px}.hot-label svg{height:20px;width:20px}.review-panel h2{font-family:Georgia,serif;font-size:31px;margin-bottom:12px}.review-overline{font-size:10px;letter-spacing:1.4px;color:#fa8048!important}.review-group{border-top:1px solid #373b36;padding-top:13px;margin-top:14px}.review-group h3{font-size:12px;color:#ffa175;font-weight:650;letter-spacing:.7px;text-transform:uppercase;margin:0 0 7px}.review-group p{margin:3px 0 6px;font-size:13px}.review-item{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:7px 0;font-size:13px}.review-item b{white-space:nowrap}.review-panel .summary{margin-top:15px}.review-actions{display:flex;gap:11px;margin-top:12px}.review-actions>*{flex:1;min-width:0;font-size:13px}.review-actions .cta{padding:12px}.success{text-align:center}.success h2{font:600 28px Georgia,serif}.success .success-mark{margin:35px auto 9px}
.bottom-nav{background:rgba(12,15,11,.98);border-color:#343a31}.nav-item{color:#bfc8b7}.nav-item.active{color:var(--accent)}.nav-count{background:var(--accent)}.empty svg{height:36px;width:36px}
@media(min-width:700px){.home-hero{padding-top:65px}.home-hero h1{margin-top:30px}.hero-feature{margin-top:0;float:right;width:53%;height:400px}.home-hero:after{content:"";display:block;clear:both}.home-hero h1{max-width:58%}.home-hero>.hero-description{max-width:42%}.feature-caption{bottom:0}.feature-plate{height:330px}.home-hero .hero-actions{max-width:46%}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card-photo{height:177px!important}.form-four>.field{min-width:0}.category-chips{flex-wrap:wrap;overflow:visible}.cart-compact{grid-template-columns:128px 1fr auto}.cart-picture{height:110px;width:128px}}
@media(max-width:420px){.container{padding-left:16px;padding-right:16px}.topbar{height:73px}.brand img{width:52px;height:52px}.brand-word{font-size:25px}.tagline{font-size:7px;letter-spacing:1.9px}.round-action{height:38px;width:38px}.cart-top{height:39px}.home-hero{padding-top:34px;padding-bottom:17px}.home-hero h1{font-size:clamp(38px,10.5vw,46px);margin:24px 0 25px;letter-spacing:-1.8px}.hero-description{font-size:15px}.hero-actions{gap:17px}.hero-actions .cta{padding:17px 20px}.hero-secondary{font-size:13px}.hero-feature{height:297px;margin-top:13px}.feature-plate{height:244px;width:100%}.feature-circle{width:90%;top:4px}.feature-index{right:0}.feature-caption{bottom:0;left:0;right:0}.feature-caption strong{font-size:23px}.feature-add{padding:11px 13px}.delivery-strip{margin:18px 0 36px}.catalog-hero-title{font-size:47px}.product-grid{gap:9px}.product-card{min-height:255px}.card-photo{height:125px!important}.card-main{padding:4px 10px 11px}.card-name{font-size:14px}.card-desc{font-size:11px}.price{font-size:18px}.card-buy .price{font-size:18px}.add-btn{width:35px;height:35px}.cart-compact{grid-template-columns:82px minmax(0,1fr) auto;gap:8px;padding:8px}.cart-picture{width:82px;height:84px}.cart-name{font-size:12px}.counter button{width:28px;height:31px;font-size:20px}.counter span{width:18px;font-size:12px}.cart-meta,.cart-line-price{font-size:11px}.cart-side{gap:6px}.delete-item svg{width:17px;height:17px}.extras-section{padding:12px 8px}.extra-photo{height:67px}.extra-item{gap:6px}.extra-name{font-size:10px}.extra-counter button{width:23px}.form-section{padding:13px}.form-section h2{font-size:23px}.form-four>.field span{font-size:10px}.form-four .text-control{padding-inline:7px}.review-actions{flex-direction:column}.page-title{font-size:42px}.bottom-nav{height:calc(75px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.brand-word{font-size:21px}.brand img{height:43px;width:43px}.tagline{font-size:6px;letter-spacing:1.5px}.round-action{display:none}.hero-actions{gap:10px}.home-hero h1{font-size:37px}.feature-caption strong{font-size:20px}.feature-add{font-size:15px}.card-photo{height:112px!important}.card-desc{font-size:10px}.card-buy .price{font-size:16px}.extra-name{font-size:9px}.cart-compact{grid-template-columns:69px minmax(0,1fr) auto}.cart-picture{width:69px;height:74px}.counter button{width:24px}}

/* Show all category choices on small screens instead of hiding seafood icons behind horizontal scroll. */
@media(max-width:699px){.category-chips{flex-wrap:wrap;overflow:visible;margin-left:0;margin-right:0}.category-chips .chip{padding:9px 10px;gap:6px;font-size:11px}.category-chips .chip svg{height:17px;width:17px}}


/* SG_Web Mobile Demo 2.1.0 product detail redesign */
.modal-panel.product-full{width:100%;max-width:430px;min-height:100dvh;max-height:100dvh;border-radius:0;border:0;padding:0 0 calc(env(safe-area-inset-bottom) + 18px);background:linear-gradient(180deg,#060807 0%,#090b09 40%,#090b09 100%);overflow:auto}
.modal-panel.product-full > .modal-close{display:none}
.modal-panel.product-full .pd-topbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 16px 10px;background:linear-gradient(180deg,rgba(6,8,7,.96),rgba(6,8,7,.78),rgba(6,8,7,0))}
.pd-icon{width:42px;height:42px;border-radius:50%;border:1px solid #373a37;background:rgba(10,12,11,.88);color:#f1eee7;display:grid;place-items:center}
.pd-icon svg{width:22px;height:22px}
.pd-icon.is-active{color:var(--accent)}
.pd-icon.is-active svg{fill:var(--accent)}
.pd-brand{display:flex;align-items:center;gap:10px;min-width:0}
.pd-brand img{width:50px;height:50px;border-radius:50%;object-fit:contain}
.pd-brand div{display:flex;flex-direction:column;line-height:1}
.pd-brand strong{font:600 18px/1.05 Georgia,serif;letter-spacing:-.3px}
.pd-brand span{font-size:8px;letter-spacing:1.8px;text-transform:uppercase;color:#dbd6cf;margin-top:4px}
.pd-hero{padding:6px 14px 0;position:relative}
.pd-index{position:absolute;right:26px;top:20px;color:#a09c95;font-size:10px;letter-spacing:2px;text-transform:uppercase;z-index:2}
.pd-photo-frame{height:360px;margin:0;background:transparent;border-radius:0;overflow:visible}
.pd-photo-frame.plate-photo{background-size:cover!important;background-position:center 48%!important}
.pd-photo-frame .photo-plate{display:grid;place-items:center;height:100%;width:100%}
.pd-photo-frame .photo-plate img{width:76%;height:74%;object-fit:contain;filter:drop-shadow(0 20px 18px rgba(0,0,0,.65))}
.pd-body{padding:0 16px 6px}
.pd-mainline{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:-4px}
.pd-copy h2{font:600 36px/1.02 Georgia,serif;letter-spacing:-1.2px;margin:0 0 10px;color:#f5f2ec}
.pd-meta{font-size:17px;color:#c7c0b6}
.pd-buy{display:flex;align-items:center;gap:10px;flex:none}
.pd-buy .price{font-size:25px}
.pd-add-btn{width:54px;height:54px;border-radius:14px;background:#120f0d}
.pd-short{color:#d2cec6;line-height:1.42;font-size:14px;margin:18px 0 14px}
.pd-details{border-top:1px solid #282c28;border-bottom:1px solid #282c28;padding:0;margin:14px 0 18px}
.pd-details summary{list-style:none;cursor:pointer;padding:16px 0;color:#f2eee6;font-size:18px;display:flex;align-items:center;justify-content:space-between}
.pd-details summary::-webkit-details-marker{display:none}
.pd-details summary::after{content:'⌄';font-size:24px;color:#c8c1b8;transform:translateY(-1px)}
.pd-details[open] summary::after{content:'⌃'}
.pd-details-content{padding:0 0 16px;color:#a8ada5;font-size:14px;line-height:1.5}
.pd-related h3{font:600 28px/1.05 Georgia,serif;margin:0 0 12px;color:#f5f2ec}
.pd-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mini-card{position:relative;border:1px solid #313631;border-radius:14px;background:#0c0f0d;padding:8px;display:flex;flex-direction:column;min-width:0}
.mini-photo{height:106px;border:0;border-radius:10px;background:#070907;padding:0;overflow:hidden}
.mini-photo.plate-photo{background-size:cover!important;background-position:center center!important}
.mini-photo .photo-plate{width:100%;height:100%;display:block}
.mini-photo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(0,0,0,.55))}
.mini-heart{position:absolute;right:10px;top:10px;padding:3px;background:rgba(0,0,0,.35)}
.mini-heart svg{width:16px;height:16px}
.mini-name{margin:8px 0 3px;padding:0;border:0;background:transparent;text-align:left;color:#f1eee7;font-size:13px;font-weight:600;line-height:1.18}
.mini-meta{font-size:11px;color:#a5aaa3;margin-bottom:6px}
.mini-buy{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;margin-top:auto}.mini-buy .price{font-size:14px;line-height:1.1}.mini-buy .add-btn{width:34px;height:34px;border-radius:10px}.mini-buy .add-btn svg{width:18px;height:18px}
@media(min-width:700px){.modal-panel.product-full{max-width:470px;border-left:1px solid #2a2e2a;border-right:1px solid #2a2e2a;margin-left:auto;margin-right:auto}.pd-photo-frame{height:390px}}

/* SG_Web 2.2.0 — interaction and mobile layout. Loaded last by design. */
:root{--sg-orange:#ff7a3d;--sg-bg:#090b09;--sg-border:#33372f;--sg-text:#f6f0e8}
html{overflow-x:clip;scroll-behavior:smooth}
body{overflow-x:clip;background:var(--sg-bg);color:var(--sg-text)}
button,a,input,select,textarea{touch-action:manipulation}button{transition:background-color .17s,border-color .17s,color .17s,transform .15s}button:active{transform:scale(.975)}
:focus-visible{outline:2px solid var(--sg-orange);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* The supplied plate is a large portrait asset; the square crop is used throughout. */
.plate-photo{background-image:url('media.66113409f10d/plate-card.webp')!important;background-position:center center!important;background-size:contain!important;background-repeat:no-repeat!important;background-color:#080908!important}
.feature-plate{background-image:url('media.66113409f10d/plate-card.webp')!important;background-size:contain!important}
.photo-plate{display:grid!important;place-items:center!important;width:100%;height:100%;overflow:hidden}
.photo-plate img{object-fit:contain!important;width:83%!important;height:76%!important;max-width:100%;max-height:100%;padding:0!important;transform:none!important;filter:drop-shadow(0 8px 9px rgba(0,0,0,.57))}
.card-photo.plate-photo:hover img,.product-card:hover .card-photo.plate-photo img{transform:none!important}
/* Responsive two-column catalogue */
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.product-card{min-width:0;min-height:0!important;height:100%;display:flex;flex-direction:column;background:#101310;border-color:var(--sg-border)}
.card-photo,.card-photo.plate-photo{width:100%;height:auto!important;aspect-ratio:1.13;overflow:hidden;background-color:#070907}
.card-photo img,.card-photo.plate-photo img{transform:none!important}
.product-card .card-main{flex:1;display:flex;flex-direction:column;min-width:0;padding:8px 12px 12px}
.card-name{font-size:clamp(14px,3.9vw,18px);line-height:1.25;min-height:0;font-weight:650;overflow-wrap:anywhere}
.card-desc{color:#aeb0a9;font-size:12px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:2.8em;min-height:0}
.card-meta{font-size:12px;line-height:1.4;margin-top:6px;white-space:nowrap}
.card-buy{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:4px;min-width:0;padding-top:13px}
.card-buy .price{font-size:clamp(15px,4.3vw,21px);min-width:0;white-space:nowrap;letter-spacing:-.3px}
.heart{z-index:3}
.spicy-badge{z-index:3}
/* One consistent quantity component in catalogue, detail and basket */
.qty-control{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:0;border:1px solid var(--sg-orange);border-radius:11px;background:#18120f;flex:none;overflow:hidden;color:var(--sg-orange)}
.qty-control button{border:0;background:transparent;color:var(--sg-orange);height:100%;width:35px;display:grid;place-items:center;font-size:22px;line-height:1;flex:none}
.qty-control button:active{background:rgba(255,122,61,.18)}
.qty-control span{min-width:18px;text-align:center;color:#f6eee8;font-size:14px;font-variant-numeric:tabular-nums}
.qty-control .qty-start{width:42px}
.qty-control svg{width:20px;height:20px}
.qty-control.compact{height:38px;border-radius:10px}.qty-control.compact button{width:29px}.qty-control.compact .qty-start{width:38px}.qty-control.compact span{min-width:17px}
/* Sticky context-aware cart: visible with a non-empty cart, never over bottom navigation */
.quick-cart{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(77px + env(safe-area-inset-bottom));width:min(calc(100% - 32px),440px);z-index:14;border-radius:13px;background:var(--sg-orange);box-shadow:0 10px 24px rgba(0,0,0,.48);color:#160e09;display:flex;justify-content:space-between;align-items:center;padding:13px 16px;gap:12px;font-size:15px;font-weight:700}
.quick-cart>span{display:inline-flex;gap:7px;align-items:center}.quick-cart svg{width:20px;height:20px}
.site:has(.quick-cart){padding-bottom:calc(var(--bottom) + 100px + env(safe-area-inset-bottom))}
/* top badges: no misleading zero state */
.count-badge[hidden],.nav-count[hidden]{display:none!important}
/* Product detail occupies full viewport, but keeps its header and nav safe. */
.overlay:has(.product-full){background:#070907;align-items:stretch;padding:0;z-index:45}
.modal-panel.product-full{position:relative;display:flex;flex-direction:column;width:100%;height:100dvh;max-height:100dvh;max-width:min(100vw,520px);margin:auto;min-height:0;overflow:hidden;border:0;border-radius:0;background:#090b09;padding:0;box-shadow:none}
.modal-panel.product-full .modal-close{display:none}
.modal-panel.product-full .pd-topbar{position:relative;top:auto;flex:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:10px;height:76px;min-height:76px;padding:10px 16px;border-bottom:1px solid #262921;background:#090b09}
.pd-icon{flex:none;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;border:1px solid #33382f;background:#0a0e0b;color:#f3efe8}.pd-icon svg{height:24px;width:24px}.pd-icon.is-active{color:var(--sg-orange)}.pd-icon.is-active svg{fill:var(--sg-orange)}
.pd-brand{display:flex;align-items:center;gap:8px;min-width:0}.pd-brand img{width:46px;height:46px;border-radius:50%;object-fit:contain}.pd-brand div{display:flex;flex-direction:column;min-width:0}.pd-brand strong{font:600 clamp(17px,4.8vw,24px)/1.04 Georgia,serif;white-space:nowrap}.pd-brand span{font-size:8px;letter-spacing:1.4px;margin-top:5px;color:#c7c3b8;text-transform:uppercase}
.pd-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding-bottom:20px;min-height:0}
.pd-hero{width:100%;position:relative;margin:0;padding:0 12px}
.pd-index{position:absolute;top:13px;right:25px;z-index:2;color:#d3c8bf;font-size:9px;letter-spacing:1.5px;text-shadow:0 2px 6px #000}
.pd-photo-frame{width:100%;height:auto;aspect-ratio:1/1;max-height:470px;margin:0;border-radius:0;overflow:hidden;display:grid;place-items:center}
.pd-photo-frame.plate-photo{background-image:url('media.66113409f10d/plate-card.webp')!important;background-position:center center!important;background-size:contain!important;background-repeat:no-repeat!important}
.pd-photo-frame .photo-plate{width:100%;height:100%}.pd-photo-frame .photo-plate img{width:78%!important;height:75%!important;object-fit:contain;filter:drop-shadow(0 11px 12px #0009)}
.pd-photo-frame .pd-direct{width:85%;height:85%;object-fit:contain}
.pd-body{padding:0 17px 28px;min-width:0}
.pd-title-line{display:block;max-width:100%;min-width:0}.pd-title-line :is(h1,h2){font:600 clamp(28px,8.2vw,40px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.9px;color:var(--sg-text);margin:5px 0 10px;max-width:100%;overflow-wrap:break-word}
.pd-meta-row{display:flex;align-items:center;gap:12px;justify-content:space-between;color:#bbb7ae;font-size:16px}
.pd-hot{display:inline-flex;align-items:center;gap:4px;color:#ff8a55;font-size:12px}.pd-hot svg{width:18px;height:18px}
.pd-purchase{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:13px 0 12px;min-width:0}.pd-purchase .price{font-size:26px}.detail-qty{height:47px}.detail-qty .qty-start{width:48px}.detail-qty button{width:41px}.detail-qty span{min-width:26px}
.pd-short{font-size:14px;line-height:1.53;color:#b5b7b1;margin:16px 0}
.pd-details{margin:0 0 20px;padding:0;border-top:1px solid #34382f;border-bottom:1px solid #34382f}.pd-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:17px;padding:17px 0;color:#f2f0e8;cursor:pointer}.pd-details summary::-webkit-details-marker{display:none}.pd-details summary:after{content:'⌄';font-size:26px;color:#bfbdb4}.pd-details[open] summary:after{content:'⌃'}.pd-details p{font-size:13px;color:#b3b8ac;line-height:1.5;margin:0 0 12px}
.pd-related{margin-top:18px}.pd-related h3{font:600 29px Georgia,serif;margin:0 0 13px}.pd-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.mini-card{background:#0e110f;border:1px solid #343831;border-radius:12px;min-width:0;overflow:hidden;padding:5px;display:flex;flex-direction:column;position:relative}.mini-photo{width:100%;height:auto;aspect-ratio:1;min-height:0;background:#080a08;border-radius:9px;overflow:hidden;padding:0}.mini-photo.plate-photo{background-size:contain!important}.mini-photo .photo-plate img{width:88%!important;height:80%!important}.mini-heart{position:absolute;right:5px;top:6px;padding:1px;z-index:2}.mini-heart svg{width:17px;height:17px}
.mini-name{border:0;background:transparent;color:#f0ece7;font-size:12px;font-weight:650;line-height:1.24;text-align:left;margin:7px 1px 5px;overflow-wrap:anywhere;min-height:2.4em}.mini-meta{color:#a3a99f;font-size:10px;margin:0 1px 5px}.mini-buy{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-top:auto}.mini-buy .price{font-size:13px;white-space:nowrap}.mini-qty{height:31px;border-radius:7px}.mini-qty button{width:23px;font-size:18px}.mini-qty span{min-width:12px;font-size:11px}.mini-qty .qty-start{width:29px}.mini-qty svg{width:17px;height:17px}
.pd-nav{flex:0 0 auto;z-index:11;height:calc(65px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #36392e;display:grid;grid-template-columns:repeat(4,1fr);background:#0e120f}
.pd-nav a,.pd-nav button{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;color:#c6c7be;font-size:10px;min-width:0}.pd-nav svg{width:23px;height:23px}.pd-nav .is-active{color:var(--sg-orange)}.pd-nav .count-badge{position:absolute;top:4px;left:calc(50% + 8px);font-size:10px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:4px;background:var(--sg-orange);color:#120d0a}
/* Keep review modal as an ordinary centered bottom sheet */
.modal-panel:not(.product-full){max-width:min(100vw,620px)}
/* Basket responsive geometry; never put price/controls outside viewport. */
.cart-compact{display:grid;grid-template-columns:clamp(66px,22vw,96px) minmax(0,1fr);grid-template-areas:'photo body' 'photo controls';align-items:start;gap:6px 12px;min-width:0;padding:10px}
.cart-picture{grid-area:photo;width:100%;height:auto;aspect-ratio:1;min-width:0}.cart-compact-copy{grid-area:body;min-width:0}.cart-name{font-size:14px;line-height:1.32;overflow-wrap:anywhere}.cart-side{grid-area:controls;align-self:auto;display:flex;justify-content:space-between;flex-direction:row;align-items:center;gap:8px}.cart-line-price{font-size:14px}.cart-qty{height:36px}.cart-qty button{width:29px}.cart-qty span{min-width:18px}
.delete-item{height:36px;width:36px;display:grid;place-items:center;border:1px solid #31352f;border-radius:8px;padding:0}
.extras-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.extra-item{min-width:0}.extra-name{text-align:center;font-size:11px!important;overflow-wrap:anywhere}.extra-price{text-align:center}.extra-counter{width:100%;justify-content:center}.extra-counter button{flex:1;max-width:33px}.extra-counter span{min-width:16px}
#toast{cursor:pointer}
/* Allow a polished compact mobile layout at 320px */
@media(max-width:380px){.container{padding-left:13px;padding-right:13px}.product-grid{gap:8px}.product-card .card-main{padding:7px 8px 10px}.card-buy .price{font-size:15px}.qty-control.compact{height:34px}.qty-control.compact button{width:24px}.qty-control.compact .qty-start{width:34px}.qty-control.compact span{min-width:14px}.card-desc{font-size:11px}.mini-buy .price{font-size:11px}.mini-qty button{width:21px}.mini-qty span{min-width:12px}.pd-photo-frame{max-height:380px}.pd-title-line :is(h1,h2){font-size:clamp(28px,8vw,35px)}.pd-purchase .price{font-size:24px}}
@media(min-width:700px){.modal-panel.product-full{max-width:500px}.pd-photo-frame{max-height:480px}.pd-body{padding:0 22px 32px}.card-photo.plate-photo{aspect-ratio:1.1}}

.card-buy .price{font-size:clamp(15px,4.3vw,21px)!important}
#toast{pointer-events:auto;display:flex;align-items:center;gap:10px;justify-content:center}#toast button{font-size:13px;background:#ff7a3d;border:0;color:#201109;border-radius:7px;padding:5px 10px;font-weight:700}

.pd-photo-frame .photo-plate img{width:90%!important;height:84%!important}

.field [aria-invalid="true"]{border-color:#ff7755!important;box-shadow:0 0 0 1px #ff7755!important}.field-error{display:block;color:#ff9b7e;font-size:12px;line-height:1.35;margin:5px 0}


/* ===== SG 2.3.0 visual cleanup ===== */

.feature-circle{display:none!important}
.home-hero .hero-feature{height:auto!important;max-width:620px;margin:14px auto 8px!important;padding:0 0 84px;display:block;position:relative;overflow:visible}
.feature-visual{width:100%;max-width:540px;aspect-ratio:1.15;display:grid;place-items:center;margin:0 auto;background:transparent}
.feature-shot{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.55))}
.feature-index{right:2px;top:8px}
.feature-caption{left:0;right:0;bottom:0}
.product-card,.mini-card,.cart-compact,.extra-item{background:#0b0d0c}
.card-photo,.mini-photo,.cart-picture,.extra-photo{background:#050605!important;background-image:none!important;display:grid;place-items:center;overflow:hidden}
.card-photo img,.mini-photo img,.cart-picture img,.extra-photo img{display:block;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 9px 10px rgba(0,0,0,.42))}
.card-photo{aspect-ratio:1.08;height:auto!important}
.card-photo .product-photo{width:92%;height:92%}
.product-card.is-set-card .card-photo{aspect-ratio:1.32}
.product-card.is-set-card .product-photo{width:96%;height:88%}
.product-card.is-extra-card .card-photo{aspect-ratio:1.08}
.product-card.is-extra-card .product-photo{width:76%;height:76%}
.cart-picture{width:100%;height:auto;aspect-ratio:1}
.cart-picture .cart-shot{width:88%;height:88%}
.cart-picture.is-set-photo{aspect-ratio:1.18}
.cart-picture.is-set-photo .cart-shot{width:94%;height:82%}
.extra-photo{height:78px;background:transparent!important}
.extra-photo .extra-shot{width:88%;height:88%;object-fit:contain}
.extra-photo:has(.extra-overlay){background:rgba(0,0,0,.18)!important}
.extra-overlay{display:grid;place-items:center;background:rgba(0,0,0,.46);font-weight:700;font-size:24px}
.pd-photo-frame{background:none!important;overflow:visible!important;display:grid;place-items:center;border-radius:0!important}
.pd-photo-frame.plated-detail{aspect-ratio:1/1;max-height:450px}
.pd-photo-frame.plated-detail .photo-plate{width:100%;height:100%;display:grid;place-items:center;background:url('media.66113409f10d/plate-only.webp') center center / 76% auto no-repeat!important}
.pd-photo-frame.plated-detail .photo-plate img{width:66%!important;height:66%!important;object-fit:contain;filter:drop-shadow(0 15px 14px rgba(0,0,0,.55))!important}
.pd-photo-frame.plated-detail.is-set-detail .photo-plate img{width:75%!important;height:54%!important}
.pd-photo-frame.plain-detail{aspect-ratio:1.05;background:#060706!important;border-radius:18px!important;overflow:hidden!important}
.pd-photo-frame.plain-detail .pd-direct{width:80%;height:80%;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(0,0,0,.42))}
.pd-related .mini-photo{aspect-ratio:1;background:#060706!important}
.pd-related .mini-photo .mini-product-photo{width:88%;height:88%}
.pd-related .mini-card.is-set-card .mini-photo{aspect-ratio:1.18}
.pd-related .mini-card.is-set-card .mini-product-photo{width:95%;height:83%}
.pd-related .mini-photo.is-extra-photo .mini-product-photo{width:74%;height:74%}
.photo-plate{background:none!important}
@media(max-width:420px){
  .card-photo{aspect-ratio:1.04}
  .product-card.is-set-card .card-photo{aspect-ratio:1.28}
  .home-hero .hero-feature{padding-bottom:72px}
  .feature-visual{max-width:100%;aspect-ratio:1.08}
  .feature-shot{width:96%;height:96%}
  .pd-photo-frame.plated-detail{max-height:360px}
  .pd-photo-frame.plated-detail .photo-plate{background-size:84% auto!important}
  .pd-photo-frame.plated-detail .photo-plate img{width:74%!important;height:74%!important}
  .pd-photo-frame.plated-detail.is-set-detail .photo-plate img{width:83%!important;height:60%!important}
}

/* SG_Web 2.3.0 — reference visual system. Loaded AFTER existing CSS. */
:root{--sg-visual-bg:#090b09;--sg-card-bg:#0b0d0b}
html,body,.site,.home-hero,.home-container,.menu-page{background-color:var(--sg-visual-bg)!important}
.home-hero{background-image:none!important}
.home-hero .hero-feature{width:100%;max-width:660px;min-width:0;height:auto!important;margin:18px auto 8px!important;padding:0 0 78px!important;float:none!important;position:relative;overflow:visible}
.home-hero .feature-visual{position:relative;isolation:isolate;width:100%;max-width:540px;aspect-ratio:1.14;margin:0 auto;display:grid;place-items:center;background:transparent!important}
.home-hero .feature-visual .feature-outline{position:absolute;pointer-events:none;z-index:0;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);aspect-ratio:1;display:block}
.home-hero .feature-outline-one{width:92%;border:1px solid rgba(180,181,163,.21)}
.home-hero .feature-outline-two{width:80%;border:1px dashed rgba(151,155,145,.14)}
.home-hero .feature-outline-three{width:68%;border:1px solid rgba(127,132,122,.09)}
.home-hero .feature-visual .feature-shot{position:relative;z-index:1;display:block;width:97%;height:83%;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.48));transform:none!important}
.home-hero .feature-index{top:11px;right:3%;font-size:10px;letter-spacing:1.6px}
.home-hero .feature-caption{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:end;justify-content:space-between;gap:8px;min-width:0}
.home-hero .feature-caption>div:first-child{min-width:0}.home-hero .feature-caption strong{font-size:clamp(22px,5.8vw,32px);line-height:1.05;overflow-wrap:anywhere}
.home-hero .feature-caption .qty-control{flex:none}
/* No raster backplates in lists, recommendations or basket: alpha images meet the actual card background. */
.product-card,.mini-card,.cart-compact,.extra-item{background:var(--sg-card-bg)!important}
.product-card .card-photo,.product-card .card-photo.plate-photo,
.mini-card .mini-photo,.mini-card .mini-photo.plate-photo,
.cart-compact .cart-picture,.cart-compact .cart-picture.plate-photo,
.extra-item .extra-photo,.extra-item .extra-photo.plate-photo{background:transparent!important;background-image:none!important}
.product-card img,.mini-card img,.cart-compact img,.extra-item img{background:transparent!important;mix-blend-mode:normal}
.product-card .card-photo img{object-fit:contain!important;width:94%;height:92%;max-width:100%;max-height:100%}
.product-card.is-set-card .card-photo img{width:98%;height:92%}
.extra-item .extra-shot{width:91%;height:87%;object-fit:contain}
/* Set presentation follows the same visual principle as hero, but with rectangular outlines. */
.set-showcase{min-width:0;margin:28px 0 33px;min-height:245px;border:1px solid #343830;border-radius:16px;background:var(--sg-visual-bg);position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,40%) minmax(0,60%);align-items:center;padding:21px 12px 21px 20px;gap:0}
.set-showcase-copy{position:relative;z-index:3;min-width:0}
.set-kicker{display:block;color:#aaa9a2;letter-spacing:1.8px;font-size:10px;margin-bottom:8px}
.set-showcase h3{font:600 clamp(30px,7vw,49px)/1.02 Georgia,serif;letter-spacing:-1.2px;margin:0 0 11px;color:#f4ede7}
.set-showcase-copy p{color:#b9b8b0;font-size:clamp(12px,3.1vw,15px);line-height:1.42;margin:0 0 14px}
.set-showcase-link{display:inline-flex;align-items:center;gap:8px;background:#ff7b3f;border:0;color:#170c06;padding:10px 11px;border-radius:10px;font-size:clamp(10px,2.65vw,13px);font-weight:650;text-align:left}
.set-showcase-link svg{height:18px;width:18px;flex:none}
.set-showcase-visual{position:relative;isolation:isolate;width:100%;height:215px;min-width:0;display:grid;place-items:center}
.set-showcase-visual .set-frame{pointer-events:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(164,160,148,.18);border-radius:17px;z-index:0;display:block}
.set-showcase-visual .frame-one{width:100%;height:83%}
.set-showcase-visual .frame-two{width:87%;height:67%;border-style:dashed;border-color:rgba(164,160,148,.16)}
.set-showcase-visual .frame-three{width:73%;height:52%;border-color:rgba(164,160,148,.11)}
.set-showcase-photo{position:relative;z-index:1;display:block;object-fit:contain;width:104%;height:95%;max-width:none;filter:drop-shadow(0 12px 12px #0009)}
/* Only product detail has a plate; no rings or frames on it. */
.product-full .pd-photo-frame.plated-detail{background:none!important}
.product-full .pd-photo-frame.plated-detail .photo-plate{background-image:url('media.66113409f10d/plate-only.webp')!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:76% auto!important}
.product-full .pd-photo-frame .photo-plate{overflow:visible!important}
.product-full .pd-photo-frame::before,.product-full .pd-photo-frame::after{content:none!important}
@media(max-width:420px){
 .home-hero .hero-feature{padding-bottom:73px!important}
 .home-hero .feature-visual{aspect-ratio:1.06}
 .home-hero .feature-visual .feature-shot{width:100%;height:86%}
 .home-hero .feature-outline-one{width:98%}
 .home-hero .feature-outline-two{width:84%}
 .home-hero .feature-outline-three{width:70%}
 .set-showcase{min-height:204px;padding:15px 9px 15px 13px;margin-top:20px}
 .set-showcase-visual{height:178px}.set-showcase h3{font-size:clamp(28px,8vw,37px)}
}
@media(min-width:700px){
 .home-hero .hero-feature{max-width:660px;margin:28px auto 12px!important;float:none!important}
 .home-hero h1{max-width:100%!important}
 .home-hero>.hero-description{max-width:620px!important}
 .home-hero .hero-actions{max-width:100%!important}
 .set-showcase{padding:25px 30px;min-height:300px}
 .set-showcase-visual{height:265px}
}
@media(prefers-reduced-motion:reduce){.feature-shot,.set-showcase-photo{transition:none!important}}

/* SG_Web 2.4.0 — SushiGusto Premium Mobile visual system.
   Final design layer. The structure and offline behaviour remain in app.js. */
:root{--bg:#090b09;--surface:#101210;--card:#0d100e;--ivory:#f4eee4;--muted:#aaa39b;--muted2:#87877e;--accent:#ff793d;--peach:#ff9968;--copper:#bd5c3c;--outline:rgba(244,238,228,.13);--radius:16px;--nav-height:84px}
html{background:var(--bg);color-scheme:dark;scroll-padding-top:85px}
body{background:var(--bg)!important;color:var(--ivory);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:-.012em;overflow-x:clip}
.site,.home-container,.home-hero,.menu-page,.home-catalog,.cart-layout{background:var(--bg)!important;background-image:none!important}
*{scrollbar-color:#3b3832 transparent}button,a{ -webkit-tap-highlight-color:transparent }
button:active{transform:scale(.976)}button:disabled{opacity:.48}
img{color:transparent}
.container{max-width:1100px;padding-inline:clamp(14px,4vw,26px)}
.site{padding-bottom:calc(125px + env(safe-area-inset-bottom))!important}
.orange-dot,.price{color:var(--accent)!important}
:focus-visible{outline:2px solid #ffa574;outline-offset:3px}
/* Header: compact coherent brand */
.sg-header{background:rgba(9,11,9,.985)!important;border-bottom:1px solid #262a25;position:sticky;top:0;z-index:18;box-shadow:0 10px 23px rgba(0,0,0,.10)}
.topbar{height:74px;gap:7px;min-width:0;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand>img{height:48px!important;width:48px!important;object-fit:contain;flex:none;border-radius:13px}
.brand-word{font-family:Inter,-apple-system,"Segoe UI",Arial,sans-serif!important;font-weight:680!important;letter-spacing:-1.2px!important;font-size:clamp(23px,6vw,29px)!important;white-space:nowrap}
.tagline{letter-spacing:2.15px!important;font-size:8px!important;color:#a6a198!important;margin-top:5px}
.header-tools{display:flex;align-items:center;gap:9px;flex:none}
.round-action,.cart-top{display:grid;place-items:center;position:relative;width:43px;height:43px;min-width:43px;border:1px solid #3a3b34;background:#0d100e;color:#efe9e0;border-radius:50%;padding:0}
.round-action svg,.cart-top svg{width:22px;height:22px}
.cart-top{border-radius:12px;min-width:68px;width:68px;border:1px solid #76503f;background:#18120e;display:flex;justify-content:flex-start;padding-left:10px;color:#ff854e}
.count-badge,.nav-count{background:#ff8246!important;color:#17100c!important;font-weight:800!important;border-radius:7px!important}
.cart-top .count-badge{position:absolute;right:6px;top:7px;height:29px;min-width:29px;display:grid;place-items:center}
[hidden]{display:none!important}
/* CTA/button system */
.cta,.set-showcase-link,.checkout-btn{background:#ff783d!important;color:#211209!important;border:0!important;border-radius:13px!important;font-size:15px;font-weight:680;min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:13px 20px;box-shadow:0 1px 0 #ffa16a inset;transition:background .16s ease,transform .12s ease,box-shadow .16s ease}
.cta:hover,.set-showcase-link:hover{background:#ff884f!important;box-shadow:0 4px 22px rgba(255,115,55,.10)}
.cta svg,.set-showcase-link svg{width:22px;height:22px}
.outline-btn,.choice,.tag{background:rgba(18,20,17,.85)!important;border:1px solid #393b33!important;color:#eee7de!important;border-radius:11px!important;transition:border-color .16s,background .16s,color .16s}
.outline-btn:hover,.choice:hover,.tag:hover{border-color:#87614b!important}
.choice.selected,.tag.selected{border-color:#e98053!important;background:#322018!important;color:#ffcfb4!important}
/* Copper gradient amount control: bright at minus/plus, dark in center */
.qty-control,.extra-counter{border:1.4px solid transparent!important;background:linear-gradient(#110f0e,#110f0e) padding-box,linear-gradient(90deg,#ff995f 0%,#ce623d 18%,#74402f 37%,#402b27 50%,#74402f 63%,#ce623d 82%,#ff995f 100%) border-box!important;color:var(--ivory);border-radius:12px!important;overflow:hidden;box-shadow:inset 0 0 8px rgba(252,108,50,.045);display:inline-flex;align-items:center;justify-content:space-between;flex:none;min-width:0;transition:box-shadow .16s,transform .13s}
.qty-control:hover,.extra-counter:hover{box-shadow:inset 0 0 11px #ff71351b,0 0 12px #ff713512}
.qty-control>button,.extra-counter>button{color:#ff874d!important;border:0!important;background:transparent!important;display:grid;place-items:center;font-weight:400;font-size:23px;line-height:1;padding:0;min-width:35px;min-height:38px;transition:color .13s,background .13s}
.qty-control>button:hover,.extra-counter>button:hover{background:rgba(255,121,61,.09)!important;color:#ffa674!important}
.qty-control>button:active,.extra-counter>button:active{background:#4a2117!important}
.qty-control>span,.extra-counter>span{color:var(--ivory)!important;font-size:15px;font-weight:500;min-width:26px;text-align:center;font-variant-numeric:tabular-nums}
.qty-control .qty-start{min-width:43px;min-height:43px}
.qty-control .qty-start svg{stroke-width:1.8;width:22px;height:22px}
.qty-control.compact{height:38px!important}
.qty-control.compact>button{min-width:30px;min-height:36px}
.qty-control.compact .qty-start{min-width:36px;min-height:36px}
.qty-control.compact>span{min-width:19px;font-size:13px}
.hero-qty .qty-start{min-width:52px;min-height:48px}
.hero-qty>button{min-height:47px;min-width:43px}
.hero-qty>span{font-size:17px}
.detail-qty{height:50px!important}.detail-qty>button{min-height:47px;min-width:47px}.detail-qty>span{min-width:27px;font-size:18px}
.cart-qty{height:37px!important}.cart-qty>button{min-height:35px;min-width:32px}.cart-qty>span{min-width:25px}
.mini-qty{height:31px!important;border-radius:9px!important}.mini-qty>button{min-height:29px;min-width:22px;font-size:18px}.mini-qty>span{min-width:14px;font-size:11px}.mini-qty .qty-start{min-width:29px;min-height:29px}
/* Hero: no plate, exact cutout + subtle circles */
.home-hero{padding:34px 0 0!important}
.hero-overline,.catalog-kicker,.set-kicker,.feature-caption small,.feature-index,.pd-index,.review-overline{letter-spacing:1.7px;color:#aaa59a}
.hero-overline{font-size:10px;margin:0 0 19px}.hero-overline i{background:#b9cb9f}
.home-hero h1{font-family:Inter,-apple-system,"Segoe UI",Arial,sans-serif!important;font-size:clamp(37px,10vw,68px)!important;line-height:1.12!important;letter-spacing:-2.5px!important;font-weight:630!important;max-width:660px;margin-bottom:22px!important;color:var(--ivory)}
.home-hero h1 span{color:var(--accent)!important}
.hero-description{color:#aaa69f!important;font-size:clamp(14px,3.8vw,18px);line-height:1.53;max-width:610px}
.hero-actions{display:flex;gap:12px;align-items:center;margin-top:21px;flex-wrap:wrap}
.hero-actions .cta{min-height:56px}
.hero-secondary{color:#bfb9b0;text-decoration:none;font-size:13px;white-space:nowrap}
.home-hero .hero-feature{position:relative;height:auto!important;padding-bottom:72px!important;max-width:595px!important;margin:24px auto 0!important}
.home-hero .feature-visual{position:relative;width:100%;max-width:550px;aspect-ratio:1.13!important;margin:auto;isolation:isolate;background:transparent!important;display:grid;place-items:center}
.home-hero .feature-visual .feature-outline{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;display:block;z-index:0}
.home-hero .feature-outline-one{width:95%;aspect-ratio:1;border:1px solid #5e615849!important;box-shadow:none}
.home-hero .feature-outline-two{width:80%;aspect-ratio:1;border:1px dashed #85847836!important}
.home-hero .feature-outline-three{width:65%;aspect-ratio:1;border:1px solid #6b6d642c!important}
.home-hero .feature-shot{position:relative;z-index:1;object-fit:contain!important;width:98%!important;height:86%!important;max-width:100%;max-height:100%;filter:drop-shadow(0 16px 15px rgba(0,0,0,.36));transform:none!important}
.home-hero .feature-index{position:absolute;right:0;top:18px;color:#9e9a91;font-size:9px}
.home-hero .feature-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:end;gap:10px;z-index:3}
.home-hero .feature-caption strong{font:600 clamp(22px,6.5vw,33px)/1.07 Georgia,"Times New Roman",serif!important;color:#f4eee3;letter-spacing:-.6px}
.home-hero .feature-caption small{font-size:10px;margin-bottom:6px}
.delivery-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c1bbb0!important;border-top:1px solid #353832;border-bottom:1px solid #353832;margin:25px 0 32px;padding:18px 0;font-size:13px}
.delivery-strip span,.delivery-strip a{display:inline-flex;align-items:center;gap:7px;min-width:0}.delivery-strip svg{color:#becf9c;width:19px;height:19px}.delivery-strip a{color:#e99469}.delivery-strip a svg{color:#e99469}
/* Menu & catalogue */
.catalog-hero-title,.menu-page .page-title,.cart-layout>.page-title{font-family:Inter,-apple-system,"Segoe UI",Arial,sans-serif!important;font-size:clamp(38px,9vw,56px)!important;line-height:1.08;letter-spacing:-2.1px!important;font-weight:650!important;color:var(--ivory)!important;margin:18px 0 22px}
.menu-page{padding-top:30px}.menu-page>.hero-overline{margin:0 0 10px}
.search,.promo-input{background:#0e110f!important;border:1px solid #393c35!important;border-radius:12px!important;min-height:49px;display:flex;align-items:center}
.search:focus-within,.promo-input:focus-within{border-color:#c4754e!important;box-shadow:0 0 0 1px #c4754e33}
.search input,.promo-input input{color:var(--ivory)}
.category-chips{display:flex;flex-wrap:nowrap!important;overflow:auto;scrollbar-width:none;gap:8px;margin:17px 0 16px;padding-bottom:9px;scroll-snap-type:x proximity}
.category-chips::-webkit-scrollbar{display:none}
.category-chips .chip{background:#141714!important;color:#c8c7bc!important;border:1px solid #383b34!important;display:flex;align-items:center;gap:7px;border-radius:11px!important;padding:10px 13px!important;min-height:43px;white-space:nowrap;font-size:12px;scroll-snap-align:start;flex:none}
.category-chips .chip svg{width:19px;height:19px;color:#f38b58}
.category-chips .chip.active{background:#292019!important;border-color:#e56d3f!important;color:#ffbd9d!important;box-shadow:inset 0 0 0 .25px #e56d3f}
.catalog-bar{margin:12px 0 13px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.catalog-kicker{font-size:9px;color:#aaa69f}.sort-select{color:#e9e3db!important;font-size:12px;max-width:155px;padding:6px 1px}
.section-bar{margin:17px 0 12px}.section-bar h2,.subheading{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(28px,6.8vw,36px)!important;font-weight:600!important;letter-spacing:-.6px;color:var(--ivory)!important}
.count-label{font-size:12px;color:#9b9a90}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;margin:0 0 32px}
.product-card{position:relative;min-width:0;display:flex;flex-direction:column;border:1px solid #343932!important;border-radius:16px!important;overflow:hidden;background:var(--card)!important;box-shadow:inset 0 1px #ffffff03;transition:border-color .2s}
.product-card:hover{border-color:#6c5647!important}
.product-card .card-photo{height:auto!important;aspect-ratio:1.13;display:grid;place-items:center;padding:6px!important;background:var(--card)!important;background-image:none!important;overflow:hidden}
.product-card .card-photo img{object-fit:contain!important;width:100%!important;height:100%!important;max-width:100%;max-height:100%;padding:0!important;transform:none!important;filter:drop-shadow(0 10px 10px rgba(0,0,0,.3))}
.product-card.is-set-card .card-photo{aspect-ratio:1.12}
.product-card.is-set-card .card-photo img{width:98%!important;height:92%!important}
.product-card .card-main{padding:2px 11px 12px;display:flex;flex-direction:column;flex:1;min-width:0}
.product-card .card-name{color:var(--ivory)!important;line-height:1.25;font-weight:670;font-size:clamp(14px,4vw,17px);text-align:left;overflow-wrap:anywhere;margin-bottom:6px}
.product-card .card-desc{font-size:11px;line-height:1.38;color:#aaa89f!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin:0 0 6px;min-height:30px}
.product-card .card-meta{color:#999b92;font-size:12px;margin:2px 0 6px}
.card-buy{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:8px;margin-top:auto;min-width:0}
.card-buy .price{font-size:clamp(16px,4.4vw,22px)!important;font-weight:700;white-space:nowrap;letter-spacing:-.6px}
.heart{border:0!important;background:rgba(9,11,9,.44)!important;color:#ede9df;top:9px;right:9px;padding:5px;z-index:3}
.heart svg{height:23px;width:23px;stroke-width:1.6}
.heart.is-active{color:var(--accent)!important}.heart.is-active svg{fill:var(--accent)}
.spicy-badge,.hit-badge{position:absolute;left:9px;top:9px;z-index:4;background:#261a15;border:1px solid #9d4e32;color:#ff9160;border-radius:10px;display:grid;place-items:center;font-size:10px;letter-spacing:.6px}
.spicy-badge{width:27px;height:27px;border-radius:50%}.spicy-badge svg{width:17px;height:17px}
.hit-badge{padding:5px 8px;font-weight:730}.product-card:has(.hit-badge) .spicy-badge{top:38px}
/* Wide showcase for a set, clean rectangular line composition */
.set-showcase{background:var(--bg)!important;border:1px solid #353a33;border-radius:17px;padding:16px 12px 16px 17px;min-height:205px;display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);gap:0;overflow:hidden;position:relative}
.set-showcase-copy{z-index:3;position:relative;min-width:0}.set-showcase h3{color:var(--ivory);font:600 clamp(26px,7vw,43px)/1.1 Georgia,serif;margin:0 0 8px}.set-showcase p{font-size:12px;line-height:1.4;color:#bbb6ac;margin:0 0 14px}.set-kicker{font-size:9px}
.set-showcase-link{font-size:11px;padding:10px 9px;min-height:40px;gap:4px;line-height:1.2}.set-showcase-link svg{width:17px;height:17px}
.set-showcase-visual{position:relative;isolation:isolate;height:190px;display:grid;place-items:center;min-width:0}
.set-showcase .set-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #8d817138;border-radius:14px;pointer-events:none}.frame-one{width:100%;height:87%}.frame-two{width:87%;height:70%;border-style:dashed!important}.frame-three{width:71%;height:53%}
.set-showcase-photo{position:relative;z-index:1;width:108%;height:90%;object-fit:contain;max-width:none;filter:drop-shadow(0 10px 14px #0007)}
/* Floating navigation with salmon curves, off the bottom edge */
.bottom-nav{position:fixed!important;z-index:22;left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;transform:none!important;width:auto!important;max-width:none!important;height:76px!important;padding-bottom:0!important;background:linear-gradient(180deg,rgba(17,20,17,.97),rgba(11,14,12,.99))!important;border:1px solid #3a4038!important;border-radius:19px!important;box-shadow:0 13px 42px rgba(0,0,0,.6),0 1px 0 #f4eee407 inset;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
.bottom-nav:before,.pd-nav:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-13px;right:-13px;bottom:-8px;height:99px;background:url('media.66113409f10d/salmon-waves.svg') center bottom/100% 100% no-repeat;opacity:.79}
.bottom-nav .nav-item{font-size:11px;gap:4px;min-width:0;color:#c2c1b7;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;text-decoration:none}
.bottom-nav .nav-item svg{width:24px;height:24px;stroke-width:1.65}
.bottom-nav .nav-item.active{color:#ff874b}
.bottom-nav .nav-count{position:absolute;top:6px;left:calc(50% + 7px);height:20px;min-width:20px;display:grid;place-items:center;font-size:10px}
.quick-cart{position:fixed!important;z-index:19;bottom:calc(101px + env(safe-area-inset-bottom))!important;left:16px!important;right:16px!important;width:auto!important;border-radius:14px!important;background:#ff793d!important;color:#1c110b!important;padding:13px 16px!important;min-height:52px;box-shadow:0 5px 22px rgba(0,0,0,.32)}
.quick-cart svg{width:20px;height:20px}
/* Product full-screen detail */
.overlay{align-items:flex-end;padding:0;background:rgba(0,0,0,.74)}
.modal-panel.product-full{width:100%!important;max-width:490px!important;min-height:100dvh;max-height:100dvh;display:flex;flex-direction:column;border:0!important;border-radius:0!important;background:var(--bg)!important;overflow:hidden;padding:0!important;box-shadow:0 0 100px #000c}
.modal-panel.product-full>.modal-close{display:none!important}
.product-full .pd-topbar{position:relative;z-index:3;flex:0 0 73px;min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#090b09;border-bottom:1px solid #31362f;padding:0 15px}
.pd-topbar .pd-icon{height:44px;width:44px;min-width:44px;flex:none;display:grid;place-items:center;color:#f2eadf;background:#0e100e;border:1px solid #343b33;border-radius:50%}
.pd-icon svg{height:23px;width:23px;stroke-width:1.75}
.pd-icon.is-active{color:var(--accent)!important}.pd-icon.is-active svg{fill:var(--accent)}
.pd-brand{display:flex;align-items:center;gap:9px;min-width:0}.pd-brand img{width:43px;height:43px;border-radius:11px}.pd-brand strong{font:650 clamp(19px,5vw,24px)/1.05 Georgia,serif;letter-spacing:-.4px;white-space:nowrap}.pd-brand span{font-size:8px;letter-spacing:1.6px;margin-top:5px;color:#a9a398;text-transform:uppercase}
.product-full .pd-scroll{flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:32px}.product-full .pd-scroll::-webkit-scrollbar{display:none}
.pd-hero{padding:0 13px;position:relative}
.pd-index{position:absolute;z-index:2;top:17px;right:22px;font-size:9px;color:#aaa298;letter-spacing:2px}
.pd-photo-frame{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1/1!important;display:grid!important;place-items:center;border-radius:0!important;overflow:visible!important;background:none!important}
.pd-photo-frame.plated-detail,.pd-photo-frame.plain-detail{background:none!important}
.pd-photo-frame.plated-detail .photo-plate{width:100%;height:100%;display:grid;place-items:center;overflow:visible!important;background:url('media.66113409f10d/plate-only.webp') center/86% auto no-repeat!important}
.pd-photo-frame.plated-detail .photo-plate img{width:84%!important;height:84%!important;max-width:100%;object-fit:contain;filter:drop-shadow(0 13px 12px #000b)}
.pd-photo-frame.plated-detail.is-set-detail .photo-plate{background-size:88% auto!important}.pd-photo-frame.plated-detail.is-set-detail .photo-plate img{width:85%!important;height:76%!important}
.pd-photo-frame.plain-detail img{object-fit:contain;width:80%;height:80%}
.pd-body{padding:0 17px 30px;min-width:0}.pd-title-line :is(h1,h2){font:600 clamp(30px,8.9vw,43px)/1.1 Georgia,"Times New Roman",serif!important;letter-spacing:-.9px;color:var(--ivory);overflow-wrap:anywhere;margin:5px 0 11px}
.pd-meta-row{display:flex;justify-content:space-between;align-items:center;color:#b9b1a7;font-size:15px}
.pd-purchase{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 16px}.pd-purchase .price{font-size:clamp(26px,7vw,32px);font-weight:700}
.pd-short{font-size:14px;color:#aca89f;line-height:1.5;margin:18px 0 20px}
.pd-details{border-top:1px solid #32372f;border-bottom:1px solid #32372f;margin-bottom:22px}.pd-details summary{font-size:16px;padding:17px 0;color:var(--ivory)}.pd-details p{color:#b4afa6;font-size:13px;line-height:1.55}
.pd-related h3{font:600 27px Georgia,serif;color:var(--ivory);margin:0 0 13px}.pd-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pd-related-grid .mini-card{background:var(--card)!important;border:1px solid #383d36;border-radius:13px;overflow:hidden;min-width:0;position:relative;padding:6px;display:flex;flex-direction:column}
.pd-related-grid .mini-photo{width:100%;height:auto!important;aspect-ratio:1;display:grid;place-items:center;min-width:0;background:var(--card)!important;background-image:none!important;overflow:hidden}
.pd-related-grid .mini-photo img{object-fit:contain;width:97%!important;height:91%!important;filter:drop-shadow(0 4px 4px #0006)}
.mini-heart{right:5px;top:5px}.mini-heart svg{width:16px;height:16px}
.mini-name{color:var(--ivory);line-height:1.25;font-size:12px;min-height:30px}.mini-meta{color:#aaa49b;font-size:10px}.mini-buy{display:flex;justify-content:space-between;align-items:end;gap:4px;margin-top:auto}.mini-buy .price{font-size:clamp(11px,3vw,14px)!important}
.product-full .pd-nav{position:relative;z-index:5;flex:0 0 74px;width:calc(100% - 24px);margin:0 12px calc(10px + env(safe-area-inset-bottom));height:74px!important;padding:0!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #3b413a;border-radius:19px;background:linear-gradient(180deg,#161914,#0c0f0d)!important;box-shadow:0 9px 28px #0009;overflow:visible}
.pd-nav a,.pd-nav button{font-size:10px;gap:4px;color:#c9c4bb;background:none;border:0}.pd-nav svg{height:23px;width:23px;stroke-width:1.7}.pd-nav .is-active{color:var(--accent)}.pd-nav .count-badge{min-width:18px;height:18px;border-radius:5px;top:6px}
/* Basket: compact horizontal items, clean cutout illustrations */
.cart-layout{max-width:810px;padding-top:20px}.cart-layout>.page-title{font-size:clamp(37px,10vw,52px)!important;margin:10px 0 21px}
.cart-items{display:grid;gap:10px}.cart-compact{background:var(--card)!important;border:1px solid #343831!important;border-radius:15px!important;padding:10px!important;display:grid;grid-template-columns:clamp(76px,23vw,105px) minmax(0,1fr) auto;grid-template-areas:'photo body controls';gap:11px;align-items:center;min-width:0;min-height:110px}
.cart-picture{grid-area:photo;width:100%;height:auto;aspect-ratio:1;display:grid;place-items:center;min-width:0;background:transparent!important;border:1px solid #30332f;border-radius:10px;overflow:hidden}
.cart-picture img{width:95%;height:94%;object-fit:contain;background:transparent;filter:drop-shadow(0 5px 6px #0006)}
.cart-compact-copy{grid-area:body;min-width:0}.cart-name{text-align:left;color:var(--ivory);font-weight:650;font-size:clamp(12px,3.6vw,16px);line-height:1.25;overflow-wrap:anywhere}.cart-meta{font-size:11px;color:#aaa79d;margin:7px 0}.cart-line-price{font-size:14px;color:var(--accent);font-weight:700}
.cart-side{grid-area:controls;display:flex;flex-direction:column;align-self:center;align-items:flex-end;gap:10px}
.delete-item{border:1px solid #333a33;background:#151714;border-radius:9px;height:31px;width:31px;display:grid;place-items:center;color:#aaa89e;padding:0}.delete-item svg{width:17px;height:17px}.delete-item:hover{color:#ff9063}
.extras-section,.form-section,.profile-card{background:var(--card)!important;border:1px solid #353a33!important;border-radius:17px!important;padding:17px!important;margin:18px 0}
.extras-section h2,.form-section h2,.profile-card h2{font:600 26px/1.15 Georgia,serif!important;letter-spacing:-.4px;color:var(--ivory)!important;margin:0 0 15px}
.extras-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.extra-item{display:flex;flex-direction:column;align-items:center;min-width:0;padding:5px 1px 6px;background:transparent!important}
.extra-photo{position:relative;display:grid;place-items:center;overflow:hidden;width:100%;height:auto!important;aspect-ratio:1;background:transparent!important;border-radius:11px}
.extra-photo img{width:94%;height:92%;object-fit:contain;filter:drop-shadow(0 5px 4px #0008)}
.extra-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0007;color:#ffb18c;font-weight:800;font-size:26px;text-shadow:0 1px 8px #000}
.extra-name{font-size:10px!important;line-height:1.24;text-align:center;min-height:27px;color:var(--ivory)}.extra-price{font-size:10px;color:#bdb1a5;white-space:nowrap;margin:4px 0 8px}
.extra-counter{width:100%;min-height:31px!important;border-radius:9px!important}.extra-counter button{min-width:0!important;flex:1;min-height:30px!important;font-size:20px}.extra-counter span{min-width:17px!important;font-size:12px!important}
.promo-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:20px 0 8px}.promo-row .outline-btn{padding:0 13px;min-height:48px}
.promo-state{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;border:1px solid #7e6242;border-radius:11px;color:#e8cbab;font-size:12px;margin-bottom:12px}.promo-state button{border:0;background:none;color:#ff945c;text-decoration:underline}
.field{display:block;min-width:0;margin-bottom:11px}.field>span{display:block;font-size:12px;color:#beb8af;margin-bottom:6px}
.text-control{width:100%;border:1px solid #3b4038!important;background:#111411!important;color:var(--ivory)!important;border-radius:10px!important;min-height:46px;padding:11px 12px;font-size:14px;outline:none}
.text-control:focus{border-color:#ed8753!important;box-shadow:0 0 0 2px #ed875322}.text-control::placeholder{color:#757970}
.field-error{color:#ffa183;font-size:12px;margin-top:5px}
.form-two,.form-four,.time-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice-row,.pay-choices,.time-options,.date-choices,.tags-row{display:flex;flex-wrap:wrap;gap:7px}.choice,.tag{min-height:39px;padding:9px 11px;font-size:12px}.tag{border-radius:99px!important}.tag-detail{margin:12px 0}
.form-section .soft-note,.soft-note{color:#9e9e94;font-size:12px;line-height:1.48}
.summary{border-top:1px solid #31372e;padding-top:12px;margin-top:17px}.summary-row{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#b7b2a9;font-size:13px;padding:6px 0}.summary-row strong{color:#ede8df;font-size:13px;max-width:55%;text-align:right}.total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #3a4037;margin-top:11px;padding-top:15px;font-weight:700;font-size:19px}.total strong{font-size:23px;color:var(--ivory)}.checkout-btn{width:100%;min-height:55px;margin-top:18px}
.demo-note{color:#8c9388;font-size:11px;line-height:1.48}
.profile-kicker{color:#f09a72;font-size:10px;letter-spacing:1.8px;margin-bottom:7px}.profile-card p{font-size:14px;color:#aca89f;line-height:1.5}.profile-actions{display:flex;flex-wrap:wrap;gap:8px}.profile-actions a{display:inline-flex;align-items:center;gap:8px;padding:10px 13px}.profile-actions svg{width:18px;height:18px}.saved-hint{margin-top:12px}
/* Review bottom sheet */
.modal-panel:not(.product-full){background:#111411!important;border:1px solid #454840!important;border-radius:22px 22px 0 0!important;max-width:580px!important;padding:25px 18px calc(30px + env(safe-area-inset-bottom))}
.review-panel h2{font:600 31px Georgia,serif;color:var(--ivory)}.review-group{border-top:1px solid #353a33}.review-item{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding:4px 0}
.review-actions{display:flex;gap:10px}.review-actions button{min-width:0;flex:1}.review-actions .cta{font-size:13px}
/* Toast */
#toast{border:1px solid #675342;background:#201b16!important;color:#f2ebdf;border-radius:12px;bottom:calc(107px + env(safe-area-inset-bottom));font-size:12px;padding:12px 14px;max-width:calc(100vw - 36px);box-shadow:0 10px 30px #000a}
/* Responsive */
@media(max-width:389px){
 .container{padding-inline:13px}.topbar{height:69px}.brand>img{width:42px!important;height:42px!important}.brand-word{font-size:22px!important}.tagline{font-size:7px!important;letter-spacing:1.65px!important}
 .round-action{width:38px;height:38px;min-width:38px}.cart-top{min-width:57px;width:57px;height:38px}.cart-top .count-badge{height:24px;min-width:24px;top:6px;right:4px}.header-tools{gap:6px}
 .home-hero{padding-top:28px!important}.home-hero h1{font-size:clamp(34px,9.7vw,40px)!important;letter-spacing:-1.6px!important}.hero-actions .cta{padding:11px 14px;font-size:14px}.hero-secondary{font-size:12px}
 .home-hero .hero-feature{padding-bottom:70px!important}.home-hero .feature-visual{aspect-ratio:1.06!important}.home-hero .feature-shot{width:100%!important;height:88%!important}.home-hero .feature-caption strong{font-size:23px!important}
 .product-grid{gap:8px}.product-card .card-main{padding:2px 8px 10px}.product-card .card-name{font-size:14px}.card-buy .price{font-size:15px!important}.qty-control.compact{height:35px!important}.qty-control.compact>button{min-width:25px;min-height:33px}.qty-control.compact .qty-start{min-width:34px;min-height:33px}.qty-control.compact>span{min-width:15px;font-size:12px}
 .set-showcase{min-height:185px;padding:13px 8px 13px 12px}.set-showcase-visual{height:165px}.set-showcase h3{font-size:28px}.set-showcase-copy p{font-size:11px}
 .pd-body{padding-inline:14px}.pd-title-line :is(h1,h2){font-size:clamp(28px,8.4vw,36px)}.pd-purchase .price{font-size:25px}.detail-qty{height:44px!important}.detail-qty>button{min-width:40px;min-height:42px}
 .cart-compact{grid-template-columns:75px minmax(0,1fr);grid-template-areas:'photo body' 'photo controls';align-items:center;gap:4px 9px;min-height:95px}.cart-picture{align-self:center}.cart-side{flex-direction:row;justify-content:space-between;align-items:center;gap:5px}.cart-meta{margin:3px 0}.cart-qty{height:32px!important}.cart-qty>button{min-height:30px;min-width:28px}.delete-item{width:29px;height:29px}
 .extra-item{padding-inline:0}.extra-name{font-size:9px!important}.extra-counter{min-height:30px}.extra-counter button{font-size:18px}
 .form-section{padding:13px!important}.pd-related-grid{gap:6px}.mini-buy .price{font-size:11px!important}
}
@media(min-width:700px){
 .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-hero h1{font-size:68px!important}.home-hero{padding-top:38px!important}.set-showcase{min-height:300px;padding:22px 30px}.set-showcase-visual{height:265px}
 .bottom-nav{width:480px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important}
 .quick-cart{width:460px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* 2.4.0 QA refinements: salmon wave motif stays behind, never crosses icons. */
.bottom-nav::before,.pd-nav::before{display:none!important}
.site::after{content:"";position:fixed;left:0;right:0;bottom:0;height:115px;z-index:20;pointer-events:none;background:url('media.66113409f10d/salmon-waves.svg') center bottom/100% 100% no-repeat;opacity:.60}
.product-full::after{content:"";position:absolute;left:0;right:0;bottom:0;height:112px;z-index:4;pointer-events:none;background:url('media.66113409f10d/salmon-waves.svg') center bottom/100% 100% no-repeat;opacity:.65}
/* Higher photographic presence, plate remains its own independently sized asset. */
.pd-photo-frame.plated-detail .photo-plate img{width:98%!important;height:94%!important;max-width:none!important}
.pd-photo-frame.plated-detail.is-set-detail .photo-plate img{width:98%!important;height:83%!important}
/* Plate has transparent margins in source art; compensate without cropping rolls. */
.pd-photo-frame.plated-detail .photo-plate{background-size:122% auto!important}
.pd-photo-frame.plated-detail.is-set-detail .photo-plate{background-size:124% auto!important}


/* SG_Web 2.4.1 detail plate update */
.product-full .pd-hero{padding:0 10px 2px;}
.product-full .pd-photo-frame.plated-detail{
  aspect-ratio:1/1!important;
  max-height:none!important;
  min-height:340px;
  display:grid!important;
  place-items:center!important;
}
.product-full .pd-photo-frame.plated-detail .photo-plate{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:url('media.66113409f10d/detail-plate-bg.png') center center / contain no-repeat!important;
}
.product-full .pd-photo-frame.plated-detail .photo-plate img{
  width:72%!important;
  height:72%!important;
  max-width:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.42))!important;
  transform:translateY(0);
}
.product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate img{
  width:82%!important;
  height:58%!important;
}
@media (max-width:420px){
  .product-full .pd-photo-frame.plated-detail{min-height:300px;}
  .product-full .pd-photo-frame.plated-detail .photo-plate img{width:74%!important;height:74%!important;}
  .product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate img{width:84%!important;height:60%!important;}
}


/* SG_Web 2.4.2 — product detail plate layout refinements */
.product-full .pd-hero{
  padding: 0 0 10px !important;
}
.product-full .pd-index{
  top: 10px !important;
  right: 14px !important;
  z-index: 3 !important;
}
.product-full .pd-photo-frame.plated-detail{
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  max-height: none !important;
  width: 100% !important;
  overflow: visible !important;
}
.product-full .pd-photo-frame.plated-detail .photo-plate{
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  background: none !important;
}
.product-full .pd-photo-frame.plated-detail .photo-plate::before{
  content: "";
  position: absolute;
  inset: 0;
  background: url('media.66113409f10d/detail-plate-bg.png') center 44% / 92% auto no-repeat;
  z-index: 0;
}
.product-full .pd-photo-frame.plated-detail .photo-plate img{
  position: absolute !important;
  left: 50% !important;
  top: 44% !important;
  transform: translate(-50%, -50%) !important;
  width: 76% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  z-index: 1 !important;
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.40)) !important;
}
/* Sets: use a square dark tray instead of the round plate */
.product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate::before{
  content: "";
  position: absolute;
  width: 82%;
  aspect-ratio: 1 / 1;
  left: 50%;
  top: 44%;
  transform: translate(-50%, -50%);
  border-radius: 26px;
  background:
    linear-gradient(155deg, rgba(255,255,255,.08), rgba(255,255,255,0) 18%),
    linear-gradient(180deg, #1a1a1a 0%, #0c0c0c 100%);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -16px 30px rgba(0,0,0,.38),
    0 16px 26px rgba(0,0,0,.36);
  z-index: 0;
}
.product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate img{
  position: absolute !important;
  left: 50% !important;
  top: 44% !important;
  transform: translate(-50%, -50%) !important;
  width: 92% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  z-index: 1 !important;
}
@media (max-width: 420px){
  .product-full .pd-photo-frame.plated-detail .photo-plate::before{
    background-size: 96% auto;
    background-position: center 45%;
  }
  .product-full .pd-photo-frame.plated-detail .photo-plate img{
    width: 82% !important;
    top: 45% !important;
  }
  .product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate::before{
    width: 88%;
    top: 45%;
    border-radius: 24px;
  }
  .product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate img{
    width: 98% !important;
    top: 45% !important;
  }
}

/* SG_Web 2.4.3 — detail composition + floating nav refinement */
.product-full .pd-scroll{
  padding-bottom: 128px !important;
}
.product-full .pd-hero{
  padding: 0 0 8px !important;
  background:
    radial-gradient(120% 88% at 50% 26%, rgba(255,123,61,.07) 0%, rgba(255,123,61,0) 44%),
    linear-gradient(180deg, rgba(8,10,8,0) 0%, rgba(8,10,8,0) 68%, rgba(8,10,8,.18) 100%);
}
.product-full .pd-index{
  top: 11px !important;
  right: 17px !important;
  font-size: 10px !important;
  letter-spacing: 2.4px !important;
  color: #a39a8f !important;
}
.product-full .pd-photo-frame.plated-detail{
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}
.product-full .pd-photo-frame.plated-detail .photo-plate{
  position: relative !important;
  width: 100% !important;
  min-height: min(78vw, 408px) !important;
  display: block !important;
  isolation: isolate;
  background: none !important;
}
.product-full .pd-photo-frame.plated-detail .photo-plate::before{
  content: "";
  position: absolute;
  inset: 0;
  background: url('media.66113409f10d/detail-plate-bg.png') center 42.5% / 92% auto no-repeat;
  -webkit-mask-image: radial-gradient(circle at 50% 43%, #000 0 38%, rgba(0,0,0,.95) 54%, rgba(0,0,0,.66) 68%, transparent 84%);
  mask-image: radial-gradient(circle at 50% 43%, #000 0 38%, rgba(0,0,0,.95) 54%, rgba(0,0,0,.66) 68%, transparent 84%);
  z-index: 0;
}
.product-full .pd-photo-frame.plated-detail .photo-plate img{
  position: absolute !important;
  left: 50% !important;
  top: 41.8% !important;
  transform: translate(-50%, -50%) !important;
  width: 75% !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 16px rgba(0,0,0,.36)) !important;
  z-index: 1 !important;
}
.product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate::before{
  content: "";
  position: absolute;
  width: 84%;
  aspect-ratio: 1 / 1;
  left: 50%;
  top: 42.4%;
  transform: translate(-50%, -50%);
  border-radius: 28px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,0) 16%),
    linear-gradient(180deg, rgba(32,34,33,.98) 0%, rgba(10,11,10,1) 100%);
  border: 1px solid rgba(255,255,255,.07);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -18px 30px rgba(0,0,0,.4),
    0 18px 30px rgba(0,0,0,.34);
  z-index: 0;
}
.product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate::after{
  content: "";
  position: absolute;
  width: 92%;
  aspect-ratio: 1 / 1;
  left: 50%;
  top: 42.4%;
  transform: translate(-50%, -50%);
  border-radius: 34px;
  border: 1px solid rgba(255,133,73,.13);
  opacity: .5;
  z-index: 0;
}
.product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate img{
  position: absolute !important;
  left: 50% !important;
  top: 42.2% !important;
  transform: translate(-50%, -50%) !important;
  width: 91% !important;
  height: auto !important;
  object-fit: contain !important;
  z-index: 1 !important;
}
.product-full .pd-body{
  padding: 0 18px 34px !important;
}
.product-full .pd-title-line :is(h1,h2){
  font: 600 clamp(31px, 8.15vw, 38px)/1.04 Georgia, "Times New Roman", serif !important;
  letter-spacing: -1px !important;
  margin: 4px 0 10px !important;
}
.product-full .pd-meta-row{
  align-items: center !important;
  color: #c0b7ab !important;
  font-size: 16px !important;
}
.product-full .pd-purchase{
  margin: 14px 0 15px !important;
}
.product-full .pd-purchase .price{
  font-size: clamp(24px, 7.7vw, 30px) !important;
}
.product-full .pd-short{
  margin: 0 0 18px !important;
  color: #c7c0b4 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.product-full .pd-details{
  margin-bottom: 19px !important;
  border-top: 1px solid #33372f !important;
  border-bottom: 1px solid #33372f !important;
}
.product-full .pd-details summary{
  list-style: none;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 15px 0 !important;
  font-size: 15px !important;
  color: #efe9df !important;
}
.product-full .pd-details summary::-webkit-details-marker{display:none !important}
.product-full .pd-details summary::after{
  content: "" !important;
  width: 10px;
  height: 10px;
  margin-left: 12px;
  border-right: 1.7px solid #bdb4a7;
  border-bottom: 1.7px solid #bdb4a7;
  transform: rotate(45deg);
  transition: transform .18s ease, margin-top .18s ease;
}
.product-full .pd-details[open] summary::after{
  transform: rotate(-135deg);
  margin-top: 6px;
}
.product-full .pd-details p{
  color: #b8b1a6 !important;
  font-size: 13px !important;
  line-height: 1.58 !important;
}
.product-full .pd-related h3{
  font: 600 24px/1.06 Georgia, serif !important;
  margin: 0 0 12px !important;
}
.product-full .pd-related-grid{
  gap: 10px !important;
}
.product-full .pd-related-grid .mini-card{
  border-radius: 14px !important;
  padding: 7px !important;
}
.product-full .pd-related-grid .mini-photo{
  aspect-ratio: 1 / 1.02;
}
.product-full .pd-related-grid .mini-photo img{
  width: 95% !important;
  height: 89% !important;
}

/* Brighter salmon curves under detail and site nav */
.site::after,
.product-full::after{
  background: url('media.66113409f10d/salmon-waves.svg') center bottom / 100% 100% no-repeat !important;
}
.site::after{
  height: 120px !important;
  opacity: .72 !important;
}
.product-full::after{
  height: 120px !important;
  opacity: .76 !important;
  z-index: 3 !important;
}

/* Floating nav: slight side fade so waves are visible around corners */
.bottom-nav,
.product-full .pd-nav{
  backdrop-filter: blur(14px) saturate(1.03);
  -webkit-backdrop-filter: blur(14px) saturate(1.03);
  background: linear-gradient(90deg,
    rgba(18,20,18,.58) 0%,
    rgba(18,20,18,.92) 8%,
    rgba(12,14,12,.98) 26%,
    rgba(12,14,12,.98) 74%,
    rgba(18,20,18,.92) 92%,
    rgba(18,20,18,.58) 100%) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.bottom-nav{
  left: 14px !important;
  right: 14px !important;
  bottom: calc(9px + env(safe-area-inset-bottom)) !important;
  border-radius: 21px !important;
}
.product-full .pd-nav{
  width: calc(100% - 28px) !important;
  margin: 0 14px calc(9px + env(safe-area-inset-bottom)) !important;
  border-radius: 21px !important;
  z-index: 5 !important;
}
.bottom-nav::after,
.product-full .pd-nav::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8,10,8,.26) 0%, rgba(8,10,8,0) 9%, rgba(8,10,8,0) 91%, rgba(8,10,8,.26) 100%);
}
.bottom-nav .nav-item,
.product-full .pd-nav a,
.product-full .pd-nav button{
  position: relative;
  z-index: 1;
}
.bottom-nav .nav-item span,
.product-full .pd-nav span{
  font-size: 11px !important;
}
.bottom-nav .nav-item svg,
.product-full .pd-nav svg{
  width: 24px !important;
  height: 24px !important;
}

@media (max-width: 420px){
  .product-full .pd-hero{padding: 0 0 6px !important;}
  .product-full .pd-photo-frame.plated-detail .photo-plate{min-height: 286px !important;}
  .product-full .pd-photo-frame.plated-detail .photo-plate::before{
    background-size: 95% auto;
    background-position: center 43.3%;
  }
  .product-full .pd-photo-frame.plated-detail .photo-plate img{
    width: 79% !important;
    top: 42.2% !important;
  }
  .product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate::before{
    width: 89%;
    top: 42.8%;
    border-radius: 24px;
  }
  .product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate::after{
    width: 96%;
    top: 42.8%;
    border-radius: 29px;
  }
  .product-full .pd-photo-frame.plated-detail.is-set-detail .photo-plate img{
    width: 97% !important;
    top: 42.4% !important;
  }
  .product-full .pd-body{padding: 0 16px 30px !important;}
  .product-full .pd-title-line :is(h1,h2){font-size: clamp(30px, 8vw, 35px) !important;}
  .product-full .pd-meta-row{font-size: 15px !important;}
  .product-full .pd-purchase .price{font-size: 22px !important;}
  .bottom-nav,
  .product-full .pd-nav{border-radius: 19px !important;}
}

/* SG_Web 2.4.3-r1 — targeted fixes on original 2.4.3. */
.quick-cart, #quick-cart-host { display: none !important; }

/* One 20% smaller floating nav on every screen. */
.bottom-nav, .product-full .pd-nav.bottom-nav {
  position: fixed !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(9px + env(safe-area-inset-bottom)) !important;
  transform: none !important;
  width: auto !important;
  height: 61px !important;
  min-height: 61px !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  background: linear-gradient(90deg, rgba(18,20,18,.58) 0%, rgba(18,20,18,.92) 8%, rgba(12,14,12,.98) 26%, rgba(12,14,12,.98) 74%, rgba(18,20,18,.92) 92%, rgba(18,20,18,.58) 100%) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.56), inset 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(14px) saturate(1.03) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.03) !important;
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  z-index: 25 !important;
}
.bottom-nav .nav-item, .product-full .pd-nav.bottom-nav .nav-item {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0;
  gap:3px !important;
  color:#c9c4bb;
  font-size:10px !important;
  text-decoration:none !important;
  position:relative;
  z-index:2;
  border:0;
  background:transparent;
}
.bottom-nav .nav-item.active, .product-full .pd-nav.bottom-nav .nav-item.active{ color:#ff874b !important; }
.bottom-nav .nav-item svg, .product-full .pd-nav.bottom-nav .nav-item svg{ width:20px !important;height:20px !important;stroke-width:1.7 !important; }
.bottom-nav .nav-item span:not(.nav-count), .product-full .pd-nav.bottom-nav .nav-item span:not(.nav-count) {font-size:10px !important;line-height:1.12 !important;white-space:nowrap;}
.bottom-nav .nav-count, .product-full .pd-nav.bottom-nav .nav-count {
  position:absolute !important; top:2px !important; left:calc(50% + 5px) !important;
  min-width:18px !important; height:18px !important; padding:0 4px !important;
  border-radius:6px !important; display:grid;place-items:center;
  background:#ff8246 !important; color:#17100c !important;
  font-size:10px !important;font-weight:800 !important;z-index:3;
}
.bottom-nav .nav-count[hidden], .product-full .pd-nav.bottom-nav .nav-count[hidden],.count-badge[hidden]{ display:none !important; }
/* Use exactly the same opacity and wave layer as normal menu. */
.product-full .pd-nav.bottom-nav::before, .bottom-nav::before{display:none !important;}
.product-full .pd-nav.bottom-nav::after, .bottom-nav::after{
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(90deg, rgba(8,10,8,.26),transparent 9%,transparent 91%,rgba(8,10,8,.26));
  pointer-events:none;
}
.site::after, .product-full::after {pointer-events:none !important;z-index:20 !important;opacity:.72 !important;}
.product-full .pd-nav.bottom-nav{z-index:25 !important;}
.site {padding-bottom:calc(100px + env(safe-area-inset-bottom)) !important;}
.product-full .pd-scroll {padding-bottom:calc(102px + env(safe-area-inset-bottom)) !important;}
@media(min-width:700px){
 .bottom-nav{left:50% !important;right:auto !important;width:min(480px,calc(100vw - 28px)) !important; transform:translateX(-50%) !important;}
 .product-full .pd-nav.bottom-nav{left:50% !important;right:auto !important;width:min(462px,calc(100vw - 28px)) !important;transform:translateX(-50%) !important;}
}
/* Correct search icon geometry and vertical centering. */
.search {display:flex !important;align-items:center !important;gap:12px !important;min-height:50px;}
.search > svg{display:block !important;align-self:center !important;flex:0 0 22px !important;width:22px !important;height:22px !important;transform:translateY(-1px);margin:0 !important;}
.search > input{height:100% !important;min-height:48px !important;align-self:center !important;line-height:normal !important;padding:0 !important;margin:0 !important;}
/* Chili shape (revised SVG in app.js). */
.spicy-badge svg,.pd-hot svg{stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8 !important;transform:rotate(-15deg);}
/* Add-on per-unit price appears after selection; first ginger/soy/wasabi is free. */
.extra-item{gap:3px;}
.extra-free-note{display:block;text-align:center;font-size:9px;line-height:1.22;color:#b5b0a7;min-height:23px;max-width:100%;}
.extra-free-placeholder{visibility:hidden;}
.extra-price{font-size:9px !important;line-height:1.3;text-align:center;white-space:normal !important;min-height:26px;margin:2px 0 5px !important;}
/* A real last action below all recommendations on detail page. */
.pd-bottom-back{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:45px;margin:24px 0 0;padding:10px 20px;border:1px solid #564f42;background:#111310;border-radius:12px;color:#f4eee4;font:500 14px/1.3 Arial,sans-serif;cursor:pointer;}
.pd-bottom-back svg{width:18px;height:18px;}
.pd-bottom-back:active{background:#27221c;}

/* SG_Web 2.4.3-r2 — precise search, plain cart count and edge-to-edge cart photos.
   Applied after r1 to preserve all previously agreed functionality. */

/* 1. The magnifier must have equal left, top and bottom inset. */
.search{
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 60px !important;
  min-height: 60px !important;
  padding: 0 18px !important;
  gap: 13px !important;
}
.search > svg{
  display: block !important;
  box-sizing: border-box !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
.search > input{
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  align-self: stretch !important;
  line-height: normal !important;
}

/* 2. Quantity as orange digits, WITHOUT an orange rounded counter badge. */
.cart-top .count-badge,
.bottom-nav .nav-count,
.product-full .pd-nav .nav-count,
.product-full .pd-nav .count-badge{
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: #ff874b !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  min-width: 11px !important;
  width: auto !important;
  height: auto !important;
  font-variant-numeric: tabular-nums !important;
  text-shadow: none !important;
}
.cart-top .count-badge{
  position: absolute !important;
  top: 50% !important;
  right: 7px !important;
  transform: translateY(-50%) !important;
  font-size: 15px !important;
}
.bottom-nav .nav-count,
.product-full .pd-nav .nav-count,
.product-full .pd-nav .count-badge{
  position: absolute !important;
  top: 3px !important;
  left: calc(50% + 8px) !important;
  font-size: 12px !important;
  z-index: 3 !important;
}
.cart-top .count-badge[hidden],
.bottom-nav .nav-count[hidden],
.product-full .pd-nav .nav-count[hidden],
.product-full .pd-nav .count-badge[hidden]{display:none !important;}
/* Top bag + digit are a pair, not overlapping. */
.cart-top{justify-content: flex-start !important;padding-left: 10px !important;}
.cart-top > svg{width: 20px !important;height: 20px !important;}

/* 3. The image panel shares the TOP, LEFT and BOTTOM outside edges of the cart item. */
.cart-compact{
  box-sizing: border-box !important;
  grid-template-columns: clamp(104px,31vw,143px) minmax(0,1fr) !important;
  grid-template-areas: "photo body" "photo controls" !important;
  grid-template-rows: auto 1fr !important;
  align-items: stretch !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  min-height: 138px !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.cart-compact .cart-picture,
.cart-compact .cart-picture.is-set-photo{
  box-sizing: border-box !important;
  grid-area: photo !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 138px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-right: 1px solid #333730 !important;
  border-radius: 14px 0 0 14px !important;
  background: #0b0e0c !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
}
.cart-compact .cart-picture img,
.cart-compact .cart-picture .cart-shot,
.cart-compact .cart-picture.is-set-photo .cart-shot{
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 1px !important;
  margin: 0 !important;
  background: transparent !important;
}
.cart-compact .cart-compact-copy{
  grid-area: body !important;
  padding: 12px 11px 2px 0 !important;
  align-self: end !important;
  min-width: 0 !important;
}
.cart-compact .cart-side{
  grid-area: controls !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: end !important;
  align-self: end !important;
  gap: 8px !important;
  padding: 4px 11px 11px 0 !important;
}
.cart-compact .cart-qty{flex:none !important;}
@media(max-width:360px){
  .cart-compact{
    grid-template-columns: 101px minmax(0,1fr) !important;
    column-gap: 9px !important;
    min-height: 132px !important;
  }
  .cart-compact .cart-picture{min-height: 132px !important;}
  .cart-compact .cart-compact-copy{padding: 10px 7px 2px 0 !important;}
  .cart-compact .cart-side{gap: 5px !important;padding-right: 7px !important;padding-bottom: 9px !important;}
}
@media(min-width:650px){
  .cart-compact{
    grid-template-columns: 144px minmax(0,1fr) auto !important;
    grid-template-areas: "photo body controls" !important;
    min-height: 143px !important;
    column-gap: 18px !important;
  }
  .cart-compact .cart-picture{min-height: 143px !important;}
  .cart-compact .cart-compact-copy{align-self: center !important;padding-top: 12px !important;padding-bottom: 12px !important;}
  .cart-compact .cart-side{flex-direction: column !important;align-self: center !important;align-items: flex-end !important;padding-right: 15px !important;padding-bottom: 0 !important;}
}

/* SG_Web 2.4.3-r3 — from 2.4.3-r2; targeted logo/header/counter/cart fixes */

/* Compact logo from the leftmost approved brand-sign reference. */
.brand > img, .pd-brand > img{
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Compact upper header (~20% less height) with proportional branding and buttons. */
.sg-header .topbar{
  height: 59px !important;
  min-height: 59px !important;
  gap: 8px !important;
}
.sg-header .brand{gap: 7px !important;}
.sg-header .brand > img{width: 43px !important;height: 43px !important;flex: 0 0 43px !important;}
.sg-header .brand-word{font-size: clamp(19px, 5.5vw, 26px) !important;letter-spacing: -.8px !important;}
.sg-header .tagline{font-size: 7px !important;letter-spacing: 1.45px !important;margin-top: 3px !important;}
.sg-header .header-tools{gap: 6px !important;}
.sg-header .round-action{width: 34px !important;height: 34px !important;}
.sg-header .round-action svg{width: 20px !important;height: 20px !important;}
.sg-header .cart-top{height: 35px !important;min-width: 56px !important;width: 56px !important;}
.sg-header .cart-top > svg{width: 18px !important;height: 18px !important;}
.product-full .pd-topbar{
  height: 61px !important;
  min-height: 61px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
.product-full .pd-brand > img{width: 36px !important;height: 36px !important;}
.product-full .pd-brand strong{font-size: clamp(18px,5.5vw,22px) !important;}
.product-full .pd-brand span{font-size: 7px !important;letter-spacing: 1.25px !important;}
.product-full .pd-icon{width: 35px !important;height: 35px !important;flex: 0 0 35px !important;}
.product-full .pd-icon svg{width: 20px !important;height: 20px !important;}

/* Restore compact warm-orange rounded badges everywhere. */
.cart-top .count-badge,
.bottom-nav .nav-count,
.product-full .pd-nav .nav-count,
.product-full .pd-nav .count-badge{
  display: grid !important;
  place-items: center !important;
  background: #ff8246 !important;
  background-image: none !important;
  color: #17100c !important;
  font-weight: 800 !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  width: auto !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 4px !important;
  transform: none !important;
  font-variant-numeric: tabular-nums;
}
.cart-top .count-badge{
  position: absolute !important;
  right: 4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.bottom-nav .nav-count,
.product-full .pd-nav .nav-count,
.product-full .pd-nav .count-badge{
  position: absolute !important;
  top: 2px !important;
  left: calc(50% + 5px) !important;
  z-index: 4 !important;
}
.cart-top .count-badge[hidden], .bottom-nav .nav-count[hidden],
.product-full .pd-nav .nav-count[hidden],
.product-full .pd-nav .count-badge[hidden]{display:none !important;}

/* Cart: photo remains flush with outer top/left/bottom; controls move to right. */
.cart-compact{
  grid-template-columns: clamp(99px,29vw,143px) minmax(0,1fr) !important;
  grid-template-rows: minmax(0,auto) 1fr !important;
  grid-template-areas: 'photo body' 'photo controls' !important;
  column-gap: 11px !important;
  row-gap: 0 !important;
  min-height: 136px !important;
  padding: 0 !important;
}
.cart-compact .cart-picture{
  grid-area: photo !important;
  height: 100% !important;
  min-height: 136px !important;
}
.cart-compact .cart-compact-copy{
  grid-area: body !important;
  align-self: start !important;
  padding: 12px 10px 1px 0 !important;
}
.cart-compact .cart-side{
  grid-area: controls !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  align-self: end !important;
  padding: 3px 10px 10px 0 !important;
  gap: 0 !important;
  min-width: 0 !important;
}
.cart-compact .cart-qty{margin-left: auto !important;flex: 0 0 auto !important;}
.cart-compact .delete-item{display:none !important;}
@media(max-width:360px){
  .sg-header .topbar{height: 56px !important;min-height: 56px !important;}
  .sg-header .brand > img{width: 39px !important;height: 39px !important;flex-basis: 39px !important;}
  .sg-header .brand-word{font-size: 19px !important;}
  .sg-header .tagline{font-size: 6.5px !important;letter-spacing: 1px !important;}
  .cart-compact{grid-template-columns: 98px minmax(0,1fr) !important;column-gap: 8px !important;min-height:132px !important;}
  .cart-compact .cart-picture{min-height:132px !important;}
  .cart-compact .cart-compact-copy{padding: 9px 7px 2px 0 !important;}
  .cart-compact .cart-side{padding: 3px 7px 9px 0 !important;}
  .cart-compact .cart-name{font-size: 12px !important;}
}
@media(min-width:650px){
  .cart-compact{
    grid-template-columns: 144px minmax(0,1fr) auto !important;
    grid-template-areas: 'photo body controls' !important;
    grid-template-rows: minmax(143px,auto) !important;
    column-gap: 18px !important;
  }
  .cart-compact .cart-side{align-self: center !important;padding: 0 16px 0 0 !important;}
  .cart-compact .cart-compact-copy{align-self: center !important;padding: 10px 0 !important;}
}

/* SG_Web 2.4.3-r4 — premium mobile refinement, loaded after existing style sheets.
   Cart cards: reference #2. Product detail: reference #3. */

/* Cart rows. Reset earlier r2/r3 two-row grids and stretched image constraints. */
#cart-items-host .cart-compact,
.cart-page .cart-compact,
#cart .cart-compact,
.cart-compact {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-areas: 'photo copy actions' !important;
  grid-template-columns: clamp(84px, 25vw, 108px) minmax(0, 1fr) clamp(91px, 26vw, 106px) !important;
  grid-template-rows: 1fr !important;
  align-items: center !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 124px !important;
  min-height: 124px !important;
  max-height: 124px !important;
  padding: 9px !important;
  margin: 0 0 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(244,235,217,.18) !important;
  border-radius: 16px !important;
  background: #0d100e !important;
}
.cart-compact .cart-picture,
.cart-compact .cart-picture.is-set-photo {
  box-sizing: border-box !important;
  display: flex !important;
  grid-area: photo !important;
  justify-content: center !important;
  align-items: center !important;
  justify-self: stretch !important;
  align-self: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  height: 104px !important;
  width: 100% !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 2px !important;
  background: #0c0f0e !important;
  border: 1px solid #343934 !important;
  border-radius: 11px !important;
  overflow: hidden !important;
}
.cart-compact .cart-picture img,
.cart-compact .cart-picture .cart-shot,
.cart-compact .cart-picture.is-set-photo .cart-shot {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cart-compact .cart-compact-copy {
  grid-area: copy !important;
  min-width: 0 !important;
  align-self: center !important;
  justify-self: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cart-compact .cart-name {
  margin: 0 0 5px !important;
  font-size: clamp(13px, 3.5vw, 17px) !important;
  line-height: 1.14 !important;
  font-weight: 600 !important;
  overflow-wrap: anywhere !important;
}
.cart-compact .cart-meta {font-size: 12px !important; line-height: 1.35 !important; margin-top: 4px !important;}
.cart-compact .cart-price {font-size: 16px !important; margin-top: 7px !important;}
.cart-compact .cart-side {
  grid-area: actions !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-self: start !important;
  justify-self: end !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
  align-items: center !important;
  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 5px 0 0 !important;
}
.cart-compact .cart-qty,
.cart-compact .qty.cart-qty,
.cart-compact [data-qty-control] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 106px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 3px !important;
  margin: 0 !important;
  gap: 1px !important;
}
.cart-compact .cart-qty button,
.cart-compact [data-qty-control] button {
  min-width: 25px !important;
  width: 26px !important;
  height: 34px !important;
  padding: 0 !important;
  flex: 0 0 26px !important;
  font-size: 20px !important;
}
.cart-compact .cart-qty span,
.cart-compact [data-qty-control] > span {
  min-width: 13px !important;
  text-align: center !important;
  font-size: 14px !important;
}
.cart-compact .delete-item { display: none !important; }
@media (max-width: 360px) {
  .cart-compact { grid-template-columns: 78px minmax(0, 1fr) 91px !important; column-gap: 7px !important; padding: 8px !important; height: 118px !important; min-height: 118px !important; max-height: 118px !important; }
  .cart-compact .cart-picture, .cart-compact .cart-picture.is-set-photo { height: 100px !important; }
  .cart-compact .cart-qty { height: 35px !important; min-height: 35px !important; }
  .cart-compact .cart-qty button { height: 32px !important; min-width: 23px !important; width: 23px !important; flex-basis: 23px !important; }
  .cart-compact .cart-meta { font-size: 11px !important; }
  .cart-compact .cart-price { font-size: 14px !important; }
}
@media (min-width: 600px) {
  .cart-compact { grid-template-columns: 106px minmax(0, 1fr) 120px !important; column-gap: 18px !important; }
}

/* Product detail: one compact consistent header, central brand and right-hand actions. */
.product-full .pd-topbar.sg-r4-topbar {
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 65px !important;
  min-height: 65px !important;
  max-height: 65px !important;
  padding: 0 12px !important;
  gap: 0 !important;
  background: #0a0d0b !important;
  z-index: 5 !important;
}
.product-full .pd-topbar.sg-r4-topbar > .pd-brand,
.product-full .pd-topbar.sg-r4-topbar .pd-brand {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  box-sizing: border-box !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  min-width: 0 !important;
  width: max-content !important;
  max-width: min(40vw, 160px) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.product-full .sg-r4-topbar .pd-brand img { width: 31px !important; height: 31px !important; flex: 0 0 31px !important; object-fit: contain !important; }
.product-full .sg-r4-topbar .pd-brand strong { font-family: Georgia, 'Times New Roman', serif !important; font-size: clamp(15px, 4vw, 19px) !important; line-height: 1 !important; white-space: nowrap !important; }
.product-full .sg-r4-topbar .pd-brand span { font-size: 6px !important; letter-spacing: .7px !important; line-height: 1.2 !important; white-space: nowrap !important; }
.product-full .sg-r4-topbar .sg-r4-back,
.product-full .sg-r4-topbar .sg-r4-profile,
.product-full .sg-r4-topbar .sg-r4-cart {
  box-sizing: border-box !important;
  border-radius: 50% !important;
  width: 37px !important;
  height: 37px !important;
  min-width: 37px !important;
  min-height: 37px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #f6f0e7 !important;
  background: #0c100e !important;
  border: 1px solid rgba(244,235,217,.25) !important;
  text-decoration: none !important;
}
.product-full .sg-r4-topbar .sg-r4-back svg,
.product-full .sg-r4-topbar .sg-r4-profile svg,
.product-full .sg-r4-topbar .sg-r4-cart svg { width: 21px !important; height: 21px !important; stroke: currentColor !important; }
.product-full .sg-r4-topbar .sg-r4-head-actions {
  position: absolute !important;
  right: 11px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.product-full .sg-r4-topbar .sg-r4-cart { position: relative !important; border-radius: 12px !important; width: 43px !important; min-width: 43px !important; color: #fc8651 !important; border-color: rgba(252,134,81,.55) !important; }
.product-full .sg-r4-topbar .sg-r4-cart-count {
  position: absolute !important;
  right: -5px !important;
  top: -6px !important;
  display: grid !important;
  place-items: center !important;
  min-width: 19px !important;
  height: 19px !important;
  padding: 0 4px !important;
  color: #1c0d06 !important;
  font: 700 12px/1 system-ui, sans-serif !important;
  background: #ff8246 !important;
  border-radius: 6px !important;
}
.product-full .sg-r4-topbar .sg-r4-cart-count[hidden] {display: none !important;}
/* Keep the original favourite action accessible over the product image. */
.product-full .sg-r4-topbar .sg-r4-favourite {
  position: absolute !important;
  right: 15px !important;
  top: calc(100% + 12px) !important;
  z-index: 10 !important;
  width: 39px !important;
  height: 39px !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 50% !important;
  background: rgba(10,13,11,.72) !important;
  backdrop-filter: blur(8px) !important;
}
@media (max-width: 355px) {
  .product-full .sg-r4-topbar .pd-brand { max-width: 119px !important; }
  .product-full .sg-r4-topbar .pd-brand img { width: 27px !important; height: 27px !important; flex-basis: 27px !important; }
  .product-full .sg-r4-topbar .pd-brand strong { font-size: 14px !important; }
  .product-full .sg-r4-topbar .pd-brand span { letter-spacing: .35px !important; font-size: 5px !important; }
  .product-full .sg-r4-topbar .sg-r4-back, .product-full .sg-r4-topbar .sg-r4-profile { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; }
  .product-full .sg-r4-topbar .sg-r4-cart { width: 38px !important; min-width: 38px !important; height: 34px !important; min-height: 34px !important; }
  .product-full .sg-r4-topbar .sg-r4-head-actions { right: 8px !important; gap: 3px !important; }
}

/* Large elegant serif heading crosses the photo's LOWER edge. */
.product-full h1.sg-r4-title,
.product-full .sg-r4-title {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 3 !important;
  margin-top: -38px !important;
  margin-bottom: 12px !important;
  max-width: 100% !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  font-size: clamp(36px, 10vw, 46px) !important;
  line-height: 1.07 !important;
  letter-spacing: -.8px !important;
  color: #f5eee6 !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.8), 0 1px 5px rgba(0,0,0,.8) !important;
}
.product-full .sg-r4-buy-row {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 14px 0 16px !important;
  padding: 0 !important;
}
.product-full .sg-r4-buy-row .sg-r4-main-price,
.product-full .sg-r4-buy-row .pd-price,
.product-full .sg-r4-buy-row .detail-price {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  font-size: clamp(24px, 6.8vw, 32px) !important;
  color: #ff8246 !important;
  white-space: nowrap !important;
}
.product-full .sg-r4-buy-row .detail-qty {flex: 0 0 auto !important; margin: 0 !important;}
.product-full .sg-r4-title + .sg-r4-buy-row { margin-top: 10px !important; }

/* SG_Web 2.4.3-r4p1 | Cart-photo placement and shared header controls.
   Loads AFTER sg-243-r4.css. Does not change products, orders, or app logic. */

/* Cart: one uninterrupted left photo area, same outer top/left/bottom bounds as card.
   No inset rounded frame. The roll itself remains centered, not stretched/cropped. */
#cart-items-host .cart-compact,
.cart-page .cart-compact,
#cart .cart-compact,
.cart-compact {
  box-sizing: border-box !important;
  display: grid !important;
  position: relative !important;
  grid-template-areas: 'photo copy' 'photo actions' !important;
  grid-template-columns: 36% minmax(0,1fr) !important;
  grid-template-rows: minmax(0,auto) 1fr !important;
  align-items: stretch !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  width: 100% !important;
  height: 136px !important;
  min-height: 136px !important;
  max-height: none !important;
  padding: 0 !important;
  margin-bottom: 12px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}
.cart-compact .cart-picture,
.cart-compact .cart-picture.is-set-photo {
  box-sizing: border-box !important;
  grid-area: photo !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 9px !important;
  border: 0 !important;
  border-right: 1px solid rgba(186,193,180,.27) !important;
  border-radius: 0 !important;
  background: #0b0e0c !important;
  overflow: hidden !important;
}
.cart-compact .cart-picture img,
.cart-compact .cart-picture .cart-shot,
.cart-compact .cart-picture.is-set-photo .cart-shot {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.cart-compact .cart-compact-copy {
  grid-area: copy !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  align-self: start !important;
  padding: 14px 12px 0 13px !important;
  margin: 0 !important;
}
.cart-compact .cart-name {
  font-size: clamp(13px,3.6vw,17px) !important;
  line-height: 1.17 !important;
}
.cart-compact .cart-side {
  grid-area: actions !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-self: end !important;
  justify-self: stretch !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  flex-direction: row !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 3px 12px 11px 12px !important;
  gap: 0 !important;
}
.cart-compact .cart-qty,
.cart-compact .qty.cart-qty,
.cart-compact [data-qty-control] {
  flex: 0 0 auto !important;
  width: 110px !important;
  max-width: 100% !important;
  margin: 0 0 0 auto !important;
}
.cart-compact .delete-item{ display: none !important; }
@media(max-width:360px) {
  .cart-compact{grid-template-columns: 35% minmax(0,1fr) !important;height: 130px !important;min-height: 130px !important;}
  .cart-compact .cart-picture{padding: 7px !important;}
  .cart-compact .cart-compact-copy{padding: 10px 8px 0 10px !important;}
  .cart-compact .cart-side{padding: 2px 8px 8px 8px !important;}
  .cart-compact .cart-qty,.cart-compact .qty.cart-qty{width: 99px !important;}
}
@media(min-width:600px) {
  .cart-compact{grid-template-columns: min(34%,180px) minmax(0,1fr) !important;height: 145px !important;min-height: 145px !important;}
  .cart-compact .cart-compact-copy{padding-top:16px !important;}
  .cart-compact .cart-side{padding-bottom:14px !important;}
}

/* Unified header controls: exactly the product-detail action size and appearance. */
.sg-header .header-tools,
.sg-header .topbar,
.sg-header .cart-top{ overflow: visible !important; }
.sg-header .header-tools{
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.sg-header .sg-r4p1-profile,
.product-full .sg-r4-topbar .sg-r4-profile {
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 37px !important;
  height: 37px !important;
  min-width: 37px !important;
  min-height: 37px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(244,235,217,.25) !important;
  background: #0c100e !important;
  color: #f6f0e7 !important;
  text-decoration: none !important;
}
.sg-header .sg-r4p1-profile svg,
.product-full .sg-r4-topbar .sg-r4-profile svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  color: #f6f0e7 !important;
  stroke: currentColor !important;
}
.sg-header .sg-r4p1-cart,
.product-full .sg-r4-topbar .sg-r4-cart {
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 43px !important;
  min-width: 43px !important;
  height: 37px !important;
  min-height: 37px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(252,134,81,.55) !important;
  border-radius: 12px !important;
  background: #0c100e !important;
  color: #fc8651 !important;
  text-decoration: none !important;
}
.sg-header .sg-r4p1-cart > svg,
.product-full .sg-r4-topbar .sg-r4-cart > svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  stroke: currentColor !important;
}
.sg-header .sg-r4p1-cart > .count-badge,
.product-full .sg-r4-topbar .sg-r4-cart > .sg-r4-cart-count {
  box-sizing: border-box !important;
  position: absolute !important;
  display: grid !important;
  place-items: center !important;
  right: -5px !important;
  top: -6px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  min-width: 19px !important;
  height: 19px !important;
  padding: 0 4px !important;
  border: none !important;
  border-radius: 6px !important;
  background: #ff8246 !important;
  color: #1c0d06 !important;
  font: 700 12px/1 system-ui,sans-serif !important;
  box-shadow: none !important;
}
.sg-header .sg-r4p1-cart > .count-badge[hidden],
.product-full .sg-r4-topbar .sg-r4-cart > .sg-r4-cart-count[hidden]{display:none !important;}
@media(max-width:355px) {
  .sg-header .sg-r4p1-profile,.product-full .sg-r4-topbar .sg-r4-profile{width:34px !important;height:34px !important;min-width:34px !important;min-height:34px !important;}
  .sg-header .sg-r4p1-cart,.product-full .sg-r4-topbar .sg-r4-cart{width:38px !important;min-width:38px !important;height:34px !important;min-height:34px !important;}
  .sg-header .header-tools{gap: 3px !important;}
}

/* SG_Web 2.4.3-r4p2 — dark premium custom-set builder; isolated from main app. */
.sgcs-home-link{color:#ff9a68!important;text-decoration:none!important;cursor:pointer;white-space:nowrap}
.sgcs-menu-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;width:max-content;max-width:100%;padding:11px 14px;margin:16px 0 10px;color:#ff985a;background:#16120f;border:1px solid rgba(255,130,74,.56);border-radius:13px;font:600 13px/1.3 system-ui,Arial,sans-serif;cursor:pointer}
.sgcs-menu-cta span:last-child{font-size:19px}
body.sgcs-open{overflow:hidden!important;touch-action:none}
#sgcs-root{position:fixed;inset:0;z-index:2147480000;background:#080a08;color:#f5eee5;font:400 14px/1.4 system-ui,-apple-system,Roboto,Arial,sans-serif;color-scheme:dark;isolation:isolate;}
#sgcs-root *,#sgcs-root *::before,#sgcs-root *::after{box-sizing:border-box}
#sgcs-root button,#sgcs-root input{font:inherit}
#sgcs-root button{cursor:pointer;-webkit-tap-highlight-color:transparent}
#sgcs-root button:focus-visible,#sgcs-root input:focus-visible{outline:2px solid #ff874b;outline-offset:2px}
#sgcs-root .sgcs-modal{width:100%;height:100%;max-width:650px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;position:relative;background:#090c0a;box-shadow:0 0 80px rgba(0,0,0,.45);}
.sgcs-header{height:76px;min-height:76px;padding:11px 15px;display:flex;align-items:center;justify-content:space-between;gap:7px;border-bottom:1px solid rgba(238,232,220,.12);background:#0b0e0c;z-index:3}
.sgcs-icon-btn{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:50%;border:1px solid #454942;color:#f4ebdf;background:#111412;padding:8px}
.sgcs-icon-btn svg{width:19px;height:19px}
.sgcs-header-name{flex:1;text-align:center;min-width:0}
.sgcs-header-name>span{display:block;font-size:8px;letter-spacing:2.2px;color:#a8aba0;margin-bottom:3px}
.sgcs-header h1{margin:0!important;font:600 clamp(22px,5.3vw,29px)/1.08 Georgia,'Times New Roman',serif!important;color:#f5eee3;letter-spacing:-.5px}
.sgcs-header h1 span{color:#ff8246}
.sgcs-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 15px 24px;scrollbar-width:thin}
.sgcs-intro{margin:15px 0 11px;color:#b5b6aa;font-size:12px;line-height:1.55;text-align:center}
.sgcs-stage{position:relative;width:100%;max-width:480px;margin:0 auto}
.sgcs-tray{width:100%;aspect-ratio:1/.89;position:relative;isolation:isolate;overflow:hidden;border-radius:24px;background:radial-gradient(ellipse at 52% 34%,#1c1f1b 0%,#0b0d0b 43%,#080a08 73%);border:1px solid rgba(255,255,255,.08);}
.sgcs-tray-sheen{pointer-events:none;position:absolute;inset:11% 14% 12%;border-radius:24px;background:radial-gradient(ellipse at 37% 19%,rgba(255,255,255,.09),transparent 50%),linear-gradient(155deg,#191b18,#070909 68%);box-shadow:inset 0 0 0 1px #282a25, inset 0 14px 26px #0008,0 18px 34px #0008;transform:perspective(500px) rotateX(3deg);}
.sgcs-tray-ring{pointer-events:none;position:absolute;inset:8% 11% 9%;border:1px solid rgba(255,122,60,.10);border-radius:30px}
.sgcs-plate-lines{pointer-events:none;position:absolute;left:-18%;right:-18%;bottom:5%;height:35%;opacity:.42;background:repeating-radial-gradient(ellipse 70% 59% at 52% 142%,transparent 0 15px,rgba(250,104,55,.12) 16px,transparent 17px)}
.sgcs-tray-label{position:absolute;right:7%;top:6%;font-size:8px;letter-spacing:1.6px;color:#d6ad90;z-index:3}
.sgcs-roll-board{position:absolute;z-index:2;inset:16% 10% 14%;display:grid;grid-template-columns:repeat(var(--sgcs-cols),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:0 2px;align-content:center;justify-content:center;filter:drop-shadow(0 9px 6px #0006)}
.sgcs-roll-slot{min-height:0;min-width:0;display:grid;place-items:center;animation:sgcs-appear .27s ease both}
.sgcs-roll-slot img{display:block;object-fit:contain;max-width:110%;max-height:100%;width:100%;height:100%}
.sgcs-image-failed{opacity:.1}
@keyframes sgcs-appear{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
.sgcs-tray-empty{position:absolute;inset:17% 9% 15%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;font-size:14px;color:#d0c7bb;line-height:1.35}
.sgcs-tray-empty-mark{font:700 60px/.9 Georgia,serif;color:#ff8948;opacity:.5;margin-bottom:14px}.sgcs-tray-empty-mark span{color:#f5eddf}
.sgcs-tray-empty small{font-size:11px;color:#8c9189}
.sgcs-overview{margin-top:14px;padding:14px 15px 15px;background:#101310;border:1px solid #33382f;border-radius:16px}
.sgcs-overview-heading,.sgcs-overview-stat{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sgcs-overview-heading{font:600 20px/1.25 Georgia,'Times New Roman',serif;color:#f5eee4;margin-bottom:10px}
.sgcs-overview-heading button{display:flex;align-items:center;gap:4px;border:0;background:none;color:#afa99f;font:500 11px/1.2 system-ui,sans-serif;padding:0}
.sgcs-overview-heading button:disabled{opacity:.3;cursor:default}
.sgcs-overview-heading svg{width:14px;height:14px}
.sgcs-overview-stat{font-size:12px;color:#bfc0b7}
.sgcs-overview-stat strong{color:#ff874b;font-size:19px;font-weight:700;white-space:nowrap}
.sgcs-overview-items{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.sgcs-overview-items span{display:inline-block;padding:4px 7px;font-size:10px;color:#d8c6b8;background:#251b15;border:1px solid #46362c;border-radius:7px}
.sgcs-menu-heading{font:600 26px/1.2 Georgia,'Times New Roman',serif;margin:26px 0 12px;color:#f7f0e7}
.sgcs-search{display:flex;align-items:center;gap:10px;padding:0 12px;height:46px;border-radius:12px;border:1px solid #434840;background:#111412;margin:0 0 12px}
.sgcs-search>svg{width:20px;height:20px;flex:0 0 20px;color:#b0b4a8}
.sgcs-search input{width:100%;height:100%;min-width:0;flex:1;padding:0;margin:0;outline:none;border:0;background:transparent;color:#f5ece0;font-size:14px;border-radius:0}
.sgcs-search input::placeholder{color:#8c9289}
.sgcs-search button{flex:none;border:0;background:none;color:#b5b5ab;padding:5px;display:grid;place-items:center}
.sgcs-search button svg{width:16px;height:16px}
.sgcs-search button[hidden]{display:none}
.sgcs-filters{display:flex;gap:7px;overflow-x:auto;white-space:nowrap;padding:2px 0 11px;scrollbar-width:none}.sgcs-filters::-webkit-scrollbar{display:none}
.sgcs-filters button{background:#121612;border:1px solid #3a4038;padding:9px 12px;border-radius:10px;flex:none;color:#c9c6bc;font-size:12px}
.sgcs-filters button.active{background:#302017;border-color:#f67d42;color:#ffc4a2}
.sgcs-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:4px}
.sgcs-product{background:#0f120f;border:1px solid #30362f;border-radius:15px;overflow:hidden;min-width:0;display:flex;flex-direction:column;}
.sgcs-product.sgcs-picked{border-color:#bd653f}
.sgcs-product-picture{position:relative;display:grid;place-items:center;min-height:130px;aspect-ratio:1.12 / 1;background:radial-gradient(ellipse at 50% 76%,#181b17,#090b09 68%);cursor:pointer;outline-offset:-3px}
.sgcs-product-picture img{display:block;max-width:98%;max-height:98%;width:92%;height:92%;object-fit:contain}
.sgcs-product-quantity{position:absolute;right:6px;top:6px;padding:4px 6px;color:#ffb58e;font:600 10px/1.1 system-ui,sans-serif;border-radius:7px;background:#302019d9}
.sgcs-product-body{padding:8px 9px 10px;display:flex;flex-direction:column;flex:1;gap:5px}
.sgcs-product-name{font-size:13px;font-weight:600;color:#f0ece3;line-height:1.22;min-height:32px;overflow-wrap:anywhere}
.sgcs-product-meta{font-size:11px;color:#999f96}
.sgcs-product-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:auto}
.sgcs-product-bottom strong{font-size:15px;color:#ff8246;white-space:nowrap}
.sgcs-add-btn{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:9px;border:1px solid #ff7e48;color:#ff874b;background:#15100d;padding:5px}
.sgcs-add-btn svg{width:20px;height:20px}
.sgcs-qty{display:flex;align-items:center;justify-content:space-between;flex:none;width:86px;height:32px;border:1px solid #ba5e3c;border-radius:9px;color:#ff874b;background:#16110e}
.sgcs-qty button{display:grid;place-items:center;width:28px;height:30px;flex:0 0 28px;background:transparent;border:0;color:#ff874b;padding:6px}
.sgcs-qty svg{width:16px;height:16px}
.sgcs-qty span{font-size:12px;color:#f5f1e9;font-weight:600}
.sgcs-no-results{grid-column:1/-1;text-align:center;padding:24px 10px;color:#aaa9a0}
.sgcs-disclaimer{color:#959a90;font-size:11px;line-height:1.55;margin:21px 4px 18px;text-align:center}
.sgcs-footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 15px calc(12px + env(safe-area-inset-bottom));background:rgba(12,14,12,.96);border-top:1px solid #44443c;box-shadow:0 -14px 30px rgba(0,0,0,.45);z-index:4}
.sgcs-footer-details{display:flex;flex-direction:column;gap:3px;min-width:83px}
.sgcs-footer-details small{font-size:10px;color:#aaa99f}.sgcs-footer-details strong{font-size:20px;color:#ff8a50;white-space:nowrap}
.sgcs-footer button{flex:1;max-width:270px;display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:0;border-radius:12px;background:#ff8246;color:#1b100b;font-size:13px;font-weight:650;padding:7px 10px;white-space:nowrap}
.sgcs-footer button svg{width:19px;height:19px}
.sgcs-footer button:disabled{background:#45433e;color:#aaa9a3;cursor:not-allowed}
.sgcs-toast{position:fixed;z-index:2147481000;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,10px);opacity:0;transition:opacity .18s,transform .18s;pointer-events:none;max-width:calc(100vw - 30px);padding:11px 16px;border:1px solid #67513c;background:#24221d;color:#f4dfcc;border-radius:11px;text-align:center;font-size:12px;box-shadow:0 8px 30px #0008}
.sgcs-toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:550px){.sgcs-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sgcs-header{height:82px}.sgcs-stage{max-width:460px}.sgcs-product-picture{min-height:150px}}
@media(max-width:360px){.sgcs-scroll{padding-left:11px;padding-right:11px}.sgcs-header{padding:10px 11px}.sgcs-icon-btn{flex-basis:35px;width:35px;height:35px}.sgcs-header h1{font-size:21px}.sgcs-header-name>span{font-size:7px}.sgcs-tray-label{font-size:7px}.sgcs-products{gap:7px}.sgcs-product-picture{min-height:118px}.sgcs-product-body{padding:7px}.sgcs-product-name{font-size:12px}.sgcs-product-bottom strong{font-size:13px}.sgcs-qty{width:78px}.sgcs-qty button{width:25px;flex-basis:25px}.sgcs-footer-details{min-width:75px}.sgcs-footer-details strong{font-size:18px}.sgcs-footer button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.sgcs-roll-slot{animation:none}.sgcs-toast{transition:none}}

/* SG_Web 2.4.3-r4p3: marketing sections, mobile footer & local profile. */
:root{--sg-r4p3-bg:#090c09;--sg-r4p3-card:#111511;--sg-r4p3-line:#343932;--sg-r4p3-cream:#f5f0e7;--sg-r4p3-muted:#a7a69f;--sg-r4p3-accent:#ff793b}
.sg-r4p3-home-blocks,.sg-r4p3-footer,.sg-r4p3-account-scroll{font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--sg-r4p3-cream);box-sizing:border-box}
.sg-r4p3-home-blocks *,.sg-r4p3-footer *,.sg-r4p3-account-scroll *{box-sizing:border-box}
.sg-r4p3-home-blocks{padding:14px 15px 0;max-width:860px;margin:0 auto;width:100%;}
.sg-r4p3-set-card{border:1px solid #343a31;border-radius:19px;overflow:hidden;background:var(--sg-r4p3-card);margin:34px auto 70px;}
.sg-r4p3-set-photo{background:#050605;height:300px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.sg-r4p3-set-photo:before{content:'';position:absolute;inset:15% 10%;background:radial-gradient(ellipse,rgba(255,112,58,.07),transparent 67%);pointer-events:none}
.sg-r4p3-set-photo-grid{width:min(78%,430px);height:85%;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:center;justify-items:center}
.sg-r4p3-set-photo-grid img{display:block;width:100%;height:100%;max-height:128px;object-fit:contain;filter:drop-shadow(0 12px 11px #0008)}
.sg-r4p3-set-photo-grid img.sg-r4p3-img-failed{opacity:.12}
.sg-r4p3-set-text{padding:30px clamp(23px,6.5vw,48px) 32px;background:#111710}
.sg-r4p3-eyebrow{font-size:10px;letter-spacing:2px;font-weight:500;color:#9ea399}
.sg-r4p3-set-text h2{font:400 clamp(28px,8.5vw,48px)/1.16 system-ui,-apple-system,sans-serif;letter-spacing:-1.4px;margin:18px 0 25px}
.sg-r4p3-set-text h2 em{font-style:normal;color:var(--sg-r4p3-accent)}
.sg-r4p3-set-text p{font-size:14px;line-height:1.8;color:#a8a9a1;margin:0 0 24px}
.sg-r4p3-primary{display:flex;align-items:center;justify-content:center;gap:13px;min-height:53px;padding:12px 18px;border:0;border-radius:10px;background:#ff793b;color:#1b110c;text-decoration:none;font-size:15px;font-weight:600;cursor:pointer;max-width:100%;width:100%}
.sg-r4p3-primary svg{width:21px;height:21px;margin-left:4px}
.sg-r4p3-primary:focus-visible,.sg-r4p3-account-scroll button:focus-visible,.sg-r4p3-footer a:focus-visible{outline:2px solid #ffaa73;outline-offset:3px}
.sg-r4p3-primary:hover{background:#ff8e55}
.sg-r4p3-about{padding:0 0 62px}
.sg-r4p3-about h2{font:450 clamp(30px,8.8vw,55px)/1.17 system-ui,-apple-system,sans-serif;letter-spacing:-1.6px;margin:16px 0 23px}
.sg-r4p3-about-link{color:#e1dfd5;text-decoration:none;display:inline-block;border-bottom:1px solid #777a70;padding-bottom:10px;margin:0 0 29px;font-size:13px}
.sg-r4p3-benefits article{display:grid;grid-template-columns:28px 1fr;gap:12px;border-bottom:1px solid #323a33;padding:22px 0 21px}
.sg-r4p3-benefits article b{font-size:13px;font-weight:400;color:#ff8850;padding-top:4px}
.sg-r4p3-benefits h3{font-size:19px;font-weight:550;margin:0 0 12px;letter-spacing:-.5px}
.sg-r4p3-benefits p{font-size:13px;line-height:1.8;color:#a4a49d;margin:0}
.sg-r4p3-footer{background:#101410;border-top:1px solid #343a31;width:100%;padding:47px 15px calc(125px + env(safe-area-inset-bottom));margin-top:42px;clear:both}
.sg-r4p3-footer-inner{max-width:830px;margin:0 auto}
.sg-r4p3-brand{font-size:clamp(32px,8.5vw,44px);font-weight:450;letter-spacing:-2px;line-height:1.2}
.sg-r4p3-brand span{color:#ff7a40}
.sg-r4p3-footer-head p{margin:18px 0 38px;color:#a7a9a1;font-size:15px;line-height:1.75}
.sg-r4p3-footer-columns{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin:0 0 39px}
.sg-r4p3-footer-columns>div{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.sg-r4p3-footer-columns small{font-size:10px;letter-spacing:1.5px;color:#74796f;margin:0 0 5px}
.sg-r4p3-footer a{color:#cbc8c0;text-decoration:none;font-size:13px;line-height:1.3}
.sg-r4p3-footer a:hover{color:#ff8a4b}
.sg-r4p3-footer-contact{padding:25px 0;border-top:1px solid #333b32;border-bottom:1px solid #333b32}
.sg-r4p3-footer-contact>a{font-size:clamp(20px,6vw,26px);color:#f5f0e7}
.sg-r4p3-footer-contact>div{display:flex;gap:12px;justify-content:space-between;margin-top:26px;color:#aaa99e;font-size:13px}
.sg-r4p3-footer-legal{padding-top:23px;display:flex;gap:15px;justify-content:flex-start;flex-wrap:wrap;color:#777d74;font-size:10px}
.sg-r4p3-footer-legal a{color:#858b81;font-size:10px}
/* Overlay supplements the existing site's header/navigation; does not change the base SPA. */
#sg-r4p3-account{position:fixed;z-index:14;top:72px;left:0;right:0;bottom:0;background:var(--sg-r4p3-bg);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.sg-r4p3-account-scroll{min-height:100%;padding-bottom:8px}
.sg-r4p3-account-inner{max-width:820px;margin:0 auto;padding:20px 15px 10px}
.sg-r4p3-account-inner>h1{font-size:clamp(30px,9vw,52px);letter-spacing:-1.8px;font-weight:500;margin:9px 0 25px;line-height:1.15}
.sg-r4p3-account-inner>h1 span{color:#ff7d40}
.sg-r4p3-account-tabs{border:1px solid #343933;border-radius:15px;background:#121713;padding:22px 18px;margin-bottom:20px}
.sg-r4p3-account-topline{color:#a8aaa1;font-size:12px;margin-bottom:19px}
.sg-r4p3-tab-list{display:flex;gap:4px;flex-wrap:wrap}
.sg-r4p3-tab-list button,.sg-r4p3-extra-links button,.sg-r4p3-extra-links a{padding:10px 9px;border:0;border-radius:10px;background:transparent;color:#c2c4bb;text-decoration:none;font-size:12px;cursor:pointer}
.sg-r4p3-tab-list button.active{background:#1e251e;color:#fff}
.sg-r4p3-extra-links{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:12px}
.sg-r4p3-panel-stack{display:grid;gap:18px}
.sg-r4p3-panel{border:1px solid #343933;border-radius:16px;background:#141815;padding:22px 17px 24px;margin-bottom:18px}
.sg-r4p3-panel>h3{font-size:22px;font-weight:550;letter-spacing:-.7px;margin:0 0 23px}
.sg-r4p3-panel p{color:#a8a9a1;font-size:13px;line-height:1.7}
.sg-r4p3-panel form{display:grid;gap:15px}
.sg-r4p3-field{display:flex;flex-direction:column;gap:9px;color:#d3d3c9;font-size:13px;min-width:0}
.sg-r4p3-field input{display:block;border-radius:10px;border:1px solid #42483c;background:#0e120e;color:#f8f3ea;padding:0 13px;height:46px;width:100%;min-width:0;font:400 15px system-ui}
.sg-r4p3-field input:focus{outline:1px solid #fa894f;border-color:#fa894f}
.sg-r4p3-field input::placeholder{color:#626b60}
.sg-r4p3-fields-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sg-r4p3-fields-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sg-r4p3-help{margin:0;font-size:12px!important}
.sg-r4p3-muted{margin:5px 0 0}
.sg-r4p3-address{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #343c34;padding:15px 0}
.sg-r4p3-address>div{flex:1;min-width:0}
.sg-r4p3-address strong{font-size:15px;color:#f5f0e7}
.sg-r4p3-address p{margin:6px 0 0;word-break:break-word}
.sg-r4p3-address button{background:transparent;border:1px solid #454b42;border-radius:8px;color:#d7d5cb;width:33px;height:33px;display:grid;place-items:center;flex:0 0 33px;cursor:pointer}
.sg-r4p3-address button svg{width:16px;height:16px}
.sg-r4p3-empty{min-height:290px;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:38px 24px}
.sg-r4p3-empty-icon{color:#a6c292}.sg-r4p3-empty-icon svg{height:47px;width:47px}
.sg-r4p3-empty h3{font:600 clamp(20px,6vw,26px)/1.2 Georgia,serif;margin:22px 0 5px}
.sg-r4p3-empty p{margin:5px 0 24px}.sg-r4p3-empty .sg-r4p3-primary{max-width:250px}
.sg-r4p3-order{padding:13px 0;display:grid;grid-template-columns:1fr auto;gap:5px;border-top:1px solid #343a31}
.sg-r4p3-order span{color:#a0a59c;font-size:12px;grid-column:1;grid-row:2}
.sg-r4p3-order b{color:#ff874b;grid-column:2;grid-row:1 / 3;align-self:center;font-weight:500}
#sg-r4p3-info{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}
.sg-r4p3-info-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.73)}
.sg-r4p3-info-content{position:relative;width:min(92vw,470px);background:#141814;color:#f1eee8;border:1px solid #47463d;border-radius:17px;padding:27px;box-shadow:0 16px 70px #000a}
.sg-r4p3-info-content h2{font-size:23px;margin:0 0 18px}.sg-r4p3-info-content p{line-height:1.65;color:#b8b9b0}
.sg-r4p3-info-content a{color:#ff9155}.sg-r4p3-info-close{float:right;background:transparent;color:#fff;border:0;font-size:27px;cursor:pointer}
#sg-r4p3-toast{position:fixed;z-index:250;bottom:calc(108px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(25px);padding:12px 20px;max-width:90vw;border:1px solid #504b40;border-radius:11px;background:#171c17;color:#fff;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;font-size:13px}
#sg-r4p3-toast.active{opacity:1;transform:translateX(-50%)}
#sg-r4p3-account .sg-r4p3-footer{margin-top:34px}
/* Keep nav above account, but never hide footer's last links. */
body.sg-r4p3-profile-active .bottom-nav{z-index:35!important}
body.sg-r4p3-profile-active .sg-header{position:relative;z-index:35!important}
@media(min-width:650px){.sg-r4p3-set-card{display:grid;grid-template-columns:1fr 1fr}.sg-r4p3-set-photo{height:360px}.sg-r4p3-set-text{display:flex;flex-direction:column;justify-content:center}.sg-r4p3-set-text h2{font-size:37px}.sg-r4p3-home-blocks{padding:25px 24px}.sg-r4p3-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.sg-r4p3-benefits article{grid-template-columns:1fr;gap:6px}.sg-r4p3-footer{padding-left:28px;padding-right:28px}.sg-r4p3-account-inner{padding:25px 24px}.sg-r4p3-panel{padding:28px 32px}}
@media(max-width:350px){.sg-r4p3-set-text h2{font-size:26px}.sg-r4p3-tab-list button{font-size:11px;padding:9px 7px}.sg-r4p3-footer-columns{gap:14px}.sg-r4p3-footer a{font-size:12px}}

/* SG_Web r4p4 — responsive UX enhancements. No catalog/backend mutation. */
:root{--sg-r4p4-scale:1}
:root.sg-r4p4-compact{--sg-r4p4-scale:.85}
/* Compact toggle is part of top bars, but never scales with the page content. */
.sg-header .header-tools,.product-full .sg-r4-head-actions{display:flex;align-items:center;gap:6px}
.sg-r4p4-toggle{
  box-sizing:border-box;flex:0 0 auto;display:flex;gap:4px;align-items:center;justify-content:center;
  width:53px;height:32px;border:1px solid rgba(243,231,211,.25);border-radius:11px;
  background:#111511;color:#b9bcb3;padding:5px;cursor:pointer;touch-action:manipulation;
}
.sg-r4p4-toggle-symbol,.sg-r4p4-toggle-symbol svg{display:block;width:14px;height:14px;flex:0 0 14px}
.sg-r4p4-switch-track{position:relative;display:block;flex:0 0 19px;width:19px;height:11px;border-radius:11px;background:#3d4239;transition:background .15s}
.sg-r4p4-switch-thumb{position:absolute;top:2px;left:2px;width:7px;height:7px;background:#dfdfd8;border-radius:50%;transition:transform .15s}
.sg-r4p4-toggle[aria-checked="true"]{color:#ff874b;border-color:#af6342}
.sg-r4p4-toggle[aria-checked="true"] .sg-r4p4-switch-track{background:#ad5b37}
.sg-r4p4-toggle[aria-checked="true"] .sg-r4p4-switch-thumb{transform:translateX(8px);background:#fff2e9}
.sg-r4p4-toggle:focus-visible{outline:2px solid #ff874b;outline-offset:3px}
/* Keep nav entries the same on every screen; never scale them in compact mode. */
.bottom-nav .nav-item,.product-full .pd-nav .nav-item{min-width:0;white-space:nowrap;text-align:center}
.bottom-nav .nav-item svg,.product-full .pd-nav .nav-item svg{width:20px;height:20px;display:block;margin-inline:auto}
.bottom-nav .nav-item>span:not(.nav-count):not(.count-badge),.product-full .pd-nav .nav-item>span:not(.nav-count):not(.count-badge){font-size:10px}
/* Compact mode: reduce the CONTENT density, not top/bottom navigation. */
.sg-r4p4-compact .catalog-grid,.sg-r4p4-compact .product-grid,.sg-r4p4-compact .menu-grid,
.sg-r4p4-compact .pd-related-grid{gap:8px !important}
.sg-r4p4-compact .product-card,.sg-r4p4-compact .menu-card,.sg-r4p4-compact .roll-card,
.sg-r4p4-compact .cart-compact,.sg-r4p4-compact .mini-card{padding:calc(9px * var(--sg-r4p4-scale)) !important}
.sg-r4p4-compact .product-card h3,.sg-r4p4-compact .menu-card h3,.sg-r4p4-compact .roll-card h3,
.sg-r4p4-compact .cart-name{font-size:12px !important;line-height:1.24 !important}
.sg-r4p4-compact .catalog-grid .product-photo,.sg-r4p4-compact .menu-grid .product-photo{max-height:148px !important}
.sg-r4p4-compact .cart-compact{height:105px !important;min-height:105px !important;max-height:105px !important}
.sg-r4p4-compact .cart-compact .cart-picture{height:88px !important}
.sg-r4p4-compact .cart-compact .cart-price{font-size:14px !important}
.sg-r4p4-compact .cart-compact .cart-meta{font-size:10px !important}
.sg-r4p4-compact .sg-r4p3-set-photo{height:240px !important}
.sg-r4p4-compact .sg-r4p3-set-text{padding:21px !important}
.sg-r4p4-compact .sg-r4p3-set-text h2{font-size:clamp(26px,6vw,37px) !important;margin:13px 0 17px !important}
.sg-r4p4-compact .sg-r4p3-set-text p{font-size:12px !important;line-height:1.5 !important}
.sg-r4p4-compact .sg-r4p3-benefits article{padding:14px 0 !important}
.sg-r4p4-compact .sg-r4p3-panel{padding:16px !important}
.sg-r4p4-compact .sg-r4p3-panel h3{font-size:19px !important}
.sg-r4p4-compact .sg-r4p3-footer{padding-top:29px !important}
.sg-r4p4-compact .product-full .pd-body{font-size:90% !important}
.sg-r4p4-compact .product-full .pd-photo-frame{max-height:330px !important}
.sg-r4p4-compact .sgcs-product-picture{min-height:105px !important}
.sg-r4p4-compact .sgcs-product-body{padding:7px !important}
.sg-r4p4-compact .sgcs-product-name{font-size:12px !important}
.sg-r4p4-compact .sgcs-product-bottom strong{font-size:13px !important}
@media(max-width:380px){
  .sg-header .header-tools{gap:3px !important}
  .sg-header .brand-word{font-size:clamp(17px,5vw,23px) !important}
  .sg-r4p4-toggle{width:40px;height:29px;padding:3px;gap:2px}
  .sg-r4p4-toggle-symbol,.sg-r4p4-toggle-symbol svg{width:12px;height:12px;flex-basis:12px}
  .sg-r4p4-switch-track{width:17px;flex-basis:17px}
  .sg-r4p4-toggle[aria-checked="true"] .sg-r4p4-switch-thumb{transform:translateX(6px)}
  .product-full .sg-r4-head-actions{gap:3px !important;right:6px !important}
}
/* Set-for-company banners: preserve full sushi photography. */
.sg-r4p4-party{overflow:hidden !important;min-width:0 !important}
.sg-r4p4-party img{display:block;max-width:100% !important;height:auto !important;max-height:100% !important;object-fit:contain !important;object-position:center !important}
.sg-r4p4-party [style*="background-image"]{background-size:contain !important;background-repeat:no-repeat !important;background-position:center !important}
/* Marketing card imagery must not be cropped on desktop. */
.sg-r4p3-set-photo-grid{min-width:0;max-width:100%}
.sg-r4p3-set-photo-grid img{object-fit:contain !important;min-width:0}
@media(min-width:900px){
  /* Product modal is a genuinely wide desktop view rather than 390px enlarged. */
  .product-full{width:min(96vw,1300px) !important;max-width:1300px !important;left:50% !important;right:auto !important;transform:translateX(-50%) !important}
  .product-full .pd-scroll{
    display:grid !important;grid-template-columns:minmax(0,49%) minmax(0,51%) !important;
    gap:0 30px !important;align-content:start !important;align-items:start !important;
    box-sizing:border-box !important;width:100% !important;max-width:1180px !important;
    padding:24px 28px 140px !important;margin:0 auto !important;overflow-y:auto !important;
  }
  .product-full .pd-hero{
    grid-column:1 !important;grid-row:1 !important;position:sticky !important;top:20px !important;
    width:100% !important;max-width:none !important;align-self:start !important;
  }
  .product-full .pd-photo-frame{width:100% !important;max-width:570px !important;max-height:570px !important;aspect-ratio:1/1 !important;overflow:hidden !important;margin:0 auto !important}
  .product-full .pd-photo-frame img{display:block;max-width:100%;max-height:100%;object-fit:contain !important}
  .product-full .pd-photo-frame.is-set-detail img{object-fit:contain !important}
  .product-full .pd-body{grid-column:2 !important;grid-row:1 !important;min-width:0 !important;width:100% !important;max-width:none !important;padding:35px 10px 35px !important}
  .product-full .sg-r4-title{font-size:clamp(33px,3.7vw,56px) !important;margin-top:0 !important;overflow-wrap:break-word !important}
  .product-full .pd-related-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;min-width:0 !important}
  .product-full .pd-related-grid>*,.product-full .pd-related-grid img{min-width:0 !important;max-width:100% !important}
  .product-full .sg-r4p3-footer{grid-column:1/-1 !important;max-width:none !important}
  .sg-r4p3-home-blocks{max-width:1160px !important}
  .sg-r4p3-set-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;align-items:stretch !important}
  .sg-r4p3-set-photo{height:auto !important;min-height:360px !important;overflow:hidden !important}
  .sg-r4p3-set-photo-grid{width:min(94%,560px) !important;max-height:420px !important;height:100% !important}
  .sg-r4p3-set-photo-grid img{width:100% !important;height:100% !important;max-height:190px !important;object-fit:contain !important}
  .sg-r4p3-set-text{min-width:0 !important}
  .sg-r4p3-set-text h2{font-size:clamp(28px,3.2vw,48px) !important;overflow-wrap:break-word !important}
  /* Builder: sticky tray left, selectable catalog right. */
  #sgcs-root .sgcs-modal{width:min(96vw,1260px) !important;max-width:1260px !important;height:min(94vh,940px) !important;border:1px solid #3b3c33 !important;border-radius:21px !important}
  #sgcs-root .sgcs-scroll{display:grid !important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;gap:22px !important;align-items:start !important;padding:20px 25px !important}
  #sgcs-root .sgcs-r4p4-left{position:sticky !important;top:0;min-width:0 !important;display:flex !important;flex-direction:column !important;gap:15px !important}
  #sgcs-root .sgcs-r4p4-right{min-width:0 !important;display:flex !important;flex-direction:column !important;gap:0 !important}
  #sgcs-root .sgcs-tray{aspect-ratio:1/.95 !important}
  #sgcs-root .sgcs-stage{width:100% !important;max-width:none !important}
  #sgcs-root .sgcs-products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:11px !important}
  #sgcs-root .sgcs-product{min-width:0 !important}
  #sgcs-root .sgcs-product-picture{aspect-ratio:1.1 !important;min-height:112px !important;overflow:hidden !important}
  #sgcs-root .sgcs-product-picture img{width:95% !important;height:95% !important;object-fit:contain !important}
  #sgcs-root .sgcs-footer{padding:12px 30px !important}
  #sgcs-root .sg-r4p3-footer{grid-column:1/-1;min-width:0}
  .sg-r4p4-compact #sgcs-root .sgcs-products{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
/* Mobile: wrappers do not change the original vertical order of the set builder. */
@media(max-width:899.98px){
  #sgcs-root .sgcs-r4p4-left,#sgcs-root .sgcs-r4p4-right{display:contents !important}
  #sgcs-root .sgcs-modal{width:100% !important;max-width:650px !important}
  .product-full{transform:none !important}
}
@media(prefers-reduced-motion:reduce){.sg-r4p4-toggle *, .sg-r4p4-switch-track{transition:none !important}}

/* SushiGusto SG_Web 2.4.3-r4p5 — desktop geometry and compact-density repair.
   Intentionally loaded AFTER sg-r4p4.css. Retains catalogue, photos, state and order logic. */

/* Layout containment: shrink from inside instead of cutting visual content off. */
:root,body {max-width:100%;}
.site, .sg-r4p3-home-blocks, .sg-r4p3-set-card, .sg-r4p4-party,
.product-full, .product-full .pd-scroll, #sgcs-root .sgcs-scroll{
  box-sizing:border-box;
}
.sg-r4p3-set-card,.sg-r4p4-party,.sg-r4p3-set-photo,.sg-r4p3-set-text {min-width:0;}
.sg-r4p4-party {max-width:100%;overflow:hidden!important;}
.sg-r4p4-party img {max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;}
.sg-r4p4-party [style*="background-image"] {background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;}
.sg-r4p3-set-photo-grid {width:min(88%,480px)!important;max-width:100%!important;grid-auto-rows:minmax(0,1fr)!important;}
.sg-r4p3-set-photo-grid img {width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;}

/* Compact is an alternate DENSITY system, not CSS transform/zoom. No header/nav changes. */
.sg-r4p4-compact :is(.catalog-grid,.product-grid,.menu-grid,.pd-related-grid) {gap:9px!important;}
.sg-r4p4-compact :is(.product-card,.menu-card,.roll-card){
  box-sizing:border-box!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  padding:9px!important;gap:5px!important;
  grid-template-rows:auto!important;
}
.sg-r4p4-compact :is(.product-card,.menu-card,.roll-card) :is(.photo,.product-photo,.product-img,.card-photo,.roll-photo,.menu-photo,.product-image){
  box-sizing:border-box!important;
  max-height:150px!important;min-height:0!important;
  aspect-ratio:1.55/1!important;
  overflow:hidden!important;
}
.sg-r4p4-compact :is(.product-card,.menu-card,.roll-card) :is(.photo,.product-photo,.product-img,.card-photo,.roll-photo,.menu-photo,.product-image) img{
  width:100%!important;height:100%!important;object-fit:contain!important;
}
.sg-r4p4-compact :is(.product-card,.menu-card,.roll-card) :is(h3,h4,.product-name,.card-name){
  font-size:clamp(12px,1.6vw,15px)!important;line-height:1.22!important;
  min-height:0!important;margin-block:3px!important;
}
.sg-r4p4-compact :is(.product-card,.menu-card,.roll-card) :is(.card-desc,.product-description,.description,.ingredients){
  display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;
  overflow:hidden!important;font-size:11px!important;line-height:1.32!important;margin:3px 0!important;
}
.sg-r4p4-compact :is(.product-card,.menu-card,.roll-card) :is(.meta,.card-meta,.product-meta){font-size:11px!important;margin:4px 0!important;}
.sg-r4p4-compact .sg-r4p3-set-photo {height:220px!important;min-height:0!important;}
.sg-r4p4-compact .sg-r4p3-set-photo-grid {height:88%!important;}
.sg-r4p4-compact .sg-r4p3-set-text {padding:18px!important;}
.sg-r4p4-compact .sg-r4p3-set-text h2 {font-size:clamp(26px,3vw,36px)!important;margin:9px 0!important;line-height:1.15!important;}
.sg-r4p4-compact .sg-r4p3-set-text p {font-size:12px!important;line-height:1.48!important;margin:0 0 12px!important;}
.sg-r4p4-compact .sg-r4p3-benefits article {padding:12px 0!important;}
.sg-r4p4-compact .sg-r4p3-panel {padding:16px!important;}
/* Do NOT force 105px cart height while its 3 columns remain 124px high. */
.sg-r4p4-compact .cart-compact {
  box-sizing:border-box!important;height:116px!important;min-height:116px!important;
  max-height:none!important;padding:8px!important;
  grid-template-rows:1fr!important;align-items:center!important;
}
.sg-r4p4-compact .cart-compact :is(.cart-picture,.cart-picture.is-set-photo) {
  width:100%!important;height:98px!important;min-height:0!important;
  max-height:98px!important;align-self:center!important;
}
.sg-r4p4-compact .cart-compact .cart-picture img {width:100%!important;height:100%!important;object-fit:contain!important;}
.sg-r4p4-compact .cart-compact .cart-compact-copy {padding:0!important;min-width:0!important;}
.sg-r4p4-compact .cart-compact .cart-name {font-size:13px!important;line-height:1.18!important;}
.sg-r4p4-compact .cart-compact .cart-price {font-size:15px!important;}
.sg-r4p4-compact .cart-compact .cart-side {height:auto!important;align-self:center!important;padding:0!important;}
.sg-r4p4-compact .cart-compact .cart-qty {height:35px!important;max-width:106px!important;}
.sg-r4p4-compact .product-full .pd-body {font-size:100%!important;}
.sg-r4p4-compact .product-full .sg-r4-title {font-size:clamp(32px,4vw,43px)!important;}
.sg-r4p4-compact .product-full .pd-photo-frame {max-height:none!important;}
.sg-r4p4-compact #sgcs-root .sgcs-product-picture {min-height:0!important;aspect-ratio:1.45!important;}
.sg-r4p4-compact #sgcs-root .sgcs-product-body {padding:8px!important;}

@media (min-width:900px){
  /* Absolute 50%-centering + inherited transforms made the modal appear on the right. */
  .product-full, .modal-panel.product-full {
    position:fixed!important;inset:0!important;
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    transform:none!important;translate:none!important;
    width:100vw!important;max-width:none!important;height:100dvh!important;
    max-height:none!important;margin:0!important;
    overflow:hidden!important;border-radius:0!important;
    background:#090c09!important;z-index:1000!important;
    display:flex!important;flex-direction:column!important;
  }
  .product-full .pd-topbar {flex:0 0 auto!important;width:100%!important;max-width:none!important;min-height:64px!important;}
  .product-full .pd-scroll {
    box-sizing:border-box!important;flex:1 1 auto!important;min-height:0!important;
    width:100%!important;max-width:1230px!important;margin:0 auto!important;
    padding:28px 34px 135px!important;overflow-x:hidden!important;overflow-y:auto!important;
    display:grid!important;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)!important;
    grid-auto-rows:min-content!important;align-content:start!important;align-items:start!important;
    column-gap:clamp(25px,3vw,56px)!important;row-gap:0!important;
  }
  .product-full .pd-hero {
    position:sticky!important;top:0!important;grid-area:1/1!important;
    align-self:start!important;min-width:0!important;max-width:none!important;
    width:100%!important;height:auto!important;min-height:0!important;
    margin:0!important;overflow:visible!important;
  }
  .product-full .pd-photo-frame, .product-full .pd-photo-frame.plated-detail{
    width:100%!important;max-width:100%!important;height:auto!important;
    min-height:0!important;max-height:550px!important;aspect-ratio:1/1!important;
    margin:0!important;overflow:hidden!important;
  }
  .product-full .pd-photo-frame img,.product-full .pd-photo-frame.is-set-detail img{
    max-width:100%!important;max-height:100%!important;object-fit:contain!important;
  }
  .product-full .pd-body {
    grid-area:1/2!important;box-sizing:border-box!important;
    width:100%!important;max-width:none!important;min-width:0!important;
    padding:14px 0 30px!important;margin:0!important;
  }
  .product-full .sg-r4-title {font-size:clamp(32px,3.5vw,52px)!important;margin:0 0 16px!important;max-width:100%!important;overflow-wrap:break-word!important;}
  .product-full .pd-related-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:11px!important;}
  .product-full .pd-related-grid>* {min-width:0!important;max-width:100%!important;}
  .product-full .pd-related-grid img {max-width:100%!important;object-fit:contain!important;}
  .product-full .sg-r4p3-footer {grid-column:1/-1!important;width:100%!important;max-width:none!important;}
  .product-full .pd-bottom-back {grid-column:1/-1!important;}
  /* Set-for-company CTA: image and text each own the available width. */
  .sg-r4p4-party {min-height:270px!important;max-height:none!important;}
  .sg-r4p4-party img {width:auto!important;max-width:100%!important;height:auto!important;max-height:100%!important;object-fit:contain!important;}
  .sg-r4p3-home-blocks {max-width:1200px!important;}
  .sg-r4p3-set-card {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;}
  .sg-r4p3-set-photo {height:100%!important;min-height:340px!important;max-height:none!important;overflow:hidden!important;}
  .sg-r4p3-set-photo-grid {height:85%!important;max-height:450px!important;min-width:0!important;}
  .sg-r4p3-set-photo-grid img {max-height:100%!important;object-fit:contain!important;}
  .sg-r4p3-set-text {min-width:0!important;padding:35px!important;}
  /* Set builder uses full viewport height, not a 940px fixed-height island. */
  #sgcs-root {position:fixed!important;inset:0!important;overflow:hidden!important;}
  #sgcs-root .sgcs-modal {
    position:relative!important;width:min(96vw,1400px)!important;max-width:1400px!important;
    height:calc(100dvh - 30px)!important;max-height:none!important;
    margin:15px auto!important;overflow:hidden!important;
    border-radius:20px!important;
  }
  #sgcs-root .sgcs-scroll {
    display:grid!important;grid-template-columns:minmax(0, .93fr) minmax(0, 1.07fr)!important;
    width:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;
    align-items:start!important;align-content:start!important;
    gap:24px!important;padding:22px 25px 35px!important;
  }
  #sgcs-root .sgcs-r4p4-left, #sgcs-root .sgcs-r4p4-right {min-width:0!important;max-width:100%!important;}
  #sgcs-root .sgcs-r4p4-left {position:sticky!important;top:0!important;}
  #sgcs-root .sgcs-stage {width:100%!important;max-width:100%!important;}
  #sgcs-root .sgcs-tray {max-width:100%!important;aspect-ratio:1/.9!important;}
  #sgcs-root .sgcs-products {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
  #sgcs-root .sgcs-product {min-width:0!important;}
  #sgcs-root .sgcs-product-picture {aspect-ratio:1.3!important;height:auto!important;min-height:0!important;}
  #sgcs-root .sgcs-product-picture img {max-width:100%!important;max-height:100%!important;object-fit:contain!important;}
  #sgcs-root .sgcs-footer {flex:0 0 auto!important;}
  .sg-r4p4-compact #sgcs-root .sgcs-products {grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .sg-r4p4-compact :is(.catalog-grid,.product-grid,.menu-grid) {grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (min-width:1250px){
  .sg-r4p4-compact :is(.catalog-grid,.product-grid,.menu-grid){grid-template-columns:repeat(5,minmax(0,1fr))!important;}
}
@media (min-width:900px) and (max-width:1090px){
  .product-full .pd-scroll {padding:20px 22px 120px!important;column-gap:23px!important;}
  #sgcs-root .sgcs-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .sg-r4p4-compact #sgcs-root .sgcs-products {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:899.98px){
  /* Mobile stays edge-to-edge; do not inherit desktop centering rules. */
  .product-full {left:0!important;right:0!important;transform:none!important;max-width:100vw!important;}
  #sgcs-root .sgcs-modal {margin:0 auto!important;width:100%!important;max-width:650px!important;height:100%!important;}
  #sgcs-root .sgcs-scroll {display:block!important;overflow-y:auto!important;}
  #sgcs-root .sgcs-r4p4-left, #sgcs-root .sgcs-r4p4-right {display:contents!important;}
}
@media (max-width:380px){
  .sg-r4p4-compact .cart-compact {height:111px!important;min-height:111px!important;}
  .sg-r4p4-compact .cart-compact :is(.cart-picture,.cart-picture.is-set-photo){height:95px!important;max-height:95px!important;}
}

/* Desktop navigation remains a compact floating panel rather than full-width mobile strip. */
@media (min-width:900px){
  nav.bottom-nav, .product-full nav.pd-nav {
    position:fixed!important;bottom:14px!important;left:50%!important;right:auto!important;
    width:min(520px, calc(100vw - 34px))!important;max-width:520px!important;
    margin:0!important;transform:translateX(-50%)!important;
  }
  .product-full nav.pd-nav {z-index:1002!important;}
  #sg-r4p3-account {max-width:100%!important;}
}

/* SG_Web r4p6 — consistent 3 density states; genuine compact cart cards;
   responsive company-set sections and landscape builder. Load AFTER r4p5. */

/* Three readable density states. Header and floating navigation remain unchanged. */
.sg-r4p4-toggle.sg-r4p6-toggle {
  width:66px!important;min-width:66px!important;height:33px!important;
  padding:5px 6px!important;gap:5px!important;justify-content:center!important;
}
.sg-r4p6-toggle .sg-r4p4-toggle-symbol,
.sg-r4p6-toggle .sg-r4p4-toggle-symbol svg{width:14px!important;height:14px!important;flex:0 0 14px!important}
.sg-r4p6-three-track{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:3px;min-width:26px}
.sg-r4p6-three-track i{width:7px;height:7px;border-radius:3px;border:1px solid #8b9085;background:#343a35;display:block;transition:background .16s}
.sg-r4p6-toggle[data-sg-density="0"]{border-color:#565b52!important;color:#b9bcb3!important;background:#111511!important}
.sg-r4p6-toggle[data-sg-density="1"]{border-color:#b46a46!important;color:#ff874b!important;background:#251710!important}
.sg-r4p6-toggle[data-sg-density="2"]{border-color:#ff874b!important;color:#ff874b!important;background:#382016!important}
.sg-r4p6-toggle .sg-r4p6-three-track i.selected{background:#ff874b;border-color:#ff9b63;box-shadow:0 0 5px #ff874b66}
@media(max-width:390px){
  .sg-r4p4-toggle.sg-r4p6-toggle{width:57px!important;min-width:57px!important;height:30px!important;padding:4px!important;gap:3px!important}
  .sg-r4p6-three-track{gap:2px;min-width:22px}
  .sg-r4p6-three-track i{width:6px;height:6px}
}

/* Third mode: force exactly 3 columns for roll and set positions,
   regardless of the desktop rules from r4p4/r4p5. */
html.sg-r4p6-three .sg-r4p6-catalog-grid,
html.sg-r4p6-three :is(.catalog-grid,.product-grid,.menu-grid,.products-grid,.rolls-grid,.catalog-items,.menu-products){
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  align-items:stretch!important;
  max-width:100%!important;
  min-width:0!important;
}
html.sg-r4p6-three .sg-r4p6-catalog-grid > *{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.product-card,.menu-card,.roll-card,.catalog-card,.food-card){padding:6px!important;min-width:0!important;height:auto!important}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.product-name,.card-name,h3,h4){font-size:11px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.product-photo,.card-photo,.roll-photo,.product-img,.product-image,.photo,.card-image){height:auto!important;max-height:110px!important;min-height:0!important;aspect-ratio:1.15!important;object-fit:contain!important;overflow:hidden!important}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.product-photo,.card-photo,.roll-photo,.product-img,.product-image,.photo,.card-image) img{width:100%!important;height:100%!important;object-fit:contain!important}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.card-desc,.product-description,.description,.ingredients){font-size:10px!important;line-height:1.25!important;-webkit-line-clamp:2!important;overflow:hidden!important}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.cart-qty,.qty,[data-qty-control]){max-width:100%!important}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.cart-qty,.qty,[data-qty-control]) button{min-width:22px!important;padding:1px!important}
@media(min-width:900px){html.sg-r4p6-three :is(.catalog-grid,.product-grid,.menu-grid,.sg-r4p6-catalog-grid,.products-grid,.rolls-grid,.catalog-items,.menu-products){grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Compact cart: apply density to the entire card, not only its children.
   The photo spans both rows; the name, price and controls fit beside it. */
html.sg-r4p4-compact :is(#cart-items-host .cart-compact,.cart-page .cart-compact,#cart .cart-compact,.cart-compact){
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-areas:'photo copy' 'photo actions'!important;
  grid-template-columns:32% minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-items:stretch!important;
  column-gap:0!important;row-gap:0!important;
  height:112px!important;min-height:112px!important;max-height:112px!important;
  width:100%!important;padding:0!important;margin:0 0 10px!important;
  overflow:hidden!important;border-radius:15px!important;
}
html.sg-r4p4-compact .cart-compact :is(.cart-picture,.cart-picture.is-set-photo){
  box-sizing:border-box!important;grid-area:photo!important;
  align-self:stretch!important;justify-self:stretch!important;
  min-width:0!important;width:100%!important;
  height:100%!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:5px!important;
  border:0!important;border-right:1px solid #383c35!important;
  border-radius:0!important;aspect-ratio:auto!important;
  overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
html.sg-r4p4-compact .cart-compact .cart-picture :is(img,.cart-shot){
  width:100%!important;height:100%!important;min-height:0!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;
}
html.sg-r4p4-compact .cart-compact .cart-compact-copy{
  grid-area:copy!important;box-sizing:border-box!important;align-self:start!important;
  justify-self:stretch!important;min-width:0!important;
  width:100%!important;padding:9px 10px 0!important;margin:0!important;
}
html.sg-r4p4-compact .cart-compact .cart-name{font-size:12px!important;line-height:1.17!important;margin:0 0 3px!important;overflow-wrap:anywhere!important}
html.sg-r4p4-compact .cart-compact .cart-meta{font-size:10px!important;line-height:1.15!important;margin:3px 0!important}
html.sg-r4p4-compact .cart-compact .cart-price{font-size:13px!important;line-height:1.1!important;margin:3px 0!important}
html.sg-r4p4-compact .cart-compact .cart-side{
  grid-area:actions!important;box-sizing:border-box!important;
  display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:flex-end!important;
  align-self:end!important;justify-self:stretch!important;
  min-width:0!important;width:100%!important;
  height:auto!important;padding:0 10px 9px!important;margin:0!important;
}
html.sg-r4p4-compact .cart-compact :is(.cart-qty,.qty.cart-qty,[data-qty-control]){
  flex:0 0 auto!important;margin:0!important;
  width:98px!important;max-width:100%!important;height:31px!important;min-height:31px!important;
  box-sizing:border-box!important;
}
html.sg-r4p4-compact .cart-compact :is(.cart-qty,.qty.cart-qty,[data-qty-control]) button{
  min-width:28px!important;height:29px!important;padding:3px!important;
}
@media(max-width:360px){
 html.sg-r4p4-compact .cart-compact{grid-template-columns:33% minmax(0,1fr)!important;height:106px!important;min-height:106px!important;max-height:106px!important}
 html.sg-r4p4-compact .cart-compact .cart-compact-copy{padding:7px 7px 0!important}
 html.sg-r4p4-compact .cart-compact .cart-side{padding:0 7px 6px!important}
 html.sg-r4p4-compact .cart-compact .cart-name{font-size:11px!important}
}
@media(min-width:700px){
 html.sg-r4p4-compact .cart-compact{grid-template-columns:min(30%,160px) minmax(0,1fr)!important;height:120px!important;min-height:120px!important;max-height:120px!important}
}

/* Sets promo in ordinary browser, desktop viewport and desktop-mode portrait.
   These must be self-contained, not an overflowing image stack. */
.sg-r4p4-party,.sg-r4p3-set-card{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;}
.sg-r4p4-party :is(img,svg,picture),.sg-r4p3-set-card img{max-width:100%!important;object-fit:contain!important;object-position:center!important;}
.sg-r4p3-set-photo-grid{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;}
.sg-r4p4-party [style*="background-image"]{background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;}
@media(min-width:650px){
 .sg-r4p3-set-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:stretch!important}
 .sg-r4p3-set-photo{height:auto!important;min-height:0!important;max-height:none!important;display:grid!important;place-items:center!important;overflow:hidden!important;padding:16px!important}
 .sg-r4p3-set-photo-grid{height:auto!important;max-height:none!important;width:min(100%,480px)!important;aspect-ratio:1.35/1!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .sg-r4p3-set-photo-grid img{height:100%!important;max-height:100%!important;width:100%!important;object-fit:contain!important}
 .sg-r4p3-set-text{min-width:0!important;height:auto!important;padding:clamp(20px,2.8vw,40px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
 .sg-r4p3-set-card img{transform:none!important}
}
@media(min-width:900px){
 .sg-r4p4-party{height:auto!important;max-height:none!important;overflow:hidden!important}
 .sg-r4p4-party img{height:auto!important;max-height:100%!important;object-fit:contain!important}
 .sg-r4p4-party > div{min-width:0!important;max-width:100%!important}
}
@media(min-width:900px) and (max-height:600px){
 .sg-r4p3-set-card{min-height:200px!important}
 .sg-r4p3-set-photo{padding:10px!important}
 .sg-r4p3-set-photo-grid{aspect-ratio:1.7/1!important;max-height:230px!important}
 .sg-r4p3-set-text{padding:18px 25px!important}
 .sg-r4p3-set-text h2{font-size:clamp(26px,3vw,35px)!important;margin:8px 0!important}
 .sg-r4p3-set-text p{line-height:1.45!important;margin-bottom:10px!important}
}

/* Builder in short desktop landscape: full height, independently scrollable panes.
   This prevents the main catalog from appearing cut off below the footer. */
@media(min-width:900px) and (max-height:650px){
 #sgcs-root{position:fixed!important;inset:0!important;overflow:hidden!important}
 #sgcs-root .sgcs-modal{
   width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;
   margin:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;
 }
 #sgcs-root .sgcs-header{height:51px!important;min-height:51px!important;flex:0 0 51px!important;padding:6px 16px!important}
 #sgcs-root .sgcs-header h1{font-size:24px!important}
 #sgcs-root .sgcs-footer{min-height:54px!important;padding:7px 20px calc(7px + env(safe-area-inset-bottom))!important;flex:0 0 auto!important}
 #sgcs-root .sgcs-footer button{min-height:36px!important}
 #sgcs-root .sgcs-scroll{
   flex:1 1 0!important;height:auto!important;min-height:0!important;width:100%!important;
   display:grid!important;grid-template-columns:minmax(0, .9fr) minmax(0,1.1fr)!important;
   grid-template-rows:minmax(0,1fr)!important;
   column-gap:15px!important;padding:9px 13px!important;
   overflow:hidden!important;align-content:stretch!important;align-items:stretch!important;
 }
 #sgcs-root .sgcs-r4p4-left,#sgcs-root .sgcs-r4p4-right{
   min-height:0!important;max-height:100%!important;height:100%!important;min-width:0!important;
   overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;
   position:static!important;top:auto!important;scrollbar-width:thin;
 }
 #sgcs-root .sgcs-r4p4-left{display:flex!important;flex-direction:column!important;gap:8px!important}
 #sgcs-root .sgcs-r4p4-right{display:flex!important;flex-direction:column!important;gap:0!important}
 #sgcs-root .sgcs-intro{font-size:11px!important;margin:0 0 2px!important}
 #sgcs-root .sgcs-menu-heading{font-size:19px!important;margin:0 0 8px!important}
 #sgcs-root .sgcs-search{height:36px!important;min-height:36px!important;margin-bottom:7px!important}
 #sgcs-root .sgcs-filters{padding-bottom:6px!important}
 #sgcs-root .sgcs-filters button{padding:6px 8px!important}
 #sgcs-root .sgcs-stage{flex:0 0 auto!important;width:100%!important;max-width:100%!important}
 #sgcs-root .sgcs-tray{aspect-ratio:1.75/1!important;height:auto!important;max-height:240px!important}
 #sgcs-root .sgcs-overview{margin-top:2px!important;padding:8px 12px!important}
 #sgcs-root .sgcs-products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
 #sgcs-root .sgcs-product-picture{min-height:0!important;aspect-ratio:1.5/1!important}
 #sgcs-root .sgcs-product-body{padding:6px!important}
 #sgcs-root .sgcs-product-name{font-size:11px!important;min-height:0!important}
 #sgcs-root .sgcs-product-bottom strong{font-size:12px!important}
 #sgcs-root .sgcs-disclaimer{margin:12px 4px!important}
}
@media(prefers-reduced-motion:reduce){.sg-r4p6-three-track i{transition:none!important}}
/* The sitewide informational footer is injected into the builder scroll by an
   earlier enhancement. In landscape its intrinsic 700px height collapses the
   grid's working row to ZERO. Keep footer on normal pages, not inside the dialog. */
#sgcs-root .sgcs-scroll > .sg-r4p3-footer{display:none!important}

/* SG_Web 2.4.3-r4p7 — scoped density, three-column actions, and contained party art.
   Load after sg-r4p6.css. Header/nav dimensions and base SPA are unchanged. */

/* Three-column catalogue: compact cards without ingredient summaries. */
html.sg-r4p6-three .sg-r4p6-catalog-grid .sg-r4p7-description,
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.card-desc,.card-description,.product-description,.product-desc,.roll-description,.menu-description,.ingredients,.description,.product-ingredients){
  display:none!important;
  visibility:hidden!important;
}
html.sg-r4p6-three .sg-r4p6-catalog-grid > *{min-width:0!important;overflow:hidden!important}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.sg-r4p7-price-stack,.card-bottom,.card-footer,.product-bottom,.product-footer,.product-actions,.card-actions,.price-row,.menu-card-bottom,.roll-card-bottom){
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  max-height:none!important;
  margin-top:auto!important;
  flex-wrap:nowrap!important;
}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.sg-r4p7-price-stack,.card-bottom,.card-footer,.product-bottom,.product-footer,.product-actions,.card-actions,.price-row,.menu-card-bottom,.roll-card-bottom) :is(.price,.card-price,.product-price,.roll-price,.menu-price,.product-card-price){
  order:0!important;
  align-self:flex-end!important;
  margin:0!important;
  padding:0!important;
  font-size:clamp(12px,2.8vw,15px)!important;
  white-space:nowrap!important;
  line-height:1.2!important;
}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.sg-r4p7-price-stack,.card-bottom,.card-footer,.product-bottom,.product-footer,.product-actions,.card-actions,.price-row,.menu-card-bottom,.roll-card-bottom) :is(.qty,[data-qty-control],.card-qty,.product-qty,.qty-control){
  order:1!important;
  align-self:flex-end!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  width:min(100%,106px)!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  height:31px!important;
  min-height:31px!important;
  padding:0 2px!important;
  gap:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-around!important;
}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.qty,[data-qty-control],.card-qty,.product-qty,.qty-control) button{
  min-width:23px!important;
  width:28px!important;
  height:29px!important;
  min-height:29px!important;
  padding:2px!important;
  flex:0 1 28px!important;
}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.qty,[data-qty-control],.card-qty,.product-qty,.qty-control) span{
  min-width:12px!important;
  font-size:12px!important;
  text-align:center!important;
}
/* Avoid a fixed min-height reserving space for an invisible description. */
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.card-content,.product-content,.card-body,.product-body){min-height:0!important;}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(.card-name,.product-name,h3,h4){margin-bottom:3px!important;}

/* The density switch must not alter profile or About SushiGusto. These selectors
   reset old r4p4/r4p5 compact rules on the About content inside the homepage. */
html.sg-r4p4-compact .sg-r4p3-benefits article{padding:22px 0 21px!important}
html.sg-r4p4-compact .sg-r4p3-benefits h3{font-size:19px!important}
html.sg-r4p4-compact .sg-r4p3-benefits p{font-size:13px!important;line-height:1.8!important}
html.sg-r4p4-compact .sg-r4p3-about h2{font-size:clamp(30px,8.8vw,55px)!important}
html.sg-r4p4-compact .sg-r4p3-about{padding:0 0 62px!important}
/* Do not shrink the profile, product details, custom builder or footer. */
html.sg-r4p4-compact .product-full .pd-body{font-size:100%!important}
html.sg-r4p4-compact .product-full .pd-photo-frame{max-height:none!important}
html.sg-r4p4-compact .sg-r4p3-panel{padding:22px 17px 24px!important}
html.sg-r4p4-compact .sg-r4p3-panel h3{font-size:22px!important}
html.sg-r4p4-compact .sg-r4p3-footer{padding-top:47px!important}

/* Real native 'Сеты.' company banner: a single contained and responsive
   composition, not an old tall stack sliding under the bottom border. */
.sg-r4p4-party{position:relative!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
.sg-r4p4-party .sg-r4p7-party-frame{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  padding:clamp(9px,1.4vw,18px)!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
}
.sg-r4p4-party .sg-r4p7-party-board{
  display:grid!important;
  box-sizing:border-box!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:clamp(3px,.6vw,9px)!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  align-items:center!important;
  justify-items:center!important;
  position:static!important;
  transform:none!important;
}
.sg-r4p4-party .sg-r4p7-party-board img{
  display:block!important;
  box-sizing:border-box!important;
  position:static!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:drop-shadow(0 3px 5px #0006);
}
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:1fr!important}
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(5):last-child),
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(7):last-child),
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(8):last-child){grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
@media(min-width:650px){
 .sg-r4p4-party .sg-r4p7-party-frame{height:100%!important;max-height:100%!important}
 .sg-r4p4-party .sg-r4p7-party-board{aspect-ratio:2.1!important;max-height:min(100%,320px)!important}
}
/* Secondary marketing card (photo grid + 'Создать свой сет'): keep all four images. */
.sg-r4p3-set-card{height:auto!important;min-height:0!important}
.sg-r4p3-set-photo{min-height:0!important;max-height:none!important;overflow:hidden!important}
.sg-r4p3-set-photo-grid{box-sizing:border-box!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;justify-items:stretch!important;overflow:hidden!important}
.sg-r4p3-set-photo-grid img{min-width:0!important;min-height:0!important;width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
@media(min-width:650px){
 .sg-r4p3-set-photo{height:auto!important;min-height:0!important;padding:20px!important}
 .sg-r4p3-set-photo-grid{width:min(100%,450px)!important;height:auto!important;max-height:100%!important;aspect-ratio:1.6/1!important}
}

/* Repair the native 2-column banner itself when its photo column was detected. */
@media(min-width:650px){
 .sg-r4p4-party.sg-r4p7-party-two-columns{
   display:grid!important;
   grid-template-columns:minmax(0,39%) minmax(0,61%)!important;
   grid-template-rows:minmax(260px,auto)!important;
   align-items:center!important;
   height:auto!important;
   max-height:none!important;
   min-height:260px!important;
 }
 .sg-r4p4-party.sg-r4p7-party-two-columns > :not(.sg-r4p7-party-photo-column){
   grid-column:1!important;grid-row:1!important;min-width:0!important;max-width:100%!important;
   position:relative!important;transform:none!important;z-index:2!important;
 }
 .sg-r4p4-party.sg-r4p7-party-two-columns > .sg-r4p7-party-photo-column{
   grid-column:2!important;grid-row:1!important;position:relative!important;
   inset:auto!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
   display:flex!important;justify-content:center!important;align-items:center!important;
   box-sizing:border-box!important;transform:none!important;
   width:100%!important;min-width:0!important;max-width:100%!important;
   height:clamp(260px,27vw,390px)!important;min-height:0!important;max-height:390px!important;
   margin:0!important;padding:12px!important;overflow:hidden!important;
 }
}
@media(max-width:649.98px){
 .sg-r4p4-party.sg-r4p7-party-two-columns{display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;}
 .sg-r4p4-party.sg-r4p7-party-two-columns > .sg-r4p7-party-photo-column{
   order:2!important;position:relative!important;inset:auto!important;
   width:100%!important;height:210px!important;max-height:210px!important;
   box-sizing:border-box!important;padding:10px!important;margin:0!important;
   transform:none!important;overflow:hidden!important;
 }
 .sg-r4p4-party.sg-r4p7-party-two-columns > :not(.sg-r4p7-party-photo-column){order:1!important;}
}

/* SushiGusto · SG_Web 2.4.3-r4p8
   Targeted follow-up to r4p7. No global scaling / no changes to cart, product detail,
   profile, builder or About section. Loaded AFTER sg-r4p7.css. */

/* Third density: the price must remain at the normal catalogue's readable size.
   It stays above the quantity control and both are centered in their card. */
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(
  .sg-r4p7-price-stack, .card-bottom, .card-footer, .product-bottom,
  .product-footer, .product-actions, .card-actions, .price-row,
  .menu-card-bottom, .roll-card-bottom
){
  align-items:center!important;
  justify-content:flex-end!important;
  text-align:center!important;
}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(
  .sg-r4p7-price-stack, .card-bottom, .card-footer, .product-bottom,
  .product-footer, .product-actions, .card-actions, .price-row,
  .menu-card-bottom, .roll-card-bottom
) :is(.price,.card-price,.product-price,.roll-price,.menu-price,.product-card-price){
  display:block!important;
  align-self:center!important;
  justify-self:center!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  font-size:clamp(18px,1.7vw,20px)!important;
  line-height:1.3!important;
  font-weight:700!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
html.sg-r4p6-three .sg-r4p6-catalog-grid :is(
  .sg-r4p7-price-stack, .card-bottom, .card-footer, .product-bottom,
  .product-footer, .product-actions, .card-actions, .price-row,
  .menu-card-bottom, .roll-card-bottom
) :is(.qty,[data-qty-control],.card-qty,.product-qty,.qty-control){
  align-self:center!important;
  justify-self:center!important;
  margin:0 auto!important;
}

/* 'Сеты.' / 'Посмотреть Сет Пати' company banner.
   The original composition had three rows, the third falling under the card's
   lower border. Keep the entire set photograph INSIDE the middle outline.
   Outer decorative outlines are left intact; the actual mosaic is scaled down. */
.sg-r4p4-party.sg-r4p7-party-two-columns{
  overflow:hidden!important;
  isolation:isolate!important;
}
.sg-r4p4-party.sg-r4p7-party-two-columns > .sg-r4p7-party-photo-column{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
}
.sg-r4p4-party .sg-r4p7-party-frame{
  box-sizing:border-box!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.sg-r4p4-party .sg-r4p7-party-board{
  /* 76% x 74% fits inside the central (second) nested contour. */
  box-sizing:border-box!important;
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  inset:auto!important;
  transform:none!important;
  justify-self:center!important;
  align-self:center!important;
  display:grid!important;
  width:76%!important;
  height:74%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:76%!important;
  max-height:74%!important;
  aspect-ratio:auto!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:clamp(2px,.45vw,7px)!important;
  justify-items:center!important;
  align-items:center!important;
  align-content:center!important;
  overflow:hidden!important;
  pointer-events:none;
}
.sg-r4p4-party .sg-r4p7-party-board > img{
  box-sizing:border-box!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
/* Keep the variable count layouts supported by r4p7 intact. */
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:1fr!important}
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(5):last-child),
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(7):last-child),
.sg-r4p4-party .sg-r4p7-party-board:has(> img:nth-child(8):last-child){grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
@media (min-width:650px){
  .sg-r4p4-party.sg-r4p7-party-two-columns > .sg-r4p7-party-photo-column{
    /* The column has a definite height, so the board's % rows cannot expand it. */
    height:clamp(250px,25vw,350px)!important;
    max-height:350px!important;
    padding:0!important;
  }
}
@media (max-width:649.98px){
  .sg-r4p4-party.sg-r4p7-party-two-columns > .sg-r4p7-party-photo-column{
    height:210px!important;
    min-height:210px!important;
    max-height:210px!important;
    padding:0!important;
  }
  .sg-r4p4-party .sg-r4p7-party-board{
    width:80%!important;
    max-width:80%!important;
    height:74%!important;
    max-height:74%!important;
    gap:3px!important;
  }
}

/* SG_Web r4p9: one self-contained, bounded Party promo; works in PC/mobile view. */
.sg-r4p9-banner{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,39%) minmax(0,61%)!important;
  align-items:center!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  min-height:275px!important;
  height:auto!important;
  max-height:none!important;
  padding:clamp(16px,2.4vw,34px)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  position:relative!important;
}
.sg-r4p9-banner > .sg-r4p9-copy{
  box-sizing:border-box!important;
  grid-column:1!important;grid-row:1!important;
  min-width:0!important;display:flex!important;flex-direction:column!important;
  justify-content:center!important;align-items:flex-start!important;
  position:relative!important;inset:auto!important;transform:none!important;
  z-index:3!important;padding:0 clamp(8px,2vw,25px) 0 0!important;
}
.sg-r4p9-eyebrow{font:500 clamp(8px,.85vw,11px)/1.2 system-ui,sans-serif!important;letter-spacing:1.8px;color:#aaa99c!important;margin-bottom:11px!important;}
.sg-r4p9-title{font:700 clamp(30px,3.9vw,55px)/1.05 Georgia,'Times New Roman',serif!important;color:#f9f0e4!important;margin:0!important;}
.sg-r4p9-title span{color:#ff8146!important;}
.sg-r4p9-desc{font:400 clamp(11px,1.35vw,17px)/1.55 system-ui,sans-serif!important;color:#b9b6af!important;margin:11px 0 19px!important;}
.sg-r4p9-copy > a,.sg-r4p9-copy > button{position:relative!important;inset:auto!important;transform:none!important;max-width:100%!important;z-index:3!important;white-space:normal!important;}
.sg-r4p9-banner > .sg-r4p9-visual{
  box-sizing:border-box!important;
  grid-column:2!important;grid-row:1!important;
  display:block!important;
  position:relative!important;inset:auto!important;transform:none!important;
  isolation:isolate!important;
  justify-self:stretch!important;align-self:center!important;
  width:100%!important;height:clamp(210px,23vw,350px)!important;
  min-width:0!important;min-height:0!important;
  max-width:100%!important;max-height:350px!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  background:transparent!important;
}
.sg-r4p9-contour{position:absolute;pointer-events:none;border:1px solid rgba(178,171,151,.14);border-radius:16px;}
.sg-r4p9-contour-a{inset:1% 1%;border-color:rgba(189,177,154,.16);}
.sg-r4p9-contour-b{inset:10% 9%;border-color:rgba(189,177,154,.18);}
.sg-r4p9-contour-c{inset:17% 15%;border-color:rgba(189,177,154,.10);}
.sg-r4p9-mosaic{
  box-sizing:border-box!important;
  position:absolute!important;
  inset:17% 13% !important;
  width:auto!important;height:auto!important;
  max-height:66%!important;
  min-width:0!important;min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-template-rows:repeat(var(--sg-r4p9-rows,3),minmax(0,1fr))!important;
  gap:clamp(1px,.25vw,4px)!important;
  align-items:center!important;justify-items:center!important;
  overflow:hidden!important;
  transform:none!important;
  z-index:1!important;pointer-events:none!important;
}
.sg-r4p9-mosaic > img{
  box-sizing:border-box!important;
  position:static!important;
  display:block!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  min-width:0!important;min-height:0!important;
  margin:0!important;padding:0!important;
  object-fit:contain!important;object-position:center!important;
  background:transparent!important;
  transform:none!important;
  filter:drop-shadow(0 2px 4px #0009);
}
/* No internal float or old stacking can escape the banner. */
.sg-r4p9-banner .sg-r4p9-visual *{box-sizing:border-box!important;}
@media(max-width:649.98px){
  .sg-r4p9-banner{
    grid-template-columns:1fr!important;grid-template-rows:auto auto!important;
    min-height:0!important;height:auto!important;padding:20px 15px!important;
  }
  .sg-r4p9-banner > .sg-r4p9-copy{grid-row:1!important;grid-column:1!important;padding:0!important;}
  .sg-r4p9-banner > .sg-r4p9-visual{
    grid-row:2!important;grid-column:1!important;width:100%!important;
    height:clamp(165px,48vw,250px)!important;margin-top:15px!important;
  }
  .sg-r4p9-title{font-size:34px!important;}
  .sg-r4p9-desc{margin:8px 0 12px!important;font-size:12px!important;}
}
/* The builder logo replaces SG. on the empty tray only. */
#sgcs-root .sgcs-tray-empty-mark{
  box-sizing:border-box!important;
  width:clamp(74px,22vw,112px)!important;
  height:clamp(74px,22vw,112px)!important;
  max-width:112px!important;
  display:grid!important;place-items:center!important;
  margin:0 auto 10px!important;opacity:1!important;
  font-size:0!important;line-height:0!important;
}
#sgcs-root .sgcs-tray-empty-mark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border:0!important;}

/* SG_Web r4p10: styles only for the exact promotional section with one source image.
   The legacy app and r4p7-r4p9 CSS can stay: this rule is intentionally later. */
section.set-showcase.sg-r4p10-banner{
  box-sizing:border-box!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
  grid-template-rows:minmax(0,1fr)!important;
  align-items:center!important;
  width:100%!important;
  height:auto!important;
  min-height:290px!important;
  max-height:none!important;
  padding:18px clamp(16px,2.4vw,32px)!important;
  gap:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
section.set-showcase.sg-r4p10-banner > .set-showcase-copy{
  grid-column:1!important;grid-row:1!important;
  position:relative!important;inset:auto!important;
  transform:none!important;float:none!important;
  display:flex!important;flex-direction:column!important;
  justify-content:center!important;align-items:flex-start!important;
  box-sizing:border-box!important;min-width:0!important;max-width:100%!important;
  margin:0!important;padding:0 clamp(10px,2vw,26px) 0 0!important;
  z-index:2!important;
}
section.set-showcase.sg-r4p10-banner > .sg-r4p10-art{
  grid-column:2!important;grid-row:1!important;
  box-sizing:border-box!important;position:relative!important;
  display:block!important;inset:auto!important;
  transform:none!important;float:none!important;
  justify-self:stretch!important;align-self:center!important;
  min-width:0!important;width:100%!important;
  height:clamp(210px,25vw,325px)!important;
  min-height:0!important;max-height:325px!important;
  margin:0!important;padding:0!important;
  overflow:hidden!important;background:transparent!important;
  border:0!important;
}
section.set-showcase.sg-r4p10-banner .sg-r4p10-outline{
  box-sizing:border-box!important;position:absolute!important;
  border:1px solid rgba(206,201,185,.14)!important;
  border-radius:16px!important;pointer-events:none;
}
section.set-showcase.sg-r4p10-banner .sg-r4p10-outline-outer{
  inset:2% 1%!important;border-color:rgba(206,201,185,.12)!important;
}
section.set-showcase.sg-r4p10-banner .sg-r4p10-outline-mid{
  inset:11% 8%!important;
  display:flex!important;justify-content:center!important;align-items:center!important;
  padding:3%!important;
  overflow:hidden!important;
  border-color:rgba(206,201,185,.2)!important;
  pointer-events:none!important;
}
section.set-showcase.sg-r4p10-banner .sg-r4p10-outline-inner{
  inset:17% 15%!important;border-color:rgba(206,201,185,.09)!important;
}
section.set-showcase.sg-r4p10-banner .sg-r4p10-outline-mid > img.sg-r4p10-photo{
  box-sizing:border-box!important;
  display:block!important;position:static!important;
  width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;
  max-width:100%!important;max-height:100%!important;
  margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;
  object-fit:contain!important;object-position:center center!important;
  transform:none!important;
  float:none!important;
  opacity:1!important;visibility:visible!important;
  filter:none!important;
  background:transparent!important;
}
@media(max-width:649.98px){
  section.set-showcase.sg-r4p10-banner{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    min-height:0!important;padding:19px 15px 17px!important;
  }
  section.set-showcase.sg-r4p10-banner > .set-showcase-copy{
    grid-column:1!important;grid-row:1!important;
    padding:0!important;
  }
  section.set-showcase.sg-r4p10-banner > .sg-r4p10-art{
    grid-column:1!important;grid-row:2!important;
    width:100%!important;height:clamp(180px,51vw,270px)!important;
    max-height:270px!important;margin-top:12px!important;
  }
}

/* Original offline design is authoritative. Scoped behaviour fixes only. */
[hidden] {
  display: none !important;
}
.body-lock {
  overflow: hidden;
}
.skip-link {
  position: fixed;
  left: 12px;
  top: -100px;
  z-index: 5000;
  background: #f6eee5;
  color: #090b09;
  padding: 12px;
}
.skip-link:focus {
  top: 12px;
}
.storage-warning {
  position: sticky;
  top: 0;
  z-index: 5000;
}
.sgcs-product-picture.builder-photo {
  border: 0;
  padding: 0;
  width: 100%;
  color: inherit;
  letter-spacing: inherit;
}
.builder-board.board-1 {
  --sgcs-cols: 1;
}
.builder-board.board-2 {
  --sgcs-cols: 2;
}
.builder-board.board-3 {
  --sgcs-cols: 3;
}
.builder-board.board-4 {
  --sgcs-cols: 4;
}
.field-error {
  color: #ffb49d;
  font-size: 12px;
  display: block;
  margin-top: 5px;
}
[aria-invalid="true"] {
  outline: 1px solid #ffb49d;
  outline-offset: 1px;
}
.pd-title-line h1 {
  margin-top: 0;
}
.profile-page {
  min-width: 0;
  font-family:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    Arial,
    sans-serif;
  color: #f5f0e7;
}
/* Raise the contrast of three minor footer labels without changing their hue. */
.sg-r4p3-footer-columns small,
.sg-r4p3-footer-legal > span {
  color: #7b8176;
}
/* Keep the complete brand visible beside the existing narrow-screen controls. */
@media (max-width: 600px) {
  .product-full .pd-topbar.sg-r4-topbar .pd-brand {
    left: calc((100% - 155px + 37px) / 2) !important;
    max-width: calc(100% - 205px) !important;
  }
  .product-full .sg-r4-topbar .pd-brand img {
    width: 25px !important;
    height: 25px !important;
    flex-basis: 25px !important;
  }
  .product-full .sg-r4-topbar .pd-brand strong {
    font-size: 14px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
/* Independent scroll in a short landscape, preserving the portrait layout. */
@media (min-width: 650px) and (max-height: 550px) {
  #sgcs-root .sgcs-modal {
    max-width: 1100px;
  }
  #sgcs-root .builder-body {
    display: grid !important;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    gap: 16px;
    overflow: hidden !important;
  }
  #sgcs-root .builder-selection,
  #sgcs-root .builder-catalog {
    display: block !important;
    min-height: 0 !important;
    max-height: 100%;
    height: 100%;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-bottom: 20px;
  }
}

/* Owner form only. Canonical offline CSS remains unchanged. */
.sg-owner-panel { margin-top: 18px; }
.sg-owner-panel h2, .profile-page .sg-r4p3-empty h2 { margin: 0 0 12px; font-size:22px; line-height:1.2; }
.sg-owner-panel form { display:grid; gap:14px; }
.sg-owner-panel .sg-r4p3-field { min-width:0; }
.sg-owner-panel .sg-r4p3-field input { width:100%; box-sizing:border-box; }
.sg-owner-panel [type="submit"]:disabled { opacity:.65; cursor:wait; }
.sg-owner-panel #owner-feedback:empty, .sg-owner-panel #owner-countdown:empty { display:none; }
.sg-owner-panel #owner-feedback { overflow-wrap:anywhere; }
.sg-owner-link { display:block; margin-top:18px; color:inherit; background:transparent; border:0; text-decoration:underline; cursor:pointer; }
