.tour-detail-shell{
    background:var(--cream);
    /* topbar-სა და კრემისფერს შორის მწვანე სივრცე შემცირებულია, მცირე ჰაერით (2026-07-04) */
    margin-top:-8px;
    border-top-left-radius:56px;
    border-top-right-radius:56px;
    padding:72px 0 76px;
    color:var(--text);
}

.tour-detail-container{
    width:min(100%, 1260px);
    margin:0 auto;
    padding:0 24px;
}

.tour-hero-title{
    margin:0;
    font-family:'Oswald',sans-serif;
    font-size:76px;
    line-height:.95;
    font-weight:500;
    text-transform:uppercase;
    color:#667734;
}

.tour-hero-script{
    margin-top:6px;
    font-family:'Great Vibes',cursive;
    font-size:76px;
    line-height:1;
    color:#7a8351;
    text-align:right;
}

.tour-hero-season{
    margin-top:14px;
    font-family:'Oswald',sans-serif;
    font-size:50px;
    line-height:.95;
    font-weight:500;
    text-transform:uppercase;
    color:#EEB300;
}
@media (max-width:1024px){ .tour-hero-season{font-size:34px} }
@media (max-width:680px){ .tour-hero-season{font-size:24px} }

.tour-hero-gallery{
    margin-top:30px;
    display:grid;
    grid-template-columns:546fr 264fr 264fr 546fr;
    grid-auto-rows:min-content;
    gap:12px;
}

.gallery-card{
    margin:0;
    border-radius:12px;
    overflow:hidden;
    box-shadow:var(--shadow-soft);
    background:linear-gradient(135deg,#8d9960,#6b7a3a);
}

.gallery-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    cursor:zoom-in;
}

/* ── gallery positions (aspect-ratio = original w/h, responsive) ──
   p1 546×333  p2 264×264  p3 264×264  p4 546×300
   p5 264×264  p6 264×264  p7 549×333  p8 543×297
   ─────────────────────────────────────────────── */
.gallery-card-p1{grid-column:1;grid-row:1;aspect-ratio:302/155;align-self:start}
.gallery-card-p2{grid-column:2;grid-row:1;aspect-ratio:1/1;align-self:start}
.gallery-card-p3{grid-column:3;grid-row:1;aspect-ratio:1/1;align-self:start}
.gallery-card-p4{grid-column:4;grid-row:1;aspect-ratio:288/135;align-self:start}
.gallery-card-p5{grid-column:1;grid-row:2;align-self:start;width:calc(50% - 6px);aspect-ratio:1/1}
.gallery-card-p6{grid-column:1;grid-row:2;align-self:start;width:calc(50% - 6px);aspect-ratio:1/1;margin-left:calc(50% + 6px)}
.gallery-card-p7{grid-column:2/4;grid-row:2;aspect-ratio:310/173;align-self:start}
.gallery-card-p7 img{object-position:top}
.gallery-card-p8{grid-column:4;grid-row:2;aspect-ratio:288/158;align-self:start}


.tour-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin:42px 0 28px;
}

