:root {
    --navy:  #0d2461;
    --blue:  #1a3a8f;
    --blue2: #1e4db7;
    --light-blue: #e8f0fe;
    --gray:  #f4f6f9;
    --border:#dee2e6;
    --text:  #333;
    --muted: #6c757d;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Segoe UI', Arial, sans-serif; color: var(--text); background: var(--gray); }
a { text-decoration: none; color: inherit; }

/* ── Container ── */
.container { max-width:1200px; margin:0 auto; padding:0 1rem; }

/* ── Top Bar ── */
.top-bar { background: var(--navy); color: #cdd9f5; font-size: .82rem; padding: .45rem 0; }
.top-bar-inner { display:flex; justify-content:space-between; align-items:center; gap:.4rem; flex-wrap:wrap; }
.top-bar a { color: #cdd9f5; }
.top-bar-contacts { display:flex; gap:1.2rem; flex-wrap:wrap; }
.top-bar .social a { display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.3);
    margin-left:6px; font-size:.75rem; }
.top-bar .social a:hover { background: rgba(255,255,255,.15); }

/* ── Navbar ── */
nav.main-nav { background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.08); padding:.7rem 0;
    position:sticky; top:0; z-index:100; }
.nav-inner { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-logo img { height:52px; }
.nav-logo .brand-text { line-height:1.2; }
.nav-logo .brand-name { font-size:1.15rem; font-weight:700; color:var(--navy); }
.nav-logo .brand-sub  { font-size:.7rem; color:var(--blue2); letter-spacing:.05em; text-transform:uppercase; }
.nav-links { display:flex; align-items:center; gap:1.5rem; list-style:none; }
.nav-links a { font-size:.88rem; font-weight:500; color:var(--text); padding:.3rem 0;
    border-bottom:2px solid transparent; transition:.2s; }
.nav-links a:hover { color:var(--blue2); border-color:var(--blue2); }
.btn-apply { background:var(--navy); color:#fff !important; border-radius:6px;
    padding:.45rem 1.2rem !important; border:none !important; }
.btn-apply:hover { background:var(--blue2); }

/* Hamburger */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer;
    background:none; border:none; padding:.4rem; }
.hamburger span { display:block; width:24px; height:2.5px; background:var(--navy);
    border-radius:2px; transition:.3s; }
.hamburger.open span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }

/* Mobile nav drawer */
.mobile-menu { display:none; background:#fff; border-top:1px solid var(--border);
    box-shadow:0 4px 12px rgba(0,0,0,.1); }
.mobile-menu.open { display:block; }
.mobile-menu ul { list-style:none; padding:.5rem 0; }
.mobile-menu ul li a { display:block; padding:.75rem 1.5rem; font-size:.9rem; font-weight:500;
    color:var(--text); border-bottom:1px solid var(--gray); }
.mobile-menu ul li:last-child a { border-bottom:none; }
.mobile-menu ul li a:hover { background:var(--light-blue); color:var(--blue2); }
.mobile-menu .btn-apply { display:block; margin:1rem 1.5rem; text-align:center;
    padding:.6rem !important; border-radius:8px !important; }

/* ── Hero ── */
.hero { position:relative; min-height:320px; display:flex; align-items:center;
    background: linear-gradient(to right, rgba(10,28,90,.88) 45%, rgba(10,28,90,.4)),
    url('../uploads/DSC_4556.jpg') center/cover no-repeat; }
