/* Subscription plans popup (#modal_overlay_2 in web/base.html). Tokens from components.css. */
.cx-plans{
  --tier:var(--cx-primary);--tier-soft:#eef2ff;
  width:min(1120px,calc(100% - 32px));margin:24px auto;background:var(--cx-card);color:var(--cx-ink);
  border-radius:20px;box-shadow:0 24px 64px rgba(17,24,39,.22);padding:28px 32px 24px;position:relative;
  font-family:"Mulish","product_sansregular",system-ui,sans-serif;
}
.cx-plans .pop-close{position:absolute;top:16px;right:16px;margin:0}
.cx-plans .pop-up-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  background:var(--cx-bg);color:var(--cx-muted);font-size:20px;cursor:pointer;transition:background .15s,color .15s}
.cx-plans .pop-up-close:hover{background:var(--cx-line);color:var(--cx-ink)}
.cx-plans__head{padding-right:48px;margin-bottom:20px}
.cx-plans__eyebrow{display:inline-block;font-size:var(--cx-t1);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cx-primary);margin:0 0 6px}
.cx-plans__title{font-size:var(--cx-t6);font-weight:700;line-height:1.2;margin:0}
.cx-plans__sub{font-size:var(--cx-t2);color:var(--cx-muted);margin:6px 0 0}

/* one row, always: N cards share the width; below 900px the row scrolls horizontally with snap */
.cx-plans__row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;align-items:stretch}
@media(max-width:899.98px){
  .cx-plans{padding:20px 16px 16px;border-radius:16px}
  .cx-plans__row{grid-auto-columns:min(78vw,280px);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    padding:4px 4px 12px;margin:0 -4px;scrollbar-width:thin}
  .cx-plans__row>*{scroll-snap-align:start}
}

.cx-plan{display:flex;flex-direction:column;background:var(--cx-card);border:1px solid var(--cx-line);border-radius:16px;
  padding:20px 18px 18px;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}
