/** Shopify CDN: Minification failed

Line 1159:0 Expected "}" to go with "{"

**/
/* RED JAR storefront styles
   Cascade layers replace !important (see CLAUDE.md > CSS & Styling):
   - redjar.base      : foundations, homepage components, responsive and motion rules.
   - redjar.pages     : inner pages (product, collection, blog, search, contact,
                        password, gift card...) in the homepage's visual language.
   - redjar.overrides : deliberate overrides that must win over base regardless of
                        selector specificity (e.g. [hidden] states, close controls,
                        reduced-motion). Later layers beat earlier ones, so no
                        !important is needed.
   Original cascade order inside each layer is retained to preserve appearance. */
@layer redjar.base, redjar.pages, redjar.overrides;
@layer redjar.base {
:root{--red:#a90209;--deep:#650107;--cream:#f6f0e7;--ink:#241817;--ease:cubic-bezier(.22,1,.36,1);}*{box-sizing:border-box;}html{scroll-behavior:smooth;background:var(--red);}body{margin:0;background:var(--red);color:var(--cream);font-family:"Momo Trust Display",sans-serif;-webkit-font-smoothing:antialiased;}a{color:inherit;text-decoration:none;}button,input{font:inherit;}img{display:block;max-width:100%;height:auto;}#MainContent{min-height:55vh;}.skip{position:absolute;top:-100px;left:10px;background:var(--cream);color:var(--red);padding:12px;z-index:200;}.skip:focus{top:10px;}.page-width{width:min(88%,1440px);margin:auto;}
.header{height:82px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;background:rgba(169,2,9,.95);backdrop-filter:blur(16px);}.logo img{width:65px;height:65px;object-fit:contain;}.nav,.actions{display:flex;align-items:center;gap:clamp(16px,3vw,40px);}.navbar-actions{gap:22px;}.instagram-nav-link{width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--cream);transition:opacity .25s ease,transform .25s var(--ease);}.instagram-nav-link:hover{opacity:.75;transform:translateY(-2px);}.instagram-nav-link svg{width:50px;height:50px;fill:none;stroke:var(--cream);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;}.instagram-nav-link .instagram-dot{fill:var(--cream);stroke:none;}.nav-cta{position:relative;display:inline-flex;align-items:center;padding:10px 0;color:var(--cream);border:0;border-radius:0;background:transparent;font-size:10px;font-weight:700;letter-spacing:1.5px;transition:opacity .25s var(--ease);}.nav-cta::after{content:"";position:absolute;right:0;bottom:3px;left:0;height:1px;background:currentColor;transform:scaleX(.45);transform-origin:left;transition:transform .3s var(--ease);}.nav-cta:hover{opacity:.82;}.nav-cta:hover::after{transform:scaleX(1);}.nav a,.actions a,.actions button{font-size:9px;letter-spacing:1.2px;}.actions button{display:none;background:none;border:0;color:var(--cream);}.mobile-nav{display:none;}
.hero{min-height:min(790px,calc(100svh - 82px));padding:75px 7% 82px;display:grid;grid-template-columns:1fr .94fr;align-items:center;gap:5%;position:relative;}.eyebrow{margin:0 0 22px;font-size:9px;letter-spacing:1.7px;color:rgba(246,240,231,.78);}.eyebrow:before{content:"";display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px;}.dark{color:var(--red);}.hero h1,.story h2,.products h2,.promise h2,.closing h2,.cart h1,.collection h1{font-size:clamp(60px,8vw,120px);line-height:.92;letter-spacing:-.055em;font-weight:400;margin:28px 0 24px;}.hero h1 em,.story h2 em,.products h2 em,.promise h2 em,.closing h2 em{font-style:normal;color:rgba(246,240,231,.65);}.hero-desc{max-width:440px;font-size:13px;line-height:1.9;color:rgba(246,240,231,.82);}.hero-desc p{margin:0;}.btn{min-height:48px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:0;border:0;border-radius:99px;font-size:9px;letter-spacing:1px;cursor:pointer;transition:transform .3s var(--ease),background .3s,color .3s;}.btn:hover{transform:translateY(-3px);}.btn-light{margin-top:28px;background:var(--cream);color:var(--red);}.btn-light:hover{background:var(--deep);color:var(--cream);}.hero-image{height:min(590px,57vw);min-height:390px;position:relative;}.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.stamp{position:absolute;right:-24px;bottom:34px;width:116px;height:116px;border:4px solid var(--red);border-radius:50%;background:var(--cream);color:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;letter-spacing:1px;transform:rotate(-10deg);}.stamp strong{font-size:17px;font-weight:400;}
.story{padding:115px 0 120px;display:grid;grid-template-columns:1.2fr .65fr;gap:8%;align-items:end;color:var(--cream);}.story h2{font-size:clamp(58px,8vw,116px);margin:0;color:var(--cream);}.story h2 em,.products h2 em,.promise h2 em{color:rgba(246,240,231,.65);}.story-copy{max-width:420px;font-size:13px;line-height:1.95;color:rgba(246,240,231,.82);}.story-copy p{margin:0 0 22px;}
.products{padding:100px 0 105px;}.products-head{display:flex;justify-content:space-between;align-items:end;margin:0 2% 55px;gap:25px;}.products h2{font-size:clamp(62px,8vw,112px);margin:0;}.products-head>p{max-width:230px;font-size:12px;line-height:1.8;color:rgba(246,240,231,.75);}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5%;}.product-grid article{min-width:0;}.product-grid article>a{display:block;}.from{margin:9px 3px 0;font-size:9px;letter-spacing:1px;color:rgba(246,240,231,.75);}.empty{grid-column:1/-1;text-align:center;padding:45px;border:1px solid rgba(246,240,231,.4);}
.promise{padding:100px 0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;}.promise-image{min-height:460px;background:var(--cream);border:2px solid var(--ink);box-shadow:11px 12px 0 var(--deep);}.promise-image img{width:100%;height:100%;min-height:460px;object-fit:cover;}.promise h2{font-size:clamp(48px,6vw,82px);}.promise>div:last-child>div{font-size:13px;line-height:1.95;color:rgba(246,240,231,.82);}
.closing{padding:115px 20px 125px;text-align:center;background:var(--red);}.closing h2{font-size:clamp(70px,11vw,150px);margin:20px 0;}.closing>p:not(.eyebrow){font-size:12px;color:rgba(246,240,231,.8);}.ticker{overflow:hidden;padding:10px 0;background:var(--cream);color:var(--red);white-space:nowrap;}.ticker div{width:max-content;animation:move 32s linear infinite;font-size:12px;letter-spacing:1.1px;}@keyframes move{to{transform:translateX(-50%);}}
.footer{background:var(--red);color:var(--cream);}.footer-row{padding:26px 6%;display:grid;grid-template-columns:1fr 3fr;gap:25px;align-items:center;}.footer-row a,.footer-row span{font-size:9px;letter-spacing:.7px;}.footer-row nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px;}.footer-row>a:last-child{text-align:right;}.description{font-size:13px;line-height:1.9;color:rgba(36,24,23,.8);margin-bottom:30px;}.option{border:0;border-top:1px solid rgba(36,24,23,.2);padding:22px 0 0;margin:0 0 25px;}.option legend{font-size:9px;letter-spacing:1.3px;color:var(--red);padding-bottom:12px;}.qty{display:flex;align-items:center;border:1px solid rgba(36,24,23,.4);}.qty button{width:38px;height:46px;background:transparent;border:0;cursor:pointer;}.qty input{width:38px;border:0;background:transparent;text-align:center;appearance:textfield;}.qty input::-webkit-inner-spin-button{-webkit-appearance:none;}.back{display:block;font-size:9px;letter-spacing:1px;color:rgba(36,24,23,.65);margin-top:22px;}.back{display:inline-block;border-bottom:1px solid rgba(36,24,23,.4);padding-bottom:6px;}
.cart,.collection{padding:70px 0 100px;color:var(--ink);}.cart h1,.collection h1{font-size:clamp(50px,8vw,95px);color:var(--red);margin:10px 0 40px;}.remove{display:inline-block;margin-top:14px;border:0;border-bottom:1px solid rgba(36,24,23,.4);background:transparent;color:var(--ink);font-size:9px;letter-spacing:1px;}.checkout{width:100%;margin-top:16px;}.cart-empty{text-align:center;padding:60px 20px;border:1px solid rgba(36,24,23,.2);}.cart-empty h2{font-size:clamp(30px,6vw,64px);font-weight:400;color:var(--red);}.collection .product-grid{margin-top:40px;}
@media(max-width:900px){.footer-row{grid-template-columns:1fr;justify-items:center;}.footer-row>a:last-child{text-align:center;}}
@media(max-width:640px){.page-width{width:calc(100% - 38px);}.header{height:70px;padding:0 19px;}.logo img{width:54px;height:54px;}.nav{display:none;}.actions{gap:12px;}.instagram-nav-link{width:34px;height:34px;}.instagram-nav-link svg{width:34px;height:34px;}.actions .nav-cta{font-size:9px;}.actions button{display:block;}.mobile-nav:not([hidden]){position:absolute;display:flex;flex-direction:column;top:70px;left:0;right:0;padding:10px 20px 20px;background:var(--red);}.mobile-nav a{padding:14px 0;border-bottom:1px solid rgba(246,240,231,.18);font-size:10px;}.hero{min-height:auto;padding:60px 20px 75px;grid-template-columns:1fr;gap:38px;}.hero h1{font-size:clamp(56px,14vw,88px);}.hero-image{height:105vw;min-height:300px;max-height:470px;}.stamp{width:92px;height:92px;right:-8px;bottom:18px;}.story{padding:75px 0 82px;grid-template-columns:1fr;gap:28px;}.story h2{font-size:clamp(50px,13vw,78px);}.products{padding:65px 0 75px;}.products-head{display:block;margin:0 0 32px;}.products h2{font-size:clamp(58px,14vw,82px);}.products-head>p{margin-top:16px;}.product-grid{grid-template-columns:1fr;gap:42px;}.promise{padding:70px 0;grid-template-columns:1fr;gap:30px;}.promise-image,.promise-image img{min-height:290px;}.promise h2{font-size:clamp(44px,11vw,66px);}.closing{padding:85px 20px 95px;}.closing h2{font-size:clamp(68px,17vw,110px);}.footer-row{padding:23px 20px;gap:22px;}.footer-row nav{gap:13px 16px;}.footer-row a,.footer-row span{font-size:8px;}.qty{width:max-content;}.cart{padding:48px 0 70px;}}


