/* ==========================================================================
   FONTS & RESET & BASE
   ========================================================================== */
@font-face {
    font-family: 'FiraGO-SemiBold';
    /* 🌟 GitHub-ისთვის უფრო უსაფრთხოა გამოტოვებული ადგილის ნაცვლად %20-ის ჩაწერა */
    src: url('fonts/FiraGO-SemiBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'FiraGO-Medium';
    src: url('fonts/FiraGO-Medium.woff2') format('woff2');
    font-feature-settings: "case" on;
    font-weight: bold;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'FiraGO-MediumItalic';
    src: url('fonts/FiraGO-MediumItalic.woff2') format('woff2');
    font-feature-settings: "case" on;
    font-weight: bold;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'FiraGOMediumItalic';
    src: url('fonts/FiraGO-MediumItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'BPGglaho';
    src: url('fonts/BPG%20Glaho.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'BPGglaho';
    src: url('fonts/BPG%20Glaho%20Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'NotoSansGeorgian';
    src: url('fonts/NotoSansGeorgian-Medium.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'NotoSansGeorgian';
    src: url('fonts/NotoSansGeorgian-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'NotoSansGeorgian';
    src: url('fonts/NotoSansGeorgian-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'NotoSansGeorgian';
    src: url('fonts/NotoSansGeorgian-SemiBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

/* ==========================================================================
   🌟 ყველა სპეციფიკური ქვესათაურის ფონტის იძულებითი შეცვლა FiraGo-ს ფონტები
   ========================================================================== */

/* 🎯 სათაურების სრული ფიქსი - დაცულია გაწელვისგან, გადადის ხაზებზე და იკუმშება ავტომატურად */
.hero-content h1,
.page-header h1,
.page-header h2,
.internal-hero h1,
.internal-hero h2 {
    font-family: 'FiraGo-SemiBold', sans-serif !important;
    font-feature-settings: "case" on;
    white-space: normal !important;
    /* 🌟 აუქმებს გაჭედვის ეფექტს და ტექსტს ჩამოშლის უფლებას აძლევს */
    text-align: center !important;
    /* 🌟 ინარჩუნებს იდეალურ ცენტრირებას */
    line-height: 1.25 !important;
    /* 🌟 სათაურებს შორის იდეალური ვერტიკალური დაშორება */

    /* 🌟 ფლუიდური ზომა: ხელით გაწერილი 100px-ის ნაცვლად, კომპიუტერზე იქნება დიდი, */
    /* ხოლო ეკრანის შემცირებასთან ერთად რბილად დაპატარავდება ტაბლეტის ზომამდე */
    font-size: clamp(1.8rem, 4.5vw, 3.2rem) !important;
}

.hero-content .btn-hero {
    font-family: 'FiraGo-SemiBold', sans-serif !important;
    font-size: 18px !important;
    font-feature-settings: "case" on;
}

.welcome-text-block .subtitle,
.gold-subtitle,
.grid-uppertitle,
.contact-eyebrow,
.contact-label {
    font-family: 'FiraGOMediumItalic', sans-serif !important;
    font-size: 16px !important;
    letter-spacing: 2px !important;
}

/* Apply Mtavruli font exclusively to the navigation links */
.nav-list a,
.dropdown-menu a,
.btn-nav-give {
    font-family: 'FiraGO-Medium', sans-serif !important;
    font-size: 18px !important;
    white-space: nowrap !important;
    padding: 10px 8px !important;
    /* 🌟 მჭიდრო პედინგი, რომ 18px ზომაზე მენიუს ლინკები ხაზიდან არ ჩამოვარდეს */
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --gold: #aa954f;
    --gold-light: #c9b26a;
    --gold-dim: rgba(170, 149, 79, 0.25);
    --dark-900: #111111;
    --dark-800: #1a1a1a;
    --dark-700: #222222;
    --dark-600: #333333;
    --dark-400: #444444;
    --text-muted: #cccccc;
    --text-soft: #555555;
    --white: #ffffff;
    --bg-light: #fafafa;
    --radius-md: 12px;
    --radius-lg: 16px;
    --shadow-md: 0 20px 45px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 30px 60px rgba(0, 0, 0, 0.45);
    --transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

html,
body {
    margin: 0 !important;
    padding: 0 !important;
    scroll-behavior: smooth;
}

html {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto;
    scroll-padding-top: 250px;
    background-color: var(--dark-900) !important;
    /* Premium dark background behind the transparent scrollbar track */
}

body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Scroll Lock Classes */
html.no-scroll {
    overflow-y: hidden !important;
}
body.no-scroll {
    overflow: hidden !important;
    height: 100% !important;
}

/* 🌟 standard scrollbar properties ONLY for browsers that do NOT support webkit-scrollbar (like Firefox) */
@supports not selector(::-webkit-scrollbar) {
    html {
        scrollbar-width: thin;
        scrollbar-color: rgba(170, 149, 79, 0.45) var(--dark-900);
    }
}

/* 🌟 Ultra-Refined Modern Minimalist Scrollbar for WebKit browsers (Chrome, Edge, Safari, Opera) */
::-webkit-scrollbar {
    width: 10px;
    /* Thinner for elegance but readable */
    height: 10px;
    /* Horizontal scrollbar height */
}

::-webkit-scrollbar-track {
    background: transparent;
    /* Transparent track for floating pill effect */
}

::-webkit-scrollbar-thumb {
    background-color: rgba(170, 149, 79, 0.45);
    /* Subtle semi-transparent gold */
    border-radius: 20px;
    /* Fully rounded capsule pill */
    border: 2px solid transparent;
    /* Padding around the thumb */
    background-clip: padding-box;
    /* Makes the border transparent */
    transition: background-color 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #aa954f;
    /* Solid gold on hover */
}


/* 🌟 Georgian text wrap insurance to prevent overflow on mobile */
p,
span,
h1,
h2,
h3,
h4,
h5,
h6,
a,
li,
blockquote,
td,
th {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: break-word;
}

body {
    font-family: 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif;
    /* 🌟 პირველ ადგილზე ვსვამთ NotoSansGeorgian */
    background-color: var(--bg-light);
    color: #333;
    line-height: 1.6;
}

/* 🌟 ვავალდებულებთ ყველა სათაურს (H2-ის გარდა), ღილაკსა და ინპუტს, რომ მერსადი (აწ უკვე FiraGo-Medium) გამოიყენონ */
h1,
h3,
h4,
h5,
h6,
.btn,
button,
input,
select,
textarea {
    font-family: 'FiraGo-Medium', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif !important;
    font-feature-settings: "case" on;
}

/* 🌟 გლობალური ცვლილება სპეციალურად საიტის ყველა H2 სათაურისთვის */
h2 {
    font-family: 'FiraGo-Medium', sans-serif !important;
    font-feature-settings: "case" on;
}

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

ul {
    list-style: none;
}

/* Enforce fluid widths globally on all main sections, wrappers, and containers */
.header-container,
.welcome-banner.floating-banner,
.building-container,
.info-grid-container,
.contact-container,
.responsive-two-col,
.give-split-layout,
.team-asymmetric-layout,
.events-grid,
.series-grid,
.sermons-grid,
.steps-grid,
.container,
.steps-container,
.sermons-container,
.registration-container,
.player-wrapper {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 📱 დამატებითი მიკრო-კორექცია სპეციალურად პატარა მობილური ტელეფონებისთვის (768px-ზე ქვემოთ) */
@media (max-width: 768px) {

    .hero-content h1,
    .page-header h1,
    .internal-hero h1 {
        /* ტელეფონზე სათაურები კიდევ უფრო იკუმშება, რომ ეკრანიდან არ გავარდეს */
        font-size: clamp(1.4rem, 6vw, 1.9rem) !important;
    }
}

/* ==========================================================================
   HEADER & DROPDOWN NAVIGATION (ოპტიმიზებული მარცხენა გასწორებით)
   ========================================================================== */
.main-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 20px 0;
    transition: background var(--transition), padding var(--transition), box-shadow var(--transition), transform 0.3s ease;
}

.main-header.scrolled {
    background: rgba(17, 17, 17, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    /* ჩამოსქროლვისას მხოლოდ შავი ზოლი ვიწროვდება — ლოგო, ტექსტი და
       ღილაკები იმავე ზომისა რჩება. */
    padding: 8px 0;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.4);
}

/* ლოგო ინლაინ ელემენტია, ამიტომ მის ქვემოთ ხაზის სიმაღლე ~8px ცარიელს
   ტოვებდა და ზოლს ზედმეტად აყოლებდა. block-ად ქცევა თავად ლოგოს ზომას
   არ ცვლის — მხოლოდ ამ უჩინარ ადგილს იღებს. */
.main-header.scrolled .logo a { display: block; }
.main-header.scrolled .logo svg,
.main-header.scrolled .logo img { display: block; }

.main-header.header-hidden {
    transform: translateY(-100%);
}

.header-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 30px;
    gap: 20px;
}

.logo a {
    display: inline-block;
    text-decoration: none;
    line-height: 0;
    transition: opacity 0.3s;
}

.logo a:hover {
    opacity: 0.8;
}


/* ნავ სიის სტილები */
.nav-list {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.nav-list>li {
    position: relative;
    margin: 0 4px;
}

.nav-list a {
    color: var(--white);
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    position: relative;
    transition: color 0.3s;
}

.dropdown-menu a:hover {
    color: var(--gold);
    background: rgba(255, 255, 255, 0.05);
    padding-left: 18px;
    white-space: nowrap;
    /* უკრძალავს ტექსტს მომდევნო ხაზზე გადასვლას */
}

.nav-list>li>a::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 14px;
    width: 0;
    height: 2px;
    background: var(--gold);
    transition: width var(--transition);
}

.nav-list>li:hover>a {
    color: var(--gold);
}

.nav-list>li:hover>a::after {
    width: calc(100% - 28px);
}

/* სპეციალური "გაეცი" ღილაკი ნავბარში */
.nav-give-item {
    margin-left: 12px !important;
}

.btn-nav-give {
    background: var(--gold) !important;
    color: var(--dark-900) !important;
    border-radius: 4px;

    /* 🌟 ხელით ვასწორებთ ბალანსს: ზემოდან ვზრდით, ქვემოდან ვაკლებთ */
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;

    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    box-shadow: 0 4px 10px rgba(170, 149, 79, 0.25);
    transition: transform 0.2s, background 0.3s !important;
}

.btn-nav-give:hover {
    background: var(--gold-light) !important;
    transform: translateY(-1px);
}

.btn-nav-give::after {
    display: none !important;
}

/* Dropdown ქვე-მენიუების ახალი სტილები დესკტოპზე */
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    transform: translateY(15px);
    background: rgba(20, 20, 20, 0.98);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-top: 3px solid var(--gold);
    min-width: 270px;
    /* 240-ის ნაცვლად ვზრდით 270-მდე, რომ გრძელი ტექსტი ჩაეტიოს */
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
    padding: 12px 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
    transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
}

.dropdown-menu li {
    width: 100%;
}

.dropdown-menu a {
    color: rgba(255, 255, 255, 0.85);
    text-transform: none;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 20px 10px 14px;
    display: block;
    width: 100%;
    transition: all 0.25s ease;
}

.dropdown-menu a:hover {
    color: var(--gold);
    background: rgba(255, 255, 255, 0.05);
    padding-left: 18px;
}

/* Dropdown-ის გამოჩენა Hover-ზე დესკტოპზე */
@media (min-width: 769px) {
    .has-dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

/* ==========================================================================
   HEADER SOCIALS (სოც. მედიის ხატულების ფიქსი - ხაზებისა და წერტილების გარეშე)
   ========================================================================== */
.header-socials {
    display: flex;
    align-items: center;
}

.header-socials a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.8) !important;
    margin-left: 12px;
    font-size: 15px;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.header-socials a::before,
.header-socials a::after {
    content: none !important;
    display: none !important;
}

.header-socials a:hover {
    border-color: #aa954f;
    background: rgba(170, 149, 79, 0.1);
    color: #aa954f !important;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(170, 149, 79, 0.15);
}

/* მობილური ჰამბურგერი */
.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    z-index: 1100;
}

.hamburger span {
    display: block;
    width: 26px;
    height: 2px;
    background: var(--white);
    border-radius: 2px;
    transition: var(--transition);
}

.hamburger.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.hamburger.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ==========================================================================
   HERO სექცია
   ========================================================================== */
.hero-section {
    height: 100vh;
    min-height: 600px;
    background: #111111 url('https://cdn.sanity.io/images/f9j6xr69/production/80bb6d0e3f0c2949888b5b0c2e6c0a374dfae0cd-2730x1536.png') center/cover no-repeat;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    overflow: hidden;
    padding: 118px 20px 36px;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(17, 17, 17, 0.88) 100%);
}

.hero-content {
    position: relative;
    color: var(--white);
    width: min(100%, 1100px);
    max-height: 100%;
    padding: 0 20px;
    z-index: 1;
    overflow-wrap: anywhere;
}

.hero-content h1 {
    font-family: 'FiraGO-SemiBold', sans-serif !important;
    font-feature-settings: "case" on;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.2 !important;
    font-size: clamp(2.2rem, 6vw, 4.8rem) !important;
}

.cursive-text {
    font-family: 'FiraGO-MediumItalic', serif;
    font-style: italic;
    font-size: clamp(1.5rem, 4vw, 2.4rem);
    color: #e2d7b5;
    margin-bottom: 40px;
    overflow-wrap: anywhere;
}

@media (max-width: 992px) {

    /* ეს წაშლის მთლიან ლურჯ სექციას (ქადაგებასაც და კვირის განრიგსაც ერთად) */
    body.hide-sermon-page .sidebar-content-wrapper {
        display: none !important;
    }
}

.btn-hero {
    border: 2px solid var(--white);
    color: var(--white);
    background: transparent;
    padding: 15px 40px;
    letter-spacing: 3px;
    font-size: 13px;
    border-radius: 4px;
}

.btn-hero:hover {
    background: var(--white);
    color: var(--dark-900);
}

/* ==========================================================================
   საერთო ღილაკები
   ========================================================================== */
.btn {
    display: inline-block;
    padding: 13px 28px;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-radius: 6px;
    transition: all var(--transition);
    cursor: pointer;
}

.btn-secondary {
    background: var(--dark-900);
    color: var(--white);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.btn-secondary:hover {
    background: var(--white);
    color: var(--dark-900);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
}

.btn-outline {
    font-family: 'FiraGo-Medium', sans-serif !important;
    border: 2px solid var(--gold);
    color: var(--gold);

    /* 🌟 ასიმეტრიული კორექცია: ზემოდან ვუმატებთ სივრცეს, ქვემოდან ვაკლებთ */
    padding-top: 18px !important;
    padding-bottom: 12px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;

    font-size: 16px !important;
    /* 🌟 მთავრული ფონტისთვის 14px ზომა იდეალურად ჯდება */
    line-height: 1 !important;
    /* 🌟 უჯდება ფონტის შიდა ზომას, რომ არ აცურდეს */
    display: inline-flex !important;
    /* 🌟 აქცევს ბლოკს ფლექსად მათემატიკური ცენტრირებისთვის */
    align-items: center !important;
    justify-content: center !important;
    letter-spacing: 1px;
}

.btn-outline:hover {
    background: var(--gold);
    color: var(--white);
    box-shadow: 0 10px 25px rgba(170, 149, 79, 0.35);
    transform: translateY(-2px);
}

.btn-card {
    border: 1px solid rgba(255, 255, 255, 0.6);
    color: var(--white);
    background: transparent;
    padding: 12px 26px;
    font-size: 11px;
    letter-spacing: 2px;
}

.btn-card {
    font-family: 'FiraGo-Medium', sans-serif !important;

    /* 🌟 ასიმეტრიული კორექცია: ზემოდან ვუმატებთ სივრცეს, ქვემოდან ვაკლებთ */
    padding-top: 16px !important;
    padding-bottom: 10px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;

    display: inline-flex !important;
    /* 🌟 აქცევს ღილაკს ფლექს-კონტეინერად შიდა ცენტრირებისთვის */
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    /* 🌟 აფიქსირებს ტექსტის შიდა სიმაღლეს */
    font-size: 16px !important;
    /* 🌟 მთავრული ფონტის იდეალური ზომა კარტის ღილაკებისთვის */
}

.btn-card:hover {
    background: var(--white);
    color: var(--dark-900);
    border-color: var(--white);
}

/* ==========================================================================
   WELCOME ბანერი (სრულად თეთრი ტექსტებით)
   ========================================================================== */
/* ==========================================================================
   WELCOME BANNER (FONT INTEGRATED)
   ========================================================================== */

/* 1. ფონტის იზოლირებული რეგისტრაცია სპეციალურად ამ ბანერისთვის */
@font-face {
    font-family: 'FiraGoBold';
    src: url('fonts/FiraGO-Bold.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

@font-face {
    font-family: 'FiraGoMedium';
    src: url('fonts/FiraGO-Medium.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    /* ტექსტი მაშინვე ჩანს სათადარიგო შრიფტით და შემდეგ ფირაზე გადადის —
       ამის გარეშე ბრაუზერი 3 წამამდე მალავდა ყველა ასოს */
    font-display: swap;
}

.welcome-banner.floating-banner {
    background: rgba(170, 149, 79, 0.94);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    max-width: 1200px;
    margin: -60px auto -40px;
    padding: 60px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: var(--shadow-lg);
    position: relative;
    z-index: 10;
    color: var(--white);

    opacity: 0;
    transform: translateY(40px);
    pointer-events: none;
    transition:
        opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);

    /* 🌟 ბაზისური ფონტი ბანერისთვის */
    font-family: 'FiraGoBold', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif;
    font-feature-settings: "case" on
}

.welcome-banner.floating-banner.banner-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.welcome-container {
    display: grid;
    grid-template-columns: 1.2fr 1.8fr;
    gap: 50px;
    align-items: center;
}

/* 🌟 ტექსტური ბლოკები ახალი ფონტით */
.welcome-text-block .subtitle {
    font-size: 11px;
    letter-spacing: 5px;
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 700;
    margin-bottom: 12px;

}

.welcome-text-block h2 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    margin-bottom: 20px;
    font-weight: 700;
    color: var(--white) !important;
    font-family: 'FiraGoBold', sans-serif !important;
    /* 🌟 მივანიჭეთ ახალი მთავრული ფონტი */
    line-height: 1.2 !important;
    /* 🌟 აბალანსებს შიდა სიმაღლეს, რომ ტექსტი არ აცურდეს */
}

.welcome-text-block p {
    font-size: 1rem;
    margin-bottom: 30px;
    opacity: 0.95;
    color: #ffffff !important;
    font-family: 'BPGglaho', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif !important;
}

/* ბანერის შიდა ღილაკი "ახალი ხართ აქ?" */
.welcome-text-block .btn {
    font-family: 'FiraGo-Medium', sans-serif !important;
    font-size: 16px !important;
}

/* საათების განლაგება */
.schedule-grid {
    display: flex;
    justify-content: space-around;
    text-align: center;
    flex-wrap: wrap;
    gap: 20px;
}

.schedule-item {
    transition: transform 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.schedule-item:hover {
    transform: translateY(-6px);
}

.clock-wrap {
    color: var(--white);
    width: 64px;
    height: 64px;
    margin-bottom: 8px;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25));
    transition: transform 0.3s, filter 0.3s;
}

.schedule-item:hover .clock-wrap {
    transform: scale(1.1);
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
}

.clock-svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* 🌟 საათების ტექსტები ახალი ფონტით */
.schedule-item h3 {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--white) !important;
    line-height: 1;
    font-family: 'FiraGo-Medium', sans-serif !important;
}

.schedule-day {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--white) !important;
    letter-spacing: 1px;
    opacity: 0.95;
    font-family: 'FiraGo-Medium', sans-serif !important;
}

.schedule-label {
    font-size: 0.72rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75) !important;
    margin-top: 2px;
    font-family: 'FiraGo-Bold', sans-serif !important;
}

/* ==========================================================================
   ეკლესიის მშენებლობის სექცია
   ========================================================================== */
.building-section {
    background: radial-gradient(circle at 50% 30%, var(--dark-700) 0%, var(--dark-800) 100%);
    color: var(--white);
    text-align: center;
    padding: 100px 20px 80px;
}

.building-container {
    max-width: 800px;
    margin: 0 auto;
}

.building-video-wrap {
    width: 100%;
    max-width: 650px;
    margin: -50px auto 40px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
    line-height: 0;
}

.building-video {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    border: none;
    outline: none;
}

.gold-subtitle {
    color: var(--gold);
    letter-spacing: 4px;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.building-section h2 {
    font-size: clamp(2rem, 4vw, 2.6rem);
    font-weight: 700;
    margin-bottom: 25px;
}

.building-text p {
    color: #cdcdcd;
    font-size: 1.05rem;
    margin-bottom: 20px;
    line-height: 1.8;
}

.building-video-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    transform: scale(1.0);
}

/* ==========================================================================
   კარუსელ სლაიდერი
   ========================================================================== */
.slider-container.floating-slider {
    margin-top: 0;
    padding-bottom: 80px;
    position: relative;
    z-index: 20;
    overflow: hidden;
    user-select: none;
}

.slider-track {
    display: flex;
    padding: 30px 10vw;
    will-change: transform;
    cursor: grab;
}

.slider-track:active {
    cursor: grabbing;
}

.card-item {
    flex: 0 0 350px;
    height: 420px;
    margin: 0 15px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    box-shadow: var(--shadow-md);
    transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.25s ease !important;
    cursor: pointer;
}

.card-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.6) 100%);
    z-index: 1;
    transition: background 0.4s ease;
}

@media (hover: hover) {
    .card-item:hover {
        transform: scale(1.03) !important;
        box-shadow: var(--shadow-lg);
    }

    .card-item:hover::before {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.75) 100%);
    }
}