.tour-tab{
    min-width:150px;
    height:42px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:linear-gradient(135deg, #78864d, #5e6c38);
    color:#f7f1de;
    font-size:14px;
    line-height:1;
    text-decoration:none;
    transition:.2s ease;
}

.tour-tab.active,
.tour-tab:hover{
    background:linear-gradient(135deg, #efb80d, #c89500);
    color:#fff;
}

.tour-content{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 520px;
    gap:18px;
    align-items:start;
}

.tour-content-media{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    height:588px;
    box-shadow:var(--shadow-soft);
}

.tour-content-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    cursor:zoom-in;
}

.tour-arrow{
    position:absolute;
    top:50%;
    left:18px;
    transform:translateY(-50%);
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:rgba(248,242,223,.95);
    color:#728043;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 24px rgba(82,92,39,.18);
}

.tour-arrow-right{
    left:auto;
    right:18px;
}

.tour-content-side{
    display:grid;
    gap:16px;
}

.tour-copy,
.tour-price{
    background:linear-gradient(145deg, #8d9960, #6b7a3a);
    color:#f5f0de;
    border-radius:18px;
    padding:24px 24px 22px;
    box-shadow:var(--shadow-soft);
}

.tour-copy p{
    margin:0 0 14px;
    font-size:18px;
    line-height:1.45;
}

.tour-copy p:last-of-type{
    margin-bottom:14px;
}

.tour-list{
    margin:0;
    padding-left:20px;
    display:grid;
    gap:2px;
    font-size:16px;
    line-height:1.3;
}

.tour-copy-heading{
    margin:22px 0 12px;
    font-family:'Oswald',sans-serif;
    font-size:26px;
    line-height:1;
    font-weight:500;
    text-transform:uppercase;
    color:#fff8df;
}

/* "Что включено" tab — uniform font size for heading + list */
[data-tour-panel="included"] .tour-copy-heading{
    font-size:16px;
    font-family:'Inter',sans-serif;
    text-transform:none;
    margin:14px 0 4px;
    font-weight:700;
}
[data-tour-panel="included"] .tour-copy-heading:first-child{
    margin-top:0;
}

.tour-meta-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    margin:20px 0 4px;
}

.tour-meta-grid div{
    border:1px solid rgba(255,255,255,.2);
    border-radius:14px;
    padding:14px 16px;
    background:rgba(255,255,255,.08);
}

.tour-meta-grid span{
    display:block;
    margin-bottom:7px;
    font-size:12px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:rgba(255,248,223,.78);
}

.tour-meta-grid strong{
    display:block;
    font-size:20px;
    line-height:1.15;
    color:#fff;
}

.tour-price{
    text-align:center;
    background:linear-gradient(145deg, #a4b171, #8a9a58);
}

.tour-price-label{
    font-size:32px;
    line-height:1;
    font-family:'Oswald',sans-serif;
    text-transform:uppercase;
    color:#f8f3e4;
}

.tour-price-value{
    margin-top:10px;
    font-size:18px;
    line-height:1.3;
    font-weight:700;
    color:#fffef7;
}

.tour-price-note{
    max-width:360px;
    margin:12px auto 0;
    font-size:15px;
    line-height:1.35;
    color:#fff8df;
}

.tour-book-btn{
    width:100%;
    min-height:58px;
    border-radius:999px;
    background:linear-gradient(135deg, #efb80d, #c89500);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-family:'Oswald',sans-serif;
    font-size:28px;
    line-height:1;
    text-transform:uppercase;
    text-decoration:none;
    box-shadow:0 16px 32px rgba(151,119,10,.2);
}

@media (max-width:1100px){
    .tour-hero-title{font-size:56px}
    .tour-hero-script{font-size:58px}
    .tour-content{grid-template-columns:1fr}
}

@media (max-width:760px){
    .tour-detail-shell{
        padding:44px 0 50px;
        border-top-left-radius:36px;
        border-top-right-radius:36px;
        margin-top:-16px; /* მობილურზე მწვანე ზოლი კიდევ უფრო შემცირებული (2026-07-04) */
    }

    .tour-detail-container{
        padding:0 16px;
    }

    .tour-hero-title{font-size:38px}
    .tour-hero-script{font-size:42px}
    .tour-hero-gallery{
        grid-template-columns:1fr 1fr;
        grid-template-rows:auto;
    }
    .tour-hero-gallery .gallery-card{
        grid-column:auto;
        grid-row:auto;
        width:auto;
        height:180px;
        aspect-ratio:auto;
        margin-left:0;
    }
    .gallery-card-p1,.gallery-card-p7{
        grid-column:span 2;
        height:210px;
    }
    /* ტაბები ერთ ხაზზე (2026-07-04) */
    .tour-tabs{
        flex-wrap:nowrap;
        gap:8px;
    }
    .tour-tab{
        flex:1 1 auto;
        min-width:0;
        padding:0 10px;
        height:38px;
        font-size:12px;
        white-space:nowrap;
    }
    .tour-content-media{
        min-height:160px;
    }
    .tour-copy p{
        font-size:18px;
    }
    .tour-list{
        font-size:16px;
    }
    .tour-copy-heading{font-size:22px}
    .tour-meta-grid{grid-template-columns:1fr}
    .tour-price-label{font-size:24px}
    .tour-price-value{font-size:28px}
    .tour-price-note{font-size:14px}
    .tour-book-btn{font-size:20px;min-height:50px}
}

/* === Tab panels === */
.tour-panel{
    display:none;
}
.tour-panel.active{
    display:block;
}

/* price box visible only when "О туре" (about) tab is active */
.tour-content-side .tour-panel[data-tour-panel="about"]:not(.active) ~ .tour-price-about{
    display:none;
}

/* === Info box (route / included) === */
.tour-info-box{
    background:linear-gradient(145deg, #7d8751, #5f6c38);
    color:#f3f0e2;
    border-radius:24px;
    padding:26px 30px 24px 36px;
    min-height:480px;
    display:flex;
    flex-direction:column;
    box-shadow:var(--shadow-soft);
}

.tour-info-box ul{
    padding-left:22px;
    margin:0;
    width:100%;
}

.tour-info-box li{
    font-size:20px;
    line-height:1.35;
    margin-bottom:4px;
    font-weight:400;
}

/* === Tab button reset === */
.tour-tab{
    border:none;
    cursor:pointer;
    font-family:'Roboto',sans-serif;
}

@media (max-width:1100px){
    .tour-info-box li{font-size:18px}
}

@media (max-width:760px){
    .tour-info-box{
        padding:20px 18px 18px 24px;
        border-radius:18px;
        min-height:auto;
    }
    .tour-info-box li{
        font-size:16px;
        line-height:1.4;
    }
}

/* === Info box title / subtitle === */
.tour-info-title{
    font-size:18px;
    font-weight:500;
    margin-bottom:16px;
}
.tour-info-subtitle{
    font-size:18px;
    font-weight:500;
    margin-top:14px;
    margin-bottom:14px;
}

@media (max-width:760px){
    .tour-info-title,
    .tour-info-subtitle{
        font-size:17px;
    }
}

.tour-content-media .tour-slide{
    position:absolute;
    top:0;left:0;
    width:100%;height:100%;
    object-fit:cover;
    display:none;
}
.tour-content-media .tour-slide.active{
    display:block;
}
.tour-arrow{
    cursor:pointer;
    z-index:10;
    transition:background .2s;
    pointer-events:auto;
}
.tour-arrow:hover{
    background:rgba(248,242,223,1);
}

.tour-image-lightbox{
    position:fixed;
    inset:0;
    z-index:2147483000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:28px;
}
.tour-image-lightbox.is-open{
    display:flex;
}
.tour-image-lightbox-backdrop{
    position:absolute;
    inset:0;
    border:none;
    background:rgba(11,16,7,.9);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    cursor:zoom-out;
}
.tour-image-lightbox-dialog{
    position:relative;
    z-index:1;
    width:min(100%, 1120px);
    max-height:92vh;
    display:flex;
    justify-content:center;
}
.tour-image-lightbox-photo{
    max-width:100%;
    max-height:92vh;
    border-radius:24px;
    object-fit:contain;
    box-shadow:0 28px 80px rgba(0,0,0,.42);
    background:#111707;
}
.tour-image-lightbox-close{
    position:fixed;
    right:24px;
    top:24px;
    z-index:2;
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:rgba(248,242,223,.95);
    color:#667734;
    font-size:30px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(0,0,0,.24);
}
.tour-image-lightbox-nav{
    position:fixed;
    top:50%;
    z-index:2;
    transform:translateY(-50%);
    width:58px;
    height:58px;
    border:none;
    border-radius:50%;
    background:rgba(248,242,223,.95);
    color:#667734;
    font-size:20px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 16px 34px rgba(0,0,0,.28);
    transition:transform .2s ease, background .2s ease;
}
.tour-image-lightbox-nav:hover{
    background:#fff7df;
}
.tour-image-lightbox-prev{
    left:28px;
}
.tour-image-lightbox-next{
    right:28px;
}
.tour-image-lightbox-prev:hover{
    transform:translateY(-50%) translateX(-3px);
}
.tour-image-lightbox-next:hover{
    transform:translateY(-50%) translateX(3px);
}

@media (max-width:760px){
    .tour-image-lightbox{
        padding:16px;
    }
    .tour-image-lightbox-photo{
        border-radius:18px;
    }
    .tour-image-lightbox-close{
        right:14px;
        top:14px;
        width:44px;
        height:44px;
        font-size:26px;
    }
    .tour-image-lightbox-nav{
        width:46px;
        height:46px;
        font-size:17px;
    }
    .tour-image-lightbox-prev{
        left:14px;
    }
    .tour-image-lightbox-next{
        right:14px;
    }
}

/* ---- Recommended tours carousel ---- */
.tc-wrap{
    /* ფუტერის/გვერდის ფონის იდენტური + მწვანე მომრგვალებული კუთხეები კრემისფერზე ასული (2026-07-04) */
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E"),
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.03), transparent 28%),
        radial-gradient(circle at 78% 35%, rgba(255,255,255,.025), transparent 24%);
    background-color:var(--olive);
    background-size:200px 200px, auto, auto;
    background-blend-mode:screen, normal, normal;
    border-top-left-radius:56px;
    border-top-right-radius:56px;
    margin-top:-56px;
    padding:64px 0 72px;
    position:relative;
}
.tc-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    max-width:1280px;
    margin:0 auto 36px;
    padding:0 48px;
    position:relative;
    z-index:1;
}
.tc-title{
    font-family:'Oswald',sans-serif;
    font-size:40px;
    font-weight:700;
    text-transform:uppercase;
    color:var(--cream-2);
    letter-spacing:1px;
}
.tc-title::after{
    content:'';
    display:block;
    width:56px;height:3px;
    background:var(--yellow);
    border-radius:2px;
    margin-top:8px;
}
.tc-nav{
    display:flex;
    gap:12px;
}
.tc-btn{
    width:46px;height:46px;
    border-radius:12px;
    border:1.5px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
    color:var(--cream-2);
    font-size:15px;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:.2s ease;
    backdrop-filter:blur(4px);
}
.tc-btn:hover{
    background:var(--yellow);
    border-color:var(--yellow);
    color:#fff;
    transform:scale(1.07);
}
.tc-track-wrap{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;   /* momentum swipe on iOS */
    scrollbar-width:none;               /* hide scrollbar (Firefox) */
    cursor:grab;
    max-width:1280px;
    margin:0 auto;
    padding:0 48px 8px;
    position:relative;
    z-index:1;
    user-select:none;
    -webkit-user-select:none;
}
.tc-track-wrap::-webkit-scrollbar{ display:none; }  /* hide scrollbar (Chrome/Safari) */
.tc-track-wrap:active{ cursor:grabbing; }
.tc-track{
    display:flex;
    gap:22px;
    width:max-content;
}
/* card */
.tc-card{
    width:278px;
    flex-shrink:0;
    background:#f3efdf;
    border-radius:20px;
    overflow:hidden;
    text-decoration:none;
    border:none;
    transition:transform .25s ease, box-shadow .25s ease;
    box-shadow:0 8px 28px rgba(0,0,0,.18);
    display:flex;
    flex-direction:column;
}
.tc-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 48px rgba(0,0,0,.28);
}
.tc-card-img{
    width:100%;
    aspect-ratio:16/11;
    overflow:hidden;
    background:#8a9860;
    position:relative;
    flex-shrink:0;
}
.tc-card-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 40%,rgba(40,50,10,.45) 100%);
    pointer-events:none;
    transition:opacity .25s;
}
.tc-card:hover .tc-card-overlay{ opacity:.6; }
.tc-card-img img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}
.tc-card:hover .tc-card-img img{ transform:scale(1.07); }
.tc-card-body{
    padding:18px 20px 20px;
    display:flex;
    flex-direction:column;
    flex:1;
    gap:6px;
}
.tc-card-cat{
    font-size:10px;
    font-family:'Inter',sans-serif;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1.2px;
    color:var(--olive);
    opacity:.75;
}
.tc-card-title{
    font-family:'Oswald',sans-serif;
    font-size:20px;
    font-weight:600;
    text-transform:uppercase;
    color:#3d4f13;
    line-height:1.15;
    flex:1;
}
.tc-card-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:10px;
    padding:9px 20px;
    border-radius:50px;
    background:var(--olive);
    color:var(--cream-2);
    font-family:'Oswald',sans-serif;
    font-size:14px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.6px;
    transition:background .2s ease, transform .2s ease;
    align-self:flex-start;
}
.tc-card-more i{
    transition:transform .2s ease;
    font-size:12px;
}
.tc-card:hover .tc-card-more{
    background:var(--yellow);
    color:#fff;
}
.tc-card:hover .tc-card-more i{ transform:translateX(4px); }
@media(max-width:768px){
    .tc-head{ padding:0 20px; margin-bottom:24px; }
    .tc-title{ font-size:28px; }
    .tc-track-wrap{ padding:0 20px 8px; }
    .tc-card{ width:230px; }
    .tc-card-title{ font-size:17px; }
    .tc-card-more{ font-size:13px; padding:8px 16px; }
}

