/* Shrift `@font-face` bu yerdan CSS `@import` bilan EMAS, BaseLayout <head>'da
   to'g'ridan <link> orqali yuklanadi (waterfall'ni yo'q qilish uchun). */

:root {
    --primary-color: #ffffff;
    /* Oq (gold/orange o'rniga) */
    --secondary-color: #0a0a0a;
    /* Deep Black */
    --accent-color: #1a1a1a;
    /* Lighter Black */
    --text-light: #f5f5f5;
    --text-muted: rgba(255, 255, 255, 0.7);
    --font-main: 'Nunito Sans', sans-serif;
    --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --header-height: 80px;
}

/* Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-main);
    background-color: var(--secondary-color);
    color: var(--text-light);
    line-height: 1.6;
    overflow-x: hidden;
    /* clip — hidden'dan farqli, scroll konteyner yaratmaydi; menyu
       kategoriya barining position:sticky'si shu tufayli ishlaydi */
    overflow-x: clip;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--header-height);
    display: flex;
    align-items: center;
    z-index: 1000;
    transition: var(--transition);
    background: rgba(10, 10, 10, 0.0);
}

header.scrolled {
    background: rgba(10, 10, 10, 0.92);
    /* backdrop-filter: blur olib tashlandi — fixed header'da har scroll kadrida
       reblur qilinib mobil (ayniqsa iPhone/Safari) scroll jank sabab bo'lardi.
       Deyarli to'q fon bilan ko'rinish bir xil, jank yo'q. */
    height: 70px;
    border-bottom: 1px solid rgba(197, 160, 89, 0.1);
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.logo img {
    height: 40px;
    width: auto;
}

.nav-links ul {
    display: flex;
    gap: 30px;
}

.nav-links a {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

.nav-links a:hover {
    color: var(--primary-color);
}

/* Joriy sahifa linki (active) */
.nav-links a.active {
    color: var(--gold) !important;
    position: relative;
}
.nav-links a.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -6px;
    height: 2px;
    background: var(--gold);
}

.mobile-menu-btn {
    display: none;
    font-size: 1.5rem;
    cursor: pointer;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 12px 35px;
    border-radius: 5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: var(--transition);
    border: 2px solid transparent;
    font-size: 0.85rem;
}

.btn-primary {
    background-color: var(--primary-color);
    color: var(--secondary-color);
}

.btn-primary:hover {
    background-color: transparent;
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.btn-outline {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.btn-outline:hover {
    background-color: var(--primary-color);
    color: var(--secondary-color);
}

/* Hero Section */
#hero {
    height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    padding: 0;
}

.hero-bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Hero video — rasm ustida, tayyor bo'lganda yumshoq paydo bo'ladi */
.hero-bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    opacity: 0;
    transition: opacity .6s ease;
    pointer-events: none;
}
.hero-bg-video.is-ready {
    opacity: 1;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.9));
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 10;
    text-align: center;
}

.hero-content span {
    color: var(--primary-color);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 4px;
    display: block;
    margin-bottom: 20px;
    animation: fadeInUp 1s ease;
}

.hero-content h1 {
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 25px;
    animation: fadeInUp 1.2s ease;
}

.hero-content p {
    font-size: 1.1rem;
    color: #fff;
    margin-bottom: 35px;
    animation: fadeInUp 1.4s ease;
}

.hero-btns {
    display: flex;
    justify-content: center;
    gap: 20px;
    animation: fadeInUp 1.6s ease;
}

/* Sections */
section {
    padding: 70px 0;
}

.section-title {
    text-align: center;
    margin-bottom: 80px;
}

.section-title span {
    color: var(--primary-color);
    font-size: 1.1rem;
    font-weight: 400;
    font-style: italic;
    display: block;
    margin-bottom: 15px;
    letter-spacing: 2px;
}

.section-title h2 {
    font-size: 2.8rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    display: inline-block;
    padding-bottom: 25px;
}

.section-title h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: var(--primary-color);
    border-radius: 2px;
}

/* About Section */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.about-img img {
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(197, 160, 89, 0.2);
}

.about-text p {
    font-size: 1.1rem;
    color: var(--text-muted);
    margin-bottom: 30px;
}

.features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.features li {
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 600;
}

.features li i {
    color: var(--primary-color);
}

/* Emotions Section */
#emotions {
    background-color: var(--secondary-color);
    padding: 100px 0;
}

.emotions-header {
    text-align: left;
    margin-bottom: 60px;
    max-width: 800px;
}

.emotions-header h2 {
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1;
    text-transform: uppercase;
    font-weight: 900;
    margin-bottom: 20px;
}

.emotions-header h2 span {
    color: var(--primary-color);
}

.emotions-header p {
    font-size: 1.2rem;
    color: var(--text-muted);
}

.emotions-swiper {
    width: 100%;
    margin-top: 40px;
    cursor: grab;
    overflow: hidden;
}

.emotions-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

.swiper-slide {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: auto;
}

.emotion-item {
    flex: 1;
    /* Each takes half height */
    overflow: hidden;
    border-radius: 15px;
    position: relative;
}

.emotion-item a {
    display: block;
    width: 100%;
    height: 100%;
}

.emotion-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: var(--transition);
    cursor: pointer;
}

.emotion-item:hover img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

.swiper-pagination-bullet {
    background: var(--text-muted);
}

.swiper-pagination-bullet-active {
    background: var(--primary-color);
}

/* Menu Section */
.menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.menu-card {
    background-color: var(--accent-color);
    border-radius: 15px;
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.menu-card:hover {
    /* Hover effect removed for categories */
    transform: none;
    border-color: rgba(255, 255, 255, 0.05);
}

.menu-card-img img {
    height: 250px;
    width: 100%;
    object-fit: cover;
}

.menu-card-info {
    padding: 25px;
    text-align: center;
}

.menu-card-info h3 {
    font-size: 1.4rem;
    margin-bottom: 10px;
    color: var(--primary-color);
}

.menu-card-info p {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 20px;
}

.price {
    display: block;
    font-size: 1.2rem;
    font-weight: 800;
}

/* Contact Section */
.contact-container {
    background-color: var(--accent-color);
    padding: 60px;
    border-radius: 30px;
    border: 1px solid rgba(197, 160, 89, 0.1);
}

.contact-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

.contact-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
}

.info-item {
    display: flex;
    gap: 20px;
}

.info-item i {
    color: var(--primary-color);
    font-size: 1.5rem;
    margin-top: 5px;
}

.info-item h4 {
    margin-bottom: 5px;
}

