/* Final campaign layout refinement: keep calls to action clear and decoration out of their way. */
.campaign-active .hero .promotion-banner{display:block!important}
.campaign-active .hero .promotion-banner-copy{position:relative;z-index:3;max-width:690px}
.campaign-active .hero .promotion-banner-cta{display:inline-flex;margin-top:14px}
.campaign-active .hero .promotion-banner-art{right:18px;top:33%;z-index:1;pointer-events:none}
.campaign-active .hero:before,.campaign-active .hero .promotion-banner-art{pointer-events:none}
.campaign-active .hero>h1,.campaign-active .hero>p,.campaign-active .hero .promotion-banner-copy{position:relative;z-index:2}

/* Marketplace offers mirror the currently active public campaign. */
.customer-portal.campaign-active{--campaign:#465569;--campaign-soft:#eef2f6}
.customer-portal.campaign-active.promotion-theme-black_friday{--campaign:#17120a;--campaign-soft:#fff7df}
.customer-portal.campaign-active.promotion-theme-halloween{--campaign:#a94408;--campaign-soft:#fff1e4}
.customer-portal.campaign-active.promotion-theme-christmas{--campaign:#17704d;--campaign-soft:#edf8f1}
.customer-portal.campaign-active.promotion-theme-new_year{--campaign:#4a2785;--campaign-soft:#f4efff}
.customer-portal.campaign-active.promotion-theme-spring{--campaign:#258052;--campaign-soft:#edf9ef}
.customer-portal.campaign-active.promotion-theme-summer{--campaign:#087f8c;--campaign-soft:#eaf9fa}
.customer-portal.campaign-active .portal-marketplace,.customer-portal.campaign-active .review-card,.customer-portal.campaign-active .service-card,.customer-portal.campaign-active .portal-stat{border-color:color-mix(in srgb,var(--campaign) 28%,#e2eaf3)!important}
.customer-portal.campaign-active .portal-marketplace{background:linear-gradient(145deg,#fff,var(--campaign-soft))!important}
.customer-portal.campaign-active .review-card{background:linear-gradient(145deg,#fff,var(--campaign-soft))!important}
.customer-portal.campaign-active .review-card:after{content:"✦";float:right;color:var(--campaign);font-size:1.35rem;opacity:.22}
.customer-portal.campaign-active.promotion-theme-halloween .review-card:after{content:"🎃"}
.customer-portal.campaign-active.promotion-theme-christmas .review-card:after{content:"❄"}
.customer-portal.campaign-active .market-card.has-promotion{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--campaign) 48%,#e1e9f2)!important;background:linear-gradient(145deg,#fff,var(--campaign-soft))!important;box-shadow:0 13px 25px color-mix(in srgb,var(--campaign) 12%,transparent)}
.market-promotion{position:absolute;top:0;right:0;padding:7px 10px;border-radius:0 0 0 11px;background:var(--campaign);color:#fff;font-size:.64rem;font-weight:850}
.market-promotion b{margin-left:5px;padding:2px 5px;border-radius:999px;background:rgba(255,255,255,.19)}
.market-card.has-promotion .market-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.market-card.has-promotion .market-price del{width:100%;color:#728193;font-size:.79rem;font-weight:750;text-decoration-color:#cf4d4d;text-decoration-thickness:2px}
.market-card.has-promotion .market-price strong{color:var(--campaign);font-size:1.56rem}
.market-card.has-promotion .market-price em{padding:3px 6px;border-radius:999px;background:#ffe6e6;color:#bf2525;font-size:.69rem;font-style:normal;font-weight:850}
@media(max-width:820px){.market-card.has-promotion .market-price strong{font-size:1.4rem}}

/* Keep the old price clean and attach the discount directly above the period at the end of the new price. */
.front-page .has-promotion .package-price{grid-template-columns:auto!important;grid-template-areas:"old" "new"!important;position:relative}
.front-page .has-promotion .package-price del:before{content:none!important}
.front-page .has-promotion .package-price del{justify-self:center!important}
.front-page .has-promotion .package-price strong{grid-area:new;justify-self:center!important}
.front-page .has-promotion .package-saving{grid-area:new;align-self:start;justify-self:end;transform:translateY(-108%);margin-right:-5px;z-index:2}
@media(max-width:768px){.front-page .has-promotion .package-price del,.front-page .has-promotion .package-price strong{justify-self:start!important}.front-page .has-promotion .package-saving{justify-self:end;margin-right:0}}

/* Continue the campaign through the public-page reviews and lower sections. */
.front-page.campaign-active{--public-campaign:#465569;--public-soft:#eef2f6}
.front-page.campaign-active.promotion-theme-black_friday{--public-campaign:#a77b14;--public-soft:#fff8e7}
.front-page.campaign-active.promotion-theme-halloween{--public-campaign:#c35b0a;--public-soft:#fff1e3}
.front-page.campaign-active.promotion-theme-christmas{--public-campaign:#267850;--public-soft:#edf8f1}
.front-page.campaign-active.promotion-theme-new_year{--public-campaign:#7040aa;--public-soft:#f5efff}
.front-page.campaign-active.promotion-theme-spring{--public-campaign:#3c9860;--public-soft:#eef9f0}
.front-page.campaign-active.promotion-theme-summer{--public-campaign:#168d99;--public-soft:#edfbfc}
.front-page.campaign-active .ratings .review-item,.front-page.campaign-active .why-us,.front-page.campaign-active .references-section{border-color:color-mix(in srgb,var(--public-campaign) 30%,#e1ebf1)!important;background:linear-gradient(145deg,#fff,var(--public-soft))!important}.front-page.campaign-active .ratings .review-item{position:relative}
.front-page.campaign-active .ratings .review-item:after{content:"✦";position:absolute;right:17px;top:15px;color:var(--public-campaign);font-size:1.35rem;opacity:.2}
.front-page.campaign-active.promotion-theme-halloween .ratings .review-item:after{content:"🎃"}
.front-page.campaign-active.promotion-theme-christmas .ratings .review-item:after{content:"❄"}

/* Public start page: reduce the header-to-hero breathing room by roughly half. */
main.page-body:has(> .front-page){padding-top:35px!important}
@media(max-width:768px){main.page-body:has(> .front-page){padding-top:18px!important}}

/* Only discounted packages wear the seasonal campaign look; the rest stay classic Viahost. */
.front-page.campaign-active #paketi .card:not(.has-promotion),.front-page.campaign-active #paketi2 .card:not(.has-promotion),.front-page.campaign-active #paketi3 .card:not(.has-promotion){background:#fff!important;border-color:#dce8ee!important;box-shadow:0 8px 22px rgba(17,51,73,.045)!important}
.front-page.campaign-active #paketi .card:not(.has-promotion):after,.front-page.campaign-active #paketi2 .card:not(.has-promotion):after,.front-page.campaign-active #paketi3 .card:not(.has-promotion):after{color:#148b8b!important;font-size:5.9rem!important;opacity:.075!important}
.front-page.campaign-active #paketi .card:not(.has-promotion):nth-child(1):after,.front-page.campaign-active #paketi2 .card:not(.has-promotion):nth-child(1):after,.front-page.campaign-active #paketi3 .card:not(.has-promotion):nth-child(1):after{content:"01"!important}
.front-page.campaign-active #paketi .card:not(.has-promotion):nth-child(2):after,.front-page.campaign-active #paketi2 .card:not(.has-promotion):nth-child(2):after,.front-page.campaign-active #paketi3 .card:not(.has-promotion):nth-child(2):after{content:"02"!important}
.front-page.campaign-active #paketi .card:not(.has-promotion):nth-child(3):after,.front-page.campaign-active #paketi2 .card:not(.has-promotion):nth-child(3):after,.front-page.campaign-active #paketi3 .card:not(.has-promotion):nth-child(3):after{content:"03"!important}
.front-page.campaign-active #paketi .card:not(.has-promotion):nth-child(4):after,.front-page.campaign-active #paketi2 .card:not(.has-promotion):nth-child(4):after,.front-page.campaign-active #paketi3 .card:not(.has-promotion):nth-child(4):after{content:"04"!important}

/* Customer dashboard marketplace: deliberately compact, so packages scan like an overview instead of oversized tiles. */
.customer-portal .marketplace-grid{gap:13px!important}
.customer-portal .market-card{min-height:242px!important;padding:16px 17px!important;border-radius:14px!important}
.customer-portal .market-card-top{font-size:.58rem!important}
.customer-portal .market-card-top span:last-child{padding:3px 6px!important}
.customer-portal .market-card h4{margin:12px 0 6px!important;font-size:1rem!important}
.customer-portal .market-card p{font-size:.75rem!important;line-height:1.45!important}
.customer-portal .market-price{margin:12px 0 10px!important;padding-top:10px!important}
.customer-portal .market-price strong{font-size:1.27rem!important}
.customer-portal .market-order{padding:9px 11px!important;font-size:.76rem!important}
.customer-portal .market-promotion{padding:5px 8px!important;font-size:.57rem!important}
.customer-portal .market-card.has-promotion .market-price strong{font-size:1.32rem!important}
@media(max-width:820px){.customer-portal .marketplace-grid{gap:11px!important}.customer-portal .market-card{min-height:0!important;padding:15px!important}.customer-portal .market-card p{flex:initial!important}.customer-portal .market-price{margin-top:13px!important}.customer-portal .market-order{min-height:39px!important}}