/* ===== Маршрут по дням — аккордеон (многодневные туры) ===== */
.tour-route-days{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-top:8px;
}
.tour-day{
    /* დღის ბლოკებს Маршрут-ის კონტეინერის ფერი გადაეცა (2026-07-04) */
    background:linear-gradient(145deg, #8d9960, #6b7a3a);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(37,46,20,.12);
}

/* Маршрут путешествия — გარე მწვანე ფონი მოხსნილია, კრემისფერზე ზის (2026-07-04) */
.tour-copy[data-tour-panel="route"]{
    background:transparent;
    box-shadow:none;
    padding:0;
    color:#3f4722; /* კრემისფერზე რომ იკითხებოდეს */
}
.tour-copy[data-tour-panel="route"] .tour-copy-heading{
    color:#667734;
}
/* დღეების ბლოკებში ტექსტი ისევ ღია რჩება (მწვანე ფონზეა) */
.tour-copy[data-tour-panel="route"] .tour-day{
    color:#f5f0de;
}
.tour-day-head{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:20px 18px 20px 26px;
    background:transparent;
    border:none;
    cursor:pointer;
    text-align:left;
}
.tour-day-title{
    font-family:'Oswald',sans-serif;
    font-size:22px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.4px;
    color:#fff;
}
.tour-day-icon{
    flex-shrink:0;
    width:34px;
    height:34px;
    border-radius:9px;
    background:#efb80d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    transition:transform .25s ease;
}
.tour-day.open .tour-day-icon{ transform:rotate(180deg); }
.tour-day-body{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
}
.tour-day.open .tour-day-body{ max-height:1600px; }
.tour-day-body .tour-list{
    margin:0;
    padding:4px 26px 24px 26px;
}
.tour-day-body .tour-list li{ color:#f1ecd8; }
@media(max-width:600px){
    .tour-day-title{ font-size:18px; }
    .tour-day-head{ padding:16px 14px 16px 18px; }
    .tour-day-body .tour-list{ padding:4px 18px 18px 18px; }
}

/* день: описание + подзаголовок "Маршрут дня:" */
.tour-day-text{
    padding:18px 26px 4px 26px;
}
.tour-day-text p{
    margin:0 0 12px;
    color:#f1ecd8;
    font-size:16px;
    line-height:1.6;
}
.tour-day-route-label{
    padding:6px 26px 0 26px;
    font-family:'Oswald',sans-serif;
    font-size:15px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.5px;
    color:#efb80d;
}
@media(max-width:600px){
    .tour-day-text{ padding:14px 18px 2px 18px; }
    .tour-day-route-label{ padding:6px 18px 0 18px; }
}

/* active-batumi: длинный заголовок — одна строка */
.tour-active-batumi .tour-hero-title{font-size:50px;white-space:nowrap}
@media (max-width:1024px){ .tour-active-batumi .tour-hero-title{font-size:34px;white-space:nowrap} }
@media (max-width:680px){ .tour-active-batumi .tour-hero-title{font-size:24px;white-space:normal} }
/* active-batumi: длинный подзаголовок-маршрут — одна строка (nowrap + уменьшенный шрифт) */
.tour-active-batumi .tour-hero-script{font-size:42px;white-space:nowrap;margin-top:22px;text-align:left;padding-left:20px}
@media (max-width:1024px){ .tour-active-batumi .tour-hero-script{font-size:30px;white-space:nowrap} }
@media (max-width:680px){ .tour-active-batumi .tour-hero-script{font-size:20px;white-space:normal} }

/* soul-of-georgia: те же размеры заголовка/подзаголовка, что и active-batumi (одна строка) */
.tour-soul-of-georgia .tour-hero-title{font-size:50px;white-space:nowrap}
@media (max-width:1024px){ .tour-soul-of-georgia .tour-hero-title{font-size:34px;white-space:nowrap} }
@media (max-width:680px){ .tour-soul-of-georgia .tour-hero-title{font-size:24px;white-space:normal} }
.tour-soul-of-georgia .tour-hero-script{font-size:42px;white-space:nowrap;margin-top:22px;text-align:right}
@media (max-width:1024px){ .tour-soul-of-georgia .tour-hero-script{font-size:30px;white-space:nowrap} }
@media (max-width:680px){ .tour-soul-of-georgia .tour-hero-script{font-size:20px;white-space:normal} }

/* grand-georgia: длинный заголовок + 6 городов — одна строка (как soul/active) */
.tour-grand-georgia .tour-hero-title{font-size:50px;white-space:nowrap}
@media (max-width:1024px){ .tour-grand-georgia .tour-hero-title{font-size:34px;white-space:nowrap} }
@media (max-width:680px){ .tour-grand-georgia .tour-hero-title{font-size:24px;white-space:normal} }
.tour-grand-georgia .tour-hero-script{font-size:42px;white-space:nowrap;margin-top:22px;text-align:right}
@media (max-width:1024px){ .tour-grand-georgia .tour-hero-script{font-size:30px;white-space:nowrap} }
@media (max-width:680px){ .tour-grand-georgia .tour-hero-script{font-size:20px;white-space:normal} }

/* active-tbilisi: длинный заголовок + 6 городов — одна строка (как grand/soul/active) */
.tour-active-tbilisi .tour-hero-title{font-size:50px;white-space:nowrap}
@media (max-width:1024px){ .tour-active-tbilisi .tour-hero-title{font-size:34px;white-space:nowrap} }
@media (max-width:680px){ .tour-active-tbilisi .tour-hero-title{font-size:24px;white-space:normal} }
.tour-active-tbilisi .tour-hero-script{font-size:42px;white-space:nowrap;margin-top:22px;text-align:right}
@media (max-width:1024px){ .tour-active-tbilisi .tour-hero-script{font-size:30px;white-space:nowrap} }
@media (max-width:680px){ .tour-active-tbilisi .tour-hero-script{font-size:20px;white-space:normal} }

/* cities-regions: длинный заголовок + 6 городов — одна строка (как grand/soul/active) */
.tour-cities-regions .tour-hero-title{font-size:50px;white-space:nowrap}
@media (max-width:1024px){ .tour-cities-regions .tour-hero-title{font-size:34px;white-space:nowrap} }
@media (max-width:680px){ .tour-cities-regions .tour-hero-title{font-size:24px;white-space:normal} }
.tour-cities-regions .tour-hero-script{font-size:42px;white-space:nowrap;margin-top:22px;text-align:right}
@media (max-width:1024px){ .tour-cities-regions .tour-hero-script{font-size:30px;white-space:nowrap} }
@media (max-width:680px){ .tour-cities-regions .tour-hero-script{font-size:20px;white-space:normal} }

/* machakhela — long title + descriptive script line (natural wrap) */
.tour-machakhela .tour-hero-title{font-size:54px;line-height:1}
@media (max-width:1024px){ .tour-machakhela .tour-hero-title{font-size:38px} }
@media (max-width:680px){ .tour-machakhela .tour-hero-title{font-size:26px} }
.tour-machakhela .tour-hero-script{font-size:80px;margin-top:14px;text-align:right;line-height:1.05}
@media (max-width:1024px){ .tour-machakhela .tour-hero-script{font-size:34px} }
@media (max-width:680px){ .tour-machakhela .tour-hero-script{font-size:26px} }

/* machakhela — price box solid green (overrides the gradient) */
.tour-machakhela .tour-price{background:#98A867}

/* Hero gallery layout — machakhela-style, applied only to tours with 8 photos
   (render adds .thg-full when count>=8; <8-photo tours keep the default flat grid).
   Desktop only (mobile keeps the default flat grid). */
@media (min-width:681px){
    /* p2 spans the middle; img is absolute so it does NOT inflate the grid rows —
       height is driven by the left/right columns, so it aligns with the others. */
    .tour-hero-gallery.thg-full .gallery-card-p2{grid-column:2/4;grid-row:1/3;aspect-ratio:auto;align-self:stretch;position:relative;min-height:0}
    .tour-hero-gallery.thg-full .gallery-card-p2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    /* p4 (right-top) is shorter than row1 — stretch it to fill so the gap to p8
       matches the normal 12px (was ~29px). img absolute so it doesn't inflate the row. */
    .tour-hero-gallery.thg-full .gallery-card-p4{aspect-ratio:auto;align-self:stretch;position:relative;min-height:0}
    .tour-hero-gallery.thg-full .gallery-card-p4 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    /* left two small photos: grow downward (stretch) so their bottom lines up
       with the big middle photo and the right column — no gap above.
       img absolute so they don't inflate row2 (height driven by p8). */
    .tour-hero-gallery.thg-full .gallery-card-p5,
    .tour-hero-gallery.thg-full .gallery-card-p6{align-self:stretch;aspect-ratio:auto;position:relative;min-height:0}
    .tour-hero-gallery.thg-full .gallery-card-p5 img,
    .tour-hero-gallery.thg-full .gallery-card-p6 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .tour-hero-gallery.thg-full .gallery-card-p3,
    .tour-hero-gallery.thg-full .gallery-card-p7{display:none}
}

/* machakhela location map (Leaflet + OSM) */
/* რუკის სექცია = მწვანე მომრგვალებული band კრემისფერზე ასული, ზუსტად tc-wrap-ის სტილში (2026-07-04) */
.tour-map-wrap{
    width:100%;
    margin:-56px 0 0;
    padding:72px 24px 88px; /* ქვედა 88px: შემდეგი tc-wrap-ის -56px overlap-ს იტევს */
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E"),
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.03), transparent 28%),
        radial-gradient(circle at 78% 35%, rgba(255,255,255,.025), transparent 24%);
    background-color:var(--olive);
    background-size:200px 200px, auto, auto;
    background-blend-mode:screen, normal, normal;
    border-top-left-radius:56px;
    border-top-right-radius:56px;
    position:relative;
    z-index:1;
}
.tour-map-title{ font-family:'Oswald',sans-serif; font-size:34px; line-height:1; font-weight:500; text-transform:uppercase; color:#667734; margin:0 0 16px; }
.tour-map{ height:420px; width:100%; border-radius:18px; overflow:hidden; box-shadow:0 12px 30px rgba(37,46,20,.14); position:relative; z-index:0; }
.tour-map .leaflet-container{ border-radius:18px; font-family:inherit; }
@media (max-width:680px){ .tour-map{height:300px} .tour-map-title{font-size:24px} .tour-map-wrap{margin-top:-16px;padding:40px 16px 56px;border-top-left-radius:22px;border-top-right-radius:22px} }

/* machakhela Georgia map — image/SVG */
.tour-map-img{ display:block; width:100%; max-width:960px; margin:0 auto; height:auto; }
.tour-map-img svg{ width:100%; height:auto; display:block; }

/* 📱 მობილურზე მწვანე სექციის ნაზი მომრგვალება + ღილაკთან დაშორება (2026-07-04) */
@media (max-width:760px){
    .tc-wrap{
        margin-top:-22px;
        border-top-left-radius:22px;
        border-top-right-radius:22px;
    }
}

/* 📱 მობილურზე hero-გალერეა = ერთფოტოიანი სლაიდერი (2026-07-04) */
.thg-arrow{
    display:none;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:rgba(248,242,223,.95);
    color:#728043;
    font-size:16px;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 24px rgba(82,92,39,.18);
    cursor:pointer;
}
.thg-arrow-prev{ left:12px; }
.thg-arrow-next{ right:12px; }
@media (max-width:760px){
    .tour-hero-gallery,
    .tour-hero-gallery.thg-full{
        display:block;
        position:relative;
    }
    .tour-hero-gallery .gallery-card,
    .tour-hero-gallery.thg-full .gallery-card{
        display:none;
        width:100%;
        height:260px;
        margin:0;
        aspect-ratio:auto;
        position:relative;
    }
    .tour-hero-gallery .gallery-card img{
        position:static;
        width:100%;
        height:100%;
        object-fit:cover;
    }
    .tour-hero-gallery .gallery-card.thg-active{
        display:block;
    }
    .thg-arrow{ display:flex; }
    /* О туре-ს ფოტო 30%-ით დაბალი */
    .tour-content-media{ height:410px; }
    /* მობილურზე რიგი (ტექსტი → ფოტო → Стоимость) JS-ით კეთდება — DOM გადაადგილება */
}
