/* Delta Pink October — front-end styles
   Brand palette taken from delta-medlab.com:
     navy   #CC3366   soft pink #FBC6DC   pink #CC3366   deep navy #8E2350
   NOTE: every visual property on buttons is hard-coded + !important.
   The Elementor theme resets <button> to a transparent, white-text box,
   which made our CTAs render as empty outlines. Do not replace these
   literals with CSS variables — var() lost the specificity fight. */

.dpo-inline,.dpo-block,.dpo-side,.dpo-modal{
  --dpo-rose:#CC3366;
  --dpo-rose-d:#8E2350;
  --dpo-soft:#FBC6DC;
  --dpo-soft-d:#F39CBE;
  --dpo-pink:#CC3366;
  --dpo-mist:#FEF3F9;
  --dpo-line:#F6DCE8;
  --dpo-body:#4B4B4B;
  --dpo-grey:#6E7280;
  --dpo-wa:#25D366;
  font-family:inherit;
  direction:rtl;
  text-align:right;
  box-sizing:border-box;
}
.dpo-inline *,.dpo-block *,.dpo-side *,.dpo-modal *{box-sizing:border-box;}

/* =====================================================================
   BUTTONS — armoured against theme overrides
   ===================================================================== */
.dpo-btn,
a.dpo-btn,
button.dpo-btn{
  display:inline-block !important;
  width:auto;
  padding:14px 28px !important;
  border:0 !important;
  border-radius:10px !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  text-align:center !important;
  text-decoration:none !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  box-shadow:none !important;
  cursor:pointer;
  transition:filter .15s ease, transform .15s ease;
  -webkit-appearance:none;
  appearance:none;
  min-height:0 !important;
}
.dpo-btn:hover{filter:brightness(1.08);transform:translateY(-1px);}
.dpo-btn:focus-visible{outline:3px solid #CC3366 !important;outline-offset:2px;}

.dpo-btn--primary,
a.dpo-btn--primary,
button.dpo-btn--primary{
  background:#CC3366 !important;
  background-image:none !important;
  color:#ffffff !important;
}
.dpo-btn--primary:hover{background:#8E2350 !important;}

.dpo-btn--olive,
a.dpo-btn--olive,
button.dpo-btn--olive{
  background:#FBC6DC !important;
  background-image:none !important;
  color:#4A0F28 !important;
}

.dpo-btn--wa,
a.dpo-btn--wa,
button.dpo-btn--wa{
  background:#25D366 !important;
  background-image:none !important;
  color:#0B2E17 !important;
}

.dpo-btn--full,
a.dpo-btn--full,
button.dpo-btn--full{
  display:block !important;
  width:100% !important;
  margin-top:10px !important;
}

/* =====================================================================
   INLINE STRIP (after first paragraph)
   ===================================================================== */
.dpo-inline{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:#FEF3F9;border:1px solid #F6DCE8;border-right:4px solid #FBC6DC;
  border-radius:12px;padding:14px 18px;margin:26px 0;max-width:100%;
}
.dpo-inline__icon{font-size:24px;line-height:1;flex:0 0 auto;}
.dpo-inline__txt{flex:1 1 240px;font-size:15.5px;color:#4B4B4B;line-height:1.6;margin:0;}
.dpo-inline__txt strong{color:#8E2350;}
.dpo-inline__btn,
a.dpo-inline__btn{
  flex:0 0 auto;
  background:#CC3366 !important;background-image:none !important;color:#fff !important;
  padding:11px 24px !important;border:0 !important;border-radius:9px !important;
  font-weight:700 !important;font-size:15px !important;text-decoration:none !important;
  box-shadow:none !important;transition:background .15s ease;
}
.dpo-inline__btn:hover{background:#8E2350 !important;}

/* =====================================================================
   END-OF-POST BLOCK
   ===================================================================== */
.dpo-block{
  background:linear-gradient(135deg,#8E2350 0%,#CC3366 100%);
  border-radius:18px;padding:32px 30px;margin:38px 0 20px;color:#F6DCE8;max-width:100%;
}
.dpo-block__tag{color:#FBC6DC;font-weight:700;font-size:14px;letter-spacing:.04em;margin-bottom:8px;}
.dpo-block__h{
  color:#fff !important;font-size:clamp(21px,3.4vw,29px);font-weight:800;
  margin:0 0 12px;line-height:1.3;
}
.dpo-block__p{font-size:16px;line-height:1.8;margin:0 0 22px;color:#F6DCE8;}
.dpo-block__p strong{color:#FBC6DC;}
.dpo-block__btns{display:flex;gap:12px;flex-wrap:wrap;}
.dpo-block__code{margin:18px 0 0;font-size:14px;color:#E7B9CE;}
.dpo-block__code b{
  color:#fff;background:#CC3366;padding:4px 12px;border-radius:6px;letter-spacing:.08em;
}

/* =====================================================================
   SIDEBAR CARD
   ===================================================================== */
.dpo-side{
  background:linear-gradient(160deg,#8E2350 0%,#CC3366 100%);
  border-radius:16px;padding:24px 22px;color:#F6DCE8;max-width:100%;
}
.dpo-side__tag{color:#FBC6DC;font-weight:700;font-size:13px;margin-bottom:8px;}
.dpo-side__h{color:#fff;font-weight:800;font-size:22px;line-height:1.35;margin-bottom:6px;}
.dpo-side__sub{font-size:14px;line-height:1.6;margin-bottom:16px;}
.dpo-side__link,
a.dpo-side__link{
  display:block;margin-top:14px;color:#FBC6DC !important;
  font-size:14px;font-weight:700;text-decoration:none !important;line-height:1.6;
}
.dpo-side__link:hover{text-decoration:underline !important;}

/* =====================================================================
   COUNTDOWN
   ===================================================================== */
.dpo-countdown{display:flex;gap:8px;justify-content:center;margin:0 0 16px;flex-wrap:wrap;}
.dpo-countdown:empty{display:none;}
.dpo-cd-unit{
  background:rgba(255,255,255,.12);border-radius:9px;padding:8px 12px;
  min-width:58px;text-align:center;
}
.dpo-countdown--light .dpo-cd-unit{background:#FEF3F9;border:1px solid #F6DCE8;}
.dpo-cd-n{display:block;font-size:20px;font-weight:800;color:#fff;line-height:1.2;}
.dpo-countdown--light .dpo-cd-n{color:#8E2350;}
.dpo-cd-l{display:block;font-size:11px;color:#E7B9CE;margin-top:2px;}
.dpo-countdown--light .dpo-cd-l{color:#6E7280;}

/* =====================================================================
   MODAL
   ===================================================================== */
.dpo-modal[hidden]{display:none !important;}
.dpo-modal{
  position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.dpo-modal__backdrop{
  position:absolute;top:0;right:0;bottom:0;left:0;inset:0;
  background:rgba(42,49,102,.74);
  animation:dpo-fade .2s ease;
}
.dpo-modal__box{
  position:relative;background:#fff;border-radius:20px;
  width:100%;max-width:430px;padding:34px 28px 24px;
  text-align:center;box-shadow:0 24px 70px rgba(20,25,60,.4);
  animation:dpo-pop .25s cubic-bezier(.2,.9,.3,1.2);
  max-height:92vh;overflow-y:auto;overflow-x:hidden;
}
@keyframes dpo-fade{from{opacity:0}to{opacity:1}}
@keyframes dpo-pop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}

/* close X — theme turns bare <button> into a bordered box, so reset hard */
.dpo-modal__x,
button.dpo-modal__x{
  position:absolute !important;left:12px;inset-inline-end:12px;top:10px;
  width:34px !important;height:34px !important;min-height:0 !important;
  padding:0 !important;margin:0 !important;
  background:transparent !important;background-image:none !important;
  border:0 !important;border-radius:50% !important;box-shadow:none !important;
  font-size:26px !important;line-height:1 !important;font-weight:400 !important;
  color:#C79BAE !important;cursor:pointer;-webkit-appearance:none;appearance:none;
  display:flex !important;align-items:center;justify-content:center;
}
.dpo-modal__x:hover{background:#FEF3F9 !important;color:#8E2350 !important;}

.dpo-modal__tag{color:#CC3366;font-weight:700;font-size:14px;margin-bottom:6px;}
.dpo-modal__h{
  color:#8E2350 !important;font-size:25px;font-weight:800;
  margin:0 0 8px;line-height:1.3;
}
.dpo-modal__sub{font-size:14.5px;color:#6E7280;margin:0 0 18px;line-height:1.6;}
.dpo-modal__skip,
a.dpo-modal__skip{
  display:block;margin-top:16px;font-size:14px;font-weight:700;
  color:#CC3366 !important;text-decoration:none !important;
}
.dpo-modal__skip:hover{text-decoration:underline !important;}

/* dismiss — plain text link, not a themed button */
.dpo-modal__dismiss,
button.dpo-modal__dismiss{
  display:block !important;width:100% !important;
  margin:12px 0 0 !important;padding:6px !important;min-height:0 !important;
  background:transparent !important;background-image:none !important;
  border:0 !important;box-shadow:none !important;border-radius:0 !important;
  color:#6E7280 !important;font-size:13.5px !important;font-weight:400 !important;
  font-family:inherit !important;cursor:pointer;-webkit-appearance:none;appearance:none;
  text-transform:none !important;
}
.dpo-modal__dismiss:hover{color:#4B4B4B !important;}

/* =====================================================================
   FORM
   ===================================================================== */
.dpo-form{margin:0;}
.dpo-form input[type="tel"]{
  width:100% !important;padding:14px 16px !important;
  border:1px solid #CFD5E6 !important;border-radius:10px !important;
  font-size:16px !important;font-family:inherit !important;
  text-align:right;direction:rtl;
  margin:0 0 10px !important;background:#fff !important;color:#4B4B4B !important;
  box-shadow:none !important;min-height:0 !important;
}
.dpo-form input[type="tel"]:focus{
  outline:0;border-color:#CC3366 !important;box-shadow:0 0 0 3px rgba(58,66,138,.15) !important;
}
.dpo-form input.dpo-err{border-color:#CC3366 !important;}
.dpo-form__msg{font-size:14px;margin:10px 0 0;min-height:1em;line-height:1.5;}
.dpo-form__msg.ok{color:#2E7D32;font-weight:700;}
.dpo-form__msg.bad{color:#CC3366;}
.dpo-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
/* honeypot — hidden from humans, visible to bots */
.dpo-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}

/* =====================================================================
   STICKY SIDE RAIL
   Desktop only. Slides in on scroll, collapses to a slim tab when closed.
   ===================================================================== */
.dpo-rail{
  position:fixed;top:50%;z-index:9998;
  width:232px;
  transform:translateY(-50%);
  font-family:inherit;direction:rtl;text-align:right;
  pointer-events:none;
}
.dpo-rail--left{left:0;}
.dpo-rail--right{right:0;}
.dpo-rail[hidden]{display:none !important;}

/* hidden until the visitor has scrolled a little */
.dpo-rail__card{
  pointer-events:auto;
  background:linear-gradient(160deg,#8E2350 0%,#CC3366 100%);
  color:#F6DCE8;
  padding:20px 18px 16px;
  box-shadow:0 14px 40px rgba(20,25,60,.34);
  position:relative;
  opacity:0;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.1), opacity .35s ease;
}
.dpo-rail--left  .dpo-rail__card{border-radius:0 16px 16px 0;transform:translateX(-110%);}
.dpo-rail--right .dpo-rail__card{border-radius:16px 0 0 16px;transform:translateX(110%);}
.dpo-rail.is-in .dpo-rail__card{transform:translateX(0);opacity:1;}

/* olive edge stripe — the attention cue */
.dpo-rail__card::before{
  content:"";position:absolute;top:0;bottom:0;width:5px;background:#FBC6DC;
}
.dpo-rail--left  .dpo-rail__card::before{right:0;}
.dpo-rail--right .dpo-rail__card::before{left:0;}

.dpo-rail__x,
button.dpo-rail__x{
  position:absolute !important;top:6px;
  width:26px !important;height:26px !important;min-height:0 !important;
  padding:0 !important;margin:0 !important;
  background:transparent !important;background-image:none !important;
  border:0 !important;border-radius:50% !important;box-shadow:none !important;
  color:#FBC6DC !important;font-size:20px !important;line-height:1 !important;
  font-weight:400 !important;cursor:pointer;
  display:flex !important;align-items:center;justify-content:center;
  -webkit-appearance:none;appearance:none;
}
.dpo-rail--left  .dpo-rail__x{left:8px;}
.dpo-rail--right .dpo-rail__x{right:8px;}
.dpo-rail__x:hover{color:#fff !important;background:rgba(255,255,255,.12) !important;}

.dpo-rail__tag{
  color:#FBC6DC;font-weight:700;font-size:11.5px;letter-spacing:.05em;
  margin-bottom:10px;padding-inline-end:22px;
}
.dpo-rail__price{display:flex;align-items:baseline;gap:6px;margin-bottom:2px;}
.dpo-rail__num{
  font-size:44px;font-weight:800;color:#fff;line-height:1;
  text-shadow:0 2px 10px rgba(163,191,100,.35);
}
.dpo-rail__cur{font-size:15px;font-weight:700;color:#FBC6DC;}
.dpo-rail__name{font-size:13.5px;color:#fff;font-weight:700;line-height:1.5;margin-bottom:8px;}
.dpo-rail__name--lg{font-size:16px;margin-top:4px;}
.dpo-rail__sub{font-size:12px;color:#E7B9CE;line-height:1.6;margin-bottom:12px;}

.dpo-countdown--rail{gap:5px;margin-bottom:12px;justify-content:flex-start;}
.dpo-countdown--rail .dpo-cd-unit{padding:5px 8px;min-width:44px;}
.dpo-countdown--rail .dpo-cd-n{font-size:15px;}
.dpo-countdown--rail .dpo-cd-l{font-size:9.5px;}

.dpo-rail .dpo-btn{font-size:14px !important;padding:11px 16px !important;}
.dpo-rail .dpo-btn--full{margin-top:8px !important;}

/* collapsed tab */
.dpo-rail__tab,
button.dpo-rail__tab{
  pointer-events:auto;
  position:absolute;top:50%;
  transform:translateY(-50%);
  display:none;align-items:center;gap:8px;
  padding:14px 10px !important;min-height:0 !important;
  background:#CC3366 !important;background-image:none !important;
  color:#fff !important;border:0 !important;box-shadow:0 8px 24px rgba(20,25,60,.3) !important;
  font-family:inherit !important;font-size:12.5px !important;font-weight:700 !important;
  cursor:pointer;-webkit-appearance:none;appearance:none;
  writing-mode:vertical-rl;
}
.dpo-rail--left  .dpo-rail__tab{left:0;border-radius:0 12px 12px 0 !important;}
.dpo-rail--right .dpo-rail__tab{right:0;border-radius:12px 0 0 12px !important;}
.dpo-rail__tab-txt{letter-spacing:.04em;}
.dpo-rail__tab-dot{
  width:8px;height:8px;border-radius:50%;background:#FBC6DC;flex:0 0 auto;
  animation:dpo-rail-pulse 1.8s ease-in-out infinite;
}
@keyframes dpo-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(163,191,100,.65);}
  70%    {box-shadow:0 0 0 9px rgba(163,191,100,0);}
}

.dpo-rail.is-collapsed .dpo-rail__card{display:none;}
.dpo-rail.is-collapsed .dpo-rail__tab{display:flex;}
.dpo-rail.is-muted{opacity:0;pointer-events:none;transition:opacity .2s ease;}

/* the rail is desktop furniture — never let it cover article text */
@media (max-width:991px){
  .dpo-rail{display:none !important;}
}
@media (prefers-reduced-motion:reduce){
  .dpo-rail__card{transition:none;}
  .dpo-rail__tab-dot{animation:none;}
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:600px){
  .dpo-block{padding:26px 20px;border-radius:14px;}
  .dpo-block__btns .dpo-btn{width:100% !important;}
  .dpo-inline{padding:14px;}
  .dpo-inline__btn{width:100% !important;}
  .dpo-modal__box{padding:30px 18px 20px;border-radius:16px;}
  .dpo-modal__h{font-size:22px;}
}

@media (prefers-reduced-motion:reduce){
  .dpo-modal__box,.dpo-modal__backdrop{animation:none;}
  .dpo-btn:hover{transform:none;}
}

/* the sidebar card once JS has moved it into the theme's column */
.dpo-side--placed{
  margin-bottom:20px;
  animation:dpo-side-in .4s ease both;
}
@keyframes dpo-side-in{
  from{opacity:0;transform:translateY(-8px);}
  to  {opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){
  .dpo-side--placed{animation:none;}
}


/* =========================================================================
 * Pink October — awareness layer + campaign-specific components
 * ========================================================================= */

.dpo-ribbon{display:inline-block;vertical-align:-2px;flex:0 0 auto;}

/* --- medical disclaimer: must stay readable, never fine-print-invisible --- */
.dpo-note{
  margin:16px 0 0 !important;font-size:12.5px !important;line-height:1.65 !important;
  color:#6E7280 !important;
}
.dpo-note--light{color:#E7B9CE !important;}
.dpo-block .dpo-note{color:#E7B9CE !important;}

/* --- secondary (ghost) button --- */
.dpo-btn--ghost{
  background:transparent !important;background-image:none !important;
  color:#CC3366 !important;border:2px solid #CC3366 !important;
}
.dpo-btn--ghost:hover{background:#FEF3F9 !important;color:#8E2350 !important;}
.dpo-block .dpo-btn--ghost{color:#FBC6DC !important;border-color:#FBC6DC !important;}
.dpo-block .dpo-btn--ghost:hover{background:rgba(255,255,255,.1) !important;color:#fff !important;}

/* --- top awareness strip: one line, dismissible, never covers content --- */
.dpo-topbar{
  position:relative;z-index:9998;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:9px 48px 9px 16px;
  background:linear-gradient(90deg,#FEF3F9 0%,#FBE3EE 100%);
  border-bottom:1px solid #F6DCE8;
  font-family:inherit;font-size:14px;color:#8E2350;
}
.dpo-topbar[hidden]{display:none !important;}
.dpo-topbar__ico{display:inline-flex;color:#CC3366;}
.dpo-topbar__txt{flex:1 1 220px;line-height:1.5;}
.dpo-topbar__cta{
  color:#fff !important;background:#CC3366 !important;background-image:none !important;
  text-decoration:none !important;padding:6px 14px;border-radius:999px;
  font-weight:700;font-size:13.5px;white-space:nowrap;
}
.dpo-topbar__cta:hover{background:#8E2350 !important;}
.dpo-topbar__x{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;line-height:1;border:0;border-radius:50%;
  background:transparent !important;color:#A8637F !important;font-size:22px;
  cursor:pointer;-webkit-appearance:none;appearance:none;
}
.dpo-topbar__x:hover{background:#F6DCE8 !important;color:#8E2350 !important;}

/* --- the ribbon badge: small, fixed, out of the way --- */
.dpo-badge{
  position:fixed;bottom:22px;z-index:9997;
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 15px;border-radius:999px;
  background:#fff !important;color:#CC3366 !important;
  border:1.5px solid #F6DCE8;
  box-shadow:0 6px 22px rgba(204,51,102,.22);
  font-family:inherit;font-size:13.5px;font-weight:700;
  text-decoration:none !important;line-height:1;
  transition:transform .18s ease, box-shadow .18s ease;
}
/* Physical, not logical: the site is RTL, so inset-inline-start would
   resolve to the RIGHT edge and park the badge on the WhatsApp button. */
.dpo-badge--bl{left:22px;}
.dpo-badge--br{right:22px;}
.dpo-badge:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(204,51,102,.3);color:#8E2350 !important;}
.dpo-badge__ico{display:inline-flex;}
.dpo-badge__txt{white-space:nowrap;}

/* A soft pulse the first few seconds, then it stops — a badge that pulses
   forever is just a distraction. */
@keyframes dpo-pulse{0%{box-shadow:0 6px 22px rgba(204,51,102,.22);}50%{box-shadow:0 6px 26px rgba(204,51,102,.45);}100%{box-shadow:0 6px 22px rgba(204,51,102,.22);}}
.dpo-badge--pulse{animation:dpo-pulse 2.4s ease-in-out 3;}

@media (prefers-reduced-motion:reduce){
  .dpo-badge,.dpo-badge--pulse{animation:none !important;transition:none !important;}
}

/* On phones the badge shrinks to the mark alone so it never sits on the text. */
@media (max-width:600px){
  .dpo-badge{bottom:84px;padding:10px;}
  .dpo-badge__txt{display:none;}
}

.dpo-modal__or{
  margin:16px 0 10px !important;font-size:13px !important;color:#6E7280 !important;
  text-align:center;position:relative;
}

/* The rail tab is writing-mode:vertical-rl; the ribbon must not inherit it. */
.dpo-rail__tab-ico{display:inline-flex;writing-mode:horizontal-tb;flex:0 0 auto;}

/* The light note colour is only ever legible on the dark rose card. */
.dpo-note--light{color:#6E7280 !important;}
.dpo-block .dpo-note--light{color:#F6DCE8 !important;}
