/* Fun&Sun Travel — общие стили. Вынесено из inline <style> всех страниц. */

/* ==== Шрифт Onest (variable 400–800), self-hosted ==== */
@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/onest-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/onest-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/onest-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/onest-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}


/* Фирменные цвета FUN&SUN (по брендбуку):
   Красный Коралл   #F3202C
   Жёлтый           #FFEA2E
   Пурпурно-красный #E20303 (акцент)
   Графитовый серый #3A3D44
   Светло-серый     #E5E5E9
   Шрифт: TT Firs Neue (основной, лицензионный) — здесь используется Arial,
   как рекомендует сам брендбук ("если возникнут сложности с доступом к шрифту,
   смело заменяйте его на Arial"). Замените на TT Firs Neue через @font-face,
   если шрифт куплен и подключён на хостинге. */
:root{
  --red:#F3202C;
  --red-dark:#E20303;
  --ink:#3A3D44;
  --paper:#FFFFFF;
  --gray-bg:#E5E5E9;
  --text-dim:#6B6B72;
  --line:rgba(58,61,68,0.14);
  --gold:#FFEA2E;
  --shadow:0 20px 40px -20px rgba(58,61,68,0.25);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Onest', 'Helvetica Neue', Arial, sans-serif; background:var(--paper); color:var(--ink); line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.mono{font-family:var(--mono);}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--red); font-weight:600;}
.eyebrow::before{content:""; width:16px; height:1.5px; background:var(--red); display:inline-block;}
button{font-family:inherit; cursor:pointer; border:none;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:15px 26px; border-radius:10px; font-weight:700; font-size:15px; transition:transform .18s ease, background .18s ease;}
.btn-primary{background:var(--red); color:#fff; box-shadow:0 14px 26px -12px rgba(227,30,36,0.55);}
.btn-primary:hover{background:var(--red-dark); transform:translateY(-2px);}
.btn-ghost{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.4);}
.btn-ghost:hover{background:rgba(255,255,255,0.12); transform:translateY(-2px);}
.btn-outline{background:transparent; color:var(--ink); border:1.5px solid var(--line);}
.btn-outline:hover{border-color:var(--red); color:var(--red);}

/* ===== HEADER ===== */
header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding-top:16px; padding-bottom:16px;}
.logo{display:flex; align-items:center;}
.logo svg{height:38px; width:auto; display:block;}
.foot-logo svg{height:34px; width:auto; display:block;}
.nav-links{display:flex; align-items:center; gap:28px; font-size:14.5px; font-weight:600; color:var(--text-dim);}
.nav-links a:hover{color:var(--red);}
.nav-right{display:flex; align-items:center; gap:18px;}
.nav-phone{display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-weight:600; font-size:14.5px; color:var(--ink); transition:color .18s ease;}
.nav-phone svg{width:16px; height:16px; color:var(--red); flex:none;}
.nav-phone:hover{color:var(--red);}
@media (max-width:880px){.nav-links{display:none;}}