.card-content {
    position: relative;
    z-index: 2;
    color: var(--white);
    text-align: center;
    padding: 0 25px;
    transition: transform 0.4s ease;
}

@media (hover: hover) {
    .card-item:hover .card-content {
        transform: translateY(-5px);
    }
}

.card-content h3 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 2px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--white);
    cursor: pointer;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease !important;
    font-size: 18px;
}

.arrow-left {
    left: 30px;
}

.arrow-right {
    right: 30px;
}

.slider-arrow:hover {
    background: var(--white);
    color: var(--dark-900);
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.15);
    transform: translateY(-50%) scale(1.08);
}

/* ==========================================================================
   INFO GRID
   ========================================================================== */
.info-grid-section {
    padding: 100px 20px;
    background: linear-gradient(to bottom, var(--bg-light) 0%, var(--white) 100%);
    position: relative;
    z-index: 2;
}

.info-grid-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 80px;
    align-items: start;
}

.grid-uppertitle {
    color: var(--gold);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 3px;
    display: block;
    margin-bottom: 10px;
}

.left-column h2 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    margin-bottom: 30px;
    color: var(--dark-900);
    line-height: 1.25;
}

.left-column p {
    color: var(--text-soft);
    margin-bottom: 20px;
    font-size: 1.05rem;
    line-height: 1.8;
}

.bullet-title {
    font-size: 14px;
    letter-spacing: 2px;
    border-left: 3px solid var(--gold);
    padding-left: 14px;
    margin-bottom: 20px;
    font-weight: 700;
    color: var(--dark-900);
    text-transform: uppercase;
}

/* Global video responsive lock */
iframe,
video {
    width: 100% !important;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

/* Map exceptions to prevent scale issues */
.contact-map-iframe,
.large-map-iframe {
    aspect-ratio: auto !important;
    height: 100% !important;
}

/* Responsive video wrapper implementation */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 Aspect Ratio */
    padding-top: 0;
    height: 0;
    overflow: hidden;
    width: 100%;
}

.video-container iframe,
.video-container object,
.video-container embed,
.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.video-placeholder,
.main-video-placeholder,
.camp-video-placeholder {
    background-color: #f0f0f0;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    color: var(--gold);
    margin-bottom: 40px;
    cursor: pointer;
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    overflow: hidden;
}

.video-placeholder:hover,
.main-video-placeholder:hover,
.camp-video-placeholder:hover {
    transform: scale(1.02);
    background-color: #ede3c4;
    color: var(--dark-900);
}

.week-schedule {
    padding: 0;
}

.week-schedule li {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #eee;
    padding-bottom: 12px;
    gap: 4px;
}

.week-schedule li strong {
    color: #222;
    font-size: 15px;
}

.week-schedule li span {
    color: #777;
    font-size: 13px;
}

/* ==========================================================================
   მისასალმებელი ვიდეო სექცია
   ========================================================================== */
.welcome-video-section {
    background: radial-gradient(circle at 50% 50%, var(--gold-light) 0%, var(--gold) 100%);
    color: var(--white);
    text-align: center;
    padding: 90px 20px;
}

.video-container-box {
    max-width: 750px;
    margin: 0 auto;
}

.main-video-placeholder {
    background-color: var(--dark-900);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
    font-size: 44px;
    color: var(--white);
    margin-bottom: 30px;
    border-radius: var(--radius-md);
}

.welcome-video-section .cursive-text {
    margin-top: 20px;
    margin-bottom: 12px;
    color: var(--dark-900);
}

.welcome-video-section p {
    color: rgba(0, 0, 0, 0.7);
    font-size: 1.05rem;
}

