/* ================================================================
   AURA SERVICE — design refresh 2026-11. Loaded after style.css.
   style.css is full of !important overrides, so these rules use them too.
   Rollback: remove the <link> to this file from index.php.
   ================================================================ */
:root{
    --r-ink:#0C1340;
    --r-navy:#1B2B6E;
    --r-primary:#5AADB5;
    --r-primary-hover:#7DD8E0;
    --r-muted:#55627F;
    --r-field:#F4F6FB;
    --r-line:#CBD3E6;
}

/* ── Keyboard focus ─────────────────────────────────────── */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
    outline:3px solid var(--r-primary-hover)!important;
    outline-offset:2px!important;
    box-shadow:0 0 0 2px var(--r-ink)!important;
}

/* ── One primary action colour ──────────────────────────── */
.btn-cta,.btn-cta--xl,.nav-cta,.drawer-cta,.pf-submit,.form-submit,.modal-submit:not(.emrg-btn),.warn-btn-primary{
    background:var(--r-primary)!important;
    background-image:none!important;
    color:var(--r-ink)!important;
    border-color:var(--r-primary)!important;
    font-weight:700!important;
    box-shadow:0 6px 18px rgba(12,19,64,.18)!important;
}
.btn-cta i,.nav-cta i,.drawer-cta i,.pf-submit i,.form-submit i,.modal-submit:not(.emrg-btn) i,.warn-btn-primary i,.nav-cta span{color:inherit!important}
.btn-cta:hover,.nav-cta:hover,.drawer-cta:hover,.pf-submit:hover,.form-submit:hover,.modal-submit:not(.emrg-btn):hover,.warn-btn-primary:hover{
    background:var(--r-primary-hover)!important;
    color:var(--r-ink)!important;
}
.btn-cta,.pf-submit,.form-submit,.modal-submit,.warn-btn-primary,.warn-btn-secondary,.btn-ghost{min-height:48px!important}

