/* Campaign and catalog presentation — authoritative over legacy campaign rules. */
.campaign-hero{background:#201b17;color:var(--paper)}
.campaign-hero:after,.page-campaign:after{background:linear-gradient(270deg,rgba(32,27,23,.74),rgba(73,57,31,.18) 62%,rgba(32,27,23,.05));opacity:1;mix-blend-mode:normal}
.campaign-content{color:var(--paper);padding-block:40px}
.campaign-content h1{background:none;backdrop-filter:none;padding:0;font-size:clamp(48px,5.6vw,88px);line-height:1.3;text-shadow:0 2px 20px #201b1744;max-width:48%;font-weight:400}
.campaign-content h1 span{font-size:clamp(17px,1.7vw,25px);color:var(--paper)}
.campaign-content .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.campaign-content .button:hover{background:var(--sand);border-color:var(--sand)}
.site-main:has(>.page-campaign){padding-top:0}
.page-campaign{width:100vw;max-width:none;margin-inline:calc(50% - 50vw);margin-bottom:42px;background:var(--ink)}
.page-campaign h1,.page-campaign>p{background:none;backdrop-filter:none;padding:0;color:var(--paper);font-family:var(--display);font-weight:400;inset-inline-start:max(5%,calc((100vw - 1240px)/2));font-size:clamp(36px,4.5vw,68px);text-shadow:0 2px 18px #201b1755}
.catalog-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:36px;align-items:start}
.catalog-sidebar{border-block:1px solid #c9b697;position:sticky;top:125px}
.catalog-disclosure summary{list-style:none;font-size:20px;font-weight:500;padding:20px 0;display:flex;justify-content:space-between;cursor:pointer}
.catalog-disclosure summary::-webkit-details-marker{display:none}.catalog-disclosure[open] summary span{transform:rotate(45deg)}
.catalog-filter{display:flex;flex-direction:column;align-items:stretch;gap:22px;margin:0;padding:0 0 24px;border:0;background:none}
.catalog-filter>div:first-child{min-width:0}.catalog-filter>div{width:100%}.catalog-filter label{display:block;font-size:14px;margin-bottom:7px}
.catalog-filter input,.catalog-filter select{width:100%;min-height:48px;background:var(--surface);border:1px solid #c9b697;border-radius:5px;padding:10px 12px;color:var(--ink)}
.catalog-price{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;padding:0;margin:0;min-width:0}.catalog-price legend{font-size:14px;padding:0;margin-bottom:8px}
.catalog-price label{color:var(--muted);font-size:13px}.catalog-filter .filter-reset{text-align:center;font-size:14px;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:grid;place-items:center}
.catalog-results{min-width:0}.catalog-results .woocommerce-result-count{float:none;margin:0 0 24px}.catalog-results ul.products{clear:both}.catalog-results .woocommerce-notices-wrapper:empty{display:none}
.najdi-divider{padding-block:12px 2px;background:var(--ink);color:#b29a75;border-top:0}.najdi-divider svg{display:block;opacity:.65}
@media(max-width:900px){.catalog-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.catalog-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
.campaign-hero:after{inset:0;height:auto;width:auto;padding:0;aspect-ratio:auto;background:linear-gradient(0deg,#201b17 0%,rgba(73,57,31,.12) 78%)}
.campaign-content{position:relative;width:calc(100% - 36px);padding-block:20px 32px;z-index:2}.campaign-content h1{max-width:100%;font-size:44px;margin-bottom:22px}.campaign-content h1 span{font-size:17px;line-height:1.8}.campaign-content .button{min-height:48px}
.page-campaign{margin-bottom:28px}.page-campaign h1,.page-campaign>p{font-size:clamp(28px,7vw,42px);max-width:65%;inset-inline-start:5%;line-height:1.4}.page-campaign:after{background:linear-gradient(270deg,rgba(32,27,23,.76),rgba(73,57,31,.08))}
.catalog-layout{grid-template-columns:1fr;gap:26px}.catalog-sidebar{position:static}.catalog-disclosure summary{font-size:18px;padding:16px 0;min-height:56px}.catalog-filter{padding-bottom:20px;gap:18px}.catalog-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.catalog-disclosure summary span{transition:none}}
.catalog-filter>div:first-child,.catalog-filter>div:not(:first-child){width:100%;min-width:0;max-width:none;flex:none}.catalog-filter{flex-wrap:nowrap}.catalog-filter button,.catalog-filter>a{flex:none}
body{container-type:inline-size}.page-campaign{width:100cqw;margin-inline:calc(50% - 50cqw)}

/* Compact full-frame campaigns. Text and image share a continuous coffee surface. */
.campaign-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;direction:ltr;background:#201b17}
.campaign-hero>picture>img{grid-column:1;width:100%;max-height:480px!important;object-fit:contain!important;object-position:left center}
.campaign-hero:after{background:linear-gradient(90deg,transparent 35%,#201b1780 60%,#201b17 78%);inset:0;aspect-ratio:auto;padding:0;width:auto;height:auto}
.campaign-content{grid-column:2;position:relative;inset:auto;width:100%;margin:0;padding:32px clamp(24px,4vw,64px);direction:rtl;z-index:2}
.campaign-content h1{max-width:100%;font-size:clamp(42px,4.5vw,66px);margin-bottom:24px}.campaign-content h1 span{font-size:clamp(16px,1.45vw,22px);margin-top:12px}
.campaign-content .hero-motto{font-family:var(--display);font-size:clamp(16px,1.6vw,22px);line-height:1.8;color:var(--sand);margin-bottom:18px}
.page-campaign{background:#30251d}.page-campaign>img{height:clamp(180px,28vw,390px)!important;width:100%;object-fit:contain!important;object-position:left center}
.page-campaign:after{background:radial-gradient(ellipse at 95% 95%,rgba(18,14,11,.93) 0%,rgba(32,27,23,.7) 25%,rgba(32,27,23,.18) 54%,transparent 75%)}
.page-campaign h1,.page-campaign>p{top:auto;bottom:20%;transform:none;font-size:clamp(32px,4vw,58px);inset-inline-start:6%;max-width:60%}
.coffee-divider{display:flex;align-items:center;justify-content:center;gap:24px;background:var(--ink);color:#bda789;padding:28px 24px 4px}.coffee-divider span{width:min(18vw,220px);height:1px;background:currentColor;opacity:.3}.coffee-divider svg{flex:none}.site-footer{padding-top:28px}
.plain-page-heading,.catalog-title{padding-block:35px 25px;margin-bottom:24px;border-bottom:1px solid var(--line)}.plain-page-heading h1,.catalog-title h1{font-size:clamp(34px,4vw,52px);margin:0}.catalog-title .eyebrow{margin-bottom:10px}
@media(max-width:700px){
.campaign-hero{display:flex;flex-direction:column;gap:0;align-items:stretch}.campaign-hero>picture>img{max-height:none!important;height:auto!important;width:100%;object-fit:contain!important}
.campaign-hero:after{background:none}.campaign-content{margin-top:-1px;padding:22px 22px 26px;background:linear-gradient(180deg,#30251d,#201b17);display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;row-gap:10px}
.campaign-content:before{content:'';position:absolute;bottom:100%;height:40px;inset-inline:0;background:linear-gradient(0deg,#30251d,transparent);pointer-events:none}
.campaign-content .hero-motto{grid-column:1/-1;font-size:16px;margin:0;color:#d9c4a5}.campaign-content h1{font-size:36px;margin:0;line-height:1.25}.campaign-content h1 span{font-size:14px;margin-top:8px;line-height:1.7}.campaign-content .button{font-size:13px;padding:11px 15px;gap:8px;min-height:44px}.campaign-content .button svg{width:17px}
.page-campaign>img{height:clamp(155px,45vw,290px)!important;object-fit:contain!important}.page-campaign h1,.page-campaign>p{bottom:14%;font-size:30px;max-width:62%}.page-campaign:after{background:radial-gradient(ellipse at 100% 100%,#120e0beb,rgba(32,27,23,.38) 50%,transparent 82%)}
.coffee-divider{gap:20px;padding-top:22px}.coffee-divider svg{width:44px;height:38px}
}
@media(max-width:380px){.campaign-content{padding:18px 16px 22px;column-gap:10px}.campaign-content h1{font-size:31px}.campaign-content h1 span{font-size:12px}.campaign-content .hero-motto{font-size:14px}.campaign-content .button{padding:10px 12px;font-size:12px}.campaign-content .button svg{display:none}}
@media(min-width:701px){.campaign-hero:after{background:linear-gradient(90deg,transparent 24%,rgba(32,27,23,.2) 43%,#201b17 61.5%)}}

/* Full scene and a light directional smoke wash only behind the words. */
.page-campaign{overflow:visible;background:#30251d}
.page-campaign>img{width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center}
.page-campaign:after{inset:0;background:linear-gradient(270deg,rgba(25,20,16,.58) 0%,rgba(32,27,23,.32) 22%,rgba(32,27,23,.08) 42%,transparent 60%)}
.page-campaign h1,.page-campaign>p{bottom:18%;max-width:38%;font-size:clamp(34px,4.2vw,62px)}
.catalog-results .category-tabs{margin:0 0 26px;flex-wrap:wrap;gap:10px}.category-tabs>a{min-height:44px}
@media(min-width:701px){
.campaign-hero{display:block;min-height:0;background:#30251d}.campaign-hero>picture>img{width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important}
.campaign-hero:after{background:linear-gradient(270deg,rgba(25,20,16,.61),rgba(32,27,23,.33) 25%,rgba(32,27,23,.06) 48%,transparent 65%)}
.campaign-content{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;width:min(1240px,calc(100% - 96px));margin:auto;padding:32px 0;direction:rtl}.campaign-content h1{max-width:43%}.campaign-content .hero-motto{max-width:43%}
}
@media(max-width:700px){.page-campaign>img{height:auto!important}.page-campaign h1,.page-campaign>p{font-size:28px;bottom:15%;max-width:46%}.campaign-content{padding-block:26px 30px;row-gap:14px}.campaign-content h1{font-size:38px}.catalog-results .category-tabs{gap:8px}.category-tabs>a{font-size:13px;padding:9px 12px}}
@media(min-width:701px){.campaign-hero>picture>img{height:clamp(340px,39vw,560px)!important;object-fit:contain!important;object-position:left center}.page-campaign>img{height:clamp(240px,34vw,480px)!important;object-fit:contain!important;object-position:left center}}

.campaign-about>img,.campaign-menu>img{height:auto!important;max-height:none!important;width:100%;object-fit:contain!important}

.campaign-hero>picture{display:block;width:100%}.campaign-hero>picture>img{display:block;width:100%}
@media(min-width:701px){.campaign-hero>picture>img{height:auto!important;max-height:none!important;object-fit:contain!important}}

/* Lift page-banner labels slightly, consistently across campaign pages. */
.page-campaign h1,.page-campaign>p{bottom:27%}
@media(max-width:700px){.page-campaign h1,.page-campaign>p{bottom:24%}}
