/* A compact masthead, with the brand's established colours and type. */
.slim-announcement{padding:5px 18px;font-size:12px;line-height:1.5;letter-spacing:0;background:var(--dark-red)}
.slim-announcement a{display:inline;margin:0;text-underline-offset:3px}
.header.reference-header{height:66px;min-height:66px;padding:0 28px;gap:28px;background:var(--red);color:var(--cream);border-bottom:1px solid #ffffff30}
.reference-header .wordmark{font-size:29px;letter-spacing:-1.5px;white-space:nowrap}
.reference-header #main-nav{flex:1;margin:0;gap:24px;font-size:14px}
.reference-header #main-nav a{font-size:14px;white-space:nowrap;color:inherit}
.reference-header #main-nav a:hover,.reference-header #main-nav a[aria-current=page]{border-color:var(--cream)}
.reference-header #main-nav .nav-utility{margin-left:auto}
.header.reference-header .cart-link{background:var(--cream);border-color:var(--cream);color:var(--red);padding:7px 16px;font-size:14px}
.header.reference-header .cart-link:hover{background:#f1e5d1}
.reference-header .menu-toggle{color:var(--cream);border-color:#ffffff70}
.home .hero{height:calc(100svh - 94px)}
.brand-strip{display:flex;justify-content:space-around;gap:18px;flex-wrap:wrap;background:var(--red);color:var(--cream);padding:13px 24px;font-size:12px;letter-spacing:.1em;border-block:1px solid #ffffff25}

/* Map and floating panels mirror the reference's full-width composition. */
.locator-title{background:var(--dark-red);color:var(--cream);padding:56px 24px 50px;text-align:center}
.locator-title h1{font-family:var(--serif);font-size:clamp(36px,3.6vw,54px);letter-spacing:-1.3px;line-height:1.15;margin:0}
.locator-title p{font-size:14px;margin:18px 0 0;opacity:.85}
.locator-canvas{position:relative;height:650px;min-height:540px;isolation:isolate}
.locator-canvas .locator-map-wrap{position:absolute;inset:0;display:block}
.locator-canvas #retailer-map{height:100%;min-height:0}
.locator-canvas .leaflet-tile-pane{filter:grayscale(1) sepia(.2);opacity:.85}
.locator-canvas .leaflet-control-zoom{margin:0 20px 32px 0}
.locator-floating-results{position:absolute;top:24px;left:24px;z-index:5;width:330px;max-height:calc(100% - 48px);overflow:auto;padding:12px 18px 18px;background:#fff9edf5;color:var(--ink);border:1px solid #391a1730;border-radius:4px;box-shadow:0 3px 12px #391a1714}
.locator-modes{display:flex;border-bottom:1px solid var(--line);margin:0 -6px;position:sticky;top:-12px;background:var(--cream);z-index:1;padding-top:6px}
.locator-modes button{font:inherit;font-size:14px;padding:12px 22px;background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer}
.locator-modes button[aria-selected=true]{background:var(--red);color:var(--cream);border-color:var(--red)}
.locator-floating-results .locator-status{font-size:12px;padding:15px 0;line-height:1.6}
.locator-floating-results .store-result{padding:18px 0}
.locator-floating-results .store-result h2{font-size:16px;margin:6px 0}
.locator-floating-results .store-result p{font-size:14px;line-height:1.6}
.locator-floating-results .store-result .text-link,.locator-floating-results .show-on-map{font-size:14px}
.locator-searchbar{position:absolute;top:24px;right:24px;width:min(56%,750px);z-index:6;padding:8px;background:#fff9edf5;border:1px solid #391a1730;border-radius:4px;box-shadow:0 3px 12px #391a1714}
.locator-searchbar form{display:flex;gap:8px}
.locator-searchbar input{min-width:0;flex:1;padding:12px;border:1px solid var(--line);font:inherit;font-size:14px;background:var(--cream);color:var(--ink)}
.locator-searchbar button,.locator-searchbar select{font:inherit;font-size:14px;border:1px solid var(--line);background:var(--cream);color:var(--ink);padding:11px 16px;cursor:pointer}
.locator-searchbar #filter-toggle{min-width:112px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.locator-searchbar .locator-search-submit{display:grid;place-items:center;background:var(--red);color:var(--cream);width:48px;padding:10px;border-color:var(--red)}
#locator-filters{padding:16px 4px 6px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}
#locator-filters select{flex:1;min-width:140px}
#locator-filters #reset-stores{border:0;padding:8px;text-decoration:underline;text-underline-offset:4px}
#online-panel{padding:28px 0 8px}
#online-panel .eyebrow{font-size:12px;margin-bottom:15px}
#online-panel h2{font-size:32px;letter-spacing:-.7px;margin-bottom:18px}
#online-panel p{font-size:14px}
.locator-canvas .map-error{top:auto;bottom:38px;left:auto;right:75px;max-width:360px}
.locator-shop.section{padding:55px 6% 65px}
.locator-shop-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.locator-shop-heading h2{font-size:40px;letter-spacing:-1px;margin:0}
.locator-shop-heading .text-link{min-width:95px}
.locator-shop .product-size-grid{max-width:900px;margin:0 auto}
.locator-shop .card-photo-stage{aspect-ratio:1.8}

/* Wholesale stays an enquiry, with a considered four-step application. */
.wholesale-hero{position:relative;min-height:560px;overflow:hidden;color:var(--cream);background:#5b362a}
.wholesale-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.wholesale-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#371914d9,#37191488 40%,#37191408 78%)}
.wholesale-hero-copy{position:relative;padding:65px 6% 60px;max-width:680px}
.wholesale-hero-copy .eyebrow{font-size:12px;margin-bottom:23px}
.wholesale-hero-copy h1{font-size:clamp(48px,5.2vw,76px);line-height:1.07;letter-spacing:-2px;margin-bottom:22px}
.wholesale-hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;margin-bottom:18px}
.wholesale-hero-copy ul{padding-left:19px;margin:0 0 30px;font-size:14px;line-height:1.85}
.wholesale-hero-copy .button{border-radius:28px;gap:25px}
.wholesale-contact-link{display:inline-block;margin:15px 0 0 22px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.wholesale-enquiry{background:#f7f0e6;scroll-margin-top:66px}
.enquiry-progress{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:28px 3%;margin:0;background:var(--cream);font-size:12px;letter-spacing:.05em;color:#806a60}
.enquiry-progress li{border-bottom:2px solid var(--line);padding-bottom:12px;display:flex;gap:10px}
.enquiry-progress li[aria-current=step]{border-color:var(--red);color:var(--red)}
.enquiry-progress li.is-complete{border-color:var(--red);color:var(--ink)}
#wholesale-form{max-width:620px;margin:auto;padding:55px 24px 75px}
.enquiry-step-label{text-align:center;font-size:12px;letter-spacing:.1em;margin-bottom:18px;color:var(--red)}
#wholesale-form fieldset{border:0;margin:0;padding:0;min-width:0}
#wholesale-form legend{font-family:var(--serif);font-size:clamp(32px,3.2vw,45px);line-height:1.13;letter-spacing:-1px;text-align:center;width:100%;padding:0;margin-bottom:18px;color:var(--ink)}
#wholesale-form fieldset>p:first-of-type{text-align:center;font-size:14px;color:#694e43;line-height:1.7;margin-bottom:28px}
.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.enquiry-fields label{font-size:14px;display:flex;flex-direction:column;gap:7px}
.enquiry-fields label>span{font-size:12px;color:#806a60;display:contents}
.enquiry-fields .full-field{grid-column:1/-1}
.enquiry-fields input,.enquiry-fields select,.enquiry-fields textarea{width:100%;min-width:0;border:1px solid #391a1726;border-radius:5px;background:#fffdf9;color:var(--ink);padding:13px 14px;font:inherit;font-size:16px}
.enquiry-fields textarea{resize:vertical}
.enquiry-fields input:focus,.enquiry-fields select:focus,.enquiry-fields textarea:focus{outline:2px solid var(--red);outline-offset:2px}
.enquiry-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px}
.enquiry-actions #enquiry-next{margin-left:auto;border-radius:26px;min-width:160px}
#enquiry-back,#copy-enquiry{font:inherit;font-size:14px;border:0;background:transparent;color:var(--red);padding:12px 0;cursor:pointer}
#enquiry-review{margin:0 0 25px}
#enquiry-review>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
#enquiry-review dt{color:#806a60}#enquiry-review dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.enquiry-send{width:100%;border-radius:28px}
#copy-enquiry{display:block;margin:12px auto 0;text-decoration:underline;text-underline-offset:4px}
.enquiry-email-note{font-size:13px;text-align:center;color:#806a60;line-height:1.7}
.enquiry-email-note a{text-decoration:underline}
#enquiry-copy{width:100%;padding:14px;font:inherit;font-size:14px;border:1px solid var(--line);background:var(--cream);color:var(--ink)}
#enquiry-copy-status{text-align:center;font-size:14px}
[hidden]{display:none!important}
@media(max-width:1000px){.header.reference-header{gap:18px;padding-inline:22px}.reference-header .wordmark{font-size:26px}.reference-header #main-nav{gap:15px}.reference-header #main-nav a{font-size:13px}.locator-floating-results{width:300px;left:18px}.locator-searchbar{right:18px;width:calc(100% - 354px)}.locator-searchbar #filter-toggle{min-width:88px;padding-inline:10px;gap:8px}.locator-searchbar form{gap:5px}}
@media(max-width:900px){.header.reference-header{height:auto;min-height:64px;padding:13px 5%;flex-wrap:wrap;gap:12px}.reference-header .wordmark{margin-right:auto;order:0}.header.reference-header .cart-link{order:1}.reference-header .menu-toggle{display:flex;align-items:center;order:2;padding:8px 10px;font-size:14px}.header.reference-header #main-nav{display:none;flex-basis:100%;order:3;flex-direction:column;align-items:stretch;border-top:1px solid #ffffff30;padding-top:12px;gap:2px;margin:0}.header.reference-header #main-nav.is-open{display:flex}.reference-header #main-nav a{display:block!important;font-size:16px;padding:10px 0}.reference-header #main-nav .nav-utility{margin-left:0}.locator-title{padding:38px 20px}.locator-canvas{display:flex;flex-direction:column;height:auto;min-height:0}.locator-searchbar{position:relative;inset:auto;width:100%;order:0;border-radius:0;padding:12px 5%;box-shadow:none}.locator-canvas .locator-map-wrap{position:relative;inset:auto;height:420px;order:1}.locator-floating-results{position:relative;inset:auto;width:100%;max-height:410px;order:2;padding:14px 5% 22px;border-radius:0;box-shadow:none}.locator-canvas .map-error{left:20px;right:70px;bottom:20px}.locator-modes{margin:0}.locator-shop-heading h2{font-size:34px}.wholesale-hero{min-height:540px}.wholesale-hero-copy{padding:52px 6%;max-width:610px}.wholesale-hero-shade{background:linear-gradient(90deg,#371914db,#37191488 68%,#37191430)}.enquiry-progress{padding:22px 5%;gap:10px}.enquiry-progress li{display:block;font-size:12px;letter-spacing:0}.enquiry-progress li span{display:block;margin-top:5px}}
@media(max-width:480px){.slim-announcement{font-size:12px;padding:5px 10px}.header.reference-header .wordmark{font-size:25px}.header.reference-header .cart-link{padding:7px 12px}.locator-title h1{font-size:36px}.locator-searchbar #filter-toggle{min-width:76px;font-size:13px;padding-inline:7px}.locator-searchbar input{font-size:14px;padding:10px 8px}.locator-searchbar .locator-search-submit{width:40px}.locator-canvas .locator-map-wrap{height:360px}.locator-shop-heading{align-items:flex-end}.locator-shop-heading h2{font-size:30px;max-width:210px}.brand-strip{font-size:12px;gap:8px 18px;letter-spacing:.04em}.wholesale-hero-copy h1{font-size:52px}.wholesale-contact-link{display:block;margin:20px 0 0}#wholesale-form{padding:38px 6% 55px}.enquiry-fields{grid-template-columns:1fr}.enquiry-progress{padding-inline:4%;gap:8px}.enquiry-progress li{font-size:12px;line-height:1.5}#enquiry-review>div{grid-template-columns:1fr;gap:5px}}

.enquiry-send:disabled{opacity:.65;cursor:default;transform:none}.enquiry-send{font-family:inherit}#enquiry-success-title{font-size:42px;line-height:1.15}[data-enquiry-success]{text-align:center}[data-enquiry-success]>p{font-size:16px;line-height:1.8}

/* A discreet playback control without a separate visual block. */
.hero-video-control{top:auto;bottom:22px;right:5%;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;display:grid;place-items:center}
.hero-video-control svg{width:16px;height:16px;display:block}
.hero-bottom{right:calc(5% + 65px)}
@media(max-width:650px){.home .hero{height:auto;min-height:620px}.hero-copy{padding-top:52px;padding-bottom:115px}.hero-video-control{right:6%;bottom:20px}.hero-bottom{right:calc(6% + 58px)}.ribbon i{display:none}.ribbon{gap:20px}}

.ribbon-divider{display:block;width:1px;height:18px;background:currentColor;opacity:.4}
@media(max-width:650px){.ribbon-divider{display:none}}

/* Brand campaign photographs: full portrait composition, compact editorial layout. */
.campaign-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;align-items:center;padding-top:64px;padding-bottom:64px;text-align:left}
.campaign-story .campaign-photo{width:100%;max-width:366px;justify-self:center}
.campaign-story .campaign-photo img{display:block;width:100%;height:auto}
.campaign-story .campaign-copy{max-width:490px}
.campaign-story .campaign-description{font-size:17px;line-height:1.8;max-width:380px;margin:0 0 30px;color:#694e43}
.campaign-story .eyebrow{line-height:1.6}
@media(max-width:650px){.campaign-story{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:40px;padding-bottom:40px}.campaign-story .campaign-photo{max-width:290px}.campaign-story .campaign-copy{width:100%;max-width:none}.campaign-story .campaign-description{font-size:16px}.campaign-story h2{font-size:clamp(40px,10vw,58px)}}

/* Additional supplied campaign images retain their original portrait framing. */
.kitchen-campaign .campaign-photo{max-width:336px}
.kitchen-campaign .campaign-copy h2{margin-bottom:24px}
.kitchen-campaign .campaign-copy>p:not(.eyebrow){margin-bottom:30px}
.shop-campaign{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:6%;align-items:center;padding-top:40px;padding-bottom:40px}
.shop-campaign-photo{width:100%;max-width:269px;justify-self:center}
.shop-campaign-photo img,.wholesale-campaign-photo img{display:block;width:100%;height:auto}
.wholesale-hero.wholesale-campaign{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5%;padding:36px 7%;min-height:0;background:var(--dark-red)}
.wholesale-campaign .wholesale-hero-copy{grid-column:1;grid-row:1;padding:28px 0;max-width:580px}
.wholesale-campaign-photo{grid-column:2;grid-row:1;justify-self:center;width:100%;max-width:396px}
@media(max-width:900px){.wholesale-campaign .wholesale-hero-copy h1{font-size:clamp(40px,5.2vw,56px)}}
@media(max-width:650px){.kitchen-campaign .campaign-photo{max-width:290px}.shop-campaign{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:36px;padding-bottom:30px}.shop-campaign-photo{max-width:200px}.wholesale-hero.wholesale-campaign{grid-template-columns:minmax(0,1fr);gap:26px;padding:36px 6%}.wholesale-campaign .wholesale-hero-copy{grid-column:1;grid-row:1;padding:0}.wholesale-campaign-photo{grid-column:1;grid-row:2;max-width:290px}.wholesale-campaign .wholesale-hero-copy h1{font-size:clamp(42px,10vw,56px)}}

/* Vector arrows keep mobile controls in the brand colour, without emoji font substitution. */
.ui-arrow{display:inline-block;width:1em;height:1em;min-width:1em;flex-shrink:0;vertical-align:-.12em;pointer-events:none}
html{font-variant-emoji:text}

/* A comparison table, with competitors separated from the Ace Sabbah shop. */
.ingredient-comparison{padding:64px 6%;background:#73171a;color:var(--cream);border-block:1px solid #ffffff30}
.ingredient-comparison-inner{max-width:1160px;margin:0 auto}
.ingredient-comparison-heading{display:block;text-align:center;margin:0 auto 36px;max-width:740px}
.ingredient-comparison-heading .eyebrow{color:#f2d8c9;font-size:12px;letter-spacing:.13em;margin:0 0 18px}
.ingredient-comparison-heading h2{font-size:clamp(38px,4.6vw,64px);line-height:1.1;letter-spacing:-1.5px;margin:0 0 20px}
.ingredient-comparison-heading h2 br{display:none}
.ingredient-comparison-heading h2 em{margin-left:.12em}
.ingredient-comparison-heading>p:last-child{font-size:16px;line-height:1.7;margin:0;color:#f2d8c9}
.ingredient-comparison-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:center;font-size:16px;line-height:1.5}
.ingredient-comparison-table .comparison-feature-col{width:24%}.ingredient-comparison-table .comparison-our-col{width:30%}
.ingredient-comparison-table th,.ingredient-comparison-table td{padding:20px 18px;font-weight:400;vertical-align:middle;border-bottom:1px solid #ffffff35;overflow-wrap:break-word}
.ingredient-comparison-table tr>*:nth-child(2){background:var(--cream);color:#73171a;border-bottom-color:#73171a25}
.ingredient-comparison-table .comparison-group-row>*{padding:13px 12px;font-size:11px;letter-spacing:.1em;border-bottom:1px solid #ffffff35}
.ingredient-comparison-table .comparison-group-row>th:last-child{background:#ffffff08;color:#f2d8c9;border-bottom-color:#ffffff35}
.comparison-group-row span{display:block;font-size:12px;letter-spacing:0;margin-top:3px;color:#f2d8c9}
.ingredient-comparison-table .comparison-brand-row>*{vertical-align:bottom;padding-top:20px;padding-bottom:22px}
.comparison-brand-image{height:110px;display:flex;align-items:center;justify-content:center;margin:0 0 14px}
.comparison-brand-image img{display:block;width:72px;height:72px;object-fit:contain;max-width:100%}
.comparison-our-brand .comparison-brand-image img{width:205px;height:136px;max-width:100%;object-fit:contain}
.comparison-brand-name{display:block;font-size:17px;line-height:1.4;font-weight:500}
.comparison-our-brand .comparison-brand-name{font-family:Georgia,serif;font-size:25px;letter-spacing:-.04em}
.comparison-brand-variant{display:block;font-size:12px;line-height:1.5;margin-top:6px;min-height:36px;opacity:.8}
.ingredient-comparison-table tbody th{text-align:left;font-size:14px;color:#f2d8c9}
.ingredient-comparison-table tbody td{color:#f2d8c9}
.ingredient-comparison-table tbody td:nth-child(2){color:#73171a}
.comparison-value{font-size:32px;font-weight:400;line-height:1}
.ingredient-comparison-table td:nth-child(2) .comparison-value{font-weight:600;font-size:42px}
.comparison-only-tomatoes{display:block;font-size:13px;margin-top:3px}
.ingredient-comparison-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:38px;margin-top:28px}
.ingredient-comparison-bottom>.button{flex-shrink:0}
.ingredient-comparison-sources{max-width:665px;font-size:12px;line-height:1.7;color:#f2d8c9}
.ingredient-comparison-sources p{margin:0 0 8px}.ingredient-comparison-sources summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:4px 0}
.ingredient-comparison-sources details p{margin:10px 0}.ingredient-comparison-sources details a{display:inline-block;margin:0 18px 0 0;text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.ingredient-comparison{padding:42px 5%}.ingredient-comparison-heading{margin-bottom:28px}.ingredient-comparison-heading h2{font-size:40px}.ingredient-comparison-heading h2 br{display:block}.ingredient-comparison-heading h2 em{margin-left:0}.ingredient-comparison-heading>p:last-child{font-size:15px;max-width:310px;margin:auto}.ingredient-comparison-table{font-size:13px}.ingredient-comparison-table .comparison-feature-col{width:23%}.ingredient-comparison-table .comparison-our-col{width:29%}.ingredient-comparison-table th,.ingredient-comparison-table td{padding:16px 7px}.ingredient-comparison-table .comparison-group-row>*{padding:10px 5px;font-size:9px;letter-spacing:.05em}.comparison-group-row span{font-size:10px}.ingredient-comparison-table .comparison-brand-row>*{padding:12px 5px}.comparison-brand-image{height:64px;margin-bottom:10px}.comparison-brand-image img{width:44px;height:44px}.comparison-our-brand .comparison-brand-image img{width:110px;height:74px}.comparison-brand-name{font-size:12px}.comparison-our-brand .comparison-brand-name{font-size:18px}.comparison-brand-variant{font-size:10px;min-height:30px}.ingredient-comparison-table tbody th{font-size:12px}.comparison-value{font-size:25px}.ingredient-comparison-table td:nth-child(2) .comparison-value{font-size:34px}.comparison-only-tomatoes{font-size:11px}.ingredient-comparison-bottom{flex-direction:column;gap:20px;margin-top:24px}.ingredient-comparison-bottom>.button{align-self:center}.ingredient-comparison-sources{font-size:11px}}