/* Cart outline matches the Instagram icon footprint */
.cart-nav-button{height:40px;min-height:40px;padding:0 18px;border:2px solid var(--cream);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;}
.cart-nav-button::after{display:none;}
@media(max-width:640px){.cart-nav-button{height:27px;min-height:27px;padding:0 11px;}}
/* Footer links on tablet/mobile: two even columns read top to bottom, instead of ragged centred wrapping. */
@media(max-width:900px){.footer-row nav{display:block;columns:2;column-gap:clamp(28px,8vw,56px);width:min(100%,420px);margin:0 auto;}.footer-row nav a{display:block;padding:8px 0;break-inside:avoid;text-align:left;}}


/* Red Jar product-card interactions, matched to the original GitHub storefront */
.product-stage{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;position:relative;isolation:isolate;gap:clamp(16px,4vw,64px);min-height:570px;padding:20px 0 35px;}
.product-stage .product-card{position:relative;flex:0 1 clamp(230px,28vw,440px);width:clamp(230px,28vw,440px);min-width:0;transition:transform .75s var(--ease),filter .6s var(--ease);}
.product-stage .product-card:not(.is-active){filter:saturate(.82);}
.product-stage .product-card.is-active{z-index:3;filter:none;transform:scale(1.05) rotate(0);}
.product-stage .product-card.tilt-left{transform:scale(.88) rotate(-2deg);}
.product-stage .product-card.tilt-right{transform:scale(.88) rotate(2deg);}
.product-stage .product-card.tilt-left.is-active,.product-stage .product-card.tilt-right.is-active{transform:scale(1.05) rotate(0);}
.product-stage .product-tile{display:block;width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;}
.product-stage .tile-frame{display:block;position:relative;aspect-ratio:1.13/1;padding:13px;background:var(--cream);border:2px solid var(--ink);box-shadow:9px 10px 0 var(--deep);transition:box-shadow .6s var(--ease);}
.product-stage .product-card.is-active .tile-frame{box-shadow:12px 13px 0 var(--deep);}
.product-stage .tile-photo{display:block;width:100%;height:100%;overflow:hidden;background:var(--cream);}
.product-stage .tile-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .85s var(--ease);}
.product-stage .product-card:hover .tile-image,.product-stage .product-card:focus-within .tile-image{transform:scale(1.035);}
.product-stage .tile-element-badge{position:absolute;z-index:4;top:-30px;right:-26px;width:clamp(82px,8vw,112px);aspect-ratio:1;display:grid;place-items:center;padding:9px;overflow:hidden;border-radius:50%;background:var(--cream);border:2px solid var(--ink);box-shadow:5px 6px 0 var(--deep);transform:rotate(7deg);transition:transform .45s var(--ease),box-shadow .45s var(--ease);pointer-events:none;}
.product-stage .tile-element-badge img{display:block;width:100%;height:100%;object-fit:contain;}
.product-stage .product-card.tilt-left .tile-element-badge{transform:rotate(-7deg);}
.product-stage .product-card.is-active .tile-element-badge{transform:scale(1.12) rotate(0);box-shadow:7px 8px 0 var(--deep);}
.product-stage .tile-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 3px 0;}
.product-stage .tile-caption small{display:block;margin-bottom:7px;font-size:8px;letter-spacing:1.3px;color:rgba(246,240,231,.82);}
.product-stage .tile-caption strong{display:block;font-size:clamp(22px,2.5vw,40px);font-weight:400;}
.product-stage .mobile-add-to-cart{position:static;flex:0 0 92px;width:92px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:8px 10px;border:2px solid var(--cream);border-radius:8px;background:transparent;color:var(--cream);font-family:inherit;font-size:9px;font-weight:700;letter-spacing:1px;transition:background-color .2s ease,color .2s ease;}
.product-stage .mobile-add-to-cart:hover,.product-stage .mobile-add-to-cart:focus-visible{background:var(--cream);color:var(--red);}
.product-stage .from{margin:9px 3px 0;font-size:9px;letter-spacing:1px;color:rgba(246,240,231,.75);}
.products-head[data-products-reveal]{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.products-head[data-products-reveal].is-visible{opacity:1;transform:translateY(0);}
@media(max-width:900px){.product-stage{min-height:470px;}}
@media(max-width:650px){
 .product-stage{min-height:0;padding:8px 0 12px;flex-direction:column;gap:18px;}
 .product-stage .product-card,.product-stage .product-card.tilt-left,.product-stage .product-card.tilt-right,.product-stage .product-card.is-active{flex:0 1 100%;width:100%;max-width:320px;transform:none;filter:none;}
 .product-stage .product-card.is-active .tile-frame{box-shadow:6px 7px 0 var(--deep);}
 .product-stage .tile-frame{aspect-ratio:1.25/1;padding:7px;box-shadow:6px 7px 0 var(--deep);}
 .product-stage .tile-caption{gap:10px;padding-top:10px;}
 .product-stage .tile-caption strong{font-size:21px;}
 .product-stage .mobile-add-to-cart{flex-basis:125px;width:125px;min-height:48px;}
 .product-stage .tile-element-badge{top:-19px;right:-15px;width:70px;padding:7px;box-shadow:4px 4px 0 var(--deep);}
}
@media(prefers-reduced-motion:reduce){
 .product-stage .product-card,.product-stage .tile-frame,.product-stage .tile-image,.product-stage .tile-element-badge,.products-head[data-products-reveal]{transition:none;transform:none;}
 .products-head[data-products-reveal]{opacity:1;}
}


/* Product selector, modal, cart drawer and responsive component styles. */
/* RED JAR: homepage product selector and slide-in cart */
.actions .cart-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font:700 10px inherit;color:var(--cream);}
.cart-nav-button .cart-nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:50%;background:var(--cream);color:var(--red);font-size:9px;line-height:1;}
.product-stage .product-tile{appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;}
.product-stage .product-tile:focus-visible,.product-stage .mobile-add-to-cart:focus-visible{outline:2px solid var(--cream);outline-offset:5px;}
.product-stage .mobile-add-to-cart{border-radius:999px;cursor:pointer;}
@keyframes product-pop{from{opacity:0;transform:translateY(16px) scale(.985);}to{opacity:1;transform:translateY(0) scale(1);}}
.modal-close{position:absolute;top:14px;right:14px;z-index:3;width:40px;height:40px;border:1px solid rgba(36,24,23,.3);border-radius:50%;background:var(--cream);color:var(--red);font-size:25px;line-height:1;cursor:pointer;}
.modal-close:hover,.cart-drawer-close:hover{background:var(--red);color:var(--cream);}
.variant-option-group p{margin:0 0 10px;color:var(--red);font-size:9px;letter-spacing:1.35px;}
.variant-pills{display:flex;flex-wrap:wrap;gap:8px;}
.variant-pill{min-height:39px;padding:8px 16px;border:1px solid rgba(36,24,23,.38);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:11px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.variant-pill:hover,.variant-pill.is-selected{border-color:var(--red);background:var(--red);color:var(--cream);}
.variant-pill:disabled{opacity:.32;cursor:not-allowed;text-decoration:line-through;}
.cart-drawer button:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
.cart-drawer{position:fixed;inset:0;z-index:140;}
.cart-drawer-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(24,8,8,.7);backdrop-filter:blur(4px);cursor:pointer;}
.cart-drawer-panel{position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(470px,100%);height:100%;padding:24px clamp(20px,4vw,34px);background:var(--cream);color:var(--ink);box-shadow:-12px 0 35px rgba(0,0,0,.2);animation:drawer-in .3s var(--ease) both;}
@keyframes drawer-in{from{transform:translateX(30px);opacity:.7;}to{transform:translateX(0);opacity:1;}}
.cart-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:5px 0 18px;border-bottom:1px solid rgba(36,24,23,.2);}
.cart-drawer-head h2{margin:0;color:var(--red);font-size:31px;font-weight:400;}
.cart-drawer-close{width:39px;height:39px;border:1px solid rgba(36,24,23,.3);border-radius:50%;background:transparent;color:var(--red);font-size:23px;cursor:pointer;}
.cart-drawer-lines{flex:1;overflow:auto;}
.cart-line{display:grid;grid-template-columns:86px minmax(0,1fr);gap:13px;padding:18px 0;border-bottom:1px solid rgba(36,24,23,.15);}
.cart-line-image{width:86px;height:86px;object-fit:cover;background:#e8ded1;}
.cart-line-info{min-width:0;}.cart-line-title{margin:0 0 5px;color:var(--red);font-size:15px;font-weight:400;}.cart-line-variant{margin:0 0 9px;color:rgba(36,24,23,.65);font-size:10px;}
.cart-line-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cart-line-price{font-size:13px;font-weight:400;}
.cart-line-qty{display:flex;align-items:center;gap:7px;}
.cart-line-qty button{width:25px;height:25px;border:1px solid rgba(36,24,23,.28);border-radius:50%;background:transparent;color:var(--red);cursor:pointer;}
.cart-line-qty span{min-width:13px;text-align:center;font-size:11px;}
.cart-line-remove{margin-top:8px;padding:0;border:0;border-bottom:1px solid rgba(36,24,23,.35);background:transparent;color:rgba(36,24,23,.7);font-size:9px;letter-spacing:.6px;cursor:pointer;}
.cart-drawer-foot{padding-top:17px;border-top:1px solid rgba(36,24,23,.2);}
.cart-drawer-subtotal{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;}
.cart-drawer-subtotal span{font-size:9px;letter-spacing:1.3px;}.cart-drawer-subtotal strong{color:var(--red);font-size:24px;font-weight:400;}
.cart-drawer-note{margin:0 0 13px;color:rgba(36,24,23,.65);font-size:10px;line-height:1.6;}
.cart-drawer-checkout,.cart-drawer-continue{display:flex;align-items:center;justify-content:center;width:100%;min-height:47px;border-radius:999px;font-family:inherit;font-size:9px;letter-spacing:1px;cursor:pointer;}
.cart-drawer-checkout{border:2px solid var(--red);background:var(--red);color:var(--cream);}
.cart-drawer-checkout:hover{border-color:var(--deep);background:var(--deep);}
.cart-drawer-continue{margin-top:9px;border:1px solid rgba(36,24,23,.35);background:transparent;color:var(--ink);}
html.cart-open,html.cart-open body{overflow:hidden;}
@media(max-width:680px){
 .cart-drawer-panel{padding:19px;}
 .cart-line{grid-template-columns:72px minmax(0,1fr);gap:11px;}
 .cart-line-image{width:72px;height:72px;}
}
@media(prefers-reduced-motion:reduce){.cart-drawer-panel{animation:none;}}

/* Close controls: centered cross, same spin-in interaction in both overlays */
@keyframes redjar-cross-in{
  0%{opacity:0;transform:rotate(-135deg) scale(.35);}
  68%{opacity:1;transform:rotate(14deg) scale(1.13);}
  100%{opacity:1;transform:rotate(0) scale(1);}
}
.modal-close,.cart-drawer-close{
  animation:redjar-cross-in .62s cubic-bezier(.22,1,.36,1) both;
  transition:transform .38s cubic-bezier(.22,1,.36,1),background-color .25s ease,color .25s ease,border-color .25s ease;
}
.modal-close:hover,.cart-drawer-close:hover{
  transform:rotate(90deg) scale(1.06);
}
.modal-close:active,.cart-drawer-close:active{
  transform:rotate(135deg) scale(.94);
}

/* Restore the cart outline to the Instagram icon's proportions */
@media(prefers-reduced-motion:reduce){
  .modal-close,.cart-drawer-close{animation:none;transition:none;}
}


/* Mobile product-card motion: retain GitHub-style active/inactive choreography */
@media(max-width:650px){
 .product-stage{perspective:1100px;overflow:visible;}
 .product-stage .product-card{
   transform-origin:50% 50%;
   transition:transform .7s var(--ease),filter .55s ease,opacity .55s ease;
   animation:redjar-mobile-card-arrive .65s var(--ease) both;
 ;}
 .product-stage .product-card:nth-child(2){animation-delay:.13s;}
 .product-stage .product-card.tilt-right{transform:translateY(0) scale(.94) rotate(-1.4deg);}
 .product-stage .product-card.tilt-left{transform:translateY(0) scale(.94) rotate(1.4deg);}
 .product-stage .product-card:not(.is-active){filter:saturate(.84);}
 .product-stage .product-card.tilt-right.is-active,
 .product-stage .product-card.tilt-left.is-active{
   z-index:4;opacity:1;filter:none;
   transform:translateY(-5px) scale(1.025) rotate(0);
 ;}
 .product-stage .product-card.is-active .tile-frame{
   box-shadow:10px 12px 0 var(--deep);
 ;}
 
 
 
 .product-stage .product-card .tile-element-badge{transition:transform .55s var(--ease),box-shadow .55s var(--ease);}
 
}
@keyframes redjar-mobile-card-arrive{
 from{opacity:0;filter:blur(4px);}
 to{opacity:1;filter:none;}
}

/* Fixed-body scroll lock prevents the homepage moving behind the modal on mobile */
html.cart-open,html.cart-open body{overscroll-behavior:none;}
.cart-drawer-panel{overscroll-behavior:contain;overflow:hidden;}
.cart-drawer-lines{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}


/* GitHub-matched product focus behavior on mobile.
   Active card is driven by the finger position while scrolling, with frame,
   image and ingredient badge transitions remaining visible on touch screens. */
@media(max-width:650px){
 .product-stage .product-card.is-active{z-index:4;}
 .product-stage .product-card:not(.is-active){opacity:.86;}
 .product-stage .tile-frame{transition:box-shadow .6s var(--ease),transform .6s var(--ease);}
 
 
 
 
 
}

/* One shared, precisely centered close control for product modal and cart */
.modal-close,.cart-drawer-close{
 transform:rotate(0deg) scale(1);
 transform-origin:50% 50%;
}
.close-icon{
 position:relative;display:block;width:18px;height:18px;flex:none;
}
.close-icon::before,.close-icon::after{
 content:"";position:absolute;top:50%;left:50%;
 width:18px;height:2px;border-radius:2px;background:currentColor;
 transform-origin:center;
}
.close-icon::before{transform:translate(-50%,-50%) rotate(45deg);}
.close-icon::after{transform:translate(-50%,-50%) rotate(-45deg);}
@keyframes redjar-close-enter{
 0%{opacity:0;transform:rotate(-135deg) scale(.45);}
 70%{opacity:1;transform:rotate(12deg) scale(1.1);}
 100%{opacity:1;transform:rotate(0) scale(1);}
}

/* Empty cart wording, illustration and layout copied from the original GitHub storefront */
.cart-empty{
 width:100%;min-height:350px;display:grid;
 grid-template-columns:minmax(0,1fr) minmax(250px,.82fr);
 align-items:center;gap:clamp(24px,5vw,72px);padding:12px 0;
}
.cart-empty-secondary{
 margin:0;color:rgba(36,24,23,.72);
}
.cart-empty-visual{
 position:relative;width:min(100%,350px);aspect-ratio:1;justify-self:center;
 display:grid;place-items:center;
}
.cart-empty-visual img{display:block;width:100%;height:100%;object-fit:contain;}
.cart-empty-visual span{
 position:absolute;width:64%;
 color:var(--red);font-size:clamp(18px,2vw,26px);font-weight:700;line-height:1.2;text-align:center;
}
@media(max-width:750px){
 .cart-empty{min-height:0;grid-template-columns:1fr;gap:28px;padding:20px 0 10px;}
 .cart-empty-visual{width:min(70vw,260px);}
 .cart-empty-visual span{font-size:20px;}
}


/* Final mobile choreography: the centred card grows and straightens as the
   user scrolls past it. Earlier transform:none overrides are intentionally
   superseded here so both products visibly animate every time the active
   card changes. */
@media(max-width:650px){
 .product-stage .product-card{
  will-change:transform;
 ;}
 .product-stage .product-card.tilt-right.is-active,
 .product-stage .product-card.tilt-left.is-active{
  z-index:5;
 ;}
 .product-stage .product-card:not(.is-active){opacity:.84;filter:saturate(.82);}
 .product-stage .product-card.is-active{opacity:1;filter:none;}
 .product-stage .tile-frame{
  transition:transform .65s var(--ease),box-shadow .65s var(--ease);
 ;}
 .product-stage .product-card.is-active .tile-frame{
  transform:translateY(-2px);
 ;}
 .product-stage .tile-image{transition:transform .85s var(--ease);}
 .product-stage .product-card.is-active .tile-image{transform:scale(1.035);}
 .product-stage .tile-element-badge{
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
 ;}
 .product-stage .product-card.is-active .tile-element-badge{
  transform:scale(1.12) rotate(0);
  box-shadow:7px 8px 0 var(--deep);
 ;}
}

/* The two close controls share a single cross glyph and a single animation.
   The button stays centred; only the cross spins, so desktop/mobile line-up
   never changes with font metrics. */
.close-icon{
 opacity:1;transform:rotate(0) scale(1);transform-origin:50% 50%;
}
@keyframes redjar-cross-spin{
 0%{opacity:0;transform:rotate(-135deg) scale(.35);}
 68%{opacity:1;transform:rotate(14deg) scale(1.13);}
 100%{opacity:1;transform:rotate(0) scale(1);}
}

/* Original GitHub empty-cart microcopy and arrangement */
.cart-empty-secondary{font-size:clamp(18px,1.6vw,23px);line-height:1.4;text-align:center;}
.cart-empty-visual span{top:52%;left:50%;transform:translate(-50%,-50%);}


/* Final mobile scroll activation choreography. */

/* One identical close animation on product and cart. Only the shared cross
   glyph spins, keeping both circular buttons aligned across breakpoints. */
@keyframes redjar-shared-cross-in{
 0%{opacity:0;transform:rotate(-135deg) scale(.35);}
 68%{opacity:1;transform:rotate(14deg) scale(1.13);}
 100%{opacity:1;transform:rotate(0) scale(1);}
}


/* Empty-cart Explore button: brand red with cream text, deep-red hover. */




/* Empty-cart composition reset: single vertical stack, no inherited grid or frame. */
.cart-drawer-panel .cart-empty,
.cart-drawer-panel .cart-empty *{
 outline-color:transparent;
}


/* Accessible live feedback and dialog focus. */
.cart-drawer-panel:focus-visible{outline:2px solid var(--red);outline-offset:-4px;}
.cart-line[aria-busy="true"]{cursor:progress;}


/* No visible page scrollbar: it also disappeared while a sheet locked the
   page, which shifted the layout sideways under the product photo morph. */
html{scrollbar-width:none;}
html::-webkit-scrollbar{display:none;}
/* The product sheet scrolls without a visible scrollbar too. */
.rj-sheet__body,.rj-sheet__scroll{scrollbar-width:none;}
.rj-sheet__body::-webkit-scrollbar,.rj-sheet__scroll::-webkit-scrollbar{display:none;}

/* Cart drawer hidden state and stable line layout.
   .cart-empty defines display:grid, so it must not override [hidden].
   Keep the drawer hidden when closed and its empty state hidden when populated. */

/* Prevent flex-row shrinking and browser scroll anchoring from moving
   cart items vertically while a quantity update is in flight. */
#redjar-cart-drawer .cart-drawer-lines{
  overflow-anchor: none;
  scrollbar-gutter: stable;
}