.welcome-video-section p strong {
    color: #000000;
    font-weight: 800;
}

/* ==========================================================================
   კონტაქტი და რუკა
   ========================================================================== */
.contact-section {
    background: var(--dark-800);
    padding: 100px 20px;
    border-top: 1px solid rgba(170, 149, 79, 0.2);
}

.contact-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 70px;
    align-items: start;
}

.contact-eyebrow {
    display: inline-block;
    color: var(--gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.contact-heading {
    font-family: 'FiraGoBold', sans-serif !important;
    /* 🌟 მივანიჭეთ ახალი მთავრული ფონტი */
    font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
    /* 🌟 ოდნავ დავაკორექტირეთ მაქსიმალური ზომა ფონტის სისქის გამო */
    font-weight: 700;
    color: var(--white);
    margin-bottom: 18px;
    line-height: 1.3 !important;
    /* 🌟 აბალანსებს შიდა სიმაღლეს, რომ ასოები ზემოთ არ აიცუროს */
    font-feature-settings: "case" on
}

.contact-intro {
    font-size: 1rem;
    color: var(--text-muted);
    line-height: 1.8;
    margin-bottom: 40px;
    max-width: 420px;
}

.contact-block {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 32px;
}

.contact-icon-wrap {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(170, 149, 79, 0.12);
    border: 1px solid rgba(170, 149, 79, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    font-size: 16px;
    margin-top: 2px;
    transition: background 0.3s, transform 0.3s;
}

.contact-block:hover .contact-icon-wrap {
    background: rgba(170, 149, 79, 0.22);
    transform: scale(1.08);
}

.contact-block-text {
    flex: 1;
}

.contact-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--gold);
    text-transform: uppercase;
    margin-bottom: 6px;
}

.contact-address-link {
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    color: var(--white);
    text-decoration: none;
    line-height: 1.6;
    transition: color 0.3s;
}

.contact-address-link:hover {
    color: var(--gold);
}

.contact-ext-icon {
    font-size: 11px;
    margin-left: 6px;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    vertical-align: middle;
}

.contact-sub {
    font-size: 13px;
    color: #888;
    margin-top: 6px;
    line-height: 1.5;
}

.hours-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 4px;
}

.hours-table tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.hours-table tr:last-child {
    border-bottom: none;
}

.hours-day {
    font-size: 13px;
    font-weight: 600;
    color: var(--white);
    padding: 8px 16px 8px 0;
    white-space: nowrap;
    width: 42%;
}

.hours-time {
    font-size: 13px;
    color: var(--text-muted);
    padding: 8px 0;
}

.btn-contact-cta {
    font-family: 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    gap: 10px;
    margin-top: 10px;
    background: var(--gold);
    color: var(--dark-900);

    /* 🌟 ვასწორებთ ღილაკის ბალანსს, რომ ხატულა დაბლა აღარ ჩაიძიროს */
    padding-top: 15px !important;
    padding-bottom: 13px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;

    font-size: 13px !important;
    line-height: 1 !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 6px;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
    box-shadow: 0 8px 25px rgba(170, 149, 79, 0.25);
}

.btn-contact-cta i {
    font-size: 15px !important;
    /* 🌟 მთავარი ფიქსი: ხატულას ხელით ვწევთ ზემოთ, რომ ტექსტის ხაზს იდეალურად გაუსწორდეს */
    transform: translateY(-3px) !important;
}

.btn-contact-cta:hover {
    background: var(--gold-light);
    /* 🌟 ჰოვერზე ვინარჩუნებთ translateY(-3px)-ს, რომ ანიმაციამ კოდი არ აურიოს */
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 35px rgba(170, 149, 79, 0.4);
}

.contact-map-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.map-wrapper {
    position: relative;
    width: 100%;
    height: 480px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 25px 55px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: var(--dark-700);
}

.contact-map-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

.map-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: transparent;
    cursor: pointer;
    transition: background 0.3s;
}

.map-overlay:hover {
    background: rgba(170, 149, 79, 0.06);
}

.map-overlay.map-unlocked {
    pointer-events: none;
    background: transparent;
}

.map-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #666;
    letter-spacing: 0.5px;
    padding-left: 4px;
    transition: color 0.3s;
}

.map-hint i {
    color: var(--gold);
    opacity: 0.6;
    font-size: 13px;
}

/* ==========================================================================
   MINIMAL COPYRIGHT STRIP
   ========================================================================== */
/* ==========================================================================
   FOOTER
   მსახურების განრიგი და მისამართი ზემოთ, საკონტაქტო სექციაშია — აქ
   მხოლოდ ის, რაც იქ არაა: ნავიგაცია და გამოწერა.
   ========================================================================== */
.site-footer {
    background: var(--dark-900);
    border-top: 1px solid rgba(170, 149, 79, 0.2);
}

/* flex და არა grid: სანამ გამოწერის ბლოკი დამალულია, grid-ს მისი
   სვეტი მაინც დარჩებოდა და მარჯვნივ ცარიელი ადგილი გამოჩნდებოდა. */
.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 64px 20px 48px;
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    align-items: flex-start;
}

.footer-brand {
    flex: 1 1 200px;
    max-width: 260px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-logo {
    display: block;
    width: 58px;
    height: 58px;
}

.footer-tagline {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.92rem;
    line-height: 1.75;
}

.footer-nav {
    flex: 2 1 320px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
}

.footer-col { min-width: 0; }

.footer-heading {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: var(--gold);
}

/* ერთ სვეტში ორი ჯგუფია — მეორე სათაურს სიის შემდეგ ჰაერი სჭირდება */
.footer-col ul + .footer-heading { margin-top: 26px; }

.footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.footer-col a {
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    font-size: 0.92rem;
    transition: color 0.3s, padding-left 0.3s;
}

.footer-col a:hover {
    color: var(--gold);
    padding-left: 4px;
}

/* ── გამოწერა ────────────────────────────────────────────────────────── */
.footer-subscribe { flex: 1 1 280px; }
.footer-subscribe[hidden] { display: none; }

.subscribe-note {
    margin: 0 0 16px;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.7;
}

.subscribe-row {
    display: flex;
    gap: 8px;
}

.subscribe-row input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    color: var(--white);
    font-family: inherit;
    font-size: 0.9rem;
    transition: border-color 0.3s, background 0.3s;
}

.subscribe-row input::placeholder { color: rgba(255, 255, 255, 0.4); }

.subscribe-row input:focus {
    outline: none;
    border-color: var(--gold);
    background: rgba(255, 255, 255, 0.08);
}

.subscribe-btn {
    flex: 0 0 auto;
    width: 46px;
    border: 1px solid var(--gold);
    border-radius: 10px;
    background: var(--gold);
    color: var(--dark-900);
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.3s, color 0.3s;
}

.subscribe-btn:hover:not(:disabled) {
    background: transparent;
    color: var(--gold);
}

.subscribe-btn:disabled { opacity: 0.6; cursor: default; }

.subscribe-btn.is-sending .subscribe-icon {
    animation: prayer-spin 0.9s linear infinite;
}

.subscribe-check {
    display: flex;
    gap: 9px;
    margin-top: 12px;
    font-size: 0.78rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.55);
    cursor: pointer;
}

.subscribe-check input {
    flex: 0 0 auto;
    margin-top: 2px;
    accent-color: var(--gold);
}

.subscribe-msg {
    margin: 12px 0 0;
    font-size: 0.83rem;
    line-height: 1.6;
}

