/* ── Floating Chat Button ── */
.dlg-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;width:60px;height:60px;border-radius:50%;background:var(--py-gold);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;transition:all .3s ease}
.dlg-fab:hover{transform:scale(1.08);box-shadow:0 6px 25px rgba(0,0,0,.4)}
.dlg-fab svg{width:28px;height:28px}
.dlg-fab-pulse{animation:dlg-pulse 2s infinite}
@keyframes dlg-pulse{0%,100%{box-shadow:0 4px 20px rgba(0,0,0,.3)}50%{box-shadow:0 4px 30px rgba(0,0,0,.5)}}

/* ── Overlay + Box — glassmorphism like browse overlay ── */
.dlg-overlay{display:none;position:fixed;top:0;left:5px;right:5px;bottom:10px;z-index:1060;align-items:flex-end;justify-content:center;padding:0}
.dlg-overlay.open{display:flex;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

.dlg-box{
    background:rgba(26,26,46,0.3);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border-radius:16px 16px 0 0;
    width:100%;max-width:480px;max-height:85vh;overflow-y:auto;
    box-shadow:0 -4px 24px rgba(0,0,0,.3);
    position:relative;animation:dlg-slide .3s ease;
    color:#fff;
}
@media(min-width:769px){
    .dlg-overlay{align-items:center;padding:1.5rem}
    .dlg-box{border-radius:16px;max-height:85vh}
}
@keyframes dlg-slide{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

.dlg-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:rgba(255,255,255,.5);z-index:2;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}
.dlg-close:hover{background:rgba(255,255,255,.1);color:#fff}

.dlg-header{padding:1.25rem 1.5rem .25rem;border-bottom:none}
.dlg-header h3{font-size:1.1rem;font-weight:700;color:#fff;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.dlg-header p{font-size:.8rem;color:rgba(255,255,255,.5);margin:.25rem 0 0}
.dlg-body{padding:.5rem 1.5rem 1.25rem;overflow:hidden}.dlg-intro{margin:0 0 1rem;font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.82)}.dlg-q{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#fff}
input[type="date"].dlg-input{max-width:100%}

/* ── Input fields ── */
.dlg-input{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.25);border-radius:10px;font-size:.95rem;font-family:inherit;outline:none;transition:border .2s;background:rgba(0,0,0,.45);color:#fff;box-sizing:border-box}
.dlg-input:focus{border-color:var(--py-gold);background:rgba(0,0,0,.55)}
.dlg-input::placeholder{color:rgba(255,255,255,.5)}
.dlg-textarea{min-height:80px;resize:vertical}

/* ── Buttons ── */
.dlg-btns{display:flex;gap:.5rem;margin-top:1rem}
.dlg-btn{flex:1;padding:.75rem 1rem;border-radius:2rem;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:all .2s;font-family:inherit}
.dlg-btn-next{background:var(--py-gold);color:#fff}
.dlg-btn-next{text-shadow:0 1px 2px rgba(0,0,0,.3)}
.dlg-btn-next:hover{opacity:.9}
.dlg-btn-next:disabled{opacity:.3;cursor:not-allowed}
.dlg-btn-back{background:rgba(0,0,0,.35);color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.3)}
.dlg-btn-back:hover{background:rgba(0,0,0,.5);color:#fff}

/* ── Chips — match py-browse-pill style ── */
.dlg-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem;justify-content:center}
.dlg-chip{
    padding:.36rem .9rem;border-radius:2rem;
    border:1px solid rgba(255,255,255,.1);background:var(--py-header,#1a2332);
    color:rgba(255,255,255,.82);font-size:.9rem;font-weight:500;
    cursor:pointer;transition:all .15s;font-family:inherit;
    box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.dlg-chip.active{border-color:var(--py-gold);color:var(--py-gold)}
.dlg-chip:active{transform:scale(.96)}

/* ── Contact buttons ── */
.dlg-contact-btns{display:flex;flex-direction:column;gap:.75rem}
.dlg-contact-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;color:#fff;font-family:inherit}
.dlg-contact-btn:hover{transform:translateY(-2px)}
.dlg-wa{background:#25d366}
.dlg-wa:hover{box-shadow:0 4px 15px rgba(37,211,102,.3)}
.dlg-tg{background:#0088cc}
.dlg-tg:hover{box-shadow:0 4px 15px rgba(0,136,204,.3)}
.dlg-em{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25)}
.dlg-em:hover{background:rgba(0,0,0,.5);box-shadow:0 4px 15px rgba(0,0,0,.2)}
.dlg-contact-btn svg{width:20px;height:20px;flex-shrink:0}

/* ── Confirmation ── */
.dlg-confirm{text-align:center;padding:1rem 0}
.dlg-confirm svg{width:48px;height:48px;color:#22c55e;margin-bottom:.75rem}
.dlg-confirm h4{font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 .5rem}
.dlg-confirm p{font-size:.9rem;color:rgba(255,255,255,.5);margin:0}

/* ── Mobile ── */
@media(max-width:768px){.dlg-box{padding-bottom:70px}}
@media(max-width:480px){
.dlg-box{max-height:90vh}
}
@media(max-width:768px){
.dlg-fab{bottom:5rem;right:1rem;width:50px;height:50px}
.dlg-fab svg{width:24px;height:24px}
}

/* ── Progress Bar ── */
.dlg-progress{height:9px;background:rgba(0,0,0,.3);overflow:hidden;margin:0;border-radius:16px 16px 0 0}
@media(min-width:769px){.dlg-progress{border-radius:16px 16px 0 0}}
.dlg-progress-bar{height:100%;background:var(--py-gold);border-radius:0;transition:width .4s ease}

/* ── Spinner ── */
.dlg-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--py-gold);border-radius:50%;animation:dlg-spin .6s linear infinite;margin:0 auto}
@keyframes dlg-spin{to{transform:rotate(360deg)}}

/* ── Step label hidden (progress bar replaces it) ── */
.dlg-step-label{display:none}

@media(max-width:768px){input[type="date"].dlg-input{font-size:16px;width:100%;max-width:100%;min-width:0;-webkit-appearance:none;appearance:none;padding-right:.75rem;line-height:1.4;min-height:3rem}.dlg-box{overflow-x:hidden}.dlg-body{min-width:0;max-width:100%;overflow-x:hidden}}

body.dlg-open #calc-mobile-bar,body.dlg-open .py-browse-overlay,body.dlg-open .py-tour-overlay,body.dlg-open .py-info-overlay,body.dlg-open .py-search-overlay,body.dlg-open .py-nav-mobile,body.dlg-open .py-assistant{display:none!important}