#redjar-cart-drawer .cart-line{
  flex: 0 0 auto;
}
}

@layer redjar.overrides {
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;}}
@media(max-width:640px){.actions [data-menu-toggle],.hero-copy .btn{display:none;}}
.cart-nav-button [hidden]{display:none;}
.cart-drawer[hidden]{display:none;}
.modal-close,.cart-drawer-close{
  display:flex;
  align-items:center;
  justify-content:center;
}
.actions .cart-nav-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  min-height:40px;
  padding:0 18px;
  border:2px solid var(--cream);
  border-radius:8px;
  box-sizing:border-box;
  background:transparent;
  color:var(--cream);
  line-height:1;
  font-size:9px;
  letter-spacing:1.2px;
}
@media(max-width:640px){
  .actions .cart-nav-button{
    height:27px;
    min-height:27px;
    padding:0 11px;
    border-width:2px;
    border-radius:8px;
  ;}
}
html.cart-open,html.cart-open body{overflow:hidden;}
body.page-locked{position:fixed;overflow:hidden;touch-action:none;}
@media(max-width:650px){
 .product-stage .product-card,
 .product-stage .product-card.tilt-right,
 .product-stage .product-card.tilt-left,
 .product-stage .product-card.tilt-right.is-active,
 .product-stage .product-card.tilt-left.is-active{
   transform:none;
   transition:filter .6s ease,opacity .35s ease;
 ;}
 
 
 
 
 
}
.modal-close,.cart-drawer-close{z-index:10;
 transition:transform .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease;
}
.modal-close:hover,.cart-drawer-close:hover{
 transform:rotate(90deg) scale(1.04);
}
.modal-close:active,.cart-drawer-close:active{transform:rotate(180deg) scale(.94);}
@media(max-width:640px){
 .modal-close,.cart-drawer-close{
  top:11px;right:11px;
 ;}
}
.cart-drawer-foot[hidden],.cart-drawer-head [hidden]{display:none;}
@media(max-width:650px){
 .product-stage .product-card{
  transform-origin:50% 50%;
  transition:transform .7s var(--ease),filter .55s ease,opacity .45s ease;
 ;}
 .product-stage .product-card.tilt-right:not(.is-active){
  transform:scale(.94) rotate(1.4deg);
 ;}
 .product-stage .product-card.tilt-left:not(.is-active){
  transform:scale(.94) rotate(-1.4deg);
 ;}
 .product-stage .product-card.tilt-right.is-active,
 .product-stage .product-card.tilt-left.is-active{
  transform:translateY(-5px) scale(1.025) rotate(0);
 ;}
 .product-stage .product-card.is-active .tile-frame{
  box-shadow:12px 13px 0 var(--deep);
 ;}
}
.modal-close,.cart-drawer-close{
 position:absolute;
 top:13px;right:13px;z-index:20;
 width:42px;height:42px;min-width:42px;min-height:42px;
 display:grid;place-items:center;
 box-sizing:border-box;margin:0;padding:0;
 border:2px solid var(--ink);border-radius:50%;
 background:var(--cream);color:var(--ink);
 font-size:0;line-height:1;text-align:center;
 cursor:pointer;transform:rotate(0deg);
 animation:none;
 transition:transform .3s ease,background-color .25s ease,color .25s ease,border-color .25s ease;
}
.close-icon{
 position:relative;display:block;
 width:18px;height:18px;min-width:18px;min-height:18px;
 margin:0;padding:0;flex:none;
}
.close-icon::before,.close-icon::after{
 content:"";position:absolute;
 top:50%;left:50%;
 display:block;width:18px;height:2px;
 margin:0;padding:0;border:0;border-radius:2px;
 background:currentColor;transform-origin:center;
}
.close-icon::before{transform:translate(-50%,-50%) rotate(45deg);}
.close-icon::after{transform:translate(-50%,-50%) rotate(-45deg);}
@media(max-width:640px){
 .modal-close,.cart-drawer-close{
  top:13px;right:13px;
  width:42px;height:42px;
  min-width:42px;min-height:42px;
 ;}
}
@media(hover:none){
 .modal-close:active,.cart-drawer-close:active{
  background:var(--deep);color:var(--cream);border-color:var(--deep);
 ;}
}
@media(prefers-reduced-motion:reduce){
 .modal-close,.cart-drawer-close,.close-icon{transition:none;animation:none;}
}
@media(max-width:650px){
 .product-stage .product-card.tilt-right:not(.is-active){
  transform:translateY(0) scale(.94) rotate(1.4deg);
 ;}
 .product-stage .product-card.tilt-left:not(.is-active){
  transform:translateY(0) scale(.94) rotate(-1.4deg);
 ;}
 .product-stage .product-card.tilt-right.is-active,
 .product-stage .product-card.tilt-left.is-active{
  transform:translateY(-6px) scale(1.035) rotate(0);
 ;}
}
.modal-close:hover,.cart-drawer-close:hover{
 transform:rotate(90deg);
 background:var(--deep);color:var(--cream);border-color:var(--deep);
}
.modal-close:active,.cart-drawer-close:active{transform:rotate(90deg) scale(.94);}
.cart-drawer-panel:has(.cart-empty:not([hidden])) .cart-drawer-head{
 border:0;
 border-bottom:0;
 box-shadow:none;
 padding-bottom:0;
}
.cart-drawer-panel .cart-drawer-lines{
 display:flex;
 flex:1 1 auto;
 flex-direction:column;
 align-items:stretch;
 justify-content:flex-start;
 min-height:0;
 width:100%;
 border:0;
 outline:0;
 box-shadow:none;
 overflow-y:auto;
}
.cart-drawer-panel .cart-empty[data-cart-empty]:not([hidden]){
 display:flex;
 width:100%;
 min-height:100%;
 height:100%;
 flex:1 1 auto;
 flex-direction:column;
 flex-wrap:nowrap;
 align-items:center;
 justify-content:space-between;
 gap:0;
 margin:0 auto;
 padding:14px 0 22px;
 box-sizing:border-box;
 border:0;
 outline:0;
 box-shadow:none;
 background:transparent;
 grid-template:none;
 grid-auto-flow:row;
 text-align:center;
}
.cart-drawer-panel .cart-empty-visual{
 display:grid;
 flex:0 0 auto;
 width:clamp(340px,48vh,480px);
 max-width:88%;
 aspect-ratio:1;
 margin:0 auto;
 padding:0;
 border:0;
 box-shadow:none;
}
.cart-drawer-panel .cart-empty-visual img{
 display:block;
 width:100%;
 height:100%;
 max-width:none;
 object-fit:contain;
}
.cart-drawer-panel .cart-empty-visual span{
 top:52%;
 left:50%;
 width:74%;
 max-width:none;
 font-size:clamp(22px,2.6vw,30px);
 line-height:1.12;
 text-align:center;
 white-space:normal;
}
.cart-drawer-panel .cart-empty-secondary{
 display:block;
 flex:0 0 auto;
 width:100%;
 margin:12px 0 24px;
 padding:0;
 text-align:center;
 white-space:nowrap;
 color:rgba(36,24,23,.72);
 font-size:clamp(18px,1.6vw,24px);
 line-height:1.4;
}
.cart-drawer-panel .cart-empty button.btn.btn-light[data-cart-explore]{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 auto;
 align-self:center;
 width:auto;
 min-width:230px;
 min-height:54px;
 margin:0 auto;
 padding:16px 26px;
 border:2px solid #a90209;
 border-radius:999px;
 background:#a90209;
 background-color:#a90209;
 color:#f6f0e7;
 box-shadow:none;
 font-size:10px;
 letter-spacing:1px;
 line-height:1;
 white-space:nowrap;
}
.cart-drawer-panel .cart-empty button.btn.btn-light[data-cart-explore]:hover,
.cart-drawer-panel .cart-empty button.btn.btn-light[data-cart-explore]:focus-visible{
 background:#650107;
 background-color:#650107;
 border-color:#650107;
 color:#f6f0e7;
}
@media(max-width:750px){
 .cart-drawer-panel .cart-empty[data-cart-empty]:not([hidden]){
  min-height:100%;
  height:100%;
  gap:0;
  padding:12px 0 18px;
 ;}
 .cart-drawer-panel .cart-empty-visual{
  width:min(88vw,380px);
  max-width:88%;
 ;}
 .cart-drawer-panel .cart-empty-visual span{
  font-size:clamp(20px,4.5vw,25px);
 ;}
 .cart-drawer-panel .cart-empty-secondary{
  margin:12px 0 20px;
  font-size:clamp(17px,4vw,21px);
  white-space:normal;
 ;}
}
.redjar-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#redjar-cart-drawer[hidden],
#redjar-cart-drawer [hidden]{
  display: none;
}
}