.subscribe-msg[hidden] { display: none; }
.subscribe-msg.is-error { color: #e2a08a; }
.subscribe-msg.is-ok { color: var(--gold-light); }

/* ── ქვედა ზოლი ──────────────────────────────────────────────────────── */
.footer-bottom {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.footer-copy {
    margin: 0;
    font-size: 12px;
    color: #666;
    letter-spacing: 0.5px;
}

.footer-social {
    display: flex;
    gap: 10px;
}

.footer-social a {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.85rem;
    text-decoration: none;
    transition: color 0.3s, border-color 0.3s, background 0.3s;
}

.footer-social a:hover {
    color: var(--dark-900);
    background: var(--gold);
    border-color: var(--gold);
}

@media (max-width: 991px) {
    .footer-inner {
        flex-direction: column;
        gap: 36px;
        padding: 48px 20px 36px;
    }

    .footer-brand { max-width: none; }
}

@media (max-width: 560px) {
    .footer-nav { gap: 26px 18px; }

    /* ნავბარში სოციალური ქსელები ჰამბურგერის უკან იმალება — მობილურზე
       ფუტერი ერთადერთი ადგილია, სადაც ისინი მუდამ ჩანს. */
    .footer-bottom {
        flex-direction: column-reverse;
        align-items: center;
        text-align: center;
    }
}

/* ==========================================================================
   BACK TO TOP
   ========================================================================== */
.back-to-top {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--dark-900);
    border: none;
    cursor: pointer;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;

    opacity: 0;
    pointer-events: none;
    transform: translateY(12px) scale(0.85);
    transition:
        opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
        background 0.3s ease;
    box-shadow: 0 6px 24px rgba(170, 149, 79, 0.45);
}

.back-to-top.visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.back-to-top:hover {
    background: var(--gold-light);
    transform: translateY(-4px) scale(1.08);
    box-shadow: 0 12px 32px rgba(170, 149, 79, 0.55);
}

.back-to-top:active {
    transform: scale(0.95);
}

/* ==========================================================================
   RESPONSIVE TWO COLUMNS SYSTEM
   ========================================================================== */
.responsive-two-col {
    display: grid;
    grid-template-columns: 2.2fr 1fr;
    gap: 50px;
    align-items: stretch;
}

@media (max-width: 991px) {
    .responsive-two-col {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
}

/* ==========================================================================
   RESPONSIVE (მობილური სექცია ხელუხლებელია, აკორდეონები მუშაობს გამართულად)
   ========================================================================== */
@media (max-width: 1024px) {
    .welcome-banner.floating-banner {
        padding: 50px 40px;
    }

    .info-grid-container {
        gap: 50px;
    }

    .contact-container {
        gap: 50px;
    }

    .map-wrapper {
        height: 420px;
    }
}

@media (max-width: 991px) {
    .scroll-reveal:has(.camp-video-placeholder) {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .camp-video-placeholder {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 16 / 9 !important;
        height: auto !important;
        min-height: 230px !important;
        box-sizing: border-box !important;
    }

    .camp-video-placeholder .video-container {
        width: 100% !important;
        min-height: 230px !important;
    }
}

@media (max-width: 768px) {

    /* Forced Flex/Grid Collapse for Columns */
    .welcome-container,
    .info-grid-container,
    .contact-container,
    .responsive-two-col,
    .give-split-layout,
    .team-asymmetric-layout,
    .events-grid,
    .series-grid,
    .sermons-grid,
    .steps-grid,
    .schedule-grid,
    .container,
    .steps-container,
    .sermons-container,
    .registration-container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        gap: 30px !important;
    }

    /* Strict 100% Rule for Media */
    .video-container,
    .video-container iframe,
    .video-container video,
    .camp-video-placeholder,
    .camp-video-placeholder iframe,
    .camp-video-placeholder video,
    iframe,
    video,
    img {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .scroll-reveal:has(.camp-video-placeholder) {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .camp-video-placeholder {
        aspect-ratio: 16 / 9 !important;
        min-height: 210px !important;
        height: auto !important;
        margin-bottom: 0 !important;
    }

    .camp-video-placeholder .video-container {
        min-height: 210px !important;
    }

    .nav-menu {
        display: none;
        position: fixed;
        top: 0;
        right: 0;
        width: 300px;
        max-width: 100%;
        height: 100vh;
        background: rgba(17, 17, 17, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        flex-direction: column;
        align-items: flex-start;
        padding: 100px 30px 40px;
        z-index: 1050;
        transform: translateX(100%);
        transition: transform var(--transition);
        overflow-y: auto;
    }

    .nav-menu.open {
        display: flex;
        transform: translateX(0);
    }

    .nav-list {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        gap: 15px;
    }

    .nav-list>li {
        width: 100%;
        margin: 0;
    }

    .nav-list a {
        font-size: 17px;
        padding: 10px 0;
        width: 100%;
        justify-content: space-between;
    }

    .nav-list>li>a::after {
        display: none;
    }

    /* მობილური ჩამოსაშლელი სტილი - ინარჩუნებს აკორდეონის ლოგიკას */
    .dropdown-menu {
        position: static;
        transform: none !important;
        opacity: 1;
        visibility: visible;
        display: none;
        background: rgba(255, 255, 255, 0.03);
        box-shadow: none;
        border-top: none;
        border-left: 2px solid var(--gold);
        padding: 5px 0 5px 15px;
        margin-top: 5px;
        min-width: 100%;
        border-radius: 4px;
    }

    .dropdown-menu a {
        padding: 8px 10px;
        color: rgba(255, 255, 255, 0.75);
    }

    .has-dropdown.dropdown-open .dropdown-menu {
        display: block;
    }

    .has-dropdown.dropdown-open>a>i {
        transform: rotate(180deg);
        color: var(--gold);
    }

    .nav-give-item {
        width: 100%;
        margin-left: 0 !important;
        margin-top: 15px;
    }

    .btn-nav-give {
        text-align: center;
        justify-content: center !important;
        padding: 12px 0 !important;
    }

    .hamburger {
        display: flex;
    }

    .header-socials {
        display: none;
    }

    .hero-section {
        height: 100svh;
        min-height: 420px;
        padding: 104px 18px 34px;
    }

    .hero-content {
        padding: 0 10px;
    }

    /* 💻 კომპიუტერებისა და დიდ ეკრანებისთვის */
    .hero-content h1 {
        font-family: 'FiraGoBold', sans-serif !important;
        font-size: clamp(2.2rem, 5vw, 3.5rem) !important;
        /* 🌟 ფლუიდური ზომა, რომელიც ეკრანს თავად ერგება */
        white-space: nowrap !important;
        /* 🌟 კომპიუტერზე მკაცრად ერთ ხაზზე რჩება */
        line-height: 1.2 !important;
    }

    /* 📱 მობილური ტელეფონებისა და ტაბლეტებისთვის (768px-ზე მცირე ეკრანები) */
    @media (max-width: 768px) {
        .hero-content h1 {
            font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
            /* 🌟 ტელეფონისთვის შესაბამისი კომპაქტური ზომა */
            white-space: normal !important;
            /* 🌟 მობილურზე ტექსტი ლამაზად გადავა ორ ხაზზე */
            text-align: center !important;
            /* 🌟 ინარჩუნებს მკაცრ ცენტრირებას */
            display: block !important;
        }
    }

    .cursive-text {
        font-size: clamp(1.15rem, 5vw, 1.7rem);
        margin-bottom: 24px;
    }

    .welcome-banner.floating-banner {
        margin-top: -20px;
        margin-bottom: -20px;
        border-radius: 0;
        padding: 40px 25px;
    }

    .welcome-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .schedule-grid {
        justify-content: flex-start;
        gap: 25px;
    }

    .building-video-wrap {
        width: 85%;
        max-width: 340px;
    }

    .slider-arrow {
        display: none;
    }

    .card-item {
        flex: 0 0 280px;
        height: 360px;
    }

    /* ვიწრო ბარათში „ახალგაზრდული“ სულ ერთი ასოთი სცდებოდა ხაზს და
       ბოლო „ი“ მეორე რიგში გადადიოდა. ასოებს შორის დაშორებას და
       ზომას ვუკლებთ, კიდეებს კი ვუმატებთ — სიტყვა თავისუფლად ეტევა. */
    .card-content {
        padding: 0 18px;
    }

    .card-content h3 {
        font-size: 1.15rem;
        letter-spacing: 1px;
        margin-bottom: 16px;
    }

    .info-grid-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

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

    .contact-section {
        padding: 70px 20px;
    }

    .map-wrapper {
        height: 300px;
    }

    .contact-intro {
        max-width: 100%;
    }

    .back-to-top {
        width: 44px;
        height: 44px;
        bottom: 20px;
        right: 20px;
    }
}

@media (max-width: 480px) {

    /* Forced Flex/Grid Collapse for Columns */
    .welcome-container,
    .info-grid-container,
    .contact-container,
    .responsive-two-col,
    .give-split-layout,
    .team-asymmetric-layout,
    .events-grid,
    .series-grid,
    .sermons-grid,
    .steps-grid,
    .schedule-grid,
    .container,
    .steps-container,
    .sermons-container,
    .registration-container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        gap: 20px !important;
    }

    /* Strict 100% Rule for Media */
    .video-container,
    .video-container iframe,
    .video-container video,
    .camp-video-placeholder,
    .camp-video-placeholder iframe,
    .camp-video-placeholder video,
    iframe,
    video,
    img {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .camp-video-placeholder {
        min-height: 190px !important;
    }

    .camp-video-placeholder .video-container {
        min-height: 190px !important;
    }

    .hero-section {
        min-height: 380px;
        padding: 96px 14px 28px;
    }

    .hero-content h1 {
        letter-spacing: 2px;
    }

    .welcome-banner.floating-banner {
        margin-top: 0;
    }

    .building-video-wrap {
        width: 90%;
    }

    .card-item {
        flex: 0 0 260px;
        height: 330px;
    }

    .main-video-placeholder {
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
    }
}

/* ⚡ სლაიდერის მაუსის მიტანის ეფექტების დაჩქარება და ოპტიმიზაცია */
.card-item {
    transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.25s ease !important;
    cursor: pointer;
}

@media (hover: hover) {
    .card-item:hover {
        transform: scale(1.03) !important;
    }
}

.slider-arrow {
    transition: all 0.2s ease !important;
}

/* 🌟 საათების პირველადი დიზაინის შენარჩუნება კურსორის შეცვლით */
.schedule-item {
    cursor: pointer;
}

/* ==========================================================================
   შიდა გვერდების კონტენტის შევიწროება (Capture.jpg-ის მიხედვით)
   ========================================================================== */

/* ვრცელდება მხოლოდ შიდა გვერდების (სადაც <main> ელემენტია) კონტენტზე */
main .responsive-two-col,
main .info-grid-container,
main .single-leader-section .container,
main .team-asymmetric-layout,
main .goals-list,
main .counseling-text-content,
main section:not(.hero-section):not(.contact-section) .container {
    max-width: 1340px !important;
    /* ზღუდავს მაქსიმალურ სიგანეს ფოტოს მსგავსად */
    margin-left: auto !important;
    /* აცენტრებს კონტენტს მარცხნიდან */
    margin-right: auto !important;
    /* აცენტრებს კონტენტს მარჯვნიდან */
    padding-left: 40px !important;
    /* ქმნის შიდა დამცავ დაშორებას */
    padding-right: 40px !important;
    /* ქმნის შიდა დამცავ დაშორებას */
    width: 100% !important;
    box-sizing: border-box !important;
}

/* სპეციალური თავსებადობა პლანშეტებისა და მობილურებისთვის */
@media (max-width: 991px) {

    main .responsive-two-col,
    main .info-grid-container,
    main .single-leader-section .container,
    main .team-asymmetric-layout,
    main section:not(.hero-section):not(.contact-section) .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* ==========================================================================
   BREAKPOINT FIX: მობილური ნავბარის ჩართვა 1063px სიგანეზე ან დაბალზე
   ========================================================================== */

@media (max-width: 1307px) {

    /* ბურგერ ღილაკის გამოჩენა */
    .hamburger {
        display: flex !important;
    }

    /* დესკტოპის სოციალური ხატულების დამალვა */
    .header-socials {
        display: none !important;
    }

    /* ნავბარის მენიუს გადაყვანა გვერდითა ჩამოსაშლელ რეჟიმზე */
    .nav-menu {
        display: none;
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        width: 300px !important;
        max-width: 100% !important;
        height: 100vh !important;
        background: rgba(17, 17, 17, 0.98) !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 100px 30px 40px !important;
        z-index: 1050 !important;
        transform: translateX(100%) !important;
        transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
        overflow-y: auto !important;
    }

    /* მენიუს გახსნის კლასი */
    .nav-menu.open {
        display: flex !important;
        transform: translateX(0) !important;
    }

    /* ლინკების სიის ვერტიკალური განლაგება */
    .nav-list {
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
        gap: 15px !important;
    }

    .nav-list>li {
        width: 100% !important;
        margin: 0 !important;
    }

    .nav-list a {
        font-size: 16px !important;
        padding: 10px 0 !important;
        width: 100% !important;
        justify-content: space-between !important;
    }

    /* ჰოვერის ხაზის გათიშვა */
    .nav-list>li>a::after {
        display: none !important;
    }

    /* მობილური ჩამოსაშლელი (Dropdown) მენიუების სტილი */
    .dropdown-menu {
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: none !important;
        background: rgba(255, 255, 255, 0.03) !important;
        box-shadow: none !important;
        border-top: none !important;
        border-left: 2px solid var(--gold) !important;
        padding: 5px 0 5px 15px !important;
        margin-top: 5px !important;
        min-width: 100% !important;
        border-radius: 4px !important;
    }

    .dropdown-menu a {
        padding: 8px 10px !important;
        color: rgba(255, 255, 255, 0.75) !important;
    }

    /* აკორდეონის პრინციპით გახსნა */
    .has-dropdown.dropdown-open .dropdown-menu {
        display: block !important;
    }

    .has-dropdown.dropdown-open>a>i {
        transform: rotate(180deg) !important;
        color: var(--gold) !important;
    }

    /* "გაეცი" ღილაკის მორგება მობილურის სიგანეზე */
    .nav-give-item {
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 15px !important;
    }

    .btn-nav-give {
        text-align: center !important;
        justify-content: center !important;
        padding: 12px 0 !important;
    }

    /* 🌟 მობილურის ეკრანზე ვაჩენთ ხატულებს ბურგერ მენიუს ბოლოში */
    .mobile-socials {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 15px;
        width: 100%;
        margin-top: 40px;
        padding-top: 25px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        /* დახვეწილი გამყოფი ხაზი */
    }

    .mobile-socials a {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.15);
        background: rgba(255, 255, 255, 0.03);
        color: rgba(255, 255, 255, 0.85) !important;
        font-size: 18px !important;
        text-decoration: none !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* ფერების ეფექტები მობილურზე დაჭერისას */
    .mobile-socials a:hover {
        border-color: #aa954f;
        background: rgba(170, 149, 79, 0.1);
        color: #aa954f !important;
        transform: translateY(-3px);
    }

    /* 🌟 მშობელ ბლოკს ვაბრუნებთ მარცხენა მხარეს, სადაც თავიდანვე იყო */
    .nav-menu .nav-list li.nav-give-item {
        display: flex !important;
        justify-content: flex-start !important;
        /* აბრუნებს მარცხნივ */
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 20px !important;
    }

    /* 🌟 ღილაკს ვუკუმშავთ სიგანეს მობილურზეც */
    .nav-menu .nav-list li.nav-give-item a.btn-nav-give {
        width: fit-content !important;
        display: inline-flex !important;
        justify-content: center !important;
        padding: 4px 12px !important;
        /* 🌟 აქაც ვწერთ ახალ, პატარა ზომას */
        text-align: center !important;
    }
}

/* 🌟 იუთუბის ქავერების ვიზუალური ეფექტები */
.video-placeholder,
.main-video-placeholder,
.camp-video-placeholder {
    background-color: #111 !important;
    /* ნაცრისფერის ნაცვლად მუქი ბაზა */
    position: relative;
    overflow: hidden;
}

/* Play ხატულის გამოკვეთა სურათის თავზე */
.video-placeholder i,
.main-video-placeholder i,
.camp-video-placeholder i {
    z-index: 3;
    font-size: 4rem !important;
    color: #ffffff !important;
    background: rgba(170, 149, 79, 0.85);
    /* ეკლესიის ოქროსფერი გამჭვირვალე წრე */
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* მაუსის მიტანისას ღილაკის ანიმაცია */
.video-placeholder:hover i,
.main-video-placeholder:hover i,
.camp-video-placeholder:hover i {
    transform: scale(1.1);
    background: #aa954f !important;
    /* სრული ოქროსფერი ჰოვერზე */
    box-shadow: 0 15px 30px rgba(170, 149, 79, 0.5);
}

/* 🌟 ვიდეოს დამცავი კონტეინერი */
.building-video-wrap {
    position: relative !important;
    overflow: hidden !important;
}

/* 🌟 უხილავი ფენა, რომელიც ეფარება იუთუბს და ბლოკავს ნებისმიერ მაუსის ინტერაქციას */
.building-video-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    background: transparent;
    /* სრულიად უხილავია */
    pointer-events: auto;
    /* იჭერს ყველა კლიკს თავის თავზე */
}

/* დესკტოპ ვერსიაზე მენიუს შიგნით არსებული ხატულები დამალულია */
.mobile-socials {
    display: none;
}

/* 🌟 გლობალურად ვცვლით მხოლოდ ფონტს, ზომებს კი ვუტოვებთ გვერდების მშობლიურ წესებს */
h2 {
    font-family: 'FiraGoBold', sans-serif !important;

    /* ❌ აქედან სრულად ამოშლილია font-size და line-height მნიშვნელობები !important-ით, */
    /* რადგან ისინი უფუჭებდნენ შიდა გვერდების (მსახურებების) ბანერებს განლაგებას შუალედურ ეკრანებზე. */
}

.safe-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 400px;
    /* არანაირი ფიქსირებული სიგანე ან სიმაღლე */
    height: auto;
    /* სიმაღლე იზრდება ტექსტთან ერთად */
    padding: 1.5em;
    /* დაშორება იზრდება/მცირდება ფონტის პროპორციულად */
}

.safe-card h3 {
    font-family: 'FiraGoBold', sans-serif !important;
    font-size: clamp(1.4rem, 4vw, 2.2rem) !important;
    /* ფლუიდური ზომა */
    line-height: 1.25 !important;
    /* უსაფრთხო ხაზებსშორისი დაშორება */
    white-space: normal !important;
    /* 🌟 ყოველთვის მიეცი ხაზზე გადასვლის უფლება */
}

/* ==========================================================================
   🎯 სქროლის საბოლოო დაზღვეული ფიქსი (იზოლირებული ეკრანები)
   ========================================================================== */

/* 📱 მობილური ტელეფონებისა და ტაბლეტებისთვის (მხოლოდ 768px-მდე ეკრანებზე) */
@media (max-width: 768px) {
    html {
        scroll-padding-top: 110px !important;
        scroll-behavior: smooth;
    }
}

/* 💻 კომპიუტერებისა და დიდ ეკრანებისთვის (769px-დან ზემოთ) */
@media (min-width: 769px) {
    html {
        /* 🌟 ვიყენებთ ზუსტად შენს სასურველ 250px-ს, რამაც იდეალური შედეგი მოგცა */
        scroll-padding-top: 250px !important;
        scroll-behavior: smooth;
    }
}

/* ==========================================================================
   ✨ ვიზუალური გაუმჯობესება (ოქროსფერი გამყოფები, მინი-ნავიგატორი, Scroll Reveal)
   ========================================================================== */

/* 1. ოქროსფერი ნაზი გამყოფები (Premium Dividers) */
.section-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px auto;
    max-width: 600px;
    padding: 0 20px;
    box-sizing: border-box;
}

.section-divider::before,
.section-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, rgba(170, 149, 79, 0) 0%, rgba(170, 149, 79, 0.4) 100%);
}

.section-divider::after {
    background: linear-gradient(to left, rgba(170, 149, 79, 0) 0%, rgba(170, 149, 79, 0.4) 100%);
}

.section-divider-icon {
    color: #aa954f;
    margin: 0 20px;
    font-size: 0.8rem;
    opacity: 0.7;
    filter: drop-shadow(0 2px 5px rgba(170, 149, 79, 0.2));
}

/* 2. გვერდითი მინი-ნავიგატორი (Floating Side Nav) */
.side-dots-nav {
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1000;
    display: none;
}

@media (min-width: 1025px) {
    .side-dots-nav {
        display: block;
    }
}

.side-dots-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dot-nav-item {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(34, 34, 34, 0.2);
    border: 2px solid transparent;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
}

.dot-nav-item:hover,
.dot-nav-item.active {
    background-color: #aa954f;
    transform: scale(1.4);
}

.dot-nav-item.active {
    border-color: #ffffff;
    box-shadow: 0 0 12px rgba(170, 149, 79, 0.6);
}

/* ტექსტური მინიშნება ჰოვერზე */
.dot-nav-item span {
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%) translateX(10px);
    background-color: #111111;
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-family: 'FiraGoBold', 'Montserrat', sans-serif;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.dot-nav-item span::after {
    content: "";
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    background-color: #111111;
}

.dot-nav-item:hover span {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

/* 3. სქროლვაზე გამოჩენის ანიმაცია (Scroll Reveal Animations) */
.js-enabled .reveal-section {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.js-enabled .reveal-section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ==========================================================================
   ორი ბანერი: მისასალმებელი + მომდევნო მსახურება

   ორივე დამოუკიდებელი ბანერია და გვერდის სიგანეს თანაბრად იყოფს.
   ამთვლელი მისასალმებელი ბანერის დიზაინს იმეორებს — იგივე რადიუსი,
   ჩარჩო, ბლური, ჩრდილი, პედინგი და ტიპოგრაფიის მასშტაბი — მხოლოდ
   ფერებით განსხვავდება: ოქროსფერის ნაცვლად მუქი.

   ლიფტი (უარყოფითი მარჯინები, რითაც ბანერი hero-ს ეფარებოდა) მთლიან
   რიგზე გადადის, თავად ბანერი კი რიგის შიგნით მარჯინების გარეშე რჩება.
   ========================================================================== */
.welcome-row {
    width: 100%;
    max-width: none;
    margin: -60px 0 -40px;
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: stretch;
    padding: 0 clamp(16px, 3vw, 40px);
    box-sizing: border-box;
}

.welcome-row > .welcome-banner.floating-banner {
    max-width: none;
    margin: 0;
    border-radius: var(--radius-lg);
    padding: 36px clamp(26px, 3vw, 52px);
}

/* ნახევარ სიგანეზე ტექსტი საათებს ზემოდან ადგება, გვერდით აღარ ეტევა */
.welcome-row .welcome-container {
    grid-template-columns: 1fr;
    gap: 20px;
}

/* ნახევარ სიგანეზე საათები ორ რიგად იშლებოდა და ბანერს ზედმეტ
   სიმაღლეს აძლევდა — გრიდი აიძულებს სამ თანაბარ სვეტს */
@media (min-width: 992px) {
    .welcome-row .schedule-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    /* უფრო მჭიდრო ტექსტური ბლოკი და უფრო კომპაქტური საათები */
    .welcome-row .welcome-text-block .subtitle { margin-bottom: 4px; }
    .welcome-row .welcome-text-block h2 {
        font-size: clamp(1.6rem, 2.2vw, 2rem);
        margin-bottom: 10px;
    }
    .welcome-row .welcome-text-block p:last-child { margin-bottom: 0; }

    .welcome-row .clock-wrap {
        width: 50px;
        height: 50px;
        margin-bottom: 4px;
    }

    .welcome-row .next-service .ns-title { font-size: clamp(1.6rem, 2.2vw, 2rem); }

}

/* ── მეორე ბანერი: მომდევნო მსახურება ──────────────────────────────── */
.next-service {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;

    /* იგივე ფენა, რაც მისასალმებელ ბანერს — მხოლოდ ფერი სხვაა */
    background: rgba(17, 17, 17, 0.94);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    padding: 36px clamp(26px, 3vw, 52px);
    color: var(--white);

    font-family: 'FiraGoBold', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif;
    font-feature-settings: "case" on;

    /* ბანერის მსგავსად, სქროლზე ჩნდება */
    opacity: 0;
    transform: translateY(40px);
    pointer-events: none;
    transition:
        opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

.next-service.is-revealed {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* ზედა წარწერა — ბანერის .subtitle-ის რიტმი, ოქროს აქცენტით */
.ns-eyebrow {
    display: block;
    font-family: 'FiraGOMediumItalic', sans-serif;
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 12px;
}

/* სათაური — ბანერის h2-ის მასშტაბი და ფონტი */
.next-service .ns-title {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    margin: 0 0 20px;
    font-weight: 700;
    color: var(--white);
    font-family: 'FiraGoBold', sans-serif !important;
    line-height: 1.2;
}

/* სათაური ბმულია — შესაბამისი მსახურების გვერდზე გადადის (მისამართი script.js-შია) */
.next-service .ns-title-link {
display: inline-flex;
align-items: center;
gap: 12px;
color: inherit;
text-decoration: none;
transition: color 0.3s, gap 0.3s;
}

.next-service .ns-title-link:hover {
color: var(--gold);
gap: 18px;
}

.next-service .ns-title-arrow {
font-size: 0.6em;
color: var(--gold);
opacity: 0.75;
transition: opacity 0.3s;
}

.next-service .ns-title-link:hover .ns-title-arrow {
opacity: 1;
}

/* აღწერითი ხაზი — ბანერის p-ის ფონტი და ზომა */
.next-service .ns-when {
    font-size: 1rem;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, 0.7);
    font-family: 'BPGglaho', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif !important;
}

.ns-count {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 26px 0;
    border-top: 1px solid rgba(170, 149, 79, 0.35);
    border-bottom: 1px solid rgba(170, 149, 79, 0.35);
}

.ns-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 2.7ch;
}

.ns-unit strong {
    font-size: clamp(2rem, 3.2vw, 2.9rem);
    line-height: 1;
    font-weight: 700;
    color: var(--gold);
    font-variant-numeric: tabular-nums;
}

.ns-unit em {
    margin-top: 10px;
    font-style: normal;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    font-family: 'BPGglaho', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif !important;
}

.ns-sep {
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    line-height: 1;
    color: rgba(170, 149, 79, 0.4);
}

.next-service .ns-where {
    margin: 26px 0 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.55);
    font-family: 'BPGglaho', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif !important;
}

.next-service .ns-where i {
    color: var(--gold);
    margin-right: 8px;
}

/* მისამართი თავადაა რუკის ბმული — კონტაქტის სექციის სარკე */
a.next-service .ns-where, .next-service a.ns-where {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    text-decoration: none;
    transition: color 0.3s;
}

.next-service a.ns-where:hover {
    color: var(--gold);
}

.next-service .ns-where-ext {
    font-size: 0.72em;
    opacity: 0.6;
    margin-right: 0;
    color: inherit;
}

.next-service a.ns-where:hover .ns-where-ext {
    opacity: 1;
}

.next-service.is-live .ns-eyebrow {
    color: #ff7a7a;
}

.next-service.is-live .ns-count {
    display: none;
}

.ns-live-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-radius: 50%;
    background: #ff4d4d;
    box-shadow: 0 0 0 0 rgba(255, 77, 77, 0.7);
    animation: ns-pulse 1.8s infinite;
}

@keyframes ns-pulse {
    70%  { box-shadow: 0 0 0 12px rgba(255, 77, 77, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 77, 77, 0); }
}

/* ──────────────────────────────────────────────────────────────────────────
   მობილური და მცირე ეკრანები: ორი ბარათი ერთდება

   ვიწრო ეკრანზე ორი ცალკეული ბარათი ერთმანეთის ქვეშ ზედმეტად გრძელი
   გამოდიოდა (857px + 427px). აქ თავად რიგი ხდება ერთი ბარათი, ბანერი და
   მისი კონტეინერი კი ყუთს აღარ ქმნიან (display: contents) — ასე ტექსტი,
   ამთვლელი და განრიგი ერთი ბარათის პირდაპირი შვილები ხდებიან და
   თანმიმდევრობას თავისუფლად ვაწყობთ: მისალმება → ამთვლელი → განრიგი.
   ────────────────────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .welcome-row {
        display: flex;
        flex-direction: column;
        gap: 24px;

        width: auto;
        margin: -60px 16px -40px;
        padding: 30px 22px;

        background: rgba(170, 149, 79, 0.94);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-lg);
        color: var(--white);

        /* გამოჩენა ახლა რიგზეა — ბანერი ყუთს აღარ ქმნის */
        opacity: 0;
        transform: translateY(40px);
        pointer-events: none;
        transition:
            opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
            transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .welcome-row.is-revealed {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    /* ქვემოთ !important გვჭირდება: style.css-ში ≤768px-ზე და ≤480px-ზე
       არის ზოგადი „Forced Flex/Grid Collapse“ წესი, რომელიც
       .welcome-container-ს და .schedule-grid-ს display: flex !important-ს აძლევს. */
    .welcome-row > .welcome-banner.floating-banner,
    .welcome-row .welcome-container {
        display: contents !important;
    }

    .welcome-row .welcome-text-block { order: 1; }
    .welcome-row .next-service       { order: 2; }
    .welcome-row .schedule-grid      { order: 3; }

    /* — მისალმება — */
    .welcome-row .welcome-text-block .subtitle {
        font-size: 13px !important;
        letter-spacing: 2px !important;
        margin-bottom: 6px;
    }

    .welcome-row .welcome-text-block h2 {
        font-size: clamp(1.5rem, 6.5vw, 2rem);
        margin-bottom: 10px;
    }

    .welcome-row .welcome-text-block p {
        font-size: 0.95rem;
        margin-bottom: 0;
    }

    /* — ამთვლელი: ბარათში ჩაშენებული მუქი ველი — */
    .welcome-row .next-service {
        padding: 20px 18px;
        border-radius: 12px;
        border-color: rgba(255, 255, 255, 0.1);
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;

        /* გამოჩენას რიგი უძღვება, ცალკე აღარ ანიმირდება */
        opacity: 1;
        transform: none;
        pointer-events: auto;
        transition: none;
    }

    .welcome-row .next-service .ns-eyebrow {
        font-size: 13px;
        letter-spacing: 2px;
        margin-bottom: 6px;
    }

    .welcome-row .next-service .ns-title {
        font-size: 1.35rem;
        margin-bottom: 4px;
    }

    /* ვიწრო ეკრანზე სათაური ეხვევა; ისარი ბოლო სიტყვას უნდა გაჰდეს,
       არა მარჯვენა კიდეში მოწყვეტილად. */
    .welcome-row .next-service .ns-title-link {
        display: inline;
    }

    .welcome-row .next-service .ns-title-arrow {
        margin-left: 8px;
    }

    .welcome-row .next-service .ns-when {
        font-size: 0.9rem;
        margin-bottom: 16px;
    }

    .welcome-row .next-service .ns-count {
        gap: 8px;
        padding: 14px 0;
    }

    .welcome-row .next-service .ns-unit strong { font-size: 1.7rem; }
    .welcome-row .next-service .ns-unit em { margin-top: 6px; }
    .welcome-row .next-service .ns-sep { font-size: 1.4rem; }

    .welcome-row .next-service .ns-where {
        margin-top: 16px;
        font-size: 0.88rem;
    }

    /* — განრიგი: კომპაქტური სია პატარა ციფერბლატებით — */
    .welcome-row .schedule-grid {
        display: block !important;
        gap: 0 !important;
        width: auto !important;
        max-width: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .welcome-row .schedule-item {
        display: grid;
        grid-template-columns: 26px auto 1fr;
        align-items: center;
        column-gap: 12px;
        row-gap: 2px;
        text-align: left;
        padding: 12px 0;
        transform: none;
    }

    .welcome-row .schedule-item + .schedule-item {
        border-top: 1px solid rgba(255, 255, 255, 0.18);
    }

    .welcome-row .schedule-item:hover { transform: none; }
    .welcome-row .schedule-item:hover .clock-wrap { transform: none; }

    .welcome-row .clock-wrap {
        grid-row: span 2;
        width: 26px;
        height: 26px;
        margin-bottom: 0;
    }

    .welcome-row .schedule-item h3 {
        grid-column: 2;
        font-size: 1.05rem;
        margin: 0;
    }

    .welcome-row .schedule-day {
        grid-column: 3;
        margin: 0;
        font-size: 0.82rem;
        letter-spacing: 0.5px;
    }

    .welcome-row .schedule-label {
        grid-column: 2 / -1;
        margin-top: 0;
        font-size: 0.68rem;
        letter-spacing: 1px;
    }
}

@media (max-width: 560px) {
    .welcome-row {
        margin-left: 12px;
        margin-right: 12px;
        padding: 26px 18px;
        gap: 20px;
    }

    .welcome-row .next-service .ns-unit strong { font-size: 1.5rem; }
    .welcome-row .next-service .ns-count { gap: 6px; }
}

@media (max-width: 480px) {
    .welcome-row {
        margin-top: -20px;
        margin-bottom: -20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ns-live-dot { animation: none; }
    .next-service,
    .welcome-row { transition: none; }
}

/* ──────────────────────────────────────────────────────────────────────────
   მობილურზე კვირის განრიგი ერთხელ ჩანს

   „ბოლო ქადაგების“ ქვემოთ იგივე სამი დრო მეორდებოდა, რაც ზემოთ,
   მისასალმებელ ბარათშია. ვიწრო ეკრანზე ეს მხოლოდ ზედმეტ სქროლს ქმნის,
   ამიტომ იქ განრიგი მხოლოდ ბარათში რჩება. დესკტოპზე ორივე ჩანს.
   ────────────────────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
    /* განრიგი მხოლოდ იქ იმალება, სადაც ის იმავე გვერდზე მეორდება —
       ამას სათაურზე დასმული .week-schedule-title აღნიშნავს. „მე ახალი
       ვარ აქ“ გვერდზე ის ერთადერთი წყაროა და ხილული უნდა დარჩეს. */
    .week-schedule-title,
    .week-schedule-title + .week-schedule {
        display: none !important;
    }

    /* .info-grid-container აქ flex-ია align-items: start-ით, ამიტომ სვეტი
       შიგთავსის მიხედვით იზომებოდა — სიგანეს განრიგის სია
       აძლევდა. სიის დამალვის შემდეგ სვეტი ვიდეოს ზომაზე იკეცებოდა,
       ამიტომ სიგანეს პირდაპირ ვუთითებთ — ვიდეო სრულ სვეტს იკავებს. */
    .info-grid-container .right-column {
        width: 100%;
    }

    /* ვიდეო სვეტში ბოლო ხილული ელემენტია — განრიგისთვის
       დატოვებული ქვედა დაშორება აღარ სცილდება */
    .info-grid-container .right-column .video-placeholder {
        margin-bottom: 0;
    }
}

/* ==========================================================================
   კვირის მუხლი და ლოცვითი საჭიროება
   მისასალმებელი ვიდეოს (ოქროსფერი) და კონტაქტის (მუქი) სექციებს შორის —
   ღია ფონი სუნთქვის საშუალებას აძლევს ორივეს.
   ========================================================================== */
.weekly-section {
    background: var(--bg-light);
    padding: 100px 20px;
}

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

.weekly-head {
    max-width: 620px;
    margin: 0 auto 60px;
    text-align: center;
}

.weekly-head h2 {
    font-size: clamp(1.7rem, 3.4vw, 2.4rem);
    line-height: 1.25;
    color: var(--dark-900);
    margin: 0 0 14px;
}

.weekly-head p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.8;
}

.weekly-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 30px;
    align-items: stretch;
}

/* ── კვირის მუხლი: მუქი ბარათი ოქროს აქცენტით ────────────────────────── */
.verse-card {
    display: flex;
    flex-direction: column;
    margin: 0;
    background: var(--dark-900);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 44px clamp(26px, 3vw, 44px);
    box-sizing: border-box;
}

.verse-eyebrow,
.prayer-eyebrow {
    display: block;
    font-family: 'FiraGOMediumItalic', sans-serif;
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 20px;
}

/* კვირის დღეები — მუხლის თავზე, დღევანდელი ოქროთია მონიშნული */
.verse-days {
    display: flex;
    gap: 6px;
    margin-bottom: 26px;
}

.verse-days[hidden] { display: none; }

.verse-day {
    flex: 1 1 0;
    min-width: 0;
    padding: 9px 2px 10px;
    position: relative;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.55);
    font-family: inherit;
    font-size: 0.82rem;
    line-height: 1;
    cursor: pointer;
    transition: color 0.25s, border-color 0.25s, background 0.25s, opacity 0.25s;
}

