/* ==========================================================================
   Promovia.pro — responsive.css
   All breakpoint overrides. Loaded after style.css
   ========================================================================== */

/* ---------------------------------------------------- large tablet / small laptop */
@media (max-width:1040px){
    .foot-grid{ grid-template-columns:1fr 1fr; gap:34px; }
    .foot-about{ grid-column:1 / -1; }
    .site-nav a{ padding:9px 10px; font-size:14px; }
}

/* ------------------------------------------------------------------ tablet */
@media (max-width:900px){

    .nav-toggle{ display:flex; }

    .site-nav{
        position:absolute; left:0; right:0; top:100%;
        display:none;
        background:#0B0F16; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
        padding:12px 0 18px;
        box-shadow:0 22px 40px rgba(0,0,0,.45);
        margin-left:0;
    }
    .site-header{ position:sticky; }
    .header-inner{ position:relative; gap:14px; }
    .site-nav.is-open{ display:block; }
    .site-nav ul{ flex-direction:column; align-items:stretch; gap:2px; }
    .site-nav a{ padding:13px 12px; font-size:16px; border-radius:var(--r-sm); }

    .lang-switch{ order:3; }
    .nav-toggle{ order:4; margin-left:0; }
    .brand{ margin-right:auto; }

    .bonus-grid{ grid-template-columns:1fr; }
    .perf::before,
    .perf::after{ display:none; }

    .grid-3{ grid-template-columns:repeat(2,minmax(0,1fr)); }

    .section{ padding:60px 0; }
    .hero{ padding:64px 0 58px; }
    .panel{ padding:28px 24px; }
}

/* ------------------------------------------------------------------ mobile */
@media (max-width:640px){

    body{ font-size:16.5px; }

    .wrap{ padding:0 18px; }

    .topbar .wrap{ justify-content:center; }
    .topbar-right{ display:none; }

    .header-inner{ min-height:62px; }
    .brand-name{ font-size:1.05rem; }

    .section{ padding:48px 0; }
    .section-tight{ padding:38px 0; }
    .hero{ padding:52px 0 46px; }
    .section-head{ margin-bottom:26px; }

    .grid-2,
    .grid-3,
    .form-row{ grid-template-columns:1fr; }

    .ticket{ padding:24px 20px; }
    .ticket-head{ flex-direction:column; align-items:flex-start; gap:10px; }
    .form-shell,
    .subscribe{ padding:24px 20px; }

    .btn{ width:100%; }
    .btn-row{ flex-direction:column; align-items:stretch; }
    .inline-form{ flex-direction:column; align-items:stretch; }
    .inline-form .btn{ width:100%; }

    .age-note{ width:100%; justify-content:center; text-align:center; }

    .foot-grid{ grid-template-columns:1fr; gap:30px; }
    .foot-bottom{ flex-direction:column; align-items:flex-start; }

    .err{ padding:72px 0 60px; }
    .faq-q{ font-size:1rem; padding:18px 2px; }
}

/* --------------------------------------------------------------- very small */
@media (max-width:380px){
    .lang-switch{ padding:3px 8px; font-size:11.5px; }
    .brand-mark{ width:30px; height:30px; font-size:17px; }
}

/* ------------------------------------------------------------------- print */
@media print{
    .site-header,.topbar,.site-footer,.nav-toggle,.btn{ display:none !important; }
    body{ background:#fff; color:#000; }
    .card,.panel,.ticket,.form-shell{ border-color:#ccc; background:#fff; }
}
