body{background:#fff;color:var(--color-text);font-family:var(--font-main)}
.container,.wrap{max-width:var(--container);margin:0 auto;padding:0 16px}
.section{margin-top:34px}
.section-title{font-size:22px;font-weight:900;text-transform:uppercase;margin:0 0 18px;letter-spacing:.02em}
.breadcrumb{font-size:13px;color:var(--color-muted);margin-bottom:20px;font-weight:700}
.breadcrumb a{color:var(--color-primary)}

.hero{max-width:var(--container);margin:22px auto 10px;padding:0 16px}
.hero-banner{min-height:270px;border-radius:2px;background:linear-gradient(90deg,#fde7ee,#fff3f5 45%,#f8d8e5);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}
.hero-copy{padding:34px 42px}
.hero-copy small{font-weight:900;color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em}
.hero-copy h1{margin:10px 0 8px;font-size:42px;line-height:1.05;letter-spacing:-1.5px}
.hero-copy p{font-size:16px;color:#555;line-height:1.55;max-width:520px}
.hero-copy a{display:inline-flex;background:var(--color-dark);color:#fff;padding:13px 22px;margin-top:10px;font-size:13px;font-weight:900;text-transform:uppercase}
.hero-side{height:100%;display:flex;align-items:center;justify-content:center;font-size:90px}
@media(max-width:1000px){.hero-banner{grid-template-columns:1fr}.hero-side{display:none}}
@media(max-width:560px){.hero-copy{padding:26px}.hero-copy h1{font-size:30px}}

.empty-state{background:#f7f7f7;border:1px solid #eee;padding:24px;font-weight:800;color:#777}
.sort-box{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:900}
.sort-box select{border:1px solid #ddd;padding:10px 12px;background:#fff;font-weight:800}
.filters-box{border:1px solid #eee;background:#fff;padding:18px}
.filters-box h3{margin:0 0 14px;text-transform:uppercase;font-size:16px}
.filter-check{display:flex;gap:8px;align-items:center;font-weight:800;margin:10px 0}
.filter-group{border-top:1px solid #eee;margin-top:16px;padding-top:16px}
.filter-muted{font-size:12px;color:#777;margin-top:8px;font-weight:700}
.pagination{display:flex;gap:8px;margin-top:28px}
.pagination a{border:1px solid #ddd;padding:9px 12px;font-weight:900}
.pagination a.active{background:#111;color:#fff;border-color:#111}
.category-layout{display:grid;grid-template-columns:260px 1fr;gap:24px}
.category-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:20px}
.category-head h1{margin:0;font-size:32px;letter-spacing:-1px}
.category-head p{margin:5px 0 0;color:#777;font-weight:700}
@media(max-width:900px){.category-layout{grid-template-columns:1fr}.category-head{align-items:flex-start;flex-direction:column}}

.search-page-form{display:flex;margin:0 0 22px;border:1px solid #ddd;background:#fff;max-width:720px}
.search-page-form input{border:0;padding:14px;width:100%;outline:0}
.search-page-form button{border:0;background:#111;color:#fff;padding:0 20px;font-weight:900;text-transform:uppercase}
@media(max-width:560px){.search-page-form{max-width:none}.search-page-form button{padding:0 14px}}

.home-wow{max-width:1260px;margin:0 auto;padding:0 16px 40px}
.home-hero{position:relative;margin-top:18px;min-height:350px;border-radius:18px;overflow:hidden;background:linear-gradient(110deg,var(--color-primary-soft) 0%,var(--color-primary-soft) 42%,var(--color-primary-pale) 100%);box-shadow:0 18px 40px rgba(15,157,88,.12);display:grid;grid-template-columns:1fr 1fr;align-items:center}
.home-hero:after{content:"";position:absolute;right:0;top:0;width:48%;height:100%;background:radial-gradient(circle at 70% 45%,rgba(255,255,255,.7),transparent 35%),linear-gradient(135deg,transparent,#f9b7cf)}
.home-hero-copy{position:relative;z-index:2;padding:48px}
.home-kicker{text-transform:uppercase;color:var(--color-primary);font-size:26px;font-weight:1000;letter-spacing:.02em}
.home-hero h1{font-size:44px;line-height:1.05;margin:12px 0;color:#111;letter-spacing:-1px}
.home-hero h1 span{display:block;font-size:92px;color:var(--color-primary);line-height:.95}
.home-hero p{font-size:20px;color:#333;margin:0 0 20px}
.home-hero a{display:inline-flex;align-items:center;background:var(--color-primary);color:#fff;border-radius:8px;padding:14px 20px;font-weight:1000;box-shadow:0 12px 24px rgba(15,157,88,.25)}
.home-hero-art{position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;gap:22px;font-size:96px}
.hero-product{filter:drop-shadow(0 20px 25px rgba(0,0,0,.14))}
.hero-product-2{font-size:120px}
.hero-dots{position:absolute;z-index:5;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.hero-dots span{width:9px;height:9px;background:#fff;border-radius:999px;opacity:.75}
.hero-dots span.active{width:22px;background:var(--color-primary)}

.home-benefits{display:grid;grid-template-columns:repeat(5,1fr);margin-top:20px;border:1px solid #eee;border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06);overflow:hidden}
.home-benefits div{padding:18px;border-right:1px solid #eee}
.home-benefits div:last-child{border-right:0}
.home-benefits b{display:block;font-size:14px;color:#111;margin-bottom:5px}
.home-benefits span{font-size:12px;color:#555}

.home-cats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:20px}
.home-cats a{min-height:92px;border-radius:12px;background:linear-gradient(135deg,var(--color-primary-soft),var(--color-primary-pale));padding:16px;position:relative;overflow:hidden;border:1px solid var(--color-border)}
.home-cats b{display:block;font-size:15px;line-height:1.2;margin-bottom:8px}
.home-cats span{font-size:12px;color:#555;font-weight:800}
.home-cats i{position:absolute;right:10px;bottom:5px;font-size:48px;opacity:.75;font-style:normal}

.home-section{margin-top:34px}
.home-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;border-top:1px solid #eee;padding-top:22px}
.home-section-head h2{margin:0;font-size:22px}
.home-section-head a{color:var(--color-primary);font-weight:900}

.campaign-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.campaign-card{min-height:138px;border-radius:14px;background:linear-gradient(135deg,var(--color-primary-soft),#ffddea);padding:22px;position:relative;overflow:hidden;border:1px solid var(--color-border)}
.campaign-card strong{display:block;color:var(--color-primary);font-size:24px;line-height:1.1}
.campaign-card span{display:block;font-weight:900;margin-top:6px}
.campaign-card em{display:inline-flex;margin-top:12px;border:1px solid var(--color-primary);color:var(--color-primary);border-radius:6px;padding:7px 10px;font-size:12px;font-style:normal;font-weight:900;background:#fff}
.campaign-card i{position:absolute;right:16px;bottom:8px;font-size:62px;color:var(--color-primary);opacity:.35;font-style:normal}

@media(max-width:1000px){
    .home-hero{grid-template-columns:1fr}
    .home-hero-art{display:none}
    .home-benefits{grid-template-columns:repeat(2,1fr)}
    .home-cats{grid-template-columns:repeat(3,1fr)}
    .campaign-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
    .home-hero-copy{padding:28px}
    .home-hero h1{font-size:34px}
    .home-hero h1 span{font-size:66px}
    .home-benefits,.home-cats,.campaign-grid{grid-template-columns:1fr}
}

/* Green theme overrides */
.home-hero{
    background:linear-gradient(110deg,var(--color-primary-soft) 0%,#fff 45%,var(--color-primary-pale) 100%)!important;
    box-shadow:0 18px 40px rgba(15,157,88,.14)!important;
}
.home-hero:after{
    background:radial-gradient(circle at 70% 45%,rgba(255,255,255,.7),transparent 35%),linear-gradient(135deg,transparent,var(--color-primary-light))!important;
    opacity:.55;
}
.home-kicker,
.home-hero h1 span,
.home-section-head a,
.campaign-card strong,
.campaign-card i{
    color:var(--color-primary)!important;
}
.home-hero a,
.hero-dots span.active{
    background:var(--color-primary)!important;
}
.home-cats a,
.campaign-card{
    background:linear-gradient(135deg,var(--color-primary-soft),var(--color-primary-pale))!important;
    border-color:var(--color-border)!important;
}
.campaign-card em{
    border-color:var(--color-primary)!important;
    color:var(--color-primary)!important;
}

/* Emerald Green Theme */
body{
    background:#fff;
}
a:hover{
    color:var(--color-primary);
}
.home-hero{
    background:linear-gradient(110deg,#E8F8F0 0%,#ffffff 45%,#DDF6EA 100%)!important;
    box-shadow:0 18px 40px rgba(15,157,88,.14)!important;
}
.home-hero:after{
    background:radial-gradient(circle at 70% 45%,rgba(255,255,255,.75),transparent 35%),linear-gradient(135deg,transparent,#34D399)!important;
    opacity:.5;
}
.home-kicker,
.home-hero h1 span,
.home-section-head a,
.campaign-card strong,
.campaign-card i{
    color:var(--color-primary)!important;
}
.home-hero a,
.hero-dots span.active,
.search-page-form button,
.pagination a.active{
    background:var(--color-primary)!important;
}
.home-cats a,
.campaign-card{
    background:linear-gradient(135deg,#F2FCF7,#E3F8ED)!important;
    border-color:var(--color-border)!important;
}
.campaign-card em{
    border-color:var(--color-primary)!important;
    color:var(--color-primary)!important;
}

.campaign-detail{margin-top:28px;background:#fff;border:1px solid var(--color-border);border-radius:18px;padding:28px;box-shadow:var(--shadow-card)}
.campaign-detail-hero{display:flex;gap:22px;align-items:center;background:linear-gradient(135deg,#F2FCF7,#E3F8ED);border:1px solid var(--color-border);border-radius:16px;padding:28px}
.campaign-detail-hero span{font-size:70px;color:var(--color-primary)}
.campaign-detail-hero h1{margin:0;font-size:42px;letter-spacing:-1px}
.campaign-detail-hero p{margin:8px 0;color:#333;font-size:18px;font-weight:800}
.campaign-detail-hero small{color:#64748b;font-weight:900}
.campaign-detail-content{margin-top:24px;line-height:1.8;color:#333;font-size:16px}
.campaign-detail-button{display:inline-flex;margin-top:22px;background:var(--color-primary);color:#fff;border-radius:10px;padding:14px 18px;font-weight:1000}
@media(max-width:700px){.campaign-detail-hero{align-items:flex-start;flex-direction:column}.campaign-detail-hero h1{font-size:30px}}

.campaign-page{max-width:1260px;margin:0 auto;padding:24px 16px 46px}
.campaign-hero-premium{min-height:430px;border-radius:24px;background:linear-gradient(115deg,#E8F8F0,#fff 48%,#DDF6EA);border:1px solid var(--color-border);box-shadow:0 24px 70px rgba(15,157,88,.13);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;position:relative}
.campaign-hero-premium:after{content:"";position:absolute;right:-80px;top:-80px;width:440px;height:440px;border-radius:999px;background:rgba(15,157,88,.10)}
.campaign-hero-copy{position:relative;z-index:2;padding:54px}
.campaign-eyebrow{display:inline-flex;background:#fff;border:1px solid var(--color-border);color:var(--color-primary-dark);border-radius:999px;padding:10px 14px;font-weight:1000;margin-bottom:16px}
.campaign-hero-copy h1{margin:0;font-size:58px;line-height:1.02;letter-spacing:-2px;color:#111}
.campaign-hero-copy p{font-size:21px;line-height:1.5;color:#333;margin:16px 0 0;max-width:600px}
.campaign-period{margin-top:22px;display:inline-flex;flex-direction:column;border:1px solid var(--color-border);background:#fff;border-radius:14px;padding:12px 16px}
.campaign-period span{font-size:12px;text-transform:uppercase;color:#64748b;font-weight:900}
.campaign-period strong{font-size:14px;color:#111;margin-top:4px}
.campaign-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.campaign-primary,.campaign-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:14px 18px;font-weight:1000}
.campaign-primary{background:var(--color-primary);color:#fff;box-shadow:0 12px 26px rgba(15,157,88,.24)}
.campaign-secondary{background:#fff;border:1px solid var(--color-border);color:var(--color-primary-dark)}
.campaign-hero-art{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:430px}
.campaign-discount-circle{width:270px;height:270px;border-radius:999px;background:#fff;box-shadow:0 22px 55px rgba(15,157,88,.18);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px solid var(--color-border)}
.campaign-discount-circle small{text-transform:uppercase;font-weight:1000;color:var(--color-primary);letter-spacing:.08em}
.campaign-discount-circle strong{font-size:38px;line-height:1.05;color:#111;margin-top:8px}
.campaign-floating{position:absolute;font-size:58px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.14))}
.campaign-floating.one{left:80px;top:70px}
.campaign-floating.two{right:95px;top:105px}
.campaign-floating.three{right:145px;bottom:85px}
.campaign-countdown{margin-top:22px;background:#fff;border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-card);padding:18px;display:grid;grid-template-columns:1fr repeat(4,110px);gap:12px;align-items:center}
.campaign-countdown > div:first-child span{display:block;color:var(--color-primary);font-weight:1000;text-transform:uppercase;font-size:12px}
.campaign-countdown > div:first-child strong{font-size:22px}
.campaign-timebox{background:#F6FCF9;border:1px solid var(--color-border);border-radius:14px;text-align:center;padding:12px}
.campaign-timebox b{display:block;font-size:30px;color:var(--color-primary)}
.campaign-timebox small{text-transform:uppercase;font-size:11px;color:#64748b;font-weight:1000}
.campaign-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.campaign-benefits div{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:18px;box-shadow:var(--shadow-card)}
.campaign-benefits b{display:block;color:#111}.campaign-benefits span{display:block;color:#64748b;margin-top:5px;font-size:13px}
.campaign-section{margin-top:34px}
.campaign-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}
.campaign-section-head h2{margin:0;font-size:28px;letter-spacing:-.6px}
.campaign-section-head p{margin:6px 0 0;color:#64748b}
.campaign-section-head a{font-weight:1000;color:var(--color-primary)}
.campaign-info-grid{display:grid;grid-template-columns:1fr 420px;gap:22px;margin-top:36px}
.campaign-info-card{background:#fff;border:1px solid var(--color-border);border-radius:18px;padding:24px;box-shadow:var(--shadow-card)}
.campaign-info-card h2{margin:0 0 14px;font-size:24px}
.campaign-rich-text{line-height:1.8;color:#333}
.campaign-faq details{border-top:1px solid var(--color-border);padding:14px 0}
.campaign-faq summary{cursor:pointer;font-weight:1000;color:#111}
.campaign-faq p{color:#64748b;line-height:1.6}
.campaign-newsletter{margin-top:34px;background:linear-gradient(115deg,#E8F8F0,#fff,#DDF6EA);border:1px solid var(--color-border);border-radius:20px;padding:26px;display:flex;justify-content:space-between;gap:18px;align-items:center}
.campaign-newsletter h2{margin:0;font-size:26px}.campaign-newsletter p{margin:6px 0 0;color:#64748b}
.campaign-newsletter form{display:flex;gap:10px;min-width:430px}
.campaign-newsletter input{flex:1;border:1px solid var(--color-border);border-radius:11px;padding:13px}
.campaign-newsletter button{border:0;border-radius:11px;background:var(--color-primary);color:#fff;font-weight:1000;padding:13px 16px}
@media(max-width:1000px){.campaign-hero-premium,.campaign-info-grid{grid-template-columns:1fr}.campaign-countdown{grid-template-columns:repeat(4,1fr)}.campaign-countdown > div:first-child{grid-column:1/-1}.campaign-benefits{grid-template-columns:repeat(2,1fr)}.campaign-newsletter{flex-direction:column;align-items:stretch}.campaign-newsletter form{min-width:0}}
@media(max-width:560px){.campaign-hero-copy{padding:30px}.campaign-hero-copy h1{font-size:38px}.campaign-discount-circle{width:220px;height:220px}.campaign-benefits,.campaign-countdown{grid-template-columns:1fr}.campaign-newsletter form{flex-direction:column}}

/* =========================================================
   CAMPAIGN PUBLIC HERO IMAGE V1
   ========================================================= */

.campaign-hero-media {
    position: relative;
    min-height: 440px;
    overflow: hidden;
    isolation: isolate;
    background: #06182f;
}

.campaign-hero-media picture,
.campaign-hero-media picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.campaign-hero-media picture {
    z-index: -3;
}

.campaign-hero-media picture img {
    object-fit: cover;
    object-position: center;
}

.campaign-hero-media__overlay {
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        linear-gradient(
            115deg,
            rgba(
                0,
                0,
                0,
                calc(var(--campaign-public-overlay, .35) * .35)
            ),
            rgba(
                0,
                0,
                0,
                var(--campaign-public-overlay, .35)
            )
        );
}

.campaign-hero-media__badge {
    position: absolute;
    right: 34px;
    bottom: 34px;
    display: flex;
    width: 150px;
    height: 150px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 999px;
    background: rgba(6, 24, 47, .48);
    color: var(--campaign-public-text, #fff);
    text-align: center;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .22);
    backdrop-filter: blur(9px);
}

.campaign-hero-media__badge small {
    color: inherit;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.campaign-hero-media__badge strong {
    display: block;
    max-width: 115px;
    margin-top: 4px;
    color: inherit;
    font-size: 22px;
    line-height: 1.05;
}

@media (max-width: 1000px) {
    .campaign-hero-media {
        min-height: 380px;
    }
}

@media (max-width: 700px) {
    .campaign-hero-media {
        min-height: 430px;
    }

    .campaign-hero-media picture img {
        object-position: center;
    }

    .campaign-hero-media__overlay {
        background:
            linear-gradient(
                0deg,
                rgba(0, 0, 0, .62),
                rgba(0, 0, 0, .05) 70%
            );
    }

    .campaign-hero-media__badge {
        right: 18px;
        bottom: 18px;
        width: 112px;
        height: 112px;
    }

    .campaign-hero-media__badge strong {
        max-width: 88px;
        font-size: 17px;
    }
}

/* CAMPAIGN HERO FULL WIDTH V1 */

.campaign-hero-premium.has-background-image {
    position: relative;
    display: block !important;
    min-height: 500px;
    overflow: hidden;
    isolation: isolate;
    background: #06182f;
}

.campaign-hero-premium.has-background-image .campaign-hero-media {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    min-height: 100%;
}

.campaign-hero-premium.has-background-image .campaign-hero-media picture,
.campaign-hero-premium.has-background-image .campaign-hero-media picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.campaign-hero-premium.has-background-image .campaign-hero-media picture img {
    object-fit: cover;
    object-position: center;
}

.campaign-hero-premium.has-background-image .campaign-hero-media__overlay {
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .62) 0%,
            rgba(0, 0, 0, .38) 38%,
            rgba(0, 0, 0, .08) 75%
        );
}

.campaign-hero-premium.has-background-image .campaign-hero-copy {
    position: relative;
    z-index: 3;
    display: flex;
    width: min(100%, 680px);
    min-height: 500px;
    flex-direction: column;
    justify-content: center;
    padding: 52px 58px;
    color: #fff;
}

.campaign-hero-premium.has-background-image .campaign-hero-copy h1,
.campaign-hero-premium.has-background-image .campaign-hero-copy p,
.campaign-hero-premium.has-background-image .campaign-hero-copy span,
.campaign-hero-premium.has-background-image .campaign-hero-copy strong {
    color: inherit !important;
}

.campaign-hero-premium.has-background-image .campaign-period {
    width: fit-content;
    border-color: rgba(255, 255, 255, .35);
    background: rgba(6, 24, 47, .35);
    color: #fff;
    backdrop-filter: blur(8px);
}

.campaign-hero-premium.has-background-image .campaign-hero-media__badge {
    z-index: 4;
}

@media (max-width: 700px) {
    .campaign-hero-premium.has-background-image,
    .campaign-hero-premium.has-background-image .campaign-hero-copy {
        min-height: 520px;
    }

    .campaign-hero-premium.has-background-image .campaign-hero-copy {
        width: 100%;
        justify-content: flex-end;
        padding: 28px 20px;
    }

    .campaign-hero-premium.has-background-image .campaign-hero-media__overlay {
        background:
            linear-gradient(
                0deg,
                rgba(0, 0, 0, .76) 0%,
                rgba(0, 0, 0, .20) 65%,
                rgba(0, 0, 0, .03) 100%
            );
    }
}