.verse-day:not(:disabled):hover {
    color: var(--white);
    border-color: rgba(170, 149, 79, 0.5);
    opacity: 1;
}

/* მომავალი დღეები დაკეტილია — მუხლი თავის დღეს გაიხსნება */
.verse-day.is-future,
.verse-day:disabled {
    opacity: 0.3;
    cursor: default;
    border-style: dashed;
}

.verse-day.is-today {
    border-color: rgba(170, 149, 79, 0.75);
    color: var(--gold);
}

.verse-day.is-active {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--dark-900);
    font-weight: 700;
    opacity: 1;
}

/* წაკითხულ დღეს პატარა წერტილი ადევს */
.verse-day.is-read::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 4px;
    width: 3px;
    height: 3px;
    margin-left: -1.5px;
    border-radius: 50%;
    background: currentColor;
}

.verse-text {
    position: relative;
    margin: 0;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.75;
    color: var(--white);
    font-family: 'BPGglaho', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif;
}

/* გრძელი მუხლი: შრიფტი ოდნავ პატარავდება, სტრიქონები კი უფრო
   ხშირი ხდება — ტექსტი მთლიანად ჩანს და ბარათი არ იწელება */
.verse-text.is-long {
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.68;
}

.verse-text::before {
    content: "„";
    color: var(--gold);
}

