:root{
  --cep-navy:#19364d;
  --cep-navy-2:#234d68;
  --cep-cream:#f7f0e3;
  --cep-paper:#fffdf8;
  --cep-teal:#75aaa6;
  --cep-coral:#dc806e;
  --cep-yellow:#e3bd59;
  --cep-lav:#b7a9cf;
  --cep-ink:#22323f;
}

.ce-promo{font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box;color:var(--cep-ink);position:relative;}
.ce-promo *, .ce-promo *:before, .ce-promo *:after{box-sizing:border-box;}
.ce-promo__eyebrow{font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--cep-coral);margin-bottom:5px;}
.ce-promo__headline{font-family:inherit!important;font-size:21px!important;line-height:1.2!important;color:var(--cep-navy)!important;margin:0 0 7px!important;font-weight:800!important;}
.ce-promo__body{font-size:14px!important;line-height:1.55!important;color:#4b5d69!important;margin:0 0 14px!important;}
.ce-promo__button{display:inline-flex;align-items:center;gap:9px;background:var(--cep-navy);color:#fff!important;text-decoration:none!important;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:800;box-shadow:0 4px 12px rgba(25,54,77,.12);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.ce-promo__button:hover{background:var(--cep-navy-2);transform:translateY(-1px);box-shadow:0 7px 16px rgba(25,54,77,.16);}
.ce-promo__button span{font-size:16px;line-height:1;}
.ce-promo__close{position:absolute;right:9px;top:8px;z-index:4;border:0;background:rgba(25,54,77,.08);color:var(--cep-navy);width:31px;height:31px;border-radius:50%;font-size:22px;line-height:29px;cursor:pointer;display:grid;place-items:center;padding:0;}
.ce-promo__close:hover{background:rgba(25,54,77,.14);}

/* Inline */
.ce-promo--inline{display:grid;grid-template-columns:minmax(0,150px) 1fr;gap:20px;align-items:center;background:linear-gradient(135deg,var(--cep-paper),var(--cep-cream));border:1px solid #ded4c5;border-left:7px solid var(--cep-teal);border-radius:16px;padding:18px;margin:30px 0;box-shadow:0 10px 28px rgba(32,48,61,.07);overflow:hidden;}
.ce-promo--inline:after{content:"";position:absolute;right:-36px;bottom:-52px;width:135px;height:135px;border-radius:50%;background:rgba(227,189,89,.18);}
.ce-promo--inline .ce-promo__media{align-self:stretch;min-height:112px;border-radius:12px;overflow:hidden;background:#eee2d4;position:relative;z-index:1;}
.ce-promo--inline .ce-promo__image-img{width:100%;height:100%;min-height:112px;object-fit:cover;display:block;}
.ce-promo--inline .ce-promo__content{position:relative;z-index:2;padding-right:12px;}

/* Floating slide-in */
.ce-promo--slidein{position:fixed;right:22px;bottom:22px;z-index:99990;width:min(470px,calc(100vw - 28px));display:grid;grid-template-columns:150px 1fr;background:var(--cep-paper);border:1px solid #ded4c5;border-radius:18px;box-shadow:0 24px 70px rgba(22,45,61,.24);overflow:hidden;transform:translateY(28px);opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility .3s ease;}
.ce-promo--slidein.ce-promo--visible{opacity:1;visibility:visible;transform:translateY(0);}
.ce-promo--slidein .ce-promo__media{min-height:100%;background:linear-gradient(135deg,var(--cep-paper),var(--cep-cream));display:flex;align-items:stretch;justify-content:center;padding:0;}
.ce-promo--slidein .ce-promo__image-img{width:100%;height:100%;object-fit:contain;display:block;}
.ce-promo--slidein .ce-promo__content{padding:20px 20px 18px 18px;}
.ce-promo--slidein .ce-promo__headline{font-size:18px!important;padding-right:22px;}
.ce-promo--slidein .ce-promo__body{font-size:13px!important;}

/* Popup */
.ce-promo-overlay{position:fixed;inset:0;z-index:99995;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,31,43,.56);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;}
.ce-promo-overlay.ce-promo--visible{opacity:1;visibility:visible;}
.ce-promo--popup{width:min(760px,100%);display:grid;grid-template-columns:minmax(220px, .85fr) minmax(0,1.15fr);background:var(--cep-paper);border-radius:22px;overflow:hidden;box-shadow:0 30px 100px rgba(9,28,42,.35);transform:translateY(18px) scale(.985);transition:transform .28s ease;}
.ce-promo-overlay.ce-promo--visible .ce-promo--popup{transform:translateY(0) scale(1);}
.ce-promo--popup .ce-promo__media{min-height:330px;background:var(--cep-cream);}
.ce-promo--popup .ce-promo__image-img{width:100%;height:100%;object-fit:cover;display:block;}
.ce-promo--popup .ce-promo__content{padding:38px 34px;align-self:center;}
.ce-promo--popup .ce-promo__headline{font-size:28px!important;}
.ce-promo--popup .ce-promo__body{font-size:15px!important;}

/* Banner */
.ce-promo--banner{width:100%;display:flex;align-items:center;justify-content:center;gap:18px;background:var(--cep-navy);color:white;padding:11px 58px 11px 20px;border-bottom:3px solid var(--cep-yellow);z-index:99;}
.ce-promo--banner .ce-promo__media{width:54px;height:40px;flex:0 0 54px;border-radius:8px;overflow:hidden;}
.ce-promo--banner .ce-promo__image-img{width:100%;height:100%;object-fit:cover;display:block;}
.ce-promo--banner .ce-promo__content{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;}
.ce-promo--banner .ce-promo__eyebrow{display:none;}
.ce-promo--banner .ce-promo__headline{color:#fff!important;font-size:15px!important;margin:0!important;}
.ce-promo--banner .ce-promo__body{color:rgba(255,255,255,.8)!important;font-size:13px!important;margin:0!important;}
.ce-promo--banner .ce-promo__button{background:var(--cep-yellow);color:var(--cep-navy)!important;padding:7px 13px;font-size:12px;box-shadow:none;}
.ce-promo--banner .ce-promo__close{right:14px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.11);color:white;}

.ce-promo[data-ce-hidden="1"]{display:none!important;}
body.ce-promo-modal-open{overflow:hidden;}

@media(max-width:700px){
  .ce-promo--inline{grid-template-columns:1fr;padding:14px;border-left-width:5px;}
  .ce-promo--inline .ce-promo__media{max-height:180px;}
  .ce-promo--inline .ce-promo__image-img{max-height:180px;}
  .ce-promo--slidein{right:14px;bottom:14px;width:min(94vw,420px);grid-template-columns:110px 1fr;}
  .ce-promo--popup{grid-template-columns:1fr;max-height:calc(100vh - 30px);overflow:auto;}
  .ce-promo--popup .ce-promo__media{min-height:180px;max-height:220px;}
  .ce-promo--popup .ce-promo__content{padding:25px 22px 27px;}
  .ce-promo--popup .ce-promo__headline{font-size:23px!important;}
  .ce-promo--banner{padding:10px 48px 10px 12px;gap:10px;align-items:flex-start;}
  .ce-promo--banner .ce-promo__content{display:block;}
  .ce-promo--banner .ce-promo__body{margin-top:3px!important;}
  .ce-promo--banner .ce-promo__button{margin-top:7px;}
}

@media(prefers-reduced-motion:reduce){
  .ce-promo,.ce-promo-overlay,.ce-promo__button{transition:none!important;}
}