.cx-plan::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--tier)}
.cx-plan:hover{transform:translateY(-3px);box-shadow:var(--cx-shadow);border-color:color-mix(in srgb,var(--tier) 35%,var(--cx-line))}
.cx-plan--basic{--tier:#6d28d9;--tier-soft:#f3eefc}
.cx-plan--standard{--tier:#1d4ed8;--tier-soft:#e9effc}
.cx-plan--premium{--tier:#ea580c;--tier-soft:#fff1e8}

.cx-plan__tier{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:var(--tier-soft);color:var(--tier);
  font-size:var(--cx-t1);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.cx-plan__name{font-size:var(--cx-t4);font-weight:700;margin:14px 0 4px;line-height:1.25}
.cx-plan__price{display:flex;align-items:baseline;gap:4px;margin:0 0 14px;color:var(--tier)}
.cx-plan__price .cur{font-size:var(--cx-t4);font-weight:600}
.cx-plan__price .amt{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1}
.cx-plan__price .per{font-size:var(--cx-t2);color:var(--cx-muted);font-weight:600;margin-left:2px}
.cx-plan__list{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--cx-line);display:flex;flex-direction:column;gap:9px;flex:1}
.cx-plan__list li{display:flex;gap:10px;align-items:flex-start;font-size:var(--cx-t2);line-height:1.45;color:var(--cx-ink)}
.cx-plan__list .zmdi{flex:0 0 18px;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:var(--tier-soft);color:var(--tier);font-size:12px;margin-top:2px}
.cx-plan__list .is-desc{color:var(--cx-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cx-plan .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--cx-tap);margin-top:18px;
  background:var(--tier);color:#fff;font-weight:700;font-size:var(--cx-t3);border-radius:10px;text-decoration:none;
  transition:filter .15s,transform .15s}
.cx-plan .button:hover{filter:brightness(1.08);transform:translateY(-1px);color:#fff}

.cx-plans__note{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:12px 14px;border-radius:12px;
  background:#fff8e6;border:1px solid #fde68a;color:#7c4a03;font-size:var(--cx-t1);line-height:1.5}
.cx-plans__note .zmdi{font-size:16px;line-height:1.4}
.cx-plans__empty{padding:40px 20px;text-align:center;color:var(--cx-muted);font-size:var(--cx-t3)}
@media(max-width:640px){div.pop-up-box.cx-plans{height:auto!important}}

/* ---- /plans/ page (web/website/subscriptions.html) ---- */
.cx-plans-page{width:90%;max-width:1400px;margin:28px auto 64px}
.cx-plans__row--page{gap:20px}
@media(min-width:900px){.cx-plans__row--page .cx-plan{padding:24px 22px 22px}}
.cx-sub-card{max-width:720px;margin:0 auto;background:var(--cx-card);border:1px solid var(--cx-line);border-radius:20px;padding:28px 28px 22px;box-shadow:var(--cx-shadow);--tier:var(--cx-primary);--tier-soft:#e9effc}
.cx-sub-card__head{text-align:center;padding-bottom:20px;border-bottom:1px solid var(--cx-line)}
.cx-sub-card__name{font-size:var(--cx-t5);font-weight:800;margin:12px 0 4px;color:var(--cx-ink)}
.cx-sub-card__meta{margin:0;color:var(--cx-muted);font-size:var(--cx-t2)}
.cx-sub-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 0;padding:0}
.cx-sub-facts>div{background:var(--cx-bg);border-radius:14px;padding:14px 16px}
.cx-sub-facts dt{font-size:var(--cx-t1);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cx-muted);margin:0 0 6px}
.cx-sub-facts dd{margin:0;font-size:var(--cx-t5);font-weight:800;color:var(--cx-ink)}
.cx-sub-facts dd.is-danger{color:var(--cx-danger)}
.cx-sub-expire{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 0;padding:12px;border-radius:12px;background:#fff1f1;color:var(--cx-danger);font-weight:700;font-size:var(--cx-t2)}
@media(max-width:640px){.cx-sub-facts{grid-template-columns:1fr}.cx-sub-card{padding:20px 16px}}

/* ---- bank-details / screenshot modal (#myModal in web/base.html) ---- */
#myModal{padding:8vh 16px 24px;display:none}
#myModal .modal-content{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;border:0;border-radius:20px;padding:28px 28px 24px;box-shadow:0 24px 64px rgba(17,24,39,.22);font-family:"Mulish","product_sansregular",system-ui,sans-serif}
#myModal .close{float:right;width:36px;height:36px;border-radius:50%;background:var(--cx-bg);color:var(--cx-muted);font-size:20px;line-height:36px;text-align:center;font-weight:400;margin:-6px -6px 0 0}
#myModal .close:hover{background:var(--cx-line);color:var(--cx-ink)}
#myModal .topo{border:0;padding:0}
#myModal .hed{font-size:var(--cx-t4);font-weight:800;margin:0 0 12px;color:var(--cx-ink)}
#myModal .accdet{border:1px solid var(--cx-line);border-radius:14px;padding:16px 18px;background:var(--cx-bg)}
#myModal .po{display:flex;justify-content:space-between;gap:12px;margin:0;padding:7px 0;border-bottom:1px dashed var(--cx-line);font-size:var(--cx-t2);color:var(--cx-ink);font-weight:700}
#myModal .po:last-child{border-bottom:0}
#myModal .smo{font-weight:600;color:var(--cx-muted);font-family:inherit}
#myModal .logos{display:flex;align-items:center;gap:10px;margin:16px 0 4px;padding:12px 16px;border:1px solid var(--cx-line);border-radius:14px}
#myModal .logos .svg{width:44px}
#myModal .logos h4{margin:0;color:var(--cx-muted);font-weight:600}
#myModal .logos .hd{margin:0 0 0 auto;font-size:var(--cx-t4);font-weight:800;color:var(--cx-ink)}
#myModal .boto{padding-top:18px;margin-top:14px;border-top:1px solid var(--cx-line)}
#myModal .boto h3.tt{font-size:var(--cx-t3);font-weight:800;margin:0 0 6px;color:var(--cx-ink)}
#myModal .boto p.tt{color:var(--cx-muted);line-height:1.5}
#myModal .upl{margin:12px 0}
#myModal .upl input[type=file]{width:100%;padding:12px;border:1px dashed var(--cx-line);border-radius:12px;background:var(--cx-bg);font-size:var(--cx-t2)}
#myModal .btnos{margin-top:4px}
#myModal .btno2,#myModal .btnos button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:var(--cx-tap);border:0;border-radius:10px;background:var(--cx-primary);color:#fff;font-weight:700;font-size:var(--cx-t3);cursor:pointer}
#myModal .btno2:hover,#myModal .btnos button:hover{background:var(--cx-primary-dark)}
.cx-plans__later{border:0;background:transparent;padding:0 0 0 4px;color:var(--cx-primary);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cx-plans__later:hover{color:var(--cx-primary-dark)}

/* ---- /plans/ page: other plans below an active subscription ---- */
.cx-plans-switch{margin:40px 0 16px;text-align:center}
.cx-plans-switch__title{margin:0;font-size:var(--cx-t5);font-weight:800;color:var(--cx-ink)}
.cx-plans-switch__sub{margin:6px auto 0;max-width:620px;font-size:var(--cx-t2);color:var(--cx-muted);line-height:1.5}
.cx-plan.is-current{border:2px solid var(--tier);box-shadow:var(--cx-shadow)}
.cx-plan__current{position:absolute;top:14px;right:14px;padding:4px 10px;border-radius:999px;background:var(--tier);color:#fff;
  font-size:var(--cx-t1);font-weight:700;white-space:nowrap}
/* design.css forces every .cx-plan .button to the brand fill with !important; the current plan's is a quiet label */
.cx-plans-page .cx-plan .button.is-disabled,.cx-plans-page .cx-plan .button.is-disabled:hover{background:var(--tier-soft)!important;color:var(--tier);cursor:default;filter:none;transform:none}
.cx-plan .button{white-space:nowrap}