/* ===== HERO ===== */
.hero{background:linear-gradient(155deg,#5A0B10 0%, #B71C22 55%, #E8482E 120%); color:#fff; position:relative; overflow:hidden; padding:78px 0 92px;}
.hero::before{content:""; position:absolute; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(255,210,90,0.28), transparent 70%); top:-240px; right:-160px; pointer-events:none;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:50px; align-items:center; position:relative;}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(32px,4.4vw,54px); line-height:1.06; font-weight:800; letter-spacing:-0.02em; margin:18px 0 20px;}
.hero h1 span{color:var(--gold);}
.hero p.lede{font-size:17px; color:rgba(255,255,255,0.85); max-width:480px; margin-bottom:28px;}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:32px;}
.hero-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:18px 14px; border-top:1px dashed rgba(255,255,255,0.32); padding-top:22px; max-width:540px;}
.hero-stats div{min-width:0;}
.hero-stats b{display:block; font-size:clamp(19px,2.2vw,23px); font-weight:800; color:var(--gold); white-space:nowrap;}
.hero-stats span{font-size:12px; color:rgba(255,255,255,0.78);}
@media (max-width:560px){.hero-stats{grid-template-columns:repeat(2,1fr); max-width:340px;}}
.hero-card{background:#fff; border-radius:18px; padding:26px; color:var(--ink); box-shadow:var(--shadow);}
.hero-card h3{font-size:18px; font-weight:800; margin-bottom:4px;}
.hero-card .sub{font-size:12.8px; color:var(--text-dim); margin-bottom:18px;}
.field{margin-bottom:12px;}
.field label{display:block; font-size:12px; font-weight:700; color:var(--text-dim); margin-bottom:6px;}
.field input, .field select{width:100%; padding:12px 13px; border-radius:9px; border:1.5px solid var(--line); font-family:inherit; font-size:14px; background:var(--gray-bg); color:var(--ink);}
.field input:focus, .field select:focus{outline:2px solid var(--red); outline-offset:1px; border-color:var(--red);}
.hero-card button{width:100%; margin-top:6px;}
.form-alt{display:flex; gap:10px; margin-top:14px;}
.form-alt a{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 10px; border-radius:12px; font-size:13.5px; font-weight:700; color:var(--ink); background:var(--gray-bg); border:1.5px solid transparent; transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;}
.form-alt a svg{width:16px; height:16px; flex:none;}
.form-alt a:hover{transform:translateY(-2px); background:#fff;}
.form-alt a.fa-call:hover{border-color:var(--red); color:var(--red);}
.form-alt a.fa-tg:hover{border-color:#229ED9; color:#229ED9;}
.form-note{font-size:11px; color:var(--text-dim); margin-top:10px; text-align:center;}
.form-status{font-size:12.5px; margin-top:10px; text-align:center; display:none;}

/* ===== SECTIONS ===== */
section{padding:84px 0;}
.sec-head{max-width:640px; margin-bottom:44px;}
.sec-head h2{font-size:clamp(26px,3.2vw,36px); font-weight:800; letter-spacing:-0.01em; margin-top:12px;}
.sec-head p{color:var(--text-dim); margin-top:12px; font-size:15.5px;}

/* directions */
.dest-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media (max-width:980px){.dest-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.dest-grid{grid-template-columns:1fr;}}
.dest-card{display:block; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; cursor:pointer;}
.dest-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.dest-card .photo{position:relative; height:170px; overflow:hidden; background:var(--gray-bg);}
.dest-card .photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.dest-card:hover .photo img{transform:scale(1.06);}
.dest-card .badges{position:absolute; top:12px; left:12px; display:flex; gap:6px; z-index:2;}
.dest-card .badge{font-size:10.5px; font-weight:800; padding:5px 10px; border-radius:999px; color:#fff; letter-spacing:0.01em;}
.badge-visa{background:#1FA971;}
.badge-charter{background:#F5941F;}
.dest-card .body{padding:16px 20px 20px;}
.dest-card .tag{display:inline-block; font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; background:var(--gray-bg); color:var(--red); padding:4px 9px; border-radius:999px; margin-bottom:12px;}
.dest-card h3{font-size:17px; font-weight:800; margin-bottom:4px;}
.dest-card .from{font-size:12.5px; color:var(--text-dim); margin-bottom:10px;}
.dest-card .price{font-family:var(--mono); font-weight:700; font-size:18px; color:var(--red);}
.dest-card .price span{font-size:11px; color:var(--text-dim); display:block; font-weight:500;}
.dest-card .more{display:inline-block; margin-top:12px; font-size:13px; font-weight:700; color:var(--ink);}
.dest-card:hover .more{color:var(--red);}
.dest-card.dest-card-cta{background:linear-gradient(160deg,#7A0E12 0%, var(--red) 70%, #FF6A4D 130%); border:none;}
.dest-card.dest-card-cta .body{color:#fff;}
.dest-card.dest-card-cta .tag{background:rgba(255,255,255,0.15); color:#fff;}

/* why */
.why{background:var(--gray-bg);}
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media (max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr;}}
.why-card{position:relative; overflow:hidden; background:linear-gradient(180deg, color-mix(in srgb, var(--wc,#F3202C) 6%, #fff), #fff 62%); border:1px solid color-mix(in srgb, var(--wc,#F3202C) 20%, var(--line)); border-radius:20px; padding:28px 24px; box-shadow:0 18px 40px -26px rgba(58,61,68,0.4); transition:transform .2s ease, box-shadow .2s ease;}
.why-card:hover{transform:translateY(-6px); box-shadow:0 28px 52px -24px rgba(58,61,68,0.45);}
.why-card .ic{width:52px; height:52px; border-radius:16px; background:var(--wc,#F3202C); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:18px; box-shadow:0 12px 22px -8px color-mix(in srgb, var(--wc,#F3202C) 55%, transparent);}
.why-card .ic svg{width:24px; height:24px;}
.why-card:nth-child(1){--wc:#F3202C;}
.why-card:nth-child(2){--wc:#0E9CAB;}
.why-card:nth-child(3){--wc:#1FA971;}
.why-card:nth-child(4){--wc:#E8A020;}
.why-card:nth-child(5){--wc:#7C6AE8;}
.why-card:nth-child(6){--wc:#E0568A;}
.why-card h3{font-size:16.5px; font-weight:800; margin-bottom:8px; line-height:1.25;}
.why-card p{font-size:13.8px; color:var(--text-dim); line-height:1.55;}

/* steps */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; counter-reset:step;}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.steps{grid-template-columns:1fr;}}
.step{position:relative; overflow:hidden; counter-increment:step; background:linear-gradient(180deg, color-mix(in srgb, var(--sc,#F3202C) 6%, #fff), #fff 62%); border:1px solid color-mix(in srgb, var(--sc,#F3202C) 20%, var(--line)); border-radius:20px; padding:28px 24px; box-shadow:0 18px 40px -26px rgba(58,61,68,0.4); transition:transform .2s ease, box-shadow .2s ease;}
.step:hover{transform:translateY(-6px); box-shadow:0 28px 52px -24px rgba(58,61,68,0.45);}
.step::after{content:counter(step, decimal-leading-zero); position:absolute; right:14px; top:2px; font-family:var(--mono); font-weight:800; font-size:58px; line-height:1; color:color-mix(in srgb, var(--sc,#F3202C) 12%, transparent); pointer-events:none;}
.step .num{position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; background:var(--sc,#F3202C); color:#fff; font-family:var(--mono); font-size:16px; font-weight:800; margin-bottom:18px; box-shadow:0 12px 22px -8px color-mix(in srgb, var(--sc,#F3202C) 55%, transparent);}
.step:nth-child(1){--sc:#F3202C;}
.step:nth-child(2){--sc:#0E9CAB;}
.step:nth-child(3){--sc:#1FA971;}
.step:nth-child(4){--sc:#E8A020;}
.step h3{font-size:16.5px; font-weight:800; margin-bottom:8px; line-height:1.25; position:relative; z-index:1;}
.step p{font-size:13.8px; color:var(--text-dim); line-height:1.55; position:relative; z-index:1;}

/* testimonials */
.rating-summary{display:flex; align-items:center; gap:16px; margin:-20px 0 28px; flex-wrap:wrap;}
.rating-summary .num{font-size:36px; font-weight:800; font-family:var(--mono); color:var(--ink); line-height:1;}
.rating-summary .stars-big{color:var(--gold); font-size:19px; letter-spacing:3px; display:block; margin-bottom:2px;}
.rating-summary .cnt{font-size:13px; color:var(--text-dim);}

.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:980px){.testi-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.testi-grid{grid-template-columns:1fr;}}
/* совместимость со старой раскладкой-каруселью, если где-то ещё используется */
.testi-scroll{display:flex; gap:18px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x mandatory;}
.testi-scroll::-webkit-scrollbar{height:6px;}
.testi-scroll::-webkit-scrollbar-thumb{background:var(--line); border-radius:99px;}
.testi-scroll .testi{flex:0 0 320px; scroll-snap-align:start;}

.testi{position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:26px 24px 22px; box-shadow:0 16px 32px -26px rgba(58,61,68,0.4); display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;}
.testi:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.testi::before{content:"\201C"; position:absolute; top:6px; right:16px; font-size:56px; font-family:Georgia,serif;
  color:var(--gray-bg); line-height:1; z-index:0;}
.testi .tag-row{display:flex; align-items:center; gap:8px; margin-bottom:10px; position:relative; z-index:1;}
.testi .tag-row .dest{font-family:var(--mono); font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  background:var(--gray-bg); color:var(--red); padding:4px 10px; border-radius:999px;}
.testi .tag-row .date{font-size:11.5px; color:var(--text-dim);}
.testi .stars{color:var(--gold); letter-spacing:2px; margin-bottom:10px; font-size:14px; position:relative; z-index:1;}
.testi p{font-size:14px; margin-bottom:18px; flex:1; position:relative; z-index:1;}
.testi .who{display:flex; align-items:center; gap:10px; position:relative; z-index:1;}
.testi .avatar{width:38px; height:38px; border-radius:50%; background:var(--fc, var(--red)); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; flex:none;}
.testi .who span{font-size:12.5px; color:var(--text-dim); display:block;}
.testi .who b{font-size:13.5px;}
.testi:nth-child(6n+1) .avatar{--fc:#F3202C;}
.testi:nth-child(6n+2) .avatar{--fc:#0E9CAB;}
.testi:nth-child(6n+3) .avatar{--fc:#1FA971;}
.testi:nth-child(6n+4) .avatar{--fc:#8A6BD8;}
.testi:nth-child(6n+5) .avatar{--fc:#E8A020;}
.testi:nth-child(6n+6) .avatar{--fc:#E0568A;}

/* faq */
.faq{max-width:760px;}
.faq details{border-bottom:1px solid var(--line); padding:20px 0;}
.faq summary{cursor:pointer; font-weight:700; font-size:15.5px; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; font-size:22px; color:var(--red); flex:none; transition:transform .2s ease; font-weight:400;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{margin-top:12px; font-size:14px; color:var(--text-dim); line-height:1.6;}

/* cta */
.cta{background:linear-gradient(155deg,#5A0B10 0%, #B71C22 55%, #E8482E 120%); color:#fff; border-radius:26px; padding:60px 44px; display:grid; grid-template-columns:1fr 380px; gap:50px; align-items:center; max-width:1132px; margin:0 auto;}
@media (max-width:900px){.cta{grid-template-columns:1fr; padding:40px 26px;}}
.cta h2{font-size:clamp(26px,3.4vw,36px); font-weight:800; margin-bottom:14px;}
.cta ul{margin-top:20px; display:flex; flex-direction:column; gap:10px;}
.cta ul li{font-size:14.5px; color:rgba(255,255,255,0.9); display:flex; gap:10px; align-items:flex-start;}
.cta ul li::before{content:"✓"; color:var(--gold); font-weight:800;}
.cta .hero-card{color:var(--ink);}
.cta-alt-label{margin-top:26px; font-weight:800; font-size:14.5px; color:#fff;}
.cta-alt-btns{display:flex; gap:12px; margin-top:14px; flex-wrap:wrap;}
.cta-alt-btns a{flex:1; min-width:170px; text-align:center; padding:15px 18px; border-radius:10px; font-weight:700; font-size:14.5px; color:#fff; transition:transform .18s ease, background .18s ease, color .18s ease;}
.cta-alt-btns a:hover{transform:translateY(-2px);}
.cta-alt-btns a.btn-tg-dark{background:var(--gold); color:var(--ink);}
.cta-alt-btns a.btn-tg-dark:hover{background:#FFDF3D; color:var(--ink);}
.cta-alt-btns a.btn-tg-light{background:rgba(255,255,255,0.12); color:#fff; border:1.5px solid rgba(255,255,255,0.55);}
.cta-alt-btns a.btn-tg-light:hover{background:rgba(255,255,255,0.22);}

/* footer */
footer{padding:70px 0 30px; color:rgba(255,255,255,0.65); background:var(--ink); margin-top:90px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.12);}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr;}}
footer h4{color:#fff; font-size:14.5px; margin-bottom:16px;}
footer ul li{margin-bottom:9px; font-size:13.5px;}
footer ul li a:hover{color:var(--gold);}
.foot-logo{display:flex; align-items:center; gap:9px; color:#fff; font-weight:800; font-size:20px; margin-bottom:14px;}
.foot-logo .sun{color:var(--gold);} .foot-logo .amp{color:var(--red);}
footer p.desc{font-size:13.5px; max-width:280px; line-height:1.6;}
.foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12.5px; flex-wrap:wrap; gap:10px;}

.float-call{position:fixed; right:20px; bottom:20px; z-index:60; width:56px; height:56px; border-radius:50%; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -10px rgba(227,30,36,0.6);}
.float-call svg{width:24px; height:24px;}

/* ==== Общие переменные шрифтов ==== */
:root{--mono: ui-monospace, 'SF Mono', SFMono-Regular, 'Cascadia Mono', 'Segoe UI Mono', 'Roboto Mono', Menlo, Consolas, monospace;}

/* ==== Модификаторы (добавлено при выносе CSS в общий файл) ==== */
.nav-links a.active{color:var(--red);}
.hero.hero--photo{background:
  linear-gradient(110deg, rgba(40,8,10,0.93) 0%, rgba(64,11,14,0.82) 38%, rgba(120,22,26,0.55) 72%, rgba(170,44,38,0.32) 100%),
  linear-gradient(180deg, rgba(0,0,0,0.22), rgba(0,0,0,0.10) 40%, rgba(0,0,0,0.30)),
  var(--hero-img, none) center/cover no-repeat;}
@media (max-width:960px){
  .hero.hero--photo{background:
    linear-gradient(180deg, rgba(40,8,10,0.90) 0%, rgba(70,12,16,0.78) 55%, rgba(120,24,28,0.70) 100%),
    var(--hero-img, none) center/cover no-repeat;}
}
.why-grid.why-grid--about{grid-template-columns:repeat(3,1fr);}

/* ==== Блоки страниц-направлений ==== */
.crumb{font-size:13px; color:var(--text-dim); margin-bottom:14px; display:block;}
.crumb a{color:var(--red-dark); font-weight:700;}
.info-strip{display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 0;}
.info-strip div{background:rgba(255,255,255,0.14); border-radius:12px; padding:12px 18px; min-width:120px;}
.info-strip b{display:block; font-size:17px; font-weight:800;}
.info-strip span{font-size:11.5px; color:rgba(255,255,255,0.78);}
.include-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
@media (max-width:640px){.include-grid{grid-template-columns:1fr;}}
.include-item{display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:14px; padding:15px 18px; box-shadow:0 12px 28px -22px rgba(58,61,68,0.35);}
.include-item .ic{width:34px; height:34px; border-radius:50%; background:rgba(243,32,44,0.1); color:var(--red); display:flex; align-items:center; justify-content:center; flex:none;}
.include-item .ic svg{width:16px; height:16px;}
.include-item p{font-size:14.5px; font-weight:600;}
.highlight-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media (max-width:900px){.highlight-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.highlight-grid{grid-template-columns:1fr;}}
.highlight-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px;}
.highlight-card h4{font-size:15px; font-weight:800; margin-bottom:6px;}
.highlight-card p{font-size:13.3px; color:var(--text-dim);}

/* city chips */
.city-chips{display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:12px; margin-bottom:28px;}
.city-chips a{position:relative; border-radius:14px; overflow:hidden; height:110px; display:block;}
.city-chips a img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease;}
.city-chips a:hover img{transform:scale(1.06);}
.city-chips a span{position:absolute; left:0; right:0; bottom:0; padding:10px 12px 8px; background:linear-gradient(0deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0) 100%); color:#fff; font-weight:700; font-size:13.5px;}

/* photo gallery mosaic */
.gallery-grid{display:grid; grid-template-columns:1.15fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:16px; height:520px;}
.gallery-item{position:relative; border-radius:16px; overflow:hidden; background:var(--gray-bg);}
.gallery-item.big{grid-row:1 / 3;}
.gallery-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-item .cap{position:absolute; left:0; right:0; bottom:0; padding:22px 20px 16px; background:linear-gradient(0deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%); color:#fff; font-weight:700; font-size:15px;}
.gallery-item.big .cap{font-size:17px;}
.gallery-note{text-align:center; margin-top:22px; font-size:14px; color:var(--text-dim);}
.gallery-note a{color:var(--red-dark); font-weight:700;}
@media (max-width:820px){.gallery-grid{grid-template-columns:1fr 1fr; grid-template-rows:auto; height:auto;} .gallery-item{height:220px;} .gallery-item.big{grid-column:1/3; grid-row:auto; height:280px;}}

/* combo / unique offers */
.combo-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
@media (max-width:760px){.combo-grid{grid-template-columns:1fr;}}
.combo-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; display:flex; flex-direction:column; gap:14px;}
.combo-card .tag{display:inline-block; align-self:flex-start; font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; background:var(--gray-bg); color:var(--red-dark); padding:5px 10px; border-radius:999px; font-weight:700;}
.combo-route{display:flex; flex-wrap:wrap; align-items:stretch; gap:8px;}
.combo-route .leg{width:132px; background:var(--gray-bg); border:1px solid var(--line); border-radius:12px; overflow:hidden; display:flex; flex-direction:column;}
.combo-route .leg img{width:100%; height:78px; object-fit:cover; display:block;}
.combo-route .leg .leg-txt{padding:8px 10px 9px; display:flex; flex-direction:column; gap:2px;}
.combo-route .leg b{font-size:13px; font-weight:800; line-height:1.2;}
.combo-route .leg small{font-size:10px; color:var(--text-dim); font-weight:600;}
.combo-route .plus{color:var(--red); font-weight:800; font-size:15px; align-self:center;}
@media (max-width:420px){.combo-route .leg{width:calc(50% - 14px);}}
.combo-card .more{margin-top:auto; font-size:13px; font-weight:700; color:var(--red-dark);}
.combo-card .more:hover{color:var(--red);}

/* ==== Блок «О нас» ==== */
.about-grid{display:grid; grid-template-columns:1.2fr 0.8fr; gap:50px; align-items:start;}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;}}
.about-grid p{font-size:15.5px; color:var(--text-dim); margin-bottom:16px;}
.about-grid p:last-child{margin-bottom:0;}
.about-grid strong{color:var(--ink);}
.stat-card{background:var(--gray-bg); border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:20px;}
.stat-card div b{display:block; font-size:26px; font-weight:800; color:var(--red);}
.stat-card div span{font-size:12.5px; color:var(--text-dim);}


/* mission */
.mission{background:linear-gradient(160deg,#7A0E12 0%, var(--red) 60%, #FF6A4D 130%); border-radius:26px; color:#fff; padding:56px 44px; max-width:1132px; margin:0 auto; text-align:center;}
.mission .eyebrow{color:var(--gold);}
.mission .eyebrow::before{background:var(--gold);}
.mission h2{font-size:clamp(24px,3vw,32px); font-weight:800; margin:14px 0 18px;}
.mission p{max-width:680px; margin:0 auto; color:rgba(255,255,255,0.88); font-size:15.5px;}


/* ==== Мобильное меню (бургер) ==== */
.nav-toggle{display:none; width:42px; height:42px; border:none; border-radius:10px; background:var(--gray-bg); position:relative; flex:none; cursor:pointer;}
.nav-links .btn-cta-mobile{display:none;}
.nav-toggle span{position:absolute; left:11px; right:11px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s ease, opacity .2s ease;}
.nav-toggle span:nth-child(1){top:14px;}
.nav-toggle span:nth-child(2){top:20px;}
.nav-toggle span:nth-child(3){top:26px;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
@media (max-width:880px){
  header .wrap.nav{position:relative; gap:10px;}
  .nav-right{display:flex; align-items:center; gap:9px; margin-left:auto;}
  .nav-right .btn{display:none;}
  .nav-phone{font-size:13.5px; gap:6px;}
  .nav-phone svg{width:15px; height:15px;}
  .nav-toggle{display:block;}
  .nav-links{position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow); padding:6px 24px 14px;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:13px 2px; border-bottom:1px solid var(--line); font-size:15px; color:var(--ink);}
  .nav-links a:last-child{border-bottom:none;}
  .nav-links .btn-cta-mobile{display:block; margin-top:10px; padding:13px; background:var(--red); color:#fff; font-weight:700; text-align:center; border-radius:10px; border-bottom:none;}
}
@media (max-width:360px){
  .nav-phone .np-num{display:none;}
  .nav-phone{width:38px; height:38px; justify-content:center; border-radius:9px; background:color-mix(in srgb, var(--red) 12%, #fff);}
  .nav-phone svg{width:18px; height:18px;}
}

/* ============================================================
   СТРАНИЦЫ НАПРАВЛЕНИЙ — светлый режим (v2)
   ============================================================ */

/* Хлебные крошки на отдельной полосе */
.crumb-bar{background:#fff; border-bottom:1px solid var(--line);}
.crumb-bar .wrap{display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:13px 24px; font-size:13px; color:var(--text-dim);}
.crumb-bar a{color:var(--red-dark); font-weight:600;}
.crumb-bar a:hover{color:var(--red);}
.crumb-bar .sep{opacity:.45;}
.crumb-bar .cur{color:var(--ink); font-weight:600;}

/* Hero направления: фото видно, затемнение лёгкое */
.hero--dest{padding:64px 0 96px;}
.hero.hero--dest.hero--photo{background:
  linear-gradient(96deg, rgba(24,7,9,0.86) 0%, rgba(32,9,11,0.62) 42%, rgba(40,12,14,0.22) 72%, rgba(40,12,14,0) 100%),
  linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.35)),
  var(--hero-img,none) center/cover no-repeat;}
@media (max-width:960px){
  .hero.hero--dest.hero--photo{background:
    linear-gradient(180deg, rgba(20,7,9,0.30) 0%, rgba(24,8,10,0.72) 58%, rgba(30,10,12,0.90) 100%),
    var(--hero-img,none) center/cover no-repeat;}
}

.visa-pill{display:inline-flex; align-items:center; gap:9px; padding:9px 17px; border-radius:999px;
  background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.4); backdrop-filter:blur(6px);
  font-size:13px; font-weight:600; color:#fff; margin-bottom:16px;}
.visa-pill svg{width:16px; height:16px; flex:none;}

.dest-kicker{display:inline-block; font-family:var(--mono); font-size:12.5px; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:8px;}

/* Ряд карточек-фактов, слегка «наплывает» на hero */
.facts{position:relative; z-index:5; padding:36px 0 8px; background:#fff;}
.fact-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
@media (max-width:1080px){.fact-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.fact-grid{grid-template-columns:repeat(2,1fr);}}
.fact-card{background:#fff; border:1.5px solid var(--fc,#F3202C);
  border-radius:16px; padding:22px 14px 18px; text-align:center;
  box-shadow:0 16px 32px -22px rgba(58,61,68,0.35); transition:transform .18s ease;}
.fact-card:hover{transform:translateY(-3px);}
.fact-card .ic{width:44px; height:44px; margin:0 auto 12px; border-radius:50%;
  background:color-mix(in srgb, var(--fc,#F3202C) 12%, transparent);
  color:var(--fc,#F3202C); display:flex; align-items:center; justify-content:center;}
.fact-card .ic svg{width:20px; height:20px;}
.fact-card .lbl{font-family:var(--mono); font-size:10.5px; letter-spacing:0.09em; text-transform:uppercase; color:var(--text-dim); font-weight:600;}
.fact-card .val{font-size:19px; font-weight:800; margin:4px 0 2px; line-height:1.15; color:var(--ink);}
.fact-card .sub{font-size:11.5px; color:var(--text-dim);}
.fact-card:nth-child(1){--fc:#F3202C;}
.fact-card:nth-child(2){--fc:#0E9CAB;}
.fact-card:nth-child(3){--fc:#1FA971;}
.fact-card:nth-child(4){--fc:#8A6BD8;}
.fact-card:nth-child(5){--fc:#E8A020;}
.fact-card:nth-child(6){--fc:#E0568A;}

/* Липкая нижняя панель с ценой */
.sticky-bar{position:fixed; left:0; right:0; bottom:0; z-index:70; background:#fff;
  border-top:1px solid var(--line); box-shadow:0 -10px 34px -14px rgba(0,0,0,0.18);
  transform:translateY(115%); transition:transform .32s ease;}
.sticky-bar.show{transform:none;}
.sticky-bar .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 24px;}
.sticky-bar .sb-price{line-height:1.2;}
.sticky-bar .sb-price b{font-size:19px; font-weight:800; color:var(--red);}
.sticky-bar .sb-price span{display:block; font-size:11.5px; color:var(--text-dim);}
.sticky-bar .sb-actions{display:flex; align-items:center; gap:10px;}
.sticky-bar .sb-icon{width:44px; height:44px; border-radius:10px; border:1.5px solid var(--line);
  display:flex; align-items:center; justify-content:center; flex:none; color:var(--ink);}
.sticky-bar .sb-icon svg{width:20px; height:20px;}
.sticky-bar .btn{padding:13px 22px;}
@media (max-width:640px){
  .sticky-bar .wrap{padding:9px 16px; gap:10px;}
  .sticky-bar .sb-price b{font-size:17px;}
  .sticky-bar .btn{padding:12px 16px; font-size:14px;}
  .sticky-bar .sb-icon{width:42px; height:42px;}
}
body:has(.sticky-bar) .float-call{display:none;}

/* ===== БЛОГ ===== */
.blog-hero{background:linear-gradient(155deg,#5A0B10 0%, #B71C22 55%, #E8482E 120%); color:#fff; padding:56px 0 46px;}
.blog-hero .eyebrow{color:var(--gold);} .blog-hero .eyebrow::before{background:var(--gold);}
.blog-hero h1{font-size:clamp(28px,3.6vw,42px); font-weight:800; letter-spacing:-0.01em; margin:12px 0 10px;}
.blog-hero p{color:rgba(255,255,255,0.85); font-size:15.5px; max-width:560px;}

.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:980px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px;
  overflow:hidden; transition:transform .2s ease, box-shadow .2s ease;}
.blog-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.blog-card .photo{height:180px; overflow:hidden; background:var(--gray-bg);}
.blog-card .photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.blog-card:hover .photo img{transform:scale(1.06);}
.blog-card .body{padding:18px 20px 22px; display:flex; flex-direction:column; flex:1;}
.blog-card .meta{display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:11px; color:var(--text-dim); margin-bottom:10px;}
.blog-card .meta .cat{background:var(--gray-bg); color:var(--red); padding:3px 9px; border-radius:999px; text-transform:uppercase; letter-spacing:.04em; font-weight:700;}
.blog-card h3{font-size:17px; font-weight:800; margin-bottom:8px; line-height:1.3;}
.blog-card p.excerpt{font-size:13.5px; color:var(--text-dim); margin-bottom:14px; flex:1;}
.blog-card .more{font-size:13px; font-weight:700; color:var(--ink);}
.blog-card:hover .more{color:var(--red);}

/* Статья */
.article-hero{padding:44px 0 8px;}
.article-hero .meta{display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-family:var(--mono); font-size:12px; color:var(--text-dim); margin-bottom:16px;}
.article-hero .meta .cat{background:var(--gray-bg); color:var(--red); padding:4px 10px; border-radius:999px; text-transform:uppercase; letter-spacing:.05em; font-weight:700;}
.article-hero h1{font-size:clamp(26px,3.6vw,40px); font-weight:800; letter-spacing:-0.01em; margin-bottom:14px; max-width:820px;}
.article-hero .lede{font-size:16.5px; color:var(--text-dim); max-width:720px; margin-bottom:24px;}
.article-cover{border-radius:18px; overflow:hidden; margin-bottom:8px; max-width:900px;}
.article-cover img{width:100%; height:auto; display:block;}

.article-layout{display:grid; grid-template-columns:minmax(0,760px) 280px; gap:48px; align-items:start; padding:40px 0 20px;}
@media (max-width:980px){.article-layout{grid-template-columns:1fr;}}

.article-toc{background:var(--gray-bg); border-radius:14px; padding:20px 22px; margin-bottom:32px;}
.article-toc b{display:block; font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-dim); margin-bottom:10px;}
.article-body .article-toc ol{list-style:none; counter-reset:toc; display:flex; flex-direction:column; gap:8px; margin:0;}
.article-body .article-toc li{counter-increment:toc; font-size:14px; font-weight:600; margin-bottom:0;}
.article-toc li::before{content:counter(toc) ". "; color:var(--red); font-weight:800;}
.article-toc a{color:var(--ink);} .article-toc a:hover{color:var(--red);}

.article-body h2{font-size:clamp(20px,2.4vw,26px); font-weight:800; letter-spacing:-0.01em; margin:36px 0 14px; scroll-margin-top:100px;}
.article-body h3{font-size:16.5px; font-weight:800; margin:22px 0 10px;}
.article-body p{font-size:15.5px; color:var(--ink); margin-bottom:16px;}
.article-body p.dim{color:var(--text-dim); font-size:14px;}
.article-body ul, .article-body ol{margin:0 0 16px 20px;}
.article-body ul{list-style:disc;} .article-body ol{list-style:decimal;}
.article-body li{font-size:15px; color:var(--ink); margin-bottom:8px; line-height:1.55;}
.article-body figure{margin:24px 0;}
.article-body figure img{width:100%; border-radius:14px; display:block;}
.article-body figcaption{font-size:12.5px; color:var(--text-dim); margin-top:8px; text-align:center;}
.article-body table{width:100%; border-collapse:collapse; margin:18px 0 24px; font-size:14px;}
.article-body th{background:var(--gray-bg); text-align:left; padding:11px 14px; font-weight:800; font-size:12.5px; text-transform:uppercase; letter-spacing:.03em; color:var(--text-dim);}
.article-body td{padding:11px 14px; border-bottom:1px solid var(--line);}
.article-body tr:last-child td{border-bottom:none;}

.tip-box{background:rgba(31,169,113,0.08); border:1px solid rgba(31,169,113,0.3); border-radius:14px; padding:18px 20px; margin:20px 0; font-size:14.5px;}
.tip-box b{color:#0E5A38;}
.warn-box{background:rgba(243,32,44,0.06); border:1px solid rgba(243,32,44,0.25); border-radius:14px; padding:18px 20px; margin:20px 0; font-size:14.5px;}
.warn-box b{color:var(--red-dark);}

.checklist{display:flex; flex-direction:column; gap:0; margin:0 0 20px; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.checklist label{display:flex; align-items:flex-start; gap:12px; padding:13px 16px; font-size:14.5px; cursor:pointer; border-bottom:1px solid var(--line); transition:background .15s ease;}
.checklist label:last-child{border-bottom:none;}
.checklist label:hover{background:var(--gray-bg);}
.checklist input{margin-top:3px; width:18px; height:18px; accent-color:var(--red); flex:none;}
.checklist input:checked + span{color:var(--text-dim); text-decoration:line-through;}

.mid-cta{background:var(--gray-bg); border-radius:16px; padding:26px 28px; margin:28px 0; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:space-between; gap:18px;}
.mid-cta p{font-size:15px; font-weight:700; margin:0; max-width:420px;}
.mid-cta .btn{flex:none;}

.article-sidebar .hero-card{position:sticky; top:96px;}
.related-wrap{padding:20px 0 70px;}
