/* IPTV PRINCE sales layer: calculator summary, WhatsApp / Telegram ordering, floating contact buttons */
:root{--wa:#25D366;--wa-hi:#4BE083;--on-wa:#04210F;--tg:#2AABEE;--tg-hi:#5CC2F4;--on-tg:#03192A}

/* Calculator controls */
.iptvp-calc__controls{display:grid;gap:22px;width:100%;max-width:980px;margin:0 auto 44px}
.iptvp-calc__controls .iptvp-devsel{margin:0;max-width:none}
.iptvp-dursel label{padding:0 6px}
@media (min-width:860px){.iptvp-calc__controls{grid-template-columns:1fr 1fr;gap:28px}}

/* Selected plan */
.iptvp-plan{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.iptvp-plan.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}

/* Summary */
.iptvp-sum{display:grid;gap:28px;width:100%;max-width:980px;margin:44px auto 0;padding:clamp(22px,3.4vw,36px);border:1px solid rgba(61,139,255,.45);border-radius:var(--r-lg);background:radial-gradient(60% 120% at 100% 0%,rgba(61,139,255,.16),transparent 60%),var(--surface-2);box-shadow:var(--shadow);scroll-margin:110px}
body.iptvp-site .iptvp-sum:focus,body.iptvp-site .iptvp-sum:focus-visible{outline:none}
.iptvp-sum__h{margin:0 0 14px!important;font:700 .82rem/1.4 var(--fh)!important;letter-spacing:.12em!important;text-transform:uppercase;color:var(--muted)!important}
.iptvp-sum__rows{display:grid;gap:0;margin:0 0 20px;padding:0}
.iptvp-sum__rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line)}
.iptvp-sum__rows dt{margin:0;color:var(--muted);font-weight:500}
.iptvp-sum__rows dd{margin:0;color:var(--ink);font:600 1.02rem/1.3 var(--fh);text-align:right}
.iptvp-sum__rows .is-total{border-bottom:0;padding-top:16px}
.iptvp-sum__rows .is-total dt{color:var(--ink);font:600 1.02rem/1.3 var(--fh)}
.iptvp-sum__rows .is-total dd{font:700 clamp(2rem,4.4vw,2.6rem)/1 var(--fh);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink)}
.iptvp-sum.is-updating .is-total dd{animation:iptvp-pop .35s ease}
.iptvp-sum__label{margin:0 0 8px;font:600 .78rem/1.4 var(--fh);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.iptvp-sum__msg{margin:0;padding:14px 16px;border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:rgba(7,11,23,.55);color:var(--soft);font-size:.95rem;line-height:1.55;user-select:all;-webkit-user-select:all}
.iptvp-sum__actions{display:grid;gap:12px}
.iptvp-sum__actions .iptvp-btn{width:100%;white-space:normal;text-align:center}
.iptvp-sum__status{min-height:1.4em;margin:12px 0 0;color:var(--accent-hi);font-size:.9rem;font-weight:600}
.iptvp-sum__status.is-err{color:#FFD5D5}
.iptvp-sum__status:empty{display:none}
.iptvp-sum__note{margin:14px 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}
.iptvp-sum__trust{display:grid;gap:10px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--line);list-style:none}
.iptvp-sum__trust li{display:flex;align-items:center;gap:10px;margin:0;color:var(--soft);font-size:.93rem}
.iptvp-sum__trust .iptvp-ic{width:20px;height:20px;color:var(--accent)}
@media (min-width:860px){.iptvp-sum{grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}}

/* Brand buttons */
.iptvp-bic{width:22px;height:22px;flex:none}
body.iptvp-site .iptvp-btn--wa{background:var(--wa);color:var(--on-wa)}
body.iptvp-site .iptvp-btn--wa:hover{background:var(--wa-hi);color:var(--on-wa);transform:translateY(-1px)}
body.iptvp-site .iptvp-btn--tg{background:var(--tg);color:var(--on-tg)}
body.iptvp-site .iptvp-btn--tg:hover{background:var(--tg-hi);color:var(--on-tg);transform:translateY(-1px)}

/* Floating contact buttons */
.iptvp-fab{position:fixed;z-index:150;right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.iptvp-fab__btn{position:relative;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;text-decoration:none!important;box-shadow:0 10px 24px -8px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);pointer-events:auto;transition:transform .2s ease,background-color .2s ease;animation:iptvp-fab-in .5s cubic-bezier(.2,.8,.2,1) backwards}
.iptvp-fab__btn .iptvp-bic{width:28px;height:28px}
body.iptvp-site .iptvp-fab__btn--wa{background:var(--wa);color:#fff;animation-delay:.35s}
body.iptvp-site .iptvp-fab__btn--tg{background:var(--tg);color:#fff;width:48px;height:48px;margin-right:3px;animation-delay:.5s}
body.iptvp-site .iptvp-fab__btn--tg .iptvp-bic{width:24px;height:24px;margin-left:-2px}
body.iptvp-site .iptvp-fab__btn:hover,body.iptvp-site .iptvp-fab__btn:focus-visible{color:#fff;transform:scale(1.07)}
body.iptvp-site .iptvp-fab__btn:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:50%}
.iptvp-fab__btn--wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);opacity:0;animation:iptvp-fab-ring 2.4s ease-out 2s 3}
.iptvp-fab__tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(6px,-50%);padding:7px 11px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font:600 .82rem/1 var(--fh);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;pointer-events:none}
@media (hover:hover) and (pointer:fine){.iptvp-fab__btn:hover .iptvp-fab__tip,.iptvp-fab__btn:focus-visible .iptvp-fab__tip{opacity:1;visibility:visible;transform:translate(0,-50%)}}
@keyframes iptvp-fab-in{from{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:none}}
@keyframes iptvp-fab-ring{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.55)}}
body.iptvp-lock .iptvp-fab{opacity:0;visibility:hidden}
@media (max-width:719px){
	.iptvp-fab{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));gap:10px}
	.iptvp-fab__btn{width:52px;height:52px}
	body.iptvp-site .iptvp-fab__btn--tg{width:46px;height:46px}
}
.iptvp-fab.is-tucked{opacity:0;transform:translateY(14px)}
.iptvp-fab.is-tucked .iptvp-fab__btn{pointer-events:none}
@media print{.iptvp-fab,.iptvp-toast{display:none!important}}

/* Keep page ends clear of the floating buttons; move Astra's scroll-to-top to the left */
.iptvp-footer{padding-bottom:calc(30px + 120px)}
@media (min-width:1000px){.iptvp-footer{padding-bottom:calc(30px + 40px)}.iptvp-footer__bottom{padding-right:80px}}
body.iptvp-site #ast-scroll-top{right:auto!important;left:16px!important;bottom:calc(16px + env(safe-area-inset-bottom))!important}

/* Toast */
.iptvp-toast{position:fixed;z-index:160;left:16px;right:84px;bottom:calc(16px + env(safe-area-inset-bottom));padding:12px 16px;border-radius:12px;background:var(--surface-2);border:1px solid rgba(61,139,255,.5);box-shadow:var(--shadow);color:var(--ink);font-size:.92rem;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.iptvp-toast.is-on{opacity:1;visibility:visible;transform:none}
.iptvp-toast:empty{display:none}
@media (min-width:720px){.iptvp-toast{left:50%;right:auto;width:min(440px,calc(100% - 200px));transform:translate(-50%,10px)}.iptvp-toast.is-on{transform:translate(-50%,0)}}
