@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

:root{
    --bg:#f6f8fc;
    --surface:#ffffff;
    --surface-2:#f8fafc;

    --text:#122033;
    --muted:#66758a;
    --line:#e5eaf2;

    --primary:#2358d8;
    --primary-2:#1743ad;

    --success:#13875b;

    --warning:#f59e0b;
    --warning-soft:#fff4d8;
    --warning-text:#a66300;

    --danger:#dc2626;

    --shadow:
        0 18px 55px rgba(21,37,65,.09);

    --radius:22px;
}

body{
    margin:0;

    font-family:
        'Manrope',
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        'Segoe UI',
        sans-serif;

    background:var(--bg);
    color:var(--text);

    line-height:1.62;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

a{
    color:inherit;
}

.container{
    width:min(1180px,calc(100% - 34px));
    margin:0 auto;
}


/* =====================================================
   HEADER
   ===================================================== */

.site-header{
    position:sticky;
    top:0;
    z-index:50;

    background:rgba(255,255,255,.88);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(229,234,242,.9);
}

.header-inner{
    min-height:72px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:22px;
}

.brand{
    display:inline-flex;
    align-items:center;

    gap:10px;

    text-decoration:none;

    font-size:20px;
    font-weight:800;

    letter-spacing:-.04em;
}

.brand>span:last-child>span{
    color:var(--primary);
}

.brand-mark{
    display:grid;
    place-items:center;

    width:34px;
    height:34px;

    border-radius:11px;

    background:
        linear-gradient(
            145deg,
            var(--primary),
            #4d7dea
        );

    color:#fff;

    box-shadow:
        0 9px 20px rgba(35,88,216,.24);

    font-size:18px;
}

.country-nav{
    display:flex;
    align-items:center;

    gap:7px;
}

.country-nav a{
    text-decoration:none;

    padding:9px 13px;

    border-radius:12px;

    font-size:13px;
    font-weight:700;

    color:#526176;

    transition:.18s;
}

.country-nav a:hover,
.country-nav a.active{
    background:#eef3ff;
    color:var(--primary);
}


/* =====================================================
   HERO
   ===================================================== */

.home-hero,
.country-hero,
.landing-hero{
    padding:54px 0 22px;
}

.home-hero-grid{
    min-height:430px;

    display:grid;
    grid-template-columns:1.15fr .85fr;

    gap:48px;

    align-items:center;

    padding:58px;

    border-radius:32px;

    background:
        linear-gradient(
            135deg,
            #102b68 0%,
            #1f58d5 57%,
            #2d77e8 100%
        );

    color:#fff;

    position:relative;
    overflow:hidden;

    box-shadow:
        0 24px 70px rgba(26,64,145,.24);
}

.home-hero-grid:before{
    content:'';

    position:absolute;

    width:500px;
    height:500px;

    border-radius:50%;

    right:-180px;
    top:-190px;

    background:rgba(255,255,255,.09);
}

.eyebrow,
.section-kicker{
    display:inline-flex;
    align-items:center;

    gap:8px;

    font-size:12px;
    font-weight:800;

    letter-spacing:.08em;
    text-transform:uppercase;
}

.eyebrow{
    color:#dce9ff;
    margin-bottom:15px;
}

.section-kicker{
    color:var(--primary);
    margin-bottom:7px;
}

.home-hero h1,
.hero-panel h1,
.landing-head h1{
    font-size:clamp(36px,5vw,62px);

    line-height:1.04;

    letter-spacing:-.055em;

    margin:0 0 22px;

    max-width:820px;
}

.hero-lead,
.hero-panel>p,
.landing-intro{
    font-size:18px;

    max-width:730px;

    color:rgba(255,255,255,.86);
}

.hero-points{
    display:flex;
    gap:9px;
    flex-wrap:wrap;

    margin-top:26px;
}

.hero-points span,
.trust-row span{
    padding:8px 11px;

    border-radius:999px;

    border:1px solid rgba(255,255,255,.19);

    background:rgba(255,255,255,.1);

    font-size:12px;
    font-weight:700;
}

.hero-visual{
    position:relative;
    z-index:1;

    display:grid;

    gap:16px;
}

.visual-card{
    padding:25px;

    border-radius:22px;

    background:rgba(255,255,255,.95);

    color:var(--text);

    box-shadow:
        0 20px 55px rgba(0,0,0,.16);

    transform:rotate(2deg);
}

.visual-card.second{
    transform:rotate(-2deg);
    margin-left:34px;
}

.visual-label{
    font-size:10px;

    letter-spacing:.13em;

    font-weight:800;

    color:var(--primary);
}

.visual-card strong{
    display:block;

    font-size:25px;

    margin:7px 0 2px;
}

.visual-card p{
    margin:0;

    color:var(--muted);

    font-size:13px;
}

.hero-panel,
.landing-head{
    padding:45px 48px;

    border-radius:30px;

    background:
        linear-gradient(
            135deg,
            #17376f,
            #2358d8
        );

    color:#fff;

    box-shadow:var(--shadow);
}

.hero-panel h1,
.landing-head h1{
    font-size:clamp(34px,4.7vw,54px);
}

.trust-row{
    display:flex;
    flex-wrap:wrap;

    gap:8px;

    margin-top:23px;
}

.landing-intro p{
    margin:0 0 12px;
}

.landing-intro h2,
.landing-intro h3{
    color:#fff;
}

.landing-intro a{
    color:#fff;
}

.disclosure{
    display:flex;
    align-items:flex-start;

    gap:12px;

    margin-top:24px;

    padding:14px 16px;

    border-radius:15px;

    background:rgba(8,25,64,.28);

    border:1px solid rgba(255,255,255,.16);
}

.disclosure>span{
    display:grid;
    place-items:center;

    flex:0 0 24px;

    width:24px;
    height:24px;

    border-radius:50%;

    background:#fff;

    color:var(--primary);

    font-weight:800;
}

.disclosure p{
    margin:0;

    font-size:13px;

    color:#eef4ff;
}


/* =====================================================
   SECTIONS
   ===================================================== */

.section{
    padding:32px 0;
}

.section-heading{
    display:flex;

    justify-content:space-between;

    align-items:end;

    gap:24px;

    margin-bottom:18px;
}

.section-heading h2,
.info-panel h2,
.content-card h2{
    font-size:clamp(25px,3vw,34px);

    line-height:1.15;

    letter-spacing:-.04em;

    margin:0;
}

.section-heading .updated{
    max-width:380px;

    text-align:right;

    font-size:12px;

    color:var(--muted);
}

.text-link{
    text-decoration:none;

    font-weight:800;

    color:var(--primary);

    font-size:13px;
}


/* =====================================================
   MARKET / CATEGORY CARDS
   ===================================================== */

.market-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;
}

