/* Shared wide campaign: only the three selected colour palettes. */
dialog.gkm-campaign-dialog{--ad-color:#065ddd;--ad-ink:#fff;--ad-accent:#bdff49;--ad-price:#bdff49;--ad-black:#06182d;color-scheme:light;width:min(960px,calc(100% - 24px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:0;color:#fff;background:var(--ad-black);box-shadow:12px 12px 0 #0003,0 30px 70px #0005;overflow:auto;font:14px/1.5 Arial,Helvetica,system-ui,sans-serif;}
dialog.gkm-campaign-dialog[data-palette=red]{--ad-color:#ed242a;--ad-ink:#fff;--ad-accent:#ffe23e;--ad-price:#fff;--ad-black:#121212}
dialog.gkm-campaign-dialog[data-palette=yellow]{--ad-color:#ffdf25;--ad-ink:#121212;--ad-accent:#fff;--ad-price:#121212;--ad-black:#121212}
.gkm-campaign-dialog::backdrop{background:#080808ac;backdrop-filter:blur(5px)}
.gkm-campaign-dialog *{box-sizing:border-box;min-width:0}.gkm-campaign-dialog [hidden]{display:none!important}.gkm-campaign-dialog p,dialog.gkm-campaign-dialog h2[data-part=headline],dialog.gkm-campaign-dialog h3{margin:0}.gkm-campaign-dialog button{font:inherit;cursor:pointer}.gkm-campaign-dialog button:focus-visible,.gkm-campaign-dialog summary:focus-visible{outline:3px solid var(--ad-accent);outline-offset:3px}
.gkm-campaign-header{display:flex;align-items:center;gap:22px;padding-right:62px;min-height:68px;background:var(--ad-black);position:sticky;top:0;z-index:3;color:#fff}
.gkm-campaign-logo-wrap{background:#fff;align-self:stretch;display:flex;align-items:center;padding:14px 32px 14px 20px;clip-path:polygon(0 0,100% 0,88% 100%,0 100%);flex-shrink:0}.gkm-campaign-logo{display:block;width:135px;height:auto}
.gkm-campaign-header>p{font-size:16px;font-weight:800;letter-spacing:2px;line-height:1.3}.gkm-campaign-header>[data-part=eyebrow]{font-size:10px;letter-spacing:1.6px;margin-left:auto;color:#ddd;text-transform:uppercase}
.gkm-campaign-close{position:absolute;right:10px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff55;border-radius:0;background:#ffffff12;color:#fff;font-size:27px!important;line-height:1}.gkm-campaign-close:hover{background:#ffffff26}
.gkm-campaign-preview{padding:5px 20px;font-size:12px;color:var(--ad-accent);border-top:1px solid #ffffff24}
.gkm-campaign-hero{display:grid;grid-template-columns:1.2fr 1fr;position:relative;background:var(--ad-color);color:var(--ad-ink);overflow:hidden;isolation:isolate}
.gkm-campaign-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(128deg,transparent 0,transparent 57px,#0000000c 58px,#0000000c 60px);pointer-events:none}
.gkm-campaign-hero::after{content:"";position:absolute;z-index:-1;top:-70%;bottom:-70%;left:-80%;width:25%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:skewX(-25deg);animation:gkmCampaignSweep 7s ease-in-out infinite;pointer-events:none}
.gkm-campaign-message{padding:34px 0 31px 32px}
dialog.gkm-campaign-dialog h2[data-part=headline]{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(32px,5.1vw,58px);font-weight:800;line-height:1;letter-spacing:-.8px;text-transform:uppercase;margin:0 0 18px;max-width:none;color:var(--ad-ink);overflow-wrap:anywhere;white-space:pre-line}
.gkm-campaign-dialog h2>span{display:block}.gkm-campaign-dialog .gkm-campaign-headline-intro{font-size:.64em;letter-spacing:.2px;line-height:1.3;margin-bottom:4px}.gkm-campaign-dialog .gkm-campaign-impact{display:inline-block;background:var(--ad-black);color:#fff;padding:4px 8px 6px 6px;margin:6px 0 0 -5px;transform:rotate(-2deg);font-size:.98em;max-width:calc(100% - 8px)}
.gkm-campaign-lead{font-size:13px;line-height:1.5;max-width:350px;white-space:pre-line;overflow-wrap:anywhere;color:var(--ad-ink)}
.gkm-campaign-years{display:flex;gap:14px;margin:23px 0 0}.gkm-campaign-years span{position:relative;background:var(--ad-black);color:#fff;font-size:15px;font-weight:800;padding:9px 13px;line-height:1;animation:gkmYearPunch .35s ease-out .32s both}.gkm-campaign-years span+span::before{content:"";position:absolute;left:-14px;top:50%;width:14px;height:2px;background:var(--ad-black)}.gkm-campaign-years span:nth-child(2){animation-delay:.4s}.gkm-campaign-years span:nth-child(3){animation-delay:.48s}
.gkm-campaign-price{container-type:inline-size;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 25px 27px 12px;text-align:center}.gkm-campaign-price>[data-part=average]{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;max-width:250px}.gkm-campaign-price-row{display:flex;align-items:baseline;justify-content:center;white-space:nowrap;color:var(--ad-price);width:100%;line-height:1;animation:gkmPricePunch .7s cubic-bezier(.15,.7,.3,1.12) .22s both}.gkm-campaign-price-row>span{font-size:22px;font-weight:800;align-self:center;margin-right:5px}.gkm-campaign-price-row strong{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(32px,var(--gkm-price-fit,43cqi),180px);font-weight:900;letter-spacing:-.025em;line-height:1.05;text-shadow:5px 5px 0 #00000026}.gkm-campaign-price-row sup{font-size:24px;align-self:flex-start;margin-top:16px;font-weight:700}.gkm-campaign-price .gkm-campaign-unit{font-size:24px;font-weight:800;line-height:1;margin-bottom:12px}.gkm-campaign-price .gkm-campaign-period{font-size:11px;line-height:1.6;max-width:240px}
.gkm-campaign-actions{display:flex;align-items:center;gap:20px;padding:16px 25px;background:var(--ad-black)}.gkm-campaign-actions>span{font-size:10px;letter-spacing:1.3px;line-height:1.5;color:#ddd;max-width:210px;text-transform:uppercase}.gkm-campaign-actions [data-part=request]{flex:1;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ad-accent);color:#151515;border:0;border-radius:0;padding:16px 22px;min-height:52px;font-size:15px;text-transform:uppercase;font-weight:800;letter-spacing:.4px;transition:transform .18s,filter .18s;text-align:left;overflow-wrap:anywhere}.gkm-campaign-actions [data-part=request]:hover{transform:translateY(-2px);filter:brightness(1.07)}.gkm-campaign-actions [data-part=request]>span:last-child{font-size:26px;line-height:.8;flex-shrink:0}
.gkm-campaign-notices{padding:0 25px 12px;background:var(--ad-black);color:#ddd;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.gkm-campaign-notices details{border-top:1px solid #ffffff30}.gkm-campaign-notices summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:12px;font-weight:600}.gkm-campaign-legal-copy{padding:4px 0 10px;white-space:pre-line}.gkm-campaign-notices details p{margin-bottom:10px}dialog.gkm-campaign-dialog .gkm-campaign-notices h3{font-size:12px;line-height:1.6;color:#fff;font-weight:700;margin:15px 0 6px}.gkm-campaign-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #ffffff15}.gkm-campaign-controls button{background:transparent;color:#ddd;border:0;border-radius:0;padding:8px 0;min-height:38px;font-size:11px;text-align:left;text-decoration:underline;text-underline-offset:3px}.gkm-campaign-controls [data-part=later]{margin-left:auto}.gkm-campaign-controls button:disabled{cursor:default;text-decoration:none;color:#bbb}.gkm-campaign-notices [role=status]:empty{display:none}.gkm-campaign-notices [role=status]{padding-top:10px;color:var(--ad-accent)}
dialog.gkm-campaign-dialog[open]{animation:gkmCampaignEntrance .9s cubic-bezier(.18,.8,.25,1) backwards,gkmCampaignFloat 5s ease-in-out .9s infinite;will-change:transform}
/* Keep controls still under the pointer, and stop floating while reading legal details. */
dialog.gkm-campaign-dialog:has(button:hover,summary:hover,details[open]){animation-play-state:running,paused}
@keyframes gkmCampaignEntrance{0%{opacity:0;transform:translateY(80px) scale(.65) rotate(-3deg)}55%{opacity:1;transform:translateY(-12px) scale(1.015) rotate(.4deg)}78%{transform:translateY(5px) scale(.985)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gkmCampaignFloat{0%,100%{transform:translateY(0)}25%{transform:translateY(-7px)}75%{transform:translateY(7px)}}
.gkm-campaign-fireworks{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;user-select:none;contain:strict}
.gkm-campaign-burst{position:absolute;left:12%;top:22%;width:0;height:0;color:var(--ad-accent)}
.gkm-campaign-burst:nth-child(2){left:88%;top:26%;color:var(--ad-ink)}
.gkm-campaign-burst:nth-child(3){left:38%;top:75%}.gkm-campaign-burst:nth-child(4){left:78%;top:70%;color:var(--ad-ink)}
.gkm-campaign-burst::after{content:"";position:absolute;left:-5px;top:-5px;width:10px;height:10px;border:2px solid currentColor;border-radius:50%;opacity:0;animation:gkmFireworkRing 1s ease-out var(--burst-delay) both}
@keyframes gkmFireworkRing{0%{opacity:0;transform:scale(.5)}15%{opacity:.8}100%{opacity:0;transform:scale(12)}}
.gkm-campaign-spark{position:absolute;display:block;width:4px;height:18px;border-radius:3px;background:currentColor;box-shadow:0 0 2px #0005,0 0 10px currentColor;opacity:0;animation:gkmCampaignSpark 1.7s cubic-bezier(.15,.65,.3,1) var(--burst-delay) both}
.gkm-campaign-spark:nth-child(3n){width:7px;height:7px;border-radius:50%;color:var(--ad-price)}
@keyframes gkmCampaignSpark{0%{opacity:0;transform:translate(0,0) scale(.2) rotate(var(--spark-angle))}12%{opacity:1}65%{opacity:.9}100%{opacity:0;transform:translate(var(--spark-x),calc(var(--spark-y) + 24px)) scale(.6) rotate(var(--spark-angle))}}
.gkm-campaign-price-row{animation:gkmPricePunch .8s cubic-bezier(.15,.7,.3,1.12) .35s backwards,gkmPriceFloat 4s ease-in-out 1.15s infinite}
@keyframes gkmPriceFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.gkm-campaign-dialog[data-replaying=true],.gkm-campaign-dialog[data-replaying=true] *,.gkm-campaign-dialog[data-replaying=true] *::after{animation:none!important}
@keyframes gkmPricePunch{from{opacity:0;transform:scale(.6) translateY(16px)}to{opacity:1;transform:none}}
@keyframes gkmYearPunch{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes gkmCampaignSweep{0%,30%{left:-80%}65%,100%{left:150%}}
dialog.gkm-campaign-dialog[data-motion=off],.gkm-campaign-dialog[data-motion=off] *,.gkm-campaign-dialog[data-motion=off] *::before,.gkm-campaign-dialog[data-motion=off] *::after{animation:none!important;transition:none!important}
dialog.gkm-campaign-dialog[data-motion=paused],.gkm-campaign-dialog[data-motion=paused] *,.gkm-campaign-dialog[data-motion=paused] *::before,.gkm-campaign-dialog[data-motion=paused] *::after{animation-play-state:paused!important}
@media(max-width:760px){.gkm-campaign-header{gap:15px}.gkm-campaign-header>[data-part=eyebrow]{display:none}.gkm-campaign-logo-wrap{padding:13px 25px 13px 18px}.gkm-campaign-logo{width:113px}.gkm-campaign-message{padding:29px 0 27px 24px}.gkm-campaign-price{padding-right:16px}.gkm-campaign-actions{padding:16px 20px;gap:15px}.gkm-campaign-actions>span{max-width:148px}.gkm-campaign-actions [data-part=request]{padding:15px;font-size:12px}}
@media(max-width:550px){.gkm-campaign-hero{grid-template-columns:minmax(0,1fr)}.gkm-campaign-message{padding:27px 23px 0}dialog.gkm-campaign-dialog h2[data-part=headline]{font-size:44px;margin-bottom:13px}.gkm-campaign-lead{font-size:12px;max-width:none}.gkm-campaign-years{margin-top:16px}.gkm-campaign-price{padding:24px 20px 26px}.gkm-campaign-price-row strong{max-width:100%;font-size:clamp(32px,var(--gkm-price-fit,43cqi),132px)}.gkm-campaign-actions{padding:15px 18px}.gkm-campaign-actions>span{display:none}.gkm-campaign-notices{padding:0 18px 10px}.gkm-campaign-header>p{font-size:12px;letter-spacing:.6px}.gkm-campaign-header{gap:5px;min-height:64px;padding-right:55px}.gkm-campaign-logo{width:102px}.gkm-campaign-logo-wrap{padding:12px 22px 12px 14px}.gkm-campaign-close{right:5px;top:9px}.popup-settings-grid{grid-template-columns:1fr!important}.popup-settings-grid input,.popup-settings-grid textarea,.popup-settings-grid select{font-size:16px}}
@media(max-width:370px){.gkm-campaign-message{padding-left:18px;padding-right:18px}dialog.gkm-campaign-dialog h2[data-part=headline]{font-size:37px}.gkm-campaign-logo{width:86px}.gkm-campaign-header>p{font-size:11px}}
@media(pointer:coarse){.gkm-campaign-controls button{min-height:44px}}
@media(prefers-reduced-motion:reduce){dialog.gkm-campaign-dialog,.gkm-campaign-dialog *,.gkm-campaign-dialog *::before,.gkm-campaign-dialog *::after{animation:none!important;transition:none!important}}
.popup-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.popup-settings-grid .popup-wide{grid-column:1/-1}.popup-settings-grid label{display:grid;gap:6px;min-width:0}.popup-settings-grid input,.popup-settings-grid textarea,.popup-settings-grid select{width:100%;min-width:0}.popup-settings-grid textarea{resize:vertical}.popup-settings-language{display:flex;gap:8px;margin-bottom:14px}.popup-settings-language button[aria-pressed=true]{background:var(--navy,#063852);color:white}.popup-settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.popup-settings-summary{margin:12px 0;color:var(--muted,#617176)}.popup-settings-status{white-space:pre-line}.popup-settings-section+.popup-settings-section{margin-top:18px}.popup-settings-section h3{margin-bottom:14px}.popup-settings-toggle{display:flex!important;align-items:center;gap:10px!important}.popup-settings-toggle input{width:20px!important;height:20px}.popup-settings-legal{font-size:13px;line-height:1.6}.popup-settings-legal h4{margin:16px 0 7px}.popup-settings-legal p{white-space:pre-line}.popup-settings-years{display:flex;gap:8px}.popup-settings-years input{min-width:0;width:100%}

#popupSettingsEditor>[data-editor]{margin:0;padding:0;border:0;min-width:0}
#popupSettingsEditor textarea{font:inherit;line-height:1.5;padding:12px 14px;border:1px solid #bdd1d9;border-radius:6px;color:inherit;background:#fff}

/* Material price qualifications are visible in both editor preview and public dialog. */
.gkm-campaign-essential{padding:18px 28px;background:#fff;color:#243d34;border-top:1px solid #d9dfd3;font-size:12px;line-height:1.65}.gkm-campaign-essential p{margin:0 0 8px}.gkm-campaign-essential p:last-child{margin:0}

/* Campaign presentation, shared by the public page and the Toolbox preview. */
dialog.gkm-campaign-dialog{--ad-color:#e5eef2;--ad-ink:#173e54;--ad-accent:#d9edac;--ad-price:#173e54;--ad-black:#193b35;width:min(880px,calc(100% - 28px));border:1px solid #ffffff60;border-radius:10px;box-shadow:0 24px 100px #10251d55;font-family:"Segoe UI",Arial,sans-serif}
dialog.gkm-campaign-dialog[data-palette=red]{--ad-color:#f4e3df;--ad-ink:#713b31;--ad-price:#713b31;--ad-accent:#f2ccb9;--ad-black:#422f2b}
dialog.gkm-campaign-dialog[data-palette=yellow]{--ad-color:#f3efdc;--ad-ink:#5d501a;--ad-price:#5d501a;--ad-accent:#eae0a0;--ad-black:#39391f}
.gkm-campaign-dialog .gkm-campaign-logo-wrap{clip-path:none;padding:16px 22px;background:#fafaf6}
.gkm-campaign-dialog .gkm-campaign-header>p{font-size:13px;font-weight:600;letter-spacing:.09em}
.gkm-campaign-dialog .gkm-campaign-close{border-radius:4px}
.gkm-campaign-dialog .gkm-campaign-hero::before{display:none}
.gkm-campaign-dialog .gkm-campaign-message{padding:32px}
dialog.gkm-campaign-dialog h2[data-part=headline]{font-family:inherit;font-size:clamp(27px,4vw,46px);line-height:1.1;letter-spacing:-.04em;font-weight:600;text-transform:none;transform:none;color:var(--ad-ink)}
.gkm-campaign-dialog .gkm-campaign-headline-intro,.gkm-campaign-dialog .gkm-campaign-impact{display:block;font:inherit;color:inherit;background:none;padding:0;border:0;text-shadow:none;transform:none;letter-spacing:inherit;-webkit-text-stroke:0}
.gkm-campaign-dialog .gkm-campaign-years{gap:9px}
.gkm-campaign-dialog .gkm-campaign-years span{padding:9px 12px;border-radius:4px;font-weight:500;font-size:13px;animation:none}
.gkm-campaign-dialog .gkm-campaign-years span+span::before{display:none}
.gkm-campaign-dialog .gkm-campaign-price-row strong{font-family:inherit;font-weight:600;text-shadow:none;letter-spacing:-.06em;font-size:clamp(32px,var(--gkm-price-fit,43cqi),115px)}
.gkm-campaign-dialog .gkm-campaign-actions [data-part=request]{border-radius:4px;font-size:14px;font-weight:600;text-transform:none;letter-spacing:0}
.gkm-campaign-dialog .gkm-campaign-fireworks{display:none}
.gkm-campaign-dialog .gkm-campaign-price-row{animation:none}
dialog.gkm-campaign-dialog[open]{animation:gkmPublicCampaignReveal .3s ease-out both;will-change:auto}
@keyframes gkmPublicCampaignReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:620px){.gkm-campaign-dialog .gkm-campaign-message{padding:25px}.gkm-campaign-dialog .gkm-campaign-price{padding:20px 25px}.gkm-campaign-dialog .gkm-campaign-header>p{font-size:10px}.gkm-campaign-dialog .gkm-campaign-logo{width:106px}.gkm-campaign-dialog .gkm-campaign-logo-wrap{padding:14px}}
@media(prefers-reduced-motion:reduce){dialog.gkm-campaign-dialog[open]{animation:none!important}.gkm-campaign-dialog *{animation:none!important;transition:none!important}}