/* ==========================================================================
   Inner pages — the homepage's visual language for every other template.
   Red ground, cream type, huge two-part uppercase titles, eyebrow with rule,
   cream pill buttons, cream frames with ink border and deep-red offset shadow.
   Components are prefixed .rj- (BEM: block__element--modifier).
   ========================================================================== */
@layer redjar.pages {
:root{
  --rj-text:var(--cream);
  --rj-text-soft:color-mix(in srgb,var(--cream) 82%,transparent);
  --rj-text-muted:color-mix(in srgb,var(--cream) 65%,transparent);
  /* Small muted text needs 4.5:1 on red (WCAG AA); 82% cream gives about 4.8:1. */
  --rj-text-subtle:color-mix(in srgb,var(--cream) 82%,transparent);
  --rj-line:color-mix(in srgb,var(--cream) 28%,transparent);
  --rj-line-strong:color-mix(in srgb,var(--cream) 55%,transparent);
  --rj-shadow:10px 11px 0 var(--deep);
  --rj-radius-pill:999px;
  --rj-radius-field:8px;
  --rj-fs-label:9px;
  --rj-fs-small:11px;
  --rj-fs-body:13px;
  --rj-ls-label:1.4px;
  --rj-space-xs:8px;--rj-space-s:14px;--rj-space-m:24px;--rj-space-l:44px;--rj-space-xl:80px;
  --rj-title-size:clamp(52px,8vw,112px);
  --rj-title-size-compact:clamp(40px,5.6vw,84px);
}

/* Page shell */
.rj-page{padding:var(--rj-space-xl) 0 calc(var(--rj-space-xl) + 20px);color:var(--rj-text);}
.rj-page--narrow .rj-page__body{max-width:820px;}
.rj-page__head{margin-bottom:var(--rj-space-l);}
.rj-page__head--split{display:flex;justify-content:space-between;align-items:end;gap:var(--rj-space-m);flex-wrap:wrap;}
.rj-page__lede{max-width:440px;margin:0;font-size:var(--rj-fs-body);line-height:1.9;color:var(--rj-text-soft);}
.rj-page__lede p{margin:0;}
.rj-page__actions{margin:var(--rj-space-l) 0 0;}
.rj-eyebrow{margin:0 0 22px;font-size:var(--rj-fs-label);letter-spacing:1.7px;color:var(--rj-text-soft);text-transform:uppercase;}
.rj-eyebrow::before{content:"";display:inline-block;width:28px;height:1px;margin-right:10px;vertical-align:middle;background:currentColor;}
.rj-title{margin:0;font-size:var(--rj-title-size);line-height:.92;letter-spacing:-.055em;font-weight:400;text-transform:uppercase;overflow-wrap:anywhere;color:var(--rj-text);}
.rj-title em{font-style:normal;color:var(--rj-text-muted);}
.rj-title--compact{font-size:var(--rj-title-size-compact);line-height:.96;}

/* Frames (cream mat, ink border, offset shadow) */

/* Card grid */
.rj-card__label{display:block;font-size:8px;letter-spacing:1.3px;color:var(--rj-text-subtle);text-transform:uppercase;}

/* Buttons and links */
.rj-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px 24px;border:1.5px solid var(--cream);border-radius:var(--rj-radius-pill);background:var(--cream);color:var(--red);font:inherit;font-size:var(--rj-fs-label);letter-spacing:1px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s;}
.rj-btn:hover{transform:translateY(-3px);background:var(--deep);border-color:var(--deep);color:var(--cream);}
.rj-btn:disabled,.rj-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none;}
.rj-btn--outline{background:transparent;color:var(--cream);}
.rj-btn--outline:hover{background:var(--cream);border-color:var(--cream);color:var(--red);}
.rj-btn--block{width:100%;}
.rj-page :is(a,button,input,select,textarea,summary):focus-visible,
.rj-standalone :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--cream);outline-offset:3px;}