.market-card{
    display:grid;

    grid-template-columns:auto 1fr auto;

    align-items:center;

    gap:15px;

    text-decoration:none;

    background:#fff;

    border:1px solid var(--line);

    border-radius:20px;

    padding:21px 20px;

    box-shadow:
        0 10px 30px rgba(18,32,51,.05);

    transition:.2s;
}

.market-card:hover,
.category-card:hover,
.offer-preview:hover{
    transform:translateY(-3px);

    border-color:#b9caef;

    box-shadow:
        0 16px 40px rgba(35,88,216,.11);
}

.market-flag{
    font-size:34px;
}

.market-card strong{
    display:block;

    font-size:18px;
}

.market-card small{
    color:var(--muted);
}

.market-arrow,
.category-arrow{
    font-size:21px;

    color:var(--primary);

    font-weight:800;
}

.category-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:14px;
}

.category-card{
    position:relative;

    display:flex;

    flex-direction:column;

    min-height:150px;

    text-decoration:none;

    background:#fff;

    border:1px solid var(--line);

    border-radius:20px;

    padding:21px;

    transition:.2s;
}

.category-card strong{
    font-size:17px;

    padding-right:35px;
}

.category-card small{
    margin-top:8px;

    color:var(--muted);
}

.category-arrow{
    position:absolute;

    right:20px;
    top:17px;
}


/* =====================================================
   OFFER PREVIEW
   ===================================================== */

.offer-preview-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:14px;
}

.offer-preview{
    background:#fff;

    border:1px solid var(--line);

    border-radius:20px;

    transition:.2s;

    overflow:hidden;
}

