/* Promotions reuse the CGC public type, warm surfaces and forest-green action. */
.cgc-promotion,.cgc-promotion * {box-sizing:border-box}
.cgc-promotion {color:#27232b;background:#f3edf7;font-family:'Open Sans',Arial,sans-serif;opacity:0;transform:translateY(6px);transition:opacity .22s ease-out,transform .22s ease-out;border:0;border-bottom:1px solid #ddd3df}
.cgc-promotion[hidden] {display:none!important}
.cgc-promotion.is-visible {opacity:1;transform:none}
.cgc-promotion__inner {position:relative;max-width:1100px;margin:auto;padding:16px 64px 16px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center}
.cgc-promotion__label {display:block;color:#615b63;font-size:11px;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;font-weight:700;margin-bottom:4px}
.cgc-promotion h2 {margin:0 0 4px;color:#5a3a6d;font:800 21px/1.25 Nunito,sans-serif}
.cgc-promotion p {margin:0;font-size:14px;line-height:1.5}
.cgc-promotion .cgc-promotion__action,.cgc-promotion .cgc-promotion__action:is(:link,:visited,:hover,:focus,:active) {display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;min-height:44px;background:#24544c;border:1px solid #24544c;border-radius:5px;color:#fffefa;text-decoration:none;font:700 16px/1.4 Nunito,sans-serif;text-align:center}
.cgc-promotion .cgc-promotion__action:hover {background:#1d463f}
.cgc-promotion .cgc-promotion__disclosure {grid-column:1/-1;font-size:12px;line-height:1.5;color:#615b63;margin-top:6px;max-width:75ch}
.cgc-promotion__dismiss {position:absolute;right:8px;top:8px;width:44px;height:44px;background:transparent;border:0;padding:0;color:#615b63;font:400 26px/1 Arial,sans-serif;cursor:pointer;border-radius:4px}
.cgc-promotion__dismiss:hover {background:#e7dced;color:#432b52}
.cgc-promotion :is(a,button):focus-visible {outline:3px solid #5a3a6d;outline-offset:3px}
.cgc-promotion--bottom {position:fixed;bottom:0;left:0;right:0;z-index:9990;border-top:1px solid #ddd3df;box-shadow:0 -4px 20px #27232b12;padding-bottom:env(safe-area-inset-bottom)}
.cgc-promotion--popup {position:fixed;margin:auto;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:0;border:1px solid #ddd3df;border-radius:8px}
.cgc-promotion--popup::backdrop {background:#27232b80}
.cgc-promotion--popup .cgc-promotion__inner {display:flex;flex-direction:column;align-items:stretch;padding:32px 24px 24px;gap:16px}
.cgc-promotion--popup .cgc-promotion__copy {padding-right:24px}
.cgc-promotion--popup h2 {font-size:26px}
.cgc-promotion--inline {max-width:1100px;width:calc(100% - 32px);margin:24px auto;border:1px solid #ddd3df;border-radius:8px}
.cgc-promotion--inline .cgc-promotion__inner {grid-template-columns:1fr;padding:24px 56px 24px 24px;gap:12px}
.cgc-promotion--inline .cgc-promotion__action {justify-self:start}
.cgc-promotion--text {max-width:1100px;width:calc(100% - 32px);margin:24px auto;background:transparent;border-block:1px solid #ddd3df}
.cgc-promotion--text .cgc-promotion__inner {display:block;padding:16px 52px 16px 0}
.cgc-promotion--text h2 {font-size:18px}
.cgc-promotion--text .cgc-promotion__action,.cgc-promotion--text .cgc-promotion__action:is(:link,:visited,:hover,:focus,:active) {background:transparent;color:#5a3a6d;display:inline-block;border:0;padding:8px 0;min-height:44px;text-decoration:underline;text-align:left}
@media(max-width:767px){
 .cgc-promotion__inner {grid-template-columns:1fr;padding:16px;gap:12px}
 .cgc-promotion__copy {padding-right:36px}
 .cgc-promotion .cgc-promotion__action {width:100%}
 .cgc-promotion h2 {font-size:20px}
 .cgc-promotion--inline .cgc-promotion__inner {padding:20px 16px}
 .cgc-promotion--bottom {max-height:45dvh;overflow:auto}
 .cgc-promotion--text .cgc-promotion__action {width:auto}
}
@media(prefers-reduced-motion:reduce){.cgc-promotion {transition:none;transform:none}}
