/* Campaign 428:7945 / mobile 1009:28092, reusing product, cart, review and FAQ components. */
.campaign-page .announcement { background: var(--sage-600); }
.campaign-page .header-inner { justify-content: space-between; }
.campaign-page .header-actions { margin-left: auto; }
.campaign-hero { min-height: 533px; position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; background: var(--cream-100); }
.campaign-hero-photo { position: absolute; z-index: -2; inset: 0 0 0 auto; width: min(946px, 74%); }
.campaign-hero-photo img { width: 100%; height: 100%; object-fit: cover; mask-image: linear-gradient(90deg, transparent, #000 75%); }
.campaign-hero-copy { padding-block: 64px; }
.campaign-hero h1 { font: var(--title-h1); max-width: 800px; margin: 16px 0 16px; }
.campaign-hero h1 em { color: var(--terracotta-600); font-style: normal; }
.campaign-hero-copy > p { max-width: 700px; margin-bottom: 24px; color: var(--brown-800); }
.campaign-decor { position: absolute; pointer-events: none; z-index: -1; }
.campaign-leaf-top { top: 32px; left: calc(50% - 40px); }
.campaign-leaf-left { bottom: 0; left: 0; }
.campaign-botanical { bottom: 24px; left: calc(50% - 291px); }
.campaign-page .cart-benefits { background: #fff; color: var(--brown-800); }
.campaign-page .cart-benefits .benefit { border-color: var(--cream-100); }
.campaign-page .cart-benefits .benefit > .icon { color: var(--sage-600); }
.campaign-products { padding: 100px 0; background: var(--cream-100); }
.campaign-products h2 { font: var(--title-h2); margin-bottom: 32px; }
.campaign-products .product-track { gap: 16px; padding: 0; margin: 0; }
.campaign-products .product-card { flex: 0 0 calc((100% - 32px) / 3); padding: 15px; min-width: 0; border: 1px solid var(--cream-50); background: var(--cream-50); border-radius: 12px; }
.campaign-products .product-image-button { aspect-ratio: 384/360; }
.campaign-products .product-image-button img { width: 100%; height: 100%; aspect-ratio: 384/360; object-fit: cover; }
.campaign-products .product-card h3 { font: var(--title-h4); }
.campaign-products .product-card .button { background: var(--terracotta-600); min-height: 40px; font-size: 14px; padding: 8px 20px; }
.campaign-products .product-card .button:hover { background: var(--terracotta-700); }
.campaign-products .carousel-controls { display: none; }
.campaign-countdown { padding: 80px 20px; text-align: center; }
.campaign-countdown h2 { font: var(--title-h2); margin-bottom: 16px; }
.campaign-timer { max-width: 392px; margin: 0 auto 32px; display: grid; grid-template-columns: minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr); gap: 16px; }
.campaign-timer > div { display: grid; gap: 16px; }
.campaign-timer strong { display: grid; place-items: center; font: 600 48px/1 var(--sans); height: 96px; background: var(--cream-50); border: 1px solid var(--cream-200); border-radius: 8px; }
.campaign-timer span { color: var(--brown-600); }
.campaign-timer .campaign-timer-separator { font: var(--title-h2); padding-top: 20px; }
.campaign-countdown > .button { width: 392px; max-width: 100%; }
.campaign-countdown > p { margin-top: 24px; color: var(--brown-600); }
.campaign-countdown > .campaign-preview-note { font-size: 12px; line-height: 18px; margin-top: 12px; }
.campaign-faq { background: linear-gradient(180deg, #fff, var(--cream-100)); }
.campaign-footer { padding: 48px 0; }
.campaign-footer > .container { display: flex; align-items: center; justify-content: space-between; }
.campaign-footer .footer-brand { margin: 0; }
.campaign-footer .trustmark { width: 230px; margin: 0; }
@media (min-width:761px) and (max-width:1100px) {
 .campaign-hero h1 { font: var(--title-h2); max-width: 640px; }
 .campaign-products .product-card { flex-basis: calc((100% - 16px) / 2); }
 .campaign-products .carousel-controls { display: flex; }
}
@media (max-width:760px) {
 .campaign-page .header-actions [data-open-search] { display: none; }
 .campaign-page .container { width: calc(100% - 40px); }
 .campaign-hero { min-height: 716px; align-items: flex-start; }
 .campaign-hero-copy { padding-block: 32px; }
 .campaign-hero-photo { width: 100%; inset: 0; }
 .campaign-hero-photo img { object-fit: cover; object-position: center bottom; mask-image: linear-gradient(180deg, transparent 20%, #000 45%); }
 .campaign-hero .rating { font-size: 14px; }
 .campaign-hero h1 { font: var(--title-h3); margin: 16px 0 20px; }
 .campaign-hero h1 br { display: none; }
 .campaign-hero-copy > p { margin-bottom: 24px; font-size: 16px; line-height: 24px; }
 .campaign-leaf-top { top: 10px; right: -28px; left: auto; }
 .campaign-botanical, .campaign-leaf-left { display: none; }
 .campaign-page .cart-benefits .benefits { display: grid; grid-template-columns: 1fr; gap: 0; padding-block: 24px; }
 .campaign-page .cart-benefits .benefit { padding: 16px; height: auto; min-height: 105px; border-right: 0; border-bottom: 1px solid var(--cream-100); }
 .campaign-page .cart-benefits .benefit:last-child { border: 0; }
 .campaign-products { padding: 48px 0; overflow: hidden; }
 .campaign-products h2 { font: var(--title-h4); margin-bottom: 24px; }
 .campaign-products .product-track { overflow-x: auto; margin-right: -20px; padding-right: 20px; }
 .campaign-products .product-card { flex-basis: 315px; }
 .campaign-products .product-image-button { aspect-ratio: 284/280; }
 .campaign-products .product-card h3 { font: var(--title-h5); }
 .campaign-products .product-card .button { font-size: 12px; min-height: 32px; padding: 4px 16px; }
 .campaign-products .carousel-controls { display: flex; margin-top: 24px; }
 .campaign-countdown { padding: 48px 20px; }
 .campaign-countdown h2 { font: var(--title-h3); }
 .campaign-footer { padding: 32px 0; }
 .campaign-footer > .container { flex-direction: column; gap: 24px; }
}
@media (max-width:370px) {
 .campaign-hero h1 { font-size: 32px; }
 .campaign-hero .rating { gap: 6px; font-size: 12px; }
 .campaign-hero .stars { gap: 4px; }
 .campaign-products .product-card { flex-basis: calc(100vw - 56px); }
 .campaign-countdown h2 { font: var(--title-h4); }
 .campaign-timer { gap: 8px; grid-template-columns: minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr); }
 .campaign-timer strong { font-size: 40px; }
}

.campaign-page .cart-benefits .benefits { max-width: 1064px; }
