.shop-main{--shop-cream:#f5e8c9;--shop-brown:#351b12;--shop-gold:#f6b322;background:var(--shop-cream);color:var(--shop-brown);min-height:80vh;padding:70px max(5vw,20px) 90px}.shop-main *{box-sizing:border-box}.shop-hero{max-width:1280px;margin:0 auto 35px;display:flex;justify-content:space-between;gap:24px;align-items:end;border-bottom:2px solid #351b1226;padding-bottom:32px}.shop-hero h1{font-size:clamp(44px,7vw,92px);line-height:1;letter-spacing:-.045em;margin:10px 0 18px}.shop-hero p{max-width:540px;font-size:18px;line-height:1.6}.shop-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:12px}.shop-button,.shop-main button{font:inherit;font-weight:750;cursor:pointer;border:2px solid var(--shop-brown);border-radius:7px;padding:13px 20px;background:var(--shop-gold);color:var(--shop-brown);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px}.shop-main button:disabled{opacity:.55;cursor:wait}.shop-main .shop-secondary{background:transparent}.shop-toolbar{max-width:1280px;display:flex;gap:20px;justify-content:space-between;align-items:center;margin:0 auto 30px}.shop-main input,.shop-main select{min-width:0;max-width:100%;font:inherit;padding:13px;border:1px solid #351b1255;border-radius:6px;background:#fffaf0;color:var(--shop-brown);width:100%;min-height:46px}.shop-search{max-width:440px;width:100%}.shop-grid{max-width:1280px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px;margin:auto}.shop-card{display:block;color:inherit;text-decoration:none}.shop-card-image{aspect-ratio:1;background:#fffaf0;border-radius:12px;overflow:hidden;border:1px solid #351b1215;position:relative}.shop-card img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.shop-card:hover img{transform:scale(1.045)}.shop-main .shop-card h2{font-size:17px;overflow-wrap:break-word;line-height:1.35;margin:14px 0 7px;font-family:inherit}.shop-card p{margin:0;font-weight:700}.shop-card small{display:block;margin-top:7px;opacity:.7}.shop-load{text-align:center;margin:38px auto}.shop-main :focus-visible{outline:3px solid #af5c21;outline-offset:4px}.shop-detail{max-width:1160px;margin:25px auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,55px);align-items:start}.shop-detail>div{min-width:0}.shop-main .shop-detail h1{font-size:clamp(28px,2.8vw,40px);line-height:1.18;letter-spacing:-.025em;margin:12px 0 20px;max-width:100%;overflow-wrap:normal;word-break:normal}.shop-gallery-main{display:block;max-width:100%;width:100%;aspect-ratio:1;object-fit:contain;background:#fffaf0;border-radius:14px}.shop-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;max-width:100%;min-width:0;padding-bottom:8px;overscroll-behavior-x:contain}.shop-main .shop-thumb{flex:0 0 70px;padding:0;width:70px;height:70px;min-width:70px;background:white;border:1px solid #351b1244}.shop-thumb img{width:100%;height:100%;object-fit:contain}.shop-description{white-space:pre-line;font-size:15px;line-height:1.75;margin-top:25px}.shop-price{font-weight:800;font-size:27px;margin:14px 0}.shop-options{display:grid;gap:18px;margin:22px 0}.shop-options label,.shop-address label{display:grid;gap:7px;font-weight:700;font-size:14px}.shop-options .shop-qty{max-width:110px}.shop-note{font-size:13px;line-height:1.6;opacity:.8}.shop-main dialog{position:fixed;width:min(620px,calc(100vw - 24px));max-height:90dvh;border:2px solid var(--shop-brown);border-radius:14px;padding:25px;background:var(--shop-cream);color:var(--shop-brown);overflow:auto}.shop-main dialog::backdrop{background:#160a06bb}.shop-cart-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.shop-cart-head h2{font-size:30px;margin:0}.shop-main .shop-close{background:transparent;padding:8px 14px;font-size:14px}.shop-cart-line{display:grid;grid-template-columns:65px 1fr 75px;gap:14px;padding:20px 0;border-bottom:1px solid #351b1230;align-items:center}.shop-cart-line img{width:65px;height:65px;object-fit:contain;background:#fffaf0;border-radius:5px}.shop-cart-line h3{font:700 14px/1.35 inherit;margin:0 0 5px}.shop-cart-line p{font-size:12px;margin:5px 0}.shop-main .shop-remove{background:none;border:0;padding:0;min-height:30px;text-decoration:underline;font-size:12px}.shop-cart-total{display:flex;justify-content:space-between;font-size:20px;font-weight:800;margin:22px 0}.shop-address{border-top:1px solid #351b1230;margin-top:25px;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.shop-address .shop-full{grid-column:1/-1}.shop-address button{width:100%}.shop-status{line-height:1.6;max-width:800px;margin:18px auto}.shop-order{max-width:800px;margin:0 auto;background:#fffaf0;padding:clamp(20px,4vw,45px);border-radius:14px}.shop-order h1{font-size:42px;line-height:1.15}.shop-order ul{padding-left:20px}.shop-steps{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;font-size:13px}.shop-steps span{padding:8px 0;border-bottom:2px solid #351b1240}.shop-admin-list{display:grid;gap:12px}.shop-admin-order{border:1px solid #684936;padding:18px;border-radius:8px;overflow-wrap:anywhere}@media(max-width:1000px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-detail{gap:30px}}@media(max-width:850px){.shop-detail{grid-template-columns:minmax(0,1fr);max-width:620px}.shop-gallery-main{max-height:580px}.shop-main .shop-detail h1{font-size:clamp(28px,4vw,36px)}}@media(max-width:700px){.shop-main{padding-top:35px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.shop-hero{align-items:start;gap:15px}.shop-hero p{font-size:15px}.shop-hero .shop-button{white-space:nowrap;padding:11px}.shop-toolbar{gap:12px;flex-wrap:wrap}.shop-detail{grid-template-columns:1fr;gap:20px}.shop-main .shop-card h2{font-size:14px}.shop-card small{font-size:11px}.shop-address{grid-template-columns:1fr}.shop-address .shop-full{grid-column:auto}.shop-main dialog{padding:18px}.shop-cart-line{grid-template-columns:50px 1fr 65px;gap:10px}.shop-cart-line img{width:50px;height:50px}}

.business-page:has(.shop-main){padding:0}.shop-main [hidden]{display:none!important}

.shop-main :is(h1,h2,h3){scroll-margin-top:230px}.shop-cart-line>div{min-width:0}.shop-cart-line h3{font-family:inherit;font-size:14px;line-height:1.4;overflow-wrap:break-word}.shop-hero>div{min-width:0}@media(max-width:480px){.shop-hero{flex-wrap:wrap}.shop-hero h1{font-size:44px}.shop-main{padding-inline:18px}.shop-main :is(h1,h2,h3){scroll-margin-top:175px}}

.shop-main .shop-thumb[aria-pressed="true"]{border:2px solid var(--shop-brown);box-shadow:0 0 0 2px var(--shop-gold)}

/* Product purchase panel. */
.shop-main[data-product]{padding-top:30px}.shop-main[data-product] .shop-toolbar{max-width:1160px;margin-bottom:24px}.shop-toolbar>a{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px}.shop-toolbar>a:before{content:'\2190';font-size:20px}.shop-detail{gap:32px 40px;margin-top:0}.shop-gallery{position:static}.shop-gallery-main{aspect-ratio:1;max-height:560px;border:1px solid #351b1215}.shop-product-info{background:#fff9e9;border:1px solid #351b1226;border-radius:14px;padding:28px}.shop-main .shop-detail h1{font-size:clamp(28px,2.5vw,37px);line-height:1.17;margin:12px 0 14px}.shop-product-info .shop-price{font-size:29px;margin:0 0 5px}.shop-purchase-note{font-size:13px;line-height:1.5!important;margin:0;color:#74563c}.shop-product-info .shop-options{border-top:1px solid #351b1226;padding-top:22px;margin:22px 0 18px;gap:18px}.shop-size-field{border:0;padding:0;margin:0;min-width:0}.shop-size-field legend,.shop-field-label{font:700 13px/1.5 'DM Sans',Arial,sans-serif;margin-bottom:8px}.shop-size-options{display:flex;gap:8px;flex-wrap:wrap}.shop-options .shop-size-choice{display:block;position:relative;cursor:pointer}.shop-size-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.shop-size-choice span{display:grid;place-items:center;min-width:45px;min-height:44px;padding:8px 12px;background:#fffdf6;border:1px solid #351b1250;border-radius:6px;font-size:13px}.shop-size-choice input:checked+span{background:#351b12;color:#fff7df;border-color:#351b12}.shop-size-choice input:focus-visible+span{outline:3px solid #af5c21;outline-offset:3px}.shop-size-choice input:disabled+span{opacity:.4;text-decoration:line-through;cursor:not-allowed}.shop-options .shop-selection{font-size:12px;line-height:1.5;margin:0;color:#74563c}.shop-option-feedback{font-size:12px;line-height:1.5;margin:0}.shop-option-feedback:empty{display:none}.shop-buy-row{display:flex;align-items:end;gap:14px}.shop-quantity-box{flex:0 0 128px}.shop-field-label{display:block}.shop-stepper{display:flex;align-items:center;border:1px solid #351b1250;border-radius:7px;background:#fffdf6;height:52px}.shop-main .shop-stepper button{background:transparent;border:0;min-height:48px;width:37px;padding:0;font-size:20px;flex:0 0 37px}.shop-main .shop-stepper input{border:0;padding:4px 0;text-align:center;background:transparent;min-height:44px;width:50px;appearance:textfield;-moz-appearance:textfield}.shop-stepper input::-webkit-inner-spin-button,.shop-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.shop-main .shop-add{flex:1;min-height:52px;padding:12px 14px;white-space:normal;box-shadow:0 3px 0 #351b12;font-size:15px}.shop-main .shop-add:disabled{cursor:not-allowed}.shop-purchase-help{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:20px;font-size:11px;color:#74563c}.shop-purchase-help p{margin:0}.shop-product-more{grid-column:1/-1;max-width:100%;border-top:1px solid #351b1233;margin-top:8px}.shop-product-more details{border-bottom:1px solid #351b1233;padding:0 4px}.shop-product-more summary{cursor:pointer;font-size:17px;font-weight:800;padding:21px 0;list-style:none;display:flex;justify-content:space-between;gap:15px}.shop-product-more summary:after{content:'+';font-size:23px;line-height:1}.shop-product-more details[open]>summary:after{content:'\2212'}.shop-product-more summary::-webkit-details-marker{display:none}.shop-product-more details>p,.shop-product-more .shop-description{margin:0 0 24px;max-width:850px;line-height:1.7;font-size:14px}.shop-description p{margin:0 0 15px}.shop-description .shop-full-product-name{font-size:12px;color:#74563c;border-top:1px solid #351b1226;padding-top:16px}.shop-product-more a{text-decoration:underline;font-weight:700}.shop-status:empty{display:none}
@media(max-width:1050px){.shop-detail{gap:26px}.shop-product-info{padding:22px}.shop-buy-row{flex-wrap:wrap}.shop-main .shop-add{flex-basis:100%}.shop-quantity-box{flex-basis:128px}}
@media(max-width:850px){.shop-main[data-product]{padding-top:22px}.shop-gallery{position:static}.shop-detail{gap:24px}.shop-gallery-main{max-height:440px}.shop-product-info{padding:24px}.shop-buy-row{flex-wrap:nowrap}.shop-main .shop-add{flex-basis:auto}.shop-product-more{margin-top:0}}
@media(max-width:480px){.shop-main[data-product] .shop-toolbar{gap:12px;margin-bottom:18px}.shop-toolbar>a{font-size:12px}.shop-main[data-product] .shop-toolbar button{padding:10px 14px;min-height:42px}.shop-gallery-main{max-height:360px}.shop-product-info{padding:20px}.shop-main .shop-detail h1{font-size:29px}.shop-main .shop-thumb{flex-basis:58px;width:58px;min-width:58px;height:58px}.shop-size-options{gap:7px}.shop-size-choice span{min-width:42px;padding:8px 10px}.shop-buy-row{flex-wrap:wrap}.shop-main .shop-add{flex-basis:100%}.shop-purchase-help{display:grid;gap:4px}}
.shop-main select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23351b12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px 18px}

.shop-product-more .shop-description{max-width:100%;margin:0 0 22px;padding:clamp(22px,3vw,36px);border:1px solid #351b1226;border-radius:12px;background:#fff9e9;white-space:normal}
.shop-description h2{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:8px 0 14px}.shop-description .shop-description-intro{max-width:760px;font-size:16px;line-height:1.65;margin:0 0 16px}.shop-product-more .shop-description-full{border:0;padding:0}.shop-product-more .shop-description-full>summary{justify-content:flex-start;align-items:center;font-size:13px;gap:16px;padding:10px 0;color:#74563c;text-decoration:underline}.shop-description-full>p{max-width:850px}.shop-description-full>p:first-of-type{margin-top:18px}.shop-description-section{padding-top:16px;margin-top:16px;border-top:1px solid #351b1220}.shop-description-section h3{font-family:inherit;font-size:14px;margin:0 0 10px}.shop-description-section ul{margin:0;padding-left:20px;columns:2;column-gap:35px}.shop-description-section li{break-inside:avoid;margin-bottom:9px;line-height:1.6}@media(max-width:650px){.shop-description-section ul{columns:1}.shop-product-more .shop-description{padding:22px}}

.shop-main [data-open-cart]{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;min-height:48px;padding:11px 17px;background:#fff9e9;border-radius:9px;box-shadow:0 2px 0 #351b121f;font-size:14px}.shop-main [data-open-cart]:before,.shop-main .shop-add:before{content:'';display:block;width:21px;height:21px;flex:0 0 21px;background:url('/assets/shop-bag.svg') center/contain no-repeat}.shop-cart-count{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:50px;background:#351b12;color:#fff9e9;font-size:12px;line-height:1}.shop-toolbar{min-height:48px}.shop-card-image{box-shadow:0 3px 0 #351b120b}.shop-main .shop-card h2{display:block;overflow:visible;white-space:normal;overflow-wrap:anywhere;word-break:normal;height:auto;max-height:none;min-height:0;-webkit-line-clamp:unset;line-clamp:unset;line-height:1.4}.shop-card p{display:flex;align-items:center;min-height:25px}.shop-main .shop-add{gap:10px}.shop-main button:hover:not(:disabled){filter:brightness(.97)}@media(max-width:480px){.shop-main[data-product] .shop-toolbar [data-open-cart]{gap:7px;padding:9px 11px}.shop-main [data-open-cart]:before{width:19px;height:19px;flex-basis:19px}.shop-cart-count{min-width:23px;height:23px}}

/* Let complete product names wrap at every viewport width. */
.shop-card{min-width:0}.shop-main .shop-hero h1,.shop-main .shop-detail h1{overflow:visible;overflow-wrap:anywhere;word-break:normal;white-space:normal;height:auto;max-height:none;padding-bottom:.08em}@media(max-width:700px){.shop-hero{flex-wrap:wrap;align-items:flex-start}.shop-hero>div{min-width:0;flex:1 1 230px}.shop-hero h1{font-size:clamp(36px,10vw,56px);line-height:1.12}.shop-main .shop-card h2{font-size:14px;line-height:1.45;letter-spacing:-.015em}.shop-grid{align-items:start}.shop-main .shop-detail h1{font-size:clamp(25px,7vw,34px);line-height:1.23}}
