/* =========================================================
   TELEGRAM MINI APP
========================================================= */

html.is-telegram-miniapp body{
    background:var(--tg-bg-color,#f6f8fb);
}

.telegram-miniapp-loader{
    min-height:calc(100vh - 120px);
    display:grid;
    place-items:center;
    padding:24px;
}

.telegram-miniapp-loader-card{
    width:min(420px,100%);
    background:#fff;
    border:1px solid #e6eaf0;
    border-radius:28px;
    padding:28px;
    text-align:center;
    box-shadow:0 24px 60px rgba(15,23,42,.10);
}

.telegram-miniapp-logo{
    font-size:32px;
    font-weight:950;
    letter-spacing:-1px;
    margin-bottom:18px;
}

.telegram-miniapp-logo span{
    color:#ff0000;
}

.telegram-miniapp-loader-card h1{
    margin:0 0 10px;
    font-size:24px;
    font-weight:900;
    color:#0f172a;
}

.telegram-miniapp-loader-card p{
    color:#64748b;
    margin:0;
}

.telegram-loader-line{
    height:8px;
    border-radius:999px;
    background:#e5e7eb;
    overflow:hidden;
    margin-top:22px;
}

.telegram-loader-line span{
    display:block;
    width:45%;
    height:100%;
    border-radius:inherit;
    background:#ff0202;
    animation:telegramLoad 1s infinite ease-in-out;
}

@keyframes telegramLoad{
    0%{transform:translateX(-120%);}
    100%{transform:translateX(240%);}
}

html.is-telegram-miniapp .site-header{
    padding-top:max(12px, env(safe-area-inset-top));
}

html.is-telegram-miniapp .bottom-nav,
html.is-telegram-miniapp .mobile-bottom-nav{
    padding-bottom:max(8px, env(safe-area-inset-bottom));
}

/* FINAL FAST TELEGRAM SHELL */
html.is-telegram-miniapp{
    background:#f6f8fb!important;
}
html.is-telegram-miniapp body{
    background:#f6f8fb!important;
    -webkit-font-smoothing:antialiased;
}
html.is-telegram-miniapp .home-v2-page,
html.is-telegram-miniapp .cart-page,
html.is-telegram-miniapp .checkout-page,
html.is-telegram-miniapp .account-page,
html.is-telegram-miniapp .profile-page{
    background:#f6f8fb!important;
}
@media(max-width:768px){
    html.is-telegram-miniapp .mobile-app-header{
        padding-top:calc(10px + env(safe-area-inset-top, 0px))!important;
    }
    html.is-telegram-miniapp .home-v2-page{
        padding-top:12px!important;
    }
}

/* FINAL FIX: remove blank top area in Telegram and keep premium header sticky */
@media(max-width:768px){
    html.is-telegram-miniapp,
    html.is-telegram-miniapp body{
        padding-top:0!important;
        margin-top:0!important;
        background:#f6f8fb!important;
    }
    html.is-telegram-miniapp .mobile-app-header{
        position:sticky!important;
        top:0!important;
        z-index:760!important;
        margin-top:0!important;
    }
    html.is-telegram-miniapp main{
        padding-top:0!important;
    }
}

/* Telegram shell reinforcement for mobile language header */
@media(max-width:768px){
    html.is-telegram-miniapp .mobile-app-header{
        position:sticky!important;
        top:0!important;
        z-index:760!important;
    }
    html.is-telegram-miniapp .mobile-catalog-pill{
        display:none!important;
    }
}

/* Telegram Mini App compact language selector reinforcement */
@media(max-width:768px){
    html.is-telegram-miniapp .mobile-app-header{
        overflow:visible!important;
    }
    html.is-telegram-miniapp .mobile-pc-top-row{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        overflow:visible!important;
    }
    html.is-telegram-miniapp .mobile-header-actions{
        margin-left:auto!important;
        display:flex!important;
        align-items:center!important;
        gap:8px!important;
        overflow:visible!important;
    }
    html.is-telegram-miniapp .mobile-lang-dropdown summary{
        background:rgba(255,255,255,.96)!important;
        color:#0f172a!important;
        border:1px solid rgba(226,232,240,.95)!important;
        box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
    }
}

/* Telegram Mini App: no cart icon in top mobile header */
@media(max-width:768px){
    html.is-telegram-miniapp .mobile-app-header .mobile-cart-pill{
        display:none!important;
    }
    html.is-telegram-miniapp .mobile-app-header .mobile-header-actions,
    html.is-telegram-miniapp .mobile-app-header .mobile-header-actions-lang-only{
        margin-left:auto!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-end!important;
        gap:0!important;
        overflow:visible!important;
    }
    html.is-telegram-miniapp .mobile-app-header .mobile-logo{
        max-width:calc(100% - 106px)!important;
    }
}

/* =========================================================
   TB Market global mobile no-zoom fix
   Prevents iOS Safari / Telegram WebView from zooming when
   focusing inputs. Keep form controls at least 16px.
   ========================================================= */
html {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    touch-action: manipulation;
}
body {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}
input,
select,
textarea,
button,
.input,
.form-control,
.admin-input,
.admin-select,
.admin-textarea,
.admin-form input,
.admin-form select,
.admin-form textarea,
.search-input,
.qty-input,
.pos-input,
.pos-search,
.mobile-input,
.tg-input,
.tma-input,
.courier-input,
.scanner-input {
    font-size: 16px !important;
}
input[type="date"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
select,
textarea {
    min-height: 38px;
}
a, button, [role="button"], input, select, textarea {
    touch-action: manipulation;
}
@media (max-width: 768px) {
    input,
    select,
    textarea,
    button,
    .form-control,
    .admin-input,
    .admin-select,
    .admin-textarea,
    .search-input,
    .pos-input,
    .scanner-input {
        font-size: 16px !important;
    }
}
