/* ---------- announcement bar ---------- */
.cpbar{position:relative;z-index:101;background:linear-gradient(90deg,#5B1BC9 0%,#9B22D6 50%,#D61C8C 100%);color:#fff}
.cpbar .wrap{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding-top:6px;padding-bottom:6px}
.cpbar-ic{display:grid;place-items:center;flex:none;opacity:.9}
.cpbar-t{margin:0;font-size:14px;font-weight:700;line-height:1.5;text-align:center}
.cpbar-t b{font-family:"Outfit",sans-serif;font-weight:800;letter-spacing:.06em;padding:2px 10px;margin-inline-start:4px;border-radius:8px;background:rgba(255,255,255,.18);border:1px dashed rgba(255,255,255,.6);white-space:nowrap}:where(:root[data-theme=dark]) .cpbar-t b{border:1px dashed rgba(23,18,43,0.6)}
.cpbar-b{flex:none;height:32px;padding:0 16px;border-radius:999px;border:0;background:white;color:rebeccapurple;font-family:inherit;font-weight:800;font-size:13px;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s}
.cpbar-b:hover{transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(0,0,0,.45)}
.cpbar-x{flex:none;width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer;opacity:.75}
.cpbar-x:hover{opacity:1;background:rgba(255,255,255,.14)}
@media (max-width:700px){.cpbar .wrap{gap:8px;justify-content:space-between}
.cpbar-ic{display:none}
.cpbar-t{font-size:12.5px;text-align:start}
.cpbar-b{height:30px;padding:0 12px;font-size:12px}}
/* ---------- "عندك كوبون؟" strip ---------- */
.cps{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;width:fit-content;max-width:100%;margin:28px auto 0;padding:10px 12px 10px 18px;border-radius:16px;background:#FBF8FF;border:1.5px dashed #D6C4F5;color:var(--tx2);font-size:14.5px;font-weight:700}:where(:root[data-theme=dark]) .cps{background:#17122B;border:1.5px dashed #3B2D53}
.cps-ic{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:#fff;color:var(--v-ink);box-shadow:var(--sh-sm)}:where(:root[data-theme=dark]) .cps-ic{background:#17122B}
.cps-t{line-height:1.5}
.cps-b{flex:none;height:38px;padding:0 18px;border-radius:999px;border:0;background:var(--grad);color:#fff;font-family:inherit;font-weight:800;font-size:13.5px;cursor:pointer;box-shadow:0 10px 22px -12px rgba(192,38,211,.7);transition:transform .3s var(--ease)}
.cps-b:hover{transform:translateY(-1px)}
.cps.on{background:#F3FBF6;border-color:#9ED9B3;color:#14532D}:where(:root[data-theme=dark]) .cps.on{background:#163622;color:#ACEBC5}
.cps.on .cps-ic{color:#15803D}:where(:root[data-theme=dark]) .cps.on .cps-ic{color:#7FEAA7}
.cps-q{margin:22px 0 0;justify-content:flex-start}
@media (max-width:640px){.cps{width:100%;justify-content:flex-start;padding:12px}
.cps-t{flex:1;min-width:0;font-size:13.5px}
.cps-b{width:100%}}
/* ---------- prices ---------- */
.pricing .plans.many{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.pricing .plans.many{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pricing .plans.many{grid-template-columns:1fr}}
.plan .palt{margin-top:-4px;font-size:13px;font-weight:700;color:var(--v-ink)}
.plan .price .pcx{font-family:"Tajawal",sans-serif;font-size:26px;font-weight:900}
/* ---------- dialog ---------- */
.cpm{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px}
.cpm[hidden]{display:none}
.cpm-bg{position:absolute;inset:0;background:rgba(20,16,42,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:cpmF .25s ease}
.cpm-box{position:relative;width:min(440px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:30px 26px 24px;border-radius:24px;background:#fff;box-shadow:0 40px 90px -30px rgba(40,10,90,.55);text-align:center;animation:cpmU .35s var(--ease)}:where(:root[data-theme=dark]) .cpm-box{background:#17122B}
.cpm-x{position:absolute;top:12px;left:12px;width:34px;height:34px;border-radius:50%;border:0;background:#F5F1FC;color:var(--tx2);font-size:22px;line-height:1;cursor:pointer}:where(:root[data-theme=dark]) .cpm-x{background:#221636}
.cpm-ic{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--grad-d);color:#fff;box-shadow:0 14px 30px -12px rgba(192,38,211,.7)}
.cpm-box h3{margin-top:14px;font-size:22px;font-weight:900;color:var(--tx)}
.cpm-s{margin-top:6px;font-size:14.5px;color:var(--mut);line-height:1.7}
.cpm-f{display:flex;gap:10px;margin-top:18px}
.cpm-f .qf{flex:1;min-width:0;font-family:"Outfit",sans-serif;font-weight:700;font-size:18px;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.cpm-f .btn{height:54px;padding:0 22px;flex:none}
.cpm-f.busy{opacity:.6;pointer-events:none}
.cpm-err{min-height:22px;margin-top:10px;font-size:13.5px;font-weight:700;color:#B4235A}:where(:root[data-theme=dark]) .cpm-err{color:#E67FA6}
.cpm-tk{position:relative;display:flex;flex-direction:column;gap:4px;margin-top:18px;padding:18px 16px;border-radius:18px;background:linear-gradient(170deg,#F7F0FF,#FFF3FA);border:1.5px dashed #C9A9F5}:where(:root[data-theme=dark]) .cpm-tk{background:linear-gradient(170deg,#17122B,#17122B);border:1.5px dashed #3D2D53}
.cpm-tk-l{font-size:13px;font-weight:800;color:var(--v-ink)}
.cpm-tk b{font-family:"Outfit",sans-serif;font-size:30px;font-weight:800;letter-spacing:.08em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cpm-tk em{font-style:normal;font-size:14px;font-weight:700;color:var(--tx2)}
.cpm-row{margin-top:14px;text-align:start}
.cpm-row .qf{margin-top:6px}
select.qf{appearance:auto;background:#fff;color:var(--tx)}:where(:root[data-theme=dark]) select.qf{background:#17122B}
.cpm-wa{width:100%;margin-top:18px;gap:10px}
.cpm-rm{margin-top:10px;border:0;background:none;color:var(--mut);font-family:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
html.cpm-open{overflow:hidden}
@keyframes cpmF{from{opacity:0}}
@keyframes cpmU{from{opacity:0;transform:translateY(18px) scale(.97)}}
@media (prefers-reduced-motion:reduce){.cpm-bg,.cpm-box{animation:none}}
@media (max-width:480px){.cpm-f{flex-direction:column}
.cpm-f .btn{width:100%}}
.cpm-f[hidden],.cpm-ok[hidden]{display:none}
.cpm-err:empty{min-height:0;margin:0}
