@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--wine:#671319;--wine-dark:#4d0e13;--ink:#241d1a;--paper:#f7f4ee;--cream:#eee8df;--sand:#e9dfd2;--white:#fff;--muted:#706660;--line:#dfd6cc;--radius:16px}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}
body,button,input,select,textarea{font-family:'DM Sans',sans-serif}
button,input,select,textarea{accent-color:var(--wine)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.main-content{min-height:68vh}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);box-shadow:none}
.header-inner{max-width:1440px;min-height:76px;padding:10px clamp(20px,5vw,72px)}
.brand{display:block;flex:0 0 auto;background:var(--wine);width:150px;height:49px;overflow:hidden}
.brand img{width:150px;height:150px;max-width:none;max-height:none;object-fit:cover;object-position:center;transform:translateY(-50px)}
.site-nav{gap:42px;text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;font-weight:800}
.site-nav a:hover{color:var(--wine)}
.kn-header-right{display:flex;align-items:center;gap:22px}
.kn-header-status{font-size:.66rem;font-weight:800;letter-spacing:.13em;white-space:nowrap}
.kn-header-status i,.kn-dot{display:inline-block;width:7px;height:7px;background:#aa683f;border-radius:50%;vertical-align:middle;margin-right:8px}
.cart-link{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink);border-radius:0;padding:11px 17px;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}
.cart-link:hover{background:var(--ink)!important;color:#fff!important}
.kn-header-icon{display:grid;place-items:center;width:34px;height:40px;color:var(--ink)}
.kn-header-icon:hover{color:var(--wine)}
.kn-icon{display:block;width:21px;height:21px;flex:none}
.cart-link{display:flex;align-items:center;gap:8px;white-space:nowrap}
.cart-link .kn-icon{width:18px;height:18px}
.kn-cart-count{font-size:.68rem;font-weight:800;line-height:1}
.kn-cart-count:before{content:'·';margin-right:8px}
.kn-footer-details a:hover{text-decoration:underline;text-underline-offset:4px}

.kn-hero{display:grid;grid-template-columns:55% 45%;min-height:610px;background:var(--wine);color:#fff}
.kn-hero-copy{padding:clamp(46px,6vw,92px) clamp(22px,6vw,90px) 27px;display:flex;flex-direction:column;align-items:flex-start}
.kn-kicker{margin:0 0 27px;font-size:.67rem;letter-spacing:.18em;font-weight:800}
.kn-dot{background:#eac5a7}
.kn-hero h1{margin:0;font-family:Manrope,sans-serif;font-size:clamp(3.6rem,6.7vw,7.5rem);line-height:.9;letter-spacing:-.09em;font-weight:800}
.kn-hero h1 em,.kn-menu h2 em,.kn-closing-note h2 em{font-family:Georgia,serif;letter-spacing:-.075em;font-weight:400;text-transform:none}
.kn-hero-intro{max-width:430px;margin:31px 0 25px;color:#edddda;font-size:1rem;line-height:1.7}
.kn-primary{display:inline-flex;align-items:center;gap:38px;justify-content:space-between;padding:16px 20px;background:var(--wine);color:#fff;font-size:.73rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800;min-width:225px;border:1px solid var(--wine)}
.kn-primary-light{background:#fff;color:var(--wine);border-color:#fff}
.kn-primary span{font-size:1.25rem;line-height:.7;font-weight:400}
.kn-primary:hover{background:var(--wine-dark);color:#fff}
.kn-hero-meta{margin-top:auto;width:100%;display:flex;justify-content:space-between;opacity:.62;font-size:.6rem;letter-spacing:.17em;font-weight:800;padding-top:50px}
.kn-hero-image{position:relative;overflow:hidden;min-height:610px;background:#3e312c}
.kn-hero-image img{width:100%;height:100%;object-fit:cover;object-position:47% center;position:absolute;inset:0;filter:saturate(.75)}
.kn-image-caption{position:absolute;right:24px;bottom:24px;font-size:.6rem;letter-spacing:.18em;font-weight:800;text-shadow:0 1px 10px #000}
.kn-error-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:clamp(620px,72vh,820px);background:var(--paper)}
.kn-error-copy{min-width:0;padding:clamp(58px,7vw,108px) clamp(24px,6vw,90px) 36px;display:flex;flex-direction:column;align-items:flex-start}
.kn-error-copy .kn-dot{background:var(--wine)}
.kn-error-copy h1{font-family:Manrope,sans-serif;font-size:clamp(3.4rem,6.3vw,7rem);line-height:.93;letter-spacing:-.09em;font-weight:800;margin:0;max-width:750px}
.kn-error-copy h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}
.kn-error-intro{max-width:405px;color:var(--muted);line-height:1.7;font-size:1rem;margin:32px 0 30px}
.kn-error-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.kn-error-track{display:inline-flex;align-items:center;gap:18px;color:var(--wine);border-bottom:1px solid var(--wine);padding:13px 0;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:800}
.kn-error-track span{font-size:1.15rem;font-weight:400;line-height:.7}
.kn-error-track:hover{color:var(--wine-dark)}
.kn-error-signoff{display:flex;justify-content:space-between;gap:24px;width:100%;border-top:1px solid var(--line);margin-top:auto;padding-top:22px;color:var(--muted);font-size:.58rem;letter-spacing:.14em;font-weight:800}
.kn-error-visual{min-width:0;position:relative;overflow:hidden;background:#382b27}
.kn-error-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.7) brightness(.78)}
.kn-error-photo-label{position:absolute;top:35px;right:37px;color:#fff;text-align:right;font-size:.64rem;line-height:1.45;letter-spacing:.15em;font-weight:800}
.kn-error-number{position:absolute;left:25px;bottom:-.12em;color:#fff;font-family:Manrope,sans-serif;font-size:clamp(8rem,18vw,17rem);letter-spacing:-.1em;font-weight:800;line-height:1;opacity:.95}
.kn-intro-strip{background:var(--cream);display:grid;grid-template-columns:repeat(3,1fr);padding:0 clamp(22px,6vw,90px);border-bottom:1px solid var(--line)}
.kn-intro-strip>div{display:flex;align-items:center;gap:20px;padding:24px 28px;border-right:1px solid var(--line);font-size:.63rem;letter-spacing:.13em;font-weight:800}
.kn-intro-strip>div:first-child{padding-left:0}
.kn-intro-strip>div:last-child{border-right:0}
.kn-strip-number{font-family:Georgia,serif;font-size:1.4rem;color:var(--wine);font-style:italic;font-weight:400}
.kn-menu{max-width:1440px;margin:auto;padding:90px clamp(20px,5vw,72px) 115px}
.kn-menu-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:40px}
.kn-kicker-dark{color:var(--wine);margin-bottom:14px}
.kn-menu h2,.kn-closing-note h2{font-family:Manrope,sans-serif;font-size:clamp(2.8rem,5.3vw,5.7rem);line-height:1;letter-spacing:-.075em;margin:0;font-weight:800}
.kn-menu-heading>p{color:var(--muted);max-width:265px;line-height:1.6;margin:0 0 7px;font-size:.9rem}
.kn-menu-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:48px}
.kn-category-tabs{display:flex;gap:6px;overflow:auto;padding:0}
.kn-category-tabs a{border:1px solid var(--line);border-radius:0;color:var(--ink);padding:12px 19px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;white-space:nowrap}
.kn-category-tabs a.active,.kn-category-tabs a:hover{background:var(--wine);border-color:var(--wine);color:#fff}
.kn-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);padding:0 12px;min-width:255px;height:41px}
.kn-search span{font-size:1.6rem;line-height:1;color:var(--wine)}
.kn-search input{border:0;outline:0;background:none;width:100%;font-size:.8rem}
.kn-category{scroll-margin-top:110px;margin-bottom:70px}
.kn-category[hidden],.kn-product-card[hidden],.kn-no-results[hidden]{display:none!important}
.kn-category-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:20px}
.kn-category h3{font-family:Georgia,serif;font-size:2.1rem;font-weight:400;letter-spacing:-.05em;margin:0}
.kn-category-head span{color:var(--muted);font-size:.62rem;letter-spacing:.13em;font-weight:800}
.kn-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kn-product-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform .2s,border-color .2s}
.kn-product-card:hover{transform:translateY(-3px);border-color:#b69d91}
.kn-card-image{aspect-ratio:1/.9;display:block;overflow:hidden;background:var(--cream)}
.kn-card-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:transform .4s}
.kn-product-card:hover img{transform:scale(1.04)}
.kn-related{grid-column:1/-1;min-width:0;width:100%;margin-top:90px;padding-top:28px;border-top:1px solid var(--line)}
.kn-related .kn-category-head{border:0;margin-bottom:22px}
.kn-related h2{font:400 2.15rem Georgia,serif;letter-spacing:-.055em;margin:0}
.kn-related .kn-product-grid:has(> :only-child){grid-template-columns:minmax(0,1fr);max-width:290px}
.kn-card-body{padding:20px;display:flex;flex:1;flex-direction:column}
.kn-card-body h4{font-size:1rem;letter-spacing:-.025em;line-height:1.25;margin:0 0 7px}
.kn-card-body p{font-size:.75rem;line-height:1.5;color:var(--muted);margin:0 0 22px;min-height:2.3em}
.kn-card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}
.kn-card-bottom>span{font-size:.8rem;font-weight:800;color:var(--wine)}
.kn-card-bottom .woocommerce-Price-currencySymbol{font-size:.65rem}
.kn-card-add{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--wine);color:var(--wine);font-size:1.4rem;font-weight:400;line-height:1}
.kn-card-add:hover{background:var(--wine);color:#fff}
.kn-no-results{text-align:center;color:var(--muted);padding:40px}
.kn-closing-note{background:var(--wine);color:#fff;padding:70px clamp(20px,6vw,90px);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}
.kn-closing-note h2{font-size:clamp(3rem,5vw,5.8rem)}
.kn-closing-note>div:last-child{max-width:340px;justify-self:end}
.kn-closing-note p:not(.kn-kicker){color:#ead4d0;line-height:1.65}
.kn-closing-note a{display:flex;justify-content:space-between;border-bottom:1px solid #b58e8b;padding:13px 0;text-transform:uppercase;font-size:.69rem;font-weight:800;letter-spacing:.1em}
.site-footer{max-width:none;margin:0;background:#211b19;color:#fff;padding:55px clamp(20px,5vw,72px) 45px;display:flex;justify-content:space-between;align-items:end}
.kn-footer-brand{font-family:Manrope,sans-serif;letter-spacing:-.09em;font-weight:800;font-size:clamp(2.5rem,5vw,5.5rem);line-height:1}
.kn-footer-brand span{display:block;letter-spacing:.15em;font-size:.57rem;margin-top:11px;font-family:'DM Sans',sans-serif}
.kn-footer-details{display:flex;flex-direction:column;gap:6px;text-align:right;color:#c0b9b5;font-size:.71rem}
.kn-footer-details span:first-child{text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#fff}

/* Product view */
.main-content .woocommerce{max-width:1220px;padding:0 28px;margin:50px auto 90px}
body.woocommerce{max-width:none;margin:0;padding:0}
body.single-product .main-content>.product{max-width:1220px;padding:0 28px;margin:50px auto 90px}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);column-gap:clamp(36px,5vw,85px);align-items:start;max-width:100%;width:100%;margin:0}
.woocommerce div.product div.images{grid-column:1;grid-row:1;width:100%;margin:0}
.woocommerce div.product div.summary{grid-column:2;grid-row:1;width:100%;margin:0;padding:15px 0}
.woocommerce div.product .woocommerce-tabs{display:none}
.woocommerce div.product .related.products{grid-column:1/-1;min-width:0;width:100%;margin-top:95px;border-top:1px solid var(--line);padding-top:28px;overflow:visible}
.woocommerce div.product .related.products{display:block}
.woocommerce div.product .related.products>h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;letter-spacing:-.04em;margin:0 0 25px}
.woocommerce div.product .related.products ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0}
.woocommerce div.product .related.products li.product{width:auto!important;margin:0!important;min-width:0}
.woocommerce .related.products li.product img{display:block!important;width:100%;height:210px;object-fit:cover}
.woocommerce .related.products li.product .button{margin-top:auto}
.woocommerce-product-gallery{min-height:0!important;background:transparent!important;display:block!important;overflow:hidden}
.woocommerce-product-gallery,.woocommerce-product-gallery img{border-radius:0!important}
.woocommerce-product-gallery:after{content:none!important}
.woocommerce-product-gallery img{display:block!important;width:100%!important;height:min(650px,55vw)!important;object-fit:cover;object-position:center;background:var(--cream)}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger{display:none!important}
.woocommerce div.product .product_title{font-family:Manrope,sans-serif;font-size:clamp(2.4rem,4.5vw,5.1rem);line-height:.98;letter-spacing:-.075em;margin:0 0 17px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--wine);font-size:1.2rem;font-weight:800;margin:0 0 15px}
.woocommerce .summary:before{content:'KNOCKED · MADE FRESH';display:block;color:var(--wine);font-size:.64rem;font-weight:800;letter-spacing:.17em;margin-bottom:23px}
.knocked-product-description{font-size:.92rem;color:var(--muted);line-height:1.65;max-width:480px;margin:0 0 28px}
.woocommerce div.product form.cart{margin:0}
.woocommerce div.product form.cart .variations{margin:0 0 20px;border:0}
.woocommerce div.product form.cart .variations tbody{display:block}
.woocommerce div.product form.cart .variations tr.kn-option-row{display:block;border:0}
.woocommerce div.product form.cart .variations tr.kn-option-row th{display:none}
.woocommerce div.product form.cart .variations tr.kn-option-row td{display:block;width:100%;padding:0}
.kn-option-group{position:relative;margin:9px 0 15px}
.kn-option-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.kn-option-heading strong{font-size:.84rem;font-weight:800}
.kn-option-heading span{font-size:.55rem;letter-spacing:.12em;color:var(--muted);font-weight:800}
.kn-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kn-option-card{display:flex;align-items:center;gap:12px;min-height:76px;text-align:left;padding:8px;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:.82rem;font-weight:800;cursor:pointer;position:relative}
.kn-option-card img{width:58px;height:58px;object-fit:cover;flex:0 0 58px}
.kn-option-card:hover{border-color:#b99488}
.kn-option-card[aria-pressed=true]{border:2px solid var(--wine);background:#fffaf6;padding:7px}
.kn-option-card[aria-pressed=true]:after{content:'✓';position:absolute;right:9px;top:8px;font-size:.65rem;color:var(--wine)}
.kn-native-select{position:absolute!important;top:0!important;left:0!important;right:auto!important;min-width:0!important;max-width:1px!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
.woocommerce div.product form.cart .reset_variations{float:none;display:block!important;color:var(--muted);font-size:.68rem;text-decoration:underline;margin:0 0 10px}
.woocommerce div.product form.cart .single_variation{color:var(--wine);font-weight:800}
.kn-item-note{margin:22px 0}
.kn-item-note label{display:block;font-size:.84rem;font-weight:800;margin-bottom:10px}
.kn-item-note small{font-weight:400;color:var(--muted)}
.kn-item-note textarea{width:100%;resize:vertical;padding:14px;border:1px solid var(--line);background:#fff;border-radius:0;min-height:70px;font-size:.82rem}
.woocommerce div.product form.cart .quantity{display:inline-flex;vertical-align:middle;border:1px solid var(--line);background:#fff;margin:0 10px 0 0!important;height:52px}
.woocommerce .quantity .qty{width:43px;height:50px;border:0!important;background:#fff;text-align:center;appearance:textfield}
.woocommerce .quantity .qty::-webkit-inner-spin-button,.woocommerce .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.kn-qty-btn{width:37px;border:0;background:#fff;color:var(--ink);font-size:1.35rem;cursor:pointer}
.kn-qty-btn:hover{color:var(--wine)}
.woocommerce div.product form.cart .single_add_to_cart_button{height:52px;min-width:195px;margin:0!important}
.woocommerce div.product form.cart .single_add_to_cart_button.disabled{opacity:.5}

/* Commerce pages */
.woocommerce-page .section{max-width:1230px;padding:25px 28px 90px}
.woocommerce-page .section>.woocommerce{margin:30px auto}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{max-width:1120px}
.woocommerce h2,.woocommerce h3{font-family:Georgia,serif;letter-spacing:-.045em}
.woocommerce .woocommerce-notices-wrapper{font-size:.85rem}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#f0e8df;border-top:2px solid var(--wine);color:var(--ink)}
.woocommerce-message:before,.woocommerce-info:before{color:var(--wine)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.woocommerce #payment #place_order,.woocommerce .checkout-button{background:var(--wine)!important;color:#fff!important;border-radius:0!important;box-shadow:none!important;padding:15px 20px!important;line-height:1.2!important;text-transform:uppercase;font-size:.68rem!important;letter-spacing:.1em!important;font-weight:800!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #payment #place_order:hover{background:var(--wine-dark)!important}
.woocommerce table.shop_table{border:0;border-radius:0;border-collapse:collapse;background:transparent}
.woocommerce table.shop_table th{font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:800;border-color:var(--line)}
.woocommerce table.shop_table td{border-color:var(--line)}
.woocommerce-cart table.cart img{width:96px;height:96px;object-fit:cover}
.woocommerce-cart table.cart .product-name a{font-size:1rem;font-weight:800}
.woocommerce-cart table.cart .product-name dl.variation{font-size:.73rem;color:var(--muted)}
.woocommerce-cart table.cart .product-remove a{display:grid;place-items:center;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--wine)!important}
.woocommerce-cart table.cart .product-remove a:hover{background:var(--wine);color:#fff!important}
.woocommerce-cart .cart-collaterals{margin-top:30px}
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%;max-width:440px;margin-left:auto;background:#fff;border:1px solid var(--line);padding:28px}
.woocommerce-cart .cart-collaterals h2{font-size:1.8rem;margin:0 0 15px}
.woocommerce-cart .coupon input.input-text{min-width:180px;width:auto!important;height:44px;padding:10px;border:1px solid var(--line)}
.woocommerce-cart table.cart td.actions .button{min-height:44px}
.woocommerce-cart .cart-collaterals .checkout-button{display:flex;justify-content:center}
.woocommerce-checkout .checkout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);column-gap:40px;row-gap:0;align-items:start}
.woocommerce-checkout .checkout .woocommerce-NoticeGroup{grid-column:1/-1;grid-row:1;margin-bottom:24px;min-width:0}
.woocommerce-checkout .checkout #customer_details{grid-column:1;grid-row:2;min-width:0}
.woocommerce-checkout .checkout #order_review_heading{grid-column:2;grid-row:2;margin:0;background:#fff;padding:25px 25px 0;border:1px solid var(--line);border-bottom:0;font-size:1.8rem}
.woocommerce-checkout .checkout #order_review{grid-column:2;grid-row:2;margin-top:62px;background:#fff;border:1px solid var(--line);border-top:0;padding:0 25px 25px;min-width:0}
.woocommerce-checkout .col2-set{display:block}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:100%}
.woocommerce-checkout h3{font-size:1.8rem}
.woocommerce-checkout .col2-set h3{margin-top:0;margin-bottom:25px}
.woocommerce-checkout .form-row{margin-bottom:17px}
.woocommerce-checkout .form-row label{font-size:.78rem;font-weight:800;margin-bottom:7px}
.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row textarea,.woocommerce-checkout .form-row select{display:block;width:100%;height:48px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:0}
.woocommerce-checkout .form-row textarea{height:88px;resize:vertical}
.woocommerce-checkout #order_review .shop_table{margin-bottom:20px}
.woocommerce-checkout #payment{background:var(--cream);border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-color:var(--line)}
.woocommerce-checkout #payment div.payment_box{background:#fff;color:var(--ink);font-size:.8rem;border-radius:0}
.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:#fff}
.woocommerce-checkout #payment .place-order{padding:18px}
.woocommerce-checkout #payment #place_order{float:none;width:100%;height:52px}
.woocommerce-checkout .pickup-note{margin:0 0 35px;padding:22px;background:var(--wine);color:#fff;border-radius:0;align-items:center}
.woocommerce-checkout .pickup-note span{display:block;font-size:.78rem;color:#efdbd6}
.woocommerce-checkout .pickup-note a{display:block;font-size:.78rem;color:#efdbd6;text-decoration:underline;text-underline-offset:3px}
.woocommerce-checkout .pickup-note>span{max-width:160px}
.kn-checkout-page{max-width:1290px;margin:0 auto;padding:46px clamp(20px,5vw,72px) 110px}
.kn-checkout-page>.woocommerce{max-width:none;margin:0;padding:0}
.kn-checkout-page .woocommerce-form-coupon-toggle{display:none}
.kn-checkout-page .pickup-note{margin:0 0 30px}
.kn-checkout-page .kn-page-intro>p:last-child{margin-bottom:35px}
.kn-checkout-page .woocommerce-privacy-policy-text{display:none}
.kn-checkout-intro{font-size:.8rem;color:var(--muted);margin:-12px 0 24px}
.kn-thankyou-details{background:#fff;border:1px solid var(--line);padding:28px;max-width:580px;margin:30px 0}
.kn-thankyou-details h2{font:400 1.9rem Georgia,serif;margin:0 0 15px}
.kn-thankyou-details p{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;margin:0;font-size:.82rem}
.kn-thankyou-track{max-width:580px;margin:30px 0 55px;padding:28px;background:var(--cream);border:1px solid var(--line)}
.kn-thankyou-track h2{font:400 1.8rem Georgia,serif;margin:0 0 8px}
.kn-thankyou-track p{font-size:.82rem;color:var(--muted);margin:0 0 20px}
.kn-thankyou-track .kn-primary{min-width:190px}
.woocommerce-checkout .checkout #order_review_heading{font-family:Georgia,serif}
.kn-cart-page{max-width:1290px;margin:0 auto;padding:46px clamp(20px,5vw,72px) 110px}
.kn-page-intro>a{display:inline-block;color:var(--wine);font-size:.66rem;letter-spacing:.1em;font-weight:800;margin-bottom:38px}
.kn-page-intro .kn-kicker{margin:0 0 15px}
.kn-page-intro h1{font:800 clamp(2.8rem,5vw,5.8rem)/.96 Manrope,sans-serif;letter-spacing:-.08em;margin:0 0 18px}
.kn-page-intro h1 em{font:400 italic 1em Georgia,serif;letter-spacing:-.07em}
.kn-page-intro>p:last-child{color:var(--muted);margin:0 0 44px}
.kn-cart-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:55px;align-items:start}
.kn-cart-items{min-width:0}
.kn-cart-list-head{display:flex;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--ink);font-size:.66rem;letter-spacing:.13em;font-weight:800}
.kn-cart-item{display:flex;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}
.kn-cart-item-image{flex:0 0 112px;width:112px;height:112px;background:var(--cream)}
.kn-cart-item-image img{width:100%;height:100%;object-fit:cover}
.kn-cart-item-main{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0}
.kn-cart-item-top{display:flex;justify-content:space-between;gap:18px}
.kn-cart-item-top h2{font:800 1.1rem/1.25 Manrope,sans-serif;letter-spacing:-.03em;margin:0 0 7px}
.kn-cart-item-top strong{white-space:nowrap;font-size:.82rem;color:var(--wine)}
.kn-cart-item-options{font-size:.71rem;color:var(--muted)}
.kn-cart-item-options dl.variation{margin:0}
.kn-cart-item-options dt,.kn-cart-item-options dd{display:inline;margin:0;padding:0}
.kn-cart-item-options dd:after{content:' · '}
.kn-cart-item-options dd:last-child:after{content:''}
.kn-cart-item-options p{display:inline}
.kn-cart-item-bottom{display:flex;align-items:center;gap:17px}
.kn-cart-item-bottom .quantity{display:inline-flex;border:1px solid var(--line);background:#fff;height:40px}
.kn-cart-item-bottom .quantity .qty{width:39px;height:38px}
.kn-cart-item-bottom .kn-qty-btn{width:29px;font-size:1.05rem}
.kn-remove-item{color:var(--muted);font-size:.7rem;text-decoration:underline;text-underline-offset:3px}
.kn-remove-item:hover{color:var(--wine)}
.kn-cart-actions{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:20px 0}
.kn-cart-actions details{flex:1}
.kn-cart-actions summary{cursor:pointer;font-size:.72rem;font-weight:800;color:var(--wine)}
.kn-coupon{display:flex;gap:6px;margin-top:14px}
.kn-coupon input{width:140px;min-width:0;border:1px solid var(--line);padding:9px}
.kn-coupon button,.kn-update-cart{border:1px solid var(--ink);background:transparent;color:var(--ink);text-transform:uppercase;font-size:.61rem;letter-spacing:.08em;padding:10px 13px;font-weight:800;cursor:pointer}
.kn-coupon button:hover,.kn-update-cart:hover{background:var(--ink);color:#fff}
.kn-cart-summary{background:#fff;border:1px solid var(--line);padding:30px}
.kn-cart-summary h2{font:400 2rem Georgia,serif;letter-spacing:-.05em;margin:0 0 25px}
.kn-total-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;font-size:.8rem}
.kn-total-row span:last-child{font-weight:800}
.kn-grand-total{border:0;padding:23px 0;font-size:1.1rem;font-weight:800}
.kn-grand-total span:last-child{color:var(--wine)}
.kn-summary-checkout{display:flex;align-items:center;justify-content:space-between;background:var(--wine);color:#fff;padding:16px;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em;font-weight:800}
.kn-summary-checkout:hover{background:var(--wine-dark)}
.kn-summary-checkout span{font-size:1.2rem;font-weight:400;line-height:.7}
.kn-cart-summary>p:last-child{color:var(--muted);font-size:.68rem;text-align:center;margin:16px 0 0}
.kn-empty-cart{text-align:center;background:#fff;border:1px solid var(--line);padding:60px 20px}
.kn-empty-cart>span{font-family:Georgia,serif;font-size:3rem;color:var(--wine)}
.kn-empty-cart h2{font:400 2.4rem Georgia,serif;margin:9px 0}
.kn-empty-cart p{color:var(--muted)}
.kn-empty-cart .kn-primary{margin:18px auto 0}
.knocked-order-bar{background:var(--wine);border-radius:0;max-width:600px;padding:17px 20px;bottom:18px;box-shadow:0 13px 32px #31101336;text-transform:uppercase;font-size:.67rem;letter-spacing:.08em}
.knocked-order-bar span:last-child{font-size:.78rem}
.closed-overlay{background:#160f0eef}
.closed-card{border-radius:0}
.closed-card .clock{font-size:2.2rem}
.closed-card h1{font-family:Manrope,sans-serif;letter-spacing:-.07em}
.kn-closed-mark{width:52px;height:52px;border:2px solid var(--wine);border-radius:50%;margin:0 auto 20px;position:relative}
.kn-closed-mark:before{content:'';position:absolute;width:2px;height:16px;background:var(--wine);left:23px;top:10px}
.kn-closed-mark:after{content:'';position:absolute;width:13px;height:2px;background:var(--wine);left:23px;top:25px;transform:rotate(35deg);transform-origin:left center}
.woocommerce div.product form.cart .variations tr.kn-option-row{margin:0;padding:0}
.kn-track-page{max-width:1290px;margin:0 auto;padding:46px clamp(20px,5vw,72px) 110px}
.kn-track-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:22px;align-items:start}
.kn-track-panel,.kn-track-result{background:#fff;border:1px solid var(--line);padding:clamp(23px,3vw,42px)}
.kn-track-panel h2,.kn-track-result h2{font:400 clamp(1.7rem,3vw,2.5rem) Georgia,serif;letter-spacing:-.05em;margin:0 0 10px}
.kn-track-panel>p,.kn-track-result>p{font-size:.83rem;color:var(--muted);line-height:1.65;max-width:440px;margin:0 0 28px}
.kn-track-form{display:flex;flex-direction:column;gap:9px}
.kn-track-form label{font-size:.72rem;font-weight:800;margin-top:10px}
.kn-track-form input{width:100%;height:52px;border:1px solid var(--line);background:var(--paper);padding:0 15px;border-radius:0;font-size:.86rem}
.kn-track-form button{display:flex;justify-content:space-between;align-items:center;background:var(--wine);border:1px solid var(--wine);color:#fff;margin-top:18px;padding:17px 18px;text-align:left;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em;font-weight:800;cursor:pointer}
.kn-track-form button:hover{background:var(--wine-dark)}
.kn-track-form button span{font-size:1.15rem;line-height:.6}
.kn-track-error{padding:13px 15px;margin:0 0 18px;border-left:3px solid var(--wine);background:#f8e8e6;color:var(--wine);font-size:.8rem}
.kn-track-help{background:var(--wine);color:#fff;padding:clamp(28px,4vw,58px);min-height:445px;display:flex;flex-direction:column;align-items:flex-start}
.kn-track-help>span,.kn-track-result-top{font-size:.63rem;letter-spacing:.13em;font-weight:800}
.kn-track-help h2{font:800 clamp(2.7rem,4vw,5rem)/.98 Manrope,sans-serif;letter-spacing:-.08em;margin:auto 0 20px}
.kn-track-help p{max-width:330px;font-size:.85rem;line-height:1.65;color:#ebd7d4;margin:0 0 30px}
.kn-track-help a{border-bottom:1px solid #b98b87;padding-bottom:10px;font-size:.66rem;font-weight:800;letter-spacing:.1em}
.kn-track-result-top{display:flex;justify-content:space-between;color:var(--wine);border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}
.kn-track-result h2{margin-bottom:8px}
.kn-track-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:34px 0 36px}
.kn-track-steps li{position:relative;padding:39px 5px 0 0;color:var(--muted);font-size:.68rem;font-weight:800;line-height:1.35}
.kn-track-steps li:before{content:'';height:2px;background:var(--line);position:absolute;top:14px;left:0;right:0}
.kn-track-steps li.is-current:before{background:var(--wine)}
.kn-track-steps li span{display:grid;place-items:center;position:absolute;top:0;left:0;width:30px;height:30px;background:var(--cream);border:1px solid var(--line);border-radius:50%;font-size:.71rem;color:var(--muted)}
.kn-track-steps li.is-current span{background:var(--wine);border-color:var(--wine);color:#fff}
.kn-track-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.kn-track-details>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;font-size:.76rem;border-bottom:1px solid var(--line)}
.kn-track-details>div:last-child{border:0}
.kn-track-details span{color:var(--muted)}
.kn-track-details strong,.kn-track-details a{text-align:right;font-weight:800}
.kn-track-details a{color:var(--wine)}
.kn-track-result h3{font:400 1.6rem Georgia,serif;margin:28px 0 8px}
.kn-track-items{margin:0;padding:0;list-style:none}
.kn-track-items li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0;font-size:.78rem}
.kn-track-items li strong{white-space:nowrap}
.woocommerce-account .woocommerce{max-width:1120px;margin:50px auto 100px}
.woocommerce-account .woocommerce h2{font:400 2.3rem Georgia,serif}
.woocommerce-account .woocommerce form.login,.woocommerce-account .woocommerce form.register{background:#fff;border:1px solid var(--line);border-radius:0;padding:32px}
.woocommerce-account .woocommerce form .form-row input.input-text{background:var(--paper);border:1px solid var(--line);border-radius:0;padding:12px;height:48px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--line);background:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border:0}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:14px 18px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--wine);color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{background:#fff;border:1px solid var(--line);padding:30px;min-height:250px}
@media(min-width:701px){.knocked-order-bar{display:none}}
.hours-pill{border-radius:0}

@media(max-width:900px){
 .kn-hero{grid-template-columns:1fr 44%;min-height:510px}.kn-hero-image{min-height:510px}.kn-hero h1{font-size:clamp(3.5rem,7vw,5.6rem)}
 .kn-error-page{grid-template-columns:1fr 44%;min-height:570px}.kn-error-copy h1{font-size:clamp(3.2rem,6vw,5.7rem)}.kn-error-actions{gap:16px}
 .kn-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .woocommerce div.product{column-gap:28px}
 .woocommerce-checkout .checkout{column-gap:25px;row-gap:0}
}
@media(max-width:700px){
 .header-inner{min-height:66px;padding:9px 16px}.brand{width:118px;height:40px}.brand img{width:118px;height:118px;transform:translateY(-39px)}
 .site-nav,.kn-header-status{display:none}.kn-header-right{gap:7px}.kn-header-icon{width:29px;height:38px}.kn-header-icon .kn-icon{width:20px;height:20px}.cart-link{padding:9px 9px;font-size:.63rem;gap:4px}.cart-link .kn-icon{width:18px;height:18px}.kn-cart-label{display:none}.kn-cart-count:before{content:none}
 .kn-hero{display:block}.kn-hero-copy{min-height:430px;padding:50px 22px 23px}.kn-hero h1{font-size:clamp(3.1rem,12vw,5.5rem)}.kn-hero-intro{font-size:.93rem;margin-top:24px}.kn-hero-meta{padding-top:28px}
 .kn-hero-image{min-height:320px;height:44vh;max-height:450px}
 .kn-error-page{display:block;min-height:0}.kn-error-copy{min-height:490px;padding:50px 20px 23px}.kn-error-copy h1{font-size:clamp(3rem,11vw,5rem)}.kn-error-copy h1 em{white-space:normal}.kn-error-intro{font-size:.9rem;margin:25px 0 23px}.kn-error-actions{align-items:flex-start;gap:12px}.kn-error-actions .kn-primary{min-width:215px}.kn-error-signoff{margin-top:50px;font-size:.5rem}.kn-error-visual{height:320px}.kn-error-photo-label{top:23px;right:20px}.kn-error-number{left:15px;font-size:clamp(8.5rem,42vw,14rem)}
 .kn-intro-strip{padding:0 15px;grid-template-columns:1fr 1fr 1fr}.kn-intro-strip>div{padding:18px 7px;display:block;font-size:.49rem;line-height:1.4}.kn-intro-strip>div:first-child{padding-left:0}.kn-strip-number{display:block;font-size:1.15rem;margin-bottom:5px}
 .kn-menu{padding:60px 16px 75px}.kn-menu-heading{display:block;margin-bottom:25px}.kn-menu-heading>p{margin-top:15px;font-size:.8rem}.kn-menu h2{font-size:3rem}
 .kn-menu-tools{display:block;padding-bottom:17px;margin-bottom:35px}.kn-category-tabs{margin-bottom:13px}.kn-category-tabs a{padding:10px 13px;font-size:.61rem}.kn-search{min-width:0;width:100%}
 .kn-category{margin-bottom:45px}.kn-category h3{font-size:1.8rem}.kn-product-grid{gap:10px}.kn-card-image{aspect-ratio:1/.93}.kn-card-body{padding:13px}.kn-card-body h4{font-size:.87rem}.kn-card-body p{font-size:.68rem;min-height:2em;margin-bottom:13px}.kn-card-bottom>span{font-size:.68rem}.kn-card-add{width:31px;height:31px;font-size:1.2rem}
 .kn-closing-note{grid-template-columns:1fr;gap:14px;padding:58px 20px}.kn-closing-note h2{font-size:3.5rem}.kn-closing-note>div:last-child{justify-self:start}
 .site-footer{display:block;padding:45px 20px 110px}.kn-footer-details{text-align:left;margin-top:35px}.kn-footer-brand{font-size:3.6rem}
 .main-content .woocommerce{padding:0 16px;margin:22px auto 75px}
 body.single-product .main-content>.product{padding:0 16px;margin:22px auto 75px}
 .woocommerce div.product{display:block}
 .woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;margin:0}
 .woocommerce-product-gallery img{height:430px!important}
 .woocommerce div.product div.summary{padding:28px 0 0}
 .woocommerce div.product .product_title{font-size:2.8rem}
 .woocommerce div.product .related.products{margin-top:60px}
 .kn-related{margin-top:60px}.kn-related .kn-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kn-related .kn-category-head{display:block}.kn-related h2{font-size:1.8rem}.kn-related .kn-category-head span{display:block;margin-top:8px}
 .kn-related .kn-product-grid:has(> :only-child){max-width:100%}
 .woocommerce div.product .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .woocommerce .related.products li.product img{height:155px}
 .kn-option-card{min-height:65px;padding:6px;gap:8px;font-size:.73rem}.kn-option-card img{width:48px;height:48px;flex-basis:48px}
 .woocommerce div.product form.cart .single_add_to_cart_button{min-width:0;flex:1}
 .woocommerce-page .section{padding:10px 16px 70px}
 .woocommerce-checkout .checkout{display:block}
 .woocommerce-checkout .checkout #order_review_heading{margin-top:35px}
 .woocommerce-checkout .checkout #order_review{margin-top:0}
 .woocommerce-checkout .pickup-note>span{display:none}
 .woocommerce-cart .cart-collaterals .cart_totals{max-width:none}
 .kn-cart-page{padding:25px 16px 85px}.kn-page-intro>a{margin-bottom:24px}.kn-page-intro h1{font-size:3rem}.kn-page-intro>p:last-child{margin-bottom:30px}
 .kn-checkout-page{padding:25px 16px 85px}
 .kn-cart-layout{display:block}.kn-cart-item{gap:12px}.kn-cart-item-image{width:86px;height:86px;flex-basis:86px}.kn-cart-item-top h2{font-size:.88rem}.kn-cart-item-top strong{font-size:.72rem}.kn-cart-item-bottom{margin-top:15px}.kn-cart-summary{margin-top:28px;padding:22px}
 .woocommerce-cart table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap}
 .woocommerce-cart .coupon input.input-text{min-width:0;flex:1}
 .woocommerce-cart table.cart img{width:64px;height:64px}
 .knocked-order-bar{bottom:10px;width:calc(100% - 20px)}
 .kn-track-page{padding:25px 16px 85px}.kn-track-layout{display:block}.kn-track-panel,.kn-track-result{padding:22px}.kn-track-help,.kn-track-result{margin-top:15px}.kn-track-help{min-height:370px}.kn-track-steps li{font-size:.59rem}.kn-track-result-top{font-size:.54rem}
}

/* Knocked motion and surface system */
:root{--kn-ease:cubic-bezier(.22,1,.36,1);--kn-shadow:0 18px 42px rgba(45,27,24,.09)}
.site-header{transition:box-shadow .35s ease,background-color .35s ease}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(38,21,19,.08)}
.brand{border-radius:5px}
.site-nav a{position:relative;transition:color .25s ease}
.site-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--wine);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--kn-ease)}
.kn-header-icon{border-radius:10px;transition:background-color .28s ease,color .28s ease,transform .35s var(--kn-ease)}
.kn-primary,.kn-summary-checkout,.kn-track-form button,.kn-coupon button,.kn-update-cart,.kn-card-add,.kn-category-tabs a,.cart-link{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .35s ease,transform .4s var(--kn-ease)}
.kn-primary,.kn-summary-checkout,.kn-track-form button,.kn-coupon button,.kn-update-cart,.cart-link{border-radius:11px}
.kn-category-tabs a{border-radius:999px}
.kn-search{border-radius:11px;transition:border-color .3s ease,box-shadow .3s ease}
.kn-search:focus-within{border-color:var(--wine);box-shadow:0 0 0 4px rgba(103,19,25,.08)}
.kn-hero-image{border-radius:20px 0 0 20px}
.kn-product-card{border-radius:18px;overflow:hidden;transition:transform .45s var(--kn-ease),border-color .3s ease,box-shadow .45s ease}
.kn-product-card img{transition:transform .7s var(--kn-ease),filter .45s ease}
.kn-card-add{border-radius:10px}
.kn-option-card{border-radius:12px;transition:border-color .25s ease,background-color .25s ease,box-shadow .3s ease,transform .35s var(--kn-ease)}
.kn-option-card img{border-radius:8px}
.kn-option-card[aria-pressed=true]{border-width:1px;padding:8px;box-shadow:0 0 0 3px rgba(103,19,25,.09)}
.woocommerce-product-gallery,.woocommerce-product-gallery img{border-radius:20px!important}
.woocommerce div.product form.cart .quantity,.kn-cart-item-bottom .quantity{border-radius:11px;overflow:hidden}
.kn-qty-btn{transition:background-color .25s ease,color .25s ease,transform .25s var(--kn-ease)}
.kn-cart-item-image{border-radius:14px;overflow:hidden}
.kn-cart-item-image img{transition:transform .55s var(--kn-ease)}
.kn-cart-summary,.kn-empty-cart,.kn-track-panel,.kn-track-result,.kn-track-help,.kn-thankyou-details,.kn-thankyou-track{border-radius:18px}
.kn-cart-summary{box-shadow:0 12px 35px rgba(45,27,24,.045)}
.kn-coupon input,.kn-item-note textarea,.kn-track-form input,.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row textarea,.woocommerce-checkout .form-row select{border-radius:11px;transition:border-color .25s ease,box-shadow .3s ease,background-color .3s ease}
.kn-coupon input:focus,.kn-item-note textarea:focus,.kn-track-form input:focus,.woocommerce-checkout .form-row input.input-text:focus,.woocommerce-checkout .form-row textarea:focus,.woocommerce-checkout .form-row select:focus{border-color:var(--wine);box-shadow:0 0 0 4px rgba(103,19,25,.08)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.woocommerce #payment #place_order,.woocommerce .checkout-button{border-radius:11px!important;transition:background-color .3s ease,box-shadow .35s ease,transform .4s var(--kn-ease)}
.woocommerce-checkout .checkout #order_review_heading{border-radius:18px 18px 0 0}
.woocommerce-checkout .checkout #order_review{border-radius:0 0 18px 18px}
.woocommerce-checkout #payment,.woocommerce-checkout #payment div.payment_box{border-radius:12px}
.woocommerce-checkout .pickup-note,.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:12px}
.woocommerce-checkout .kn-phone-input-wrap{display:flex;align-items:center;min-height:48px;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.woocommerce-checkout .kn-phone-input-wrap .kn-phone-prefix{align-self:stretch;display:flex;align-items:center;padding:0 14px;border-right:1px solid var(--line);background:var(--cream);font-weight:800;color:var(--wine);white-space:nowrap}
.woocommerce-checkout .kn-phone-input-wrap input.input-text{flex:1;min-width:0;height:46px;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent}
.woocommerce-checkout .kn-phone-input-wrap:focus-within{border-color:var(--wine);box-shadow:0 0 0 4px rgba(103,19,25,.08)}
.knocked-order-bar{border-radius:14px;transition:transform .4s var(--kn-ease),box-shadow .35s ease,background-color .3s ease}
.closed-card{border-radius:22px}
.hours-pill{border-radius:11px}
.kn-track-error{border-radius:10px}

/* Site-wide follow and location dialog */
.kn-follow-trigger{appearance:none;border:0;background:transparent;padding:0;cursor:pointer}
.kn-footer-follow{appearance:none;border:0;background:none;color:inherit;padding:0;cursor:pointer;font:inherit;text-align:inherit}
.kn-footer-follow:hover{text-decoration:underline;text-underline-offset:4px}
.kn-follow-dialog{position:fixed;inset:0;margin:auto;width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid rgba(103,19,25,.13);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 28px 90px rgba(18,9,8,.28);overflow:auto;overscroll-behavior:contain}
.kn-follow-dialog::backdrop{background:rgba(24,14,13,.62);backdrop-filter:blur(5px)}
.kn-follow-panel{min-width:0}
.kn-follow-head{position:relative;background:var(--wine);color:#fff;padding:44px 38px 34px}
.kn-follow-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:transparent;color:#fff;font-size:1.45rem;line-height:1;cursor:pointer;transition:background-color .25s ease,transform .3s var(--kn-ease)}
.kn-follow-close:hover{background:rgba(255,255,255,.13);transform:rotate(90deg)}
.kn-follow-kicker{display:block;font-size:.62rem;font-weight:800;letter-spacing:.18em;color:#e3c7bd}
.kn-follow-head h2{margin:17px 0 11px;font-family:Manrope,sans-serif;font-size:clamp(2.6rem,7vw,3.7rem);font-weight:800;line-height:1;letter-spacing:-.075em}
.kn-follow-head h2 span{color:#d9aa9a}
.kn-follow-head p{max-width:340px;margin:0;color:#efdcda;font-size:.88rem;line-height:1.6}
.kn-follow-list{display:grid;gap:9px;padding:20px}
.kn-follow-link{display:flex;align-items:center;gap:15px;min-height:74px;padding:11px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .25s ease,background-color .25s ease,transform .35s var(--kn-ease),box-shadow .35s ease}
a.kn-follow-link:hover{border-color:var(--wine);background:#fffdfa;transform:translateY(-2px);box-shadow:0 9px 24px rgba(50,25,22,.08)}
.kn-follow-glyph{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;background:var(--cream);color:var(--wine);font-family:Manrope,sans-serif;font-size:.74rem;font-weight:800;letter-spacing:-.04em}
.kn-follow-glyph img{display:block;width:20px;height:20px;object-fit:contain}
.kn-follow-text{display:grid;gap:3px;min-width:0}
.kn-follow-text strong{font-size:.86rem;font-weight:800}
.kn-follow-text small{font-size:.69rem;color:var(--muted);line-height:1.4}
.kn-follow-arrow{margin-left:auto;color:var(--wine);font-size:1.15rem;line-height:1}
.kn-follow-link.is-unavailable{opacity:.57}
.kn-follow-signoff{margin:0;padding:0 22px 23px;color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.13em;text-align:center}

@media(hover:hover){
 .site-nav a:hover:after{transform:scaleX(1)}
 .kn-header-icon:hover{background:var(--cream);transform:translateY(-2px)}
 .kn-primary:hover,.kn-summary-checkout:hover,.kn-track-form button:hover,.kn-coupon button:hover,.kn-update-cart:hover,.cart-link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #payment #place_order:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(73,21,23,.15)}
 .kn-primary:active,.kn-summary-checkout:active,.kn-track-form button:active,.kn-coupon button:active,.kn-update-cart:active,.cart-link:active,.woocommerce a.button:active,.woocommerce button.button:active{transform:translateY(0) scale(.985)}
 .kn-product-card:hover,.kn-product-card.kn-reveal.is-visible:hover{transform:translateY(-5px);box-shadow:var(--kn-shadow)}
 .kn-product-card:hover img{transform:scale(1.055);filter:saturate(.9)}
 .kn-card-add:hover,.kn-option-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(67,28,27,.11)}
 .kn-qty-btn:hover{background:var(--cream);transform:scale(1.08)}
 .kn-cart-item:hover .kn-cart-item-image img{transform:scale(1.055)}
 .knocked-order-bar:hover{transform:translateX(-50%) translateY(-3px);box-shadow:0 18px 36px rgba(49,16,19,.24)}
}

@keyframes kn-rise{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes kn-image-enter{from{opacity:.72;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
@keyframes kn-dialog-enter{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:no-preference){
 .kn-follow-dialog[open]{animation:kn-dialog-enter .4s var(--kn-ease) both}
 .kn-hero-copy .kn-kicker,.kn-hero-copy h1,.kn-hero-intro,.kn-hero-copy .kn-primary,.kn-error-copy .kn-kicker,.kn-error-copy h1,.kn-error-intro,.kn-error-actions,.kn-page-intro{animation:kn-rise .8s var(--kn-ease) both}
 .kn-hero-copy h1,.kn-error-copy h1{animation-delay:.08s}
 .kn-hero-intro,.kn-error-intro{animation-delay:.16s}
 .kn-hero-copy .kn-primary,.kn-error-actions{animation-delay:.24s}
 .kn-hero-image img,.kn-error-visual img{animation:kn-image-enter 1.2s var(--kn-ease) both}
 .woocommerce div.product div.images{animation:kn-rise .85s var(--kn-ease) both}
 .woocommerce div.product div.summary{animation:kn-rise .85s .1s var(--kn-ease) both}
 .closed-card{animation:kn-rise .65s var(--kn-ease) both}
 .kn-reveal{opacity:0;transform:translate3d(0,20px,0);transition:opacity .72s ease,transform .8s var(--kn-ease);transition-delay:var(--kn-reveal-delay,0ms)}
 .kn-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
}
@media(max-width:700px){
 .kn-hero-image{border-radius:18px;margin:0 16px 20px}
 .kn-option-card[aria-pressed=true]{padding:6px}
 .kn-follow-head{padding:42px 24px 28px}
 .kn-follow-list{padding:15px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .kn-reveal{opacity:1!important;transform:none!important}
}