.verse-text::after {
    content: "“";
    color: var(--gold);
}

.verse-ref {
    margin-top: 20px;
    color: var(--gold);
    font-size: 0.95rem;
    letter-spacing: 1px;
}

/* წაკითხვის ღილაკი და ზედიზედ დღეების მთვლელი */
.verse-progress {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 24px;
}

.verse-progress[hidden] { display: none; }

.verse-read {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 20px;
    border: 1px solid rgba(170, 149, 79, 0.45);
    border-radius: 999px;
    background: transparent;
    color: var(--gold);
    font-family: inherit;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.3s, color 0.3s, border-color 0.3s;
}

.verse-read:hover:not(:disabled) {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--dark-900);
}

.verse-read:disabled { cursor: default; }

/* დღევანდელი უკვე მონიშნულია — ღილაკი ჩუმდება, მაგრამ არ ნაცრისფრდება */
.verse-read.is-done {
    border-color: rgba(170, 149, 79, 0.25);
    color: rgba(170, 149, 79, 0.85);
    background: rgba(170, 149, 79, 0.08);
}

.verse-read i { font-size: 1.05em; }

.verse-streak {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72);
}

.verse-streak[hidden] { display: none; }

.verse-streak b {
    color: var(--gold);
    font-weight: 700;
}

/* მუხლების PDF — მითითების ქვევით, ოქროს ჩარჩოში */
.verse-pdf {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    align-self: flex-start;
    margin-top: 22px;
    padding: 11px 18px;
    border: 1px solid rgba(170, 149, 79, 0.45);
    border-radius: 999px;
    color: var(--gold);
    text-decoration: none;
    font-size: 0.9rem;
    transition: background 0.3s, color 0.3s, border-color 0.3s;
}

.verse-pdf[hidden] { display: none; }

.verse-pdf:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--dark-900);
}

.verse-pdf i { font-size: 1.05em; }

.verse-pdf-meta {
    font-size: 0.78em;
    opacity: 0.7;
}

.verse-sermon-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 28px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 0.92rem;
    transition: color 0.3s, gap 0.3s;
}

.verse-sermon-link:hover {
    color: var(--gold);
    gap: 14px;
}

.verse-sermon-link i {
    font-size: 0.75em;
    color: var(--gold);
}

/* ── ლოცვითი საჭიროება: ღია ბარათი ───────────────────────────────────── */
.prayer-card {
    background: var(--white);
    border: 1px solid #e8e4d8;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 44px clamp(26px, 3vw, 44px);
    box-sizing: border-box;
}

.prayer-card h3 {
    margin: 0 0 12px;
    font-size: clamp(1.3rem, 2.4vw, 1.7rem);
    line-height: 1.3;
    color: var(--dark-900);
}

.prayer-note {
    margin: 0 0 26px;
    font-size: 0.95rem;
    line-height: 1.8;
    color: var(--text-soft);
}

.prayer-card textarea,
.prayer-card input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    border: 1px solid #ddd7c6;
    border-radius: var(--radius-md);
    background: #fbfaf6;
    color: var(--dark-900);
    font-family: 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif;
    font-size: 0.98rem;
    line-height: 1.7;
    resize: vertical;
    transition: border-color 0.3s;
}

.prayer-card textarea:focus,
.prayer-card input[type="text"]:focus {
    outline: none;
    border-color: var(--gold);
}

.prayer-card input:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.prayer-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 12px;
}

.prayer-check {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    font-size: 0.92rem;
    color: var(--text-soft);
    cursor: pointer;
}

.prayer-check input {
    width: 17px;
    height: 17px;
    accent-color: var(--gold);
    cursor: pointer;
}

.prayer-error {
    margin: 16px 0 0;
    color: #c0392b;
    font-size: 0.9rem;
}

/* ბაზისურ .btn-ს აღარ ეყრდნობა: მისი text-transform: uppercase ქართულს
   მთავრულს ხდის და 12px-ზე ძნელად იკითხება. */
.prayer-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    margin-top: 26px;
    padding: 15px 34px;
    border: 0;
    border-radius: 999px;
    background: var(--dark-900);
    color: var(--white);
    /* ბარათის დანარჩენი ტექსტის შრიფტი. font-feature-settings: normal
       აუცილებელია: გლობალური წესიდან გადმოსული „case“ ფუნქცია
       FiraGO-ში მხედრულს მთავრულით ცვლის და წარწერა კბევა. */
    /* !important გვჭირდება: style.css-ში გლობალური წესი ყველა ღილაკს
       FiraGo-Medium-ს აძალებს, აქ კი ბარათის ტექსტთან ერთიანობაა საჭირო. */
    font-family: 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif !important;
    font-feature-settings: normal;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(25, 23, 19, 0.18);
    transition:
        background 0.3s var(--transition-ease, ease),
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.prayer-submit-icon {
    font-size: 0.95em;
    transition: transform 0.3s ease;
}

.prayer-submit:hover:not(:disabled) {
    background: var(--gold);
    color: var(--dark-900);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(170, 149, 79, 0.35);
}

/* ქაღალდი ოდნავ წინ იწევს — გაგზავნის მინიშნება */
.prayer-submit:hover:not(:disabled) .prayer-submit-icon {
    transform: translateX(3px) rotate(-8deg);
}