/* Rich text */
.rj-rte{font-size:14px;line-height:1.85;color:var(--rj-text-soft);overflow-wrap:break-word;}
.rj-rte > :first-child{margin-top:0;}
.rj-rte p{margin:0 0 18px;}
.rj-rte :is(h2,h3,h4){margin:44px 0 14px;color:var(--rj-text);font-weight:400;letter-spacing:-.02em;line-height:1.15;}
.rj-rte h2{font-size:clamp(24px,2.6vw,34px);}
.rj-rte h3{font-size:clamp(19px,2vw,24px);}
.rj-rte a{color:var(--rj-text);text-decoration:underline;text-underline-offset:3px;}
.rj-rte :is(ul,ol){padding-left:22px;margin:0 0 18px;}
.rj-rte li{margin-bottom:6px;}
.rj-rte img{max-width:100%;height:auto;margin:var(--rj-space-m) 0;border:2px solid var(--ink);box-shadow:var(--rj-shadow);}
.rj-rte blockquote{margin:var(--rj-space-l) 0;padding-left:var(--rj-space-m);border-left:2px solid var(--cream);font-size:clamp(20px,2.4vw,28px);line-height:1.3;color:var(--rj-text);}
.rj-rte table{width:100%;border-collapse:collapse;margin:0 0 18px;}
.rj-rte :is(th,td){padding:10px 8px;border-bottom:1px solid var(--rj-line);text-align:left;}


/* Pills (options, tags, filters) */

/* Forms */
.rj-form{display:grid;gap:var(--rj-space-m);}
.rj-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rj-space-m);}
.rj-field{display:grid;gap:9px;}
.rj-field__label{font-size:var(--rj-fs-label);letter-spacing:var(--rj-ls-label);color:var(--rj-text-soft);text-transform:uppercase;}
.rj-field__input{width:100%;min-height:50px;padding:13px 16px;border:1.5px solid var(--rj-line-strong);border-radius:var(--rj-radius-field);background:transparent;color:var(--rj-text);font:inherit;font-size:14px;transition:border-color .25s,background .25s;}
.rj-field__input::placeholder{color:var(--rj-text-muted);}
.rj-field__input:hover{border-color:var(--cream);}
.rj-field__input:focus{border-color:var(--cream);background:color-mix(in srgb,var(--cream) 8%,transparent);outline:none;}
.rj-field__input:focus-visible{outline:2px solid var(--cream);outline-offset:2px;}
textarea.rj-field__input{min-height:160px;resize:vertical;line-height:1.6;}
.rj-inline-form{display:flex;gap:10px;max-width:620px;}
.rj-inline-form .rj-field__input{flex:1;min-width:0;border-radius:var(--rj-radius-pill);padding-inline:22px;}
.rj-notice{margin:0 0 var(--rj-space-m);padding:16px 20px;border-radius:var(--rj-radius-field);background:var(--cream);color:var(--red);font-size:var(--rj-fs-body);line-height:1.6;}
.rj-notice--error{background:var(--deep);color:var(--cream);border:1.5px solid var(--cream);}
.rj-notice ul{margin:8px 0 0;padding-left:18px;}

/* Pagination */

/* Empty states */
.rj-empty__title{margin:0 0 var(--rj-space-s);font-size:clamp(28px,4vw,52px);font-weight:400;letter-spacing:-.04em;line-height:1;text-transform:uppercase;}

/* Product page */

/* Article */

/* Search */

/* Cart page (no-JS fallback) */

/* 404: "4 jar 4" — the jar image stands in for the 0 */
.rj-404{text-align:center;}
.rj-404__eyebrow::before{display:none;}
.rj-404__digits{display:flex;justify-content:center;align-items:center;gap:2vw;margin:10px 0 clamp(40px,6vw,72px);font-size:clamp(150px,26vw,380px);line-height:.8;letter-spacing:-.06em;font-weight:400;color:var(--rj-text);}
.rj-404__jar{display:flex;align-items:center;justify-content:center;width:.62em;height:.9em;transform:rotate(-6deg);}
.rj-404__jar img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(10px 11px 0 var(--deep));}
.rj-404__lede{margin:0 auto;}

/* Contact */
.rj-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start;}
.rj-contact__details{display:grid;gap:var(--rj-space-m);margin-top:var(--rj-space-l);}
.rj-contact__detail{display:grid;gap:6px;}
.rj-contact__detail a{color:var(--rj-text);font-size:clamp(18px,1.8vw,24px);text-decoration:none;overflow-wrap:anywhere;}

/* Standalone pages (password, gift card) */
.rj-standalone{min-height:100svh;display:flex;flex-direction:column;background:var(--red);color:var(--rj-text);}
.rj-standalone__header{display:flex;justify-content:space-between;align-items:center;gap:var(--rj-space-m);padding:var(--rj-space-m) 6%;}
.rj-standalone__logo img{width:65px;height:65px;object-fit:contain;}
.rj-standalone__main{flex:1;display:flex;align-items:center;padding:var(--rj-space-l) 0 var(--rj-space-xl);}
.rj-standalone__footer{padding:var(--rj-space-m) 6%;font-size:var(--rj-fs-label);letter-spacing:1px;color:var(--rj-text-subtle);text-transform:uppercase;}
.rj-standalone__footer a{color:inherit;}
.rj-password-dialog{position:fixed;width:min(520px,calc(100% - 32px));padding:var(--rj-space-l);border:2px solid var(--ink);border-radius:var(--rj-radius-field);background:var(--red);color:var(--rj-text);box-shadow:var(--rj-shadow);}
.rj-password-dialog::backdrop{background:color-mix(in srgb,var(--ink) 70%,transparent);}

/* Responsive */
@media (max-width:990px){
  .rj-contact{grid-template-columns:1fr;gap:var(--rj-space-l);}
}
@media (max-width:650px){
  :root{--rj-title-size:clamp(36px,12vw,52px);--rj-title-size-compact:clamp(32px,10vw,44px);}
  .rj-page{padding:48px 0 70px;}
  .rj-form__row{grid-template-columns:1fr;}
  .rj-inline-form{flex-direction:column;}
  .rj-standalone__header{padding:16px;}
}
@media (prefers-reduced-motion:reduce){
  .rj-btn{transition:none;}
  .rj-btn:hover{transform:none;}
}
@media print{
  .rj-standalone{background:#fff;color:#000;}
  .rj-standalone__footer{display:none;}
}
}

/* Homepage section spacing: tighter vertical rhythm between sections.
   Halves (or more) the empty space between hero, story, products, promise
   and closing on desktop and mobile. Lives in the overrides layer so it wins
   over the original per-section paddings in redjar.base. */
