/* Свои виджеты заявок вместо Огнемёта: кнопка звонка, квиз, окно со скидкой (site/layouts/leads.blade.php) */

/* Кнопки на экране */
.gl-fab{position:fixed;right:20px;bottom:24px;z-index:900;width:60px;height:60px;border:0;border-radius:50%;background:var(--gts-green);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--gts-shadow-float);animation:gl-wave 2s ease-out infinite}
.gl-fab:hover{background:var(--gts-green-hover)}
.gl-fab svg{width:26px;height:26px;animation:gl-ring 2s ease-in-out infinite}
.gl-fab:focus-visible{outline:none;box-shadow:0 0 0 4px var(--gts-green-ring)}
@keyframes gl-wave{0%{box-shadow:var(--gts-shadow-float),0 0 0 0 rgba(50,166,1,.45)}70%,100%{box-shadow:var(--gts-shadow-float),0 0 0 18px rgba(50,166,1,0)}}
@keyframes gl-ring{0%,50%,100%{transform:rotate(0)}10%,30%{transform:rotate(-14deg)}20%,40%{transform:rotate(14deg)}}

.gl-tab{position:fixed;right:0;top:120px;z-index:900;display:flex;align-items:center;gap:var(--gts-s-2);height:44px;padding:0 var(--gts-s-4);border:0;border-radius:var(--gts-r-control) 0 0 var(--gts-r-control);background:var(--gts-surface);color:var(--gts-ink);font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--gts-shadow-float);transition:color .15s}
.gl-tab svg{width:20px;height:20px;color:var(--gts-green);flex:none}
.gl-tab:hover{color:var(--gts-green)}
.gl-tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gts-green-ring)}

/* Окна */
.gl-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:var(--gts-s-4);background:rgba(27,33,26,.55);opacity:0;transition:opacity .2s}
.gl-modal[hidden]{display:none}
.gl-modal.is-on{opacity:1}
html.gl-lock, html.gl-lock body{overflow:hidden}
.gl-box{position:relative;width:100%;max-width:880px;max-height:calc(100vh - 32px);overflow:auto;background:var(--gts-surface);border-radius:var(--gts-r-card);box-shadow:var(--gts-shadow-modal);color:var(--gts-text);transform:translateY(12px);transition:transform .2s}
.gl-modal.is-on .gl-box{transform:none}
.gl-box-sm{max-width:420px;padding:var(--gts-s-6)}
.gl-x{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:transparent;cursor:pointer}
.gl-x::before,.gl-x::after{content:"";position:absolute;left:9px;top:17px;width:18px;height:2px;background:var(--gts-text-3)}
.gl-x::before{transform:rotate(45deg)}
.gl-x::after{transform:rotate(-45deg)}
.gl-x:hover{background:var(--gts-stone)}

.gl-form{display:flex;flex-direction:column;gap:var(--gts-s-3);margin:0}
.gl-form[hidden],.gl-q-nav[hidden]{display:none}
.gl-form .gts-btn{width:100%}
.gl-t{margin:0;padding:0;font-size:22px;font-weight:700;line-height:1.25;color:var(--gts-ink)}
.gl-t-lg{font-size:30px}
.gl-sub{margin:0 0 var(--gts-s-2);font-size:15px;line-height:1.5;color:var(--gts-text-2)}
.gl-link{align-self:center;padding:var(--gts-s-1);border:0;background:none;font-size:14px;color:var(--gts-text-2);text-decoration:underline dashed;text-underline-offset:3px;cursor:pointer}
.gl-link:hover{color:var(--gts-green)}
.gl-error{margin:0;font-size:14px;color:var(--gts-error)}
.gl-consent{margin:0;font-size:12px;line-height:1.4;color:var(--gts-text-3)}
.gl-consent a{color:inherit;text-decoration:underline}
.gl-when{display:flex;gap:var(--gts-s-2)}
.gl-when[hidden]{display:none}
.gl-two{display:flex;gap:var(--gts-s-3)}
.gl-two .gts-input{flex:1;min-width:0}
.gl-sent{display:flex;flex-direction:column;gap:var(--gts-s-3);padding:var(--gts-s-5) 0}
.gl-sent[hidden]{display:none}

