*{box-sizing:border-box}
body{
    margin:0;
    font-family:Inter,Arial,sans-serif;
    background:#0f172a;
    color:#e5e7eb;
}
a{text-decoration:none;color:inherit}
.wrap{
    width:min(1120px,92%);
    margin:0 auto;
}
.site-header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(15,23,42,.92);
    border-bottom:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(14px);
}
.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:72px;
}
.brand{
    font-weight:800;
    font-size:1.1rem;
    color:#fff;
}
nav{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    font-size:.92rem;
    color:#cbd5e1;
    align-items:center;
}
nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    min-height:38px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.06);
    color:var(--r-ink, #0f172a);
    font-weight:700;
    font-size:.88rem;
    white-space:nowrap;
    text-decoration:none;
    transition:background .15s,border-color .15s,color .15s;
    -webkit-tap-highlight-color:transparent;
}
nav a:hover,nav a.active{
    background:rgba(59,130,246,.16);
    border-color:rgba(59,130,246,.35);
    color:var(--r-ink, #0f172a);
}
.main-content{
    padding:32px 0 60px;
}
.hero-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:24px;
}
.card{
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:24px;
    box-shadow:0 18px 50px rgba(0,0,0,.25);
}
h1,h2,h3{color:var(--r-ink, #0f172a);margin-top:0}
.muted{color:#94a3b8}
label{
    display:block;
    margin:14px 0 8px;
    font-weight:600;
}
input[type="text"],
input[type="tel"],
input[type="password"],
textarea,
input[type="file"],
select{
    width:100%;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.12);
    background:#111827;
    color:#fff;
    padding:14px 16px;
}
textarea{
    min-height:140px;
    resize:vertical;
}
.btn{
    display:inline-block;
    width:100%;
    border:none;
    border-radius:16px;
    padding:15px 18px;
    font-weight:800;
    cursor:pointer;
    background:linear-gradient(135deg,#3b82f6,#06b6d4);
    color:#08111f;
    margin-top:16px;
}
.btn:disabled{
    opacity:.7;
    cursor:not-allowed;
}
.btn-secondary{
    width:auto;
    margin-top:0;
    padding:12px 16px;
    background:linear-gradient(135deg,#334155,#475569);
    color:#fff;
}
.notice{
    padding:14px 16px;
    border-radius:14px;
    margin-bottom:16px;
}
.notice.error{
    background:#450a0a;
    border:1px solid #7f1d1d;
    color:#fecaca;
}
.notice.success{
    background:#052e16;
    border:1px solid #166534;
    color:var(--r-ink, #0f172a);
}
.ad{
    min-height: 280px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed rgba(255,255,255,.18);
    color: #94a3b8;
    overflow: hidden;
}
.seo-section{
    margin-top:28px;
}
.site-footer{
    padding:24px 0 40px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#94a3b8;
}
.inline-check{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin-top:16px;
}
.counter{
    text-align:right;
    margin-top:8px;
    color:#94a3b8;
    font-size:.9rem;
}
.verify-box{
    margin-top:16px;
    padding:16px;
    border-radius:18px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
}
.verify-actions{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.verify-code-row{
    display:none;
    grid-template-columns:1fr auto;
    gap:12px;
    margin-top:12px;
}
.verify-code-row.is-visible{
    display:grid;
}
.verify-status{
    padding:12px 14px;
    border-radius:14px;
    background:rgba(148,163,184,.12);
    color:#cbd5e1;
    border:1px solid rgba(148,163,184,.16);
}
.verify-status.verified{
    background:rgba(59,130,246,.12);
    color:var(--r-ink, #0f172a);
    border:1px solid rgba(59,130,246,.28);
}
.verify-status.error{
    background:rgba(239,68,68,.12);
    color:#fecaca;
    border:1px solid rgba(239,68,68,.28);
}
.info-list{
    display:grid;
    gap:14px;
    margin:18px 0 22px;
}
.info-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:14px;
    border-radius:18px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
}
.info-badge{
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#3b82f6,#06b6d4);
    color:#08111f;
    font-weight:800;
}
.verify-cta-btn{
    display:inline-flex;
    align-items:center;
    margin-top:12px;
    padding:11px 18px;
    border-radius:999px;
    background:linear-gradient(135deg,#3b82f6,#06b6d4);
    color:#08111f;
    font-weight:800;
    font-size:.9rem;
    text-decoration:none;
    white-space:nowrap;
    -webkit-tap-highlight-color:transparent;
    transition:opacity .15s;
}
.verify-cta-btn:hover{opacity:.88}

.benefit-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin:20px 0;
}
.benefit-card{
    padding:18px;
    border-radius:20px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
}
.media-preview-box{
    margin-top:18px;
    border-radius:20px;
    overflow:hidden;
    background:#0b1220;
    border:1px solid rgba(255,255,255,.08);
    min-height:280px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.media-preview-image{
    display:block;
    width:100%;
    height:auto;
    max-height:600px;
    object-fit:contain;
}
.media-preview-audio{
    width:min(100%, 680px);
    margin:24px;
}
.media-preview-pdf{
    width:100%;
    min-height:620px;
    border:0;
    background:#fff;
}
.file-generic-preview{
    text-align:center;
    padding:32px;
}
.file-generic-icon{
    width:90px;
    height:90px;
    border-radius:24px;
    margin:0 auto 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    letter-spacing:.08em;
    background:linear-gradient(135deg,#334155,#1e293b);
    color:#fff;
}
.media-actions{
    margin-top:18px;
}
.media-download-btn{
    text-align:center;
}
.details-table{
    width:100%;
    border-collapse:collapse;
    margin-top:12px;
}
.details-table th,
.details-table td{
    text-align:left;
    vertical-align:top;
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.details-table th{
    width:140px;
    color:#cbd5e1;
    font-weight:700;
}
.admin-auth-wrap{
    max-width:560px;
}
.admin-auth-card{
    margin:0 auto;
}
.admin-topbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:20px;
}
.admin-page-title{
    margin-bottom:8px;
}
.admin-topbar-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.admin-user-chip{
    display:inline-flex;
    align-items:center;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#cbd5e1;
    font-size:.92rem;
}
.admin-logout-btn{
    text-align:center;
}
.admin-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:22px;
}
.admin-tab{
    display:inline-flex;
    align-items:center;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#e5e7eb;
}
.admin-tab.active{
    background:linear-gradient(135deg,#3b82f6,#06b6d4);
    color:#08111f;
    border-color:transparent;
    font-weight:800;
}
.muted-tab{
    opacity:.7;
}
.admin-stats-grid{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:16px;
    margin-bottom:24px;
}
.admin-stat-card{
    padding:18px;
}
.admin-stat-label{
    color:#94a3b8;
    font-size:.92rem;
    margin-bottom:10px;
}
.admin-stat-value{
    font-size:1.8rem;
    font-weight:800;
    color:#fff;
}
.admin-layout-grid{
    display:grid;
    grid-template-columns:1.35fr .9fr;
    gap:24px;
}
.admin-side-stack{
    display:grid;
    gap:24px;
}
.table-wrap{
    overflow:auto;
}
.admin-table{
    width:100%;
    border-collapse:collapse;
    min-width:720px;
}
.admin-table.compact{
    min-width:100%;
}
.admin-table th,
.admin-table td{
    text-align:left;
    vertical-align:top;
    padding:12px 10px;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-table th{
    color:#cbd5e1;
    font-size:.92rem;
    font-weight:700;
    white-space:nowrap;
}
.admin-chart-box{
    position:relative;
    width:100%;
    height:340px;
    min-height:340px;
    max-height:340px;
    overflow:hidden;
}

.admin-chart-box-sm{
    height:300px;
    min-height:300px;
    max-height:300px;
}

.admin-chart{
    display:block;
    width:100% !important;
    height:100% !important;
}
.message-preview{
    max-width:360px;
    line-height:1.45;
    white-space:normal;
    word-break:break-word;
}
.inbound-message-preview{
    max-width:560px;
}
.inbound-table{
    min-width:100%;
}
.inbound-ad-row td{
    padding:18px 0;
    border-bottom:0;
}
.inbound-table-ad{
    min-height:110px;
}
.result-box{
    margin-top:18px;
    padding:18px;
    border-radius:18px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
}
.copy-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
}
.copy-btn{
    white-space:nowrap;
}
.change-email-box{
    margin-top:18px;
    padding:18px;
    border-radius:18px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
}
.change-email-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
}
.email-domain-pill{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 16px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.12);
    background:#111827;
    color:#cbd5e1;
    white-space:nowrap;
}
.stats-embed-frame{
    width:100%;
    min-height:760px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:#fff;
}
.small-text{
    font-size:.85rem;
    margin-top:4px;
}
.status-pill{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.1);
    font-size:.85rem;
}
.iti{
    width:100%;
}
.iti__tel-input{
    width:100% !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
    padding-right:16px !important;
    background:#111827 !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:14px !important;
}
.iti__country-list{
    background:#0f172a !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.35) !important;
}
.iti__country.iti__highlight{
    background:rgba(255,255,255,.08) !important;
}
.iti__selected-country{
    background:transparent !important;
    border-radius:14px 0 0 14px;
}
.iti__dial-code{
    color:#cbd5e1 !important;
}
@media (max-width: 900px){
    .admin-chart-box{
        height:280px;
        min-height:280px;
        max-height:280px;
    }

    .admin-chart-box-sm{
        height:260px;
        min-height:260px;
        max-height:260px;
    }
}
@media (max-width: 1100px){
    .admin-stats-grid{
        grid-template-columns:repeat(3, 1fr);
    }
    .admin-layout-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 900px){
    .hero-grid{
        grid-template-columns:1fr;
    }
    .nav{
        flex-direction:column;
        align-items:flex-start;
        padding:12px 0;
    }
    .verify-code-row{
        grid-template-columns:1fr;
    }
    .copy-row,
    .change-email-row{
        grid-template-columns:1fr;
    }
    .btn-secondary{
        width:100%;
    }
    .benefit-grid{
        grid-template-columns:1fr;
    }
    .media-preview-pdf{
        min-height:420px;
    }
    .admin-stats-grid{
        grid-template-columns:1fr 1fr;
    }
    .admin-topbar{
        flex-direction:column;
    }
    .stats-embed-frame{
        min-height:620px;
    }
}
@media (max-width: 640px){
    .admin-stats-grid{
        grid-template-columns:1fr;
    }
}
.admin-filter-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr auto;
    gap:12px;
    align-items:end;
}
.admin-pagination{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}
.admin-page-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 12px;
    border-radius:12px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#e5e7eb;
}
.admin-page-link.active{
    background:linear-gradient(135deg,#3b82f6,#06b6d4);
    color:#08111f;
    font-weight:800;
    border-color:transparent;
}
@media (max-width: 900px){
    .admin-filter-grid{
        grid-template-columns:1fr;
    }
}
.email-inbox-wrap{
    overflow-x:auto;
}

.email-cell-primary{
    font-weight:700;
    line-height:1.45;
    word-break:break-word;
}

.email-cell-title{
    font-weight:700;
    line-height:1.45;
    word-break:break-word;
}

.email-message-preview{
    max-width:100%;
    word-break:break-word;
}

.email-action-row{
    margin-top:10px;
}

.admin-action-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:10px 14px;
    border-radius:12px;
    background:linear-gradient(135deg,#3b82f6,#06b6d4);
    color:#08111f;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}

.admin-action-btn.secondary{
    background:linear-gradient(135deg,#334155,#475569);
    color:#fff;
}

@media (max-width: 768px){
    .email-inbox-table thead{
        display:none;
    }

    .email-inbox-table,
    .email-inbox-table tbody,
    .email-inbox-table tr,
    .email-inbox-table td{
        display:block;
        width:100%;
    }

    .email-inbox-table tr.email-row-card{
        margin-bottom:16px;
        padding:16px;
        border:1px solid rgba(255,255,255,.08);
        border-radius:18px;
        background:rgba(255,255,255,.03);
    }

    .email-inbox-table tr.email-row-card td{
        padding:0;
        border:0;
        margin-bottom:14px;
    }

    .email-inbox-table tr.email-row-card td:last-child{
        margin-bottom:0;
    }

    .email-inbox-table td[data-label]::before{
        content: attr(data-label);
        display:block;
        margin-bottom:6px;
        color:#94a3b8;
        font-size:.85rem;
        font-weight:700;
        letter-spacing:.01em;
    }

    .email-inbox-table .admin-action-btn{
        width:100%;
    }

    .email-inbox-table .message-preview{
        max-width:100%;
    }
}
/* ── Mobile-friendly header nav (pill buttons) ────────── */
@media(max-width:768px){
    .nav{
        flex-direction:column;
        align-items:stretch;
        gap:0;
        min-height:auto;
        padding:10px 0 4px;
    }
    .brand{
        padding:4px 0 10px;
        font-size:1rem;
    }
    nav{
        display:flex;
        flex-wrap:nowrap;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        gap:8px;
        padding-bottom:10px;
        scrollbar-width:none;
    }
    nav::-webkit-scrollbar{display:none}
    nav a{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
        min-height:40px;
        padding:9px 16px;
        border-radius:999px;
        border:1px solid rgba(255,255,255,.12);
        background:rgba(255,255,255,.06);
        color:var(--r-ink, #0f172a);
        font-weight:700;
        font-size:.88rem;
        white-space:nowrap;
        text-decoration:none;
        -webkit-tap-highlight-color:transparent;
        transition:background .15s,border-color .15s;
    }
    nav a:hover,nav a:active{
        background:rgba(59,130,246,.18);
        border-color:rgba(59,130,246,.4);
        color:var(--r-ink, #0f172a);
    }
    .main-content{padding-bottom:40px}
    .site-footer{padding-bottom:32px}
}


/* ── Ad Placement Improvements ────────────────────────── */
.ad-in-article{
    text-align:center;
    margin:28px 0;
    overflow:hidden;
}
.ad-rectangle{
    min-height:250px;
    margin:18px 0;
}
@media(max-width:768px){
    .ad-rectangle{
        min-height:100px;
    }
    .ads{
        min-height:100px;
    }
}

/* ── General Mobile Polish ────────────────────────────── */
@media(max-width:640px){
    .wrap{width:calc(100% - 16px)}
    .card{padding:16px !important;border-radius:18px !important}
    h1{font-size:clamp(1.6rem,8vw,2.2rem);line-height:1.1}
    h2{font-size:1.25rem}
    h3{font-size:1.05rem}
    .btn,button[type=submit]{
        min-height:54px;
        font-size:1rem;
        border-radius:16px;
    }
    input[type=text],
    input[type=tel],
    input[type=password],
    textarea,
    select{
        font-size:16px;
        min-height:50px;
        border-radius:12px;
    }
    textarea{min-height:120px}
    .info-item{padding:12px}
    .info-badge{width:26px;height:26px;min-width:26px;font-size:.85rem}
    .location-note{border-radius:14px}
    .inline-check{gap:8px;margin-top:14px}
    nav a,
    .site-menu a{
        min-height:40px;
        padding:9px 13px;
        font-size:.88rem;
    }
}



/* push body content above sticky ad so users aren't blocked */
body{padding-bottom:80px;}
@media(max-width:768px){
    .sticky-anchor-ad{min-height:54px; padding:4px 6px 6px;}
    body{padding-bottom:72px;}
}

/* ─── FAQ section for engagement + SEO ─── */
.faq-section{margin-top:28px}
.faq-section h2{font-size:1.6rem; margin:0 0 16px; color:var(--r-ink, #0f172a)}
.faq{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px; padding:16px 18px; margin-bottom:10px;
    transition:background .15s;
}
.faq:hover{background:rgba(255,255,255,.06)}
.faq summary{
    cursor:pointer; font-weight:700; color:var(--r-ink, #0f172a); font-size:1.02rem;
    list-style:none; outline:none; padding-right:24px; position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
    content:"+"; position:absolute; right:0; top:0;
    color:#3b82f6; font-weight:800; font-size:1.4rem; line-height:1;
    transition:transform .15s;
}
.faq[open] summary::after{content:"−"}
.faq p{color:#cbd5e1; margin:10px 0 0; line-height:1.6}
.faq a{color:#3b82f6; text-decoration:none}
.faq a:hover{text-decoration:underline}

/* Trust strip */
.trust-strip{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr));
    gap:14px; margin:20px 0 0;
}
.trust-item{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px; padding:14px 16px;
}
.trust-item .num{
    font-size:1.5rem; font-weight:800;
    background:linear-gradient(135deg,#3b82f6,#06b6d4);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.trust-item .lbl{color:#94a3b8; font-size:.86rem; margin-top:4px}


/* Header search input */
.header-search input{ transition: width .15s, background .15s; }
.header-search input:focus{ background:rgba(255,255,255,.10); width:200px; border-color:rgba(59,130,246,.5); }
@media(max-width:900px){ .header-search{ display:none !important; } }

/* Contrast fix (2026-07-20): the 2026-07-16 fix hard-coded #e2e8f0 (near-white) for
   header nav links, assuming a permanently-dark header. redesign.css later made the
   header a theme-aware gradient (white in light mode via --r-header-bg-*), so in light
   mode the light links became invisible on the white bar. Use var(--r-ink) — the same
   theme-tracking colour the brand link already uses — so it contrasts the header in
   BOTH themes (dark #0f172a in light mode, light #f1f5f9 in dark mode). */
.site-header nav a{color:var(--r-ink)}
.site-header nav a:hover,.site-header nav a.active,.site-header nav a:active{
    color:var(--r-ink);
    background:rgba(59,130,246,.22);
    border-color:rgba(96,165,250,.55);
}