.hero-content { color:#fff; padding:3rem 0; max-width:560px; }
.hero-content h1 { font-size:2rem; font-weight:700; margin-bottom:.5rem; }
.hero-content p.sub { font-size:1rem; color:#c9d8f5; margin-bottom:.3rem; }
.hero-content p.tag { font-size:.85rem; color:#a8bff0; }
.hero-secure { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25); border-radius:20px; padding:.3rem .8rem;
    font-size:.8rem; color:#d0e0ff; margin-top:1rem; }

/* ── Step Indicator ── */
.steps-bar { background:#fff; border-bottom:1px solid var(--border); padding:1.2rem 0; }
.steps-track { display:flex; align-items:center; justify-content:center; gap:0; }
.step-item { display:flex; align-items:center; }
.step-circle { width:38px; height:38px; border-radius:50%; border:2px solid var(--border);
    background:#fff; display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:.9rem; color:var(--muted); transition:.3s; flex-shrink:0; }
.step-label { text-align:center; margin-top:.35rem; }
.step-label .step-title { font-size:.75rem; font-weight:600; color:var(--muted); }
.step-label .step-desc  { font-size:.68rem; color:#aaa; }
.step-box { display:flex; flex-direction:column; align-items:center; width:100px; }
.step-connector { width:40px; height:2px; background:var(--border); flex-shrink:0; }
.step-item.active  .step-circle { background:var(--blue2); border-color:var(--blue2); color:#fff; }
.step-item.active  .step-title  { color:var(--blue2); }
.step-item.done    .step-circle { background:var(--navy); border-color:var(--navy); color:#fff; }
.step-item.done    .step-connector { background:var(--navy); }

/* Mobile step label pill */
.mobile-step-label { display:none; text-align:center; margin-top:.6rem;
    font-size:.82rem; color:var(--blue2); font-weight:600; }

/* ── Info Banner ── */
.info-banner { background:#fff; border-bottom:1px solid var(--border); }
.info-banner-row { display:flex; flex-wrap:wrap; }
.info-card { display:flex; align-items:center; gap:12px; padding:1rem 1.2rem;
    border-right:1px solid var(--border); flex:1; min-width:180px; }
.info-card:last-child { border-right:none; }
.info-card .icon { width:42px; height:42px; border-radius:50%; background:var(--light-blue);
    display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--blue2); flex-shrink:0; }
.info-card .label { font-size:.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.info-card .val  { font-size:.88rem; font-weight:600; color:var(--navy); }
.info-card .sub  { font-size:.72rem; color:var(--muted); }

/* ── Main Layout ── */
.main-wrap { padding:2rem 0 4rem; }
.main-layout { display:flex; gap:1.5rem; align-items:flex-start; }
.sidebar-wrap { width:240px; flex-shrink:0; position:sticky; top:80px; }
.form-area { flex:1; min-width:0; }
.sidebar { background:#fff; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.06); overflow:hidden; }
.sidebar-title { font-size:.7rem; font-weight:700; color:var(--muted); letter-spacing:.07em;
    text-transform:uppercase; padding:.9rem 1.2rem .5rem; }
.sidebar-item { display:flex; align-items:center; gap:10px; padding:.75rem 1.2rem;
    border-left:3px solid transparent; cursor:pointer; transition:.2s; }
.sidebar-item:hover { background:var(--gray); }
.sidebar-item.active { background:var(--light-blue); border-left-color:var(--blue2); }
.sidebar-item .s-icon { width:34px; height:34px; border-radius:8px; background:var(--gray);
    display:flex; align-items:center; justify-content:center; font-size:.85rem; color:var(--muted); flex-shrink:0; }
.sidebar-item.active .s-icon { background:var(--light-blue); color:var(--blue2); }
.sidebar-item .s-title { font-size:.85rem; font-weight:600; color:var(--navy); }
.sidebar-item .s-desc  { font-size:.72rem; color:var(--muted); }
.sidebar-tips { background:var(--gray); margin:.5rem; border-radius:8px; padding:.8rem 1rem; }
.sidebar-tips .t-head { font-size:.78rem; font-weight:600; color:var(--navy); margin-bottom:.4rem; }
.sidebar-tips li { font-size:.75rem; color:var(--muted); margin-bottom:.3rem; }

/* ── Form Card ── */
.form-card { background:#fff; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.06); padding:2rem; }
.form-card h3 { font-size:1.2rem; font-weight:700; color:var(--navy); margin-bottom:.25rem; }
.form-card .form-sub { font-size:.85rem; color:var(--muted); margin-bottom:1.5rem; }
.form-label { display:block; font-size:.82rem; font-weight:600; color:var(--text); margin-bottom:.35rem; }
.form-control, .form-select { border:1.5px solid var(--border); border-radius:7px;
    padding:.55rem .85rem; font-size:.88rem; width:100%; transition:.2s;
    background:#fff; -webkit-appearance:none; appearance:none; }
.form-select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236c757d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right .75rem center; padding-right:2rem; }
.form-select[size] { background-image:none; padding-right:.85rem; }
.form-control:focus, .form-select:focus { border-color:var(--blue2); outline:none;
    box-shadow:0 0 0 3px rgba(30,77,183,.1); }
.input-group { display:flex; }
.input-group .prefix { background:var(--gray); border:1.5px solid var(--border); border-right:none;
    border-radius:7px 0 0 7px; padding:.55rem .85rem; font-size:.82rem; color:var(--muted);
    display:flex; align-items:center; gap:5px; white-space:nowrap; flex-shrink:0; }
.input-group .form-control { border-radius:0 7px 7px 0; }

/* ── Custom Department Dropdown ── */
.dept-select-wrap { position:relative; }
.dept-trigger { display:flex; align-items:center; gap:8px; border:1.5px solid var(--border);
    border-radius:7px; padding:.55rem .85rem; font-size:.88rem; background:#fff;
    cursor:pointer; transition:.2s; min-height:40px; user-select:none; }
.dept-trigger:hover,
.dept-trigger:focus    { border-color:var(--blue2); box-shadow:0 0 0 3px rgba(30,77,183,.1); outline:none; }
.dept-trigger.has-val  { color:var(--navy); }
.dept-dropdown { display:none; position:absolute; top:calc(100% + 4px); left:0; right:0;
    background:#fff; border:1.5px solid var(--blue2); border-radius:8px;
    box-shadow:0 6px 20px rgba(0,0,0,.12); z-index:50; overflow:hidden; }
.dept-dropdown.open    { display:block; }
.dept-search-row { display:flex; align-items:center; gap:8px; padding:.55rem .85rem;
    border-bottom:1px solid var(--border); }
.dept-search-input { border:none; outline:none; font-size:.87rem; flex:1;
    background:transparent; color:var(--text); }
.dept-list { max-height:220px; overflow-y:auto; }
.dept-option { padding:.6rem 1rem; font-size:.85rem; color:var(--text); cursor:pointer;
    border-bottom:1px solid var(--gray); transition:.15s; }
.dept-option:last-child { border-bottom:none; }
.dept-option:hover     { background:var(--light-blue); color:var(--navy); }
.dept-option.selected  { background:var(--light-blue); color:var(--blue2); font-weight:600; }
.dept-option .dept-fee-tag { font-size:.72rem; color:var(--muted); margin-left:6px; }
.dept-option.selected .dept-fee-tag { color:var(--blue2); }
.dept-empty { padding:.8rem 1rem; font-size:.83rem; color:var(--muted); text-align:center; }

/* ── Form Grids (responsive) ── */
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; }
.span-2 { grid-column:span 2; }
.span-3 { grid-column:span 3; }

/* ── Form Nav (back/next row) ── */
.form-nav { display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }

/* ── Password Requirements ── */
.pw-reqs { background:var(--light-blue); border-radius:8px; padding:.8rem 1rem; margin-top:.5rem; }
.pw-reqs .req { display:flex; align-items:center; gap:6px; font-size:.78rem; color:var(--muted); margin-bottom:.2rem; }
.pw-reqs .req.met { color:#16a34a; }
.pw-reqs .req i { font-size:.7rem; }

/* ── Payment Methods ── */
.payment-methods { display:flex; gap:.8rem; flex-wrap:wrap; margin:1rem 0; }
.pm-btn { flex:1; min-width:90px; border:2px solid var(--border); border-radius:10px;
    background:#fff; padding:.8rem; display:flex; flex-direction:column; align-items:center;
    gap:.4rem; cursor:pointer; transition:.2s; user-select:none; }
.pm-btn img { height:36px; object-fit:contain; }
.pm-btn span { font-size:.75rem; font-weight:600; color:var(--muted); }
.pm-btn.selected { border-color:var(--blue2); background:var(--light-blue); }
.pm-btn.selected span { color:var(--blue2); }

/* ── Buttons ── */
.btn-primary-app { background:var(--navy); color:#fff; border:none; border-radius:8px;
    padding:.7rem 2rem; font-size:.9rem; font-weight:600; cursor:pointer; transition:.2s;
    display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.btn-primary-app:hover { background:var(--blue2); }
.btn-primary-app:disabled { opacity:.7; cursor:not-allowed; }
.btn-outline-app { background:#fff; color:var(--navy); border:2px solid var(--border);
    border-radius:8px; padding:.65rem 1.5rem; font-size:.88rem; font-weight:600;
    cursor:pointer; transition:.2s; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.btn-outline-app:hover { border-color:var(--navy); }

/* ── Review Grid ── */
.review-section { background:var(--gray); border-radius:8px; padding:1rem 1.2rem; margin-bottom:1rem; }
.review-section h5 { font-size:.82rem; font-weight:700; color:var(--blue2);
    text-transform:uppercase; letter-spacing:.05em; margin-bottom:.7rem; }
.review-row { display:flex; gap:.5rem; margin-bottom:.4rem; font-size:.84rem; }
.review-row .rv-label { color:var(--muted); min-width:140px; flex-shrink:0; }
.review-row .rv-value { color:var(--navy); font-weight:500; }

/* ── Bottom 3-col section ── */
.bottom-row { padding:2rem 0; background:#fff; border-top:1px solid var(--border); }
.bottom-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.bottom-card { padding:1.5rem; border-right:1px solid var(--border); }
.bottom-card:last-child { border-right:none; }
.bottom-card h5 { font-size:.95rem; font-weight:700; color:var(--navy); margin-bottom:1rem; }
.steps-list .step-li { display:flex; align-items:flex-start; gap:10px; margin-bottom:.8rem; }
.steps-list .step-num { width:26px; height:26px; border-radius:50%; background:var(--light-blue);
    color:var(--blue2); font-size:.75rem; font-weight:700; display:flex; align-items:center;
    justify-content:center; flex-shrink:0; }
.steps-list .step-num.done { background:var(--navy); color:#fff; }
.steps-list .step-text strong { font-size:.82rem; color:var(--navy); display:block; }
.steps-list .step-text small { font-size:.75rem; color:var(--muted); }
.pm-logos { display:flex; gap:.7rem; margin-bottom:.8rem; flex-wrap:wrap; }
.pm-logos img { height:44px; border:1px solid var(--border); border-radius:8px; padding:6px; background:#fff; }
.secure-note { display:flex; align-items:center; gap:8px; background:var(--light-blue);
    border-radius:8px; padding:.7rem 1rem; font-size:.8rem; color:var(--navy); margin-top:.8rem; }
.why-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:.75rem; }
.why-icon { width:36px; height:36px; border-radius:50%; background:var(--light-blue);
    display:flex; align-items:center; justify-content:center; color:var(--blue2); font-size:.9rem; flex-shrink:0; }
.why-title { font-size:.84rem; font-weight:600; color:var(--navy); }
.why-desc  { font-size:.75rem; color:var(--muted); }

/* ── CTA ── */
.cta-section { background:var(--navy); color:#fff; padding:2.5rem 0; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; }
.cta-section h3 { font-size:1.3rem; font-weight:700; }
.cta-section p  { color:#a8bff0; font-size:.9rem; margin-top:.3rem; }
.btn-cta { background:#fff; color:var(--navy); border:none; border-radius:8px;
    padding:.75rem 2rem; font-weight:700; cursor:pointer; font-size:.9rem;
    display:inline-flex; align-items:center; gap:8px; flex-shrink:0; }
.btn-cta:hover { background:var(--light-blue); }

/* ── Footer ── */
footer { background:#0a1d54; color:#8ba5d9; padding:2.5rem 0 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:2rem; }
footer .f-brand { font-size:1rem; font-weight:700; color:#fff; }
footer .f-sub   { font-size:.72rem; color:#7090c8; }
footer .f-desc  { font-size:.8rem; color:#7090c8; margin:.6rem 0 1rem; line-height:1.6; }
footer .f-social a { display:inline-flex; align-items:center; justify-content:center;
    width:30px; height:30px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
    color:#8ba5d9; font-size:.78rem; margin-right:6px; }
footer h6 { color:#fff; font-size:.82rem; font-weight:700; margin-bottom:.8rem; }
footer ul { list-style:none; }
footer ul li { margin-bottom:.45rem; }
footer ul li a { font-size:.8rem; color:#7090c8; }
footer ul li a:hover { color:#fff; }
footer .contact-item { display:flex; align-items:flex-start; gap:8px; font-size:.8rem;
    color:#7090c8; margin-bottom:.5rem; }
footer .contact-item i { color:var(--blue2); margin-top:2px; flex-shrink:0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:.9rem 0; margin-top:1.5rem;
    font-size:.75rem; color:#5572a0; }
.footer-bottom-inner { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }

/* ── Toast ── */
.app-toast { position:fixed; top:80px; right:20px; z-index:9999; min-width:280px; max-width:380px;
    background:#fff; border-radius:10px; box-shadow:0 4px 20px rgba(0,0,0,.15);
    padding:.9rem 1.2rem; display:none; border-left:4px solid var(--blue2); }
.app-toast.show { display:flex; align-items:flex-start; gap:10px; animation:slideIn .3s ease; }
.app-toast.error   { border-left-color:#dc3545; }
.app-toast.success { border-left-color:#16a34a; }
@keyframes slideIn { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }

/* ── Payment Pending Modal ── */
.pay-overlay { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:200;
    display:none; align-items:center; justify-content:center; padding:1rem; }
.pay-overlay.show { display:flex; }
.pay-modal { background:#fff; border-radius:12px; padding:2rem; max-width:420px; width:100%;
    text-align:center; box-shadow:0 8px 32px rgba(0,0,0,.2); }
.pay-modal .pm-icon { font-size:2.5rem; color:#f59e0b; margin-bottom:.5rem; }
.pay-modal h4 { font-size:1.05rem; font-weight:700; color:var(--navy); margin-bottom:.5rem; }
.pay-modal p { font-size:.85rem; color:var(--muted); line-height:1.6; }
.pay-modal .btn-row { display:flex; gap:.7rem; justify-content:center; margin-top:1.2rem; flex-wrap:wrap; }

/* ── Spinner ── */
.spinner { display:inline-block; width:18px; height:18px; border:2.5px solid rgba(255,255,255,.4);
    border-top-color:#fff; border-radius:50%; animation:spin .7s linear infinite; }
.spinner.dark { border-color:rgba(0,0,0,.15); border-top-color:var(--navy); }
@keyframes spin { to { transform:rotate(360deg); } }

/* ── Ref display ── */
.ref-box { background:var(--light-blue); border-radius:10px; padding:1.2rem;
    margin-bottom:1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem; }
.ref-box .amount-label { font-size:.75rem; color:var(--muted); }
.ref-box .amount-val   { font-size:1.5rem; font-weight:700; color:var(--navy); }
.ref-box .amount-note  { font-size:.75rem; color:#dc3545; }
.ref-box .ref-label    { font-size:.75rem; color:var(--muted); text-align:right; }
.ref-box .ref-val      { font-size:.95rem; font-weight:700; color:var(--blue2); font-family:monospace; }

/* ─────────────────────────────────────────────
   RESPONSIVE BREAKPOINTS
───────────────────────────────────────────── */

/* ── Tablet (≤992px) ── */
@media (max-width:992px) {
    .sidebar-wrap { display:none; }
    .form-grid-3 { grid-template-columns:1fr 1fr; }
    .span-3 { grid-column:span 2; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:1.5rem; }
    .bottom-grid { grid-template-columns:1fr; }
    .bottom-card { border-right:none; border-bottom:1px solid var(--border); }
    .bottom-card:last-child { border-bottom:none; }
    .step-box { width:80px; }
    .step-connector { width:24px; }
    .step-label .step-desc { display:none; }
}

/* ── Mobile (≤768px) ── */
@media (max-width:768px) {
    /* Top bar */
    .top-bar-contacts .loc { display:none; }

    /* Navbar */
    .nav-links { display:none; }
    .hamburger { display:flex; }

    /* Hero */
    .hero { min-height:220px; }
    .hero-content { padding:2rem 0; }
    .hero-content h1 { font-size:1.4rem; }
    .hero-content p.sub { font-size:.9rem; }
    .hero-content p.tag { font-size:.78rem; }
    .hero-secure { font-size:.75rem; }

    /* Step indicator — compact circles only */
    .steps-bar { padding:.8rem 0 .6rem; }
    .step-box { width:42px; }
    .step-connector { width:14px; }
    .step-label { display:none; }
    .step-circle { width:32px; height:32px; font-size:.8rem; }
    .mobile-step-label { display:block; }

    /* Info banner — 2×2 grid */
    .info-banner-row { display:grid; grid-template-columns:1fr 1fr; }
    .info-card { border-right:none; border-bottom:1px solid var(--border); min-width:0; }
    .info-card:nth-child(odd)  { border-right:1px solid var(--border); }
    .info-card:nth-child(3),
    .info-card:nth-child(4)   { border-bottom:none; }

    /* Main layout — single column */
    .main-wrap { padding:1rem 0 3rem; }
    .main-layout { flex-direction:column; }
    .form-area { width:100%; }

    /* Form card */
    .form-card { padding:1.3rem; border-radius:8px; }
    .form-card h3 { font-size:1.05rem; }

    /* All form grids → single column */
    .form-grid-2 { grid-template-columns:1fr; }
    .form-grid-3 { grid-template-columns:1fr; }
    .span-2 { grid-column:span 1; }
    .span-3 { grid-column:span 1; }

    /* Form nav buttons — full width stacked */
    .form-nav { flex-direction:column-reverse; }
    .form-nav .btn-primary-app,
    .form-nav .btn-outline-app { width:100%; justify-content:center; }

    /* Payment methods — equal row */
    .payment-methods { gap:.5rem; }
    .pm-btn { padding:.6rem .4rem; min-width:0; }

    /* Review rows — stack label/value */
    .review-row { flex-direction:column; gap:.1rem; }
    .review-row .rv-label { min-width:unset; font-size:.75rem; }
    .review-row .rv-value { font-size:.84rem; }

    /* CTA */
    .cta-inner { flex-direction:column; text-align:center; }
    .btn-cta { width:100%; justify-content:center; }

    /* Footer */
    .footer-grid { grid-template-columns:1fr; gap:1.5rem; }
    .footer-bottom-inner { flex-direction:column; gap:.3rem; text-align:center; }

    /* Toast — full width at top */
    .app-toast { left:10px; right:10px; min-width:unset; max-width:unset; top:70px; }

    /* Bottom section */
    .bottom-grid { grid-template-columns:1fr; }
}

/* ── Small mobile (≤480px) ── */
@media (max-width:480px) {
    .container { padding:0 .8rem; }

    .top-bar-inner { justify-content:center; }
    .top-bar-contacts { justify-content:center; font-size:.75rem; gap:.7rem; }
    .top-bar .social { display:none; }

    .nav-logo img { height:42px; }
    .nav-logo .brand-name { font-size:1rem; }

    .hero-content h1 { font-size:1.2rem; }

    .info-card { padding:.7rem; gap:8px; }
    .info-card .icon { width:34px; height:34px; font-size:.9rem; }
    .info-card .val { font-size:.8rem; }

    .form-card { padding:1rem; }
    .ref-box { flex-direction:column; align-items:flex-start; }
    .ref-box .ref-label { text-align:left; }

    .btn-primary-app { padding:.65rem 1.2rem; font-size:.85rem; }
    .btn-outline-app  { padding:.6rem 1rem; font-size:.85rem; }

    .pay-modal { padding:1.5rem 1.2rem; }
}