.prayer-submit:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(170, 149, 79, 0.3);
}

.prayer-submit:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
}

/* გაგზავნის პროცესში: ღილაკი იბლოკება და ხატი ბრუნავს,
   რომ ორჯერ დაჭერა და უპასუხო ლოდინი არ გამოვიდეს */
.prayer-submit:disabled {
    cursor: wait;
    opacity: 0.75;
    transform: none;
    box-shadow: none;
}

.prayer-submit.is-sending .prayer-submit-icon {
    animation: prayer-spin 0.9s linear infinite;
}

@keyframes prayer-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 560px) {
    .prayer-submit {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .prayer-submit,
    .prayer-submit-icon { transition: none; }
    .prayer-submit.is-sending .prayer-submit-icon { animation: none; }
}

/* წარმატების მდგომარეობა: მწვანე ნიშანი, რომელიც თვალწინ იხაზება */
.prayer-done {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    padding: 42px 24px;
    border-radius: var(--radius-lg);
    background: #f2faf5;
    border: 1px solid #cfe9da;
}

.prayer-done[hidden] { display: none; }

.prayer-done-mark svg {
    width: 66px;
    height: 66px;
    display: block;
}

/* დასვენების მდგომარეობა დახაზულია (offset: 0), ანიმაცია კი ნულიდან
   იწყება. თუ ანიმაცია რაიმე მიზეზით არ გაეშვა, ნიშანი მაინც ჩანს. */
.prayer-done-circle {
    fill: none;
    stroke: #2e9e5b;
    stroke-width: 2;
    stroke-dasharray: 151;
    stroke-dashoffset: 0;
    animation: prayer-draw-circle 0.6s cubic-bezier(0.65, 0, 0.45, 1) backwards;
}

.prayer-done-check {
    fill: none;
    stroke: #2e9e5b;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 40;
    stroke-dashoffset: 0;
    /* backwards — დაყოვნების დროს დაუხატავი დარჩეს */
    animation: prayer-draw-check 0.35s cubic-bezier(0.65, 0, 0.45, 1) 0.45s backwards;
}

@keyframes prayer-draw-circle {
    from { stroke-dashoffset: 151; }
    to   { stroke-dashoffset: 0; }
}

@keyframes prayer-draw-check {
    from { stroke-dashoffset: 40; }
    to   { stroke-dashoffset: 0; }
}

.prayer-done-title {
    margin: 20px 0 6px;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1f7a45;
}

.prayer-done-text {
    margin: 0;
    max-width: 34ch;
    font-size: 0.98rem;
    line-height: 1.75;
    color: var(--text-soft);
}

/* ანიმაციის გარეშე ნიშანი დახაზული უნდა დარჩეს */
@media (prefers-reduced-motion: reduce) {
    .prayer-done-circle,
    .prayer-done-check {
        animation: none;
    }
}

/* სკრინრიდერისთვის დარჩენილი, თვალით უხილავი წარწერები */
.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 991px) {
    .weekly-section {
        padding: 70px 16px;
    }

    .weekly-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .weekly-head {
        margin-bottom: 40px;
    }

    .verse-card,
    .prayer-card {
        padding: 32px 24px;
    }
}

@media (max-width: 560px) {
    .prayer-row {
        grid-template-columns: 1fr;
    }

    /* შვიდი დღე ვიწრო ეკრანზეც ერთ რიგში უნდა ჩაეტიოს */
    .verse-days {
        gap: 4px;
        margin-bottom: 22px;
    }

    .verse-day {
        padding: 8px 0 9px;
        font-size: 0.76rem;
        border-radius: 8px;
    }

    .verse-read {
        padding: 10px 16px;
        font-size: 0.85rem;
    }
}

/* ==========================================================================
   ღია რეგისტრაციები — საინფორმაციო ბარათები (მთავარი გვერდი)
   მსახურებების სლაიდერსა და info-grid-ს შორის. ორივე მეზობელი ღიაა,
   ამიტომ სექცია თბილი კრემისფერია — გამოიყოფა, მაგრამ საიტის ღია
   რიტმიდან არ ამოვარდნება. ბარათი სურათს იყენებს, რომელიც Sanity-ში
   ისედაც გვაქვს და მთავარ გვერდზე აქამდე არსად ჩანდა.
   ========================================================================== */
.events-promo {
    padding: 90px 20px;
    background: #f7f2e8;
    border-top: 1px solid rgba(170, 149, 79, 0.22);
    border-bottom: 1px solid rgba(170, 149, 79, 0.22);
    position: relative;
    z-index: 2;
}

.events-promo[hidden] { display: none; }

.events-promo-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.events-promo-head {
    text-align: center;
    margin-bottom: 46px;
}

.events-promo-head h2 {
    font-size: clamp(1.7rem, 3.4vw, 2.4rem);
    line-height: 1.25;
    color: var(--dark-900);
    margin: 0;
}

.events-promo-list {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

/* ── ბარათი: სურათი გვერდით, შიგთავსი მეორე მხარეს ────────────────── */
.event-promo {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: stretch;
    background: var(--white);
    border: 1px solid #eae4d6;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(25, 23, 19, 0.08);
    text-decoration: none;
    transition: transform 0.35s var(--transition), box-shadow 0.35s var(--transition);
}

.event-promo:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 52px rgba(25, 23, 19, 0.16);
}

/* სურათის გარეშე სვეტები აზრს კარგავს: ტექსტი მთელ სიგანეს იკავებს */
.event-promo.is-textonly {
    grid-template-columns: 1fr;
}

.event-promo-media {
    display: block;
    overflow: hidden;
    background: #ece5d6;
    min-height: 240px;
}

.event-promo-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s var(--transition);
}

.event-promo:hover .event-promo-media img { transform: scale(1.05); }

.event-promo-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 38px clamp(24px, 3vw, 46px);
}

/* სტატუსის ბეჯი — პულსირებადი წერტილით */
.event-promo-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(170, 149, 79, 0.14);
    color: #6c5c26;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.event-promo-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 0 rgba(170, 149, 79, 0.7);
    animation: event-promo-pulse 2s infinite;
}

@keyframes event-promo-pulse {
    70%  { box-shadow: 0 0 0 9px rgba(170, 149, 79, 0); }
    100% { box-shadow: 0 0 0 0 rgba(170, 149, 79, 0); }
}

.event-promo-title {
    display: block;
    font-family: 'FiraGoBold', 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif;
    font-size: clamp(1.4rem, 2.6vw, 1.9rem);
    line-height: 1.25;
    color: var(--dark-900);
    margin-bottom: 14px;
}

.event-promo-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin-bottom: 16px;
    font-size: 0.92rem;
    color: var(--text-soft);
}

.event-promo-meta i {
    color: var(--gold);
    margin-right: 8px;
}

.event-promo-text {
    margin: 0 0 26px;
    font-size: 0.98rem;
    line-height: 1.8;
    color: var(--text-soft);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ღილაკია და არა ბმული — რეგისტრაცია აქვე იხსნება, სხვა გვერდზე
   გადასვლის გარეშე. ბრაუზერის საკუთარი ღილაკის სახეს ვასწორებთ. */
.event-promo-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding: 14px 30px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    background: var(--dark-900);
    color: var(--white);
    font-family: 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    white-space: nowrap;
    transition: background 0.3s ease, color 0.3s ease, gap 0.3s ease;
}

.event-promo:hover .event-promo-cta,
.event-promo-cta:hover,
.event-promo-cta:focus-visible {
    background: var(--gold);
    color: var(--dark-900);
    gap: 15px;
}

/* ბარათი აღარ არის ბმული — მხოლოდ ღილაკი უნდა ჩანდეს დასაწკაპუნებლად */
.event-promo { cursor: default; }