/* Квиз */
.gl-quiz{min-height:520px;display:flex}
.gl-q-start{display:flex;width:100%}
.gl-q-start[hidden],.gl-q-main[hidden],.gl-q[hidden]{display:none}
.gl-q-start-text{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gts-s-4);padding:var(--gts-s-7) var(--gts-s-6)}
.gl-q-start-img{display:block;flex:1;min-width:0;background:var(--gts-hero)}
.gl-q-start-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.gl-q-main{display:flex;width:100%}
.gl-q-body{flex:1;display:flex;flex-direction:column;padding:var(--gts-s-6);min-width:0}
.gl-q{border:0;margin:0;padding:0;flex:1}
.gl-q legend{margin-bottom:var(--gts-s-5)}
.gl-opts{display:grid;grid-template-columns:1fr 1fr;gap:var(--gts-s-3)}
.gl-opt{position:relative;margin:0;cursor:pointer}
.gl-opt input{position:absolute;opacity:0;width:1px;height:1px}
.gl-opt span{display:flex;align-items:center;min-height:56px;padding:var(--gts-s-3) var(--gts-s-4);border:1px solid var(--gts-line-input);border-radius:var(--gts-r-control);font-size:16px;line-height:1.3;transition:border-color .15s,background-color .15s}
.gl-opt span::before{content:"";flex:none;width:18px;height:18px;margin-right:var(--gts-s-3);border:2px solid var(--gts-line-input);border-radius:50%;transition:border-color .15s,box-shadow .15s}
.gl-opt:hover span{border-color:var(--gts-green)}
.gl-opt input:checked+span{border-color:var(--gts-green);background:var(--gts-green-soft)}
.gl-opt input:checked+span::before{border-color:var(--gts-green);box-shadow:inset 0 0 0 3px #fff;background:var(--gts-green)}
.gl-opt input:focus-visible+span{box-shadow:0 0 0 3px var(--gts-green-ring)}
.gl-q-nav{display:flex;align-items:center;gap:var(--gts-s-4);margin-top:var(--gts-s-5)}
.gl-q-nav .gl-link[hidden]{visibility:hidden;display:block}
.gl-progress{flex:1;font-size:13px;color:var(--gts-text-3)}
.gl-progress i{display:block;height:6px;margin-top:6px;border-radius:3px;background:var(--gts-line)}
.gl-progress b{display:block;height:100%;width:0;border-radius:3px;background:var(--gts-green);transition:width .25s}
.gl-q-side{width:240px;flex:none;padding:var(--gts-s-6) var(--gts-s-5);background:var(--gts-stone);border-radius:0 var(--gts-r-card) var(--gts-r-card) 0}
.gl-q-side-label{margin:var(--gts-s-6) 0 var(--gts-s-1);font-size:14px;color:var(--gts-text-2)}
.gl-q-side-sum{margin:0 0 var(--gts-s-3);font-size:30px;font-weight:700;color:var(--gts-green);white-space:nowrap;transform-origin:left center}
.gl-q-side-sum.is-up{animation:gl-up .45s ease-out}
@keyframes gl-up{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
.gl-q-side-note{margin:0;font-size:13px;line-height:1.45;color:var(--gts-text-2)}
.gl-q .hm_via{margin:var(--gts-s-1) 0}
.gl-q .calc_chip span{display:inline-flex;align-items:center;gap:var(--gts-s-2)}
.gl-q .calc_chip svg{width:16px;height:16px}

/* Окно со скидкой */
.gl-offer{text-align:center}
.gl-offer .gl-form{align-items:stretch}
.gl-offer-badge{align-self:center;margin:0;padding:var(--gts-s-1) var(--gts-s-4);border-radius:999px;background:var(--gts-green);color:#fff;font-size:28px;font-weight:800}
.gl-timer{margin:0 0 var(--gts-s-2);font-size:32px;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--gts-ink)}

@media (max-width:767px){
    .gl-fab{right:14px;bottom:14px;width:54px;height:54px}
    .gl-tab{top:auto;bottom:18px;right:auto;left:14px;height:44px;border-radius:999px;font-size:13px;padding:0 var(--gts-s-4) 0 var(--gts-s-3)}
    .gl-modal{padding:0;align-items:flex-end}
    .gl-box{max-height:100vh;max-height:100dvh;border-radius:var(--gts-r-card) var(--gts-r-card) 0 0}
    .gl-box-sm{max-width:none;padding:var(--gts-s-6) var(--gts-s-5)}
    .gl-quiz{min-height:0;height:100vh;height:100dvh;border-radius:0}
    .gl-q-start{flex-direction:column-reverse}
    .gl-q-start-img{flex:0 0 42%;min-height:0;overflow:hidden}
    .gl-q-start-text{padding:var(--gts-s-5)}
    .gl-t-lg{font-size:24px}
    .gl-q-main{flex-direction:column-reverse;justify-content:flex-end}
    .gl-q-side{width:auto;display:flex;align-items:baseline;gap:var(--gts-s-2);padding:var(--gts-s-3) var(--gts-s-5);padding-right:56px;border-radius:0}
    .gl-q-side-label{margin:0;font-size:13px}
    .gl-q-side-sum{margin:0;font-size:18px}
    .gl-q-side-note{display:none}
    .gl-q-body{padding:var(--gts-s-5)}
    .gl-opts{grid-template-columns:1fr}
    .gl-two{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
    .gl-fab,.gl-fab svg{animation:none}
    .gl-modal,.gl-box{transition:none}
    .gl-q-side-sum.is-up{animation:none}
}