/* ── Legibility: sizes and contrast ─────────────────────── */
.sec-hd p,.svc-probs-hint{color:var(--r-muted)!important;font-size:15px!important}
.sec--reviews .sec-hd p{color:rgba(255,255,255,.8)!important}
.sec-tag{font-size:12px!important}
.prob-card span{font-size:14px!important;line-height:1.3!important;font-weight:600!important}
.hero-badges span{font-size:13px!important}
.hero-stat span{font-size:13px!important}
.footer-simple p{color:rgba(255,255,255,.72)!important;font-size:14px!important}
.footer-privacy{color:rgba(255,255,255,.8)!important;font-size:14px!important}
.cta2-sub{color:rgba(255,255,255,.8)!important;font-size:15px!important}
.cta2-eyebrow{color:rgba(255,255,255,.85)!important;font-size:13px!important}
.cta2-info-item span{color:rgba(255,255,255,.75)!important;font-size:13px!important}
.cta2-bignum{min-height:44px!important;align-items:center!important}
.rev-c > p{font-size:15px!important;line-height:1.6!important}
.rev-meta b{font-size:14px!important}
.rev-meta span{font-size:13px!important;color:rgba(255,255,255,.72)!important}
.loc-addr{font-size:14px!important;color:var(--r-muted)!important}
.loc-city{font-size:15px!important}
.loc-phone{font-size:13px!important;color:#256B73!important}

/* ── Touch targets without changing how small controls look ─ */
.burger{min-width:44px!important;min-height:44px!important}
.hero-dot,.rev-dot{position:relative!important}
.hero-dot::after,.rev-dot::after{content:"";position:absolute;inset:-17px -5px}

/* ── Forms: one white style everywhere ──────────────────── */
.consent{display:flex!important;flex-wrap:wrap;align-items:flex-start;gap:4px 8px;font-size:13px!important;line-height:1.45!important;padding:4px 0!important;color:var(--r-muted)!important}
.consent input{flex:0 0 22px;width:22px!important;height:22px!important;margin:0!important}
.consent span{flex:1 1 calc(100% - 34px)}
.consent a{flex:1 1 100%;padding-left:30px;color:#256B73!important}
.pfi label,.fi label,.mfi label{font-size:14px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--r-ink)!important}
.pfi input,.pfi select,.pfi textarea,.fi input,.mfi input,.mfi select{
    background:var(--r-field)!important;
    color:var(--r-ink)!important;
    border:1px solid var(--r-line)!important;
    font-size:16px!important;
    min-height:48px!important;
}
.pfi textarea{min-height:110px!important}
.pfi select option,.mfi select option{color:var(--r-ink);background:#fff}
input::placeholder,textarea::placeholder{color:#5F6B85!important;opacity:1!important}
.pf-right,.form-wrap{background:#fff!important;border-radius:20px!important;padding:24px 20px!important;color:var(--r-ink)!important}
@media(max-width:768px){
    #problemForm .consent{color:var(--r-muted)!important}
    #problemForm .consent a{color:#256B73!important}
    .pf-left .sec-tag{color:#fff!important}
}

/* ── Scam warning: calm, compact, after the request form ── */
.warn-sec{background:linear-gradient(135deg,#0C1340,#1B2B6E)!important;background-image:linear-gradient(135deg,#0C1340,#1B2B6E)!important}
.warn-sec::before,.warn-sec::after{display:none!important}
.warn-sec .warn-left,.warn-sec .warn-grid,.warn-sec .g{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important}
.warn-sec .warn-left::before,.warn-sec .warn-left::after{display:none!important}
.warn-badge{background:rgba(245,158,11,.15)!important;color:#FBBF24!important;border-color:rgba(245,158,11,.4)!important}
.warn-left p{color:rgba(255,255,255,.82)!important;font-size:15px!important}
.warn-btn-secondary{color:#fff!important;background:transparent!important;border:1px solid rgba(255,255,255,.4)!important}
.warn-card li{font-size:14px!important}
.wc-head{font-size:15px!important}
@media(max-width:768px){
    .warn-sec{padding:28px 0!important}
    .warn-right{display:none!important}
    .warn-grid{display:block!important}
    .warn-left h2{font-size:26px!important;line-height:1.2!important;margin-bottom:10px!important}
    .warn-left p{font-size:14px!important;margin-bottom:16px!important}
    .warn-actions{display:flex!important;flex-direction:column!important;gap:10px!important}
    .warn-actions a{width:100%!important;justify-content:center!important}
}

/* ── Reviews: stars and names were white on white on phones ─ */
@media(max-width:768px){
    .sec--reviews .rev-c,.rev-c{background:#fff!important}
    .rev-c .rev-stars{color:#B45309!important}
    .rev-c > p{color:#334063!important}
    .rev-c .rev-quote{color:rgba(90,173,181,.35)!important}
    .rev-c .rev-meta b{color:var(--r-ink)!important}
    .rev-c .rev-meta span{color:var(--r-muted)!important}
    .rev-c .rev-meta span i{color:#256B73!important}
    .rev-c .rev-ava{background:var(--r-navy)!important;color:#fff!important}
    .rev-c .rev-foot{border-top:1px solid #E3E8F3!important}
}

/* ── Phone layout ───────────────────────────────────────── */
@media(max-width:768px){
    /* the page scrolls under one fixed bar only */
    .hdr,.hdr.scrolled{position:absolute!important}
    .btt{display:none!important}

    .hero{min-height:0!important;height:auto!important;padding-bottom:0!important}
    .hero-body{padding-top:96px!important;padding-bottom:40px!important}
    .hero-stats-bar{display:block!important;position:static!important;background:var(--r-ink)!important;padding:14px 0!important}
    .hero-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:4px!important}
    .hero-stat{text-align:center!important}
    .hero-stat b{font-size:17px!important;color:#fff!important}
    .hero-stat span{font-size:12px!important;color:rgba(255,255,255,.8)!important}
    .hero-stat-sep{display:none!important}
    .hero-dots{display:none!important} /* swipe works; dots collided with the buttons once the hero got shorter */

    /* labelled bottom bar */
    .mob-bar{min-height:62px!important}
    .mob-bar-btn{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-width:56px!important;min-height:48px!important}
    .mob-bar-btn.ci{display:none!important}
    body.country-kz .mob-bar-btn.kz-info,body.country-kg .mob-bar-btn.kg-info,body.country-uz .mob-bar-btn.uz-info,body.country-other .mob-bar-btn.other-info{display:flex!important}
    .mob-bar-btn small{font-size:11px;font-weight:600;line-height:1;white-space:nowrap;color:rgba(255,255,255,.88)}
    .mob-bar-btn i{font-size:17px}
}

/* ── The request form: style.css restyles it dark on phones with long selectors ── */
#problem-form .pf-right{background:#fff!important;background-image:none!important;border-radius:20px!important;padding:22px 18px!important;box-shadow:0 10px 30px rgba(12,19,64,.25)!important}
#problem-form .pf-right label{color:var(--r-ink)!important;font-size:14px!important;text-transform:none!important;letter-spacing:0!important;opacity:1!important}
#problem-form .pf-right input:not([type=checkbox]),#problem-form .pf-right select,#problem-form .pf-right textarea{background:var(--r-field)!important;color:var(--r-ink)!important;border:1px solid var(--r-line)!important;-webkit-text-fill-color:var(--r-ink)!important}
#problem-form .pf-right .consent{color:var(--r-muted)!important}
#problem-form .pf-right .consent span{color:var(--r-muted)!important}
#problem-form .pf-right .consent a{color:#256B73!important}
.pf-left .sec-tag,.sec-hd .sec-tag{font-size:12px!important}
.pf-left p{color:rgba(255,255,255,.85)!important;font-size:15px!important}
.mc-btn{font-size:14px!important;min-height:44px!important}

#problem-form .pf-right input::placeholder,#problem-form .pf-right textarea::placeholder{color:#5F6B85!important;-webkit-text-fill-color:#5F6B85!important;opacity:1!important}
footer.footer .footer-simple p{color:rgba(255,255,255,.75)!important;opacity:1!important}
.modal-context[style*="none"]{display:none!important}
.modal-hours strong{color:#B45309!important}

@media(max-width:768px){
    .map-countries{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;overflow:visible!important;padding:0!important}
    .mc-btn{flex:0 1 auto!important;width:auto!important;padding:0 14px!important;white-space:nowrap!important}
    .mob-bar-btn:not(.mob-bar-btn--call){flex:1 1 0!important;min-width:0!important;width:auto!important}
    .mob-bar-btn small{font-size:10.5px;letter-spacing:-.1px}
}

/* ── Respect reduced motion ─────────────────────────────── */
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
    .marquee-track{animation:none!important}
}