.preview-main{
    display:flex;

    gap:15px;

    align-items:center;

    text-decoration:none;

    padding:18px;
}

.preview-logo{
    display:grid;
    place-items:center;

    flex:0 0 92px;

    height:58px;

    border:1px solid #edf0f5;

    border-radius:14px;

    background:#fff;
}

.preview-logo img{
    max-width:78px;
    max-height:42px;

    object-fit:contain;
}

.preview-main h3{
    margin:5px 0 3px;

    font-size:17px;
}

.preview-main p{
    margin:0;

    color:var(--muted);

    font-size:13px;
}

.mini-badge,
.badge{
    display:inline-flex;

    width:max-content;

    padding:4px 8px;

    border-radius:999px;

    background:var(--warning-soft);

    color:var(--warning-text);

    font-size:10px;

    font-weight:800;
}


/* =====================================================
   INFO
   ===================================================== */

.info-panel,
.content-card{
    background:#fff;

    border:1px solid var(--line);

    border-radius:24px;

    padding:30px;

    box-shadow:
        0 12px 35px rgba(18,32,51,.05);
}

.info-panel{
    display:grid;

    grid-template-columns:.8fr 1.2fr;

    gap:32px;

    align-items:start;
}

.info-panel p{
    margin:0 0 12px;

    color:#43536a;
}

.muted{
    color:var(--muted)!important;
}


/* =====================================================
   OFFER TABLE DESKTOP
   ===================================================== */

.table-wrap{
    background:#fff;

    border:1px solid var(--line);

    border-radius:24px;

    overflow:hidden;

    box-shadow:
        0 18px 50px rgba(18,32,51,.07);
}

.offer-table{
    width:100%;

    border-collapse:collapse;
}

.offer-table th{
    text-align:left;

    padding:14px 15px;

    background:#f8fafc;

    color:#738096;

    font-size:10px;

    letter-spacing:.08em;

    text-transform:uppercase;

    border-bottom:1px solid var(--line);
}

.offer-table td{
    padding:17px 15px;

    border-bottom:1px solid #edf0f5;

    vertical-align:middle;
}

.offer-row:last-of-type td{
    border-bottom:0;
}

.offer-row.featured{
    background:
        linear-gradient(
            90deg,
            #fffaf0 0,
            #fff 48%
        );

    box-shadow:
        inset 4px 0 0 #f3a312;
}


/* =====================================================
   COMPANY
   ===================================================== */

.company-cell{
    display:flex;

    align-items:center;

    gap:13px;
}

.company-link{
    text-decoration:none;
}

.logo-box{
    display:grid;

    place-items:center;

    flex:0 0 90px;

    height:56px;

    border:1px solid #edf0f5;

    border-radius:14px;

    background:#fff;
}

.offer-logo{
    max-width:76px;
    max-height:40px;

    object-fit:contain;
}

.company-copy{
    display:flex;

    flex-direction:column;

    min-width:0;
}

.company-copy strong{
    font-size:16px;

    line-height:1.25;
}

.company-copy small{
    font-size:11px;

    color:var(--muted);

    margin-top:4px;
}


/* =====================================================
   METRICS
   ===================================================== */

.metric{
    display:flex;

    flex-direction:column;

    line-height:1.25;
}

.metric b{
    font-size:16px;
}

.metric small{
    font-size:11px;

    color:var(--muted);
}

.rate{
    font-size:14px;

    font-weight:800;
}

.sub-rate{
    display:block;

    color:var(--muted);

    font-size:11px;

    margin-top:3px;
}


/* =====================================================
   BUTTONS DESKTOP
   ===================================================== */

.action-buttons{
    display:flex;

    gap:7px;

    justify-content:flex-end;
}

.details-btn,
.go-btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:40px;

    padding:9px 12px;

    border-radius:11px;

    font-family:inherit;

    font-size:12px;
    font-weight:800;

    cursor:pointer;

    text-decoration:none;

    white-space:nowrap;

    transition:
        .18s background,
        .18s color,
        .18s border,
        .18s transform,
        .18s box-shadow;
}

