/*
Theme Name: Theobroma
Theme URI: http://localhost:8080
Author: Theobroma team
Description: Custom storefront theme for natural chocolate.
Version: 1.0.0
Text Domain: theobroma
*/

@font-face { font-family:'Cormorant'; src:url('assets/fonts/cormorant-cyrillic-variable.woff2') format('woff2'); font-style:normal; font-weight:300 700; font-display:swap; unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Cormorant'; src:url('assets/fonts/cormorant-latin-variable.woff2') format('woff2'); font-style:normal; font-weight:300 700; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
/* One static face keeps Cyrillic letters and numerals consistent in the hero. */
@font-face { font-family:'Cormorant Hero'; src:url('assets/fonts/cormorant-hero-400.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('assets/fonts/montserrat-cyrillic.woff2') format('woff2'); font-style:normal; font-weight:100 900; font-display:swap; unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Montserrat'; src:url('assets/fonts/montserrat-latin.woff2') format('woff2'); font-style:normal; font-weight:100 900; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  --ink:#241d19;
  --paper:#fcf9f7;
  --cream:#f3ebe4;
  --gold:#b0903d;
  --line:#dfd2c3;
  --muted:#766c64;
  --layout-container:72.5rem;
  --layout-wide:var(--layout-container);
  --layout-content:72.5rem;
  --layout-gutter:clamp(1.125rem,4vw,4rem);
  --touch-min:44px;
}
* { box-sizing:border-box; }
html { overflow-x:hidden; scroll-behavior:smooth; font-size:clamp(0.9375rem,calc(0.6517875rem + 1.4286vw),1rem); }
@media (min-width:601px) and (max-width:1199px) { html { font-size:clamp(1rem,calc(0.874791rem + .33389vw),1.125rem); } }
@media (min-width:1200px) and (max-width:1440px) { html { font-size:clamp(.9375rem,calc(.625rem + .416667vw),1rem); } }
@media (min-width:1441px) { html { font-size:clamp(1rem,calc(0.67856875rem + .357143vw),1.25rem); } }
.screen-reader-text { width:1px; height:1px; padding:0; margin:-1px; position:absolute; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:10000010; top:0.5rem; left:0.5rem; padding:0.625rem 0.875rem; color:#fff; background:#343434; transform:translateY(-160%); transition:transform .15s ease; }
.skip-link:focus { transform:translateY(0); }
.skip-target { width:0; height:0; display:block; overflow:hidden; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:'Montserrat', Arial, sans-serif; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.home > main { position:relative; }.home-decor { position:absolute; z-index:4; inset:0; overflow:hidden; pointer-events:none; }.home-decor i { position:absolute; display:block; background-position:center; background-size:100% 100%; background-repeat:no-repeat; }.home-decor i:nth-child(1) { top:36.875rem; right:0; width:17.1875rem; height:21.71875rem; background-image:url('assets/images/botanical-home-right.webp'); }.home-decor i:nth-child(2) { top:80.04003906rem; left:0; width:13.1875rem; height:17.77441406rem; }.home-decor i:nth-child(3) { top:114.47753906rem; right:0; width:13.25rem; height:25.8125rem; }.home-decor i:nth-child(4) { top:155.04003906rem; left:0; width:11.5625rem; height:22.91601563rem; }
.home-decor i:nth-child(2).is-loaded { background-image:url('assets/images/botanical-home-left.webp'); }
.home-decor i:nth-child(3).is-loaded { background-image:url('assets/images/botanical-home-right-tall.webp'); }
.home-decor i:nth-child(4).is-loaded { background-image:url('assets/images/botanical-home-left-tall.webp'); }
.site-header { position:relative; z-index:20; height:3.1875rem; background:transparent; }
.shipping { min-height:3.1875rem; position:relative; display:block; color:white; background:var(--gold); }
.shipping img { position:absolute; top:0.639625rem; left:calc(50vw - 11.296875rem); width:1.9199375rem; height:1.9199375rem; object-fit:contain; }
.shipping span { position:absolute; top:0.375rem; left:calc(29.291154vw - 4.7431875rem); width:13.1965rem; white-space:nowrap; font:400 0.6875rem/1.0625rem 'Montserrat',Arial,sans-serif; letter-spacing:normal; zoom:1.707; }
.nav { position:absolute; top:3.1875rem; left:50vw; width:min(80rem,calc(100vw - 9.375rem)); min-height:7rem; transform:translateX(-50%); padding:0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2.125rem; }
.nav-links { position:relative; display:flex; font:400 1rem/1.5625rem 'Montserrat',Arial,sans-serif; color:#000; white-space:nowrap; }
.nav-links:first-child { gap:4.0625rem; transform:translate(3.75rem,-0.59375rem); }
.nav-links:last-of-type { justify-content:flex-end; gap:2.875rem; transform:translate(-3.75rem,-0.53125rem); }
.nav-links:first-child a:nth-child(2) { transform:translateX(-.09375px); }.nav-links:first-child a:nth-child(3) { transform:translateX(.125px); }
.nav-links:last-of-type a:nth-child(1) { transform:translateX(.125px); }.nav-links:last-of-type a:nth-child(2) { transform:translateX(.71875px); }.nav-links:last-of-type a:nth-child(3) { transform:translateX(-.125px); }
.brand { width:13.125rem; height:5.520625rem; transform:translateY(-2px); text-align:center; }
.brand img { width:13.125rem; height:5.520625rem; }
.nav-action { color:var(--gold); font:700 0.6875rem/1 Arial,sans-serif; }
.menu-toggle,.mobile-menu { display:none; }
.source-motion-ready .source-text-reveal { overflow:hidden; }
.source-motion-ready .source-text-reveal > span,
.source-motion-ready h1 .source-text-reveal > i { display:block; opacity:0; font-style:normal; }
.source-motion-ready .source-text-reveal.is-visible > span,
.source-motion-ready h1 .source-text-reveal.is-visible > i { animation:theobroma-source-text-reveal 500ms cubic-bezier(.21,.60,.35,1) .4s 1 both; }
@keyframes theobroma-source-text-reveal {
  from { opacity:0; transform:perspective(62.5rem) translate3d(0,-12.5rem,0) rotate3d(-100,0,0,0deg); }
  to { opacity:1; transform:perspective(31.25rem) translate3d(0,0,0); }
}
.about-award { animation:none; backface-visibility:hidden; }
@media (prefers-reduced-motion:reduce) {
  .source-text-reveal > span,.source-text-reveal > i { opacity:1 !important; transform:none !important; animation:none !important; }
  .about-award { animation:none !important; }
}
.nav-sticky .nav { position:fixed; top:0; left:0; width:100%; min-height:6.6875rem; transform:none; padding-inline:max(4.6875rem,calc((100vw - 80rem)/2)); background:#f3ebe4; }
.nav-sticky .nav-links:first-child { transform:translate(3.75rem,-0.4375rem); }
.nav-sticky .nav-links:last-of-type { transform:translate(-3.75rem,-0.375rem); }
.nav-sticky .brand { transform:translateY(.672px); }
.nav-sticky .floating-actions { top:6.875rem; }
.nav-links,.brand { transition:transform 480ms cubic-bezier(.22,.61,.36,1); }
.floating-actions { transition:top 480ms cubic-bezier(.22,.61,.36,1); }
.floating-actions { position:fixed; z-index:30; top:4.625rem; right:0; display:grid; gap:0.375rem; }.floating-actions a { width:5.4375rem; height:3.125rem; padding-left:0.9375rem; display:flex; align-items:center; justify-content:flex-start; gap:0.5625rem; color:white; background:var(--gold); font:400 0.875rem/0.875rem 'Montserrat',Arial,sans-serif; }.floating-actions a:hover { background:#99741e; }
.floating-actions img { width:1.625rem; height:1.375rem; object-fit:contain; }.floating-actions a:last-child { padding-left:1.0625rem; gap:0.625rem; }.floating-actions a:last-child img { width:1.375rem; }.floating-actions a:last-child span { position:relative; top:2px; }
.hero { min-height:40.625rem; overflow:hidden; position:relative; background:#fff; }
.hero::after { content:''; position:absolute; z-index:0; inset:0; background:url('assets/images/hero-bg-original.jpg') center/cover no-repeat; opacity:.3; }
.hero-chocolate { position:absolute; z-index:1; width:28.625rem; height:35.8125rem; left:calc(50vw + 3.9375rem); top:4.8125rem; object-fit:contain; }
.hero-inner { width:72.5rem; height:40.625rem; margin:0; padding:0; position:relative; left:calc(50vw - 36.25rem); z-index:2; }
.eyebrow { color:var(--gold); font:700 0.6875rem/1 Arial,sans-serif; text-transform:uppercase; letter-spacing:.13em; }
h1,h2,.value h3,.footer-grid h3,.review strong { color:#000; font-family:'Cormorant', Arial, sans-serif; }
h1 { position:absolute; top:10.6875rem; left:0; width:35rem; margin:0; font:400 4.6875rem/4.6875rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; letter-spacing:normal; }
h1 span { display:block; height:4.4375rem; } h1 span:nth-child(2) { margin-left:3.125rem; }
.hero p { position:absolute; top:25.5rem; left:0; width:35rem; margin:0; color:#343434; font:400 1.125rem/1.75rem 'Montserrat',Arial,sans-serif; letter-spacing:normal; }
.hero .button { position:absolute; top:29.75rem; left:0; width:13.75rem; min-height:2.625rem; margin:0; font-size:1rem; line-height:1.55rem; }
.button { display:inline-flex; justify-content:center; align-items:center; min-width:9.25rem; min-height:2.625rem; padding:0 1.5rem; border:0; border-radius:62.4375rem; color:white; background:var(--gold); font:500 0.6875rem/1 'Montserrat',Arial,sans-serif; margin-top:0.875rem; transition:background .2s ease; }
.button:hover { background:#98731d; }
.section { max-width:77.5rem; margin:auto; padding:5.75rem 1.75rem; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:1.5rem; margin-bottom:2rem; }
h2 { margin:0; font-size:clamp(1.9375rem,4vw,3.375rem); line-height:.94; font-weight:400; letter-spacing:-.045em; text-transform:uppercase; }
.section-note { max-width:16.25rem; color:var(--muted); font:0.8125rem/1.5 Arial,sans-serif; }
#catalog { max-width:none; height:50.4375rem; padding:0; position:relative; overflow:hidden; }
#catalog::before,#catalog::after,.feature::before,.reviews::before { content:none; }
#catalog::before { top:-3.75rem; right:0; width:17.1875rem; height:21.71875rem; background-image:url('assets/images/botanical-home-right.webp'); }
#catalog::after { top:39.41503906rem; left:0; width:13.1875rem; height:17.77441406rem; background-image:url('assets/images/botanical-home-left.webp'); }
#catalog .section-heading { width:72.5rem; height:12.625rem; margin:0; left:calc(50vw - 36.25rem); display:block; position:relative; z-index:1; }
#catalog .section-heading h2 { position:relative; top:6.25rem; width:41.9375rem; margin:0 auto; font:400 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; white-space:nowrap; text-align:center; }
#catalog .section-heading h2 em { color:var(--gold); font-weight:400; }
#catalog .section-note { display:none; }
.products { display:grid; grid-template-columns:repeat(4,1fr); gap:1.375rem; }
#catalog .products { width:72.5rem; height:28.9375rem; margin:0; position:relative; left:calc(50vw - 36.25rem); grid-template-columns:repeat(4,16.25rem); gap:2.5rem; }
#catalog > p { height:8.875rem; margin:0; display:flex; justify-content:center; align-items:center; }
#catalog > p .button { width:13.75rem; margin:0; font:500 1rem/1.55rem 'Montserrat',Arial,sans-serif; }
.product { position:relative; }
.product-image { height:20.3125rem; overflow:hidden; position:relative; background:center/cover no-repeat; }
.product-image::after { content:'♡'; position:absolute; top:0.625rem; right:0.625rem; width:2.875rem; height:2.875rem; display:grid; place-items:center; border-radius:50%; color:#b8902f; background:#fff; font:1.5625rem/1 Arial,sans-serif; }
.product:nth-child(1) .product-image { background-image:url('assets/images/product-68.webp'); }
.product:nth-child(2) .product-image { background-image:url('assets/images/product-59.webp'); }
.product:nth-child(3) .product-image { background-image:url('assets/images/product-65.webp'); }
.product:nth-child(4) .product-image { background-image:url('assets/images/product-milk.webp'); }
.product-image img { width:88%; height:88%; object-fit:contain; mix-blend-mode:multiply; transition:transform .35s ease; }
.product:hover .product-image img { transform:scale(1.04); }
.product h3 { margin:1.25rem 0 0.5rem; color:#343434; font:500 0.875rem/1.18125rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }.product-unit { text-transform:lowercase; }
.product p { margin:0; color:#343434; font:400 0.875rem/1.35625rem 'Montserrat',Arial,sans-serif; }
.price { display:block; margin-top:0.8125rem; color:var(--gold); font:500 1.125rem/1.51875rem 'Montserrat',Arial,sans-serif; }
.feature { height:36.5625rem; position:relative; background:var(--paper); overflow:hidden; }
.feature::before { top:23.41503906rem; right:0; width:13.25rem; height:25.8125rem; background-image:url('assets/images/botanical-home-right-tall.webp'); }
.about-stage { width:72.5rem; height:36.5625rem; margin:0; position:relative; top:-.359375px; left:calc(50vw - 36.25rem); }
.about-award { position:absolute; top:3.3125rem; left:8.4375rem; width:14.6875rem; height:14.375rem; object-fit:contain; will-change:transform; }
.story { position:absolute; top:3.125rem; left:37.5rem; width:35rem; height:14.6875rem; padding:0; background:#f3ebe4; text-align:center; }
.story h2 { position:absolute; top:2.5rem; left:3.3125rem; width:28.3125rem; margin:0; color:#000; font:400 1.625rem/1.9375rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.story h2 em { color:var(--gold); font-weight:400; }
.story p { position:absolute; top:7.6875rem; left:4.0625rem; width:26.8125rem; margin:0; color:#343434; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.values { position:absolute; top:20.3125rem; left:0; width:72.5rem; display:grid; grid-template-columns:repeat(3,22.5rem); gap:2.5rem; }
.value { height:13.125rem; padding:1.875rem; position:relative; background:#f3ebe4; }
.value img { position:absolute; right:1.25rem; top:6.25rem; width:6rem; height:6rem; object-fit:contain; opacity:.1; }
.value:nth-child(1) img { right:1.25rem; top:6.625rem; width:5.25rem; height:5.25rem; }.value:nth-child(2) img { right:0.875rem; top:6.1875rem; }.value:nth-child(3) img { right:0.9375rem; top:6.1875rem; width:5.875rem; height:5.875rem; }
.value > div { width:18.4375rem; }
.value h3 { width:15.75rem; margin:0 0 0.75rem; color:#000; font:500 1.625rem/1.9375rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; opacity:.9; }
.value p { max-width:18.4375rem; margin:0 0 0.375rem; color:#343434; font:0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.value:nth-child(2) h3,.value:nth-child(3) h3 { transform:translateX(1px); }
.value:nth-child(1) p:first-of-type { width:13.625rem; transform:translateX(-1px); }
.value:nth-child(1) p + p { width:14.3125rem; margin-top:0.5625rem; transform:translateX(-1px); }
.value:nth-child(3) p { width:14.75rem; }
.reviews { height:43.1875rem; position:relative; background:var(--paper); overflow:hidden; }
.reviews::before { top:27.41503906rem; left:0; width:11.5625rem; height:22.91601563rem; background-image:url('assets/images/botanical-home-left-tall.webp'); }
.reviews-stage { width:72.5rem; height:43.1875rem; margin:0; position:relative; top:-.359375px; left:calc(50vw - 36.25rem); }
.reviews .section-heading { height:7.9375rem; margin:0; display:block; }
.reviews .section-heading h2 { position:relative; top:3.125rem; left:9.625rem; width:53.3125rem; margin:0; font:400 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; white-space:nowrap; text-align:center; }
.reviews .section-heading h2 em { color:var(--gold); font-weight:400; }
.review-controls { position:absolute; z-index:2; top:3.4375rem; right:0; display:flex; gap:1.25rem; }
.review-controls button { width:2.5rem; height:2.5rem; padding:0; border:0; color:transparent; background:url('assets/images/review-arrow.svg') center/2.5rem 2.5rem no-repeat; font-size:0; cursor:pointer; }.review-controls button:last-child { transform:rotate(180deg); }
.review-grid { height:24.8125rem; display:grid; grid-template-columns:repeat(7,16.25rem); grid-auto-flow:column; grid-auto-columns:16.25rem; gap:2.5rem; overflow-x:hidden; overflow-y:hidden; }
.review { height:21.6875rem; margin-top:1.5625rem; padding:1.875rem 1.8125rem; position:relative; background:#f3ebe4; }
.review p { width:12.375rem; margin:0; color:#343434; font:0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.review time { display:block; margin-top:0.75rem; color:#343434; font:0.75rem/1rem 'Montserrat',Arial,sans-serif; opacity:.5; }
.review strong { position:absolute; left:1.8125rem; bottom:1.875rem; color:#000; font:500 1.625rem/1.9375rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; opacity:.9; }
.review:nth-child(n+3) { padding-left:1.75rem; }.review:nth-child(n+3) strong { left:1.75rem; }.review:nth-child(3) p { width:12.75rem; }
.review::after { content:'“'; position:absolute; right:1.75rem; bottom:0.75rem; color:#e0d1ad; font:700 3.125rem/1 Georgia,serif; }
.reviews-button { height:10.4375rem; display:flex; justify-content:center; align-items:flex-start; }
.reviews-button .button { width:13.75rem; margin-top:1.5625rem; font:500 1rem/1.55rem 'Montserrat',Arial,sans-serif; }
.contact { height:28.5625rem; position:relative; background:#fbf7f2 url('assets/images/contact-bg-original.webp') center/cover no-repeat; overflow:hidden; }
.contact .section { max-width:none; height:28.5625rem; margin:0; padding:9.0625rem 0 0; position:relative; top:-.359375px; }
.contact-card { width:45rem; margin:0; position:relative; left:calc(50vw - 22.5rem); }
.contact-card h2 { position:absolute; top:-5.9375rem; left:0; width:45rem; margin:0; color:#000; font:400 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; white-space:nowrap; text-align:center; text-transform:uppercase; }
.contact-card h2 em { color:var(--gold); font-weight:400; }
.form-grid { display:grid; grid-template-columns:repeat(2,22.03125rem); gap:1.75rem 0.9375rem; }
.form-grid > input,.phone-field input { width:100%; height:3.25rem; padding:0 1.25rem; border:0; appearance:none; background:#efe5d9; color:#000; font:400 0.75rem/0.9975rem 'Montserrat',Arial,sans-serif; }
.form-grid > input,.phone-field input { box-shadow:inset 0 -1px #b0903d; }
.message-field { grid-column:1/-1; }
.phone-field { height:3.25rem; position:relative; background:#efe5d9; }
.form-message { padding:0.75rem 1rem; color:#5d4e22; background:#f6eee5; font:0.8125rem 'Montserrat',Arial,sans-serif; }
.form-grid input::placeholder { color:#000; opacity:.5; }
.consent { min-height:1.25rem; margin-top:1.75rem; display:grid; grid-template-columns:1.25rem minmax(0,1fr); align-items:center; gap:0.625rem; color:#7a7a7a; font:400 0.75rem/0.9rem 'Montserrat',Arial,sans-serif; cursor:pointer; }
.consent input[type="checkbox"] { box-sizing:border-box; width:1.25rem; min-width:1.25rem; height:1.25rem; margin:0; display:block; appearance:none; -webkit-appearance:none; border:1px solid #b0903d; border-radius:0; background:#fcf9f7 center/0.75rem 0.5625rem no-repeat; box-shadow:none; cursor:pointer; }
.consent input[type="checkbox"]:checked { background-color:#b0903d; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath d='M1 4.5 4.3 8 11 1' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E"); }
.consent a { color:#777; text-decoration:none; border-bottom:1px solid #777; }
.form-submit { text-align:center; }
.contact .form-submit { margin:2.5rem 0 0; }.contact .button { width:13.75rem; min-height:2.625rem; margin:0; font:500 1rem 'Montserrat',Arial,sans-serif; text-transform:none; }
.site-footer { height:50.125rem; padding:0; position:relative; background:#fcf9f7; overflow:hidden; }
.footer-shell { width:72.5rem; height:40.625rem; margin:0; position:relative; top:-.359375px; left:calc(50vw - 36.25rem); }
.footer-shell > * { position:absolute; width:22.5rem; }
.footer-map { left:0; top:7.625rem; }
.footer-logo { left:25rem; top:6.25rem; }
.footer-phones { left:50rem; top:19.25rem; }
.footer-address { left:0; top:19.1875rem; }
.footer-media { left:25rem; top:20.8125rem; }
.footer-mail:nth-of-type(6) { left:0; top:30.625rem; }
.footer-mail:nth-of-type(7) { left:25rem; top:30.625rem; }
.footer-mail:nth-of-type(8) { left:50rem; top:30.625rem; }
.footer-map { display:grid; grid-template-columns:6.5625rem 1fr; gap:0.375rem 2.25rem; align-items:start; }
.footer-map h2 { grid-column:1/-1; margin:0 0 0.5625rem; color:#000; font:400 1.625rem/1.9375rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.footer-map ul { margin:0; padding:0; list-style:none; color:#343434; font:0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }.footer-map li + li { margin-top:0.625rem; }
.footer-logo { text-align:center; }.footer-logo img { width:9.875rem; height:4rem; object-fit:contain; margin:auto; }
.footer-phones { height:9.1875rem; border-radius:1.25rem; background:#f3ebe4; text-align:center; }.footer-phones img { position:absolute; height:1.5625rem; }.footer-phones img:first-child { top:2.375rem; left:3.5rem; width:14.5rem; }.footer-phones img:last-child { top:5.1875rem; left:3.4375rem; width:14.625rem; }.footer-phones a { position:absolute; left:0; width:100%; color:#000; font:400 2rem/2rem 'Cormorant',Arial,sans-serif; }.footer-phones a:first-child { top:2.125rem; }.footer-phones a:last-child { top:4.9375rem; }
.footer-phones strong { font:400 1.625rem/1.24 'Cormorant',Arial,sans-serif; }
.footer-card { height:9.1875rem; padding:0; position:absolute; border-radius:1.25rem; background:#f3ebe4; text-align:center; }
.footer-address { padding:0.875rem 1.625rem 0.8125rem 1.5625rem; color:#000; font:500 1.5625rem/1.875rem 'Cormorant',Arial,sans-serif; opacity:.9; }
.footer-media { text-align:center; font:0.6875rem 'Montserrat',Arial,sans-serif; color:var(--gold); }.social-icons { display:flex; justify-content:center; gap:0.625rem; }.social-icons a,.social-icons img { width:2.5rem; height:2.5rem; }
.site-footer .footer-media-button { width:11.875rem; height:2.375rem; margin:1.25rem auto 0; padding:0 1.5rem; display:flex; align-items:center; justify-content:center; border:0; border-radius:62.4375rem; color:#fff; background:#b0903d; font:400 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; text-decoration:none; }
.footer-mail::before { content:''; position:absolute; top:0.75rem; left:10.625rem; width:1.25rem; height:1.25rem; background:url('assets/images/envelope.svg') center/contain no-repeat; opacity:.5; }
.footer-mail strong { position:absolute; top:2.4375rem; display:block; width:max-content; color:#000; font:500 1.625rem/1.9375rem 'Cormorant',Arial,sans-serif; text-align:left; opacity:.9; }.footer-mail small { position:absolute; top:5.1875rem; display:block; color:#343434; font:0.875rem/1.125rem 'Montserrat',Arial,sans-serif; text-align:left; opacity:.7; }
.footer-mail:nth-of-type(6) strong { left:3.75rem; }.footer-mail:nth-of-type(6) small { left:4.4375rem; width:14.3125rem; }
.footer-mail:nth-of-type(7)::before { top:0.6875rem; }.footer-mail:nth-of-type(7) strong { left:3.75rem; }.footer-mail:nth-of-type(7) small { top:5.75rem; left:4.3125rem; width:15.375rem; }
.footer-mail:nth-of-type(8)::before { top:0.625rem; }.footer-mail:nth-of-type(8) strong { top:2.3125rem; left:3.3125rem; }.footer-mail:nth-of-type(8) small { top:5.625rem; left:3.3125rem; width:17.25rem; }
.copyright { position:absolute; left:calc(50vw - 36.25rem); top:40.72753906rem; width:72.5rem; display:grid; grid-template-columns:22.5rem 22.5rem 22.5rem; gap:2.5rem; color:#343434; font:0.6875rem/1.0625rem 'Montserrat',Arial,sans-serif; opacity:.7; }.copyright span:nth-child(3) { text-align:left; line-height:1.1875rem; }
.cookie-notice { position:fixed; z-index:900; right:1.25rem; bottom:1.25rem; width:18.75rem; padding:1.375rem 1.5rem; background:#f3ebe4; box-shadow:0 0.1875rem 1.125rem rgba(0,0,0,.2); color:#6f655e; font:0.75rem/1.0625rem 'Montserrat',Arial,sans-serif; }
.cookie-notice[hidden] { display:none; }
.cookie-notice p { margin:0; }.cookie-notice a { color:#b0903d; border-bottom:1px solid #b0903d; }
.cookie-notice button { min-height:2.375rem; margin-top:1rem; padding:0 1.0625rem; border:0; border-radius:62.4375rem; color:#fff; background:#b0903d; font:600 0.6875rem/0.875rem 'Montserrat',Arial,sans-serif; cursor:pointer; }
.shop-page { min-height:37.5rem; background:var(--paper); }.shop-shell { width:min(73.75rem,100%); margin:auto; padding:5rem 1.75rem; }.shop-shell .woocommerce-products-header__title,.shop-shell .entry-title { font:400 3.25rem/.9 'Cormorant',Arial,sans-serif; text-transform:uppercase; }.shop-shell ul.products { display:grid; grid-template-columns:repeat(4,1fr); gap:1.375rem; padding:0; }.shop-shell ul.products li.product { width:auto; margin:0; float:none; }.shop-shell ul.products li.product img { background:#f1e8de; }.shop-shell .button { background:var(--gold); border-radius:62.4375rem; }.shop-shell .price { color:var(--gold); }.shop-shell .woocommerce-message { border-top-color:var(--gold); }.shop-shell .woocommerce-message::before { color:var(--gold); }
ul.products li.product > a.add_to_cart_button { display:none !important; }
.woocommerce-cart .shop-page { min-height:50.3125rem; }
.woocommerce-cart .shop-shell { padding-top:9.0625rem; }
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-message .button { min-height:2.625rem; border:0; border-radius:62.4375rem; color:#fff; background:#b0903d; font:500 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; }
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-account .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-message .button:hover { color:#fff; background:#98731d; }
.woocommerce-checkout .shop-page { min-height:65rem; }
.woocommerce-account .shop-page { min-height:47.5rem; }
.woocommerce-account .shop-shell { padding-top:9.0625rem; }
.woocommerce-account .woocommerce h2 { margin:0 0 1.75rem; color:#000; font:400 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register { padding:1.875rem; border:0; border-radius:0; background:#f3ebe4; }
.woocommerce-account .woocommerce-form-login input[type="text"],
.woocommerce-account .woocommerce-form-login input[type="password"],
.woocommerce-account .woocommerce-form-register input[type="email"],
.woocommerce-account .woocommerce-form-register input[type="password"] { height:3.25rem; padding:0 1.25rem; border:0; border-bottom:1px solid #b0903d; background:#fcf9f7; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.woocommerce-account .woocommerce-form-login button[type="submit"],
.woocommerce-account .woocommerce-form-register button[type="submit"] { min-width:9.25rem; min-height:2.625rem; padding:0 1.5rem; border:0 !important; border-radius:62.4375rem !important; color:#fff !important; background:#b0903d !important; font:500 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif !important; }

/* Guest account: a restrained editorial card with a clear heading hierarchy. */
.woocommerce-account:not(.logged-in) .account-page-title { margin-bottom:3rem; text-align:center; }
.woocommerce-account .account-page-auth { width:min(32rem,100%); margin:0 auto; padding:2.625rem 2.75rem 2.5rem; border:0; background:#f3ebe4; box-shadow:0 1.5rem 4rem rgba(52,42,35,.07); animation:account-auth-reveal .45s cubic-bezier(.22,.61,.36,1) both; }
.woocommerce-account .account-page-auth__view[hidden] { display:none !important; }
.woocommerce-account .account-page-auth__eyebrow { margin:0 0 0.625rem; color:#6f655e; font:400 0.8125rem/1.25rem 'Montserrat',Arial,sans-serif; letter-spacing:normal; text-align:center; text-transform:none; }
.woocommerce-account .account-page-auth h2 { margin:0; font:500 1.25rem/1.625rem 'Montserrat',Arial,sans-serif; text-align:center; text-transform:none; }
.woocommerce-account .account-page-auth__intro { max-width:23rem; margin:0.875rem auto 1.75rem; color:#6f655e; font:400 0.8125rem/1.3125rem 'Montserrat',Arial,sans-serif; text-align:center; }
.woocommerce-account .account-page-auth .woocommerce-form-login,
.woocommerce-account .account-page-auth .woocommerce-form-register { margin:0; padding:0; border:0; background:transparent; }
.woocommerce-account .account-page-auth .form-row { margin:0 0 1rem; padding:0; }
.woocommerce-account .account-page-auth label { display:block; margin:0 0 0.5rem; color:#343434; font:400 0.875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.woocommerce-account .account-page-auth input[type="text"],
.woocommerce-account .account-page-auth input[type="email"],
.woocommerce-account .account-page-auth input[type="password"] { width:100%; height:3.25rem; padding:0 1.125rem; border:1px solid transparent; border-bottom-color:#b0903d; background:#fcf9f7; color:#241d19; font:400 0.9375rem/1.375rem 'Montserrat',Arial,sans-serif; transition:border-color .2s ease,background-color .2s ease; }
.woocommerce-account .account-page-auth__options { margin:0 0 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; color:#6f655e; font:400 0.75rem/1.125rem 'Montserrat',Arial,sans-serif; }
.woocommerce-account .account-page-auth__options .woocommerce-form-login__rememberme { margin:0; display:flex; align-items:center; gap:0.5rem; cursor:pointer; }
.woocommerce-account .account-page-auth__options input[type="checkbox"] { width:1rem; height:1rem; margin:0; accent-color:#b0903d; }
.woocommerce-account .account-page-auth__options a { border-bottom:1px solid currentColor; }
.woocommerce-account .account-page-auth__submit { margin:0 !important; display:flex; justify-content:center; }
.woocommerce-account .account-page-auth__submit button[type="submit"] { width:13.75rem; min-height:3rem; margin:0; font-size:0.875rem !important; transition:background-color .2s ease,transform .2s ease; }
.woocommerce-account .account-page-auth__submit button[type="submit"]:hover { transform:translateY(-1px); }
.woocommerce-account .account-page-auth__privacy { margin:0 0 1.5rem; color:#6f655e; font:400 0.75rem/1.125rem 'Montserrat',Arial,sans-serif; }
.woocommerce-account .account-page-auth__privacy p { margin:0; }
.woocommerce-account .account-page-auth__privacy a { color:#8c6c1e; border-bottom:1px solid currentColor; }
.woocommerce-account .account-page-auth__switch { margin:1.375rem 0 0; color:#6f655e; font:400 0.8125rem/1.25rem 'Montserrat',Arial,sans-serif; text-align:center; }
.woocommerce-account .account-page-auth__switch button { margin:0 0 0 0.25rem; padding:0; border:0; border-bottom:1px solid currentColor; color:#8c6c1e; background:transparent; font:inherit; font-weight:600; cursor:pointer; }
.woocommerce-account:not(.logged-in) .shop-shell .woocommerce-error { margin-right:auto; margin-left:auto; }

.woocommerce-account .account-recovery-card { width:min(32rem,100%); margin:0 auto; padding:2.625rem 2.75rem 2.5rem; border:0; background:#f3ebe4; box-shadow:0 1.5rem 4rem rgba(52,42,35,.07); animation:account-auth-reveal .45s cubic-bezier(.22,.61,.36,1) both; }
.woocommerce-account .account-recovery-card h2 { margin:0; font:500 1.25rem/1.625rem 'Montserrat',Arial,sans-serif; text-align:center; text-transform:none; }
.woocommerce-account .account-recovery-card__intro { max-width:23rem; margin:0.875rem auto 1.75rem; color:#6f655e; font:400 0.8125rem/1.3125rem 'Montserrat',Arial,sans-serif; text-align:center; }
.woocommerce-account .account-recovery-card .lost_reset_password { margin:0; }
.woocommerce-account .account-recovery-card .form-row { width:100%; margin:0 0 1rem; padding:0; float:none; }
.woocommerce-account .account-recovery-card label { display:block; margin:0 0 0.5rem; color:#343434; font:400 0.875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.woocommerce-account .account-recovery-card input[type="text"],
.woocommerce-account .account-recovery-card input[type="password"] { width:100%; height:3.25rem; padding:0 1.125rem; border:1px solid transparent; border-bottom-color:#b0903d; border-radius:0; background:#fcf9f7; color:#241d19; font:400 0.9375rem/1.375rem 'Montserrat',Arial,sans-serif; transition:border-color .2s ease,background-color .2s ease; }
.woocommerce-account .account-recovery-card__submit { margin:1.5rem 0 0 !important; display:flex; justify-content:center; }
.woocommerce-account .account-recovery-card__submit button { width:13.75rem; min-height:3rem; margin:0; padding:0 1.5rem; border:0; border-radius:62.4375rem; color:#fff; background:#b0903d; font:500 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; cursor:pointer; transition:background-color .2s ease,transform .2s ease; }
.woocommerce-account .account-recovery-card__submit button:hover { background:#98731d; transform:translateY(-1px); }
.woocommerce-account .account-recovery-card__back { margin:1.375rem 0 0; color:#6f655e; font:400 0.8125rem/1.25rem 'Montserrat',Arial,sans-serif; text-align:center; }
.woocommerce-account .account-recovery-card__back a { color:#8c6c1e; border-bottom:1px solid currentColor; }

@keyframes account-auth-reveal {
  from { opacity:0; transform:translateY(0.75rem); }
  to { opacity:1; transform:translateY(0); }
}

@media (prefers-reduced-motion:reduce) {
  .woocommerce-account .account-page-auth,.woocommerce-account .account-recovery-card { animation:none; }
  .woocommerce-account .account-page-auth__submit button[type="submit"] { transition:none; }
  .woocommerce-account .account-recovery-card__submit button { transition:none; }
}

@media (max-width:600px) {
  .woocommerce-account:not(.logged-in) .account-page-title { margin-bottom:2rem; }
  .woocommerce-account .account-page-auth { padding:1.75rem 1.25rem 1.625rem; box-shadow:none; }
  .woocommerce-account .account-recovery-card { padding:1.75rem 1.25rem 1.625rem; box-shadow:none; }
  .woocommerce-account .account-page-auth__intro { margin-bottom:1.5rem; }
  .woocommerce-account .account-recovery-card__intro { margin-bottom:1.5rem; }
  .woocommerce-account .account-page-auth__options { align-items:flex-start; flex-direction:column; gap:0.75rem; }
  .woocommerce-account .account-page-auth__submit button[type="submit"] { width:100%; }
  .woocommerce-account .account-recovery-card__submit button { width:100%; }
}

/* Editable buy-directory content. */
.buy-location-image-fallback {
  width:32.5rem;
  height:15rem;
  display:grid;
  place-items:center;
  color:rgba(176,144,61,.7);
  background:#eee4da;
}
.buy-location-grid {
  width:min(72.5rem,calc(100% - 5rem));
  margin:3.125rem auto 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
  align-items:start;
}
.buy-location-grid .buy-location { width:100%; margin:0; box-sizing:border-box; }
.buy-intro:has(.buy-location-grid),.buy-intro:has(.buy-russia-grid) { height:auto; min-height:53.6875rem; padding-bottom:6.25rem; }
.buy-location-image-fallback .dashicons { width:3rem; height:3rem; font-size:3rem; }
.buy-location-address { max-width:18rem; }
.buy-location p + p { margin-top:.25rem; }
.buy-partner-card { text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.buy-partner-card:hover { color:#343434; text-decoration:none; transform:translateY(-2px); box-shadow:0 .5rem 1.25rem rgba(52,52,52,.12); }
.buy-partner-card strong { display:block; max-width:100%; overflow:hidden; color:#343434; font:500 .75rem/1.125rem 'Montserrat',Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.buy-partner-logo--empty { display:grid; place-items:center; color:rgba(176,144,61,.65); }
.buy-partner-logo--empty .dashicons { width:2.5rem; height:2.5rem; font-size:2.5rem; }
.buy-empty-state { width:min(35rem,calc(100% - 2 * var(--layout-gutter))); margin:3.125rem auto 0; color:#796e66; font:400 1rem/1.5rem 'Montserrat',Arial,sans-serif; text-align:center; }
@media (max-width:600px) {
  .buy-location-grid { width:100%; margin-top:2.1875rem; grid-template-columns:1fr; gap:1.25rem; }
  .buy-intro:has(.buy-location-grid),.buy-intro:has(.buy-russia-grid) { min-height:0; padding-bottom:5.625rem; }
  .buy-location-image-fallback { width:100%; height:auto; aspect-ratio:520/240; }
  .buy-location-address { max-width:100%; }
  .buy-empty-state { width:100%; }
}

/* Native WooCommerce account, progressively presented like the source members panel. */
body.account-modal-open { overflow:hidden; }
.account-modal[hidden] { display:none; }
.account-modal { position:fixed; z-index:10000002; inset:0; opacity:0; transition:opacity .2s ease; }
.account-modal.is-open { opacity:1; }
.account-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.account-modal-panel { width:50vw; height:100%; min-height:100%; position:absolute; top:0; right:0; overflow:auto; background:#f3ebe4; outline:0; }
.account-modal-close { width:2.5rem; height:2.5rem; padding:0; position:absolute; z-index:2; top:0; right:0; border:0; background:transparent; cursor:pointer; }
.account-modal-close::before,.account-modal-close::after { content:""; width:1.125rem; height:1px; position:absolute; top:1.1875rem; left:0.6875rem; background:#77706b; transform:rotate(45deg); }
.account-modal-close::after { transform:rotate(-45deg); }
.account-modal-body { width:21.25rem; position:absolute; top:calc(50% - 6.46875rem); left:50%; transform:translateX(-50%); }
.account-modal-body h2 { margin:0 0 1.875rem; color:#000; font:400 1.625rem/1.9375rem 'Cormorant',Arial,sans-serif; text-align:center; text-transform:none; white-space:nowrap; letter-spacing:normal; }
.account-email-step label,.account-auth-form label { display:block; margin:0 0 0.25rem; color:#8c837d; font:400 0.875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.account-email-step input,.account-auth-form input[type="email"],.account-auth-form input[type="password"] { width:21.25rem; height:2.75rem; padding:0 0.625rem; border:0; border-bottom:1px solid #b0903d; border-radius:0; outline:0; background:#efe5d9; color:#343434; font:400 1rem/1.3125rem 'Montserrat',Arial,sans-serif; appearance:none; }
.account-email-step input::placeholder { color:#343434; opacity:.85; }
.account-email-step > button,.account-auth-form > button[type="submit"] { width:9.20507813rem; height:2.5rem; margin:2.0625rem auto 0; padding:0; display:block; border:0; border-radius:62.4375rem; color:#fff; background:#b0903d; font:400 0.875rem/1.25rem 'Montserrat',Arial,sans-serif; cursor:pointer; }
.account-email-error { margin:0.5rem 0 -1.0625rem; color:#8c3b2f; font:400 0.6875rem/0.9375rem 'Montserrat',Arial,sans-serif; }
.account-modal-notices:empty { display:none; }
.account-modal-notices { margin:0 0 1.125rem; color:#8c3b2f; font:400 0.75rem/1.0625rem 'Montserrat',Arial,sans-serif; }
.woocommerce-account .shop-shell .woocommerce-error,
.account-modal-notices .woocommerce-error { box-sizing:border-box; width:fit-content; max-width:min(52rem,100%); margin:0 0 1.5rem; padding:0.875rem 1rem 0.875rem 3rem; border:0; border-left:3px solid #b82a31; background:#f8f3f1; color:#554b45; font:400 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; list-style:none; }
.woocommerce-account .shop-shell .woocommerce-error::before,
.account-modal-notices .woocommerce-error::before { content:'!'; width:1.25rem; height:1.25rem; position:absolute; top:50%; left:1rem; display:grid; place-items:center; border-radius:50%; background:#b82a31; color:#fff; font:700 0.75rem/1 'Montserrat',Arial,sans-serif; transform:translateY(-50%); }
.woocommerce-account .shop-shell .woocommerce-error strong,
.account-modal-notices .woocommerce-error strong { color:#343434; font-weight:600; }
.account-modal-notices .woocommerce-error { width:100%; margin:0; padding:0.75rem 0.875rem 0.75rem 2.75rem; border-left-width:2px; font-size:0.75rem; line-height:1.125rem; }
.account-modal-notices .woocommerce-error::before { width:1.125rem; height:1.125rem; left:0.875rem; font-size:0.6875rem; }
.account-auth-form label:not(:first-child) { margin-top:1.0625rem; }
.account-auth-links { margin-top:1.0625rem; display:flex; justify-content:center; gap:1.25rem; color:#7b716a; font:400 0.75rem/1.0625rem 'Montserrat',Arial,sans-serif; }
.account-auth-links a,.account-auth-links button { padding:0; border:0; border-bottom:1px solid currentColor; color:inherit; background:transparent; font:inherit; cursor:pointer; }

.logged-in.woocommerce-account .shop-page { min-height:47.5rem; }
.logged-in.woocommerce-account .shop-shell { width:72.5rem; padding:9.0625rem 0 6.875rem; }
.logged-in.woocommerce-account .shop-shell > .woocommerce { display:grid; grid-template-columns:16.25rem 1fr; gap:2.5rem; align-items:start; }
.logged-in.woocommerce-account .shop-shell > .woocommerce::before,.logged-in.woocommerce-account .shop-shell > .woocommerce::after { display:none; }
.woocommerce-account .account-page-title { position:static; width:auto; margin:0 0 2.5rem; color:#000; font:400 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,.logged-in.woocommerce-account .woocommerce-MyAccount-content { width:auto; float:none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0; padding:0; overflow:hidden; border-radius:0; background:#f3ebe4; list-style:none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a { min-height:3.625rem; padding:0 1.5rem; display:flex; align-items:center; border-bottom:1px solid rgba(176,144,61,.22); color:#343434; font:500 0.875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom:0; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color:#fff; background:#b0903d; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content { min-height:21.75rem; padding:2.375rem 2.5rem 2.625rem; border-radius:0; background:#f3ebe4; color:#343434; font:400 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color:#9b7827; border-bottom:1px solid currentColor; }
.theobroma-account-dashboard h1 { position:static; width:auto; margin:0; color:#000; font:400 2.625rem/2.8125rem 'Cormorant',Arial,sans-serif; text-transform:none; }
.theobroma-account-dashboard .account-lead { max-width:38.75rem; margin:0.9375rem 0 1.75rem; color:#6f655e; }
.account-dashboard-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0.75rem; }
.account-dashboard-grid a { min-height:7rem; padding:1.25rem; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(176,144,61,.35) !important; border-radius:0; background:#fcf9f7; }
.account-dashboard-grid span { color:#000; font:500 1.5rem/1.6875rem 'Cormorant',Arial,sans-serif; }
.account-dashboard-grid small { color:#766c64; font:400 0.6875rem/1rem 'Montserrat',Arial,sans-serif; }
.theobroma-address-book { width:100%; max-width:45rem; }
.theobroma-address-book__lead { max-width:38.75rem; margin:0; color:#6f655e; text-wrap:pretty; }
.theobroma-address-card { width:100%; margin-top:1.75rem; padding:1.75rem; border:1px solid rgba(176,144,61,.35); background:#fcf9f7; }
.theobroma-address-card header { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.theobroma-address-card header small { display:block; margin:0 0 .3125rem; color:#8c837d; font:500 .6875rem/1rem 'Montserrat',Arial,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.logged-in.woocommerce-account .theobroma-address-card h2 { margin:0; color:#000; font:500 2.125rem/2.25rem 'Cormorant',Arial,sans-serif; text-wrap:balance; }
.logged-in.woocommerce-account .theobroma-address-card .button { min-height:2.625rem; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; }
.theobroma-address-card address,.theobroma-address-card__empty { margin:1.5rem 0 0; color:#5f5751; font:400 .875rem/1.4375rem 'Montserrat',Arial,sans-serif; font-style:normal; }
.theobroma-address-card__empty { max-width:31.25rem; text-wrap:pretty; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content form .form-row { margin:0 0 1.125rem; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content label { display:block; margin-bottom:0.4375rem; font-size:0.75rem; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content input.input-text { width:100%; height:3.25rem; padding:0 1.125rem; border:0; border-bottom:1px solid #b0903d; background:#fcf9f7; font:400 0.875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content select.country_select { width:100%; height:3.25rem; padding:0 2.75rem 0 1.125rem; box-sizing:border-box; border:0; border-bottom:1px solid #b0903d; border-radius:0; background-color:#fcf9f7; color:#343434; font:400 0.875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container { width:100% !important; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single { height:3.25rem; border:0; border-bottom:1px solid #b0903d; border-radius:0; background:#fcf9f7; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection__rendered { padding:0 2.75rem 0 1.125rem; color:#343434; font:400 0.875rem/3.25rem 'Montserrat',Arial,sans-serif; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection__arrow { width:2.75rem; height:3.25rem; top:0; right:0; }
.select2-selection--single .select2-selection__arrow b { display:none !important; }
.select2-selection--single .select2-selection__arrow::before { content:""; width:.5rem; height:.5rem; position:absolute; top:50%; left:50%; border-right:1px solid #343434; border-bottom:1px solid #343434; transform:translate(-50%,-65%) rotate(45deg); transform-origin:center; transition:transform .16s ease; }
.select2-container--open .select2-selection--single .select2-selection__arrow::before { transform:translate(-50%,-35%) rotate(225deg); }
.select2-container--open .select2-dropdown { width:100%; overflow:hidden; border:1px solid rgba(176,144,61,.45); border-radius:0; background:#fcf9f7; box-shadow:0 .625rem 1.75rem rgba(52,52,52,.12); color:#343434; font:400 .875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.select2-container--open .select2-search--dropdown { padding:.75rem; background:#fcf9f7; }
.select2-container--open .select2-search__field { width:100%; height:2.75rem; padding:0 .875rem; border:1px solid #b0903d; border-radius:0; outline:0; background:#f3ebe4; color:#343434; font:400 .875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.select2-container--open .select2-results__options { max-height:15rem !important; padding:.25rem 0; }
.select2-container--open .select2-results__option { min-height:2.75rem; padding:.75rem 1.125rem; display:flex; align-items:center; color:#343434; background:#fcf9f7; }
.select2-container--open .select2-results__option[aria-selected="true"] { background:#f3ebe4; font-weight:500; }
.select2-container--open .select2-results__option--highlighted[aria-selected] { color:#fff; background:#b0903d; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content fieldset { margin:1.75rem 0 0; padding:1.25rem; border:1px solid rgba(176,144,61,.35); }
.logged-in.woocommerce-account .woocommerce-MyAccount-content .button { min-height:2.625rem; padding:0 1.5rem; border:0; border-radius:62.4375rem; color:#fff; background:#b0903d; font:500 0.875rem/1.25rem 'Montserrat',Arial,sans-serif; }
.logged-in.woocommerce-account table.shop_table { width:100%; border-collapse:collapse; }
.logged-in.woocommerce-account table.shop_table th,.logged-in.woocommerce-account table.shop_table td { padding:0.8125rem 0.625rem; border-bottom:1px solid rgba(176,144,61,.25); text-align:left; }
.logged-in.woocommerce-account .woocommerce-info,.logged-in.woocommerce-account .woocommerce-message { margin:0; padding:1.125rem 1.25rem 1.125rem 3rem; border:0; border-top:2px solid #b0903d; display:flex; flex-wrap:wrap; align-items:center; gap:0.75rem 1rem; background:#fcf9f7; color:#343434; }
.logged-in.woocommerce-account .woocommerce-info::before,.logged-in.woocommerce-account .woocommerce-message::before { top:50%; color:#b0903d; transform:translateY(-50%); }
.logged-in.woocommerce-account .woocommerce-info .button,.logged-in.woocommerce-account .woocommerce-message .button { min-height:2.625rem; margin:0 0 0 auto; padding:0 1.5rem; display:inline-flex; align-items:center; justify-content:center; }
.theobroma-bonuses h1 { position:static; width:auto; margin:0; color:#000; font:400 2.625rem/2.8125rem 'Cormorant',Arial,sans-serif; text-transform:none; }
.theobroma-bonus-summary { margin:1.5rem 0 1.25rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.75rem; }
.theobroma-bonus-summary > div { min-height:7rem; padding:1.1875rem 1.25rem; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(176,144,61,.35); border-radius:0.875rem; background:#fcf9f7; }
.theobroma-bonus-summary span { color:#766c64; font-size:0.75rem; }
.theobroma-bonus-summary strong,.theobroma-bonus-summary strong * { color:#9b7827; font:500 1.8125rem/2.125rem 'Cormorant',Arial,sans-serif; }
.theobroma-bonus-rules { max-width:41.25rem; margin:0 0 2.0625rem; color:#6f655e; }
.logged-in.woocommerce-account .theobroma-bonuses h2 { margin:0 0 1rem; color:#000; font:400 1.75rem/2rem 'Cormorant',Arial,sans-serif; text-transform:none; }
.theobroma-bonus-empty { margin:0; padding:1.25rem; border-radius:0.75rem; background:#fcf9f7; color:#766c64; }
.theobroma-bonus-history { border-top:1px solid rgba(176,144,61,.35); }
.theobroma-bonus-entry { min-height:4.625rem; display:grid; grid-template-columns:minmax(0,1fr) 8.125rem 6.5625rem; gap:1rem; align-items:center; border-bottom:1px solid rgba(176,144,61,.25); }
.theobroma-bonus-entry div { display:flex; flex-direction:column; }
.theobroma-bonus-entry div strong { color:#343434; font-weight:500; }
.theobroma-bonus-entry time { margin-top:0.1875rem; color:#8c837d; font-size:0.6875rem; }
.theobroma-bonus-entry > a { justify-self:start; font-size:0.75rem; }
.theobroma-bonus-entry > span { justify-self:end; color:#8c3b2f; font-weight:600; white-space:nowrap; }
.theobroma-bonus-entry > span.is-positive { color:#6d7d51; }
.theobroma-bonus-pagination { margin-top:1.25rem; display:flex; justify-content:space-between; }

@media (max-width:1199px) {
  .account-modal-body { top:calc(50% - 6.46875rem); }
  .logged-in.woocommerce-account .shop-shell { width:min(37.5rem,calc(100vw - 5rem)); padding:9.25rem 0 5rem; }
  .logged-in.woocommerce-account .shop-shell > .woocommerce { grid-template-columns:1fr; gap:1.25rem; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(6,1fr); border-radius:0; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation a { min-height:3.25rem; padding:0 0.625rem; justify-content:center; border-right:1px solid rgba(176,144,61,.22); border-bottom:0; font-size:0.75rem; }
}

@media (min-width:601px) and (max-width:1199px) {
  .account-modal-body,.account-email-step input,.account-auth-form input[type="email"],.account-auth-form input[type="password"] { width:20.9375rem; }
}

@media (max-width:600px) {
  .account-modal-panel { width:100%; }
  .account-modal-backdrop { display:none; }
}

@media (max-width:600px) {
  .account-modal-body { width:21.25rem; top:calc(50% - 6.46875rem); }
  .account-modal-body h2 { margin-bottom:1.875rem; font-size:1.625rem; line-height:1.9375rem; }
  .woocommerce-account .woocommerce h2 { font-size:2.625rem; line-height:1; overflow-wrap:anywhere; }
  .account-email-step > button,.account-auth-form > button[type="submit"] { width:9.125rem; }
  .logged-in.woocommerce-account .shop-shell { width:21.875rem; padding:7.5625rem 0 3.75rem; }
  .woocommerce-account .account-page-title { margin-bottom:1.75rem; font-size:2.625rem; line-height:2.625rem; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation { overflow:visible; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { width:21.875rem; grid-template-columns:repeat(6,1fr); }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation a { padding:0 1px; font-size:0.5625rem; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-content { min-height:0; padding:1.5625rem 1.25rem 1.875rem; border-radius:0; }
  .theobroma-account-dashboard h1 { font-size:2rem; line-height:2.1875rem; }
  .account-dashboard-grid { grid-template-columns:1fr; }
  .account-dashboard-grid a { min-height:5.75rem; }
  .theobroma-address-card { padding:1.25rem; }
  .theobroma-address-card header { align-items:stretch; flex-direction:column; gap:0; }
  .logged-in.woocommerce-account .theobroma-address-card h2 { font-size:1.875rem; line-height:2rem; }
  .logged-in.woocommerce-account .theobroma-address-card .button { width:100%; margin-top:1.25rem; }
  .theobroma-bonuses h1 { font-size:2rem; line-height:2.1875rem; }
  .theobroma-bonus-summary { grid-template-columns:1fr; }
  .theobroma-bonus-summary > div { min-height:5.75rem; }
  .theobroma-bonus-entry { padding:0.8125rem 0; grid-template-columns:minmax(0,1fr) auto; gap:0.3125rem 0.625rem; }
  .theobroma-bonus-entry > a { grid-column:1; }
  .theobroma-bonus-entry > span { grid-column:2; grid-row:1/3; }
}
.catalog-page { min-height:92.9375rem; position:relative; overflow:hidden; }
.catalog-page::before { content:""; position:absolute; top:3rem; right:0; width:15.625rem; height:20.57226563rem; pointer-events:none; background:url('assets/images/botanical-page-right.webp') center/100% 100% no-repeat; }
.catalog-page .shop-shell { width:72.5rem; padding:0; position:relative; }
.catalog-breadcrumb { padding-top:8.5625rem; text-align:center; color:#b0903d; font:400 0.6875rem/1.125rem 'Montserrat',Arial,sans-serif; }.catalog-breadcrumb a { color:#9d938a; text-decoration:none; }.catalog-breadcrumb span { margin:0 0.25rem; }.catalog-breadcrumb strong { font-weight:400; }
.catalog-title { position:static; width:auto; margin:1.375rem 0 3.125rem; text-align:center; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.catalog-filters { height:3.25rem; margin-bottom:4.0625rem; display:flex; justify-content:center; gap:1.25rem; }.catalog-filters a { width:11.25rem; height:3.25rem; display:flex; align-items:center; justify-content:center; border-radius:1.875rem; color:#776f68; background:#efe5d9; text-decoration:none; font:400 1rem/1.5rem 'Montserrat',Arial,sans-serif; transition:color 220ms cubic-bezier(.2,0,0,1),background-color 220ms cubic-bezier(.2,0,0,1); }.catalog-filters a.is-active { color:#fff; background:#b0903d; }
.catalog-page .woocommerce-products-header,.catalog-page .woocommerce-result-count,.catalog-page .woocommerce-ordering { display:none; }
.catalog-page h1.page-title { display:none; }
.catalog-page ul.products { width:72.5rem; margin:0; display:grid; grid-template-columns:repeat(4,16.25rem); grid-auto-rows:31.91308594rem; gap:2.5rem; transition:opacity 900ms linear,transform 900ms cubic-bezier(.2,0,0,1); }
.catalog-page ul.products.is-filter-entering { opacity:0; transform:translateY(8px); }
.catalog-page ul.products::before,.catalog-page ul.products::after { display:none; }
.catalog-page ul.products li.product { width:16.25rem; height:31.91308594rem; margin:0; float:none; }
.catalog-page.catalog-group-chocolate-30g { min-height:123.29785156rem; }
.catalog-page.catalog-group-chocolate-30g ul.products { grid-auto-rows:30.55761719rem; }
.catalog-page.catalog-group-chocolate-30g ul.products li.product { height:30.55761719rem; }
.catalog-page.catalog-group-cacao,
.catalog-page.catalog-group-chia { min-height:57.18261719rem; }
.catalog-page ul.products li.product .woocommerce-loop-product__link { display:block; position:relative; outline:none; }
.catalog-page ul.products li.product .woocommerce-loop-product__link::before { content:""; position:absolute; z-index:2; top:0.625rem; right:0.625rem; width:2.875rem; height:2.875rem; border-radius:50%; background:#fff url('assets/images/heart-gold.svg') center/1.25rem 1.25rem no-repeat; }
.catalog-page ul.products li.product .catalog-product-image { width:100%; aspect-ratio:260/325; margin:0 0 1.25rem; display:block; overflow:hidden; background:#eee5db; }
.catalog-page ul.products li.product .catalog-product-image img { width:100%; height:100%; margin:0; display:block; object-fit:cover; background:#eee5db; transition:transform 650ms cubic-bezier(.22,.61,.36,1); }
.catalog-page ul.products li.product .woocommerce-loop-product__link:hover .catalog-product-image img { transform:scale(1.04); }
.catalog-page ul.products li.product .woocommerce-loop-product__title { padding:0; color:#343434; font:500 0.875rem/1.18125rem 'Montserrat',Arial,sans-serif; text-transform:none; }
.catalog-page ul.products li.product .catalog-product-description { margin:0.5rem 0 0; color:#343434; font:400 0.875rem/1.35625rem 'Montserrat',Arial,sans-serif; }
.catalog-page ul.products li.product .price { display:inline-block; margin:0.75rem 0 0; vertical-align:middle; color:#b0903d; font:500 1.125rem/1.51875rem 'Montserrat',Arial,sans-serif; }
.catalog-page ul.products li.product .button { position:absolute; left:0; bottom:0.5rem; width:10.37304688rem; min-width:10.37304688rem; min-height:2.18554688rem; height:2.18554688rem; margin:0; padding:0; display:flex !important; align-items:center; justify-content:center; border:0; border-radius:62.4375rem; color:#fff; background:#b0903d; font:400 0.8125rem/1.1375rem 'Montserrat',Arial,sans-serif; }
@media (prefers-reduced-motion:reduce) {
  .catalog-filters a,
  .catalog-page ul.products,
  .catalog-page ul.products li.product .catalog-product-image img { transition:none; }
  .catalog-page ul.products.is-filter-entering { opacity:1; transform:none; }
}
.media-page { height:75.0625rem; position:relative; overflow:hidden; background:var(--paper); }
.media-page::before { content:""; position:absolute; top:5.8125rem; left:0; width:13.1875rem; height:17.77441406rem; pointer-events:none; background:url('assets/images/botanical-page-left.webp') center/100% 100% no-repeat; }
.media-breadcrumb { position:absolute; top:8.5625rem; left:0; width:100%; text-align:center; color:#b0903d; font:400 0.6875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.media-breadcrumb a { color:#9d938a; }.media-breadcrumb span { margin:0 0.25rem; }.media-breadcrumb strong { font-weight:400; }
.media-page > h1 { top:11.0625rem; left:0; width:100%; text-align:center; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.media-lead { position:absolute; top:15.5625rem; left:0; width:100%; margin:0; text-align:center; color:#343434; font:400 1rem/1.25rem 'Montserrat',Arial,sans-serif; }
.media-grid { position:absolute; top:21.5625rem; left:calc(50vw - 36.25rem); width:72.5rem; display:grid; grid-template-columns:repeat(3,22.5rem); grid-auto-rows:25.5rem; gap:2.5rem; }
.media-card { width:22.5rem; height:25.5rem; margin:0; }
.media-card-image { width:22.5rem; height:17.30761719rem; display:block; overflow:hidden; }
.media-card-image img { width:22.5rem; height:17.30761719rem; object-fit:cover; }
.media-card h2 { width:22.5rem; min-height:2.36132813rem; margin:0; color:#000; font:500 0.875rem/1.18125rem 'Montserrat',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.media-card p { width:22.5rem; min-height:2.32421875rem; margin:0.5rem 0 0; color:#000; font:400 0.75rem/1.1625rem 'Montserrat',Arial,sans-serif; }
.media-card time { display:block; margin-top:0.9375rem; color:#414141; font:400 0.625rem/0.8125rem 'Montserrat',Arial,sans-serif; }
.media-article-view { min-width:0; background:#fff; color:#191919; }
.media-article-header { height:3.5rem; position:relative; border-bottom:1px solid #ddd; background:#fff; }
.media-article-header span { position:absolute; top:1.375rem; left:50%; transform:translateX(-50%); color:#363636; font:400 0.625rem/0.75rem 'Cormorant',Arial,sans-serif; }
.media-article-back { position:absolute; top:0.375rem; left:1.125rem; width:2rem; height:2.5rem; color:#252525; font:400 2.6875rem/2.375rem Arial,sans-serif; transform:scaleX(.58); transform-origin:left center; }
.media-article { width:min(47.5rem,calc(100% - 2.5rem)); margin:0 auto; padding:2.4375rem 0 5.875rem; }
.media-article h1 { position:static; width:auto; height:auto; margin:0 0 2rem; color:#191919; font:400 2.125rem/2.75rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.media-article figure { width:auto; margin:0 0 1.8125rem; }
.media-article figure img { width:100%; height:auto; }
.media-article-copy { width:auto; color:#282828; font:400 1.125rem/1.5625rem 'Montserrat',Arial,sans-serif; }
.media-article-copy p { margin:0; }
.media-article-products { margin-top:3.25rem; padding-top:2rem; border-top:1px solid #ddd; }
.media-article-products h2 { margin:0 0 1.5rem; color:#191919; font:400 1.875rem/2.25rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.media-article-products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.media-article-products-grid article { min-width:0; }
.media-article-products-grid img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; background:#f3ebe4; }
.media-article-products-grid h3 { margin:0.75rem 0 0.4375rem; color:#191919; font:500 0.75rem/1.0625rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }
.media-article-products-grid strong { display:block; color:#b0903d; font:500 0.9375rem/1.25rem 'Montserrat',Arial,sans-serif; }
.media-article-products-grid .button { min-width:0; width:100%; min-height:2.375rem; margin-top:0.75rem; padding:0 0.75rem; font-size:0.75rem; }
.media-article-related { margin-top:3.25rem; padding-top:2rem; border-top:1px solid #ddd; }
.media-article-related h2 { margin:0 0 1.5rem; color:#191919; font:400 1.875rem/2.25rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.media-article-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.media-article-related-grid article { min-width:0; }
.media-article-related-image { display:block; aspect-ratio:4/3; overflow:hidden; background:#f3ebe4; }
.media-article-related-image img { width:100%; height:100%; object-fit:cover; }
.media-article-related-grid h3 { margin:0.75rem 0 0.4375rem; color:#191919; font:500 0.75rem/1.0625rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }
.media-article .media-article-related-grid time { margin:0; color:#999; font:400 0.5625rem/0.8125rem 'Montserrat',Arial,sans-serif; letter-spacing:.08em; }
.media-article-source { display:inline-block; margin-top:2.8125rem; color:#ff8066; font:400 1.0625rem/1.375rem 'Montserrat',Arial,sans-serif; }
.media-article time { display:block; margin-top:3.875rem; color:#999; font:400 0.4375rem/0.625rem 'Montserrat',Arial,sans-serif; letter-spacing:.2em; }
.corporate-gifts-page { background:#fcf9f7; color:#241d19; }
.theobroma-honeypot { position:absolute !important; left:-624.9375rem !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.corporate-gifts-hero { min-height:35.625rem; padding:9.375rem max(1.75rem,calc((100% - 72.5rem)/2)) 5.75rem; overflow:hidden; background:#f3ebe4 url('assets/images/hero-bg-original.jpg') center/cover no-repeat; }
.corporate-gifts-hero h1,.corporate-gifts-request h2 { position:static; width:auto; margin:0; color:#000; font:400 3.875rem/3.6875rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.corporate-gifts-hero h1 em { color:#b0903d; font-style:normal; }.corporate-gifts-hero > p { max-width:32.5rem; margin:1.75rem 0 0; font:400 1.0625rem/1.6875rem 'Montserrat',Arial,sans-serif; }.corporate-gifts-hero .button { margin-top:2.125rem; font-size:0.875rem; }
.corporate-gifts-benefits { width:min(72.5rem,calc(100% - 3.5rem)); margin:5rem auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }.corporate-gifts-benefits article { min-height:13.125rem; padding:1.9375rem; background:#f3ebe4; }.corporate-gifts-benefits h2 { margin:0 0 0.875rem; font:400 1.8125rem/2rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }.corporate-gifts-benefits p { margin:0; font:400 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; }
.corporate-gifts-showcase,.corporate-gifts-branding,.corporate-gifts-cases,.corporate-gifts-minimum { width:min(72.5rem,calc(100% - 3.5rem)); margin:5rem auto; }.corporate-gifts-showcase header,.corporate-gifts-branding header,.corporate-gifts-cases header { max-width:45rem; margin-bottom:2.125rem; }.corporate-gifts-showcase h2,.corporate-gifts-branding h2,.corporate-gifts-cases h2,.corporate-gifts-minimum h2 { margin:0; font:400 2.875rem/2.875rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }.corporate-gifts-showcase header > p:last-child { font:400 0.9375rem/1.4375rem 'Montserrat',Arial,sans-serif; }.corporate-gifts-showcase-grid,.corporate-gifts-branding > div,.corporate-gifts-cases > div { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }.corporate-gifts-showcase-grid article { min-width:0; padding:1.375rem; background:#fff; }.corporate-gifts-showcase-grid article > a:first-child { display:block; aspect-ratio:1/1.1; overflow:hidden; background:#f3ebe4; }.corporate-gifts-showcase-grid img { width:100%; height:100%; object-fit:contain; }.corporate-gifts-showcase-grid h3 { min-height:3.125rem; margin:1.125rem 0 0; font:500 0.9375rem/1.375rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }.corporate-gifts-showcase-grid .button { margin-top:0.75rem; }.corporate-gifts-branding article,.corporate-gifts-cases article { min-height:13.75rem; padding:1.875rem; background:#f3ebe4; }.corporate-gifts-branding article > span { color:#b0903d; font:500 0.8125rem/1.125rem 'Montserrat',Arial,sans-serif; }.corporate-gifts-branding h3,.corporate-gifts-cases h3 { margin:1.75rem 0 0.75rem; font:400 1.6875rem/1.9375rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }.corporate-gifts-branding p,.corporate-gifts-cases p,.corporate-gifts-minimum > p { margin:0; font:400 0.875rem/1.375rem 'Montserrat',Arial,sans-serif; }.corporate-gifts-cases article { background:#fff; }.corporate-gifts-cases h3 { margin-top:0; }.corporate-gifts-minimum { padding:2.625rem 3rem; display:grid; grid-template-columns:.8fr 1.2fr auto; gap:2.25rem; align-items:center; background:#b0903d; color:#fff; }.corporate-gifts-minimum h2 { color:#fff; }.corporate-gifts-minimum .button { margin:0; white-space:nowrap; }
.corporate-gifts-minimum .button { color:#b0903d; background:#fff; }.corporate-gifts-minimum .button:hover { background:#f3ebe4; }
.corporate-gifts-request { width:min(72.5rem,calc(100% - 3.5rem)); margin:0 auto; padding:3.4375rem; display:grid; grid-template-columns:.85fr 1.15fr; gap:4.375rem; background:#fff; }.corporate-gifts-request h2 { font-size:2.875rem; line-height:2.75rem; }.corporate-gifts-request > div > p:last-child { font:400 0.9375rem/1.4375rem 'Montserrat',Arial,sans-serif; }.corporate-gifts-request form { display:grid; grid-template-columns:1fr 1fr; gap:0.8125rem; }.corporate-gifts-request input:not([type="checkbox"]),.corporate-gifts-request select,.corporate-gifts-request textarea { width:100%; min-height:3rem; padding:0.75rem 0.875rem; border:1px solid #dfd2c3; background:#fcf9f7; font:400 0.8125rem/1.125rem 'Montserrat',Arial,sans-serif; }.corporate-gifts-request textarea,.corporate-gifts-request label,.corporate-gifts-request button { grid-column:1/-1; }.corporate-gifts-request textarea { min-height:5.625rem; resize:vertical; }.corporate-gifts-request label { font:400 0.75rem/1.125rem 'Montserrat',Arial,sans-serif; }.corporate-gifts-request .button { justify-self:start; margin:0.375rem 0 0; font-size:0.8125rem; }
.corporate-gifts-request .consent { margin-top:0; }
@media (max-width:1199px) { .corporate-gifts-benefits,.corporate-gifts-showcase-grid,.corporate-gifts-branding > div,.corporate-gifts-cases > div { grid-template-columns:1fr; }.corporate-gifts-showcase-grid article { display:grid; grid-template-columns:11.25rem 1fr; gap:0 1.5rem; }.corporate-gifts-showcase-grid article > a:first-child { grid-row:1/4; }.corporate-gifts-minimum { grid-template-columns:1fr; }.corporate-gifts-minimum .button { justify-self:start; } }
@media (max-width:600px) { .corporate-gifts-hero { min-height:0; padding:7.1875rem 1.25rem 4.0625rem; }.corporate-gifts-hero h1 { font-size:2.6875rem; line-height:2.5625rem; }.corporate-gifts-benefits,.corporate-gifts-request,.corporate-gifts-showcase,.corporate-gifts-branding,.corporate-gifts-cases,.corporate-gifts-minimum { width:calc(100% - 2rem); }.corporate-gifts-benefits,.corporate-gifts-showcase,.corporate-gifts-branding,.corporate-gifts-cases { margin:2.625rem auto; }.corporate-gifts-benefits { grid-template-columns:1fr; }.corporate-gifts-showcase h2,.corporate-gifts-branding h2,.corporate-gifts-cases h2,.corporate-gifts-minimum h2 { font-size:2.25rem; line-height:2.1875rem; }.corporate-gifts-showcase-grid article { display:block; }.corporate-gifts-showcase-grid article > a:first-child { aspect-ratio:1/1; }.corporate-gifts-minimum { padding:1.875rem 1.25rem; }.corporate-gifts-request { padding:1.875rem 1.25rem; grid-template-columns:1fr; gap:1.875rem; }.corporate-gifts-request h2 { font-size:2.25rem; line-height:2.1875rem; }.corporate-gifts-request form { grid-template-columns:1fr; }.corporate-gifts-request textarea,.corporate-gifts-request label,.corporate-gifts-request button { grid-column:auto; } }
@media (max-width:600px) {
  .media-article { width:calc(100% - 2.5rem); padding:1.25rem 0 3.5rem; }
  .media-article-header { height:3.125rem; }
  .media-article-header span { top:1.1875rem; }
  .media-article-back { top:0.3125rem; left:0.875rem; }
  .media-article h1 { margin-bottom:0.9375rem; font-size:1.75rem; line-height:2.1525rem; }
  .media-article figure { margin-bottom:1.25rem; }
  .media-article-copy { padding-bottom:1.475rem; font-size:0.9140625rem; line-height:1.225rem; }
  .media-article-source { margin-top:1rem; font-size:0.875rem; line-height:1.225rem; }
  .media-article-products { margin-top:2.375rem; padding-top:1.5625rem; }
  .media-article-products h2 { margin-bottom:1.125rem; font-size:1.625rem; line-height:1.875rem; }
  .media-article-products-grid { grid-template-columns:1fr; gap:1.75rem; }
  .media-article-products-grid article { display:grid; grid-template-columns:7rem minmax(0,1fr); column-gap:1rem; align-items:start; }
  .media-article-products-grid article > a:first-child { grid-row:1 / span 3; }
  .media-article-products-grid h3 { margin:0 0 0.4375rem; }
  .media-article-products-grid .button { width:auto; min-width:7.5rem; margin-top:0.75rem; }
  .media-article-related { margin-top:2.375rem; padding-top:1.5625rem; }
  .media-article-related h2 { margin-bottom:1.125rem; font-size:1.625rem; line-height:1.875rem; }
  .media-article-related-grid { grid-template-columns:1fr; gap:1.5rem; }
  .media-article-related-grid article { display:grid; grid-template-columns:7rem minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:1rem; align-items:start; }
  .media-article-related-image { grid-row:1 / span 2; width:7rem; height:5.25rem; }
  .media-article-related-grid h3 { margin:0 0 0.4375rem; }
  .media-article .media-article-related-grid time { align-self:start; }
  .media-article time { margin-top:1.91210938rem; }
}
@media (min-width:601px) and (max-width:1199px) {
  .media-article { width:40rem; }
  .media-article h1 { margin-bottom:1.875rem; line-height:2.45996094rem; }
  .media-article figure { margin-bottom:1.875rem; }
  .media-article-copy { font-size:1rem; line-height:1.55rem; }
  .media-article-source { margin-top:1.95898438rem; color:#ff8562; font-size:1rem; line-height:1.4rem; }
  .media-article time { margin-top:3.3125rem; }
}
.legal-page { min-height:40.6875rem; padding:21.1875rem 0 0.375rem; position:relative; background:var(--paper); }
.legal-page-oferta { padding-top:17.9375rem; }
.legal-page::before { content:""; position:absolute; top:5.8125rem; left:0; width:13.1875rem; height:17.77441406rem; pointer-events:none; background:url('assets/images/botanical-page-left.webp') center/100% 100% no-repeat; }
.legal-breadcrumb { position:absolute; top:8.5625rem; left:0; width:100%; text-align:center; color:#b0903d; font:400 0.6875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.legal-breadcrumb a { color:#9d938a; }.legal-breadcrumb span { margin:0 0.25rem; }.legal-breadcrumb strong { font-weight:400; }
.legal-page > h1 { top:11.0625rem; left:calc(50vw - 33.03125rem); width:66.0625rem; text-align:center; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.legal-content { width:72.5rem; margin:0 auto; color:#343434; font:400 1rem/1.55rem 'Montserrat',Arial,sans-serif; }
.legal-content p { margin:0; }
.page-title { margin:0 0 2.625rem; font-size:3.625rem; }.shop-shell > p,.shop-shell .wp-block-paragraph { max-width:47.5rem; color:#5f564f; font:0.9375rem/1.7 'Montserrat',Arial,sans-serif; }.shop-shell .wp-block-heading { font:400 1.9375rem/1 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.recipes-page { background:var(--paper); }
.recipes-intro { min-height:50.5rem; position:relative; overflow:hidden; }
.recipes-intro::before { content:""; position:absolute; top:12rem; left:0; width:13.1875rem; height:17.77441406rem; background:url('assets/images/botanical-home-left.webp') center/100% 100% no-repeat; pointer-events:none; }
.recipes-breadcrumb { padding-top:8.5625rem; text-align:center; color:#b0903d; font:400 0.6875rem/1.125rem 'Montserrat',Arial,sans-serif; }.recipes-breadcrumb a { color:#9d938a; text-decoration:none; }.recipes-breadcrumb span { margin:0 0.25rem; }.recipes-breadcrumb strong { font-weight:400; }
.recipes-intro > h1 { position:static; width:auto; margin:1.375rem 0 1.25rem; text-align:center; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }.recipes-intro > h1 em { color:#b0903d; font-weight:500; }
.recipes-lead { margin:0; text-align:center; color:#343434; font:400 1rem/1.25rem 'Montserrat',Arial,sans-serif; }
.recipe-grid { width:72.5rem; margin:3.5rem auto 0; display:grid; grid-template-columns:repeat(3,22.5rem); gap:2.5rem; }
.recipe-card { height:22.6875rem; padding:1.8125rem 1.875rem 0; display:block; color:#000; background:#f3ebe4; text-decoration:none; text-align:center; }
.recipe-card h2 { height:5.0625rem; margin:0; font:500 1.625rem/1.875rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.recipe-image { width:18.75rem; height:10.4375rem; display:block; position:relative; background-position:center; background-size:cover; }.recipe-image-classic { background-image:url('assets/images/recipe-classic.jpg'); }.recipe-image-marshmallow { background-image:url('assets/images/recipe-marshmallow.jpg'); }.recipe-image-banana { background-image:url('assets/images/recipe-banana.jpg'); }
.recipe-image b { position:absolute; top:0.625rem; left:0.625rem; padding:0.375rem 0.75rem; color:#fff; background:#b0903d; font:500 0.6875rem/0.875rem 'Montserrat',Arial,sans-serif; text-transform:none; }
.recipe-card p { margin:1.3125rem 0 0; color:#343434; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.recipes-page .contact { position:relative; }.recipes-page .contact::after { content:""; position:absolute; z-index:2; top:15rem; right:0; width:17.1875rem; height:21.71875rem; pointer-events:none; background:url('assets/images/botanical-home-right.webp') center/100% 100% no-repeat; }
.marketplace-page { background:var(--paper); }.marketplace-intro { height:57.625rem; position:relative; z-index:1; overflow:visible; }
.marketplace-intro::before,.marketplace-intro::after { content:""; position:absolute; pointer-events:none; background-position:center; background-size:100% 100%; background-repeat:no-repeat; }.marketplace-intro::before { top:5rem; right:0; width:15.625rem; height:20.57226563rem; background-image:url('assets/images/botanical-page-right.webp'); }.marketplace-intro::after { top:43.75rem; left:0; width:13.1875rem; height:17.77441406rem; background-image:url('assets/images/botanical-page-left.webp'); }
.marketplace-breadcrumb { padding-top:8.5625rem; text-align:center; color:#b0903d; font:400 0.6875rem/1.125rem 'Montserrat',Arial,sans-serif; }.marketplace-breadcrumb a { color:#9d938a; text-decoration:none; }.marketplace-breadcrumb span { margin:0 0.25rem; }.marketplace-breadcrumb strong { font-weight:400; }
.marketplace-intro > h1 { position:static; width:auto; margin:1.375rem 0 1.25rem; text-align:center; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }.marketplace-lead { margin:0; text-align:center; color:#343434; font:400 1rem/1.25rem 'Montserrat',Arial,sans-serif; }
.market-grid { width:72.5rem; margin:3.5625rem auto 0; display:grid; grid-template-columns:repeat(4,16.25rem); gap:2.5rem; }.market-product { display:flex; flex-direction:column; color:#343434; }.market-image { width:16.25rem; height:18.75rem; flex:none; display:block; background-position:center; background-size:cover; }.market-cacao { background-image:url('assets/images/market-cacao.jpg'); }.market-dark { background-image:url('assets/images/market-dark.webp'); }.market-cinnamon { background-image:url('assets/images/market-cinnamon.webp'); }.market-milk { background-image:url('assets/images/market-milk.webp'); }
.market-product h2 { margin:0.875rem 0 0.1875rem; color:#343434; font:500 0.875rem/1.18125rem 'Montserrat',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }.market-product p { margin:0; color:#343434; font:400 0.875rem/1.35625rem 'Montserrat',Arial,sans-serif; }.market-product strong { display:block; margin-top:0.4375rem; color:#b0903d; font:500 1.125rem/1.51875rem 'Montserrat',Arial,sans-serif; }
.market-product-actions { margin-top:auto; padding-top:0.8125rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.375rem; }.market-product-actions a { min-width:0; height:2.375rem; display:flex; justify-content:center; align-items:center; border-radius:1.5rem; color:#fff; text-decoration:none; font:500 0.6875rem/1rem 'Montserrat',Arial,sans-serif; transition:transform .2s ease,box-shadow .2s ease,filter .2s ease; }.market-product-actions a:hover { transform:translateY(-2px); filter:saturate(1.08); box-shadow:0 0.5rem 1rem rgba(52,52,52,.14); }.market-wb { background:#a62cff; }.market-ozon { background:#0069ff; }
.buy-page { background:var(--paper); }
.buy-intro { height:53.6875rem; position:relative; overflow:visible; }
.buy-breadcrumb { padding-top:8.5625rem; text-align:center; color:#b0903d; font:400 0.875rem/1.375rem 'Montserrat',Arial,sans-serif; }
.buy-breadcrumb a { color:rgba(52,52,52,.7); text-decoration:none; }.buy-breadcrumb span { margin:0 0.375rem; }.buy-breadcrumb strong { font-weight:500; }
.buy-intro > h1 { position:static; width:auto; margin:1.125rem 0 0; text-align:center; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.buy-intro > h1 em { color:#b0903d; font-weight:500; }
.buy-lead { margin:1.25rem 0 0; text-align:center; color:#343434; font:400 1.125rem/1.4375rem 'Montserrat',Arial,sans-serif; }
.buy-tabs { width:31.25rem; height:3.625rem; margin:1.8125rem auto 0; display:grid; grid-template-columns:repeat(2,1fr); align-items:start; border-bottom:1px solid #e0cfb8; }
.buy-tabs button { height:3.625rem; padding:1.3125rem 0 0; border:0; border-bottom:1px solid transparent; color:#000; background:transparent; text-align:center; font:400 0.875rem/1.375rem 'Montserrat',Arial,sans-serif; cursor:pointer; }
.buy-tabs button[aria-selected="true"] { border-bottom-color:#b0903d; }
.buy-panel[hidden] { display:none; }
.buy-location { width:35rem; height:21.875rem; margin:3.125rem 0 0 calc(50vw - 36.25rem); padding:1.25rem; position:relative; background:#f3ebe4; }
.buy-location img { width:32.5rem; height:15rem; object-fit:cover; object-position:50% 85.168%; transform:translateX(-1px); }
.buy-location h2 { margin:0.625rem 0 0; color:#000; font:500 1.625rem/1.875rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.buy-location p { margin:0.75rem 0 0; color:#343434; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.buy-location .button { position:absolute; right:1.25rem; bottom:2rem; width:12.5rem; min-height:2.25rem; height:2.25rem; margin:0; font:500 0.875rem/1.35625rem 'Montserrat',Arial,sans-serif; }
.buy-partner-grid { width:72.5rem; margin:3.125rem auto 0; display:grid; gap:1.25rem; justify-content:center; }
.buy-marketplace-grid { grid-template-columns:repeat(2,12.875rem); }
.buy-russia-grid { display:flex; flex-wrap:wrap; }
.buy-russia-grid .buy-partner-card { flex:0 0 12.875rem; }
.buy-russia-grid .buy-partner-card:nth-child(n+6) { flex-basis:11.04166669rem; }
.buy-partner-card { min-height:10.5rem; height:auto; padding:1.25rem 0.75rem 0.875rem; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:.625rem; color:#343434; background:#f3ebe4; text-align:center; }
.buy-partner-logo { width:10rem; max-width:100%; height:4.5rem; flex:0 0 4.5rem; margin:0; object-fit:contain; }
.buy-partner-meta { width:100%; min-height:2.25rem; margin-top:auto; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:.125rem; }
.buy-partner-card strong { display:block; max-width:100%; overflow:hidden; color:#343434; font:500 0.75rem/1rem 'Montserrat',Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.buy-partner-city { display:block; color:rgba(52,52,52,.55); font:400 0.75rem/1rem 'Montserrat',Arial,sans-serif; }
.buy-decor { position:absolute; z-index:2; pointer-events:none; background-position:center; background-size:100% 100%; background-repeat:no-repeat; }
.buy-decor-left { top:7.5rem; left:0; width:13.1875rem; height:17.77441406rem; background-image:url('assets/images/botanical-buy-left.webp'); }
.buy-decor-right { top:41.1875rem; right:0; width:15.625rem; height:20.57226563rem; background-image:url('assets/images/botanical-page-right.webp'); }
.cooperation-page { height:95.25rem; position:relative; background:var(--paper); overflow:visible; }
.cooperation-breadcrumb { position:absolute; top:8.5625rem; left:0; width:100%; text-align:center; color:#b0903d; font:400 0.875rem/1.375rem 'Montserrat',Arial,sans-serif; }
.cooperation-breadcrumb a { color:rgba(52,52,52,.7); }.cooperation-breadcrumb span { margin:0 0.375rem; }.cooperation-breadcrumb strong { font-weight:500; }
.cooperation-page > h1 { top:11.0625rem; left:0; width:100%; text-align:center; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.cooperation-lead { position:absolute; top:15.5625rem; left:0; width:100%; margin:0; text-align:center; color:#343434; font:400 1.125rem/1.4375rem 'Montserrat',Arial,sans-serif; }
.cooperation-chocolate { position:absolute; top:27.5rem; left:calc(50vw - 28.125rem); width:20.0625rem; height:19.64550781rem; object-fit:contain; }
[data-pointer-parallax].is-pointer-parallax-ready {
  transform:translate3d(var(--pointer-parallax-x,0),var(--pointer-parallax-y,0),0) rotateX(var(--pointer-parallax-rotate-x,0)) rotateY(var(--pointer-parallax-rotate-y,0));
  transform-style:preserve-3d;
  transform-origin:center;
  will-change:transform;
}
@media (prefers-reduced-motion:reduce) {
  [data-pointer-parallax] { transform:none !important; }
}
.cooperation-form { position:absolute; top:23rem; left:calc(50vw + 1.25rem); width:35rem; height:28.625rem; }
.cooperation-form::before { content:''; position:absolute; inset:0; background:url('assets/images/cooperation-form-bg.jpg') 42.192% 0/111.436% auto no-repeat; opacity:.3; }
.cooperation-form > * { position:relative; z-index:1; }
.cooperation-form h2 { margin:3.125rem 0 0; text-align:center; color:#000; font:500 1.625rem/1.625rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.cooperation-form > p { margin:0.75rem 0 0; text-align:center; color:#343434; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.cooperation-form form { position:absolute; top:9.125rem; left:2.875rem; width:30rem; }
.cooperation-form .form-grid { grid-template-columns:repeat(2,14.53125rem); gap:1.75rem 0.9375rem; }
.cooperation-form .consent { margin-top:1.125rem; }
.cooperation-form .form-submit { margin:2.5625rem 0 0; text-align:center; }
.cooperation-form .button { width:13.75rem; min-height:2.625rem; margin:0; font:500 1rem 'Montserrat',Arial,sans-serif; }
.cooperation-benefits { position:absolute; top:57.875rem; left:calc(50vw - 36.25rem); width:72.5rem; }
.cooperation-benefits > h2 { width:66.0625rem; height:3.25rem; margin:0 auto 3.1875rem; text-align:center; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; white-space:nowrap; text-transform:uppercase; }
.cooperation-benefits > h2 em { color:#b0903d; font-weight:500; }
.cooperation-benefit-grid { display:grid; grid-template-columns:repeat(2,35rem); grid-template-rows:15.125rem 13.1875rem; gap:2.5rem; }
.cooperation-benefit-grid article { padding:1.875rem; position:relative; background:#f3ebe4; }
.cooperation-benefit-grid article img { position:absolute; top:1.875rem; right:1.875rem; width:2.625rem; height:2.625rem; }
.cooperation-benefit-grid article:nth-child(2) img,.cooperation-benefit-grid article:nth-child(4) img { top:1.875rem; }
.cooperation-benefit-grid h3 { margin:0 0 1.25rem; color:#000; font:500 1.625rem/1.625rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.cooperation-benefit-grid article:nth-child(even) h3 { transform:translateY(0.3125rem); }
.cooperation-benefit-grid article:nth-child(even) ul { transform:translateY(0.3125rem); }
.cooperation-benefit-grid ul { width:29.375rem; margin:0; padding:0; list-style:none; color:#343434; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.cooperation-benefit-grid li { position:relative; padding-left:0.9375rem; }.cooperation-benefit-grid li + li { margin-top:0.5rem; }.cooperation-benefit-grid li::before { content:'▪'; position:absolute; left:0; color:#b0903d; }
.cooperation-decor { position:absolute; z-index:2; pointer-events:none; background-position:center; background-size:100% 100%; background-repeat:no-repeat; }
.cooperation-decor-left { top:5.8125rem; left:0; width:13.1875rem; height:17.77441406rem; background-image:url('assets/images/botanical-page-left.webp'); }
.cooperation-decor-right { top:40.625rem; right:0; width:15.625rem; height:20.57226563rem; background-image:url('assets/images/botanical-page-right.webp'); }
.delivery-page { min-height:50.34765625rem; padding-top:21.5625rem; position:relative; background:var(--paper); }
.delivery-breadcrumb { position:absolute; top:8.5625rem; left:0; width:100%; text-align:center; color:#b0903d; font:400 0.875rem/1.375rem 'Montserrat',Arial,sans-serif; }
.delivery-breadcrumb a { color:rgba(52,52,52,.7); }.delivery-breadcrumb span { margin:0 0.375rem; }.delivery-breadcrumb strong { font-weight:500; }
.delivery-page > h1 { top:11.0625rem; left:0; width:100%; text-align:center; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.delivery-lead { position:absolute; top:15.5625rem; left:0; width:100%; margin:0; text-align:center; color:#343434; font:400 1.125rem/1.4375rem 'Montserrat',Arial,sans-serif; }
.delivery-accordion { width:72.5rem; margin:0 auto; }
.delivery-accordion details { margin:0; background:#f3ebe4; }
.delivery-accordion details + details { margin-top:2px; }
.delivery-accordion summary { height:4.69335938rem; padding:1.25rem 1.875rem; display:flex; align-items:flex-start; justify-content:space-between; list-style:none; cursor:pointer; }
.delivery-accordion summary::-webkit-details-marker { display:none; }
.delivery-accordion summary span { color:#000; font:500 1.625rem/2.19375rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.delivery-accordion summary i { width:1.5rem; height:1.5rem; margin:0.34667969rem -2px 0 0; position:relative; flex:0 0 1.5rem; background:#b0903d; }
.delivery-accordion summary i::before,.delivery-accordion summary i::after { content:''; position:absolute; top:0.6875rem; left:0.375rem; width:0.75rem; height:2px; background:#fff; }.delivery-accordion summary i::after { transform:rotate(90deg); transition:transform .2s ease; }
.delivery-accordion details[open] summary i::after { transform:rotate(0); }
.delivery-answer { padding:0 1.875rem 1.5rem; color:#343434; font:400 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; }
.delivery-answer p,.delivery-answer ol { margin:0; }.delivery-answer ol { padding-left:1.25rem; }
.delivery-decor { position:absolute; z-index:2; top:5.8125rem; left:0; width:13.1875rem; height:17.77441406rem; pointer-events:none; background:url('assets/images/botanical-page-left.webp') center/100% 100% no-repeat; }
.recipe-detail { background:var(--paper); }
body:has(.recipe-detail) { overflow-x:clip; }
.recipe-detail-intro { height:107.5625rem; position:relative; overflow:clip; }
.recipe-detail-long .recipe-detail-intro { height:132.3125rem; }
.recipe-detail-banana .recipe-detail-intro { height:127.0625rem; }
.recipe-detail-breadcrumb { position:absolute; top:8.5625rem; left:0; width:100%; text-align:center; color:#b0903d; font:400 0.875rem/1.375rem 'Montserrat',Arial,sans-serif; }
.recipe-detail-breadcrumb a { color:rgba(52,52,52,.7); }.recipe-detail-breadcrumb span { margin:0 0.375rem; }.recipe-detail-breadcrumb strong { font-weight:500; }
.recipe-detail-intro > h1 { top:11.0625rem; left:calc(50vw - 33.03125rem); width:66.0625rem; text-align:center; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.recipe-detail-intro > h1 em { color:#b0903d; font-weight:500; }
.recipe-detail-lead { position:absolute; top:15.5625rem; left:0; width:100%; margin:0; text-align:center; color:#343434; font:400 1.125rem/1.4375rem 'Montserrat',Arial,sans-serif; }
.recipe-detail-columns { position:absolute; top:20.125rem; left:calc(50vw - 36.25rem); width:72.5rem; display:grid; grid-template-columns:35rem 35rem; gap:2.5rem; align-items:start; }
.recipe-ingredients,.recipe-method { padding:1.875rem; background:#f3ebe4; }
.recipe-ingredients h2,.recipe-method h2 { margin:0 0 1.5625rem; color:#000; font:500 1.625rem/1.9375rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.recipe-ingredients dl { margin:0; }
.recipe-ingredients dl div { min-height:2.65625rem; display:flex; align-items:center; justify-content:space-between; gap:1.25rem; border-bottom:1px solid rgba(176,144,61,.2); color:#343434; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.recipe-ingredients dl div:last-child { border-bottom:0; }
.recipe-ingredients dt,.recipe-ingredients dd { margin:0; }
.recipe-ingredients dd { text-align:right; white-space:nowrap; }
@media (min-width:1200px) {
  .recipe-ingredients { position:sticky; top:8rem; }
}
.recipe-method { height:41.125rem; position:relative; }
.recipe-detail-long .recipe-method { height:65.875rem; }
.recipe-detail-banana .recipe-method { height:60.625rem; }
.recipe-method ol { margin:0; padding:0; list-style:none; }
.recipe-method li + li { margin-top:1.25rem; }
.recipe-method li b { min-width:3.125rem; height:1.5625rem; padding:0 0.5625rem; display:inline-flex; align-items:center; justify-content:center; color:#fff; background:#b0903d; font:500 0.75rem/1.125rem 'Montserrat',Arial,sans-serif; }
.recipe-method li p { margin:0.625rem 0 0; color:#343434; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.recipe-method > img { position:absolute; left:1.875rem; bottom:1.875rem; width:31.25rem; height:17.375rem; object-fit:cover; }
.recipe-product-promo { position:absolute; top:66.1875rem; left:calc(50vw - 36.25rem); width:72.5rem; height:35rem; text-align:center; }
.recipe-detail-long .recipe-product-promo { top:90.9375rem; }
.recipe-detail-banana .recipe-product-promo { top:85.6875rem; }
.recipe-product-promo > h2 { height:3.25rem; margin:0 0 4.4375rem; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; white-space:nowrap; text-transform:uppercase; }
.recipe-product-promo > h2 em { color:#b0903d; font-weight:500; }
.recipe-product-grid { display:grid; grid-template-columns:repeat(3,22.5rem); gap:2.5rem; text-align:left; }
.recipe-product-grid article { position:relative; }
.recipe-product-grid article:nth-child(2) { transform:translateX(1px); }
.recipe-product-grid img { width:22.5rem; height:16.75rem; object-fit:cover; }
.recipe-product-grid p { margin:0.75rem 0 0; color:#343434; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.recipe-product-grid strong { display:block; margin-top:0.3125rem; color:#b0903d; font:400 1.125rem/1.5rem 'Montserrat',Arial,sans-serif; }
.recipe-product-promo > .button { width:13.75rem; min-height:2.625rem; margin-top:3.25rem; font:500 1rem/1.5rem 'Montserrat',Arial,sans-serif; }
.recipe-detail-decor { position:absolute; z-index:2; pointer-events:none; background-position:center; background-size:100% 100%; background-repeat:no-repeat; }
.recipe-detail-decor-left { top:4.375rem; left:0; width:16.6875rem; height:20.60058594rem; background-image:url('assets/images/botanical-page-left.webp'); }
.recipe-detail-decor-right { top:61.25rem; right:0; width:14rem; height:17.76074219rem; background-image:url('assets/images/botanical-page-right.webp'); }
.recipe-detail-long .recipe-detail-decor-right,.recipe-detail-banana .recipe-detail-decor-right { top:80.5rem; }
.theobroma-product-view { min-width:73.75rem; background:#fcf9f7; }
.product-detail-page { width:100%; min-height:124.6875rem; position:relative; overflow:hidden; background:#fcf9f7; color:#343434; }
.product-detail-back { position:absolute; top:1.3125rem; left:1.25rem; color:#fff; font:400 0.75rem/1.125rem 'Montserrat',Arial,sans-serif; }
.product-detail-close { position:absolute; z-index:3; top:1.25rem; right:1.25rem; width:1.875rem; height:1.875rem; }
.product-detail-close::before,.product-detail-close::after { content:''; position:absolute; top:0.875rem; left:2px; width:1.625rem; height:1px; background:#fff; transform:rotate(45deg); }.product-detail-close::after { transform:rotate(-45deg); }
.product-detail-hero { position:absolute; top:7.5rem; left:calc(50vw - 36.25rem); width:72.5rem; height:46.5625rem; display:grid; grid-template-columns:35rem 35rem; gap:2.5rem; }
.product-detail-image { width:35rem; height:46.5625rem; margin:0; overflow:hidden; background:#f3ebe4; }
.product-detail-image img { width:35rem; height:46.5625rem; object-fit:cover; }
.product-detail-zoom-trigger { width:100%; height:100%; margin:0; padding:0; display:block; border:0; background:transparent; cursor:zoom-in; }
.product-detail-summary { padding:0; position:relative; }
.product-detail-summary h1 { position:static; width:35rem; height:auto; margin:0; color:#343434; font:500 0.875rem/1.18125rem 'Montserrat',Arial,sans-serif; letter-spacing:normal; text-transform:none; }
.product-detail-price { margin-top:1.12402344rem; color:#b0903d; font:500 1.125rem/1.51875rem 'Montserrat',Arial,sans-serif; }.product-detail-price .amount { color:inherit; }
.product-detail-buy { height:2.8125rem; margin-top:1.31738281rem; display:flex; align-items:center; gap:0.3125rem; }
.product-detail-type-variable .product-detail-buy { height:auto; align-items:flex-start; }
.product-detail-buy form.cart { margin:0; display:block; }.product-detail-buy .quantity { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.product-detail-buy .single_add_to_cart_button { width:12.90136719rem; height:2.8125rem; min-height:2.8125rem; margin:0; padding:0.525rem 0.9375rem; border:0; border-radius:2.1875rem; display:flex; align-items:center; justify-content:center; color:#fff; background:#b0903d; font:400 0.8125rem/1.1375rem 'Montserrat',Arial,sans-serif; white-space:nowrap; cursor:pointer; }
body.theobroma-product-view .product-detail-buy button.single_add_to_cart_button { width:12.90136719rem !important; height:2.8125rem !important; min-height:2.8125rem !important; margin:0 !important; padding:0.525rem 0.9375rem !important; border:0 !important; border-radius:2.1875rem !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#fff !important; background:#b0903d !important; font:400 0.8125rem/1.1375rem 'Montserrat',Arial,sans-serif !important; }
.product-detail-favorite { width:2.8125rem; height:2.8125rem; padding:0; border:1px solid #e8ddca; border-radius:50%; display:grid; place-items:center; color:#b0903d; background:#fff; line-height:0; cursor:pointer; }
.product-detail-favorite svg { width:1.5625rem; height:1.375rem; display:block; }
.product-detail-favorite path { vector-effect:non-scaling-stroke; }
.product-detail-favorite.is-active path { fill:currentColor; }
.product-detail-marketplaces { margin-top:0.625rem; display:flex; gap:0.57519531rem; }.product-detail-marketplaces a { width:4.875rem; height:2.8125rem; display:flex; align-items:center; justify-content:center; border-radius:62.4375rem; color:#fff; background:#a52dff; font:400 0.8125rem/2.8125rem 'Montserrat',Arial,sans-serif; }.product-detail-marketplaces a:last-child { background:#075bff; }
.product-detail-copy { width:35rem; margin-top:1.67480469rem; color:#343434; font:400 1rem/1.55rem 'Montserrat',Arial,sans-serif; }.product-detail-copy p { margin:0 0 1.54980469rem; }
.product-detail-accordions { position:absolute; top:57.8125rem; left:calc(50vw - 36.25rem); width:72.5rem; }
.product-detail-accordions details { border-top:1px solid #343434; }.product-detail-accordions details:last-child { border-bottom:1px solid #343434; }.product-detail-accordions summary { height:3.875rem; padding:1.1875rem 1.25rem 1.1875rem 0; display:flex; justify-content:space-between; list-style:none; cursor:pointer; font:400 1rem/1.5rem 'Montserrat',Arial,sans-serif; }.product-detail-accordions summary::-webkit-details-marker { display:none; }.product-detail-accordions summary i { width:1.25rem; height:1.25rem; position:relative; }.product-detail-accordions summary i::before,.product-detail-accordions summary i::after { content:''; position:absolute; top:0.5625rem; left:0; width:1.25rem; height:1px; background:#343434; }.product-detail-accordions summary i::after { transform:rotate(90deg); }.product-detail-accordions details[open] summary i::after { transform:rotate(0); }
.product-detail-accordions details div { width:47.5rem; min-height:0; padding:0; color:#343434; font:400 1rem/1.5rem 'Montserrat',Arial,sans-serif; }.product-detail-accordions details p { margin:0 0 1.5rem; }
.product-related { position:absolute; top:81.83398438rem; left:calc(50vw - 36.25rem); width:72.5rem; }
.product-related > h2 { margin:0 0 2.4375rem; color:#343434; font:500 0.875rem/1.1875rem 'Montserrat',Arial,sans-serif; letter-spacing:normal; text-transform:none; }
.product-related-grid { display:grid; grid-template-columns:repeat(4,16.875rem); gap:2.5rem; }
.product-related-grid-tablet,.product-related-grid-mobile { display:none; }
.product-related-grid article { min-height:35rem; position:relative; }
.product-related-image { width:16.875rem; height:21.09375rem; display:block; position:relative; overflow:hidden; background:#f3ebe4; }.product-related-image img { width:16.875rem; height:21.09375rem; object-fit:cover; }.product-related-image span { position:absolute; top:0.625rem; right:0.625rem; width:2.875rem; height:2.875rem; display:grid; place-items:center; border-radius:50%; color:#b0903d; background:#fff; font:1.5rem/1 Arial,sans-serif; }
.product-related-grid h3 { margin:1.25rem 0 0.5rem; color:#343434; font:500 0.875rem/1.18125rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }.product-related-grid h3 a { color:inherit; }.product-related-grid p { height:1.375rem; margin:0; overflow:hidden; color:#343434; font:400 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; white-space:nowrap; text-overflow:ellipsis; }.product-related-price { margin-top:0.8125rem; color:#b0903d; font:400 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; }.product-related-price .amount { color:inherit; }
.product-related-button { position:absolute; left:0; top:29.046875rem; width:10.37304688rem; height:2.1875rem; display:flex; align-items:center; justify-content:center; border-radius:62.4375rem; color:#fff; background:#b0903d; font:500 0.8125rem/1.125rem 'Montserrat',Arial,sans-serif; }
@media (max-width:1199px) {
  html.mobile-menu-open,body.mobile-menu-open { overflow:hidden; }
  .mobile-menu { position:fixed; z-index:1000; inset:0; display:block; visibility:hidden; background:rgba(20,18,17,.66); opacity:0; transition:opacity .25s ease,visibility 0s linear .25s; }
  .mobile-menu::before { content:''; position:absolute; inset:0 auto 0 0; width:min(82.051vw,20rem); background:#f3ebe4; transform:translateX(-100%); transition:transform .25s ease; }
  .mobile-menu-open .mobile-menu { visibility:visible; opacity:1; transition-delay:0s; }
  .mobile-menu-open .mobile-menu::before { transform:translateX(0); }
  .mobile-menu nav { position:absolute; z-index:1; top:2.6875rem; left:1.625rem; width:min(calc(82.051vw - 3.25rem),16.75rem); transform:translateX(-115%); transition:transform .25s ease; }
  .mobile-menu-open .mobile-menu nav { transform:translateX(0); }
  .mobile-menu ul { margin:0; padding:0; list-style:none; }
  .mobile-menu li + li { margin-top:1.25rem; }
  .mobile-menu a { display:block; color:#111; font:400 1.6875rem/1.04 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
  .mobile-menu-close { position:absolute; z-index:2; top:0.6875rem; left:calc(min(82.051vw,20rem) - 2.75rem); width:2rem; height:2rem; padding:0; border:0; background:transparent; cursor:pointer; transform:translateX(-100vw); transition:transform .25s ease; }
  .mobile-menu-open .mobile-menu-close { transform:translateX(0); }
  .mobile-menu-close::before,.mobile-menu-close::after { content:''; position:absolute; top:0.9375rem; left:0.25rem; width:1.5625rem; height:1px; background:#222; transform:rotate(45deg); }
  .mobile-menu-close::after { transform:rotate(-45deg); }
  .cookie-notice { right:0; bottom:0; width:100%; padding:1.25rem 0.625rem; font-size:0.75rem; line-height:1.1625rem; }
  .cookie-notice button { min-height:2.5rem; margin-top:0.9375rem; padding-inline:0.9375rem; font-size:0.75rem; line-height:1.05rem; font-weight:500; }
}
@media (max-width:600px) { .nav { grid-template-columns:1fr auto; min-height:4.125rem; padding:0 1.125rem; } .nav-links { display:none; } .brand { font-size:1.9375rem; } .floating-actions { top:1.75rem; }.floating-actions a { width:1.875rem; height:1.875rem; font-size:0.8125rem; }.floating-actions a span { display:none; }.floating-actions img { width:0.9375rem; height:0.9375rem; } .hero { min-height:36.875rem; align-items:start; } .hero-chocolate { width:85vw; height:13.125rem; right:7%; top:auto; bottom:0; } .hero-inner { padding:3.625rem 1.375rem; top:auto; } .products { grid-template-columns:repeat(2,1fr); } .product-image { height:13.75rem; } .feature { height:auto; } .about-stage { width:auto; height:auto; padding:2.8125rem 1.125rem; } .about-award,.story,.values { position:static; width:auto; height:auto; } .about-award { width:11.875rem; margin:0 auto 1.5625rem; } .story { padding:1.875rem; } .values { margin-top:1.125rem; grid-template-columns:1fr; gap:0.75rem; } .value { height:auto; min-height:11.25rem; } .reviews { height:auto; } .reviews-stage { width:auto; height:auto; padding:2.8125rem 1.125rem; } .reviews .section-heading { height:auto; } .review-grid { height:auto; grid-template-columns:repeat(6,16.25rem); overflow-x:auto; } .review { margin-top:1.5625rem; } .reviews-button { height:6.875rem; } .site-footer { height:auto; padding:2.8125rem 1.125rem; } .footer-shell { width:auto; height:auto; display:grid; grid-template-columns:1fr; gap:1.125rem; } .footer-shell > * { position:static; width:auto; } .copyright { position:static; width:auto; transform:none; margin-top:1.875rem; grid-template-columns:1fr; gap:1.125rem; } }
@media (min-width:601px) and (max-width:1199px) {
  .mobile-menu::before { width:20rem; }
  .mobile-menu nav { top:3rem; left:2.5rem; width:15rem; }
  .mobile-menu li + li { margin-top:0.9375rem; }
  .mobile-menu a { width:max-content; max-width:15rem; font-size:1.625rem; line-height:1.9375rem; letter-spacing:.1px; }
  .mobile-menu-close { top:0.3125rem; left:17.1875rem; width:2.5rem; height:2.5rem; }
  .mobile-menu-close::before,.mobile-menu-close::after { top:1.1875rem; left:0.4375rem; }
  .site-header { height:2.25rem; }
  .shipping { min-height:2.25rem; }
  .shipping img { width:2.8117vw; height:2.8117vw; position:absolute; top:.93587vw; left:32.9671vw; zoom:1; }
  .shipping span { width:auto; position:absolute; top:.93587vw; left:38.1246vw; zoom:1; font-size:1.71875vw; line-height:2.65625vw; }
  .nav,.nav-sticky .nav { top:2.25rem; left:50%; width:min(37.5rem,calc(100vw - 5rem)); min-height:7rem; transform:translateX(-50%); display:block; padding:0; background:transparent; }
  .nav-sticky .nav { position:fixed; top:0; min-height:6.375rem; background:#f3ebe4; box-shadow:0 0 0 100vmax #f3ebe4; clip-path:inset(0 -100vmax); }
  .nav-links { display:none; }
  .brand,.nav-sticky .brand { position:absolute; top:0.9375rem; left:0; width:10.625rem; height:4.42675781rem; transform:none; }
  .brand img { width:10.625rem; height:4.42675781rem; }
  .menu-toggle { position:absolute; top:2.0625rem; right:-0.625rem; width:3.5rem; height:2.5rem; padding:0.625rem; display:grid; align-content:center; gap:0.375rem; border:0; background:transparent; cursor:pointer; }
  .menu-toggle span { width:2.25rem; height:1px; display:block; background:#2b211d; }
  .floating-actions,.nav-sticky .floating-actions { position:absolute; z-index:30; top:3.875rem; right:calc((100vw - min(37.5rem,calc(100vw - 5rem)))/2 + 3.625rem); display:flex; gap:0.25rem; }
  .nav-sticky .floating-actions { position:fixed; top:1.625rem; }
  .floating-actions a { width:3.375rem; height:3.125rem; padding:0; justify-content:center; gap:0.25rem; font-size:0.75rem; }
  .floating-actions a span { display:inline; }
  .floating-actions img,.floating-actions a:last-child img { width:1.1875rem; height:1.1875rem; }

  .hero { min-height:40.5rem; }
  .hero-inner { left:0; width:min(37.5rem,calc(100vw - 5rem)); height:40.5rem; margin:0 auto; padding:0; }
  .hero h1 { top:9.4375rem; left:0; width:35rem; font-size:3.625rem; line-height:3.625rem; }
  .hero h1 span { height:3.625rem; }
  .hero h1 span:nth-child(2) { width:max-content; margin-left:3.125rem; }
  .hero h1 span:nth-child(3) { transform:translateY(1px); }
  .hero p { top:22.25rem; left:0; width:24.375rem; font-size:0.875rem; line-height:1.375rem; }
  .hero .button { top:26rem; left:0; width:13.75rem; }
  .hero-chocolate { top:8.75rem; right:calc((100vw - min(37.5rem,calc(100vw - 5rem)))/2 - 0.5rem); left:auto; bottom:auto; width:20rem; height:31.875rem; transform:translate(0.46875rem,3.375rem) scale(1.0304); transform-origin:center bottom; }

  #catalog { height:80rem; padding:0; }
  #catalog .section-heading { left:0; width:min(37.5rem,calc(100vw - 5rem)); height:15.3125rem; margin:0 auto; padding:0; }
  #catalog .section-heading h2 { top:5.4375rem; width:100%; font-size:3rem; line-height:3rem; white-space:normal; }
  #catalog .section-heading h2 em { display:block; }
  #catalog .products { left:0; width:min(37.5rem,calc(100vw - 5rem)); height:55.625rem; margin:0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,26.5625rem); gap:2.5rem; }
  #catalog .product-image { height:18.75rem; }
  #catalog > p { height:9.0625rem; }

  .feature { height:59.375rem; }
  .about-stage { left:0; width:min(37.5rem,calc(100vw - 5rem)); height:59.375rem; margin:0 auto; padding:0; display:block; }
  .about-award { position:absolute; top:18.75rem; left:3.4375rem; width:13.75rem; height:13.125rem; margin:0; }
  .story { position:absolute; top:3.4375rem; left:0; width:100%; height:13.125rem; padding:1.875rem 2.5rem; }
  .story h2,.story p { position:static; width:auto; }
  .story h2 { font-size:1.5rem; line-height:1.75rem; }
  .story p { margin-top:1.25rem; font-size:0.75rem; line-height:1.0625rem; }
  .story p br { display:none; }
  .values { position:absolute; top:18.75rem; left:0; width:100%; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2.5rem; }
  .value { width:auto; height:13.125rem; min-height:0; }
  .value:nth-child(1) { grid-column:2; }
  .value:nth-child(2) { grid-column:1; grid-row:2; }
  .value:nth-child(3) { grid-column:2; grid-row:2; }

  .reviews { height:47.5rem; }
  .reviews-stage { left:0; width:min(37.5rem,calc(100vw - 5rem)); height:47.5rem; margin:0 auto; padding:0; }
  .reviews .section-heading { height:9.375rem; padding:0; }
  .reviews .section-heading h2 { top:3.4375rem; left:0; width:100%; font-size:3rem; line-height:3rem; white-space:normal; }
  .review-controls { top:36.5625rem; right:calc(50% - 2.625rem); }
  .review-grid { height:25.625rem; padding:0; grid-template-columns:repeat(7,16.25rem); gap:1.25rem; overflow-x:auto; scrollbar-width:none; }
  .review-grid::-webkit-scrollbar { display:none; }
  .reviews-button { height:12.5rem; }
  .reviews-button .button { margin-top:6.5625rem; }

  .contact,.contact .section { height:31.25rem; }
  .contact .section { padding:9.375rem 0 0; }
  .contact-card { left:0; width:min(37.5rem,calc(100vw - 5rem)); margin:0 auto; }
  .contact-card h2 { top:-6.25rem; width:100%; font-size:3rem; line-height:3rem; }
  .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

  .site-footer { height:65rem; padding:0; }
  .footer-shell { left:0; width:min(37.5rem,calc(100vw - 5rem)); height:50.3125rem; margin:0 auto; padding:4.0625rem 0 0; position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:max-content; gap:1.75rem 2.5rem; }
  .footer-shell > * { position:relative; top:auto !important; left:auto !important; width:auto; }
  .footer-logo { grid-column:1; grid-row:1; align-self:start; }
  .footer-logo img { margin-left:0; }
  .footer-media { grid-column:2; grid-row:1; align-self:start; }
  .footer-map { grid-column:1; grid-row:2; min-height:9.375rem; }
  .footer-address,.footer-phones,.footer-mail { height:7.8125rem; }
  .footer-phones { grid-column:2; grid-row:2; }
  .footer-mail:nth-of-type(6) { grid-column:1; grid-row:3; }
  .footer-mail:nth-of-type(7) { grid-column:2; grid-row:3; }
  .footer-mail:nth-of-type(8) { grid-column:1; grid-row:4; }
  .footer-address { grid-column:2; grid-row:4; padding:0.8125rem 1.25rem; font-size:1.3125rem; line-height:1.5625rem; }
  .footer-phones img:first-child { top:2rem; left:calc(50% - 6.25rem); width:12.5rem; }
  .footer-phones img:last-child { top:4.5rem; left:calc(50% - 6.25rem); width:12.5rem; }
  .footer-mail::before { left:calc(50% - 0.625rem); }
  .footer-mail strong,.footer-mail small,
  .footer-mail:nth-of-type(6) strong,.footer-mail:nth-of-type(6) small,
  .footer-mail:nth-of-type(7) strong,.footer-mail:nth-of-type(7) small,
  .footer-mail:nth-of-type(8) strong,.footer-mail:nth-of-type(8) small { left:0; width:100%; text-align:center; }
  .footer-mail strong { font-size:1.25rem; line-height:1.5625rem; }
  .footer-mail small { font-size:0.6875rem; line-height:0.9375rem; }
  .copyright { position:absolute; top:52.5rem; left:calc((100vw - min(37.5rem,calc(100vw - 5rem)))/2); width:min(37.5rem,calc(100vw - 5rem)); margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5625rem 2.5rem; font-size:0.625rem; line-height:0.9375rem; }

  .home-decor i:nth-child(1) { top:38.75rem; width:11.875rem; height:15rem; }
  .home-decor i:nth-child(2) { top:106.875rem; width:10rem; height:13.4375rem; }
  .home-decor i:nth-child(3) { top:154.375rem; width:10rem; height:19.375rem; }
  .home-decor i:nth-child(4) { top:200rem; width:9.0625rem; height:17.8125rem; }

  .catalog-page,.catalog-page.catalog-group-chocolate-30g,.catalog-page.catalog-group-cacao,.catalog-page.catalog-group-chia { min-height:0; }
  .catalog-page .shop-shell { width:min(37.5rem,calc(100vw - 5rem)); }
  .catalog-breadcrumb { padding-top:8.4375rem; }
  .catalog-title { margin:1.25rem 0 2.375rem; font-size:3rem; line-height:3rem; }
  .catalog-filters { width:37.5rem; max-width:100%; height:auto; margin:0 auto 3.4375rem; flex-wrap:wrap; gap:0.75rem; }
  .catalog-filters a { width:auto; min-width:10.625rem; height:3rem; padding:0 1.5rem; }
  .catalog-page ul.products { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:34.6875rem; gap:2.8125rem 2.5rem; }
  .catalog-page ul.products li.product,.catalog-page.catalog-group-chocolate-30g ul.products li.product { width:100% !important; height:34.6875rem; margin:0 !important; }
  .catalog-page ul.products li.product .catalog-product-image { width:100%; height:auto; aspect-ratio:260/325; }
  .catalog-page ul.products li.product .button { bottom:0; width:11.875rem; height:2.625rem; }

  .recipes-intro { min-height:0; padding-bottom:5.625rem; }
  .recipes-intro::before { top:9.375rem; width:10.625rem; height:14.375rem; }
  .recipes-breadcrumb { padding-top:8.4375rem; }
  .recipes-intro > h1 { margin:1.25rem auto; width:min(37.5rem,calc(100vw - 5rem)); font-size:3rem; line-height:3rem; }
  .recipes-lead { width:min(37.5rem,calc(100vw - 5rem)); margin:0 auto; }
  .recipe-grid { width:min(37.5rem,calc(100vw - 5rem)); margin-top:2.8125rem; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.875rem 2.5rem; }
  .recipe-card { height:24.375rem; padding:1.75rem 1.5rem 1.5rem; }
  .recipe-card h2 { height:5.3125rem; font-size:1.5rem; line-height:1.75rem; }
  .recipe-image { width:100%; height:auto; aspect-ratio:300/167; }
  .recipe-card p { margin-top:1.25rem; }
  .recipes-page .contact::after { width:11.875rem; height:15rem; }

  .marketplace-intro { height:auto; padding-bottom:6.25rem; overflow:hidden; }
  .marketplace-breadcrumb { padding-top:8.4375rem; }
  .marketplace-intro > h1 { margin:1.25rem auto; width:min(37.5rem,calc(100vw - 5rem)); font-size:3rem; line-height:3rem; }
  .marketplace-lead { width:min(37.5rem,calc(100vw - 5rem)); margin:0 auto; }
  .market-grid { width:min(37.5rem,calc(100vw - 5rem)); margin-top:2.8125rem; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.375rem 2.5rem; }
  .market-image { width:100%; height:auto; aspect-ratio:260/300; }

  .buy-intro { height:auto; min-height:53.125rem; padding-bottom:6.25rem; overflow:hidden; }
  .buy-breadcrumb { padding-top:8.4375rem; }
  .buy-intro > h1 { font-size:3rem; line-height:3rem; }
  .buy-tabs { max-width:min(31.25rem,calc(100vw - 5rem)); }
  .buy-location { width:min(37.5rem,calc(100vw - 5rem)); height:auto; min-height:21.875rem; margin:3.125rem auto 0; }
  .buy-location img { width:100%; height:auto; aspect-ratio:520/240; transform:none; }

  .cooperation-page { height:auto; min-height:0; padding:8.4375rem 0 6.25rem; overflow:hidden; display:flex; flex-direction:column; }
  .cooperation-breadcrumb,.cooperation-page > h1,.cooperation-lead,.cooperation-chocolate,.cooperation-form,.cooperation-benefits { position:relative; top:auto; left:auto; width:min(37.5rem,calc(100vw - 5rem)); margin-left:auto; margin-right:auto; }
  .cooperation-breadcrumb { padding:0; }
  .cooperation-breadcrumb { order:1; }.cooperation-page > h1 { order:2; }.cooperation-lead { order:3; }.cooperation-form { order:4; }.cooperation-chocolate { order:5; }.cooperation-benefits { order:6; }
  .cooperation-page > h1 { margin:1.25rem auto; font-size:3rem; line-height:3rem; }
  .cooperation-lead { margin-bottom:2.8125rem; }
  .cooperation-chocolate { width:15rem; height:14.6875rem; margin-bottom:1.5625rem; }
  .cooperation-form { height:29.6875rem; }
  .cooperation-form form { left:2.5rem; width:calc(100% - 5rem); }
  .cooperation-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cooperation-benefits { margin-top:5rem; }
  .cooperation-benefits > h2 { width:100%; height:auto; margin-bottom:2.8125rem; font-size:3rem; line-height:3rem; white-space:normal; }
  .cooperation-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:1.875rem 2.5rem; }
  .cooperation-benefit-grid article { min-height:15.625rem; }
  .cooperation-benefit-grid ul { width:auto; }

  .delivery-page { min-height:0; padding:21.25rem 0 6.25rem; }
  .delivery-accordion { width:min(37.5rem,calc(100vw - 5rem)); }

  .media-page { height:auto; min-height:0; padding:8.4375rem 0 6.25rem; }
  .media-breadcrumb,.media-page > h1,.media-lead,.media-grid { position:relative; top:auto; left:auto; width:min(37.5rem,calc(100vw - 5rem)); margin-left:auto; margin-right:auto; }
  .media-page > h1 { margin:1.25rem auto; font-size:3rem; line-height:3rem; }
  .media-grid { margin-top:3.125rem; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:2.5rem; }
  .media-card,.media-card-image,.media-card h2,.media-card p { width:100%; }
  .media-card { height:auto; }
  .media-card-image { height:auto; aspect-ratio:360/277; }
  .media-card-image img { width:100%; height:100%; }

  .legal-page,.legal-page-oferta { min-height:0; padding:20.625rem 0 5.625rem; }
  .legal-page > h1 { left:0; width:100%; font-size:3rem; line-height:3rem; }
  .legal-content { width:min(37.5rem,calc(100vw - 5rem)); font-size:0.875rem; line-height:1.375rem; }

  .theobroma-product-view { min-width:0; }
  .product-detail-page { min-height:0; padding:4.375rem 0 5.625rem; }
  .product-detail-back { top:1.375rem; left:calc((100vw - min(37.5rem,calc(100vw - 5rem)))/2); }
  .product-detail-close { top:1.25rem; right:calc((100vw - min(37.5rem,calc(100vw - 5rem)))/2); }
  .product-detail-hero { position:relative; top:auto; left:auto; width:min(37.5rem,calc(100vw - 5rem)); height:auto; margin:0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
  .product-detail-image { width:100%; height:auto; aspect-ratio:560/745; }
  .product-detail-image img { width:100%; height:100%; }
  .product-detail-summary h1,.product-detail-copy { width:100%; }
  .product-detail-copy { font-size:0.8125rem; line-height:1.1875rem; }
  .product-detail-buy { flex-wrap:wrap; }
  .product-detail-accordions { position:relative; top:auto; left:auto; width:min(37.5rem,calc(100vw - 5rem)); margin:4.0625rem auto 0; }
  .product-related { position:relative; top:auto; left:auto; width:min(37.5rem,calc(100vw - 5rem)); margin:5rem auto 0; }
  .product-related-grid { display:flex; gap:1.875rem; overflow-x:auto; scrollbar-width:none; }
  .product-related-grid::-webkit-scrollbar { display:none; }
  .product-related-grid article { flex:0 0 16.875rem; }

  .recipe-detail-intro,.recipe-detail-long .recipe-detail-intro,.recipe-detail-banana .recipe-detail-intro { height:auto; min-height:0; padding:8.4375rem 0 6.25rem; }
  .recipe-detail-breadcrumb,.recipe-detail-intro > h1,.recipe-detail-lead,.recipe-detail-columns,.recipe-product-promo,
  .recipe-detail-long .recipe-product-promo,.recipe-detail-banana .recipe-product-promo { position:relative; top:auto; left:auto; width:min(37.5rem,calc(100vw - 5rem)); margin-left:auto; margin-right:auto; }
  .recipe-detail-intro > h1 { margin:1.25rem auto; font-size:3rem; line-height:3rem; }
  .recipe-detail-lead { margin-bottom:2.8125rem; }
  .recipe-detail-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
  .recipe-method,.recipe-detail-long .recipe-method,.recipe-detail-banana .recipe-method { width:auto; height:auto; min-height:40rem; padding-bottom:20.625rem; }
  .recipe-method > img { left:1.875rem; width:calc(100% - 3.75rem); height:auto; aspect-ratio:500/278; }
  .recipe-product-promo,.recipe-detail-long .recipe-product-promo,.recipe-detail-banana .recipe-product-promo { height:auto; margin-top:5.625rem; }
  .recipe-product-promo > h2 { height:auto; margin-bottom:3.125rem; font-size:3rem; line-height:3rem; white-space:normal; }
  .recipe-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
  .recipe-product-grid img { width:100%; height:auto; aspect-ratio:360/268; }
}

@media (max-width:600px) { .hero { min-height:16.875rem; } .hero-chocolate { height:8.4375rem; right:13%; } .hero-inner { padding:2.1875rem 0.625rem; } }
@media (max-width:600px) { .section { padding:3.25rem 0.5rem; } h1 { font-size:2.375rem; } .section-heading { padding:0 0.5rem; margin-bottom:1.25rem; } .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.5rem; } .product-image { height:12.8125rem; } .product h3 { margin:0.5rem 0 0.25rem; font-size:0.5625rem; } .product p { font-size:0.5rem; } .price { margin-top:0.4375rem; font-size:0.6875rem; } .review-grid { grid-template-columns:repeat(4,10.625rem); overflow-x:auto; padding:0 0.5rem 0.625rem; scroll-snap-type:x mandatory; } .review { min-height:14.375rem; scroll-snap-align:start; } .form-grid { grid-template-columns:1fr; } .footer-shell { padding:0 0.5rem; } }
@media (max-width:600px) {
  .site-header { height:1.9375rem; }
  .shipping { min-height:1.9375rem; }
  .shipping img { top:0.380875rem; left:calc(50vw - 8.150375rem); width:1.371125rem; height:1.371125rem; }
  .shipping span { top:0.3125rem; left:calc(41.017227vw - 4.93575rem); width:13.1965rem; font:400 0.6875rem/1.0625rem 'Montserrat',Arial,sans-serif; zoom:1.219; }
  .nav { top:1.9375rem; left:0; width:100%; min-height:4.9375rem; transform:none; display:block; padding:0; }
  .nav-sticky .nav { top:0; min-height:5.5rem; padding:0; }
  .brand { position:absolute; top:1.2050625rem; left:1.1425625rem; width:7.6181875rem; height:3.19925rem; transform:none; }
  .brand img { width:7.6181875rem; height:3.19925rem; }
  .menu-toggle { position:absolute; top:1.1875rem; right:0.5rem; width:3.25rem; height:2.5rem; padding:0.625rem; display:grid; align-content:center; gap:0.3125rem; border:0; background:transparent; }
  .menu-toggle span { width:1.875rem; height:1px; display:block; background:#2b211d; }
  .floating-actions { position:absolute; top:3.4296875rem; right:6.8515625rem; display:flex; gap:0.1875rem; }
  .nav-sticky .floating-actions { position:fixed; top:1.375rem; }
  .floating-actions a { width:2.25rem; height:2.625rem; }
  .floating-actions a:nth-child(3) { order:-1; }
  .floating-actions a:nth-child(2) { margin-left:1.4125rem; }
  .floating-actions img { width:1.371125rem; height:1.1601875rem; }
  .floating-actions a:nth-child(3) img { width:1.0664375rem; height:1.0664375rem; }
  .hero { min-height:41.90234375rem; align-items:start; }
  .hero-inner { left:0; width:100%; height:40.25rem; margin:0 auto; padding:6.9189375rem 0 0; text-align:center; }
  .hero .eyebrow { display:none; }
  h1 { position:relative; left:-1.016px; top:auto; width:20rem; max-width:none; margin:0 auto; font:400 2.25rem/2.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; }
  h1 span { width:20rem; height:2.5898125rem; transform:scale(1.219); transform-origin:center top; } h1 span:nth-child(2) { margin-left:0; }
  .hero p { position:relative; left:.625px; top:auto; width:15.7705rem; margin:0.9199375rem auto 0; font-size:1.066625rem; line-height:1.5234375rem; }
  .hero .button { position:relative; left:.64px; top:auto; width:13.332rem; min-height:2.7421875rem; margin-top:1.507rem; font-size:1.066625rem; }
  .hero-chocolate { left:auto; width:16.25rem; height:18.75rem; right:4rem; bottom:0.15rem; }
  #catalog.section { height:68.597625rem; padding:0 0.5rem; }
  #catalog .section-heading { left:0; width:auto; height:13.0625rem; margin:0; padding:0 0.75rem; position:relative; display:block; }
  #catalog .section-heading h2 { position:absolute; top:6.2578125rem; left:50%; width:19.1875rem; transform:translateX(-50%); font:400 2.285125rem/2.285125rem 'Cormorant',Arial,sans-serif; white-space:normal; text-align:center; }
  #catalog .section-heading h2 em { display:block; }
  #catalog .section-note { display:none; }
  #catalog .products { left:0; width:auto; height:48.222625rem; margin:0 0.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,22.8613125rem); gap:1.25rem; }
  #catalog .product-image { height:12.3125rem; }
  #catalog .product h3 { margin:0.6875rem 0 0.5rem; font-size:0.875rem; line-height:1.2; }
  #catalog .product p { font-size:0.875rem; line-height:1.45; }
  #catalog .price { margin-top:0.5rem; font-size:1.125rem; }
  #catalog > p { height:7.3125rem; margin:0; display:flex; justify-content:center; align-items:center; }
  #catalog > p .button { width:13.332rem; min-height:2.7421875rem; margin:0; }
  .feature { height:65.6875rem; }
  .about-stage { left:0; width:23.4375rem; height:65.6875rem; margin:0 auto; padding:0; }
  .about-award { width:9.1875rem; height:8.6875rem; margin:1.8125rem auto 3.0625rem; }
  .story { width:21.1875rem; height:16.125rem; margin:0 auto; padding:1rem 0.9375rem; }
  .story h2 { position:static; width:auto; font-size:1.5rem; line-height:1.16; }
  .story p { position:static; width:auto; margin-top:0.75rem; font-size:0.8125rem; line-height:1.45; }.story p br { display:none; }
  .values { width:21.1875rem; margin:0.75rem 0 0 1.125rem; gap:0.75rem; }
  .value { width:21.1875rem; min-height:0; height:10.75rem; padding:1.5rem; grid-template-columns:1fr 4.375rem; background:#f5ece4; }
  .value img { width:4.375rem; height:4.375rem; }
  .value h3 { font-size:1.25rem; }
  .value p { font-size:0.6875rem; line-height:1.35; }
  .reviews { height:44.875rem; }
  .reviews-stage { left:0; width:23.4375rem; height:44.875rem; margin:0 auto; padding:0; }
  .reviews .section-heading { height:7.9375rem; padding:0; margin:0; position:relative; }
  .reviews .section-heading h2 { position:absolute; top:2.285125rem; left:2px; width:23.1875rem; font:400 2.285125rem/2.285125rem 'Cormorant',Arial,sans-serif; white-space:normal; }
  .review-controls { top:34.125rem; right:8.625rem; gap:1.375rem; }
  .review-controls button { width:2.375rem; height:2.5rem; }
  .reviews .section-note { width:10.3125rem; font-size:0.6875rem; }
  .review-grid { height:23.8125rem; padding:0 1.25rem; grid-template-columns:repeat(6,16.25rem); gap:2.5rem; overflow-x:auto; }
  .review-grid { scrollbar-width:none; }.review-grid::-webkit-scrollbar { display:none; }
  .review { width:16.0625rem; height:20.75rem; min-height:0; margin-top:1.0625rem; padding:1.6875rem 1.5rem 1.5rem; }
  .reviews-button { height:13.125rem; position:relative; }
  .reviews-button::before { content:none; }
  .reviews-button .button { width:13.332rem; min-height:2.7421875rem; margin-top:5.8300625rem; font-size:1rem; }
  .contact,.contact .section { height:33.3125rem; }
  .contact .section { padding:9.141625rem 1.125rem 0; }
  .contact-card { left:0; width:22.09375rem; margin:0 auto; }
  .contact-card h2 { top:-6.8565rem; left:2.515625rem; width:17.0625rem; font:400 2.285125rem/2.285125rem 'Cormorant',Arial,sans-serif; white-space:normal; }
  .form-grid { grid-template-columns:1fr; gap:1.1425625rem; }
  .form-grid input,.form-grid textarea { height:3.503875rem; }
  .consent { min-height:2.1328125rem; margin-top:1.1425625rem; gap:0.99125rem; font-size:0.75rem; line-height:0.9rem; }
  .contact .form-submit { margin-top:1.905rem; }
  .contact .button { width:13.332rem; min-height:2.7421875rem; font-size:1rem; }
  .site-footer { height:82.125rem; padding:0; background:#fcf9f7; }
  .footer-shell { left:0; width:100%; height:63.1875rem; margin:0 auto; position:relative; display:block; padding:0; }
  .footer-shell > * { position:absolute; }
  .footer-logo { top:4.5703125rem; left:1.25rem; width:7.618125rem; }
  .footer-logo img { width:7.618125rem; height:auto; }
  .footer-media { top:4.6875rem; right:1.25rem; left:auto; width:11.3515625rem; }
  .footer-media .social-icons { gap:0.4375rem; }
  .footer-media .social-icons a,.footer-media .social-icons img { width:2rem; height:2rem; }
  .site-footer .footer-media-button { width:11.3515625rem; height:2.4375rem; margin-top:0.6875rem; font-size:0.75rem; line-height:1.125rem; }
  .footer-map { top:12.0380625rem; left:1.25rem; width:calc(100% - 2.5rem); }
  .footer-phones { top:21.2568125rem; left:1.25rem; width:calc(100% - 2.5rem); height:7.6181875rem; gap:0.875rem; border-radius:1.25rem; }
  .footer-phones img { width:11.5625rem; height:1.25rem; }
  .footer-address { top:30.09375rem; left:1.25rem; width:calc(100% - 2.5rem); height:7.6181875rem; border-radius:1.25rem; }
  .footer-mail:nth-of-type(6) { top:38.8555rem; left:1.25rem; width:calc(100% - 2.5rem); height:7.6181875rem; border-radius:1.25rem; }
  .footer-mail:nth-of-type(7) { top:47.693375rem; left:1.25rem; width:calc(100% - 2.5rem); height:6.6279375rem; border-radius:1.25rem; }
  .footer-mail:nth-of-type(8) { top:55.5400625rem; left:1.25rem; width:calc(100% - 2.5rem); height:6.6279375rem; border-radius:1.25rem; }
  .footer-address { padding:0.5rem 1.5rem; font:400 1.25rem/1.5rem 'Cormorant',Arial,sans-serif; }
  .footer-mail strong { font:400 1.5rem/1.875rem 'Cormorant',Arial,sans-serif; }
  .footer-mail small,
  .footer-mail:nth-of-type(6) small,
  .footer-mail:nth-of-type(7) small,
  .footer-mail:nth-of-type(8) small { top:4.75rem; margin:0; font-size:0.6875rem; line-height:1rem; }
  .copyright { position:absolute; top:63.875rem; left:1.25rem; width:calc(100% - 2.5rem); height:15rem; transform:none; display:block; margin:0; }
  .copyright span { position:absolute; left:0; width:18.75rem; }
  .copyright span:nth-child(1) { top:-2px; }
  .copyright span:nth-child(2) { top:9.0625rem; }
  .copyright span:nth-child(3) { top:4.25rem; }

  /* The source scales its 390px mobile artboards continuously through 430px. */
  body.home { --mobile-home-scale:calc(100vw / 24.375rem); }
  #catalog.section { height:calc(201.666667vw + 17.753875rem); }
  #catalog .section-heading { height:46.666667vw; }
  #catalog .section-heading h2 { top:18.75vw; width:78.717949vw; font-size:9.374872vw; line-height:9.374872vw; }
  #catalog .products { height:calc(125vw + 17.753875rem); grid-template-rows:repeat(2,calc(62.5vw + 8.2519375rem)); }
  #catalog .product-image { height:50.512821vw; }
  #catalog .product h3 { margin:2.820513vw 0 2.051282vw; font-size:3.589744vw; }
  #catalog .product p { font-size:3.589744vw; }
  #catalog .price { margin-top:2.051282vw; font-size:4.615385vw; }
  #catalog > p { height:30vw; }
  #catalog > p .button { width:54.695385vw; min-height:11.25vw; font-size:4.102564vw; }

  .feature { height:269.487179vw; }
  .about-stage { left:1.923077vw; width:23.4375rem; height:65.6875rem; margin:0; transform:scale(var(--mobile-home-scale)); transform-origin:top left; }

  .reviews { height:184.102564vw; }
  .reviews-stage { left:1.923077vw; width:23.4375rem; height:44.875rem; margin:0; transform:scale(var(--mobile-home-scale)); transform-origin:top left; }

  .contact,.contact .section { height:136.666667vw; }
  .contact .section { padding-top:37.504103vw; }
  .contact-card { left:4.679487vw; margin:0; transform:scale(var(--mobile-home-scale)); transform-origin:top left; }

  .site-footer { height:82.125rem; }
  .footer-shell { left:0; margin:0; transform:none; }
  .copyright { top:63.875rem; left:1.25rem; transform:none; }

  .catalog-page,.catalog-page.catalog-group-chocolate-30g,.catalog-page.catalog-group-cacao,.catalog-page.catalog-group-chia { min-height:0; }
  .catalog-page::before { top:4.875rem; width:10.9375rem; height:14.375rem; }
  .catalog-page .shop-shell { width:100%; padding:0 0.8125rem; }
  .catalog-breadcrumb { padding-top:6.5625rem; font-size:0.6875rem; line-height:1.125rem; }
  .catalog-title { margin:1.25rem 0 2rem; font-size:2.285125rem; line-height:2.285125rem; }
  .catalog-filters { width:100%; height:auto; margin:0 auto 3.25rem; flex-wrap:wrap; gap:0.625rem 0.5rem; }
  .catalog-filters a { width:auto; min-width:0; height:2.6875rem; padding:0 1.125rem; font-size:0.875rem; line-height:1.25rem; }
  .catalog-page ul.products,.catalog-page.catalog-group-chocolate-30g ul.products { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:28.25rem; gap:2.5rem 0.875rem; }
  .catalog-page ul.products li.product,.catalog-page.catalog-group-chocolate-30g ul.products li.product { width:100% !important; height:28.25rem; margin:0 !important; }
  .catalog-page ul.products li.product .woocommerce-loop-product__link::before { top:0.625rem; right:0.625rem; width:2.625rem; height:2.625rem; background-size:1.125rem 1.125rem; }
  .catalog-page ul.products li.product .catalog-product-image { width:100%; height:auto; aspect-ratio:260/325; margin-bottom:1rem; }
  .catalog-page ul.products li.product .woocommerce-loop-product__title { font-size:0.8125rem; line-height:1.0625rem; }
  .catalog-page ul.products li.product .catalog-product-description { margin-top:0.4375rem; font-size:0.75rem; line-height:1.125rem; }
  .catalog-page ul.products li.product .price { margin-top:0.5rem; font-size:1.0625rem; line-height:1.4375rem; }
  .catalog-page ul.products li.product .button { bottom:0; width:100%; min-width:0; height:3.25rem; font-size:0.8125rem; line-height:1.0625rem; text-align:center; }

  .recipes-intro { min-height:0; padding-bottom:5.5rem; }
  .recipes-intro::before { top:8.875rem; width:9.375rem; height:12.625rem; opacity:.7; }
  .recipes-breadcrumb { padding-top:7.8125rem; font-size:0.6875rem; line-height:1.125rem; }
  .recipes-intro > h1 { width:21.875rem; margin:1.25rem auto 0.875rem; font-size:2.285125rem; line-height:2.285125rem; }
  .recipes-lead { width:20.9375rem; margin:0 auto; font-size:0.875rem; line-height:1.1875rem; }
  .recipe-grid { width:23rem; margin:2.625rem auto 0; grid-template-columns:1fr; gap:0.875rem; }
  .recipe-card { width:100%; height:22.6875rem; padding:1.5rem 1.5rem 1.125rem; }
  .recipe-card h2 { height:5.25rem; font-size:1.5625rem; line-height:1.75rem; }
  .recipe-image { width:100%; height:auto; aspect-ratio:300/167; }
  .recipe-card p { margin-top:1.125rem; font-size:0.875rem; line-height:1.125rem; }
  .recipes-page .contact::after { top:16.875rem; width:10.625rem; height:13.4375rem; }

  .marketplace-intro { height:auto; padding-bottom:5.625rem; overflow:hidden; }
  .marketplace-intro::before { top:4.5rem; width:10.9375rem; height:14.375rem; }
  .marketplace-intro::after { top:auto; bottom:0; width:9.375rem; height:12.625rem; }
  .marketplace-breadcrumb { padding-top:6.5625rem; font-size:0.6875rem; line-height:1.125rem; }
  .marketplace-intro > h1 { width:21.875rem; margin:1.25rem auto 0.875rem; font-size:2.285125rem; line-height:2.285125rem; }
  .marketplace-lead { width:21.875rem; margin:0 auto; font-size:0.875rem; line-height:1.1875rem; }
  .market-grid { width:23rem; margin:2.125rem auto 0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.125rem 0.75rem; }
  .market-image { width:100%; height:auto; aspect-ratio:260/300; }
  .market-product h2 { margin-top:0.75rem; font-size:0.8125rem; line-height:1.0625rem; }
  .market-product p { font-size:0.75rem; line-height:1.125rem; }
  .market-product strong { font-size:1.0625rem; line-height:1.4375rem; }
  .market-product-actions { gap:0.25rem; }
  .market-product-actions a { height:2.25rem; font-size:0.625rem; }

  .buy-intro { height:auto; min-height:0; padding-bottom:5.625rem; overflow:hidden; }
  .buy-breadcrumb { padding-top:6.5625rem; font-size:0.6875rem; line-height:1.125rem; }
  .buy-intro > h1 { width:21.875rem; margin:1.25rem auto 0; font-size:2.285125rem; line-height:2.285125rem; }
  .buy-lead { width:21.875rem; margin:0.875rem auto 0; font-size:0.875rem; line-height:1.1875rem; }
  .buy-tabs { width:21.875rem; height:auto; margin-top:1.5625rem; }
  .buy-tabs button { height:3.125rem; padding-top:1rem; font-size:0.8125rem; }
  .buy-location { width:23rem; height:auto; min-height:22.5rem; margin:2.1875rem auto 0; padding:0.875rem; }
  .buy-location img { width:100%; height:auto; aspect-ratio:520/240; transform:none; }
  .buy-location h2 { font-size:1.4375rem; line-height:1.6875rem; }
  .buy-location p { width:11.875rem; font-size:0.75rem; line-height:1.0625rem; }
  .buy-location .button { right:0.875rem; bottom:1.375rem; width:9.375rem; }
  .buy-partner-grid { width:23rem; margin-top:2.1875rem; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.75rem; }
  .buy-partner-card { min-height:9.75rem; padding:1rem 0.5rem 0.75rem; gap:.5rem; }
  .buy-partner-logo { width:100%; height:4rem; flex-basis:4rem; }
  .buy-partner-meta { min-height:2.25rem; }
  .buy-russia-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .buy-intro:has(#bulletcities3:not([hidden])) { min-height:81.25rem; }

  .cooperation-page { height:auto; min-height:0; padding:6.5625rem 0 5.625rem; overflow:hidden; display:flex; flex-direction:column; }
  .cooperation-breadcrumb,.cooperation-page > h1,.cooperation-lead,.cooperation-chocolate,.cooperation-form,.cooperation-benefits { position:relative; top:auto; left:auto; width:23rem; margin-left:auto; margin-right:auto; }
  .cooperation-breadcrumb { font-size:0.6875rem; line-height:1.125rem; }
  .cooperation-breadcrumb { order:1; }.cooperation-page > h1 { order:2; }.cooperation-lead { order:3; }.cooperation-form { order:4; }.cooperation-chocolate { order:5; }.cooperation-benefits { order:6; }
  .cooperation-page > h1 { margin:1.25rem auto 0.875rem; font-size:2.285125rem; line-height:2.285125rem; }
  .cooperation-lead { margin-bottom:2rem; font-size:0.875rem; line-height:1.1875rem; }
  .cooperation-chocolate { width:11.25rem; height:11rem; margin-top:1.75rem; margin-bottom:1.25rem; }
  .cooperation-form { height:33.125rem; }
  .cooperation-form h2 { padding:0 1.25rem; font-size:1.5rem; line-height:1.625rem; }
  .cooperation-form form { top:9.375rem; left:1.125rem; width:20.75rem; }
  .cooperation-form .form-grid { grid-template-columns:1fr; gap:1.125rem; }
  .cooperation-form .form-submit { margin-top:1.75rem; }
  .cooperation-benefits { margin-top:3.75rem; }
  .cooperation-benefits > h2 { width:100%; height:auto; margin-bottom:2rem; font-size:2.285125rem; line-height:2.285125rem; white-space:normal; }
  .cooperation-benefit-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:0.875rem; }
  .cooperation-benefit-grid article { min-height:13.75rem; padding:1.5rem; }
  .cooperation-benefit-grid ul { width:auto; font-size:0.8125rem; line-height:1.125rem; }

  .delivery-page { min-height:0; padding:18.125rem 0 5rem; }
  .delivery-breadcrumb { top:6.5625rem; font-size:0.6875rem; line-height:1.125rem; }
  .delivery-page > h1 { position:absolute; top:9.0625rem; padding:0 1.25rem; font-size:2.285125rem; line-height:2.285125rem; }
  .delivery-lead { top:13.4375rem; padding:0 1.25rem; font-size:0.875rem; line-height:1.1875rem; }
  .delivery-accordion { width:23rem; }
  .delivery-accordion summary { height:auto; min-height:4.25rem; padding:1.125rem 1.25rem; }
  .delivery-accordion summary span { font-size:1.375rem; line-height:1.75rem; }
  .delivery-answer { padding:0 1.25rem 1.25rem; font-size:0.8125rem; line-height:1.1875rem; }

  .media-page { height:auto; min-height:0; padding:6.5625rem 0 5rem; }
  .media-page::before { top:4.6875rem; width:9.375rem; height:12.625rem; }
  .media-breadcrumb,.media-page > h1,.media-lead,.media-grid { position:relative; top:auto; left:auto; width:23rem; margin-left:auto; margin-right:auto; }
  .media-breadcrumb { font-size:0.6875rem; line-height:1.125rem; }
  .media-page > h1 { margin:1.25rem auto 0.875rem; font-size:2.285125rem; line-height:2.285125rem; }
  .media-lead { font-size:0.875rem; line-height:1.1875rem; }
  .media-grid { margin-top:2.375rem; grid-template-columns:1fr; grid-auto-rows:auto; gap:2.125rem; }
  .media-card,.media-card-image,.media-card h2,.media-card p { width:100%; }
  .media-card { height:auto; }
  .media-card-image { height:auto; aspect-ratio:360/277; }
  .media-card-image img { width:100%; height:100%; }

  .legal-page,.legal-page-oferta { min-height:0; padding:17.8125rem 0 4.375rem; }
  .legal-breadcrumb { top:6.5625rem; font-size:0.6875rem; line-height:1.125rem; }
  .legal-page > h1 { position:absolute; top:9.0625rem; left:0; width:100%; padding:0 1.125rem; font-size:2.285125rem; line-height:2.285125rem; }
  .legal-content { width:23rem; font-size:0.8125rem; line-height:1.25rem; }

  .theobroma-product-view { min-width:0; }
  .product-detail-page { min-height:0; padding:3.125rem 0 5rem; background:#fcf9f7; }
  .product-detail-page::before { content:''; position:absolute; top:0; left:0; width:100%; height:3.125rem; background:#4b4b4b; }
  .product-detail-back { z-index:2; top:0.875rem; left:0.9375rem; font-size:0; }
  .product-detail-back::before { content:'←'; color:#fff; font:400 1.875rem/1.5rem Arial,sans-serif; }
  .product-detail-close { top:0.625rem; right:0.875rem; }
  .product-detail-hero { position:relative; top:auto; left:auto; width:100%; height:auto; display:block; }
  .product-detail-image { width:100%; height:auto; aspect-ratio:390/515; }
  .product-detail-image img { width:100%; height:100%; object-fit:cover; }
  .product-detail-summary { padding:1.75rem 1.25rem 0; }
  .product-detail-summary h1,.product-detail-copy { width:100%; }
  .product-detail-summary h1 { font-size:0.875rem; line-height:1.1875rem; }
  .product-detail-price { margin-top:1.25rem; font-size:1.125rem; line-height:1.5rem; }
  .product-detail-buy { height:auto; margin-top:1.25rem; display:grid; grid-template-columns:1fr 2.8125rem; gap:0.625rem; }
  body.theobroma-product-view .product-detail-buy button.single_add_to_cart_button { width:100% !important; }
  .product-detail-favorite { grid-column:2; grid-row:1; }
  .product-detail-marketplaces { grid-column:1/-1; margin:0; }
  .product-detail-marketplaces a { width:calc(50% - 0.3125rem); }
  .product-detail-copy { margin-top:1.75rem; font-size:1rem; line-height:1.5rem; }
  .product-detail-copy p { margin-bottom:1.5rem; }
  .product-detail-accordions { position:relative; top:auto; left:auto; width:21.875rem; margin:1.75rem auto 0; }
  .product-detail-accordions summary { height:3.8125rem; }
  .product-detail-accordions details div { font-size:0.6875rem; line-height:1.0625rem; }
  .product-related { position:relative; top:auto; left:auto; width:21.875rem; margin:4.375rem auto 0; }
  .product-related-grid { display:flex; gap:2.5rem; overflow-x:auto; scrollbar-width:none; }
  .product-related-grid-desktop { display:none; }
  .product-related-grid-tablet { display:none; }
  .product-related-grid-mobile { display:flex; }
  .product-related-grid::-webkit-scrollbar { display:none; }
  .product-related-grid article { flex:0 0 13.625rem; min-height:31.25rem; }
  .product-related-image,.product-related-image img { width:13.625rem; height:17.0625rem; }
  .product-related-button { top:25.625rem; }

  .recipe-detail-intro,.recipe-detail-long .recipe-detail-intro,.recipe-detail-banana .recipe-detail-intro { height:auto; min-height:0; padding:6.5625rem 0 5rem; }
  .recipe-detail-decor-left { top:4.5rem; width:10.625rem; height:13.125rem; opacity:.7; }
  .recipe-detail-decor-right,.recipe-detail-long .recipe-detail-decor-right,.recipe-detail-banana .recipe-detail-decor-right { top:67.5rem; width:9.375rem; height:11.875rem; }
  .recipe-detail-breadcrumb,.recipe-detail-intro > h1,.recipe-detail-lead,.recipe-detail-columns,.recipe-product-promo,
  .recipe-detail-long .recipe-product-promo,.recipe-detail-banana .recipe-product-promo { position:relative; top:auto; left:auto; width:23rem; margin-left:auto; margin-right:auto; }
  .recipe-detail-breadcrumb { font-size:0.6875rem; line-height:1.125rem; }
  .recipe-detail-intro > h1 { margin:1.25rem auto 0.875rem; font-size:2.285125rem; line-height:2.285125rem; }
  .recipe-detail-lead { margin-bottom:2.125rem; font-size:0.875rem; line-height:1.1875rem; }
  .recipe-detail-columns { display:grid; grid-template-columns:1fr; gap:0.875rem; }
  .recipe-ingredients,.recipe-method { padding:1.5rem; }
  .recipe-ingredients h2,.recipe-method h2 { font-size:1.5rem; line-height:1.75rem; }
  .recipe-ingredients dl div { min-height:2.5rem; font-size:0.75rem; line-height:1.0625rem; }
  .recipe-method,.recipe-detail-long .recipe-method,.recipe-detail-banana .recipe-method { height:auto; min-height:0; padding-bottom:1.5rem; }
  .recipe-method li p { font-size:0.75rem; line-height:1.0625rem; }
  .recipe-method > img { position:static; width:19.046875rem; height:10.81835938rem; margin:1.5rem 0 0.30078125rem; aspect-ratio:auto; object-fit:cover; transform:translate(0.47851563rem,9.03027344rem); }
  .recipe-detail-long .recipe-method > img { transform:translate(0.47851563rem,17.08496094rem); }
  .recipe-detail-banana .recipe-method > img { transform:translate(0.47851563rem,12.22167969rem); }
  .recipe-product-promo,.recipe-detail-long .recipe-product-promo,.recipe-detail-banana .recipe-product-promo { height:auto; margin-top:4.6875rem; }
  .recipe-product-promo { width:22.09375rem; }
  .recipe-product-promo > h2 { height:auto; margin-bottom:2.28613281rem; font-size:2.285125rem; line-height:2.285125rem; white-space:normal; }
  .recipe-product-promo > h2,
  .recipe-detail .contact-card h2 { visibility:hidden; }
  .recipe-product-grid { grid-template-columns:1fr; gap:1.25rem; }
  .recipe-product-grid article { height:22.90136719rem; }
  .recipe-product-grid article:nth-child(2) { transform:none; }
  .recipe-product-grid img { width:22.09375rem; height:16.91308594rem; aspect-ratio:auto; }
  .recipe-product-grid p { width:21.02734375rem; font-size:0.875rem; line-height:1.125rem; }
  .recipe-product-promo > .button { margin-top:2.5rem; }
}

/* Mobile inner-page calibration against the original 390px layout. */
@media (max-width:600px) {
  .mobile-menu nav { top:2.625rem; left:1.5625rem; width:16.875rem; }
  .mobile-menu li + li { margin-top:0.9375rem; }
  .mobile-menu a { width:max-content; max-width:16.875rem; font-size:1.625rem; line-height:1.9375rem; letter-spacing:.1px; }
  .mobile-menu-close { top:0.3125rem; left:17.1875rem; width:2.5rem; height:2.5rem; }
  .mobile-menu-close::before,.mobile-menu-close::after { top:1.1875rem; left:0.4375rem; }
  .site-header { height:8.372093vw; }
  .shipping { min-height:8.372093vw; }
  .shipping img { top:1.5625vw; left:16.5625vw; width:5.625vw; height:5.625vw; }
  .shipping span { top:1.875vw; left:25.316134vw; font-size:3.488372vw; line-height:5.3125vw; zoom:1; }
  .nav { top:8.372093vw; }
  .brand { top:4.6875vw; left:4.6875vw; width:31.253634vw; height:13.019622vw; }
  .brand img { width:31.253634vw; height:13.019622vw; }
  .menu-toggle { top:calc(5.690407vw - 0.4375rem); right:.610465vw; width:13.75vw; height:13.75vw; }
  .floating-actions { top:calc(15.625vw - 0.4375rem); right:15.926599vw; gap:1.5625vw; }
  .floating-actions a { height:10.9375vw; padding:0; position:relative; justify-content:flex-start; gap:0; }
  .floating-actions a:nth-child(1) { width:15vw; }
  .floating-actions a:nth-child(2) { width:15vw; margin-left:0; }
  .floating-actions a:nth-child(3) { width:9.375vw; }
  .floating-actions a:nth-child(1) img,
  .floating-actions a:nth-child(2) img { position:absolute; top:3.125vw; left:1.5625vw; width:5.625vw; height:4.765625vw; }
  .floating-actions a:nth-child(1) span,
  .floating-actions a:nth-child(2) span { position:absolute; top:4.0625vw; left:8.4375vw; display:inline; font-size:3.125vw; line-height:3.125vw; }
  .floating-actions a:nth-child(3) { padding-left:0; }
  .floating-actions a:nth-child(3) img { position:absolute; top:3.4375vw; left:2.5vw; width:4.375vw; height:4.375vw; }
  .floating-actions a:nth-child(3) span { display:none; }

  .hero { min-height:171.907051vw; }
  .hero-chocolate { width:66.666667vw; height:76.923077vw; right:16.410256vw; bottom:.615385vw; }
  .home-decor i:nth-child(1) { top:165.348837vw; width:33.72093vw; height:42.611047vw; }
  .hero-inner { padding-top:28.132267vw; }
  .hero h1 { left:0; width:84.215116vw; font-size:9.302326vw; line-height:9.302326vw; }
  .hero h1 span { width:84.215116vw; height:10.625vw; }
  .hero p { left:0; width:64.697674vw; margin-top:3.488372vw; font-size:4.372093vw; line-height:6.25vw; }
  .hero .button { left:0; width:54.694767vw; min-height:11.25vw; margin-top:6.253634vw; font-size:4.372093vw; }

  .catalog-page::before { top:1.6875rem; width:9.0625rem; height:11.93191406rem; }
  .catalog-breadcrumb { padding-top:7.5625rem; }
  .catalog-title { margin-bottom:2.25rem; transform:translateY(0.18164063rem); }
  .catalog-filters { width:min(20.5rem,100%); height:auto; margin:0 auto 3.36230469rem; position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.76171875rem; transform:translateY(0.21484375rem); }
  .catalog-filters a { width:100%; height:2.7421875rem; padding:0; position:static; border-radius:1.5rem; background:#ece2d4; font-size:0.875rem; line-height:1.3125rem; }
  .catalog-filters a:nth-child(5) { width:8.15136719rem; grid-column:1/-1; justify-self:center; }
  .catalog-page { padding-bottom:3.75rem; }
  .catalog-page .shop-shell { padding-inline:0.625rem; }
  .catalog-page ul.products,
  .catalog-page.catalog-group-chocolate-30g ul.products { grid-template-rows:repeat(3,25.74609375rem); grid-auto-rows:25.74609375rem; gap:3.75rem 0; }
  .catalog-page ul.products li.product,
  .catalog-page.catalog-group-chocolate-30g ul.products li.product { height:100%; padding-inline:0.625rem; }
  .catalog-page ul.products li.product .catalog-product-image { margin-bottom:0.625rem; }
  .catalog-page ul.products li.product .button { left:0.625rem; width:calc(100% - 1.25rem); height:3.63476563rem; }
  .catalog-page ul.products li.product .woocommerce-loop-product__title { font-size:0.875rem; line-height:1.18125rem; text-transform:none; }
  .catalog-page ul.products li.product .catalog-product-description { margin-top:0.5rem; font-size:0.875rem; line-height:1.35546875rem; }
  .catalog-page ul.products li.product .price { margin-top:0; font-size:1.125rem; line-height:1.51875rem; }
  .catalog-page ul.products li.product .woocommerce-Price-currencySymbol { margin-left:0.25rem; }

  .recipes-intro::before { display:none; }
  .recipe-grid { width:22.125rem; margin-top:2.1875rem; grid-template-columns:minmax(0,1fr); gap:0.625rem; }
  .recipe-card { height:20.375rem; padding:1.5rem 1.5625rem; display:flex; flex-direction:column; align-items:center; }
  .recipe-card h2 { order:1; height:auto; min-height:1.6875rem; flex-shrink:0; font-size:1.25rem; line-height:1.6875rem; white-space:normal; }
  .recipe-card h2 br { display:none; }
  .recipe-card:nth-child(3) h2 br { display:inline; }
  .recipe-card p { order:2; width:19rem; margin:1.0625rem 0 0; font-size:0.875rem; line-height:1.125rem; }
  .recipe-card .recipe-image { order:3; width:19rem; margin-top:1.6875rem; aspect-ratio:304/171; }
  .recipes-intro { width:24.375rem; height:91.33496094rem; margin-inline:auto; }

  .cooperation-page { padding-top:7.5625rem; }
  .cooperation-breadcrumb,
  .cooperation-page > h1,
  .cooperation-lead,
  .cooperation-form,
  .cooperation-benefits { width:22.125rem; }
  .cooperation-decor-left { top:3.4375rem; width:7.1875rem; height:9.6875rem; }
  .cooperation-decor-right { display:none; }
  .cooperation-lead { margin-bottom:2.5rem; }
  .cooperation-form { height:29.875rem; }
  .cooperation-form::before { background-position:center; background-size:cover; }
  .cooperation-form h2 { margin-top:1.5rem; }
  .cooperation-form form { top:7.96679688rem; left:1.54101563rem; width:19.046875rem; }
  .cooperation-form .form-grid { row-gap:1.14257813rem; }
  .cooperation-form .form-grid > input,
  .cooperation-form .phone-field { height:3.50390625rem; }
  .cooperation-form .phone-field input { height:3.50390625rem; }
  .cooperation-form .consent { width:19.046875rem; min-height:3.50292969rem; margin-top:1.14257813rem; font:400 0.75rem/0.9rem 'Montserrat',Arial,sans-serif; }
  .cooperation-form .form-submit { margin-top:1.90429688rem; }
  .cooperation-form .button { width:13.33203125rem; min-height:2.7421875rem; height:2.7421875rem; }
  .cooperation-chocolate { margin-top:3.125rem; }
  .cooperation-page { width:24.375rem; height:auto; padding-bottom:3.06933594rem; margin-inline:auto; }

  .delivery-page { padding:calc(94.140625vw - 0.48779297rem) 0 0; }
  .delivery-page .delivery-breadcrumb { top:calc(32.890625vw - 0.62158203rem); left:18.4375vw; width:63.125vw; font-size:0.8125rem; line-height:1.125rem; }
  .delivery-page > h1 { top:calc(42.890625vw - 0.43896484rem); left:12.1875vw; width:75.6375vw; padding:0; transform:none; font-size:2.28515625rem; line-height:2.28515625rem; }
  .delivery-lead { top:calc(64.765625vw - 0.43798828rem); left:11.5625vw; width:77.2vw; padding:0; transform:none; font-size:0.9140625rem; line-height:1.21875rem; }
  .delivery-decor { top:calc(19.453125vw - 0.44091797rem); width:27.1875vw; height:36.602564vw; }
  .delivery-accordion { width:calc(100vw - 2.5rem); }
  .delivery-accordion summary { height:auto; min-height:0; padding:1.25rem; position:relative; display:block; }
  .delivery-accordion summary span { width:max-content; max-width:19.375rem; padding-right:1.875rem; display:block; box-sizing:border-box; font-size:1.375rem; line-height:1.85546875rem; }
  .delivery-accordion summary i { position:absolute; top:50%; right:1rem; margin:0; transform:translateY(-50%); }

  .marketplace-breadcrumb { padding-top:7.5625rem; }
  .marketplace-intro::before { top:2.1875rem; width:8.4375rem; height:11.109375rem; }
  .marketplace-intro::after { display:none; }
  .marketplace-intro > h1 { transform:translateY(0.18164063rem); }
  .marketplace-lead { transform:translateY(1.09375px); }
  .market-grid { width:22.125rem; grid-template-columns:repeat(2,10.6875rem); gap:2.125rem 0.75rem; }
  .market-grid { margin-top:2.4375rem; }
  .market-image { aspect-ratio:171/208; }
  .market-product h2 { font-size:0.875rem; line-height:1.18125rem; }
  .market-product strong { font-size:1.125rem; line-height:1.51875rem; }
  .marketplace-intro { width:24.375rem; height:76.14746094rem; margin-inline:auto; }

  .buy-breadcrumb { padding-top:7.5625rem; }
  .buy-intro > h1 { width:23.92285156rem; transform:translateY(0.18164063rem); }
  .buy-lead { width:18.43652344rem; font-size:0.9140625rem; line-height:1.21875rem; transform:translateY(1.109375px); }
  .buy-tabs { width:22.09375rem; transform:translateY(-0.24023438rem); }
  .buy-tabs button { font-size:0.83789063rem; line-height:1.29492188rem; }
  .buy-tabs button:nth-child(1) { transform:translateX(.03125px); }
  .buy-tabs button:nth-child(2) { transform:translateX(.046875px); }
  .buy-tabs button:nth-child(3) { transform:translateX(-.203125px); }
  .buy-decor-left { top:13.5625rem; width:6.4375rem; height:8.4375rem; }
  .buy-intro { padding-bottom:4.5rem; }
  .buy-location { left:.03125px; width:22.09375rem; height:21.86523438rem; min-height:21.86523438rem; margin-top:1.99121094rem; padding:1.5234375rem; }
  .buy-location img { width:19.046875rem; height:10.66601563rem; aspect-ratio:auto; }
  .buy-location h2 { width:max-content; margin-top:0.76171875rem; font-size:1.5234375rem; line-height:1.75195313rem; }
  .buy-location p { width:10.88476563rem; margin-top:0.53417969rem; font-size:0.875rem; line-height:1.125rem; }
  .buy-location .button { right:auto; left:1.5234375rem; bottom:1.5234375rem; width:13.33203125rem; min-height:2.7421875rem; height:2.7421875rem; }
  .buy-intro { width:24.375rem; height:50.83496094rem; margin-inline:auto; }
  .buy-intro:has(#bulletcities3:not([hidden])) { height:90.625rem; }

  .media-page { padding-top:7.5625rem; }
  .media-page::before { top:4.3125rem; width:6.6875rem; height:9.01358694rem; }
  .media-breadcrumb,.media-page > h1,.media-grid { width:21.875rem; }
  .media-page > h1 { transform:translateY(0.18164063rem); }
  .media-lead { width:19.73242188rem; font-size:0.9140625rem; line-height:1.21899414rem; transform:translateY(1.09375px); }
  .media-card-image { aspect-ratio:350/270; }
  .media-card h2 { margin-top:1.20117188rem; }
  .media-grid { margin-top:2.33984375rem; gap:3.75rem; }
  .media-page { padding-bottom:0; margin-bottom:-1.75px; }

  .catalog-breadcrumb,
  .recipes-breadcrumb,
  .marketplace-breadcrumb,
  .buy-breadcrumb,
  .cooperation-breadcrumb,
  .delivery-breadcrumb,
  .media-breadcrumb,
  .legal-breadcrumb,
  .recipe-detail-breadcrumb { font-size:0.8125rem; line-height:1.125rem; transform:translateY(0.18164063rem); }
  .catalog-breadcrumb span,
  .recipes-breadcrumb span,
  .marketplace-breadcrumb span,
  .media-breadcrumb span,
  .legal-breadcrumb span { margin-inline:0.3046875rem; }
  .buy-breadcrumb span,
  .cooperation-breadcrumb span,
  .delivery-breadcrumb span,
  .recipe-detail-breadcrumb span { margin-inline:0.45703125rem; }

  .legal-page { padding:calc(66.6015625vw - 0.27416992rem) 0 0.375rem; }
  .legal-page-oferta { padding-top:calc(56.6015625vw + 0.60083008rem); }
  .legal-page::before { top:3.375rem; width:7.1875rem; height:9.6875rem; }
  .legal-breadcrumb { top:7.5625rem; }
  .legal-page > h1 { top:10.0625rem; left:1.25rem; width:21.875rem; padding:0; font-size:1.6875rem; line-height:1.875rem; }
  .legal-content { width:calc(100vw - 2.5rem); font-size:0.875rem; line-height:1.26875rem; }

  .product-detail-image { aspect-ratio:390/519; }
  .product-detail-close { display:none; }
  .product-detail-summary { position:static; }
  .product-detail-buy { display:block; }
  .product-detail-buy form.cart { width:100%; }
  .product-detail-favorite { position:absolute; z-index:3; top:2.125rem; right:1.25rem; width:3.125rem; height:3.125rem; }
  .product-detail-buy { margin-top:1.4375rem; }
  .product-detail-marketplaces { display:grid; grid-template-columns:repeat(2,1fr); gap:0.25rem; margin-top:0.625rem; }
  .product-detail-marketplaces a { width:100%; }

  .recipe-detail-intro { width:24.375rem; height:174.0625rem; margin-inline:auto; }
  .recipe-detail-long .recipe-detail-intro { height:209rem; }
  .recipe-detail-banana .recipe-detail-intro { height:201.5625rem; }
  .recipe-product-promo { margin-top:13.27050781rem; }
  .recipe-detail-long .recipe-product-promo { margin-top:21.36816406rem; }
  .recipe-detail-banana .recipe-product-promo { margin-top:16.45800781rem; }
}

@media (min-width:391px) and (max-width:600px) {
  .recipe-detail-intro {
    margin-left:0;
    margin-right:0;
    margin-bottom:calc(714.102564vw - 174.0625rem);
    transform:scale(calc(100vw / 24.375rem));
    transform-origin:top left;
  }
  .recipe-detail-long .recipe-detail-intro { margin-bottom:calc(857.435897vw - 209rem); }
  .recipe-detail-banana .recipe-detail-intro { margin-bottom:calc(826.923077vw - 201.5625rem); }

  .media-page {
    padding-top:calc(38.75vw - 1.8828125rem);
    padding-bottom:calc(11.875vw - 2.89453125rem);
  }
  .media-page > h1 { width:calc(100vw - 2.5rem); font-size:2.285125rem; line-height:2.285125rem; }
  .media-lead { width:80.953526vw; font-size:0.9140625rem; line-height:1.21875rem; }
  .media-grid { width:calc(100vw - 2.5rem); margin-top:calc(11.875vw - 0.5546875rem); }
  .media-card-image { aspect-ratio:350/269.21875; }

  .recipes-intro {
    margin-left:0;
    margin-right:0;
    margin-bottom:calc(374.707532vw - 91.33496094rem);
    transform:scale(calc(100vw / 24.375rem));
    transform-origin:top left;
  }

  .catalog-page { padding-bottom:3.75rem; }
  .catalog-filters { margin-bottom:6.15234375rem; }
  .catalog-page ul.products li.product .button { height:2.49804688rem; }

  .marketplace-intro {
    margin-left:0;
    margin-right:0;
    margin-bottom:calc(312.39984vw - 76.14746094rem);
    transform:scale(calc(100vw / 24.375rem));
    transform-origin:top left;
  }

  .buy-intro {
    margin-left:0;
    margin-right:0;
    margin-bottom:calc(208.553686vw - 50.83496094rem);
    transform:scale(calc(100vw / 24.375rem));
    transform-origin:top left;
  }

  .cooperation-page {
    margin-left:0;
    margin-right:0;
    margin-bottom:calc(608.810096vw - 148.39746094rem);
    transform:scale(calc(100vw / 24.375rem));
    transform-origin:top left;
  }
}

/* Tablet inner-page calibration against the original 768px composition. */
@media (min-width:601px) and (max-width:1199px) {
  .catalog-breadcrumb,
  .recipes-breadcrumb,
  .marketplace-breadcrumb,
  .buy-breadcrumb,
  .cooperation-breadcrumb,
  .delivery-breadcrumb,
  .media-breadcrumb,
  .legal-breadcrumb,
  .recipe-detail-breadcrumb { font-size:0.8125rem; line-height:1.125rem; }

  .floating-actions,.nav-sticky .floating-actions {
    right:calc((100vw - min(37.5rem,calc(100vw - 5rem)))/2 + 4.0625rem);
    gap:1rem;
  }
  .floating-actions a { width:5.4375rem; height:3.125rem; font-size:0.875rem; }
  .floating-actions a:nth-child(1),
  .floating-actions a:nth-child(2) { padding-left:0.9375rem; justify-content:flex-start; gap:0.8125rem; }
  .floating-actions a:nth-child(1) img,
  .floating-actions a:nth-child(2) img { width:1.625rem; height:1.375rem; }
  .floating-actions a:nth-child(3) { padding-left:0.9375rem; justify-content:flex-start; gap:0.75rem; }
  .floating-actions a:nth-child(3) img { width:1.25rem; height:1.25rem; }
  .floating-actions a:nth-child(3) span { top:0; }
  .floating-actions a:nth-child(1) { order:2; }
  .floating-actions a:nth-child(2) { order:3; }
  .floating-actions a:nth-child(3) { order:1; }
  .nav-sticky .floating-actions {
    right:calc((100vw - min(37.5rem,calc(100vw - 5rem)))/2 + 3.9375rem);
    gap:0.625rem;
  }
  .nav-sticky .floating-actions a:nth-child(1) { order:3; }
  .nav-sticky .floating-actions a:nth-child(2) { order:2; }
  .nav-sticky .floating-actions a:nth-child(3) { order:1; }

  #catalog { height:85.43164063rem; }
  #catalog .section-heading { height:13rem; }
  #catalog .section-heading h2 {
    top:5rem;
    width:24.125rem;
    font-size:2.75rem;
    line-height:2.75rem;
  }
  #catalog .products {
    height:64.80664063rem;
    grid-template-rows:repeat(2,28.18457031rem);
    gap:3.75rem 2.5rem;
    align-content:start;
  }
  #catalog .product { height:28.18457031rem; }
  #catalog .product-image { height:21.875rem; }
  #catalog > p { height:7.625rem; }
  .feature,.about-stage { height:47.25rem; }
  .story { top:2.5rem; height:12.625rem; padding:0; }
  .story h2 { position:absolute; top:1.875rem; left:5.4375rem; width:26.625rem; line-height:1.8125rem; }
  .story p {
    position:absolute;
    top:6.75rem;
    left:2.25rem;
    width:33rem;
    margin:0;
    font-size:0.875rem;
    line-height:1.125rem;
  }
  .about-award { top:17.625rem; left:3.625rem; width:10.875rem; height:10.6875rem; }
  .values { top:16.375rem; grid-template-columns:repeat(2,18.125rem); gap:1.25rem; }
  .value:nth-child(2),.value:nth-child(3) { height:14rem; }
  .reviews,.reviews-stage { height:47.3125rem; }
  .reviews .section-heading { height:8.9375rem; }
  .reviews .section-heading h2 {
    top:2.5rem;
    left:4.625rem;
    width:28.3125rem;
    font-size:2.75rem;
    line-height:2.75rem;
  }
  .home-decor i:nth-child(1) { top:38.625rem; width:11.375rem; height:14.34863281rem; }
  .home-decor i:nth-child(2) { top:114.36914063rem; width:10rem; height:13.4375rem; }
  .home-decor i:nth-child(3) { top:167.11914063rem; width:9.3125rem; height:18.1015625rem; }
  .home-decor i:nth-child(4) { top:206.93164063rem; width:8.5rem; height:16.84277344rem; }

  .catalog-breadcrumb { padding-top:9.25rem; transform:translateY(0.25rem); }
  .catalog-title { margin-bottom:2.5rem; font-size:2.75rem; line-height:2.75rem; transform:translateY(0.375rem); }
  .catalog-page::before { top:4.25rem; width:10.75rem; height:14.15416669rem; }
  .catalog-filters { width:48rem; max-width:none; height:8.75rem; margin:0 0 0.9375rem; position:relative; left:50%; transform:translate(-50%,0.375rem); display:block; }
  .catalog-filters a { min-width:0; height:2.625rem; padding:0; position:absolute; font-size:0.875rem; line-height:1.3125rem; }
  .catalog-filters a:nth-child(1) { top:0; left:8.0625rem; width:10.125rem; }
  .catalog-filters a:nth-child(2) { top:0; left:19.1875rem; width:9.9375rem; }
  .catalog-filters a:nth-child(3) { top:0; left:30.125rem; width:9.75rem; }
  .catalog-filters a:nth-child(4) { top:3.625rem; left:13.4375rem; width:10.5625rem; }
  .catalog-filters a:nth-child(5) { top:3.625rem; left:25rem; width:9.625rem; }
  .catalog-page ul.products { grid-auto-rows:33.0625rem; }
  .catalog-page ul.products { transform:translateY(0.375rem); }
  .catalog-page ul.products li.product,
  .catalog-page.catalog-group-chocolate-30g ul.products li.product { height:33.0625rem; }
  .catalog-page ul.products li.product .woocommerce-loop-product__title { font-size:0.875rem; line-height:1.18125rem; text-transform:none; }
  .catalog-page ul.products li.product .catalog-product-description { font-size:0.875rem; line-height:1.35625rem; }
  .catalog-page ul.products li.product .price { font-size:1.125rem; line-height:1.51875rem; }
  .catalog-page ul.products li.product .woocommerce-Price-currencySymbol { margin-left:0.25rem; }
  .catalog-page ul.products li.product .button { top:29.48632813rem; bottom:auto; width:10.3125rem; height:2.1875rem; }
  .catalog-page { padding-bottom:6.40332031rem; }

  .recipes-breadcrumb { padding-top:9.25rem; transform:translateY(0.25rem); }
  .recipes-intro > h1 { width:32rem; margin-inline:auto; font-size:2.75rem; line-height:2.75rem; transform:translateY(0.375rem); }
  .recipes-lead { width:26.6875rem; margin-inline:auto; transform:translateY(1px); }
  .recipes-intro { padding-bottom:4.75rem; }
  .recipes-intro::before { top:15.5625rem; width:9.375rem; height:12.625rem; }
  .recipe-grid { grid-template-columns:1fr; gap:1.25rem; transform:translateY(-1px); }
  .recipe-card { width:37.5rem; height:11.875rem; padding:0; position:relative; display:block; }
  .recipe-card h2 { position:absolute; top:1.875rem; left:1.875rem; width:17.3125rem; height:auto; text-align:left; font-size:1.5rem; line-height:1.875rem; }
  .recipe-card p { position:absolute; top:6.5625rem; left:1.875rem; width:17.3125rem; margin:0; text-align:left; font-size:0.875rem; line-height:1.125rem; }
  .recipe-card .recipe-image { position:absolute; top:1.875rem; right:1.875rem; width:14.5rem; height:8.125rem; aspect-ratio:auto; }

  .cooperation-page { padding-top:9.25rem; padding-bottom:0; }
  .cooperation-breadcrumb { transform:translateY(0.1875rem); }
  .cooperation-page > h1 { font-size:2.75rem; line-height:2.75rem; transform:translateY(2px); }
  .cooperation-lead { width:25rem; font-size:1rem; line-height:1.3125rem; }
  .cooperation-lead { margin-bottom:2.3125rem; transform:translateY(-0.1875rem); }
  .cooperation-form { height:24.8125rem; }
  .cooperation-form::before { background-position:0 50%; background-size:100% auto; }
  .cooperation-form h2 { margin-top:1.875rem; }
  .cooperation-form form { top:7.25rem; left:1.875rem; width:33.75rem; }
  .cooperation-form .form-grid { grid-template-columns:repeat(2,16.40625rem); }
  .cooperation-chocolate { margin-top:1.75rem; }
  .cooperation-decor-left { top:4.125rem; width:8.75rem; height:11.78333331rem; }
  .cooperation-decor-right { top:60rem; width:9.375rem; height:12.625rem; }
  .cooperation-form .consent { transform:translateY(0.625rem); }
  .cooperation-form .button { transform:translateY(-0.1875rem); }
  .cooperation-chocolate {
    width:15.8125rem;
    height:15rem;
    margin-top:2.5rem;
    margin-bottom:0;
  }
  .cooperation-benefits {
    height:64.375rem;
    margin-top:2.375rem;
    padding-top:2.5rem;
  }
  .cooperation-benefits > h2 {
    height:5.5rem;
    margin-bottom:2.125rem;
  }
  .cooperation-benefit-grid {
    height:53.75rem;
    grid-template-columns:37.5rem;
    grid-template-rows:14rem 12.375rem 12.375rem 11.25rem;
    gap:1.25rem;
  }
  .cooperation-benefit-grid article { min-height:0; }
  .cooperation-benefit-grid article:nth-child(even) h3,
  .cooperation-benefit-grid article:nth-child(even) ul { transform:none; }

  .delivery-page { padding:22.125rem 0 0; }
  .delivery-breadcrumb { top:9.3125rem; }
  .delivery-page > h1 { top:12rem; font-size:2.75rem; line-height:2.75rem; }
  .delivery-lead { left:50%; width:26.6875rem; transform:translateX(-50%); font-size:1rem; line-height:1.3125rem; }
  .delivery-accordion details summary { height:auto; min-height:4.6875rem; }
  .delivery-decor { top:10.6875rem; width:8.75rem; height:11.08333331rem; }

  .marketplace-breadcrumb { padding-top:9.25rem; transform:translateY(0.25rem); }
  .marketplace-lead-break { display:none; }
  .marketplace-intro > h1 { font-size:2.75rem; line-height:2.75rem; transform:translateY(0.375rem); }
  .marketplace-lead { width:31.25rem; transform:translateY(2px); }
  .marketplace-intro { padding-bottom:5rem; }
  .marketplace-intro::before { top:3rem; width:10.9375rem; height:14.625rem; }
  .marketplace-intro::after { display:none; }
  .market-grid { grid-template-columns:repeat(2,18.125rem); gap:2.375rem 1.25rem; transform:translateY(0.1875rem); }
  .market-image { height:19.375rem; aspect-ratio:auto; margin-bottom:-0.25rem; transform:translateY(-0.25rem); }
  .market-product:nth-child(n+3) { transform:translateY(1.09375px); }

  .buy-breadcrumb { padding-top:9.25rem; }
  .buy-intro > h1 { width:30.4375rem; margin-inline:auto; font-size:2.75rem; line-height:2.75rem; transform:translateY(0.25rem); }
  .buy-lead { width:28.12890625rem; margin:0.8125rem auto 0; transform:translateY(0.375rem); font-size:1rem; line-height:1.3125rem; }
  .buy-location { height:24.25rem; min-height:24.25rem; margin-top:2.5625rem; }
  .buy-location img { aspect-ratio:2/1; object-position:50% 88.462%; }
  .buy-location .button { right:1.25rem; bottom:1.625rem; width:10.3125rem; }
  .buy-intro { padding-bottom:5rem; }
  .buy-decor-left { top:14.6875rem; width:9.375rem; height:12.625rem; }
  .buy-decor-right { top:48.8125rem; width:9.375rem; height:12.34375rem; }

  .contact,.contact .section { height:25.875rem; }
  .contact .section { padding-top:7.6875rem; }
  .contact-card h2 {
    top:-5.1875rem;
    left:2.5625rem;
    width:32.4375rem;
    font-size:2.75rem;
    line-height:2.75rem;
  }
  .recipes-page .contact,.recipes-page .contact .section { height:26.1875rem; }

  .media-page { padding-top:9.25rem; padding-bottom:0; }
  .media-breadcrumb { transform:translateY(0.25rem); }
  .media-page > h1 { width:32rem; font-size:2.75rem; line-height:2.75rem; transform:translateY(0.25rem); }
  .media-lead { width:26.6875rem; }
  .media-page::before { top:10.6875rem; width:8.75rem; height:11.78333331rem; }
  .media-grid { margin-top:2.75rem; grid-template-columns:1fr; gap:3.75rem; }
  .media-card { height:34.6875rem; }
  .media-card:nth-child(n+3) { height:35.875rem; }
  .media-card-image { height:28.84472656rem; aspect-ratio:auto; }
  .media-card h2 { min-height:0; margin-top:1.15625rem; }
  .media-card p { min-height:0; }

  .recipe-detail-intro,
  .recipe-detail-long .recipe-detail-intro,
  .recipe-detail-banana .recipe-detail-intro { padding-bottom:5rem; }
  .recipe-detail-breadcrumb { transform:translateY(1.1875rem); }
  .recipe-detail-intro > h1 { margin:1.25rem auto 1.875rem; font-size:2.75rem; line-height:2.75rem; transform:translateY(0.9375rem); }
  .recipe-detail-lead { margin-bottom:2.5rem; font-size:1rem; line-height:1.3125rem; }
  .recipe-detail-columns { grid-template-columns:1fr; gap:1.25rem; }
  .recipe-ingredients { height:17.125rem; }
  .recipe-detail-long .recipe-ingredients { height:23.25rem; }
  .recipe-detail-banana .recipe-ingredients { height:20.1875rem; }
  .recipe-method,
  .recipe-detail-long .recipe-method,
  .recipe-detail-banana .recipe-method { min-height:0; padding-bottom:1.875rem; }
  .recipe-method { height:42.875rem; }
  .recipe-detail-long .recipe-method { height:66.5625rem; }
  .recipe-detail-banana .recipe-method { height:61.3125rem; }
  .recipe-method > img { width:33.75rem; height:19.125rem; aspect-ratio:auto; }
  .recipe-product-promo,
  .recipe-detail-long .recipe-product-promo,
  .recipe-detail-banana .recipe-product-promo { margin-top:5rem; }
  .recipe-product-promo > h2 { margin-bottom:2.5rem; font-size:2.75rem; line-height:2.75rem; }
  .recipe-product-grid { grid-template-columns:repeat(2,18.125rem); gap:2.625rem 1.25rem; }
  .recipe-product-grid img { width:18.125rem; height:16.75rem; aspect-ratio:auto; }
  .recipe-product-grid p { width:16.875rem; }
  .recipe-product-promo > .button { margin-top:2.625rem; }
  .recipe-detail .contact,
  .recipe-detail .contact .section { height:26.1875rem; }
  .recipe-detail .contact .section { padding-top:8.75rem; }

  .site-footer { height:49.9375rem; padding:0; }
  .footer-shell { width:calc(100% - 5rem); max-width:72.5rem; height:49.9375rem; margin:0 auto; padding:0; position:relative; top:0; left:0; display:block; }
  .footer-shell > * { position:absolute; top:auto !important; left:auto !important; width:auto; }
  .footer-logo { top:4.875rem !important; left:0 !important; width:calc((100% - 1.25rem)/2); height:4.5rem; }
  .footer-logo img { width:10rem; height:auto; margin:0; }
  .footer-media { top:5.75rem !important; left:calc(50% + 0.625rem) !important; width:calc((100% - 1.25rem)/2); height:6.125rem; }
  .footer-map { top:11.5625rem !important; left:0 !important; width:calc((100% - 1.25rem)/2); height:9.375rem; }
  .footer-phones { top:13.75rem !important; left:calc(50% + 0.625rem) !important; width:calc((100% - 1.25rem)/2); height:7.3125rem; }
  .footer-mail:nth-of-type(6) { top:23.3125rem !important; left:0 !important; width:calc((100% - 1.25rem)/2); height:7.3125rem; }
  .footer-mail:nth-of-type(7) { top:23.3125rem !important; left:calc(50% + 0.625rem) !important; width:calc((100% - 1.25rem)/2); height:7.3125rem; }
  .footer-mail:nth-of-type(8) { top:31.875rem !important; left:0 !important; width:calc((100% - 1.25rem)/2); height:7.3125rem; }
  .footer-address { top:31.8125rem !important; left:calc(50% + 0.625rem) !important; width:calc((100% - 1.25rem)/2); height:7.3125rem; padding:0.5rem 1.125rem; font:400 1.375rem/1.625rem 'Cormorant',Arial,sans-serif; }
  .footer-mail::before,
  .footer-mail:nth-of-type(7)::before,
  .footer-mail:nth-of-type(8)::before { top:auto; right:0.75rem; bottom:0.6875rem; left:auto; width:1rem; height:1rem; }
  .footer-mail strong { top:1.25rem; font:500 1.5rem/1.8125rem 'Cormorant',Arial,sans-serif; text-align:left; }
  .footer-mail:nth-of-type(6) strong { left:1.3125rem; width:14.125rem; }
  .footer-mail:nth-of-type(7) strong { left:1.9375rem; width:13.75rem; }
  .footer-mail:nth-of-type(8) strong { top:1.25rem; left:1.25rem; width:14.6875rem; }
  .footer-mail small { top:3.8125rem; margin:0; font:400 0.875rem/1.125rem 'Montserrat',Arial,sans-serif; text-align:left; }
  .footer-mail:nth-of-type(6) small { left:1.25rem; width:14.3125rem; text-align:left; }
  .footer-mail:nth-of-type(7) small { top:3.8125rem; left:1.875rem; width:11.25rem; text-align:left; }
  .footer-mail:nth-of-type(8) small { top:3.8125rem; left:1.25rem; width:13rem; text-align:left; }
  .copyright { position:absolute; top:0; left:2.5rem; width:calc(100% - 5rem); max-width:72.5rem; height:49.9375rem; margin:0; display:block; font:400 0.625rem/1rem 'Montserrat',Arial,sans-serif; }
  .copyright span { position:absolute; width:calc((100% - 1.25rem)/2); }
  .copyright span:nth-child(1) { top:40.125rem; left:calc(50% + 0.625rem); }
  .copyright span:nth-child(2) { top:40.4375rem; left:0; }
  .copyright span:nth-child(3) { top:44.0625rem; left:calc(50% + 0.625rem); }

  .legal-page { padding:20.5rem 0 0.375rem; }
  .legal-page-oferta { padding-top:17.75rem; }
  .legal-page::before { top:10.1875rem; width:9.375rem; height:12.625rem; }
  .legal-breadcrumb { top:9.3125rem; }
  .legal-page > h1 { top:11.8125rem; font-size:2.75rem; line-height:2.75rem; }
  .legal-content { font-size:1rem; line-height:1.55rem; }

  .product-detail-page { padding:7.5rem 0 5.625rem; }
  .product-detail-hero { width:37.5rem; display:block; }
  .product-detail-image { width:37.5rem; aspect-ratio:560/745; }
  .product-detail-summary { padding:1.5625rem 0.625rem 0; }
  .product-detail-summary h1,.product-detail-copy { width:36.25rem; }
  .product-detail-buy { width:36.25rem; gap:0.25rem; }
  body.theobroma-product-view .product-detail-buy button.single_add_to_cart_button { width:12.25rem !important; }
  .product-detail-copy { font-size:1rem; line-height:1.55rem; }
  .product-detail-accordions { width:37.5rem; margin-top:4.0625rem; }
  .product-related { width:37.5rem; }
}

/* Preserve the 390px composition without clipping narrower phones. */
@media (max-width:389px) {
  .footer-shell { width:100vw; }
  .footer-media { right:1.25rem; left:auto; }
  .site-footer .footer-media-button { width:11.3515625rem; height:2.4375rem; margin-top:0.6875rem; }
  .footer-map,
  .footer-phones,
  .footer-address,
  .footer-mail:nth-of-type(6),
  .footer-mail:nth-of-type(7),
  .footer-mail:nth-of-type(8) { width:calc(100vw - 2.5rem); }
  .copyright { width:calc(100vw - 2.5rem); }
  .legal-page > h1 { left:50%; width:calc(100% - 2.5rem); transform:translateX(-50%); overflow-wrap:anywhere; }
  .recipes-intro { width:100%; }
  .recipes-intro > h1 { width:calc(100% - 2.5rem); }
  .recipe-grid { width:calc(100% - 2.5rem); }
  .recipe-card p,
  .recipe-card .recipe-image { width:100%; }
  .recipe-detail-intro,
  .recipe-detail-long .recipe-detail-intro,
  .recipe-detail-banana .recipe-detail-intro { width:100%; }
  .recipe-detail-breadcrumb,
  .recipe-detail-intro > h1,
  .recipe-detail-lead,
  .recipe-detail-columns,
  .recipe-product-promo { width:calc(100% - 2.5rem); }
  .recipe-product-grid,
  .recipe-product-grid img,
  .recipe-product-grid p { width:100%; }
  .delivery-accordion summary span { width:100%; max-width:calc(100% - 2.5rem); }
  .contact-card { left:0; width:calc(100% - 2.5rem); margin-inline:auto; transform:none; }
}

@media (max-width:600px) {
  .recipes-intro,.marketplace-intro,.buy-intro,.cooperation-page,.recipe-detail-intro {
    width:100vw;
    max-width:100vw;
    margin-left:0;
    margin-right:0;
    margin-bottom:0;
    transform:none;
  }
  .recipe-detail-intro { height:auto; min-height:0; }
  .recipe-grid,.market-grid,.recipe-detail-columns,.recipe-product-promo {
    width:var(--layout-container);
    max-width:var(--layout-container);
    margin-left:auto;
    margin-right:auto;
  }
  .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.125rem .75rem; }
}

/* Mobile layout refinements shared by the complete 0-600px range. */
@media (max-width:600px) {
  .value:nth-child(1) img,
  .value:nth-child(2) img,
  .value:nth-child(3) img { top:auto; bottom:1rem; }

  .contact-card { padding-inline:1.5rem; box-sizing:border-box; }

  .footer-mail:nth-of-type(6),
  .footer-mail:nth-of-type(7),
  .footer-mail:nth-of-type(8) { height:6.625rem; }
  .footer-phones { text-align:left; }
  .footer-phones a { left:1.25rem; width:calc(100% - 2.5rem); font:400 1.5rem/1.875rem 'Cormorant',Arial,sans-serif; text-align:left; }
  .footer-phones a:first-child { top:1.125rem; }
  .footer-phones a:last-child { top:3.5rem; }
  .footer-address { padding-inline:1.25rem; text-align:left; }
  .copyright { font-size:0.625rem; line-height:0.9375rem; }
  .footer-mail:nth-of-type(7) { top:46.7305rem !important; }
  .footer-mail:nth-of-type(8) { top:54.6055rem !important; }
  .footer-mail::before,
  .footer-mail:nth-of-type(7)::before,
  .footer-mail:nth-of-type(8)::before { top:auto; right:0.75rem; bottom:0.6875rem; left:auto; width:1rem; height:1rem; }
  .footer-mail:nth-of-type(6) strong,
  .footer-mail:nth-of-type(7) strong,
  .footer-mail:nth-of-type(8) strong { top:1.125rem; left:1.25rem; width:calc(100% - 2.5rem); text-align:left; }
  .footer-mail:nth-of-type(6) small,
  .footer-mail:nth-of-type(7) small,
  .footer-mail:nth-of-type(8) small { top:3.5rem; left:1.25rem; width:calc(100% - 3rem); text-align:left; }

  .cooperation-benefit-grid h3 { padding-right:3.625rem; }
  .buy-decor-right { display:none; }
}

@media (max-width:1199px) {
  .footer-phones {
    padding-inline:1.25rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:.5rem;
    text-align:left;
  }
  .footer-phones a {
    position:static;
    width:auto;
    text-align:left;
  }
  .footer-address {
    padding-left:1.25rem;
    text-align:left;
  }
}

/* WooCommerce overlays: standalone product/cart URLs remain as no-JS fallbacks. */
html.commerce-modal-open,body.commerce-modal-open { overflow:hidden !important; }
.commerce-modal[hidden] { display:none; }
.commerce-modal { position:fixed; z-index:10000001; inset:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; background:rgba(0,0,0,.55); opacity:0; transition:opacity .2s ease; }
.commerce-modal.is-open { opacity:1; }
.commerce-modal[data-commerce-type="cart"] { background:rgba(0,0,0,.8); }
.commerce-modal[data-commerce-type="wishlist"] { background:rgba(0,0,0,.8); }
.commerce-modal[data-commerce-type="cart"] .commerce-modal-panel { min-height:0; background:transparent; }
.commerce-modal[data-commerce-type="wishlist"] .commerce-modal-panel { min-height:0; background:transparent; }
.commerce-modal[data-commerce-type="cart"] .commerce-modal-close::before,
.commerce-modal[data-commerce-type="cart"] .commerce-modal-close::after,
.commerce-modal[data-commerce-type="wishlist"] .commerce-modal-close::before,
.commerce-modal[data-commerce-type="wishlist"] .commerce-modal-close::after { background:#fff; }
.commerce-modal-backdrop { position:fixed; inset:0; }
.commerce-modal-panel { width:min(77.5rem,calc(100vw - 2.5rem)); min-height:100%; margin:0 auto; position:relative; background:#fcf9f7; outline:0; }
.commerce-modal-back { display:none; position:fixed; z-index:6; top:1.25rem; left:1.25rem; padding:0; border:0; color:#fff; background:transparent; font:500 0.75rem/1.125rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; cursor:pointer; }
.commerce-modal-close { position:fixed; z-index:5; top:0.625rem; right:0.625rem; width:2.6875rem; height:2.6875rem; padding:0; border:0; background:transparent; cursor:pointer; }
.commerce-modal-close::before,.commerce-modal-close::after { content:""; position:absolute; top:1.3125rem; left:0.625rem; width:1.4375rem; height:1px; background:#8e8985; transform:rotate(45deg); }
.commerce-modal-close::after { transform:rotate(-45deg); }
.commerce-modal-status { padding-top:45vh; text-align:center; color:#8e8985; font:400 0.875rem/1.3125rem 'Montserrat',Arial,sans-serif; }
.commerce-modal-content { position:relative; }
/* WooCommerce still blocks duplicate actions, without flashing a white overlay. */
.commerce-modal-cart .blockUI.blockOverlay { background:transparent !important; opacity:0 !important; }
[data-commerce-cart-open][aria-busy="true"] { cursor:progress; }
.product-image-lightbox[hidden] { display:none; }
.product-image-lightbox { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:3rem; background:rgba(34,31,29,.9); }
.product-image-lightbox-backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:zoom-out; }
.product-image-lightbox figure { max-width:100%; max-height:100%; margin:0; position:relative; z-index:1; pointer-events:none; }
.product-image-lightbox img { display:block; width:min(92vw,43.75rem); max-height:calc(100vh - 6rem); height:auto; object-fit:contain; }
.product-image-lightbox-close { width:2.625rem; height:2.625rem; padding:0; position:fixed; z-index:2; top:1.25rem; right:1.25rem; border:0; border-radius:50%; background:rgba(252,249,247,.94); cursor:pointer; }
.product-image-lightbox-close::before,.product-image-lightbox-close::after { content:""; width:1.375rem; height:1px; position:absolute; top:1.25rem; left:0.625rem; background:#343434; transform:rotate(45deg); }
.product-image-lightbox-close::after { transform:rotate(-45deg); }
.commerce-modal[data-commerce-type="product"] .commerce-modal-panel { min-height:103.1875rem; margin:4.0625rem auto; }
.commerce-modal[data-commerce-type="product"] { background:rgba(74,74,74,.8); }
.commerce-modal[data-commerce-type="product"] .commerce-modal-back { display:block; }
.commerce-modal[data-commerce-type="product"] .commerce-modal-close::before,
.commerce-modal[data-commerce-type="product"] .commerce-modal-close::after { background:#fff; }
.commerce-modal-product .product-detail-page { width:77.5rem; min-height:103.1875rem; }
.commerce-modal-product .product-detail-hero { top:3.4375rem; left:2.5rem; }
.commerce-modal-product .product-detail-accordions { position:relative; top:auto; left:auto; margin:53.75rem 0 0 2.5rem; }
.commerce-modal-product .product-detail-accordions summary { height:3.75rem; font:500 0.875rem/1.18125rem 'Cormorant',Arial,sans-serif; }
.commerce-modal-product .product-detail-accordions details div { font:400 0.75rem/1.1625rem 'Cormorant',Arial,sans-serif; }
.commerce-modal-product .product-detail-accordions details p { margin-bottom:1.1625rem; }
@media (min-width:1200px) {
  .commerce-modal-product .product-detail-page { padding-bottom:3.4375rem; }
  .commerce-modal-product .product-detail-hero { position:relative; top:auto; left:auto; height:auto; margin:3.4375rem 0 0 2.5rem; }
  .commerce-modal-product .product-detail-accordions { margin:3.75rem 0 0 2.5rem; }
  .commerce-modal-product .product-detail-accordions details[open] > div { padding:2px 0 1.375rem; }
  .commerce-modal-product .product-related { min-height:39.734375rem; }
}
.commerce-modal-product .product-related { position:relative; top:auto; left:auto; width:77.5rem; margin:0; padding:4.375rem 0 0 2.5rem; }
.commerce-modal-product .product-related > h2 { height:1.125rem; margin-bottom:2.5rem; font-size:0.875rem; line-height:1.125rem; }
.commerce-modal-product .product-related-grid { grid-template-columns:repeat(4,16.875rem); gap:2.5rem; }
.commerce-modal-product .product-related-grid-tablet,
.commerce-modal-product .product-related-grid-mobile { display:none; }
.commerce-modal-product .product-related-grid article { min-height:31.734375rem; padding-bottom:0.5rem; display:flex; flex-direction:column; }
.commerce-modal-product .product-related-image,
.commerce-modal-product .product-related-image img { width:16.875rem; height:21.09375rem; }
.commerce-modal-product .product-related-button { position:static; margin-top:auto; }
.commerce-modal-product .product-detail-buy button.single_add_to_cart_button { width:12.90136719rem !important; height:2.8125rem !important; min-height:2.8125rem !important; margin:0 !important; padding:0.525rem 0.9375rem !important; border:0 !important; border-radius:2.1875rem !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#fff !important; background:#b0903d !important; font:400 0.8125rem/1.1375rem 'Montserrat',Arial,sans-serif !important; white-space:nowrap; }
.product-detail-gallery { width:35rem; position:relative; }
.product-detail-thumbnails { width:100%; margin-top:0.75rem; display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:0.375rem; }
.product-detail-thumbnails button { aspect-ratio:1; padding:0; overflow:hidden; border:1px solid transparent; background:#f3ebe4; cursor:pointer; }
.product-detail-thumbnails button.is-active { border-color:#b0903d; }
.product-detail-thumbnails img { width:100%; height:100%; object-fit:cover; }
.product-modal-underlay { min-height:81.25rem; position:relative; background:#fcf9f7; }
.product-modal-underlay i { position:absolute; top:7.1875rem; right:0; width:13.25rem; height:25.8125rem; background:url('assets/images/botanical-home-right-tall.webp') center/contain no-repeat; opacity:.6; }

/* Tilda proportionally scales its desktop delivery record from a 1200px artboard. */
@media (min-width:1200px) {
  .site-header { height:min(calc(2.5vw - .2px),3.1875rem); }
  .shipping { min-height:min(calc(2.5vw - .2px),3.1875rem); }
  .shipping img { width:min(1.5vw,1.92rem); height:min(1.5vw,1.92rem); position:absolute; top:min(.5vw,0.64rem); left:calc(50% - min(8.833333vw,11.30666669rem)); object-fit:contain; zoom:1; }
  .shipping span { width:auto; position:absolute; top:min(.5vw,0.64rem); left:calc(50% - min(6.333333vw,8.10666669rem)); zoom:1; font-size:min(.916667vw,1.17333375rem); line-height:min(1.416667vw,1.81333375rem); }
  .nav { top:min(calc(2.5vw - .2px),3.1875rem); }
  .floating-actions { top:min(calc(2.5vw + 1.425rem),4.625rem); }
}

/* Keep compact desktop navigation clear of the centered logo. */
@media (min-width:1200px) and (max-width:1319px) {
  .nav-links:first-child { transform:translate(0,-0.59375rem); }
  .nav-links:last-of-type { transform:translate(0,-0.53125rem); }
  .nav-sticky .nav-links:first-child { transform:translate(0,-0.4375rem); }
  .nav-sticky .nav-links:last-of-type { transform:translate(0,-0.375rem); }
  .floating-actions,.nav-sticky .floating-actions { top:8.75rem; }
}

.commerce-modal-cart { width:35rem; margin:4.0625rem auto 3.75rem; padding:2.5rem; background:#fff; color:#343434; }
.commerce-modal-wishlist { width:35rem; margin:4.0625rem auto 3.75rem; padding:2.5rem; background:#fff; color:#343434; }
.commerce-wishlist header { min-height:2.75rem; padding-bottom:1.5rem; display:flex; justify-content:space-between; align-items:start; border-bottom:1px solid #ddd; }
.commerce-wishlist h2 { font:400 1.75rem/1 'Cormorant',Arial,sans-serif; }
.commerce-wishlist header button { padding:0; border:0; color:#9b7a2f; background:none; font:0.75rem/1.4 'Montserrat',Arial,sans-serif; text-decoration:underline; cursor:pointer; }
.commerce-wishlist-products { display:grid; }
.commerce-wishlist-product { min-height:8.125rem; padding:1.25rem 1.875rem 1.25rem 6.875rem; position:relative; border-bottom:1px solid #ddd; }
.commerce-wishlist-thumb { width:5.625rem; height:5.625rem; position:absolute; top:1.25rem; left:0; overflow:hidden; background:#f3ebe4; }
.commerce-wishlist-thumb img { width:100%; height:100%; object-fit:cover; }
.commerce-wishlist-product h3 { margin:0.25rem 1.875rem 0.875rem 0; color:#343434; font:500 0.875rem/1.1875rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }
.commerce-wishlist-product strong { color:#b0903d; font:500 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
.commerce-wishlist-product > button { width:1.5rem; height:1.5rem; padding:0; position:absolute; top:1.25rem; right:0; border:0; background:transparent; cursor:pointer; }
.commerce-wishlist-product > button::before,.commerce-wishlist-product > button::after { content:""; width:1.125rem; height:1px; position:absolute; top:0.6875rem; left:0.1875rem; background:#aaa; transform:rotate(45deg); }
.commerce-wishlist-product > button::after { transform:rotate(-45deg); }
.commerce-modal[data-commerce-type="wishlist"]:not(:has(.commerce-wishlist--empty)) { overflow:hidden; background:transparent; }
.commerce-modal[data-commerce-type="wishlist"]:not(:has(.commerce-wishlist--empty)) > .commerce-modal-panel { width:35rem; min-height:100%; height:100%; margin:0 0 0 auto; overflow-y:auto; background:#fcf9f7; }
.commerce-modal-wishlist:not(:has(.commerce-wishlist--empty)) { width:100%; min-height:100dvh; margin:0; padding:2.5rem; background:#fcf9f7; }
.commerce-modal[data-commerce-type="wishlist"]:not(:has(.commerce-wishlist--empty)) .commerce-modal-close::before,
.commerce-modal[data-commerce-type="wishlist"]:not(:has(.commerce-wishlist--empty)) .commerce-modal-close::after { background:#343434; }
.commerce-wishlist:not(.commerce-wishlist--empty) header { min-height:3.1875rem; padding:0.1875rem 0 1.5625rem; border-bottom-color:#b0903d; }
.commerce-wishlist:not(.commerce-wishlist--empty) header button { display:none; }
.commerce-wishlist:not(.commerce-wishlist--empty) h2 { font-size:1.25rem; text-transform:uppercase; }
.commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product { min-height:6.375rem; padding:1.875rem 4.25rem 0 5.625rem; display:grid; grid-template-columns:minmax(0,1fr) auto; border-bottom:0; }
.commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-thumb { width:4.5rem; height:4.5rem; top:1.875rem; }
.commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product h3 { margin:1.625rem 1.25rem 0 0; font-size:0.875rem; line-height:1.1875rem; }
.commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product strong { margin-top:1.5625rem; white-space:nowrap; }
.commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product > button { width:1.25rem; height:1.25rem; top:3.375rem; right:0; background:#b0903d; }
.commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product > button::before,
.commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product > button::after { width:0.875rem; top:0.5625rem; left:0.1875rem; background:#fff; }
.commerce-wishlist-empty { min-height:5.5rem; display:grid; place-items:center; text-align:center; }
.commerce-wishlist-empty p { margin:0; font:400 1.375rem/1.15 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.commerce-modal[data-commerce-type="wishlist"]:has(.commerce-wishlist--empty) { background:rgba(52,52,52,.8); }
.commerce-modal[data-commerce-type="wishlist"]:has(.commerce-wishlist--empty) > .commerce-modal-panel > .commerce-modal-close { display:none; }
.commerce-modal-wishlist:has(.commerce-wishlist--empty) { width:35rem; height:8.8125rem; margin:0; padding:0; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); }
.commerce-wishlist--empty,.commerce-wishlist--empty .commerce-wishlist-empty { width:100%; height:100%; }
.product-detail-favorite.is-active { color:#b0903d; background:#f3ebe4; }
.commerce-cart-header { height:3.625rem; display:flex; justify-content:space-between; align-items:flex-start; border-bottom:1px solid #ccc; }
.commerce-cart-header h2 { width:100%; margin:0; color:#000; font:500 1.125rem/1.6875rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }
.commerce-cart-clear { display:none; }
.commerce-cart-products { border-bottom:1px solid #ccc; }
.commerce-cart-product { min-height:6.25rem; display:grid; grid-template-columns:5.625rem 10.3125rem 6.875rem 5rem 2.1875rem; align-items:stretch; position:relative; }
.commerce-cart-thumb { width:4.375rem; height:4.375rem; overflow:hidden; border-radius:0.4375rem; background:#f3ebe4; }
.commerce-cart-thumb img { width:4.375rem; height:4.375rem; object-fit:cover; }
.commerce-cart-product h3 { margin:0; display:flex; align-items:center; color:#000; font:500 1rem/1.5rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }
.commerce-cart-quantity { display:flex; align-items:center; justify-content:flex-start; gap:0.3125rem; padding-left:0.625rem; color:#000; font:400 1rem/1.5rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-quantity button { width:1rem; height:1rem; padding:0; display:grid; place-items:center; border:1px solid #ccc; border-radius:50%; color:#aaa; background:#fff; font:400 0.8125rem/0.875rem Arial,sans-serif; cursor:pointer; }
.commerce-cart-price { display:flex; align-items:center; color:#000; font:400 1rem/1.5rem 'Montserrat',Arial,sans-serif; white-space:nowrap; }
.commerce-cart-remove { width:1.25rem; height:1.25rem; padding:0; position:relative; align-self:center; justify-self:end; border:1px solid #ccc; border-radius:50%; background:#fff; cursor:pointer; }
.commerce-cart-remove::before,.commerce-cart-remove::after { content:""; position:absolute; top:0.5625rem; left:0.1875rem; width:0.75rem; height:1px; background:#aaa; transform:rotate(45deg); }.commerce-cart-remove::after { transform:rotate(-45deg); }
.commerce-cart-subtotal { min-height:4.73730469rem; padding-top:1.8125rem; display:flex; justify-content:flex-end; gap:0.3125rem; color:#000; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-subtotal strong { font:inherit; }
.commerce-cart-auth { min-height:3.75rem; margin:1.25rem 0 1.25rem; padding:1.25rem; color:#000; background:#eee; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-auth a { color:#000; font-weight:400; text-decoration:underline; }
.commerce-cart-notes { color:#111; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-notes p { margin:0 0 1.125rem; }.commerce-cart-notes strong { font-weight:700; }.commerce-cart-notes > a { display:inline-block; margin-top:2px; color:#b0903d; border-bottom:1px solid #b0903d; }
.commerce-cart-checkout { margin-top:3.875rem; }
.commerce-cart-checkout > h3 { margin:0 0 0.875rem; color:#000; font:500 1.25rem/1.625rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .woocommerce-form-login-toggle,.commerce-cart-checkout .woocommerce-form-coupon-toggle { display:none; }
.commerce-cart-checkout form.checkout { margin:0; }
.commerce-cart-checkout .woocommerce-billing-fields > h3,.commerce-cart-checkout .woocommerce-additional-fields > h3,.commerce-cart-checkout #order_review_heading,.commerce-cart-checkout table.shop_table,.commerce-cart-checkout .woocommerce-privacy-policy-text { display:none; }
.commerce-cart-checkout .col2-set,.commerce-cart-checkout .woocommerce-billing-fields__field-wrapper,.commerce-cart-checkout .woocommerce-shipping-fields__field-wrapper { display:block !important; width:100% !important; }
.commerce-cart-checkout form.checkout .col-1,.commerce-cart-checkout form.checkout .col-2 { float:none !important; width:100% !important; }
.commerce-cart-checkout h3 { color:#000; font:500 1.25rem/1.625rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout form.checkout .form-row { width:100% !important; margin:0 0 1.25rem !important; padding:0 !important; float:none !important; }
.commerce-cart-checkout label { display:block; margin-bottom:0.5rem; color:#111; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout form.checkout input.input-text,.commerce-cart-checkout form.checkout textarea,.commerce-cart-checkout form.checkout select,.commerce-cart-checkout form.checkout .select2-selection { width:100% !important; min-height:3.5rem !important; padding:0 1.25rem !important; box-sizing:border-box !important; border:0 !important; border-bottom:1px solid #b0903d !important; border-radius:0 !important; background:#f3ebe4 !important; color:#343434 !important; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif !important; }
.commerce-cart-checkout .required { display:none; }
.commerce-cart-checkout #billing_city_field { position:relative; }
.commerce-cart-checkout #billing_city_field::after { content:""; width:0.6875rem; height:0.6875rem; position:absolute; right:1.125rem; bottom:1.375rem; border:1px solid #8e8985; border-radius:50%; pointer-events:none; }
.commerce-cart-checkout #billing_city_field::before { content:""; width:0.4375rem; height:1px; position:absolute; z-index:1; right:0.875rem; bottom:1.1875rem; background:#8e8985; transform:rotate(-48deg); pointer-events:none; }
.commerce-cart-checkout form.checkout #billing_phone { background:#f3ebe4 !important; }
.commerce-cart-checkout textarea { min-height:6.25rem; padding-block:1rem; resize:vertical; }
.commerce-cart-checkout .select2-container { width:100% !important; }
.commerce-cart-checkout .select2-selection__rendered { padding:0 3.25rem 0 1.25rem !important; line-height:3.5rem !important; }.commerce-cart-checkout .select2-selection__arrow { width:3.25rem !important; height:3.5rem !important; top:0 !important; right:0 !important; }
.commerce-cart-checkout #order_review_heading { margin-top:2.8125rem; }
.commerce-cart-checkout table.shop_table { width:100%; border-collapse:collapse; font:400 0.8125rem/1.125rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout table.shop_table th,.commerce-cart-checkout table.shop_table td { padding:0.75rem 0; border-bottom:1px solid #dfd2c3; text-align:left; }
.commerce-cart-checkout table.shop_table td:last-child,.commerce-cart-checkout table.shop_table th:last-child { text-align:right; }
.commerce-cart-checkout #payment.woocommerce-checkout-payment { margin-top:0 !important; padding:0 !important; background:transparent !important; }
.commerce-cart-checkout #payment .form-row.place-order { padding:1rem 0 0 !important; background:transparent !important; }
.commerce-checkout-consent,.commerce-cart-checkout .woocommerce-terms-and-conditions-wrapper { margin:0 0 1.125rem; color:#111; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .commerce-checkout-consent label,.commerce-cart-checkout label.woocommerce-form__label-for-checkbox { display:grid !important; grid-template-columns:1.25rem minmax(0,1fr) !important; gap:0.625rem !important; align-items:center !important; margin:0 !important; color:inherit !important; font:inherit !important; cursor:pointer !important; }
.commerce-checkout-consent input,.commerce-cart-checkout .woocommerce-form__input-checkbox { box-sizing:border-box !important; display:block !important; flex:0 0 1.25rem !important; width:1.25rem !important; min-width:1.25rem !important; height:1.25rem !important; margin:0 !important; position:relative !important; z-index:1 !important; opacity:1 !important; appearance:none !important; -webkit-appearance:none !important; border:1px solid #b0903d !important; border-radius:0 !important; background-color:#fcf9f7 !important; background-position:center !important; background-repeat:no-repeat !important; background-size:0.75rem 0.5625rem !important; box-shadow:none !important; cursor:pointer !important; pointer-events:auto !important; }
.commerce-checkout-consent input:checked,.commerce-cart-checkout .woocommerce-form__input-checkbox:checked { background-color:#b0903d !important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath d='M1 4.5 4.3 8 11 1' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") !important; }
.commerce-checkout-consent a,.commerce-cart-checkout .woocommerce-form__label-for-checkbox a { color:#b0903d; border-bottom:1px solid currentColor; }
.commerce-checkout-total { margin:2rem 0 1.125rem; display:flex; justify-content:flex-end; gap:0.25rem; color:#b0903d; font:500 1.125rem/1.5625rem 'Montserrat',Arial,sans-serif; }
.commerce-checkout-afterword { margin:1.25rem 0 0; color:#8e8985; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .wc_payment_methods { margin:0 0 1.5rem !important; padding:0 !important; display:grid; gap:0.75rem; list-style:none; }
.commerce-cart-checkout #payment .wc_payment_method { margin:0 !important; padding:1rem 1.125rem !important; position:relative; display:block !important; border:1px solid #dfd2c3; border-radius:0.875rem; background:#fcfaf7; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease; }
.commerce-cart-checkout #payment .wc_payment_method:has(> input[type="radio"]:checked) { border-color:#b0903d; background:#f8f2e9; box-shadow:0 0.25rem 1rem rgba(116,82,38,.08); }
.commerce-cart-checkout #payment .wc_payment_method > input[type="radio"] { width:1.25rem !important; min-width:1.25rem !important; height:1.25rem !important; margin:0 !important; position:absolute !important; top:1.125rem; left:1.125rem; display:grid !important; place-content:center; appearance:none !important; -webkit-appearance:none !important; border:1px solid #9d9185 !important; border-radius:50% !important; background:#fff !important; box-shadow:none !important; cursor:pointer; }
.commerce-cart-checkout #payment .wc_payment_method > input[type="radio"]::before { content:""; width:0.625rem; height:0.625rem; border-radius:50%; background:#b0903d; transform:scale(0); transition:transform .15s ease; }
.commerce-cart-checkout #payment .wc_payment_method > input[type="radio"]:checked { border-color:#b0903d !important; }
.commerce-cart-checkout #payment .wc_payment_method > input[type="radio"]:checked::before { transform:scale(1); }
.commerce-cart-checkout #payment .wc_payment_method > label { width:100% !important; max-width:none !important; min-width:0; min-height:1.5rem; margin:0 !important; padding-left:2rem; box-sizing:border-box; display:block !important; color:#221d19 !important; font:500 1rem/1.5rem 'Montserrat',Arial,sans-serif !important; white-space:nowrap; cursor:pointer; }
.commerce-cart-checkout #payment .wc_payment_method > label img { display:none !important; }
.commerce-cart-checkout #payment .payment_box { width:100% !important; min-width:0; margin:0.875rem 0 0 !important; padding:0.75rem 0 0 !important; box-sizing:border-box; border-top:1px solid rgba(176,144,61,.28); border-radius:0 !important; background:transparent !important; color:#746b63 !important; font:400 0.875rem/1.35rem 'Montserrat',Arial,sans-serif !important; overflow-wrap:anywhere; }
.commerce-cart-checkout #payment .payment_box::before { display:none !important; }
.commerce-cart-checkout #payment .payment_box p { margin:0 !important; }
.commerce-cart-checkout #place_order { width:100% !important; height:3.75rem !important; min-height:3.75rem !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:62.4375rem !important; display:flex !important; float:none !important; align-items:center !important; justify-content:center !important; color:#fff !important; background:#b0903d !important; opacity:1 !important; text-transform:none !important; letter-spacing:0 !important; font:500 1rem/1.375rem 'Montserrat',Arial,sans-serif !important; cursor:pointer; }
.commerce-cart-checkout #place_order:disabled,.commerce-cart-checkout #place_order.disabled { color:#fff !important; background:#b0903d !important; opacity:1 !important; cursor:not-allowed !important; }
.commerce-modal:has(.commerce-cart--empty) > .commerce-modal-panel > .commerce-modal-close { display:none; }
.commerce-modal[data-commerce-type="cart"]:has(.commerce-cart--empty) { background:rgba(52,52,52,.8); }
.commerce-modal-cart:has(.commerce-cart--empty) { width:35rem; height:8.8125rem; margin:0; padding:0; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); }
.commerce-cart--empty,.commerce-cart-empty { width:100%; height:100%; }
.commerce-cart-empty { display:grid; place-items:center; position:relative; padding:1.5625rem 3.125rem; text-align:center; }
.commerce-cart-empty p { margin:0; color:#000; font:400 1.5625rem/1.875rem 'Montserrat',Arial,sans-serif; text-transform:uppercase; }
.commerce-cart-empty-close { width:2.6875rem; height:2.6875rem; padding:0; position:absolute; top:0.625rem; right:0.625rem; border:0; background:transparent; cursor:pointer; }
.commerce-cart-empty-close::before,.commerce-cart-empty-close::after { content:""; width:1.4375rem; height:1px; position:absolute; top:1.3125rem; left:0.625rem; background:#b0903d; transform:rotate(45deg); }
.commerce-cart-empty-close::after { transform:rotate(-45deg); }
.commerce-modal-content.is-updating { pointer-events:none; opacity:.55; }

@media (min-width:601px) {
  .commerce-cart-thumb { align-self:center; }
  .commerce-cart-product h3 a { width:7.25rem; line-height:1.4rem; }
  .commerce-cart-remove { transform:translateY(-2px); }
  .commerce-cart-products { margin-bottom:-1px; }
  .commerce-cart-notes { margin-top:-2px; }
  .commerce-cart-checkout { margin-top:3.03710938rem; }
}
@media (min-width:1200px) {
  .commerce-cart-header { height:3.79296875rem; }
  .commerce-cart-header h2 { font-size:1.25rem; line-height:1.85546875rem; }
  .commerce-cart-checkout { margin-top:3.20605469rem; }
}

@media (max-width:1199px) {
  .commerce-modal-panel { width:100%; }
  .commerce-modal[data-commerce-type="product"] .commerce-modal-panel { min-height:0; margin:3.125rem auto 0; }
  .commerce-modal-product .product-detail-page { width:100%; min-height:0; }
  .commerce-modal-product .product-detail-hero,.commerce-modal-product .product-detail-accordions,.commerce-modal-product .product-related { top:auto; left:auto; }
  .commerce-modal-product .product-related-grid-desktop { display:none; }
  .product-detail-gallery { width:100%; }
}
@media (max-width:600px) {
  .commerce-modal-close { top:0.375rem; right:0.375rem; }
  .commerce-modal[data-commerce-type="product"]::before { content:""; height:3.125rem; position:fixed; z-index:4; inset:0 0 auto; background:#4a4a4a; }
  .commerce-modal[data-commerce-type="product"] .commerce-modal-close { display:none; }
  .commerce-modal[data-commerce-type="product"] .commerce-modal-back { width:3.125rem; height:3.125rem; top:0; left:0; display:grid; place-items:center; color:transparent; font-size:0; }
  .commerce-modal[data-commerce-type="product"] .commerce-modal-back::before { content:"←"; color:#fff; font:300 1.875rem/1 Arial,sans-serif; }
  .commerce-modal-product .product-detail-page { padding-top:0; padding-bottom:3.77539063rem; }
  .commerce-modal-product .product-detail-page::before { content:none; }
  .commerce-modal-product .product-detail-summary { padding-top:1.875rem; }
  .commerce-modal-product .product-detail-favorite { top:1.9375rem; right:1.25rem; width:2.5rem; height:2.5rem; }
  .commerce-modal-product .product-detail-buy { margin-top:1.3125rem; }
  .commerce-modal-product .product-detail-buy button.single_add_to_cart_button { width:100% !important; height:3.125rem !important; min-height:3.125rem !important; padding:0.99375rem 0.9375rem !important; }
  .commerce-modal-product .product-detail-marketplaces { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.25rem; margin-top:0.625rem; }
  .commerce-modal-product .product-detail-marketplaces a { height:2.5rem; font:400 0.8125rem/2.5rem 'Montserrat',Arial,sans-serif; }
  .commerce-modal-product .product-detail-copy { width:100%; margin-top:1.67480469rem; font:400 1rem/1.55rem 'Montserrat',Arial,sans-serif; }
  .commerce-modal-product .product-detail-copy p { margin-bottom:1.54980469rem; }
  .commerce-modal-product .product-detail-accordions { width:calc(100% - 2.5rem); margin:-0.51855469rem auto 0; }
  .commerce-modal-product .product-detail-accordions summary { height:3rem; padding:1.078125rem 1.25rem 1.078125rem 0; font:500 0.625rem/0.84375rem 'Cormorant',Arial,sans-serif; }
  .commerce-modal-product .product-detail-accordions details div { width:100%; font:400 0.625rem/0.96875rem 'Cormorant',Arial,sans-serif; }
  .commerce-modal-product .product-detail-accordions details p { margin-bottom:0.96875rem; }
  .commerce-modal-product .product-detail-benefits-1 .product-detail-accordions details[open] > div { padding-bottom:0.6875rem; }
  .commerce-modal-product .product-detail-benefits-2 .product-detail-accordions details[open] > div { padding-bottom:0.5625rem; }
  .commerce-modal-product .product-related { width:calc(100% - 2.5rem); margin:0 auto; padding:2.5rem 0 0; }
  .commerce-modal-product [class*="product-detail-sku-theobroma-cacao-"] .product-detail-accordions { margin-top:1.03320313rem; }
  .commerce-modal-product [class*="product-detail-sku-theobroma-cacao-"] .product-detail-copy p:last-child { margin-bottom:0; }
  .commerce-modal-product [class*="product-detail-sku-theobroma-cacao-"] .product-related { margin-top:0.8125rem; }
  .commerce-modal-product .product-detail-benefits-0:not([class*="product-detail-sku-theobroma-cacao-"]) .product-related { margin-top:0.8125rem; }
  .commerce-modal-product .product-related > h2 { margin-bottom:4.5rem; }
  .commerce-modal-product .product-related-grid { gap:2.5rem; overflow-x:auto; scrollbar-width:none; }
  .commerce-modal-product .product-related-grid-tablet { display:none; }
  .commerce-modal-product .product-related-grid-mobile { display:flex; }
  .commerce-modal-product .product-related-grid article { flex:0 0 13.75rem; width:13.75rem; min-width:13.75rem; max-width:13.75rem; min-height:28.140625rem; padding-bottom:0; }
  .commerce-modal-product .product-related-image,
  .commerce-modal-product .product-related-image img { width:13.75rem; height:17.1875rem; }
  .commerce-modal-product .product-related-button { position:static; width:13.75rem; height:2.5rem; margin-top:auto; }
  .commerce-modal[data-commerce-type="cart"]::before { content:""; height:3.125rem; position:fixed; z-index:4; inset:0 0 auto; background:#000; }
  .commerce-modal[data-commerce-type="wishlist"]::before { content:""; height:3.125rem; position:fixed; z-index:4; inset:0 0 auto; background:#000; }
  .commerce-modal[data-commerce-type="cart"] .commerce-modal-close { top:0.4375rem; right:0.625rem; width:2.25rem; height:2.25rem; }
  .commerce-modal[data-commerce-type="wishlist"] .commerce-modal-close { top:0.4375rem; right:0.625rem; width:2.25rem; height:2.25rem; }
  .commerce-modal[data-commerce-type="cart"] .commerce-modal-close::before,
  .commerce-modal[data-commerce-type="cart"] .commerce-modal-close::after,
  .commerce-modal[data-commerce-type="wishlist"] .commerce-modal-close::before,
  .commerce-modal[data-commerce-type="wishlist"] .commerce-modal-close::after { top:1.09375rem; left:0.40625rem; width:1.4375rem; background:#fff; }
  .commerce-modal-cart { width:100%; margin:3.125rem 0 0; padding:1.25rem 1.25rem 2.5rem; background:#fff; }
  .commerce-modal-wishlist { width:100%; margin:3.125rem 0 0; padding:1.25rem 1.25rem 2.5rem; background:#fff; }
  .commerce-modal[data-commerce-type="wishlist"]:has(.commerce-wishlist--empty)::before { content:none; }
  .commerce-modal-wishlist:has(.commerce-wishlist--empty) { width:calc(100% - 2.5rem); max-width:24.375rem; height:5.5rem; margin:0; padding:0; }
  .commerce-wishlist--empty .commerce-wishlist-empty p { font-size:1.1875rem; }
  .commerce-wishlist-product { padding-left:6.25rem; }
  .commerce-wishlist-thumb { width:5rem; height:6.25rem; }
  .commerce-modal[data-commerce-type="cart"]:has(.commerce-cart--empty)::before { content:none; }
  .commerce-modal-cart:has(.commerce-cart--empty) { width:21.875rem; height:5.5rem; margin:0; padding:0; }
  .commerce-cart-empty { padding:1.125rem 3rem 1.125rem 1.125rem; }
  .commerce-cart-empty p { font-size:1.1875rem; line-height:1.375rem; }
  .commerce-cart-empty-close { background:#f7f0e7; border:1px solid #e6d9ca; border-radius:10px; -webkit-appearance:none; appearance:none; }
  .commerce-cart-empty-close::before,.commerce-cart-empty-close::after { content:""; background:#714727; }
  .commerce-cart-header { height:3.45605469rem; border-color:#cfcfcf; }
  .commerce-cart-header h2 { width:100%; font:500 1.25rem/1.625rem 'Montserrat',Arial,sans-serif; }
  .commerce-cart-clear { display:none; }
  .commerce-cart-products { padding:2.1875rem 0 2.125rem; border-color:#cfcfcf; }
  .commerce-cart-product { min-height:4.97265625rem; grid-template-columns:5.625rem 4.95703125rem minmax(0,1fr) 2.1875rem; grid-template-rows:3.5234375rem 1.44921875rem; gap:0; align-items:start; }
  .commerce-cart-thumb { grid-column:1; grid-row:1/3; }
  .commerce-cart-product h3 { width:14.0625rem; height:3.5234375rem; grid-column:2/4; grid-row:1; align-self:start; font:500 1rem/1.5rem 'Montserrat',Arial,sans-serif; }
  .commerce-cart-product h3 { display:block; }
  .commerce-cart-product h3 a { width:11.8125rem; display:block; position:relative; top:1px; line-height:1.5rem; }
  .commerce-cart-quantity { width:4.95703125rem; grid-column:2; grid-row:2; justify-content:flex-start; align-self:start; padding-left:0; position:relative; top:1.796875px; color:#000; font:400 1rem/1.5rem 'Montserrat',Arial,sans-serif; }
  .commerce-cart-quantity button { color:#aaa; border:1px solid #ccc; border-radius:50%; background:#fff; font:400 0.8125rem/0.875rem Arial,sans-serif; }
  .commerce-cart-price { width:4.14941406rem; grid-column:3; grid-row:2; align-self:start; justify-self:start; display:block; color:#000; font:400 1rem/1.5rem 'Montserrat',Arial,sans-serif; }
  .commerce-cart-price .woocommerce-Price-currencySymbol,
  .commerce-cart-subtotal .woocommerce-Price-currencySymbol { margin-left:0.25rem; }
  .commerce-cart-remove { position:absolute; top:0; right:0; border:1px solid #ccc; border-radius:50%; background:#fff; }
  .commerce-cart-remove::before,.commerce-cart-remove::after { background:#aaa; }
  .commerce-cart-subtotal { min-height:4.63671875rem; padding-top:1.9375rem; color:#000; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
  .commerce-cart-subtotal > span { width:3.09960938rem; }
  .commerce-cart-subtotal > strong { width:2.91113281rem; }
  .commerce-cart-auth { min-height:5rem; margin:1.25rem 0 0; padding:1.25rem; color:#000; background:#f3f3f3; font:400 1rem/1.375rem 'Montserrat',Arial,sans-serif; }
  .commerce-cart-auth a { color:#000; font-weight:400; }
  .commerce-cart-notes { margin-top:1.25rem; font-size:1rem; line-height:1.375rem; }
  .commerce-cart-notes > a { margin-top:0; }
  .commerce-cart-checkout { margin-top:2.99316406rem; }
  .commerce-cart-checkout > h3 { margin-bottom:1.1875rem; font-size:1.25rem; line-height:1.625rem; }
}
@media (min-width:391px) and (max-width:600px) {
  .commerce-modal-product .product-detail-page { padding-bottom:2.5625rem; }
  .commerce-cart-product { min-height:5.30078125rem; grid-template-rows:minmax(3rem,auto) 2.30078125rem; }
  .commerce-cart-product h3 { width:16.5625rem; height:auto; min-height:3rem; }
  .commerce-cart-product h3 a { width:13.77539063rem; max-width:none; }
  .commerce-cart-auth { letter-spacing:.7px; }
  .commerce-cart-notes { font-size:1rem; }
  .commerce-cart-notes > a { font-size:1rem; }
}
@media (min-width:391px) and (max-width:600px) {
  .commerce-modal-product [class*="product-detail-sku-theobroma-cacao-"] .product-detail-accordions {
    margin-top:calc(1.16650391rem - .546875vw);
  }
}
@media (min-width:601px) and (max-width:1199px) {
  .commerce-modal-wishlist:has(.commerce-wishlist--empty) { width:28.75rem; height:7.5625rem; }
  .commerce-modal[data-commerce-type="product"] .commerce-modal-panel { width:40rem; min-height:126.3125rem; margin:4.0625rem auto; }
  .commerce-modal-product .product-detail-page { width:40rem; min-height:126.3125rem; padding:3.4375rem 0; }
  .commerce-modal-product .product-detail-hero { width:40rem; margin-inline:auto; display:block; }
  .commerce-modal-product .product-detail-gallery,
  .commerce-modal-product .product-detail-image { width:37.5rem; margin-inline:auto; }
  .commerce-modal-product .product-detail-image { height:49.875rem; aspect-ratio:auto; }
  .commerce-modal-product .product-detail-image img { width:37.5rem; height:49.875rem; object-position:left center; }
  .commerce-modal-product .product-detail-summary { width:40rem; min-height:0; margin-left:0.625rem; padding:1.5625rem 1.25rem 0; }
  .commerce-modal-product .product-detail-summary h1,
  .commerce-modal-product .product-detail-buy,
  .commerce-modal-product .product-detail-copy { width:37.5rem; }
  .commerce-modal-product .product-detail-buy button.single_add_to_cart_button { width:12.27636719rem !important; }
  .commerce-modal-product .product-detail-accordions { width:40rem; min-height:7.9375rem; margin:1.8125rem auto 0; }
  .commerce-modal-product [class*="product-detail-sku-theobroma-cacao-"] .product-detail-accordions { margin-top:1.76855469rem; }
  .commerce-modal-product [class*="product-detail-sku-theobroma-cacao-"] .product-detail-copy p:last-child { margin-bottom:0; }
  .commerce-modal-product .product-detail-accordions summary { height:3.75rem; padding:1.36875rem 0; font:500 0.75rem/1.0125rem 'Cormorant',Arial,sans-serif; }
  .commerce-modal-product .product-detail-accordions details div { width:100%; font:400 0.625rem/0.96875rem 'Cormorant',Arial,sans-serif; }
  .commerce-modal-product .product-detail-accordions details p { margin-bottom:0.96875rem; }
  .commerce-modal-product .product-related { width:37.5rem; margin:0.95605469rem auto 0; padding:2.5rem 0 0; }
  .commerce-modal-product .product-detail-benefits-0:not([class*="product-detail-sku-theobroma-cacao-"]) .product-related { margin-top:1.08105469rem; }
  .commerce-modal-product .product-detail-benefits-2 .product-related { margin-top:0.83105469rem; }
  .commerce-modal-product .product-related > h2 { margin-bottom:4.5rem; }
  .commerce-modal-product .product-related-grid-desktop,
  .commerce-modal-product .product-related-grid-mobile { display:none; }
  .commerce-modal-product .product-related-grid-tablet { display:flex; gap:2.5rem; overflow-x:auto; scrollbar-width:none; }
  .commerce-modal-product .product-related-grid-tablet::-webkit-scrollbar { display:none; }
  .commerce-modal-product .product-related-grid article { flex:0 0 14.25rem; width:14.25rem; min-width:14.25rem; min-height:28.953125rem; padding-bottom:0.5rem; }
  .commerce-modal-product .product-related-image,
  .commerce-modal-product .product-related-image img { width:14.25rem; height:17.8125rem; }
  .commerce-modal-product .product-related-button { position:static; margin-top:auto; }
}

/* Loyalty is provided by the commerce plugin; the theme owns only its visual presentation. */
.theobroma-loyalty-checkout { margin:1.25rem 0; padding:1.25rem; border:1px solid rgba(176,144,61,.35); border-radius:0.875rem; background:#f3ebe4; color:#343434; font:400 0.8125rem/1.1875rem 'Montserrat',Arial,sans-serif; }
/* The AJAX payment fragment owns the divider gap; do not add card margins to it. */
.commerce-cart-checkout #payment:has(.theobroma-loyalty-checkout) .wc_payment_methods { margin:0 !important; padding:0 0 1.25rem !important; border-bottom:1px solid #dfd2c3; }
.commerce-cart-checkout #payment:has(.theobroma-loyalty-checkout) .wc_payment_methods::before,
.commerce-cart-checkout #payment:has(.theobroma-loyalty-checkout) .wc_payment_methods::after { content:none; }
.commerce-cart-checkout #payment:has(.theobroma-loyalty-checkout) .form-row.place-order { padding-top:1.25rem !important; }
.commerce-cart-checkout #payment .theobroma-loyalty-checkout { margin:0 0 1.25rem; }
.theobroma-loyalty-checkout h3 { margin:0 0 0.5rem !important; color:#111 !important; font:500 1.25rem/1.625rem 'Cormorant',Arial,sans-serif !important; }
.theobroma-loyalty-checkout .theobroma-loyalty-balance { margin:0 0 1rem; }
.theobroma-loyalty-balance strong { color:#9b7827; font-weight:500; }
.theobroma-loyalty-control { display:grid; grid-template-columns:minmax(0,1fr) 8.125rem; gap:0.5rem 0.75rem; align-items:stretch; min-width:0; }
.theobroma-loyalty-control label { grid-column:1/-1; margin:0 !important; color:#6f655e !important; font:400 0.75rem/1.0625rem 'Montserrat',Arial,sans-serif !important; }
.theobroma-loyalty-control input { box-sizing:border-box !important; min-width:0 !important; width:100% !important; height:max(44px,3rem) !important; min-height:max(44px,3rem) !important; margin:0 !important; padding:0 0.875rem !important; border:1px solid #dfd2c3 !important; border-radius:0.625rem !important; background:#fcf9f7 !important; color:#343434 !important; font:400 0.875rem/1.25rem 'Montserrat',Arial,sans-serif !important; }
.theobroma-loyalty-checkout .theobroma-loyalty-control button.button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; float:none; min-width:0; width:100%; height:max(44px,3rem); min-height:max(44px,3rem); margin:0; padding:0 1rem; border:1px solid transparent; border-radius:62.4375rem; color:#fff; background:#754b2d; box-shadow:none; text-transform:none; letter-spacing:0; font:500 0.8125rem/1.125rem 'Montserrat',Arial,sans-serif; cursor:pointer; transition:background-color .15s ease; }
.theobroma-loyalty-checkout .theobroma-loyalty-control button.button:hover { color:#fff; background:#5f3d25; }
.theobroma-loyalty-checkout .theobroma-loyalty-control button.button:disabled { cursor:wait; opacity:.6; }
.theobroma-loyalty-checkout .theobroma-loyalty-status { margin:0.75rem 0 0; color:#6d7d51; font-size:0.75rem; line-height:1.125rem; }
.theobroma-loyalty-checkout .theobroma-loyalty-status:empty { margin:0; }
.theobroma-loyalty-checkout .theobroma-loyalty-status.is-error { color:#8c3b2f; }

@media (max-width:600px) {
  .theobroma-loyalty-checkout { padding:1.25rem 1rem; }
  .theobroma-loyalty-control { grid-template-columns:1fr; }
  .theobroma-loyalty-control label { grid-column:auto; }
  .theobroma-loyalty-control .button { width:100%; }
}

@media (max-width:1199px) {
  .commerce-modal[data-commerce-type="wishlist"]:not(:has(.commerce-wishlist--empty))::before { content:none; }
  .commerce-modal[data-commerce-type="wishlist"]:not(:has(.commerce-wishlist--empty)) > .commerce-modal-panel { width:100%; height:100%; }
  .commerce-modal-wishlist:not(:has(.commerce-wishlist--empty)) { width:100%; min-height:100dvh; margin:0; padding:0; }
  .commerce-modal[data-commerce-type="wishlist"]:not(:has(.commerce-wishlist--empty)) .commerce-modal-close::before,
  .commerce-modal[data-commerce-type="wishlist"]:not(:has(.commerce-wishlist--empty)) .commerce-modal-close::after { background:#fff; }
  .commerce-wishlist:not(.commerce-wishlist--empty) header { min-height:4.25rem; padding:0 1.25rem; align-items:center; border:0; background:#b6963e; }
  .commerce-wishlist:not(.commerce-wishlist--empty) h2 { font-size:1.25rem; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product { min-height:8.25rem; padding:1.875rem 5.5rem 0 6.875rem; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-thumb { top:1.875rem; left:1.25rem; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product h3 { margin-top:1.625rem; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product strong { margin-top:1.5625rem; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product > button { top:3.375rem; right:1.25rem; background:#e6d9b9; }
}

/* Media editorial refresh */
.media-page {
  height:auto;
  min-height:60rem;
  margin-top:-3rem;
  padding:10.5rem var(--layout-gutter) 8rem;
  overflow:hidden;
  background:var(--paper);
}
.media-page::before {
  top:8.75rem;
  width:12rem;
  height:16.1875rem;
  opacity:.55;
}
.media-intro {
  width:min(51.25rem,100%);
  margin:0 auto 4.5rem;
  position:relative;
  z-index:1;
  text-align:center;
}
.media-breadcrumb {
  width:auto;
  position:static;
  color:var(--gold);
  font:400 .75rem/1.25rem 'Montserrat',Arial,sans-serif;
}
.media-breadcrumb a { color:#8a8179; transition:color 180ms ease; }
.media-breadcrumb a:hover { color:var(--ink); }
.media-breadcrumb span { margin-inline:.45rem; }
.media-kicker,
.media-article-kicker {
  margin:2.75rem 0 .875rem;
  color:var(--gold);
  font:500 .6875rem/1rem 'Montserrat',Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.media-intro > h1 {
  width:auto;
  margin:0;
  position:static;
  color:#17120f;
  font:400 clamp(3.5rem,5.25vw,5rem)/.92 'Cormorant',Arial,sans-serif;
  letter-spacing:-.035em;
  text-align:center;
  text-transform:uppercase;
}
.media-lead {
  width:min(47.5rem,100%);
  margin:1.5rem auto 0;
  position:static;
  color:#625950;
  font:400 1rem/1.7 'Montserrat',Arial,sans-serif;
  text-align:center;
}
.media-grid {
  width:min(var(--layout-container),100%);
  margin:0 auto;
  position:relative;
  top:auto;
  left:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:auto;
  gap:4rem 2.5rem;
}
.media-card {
  width:auto;
  height:auto;
  min-width:0;
  margin:0;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(176,144,61,.2);
  border-radius:1.25rem;
  background:#fffdfa;
  box-shadow:0 1rem 2.75rem rgba(55,38,25,.07);
  transition:transform 400ms cubic-bezier(.22,.61,.36,1),box-shadow 400ms ease;
}
.media-card::after {
  content:'';
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 400ms cubic-bezier(.22,.61,.36,1);
}
.media-card:hover{
  transform:translateY(-.375rem);
  box-shadow:0 1.5rem 3.75rem rgba(55,38,25,.12);
}
.media-card:hover::after{ transform:scaleX(1); }
.media-card-link { height:100%; display:flex; flex-direction:column; }
.media-card-image {
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  display:block;
  overflow:hidden;
  border-radius:calc(1.25rem - 1px) calc(1.25rem - 1px) 0 0;
  background:var(--cream);
}
.media-card-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 650ms cubic-bezier(.22,.61,.36,1);
}
.media-card:hover .media-card-image img{ transform:scale(1.035); }
.media-card-body {
  min-height:16.25rem;
  padding:1.625rem 1.75rem 1.75rem;
  display:flex;
  flex:1;
  flex-direction:column;
  background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);
}
.media-card time {
  margin:0 0 .75rem;
  display:block;
  color:#8a8179;
  font:500 .6875rem/1rem 'Montserrat',Arial,sans-serif;
  letter-spacing:.1em;
}
.media-card h2 {
  width:auto;
  min-height:0;
  margin:0;
  color:#1c1714;
  font:500 1.75rem/1.04 'Cormorant',Arial,sans-serif;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.media-card-excerpt {
  margin-top:1rem;
  color:#655c54;
  font:400 .8125rem/1.55 'Montserrat',Arial,sans-serif;
}
.media-card-arrow {
  width:max-content;
  min-height:2.25rem;
  margin-top:auto;
  padding:.5625rem 1rem;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(176,144,61,.34);
  border-radius:999px;
  color:var(--gold);
  font:500 .6875rem/1rem 'Montserrat',Arial,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease;
}
.media-card-arrow i {
  margin-left:.4rem;
  display:inline-block;
  font-style:normal;
  transition:transform 220ms ease;
}
.media-card:hover .media-card-arrow i{ transform:translateX(.3rem); }
.media-card:hover .media-card-arrow{ border-color:var(--gold); background:var(--gold); color:#fff; }

.single-post { background:var(--paper); }
.media-article-page {
  margin-top:-3rem;
  padding:10.5rem var(--layout-gutter) 8rem;
  position:relative;
  overflow:hidden;
  background:var(--paper);
}
.media-article-page::before {
  content:'';
  width:13.1875rem;
  height:17.77441406rem;
  position:absolute;
  top:8.75rem;
  left:0;
  background:url('assets/images/botanical-page-left.webp') center/100% 100% no-repeat;
  opacity:.42;
  pointer-events:none;
}
.media-article {
  width:min(var(--layout-container),100%);
  margin:0 auto;
  padding:0;
  position:relative;
  z-index:1;
}
.media-article-breadcrumb {
  color:var(--gold);
  font:400 .75rem/1.25rem 'Montserrat',Arial,sans-serif;
  text-align:center;
}
.media-article-breadcrumb a { color:#8a8179; transition:color 180ms ease; }
.media-article-breadcrumb a:hover { color:var(--ink); }
.media-article-breadcrumb span { margin-inline:.45rem; }
.media-article-breadcrumb strong { font-weight:400; }
.media-article-hero {
  width:min(58rem,100%);
  margin:0 auto 3.25rem;
  text-align:center;
}
.media-article-kicker { margin-top:2.75rem; }
.media-article-hero h1 {
  width:auto;
  height:auto;
  margin:0;
  position:static;
  color:#17120f;
  font:400 clamp(2.875rem,4.6vw,4.5rem)/.98 'Cormorant',Arial,sans-serif;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.media-article-meta {
  margin-top:1.75rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.875rem;
  color:#81766d;
  font:400 .75rem/1.25rem 'Montserrat',Arial,sans-serif;
  letter-spacing:0;
  text-transform:none;
}
.media-article-meta time { margin:0; color:inherit; font:inherit; letter-spacing:inherit; }
.media-article-meta span { width:2rem; height:1px; background:var(--gold); }
.media-article-meta a { transition:color 180ms ease; }
.media-article-meta a:hover { color:var(--gold); }
.media-article-cover {
  width:100%;
  margin:0 0 4rem;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(176,144,61,.18);
  border-radius:1.5rem;
  background:var(--cream);
  box-shadow:0 1.5rem 4rem rgba(55,38,25,.09);
}
.media-article-cover img { width:100%; height:100%; object-fit:cover; }
.media-article-copy {
  width:min(46.25rem,100%);
  margin:0 auto;
  color:#3b332e;
  font:400 1rem/1.85 'Montserrat',Arial,sans-serif;
}
.media-article-copy > * { max-width:100%; }
.media-article-copy > * + * { margin-top:1.5rem; }
.media-article-copy p { margin-bottom:0; }
.media-article-copy h2,
.media-article-copy h3 {
  margin-bottom:0;
  color:#1c1714;
  font-family:'Cormorant',Arial,sans-serif;
  font-weight:500;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.media-article-copy h2 { padding-top:1.75rem; font-size:2.25rem; line-height:1.05; }
.media-article-copy h3 { padding-top:.75rem; font-size:1.75rem; line-height:1.1; }
.media-article-copy ul,
.media-article-copy ol { padding-left:1.5rem; }
.media-article-copy li + li { margin-top:.625rem; }
.media-article-copy blockquote {
  margin-inline:0;
  padding:1.5rem 1.75rem;
  border-left:2px solid var(--gold);
  border-radius:0 1rem 1rem 0;
  background:var(--cream);
  color:#443a33;
  font:500 1.5rem/1.35 'Cormorant',Arial,sans-serif;
}
.media-article-source {
  width:max-content;
  min-height:2.75rem;
  margin:2.5rem auto 0;
  padding:0 1.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--gold);
  border-radius:999px;
  color:var(--gold);
  font:500 .75rem/1rem 'Montserrat',Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:color 200ms ease,background-color 200ms ease;
}
.media-article-source:hover { color:#fff; background:var(--gold); }
.media-article-source span { margin-left:.5rem; font-size:1rem; }
.media-article-products,
.media-article-related {
  width:100%;
  margin-top:6rem;
  padding-top:3.25rem;
  border-top:1px solid var(--line);
}
.media-article-products h2,
.media-article-related h2 {
  margin:0 0 2.5rem;
  color:#17120f;
  font:400 2.75rem/.98 'Cormorant',Arial,sans-serif;
  letter-spacing:-.03em;
  text-align:center;
  text-transform:uppercase;
}
.media-article-related-grid { gap:2.5rem; }
.media-article-related-grid article {
  overflow:hidden;
  border:1px solid rgba(176,144,61,.18);
  border-radius:1.125rem;
  background:#fffdfa;
  box-shadow:0 .875rem 2.25rem rgba(55,38,25,.06);
  transition:transform 300ms cubic-bezier(.22,.61,.36,1),box-shadow 300ms ease;
}
.media-article-related-image { aspect-ratio:4/3; border-radius:calc(1.125rem - 1px) calc(1.125rem - 1px) 0 0; }
.media-article-related-image img { transition:transform 500ms cubic-bezier(.22,.61,.36,1); }
.media-article-related-grid article:hover { transform:translateY(-.25rem); box-shadow:0 1.25rem 3rem rgba(55,38,25,.1); }
.media-article-related-grid article:hover img { transform:scale(1.035); }
.media-article-related-grid h3 {
  margin:1.25rem 1.25rem .75rem;
  color:#1c1714;
  font:500 1.375rem/1.1 'Cormorant',Arial,sans-serif;
  letter-spacing:-.015em;
  text-transform:uppercase;
}
.media-article .media-article-related-grid time {
  margin:0 1.25rem 1.375rem;
  color:#81766d;
  font:500 .625rem/1rem 'Montserrat',Arial,sans-serif;
  letter-spacing:.1em;
}

@media (min-width:601px) and (max-width:1199px) {
  .media-page,
  .media-article-page { padding-top:9.5rem; padding-bottom:6rem; }
  .media-intro { margin-bottom:3.75rem; }
  .media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
  .media-card-body { min-height:15rem; }
  .media-article { width:100%; }
  .media-article-hero { width:min(40rem,100%); }
  .media-article-cover { margin-bottom:3.25rem; }
  .media-article-copy { width:min(40rem,100%); }
  .media-article-products-grid,
  .media-article-related-grid { gap:1.5rem; }
}

@media (max-width:600px) {
  .media-page,
  .media-article-page {
    margin-top:-1.5rem;
    padding:7.75rem 1.25rem 4.5rem;
  }
  .media-page::before,
  .media-article-page::before {
    top:6rem;
    left:-2rem;
    width:7.5rem;
    height:10.109375rem;
    opacity:.26;
  }
  .media-intro { width:100%; margin-bottom:2.75rem; }
  .media-breadcrumb,
  .media-article-breadcrumb { width:100%; font-size:.6875rem; line-height:1.125rem; }
  .media-kicker,
  .media-article-kicker { margin-top:2rem; font-size:.625rem; }
  .media-intro > h1 { width:auto; font-size:3rem; line-height:.95; }
  .media-lead { width:100%; margin-top:1.125rem; font-size:.875rem; line-height:1.55; }
  .media-grid { width:100%; grid-template-columns:1fr; gap:2rem; }
  .media-card { width:100%; }
  .media-card-body { min-height:14.375rem; padding:1.375rem 1.375rem 1.5rem; }
  .media-card h2 { font-size:1.625rem; }
  .media-card-excerpt { font-size:.8125rem; }
  .media-article { width:100%; }
  .media-article-hero { width:100%; margin-bottom:2.25rem; }
  .media-article-hero h1 { font-size:2.5rem; line-height:1; }
  .media-article-meta { margin-top:1.375rem; gap:.625rem; font-size:.6875rem; letter-spacing:0; }
  .media-article-meta span { width:1.25rem; }
  .media-article-cover {
    width:calc(100% + 2.5rem);
    margin:0 -1.25rem 2.5rem;
    aspect-ratio:4/3;
    border-radius:1.125rem;
  }
  .media-article-copy { width:100%; padding:0; font-size:.9375rem; line-height:1.75; }
  .media-article-copy > * + * { margin-top:1.25rem; }
  .media-article-copy h2 { font-size:1.875rem; }
  .media-article-copy h3 { font-size:1.5rem; }
  .media-article-copy blockquote { padding:1.25rem; font-size:1.3125rem; }
  .media-article-source { width:100%; margin-top:2rem; font-size:.6875rem; }
  .media-article-products,
  .media-article-related { margin-top:4rem; padding-top:2.25rem; }
  .media-article-products h2,
  .media-article-related h2 { margin-bottom:1.75rem; font-size:2.125rem; }
  .media-article-products-grid { grid-template-columns:1fr; gap:2rem; }
  .media-article-related-grid { grid-template-columns:1fr; gap:1.5rem; }
  .media-article-related-grid article { display:grid; grid-template-columns:7.5rem minmax(0,1fr); grid-template-rows:auto 1fr; }
  .media-article-related-image { grid-row:1 / span 2; width:7.5rem; height:6.5rem; }
  .media-article-related-grid h3 { margin:1rem 1rem .375rem; font-size:1.125rem; }
  .media-article .media-article-related-grid time { margin:0 1rem .875rem; }
}

@media (prefers-reduced-motion:reduce) {
  .media-card,
  .media-card::after,
  .media-card-image img,
  .media-card-arrow i,
  .media-card-arrow,
  .media-article-related-grid article,
  .media-article-related-image img { transition:none; }
  .media-card:hover{ transform:none; }
}

@media (max-width:600px) {
  .commerce-wishlist:not(.commerce-wishlist--empty) header { min-height:4.0625rem; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product { min-height:8.5625rem; padding:2.8125rem 2.5rem 1.25rem 7rem; display:block; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-thumb { top:2.8125rem; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product h3 { margin:0 0 0.6875rem; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product strong { margin:0; }
  .commerce-wishlist:not(.commerce-wishlist--empty) .commerce-wishlist-product > button { top:2.1875rem; right:1.25rem; }
}

/* Keep product-description typography on the same fluid rem scale as the rest of the product card. */
.commerce-modal-product .product-detail-accordions summary,
.commerce-modal-product .product-detail-accordions details > div {
  font-family:'Montserrat',Arial,sans-serif;
  font-size:1rem;
  line-height:1.5rem;
  font-weight:400;
}

.commerce-modal-product .product-detail-buy button.single_add_to_cart_button {
  transition:background-color .2s ease-in-out,color .2s ease-in-out !important;
}

.commerce-modal-product .product-detail-buy button.single_add_to_cart_button:hover {
  color:#000 !important;
  background:#e2d9d2 !important;
  transform:none !important;
}

.commerce-modal-product .product-detail-marketplaces a,
.commerce-modal-product .product-detail-favorite {
  transition:background-color .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out;
}

.commerce-modal-product .product-detail-marketplaces a:first-child:hover {
  background:#8f18ed;
  transform:none;
}

.commerce-modal-product .product-detail-marketplaces a:last-child:hover {
  background:#0049cc;
  transform:none;
}

.commerce-modal-product .product-detail-favorite:hover {
  color:#ff8562;
  border-color:#e4e4e4;
  background:#fffbf7;
  transform:none;
}

/* Shared three-mode layout system. Full-bleed sections own backgrounds only;
   readable and interactive content uses one centered measure. */
@media (min-width:1200px) { :root { --layout-container:72.5rem; --layout-gutter:clamp(2.5rem,4vw,4rem); } }
@media (min-width:601px) and (max-width:1199px) { :root { --layout-gutter:2.5rem; } }
@media (max-width:600px) { :root { --layout-container:calc(100vw - 2 * var(--layout-gutter)); --layout-gutter:1.125rem; } }

:where(.shop-shell,.legal-content,.recipe-grid,.market-grid,.buy-tabs,.buy-location,.buy-partner-grid,.delivery-accordion,.media-grid,.product-detail-hero,.product-detail-accordions,.product-related,.recipe-detail-columns,.recipe-product-promo,.corporate-gifts-showcase,.corporate-gifts-branding,.corporate-gifts-cases,.corporate-gifts-minimum,.corporate-gifts-benefits,.corporate-gifts-request) {
  width:min(var(--layout-container),calc(100% - 2 * var(--layout-gutter)));
  max-width:var(--layout-container);
  margin-inline:auto;
}

.phone-field {
  padding-inline:0;
  display:block;
}
.phone-field input { position:static; inset:auto; width:100%; min-width:0; padding:0 1.25rem; }

@media (max-width:1199px) {
  :where(.recipes-intro,.marketplace-intro,.buy-intro,.cooperation-page,.recipe-detail-intro) { width:100%; margin-inline:0; }
  :where(.recipes-intro,.marketplace-intro,.buy-intro,.cooperation-page,.delivery-page,.media-page,.recipe-detail-intro) > :where(h1,.recipes-lead,.marketplace-lead,.buy-lead,.cooperation-lead,.delivery-lead,.media-lead,.recipe-detail-lead) {
    width:min(var(--layout-container),calc(100% - 2 * var(--layout-gutter)));
    max-width:var(--layout-container);
    margin-inline:auto;
  }
  .cooperation-form,.cooperation-benefits {
    width:min(var(--layout-container),calc(100% - 2 * var(--layout-gutter)));
    max-width:var(--layout-container);
    margin-inline:auto;
  }
}

@media (min-width:601px) and (max-width:1199px) {
  .about-stage,
  .reviews-stage,
  .contact-card {
    left:0;
    width:min(var(--layout-container),calc(100% - 2 * var(--layout-gutter)));
    max-width:var(--layout-container);
    margin-inline:auto;
  }
  .story,
  .values,
  .review-grid,
  .form-grid { width:100%; }
  .values,
  .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .story p {
    left:2.5rem;
    width:calc(100% - 5rem);
    font-size:.75rem;
    line-height:1.125rem;
  }
  .value > div,
  .value h3,
  .value p { max-width:100%; }
  .value p {
    font-size:.75rem;
    line-height:1.125rem;
  }
  .reviews .section-heading h2,
  .contact-card h2 {
    left:50%;
    transform:translateX(-50%);
  }
}

@media (max-width:600px) {
  .home-hero__shell { padding-inline:var(--layout-gutter); }
  #catalog.home-catalog { padding-inline:0; }
  .home-section-heading,.home-catalog__footer { padding-inline:var(--layout-gutter); }
  .home-product-grid { width:calc(100% - 2 * var(--layout-gutter)); padding-inline:0; grid-auto-columns:100%; }
  .home-cacao,.home-composition,.home-promo-grid { padding-inline:var(--layout-gutter); }
  .buy-panels { padding-inline:var(--layout-gutter); }
  .buy-location,.buy-partner-grid { width:100%; }
  .catalog-page .shop-shell,
  .catalog-page ul.products { width:calc(100% - 2 * var(--layout-gutter)); margin-inline:auto; }
  .catalog-page ul.products,
  .catalog-page.catalog-group-chocolate-30g ul.products {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:none;
    grid-auto-rows:auto;
    align-items:stretch;
  }
  .catalog-page ul.products li.product,
  .catalog-page.catalog-group-chocolate-30g ul.products li.product {
    height:auto;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  .catalog-page ul.products li.product .woocommerce-loop-product__link { flex:1 1 auto; }
  .catalog-page ul.products li.product .button {
    width:calc(100% - 1.25rem);
    margin:.75rem .625rem 0;
    position:static;
    flex:0 0 auto;
  }
  .shop-page .shop-shell,
  .product-detail-hero,
  .recipe-detail-columns,
  .media-grid { width:var(--layout-container); margin-inline:auto; }

  /* Home sections share the same mobile shell. Their legacy 390px artboards
     used independent widths and transforms, which produced different edges
     at every interpolated mobile width. */
  .about-stage {
    left:var(--layout-gutter);
    width:23.4375rem;
    max-width:none;
    margin:0;
    transform:scale(calc(var(--layout-container) / 23.4375rem));
    transform-origin:top left;
  }
  .story,
  .values {
    width:23.4375rem;
    margin-inline:0;
  }
  .values { margin-top:.75rem; }
  .value { width:100%; }
  .reviews-stage {
    left:var(--layout-gutter);
    width:23.4375rem;
    max-width:none;
    margin:0;
    transform:scale(calc(var(--layout-container) / 23.4375rem));
    transform-origin:top left;
  }
  .contact .section { padding-inline:0; }
  .contact-card {
    left:var(--layout-gutter);
    width:22.09375rem;
    max-width:none;
    margin:0;
    padding-inline:0;
    transform:scale(calc(var(--layout-container) / 22.09375rem));
    transform-origin:top left;
  }

  /* Secondary pages follow the same mobile measure as the primary content. */
  .logged-in.woocommerce-account .shop-shell,
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    width:var(--layout-container);
    max-width:var(--layout-container);
  }

  .cooperation-form form {
    left:1.5rem;
    width:calc(100% - 3rem);
  }
  .cooperation-form .form-grid { grid-template-columns:1fr; }
  .cooperation-form .consent { width:100%; }

  .recipe-method > img,
  .recipe-detail-long .recipe-method > img,
  .recipe-detail-banana .recipe-method > img {
    width:100%;
    height:auto;
    margin:1.5rem 0 0;
    aspect-ratio:500/278;
    transform:none;
  }

  /* Contact artwork is a quiet, full-height watermark shared by every card. */
  .footer-phones,
  .footer-address,
  .footer-mail { overflow:hidden; }
  .footer-phones::before,
  .footer-address::before,
  .footer-mail::before,
  .footer-mail:nth-of-type(7)::before,
  .footer-mail:nth-of-type(8)::before {
    content:'';
    position:absolute;
    top:50%;
    right:.75rem;
    bottom:auto;
    left:auto;
    width:5rem;
    height:5rem;
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    opacity:.22;
    pointer-events:none;
    transform:translateY(-50%);
  }
  .footer-phones::before {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23b0903d' d='M18 6h10l5 14-7 5c4 8 9 13 17 17l5-7 14 5v10c0 5-4 9-9 9C28 57 7 36 5 11c0-5 4-5 13-5Z'/%3E%3C/svg%3E");
  }
  .footer-address::before {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23b0903d' d='M32 3C19 3 9 13 9 26c0 17 23 35 23 35s23-18 23-35C55 13 45 3 32 3Zm0 33a10 10 0 1 1 0-20 10 10 0 0 1 0 20Z'/%3E%3C/svg%3E");
  }
  .footer-mail::before,
  .footer-mail:nth-of-type(7)::before,
  .footer-mail:nth-of-type(8)::before {
    background-image:url('assets/images/envelope.svg');
  }
  .footer-phones a { width:calc(100% - 5.25rem); }
  .footer-address { padding-right:5.25rem; }
  .footer-mail:nth-of-type(6) strong,
  .footer-mail:nth-of-type(7) strong,
  .footer-mail:nth-of-type(8) strong,
  .footer-mail:nth-of-type(6) small,
  .footer-mail:nth-of-type(7) small,
  .footer-mail:nth-of-type(8) small { width:calc(100% - 5.25rem); }
}

@media (min-width:601px) and (max-width:1199px) {
  .corporate-gifts-showcase,.corporate-gifts-branding,.corporate-gifts-cases,.corporate-gifts-minimum,.corporate-gifts-benefits,.corporate-gifts-request {
    width:calc(100% - 2 * var(--layout-gutter));
  }
}

/* Breadcrumbs use the same fluid base size as the rest of the page copy. */
.catalog-breadcrumb,
.recipes-breadcrumb,
.marketplace-breadcrumb,
.buy-breadcrumb,
.cooperation-breadcrumb,
.delivery-breadcrumb,
.media-breadcrumb,
.legal-breadcrumb,
.recipe-detail-breadcrumb {
  font-size:1rem;
  line-height:1.5rem;
}

/* Pull inner-page introductions closer to the header without changing their internal rhythm. */
.catalog-page,
.recipes-intro,
.marketplace-intro,
.buy-intro,
.cooperation-page,
.delivery-page,
.media-page,
.legal-page,
.recipe-detail-intro {
  margin-top:-3rem;
}

/* Keep the delivery icon and copy centered as one unit at every viewport. */
.shipping {
  display:flex;
  align-items:center;
  justify-content:center;
}
.shipping img,
.shipping span {
  position:static;
  flex:0 0 auto;
}
@media (min-width:1200px) {
  .shipping { gap:min(1vw,.8rem); }
}
@media (min-width:601px) and (max-width:1199px) {
  .shipping { gap:2.3458vw; }
}
@media (max-width:600px) {
  .shipping { gap:3.1286vw; }
}

/* Fixed tablet artboards stop fitting at different points below 900px once
   tablet rem scaling is applied. Let them contract to the shared container
   before they can clip the page. */
@media (min-width:601px) and (max-width:899px) {
  .catalog-filters {
    left:auto;
    width:100%;
    max-width:100%;
    height:auto;
    margin:0 auto 2.5rem;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.75rem;
    transform:translateY(.375rem);
  }
  .catalog-filters a,
  .catalog-filters a:nth-child(n) {
    width:auto;
    min-width:9.625rem;
    padding-inline:1rem;
    position:static;
  }
}

@media (min-width:601px) and (max-width:699px) {
  .recipe-card { width:100%; }
  .recipe-card h2,
  .recipe-card p { width:calc(100% - 20rem); }

  .cooperation-form form {
    left:1.875rem;
    width:calc(100% - 3.75rem);
  }
  .cooperation-form .form-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .media-article,
  .shop-page .shop-shell,
  .woocommerce-account .shop-shell {
    width:min(var(--layout-container),calc(100% - 2 * var(--layout-gutter)));
    max-width:var(--layout-container);
    margin-inline:auto;
  }

  .product-detail-hero,
  .product-detail-accordions,
  .product-related {
    width:min(var(--layout-container),calc(100% - 2 * var(--layout-gutter)));
    max-width:var(--layout-container);
    margin-inline:auto;
  }
  .product-detail-image,
  .product-detail-image img,
  .product-detail-summary,
  .product-detail-summary h1,
  .product-detail-buy,
  .product-detail-copy {
    width:100%;
    max-width:100%;
  }
  .product-detail-summary {
    margin-left:0;
    box-sizing:border-box;
  }

  .commerce-modal[data-commerce-type="product"] .commerce-modal-panel,
  .commerce-modal-product .product-detail-page {
    width:100%;
    max-width:100%;
  }
  .commerce-modal-product .product-detail-hero,
  .commerce-modal-product .product-detail-accordions,
  .commerce-modal-product .product-related {
    width:min(var(--layout-container),calc(100% - 2 * var(--layout-gutter)));
    max-width:var(--layout-container);
    margin-inline:auto;
  }
  .commerce-modal-product .product-detail-gallery,
  .commerce-modal-product .product-detail-image,
  .commerce-modal-product .product-detail-summary {
    width:100%;
    max-width:100%;
    margin-inline:auto;
  }
  .commerce-modal-product .product-detail-image {
    height:auto;
    aspect-ratio:560/745;
  }
  .commerce-modal-product .product-detail-image img,
  .commerce-modal-product .product-detail-summary h1,
  .commerce-modal-product .product-detail-buy,
  .commerce-modal-product .product-detail-copy {
    width:100%;
    max-width:100%;
  }
  .commerce-modal-product .product-detail-image img { height:100%; }
  .commerce-modal-product .product-detail-summary {
    padding-inline:0;
  }
}

/* Cooperation fields are configurable, so the card must grow from its
   contents instead of relying on the original fixed-field artboard. */
.cooperation-form {
  height:auto;
  min-height:0;
  padding:3.125rem 2.875rem 2.625rem;
}
.cooperation-form h2 {
  margin:0;
  padding:0;
}
.cooperation-form > p { margin:.75rem 0 0; }
.cooperation-form form {
  position:relative;
  top:auto;
  left:auto;
  width:100%;
  margin:2.875rem 0 0;
}
.cooperation-form .form-grid {
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:auto;
  gap:1.75rem .9375rem;
}
.cooperation-form .form-grid > * {
  width:100%;
  min-width:0;
}
.cooperation-form .form-grid > :is(textarea,.message-field,.field-wide,[data-field-width="full"]) {
  grid-column:1/-1;
}
.cooperation-form .consent {
  width:100%;
  margin-top:1.125rem;
  transform:none;
}
.cooperation-form .form-submit { margin:2.5625rem 0 0; }
.cooperation-form .button { transform:none; }

@media (min-width:1200px) {
  .cooperation-page {
    height:auto;
    min-height:0;
    padding:23rem 0 6.25rem;
  }
  .cooperation-form {
    position:relative;
    top:auto;
    left:auto;
    width:35rem;
    margin:0 0 0 calc(50vw + 1.25rem);
  }
  .cooperation-benefits {
    position:relative;
    top:auto;
    left:auto;
    margin:6.25rem auto 0;
  }
}

@media (min-width:601px) and (max-width:1199px) {
  .cooperation-form {
    height:auto;
    padding:1.875rem;
  }
  .cooperation-form form {
    width:100%;
    margin-top:1.25rem;
  }
  .cooperation-form .form-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cooperation-benefits,
  .cooperation-benefit-grid { height:auto; }
  .cooperation-benefit-grid {
    width:100%;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:none;
    grid-auto-rows:auto;
  }
  .cooperation-benefit-grid article { width:100%; }
}

@media (max-width:600px) {
  .cooperation-form {
    height:auto;
    padding:1.5rem;
  }
  .cooperation-form form {
    width:100%;
    margin-top:2.25rem;
  }
  .cooperation-form .form-grid {
    grid-template-columns:minmax(0,1fr);
    gap:1.14257813rem;
  }
  .cooperation-form .form-submit { margin-top:1.90429688rem; }
}

/* Additional fields from the contact forms plugin share the native form look. */
.form-grid > select,
.form-grid > textarea {
  width:100%;
  min-width:0;
  height:3.25rem;
  padding:0 1.25rem;
  border:0;
  border-radius:0;
  appearance:none;
  background:#efe5d9;
  box-shadow:inset 0 -1px #b0903d;
  color:#000;
  font:400 .75rem/.9975rem 'Montserrat',Arial,sans-serif;
}
.form-grid > select {
  padding-right:2.5rem;
  background-image:linear-gradient(45deg,transparent 50%,#b0903d 50%),linear-gradient(135deg,#b0903d 50%,transparent 50%);
  background-position:calc(100% - 1.25rem) 50%,calc(100% - .9375rem) 50%;
  background-repeat:no-repeat;
  background-size:.3125rem .3125rem,.3125rem .3125rem;
}
.form-grid > textarea {
  min-height:6.5rem;
  padding-top:1rem;
  padding-bottom:1rem;
  line-height:1.25rem;
  resize:vertical;
}
.form-grid > :is(input,select,textarea)::placeholder { color:#000; opacity:.5; }
.contact,
.contact .section {
  height:auto;
  min-height:28.5625rem;
}
.contact { overflow:visible; }
.contact .section { padding-bottom:4rem; }

/* Chocolate samples use the same paper, cream cards, gold accents and type scale as the other content pages. */
.samples-page {
  width:100%;
  margin-top:-3rem;
  padding:8.5625rem max(var(--layout-gutter),calc((100vw - var(--layout-container))/2)) 6.25rem;
  position:relative;
  overflow:hidden;
  color:var(--ink);
  background:var(--paper);
}
.samples-page::before { content:none; }
.samples-page > * { position:relative; z-index:1; }
.samples-breadcrumb { margin-bottom:2.25rem; text-align:center; color:var(--gold); font:400 .875rem/1.375rem 'Montserrat',Arial,sans-serif; }
.samples-breadcrumb a { color:rgba(52,52,52,.7); }
.samples-breadcrumb span { margin:0 .5rem; }
.samples-breadcrumb strong { font-weight:500; }
.samples-hero { min-height:20rem; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr); align-items:start; gap:2.5rem; }
.samples-eyebrow { margin:0 0 1.25rem; color:var(--gold); font:600 .6875rem/1rem 'Montserrat',Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.samples-hero h1 {
  width:auto;
  max-width:43rem;
  margin:0;
  position:static;
  color:#000;
  font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif;
  letter-spacing:normal;
  text-transform:uppercase;
}
.samples-hero h1 em { color:var(--gold); font-style:normal; font-weight:500; }
.samples-lead { max-width:41rem; margin:1.5rem 0 0; color:#343434; font:400 1.125rem/1.4375rem 'Montserrat',Arial,sans-serif; }
.samples-promises { display:flex; flex-wrap:wrap; gap:.625rem 1.5rem; margin:1.5rem 0 0; padding:0; list-style:none; color:#343434; font:400 .8125rem/1.125rem 'Montserrat',Arial,sans-serif; }
.samples-promises li { padding:0 0 0 .875rem; position:relative; border:0; border-radius:0; background:transparent; }
.samples-promises li::before { content:'▪'; position:absolute; left:0; color:var(--gold); }
.samples-hero-visual { min-height:20rem; position:relative; display:grid; place-items:center; }
.samples-hero-visual::before,.samples-hero-visual::after { content:none; }
.samples-hero-visual img { width:18rem; height:18rem; position:relative; object-fit:contain; filter:none; transform:none; }
.samples-stamp { display:none; }
.samples-form-section { margin-top:4.5rem; padding:3.125rem; display:grid; grid-template-columns:minmax(15rem,.72fr) minmax(28rem,1.28fr); gap:3.125rem; background:var(--cream); color:var(--ink); box-shadow:none; }
.samples-form-section .samples-eyebrow { color:var(--gold); }
.samples-form-intro h2,.samples-steps h2 { margin:0; color:#000; font:500 3.25rem/3.25rem 'Cormorant',Arial,sans-serif; letter-spacing:normal; text-transform:uppercase; }
.samples-form-intro > p:not(.samples-eyebrow) { margin:1.5rem 0 0; color:#343434; font:400 .875rem/1.35rem 'Montserrat',Arial,sans-serif; }
.samples-form-note { margin-top:2rem; padding:1.5rem 0 0; border-top:1px solid rgba(176,144,61,.45); display:grid; gap:.5rem; }
.samples-form-note strong { color:var(--gold); font:600 .6875rem/1rem 'Montserrat',Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.samples-form-note span { color:#343434; font:400 .8125rem/1.25rem 'Montserrat',Arial,sans-serif; }
.samples-form-card { padding:2.5rem; background:var(--paper); color:var(--ink); }
.samples-form-status { margin:0 0 1.25rem; padding:.875rem 1rem; font:500 .8125rem/1.4 'Montserrat',Arial,sans-serif; }
.samples-form-status.is-success { background:#e6f1df; color:#315026; }
.samples-form-status.is-error { background:#f6dfd8; color:#7b2d1c; }
.samples-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 1rem; }
.samples-field { display:grid; align-content:start; gap:.5rem; min-width:0; }
.samples-field > span:first-child { color:#343434; font:500 .6875rem/1rem 'Montserrat',Arial,sans-serif; letter-spacing:.045em; text-transform:uppercase; }
.samples-field b { color:#a4492f; }
.samples-field-wide { grid-column:1/-1; }
.samples-field input,.samples-field select,.samples-field textarea { width:100%; min-width:0; border:0; border-radius:0; padding:0 1.25rem; background:#efe5d9; box-shadow:inset 0 -1px var(--gold); color:#000; font:400 .75rem/1rem 'Montserrat',Arial,sans-serif; }
.samples-field input,.samples-field select { height:3.25rem; }
.samples-field textarea { min-height:6.5rem; padding-block:1rem; line-height:1.25rem; resize:vertical; }
.samples-field .phone-field { display:block; }
.samples-field .phone-field input { height:3.25rem; }
.samples-consent { margin-top:1.5rem; color:#7a7a7a; }
.samples-consent a { color:inherit; text-decoration:underline; text-underline-offset:.15em; }
.samples-submit { width:100%; min-height:2.625rem; margin-top:1.75rem; background:var(--gold); color:#fff; }
.samples-steps { margin-top:6.25rem; text-align:center; }
.samples-steps h2 { max-width:48rem; margin:0 auto; color:#000; }
.samples-steps-grid { margin-top:3.1875rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; text-align:left; }
.samples-steps-grid article { min-height:13.125rem; padding:1.875rem; position:relative; border:0; background:var(--cream); }
.samples-steps-grid article::after { content:''; width:3.5rem; height:1px; position:absolute; top:3.1rem; right:2rem; background:var(--gold); }
.samples-steps-grid span { color:var(--gold); font:500 1.25rem/1 'Cormorant',Arial,sans-serif; }
.samples-steps-grid h3 { margin:3.5rem 0 .875rem; color:#000; font:500 1.625rem/1.625rem 'Cormorant',Arial,sans-serif; text-transform:uppercase; }
.samples-steps-grid p { margin:0; color:#343434; font:400 .875rem/1.125rem 'Montserrat',Arial,sans-serif; }
.samples-orbit { display:none; }

@media (max-width:953px) {
  .samples-page { padding-top:7.5rem; padding-bottom:5.625rem; }
  .samples-hero { grid-template-columns:1fr; gap:1.5rem; text-align:center; }
  .samples-hero h1,.samples-lead { margin-inline:auto; }
  .samples-promises { justify-content:center; }
  .samples-hero-visual { min-height:16rem; }
  .samples-hero-visual img { width:15rem; height:15rem; }
  .samples-form-section { margin-top:3.75rem; padding:2.5rem; grid-template-columns:1fr; gap:2.5rem; }
  .samples-form-intro { max-width:38rem; }
  .samples-steps-grid { grid-template-columns:minmax(0,1fr); gap:1.875rem; }
}

@media (max-width:600px) {
  .samples-page { margin-top:0; padding:6.5625rem 1.125rem 4.5rem; }
  .samples-breadcrumb { margin-bottom:2rem; font-size:.6875rem; line-height:1.125rem; }
  .samples-hero { min-height:0; }
  .samples-hero h1 { font-size:2.285125rem; line-height:2.285125rem; }
  .samples-lead { margin-top:1.25rem; font-size:.875rem; line-height:1.1875rem; }
  .samples-promises { display:grid; justify-content:start; gap:.5rem; text-align:left; }
  .samples-hero-visual { min-height:13rem; }
  .samples-hero-visual img { width:12rem; height:12rem; }
  .samples-form-section { margin:2.5rem 0 0; padding:1.5rem; gap:2rem; }
  .samples-form-intro h2,.samples-steps h2 { font-size:2.25rem; }
  .samples-form-card { padding:1.5rem; }
  .samples-form-grid { grid-template-columns:1fr; }
  .samples-field-wide { grid-column:auto; }
  .samples-steps { margin-top:4.5rem; }
  .samples-steps-grid { margin-top:2rem; grid-template-columns:1fr; gap:.875rem; }
  .samples-steps-grid article { min-height:13.125rem; }
}

/* Shared cart cards on desktop and mobile. */
  .commerce-cart-products { padding:1.25rem 0; }
  .commerce-cart-product { min-height:0; grid-template-columns:4.375rem minmax(0,1fr) 2.75rem; grid-template-rows:auto auto; column-gap:.75rem; row-gap:1rem; align-items:center; }
  .commerce-cart-thumb { grid-column:1; grid-row:1; }
  .commerce-cart-product h3 { grid-column:2; grid-row:1; width:auto; height:auto; min-width:0; align-self:center; font-size:.9375rem; line-height:1.4; text-transform:none; }
  .commerce-cart-product h3 a { width:auto; top:0; line-height:inherit; overflow-wrap:anywhere; text-transform:none; }
  .commerce-cart-quantity { grid-column:1/3; grid-row:2; width:max-content; top:0; padding:0; gap:.375rem; align-items:center; }
  .commerce-cart-quantity button { width:2.75rem; height:2.75rem; border-radius:.625rem; color:#714727; background:#f7f0e7; border-color:#e6d9ca; font-size:1.25rem; line-height:1; }
  .commerce-cart-quantity > span { min-width:1.5rem; text-align:center; }
  .commerce-cart-price { grid-column:2/4; grid-row:2; width:auto; justify-self:end; align-self:center; font-weight:600; white-space:nowrap; }
  .commerce-cart-remove { position:relative; grid-column:3; grid-row:1; top:auto; right:auto; width:2.75rem; height:2.75rem; align-self:start; }
  .commerce-cart-subtotal { min-height:0; padding:1.25rem 0; justify-content:space-between; align-items:baseline; gap:1rem; }
  .commerce-cart-subtotal > span,.commerce-cart-subtotal > strong { width:auto; white-space:nowrap; }
  .commerce-cart-subtotal > strong { font-weight:600; }
  .commerce-cart-remove::before,.commerce-cart-remove::after { top:calc(50% - .5px); left:calc(50% - .375rem); }
  .commerce-cart-product + .commerce-cart-product { margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid #e6d9ca; }
  .commerce-cart-remove { border-radius:.625rem; color:#714727; background:#f7f0e7; border-color:#e6d9ca; }
  .commerce-cart-remove::before,.commerce-cart-remove::after { background:#714727; }
  .commerce-cart-quantity button:hover,.commerce-cart-remove:hover { background:#eee1d2; }

/* Shared empty-state layout: reserve space for the close control on every screen. */
.commerce-modal-cart:has(.commerce-cart--empty),
.commerce-modal-wishlist:has(.commerce-wishlist--empty) { width:calc(100% - 32px); max-width:560px; height:auto; min-height:144px; border-radius:14px; }
.commerce-cart--empty,.commerce-wishlist--empty { height:auto; }
.commerce-cart-empty,.commerce-wishlist--empty .commerce-wishlist-empty { box-sizing:border-box; height:auto; min-height:144px; padding:56px 24px 28px; position:relative; }
.commerce-cart-empty p,.commerce-wishlist--empty .commerce-wishlist-empty p { font:400 1rem/1.5 'Montserrat',Arial,sans-serif; text-transform:none; overflow-wrap:anywhere; }
.commerce-wishlist:not(.commerce-wishlist--empty) h2 { font:500 1.25rem/1.625rem 'Montserrat',Arial,sans-serif; text-transform:none; }
.commerce-wishlist-product h3 { text-transform:none; }

@keyframes theobroma-soft-in { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:no-preference) {
  @view-transition { navigation:auto; }
  ::view-transition-old(root),::view-transition-new(root) { animation-duration:220ms; animation-timing-function:ease-out; }
  dialog[open] { animation:theobroma-soft-in 280ms ease-out both; }
  .commerce-modal.is-open .commerce-modal-wishlist > * { animation:theobroma-soft-in 280ms ease-out both; }
  .commerce-cart-quantity button,.commerce-cart-remove { transition:background-color 160ms ease,border-color 160ms ease; }
}
@media (prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  .commerce-modal { transition:none; }
}

/* Animate the loaded product once, independently of the shared modal backdrop. */
@keyframes theobroma-product-in {
  from { opacity:0; transform:translateY(18px); }
  to { opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:no-preference) {
  .commerce-modal.is-open .commerce-modal-product > .product-detail-page {
    animation:theobroma-product-in 360ms cubic-bezier(.22,1,.36,1) backwards;
  }
}



/* Client-approved presentation: focus remains functional, without visual rings. */
@layer theobroma-focus-policy {
  :focus, :focus-visible { outline: none !important; box-shadow: none !important; }
}

/* Boutique cards keep the copy and directions action in one flow. */
.buy-location-grid .buy-location {
  height:auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.buy-location-grid .buy-location-info {
  margin-top:.625rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:end;
}
.buy-location-grid .buy-location-copy { min-width:0; }
.buy-location-grid .buy-location h2 { margin:.0rem 0 0; }
.buy-location-grid .buy-location p { width:auto; max-width:100%; margin:.25rem 0 0; }
.buy-location-grid .buy-location p + p { margin-top:.125rem; }
.buy-location-grid .buy-location .button {
  position:static;
  align-self:end;
  flex:none;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .buy-location-grid {
    width:min(37.5rem,calc(100% - 5rem));
    grid-template-columns:1fr;
  }
}

@media (max-width: 767px) {
  .buy-location-grid .buy-location-info {
    grid-template-columns:1fr;
    gap:.75rem;
  }
  .buy-location-grid .buy-location .button { justify-self:end; }
}

/* Cookie choices share the storefront palette and stay above the bottom safe area. */
.cookie-notice {
  left:50%; right:auto; bottom:max(1rem,env(safe-area-inset-bottom));
  transform:translateX(-50%); width:min(72.5rem,calc(100% - 2rem));
  box-sizing:border-box; display:flex; align-items:center; gap:2rem;
  padding:1.25rem 1.5rem; border:1px solid var(--line); border-radius:1rem;
  background:var(--paper); color:var(--ink); box-shadow:0 .5rem 2rem rgba(36,29,25,.12);
  font:400 .8125rem/1.6 'Montserrat',Arial,sans-serif;
}
.cookie-notice[hidden] { display:none; }
.cookie-notice-copy { flex:1; min-width:0; }
.cookie-notice-copy strong { display:block; margin-bottom:.375rem; font-size:1rem; font-weight:500; }
.cookie-notice p { color:var(--muted); }
.cookie-notice a { color:#826323; border:0; text-decoration:underline; text-underline-offset:.2em; }
.cookie-notice-actions { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }
.cookie-notice button {
  min-height:44px; margin:0; padding:.75rem 1.25rem; border:1px solid var(--gold);
  border-radius:99rem; font:500 .8125rem/1.3 'Montserrat',Arial,sans-serif;
  text-transform:none; letter-spacing:normal; white-space:nowrap; color:#fff; background:var(--gold);
}
.cookie-notice button[data-cookie-choice="0"] { color:var(--ink); background:transparent; }
.cookie-notice button:hover { background:#987929; border-color:#987929; color:#fff; }
.cookie-notice :is(button,a):focus-visible { outline:2px solid #826323; outline-offset:3px; }
@media (max-width:900px) {
  .cookie-notice { gap:1rem; flex-direction:column; align-items:stretch; }
  .cookie-notice-actions { justify-content:flex-end; }
}
@media (max-width:600px) {
  .cookie-notice { width:calc(100% - 1.25rem); padding:1rem; bottom:max(.625rem,env(safe-area-inset-bottom)); }
  .cookie-notice-copy strong { font-size:.9375rem; }
  .cookie-notice-actions { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:.5rem; }
  .cookie-notice button { white-space:normal; padding:.625rem .5rem; font-size:.75rem; }
}
@media (prefers-reduced-motion:no-preference) {
  .cookie-notice:not([hidden]) { animation:cookie-notice-in .28s ease-out; }
  .cookie-notice button { transition:background-color .2s,border-color .2s,color .2s; }
  @keyframes cookie-notice-in { from { opacity:0; translate:0 .75rem; } to { opacity:1; translate:0 0; } }
}

/* Match the understated corporate review arrows, below the cards. */
.reviews,.reviews-stage { height:auto; }
.reviews .review-controls { position:static; display:flex; justify-content:flex-end; gap:.75rem; margin-top:1rem; }
.reviews .review-controls button {
  width:3rem; height:3rem; min-width:44px; min-height:44px; padding:0;
  border:0; background:transparent; color:var(--gold);
  font:400 3.75rem/1 'Cormorant',Georgia,serif; cursor:pointer; transform:none;
}
.reviews .review-controls button:hover { color:#987929; }
.reviews .review-controls button:focus-visible { outline:2px solid #826323; outline-offset:2px; }
.reviews .reviews-button { height:auto; padding:1rem 0 3rem; }
.reviews .reviews-button .button { margin-top:0; }

@media (max-width:600px) {
  .reviews .review-controls { justify-content:center; }
}

.site-not-found { display:grid; place-items:center; min-height:clamp(32rem,70vh,48rem); padding:5rem var(--layout-gutter); text-align:center; background:var(--paper); }
.site-not-found__inner { max-width:42rem; }
.site-not-found__number { display:block; color:var(--gold); font:400 clamp(6rem,16vw,11rem)/.9 'Cormorant',Georgia,serif; }
.site-not-found h1 { margin:1.5rem 0 1rem; font:400 clamp(2.5rem,6vw,4.5rem)/1.05 'Cormorant',Georgia,serif; }
.site-not-found p { margin:0 auto; max-width:32rem; color:var(--muted); line-height:1.7; }
.site-not-found__actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:1rem 2rem; margin-top:2rem; }
.site-not-found__button { display:inline-flex; align-items:center; justify-content:center; min-height:3rem; padding:.75rem 2rem; border-radius:99px; color:#fff; background:var(--gold); }
.site-not-found__button:hover { background:#987929; }
.site-not-found__link { color:var(--gold); text-decoration:underline; text-underline-offset:.25rem; }
.site-not-found__button:focus-visible, .site-not-found__link:focus-visible { outline:2px solid #826323; outline-offset:3px; }

/* Product detail photos retain the complete uploaded composition. */
body .product-detail-image img { object-fit:contain; object-position:center; }