.info-item p {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.contact-social h4 {
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.social-icons {
    display: flex;
    gap: 20px;
}

.social-icons a {
    background-color: transparent;
    padding: 0;
    width: auto;
    height: auto;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: underline;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.social-icons a:hover {
    color: var(--text-light);
    transform: none;
}

/* Footer */
footer {
    padding: 40px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

footer p {
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* Booking Section */
#booking {
    background-color: var(--secondary-color);
}

.booking-wrapper {
    background-color: var(--accent-color);
    padding: 60px;
    border-radius: 30px;
    border: 1px solid rgba(197, 160, 89, 0.1);
}

.checkbox-group {
    display: flex;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
}

.checkbox-group input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    margin-top: 3px;
    accent-color: var(--primary-color);
}

.checkbox-group label {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.5;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: normal !important;
    cursor: pointer;
}

.checkbox-group label a {
    color: var(--primary-color);
    text-decoration: underline;
    font-weight: 600;
}

.booking-form {
    max-width: 800px;
    margin: 0 auto;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-bottom: 25px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.form-group label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.form-group input,
.form-group select,
.form-group textarea {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 8px;
    color: var(--text-light);
    font-family: var(--font-main);
    font-size: 1rem;
    transition: var(--transition);
}


.form-group.full-width {
    margin-bottom: 30px;
}

.form-submit {
    text-align: center;
}

.form-submit .btn {
    width: 100%;
    max-width: 300px;
    padding: 18px;
}

/* Contact Info Section */
.contact-info-section {
    padding: 100px 0;
    background-color: var(--secondary-color);
}

.contact-flex {
    display: flex;
    align-items: center;
    gap: 60px;
}

.contact-details {
    flex: 1;
}

.contact-details .section-title {
    text-align: left;
    margin-bottom: 40px;
}

.info-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.info-item-new {
    display: flex;
    align-items: center;
    gap: 20px;
}

.info-item-new span {
    width: 50px;
    height: 50px;
    background: rgba(234, 105, 0, 0.1);
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.5rem;
    border: 1px solid rgba(234, 105, 0, 0.2);
}

.info-item-new h4 {
    font-size: 0.9rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.info-item-new p,
.info-item-new a {
    font-size: 1.1rem;
    color: var(--text-light);
    font-weight: 500;
}

.contact-social-new {
    margin-top: 50px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.contact-social-new h4 {
    margin-bottom: 20px;
}

.social-links-new {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.social-links-new a{
    display: flex;
    align-items: center;
    gap: 15px;
}
.social-links-new span {
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.social-links-new a:hover span{
    transform: scale(1.1);
}

.contact-image {
    flex: 1;
}

.contact-image img {
    width: 100%;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
    object-fit: cover;
}

/* Full Map */
#full-map {
    width: 100%;
    height: 400px;
    background-color: var(--accent-color);
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive */
@media (max-width: 992px) {
    .about-grid {
        grid-template-columns: 1fr;
    }

    .nav-links {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgb(10, 10, 10);
        /* backdrop-filter: blur olib tashlandi — to'liq ekranli mobil menyu overlay'da
           og'ir edi (zaif telefonda menyu ochilishida jank); fon to'q solid, blur ko'rinmasdi. */
        z-index: 999;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transition: opacity 0.4s ease;
    }

    .nav-links.active {
        display: flex;
        opacity: 1;
    }

    .nav-links ul {
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }

    .nav-links a {
        font-size: 1.8rem;
        font-weight: 700;
    }

    .mobile-menu-btn {
        display: block;
        z-index: 1001;
        position: relative;
    }
}

@media (max-width: 768px) {
    .section-title h2 {
        font-size: 2.2rem;
    }

    .hero-btns {
        flex-direction: column;
    }

    .hero-btns .btn {
        width: 100%;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-bottom: 15px;
    }

    .booking-wrapper {
        padding: 30px 20px;
    }

    .contact-flex {
        flex-direction: column;
        gap: 40px;
    }

    .contact-image {
        order: -1;
        width: 100%;
    }
}

/* Menu Page Styles */
.menu-page-hero {
    position: relative;
    padding: 180px 0 100px;
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.6) 0%, rgba(10, 10, 10, 1) 100%), url('img/hero-bg.png') center/cover no-repeat;
    text-align: center;
}

.menu-page-hero h1 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    text-transform: uppercase;
    font-weight: 900;
    margin-bottom: 15px;
    letter-spacing: 2px;
}

.menu-page-hero p {
    font-size: 1.2rem;
    color: var(--text-muted);
    max-width: 600px;
    margin: 0 auto;
}

.menu-section {
    padding: 80px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.menu-section:last-of-type {
    border-bottom: none;
}

.menu-section-title {
    margin-bottom: 40px;
    position: relative;
    padding-bottom: 15px;
}

.menu-section-title h2 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    text-transform: uppercase;
    font-weight: 800;
    color: var(--text-light);
    letter-spacing: 1px;
}

.menu-section-title h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background-color: var(--primary-color);
}

.menu-page-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 25px;
}

.menu-item-card {
    background: rgba(20, 20, 20, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 15px;
    overflow: hidden;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.menu-item-card:hover {
    transform: translateY(-8px);
    border-color: rgba(234, 105, 0, 0.3);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
}

.menu-item-img {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    background-color: #141414;
    overflow: hidden;
}

.menu-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.menu-item-card:hover .menu-item-img img {
    transform: scale(1.08);
}

.menu-item-info {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
}

.menu-item-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-light);
    margin-bottom: 10px;
    line-height: 1.4;
}

.menu-item-price {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--primary-color);
    margin-bottom: 15px;
    display: block;
}

.menu-item-btn {
    width: 100%;
    text-align: center;
    padding: 10px 15px;
    font-size: 0.8rem;
    font-weight: 700;
    border-radius: 8px;
    background-color: transparent;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    transition: var(--transition);
}

.menu-item-btn:hover {
    background-color: var(--primary-color);
    color: var(--secondary-color);
    transform: none;
}

@media (max-width: 1200px) {
    .menu-page-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
}

@media (max-width: 992px) {
    .menu-page-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 576px) {
    .menu-page-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .menu-item-info {
        padding: 15px;
    }
    .menu-item-title {
        font-size: 0.95rem;
    }
    .menu-item-price {
        font-size: 1.05rem;
        margin-bottom: 12px;
    }
    .menu-item-btn {
        padding: 8px 10px;
        font-size: 0.75rem;
    }
}
/* MERGED */
/* ===== WEBSITE — Premium Restoran Stili ===== */

/* Ranglar */
:root {
  --gold: #ffffff;
  --gold-light: #cccccc;
  --orange: #ffffff;
  --dark: #0a0a0a;
  --dark2: #121212;
  --dark3: #1c1c1c;
  --text: #f5f5f5;
  --text-muted: #888;
  --border: rgba(255,255,255,0.15);
  --radius: 12px;
  --transition: all 0.35s cubic-bezier(.4,0,.2,1);
}

/* ===== HEADER ===== */
.nav-right { display:flex; align-items:center; gap:18px; }
.nav-phone { display:flex; align-items:center; justify-content:center; gap:8px; height:40px; padding:0 14px; border:1px solid var(--border); border-radius:8px; color:var(--text); font-size:.85rem; font-weight:600; white-space:nowrap; transition:var(--transition); }
.nav-phone:hover { background:var(--gold); color:#000; border-color:var(--gold); }

/* Nav links — so'z kesishini oldini olish */
.nav-links a { white-space: nowrap; }

/* Til almashtirgich — custom dropdown */
.lang-dropdown { position:relative; }
.lang-dropdown-btn { display:flex; align-items:center; justify-content:center; gap:5px; height:40px; padding:0 14px; background:transparent; border:1px solid var(--border); border-radius:8px; cursor:pointer; color:var(--text); font-size:.85rem; font-weight:600; transition:var(--transition); white-space:nowrap; }
.lang-dropdown-btn:hover { background:var(--gold); color:#000; border-color:var(--gold); }
.lang-dropdown-btn:hover .lang-flag { color:#000; }
.lang-code { letter-spacing:.5px; }
.lang-chevron { transition:transform .25s ease; flex-shrink:0; color:var(--gold); }
.lang-dropdown.open .lang-chevron { transform:rotate(180deg); }
.lang-dropdown-menu { position:absolute; top:calc(100% + 8px); right:0; min-width:70px; background:var(--dark2); border:1px solid var(--border); border-radius:10px; box-shadow:0 12px 32px rgba(0,0,0,.5); overflow:hidden; opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .2s ease, transform .2s ease; z-index:2000; }
.lang-dropdown.open .lang-dropdown-menu { opacity:1; transform:translateY(0); pointer-events:auto; }
.lang-option-form { margin:0; }
.lang-option { display:flex; align-items:center; justify-content:center; width:100%; padding:10px 12px; background:none; border:none; color:var(--text); font-size:.85rem; cursor:pointer; transition:background .15s; text-align:left; font-family:inherit; }
.lang-option:hover { background:rgba(255,255,255,.06); }
.lang-option-active { display:flex; align-items:center; justify-content:center; padding:10px 12px; color:var(--gold); font-size:.85rem; font-weight:700; background:rgba(255,255,255,.08); cursor:default; }
.lang-option-active + .lang-option-form .lang-option,
.lang-option-form + .lang-option-form .lang-option { border-top:1px solid var(--border); }

/* Mobile menu button */
.mobile-menu-btn { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px; }
.mobile-menu-btn span { display:block; width:24px; height:2px; background:var(--text); border-radius:2px; transition:var(--transition); }
.mobile-menu-btn.active span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.mobile-menu-btn.active span:nth-child(2) { opacity:0; }
.mobile-menu-btn.active span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* ===== MESSAGES ===== */
.messages-container { position:fixed; top:90px; right:20px; z-index:9999; display:flex; flex-direction:column; gap:8px; }
.alert { padding:12px 20px; border-radius:8px; font-size:.9rem; background:var(--dark3); border:1px solid var(--border); color:var(--text); box-shadow:0 4px 20px rgba(0,0,0,.4); }
.alert-success { border-color:rgba(80,200,80,.3); background:rgba(20,60,20,.9); }
.alert-error { border-color:rgba(200,60,60,.3); background:rgba(60,20,20,.9); }

/* ===== SECTION HEADERS ===== */
/* section-badge'lar yashirilgan (ortiqcha ko'rinardi — user qarori 2026-06-25).
   Markup joyida; qaytarish uchun display:none -> inline-block + .about-text override'ni block qil. */
.section-badge { display:none; font-size:.75rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.section-title { font-size:clamp(1.8rem,3vw,2.8rem); font-weight:800; line-height:1.2; margin-bottom:16px; }
.section-subtitle { color:var(--text-muted); font-size:1.05rem; max-width:560px; }
.section-header { text-align:center; margin-bottom:48px; }
.section-header .section-subtitle { margin:0 auto; }
.section-header .section-title { margin-bottom:12px; }

/* ===== HERO ===== */
/* #hero asosiy ta'rifi yuqorida (Hero Section, ~163-qator) — bu yerdagi dublikat olib tashlandi. */
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.82) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.72) 100%); }
.hero-content { position:relative; z-index:1; text-align:center; padding:0 20px; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); padding:6px 16px; border-radius:30px; font-size:.8rem; color:var(--gold); letter-spacing:1px; text-transform:uppercase; margin-bottom:24px; }
.hero-title { font-size:clamp(2.2rem,5vw,4rem); font-weight:900; line-height:1.1; margin-bottom:20px; }
.hero-title span { color:var(--gold); }
.hero-desc { font-size:1.1rem; color:rgba(245,245,245,.8); margin-bottom:36px; max-width:600px; margin-left:auto; margin-right:auto; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; align-items:center; text-align:center; }
.hero-btns .btn { justify-content:center; text-align:center; }
.hero-stats { display:flex; gap:32px; justify-content:center; margin-top:48px; padding-top:32px; border-top:1px solid rgba(255,255,255,.08); flex-wrap:wrap; }
.hero-stat strong { display:block; font-size:1.8rem; font-weight:800; color:var(--gold); }
.hero-stat span { font-size:.8rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:1px; margin:0; }

/* ===== BUTTONS ===== */
.btn { display:inline-flex; align-items:center; gap:8px; padding:13px 28px; border-radius:8px; font-weight:700; font-size:.9rem; letter-spacing:.5px; transition:var(--transition); cursor:pointer; border:none; text-decoration:none; }
.btn-primary { background:var(--gold); color:#000; }
.btn-primary:hover { background:var(--gold-light); box-shadow:0 8px 24px rgba(255,255,255,.3); }
.btn-outline { background:transparent; color:var(--text); border:2px solid rgba(255,255,255,.25); }
.btn-gold { background:transparent; color:var(--gold); border:2px solid var(--gold); }
.btn-gold:hover { background:var(--gold); color:#000; }

/* ===== CARDS ===== */
.card { background:var(--dark3); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:var(--transition); }
.card:hover { border-color:rgba(255,255,255,.3); box-shadow:0 16px 40px rgba(0,0,0,.6); }
.card-img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.card-body { padding:20px; }
.card-category { font-size:.72rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.card-title { font-size:1.05rem; font-weight:700; margin-bottom:8px; line-height:1.3; }
.card-desc { font-size:.88rem; color:var(--text-muted); line-height:1.6; margin-bottom:12px; }
.card-price { font-size:1.2rem; font-weight:800; color:var(--gold); }

/* ===== DISH SWIPER (bosh sahifa vitrinasi) ===== */
#home-menu { border-top:1px solid var(--border); }
#home-menu .container { position:relative; }
.dishes-swiper { overflow:hidden; padding-bottom:8px; }
/* swiper-bundle.min.css style.css'dan KEYIN ulanadi va .swiper-slide'ga
   display:block; height:100% beradi — teng balandlik uchun ikki klassli
   selektor shart. */
.dishes-swiper .swiper-slide { height:auto; display:flex; }
.dishes-swiper .dish-card { width:100%; }
/* Taom nomlari 1-2 qator (eng uzuni 36 belgi) — kesilmasin, lekin
   kartochkalar bir tekisda tursin. */
.dishes-swiper .dish-name { min-height:3.2em; }
/* Swiper init'gacha slayd eni 100% bo'lib turadi va 4/3 rasm sahifani
   cho'zib yuboradi (init'dan keyin ~500px sakrash). Bu foizlar init inline
   width qo'ygunicha shu sakrashni to'sadi. */
.dishes-swiper .swiper-slide { width:82%; }
@media (min-width:480px) { .dishes-swiper .swiper-slide { width:66%; } }
@media (min-width:560px) { .dishes-swiper .swiper-slide { width:54%; } }
@media (min-width:640px) { .dishes-swiper .swiper-slide { width:44%; } }
@media (min-width:768px) { .dishes-swiper .swiper-slide { width:38%; } }
@media (min-width:1024px) { .dishes-swiper .swiper-slide { width:32%; } }
@media (min-width:1200px) { .dishes-swiper .swiper-slide { width:23.5%; } }
/* "Qo'shish" ~30px balandlikda va <a class="dish-card"> ICHIDA — chetiga
   tekkan barmoq tugmaga emas, havolaga tushadi. 1024px dan pastda karusel
   sensorli rejimda (o'q yo'q, peek bor), shuning uchun shu chegaragacha
   tugma 44px. Faqat karuselda, /menu gridiga tegilmaydi. */
@media (max-width:1023px) {
  .dishes-swiper .dish-footer { align-items:stretch; }
  .dishes-swiper .add-to-cart { width:100%; justify-content:center; min-height:44px; padding:11px 12px; }
}
/* O'q tugmalari faqat sensorsiz kengliklarda; pastida affordance = peek */
.dishes-nav { display:none; }
@media (min-width:1024px) {
  .dishes-nav { position:absolute; top:6px; right:20px; display:flex; gap:10px; }
}
.dishes-nav button {
  width:42px; height:42px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:transparent; color:var(--gold);
  border:1px solid var(--border); cursor:pointer;
  transition:var(--transition);
}
.dishes-nav button:hover { background:var(--gold); color:#000; border-color:var(--gold); }
.dishes-nav button.swiper-button-disabled { opacity:.3; cursor:default; }
.dishes-nav button.swiper-button-disabled:hover { background:transparent; color:var(--gold); border-color:var(--border); }

/* ===== DISH GRID ===== */
.dishes-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:20px; }
.dish-card { display:flex; flex-direction:column; background:var(--dark3); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:var(--transition); color:inherit; text-decoration:none; }
.dish-card:hover { border-color:rgba(255,255,255,.3); box-shadow:0 16px 40px rgba(0,0,0,.6); }
.dish-img-wrap { position:relative; overflow:hidden; aspect-ratio:4/3; }
.dish-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.dish-card:hover .dish-img-wrap img { transform:scale(1.06); }
.dish-badge { position:absolute; top:10px; left:10px; background:var(--gold); color:#000; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:3px 10px; border-radius:4px; }
.dish-info { flex:1; display:flex; flex-direction:column; padding:16px; }
.dish-name { font-size:1rem; font-weight:700; margin-bottom:6px; }
.dish-desc { font-size:.82rem; color:var(--text-muted); margin-bottom:12px; line-height:1.5; }
.dish-footer { display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-top:auto; }
.dish-price { font-size:1.1rem; font-weight:800; color:var(--gold); white-space:nowrap; }
.dish-price .currency { font-size:.75rem; font-weight:400; color:var(--text-muted); margin-left:2px; }
.dish-no-img { width:100%; aspect-ratio:4/3; background:linear-gradient(135deg,#1a1a1a,#2a2a2a); display:flex; align-items:center; justify-content:center; color:var(--gold); opacity:.5; }

/* ===== MENU PAGE ===== */
.menu-filters { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:40px; }
.filter-btn { padding:8px 20px; border-radius:30px; border:1px solid var(--border); background:transparent; color:var(--text-muted); font-size:.85rem; font-weight:600; font-family:inherit; cursor:pointer; transition:var(--transition); text-decoration:none; }
.filter-btn:hover, .filter-btn.active { background:var(--gold); color:#000; border-color:var(--gold); }
.menu-load-more-wrap { text-align:center; margin-top:36px; }
.no-dishes { text-align:center; padding:60px 0; color:var(--text-muted); }
.no-dishes i { font-size:3rem; margin-bottom:16px; opacity:.3; display:block; }

/* Kategoriya bari — ekran tepasiga yopishadi (header ostiga) */
.menu-catbar {
  position:sticky; top:70px; z-index:900;
  /* header.scrolled bilan bir xil fon */
  background:rgba(10,10,10,.92);
  border-bottom:1px solid rgba(197,160,89,.1);
  padding:10px 0;
}
.menu-chips {
  display:flex; gap:8px; overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.menu-chips::-webkit-scrollbar { display:none; }
.menu-chip {
  flex:0 0 auto; padding:8px 18px; border-radius:30px;
  border:1px solid var(--border); background:transparent; color:var(--text-muted);
  font-size:.85rem; font-weight:600; font-family:inherit; white-space:nowrap;
  cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.menu-chip:hover { color:var(--text-light); border-color:rgba(255,255,255,.3); }
.menu-chip.active { background:var(--gold); color:#000; border-color:var(--gold); }

.menu-sections { padding:24px 0 80px; }
.menu-section { scroll-margin-top:calc(70px + var(--menu-catbar-h, 56px)); padding:20px 0; }
.menu-section-title {
  display:flex; align-items:center; gap:10px;
  font-size:1.5rem; font-weight:800; margin-bottom:20px;
}
.menu-section-count {
  font-size:.75rem; font-weight:700; color:var(--text-muted);
  border:1px solid var(--border); border-radius:20px; padding:2px 10px;
}

/* ===== WHY US ===== */
.why-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:24px; }
.why-item { text-align:center; padding:32px 20px; background:var(--dark3); border:1px solid var(--border); border-radius:var(--radius); transition:var(--transition); }
.why-item:hover { border-color:rgba(255,255,255,.3); box-shadow:0 16px 40px rgba(0,0,0,.6); }
.why-icon { width:64px; height:64px; background:rgba(255,255,255,.1); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.6rem; color:var(--gold); }
.why-item h3 { font-size:1rem; font-weight:700; margin-bottom:8px; }
.why-item p { font-size:.85rem; color:var(--text-muted); line-height:1.6; }

/* ===== ABOUT SECTION ===== */
.about-section { padding:80px 0; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.about-img-wrap { position:relative; border-radius:var(--radius); overflow:hidden; }
.about-img-wrap img { width:100%; border-radius:var(--radius); }
.about-img-badge { position:absolute; bottom:24px; left:24px; background:var(--gold); color:#000; padding:12px 20px; border-radius:8px; }
.about-img-badge strong { display:block; font-size:1.5rem; font-weight:900; }
.about-img-badge span { font-size:.8rem; font-weight:600; }
.about-text .section-badge { display:none; }
.about-features { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.about-feature { display:flex; align-items:center; gap:10px; font-size:.88rem; color:var(--text-muted); }
.about-feature i { color:var(--gold); }

/* ===== GALLERY ===== */
.gallery-swiper {
  overflow: hidden;
  padding-bottom: 20px;
}
/* 2-qatorli marquee — yuqori qator ostidan kichik bo'shliq */
.gallery-swiper--top { padding-bottom: 0; margin-bottom: 12px; }
.gallery-swiper .swiper-wrapper {
  transition-timing-function: linear;
}
.gallery-item { position:relative; overflow:hidden; border-radius:8px; cursor:pointer; display:block; aspect-ratio:1/1; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery-item:hover img { transform:scale(1.06); }
.gallery-overlay { position:absolute; inset:0; background:rgba(0,0,0,.4); opacity:0; display:flex; align-items:center; justify-content:center; transition:var(--transition); font-size:2rem; color:var(--gold); }
.gallery-item:hover .gallery-overlay { opacity:1; }
/* Video galereya elementi */
.gallery-item video { width:100%; height:100%; object-fit:cover; display:block; }
.gallery-video { background:#000; }
.gallery-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transition:var(--transition); background:rgba(0,0,0,.2); }
.gallery-play i { width:56px; height:56px; border-radius:50%; background:rgba(0,0,0,.55); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.3rem; padding-left:4px; }
.gallery-item:hover .gallery-play { background:rgba(0,0,0,.4); }

/* ===== PARTNERS ===== */
.partners-swiper { overflow:hidden; }
.partners-swiper .swiper-wrapper { transition-timing-function:linear; align-items:center; }
.partner-item {
  display:flex; align-items:center; justify-content:center;
  height:110px; padding:20px 24px;
  background:#fff; border:1px solid var(--border); border-radius:12px;
  text-decoration:none;
}
.partner-item img {
  max-width:100%; max-height:60px; width:auto; height:auto;
  object-fit:contain;
  filter:grayscale(1); opacity:.65;
  transition:var(--transition);
}
.partner-item:hover img { filter:grayscale(0); opacity:1; }

/* ===== NEWS ===== */
.news-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:24px; }

/* Sahifalash (pagination) */
.pagination-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:48px; }
.pagination-nav .page-btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px;
  border:1px solid var(--border); border-radius:8px;
  color:inherit; text-decoration:none; font-weight:600; font-size:.95rem;
  transition:var(--transition);
}
.pagination-nav a.page-btn:hover { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.06); }
.pagination-nav .page-btn.current { background:#fff; color:#000; border-color:#fff; }
.pagination-nav .page-btn.disabled { opacity:.35; pointer-events:none; }
.news-card { display:flex; flex-direction:column; background:var(--dark3); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:var(--transition); color:inherit; text-decoration:none; }
.news-card:hover { border-color:rgba(255,255,255,.3); box-shadow:0 16px 40px rgba(0,0,0,.6); }
.news-card-img { aspect-ratio:16/9; overflow:hidden; }
.news-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.news-card:hover .news-card-img img { transform:scale(1.05); }
.news-card-body { flex:1; display:flex; flex-direction:column; padding:20px; }
.news-card-body .btn { margin-top:auto; align-self:flex-start; }
.news-date { font-size:.78rem; color:var(--text-muted); margin-bottom:8px; }
.news-card-title { font-size:1.05rem; font-weight:700; margin-bottom:8px; line-height:1.3; color:var(--text); }
.news-card:hover .news-card-title { color:var(--gold); }
.news-excerpt { font-size:.85rem; color:var(--text-muted); line-height:1.6; }

/* News list footer button */
.section-footer { display:flex; justify-content:center; margin-top:48px; }
.section-footer .btn { margin:0 auto; }

/* News detail page layout */
.news-detail-layout { display:grid; grid-template-columns:1fr 300px; gap:48px; }
.news-detail-article { max-width:720px; }
.news-detail-title { font-size:clamp(1.8rem,4vw,2.4rem); font-weight:800; line-height:1.2; margin-bottom:16px; color:var(--text); }
.news-detail-img { margin:32px 0; border-radius:12px; overflow:hidden; }
.news-detail-img img { width:100%; height:auto; display:block; }
.news-detail-body { color:var(--text-muted); font-size:1.05rem; line-height:1.9; }
.news-detail-body p { margin-bottom:20px; }
.news-detail-back { margin-top:48px; padding-top:32px; border-top:1px solid var(--border); }
.news-detail-back .btn { display:inline-flex; }

/* Related news sidebar */
.news-detail-related { position:sticky; top:120px; height:fit-content; }
.related-title { font-size:1.1rem; font-weight:700; margin-bottom:24px; color:var(--text); }
.related-list { display:flex; flex-direction:column; gap:20px; }
.related-item { display:flex; gap:12px; text-decoration:none; border-radius:8px; overflow:hidden; background:rgba(255,255,255,.02); border:1px solid var(--border); padding:12px; transition:var(--transition); }
.related-item:hover { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.3); box-shadow:0 4px 12px rgba(0,0,0,.2); }
.related-img { width:60px; height:60px; border-radius:6px; overflow:hidden; flex-shrink:0; }
.related-img img { width:100%; height:100%; object-fit:cover; }
.related-body { flex:1; display:flex; flex-direction:column; justify-content:center; gap:4px; min-width:0; }
.related-body .news-date { font-size:.7rem; color:var(--text-muted); margin:0; }
.related-item-title { font-size:.85rem; font-weight:600; line-height:1.3; color:var(--text); word-break:break-word; }
.related-item:hover .related-item-title { color:var(--gold); }

/* Mobile responsive */
@media (max-width:1024px) {
  .news-detail-layout { grid-template-columns:1fr; gap:32px; }
  .news-detail-related { position:static; top:auto; }
}
@media (max-width:768px) {
  .news-detail-title { font-size:1.6rem; }
  .news-detail-body { font-size:1rem; }
  .section-footer { margin-top:32px; }
  .news-grid { gap:16px; }
}

/* ===== CONTACT & FORM ===== */
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:40px; }
.contact-info-item { display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.contact-info-icon { width:44px; height:44px; background:rgba(255,255,255,.1); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1rem; flex-shrink:0; }
.contact-info-item h4 { font-size:.85rem; color:var(--text-muted); margin-bottom:4px; text-transform:uppercase; letter-spacing:1px; }
.contact-info-item p, .contact-info-item a { font-size:.95rem; color:var(--text); font-weight:500; }
.contact-info-item a:hover { color:var(--gold); }

.form-group { margin-bottom:16px; }
.form-label { display:block; font-size:.82rem; color:var(--text-muted); margin-bottom:6px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.form-control { width:100%; background:var(--dark2); border:1px solid var(--border); border-radius:8px; padding:13px 16px; color:var(--text); font-size:.95rem; outline:none; transition:var(--transition); font-family:inherit; }
.form-control:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(255,255,255,.1); }
.form-control::placeholder { color:var(--text-muted); }
textarea.form-control { resize:vertical; min-height:120px; }
.form-submit { margin-top:8px; }
.form-success { background:rgba(20,80,20,.8); border:1px solid rgba(80,180,80,.3); border-radius:8px; padding:16px; text-align:center; color:#90ee90; font-weight:600; }
.form-error { background:rgba(80,20,20,.8); border:1px solid rgba(180,80,80,.3); border-radius:8px; padding:16px; text-align:center; color:#ff9999; font-weight:600; margin-top:12px; }

/* jQuery validate — maydon ostidagi xato matni + yaroqsiz maydon ramkasi */
small.field-error { display:block; margin-top:6px; color:#ff9999; font-size:.82rem; font-weight:600; }
.form-control.field-error { border-color:#c0392b; }
.form-control.field-error:focus { box-shadow:0 0 0 3px rgba(192,57,43,.18); }

/* ===== VACANCIES ===== */
.vacancy-card { background:var(--dark2); border:1px solid var(--border); border-radius:var(--radius); padding:28px; transition:var(--transition); display:flex; flex-direction:column; }
.vacancy-card:hover { border-color:rgba(255,255,255,.3); }
.vacancy-title { font-size:1.15rem; font-weight:700; margin-bottom:8px; }
.vacancy-salary { color:var(--gold); font-weight:700; font-size:1rem; margin-bottom:12px; }
.vacancy-desc { color:var(--text-muted); font-size:.9rem; line-height:1.6; margin-bottom:16px; }
.vacancy-apply-btn { font-size:.85rem; margin-top:auto; align-self:flex-start; }

/* ===== TESTIMONIALS ===== */
.testimonials-slider { overflow:hidden; }
.testimonial-card { background:var(--dark3); border:1px solid var(--border); border-radius:var(--radius); padding:28px; transition:var(--transition); height:100%; }
.testimonial-card:hover { border-color:rgba(255,255,255,.3); box-shadow:0 16px 40px rgba(0,0,0,.6); }
.testimonial-stars { color:var(--gold); font-size:1rem; margin-bottom:12px; }
.testimonial-text { font-size:.95rem; color:var(--text-muted); line-height:1.7; margin-bottom:16px; font-style:italic; }
.testimonial-author { font-weight:700; font-size:.9rem; }

/* ===== PAGE HERO ===== */
.page-hero { padding:140px 0 60px; text-align:center; position:relative; background:linear-gradient(180deg, var(--dark) 0%, var(--dark2) 100%); overflow:hidden; }
.page-hero::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); }
.page-hero .section-title { margin-bottom:8px; }
.breadcrumb { display:flex; justify-content:center; gap:8px; font-size:.83rem; color:var(--text-muted); margin-top:12px; }
.breadcrumb a { color:var(--text-muted); }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb span { color:var(--gold); }

/* ===== PROMOTIONS STRIP ===== */
.promo-card { background:rgba(255, 255, 255, 0.03); border:1px solid rgba(255, 255, 255, 0.1); border-radius:12px; overflow:hidden; display:flex; cursor:pointer; transition:var(--transition); }
.promo-card:hover { border-color:rgba(255,255,255,.5); box-shadow:0 12px 32px rgba(0,0,0,.4); }
.promo-full-desc { display:none; margin-top:10px; font-size:.88rem; color:var(--text-muted); line-height:1.6; }
.promo-card.expanded .promo-full-desc { display:block; }
.promo-toggle-hint { font-size:.75rem; color:var(--gold); margin-top:8px; opacity:.8; background:none; border:none; padding:0; font-family:inherit; cursor:pointer; }
.promo-img { width:180px; flex-shrink:0; }
.promo-img img { width:100%; height:100%; object-fit:cover; }
.promo-body { padding:24px; }
.promo-label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:var(--orange); margin-bottom:8px; }
.promo-title { font-size:1.1rem; font-weight:700; margin-bottom:8px; }
.promo-desc { font-size:.85rem; color:var(--text-muted); line-height:1.6; }
.promo-valid { font-size:.78rem; color:var(--text-muted); margin-top:10px; }

/* ===== SUZUVCHI TUGMALAR ===== */
.floating-btns { position:fixed; bottom:28px; right:24px; display:flex; flex-direction:column; gap:10px; z-index:1000; align-items:center; }
.fab-btn { width:48px; height:48px; border-radius:50%; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1.1rem; transition:var(--transition); text-decoration:none; box-shadow:0 4px 16px rgba(0,0,0,.4); }
.fab-tel { background:var(--gold); color:#000; }
.fab-tg { background:#2CA5E0; color:#fff; }
.fab-ig { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color:#fff; }
.fab-chat { background:var(--orange); color:#000; }
.fab-top { background:var(--dark3); color:var(--text); border:1px solid var(--border); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s ease, visibility .3s ease; }
.fab-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; }
.fab-btn:hover { transform:scale(1.12); }

/* Aylanuvchi slot */
.fab-rotate-slot { position:relative; width:48px; height:48px; flex-shrink:0; }
.fab-rotate-item { position:absolute; top:0; left:0; margin:0; opacity:0; pointer-events:none; transition:opacity .4s ease; }
.fab-rotate-item.fab-rotate-active { opacity:1; pointer-events:auto; }

/* ===== CHAT WIDGET ===== */
.chat-widget { position:fixed; bottom:88px; right:24px; width:320px; background:var(--dark2); border:1px solid var(--border); border-radius:16px; box-shadow:0 16px 48px rgba(0,0,0,.6); z-index:1001; display:none; flex-direction:column; overflow:hidden; }
.chat-widget.open { display:flex; animation:chatSlideIn .25s ease; }
@keyframes chatSlideIn { from{opacity:0;transform:translateY(16px) scale(.97)} to{opacity:1;transform:translateY(0) scale(1)} }
.chat-header { padding:14px 16px; background:var(--dark3); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.chat-header-info { display:flex; align-items:center; gap:10px; }
.chat-avatar { position:relative; }
.chat-avatar img { width:36px; height:36px; border-radius:50%; object-fit:contain; background:var(--dark); padding:4px; }
.chat-online-dot { position:absolute; bottom:0; right:0; width:10px; height:10px; background:#4caf50; border-radius:50%; border:2px solid var(--dark3); }
.chat-header strong { display:block; font-size:.9rem; }
.chat-header small { font-size:.75rem; color:var(--text-muted); }
.chat-close-btn { background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:1rem; padding:4px; }
.chat-close-btn:hover { color:var(--text); }
.chat-body { padding:16px; flex:1; min-height:160px; max-height:280px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; }
.chat-msg { max-width:82%; padding:9px 13px; border-radius:12px; font-size:.88rem; line-height:1.5; display:flex; flex-direction:column; gap:3px; }
.chat-msg-bot,
.chat-msg-staff { background:var(--dark3); border:1px solid var(--border); align-self:flex-start; border-radius:4px 12px 12px 12px; }
.chat-msg-visitor,
.chat-msg-user { background:var(--gold); color:#000; align-self:flex-end; border-radius:12px 12px 4px 12px; }
.chat-msg-system { background:rgba(255,255,255,.04); border:1px dashed var(--border); color:var(--text-muted); font-size:.8rem; font-style:italic; text-align:center; border-radius:8px; padding:8px; align-self:stretch; }
.chat-time { font-size:.72rem; opacity:.55; align-self:flex-end; }
.chat-footer { padding:12px; border-top:1px solid var(--border); display:flex; gap:8px; }
.chat-input { flex:1; background:var(--dark3); border:1px solid var(--border); border-radius:8px; padding:10px 14px; color:var(--text); font-size:.88rem; outline:none; font-family:inherit; }
.chat-input:focus { border-color:var(--gold); }
.chat-send-btn { background:var(--gold); color:#000; border:none; border-radius:8px; padding:10px 14px; cursor:pointer; font-size:.9rem; transition:var(--transition); }
.chat-send-btn:hover { background:var(--gold-light); }

/* ===== SCROLL REVEAL ===== */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ===== MAP ===== */
.map-section { padding:0; }
.map-section iframe, .map-embed iframe, .map-container iframe, .yandex-map-widget-container iframe { width:100%; border:none; border-radius:var(--radius); display:block; }
.map-embed { width:100%; overflow:hidden; }
.map-container { border-radius:var(--radius); overflow:hidden; }
.map-placeholder { background:var(--dark2); border:1px solid var(--border); border-radius:var(--radius); height:200px; display:flex; align-items:center; justify-content:center; }
.map-placeholder a { color:var(--gold); font-size:1rem; display:flex; align-items:center; gap:8px; }
@media (max-width:768px) {
  .map-embed iframe, .map-container iframe { height:240px !important; }
}

/* ===== FOOTER ===== */
#footer { background:var(--dark2); border-top:1px solid var(--border); padding:64px 0 0; margin-top:0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px; margin-bottom:48px; }
.footer-brand p { color:var(--text-muted); font-size:.9rem; margin:20px 0; line-height:1.6; max-width:260px; }
/* Reyting badge'lari (Yandex iframe + Google widget) — bir xil ko'rinish */
.footer-rating { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.footer-rating iframe { display:block; border-radius:14px; }
.grating { display:inline-flex; align-items:center; gap:12px; height:50px; padding:0 18px; border-radius:14px; background:var(--dark3); color:var(--text); text-decoration:none; transition:var(--transition); }
.grating:hover { background:#242424; }
.grating__g { font-size:1.45rem; font-weight:800; line-height:1; }
.grating__body { display:flex; flex-direction:column; justify-content:center; gap:3px; line-height:1; }
.grating__top { display:flex; align-items:center; gap:9px; }
.grating__score { font-size:1.15rem; font-weight:700; }
.grating__stars { position:relative; display:inline-block; font-size:.95rem; line-height:1; letter-spacing:2px; white-space:nowrap; }
.grating__stars::before { content:"★★★★★"; color:rgba(255,255,255,.28); }
.grating__stars::after { content:"★★★★★"; color:#f5c518; position:absolute; left:0; top:0; width:var(--pct,100%); overflow:hidden; }
.grating__count { font-size:.78rem; color:var(--text-muted); }
.footer-social { display:flex; gap:10px; margin-top:16px; }
.footer-social a { width:36px; height:36px; background:rgba(255,255,255,.06); border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--text-muted); font-size:.9rem; transition:var(--transition); }
.footer-social a:hover { background:var(--gold); color:#000; border-color:var(--gold); }
.footer-links h4, .footer-contact h4, .footer-map h4 { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--gold); margin-bottom:16px; }
.footer-links ul { display:flex; flex-direction:column; gap:8px; }
.footer-links a { font-size:.88rem; color:var(--text-muted); }
.footer-links a:hover { color:var(--gold); }
.footer-contact p { display:flex; align-items:flex-start; gap:10px; font-size:.88rem; color:var(--text-muted); margin-bottom:10px; }
.footer-contact i { color:var(--gold); margin-top:2px; flex-shrink:0; }
.footer-contact a { color:var(--text-muted); }
.footer-contact a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid var(--border); padding:20px 0; }
.footer-bottom p { font-size:.82rem; color:var(--text-muted); text-align:center; }

/* ===== SPACING ===== */
.section-sm { padding:48px 0; }
.mb-0{margin-bottom:0} .mt-0{margin-top:0}
.text-center { text-align:center; }
.text-gold { color:var(--gold); }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .about-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
}

/* ===== MOBILE MENU DRAWER ===== */
.mobile-menu-drawer {
  position: fixed;
  top: 0;
  right: -300px;
  width: 300px;
  height: 100vh;
  background: var(--dark2);
  border-left: 1px solid var(--border);
  z-index: 1001;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
}

.mobile-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
}

.mobile-menu-logo img {
  height: 32px;
  width: auto;
}

.mobile-menu-close {
  background: none;
  border: none;
  color: var(--text);
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}

.mobile-menu-close:hover {
  color: var(--gold);
}

.mobile-menu-drawer.active {
  right: 0;
}

.mobile-menu-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px;
}

.mobile-menu-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
}

.mobile-menu-nav a {
  display: block;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--text);
  transition: var(--transition);
}

.mobile-menu-nav a:hover {
  color: var(--gold);
}

.mobile-menu-nav a.active {
  color: var(--gold);
  font-weight: 700;
}

.mobile-menu-bottom {
  padding-top: 20px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mobile-menu-phone {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--gold);
  font-weight: 600;
}

.mobile-menu-phone a {
  color: var(--gold);
  font-weight: 600;
}

.mobile-menu-lang {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mobile-lang-options {
  display: flex;
  gap: 8px;
}

.mobile-lang-active {
  display: inline-block;
  padding: 6px 12px;
  background: rgba(197, 160, 89, 0.2);
  border-radius: 4px;
  color: var(--gold);
  font-weight: 600;
  font-size: 0.8rem;
}

.mobile-lang-btn {
  display: inline-block;
  padding: 6px 12px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  font-weight: 600;
  font-size: 0.8rem;
  cursor: pointer;
  transition: var(--transition);
}

.mobile-lang-btn:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.mobile-menu-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.mobile-menu-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}

@media (max-width:768px) {
  /* ── Mobil Navigatsiya ── */
  /* nav-right ko'rinib turadi, lekin mobilda faqat savat — qolgani drawer'da */
  .nav-right {
    display: flex;
    gap: 10px;
  }
  .nav-right .lang-dropdown,
  .nav-right .nav-phone,
  .nav-right .nav-orders { display: none !important; }
  /* Kichik ekranda container yon padding kichrayadi */
  .container { padding: 0 12px; }
  .nav-links {
    position:fixed; top:0; left:-100%;
    width:min(80vw, 300px); height:100vh;
    background:var(--dark2);
    display:flex !important; flex-direction:column;
    padding:80px 24px 24px;
    transition:left .3s ease;
    z-index:999;
    border-right:1px solid var(--border);
    overflow-y:auto;
  }
  .nav-links.open { left:0; box-shadow:4px 0 32px rgba(0,0,0,.6); }
  .nav-links ul { flex-direction:column; gap:0; }
  .nav-links a { display:block; padding:14px 0; border-bottom:1px solid var(--border); font-size:1rem; }
  .mobile-menu-btn { display:flex !important; z-index:1000; }
  /* Mobil nav-right: lang dropdown va telefon */
  .nav-right { gap:10px; }
  .nav-right .nav-phone span { display:none; }
  /* Lang dropdown mobilda */
  .lang-dropdown-menu { right:auto; left:0; }
  /* Footer */
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  /* Boshqa */
  #hero { height:auto; padding:100px 0 30px; }
  .hero-stats { gap:20px; margin-top:0; padding-top:20px; border:none; }
  .promo-card { flex-direction:column; }
  .promo-img { width:100%; height:160px; }
  .chat-widget { width:calc(100vw - 48px); right:24px; bottom:96px; }
  .about-features { grid-template-columns:1fr; }
  .page-hero { padding:100px 0 40px; }

  /* Floating tugmalar mobilda pastroq */
  .floating-btns { bottom:20px; right:16px; }
}
/* body scroll lock when mobile menu open */
body.menu-open { overflow:hidden; }
@media (max-width:480px) {
  .hero-btns { flex-direction:column; }
  .hero-btns .btn { width:100%; justify-content:center; }
  .hero-stats { gap:14px; }
  .hero-stat strong { font-size:1.4rem; }
  .menu-filters { gap:6px; }
  .filter-btn { font-size:.78rem; padding:7px 14px; }
  .menu-chips { gap:6px; }
  .menu-chip { font-size:.78rem; padding:7px 14px; }
  .menu-section-title { font-size:1.2rem; }
  .menu-section { padding:14px 0; }
  .page-hero { padding:80px 0 28px; }

  .nav-right { gap:8px; }
  .lang-dropdown-btn { padding:4px 8px; font-size:.76rem; }
  /* Contact grid 1 col */
  .contact-grid { grid-template-columns:1fr; }
  /* Footer brand wider */
  .footer-brand p { max-width:100%; }
  /* Section padding azaytirildi */
  .section { padding:56px 0; }
  /* News grid 1 kol */
  .news-grid { grid-template-columns:1fr; }
}

/* ===== UTILITY & CLEANUP CLASSES ===== */
.text-muted-lh { color: var(--text-muted); line-height: 1.8; margin-bottom: 16px; }
.section-dark2 { background: var(--dark2); }
.stats-clean { padding: 0 !important; border: none !important; margin: 0 !important; justify-content: space-around !important; }
.mb-12 { margin-bottom: 12px; }
.mb-8 { margin-bottom: 8px; }
.mt-32 { margin-top: 32px; }
.mt-16 { margin-top: 16px; }
.pb-0 { padding-bottom: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.text-bold { color: var(--text); font-weight: 700; }
.font-85 { font-size: .85rem; }
.w-100-h-auto { width: 100%; height: auto; }
.pad-x-20 { padding: 0 20px; }
.grid-gap-16 { display: grid; gap: 16px; }

.text-muted-center {
  color: var(--text-muted);
  margin-bottom: 28px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.flex-center-wrap {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.mt-24-flex {
  margin-top: 24px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.btn-sm {
  font-size: .82rem !important;
  padding: 10px 16px !important;
}

.btn-xs {
  margin-top: 12px !important;
  font-size: .8rem !important;
  padding: 8px 16px !important;
}

.title-gold-h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--gold);
}

.section-title-sm-center {
  font-size: 1.5rem;
  margin-bottom: 24px;
  text-align: center;
}

.map-placeholder-box {
  background: var(--dark2);
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
}

.gallery-empty-state {
  padding: 80px 0;
  color: var(--text-muted);
}

.icon-empty-lg {
  font-size: 4rem;
  opacity: .2;
  display: block;
  margin-bottom: 16px;
}

.icon-empty-md {
  font-size: 3rem;
  opacity: .3;
  display: block;
  margin-bottom: 12px;
}

.text-muted-lh17 {
  color: var(--text-muted);
  line-height: 1.7;
  margin-bottom: 20px;
}

.mt-24-inline {
  margin-top: 24px;
  display: inline-flex;
}

.map-side-placeholder {
  background: var(--dark3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
}

.icon-map-md {
  font-size: 2.5rem;
  color: var(--gold);
  opacity: .5;
}

.news-detail-title {
  max-width: 700px;
  margin: 0 auto 8px;
}

.news-detail-date {
  color: var(--text-muted);
  margin-top: 8px;
  font-size: .85rem;
}

.container-narrow {
  max-width: 820px;
}

.news-detail-img-wrap {
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 36px;
}

.news-detail-body {
  color: var(--text-muted);
  line-height: 1.9;
  font-size: 1.02rem;
}

.news-detail-footer {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}

.grid-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.vacancy-requirements-label {
  font-size: .85rem;
  color: var(--text-muted);
  margin-bottom: 12px;
}

.star-gold {
  color: var(--gold);
}

@media (max-width: 768px) {
  .grid-2col {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.hero-subtitle {
  color: var(--text-muted);
  margin-top: 8px;
}

.section-title-sm {
  font-size: 1.5rem;
  margin-bottom: 24px;
}

.empty-state {
  color: var(--text-muted);
  padding: 40px 0;
  text-align: center;
}

.text-muted {
  color: var(--text-muted);
}

/* Desktop Navigation & Header */
@media (min-width: 769px) {
  .nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .nav-links {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    opacity: 1 !important;
    padding: 0 !important;
    border: none !important;
  }

  .nav-links ul {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 30px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .nav-links ul li {
    list-style: none !important;
    display: inline-block !important;
  }

  .nav-links a {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
    color: var(--text) !important;
    transition: var(--transition);
  }

  .nav-links a:hover {
    color: var(--gold) !important;
  }
}

/* News Detail Modal inside Fancybox */
.news-detail-modal {
  max-width: 650px;
  width: 100%;
  background: var(--dark2) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  color: var(--text);
}
.news-modal-header {
  margin-bottom: 16px;
}
.news-modal-header .news-date {
  font-size: 0.85rem;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 6px;
}
.news-modal-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  color: var(--text);
  line-height: 1.3;
}
.news-modal-image {
  margin-bottom: 20px;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
}
.news-modal-image img {
  width: 100%;
  height: auto;
  display: block;
}
.news-modal-body {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--text-muted);
}
.news-modal-body p {
  margin-bottom: 14px;
}

/* Contact Map Section Edge-to-Edge */
.contact-map-section {
  padding: 0 !important;
  margin: 0 !important;
}

/* Taksi chaqirish (Yandex Go) — xaritadan oldin */
.taxi-cta {
  display: flex;
  justify-content: center;
  padding: 24px 16px;
  background: var(--dark, #0a0a0a);
}
.taxi-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fce000;
  color: #1a1a1a;
  font-weight: 700;
  font-size: 16px;
  padding: 13px 28px;
  border-radius: 999px;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.taxi-btn svg { width: 25px; height: 25px; display: block; flex-shrink: 0; }
.taxi-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(252, 224, 0, .32);
  color: #1a1a1a;
}

.yandex-map-widget-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  filter: invert(.9) hue-rotate(180deg) brightness(0.85);
}
.yandex-map-widget-container iframe {
  width: 100% !important;
  height: 500px !important;
  border: none !important;
  border-radius: 0 !important;
  position: relative;
  display: block;
}
.yandex-map-link {
  color: #eee;
  font-size: 12px;
  position: absolute;
  left: 20px;
  z-index: 10;
}
.yandex-map-link-1 { top: 0px; }
.yandex-map-link-2 { top: 14px; }
.yandex-map-link-3 { top: 28px; }

/* Custom styled badges for language selector */
.lang-flag {
  text-transform: uppercase;
  font-size: 1rem;
  color: #FFF;
}
.lang-option span:first-child, .lang-option-active span:first-child {
  text-transform: uppercase;
  font-size: 1rem;
  color: #FFF;
}
.lang-option-active span:first-child {
  color: var(--gold);
}

/* news-detail-modal hidden by default, fancybox reads the content */
.news-detail-modal { display: none; }

/* ── Form checkbox rows ───────────────────────────────────────── */
.form-check-group {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 12px;
}
.form-check-group--mb16 { margin-bottom: 16px; }
.form-check-input {
  flex-shrink: 0;
  margin-top: 4px;
  width: 16px;
  height: 16px;
  accent-color: var(--gold);
  cursor: pointer;
}
.form-check-label {
  font-weight: normal;
  font-size: 13px;
  line-height: 1.4;
  color: var(--text-muted);
  margin: 0;
  cursor: pointer;
}
.form-check-label a {
  color: var(--gold);
  text-decoration: underline;
}

/* ymaps container fills parent */
#ymapsContainer { width: 100%; height: 100%; }

/* ── Vacancies section subtitle ───────────────────────────────── */
.vacancies-section-subtitle {
  text-align: center;
  margin-top: -16px;
  margin-bottom: 32px;
  color: var(--text-muted);
}

/* ════════════════════════════════════════════════════════════════
   HONEYPOT (botlar uchun yashirin maydon — ekrandan tashqarida)
   ════════════════════════════════════════════════════════════════ */
.hp-field {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

/* ════════════════════════════════════════════════════════════════
   SITE MODAL (bron + vakansiya arizasi)
   ════════════════════════════════════════════════════════════════ */
body.modal-open { overflow: hidden; }

.site-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.site-modal.open { display: flex; }

.site-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
}

.site-modal-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 460px;
  max-height: 90vh;
  overflow-y: auto;
  background: var(--accent-color, #1a1a1a);
  border: 1px solid rgba(197, 160, 89, 0.25);
  border-radius: 16px;
  padding: 32px 28px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
  animation: modalPop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes modalPop {
  from { opacity: 0; transform: translateY(24px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.site-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-light);
  font-size: 1rem;
  cursor: pointer;
  transition: var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-modal-close:hover { background: var(--gold); color: #000; border-color: var(--gold); }

.site-modal-sub {
  color: var(--text-muted);
  font-size: 0.9rem;
  margin-bottom: 20px;
}
.site-modal-sub:empty { display: none; }

/* ════════════════════════════════════════════════════════════════
   BOOKING CTA (galereyadan keyin)
   ════════════════════════════════════════════════════════════════ */
.booking-cta-inner {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}
.booking-cta-desc {
  color: var(--text-muted);
  font-size: 1rem;
  margin: 12px 0 28px;
}
.booking-cta-btn { font-size: 1rem; }

/* ── Vakansiya kartochkalar grid + CTA ──────────────────────────── */
.vacancy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.vacancies-cta { text-align: center; margin-top: 32px; }

@media (prefers-reduced-motion: reduce) {
  .site-modal-dialog { animation: none; }
}

/* ════════════════════════════════════════════════════════════════
   LOGO — inline SVG + "chapdan-o'ngga bo'yash" (mask wipe) effekt
   Strokesiz: to'ldirilgan logo CSS mask gradient bilan chapdan o'ngga
   ochiladi. Rang navbatma-navbat: --logo-ink (#ea6900 ↔ #fff) JS'dan.
   ════════════════════════════════════════════════════════════════ */
.logo-draw { display: block; width: auto; overflow: visible; }
.logo-nav    { height: 40px; }
.logo-foot   { height: 56px; }
.logo-mobile { height: 32px; }

.logo-draw path {
  fill: var(--logo-ink, #fff);
}

/* Logo statik (mask-wipe animatsiyasi olib tashlandi). */

/* ════════════════════════════════════════════════════════════════
   SEO CONTENT — bosh sahifadagi mazmunli matn bloki
   ════════════════════════════════════════════════════════════════ */
.seo-content { background: var(--dark, #0a0a0a); }
.seo-content .section-title { text-align: center; margin-bottom: 32px; }
.seo-content-body { max-width: 880px; margin: 0 auto; }
/* about-home seksiyasi ichida (about-grid'dan keyin) — yuqoridan bo'shliq */
.about-section .seo-content-body { margin-top: 48px; }
.seo-content-body h3 {
  color: var(--gold-light, #e0c07a);
  font-size: 1.15rem;
  font-weight: 600;
  margin: 28px 0 10px;
}
.seo-content-body p {
  color: var(--text-muted, #888);
  line-height: 1.85;
  font-size: 1rem;
  margin-bottom: 14px;
}
@media (max-width: 576px) {
  .seo-content-body p { font-size: .95rem; line-height: 1.75; }
}


/* ============================================================
   SAVAT (cart) + buyurtma — 2026-06-22
   ============================================================ */
#cart-page .hidden { display: none !important; }
.cart-fab--hidden { display: none !important; }

/* "Savatga" tugmasi (taom kartasi) */
.add-to-cart {
  display: inline-flex; align-items: center; gap: 6px;
  background: transparent; color: var(--gold);
  border: 1.5px solid var(--gold); border-radius: 6px;
  padding: 6px 12px; font-size: .8rem; font-weight: 700;
  cursor: pointer; transition: var(--transition); white-space: nowrap;
}
.add-to-cart:hover { background: var(--gold); color: #000; }
.add-to-cart i { font-size: .75rem; }

/* Floating savat tugmasi */
.fab-cart { background: var(--gold); color: #000; position: relative; }
.fab-cart-badge {
  position: absolute; top: -4px; right: -4px;
  min-width: 20px; height: 20px; padding: 0 5px;
  background: var(--orange, #e8662a); color: #fff;
  border-radius: 10px; font-size: .72rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
}

/* Toast (3 soniya) */
.cart-toast {
  position: fixed; left: 50%; bottom: 24px;
  transform: translate(-50%, 120%);
  display: flex; align-items: center; gap: 12px;
  background: #1c1c1c; color: #fff;
  border: 1px solid var(--border, rgba(255,255,255,.12));
  border-radius: 12px; padding: 12px 16px 14px;
  min-width: 240px; max-width: 90vw; z-index: 3000;
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
  opacity: 0; transition: transform .3s ease, opacity .3s ease;
}
.cart-toast--in { transform: translate(-50%, 0); opacity: 1; }
.cart-toast--out { transform: translate(-50%, 120%); opacity: 0; }
.cart-toast__icon {
  width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%;
  background: #2e7d32; color: #fff; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.cart-toast__name { font-weight: 700; font-size: .9rem; }
.cart-toast__sub { font-size: .78rem; opacity: .7; }
.cart-toast__progress { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: rgba(255,255,255,.1); border-radius: 0 0 12px 12px; overflow: hidden; }
.cart-toast__progress span { display: block; height: 100%; width: 100%; background: var(--gold); transform-origin: left; animation: cartToastBar 3s linear forwards; }
@keyframes cartToastBar { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* Savat sahifasi */
.cart-notice, .cart-min-warning { background: rgba(232,102,42,.12); border: 1px solid rgba(232,102,42,.4); color: var(--orange, #e8662a); border-radius: 8px; padding: 12px 16px; margin-bottom: 20px; font-size: .9rem; }
.cart-empty, .cart-success { text-align: center; padding: 60px 20px; }
.cart-empty i, .cart-success i { font-size: 3rem; color: var(--gold); margin-bottom: 16px; }
.cart-empty > .icon, .cart-success > .icon { width: 3rem; height: 3rem; display: block; margin: 0 auto 16px; color: var(--gold); }
.cart-empty p { opacity: .7; margin-bottom: 20px; }
.cart-success h3 { margin: 0 0 8px; }
.cart-success p { opacity: .7; margin-bottom: 24px; }

.cart-layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; align-items: start; }
.cart-items { display: flex; flex-direction: column; gap: 12px; }
.cart-item {
  display: flex; gap: 14px;
  background: var(--dark3, #1a1a1a); border: 1px solid var(--border, rgba(255,255,255,.1));
  border-radius: 14px; padding: 12px 14px;
  transition: border-color .2s ease;
}
.cart-item:hover { border-color: rgba(255,255,255,.22); }
.cart-item-img { width: 76px; height: 76px; border-radius: 10px; overflow: hidden; flex-shrink: 0; }
.cart-item-img img { width: 100%; height: 100%; object-fit: cover; }
.cart-item-noimg { display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.06); color: var(--gold); opacity: .6; font-size: 1.5rem; }
.cart-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cart-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.cart-item-name { font-weight: 600; font-size: .95rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cart-item-unit { font-size: .78rem; opacity: .55; margin-top: 3px; font-variant-numeric: tabular-nums; }
.cart-item-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 10px; }
.cart-item-qty { display: inline-flex; align-items: center; background: rgba(255,255,255,.05); border: 1px solid var(--border, rgba(255,255,255,.16)); border-radius: 999px; padding: 2px; }
.qty-btn { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: none; background: transparent; color: inherit; font-size: 1.1rem; line-height: 1; cursor: pointer; transition: background .15s ease, color .15s ease; }
.qty-btn:hover, .qty-btn:active { background: var(--gold); color: #000; }
.qty-val { min-width: 30px; text-align: center; font-weight: 700; font-size: .92rem; font-variant-numeric: tabular-nums; }
.cart-item-total { font-weight: 800; color: var(--gold); white-space: nowrap; font-size: 1.02rem; font-variant-numeric: tabular-nums; }
.cart-item-total-unit { font-size: .78em; font-weight: 600; opacity: .85; }
.cart-item-remove {
  flex-shrink: 0; width: 32px; height: 32px; margin: -6px -8px 0 0;
  display: flex; align-items: center; justify-content: center;
  background: none; border: none; border-radius: 8px;
  color: inherit; opacity: .4; font-size: 1rem; cursor: pointer;
  transition: opacity .15s ease, color .15s ease, background .15s ease;
}
.cart-item-remove:hover { opacity: 1; color: #e74c3c; background: rgba(231,76,60,.12); }

.cart-summary { background: var(--dark3, #1a1a1a); border: 1px solid var(--border, rgba(255,255,255,.1)); border-radius: 14px; padding: 22px; position: sticky; top: 90px; }
.cart-summary-title { margin: 0 0 16px; font-size: 1.1rem; }
.cart-summary-row { display: flex; align-items: center; justify-content: space-between; font-size: 1.05rem; padding-bottom: 12px; border-bottom: 1px solid var(--border, rgba(255,255,255,.1)); margin-bottom: 8px; }
.cart-summary-row strong { color: var(--gold); font-size: 1.2rem; }
.cart-min-note { font-size: .78rem; opacity: .6; margin-bottom: 14px; }

.cart-form, .cart-otp { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.cart-field { display: flex; flex-direction: column; gap: 5px; }
.cart-field label { font-size: .8rem; font-weight: 600; opacity: .8; }
.cart-field input, .cart-field textarea { width: 100%; background: rgba(255,255,255,.04); border: 1px solid var(--border, rgba(255,255,255,.18)); border-radius: 8px; padding: 10px 12px; color: inherit; font-family: inherit; font-size: .9rem; }
.cart-field input:focus, .cart-field textarea:focus { outline: none; border-color: var(--gold); }
.cart-field input.is-invalid, .cart-field textarea.is-invalid { border-color: #e74c3c; }
.cart-field-error { font-size: .78rem; color: #e74c3c; min-height: 0; }
.cart-field-error:empty { display: none; }
.cart-pay { display: flex; gap: 12px; }
.cart-pay-opt {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 14px;
  background: rgba(255,255,255,.04);
  border: 1.5px solid var(--border, rgba(255,255,255,.18));
  border-radius: 10px;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.cart-pay-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.cart-pay-opt svg { width: 20px; height: 20px; flex-shrink: 0; }
.cart-pay-opt:hover { border-color: rgba(255,255,255,.45); }
.cart-pay-opt:has(input:checked) {
  border-color: #fff;
  background: rgba(255,255,255,.12);
  color: #fff;
}
.btn-block { width: 100%; justify-content: center; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.cart-msg { font-size: .84rem; min-height: 1em; }
.cart-msg--error { color: #e74c3c; }
.cart-msg--info { opacity: .75; }
.cart-otp-info { font-size: .85rem; opacity: .75; margin: 0; }

/* Buyurtma berish tugmasi ostidagi rozilik matni (maxfiylik/shartlar) */
.cart-consent { font-size: .75rem; line-height: 1.5; opacity: .75; margin: 10px 0 0; text-align: center; }
.cart-consent a { color: #4ea1ff; text-decoration: underline; }
.cart-consent a:hover { color: #7bb8ff; }

@media (max-width: 768px) {
  .cart-layout { grid-template-columns: 1fr; gap: 20px; }
  .cart-summary { position: static; }
  .cart-item { padding: 10px 12px; gap: 12px; }
  .cart-item-img { width: 64px; height: 64px; }
}

/* ============================================================
   BUYURTMALARIM (my orders) + header link — 2026-06-22
   ============================================================ */
#orders-page .hidden { display: none !important; }

/* Header savat tugmasi (suzuvchi FAB o'rniga header'ga ko'chirildi) */
.nav-cart {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  color: var(--text); text-decoration: none;
  border: 1px solid var(--border); border-radius: 8px;
  transition: var(--transition);
}
.nav-cart:hover,
.nav-cart.active { background: var(--gold); color: #000; border-color: var(--gold); }
.nav-cart i { font-size: 1rem; }
.nav-cart-badge {
  position: absolute; top: -6px; right: -6px;
  min-width: 18px; height: 18px; padding: 0 4px;
  background: #fff; color: #000; border: 1px solid #000;
  border-radius: 9px; font-size: .68rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.cart-count--hidden { display: none !important; }

/* "Savatga o'tish" — savat bo'sh bo'lsa yashirin; cart.js savatda mahsulot
   bo'lsa .cart-link--hidden'ni olib tashlaydi (data-cart-link). */
.cart-link--hidden { display: none !important; }

/* "Buyurtma" — nav-links ichida oddiy menyu linki (boshqa linklar uslubida).
   DEFAULT YASHIRIN; birinchi buyurtmadan (mayli_phone localStorage) keyin
   cart.js .orders-link--visible qo'shadi. */
.nav-links li[data-orders-link] { display: none; }
.nav-links li[data-orders-link].orders-link--visible { display: block; }
.mobile-orders-link { display: none !important; color: var(--gold) !important; font-weight: 700; }
.mobile-orders-link.orders-link--visible { display: flex !important; align-items: center; gap: 8px; }
@media (max-width: 992px) {
  /* Telefon: raqam yashirinadi, faqat kvadrat icon-tugma (savat bilan bir xil) */
  .nav-phone span { display: none; }
  .nav-phone { width: 40px; padding: 0; }
  .nav-phone i { font-size: 1.2rem; }
}
@media (max-width: 768px) {
  /* Mobilda drawer'dagi "Buyurtma" link ishlaydi — nav-links panelidagisi yashirin */
  .nav-links li[data-orders-link],
  .nav-links li[data-orders-link].orders-link--visible { display: none !important; }
}

/* Buyurtmalarim sahifasi */
.orders-tabs { display: flex; gap: 8px; margin-bottom: 24px; flex-wrap: wrap; }
.orders-tab {
  padding: 10px 20px; border: 1px solid var(--border, rgba(255,255,255,.2));
  background: transparent; color: inherit; border-radius: 8px; cursor: pointer;
  font-weight: 600; font-size: .9rem; transition: var(--transition);
}
.orders-tab:hover { border-color: var(--gold); }
.orders-tab.active { background: var(--gold); color: #000; border-color: var(--gold); }
.orders-empty { text-align: center; padding: 50px 20px; opacity: .85; }
.orders-empty i { font-size: 2.5rem; color: var(--gold); display: block; margin-bottom: 12px; }
.orders-empty p { margin-bottom: 18px; }
.orders-list { display: flex; flex-direction: column; gap: 16px; }
.ord-card { background: var(--dark3, #1a1a1a); border: 1px solid var(--border, rgba(255,255,255,.1)); border-radius: 12px; padding: 18px; }
.ord-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ord-id { font-weight: 800; font-size: 1.05rem; }
.ord-date { font-size: .8rem; opacity: .6; margin: 2px 0 12px; }
.ord-items { display: flex; flex-direction: column; gap: 6px; padding: 12px 0; border-top: 1px solid var(--border, rgba(255,255,255,.1)); border-bottom: 1px solid var(--border, rgba(255,255,255,.1)); margin-bottom: 12px; }
.ord-line { display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; }
.ord-total { text-align: right; font-size: .95rem; }
.ord-total strong { color: var(--gold); }
.ord-reason { margin-top: 10px; font-size: .85rem; color: #e74c3c; }
.ord-badge { font-size: .72rem; font-weight: 700; padding: 4px 10px; border-radius: 20px; white-space: nowrap; }
.ord-badge--new { background: rgba(241,196,15,.16); color: #f1c40f; }
.ord-badge--accepted { background: rgba(52,152,219,.16); color: #3498db; }
.ord-badge--done { background: rgba(46,204,113,.16); color: #2ecc71; }
.ord-badge--cancel { background: rgba(231,76,60,.16); color: #e74c3c; }