.details-btn{
    border:1px solid #dfe5ee;

    background:#fff;

    color:#42536a;
}

.details-btn:hover,
.details-btn.active{
    background:#eef3ff;

    color:var(--primary);

    border-color:#c8d7f5;
}

.go-btn{
    border:1px solid var(--primary);

    background:var(--primary);

    color:#fff;

    box-shadow:
        0 8px 18px rgba(35,88,216,.19);
}

.go-btn:hover{
    background:var(--primary-2);

    border-color:var(--primary-2);

    transform:translateY(-1px);

    box-shadow:
        0 10px 22px rgba(35,88,216,.24);
}


/* =====================================================
   DETAILS
   ===================================================== */

.details-row{
    display:none;
}

.details-row.open{
    display:table-row;
}

.details-row td{
    padding:0 15px 16px;

    background:#fbfcfe;
}

.details-box{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    padding:20px;

    background:#f7f9fc;

    border:1px solid #e8edf4;

    border-radius:16px;
}

.details-box h3{
    margin:0 0 10px;

    font-size:14px;
}

.details-box p{
    margin:0 0 8px;

    font-size:12px;

    color:#53647a;
}

.full-details{
    grid-column:1/-1;
}

.doc-link{
    display:flex;

    justify-content:space-between;

    gap:12px;

    text-decoration:none;

    padding:9px 11px;

    border-radius:10px;

    border:1px solid #e2e7ef;

    background:#fff;

    color:var(--primary);

    font-size:12px;

    font-weight:800;

    margin-bottom:7px;
}

.empty-state{
    text-align:center!important;

    padding:40px!important;

    color:var(--muted);
}


/* =====================================================
   EDITORIAL / LEGAL
   ===================================================== */

.editorial-content{
    color:#43536a;
}

.editorial-content h2,
.editorial-content h3{
    color:var(--text);

    margin-top:24px;
}

.editorial-content a{
    color:var(--primary);
}

.legal-wrap{
    padding:44px 0;
}

.legal-card{
    max-width:900px;

    margin:0 auto;

    background:#fff;

    border:1px solid var(--line);

    border-radius:24px;

    padding:38px;

    box-shadow:var(--shadow);
}

.legal-card h1{
    font-size:38px;

    letter-spacing:-.04em;

    margin:0 0 22px;
}

.legal-card h2{
    font-size:21px;

    margin:28px 0 8px;
}

.legal-card p,
.legal-card li{
    color:#4d5e74;
}

.legal-card a{
    color:var(--primary);
}


/* =====================================================
   FOOTER
   ===================================================== */

.site-footer{
    margin-top:42px;

    padding:35px 0;

    background:#101a2c;

    color:#b8c4d5;
}

.footer-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:28px;

    align-items:start;
}

.footer-brand{
    color:#fff;
}

.footer-note{
    max-width:520px;

    font-size:11px;

    color:#8392a7;
}

.footer-links{
    display:flex;

    flex-wrap:wrap;

    justify-content:flex-end;

    gap:9px 16px;
}

.footer-links a{
    text-decoration:none;

    font-size:12px;
}

.footer-links a:hover{
    color:#fff;
}


/* =====================================================
   ERROR PAGE
   ===================================================== */

.error-page{
    min-height:65vh;

    display:grid;

    place-items:center;

    text-align:center;
}

.error-page h1{
    font-size:72px;

    margin:0;

    color:var(--primary);
}

.error-page p{
    color:var(--muted);
}


/* =====================================================
   TABLET
   ===================================================== */

