.product-details{display:flex;flex-wrap:wrap;gap:8px;align-items:center;white-space:normal;min-height:32px;margin-top:auto}
.product-weight,.product-allergens,.product-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;line-height:1.4}
.product-allergens{background:#d8d5c6;padding:3px 6px;min-height:30px}
.product-badge{background:#e5d7c1;color:#9c390f;padding:4px 8px;min-height:30px;font-size:13px}
.product-section .woocommerce ul.products li.product .product-details .product-allergens img.icon{width:24px;height:24px;max-width:24px;min-width:24px;flex-basis:24px}
.site-footer{padding-top:56px}.footer-grid{grid-template-columns:1.35fr 1.35fr 1fr .8fr;gap:80px}.footer-grid .logo{margin-bottom:16px}.footer-grid h2{font-size:13px;font-weight:700}.footer-grid p,.footer-grid li{font-size:15px;line-height:1.6}.footer-grid .contact-line{align-items:flex-start;gap:12px}.footer-grid .contact-line .icon{flex:0 0 20px;width:20px;height:20px;margin-top:2px}.footer-social>a,.footer-social>span{display:flex;align-items:center;gap:12px}.footer-social .icon{width:20px;height:20px}.footer-bottom{display:grid;grid-template-columns:.9fr 1.1fr 1fr 1.1fr auto;gap:24px;align-items:center;font-size:12px;color:#77796c;padding-block:28px 56px}.footer-credit,.footer-credit>a{display:flex;align-items:center;gap:8px}.footer-credit img{display:block;width:160px;height:auto}.credit-by{background:#918b6e;color:#f8f5ef;font-size:11px;line-height:1;padding:1px 2px}
@media(max-width:1100px) and (min-width:768px){.footer-grid{gap:32px}.footer-bottom{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.product-details{gap:6px;font-size:11px}.product-badge{font-size:11px;min-height:26px;padding:3px 6px}.product-allergens{min-height:26px;padding:2px 5px}.site-footer{padding-top:32px}.footer-grid{grid-template-columns:1fr;gap:0}.footer-grid p,.footer-grid li{font-size:14px}.footer-bottom{display:flex;align-items:flex-start;gap:14px;padding-block:24px 32px;font-size:12px}.footer-credit{margin-top:8px}}
.footer-grid>div,.footer-bottom>*{min-width:0}.footer-bottom>a{overflow-wrap:anywhere}.footer-credit img{width:172px;max-width:100%;height:auto}.footer-credit a{padding:8px 0;transition:opacity .18s ease,transform .18s ease}.contact-line>a{display:inline-flex;align-items:flex-start;gap:12px}.site-footer a,.header-row a,.category-row a,.section-heading>a{transition:color .18s ease,background-color .18s ease;text-underline-offset:4px}.button,.menu-toggle{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease;cursor:pointer}.header-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:44px}.category-tile img{transition:transform .3s ease}.category-tile:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.category-tile:active img{transform:scale(1.02)}.button:active,.menu-toggle:active{transform:translateY(1px)}.header-row .current-menu-item>a,.category-row a[aria-current=page]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.button:focus-visible,.menu-toggle:focus-visible,.site-footer a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.menu-toggle[aria-expanded=true]{background-color:var(--panel)}
@media(hover:hover){.site-footer a:hover,.header-row nav a:hover,.category-row a:hover,.section-heading>a:hover{color:#615c44;text-decoration:underline}.button:hover{background:#716c53;color:#fff;text-decoration:none}.product-section .woocommerce ul.products li.product .button:hover{background:#e5dfd0;color:var(--ink)}.header-actions a:hover,.menu-toggle:hover{background:var(--panel)}.category-tile:hover img{transform:scale(1.035)}.category-tile:hover span{background:#ece9df}.footer-credit a:hover{opacity:.75;transform:translateY(-1px)}}
@media(max-width:767px){.header-row{gap:6px}.header-actions{gap:4px}.header-actions a{min-width:36px}.footer-bottom{flex-direction:column;flex-wrap:nowrap;width:calc(100% - 32px)}.footer-bottom>a{display:block;padding-block:5px;min-height:30px}.footer-credit{align-self:flex-start;width:172px}.footer-credit img{width:172px}.footer-grid .contact-line a{max-width:100%;overflow-wrap:anywhere}.header-row>nav{max-height:calc(100dvh - 120px);overflow-y:auto}.header-row nav a{display:block;padding:10px 4px}.footer-social a{min-height:36px}}
@media(max-width:359px){.header-row .logo{width:112px}.header-actions a{min-width:32px}.header-actions{gap:0}.hero-copy h1{font-size:26px}.category-tile span{font-size:11px}.product-section .woocommerce ul.products li.product .button{font-size:9px;gap:4px}}
@media(prefers-reduced-motion:reduce){.button,.menu-toggle,.category-tile img,.footer-credit a{transition:none;transform:none}}

.menu-page{padding-block:64px 100px}.menu-intro{display:grid;grid-template-columns: .8fr 1.2fr;gap:48px;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:72px}.menu-intro h1{font-size:42px;font-weight:600}.menu-intro .contact-line{font-size:16px;margin-bottom:16px}.menu-intro-copy>p:not(.contact-line):not(.eyebrow){font-size:20px}.menu-intro-photo img{display:block;width:100%;height:320px;object-fit:cover}.menu-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px}.menu-sidebar{align-self:start;position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow:auto}.admin-bar .menu-sidebar{top:56px;max-height:calc(100dvh - 80px)}.menu-sidebar h2{font-size:18px;font-weight:600;margin-block:20px 16px}.menu-sidebar ul{list-style:none;padding:0;margin:0}.menu-sidebar li a{display:block;padding:14px 16px;font-size:16px;color:#737568;border-bottom:1px solid var(--line)}.menu-sidebar li a[aria-current=page],.menu-sidebar li a:hover{background:var(--panel);color:var(--ink)}.menu-search{display:flex;border:1px solid var(--line);min-height:54px}.menu-search input{min-width:0;flex:1;border:0;background:transparent;padding:12px;font-size:14px}.menu-search button{background:none;border:0;cursor:pointer;padding:12px}.menu-products{min-width:0}.menu-products .menu-group{margin-bottom:60px}.menu-products .section-heading h2,.menu-section-title{font-size:36px;font-weight:600}.menu-products .woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}.menu-products .woocommerce-loop-product__link:hover{text-decoration:none}.menu-products .woocommerce-pagination{margin-top:32px}.cart-drawer-open{overflow:hidden}#dolets-cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;border:0;padding:24px 32px;width:min(620px,100%);height:100%;max-height:100dvh;max-width:100%;background:var(--paper);color:var(--ink);box-shadow:-16px 0 50px #0002}#dolets-cart-drawer[open]{display:flex;flex-direction:column}#dolets-cart-drawer::backdrop{background:#0008}.drawer-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;gap:20px}.drawer-heading h2{font-size:30px;font-weight:600;margin:0}.drawer-heading button{border:0;background:none;font-size:36px;line-height:1;cursor:pointer;color:var(--olive);min-width:44px;min-height:44px}#drawer-status{font-size:14px;margin:8px 0;flex-shrink:0}#drawer-status:empty{margin:0}.dolets-cart-content{min-height:0;display:flex;flex:1;flex-direction:column}.drawer-items{flex:1;overflow-y:auto;padding-block:24px;overscroll-behavior:contain}.drawer-item{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:16px;margin-bottom:24px}.drawer-item-photo img{width:100px;height:100px;object-fit:cover;display:block}.drawer-item h3{font-size:16px;line-height:1.4;margin:0 0 6px;text-transform:uppercase}.drawer-item p{margin:4px 0 8px;font-size:14px}.drawer-item-meta{font-size:12px}.drawer-item>strong{font-size:15px}.drawer-quantity{display:inline-flex;border:1px solid var(--olive);align-items:center;min-height:40px}.drawer-quantity button{width:40px;height:40px;border:0;background:none;cursor:pointer;color:var(--ink);font-size:20px}.drawer-quantity span{min-width:36px;text-align:center}.drawer-quantity button:hover{background:var(--panel)}.drawer-quantity button:disabled{opacity:.35;cursor:not-allowed}.drawer-remove{display:block;font-size:13px;color:#737568;background:none;border:0;padding:8px 0;cursor:pointer;text-decoration:underline}.drawer-summary{border-top:1px solid var(--line);padding-top:18px}.drawer-summary>div{display:flex;justify-content:space-between;gap:16px;font-size:26px;text-transform:uppercase}.drawer-summary p{font-size:12px;color:#737568;margin-block:8px 14px}.drawer-summary .button{width:100%}.drawer-cart-link{display:block;text-align:center;font-size:13px;padding:12px}.empty-cart{margin-top:32px}.drawer-summary{flex-shrink:0}#dolets-cart-drawer[aria-busy=true] .drawer-items{opacity:.6;pointer-events:none}
@media(max-width:1100px) and (min-width:768px){.menu-layout{grid-template-columns:220px minmax(0,1fr);gap:28px}.menu-products .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-intro{gap:28px}.menu-intro h1{font-size:32px}}
@media(max-width:767px){.menu-page{padding-block:16px 48px}.menu-intro{display:flex;flex-direction:column-reverse;gap:12px;align-items:stretch;margin-bottom:24px}.menu-intro-photo img{height:auto;aspect-ratio:361/122}.menu-intro h1{font-size:24px;line-height:1.4;margin-bottom:10px}.menu-intro .eyebrow{font-size:11px;margin-bottom:4px}.menu-intro-copy>p:not(.contact-line):not(.eyebrow){display:none}.menu-intro .contact-line{font-size:13px;margin-bottom:10px}.menu-layout{display:block}.menu-sidebar,.admin-bar .menu-sidebar{position:static;max-height:none;overflow:visible;margin-bottom:28px}.menu-sidebar nav h2{display:none}.menu-sidebar nav ul{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-block:12px}.menu-sidebar nav li{flex:0 0 auto;max-width:230px}.menu-sidebar li a{padding:12px;font-size:13px;border:1px solid var(--line)}.menu-products .section-heading{padding-bottom:16px;margin-bottom:24px}.menu-products .section-heading h2,.menu-section-title{font-size:24px;line-height:1.4}.menu-products .section-heading>a{margin-top:8px}.menu-products .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-products .woocommerce ul.products li.product:nth-child(n+3){display:flex}.menu-products .menu-group{margin-bottom:48px}#dolets-cart-drawer{padding:16px;width:100%}.drawer-heading{padding-bottom:14px}.drawer-heading h2{font-size:24px}.drawer-item{grid-template-columns:80px minmax(0,1fr);gap:12px}.drawer-item-photo img{width:80px;height:90px}.drawer-item h3{font-size:13px}.drawer-item>strong{grid-column:2;font-size:13px;margin-top:-12px}.drawer-summary>div{font-size:22px}.drawer-item p{font-size:13px}.drawer-quantity button{width:36px}.drawer-quantity span{min-width:28px}.drawer-summary .button{font-size:12px;min-height:50px}.drawer-items{padding-top:20px}}
.menu-primary{display:none}#dolets-cart-drawer .drawer-summary a.button{display:flex;align-items:center;justify-content:center;background:var(--olive);color:#fff;border-radius:0;font-weight:400;padding:14px 20px;line-height:1.4;text-decoration:none}#dolets-cart-drawer .drawer-summary a.button:hover{background:#716c53}.menu-products .added_to_cart{font-size:12px;padding-block:8px}.menu-products .section-heading{align-items:flex-start}
@media(max-width:767px){.menu-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.menu-primary a{padding:12px;border:1px solid var(--line);font-size:12px;text-transform:uppercase}.menu-primary a:hover{background:var(--panel)}.menu-products .section-heading h2{overflow-wrap:anywhere}}
.menu-group,#menu-sections{scroll-margin-top:64px}.menu-products [hidden]{display:none!important}.menu-filter-status:empty{display:none}.menu-sidebar a[aria-current=location],.menu-primary a[aria-current=location]{background:var(--panel);color:var(--ink);font-weight:600}.menu-group h2:focus{outline:none}.menu-filter-status{font-size:14px;margin-bottom:24px}
.hero-menu-tab{display:none}.hero-media{position:relative}.catalog-menu-open{overflow:hidden}#dolets-menu-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:28px 20px;background:var(--paper);color:var(--ink);border:0;width:360px;max-width:calc(100% - 40px);height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}#dolets-menu-drawer::backdrop{background:#0008}.catalog-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.catalog-menu-heading h2{font-size:22px;font-weight:600;margin:0}.catalog-menu-heading button{background:none;border:0;font-size:32px;color:var(--olive);cursor:pointer;min-width:40px;min-height:40px}.catalog-menu-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:20px;border-bottom:1px solid var(--line)}.catalog-menu-primary a{display:flex;align-items:center;padding:12px;border:1px solid var(--line);font-size:12px;text-transform:uppercase;min-height:42px}.catalog-menu-primary a:first-child{background:var(--olive);color:white}.catalog-menu-categories h3{font-size:16px;text-transform:uppercase;margin:20px 0 16px}.catalog-menu-categories ul,.catalog-menu-pages ul{list-style:none;padding:0;margin:0}.catalog-menu-categories a,.catalog-menu-pages a{display:block;padding:14px 12px;line-height:1.5;font-size:14px}.catalog-menu-categories a:hover,.catalog-menu-primary a:hover,.catalog-menu-pages a:hover{background:var(--panel);color:var(--ink);text-decoration:none}.catalog-menu-pages{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}
@media(max-width:767px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.category-tile span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.45;font-size:12px;align-items:center}.category-tile span b{flex-shrink:0}.category-tile{aspect-ratio:175/248}.hero-menu-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:56px;min-height:108px;border:0;background:var(--olive);color:white;cursor:pointer;font-size:11px;text-transform:uppercase;padding:12px 6px}.hero-menu-tab .hero-menu-lines{font-size:24px;font-weight:300;line-height:1}.hero-menu-tab>span:last-child{font-size:26px;line-height:1}.hero-menu-tab:active{background:#716c53}.hero-menu-tab:focus-visible{outline:2px solid white;outline-offset:-4px}#dolets-menu-drawer{width:340px;max-width:calc(100% - 40px);padding:20px}.catalog-menu-heading h2{font-size:20px}.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px}.header-row>a{display:flex;align-items:center}.header-row .logo{display:block}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-actions a{display:flex;align-items:center;justify-content:center;width:36px;height:44px;padding:0;line-height:1}.header-actions img.icon{display:block;width:22px;height:22px;margin:0}}
/* 0.4.4: raster-reference refinements; native Woo controls and content remain intact. */
.product-section .woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display:flex; flex-direction:column; flex:1; min-width:0; text-decoration:none;
}
.product-section .woocommerce ul.products li.product a.woocommerce-loop-product__link>img { flex-shrink:0; transition:filter .2s ease; }
.product-section .woocommerce ul.products li.product .product-excerpt { flex-shrink:0; }
.product-section .woocommerce ul.products li.product .product-details { margin-top:auto; padding-top:4px; margin-bottom:16px; }
.product-section .woocommerce ul.products { row-gap:28px; }
.product-section .woocommerce ul.products li.product .button { flex-shrink:0; }
.product-section .woocommerce ul.products li.product .button.loading { opacity:.6; pointer-events:none; }
.product-section .woocommerce ul.products li.product .button.added::after { background-image:url('../icons/bag.svg'); }
.product-section .woocommerce-loop-product__link:focus-visible { outline:2px solid var(--olive); outline-offset:4px; }
.header-cart-total { display:inline-block; white-space:nowrap; border-left:1px solid var(--line); padding-left:24px; margin-right:18px; font-size:14px; }
.header-actions a[aria-label="Кошик"] { gap:0; }
.location .contact-line { align-items:flex-start; }
.location .contact-line .icon { flex-shrink:0; }
.location .contact-line>a { gap:16px; }
.location-copy .button { margin-top:4px; }
.menu-search { flex-direction:row-reverse; }
.menu-search button { display:flex; align-items:center; justify-content:center; width:48px; padding:12px 8px 12px 16px; flex-shrink:0; }
.menu-search input { padding-left:0; }
.menu-search:focus-within { border-color:var(--olive); box-shadow:0 0 0 1px var(--olive); }
.menu-search input:focus-visible { outline:none; }
.menu-search input::-webkit-search-cancel-button { cursor:pointer; }
.menu-sidebar { scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.menu-sidebar nav h2 { padding-bottom:16px; border-bottom:1px solid var(--line); }
.menu-sidebar li a { border-bottom:0; line-height:1.5; padding-block:14px; }
.menu-sidebar a[aria-current=location] { font-weight:400; }
.catalog-menu-primary a:first-child { background:transparent; color:var(--ink); }
.catalog-menu-primary a[aria-current=location],.catalog-menu-categories a[aria-current=location] { background:var(--panel); color:var(--ink); }
.menu-products .section-heading { padding-bottom:16px; }
.menu-products .section-heading h2 { margin-bottom:0; }
.menu-products .menu-group:last-child { margin-bottom:0; }
.section-heading>a { line-height:1.5; }
@media(min-width:768px) {
  .product-section h2,.section>h2,.story h2,.location h2 { font-size:clamp(28px,1.875vw,36px); }
  .menu-intro { margin-bottom:72px; }
  .menu-intro-copy .contact-line:last-child { margin-bottom:0; }
}
@media(hover:hover) {
  .product-section .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover>img { filter:brightness(.96); }
  .product-section .woocommerce-loop-product__link:hover .woocommerce-loop-product__title { text-decoration:underline; text-underline-offset:3px; }
  .hero-menu-tab:hover { background:#716c53; }
  .menu-primary a:hover { background:var(--panel); text-decoration:none; }
}
@media(max-width:767px) {
  .header-cart-total { display:none; }
  .header-actions a[aria-label="Кошик"] { gap:0; }
  .menu-intro { gap:8px; padding-bottom:12px; margin-bottom:16px; }
  .menu-intro .contact-line .icon { width:18px; height:18px; flex-shrink:0; }
  .menu-intro .contact-line { gap:10px; }
  .menu-intro .eyebrow { margin-top:0; margin-bottom:4px; }
  .menu-intro h1 { margin-bottom:10px; }
  .menu-search { min-height:54px; }
  .menu-primary { gap:10px 12px; }
  .menu-primary a { min-height:44px; display:flex; align-items:center; font-weight:600; }
  .menu-sidebar nav ul { gap:20px; padding-block:8px 0; scrollbar-width:none; }
  .menu-sidebar nav ul::-webkit-scrollbar { display:none; }
  .menu-sidebar nav li { flex:0 0 calc((100% - 20px)/2); max-width:none; }
  .menu-sidebar li a { border:0; border-bottom:2px solid transparent; min-height:48px; padding:10px 0 12px; font-size:13px; }
  .menu-sidebar a[aria-current=location] { border-bottom-color:var(--olive); background:transparent; }
  .menu-sidebar { margin-bottom:20px; }
  .menu-products .section-heading { padding-bottom:16px; margin-bottom:24px; }
  .menu-products .woocommerce ul.products { row-gap:28px; }
  .product-section .woocommerce ul.products li.product .product-details { margin-bottom:14px; }
  .category-tile span { font-weight:600; }
  .category-tile b { font-weight:400; }
  .location-copy .contact-line { font-size:13px; }
}
@media(prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
@media(prefers-reduced-motion:reduce) { .product-section .woocommerce-loop-product__link>img { transition:none; } }
/* 0.4.5: physical About Page. */
.header-row .menu>li:first-child { font-weight:400; }
.home .header-row .menu>li:first-child,.header-row .menu>.current-menu-item { font-weight:700; }
.about-breadcrumbs { padding-top:28px; color:#77796c; font-size:14px; line-height:1.5; }
.about-intro { padding-block:64px 54px; text-align:center; }
.about-intro h1 { max-width:800px; margin:0 auto 24px; font-size:clamp(36px,2.82vw,54px); font-weight:600; }
.about-intro p { max-width:960px; margin-inline:auto; }
.about-intro-lead { font-size:22px; line-height:1.5; margin-bottom:16px; }
.about-intro-secondary { color:#77796c; font-size:20px; line-height:1.5; margin-bottom:0; }
.about-banner img { width:100%; height:auto; aspect-ratio:1920/299; object-fit:cover; display:block; }
.about-history { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(40px,6.45vw,124px); align-items:center; margin-block:100px; }
.about-history-images { display:grid; grid-template-columns:1.295fr 1fr; gap:20px; align-items:end; min-width:0; }
.about-history-images img { display:block; width:100%; object-fit:cover; }
.about-history-images>div:first-child img { aspect-ratio:430/550; }
.about-history-images>div:last-child img { aspect-ratio:332/410; }
.about-history-copy h2 { font-size:36px; line-height:1.45; font-weight:600; margin-bottom:36px; }
.about-history-copy p { font-size:16px; line-height:2.05; margin-bottom:12px; }
.about-muted { color:#77796c; }
.about-history-mobile { display:none; }
.about-history-copy .about-history-quote { border-top:1px solid var(--line); margin-top:30px; padding-top:28px; margin-bottom:0; }
.about-bread { background:var(--panel); padding-block:64px 110px; }
.about-bread-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; }
.about-bread-heading h2 { font-size:36px; line-height:1.45; font-weight:600; margin:0; }
.about-bread-heading .eyebrow { font-size:16px; margin:6px 0 0; white-space:nowrap; }
.about-bread-grid { display:grid; grid-template-columns:.61fr 1fr; gap:100px; align-items:center; margin-top:40px; }
.about-bread-photo img { display:block; width:100%; aspect-ratio:952/460; object-fit:cover; }
.about-bread-copy h3 { font-size:24px; line-height:1.5; margin:0 0 24px; font-weight:600; }
.about-bread-items { font-size:16px; line-height:1.7; margin:0; color:#77796c; }
.about-bread-items dt,.about-bread-items dd { display:inline; margin:0; }
.about-bread-items dt { font-weight:700; color:var(--ink); }
.about-bread-note { border-top:1px solid var(--line); margin:32px 0 12px; padding-top:12px; font-size:16px; line-height:2; }
.about-bread .button { width:360px; max-width:100%; }
.about-culture { position:relative; overflow:hidden; isolation:isolate; background:var(--olive); color:var(--paper); text-align:center; padding-block:50px; }
.about-culture:before,.about-culture:after { content:""; position:absolute; top:0; bottom:0; width:25%; background:url('../images/pattern.png') center/481px auto; z-index:-1; opacity:.75; pointer-events:none; }
.about-culture:before { left:0; mask-image:linear-gradient(to right,#000 65%,transparent); }
.about-culture:after { right:0; mask-image:linear-gradient(to left,#000 65%,transparent); }
.about-culture h2 { font-size:36px; line-height:1.45; font-weight:400; margin-bottom:22px; }
.about-culture p { max-width:800px; margin:0 auto; font-size:20px; line-height:1.6; }
.about-reviews>h2 { font-size:36px; line-height:1.45; font-weight:600; margin-bottom:30px; }
.about-reviews-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.about-review { padding:28px 32px; border:1px solid var(--line); min-height:285px; overflow-wrap:anywhere; }
.about-review h3 { margin:0 0 8px; font-size:16px; line-height:1.4; font-weight:600; }
.about-review-date { font-size:12px; color:#77796c; margin-bottom:8px; }
.about-review-stars { font-size:24px; letter-spacing:2px; line-height:1.5; margin-bottom:16px; }
.about-review-text { font-size:13px; line-height:1.45; margin-bottom:0; }
.about-reviews>.button { margin-top:40px; min-width:360px; max-width:100%; }
.about-page .location { margin-top:150px; }
.about-page .location .location-copy { padding:64px 40px; }
.about-page .location>div>img { aspect-ratio:812/523; }
.about-instagram { margin-block:100px; }
.about-instagram-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; margin-bottom:40px; }
.about-instagram-heading h2 { font-size:36px; font-weight:600; line-height:1.45; margin-bottom:0; }
.about-instagram-heading p { font-size:16px; color:#77796c; margin:0; }
.about-instagram-heading .button { width:360px; flex-shrink:0; }
.about-instagram-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.about-instagram-grid img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.about-instagram-grid a { display:block; }
@media(max-width:1100px) and (min-width:768px) {
  .about-intro { padding-block:48px; }
  .about-history { gap:40px; margin-block:72px; }
  .about-history-copy h2 { font-size:28px; margin-bottom:20px; }
  .about-history-copy p { font-size:15px; line-height:1.8; }
  .about-bread-grid { gap:36px; grid-template-columns:.8fr 1fr; }
  .about-bread-heading h2 { font-size:28px; }
  .about-bread-heading .eyebrow { white-space:normal; font-size:13px; }
  .about-bread-copy h3 { font-size:20px; }
  .about-bread-items { font-size:14px; }
  .about-bread-photo img { aspect-ratio:1; }
  .about-reviews-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-page .location { margin-top:80px; }
  .about-page .location .location-copy { padding:28px; }
  .about-instagram-heading h2 { font-size:28px; }
  .about-instagram-heading .button { width:280px; }
}
@media(max-width:767px) {
  .about-breadcrumbs { font-size:11px; padding-top:22px; }
  .about-intro { text-align:left; padding-block:20px 26px; }
  .about-intro h1 { font-size:26px; line-height:1.25; margin-bottom:10px; }
  .about-intro-lead,.about-intro-secondary { font-size:14px; line-height:1.6; }
  .about-intro-lead { margin-bottom:10px; }
  .about-banner img { aspect-ratio:393/230; object-position:62% center; }
  .about-history { display:flex; flex-direction:column-reverse; gap:16px; margin-block:32px 40px; }
  .about-history-copy h2 { font-size:24px; line-height:1.45; margin-bottom:8px; }
  .about-history-copy p { font-size:14px; line-height:1.75; margin-bottom:10px; }
  .about-history-desktop { display:none; }
  .about-history-mobile { display:block; }
  .about-history-copy .about-history-quote { padding-top:16px; margin-top:16px; }
  .about-history-images { width:100%; grid-template-columns:1.425fr 1fr; gap:12px; }
  .about-history-images>div:first-child img { aspect-ratio:205/280; }
  .about-history-images>div:last-child img { aspect-ratio:144/200; }
  .about-bread { padding-block:32px 40px; }
  .about-bread-heading { flex-direction:column-reverse; gap:10px; }
  .about-bread-heading h2 { font-size:24px; line-height:1.4; }
  .about-bread-heading .eyebrow { font-size:11px; margin:0; }
  .about-bread-grid { display:flex; flex-direction:column-reverse; gap:18px; margin-top:16px; }
  .about-bread-photo { width:100%; }
  .about-bread-photo img { aspect-ratio:361/240; }
  .about-bread-copy h3 { font-size:15px; margin-bottom:12px; }
  .about-bread-items { font-size:13px; line-height:1.65; }
  .about-bread-items>div { margin-bottom:3px; }
  .about-bread-note { font-size:14px; line-height:1.5; margin-top:16px; padding-top:16px; }
  .about-bread .button { width:100%; min-height:48px; font-size:12px; }
  .about-culture { padding-block:54px; }
  .about-culture:before,.about-culture:after { left:0; right:0; width:100%; height:38px; mask-image:none; background-size:240px auto; }
  .about-culture:before { top:0; bottom:auto; }
  .about-culture:after { top:auto; bottom:0; }
  .about-culture h2 { max-width:300px; margin:0 auto 16px; font-size:24px; line-height:1.4; }
  .about-culture p { font-size:14px; line-height:1.7; }
  .about-reviews { margin-block:32px 72px; }
  .about-reviews>h2 { font-size:24px; line-height:1.4; margin-bottom:16px; }
  .about-reviews-track { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--olive) var(--line); padding-bottom:20px; }
  .about-reviews-track::-webkit-scrollbar { height:5px; }
  .about-reviews-track::-webkit-scrollbar-track { background:var(--line); }
  .about-reviews-track::-webkit-scrollbar-thumb { background:var(--olive); }
  .about-review { flex:0 0 min(300px,calc(100% - 24px)); padding:24px 20px; min-height:380px; scroll-snap-align:start; }
  .about-review h3 { font-size:16px; }
  .about-review-text { font-size:14px; line-height:1.6; }
  .about-review-stars { margin-bottom:20px; }
  .about-reviews>.button { min-width:0; width:100%; font-size:12px; min-height:48px; padding:12px 16px; margin-top:20px; }
  .about-page .location { margin-top:72px; }
  .about-page .location .location-copy { padding:24px; }
  .about-page .location h2 { font-size:24px; line-height:1.35; }
  .about-page .location>div>img { aspect-ratio:361/333; width:100%; }
  .about-instagram { position:relative; margin-block:64px; display:flex; flex-direction:column; }
  .about-instagram-heading { display:contents; }
  .about-instagram-heading>div { order:1; width:calc(100% - 32px); margin:0 auto 20px; }
  .about-instagram-heading h2 { font-size:24px; line-height:1.4; margin-bottom:6px; }
  .about-instagram-heading p { font-size:14px; line-height:1.5; }
  .about-instagram-heading .button { order:3; width:calc(100% - 32px); font-size:12px; min-height:48px; margin:20px auto 0; }
  .about-instagram-grid { order:2; width:calc(100% - 32px); margin-inline:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .about-instagram-grid>div:nth-child(n+3) { display:none; }
}

/* Delivery and payment information on the editable WordPress page. */
.prose:has(> .delivery-info) {
  max-width: 1280px;
  margin-block: clamp(32px, 3vw, 56px);
}

.prose:has(> .delivery-info) > h1 {
  margin-bottom: 24px;
  font-size: clamp(25px, 2vw, 38px);
  font-weight: 600;
}

.delivery-info.wp-block-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, 3.125vw, 60px);
  margin: 0;
}

.delivery-info h2 {
  font-size: clamp(18px, 1.1vw, 22px);
  font-weight: 600;
}

.delivery-info p {
  margin-bottom: 16px;
}

.delivery-info p:last-child {
  margin-bottom: 0;
}

.delivery-info .delivery-info__rate {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 16px;
  margin-bottom: 0;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.delivery-info__rate + p:not(.delivery-info__rate) {
  margin-top: 16px;
}

.delivery-info__pickup {
  margin-top: 28px;
}

.delivery-info__payment {
  padding: 24px;
  background: var(--panel);
}

.delivery-info .delivery-info__terms {
  padding-block: 14px;
  border-top: 1px solid var(--line);
  line-height: 1.9;
}

.delivery-info__terms a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.delivery-info__terms a:hover {
  color: #615c44;
}

.delivery-info .wp-block-button {
  width: 100%;
}

.delivery-info .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 0;
  background: #6d684f;
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
}

.delivery-info .wp-block-button__link:hover {
  background: #55513d;
  text-decoration: none;
}

@media (max-width: 781px) {
  .delivery-info.wp-block-columns {
    grid-template-columns: minmax(0, 1fr);
  }

  .delivery-info__payment {
    padding: 20px;
  }
}

@media (max-width: 767px) {
  .prose:has(> .delivery-info) {
    padding-inline-end: 48px;
  }
}

/* Classic WooCommerce checkout. WooCommerce renders and submits the form. */
.prose:has(form.checkout .dolets-fulfillment) {
  max-width: 1280px;
  margin-block: clamp(28px, 3vw, 56px);
}

.prose:has(form.checkout .dolets-fulfillment) > h1 {
  margin-bottom: 24px;
  font-size: clamp(24px, 2vw, 38px);
  font-weight: 600;
}

form.checkout:has(.dolets-fulfillment) {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(24px, 3.125vw, 60px);
}

form.checkout:has(.dolets-fulfillment) #customer_details > div {
  float: none;
  width: 100%;
}

form.checkout:has(.dolets-fulfillment) :is(.woocommerce-billing-fields, .woocommerce-additional-fields) > h3 {
  display: none;
}

.dolets-checkout-heading,
.dolets-checkout-summary #order_review_heading {
  margin: 0 0 12px;
  padding: 0;
  font-size: clamp(17px, 1.1vw, 22px);
  font-weight: 600;
  line-height: 1.25;
  text-transform: uppercase;
}

form.checkout:has(.dolets-fulfillment) .woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}

form.checkout:has(.dolets-fulfillment) .form-row {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.dolets-checkout-contact { order: -1; }
.dolets-checkout-address { order: 1; grid-column: 1 / -1; }
.dolets-fulfillment { grid-column: 1 / -1; }
.dolets-fulfillment > h2 { margin-top: 18px; margin-bottom: 0; }
.dolets-checkout-choice,
.dolets-checkout-time {
  min-width: 0;
  margin: 18px 0 0;
  padding: 0;
  border: 0;
}

.dolets-checkout-options,
.dolets-time-options,
.dolets-time-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.dolets-time-options:has(details[open]) > details { grid-column: 1 / -1; }
.dolets-time-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dolets-time-picker:has(.dolets-show-slots:not([hidden])[aria-expanded="false"]) .dolets-time-grid label:nth-child(n+13):not(:has(input:checked)) { display: none; }
.dolets-show-slots {
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: #615c44;
  text-align: start;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.dolets-show-slots--mobile { display: none; }
.dolets-time-picker p { margin: 12px 0; font-size: 14px; }
.dolets-time-status { margin: 12px 0 0; font-weight: 600; }

.dolets-checkout-options label,
.dolets-checkout-option { position: relative; display: block; min-width: 0; }
.dolets-checkout-options input,
.dolets-checkout-option input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.dolets-checkout-options span,
.dolets-checkout-option span,
.dolets-time-picker summary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  height: 100%;
  padding: 8px;
  border: 1px solid var(--olive);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
}

.dolets-time-picker summary { height: auto; gap: 8px; }
.dolets-time-picker summary::after { content: '⌄'; }
.dolets-time-picker[open] summary::after { content: '⌃'; }
.dolets-checkout-options input:checked + span,
.dolets-checkout-option input:checked + span {
  background: #6d684f;
  border-color: #6d684f;
  color: #fff;
}

.dolets-checkout-options input:focus-visible + span,
.dolets-checkout-option input:focus-visible + span {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

.dolets-pickup-only { display: none; }
form.checkout:has(input[name="dolets_checkout_mode"][value="pickup"]:checked) :is(.dolets-delivery-only, .dolets-checkout-pickup-optional) {
  display: none;
}
form.checkout:has(input[name="dolets_checkout_mode"][value="pickup"]:checked) .dolets-pickup-only { display: inline; }
form.checkout:has(input[name="dolets_checkout_mode"][value="pickup"]:checked) .dolets-pickup-address {
  display: grid;
  gap: 4px;
  margin-top: 16px;
  padding: 16px;
  background: var(--panel);
}
.dolets-pickup-address a { text-decoration: underline; text-underline-offset: 3px; }

form.checkout:has(.dolets-fulfillment) :is(input.input-text, select, textarea, .select2-selection--single) {
  min-height: 46px;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  background: var(--paper);
}
form.checkout:has(.dolets-fulfillment) .select2-selection--single { padding-block: 7px; }
form.checkout:has(.dolets-fulfillment) .select2-selection__arrow { height: 100%; }
form.checkout:has(.dolets-fulfillment) .select2-container { max-width: 100%; }
form.checkout:has(.dolets-fulfillment) .form-row label { font-size: 14px; }
.dolets-checkout-cutlery {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 18px 0 10px;
  border-top: 1px solid var(--line);
}

.dolets-checkout-summary { min-width: 0; padding: clamp(16px, 2vw, 24px); background: var(--panel); }
.dolets-checkout-summary .dolets-summary-context { padding-block: 12px; margin: 0; border-top: 1px solid var(--line); font-size: 14px; }
.dolets-summary-context [data-dolets-summary-time],
.dolets-summary-context .dolets-summary-address:not(:empty) { margin-top: 4px; }
.dolets-summary-context [data-dolets-summary-time] { display: block; }
.dolets-summary-context .dolets-summary-address:not(:empty)::before { content: ''; display: block; }
.dolets-checkout-summary table.shop_table { border: 0; margin-bottom: 18px; font-size: 14px; }
.dolets-checkout-summary table.shop_table :is(th, td) { padding: 10px 0; border-color: var(--line); }
.dolets-checkout-summary table.shop_table :is(th, td):last-child { padding-inline-start: 10px; text-align: end; }
.dolets-checkout-summary table.shop_table .amount { white-space: nowrap; }
.dolets-checkout-summary table.shop_table .order-total { font-size: 16px; }
.dolets-checkout-summary #payment { border-radius: 0; background: transparent; }
.dolets-checkout-summary #payment :is(ul.payment_methods, div.place-order) { padding: 12px 0 0; }
.dolets-checkout-summary #payment ul.payment_methods { border-color: var(--line); overflow-wrap: anywhere; }
.dolets-checkout-summary #payment .payment_box { margin-block: 10px; padding: 12px; border-radius: 0; background: var(--paper); color: var(--ink); }
.dolets-checkout-summary #payment .payment_box::before { border-bottom-color: var(--paper); }
.dolets-checkout-summary #payment .woocommerce-privacy-policy-text { font-size: 13px; }
.dolets-checkout-summary #payment a { text-decoration: underline; }
.dolets-checkout-summary #payment #place_order {
  float: none;
  width: 100%;
  min-height: 50px;
  margin: 14px 0 0;
  padding: 12px;
  border-radius: 0;
  background: #6d684f;
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
}
.dolets-checkout-summary #payment #place_order:hover { background: #55513d; }

@media (max-width: 900px) {
  form.checkout:has(.dolets-fulfillment) { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .prose:has(form.checkout .dolets-fulfillment) { padding-inline-end: 48px; }
  form.checkout:has(.dolets-fulfillment) .woocommerce-billing-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
  .dolets-time-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dolets-show-slots--mobile:not([hidden]) { display: inline-block; }
  .dolets-time-picker:has(.dolets-show-slots:not([hidden])[aria-expanded="false"]) .dolets-time-grid label:nth-child(n+10):not(:has(input:checked)) { display: none; }
}

/* WooCommerce My Account */
.dolets-account {
  margin-block: clamp(32px, 3.2vw, 64px);
  min-height: 40vh;
  overflow-wrap: anywhere;
}
.dolets-account > h1 { font-size: clamp(25px, 2vw, 38px); font-weight: 600; margin-bottom: 28px; }
.dolets-account h2 { font-size: clamp(18px, 1.25vw, 24px); font-weight: 600; }
.dolets-account--signed-in > .woocommerce {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: clamp(24px, 3.35vw, 64px);
  align-items: start;
}
.dolets-account--signed-in > .woocommerce::before,
.dolets-account--signed-in > .woocommerce::after { display: none; }
.dolets-account .woocommerce :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) {
  float: none;
  width: 100%;
  min-width: 0;
}
.dolets-account--signed-in > .woocommerce > :not(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) {
  grid-column: 1 / -1;
}
.dolets-account-nav-title {
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}
.dolets-account-nav ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.dolets-account-nav a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 10px 15px;
  border: 1px solid var(--line);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}
.dolets-account-nav a[aria-current="page"],
.dolets-account-nav a:hover { background: var(--panel); text-decoration: none; }
.dolets-account-nav .woocommerce-MyAccount-navigation-link--customer-logout a {
  background: #6d684f;
  color: #fff;
}
.dolets-nav-short, .dolets-account-mobile-logout { display: none; }
.dolets-account-lead, .dolets-order-products, .dolets-order-card time { color: #666858; }
.dolets-account .woocommerce-info { background: var(--panel); border-color: var(--olive); color: var(--ink); }
.dolets-account .woocommerce-info::before { color: var(--ink); }

.dolets-order-list { display: grid; gap: 24px; }
.dolets-order-card { padding: clamp(16px, 1.25vw, 24px); border: 1px solid var(--line); }
.dolets-order-card-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; font-size: 22px; }
.dolets-order-card-top h2 { margin: 0; font-weight: 500; }
.dolets-order-card time { display: block; margin-top: 6px; font-size: 14px; }
.dolets-order-state { margin: 12px 0; padding: 14px 18px; background: var(--panel); }
.dolets-order-products { margin-bottom: 12px; }
.dolets-order-actions, .dolets-order-pagination { display: flex; flex-wrap: wrap; gap: 12px; }
.dolets-order-actions .order-again { margin: 0; }
.dolets-order-pagination { margin-top: 20px; }

.dolets-account .woocommerce :is(a.button, button.button, input.button),
.dolets-account .woocommerce .woocommerce-Address-title a.edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  max-width: 100%;
  padding: 10px 20px;
  border: 1px solid #6d684f;
  border-radius: 0;
  background: #6d684f;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  white-space: normal;
}
.dolets-account .woocommerce a.dolets-order-action--view,
.dolets-account .woocommerce a.dolets-order-action--cancel,
.dolets-account .woocommerce .woocommerce-Address-title a.edit {
  background: var(--paper);
  color: var(--ink);
}
.dolets-account .woocommerce a.dolets-order-action--view img { filter: none; }
.dolets-account .woocommerce :is(a.button, button.button, input.button, .woocommerce-Address-title a.edit):hover {
  background: #55513d;
  color: #fff;
  text-decoration: none;
}
.dolets-account .woocommerce a.dolets-order-action--view:hover img { filter: brightness(0) invert(1); }

.dolets-order-back a, .dolets-account-text-link { text-decoration: underline; text-underline-offset: 3px; }
.dolets-order-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  grid-template-areas: "details fulfillment" "customer customer";
  gap: 24px;
  align-items: start;
}
.dolets-order-detail-grid .woocommerce-order-details { grid-area: details; min-width: 0; margin: 0; }
.dolets-order-detail-grid .woocommerce-customer-details { grid-area: customer; min-width: 0; }
.dolets-order-fulfillment { grid-area: fulfillment; }
.dolets-order-thumb { float: inline-start; width: 64px; aspect-ratio: 1; object-fit: cover; margin: 0 12px 8px 0; }
.dolets-account .woocommerce table.shop_table { border-color: var(--line); border-radius: 0; }
.dolets-account .woocommerce table.shop_table :is(th, td) { padding: 10px 8px; border-color: var(--line); }
.dolets-account .woocommerce .woocommerce-MyAccount-content > p:has(mark.order-status) {
  padding: 14px 18px;
  background: var(--panel);
}
.dolets-account mark { background: transparent; color: inherit; font-weight: 600; }

.dolets-account :is(.woocommerce-Address, .dolets-order-fulfillment, .dolets-account-bonuses) {
  padding: 20px;
  background: var(--panel);
}
.dolets-account .woocommerce-Address-title h2,
.dolets-account .woocommerce-Address-title a.edit { float: none; }
.dolets-account .woocommerce-Address-title { display: grid; justify-items: start; gap: 10px; }
.dolets-account .woocommerce-Address address,
.dolets-account .dolets-order-fulfillment address { font-style: normal; line-height: 1.5; margin: 10px 0; }
.dolets-account .dolets-order-fulfillment p:last-child { margin-bottom: 0; }
.dolets-address-remove { margin-top: 14px; }
.dolets-address-remove summary { cursor: pointer; color: #8b371b; text-decoration: underline; text-underline-offset: 3px; }
.dolets-address-remove form { margin-top: 10px; }
.dolets-address-remove p { margin-bottom: 8px; }

.dolets-account :is(.woocommerce-EditAccountForm, .dolets-account-bonuses, form:has(input[name="woocommerce-edit-address-nonce"])) {
  max-width: 570px;
}
.dolets-account .woocommerce .form-row { padding-inline: 0; margin-bottom: 14px; }
.dolets-account .woocommerce .form-row label { font-size: 14px; }
.dolets-account .woocommerce :is(input.input-text, select, .select2-selection--single, fieldset) {
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  background: var(--paper);
}
.dolets-account .woocommerce :is(input.input-text, select, .select2-selection--single) { min-height: 46px; padding: 9px 12px; max-width: 100%; }
.dolets-account .woocommerce fieldset { margin: 16px 0; padding: 16px; min-width: 0; }
.dolets-account .woocommerce .select2-container { max-width: 100%; }
.dolets-account .woocommerce .select2-selection__arrow { height: 100%; }
.dolets-account .woocommerce .woocommerce-EditAccountForm button[name="save_account_details"] { width: 100%; }
.dolets-account .dolets-account-text-link { display: inline-block; margin-top: 8px; }

.dolets-account-breadcrumbs { margin-bottom: 22px; color: #666858; font-size: 13px; }
.dolets-account--guest > h1,
.dolets-account--guest > .woocommerce { max-width: 460px; margin-inline: auto; }
.dolets-account--guest > .woocommerce:has(.u-columns) { max-width: 980px; }
.dolets-account--guest .woocommerce form { margin-top: 10px; padding: 0; border: 0; }
.dolets-account--guest .woocommerce:has(.u-columns) form { padding: 16px; border: 1px solid var(--line); }
.dolets-account--guest .woocommerce-form-login button { width: 100%; }
.dolets-account--guest .woocommerce > h2:has(+ form.woocommerce-form-login) { display: none; }

@media (max-width: 1100px) {
  .dolets-order-detail-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "details" "fulfillment" "customer"; }
}
@media (max-width: 900px) {
  .dolets-account--signed-in > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .dolets-account-nav-title, .dolets-nav-full, .dolets-account-nav .woocommerce-MyAccount-navigation-link--customer-logout { display: none; }
  .dolets-account-nav ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .dolets-nav-short { display: inline; }
  .dolets-account-nav a { justify-content: center; min-height: 44px; padding: 6px 3px; font-size: clamp(10px, 2.65vw, 12px); text-align: center; text-transform: none; overflow-wrap: normal; }
  .dolets-account-nav li:not(.dolets-account-nav-primary) a { min-height: 36px; text-transform: none; }
  .dolets-account-mobile-logout { display: block; margin: 24px 0 0; padding-top: 16px; border-top: 1px solid var(--line); }
  .dolets-account .woocommerce .woocommerce-Address { float: none; width: 100%; margin-bottom: 16px; }
}
@media (max-width: 767px) {
  .dolets-account { padding-inline-end: 48px; }
  .dolets-account > h1 { margin-bottom: 20px; }
  .dolets-order-card-top { font-size: 18px; }
  .dolets-order-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .dolets-order-actions a.button { width: 100%; }
  .dolets-account .woocommerce .form-row { float: none; width: 100%; }
  .dolets-order-thumb { float: none; display: block; width: 48px; margin-right: 0; }
  .dolets-account .woocommerce-info { display: flex; flex-direction: column-reverse; gap: 12px; padding: 14px; }
  .dolets-account .woocommerce-info::before,
  .dolets-account .woocommerce-info::after { display: none; }
  .dolets-account .woocommerce-info a.button { float: none; width: 100%; }
}

/* Checkout map */
.dolets-map-postcode { display: none !important; }
.dolets-delivery-map-wrap { margin-top: 24px; }
.dolets-delivery-map-wrap > p { margin: 0 0 12px; font-size: 14px; }
.dolets-delivery-map {
  height: clamp(285px, 36vw, 460px);
  width: 100%;
  background: var(--panel);
  border: 1px solid var(--line);
  isolation: isolate;
}
.dolets-map-center,
.dolets-map-clear {
  min-height: 44px;
  margin-top: 8px;
  padding: 8px 12px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--olive);
  cursor: pointer;
}
.dolets-delivery-map-wrap .dolets-map-status { margin: 12px 0 0; font-weight: 600; }

/* Single WooCommerce product */
.single-product main.site-main {
  width: calc(100% - 64px);
  max-width: var(--container);
  margin: clamp(28px, 2.5vw, 48px) auto 64px;
}
.dolets-product-breadcrumb {
  margin-bottom: 20px;
  color: #666858;
  font-size: 13px;
  text-transform: uppercase;
}
.dolets-product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(32px, 4.15vw, 80px);
  align-items: start;
}
.dolets-product-media { position: relative; min-width: 0; }
.woocommerce div.product .dolets-product-layout :is(div.images, div.summary) {
  float: none;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.dolets-product-media .woocommerce-product-gallery__image:first-child img {
  display: block;
  width: 100%;
  aspect-ratio: 820 / 680;
  object-fit: cover;
}
.dolets-product-media .woocommerce-product-gallery__image > a:has(> .dolets-product-photo--salad) {
  display: block;
  overflow: hidden;
}
.dolets-product-media .woocommerce-product-gallery__image:first-child img.dolets-product-photo--salad {
  transform: scale(1.83);
  transform-origin: 50% 62%;
}
.woocommerce div.product .dolets-product-layout h1.product_title {
  font-size: clamp(25px, 2vw, 40px);
  line-height: 1.18;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.woocommerce div.product .dolets-product-layout .summary > .price {
  margin-bottom: 14px;
  font-size: clamp(23px, 1.6vw, 32px);
  font-weight: 600;
  color: var(--ink);
}
.dolets-product-layout .product-details { margin-bottom: 18px; font-size: 14px; }
.dolets-product-layout .product-details .icon { width: 20px; height: 20px; }
.dolets-product-description p,
.dolets-product-layout .woocommerce-product-details__short-description p { line-height: 1.55; margin-bottom: 14px; }
.dolets-product-allergens,
.dolets-product-fulfillment { padding: 14px 16px; background: var(--panel); }
.dolets-product-allergens { margin-bottom: 18px; background: #d0cdbc; }
.dolets-product-allergens strong { font-size: 14px; text-transform: uppercase; }
.dolets-product-allergens p,
.dolets-product-fulfillment p { margin: 4px 0 0; font-size: 14px; }
.dolets-product-fulfillment-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; }
.dolets-product-fulfillment-heading h2 { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.4; }
.dolets-product-fulfillment-heading a { font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.dolets-product-fulfillment-time { display: flex; align-items: center; gap: 8px; }
.dolets-product-fulfillment-time .icon { width: 16px; height: 16px; flex: none; }
.dolets-product-fulfillment-note { margin: 12px 0 0; color: #666858; font-size: 13px; }
#dolets-checkout-fulfillment { scroll-margin-top: 48px; }
.woocommerce div.product .dolets-product-layout form.cart { margin: 20px 0; }
.dolets-product-options {
  display: grid;
  gap: 14px;
  padding-top: 16px;
  margin-bottom: 16px;
  border-top: 1px solid var(--line);
}
.dolets-product-cutlery {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--line);
}
.dolets-product-note { display: grid; gap: 6px; }
.dolets-product-options label { font-size: 14px; color: #575949; }
.dolets-product-note textarea {
  width: 100%;
  min-height: 50px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
}
.dolets-product-actions {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
.dolets-product-quantity:has(input[type="hidden"]) { display: none; }
.dolets-product-actions:has(.dolets-product-quantity input[type="hidden"]) { grid-template-columns: minmax(0, 1fr); }
.dolets-product-quantity {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--olive);
}
.woocommerce div.product .dolets-product-actions div.quantity { float: none; margin: 0; }
.dolets-product-quantity input.qty {
  height: 100%;
  width: 3.25em;
  padding: 6px;
  border: 0;
  appearance: textfield;
  background: transparent;
  color: var(--ink);
}
.dolets-product-quantity input.qty::-webkit-inner-spin-button { appearance: none; }
.dolets-product-quantity button {
  width: 38px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}
.dolets-product-quantity button:hover { background: var(--panel); }
.dolets-product-quantity button:disabled { opacity: .4; cursor: default; }
.woocommerce div.product .dolets-product-layout form.cart button.single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 10px 14px;
  border: 0;
  border-radius: 0;
  background: #746e54;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  text-transform: uppercase;
}
.woocommerce div.product .dolets-product-layout form.cart button.single_add_to_cart_button:hover { background: #55513d; }
.dolets-product-actions .single_add_to_cart_button::after {
  content: '';
  flex: 0 0 18px;
  height: 18px;
  background: url('../icons/bag.svg') center / contain no-repeat;
  filter: brightness(0) invert(1);
}
.dolets-product-actions .single_add_to_cart_button[aria-disabled="true"] { opacity: .7; }
.dolets-product-actions > a.added_to_cart { grid-column: 1 / -1; }
.dolets-product-cart-status { margin: 8px 0 0; font-size: 14px; }
.dolets-product-cart-status:empty { display: none; }
.dolets-product-related .related { margin-top: clamp(44px, 5.6vw, 108px); }
.dolets-product-related .related > h2 { margin-bottom: 20px; font-weight: 600; }
.dolets-product-related .woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 20px;
}
.dolets-product-related .woocommerce ul.products::before,
.dolets-product-related .woocommerce ul.products::after { display: none; }
.dolets-product-related .woocommerce ul.products li.product { display: flex; float: none; width: auto; min-width: 0; margin: 0; }
@media (min-width: 768px) {
  .dolets-product-related .woocommerce ul.products li.product a.woocommerce-loop-product__link > img { aspect-ratio: 397 / 290; }
}

@media (max-width: 900px) {
  .dolets-product-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .dolets-product-media .woocommerce-product-gallery__image:first-child img { aspect-ratio: 3 / 2; }
  .dolets-product-media .woocommerce-product-gallery__image:first-child img.dolets-product-photo--salad {
    transform: scale(2.15);
    transform-origin: 50% 60%;
  }
}
@media (max-width: 767px) {
  .single-product main.site-main { width: calc(100% - 32px); margin-bottom: 48px; }
  .dolets-product-breadcrumb { margin-bottom: 14px; font-size: 11px; }
  .single-product .hero-menu-tab {
    top: auto;
    bottom: max(12px, env(safe-area-inset-bottom));
    transform: none;
    width: 52px;
    min-height: 52px;
    gap: 3px;
    padding: 5px;
    background: #746e54;
  }
  .single-product .hero-menu-tab:hover,
  .single-product .hero-menu-tab:active { background: #55513d; }
  .single-product .hero-menu-tab .hero-menu-lines { font-size: 18px; }
  .single-product .hero-menu-tab > span:last-child { display: none; }
  .dolets-product-description p,
  .dolets-product-layout .woocommerce-product-details__short-description p { font-size: 14px; line-height: 1.5; }
  .dolets-product-quantity button { width: 30px; }
  .woocommerce div.product .dolets-product-quantity input.qty { width: 38px; }
  .woocommerce div.product .dolets-product-layout form.cart button.single_add_to_cart_button { min-height: 44px; padding: 8px; font-size: 12px; gap: 6px; }
  .dolets-product-related .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .dolets-product-related .woocommerce ul.products li.product:nth-child(n) { display: flex; }
}