@layer redjar.overrides {
  .hero{padding-bottom:40px;}
  .story{padding-top:20px;padding-bottom:70px;}
  .products{padding-top:40px;padding-bottom:30px;}
  .product-stage{padding-bottom:20px;}
  .promise{padding-top:30px;padding-bottom:40px;}
  .closing{padding-top:50px;}
  @media(max-width:640px){
    .hero{padding-bottom:30px;}
    .story{padding-top:35px;padding-bottom:30px;}
    .products{padding-top:25px;padding-bottom:25px;}
    .product-stage{padding-bottom:12px;}
    .promise{padding-top:25px;padding-bottom:25px;}
    .closing{padding-top:35px;}
  }
}

/* ==========================================================================
   Product sheet (snippets/redjar-product-modal.liquid) and tile ratings.
   Desktop: centred two-column card. Touch / narrow: full-height bottom sheet,
   photo sticky at the top, details scroll over it, sticky Add to cart.
   ========================================================================== */
@layer redjar.base {
.rj-sprite{position:absolute;width:0;height:0;overflow:hidden;}
.tile-rating{display:inline-flex;align-items:center;gap:3px;margin-left:10px;color:var(--cream);font-size:10px;letter-spacing:.4px;vertical-align:middle;}
.tile-rating svg{width:11px;height:11px;fill:#f5b301;}

.rj-sheet-root{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,40px);}
.rj-sheet-root[hidden]{display:none;}
.rj-sheet__backdrop{position:absolute;inset:0;background:var(--deep);opacity:var(--rj-sheet-dim,1);}
.rj-sheet{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;width:min(1040px,100%);height:min(700px,100%);overflow:hidden;border-radius:28px;background:transparent;color:var(--ink);outline:none;transform:translateY(var(--rj-drag,0px));}
.rj-sheet__scroll{display:contents;}
.rj-sheet__media{grid-column:1;grid-row:1 / span 2;position:relative;overflow:hidden;background:#2a1a17;transform-origin:top left;}
.rj-sheet__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.rj-sheet__back{position:absolute;z-index:3;top:18px;left:18px;width:48px;height:48px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--red);color:var(--cream);box-shadow:0 4px 14px rgba(36,24,23,.25);cursor:pointer;transition:background .25s;}
.rj-sheet__back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.rj-sheet__back:hover{background:var(--deep);}
.rj-sheet__back:focus-visible{outline:2px solid var(--cream);outline-offset:3px;}
.rj-sheet__body{grid-column:2;grid-row:1;overflow-y:auto;overscroll-behavior:contain;padding:44px 40px 20px;background:var(--cream);}
/* The card photo hides while its copy morphs into the sheet (one photo at a time). */
.product-card.is-morphing .tile-photo{visibility:hidden;}
.rj-sheet__handle{display:none;}
.rj-sheet__eyebrow{margin:0 0 10px;font-size:9px;letter-spacing:1.6px;color:var(--red);}
.rj-sheet__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;}
.rj-sheet__title{margin:0;font-size:clamp(30px,3.2vw,42px);line-height:1.02;letter-spacing:-.03em;font-weight:400;color:var(--ink);}
.rj-sheet__rating{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:15px;color:var(--ink);}
.rj-sheet__rating svg{width:17px;height:17px;fill:#f5b301;}
.rj-sheet__description{margin:14px 0 24px;}
.rj-sheet__text{margin:0;font-size:14px;line-height:1.65;color:rgba(36,24,23,.72);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
.rj-sheet__text.is-expanded{display:block;-webkit-line-clamp:unset;}
.rj-sheet__more{margin-top:6px;padding:6px 0;border:0;background:none;color:var(--ink);font:inherit;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.rj-sheet__options .variant-option-group{margin:0 0 20px;}
.rj-sheet__options .variant-option-group>p,.rj-sheet__heading{margin:0 0 10px;font-size:10px;letter-spacing:1.5px;font-weight:400;color:rgba(36,24,23,.6);text-transform:uppercase;}
.rj-sheet__options .variant-pills{display:flex;flex-wrap:wrap;gap:8px;}
.rj-sheet__options .variant-pill{min-height:44px;padding:10px 18px;font-size:12px;}
.rj-sheet__group{margin:0 0 24px;}
.rj-sheet__qty{display:inline-flex;align-items:center;border:1px solid rgba(36,24,23,.25);border-radius:999px;}
.rj-sheet__qty button{width:48px;height:48px;padding:0;border:0;background:none;color:var(--red);font:inherit;font-size:22px;cursor:pointer;}
.rj-sheet__qty output{min-width:28px;text-align:center;font-size:16px;}
/* All five ingredients fit in one row: equal columns, compact icon cards. */
.rj-sheet__ingredients{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;}
.rj-sheet__ingredients li{display:grid;justify-items:center;align-content:start;gap:6px;min-width:0;padding:10px 4px 9px;border:1px solid rgba(36,24,23,.14);border-radius:12px;background:#fffaf3;text-align:center;font-size:10.5px;line-height:1.25;overflow-wrap:anywhere;}
.rj-sheet__ingredients svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.rj-sheet__pairings{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.rj-sheet__pairings li{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:rgba(36,24,23,.07);font-size:13px;}
.rj-sheet__status{min-height:1em;margin:0;font-size:13px;color:var(--red);}
.rj-sheet__cta{grid-column:2;grid-row:2;display:flex;align-items:center;gap:18px;padding:16px 40px 20px;border-top:1px solid rgba(36,24,23,.1);background:var(--cream);}
.rj-sheet__price{display:grid;gap:2px;}
.rj-sheet__price span{font-size:9px;letter-spacing:1.5px;color:rgba(36,24,23,.55);}
.rj-sheet__price strong{font-size:26px;font-weight:400;letter-spacing:-.02em;color:var(--red);white-space:nowrap;}
.rj-sheet__add{flex:1;min-height:54px;padding:14px 22px;border:0;border-radius:999px;background:var(--red);color:var(--cream);font:inherit;font-size:11px;letter-spacing:1.4px;cursor:pointer;transition:background .25s;}
.rj-sheet__add:hover{background:var(--deep);}
.rj-sheet__add:disabled{opacity:.5;cursor:not-allowed;}
.rj-sheet :is(.rj-sheet__more,.rj-sheet__qty button,.rj-sheet__add,.variant-pill):focus-visible{outline:2px solid var(--red);outline-offset:3px;}

/* Touch devices and narrow screens: full-height bottom sheet. */
@media (hover:none),(pointer:coarse),(max-width:899px){
  /* A slim strip of backdrop stays visible above the sheet: tap it to close. */
  .rj-sheet-root{padding:calc(28px + env(safe-area-inset-top)) 0 0;align-items:stretch;}
  .rj-sheet{display:flex;flex-direction:column;width:100%;height:100%;border-radius:22px 22px 0 0;box-shadow:0 -14px 40px rgba(0,0,0,.28);}
  .rj-sheet-root:not(.is-dragging) .rj-sheet{transition:transform .3s cubic-bezier(.22,1,.36,1);}
  .rj-sheet__scroll{display:block;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .rj-sheet__media{position:sticky;top:0;z-index:0;height:min(52svh,560px);}
  .rj-sheet__body{position:relative;z-index:1;margin-top:-30px;padding:12px 22px 28px;overflow:visible;border-radius:28px 28px 0 0;background:var(--cream);}
  .rj-sheet__handle{display:block;width:44px;height:5px;margin:0 auto 18px;border-radius:999px;background:rgba(36,24,23,.22);}
  .rj-sheet__back{top:14px;left:14px;}
  .rj-sheet__cta{flex-shrink:0;padding:12px 22px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(36,24,23,.08);}
  .rj-sheet__title{font-size:clamp(28px,7.5vw,40px);}
}
@media (prefers-reduced-motion:reduce){
  .rj-sheet-root .rj-sheet{transition:none;}
}
}

/* Product tiles: desktop cursor tilt. */
@layer redjar.overrides {
  html:not(.rj-touch) .product-stage .product-card .tile-frame{transition:transform .3s var(--ease),box-shadow .6s var(--ease);}
  html:not(.rj-touch) .product-stage .product-card.is-active .tile-frame{transform:perspective(900px) rotateX(var(--rj-tilt-x,0deg)) rotateY(var(--rj-tilt-y,0deg));}

  @media (prefers-reduced-motion:reduce){
    html:not(.rj-touch) .product-stage .product-card.is-active .tile-frame{transform:none;}
  }
}

/* Touch polish: no grey/blue tap flash on interactive elements; cards press in slightly instead. */
@layer redjar.overrides {
  .product-stage :is(.product-tile,.mobile-add-to-cart),.rj-sheet :is(button,.variant-pill),.cart-drawer button,.header button{-webkit-tap-highlight-color:transparent;}
  html.rj-touch .product-stage .product-tile .tile-frame{transition:transform .18s var(--ease),box-shadow .6s var(--ease);}
  html.rj-touch .product-stage .product-tile:active .tile-frame{transform:scale(.97);}
}

/* Hero and promise photos: "Image style" setting (rj-media--blend|arch|frame).
   The photo sits in .rj-media__photo, so the hero stamp stays crisp outside it.
   - blend: the photo dissolves into the red background on all four sides; a
     soft red vignette warms its edges first so the fade never looks grey.
   - arch: an arched, jar-like window with a soft shadow.
   - frame: the bordered card with an offset shadow used by the product tiles.
   Blend and arch photos drift slightly as the page scrolls, where supported. */
@layer redjar.overrides {
  .rj-media{position:relative;isolation:isolate;}
  .promise-image.rj-media{background:none;border:0;box-shadow:none;}
  .rj-media__photo{position:absolute;inset:0;display:block;overflow:hidden;}
  .rj-media__photo img,.promise-image .rj-media__photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;}
  /* An oval feather: no straight edges or corners are left to read as a box.
     The photo window is a little larger than its column to make up for the fade. */
  .rj-media--blend .rj-media__photo{
    inset:-7% -6%;
    --rj-fade:radial-gradient(closest-side,#000 58%,rgb(0 0 0/.82) 68%,rgb(0 0 0/.45) 82%,rgb(0 0 0/.14) 93%,transparent 100%);
    -webkit-mask-image:var(--rj-fade);
    mask-image:var(--rj-fade);
  }
  .rj-media--blend .rj-media__photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(closest-side,transparent 60%,color-mix(in srgb,var(--red) 38%,transparent) 100%);}
  .rj-media--arch .rj-media__photo{border-radius:999px 999px 28px 28px;box-shadow:0 0 0 2px color-mix(in srgb,var(--cream) 22%,transparent),0 34px 60px -28px rgb(0 0 0/.55);}
  .rj-media--frame .rj-media__photo{background:var(--cream);border:2px solid var(--ink);box-shadow:11px 12px 0 var(--deep);overflow:hidden;}
  .rj-media--frame{overflow:visible;}
  @supports (animation-timeline:view()){
    @media (prefers-reduced-motion:no-preference){
      .rj-media--blend img,.rj-media--arch img{scale:1.08;animation:rj-media-drift linear both;animation-timeline:view();animation-range:cover;}
    }
  }
  @keyframes rj-media-drift{from{translate:0 -3%;}to{translate:0 3%;}}
}

/* Cart drawer motion and layout.
   - The heading never runs under the round close button.
   - Touch screens and narrow windows: a bottom sheet with a grab handle that
     can be swiped down to close (redjar.js sets --rj-cart-drag/--rj-cart-dim).
   - A removed line folds away; a cleared cart brings its empty state in. */
@layer redjar.overrides {
  .cart-drawer-head{padding-right:56px;min-height:48px;}
  .cart-drawer-head h2{font-size:clamp(22px,6.4vw,31px);line-height:1.05;}
  .cart-drawer-backdrop{opacity:var(--rj-cart-dim,1);}
  @media (hover:none),(pointer:coarse),(max-width:899px){
    .cart-drawer-panel{
      top:auto;bottom:0;left:0;right:0;margin:0 auto;
      width:min(640px,100%);height:calc(100% - 28px - env(safe-area-inset-top));
      padding-top:30px;padding-bottom:calc(19px + env(safe-area-inset-bottom));
      border-radius:24px 24px 0 0;box-shadow:0 -14px 40px rgba(0,0,0,.28);
      translate:0 var(--rj-cart-drag,0px);
      animation:cart-sheet-in .42s cubic-bezier(.32,.72,0,1) both;
    }
    .cart-drawer:not(.is-dragging) .cart-drawer-panel{transition:translate .3s cubic-bezier(.22,1,.36,1);}
    .cart-drawer-panel::before{content:"";position:absolute;top:10px;left:50%;width:42px;height:5px;margin-left:-21px;border-radius:99px;background:rgba(36,24,23,.22);}
    .cart-drawer-panel .modal-close,.cart-drawer-panel .cart-drawer-close{top:22px;}
  }
  @keyframes cart-sheet-in{from{transform:translateY(100%);}to{transform:translateY(0);}}
  .cart-drawer-panel .cart-empty.is-entering>*{animation:cart-empty-rise .55s cubic-bezier(.22,1,.36,1) both;}
  .cart-drawer-panel .cart-empty.is-entering>:nth-child(1){animation-name:cart-empty-pop;animation-delay:.18s;}
  .cart-drawer-panel .cart-empty.is-entering>:nth-child(2){animation-delay:.3s;}
  .cart-drawer-panel .cart-empty.is-entering>:nth-child(3){animation-delay:.38s;}
  @keyframes cart-empty-rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
  @keyframes cart-empty-pop{from{opacity:0;transform:scale(.86) rotate(-5deg);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion:reduce){
    .cart-drawer-panel{animation:none;transition:none;}
    .cart-drawer-panel .cart-empty.is-entering>*{animation:none;}
  }
}

/* Sticky header. The header's own position:sticky could not work because its
   Shopify section wrapper is only as tall as the header, so the wrapper sticks
   instead. Header setting "sticky": touch (phones/tablets), all or none. */
@layer redjar.overrides {
  .redjar-header-section:has(.header[data-sticky="all"]){position:sticky;top:0;z-index:60;}
  .redjar-header-section:has(.header[data-sticky="all"]) .header{position:relative;}
  [id]{scroll-margin-top:90px;}
  @media (hover:none),(pointer:coarse),(max-width:899px){
    .redjar-header-section:has(.header[data-sticky="touch"]){position:sticky;top:0;z-index:60;}
    .redjar-header-section:has(.header[data-sticky="touch"]) .header{position:relative;}
    /* A blur behind a sticky bar is repainted on every scroll frame on phones. */
    .header{backdrop-filter:none;background:var(--red);}
    [id]{scroll-margin-top:78px;}
  }
  .header{transition:box-shadow .25s ease;}
  .header.is-stuck{box-shadow:0 8px 24px rgba(40,0,4,.28);}
}

/* Product cards on touch screens: animate only transform and opacity (no
   colour filter or shadow transitions), so scrolling stays smooth. */
@layer redjar.overrides {
  html.rj-touch .product-stage .product-card,
  html.rj-touch .product-stage .product-card:not(.is-active),
  html.rj-touch .product-stage .product-card.is-active{filter:none;}
  html.rj-touch .product-stage .product-card{will-change:transform;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .35s ease;}
  html.rj-touch .product-stage .tile-frame{transition:transform .5s cubic-bezier(.22,1,.36,1);}
  html.rj-touch .product-stage .tile-image{transition:transform .6s cubic-bezier(.22,1,.36,1);}
  html.rj-touch .product-stage .tile-element-badge{transition:transform .45s cubic-bezier(.22,1,.36,1);}
}

/* Alert bar (sections/redjar-alerts) and notice pop-up (sections/redjar-notice).
   Each type has its own icon and colours: info, success, warning, error,
   message (brand cream) and promo (dark). Long alert text scrolls sideways. */
@layer redjar.overrides {
  .rj-alerts{position:relative;z-index:61;}
  .rj-alert{
    --rj-alert-bg:#e7eef9;--rj-alert-fg:#123a66;--rj-alert-accent:#1f5fae;
    display:flex;align-items:center;gap:10px;min-height:40px;padding:8px max(16px,4%);
    background:var(--rj-alert-bg);color:var(--rj-alert-fg);font-size:12px;line-height:1.35;letter-spacing:.2px;
    border-bottom:1px solid color-mix(in srgb,var(--rj-alert-accent) 25%,transparent);
  }
  .rj-alert[hidden]{display:none;}
  .rj-alert--success{--rj-alert-bg:#e6f4ea;--rj-alert-fg:#14532d;--rj-alert-accent:#1e7a3d;}
  .rj-alert--warning{--rj-alert-bg:#fff3d1;--rj-alert-fg:#5c3d00;--rj-alert-accent:#b7791f;}
  .rj-alert--error{--rj-alert-bg:#fde7e7;--rj-alert-fg:#7a0710;--rj-alert-accent:#c81e1e;}
  .rj-alert--message{--rj-alert-bg:var(--cream);--rj-alert-fg:var(--red);--rj-alert-accent:var(--red);}
  .rj-alert--promo{--rj-alert-bg:var(--ink);--rj-alert-fg:var(--cream);--rj-alert-accent:#f2c14e;}
  .rj-alert-icon{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:var(--rj-alert-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .rj-alert-icon__dot{fill:var(--rj-alert-accent);stroke:none;}
  .rj-alert__viewport{flex:1 1 auto;min-width:0;overflow:hidden;}
  .rj-alert__track{display:inline-flex;gap:56px;white-space:nowrap;color:inherit;text-decoration:none;}
  a.rj-alert__track:hover .rj-alert__cta,a.rj-alert__track:focus-visible .rj-alert__cta{text-decoration-thickness:2px;}
  a.rj-alert__track:focus-visible{outline:2px solid var(--rj-alert-accent);outline-offset:2px;border-radius:4px;}
  .rj-alert__cta{margin-left:6px;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
  .rj-alert.is-marquee .rj-alert__viewport{mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);}
  .rj-alert.is-marquee .rj-alert__track{animation:rj-marquee var(--rj-marquee-duration,14s) linear infinite;}
  .rj-alert.is-marquee:hover .rj-alert__track,.rj-alert.is-marquee:focus-within .rj-alert__track{animation-play-state:paused;}
  @keyframes rj-marquee{from{transform:translateX(0);}to{transform:translateX(calc(-1 * var(--rj-marquee-distance,50%)));}}
  .rj-alert__close{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;margin-right:-6px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;}
  .rj-alert__close:hover{background:color-mix(in srgb,var(--rj-alert-fg) 10%,transparent);}
  .rj-alert__close:focus-visible{outline:2px solid var(--rj-alert-accent);outline-offset:1px;}
  @media (prefers-reduced-motion:reduce){.rj-alert__track{white-space:normal;}}

  .rj-notice{
    --rj-alert-accent:#1f5fae;
    position:fixed;inset:0;margin:auto;height:fit-content;max-height:calc(100% - 32px);overflow:auto;
    width:min(440px,calc(100% - 32px));padding:34px 28px 26px;border:0;border-radius:24px;
    background:var(--cream);color:var(--ink);text-align:center;box-shadow:0 30px 80px -20px rgba(20,0,2,.6);
  }
  .rj-notice::backdrop{background:color-mix(in srgb,var(--deep) 72%,transparent);backdrop-filter:blur(3px);}
  .rj-notice--success{--rj-alert-accent:#1e7a3d;}
  .rj-notice--warning{--rj-alert-accent:#b7791f;}
  .rj-notice--error{--rj-alert-accent:#c81e1e;}
  .rj-notice--message{--rj-alert-accent:var(--red);}
  .rj-notice--promo{--rj-alert-accent:#b8860b;}
  .rj-notice[open]{animation:rj-notice-in .42s cubic-bezier(.22,1,.36,1) both;}
  .rj-notice[open]::backdrop{animation:rj-notice-fade .3s ease both;}
  @keyframes rj-notice-in{from{opacity:0;transform:translateY(18px) scale(.96);}to{opacity:1;transform:none;}}
  @keyframes rj-notice-fade{from{opacity:0;}to{opacity:1;}}
  .rj-notice:focus{outline:none;}
  .rj-notice__badge{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:50%;background:color-mix(in srgb,var(--rj-alert-accent) 14%,transparent);}
  .rj-notice__badge .rj-alert-icon{width:28px;height:28px;}
  .rj-notice__title{margin:0 0 10px;color:var(--red);font-size:clamp(24px,6vw,30px);font-weight:400;line-height:1.08;letter-spacing:-.02em;}
  .rj-notice__text{font-size:14px;line-height:1.6;color:color-mix(in srgb,var(--ink) 82%,transparent);}
  .rj-notice__text p{margin:0 0 8px;}
  .rj-notice__text a{color:var(--red);text-decoration:underline;}
  .rj-notice__actions{display:flex;flex-direction:column;gap:9px;margin-top:20px;}
  .rj-notice__btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:11px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;cursor:pointer;}
  .rj-notice__btn--primary{border-color:var(--red);background:var(--red);color:var(--cream);}
  .rj-notice__btn--primary:hover{background:var(--deep);border-color:var(--deep);}
  .rj-notice__btn:focus-visible,.rj-notice__close:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
  .rj-notice__close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;}
  .rj-notice__close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);}
  @media (prefers-reduced-motion:reduce){.rj-notice[open],.rj-notice[open]::backdrop{animation:none;}}
}

/* Touch screens: product cards follow --rj-focus (0 to 1, set every frame by
   redjar.js from the finger or screen-middle distance) instead of switching
   between two states, so they grow and settle in step with the scroll.
   A very short transition only evens out irregular scroll events.
   [data-product-card] lifts the selector above the older two-state phone rules. */
@layer redjar.overrides {
  html.rj-touch .product-stage .product-card[data-product-card]{
    --rj-f:var(--rj-focus,0);
    transform:translateY(calc(var(--rj-f) * -5px)) scale(calc(.94 + var(--rj-f) * .085)) rotate(calc((1 - var(--rj-f)) * var(--rj-card-tilt,0deg)));
    opacity:calc(.84 + var(--rj-f) * .16);
    transition:transform .12s ease-out,opacity .12s ease-out;
    animation-fill-mode:backwards;
  }
  html.rj-touch .product-stage .product-card.tilt-right{--rj-card-tilt:-1.4deg;}
  html.rj-touch .product-stage .product-card.tilt-left{--rj-card-tilt:1.4deg;}
  @media (prefers-reduced-motion:reduce){html.rj-touch .product-stage .product-card[data-product-card]{transition:none;}}
}

/* Judge.me reviews inside the product pop-up: fit the sheet's colours and
   spacing. Judge.me styles the widget itself; this only frames it. */
@layer redjar.overrides {
  .rj-sheet__reviews{margin-top:8px;padding-top:20px;border-top:1px solid rgba(36,24,23,.14);color:var(--ink);}
  .rj-sheet__reviews .jdgm-widget{margin:0;font-family:inherit;}
  .rj-sheet__reviews .jdgm-rev-widg__title{color:var(--red);font-weight:400;text-align:left;}
  .rj-sheet__reviews .jdgm-star{color:#f2a900;}
  .rj-sheet__reviews .jdgm-write-rev-link,.rj-sheet__reviews .jdgm-ask-question-btn{border-radius:999px;background:var(--red);border-color:var(--red);color:var(--cream);}
}

/* Judge.me can add its own widgets to the page (auto-install: a reviews
   section, carousel, badges or stars). On the homepage, and on product pages
   (which show the homepage), reviews appear only inside the product pop-up,
   so anything Judge.me adds outside it is hidden. */
@layer redjar.overrides {
  body:is([data-page-type="index"],[data-page-type="product"]) :is(.jdgm-widget,.jdgm-carousel-wrapper,.jdgm-carousel,.jdgm-medals-wrapper,.jdgm-all-reviews-rating-wrapper,.jdgm-all-reviews-text,.jdgm-preview-badge,.jdgm-verified-badge-wrapper,.jdgm-revs-tab-btn):not(.rj-sheet *){display:none;}
/* FSSAI licence line in the footer (shown once a licence number is set). */
@layer redjar.overrides {
  .footer-fssai{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 6% 24px;color:var(--rj-text-subtle,var(--cream));font-size:10px;letter-spacing:1px;text-transform:uppercase;}
  .footer-fssai__logo{width:64px;height:auto;padding:4px 8px;border-radius:6px;background:var(--cream);}
}

/* Weekly batch: stock note in the product sheet, spice rule note, pre-order
   flag on homepage cards and the "Ships with" line in the cart. */
@layer redjar.overrides {
  .rj-sheet__stock{margin:-6px 0 22px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--red) 7%,transparent);color:var(--ink);font-size:13px;line-height:1.5;}
  .rj-sheet__stock.is-preorder{background:color-mix(in srgb,#b7791f 14%,transparent);}
  .rj-sheet__stock[hidden]{display:none;}
  .variant-option-note{margin:8px 0 0;color:color-mix(in srgb,var(--ink) 65%,transparent);font-size:12px;}
  .product-stage .tile-flag{display:inline-block;white-space:nowrap;margin-top:6px;padding:3px 8px;border-radius:999px;background:var(--cream);color:var(--red);font-size:8px;font-style:normal;letter-spacing:1px;}
  .cart-line-note{margin:-4px 0 9px;color:#8a5a00;font-size:10px;}
  .cart-line-note[hidden]{display:none;}
}

/* Customize (bulk request) form in the product sheet. */
@layer redjar.overrides {
  .rj-bulk{margin:0 0 24px;padding:18px;border:1px solid rgba(36,24,23,.14);border-radius:18px;background:#fbf7f1;color:var(--ink);}
  .rj-bulk[hidden]{display:none;}
  .rj-bulk__intro{margin:0 0 16px;font-size:13px;line-height:1.55;color:color-mix(in srgb,var(--ink) 75%,transparent);}
  .rj-bulk__field{display:grid;gap:6px;margin:0 0 14px;min-width:0;border:0;padding:0;}
  .rj-bulk__field>label,.rj-bulk__field legend{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 70%,transparent);padding:0;margin-bottom:6px;}
  .rj-bulk__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .rj-bulk__input{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(36,24,23,.3);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:15px;}
  .rj-bulk__input:focus-visible,.rj-bulk__kg input:focus-visible{outline:2px solid var(--red);outline-offset:1px;}
  textarea.rj-bulk__input{resize:vertical;}
  .rj-bulk__radio{position:relative;cursor:pointer;}
  .rj-bulk__radio input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
  .rj-bulk__radio:has(input:checked){background:var(--red);border-color:var(--red);color:var(--cream);}
  .rj-bulk__radio:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px;}
  .rj-bulk__kg input{width:56px;min-height:40px;border:0;background:transparent;text-align:center;font:inherit;font-size:18px;color:var(--ink);-moz-appearance:textfield;}
  .rj-bulk__kg input::-webkit-outer-spin-button,.rj-bulk__kg input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
  .variant-pill--custom{border-style:dashed;}
  .rj-sheet__add[hidden]{display:none;}
  @media (max-width:480px){.rj-bulk__row{grid-template-columns:1fr;}}
}

/* Batch bar: this week's batch per pickle, one at a time. */
@layer redjar.overrides {
  .rj-batchbar{position:relative;z-index:61;display:flex;align-items:center;justify-content:center;gap:12px;min-height:36px;padding:6px max(16px,4%);background:var(--cream);color:var(--red);font-size:11px;letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid color-mix(in srgb,var(--red) 18%,transparent);}
  .rj-batchbar__label{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:var(--red);color:var(--cream);font-size:9px;letter-spacing:1.2px;}
  .rj-batchbar__track{position:relative;display:grid;min-width:0;}
  .rj-batchbar__item{grid-area:1/1;display:flex;align-items:baseline;gap:8px;min-width:0;color:inherit;text-decoration:none;white-space:nowrap;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1);pointer-events:none;}
  .rj-batchbar__item.is-current{opacity:1;transform:none;pointer-events:auto;}
  .rj-batchbar__item strong{font-weight:800;}
  .rj-batchbar__item span{overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
  .rj-batchbar__item.is-preorder span{color:#8a5a00;}
  .rj-batchbar__item:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px;}
  @media (max-width:480px){.rj-batchbar__label{display:none;}}
  @media (prefers-reduced-motion:reduce){.rj-batchbar__item{transition:none;transform:none;}}
}

/* Coming soon: tile flag, notify-me form and batch bar item. */
@layer redjar.overrides {
  .product-stage .tile-flag--soon{background:var(--ink);color:var(--cream);}
  .rj-notify__privacy{margin:4px 0 0;font-size:11px;line-height:1.5;color:color-mix(in srgb,var(--ink) 65%,transparent);}
}

/* Three pickles: one row on wider screens (smaller cards), instead of 2 + 1. */
@layer redjar.overrides {
  @media (min-width:901px){
    .product-stage:has(> .product-card:nth-child(3):last-child) .product-card{flex-basis:clamp(220px,23vw,380px);width:clamp(220px,23vw,380px);}
  }
}