@media(max-width:900px){

    .home-hero-grid{
        grid-template-columns:1fr;

        padding:40px;
    }

    .hero-visual{
        display:none;
    }

    .market-grid,
    .offer-preview-grid{
        grid-template-columns:1fr 1fr;
    }

    .category-grid{
        grid-template-columns:1fr 1fr;
    }

    .info-panel{
        grid-template-columns:1fr;
    }

    .footer-grid{
        grid-template-columns:1fr;
    }

    .footer-links{
        justify-content:flex-start;
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media(max-width:640px){

    body{
        background:#f5f7fa;
    }

    .container{
        width:calc(100% - 14px);
    }
    
    .site-header{
    position:relative;
    top:auto;

    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}

.telegram-btn{
    min-height:36px;

    padding:7px 11px !important;

    gap:6px;

    border-radius:10px !important;

    font-size:11px !important;

    box-shadow:
        0 4px 12px rgba(34,158,217,.18);
}

.telegram-icon{
    width:16px;
    height:16px;

    flex-basis:16px;
}

    /* ==============================
       HEADER
       ============================== */

    .header-inner{
        min-height:60px;
        gap:8px;
    }

    .brand{
        font-size:17px;
        gap:7px;
    }

    .brand-mark{
        width:30px;
        height:30px;
        border-radius:9px;
        font-size:15px;
    }

    .country-nav{
        gap:1px;
    }

    .country-nav a{
        padding:7px 6px;
        font-size:10px;
    }


    /* ==============================
       HERO
       ============================== */

    .home-hero,
    .country-hero,
    .landing-hero{
        padding-top:16px;
    }

    .home-hero-grid,
    .hero-panel,
    .landing-head{
        padding:24px 18px;
        border-radius:20px;
    }

    .home-hero h1,
    .hero-panel h1,
    .landing-head h1{
        font-size:30px;
        line-height:1.08;
    }

    .hero-lead,
    .hero-panel>p,
    .landing-intro{
        font-size:14px;
    }

    .section{
        padding:18px 0;
    }

    .section-heading{
        flex-direction:column;
        align-items:flex-start;
        gap:7px;
    }

    .section-heading .updated{
        text-align:left;
    }

    .market-grid,
    .offer-preview-grid,
    .category-grid{
        grid-template-columns:1fr;
    }


    /* ==============================
       OFFER TABLE -> CARDS
       ============================== */

    .table-wrap{
        background:transparent;
        border:0;
        border-radius:0;
        box-shadow:none;
        overflow:visible;
    }

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

    .offer-table thead{
        display:none;
    }


    /* ==============================
       CARD
       ============================== */

    .offer-row{
        margin:0 0 12px;

        background:#fff;

        border:1px solid #e2e7ef;
        border-left:4px solid #f5a000;

        border-radius:18px;

        overflow:hidden;

        box-shadow:
            0 5px 18px rgba(20,35,60,.055);
    }

    .offer-row.featured{
        background:
            linear-gradient(
                90deg,
                #fffdf8 0%,
                #ffffff 42%
            );

        border-color:#f0d9a6;
        border-left-color:#f5a000;
    }


    /* ==============================
       COMPANY HEADER
       ============================== */

    .offer-table td:first-child{
        padding:11px 10px;

        border-bottom:1px solid #e9edf3;
    }

    .offer-table td:first-child:before{
        display:none;
    }

    .company-cell{
        display:flex;
        align-items:center;

        gap:12px;
    }

    .logo-box{
        display:grid;
        place-items:center;

        flex:0 0 88px;

        width:88px;
        height:56px;

        background:#fff;

        border:1px solid #e3e8ef;

        border-radius:13px;
    }

    .offer-logo{
        max-width:76px;
        max-height:43px;

        object-fit:contain;
    }

    .company-copy{
        flex:1;

        min-width:0;
    }

    .company-copy strong{
        display:block;

        font-size:17px;
        line-height:1.15;

        font-weight:800;

        color:#0e213d;

        letter-spacing:-.02em;
    }

    .company-copy small{
        margin-top:2px;

        font-size:10px;

        color:#8593a5;
    }

    .badge,
    .mini-badge{
        display:inline-flex;

        width:max-content;

        margin-bottom:3px;

        padding:4px 7px;

        border-radius:999px;

        background:#fff2cf;

        color:#a35f00;

        font-size:12px;

        font-weight:800;

        line-height:1.15;
    }


    /* ==============================
       COMMON DATA ROW
       ============================== */

    .offer-table td:not(:first-child){
        min-height:52px;

        padding:10px 11px;

        border-bottom:1px solid #e9edf3;
    }

    .offer-table td:not(:first-child):before{
        content:attr(data-label);

        color:#8090a6;

        font-size:12px;

        font-weight:800;

        text-transform:uppercase;

        letter-spacing:.06em;
    }


    /* ==============================
       SUM
       ============================== */

    .offer-table td[data-label="Сума"],
    .offer-table td[data-label="Kwota"],
    .offer-table td[data-label="Summa"]{
        display:grid;

        grid-template-columns:82px 1fr;

        align-items:center;

        gap:8px;
    }

    .amount-mobile{
        display:grid;

        grid-template-columns:70px 1fr;

        align-items:end;

        gap:8px;

        width:100%;
    }

    .amount-from{
        color:#8b99ab;

        font-size:9px;

        line-height:1.15;
    }

    .amount-from strong{
        display:block;

        margin-top:2px;

        color:#607086;

        font-size:12px;

        font-weight:500;
    }

    .amount-to{
        text-align:right;

        color:#8b99ab;

        font-size:9px;

        line-height:1.1;
    }

    .amount-to strong{
        display:block;

        margin-top:2px;

        color:#071a35;

        font-size:22px;

        line-height:1;

        font-weight:800;

        letter-spacing:-.035em;
    }

    .amount-to .currency{
        margin-left:4px;

        color:#8090a4;

        font-size:9px;

        font-weight:500;

        letter-spacing:0;
    }


    /* ==============================
       TERM
       ============================== */

    .offer-table td[data-label="Строк"],
    .offer-table td[data-label="Okres"],
    .offer-table td[data-label="Termiņš"]{
        display:grid;

        grid-template-columns:82px 1fr;

        align-items:center;

        gap:8px;
    }

    .offer-table td[data-label="Строк"] .metric,
    .offer-table td[data-label="Okres"] .metric,
    .offer-table td[data-label="Termiņš"] .metric{
        align-items:flex-end;

        text-align:right;
    }

    .offer-table td[data-label="Строк"] .metric b,
    .offer-table td[data-label="Okres"] .metric b,
    .offer-table td[data-label="Termiņš"] .metric b{
        color:#071a35;

        font-size:16px;

        line-height:1.05;

        font-weight:800;
    }

    .offer-table td[data-label="Строк"] .metric small,
    .offer-table td[data-label="Okres"] .metric small,
    .offer-table td[data-label="Termiņš"] .metric small{
        margin-top:3px;

        color:#8593a6;

        font-size:9px;
    }


    /* ==============================
       APR / РРПС
       ============================== */

    .offer-table td[data-label="APR / РРПС"],
    .offer-table td[data-label="RRSO / APR"],
    .offer-table td[data-label="GPL / APR"]{
        display:grid;

        grid-template-columns:82px 1fr;

        align-items:center;

        gap:8px;


    }

    .rate{
        display:block;

        color:#071a35;

        font-size:15px;

        line-height:1.1;

        font-weight:800;

        text-align:right;
    }

    .sub-rate{
        display:block;

        margin-top:2px;

        color:#8593a6;

        font-size:9px;

        text-align:right;
    }


    /* ==============================
       ACTIONS
       ============================== */

    .offer-table td[data-label="Дія"],
    .offer-table td[data-label="Działanie"],
    .offer-table td[data-label="Darbība"]{
        display:block;

        padding:10px 10px;

        border-bottom:0;
    }

    .offer-table td[data-label="Дія"]:before,
    .offer-table td[data-label="Działanie"]:before,
    .offer-table td[data-label="Darbība"]:before{
        display:none;
    }

    .action-buttons{
        display:grid;

        grid-template-columns:88px 1fr;

        gap:8px;

        width:100%;
    }


    /* DETAILS */

    .details-btn{
        width:100%;

        min-height:42px;

        padding:8px 9px;

        background:#fff;

        border:1px solid #d8e0ea;

        border-radius:12px;

        color:#6d7c91;

        font-family:inherit;

        font-size:11px;

        font-weight:700;

        box-shadow:none;
    }

    .details-btn:hover,
    .details-btn.active{
        background:#f7f9fc;

        border-color:#ccd6e3;

        color:#536277;
    }


    /* ==============================
       MAIN CTA
       ============================== */

    .go-btn{
        position:relative;

        width:100%;

        min-height:42px;

        padding:9px 14px;

        border:1px solid #12a63d;

        border-radius:12px;

        background:
            linear-gradient(
                135deg,
                #22c55e 0%,
                #16a34a 55%,
                #0d923c 100%
            );

        color:#fff;

        font-family:inherit;

        font-size:12px;

        font-weight:800;

        letter-spacing:-.01em;

        text-decoration:none;

        box-shadow:
            0 6px 16px rgba(22,163,74,.26);

        transition:
            transform .15s ease,
            box-shadow .15s ease,
            filter .15s ease;
    }

    .go-btn:after{
        content:'›';

        margin-left:9px;

        font-size:19px;

        line-height:1;

        font-weight:800;
    }

    .go-btn:hover{
        transform:translateY(-1px);

        filter:brightness(1.04);

        box-shadow:
            0 8px 20px rgba(22,163,74,.31);
    }

    .go-btn:active{
        transform:translateY(1px);

        box-shadow:
            0 3px 9px rgba(22,163,74,.2);
    }


    /* ==============================
       DETAILS OPEN
       ============================== */

    .details-row{
        display:none!important;

        margin-top:-12px!important;
    }

    .details-row.open{
        display:block!important;
    }

    .details-row td{
        display:block!important;

        padding:0 0 10px;

        border:0;
    }

    .details-row td:before{
        display:none;
    }

    .details-box{
        display:block;

        margin:0 3px;

        padding:14px;

        background:#f7f9fc;

        border:1px solid #e7ecf2;

        border-radius:0 0 14px 14px;
    }

    .details-box h3{
        margin:0 0 7px;

        font-size:13px;
    }

    .details-box p{
        margin:0 0 7px;

        font-size:11px;

        line-height:1.45;
    }

    .doc-link{
        padding:8px 10px;

        margin-bottom:6px;

        font-size:11px;
    }


    /* ==============================
       LEGAL
       ============================== */

    .legal-card{
        padding:22px 18px;

        border-radius:18px;
    }

    .legal-card h1{
        font-size:29px;
    }


    /* ==============================
       CONSENT
       ============================== */

    .consent{
        align-items:stretch;

        flex-direction:column;

        gap:10px;
    }

    .consent>div{
        display:grid;

        grid-template-columns:1fr 1fr;

        width:100%;
    }
}


/* =====================================================
   VERY SMALL PHONES
   ===================================================== */

@media(max-width:380px){

    .container{
        width:min(100% - 12px,1180px);
    }

    .company-cell{
        gap:8px;
    }

    .logo-box{
        flex-basis:70px;

        width:70px;
        height:45px;
    }

    .offer-logo{
        max-width:60px;
    }

    .company-copy strong{
        font-size:15px;
    }

    .offer-table td:before{
        width:72px;

        font-size:8px;
    }

    .offer-table td:not(:first-child){
        grid-template-columns:72px 1fr;
    }

    .amount-to strong{
        font-size:19px;
    }

    .action-buttons{
        grid-template-columns:78px 1fr;
    }

}


/* =====================================================
   CONSENT
   ===================================================== */

.consent[hidden]{
    display:none;
}

.consent{
    position:fixed;

    z-index:100;

    left:50%;
    bottom:18px;

    transform:translateX(-50%);

    width:min(760px,calc(100% - 24px));

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:15px 16px;

    background:#fff;

    border:1px solid #dfe5ee;

    border-radius:16px;

    box-shadow:
        0 22px 70px rgba(14,27,50,.22);
}

.consent p{
    margin:0;

    color:#4d5d72;

    font-size:11px;
}

.consent p a{
    color:var(--primary);

    font-weight:800;
}

.consent>div{
    display:flex;

    gap:7px;

    flex:0 0 auto;
}

.consent button{
    font:inherit;

    font-size:11px;

    font-weight:800;

    padding:8px 11px;

    border-radius:9px;

    cursor:pointer;
}

.consent-reject{
    background:#fff;

    border:1px solid #dce2eb;

    color:#526075;
}

.consent-accept{
    background:var(--primary);

    border:1px solid var(--primary);

    color:#fff;
}

@media(max-width:640px){

    .consent{
        align-items:stretch;

        flex-direction:column;

        gap:10px;
    }

    .consent>div{
        display:grid;

        grid-template-columns:1fr 1fr;

        width:100%;
    }

}