@media (max-width: 900px) {
    .events-promo { padding: 60px 16px; }

    .events-promo-head { margin-bottom: 32px; }

    /* ვიწრო ეკრანზე სვეტები ვერ ეტევა — სურათი ტექსტს ზემოთ გადაუდგება */
    .event-promo {
        grid-template-columns: 1fr;
    }

    .event-promo-media {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .event-promo-body { padding: 28px 22px; }

    .event-promo-cta {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .event-promo,
    .event-promo-media img,
    .event-promo-cta { transition: none; }
    .event-promo-dot { animation: none; }
}

/* ღუზით მოსული ბარათი ფიქსირებულ ჰედერს არ უნდა შეეფაროს */
.event-card { scroll-margin-top: 110px; }

/* ==========================================================================
   „მე ახალი ვარ აქ“ — გვერდითი სვეტი
   იყენებს იმავე .bullet-title / .week-schedule / .video-placeholder
   ელემენტებს, რაც მთავარ გვერდზეა, ინლაინ სტილების ნაცვლად.
   ========================================================================== */
.visit-aside {
    padding-top: 10px;
}

.visit-aside .week-schedule {
    margin: 0 0 40px 0;
    list-style: none;
}

/* ვიდეო სვეტის ბოლო ელემენტია — ქვედა დაშორება ზედმეტია */
.visit-aside .video-placeholder {
    margin-bottom: 0;
}

/* ==========================================================================
   ღონისძიებაზე რეგისტრაციის მოდალი
   იყენებს რეგისტრაციის გვერდიც და მთავარი გვერდიც (registration-modal.js).
   ========================================================================== */
/* მოდალური ფანჯრები */
.reg-modal {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(17, 11, 6, 0.6); backdrop-filter: blur(4px);
    z-index: 2000; display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none; transition: opacity 0.4s ease; padding: 20px; box-sizing: border-box;
}

.reg-modal.modal-active { opacity: 1; pointer-events: auto; }

.modal-content-box {
    background: #fdfbf7; width: 100%; max-width: 550px; max-height: 90vh;
    border-radius: 12px; overflow-y: auto; position: relative;
    box-shadow: 0 25px 55px rgba(0, 0, 0, 0.15); border: 1px solid #f3eedf; padding: 40px;
}

.modal-close-btn {
    position: absolute; top: 15px; right: 20px; background: rgba(255, 255, 255, 0.9);
    border: 1px solid #e1d8bf; width: 36px; height: 36px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    z-index: 10; transition: all 0.3s ease; color: #222;
}

.modal-close-btn:hover { background: #aa954f; color: #fff; border-color: #aa954f; }

/* სათაური ადრე ინლაინ სტილით იწერებოდა — მარკაპი ახლა JS-ში დგება.
   font-family აქ განზრახ არ წერია: ზემოთ h2-ს გლობალური წესი აქვს
   !important-ით, რომელიც ინლაინ სტილსაც ფარავდა — ანუ შრიფტი ისედაც
   FiraGo იყო და არაფერი შეცვლილა. */
#modalTitle {
    font-size: 2rem;
    color: #111;
    margin: 0 0 25px 0;
}

.form-group { margin-bottom: 20px; text-align: left; }
.form-group label { display: block; font-family: 'Montserrat', sans-serif; font-size: 0.8rem; font-weight: 600; color: #aa954f; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
.form-group input, .form-group textarea { width: 100%; padding: 12px; border: 1px solid #e1d8bf; border-radius: 4px; font-family: 'Montserrat', sans-serif; font-size: 0.92rem; box-sizing: border-box; background: #fdfbf7; }
.form-group input:focus, .form-group textarea:focus { outline: none; border-color: #aa954f; background: #ffffff; }

.btn-modal-primary {
    font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1.5px;
    padding: 16px 32px; background-color: #aa954f; color: #ffffff; border: none; border-radius: 50px; cursor: pointer;
    box-shadow: 0 10px 25px rgba(170, 149, 79, 0.25); display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; box-sizing: border-box; transition: all 0.3s ease;
}
.btn-modal-primary:hover { background-color: #8e7a3d; transform: translateY(-2px); box-shadow: 0 15px 30px rgba(170, 149, 79, 0.4); }

.form-group.has-error input { border-color: #ea4335 !important; background-color: #fffaf9 !important; }
.error-message { display: none; color: #ea4335; font-family: 'Montserrat', sans-serif; font-size: 0.78rem; font-weight: 600; margin-top: 6px; align-items: center; gap: 6px; }

.success-toast { display: none; background: #eef9f1; border: 1px solid #34a853; color: #1e4620; padding: 20px; border-radius: 8px; text-align: center; font-family: 'Montserrat', sans-serif; }
.success-toast i { color: #34a853; font-size: 1.8rem; margin-bottom: 8px; display: block; }

/* ==========================================================================
   INSTALL — მთავარ ეკრანზე დამატება
   მარკაპს script.js ქმნის. სტილი საიტის დანარჩენ ბარათებს მიჰყვება:
   მუქი ფონი, ოქროს აქცენტი, მრგვალი კუთხეები.
   ========================================================================== */

/* ── ზოლი ─────────────────────────────────────────────────────────── */
.install-bar {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 1200;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px 16px 20px 18px;
    background:
        linear-gradient(150deg, rgba(170, 149, 79, 0.10), transparent 55%),
        var(--dark-800);
    border: 1px solid rgba(170, 149, 79, 0.3);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    transform: translateY(130%);
    opacity: 0;
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
}

.install-bar.is-open {
    transform: translateY(0);
    opacity: 1;
}

/* ოქროს თმისებრი ხაზი თავზე — იგივე ხერხი, რითაც ბარათები გამოირჩევა */
.install-bar::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 22px;
    right: 22px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity: 0.65;
}

/* ხატულა — ოქროს რგოლში, ნაზი შუქით.
   ფონური სურათია და არა <img>: მობილურის მედია-ბლოკებში დგას
   img { width: 100% !important }, რომელიც მას გაწელავდა. */
.install-icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    border-radius: 13px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow:
        0 0 0 1px rgba(170, 149, 79, 0.45),
        0 6px 18px rgba(0, 0, 0, 0.45);
}

.install-body {
    flex: 1 1 auto;
    min-width: 0;
}

.install-eyebrow {
    display: block;
    font-family: 'FiraGOMediumItalic', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--gold);
    margin-bottom: 5px;
}

.install-body strong {
    display: block;
    color: var(--white);
    font-size: 1.05rem;
    line-height: 1.35;
    margin-bottom: 5px;
}

.install-body .install-lead {
    display: block;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.82rem;
    line-height: 1.6;
}

/* ── Android-ის ღილაკი ────────────────────────────────────────────── */
.install-go {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 15px;
    padding: 11px 24px;
    border: 1px solid var(--gold);
    border-radius: 999px;
    background: var(--gold);
    color: var(--dark-900);
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    transition: background var(--transition), color var(--transition), box-shadow var(--transition);
}

.install-go:hover {
    background: transparent;
    color: var(--gold);
    box-shadow: 0 0 0 4px rgba(170, 149, 79, 0.15);
}

/* ── iOS-ის ნაბიჯები ──────────────────────────────────────────────── */
.install-steps {
    counter-reset: step;
    list-style: none;
    margin: 15px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.install-steps li {
    counter-increment: step;
    position: relative;
    padding-left: 30px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.84rem;
    line-height: 1.55;
}

/* ნომერი ოქროს წრეში — ჩამონათვალის ნაცვლად */
.install-steps li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 1px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(170, 149, 79, 0.16);
    border: 1px solid rgba(170, 149, 79, 0.45);
    color: var(--gold);
    font-size: 0.7rem;
    font-weight: 700;
}

/* ბოლო რჩევას ნომერი არ სჭირდება — ის ნაბიჯი არაა */
.install-steps .install-note {
    counter-increment: none;
    margin-top: 3px;
    padding-left: 30px;
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.78rem;
}

.install-steps .install-note::before { content: none; }

.install-steps svg,
.install-hint svg {
    width: 15px;
    height: 15px;
    vertical-align: -3px;
    margin: 0 2px;
    color: var(--gold);
}

.install-hint {
    margin: 15px 0 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.84rem;
    line-height: 1.6;
}

/* ── დახურვა ──────────────────────────────────────────────────────── */
.install-close {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: -6px -4px 0 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.92rem;
    cursor: pointer;
    transition: color var(--transition), background var(--transition);
}

.install-close:hover {
    color: var(--white);
    background: rgba(255, 255, 255, 0.1);
}

/* ── ფუტერის ღილაკი ───────────────────────────────────────────────── */
/* საიტის დამკვიდრებული ოქროს პილულა — იგივე, რაც .verse-pdf-ს აქვს */
.footer-install {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 20px;
    border: 1px solid rgba(170, 149, 79, 0.45);
    border-radius: 999px;
    background: rgba(170, 149, 79, 0.07);
    color: var(--gold);
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: background var(--transition), color var(--transition),
                border-color var(--transition), box-shadow var(--transition);
}

.footer-install[hidden] { display: none; }

/* ღილაკი მხოლოდ სენსორულ მოწყობილობებზე: ტელეფონი და პლანშეტი.
   ზომით ვერ გავარჩევთ — iPad Pro ჰორიზონტალურად 1366px-ია, ანუ
   ნოუთბუქზე განიერი. სამაგიეროდ თაგვი ცალსახა ნიშანია: hover და
   ზუსტი კურსორი მხოლოდ ნოუთბუქსა და კომპიუტერს აქვს. */
@media (hover: hover) and (pointer: fine) {
    .footer-install { display: none; }
}

.footer-install:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--dark-900);
    box-shadow: 0 0 0 4px rgba(170, 149, 79, 0.14);
}

.footer-install i {
    font-size: 1.05em;
    transition: transform var(--transition);
}

.footer-install:hover i { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
    .install-bar { transition: opacity 0.2s; transform: none; }
    .footer-install i,
    .footer-install:hover i { transition: none; transform: none; }
}

/* დესქტოპზე ზოლი ავტომატურად არ ჩნდება, მაგრამ ფუტერის ღილაკიდან
   იხსნება — მთელ სიგანეზე გაწელილი ბარათი იქ უადგილოა. */
@media (min-width: 640px) {
    .install-bar {
        left: auto;
        right: 24px;
        bottom: 24px;
        max-width: 420px;
        padding: 22px 18px 22px 20px;
    }
}

/* ==========================================================================
   MOBILE BOTTOM NAV — ტელეფონზე ჰედერს ეკრანის ქვედა ზოლი ცვლის
   მარკაპს script.js ქმნის (ერთი წყარო ყველა გვერდისთვის), აქ მხოლოდ სტილია.
   ========================================================================== */
.mobile-tabbar,
.mobile-nav-scrim {
    display: none;
}

@media (max-width: 767px) {

    /* ტელეფონზე ზედა ჰედერი აღარ ჩანს — ნავიგაცია ქვევით გადადის.
       სრულად კი არ ვშლით: მენიუს ფურცელი (.nav-menu) მის შიგნითაა და
       display:none მთელ შტოს გამორთავდა. ამიტომ ზოლს ვასუფთავებთ და
       სიმაღლეს ვუნულებთ, ხილული ნაწილები კი ცალკე იმალება. */
    .main-header,
    .main-header.scrolled {
        position: static !important;
        height: 0 !important;
        padding: 0 !important;
        background: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        /* transform ფიქსირებულ შვილს მიაბამდა თავს — ამიტომ ვაუქმებთ */
        transform: none !important;
    }

    .main-header .header-container {
        display: block !important;
        height: 0 !important;
        padding: 0 !important;
    }

    .main-header .logo,
    .main-header .hamburger,
    .main-header .header-socials {
        display: none !important;
    }

    /* ზოლი ეკრანის კიდეს აღარ ეკვრის — ცურავს. სიმაღლე, კიდეებიდან
       დაშორება და მათი ჯამი ერთხელ იწერება, რომ ფურცელმაც, ღილაკებმაც
       და გვერდის ბოლოს ადგილმაც ერთი და იგივე რიცხვი იხმარონ. */
    :root {
        --tabbar-h: 62px;
        --tabbar-inset: 10px;
        --tabbar-space: calc(72px + env(safe-area-inset-bottom, 0px));
    }

    /* ზოლი ფიქსირებულია, ამიტომ გვერდის ბოლოს იმდენივე ადგილს ვუტოვებთ */
    body {
        padding-bottom: calc(var(--tabbar-space) + 6px) !important;
    }

    .mobile-tabbar {
        position: fixed;
        left: var(--tabbar-inset);
        right: var(--tabbar-inset);
        bottom: calc(var(--tabbar-inset) + env(safe-area-inset-bottom, 0px));
        z-index: 1150;
        display: flex;
        align-items: stretch;
        height: var(--tabbar-h);
        padding: 5px;
        box-sizing: border-box;
        background: rgba(20, 20, 20, 0.94);
        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 999px;
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
    }

    .mobile-tabbar__item {
        flex: 1 1 0;
        min-width: 0;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 0 2px;
        margin: 0;
        background: transparent;
        border: 0;
        border-radius: 999px;
        cursor: pointer;
        color: rgba(255, 255, 255, 0.72);
        text-decoration: none !important;
        font-family: 'Noto Sans Georgian', 'NotoSansGeorgian', sans-serif !important;
        -webkit-tap-highlight-color: transparent;
        transition: color 0.25s ease, background 0.3s ease, transform 0.18s ease;
    }

    .mobile-tabbar__item i {
        font-size: 18px;
        line-height: 1;
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .mobile-tabbar__item span {
        font-size: 10px;
        font-weight: 600;
        /* ქართულ ასოებს ზემოთაც და ქვემოთაც სჭირდებათ ადგილი (ბ, ღ, ჯ) —
           line-height: 1 მათ overflow: hidden-თან ერთად ჭრიდა */
        line-height: 1.5;
        letter-spacing: 0.2px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    /* მიმდინარე გვერდი საკუთარ ოქროსფერ კაფსულაში ზის */
    .mobile-tabbar__item.is-active {
        color: var(--gold);
        background: rgba(170, 149, 79, 0.16);
    }

    .mobile-tabbar__item:active {
        transform: scale(0.92);
    }

    /* ── მენიუს ფურცელი: ქვევიდან ამოსრიალებული ფანჯარა ─────────────── */
    .mobile-nav-scrim {
        position: fixed;
        inset: 0;
        z-index: 1130;
        display: block;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.35s ease;
    }

    .mobile-nav-scrim.is-visible {
        opacity: 1;
        pointer-events: auto;
    }

    .nav-menu {
        display: flex !important;
        position: fixed !important;
        top: auto !important;
        left: var(--tabbar-inset) !important;
        right: var(--tabbar-inset) !important;
        bottom: calc(var(--tabbar-space) + 8px) !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        max-height: min(68vh, 520px) !important;
        padding: 26px 20px 22px !important;
        border-radius: 22px !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 18px 45px rgba(0, 0, 0, 0.6) !important;
        z-index: 1140 !important;
        transform: translateY(calc(100% + var(--tabbar-space))) !important;
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.4s !important;
    }

    .nav-menu.open {
        transform: translateY(0) !important;
        visibility: visible;
        pointer-events: auto;
    }

    /* პატარა სახელური ფურცლის თავზე */
    .nav-menu::before {
        content: '';
        position: absolute;
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
        width: 42px;
        height: 4px;
        border-radius: 4px;
        background: rgba(255, 255, 255, 0.22);
    }

    .nav-menu .nav-list {
        gap: 6px !important;
    }

    .nav-menu .nav-list a {
        font-size: 15px !important;
        padding: 12px 0 !important;
    }

    .nav-menu .dropdown-menu a {
        font-size: 15px !important;
    }

    .mobile-socials {
        margin-top: 22px !important;
        padding-top: 18px !important;
    }

    .mobile-socials a {
        width: 40px;
        height: 40px;
        font-size: 16px !important;
    }

    .nav-menu .nav-list li.nav-give-item {
        margin-top: 14px !important;
    }

    /* ── ჰედერის გაუქმების თანმდევი შესწორებები ─────────────────────── */

    /* ზედა ზოლი აღარ დგას, ამიტომ ბანერის ზედა შიდა არე მცირდება */
    .hero-section {
        padding-top: 44px !important;
    }

    /* მთავარი ბანერი მთელ ეკრანს იკავებს — ტექსტს ქვედა ზოლს ზემოთ ვწევთ */
    #sanity-main-image.hero-section {
        padding-bottom: calc(var(--tabbar-space) + 30px) !important;
    }

    html {
        scroll-padding-top: 20px !important;
    }

    /* ქვედა ზოლს ვერაფერი უნდა გადაეფაროს */
    .back-to-top {
        bottom: calc(var(--tabbar-space) + 12px) !important;
    }

    .install-bar {
        bottom: calc(var(--tabbar-space) + 10px);
    }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {

    .mobile-tabbar__item,
    .mobile-tabbar__item i,
    .nav-menu,
    .mobile-nav-scrim {
        transition: none !important;
    }
}

/* ვიწრო ტელეფონებზე (≤360px) ხუთი წარწერა ვეღარ ეტევა — კაფსულას
   კიდეებს ვუკლებთ და ასოებს ვამცირებთ, რომ სახელები არ დაიჭრას */
@media (max-width: 360px) {

    :root {
        --tabbar-inset: 8px;
    }

    .mobile-tabbar {
        padding: 4px;
    }

    .mobile-tabbar__item {
        gap: 4px;
        padding: 0;
    }

    .mobile-tabbar__item i {
        font-size: 17px;
    }

    .mobile-tabbar__item span {
        font-size: 8.7px;
        letter-spacing: 0;
    }
}
