/* Справочник виз — светлая тема, мобильный приоритет */

/* выбор гражданства */
.vhero{padding:52px 0 26px}
.vhero h1{font:800 clamp(28px,4.6vw,44px)/1.14 Inter,sans-serif;letter-spacing:-.025em;
  color:var(--ink);margin:0 0 14px;max-width:760px}
.vhero-p{font-size:17px;color:var(--tx2);max-width:640px;margin:0 0 30px;line-height:1.62}
.citpick-l{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--tx3);font-weight:700;margin-bottom:12px}
.citpick-row{display:flex;gap:9px;flex-wrap:wrap}
.citbtn{display:inline-flex;align-items:center;gap:9px;padding:9px 15px 9px 10px;border-radius:12px;
  background:#fff;border:1px solid var(--line);color:var(--tx2);font-size:14px;font-weight:500;
  box-shadow:var(--shadow);transition:.22s}
.citbtn img{width:24px;height:17px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.07)}
.citbtn:hover{border-color:#c9bcee;color:var(--ind);transform:translateY(-1px)}
.citbtn.on{background:var(--ind-soft);border-color:#a98cf0;color:var(--ind);font-weight:700}

/* группы направлений */
.vlist{padding-top:20px}
.vgroup{margin-bottom:44px}
.vgroup-h{margin-bottom:18px}
.vgroup-h h2{font:800 21px Inter,sans-serif;color:var(--ink);margin:0 0 5px;display:flex;align-items:center;gap:10px}
.vgroup-h h2 b{font:700 12px var(--fmono);color:var(--ind);background:var(--ind-soft);
  padding:3px 9px;border-radius:8px}
.vgroup-h p{margin:0;color:var(--tx3);font-size:14px}

.vcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(305px,1fr));gap:12px}
.vcard{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.vcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#d6cdf3}
.vcard-f{width:46px;height:34px;border-radius:8px;overflow:hidden;flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(0,0,0,.07)}
.vcard-f img{width:100%;height:100%;object-fit:cover;display:block}
.vcard-t{flex:1;min-width:0}
.vcard-t b{display:block;font:700 15.5px Inter,sans-serif;color:var(--ink)}
.vcard-t span{font-size:12.5px;color:var(--tx3)}
.vcard-p{text-align:right;flex:0 0 auto}
.vcard-p b{display:block;font:800 14.5px Inter,sans-serif;color:var(--ind)}
.vcard-p span{font-size:10.5px;color:var(--tx3)}
.vcard-p i{width:18px;height:18px;color:#c9c3e4}
.vcard.visa_free .vcard-p i{color:var(--teal)}

/* блок круизов */
.cruise-cta{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow-lg)}
.cruise-txt h2{font:800 26px/1.22 Inter,sans-serif;color:var(--ink);margin:0 0 13px}
.cruise-txt p{color:var(--tx2);font-size:15px;line-height:1.65;margin:0 0 22px}
.cruise-img{position:relative;border-radius:18px;overflow:hidden;min-height:230px;background:#eee}
.cruise-img img{width:100%;height:100%;object-fit:cover;display:block;min-height:230px}
.cruise-cap{position:absolute;left:14px;bottom:12px;padding:6px 12px;border-radius:9px;
  background:rgba(30,27,57,.62);color:#fff;font-size:12px;font-weight:600;backdrop-filter:blur(6px)}

/* фото страны над карточкой направления */
.dcover{position:relative;height:280px;overflow:hidden;margin-bottom:-120px}
.dcover img{width:100%;height:100%;object-fit:cover;display:block;
  animation:coverIn 1.2s var(--ease) both}
@keyframes coverIn{from{transform:scale(1.06);opacity:.65}to{transform:none;opacity:1}}
.dcover-fade{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(246,245,253,.15) 0%,rgba(246,245,253,.55) 55%,var(--bg) 100%)}
.dhero.with-cover{position:relative;z-index:2;padding-top:14px}
.dhero.with-cover .back{background:rgba(255,255,255,.92);padding:8px 14px;border-radius:11px;
  box-shadow:var(--shadow)}

/* карточка направления */
.dhero{padding:26px 0 34px;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0))}
.back{display:inline-flex;align-items:center;gap:8px;color:var(--ind);font-size:14px;
  font-weight:600;margin-bottom:22px}
.back i{width:16px;height:16px}
.dhero-in{display:flex;align-items:center;gap:20px;margin-bottom:26px}
.dflag{width:86px;height:62px;border-radius:13px;overflow:hidden;flex:0 0 auto;
  box-shadow:0 6px 18px rgba(76,46,158,.15),0 0 0 1px rgba(0,0,0,.06)}
.dflag img{width:100%;height:100%;object-fit:cover;display:block}
.dhero-sub{font-size:12.5px;color:var(--tx3);font-weight:600}
.dhero-t h1{font:800 clamp(28px,4.4vw,42px)/1.1 Inter,sans-serif;letter-spacing:-.025em;
  color:var(--ink);margin:3px 0 11px}
.dbadge{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;
  font-size:13.5px;font-weight:700}
.dbadge i{width:16px;height:16px}
.dbadge.ok{background:#e6f9f1;color:#127a51}
.dbadge.soft{background:#eaf4ff;color:#25659e}
.dbadge.need{background:var(--ind-soft);color:var(--ind)}

.dfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}
.dfact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 17px;box-shadow:var(--shadow)}
.dfact span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--tx3);font-weight:700;margin-bottom:6px}
.dfact b{display:block;font:800 18px Inter,sans-serif;color:var(--ink)}
.dfact em{font-style:normal;font-size:11.5px;color:var(--tx3)}
.dfact.hot{background:linear-gradient(135deg,#f4841e,#f9a03f);border-color:transparent}
.dfact.hot span,.dfact.hot em{color:rgba(255,255,255,.88)}
.dfact.hot b{color:#fff}

.dsec{padding-top:8px}
.dgrid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
.dblock{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;
  box-shadow:var(--shadow);margin-bottom:16px}
.dblock h2{display:flex;align-items:center;gap:10px;font:800 19px Inter,sans-serif;
  color:var(--ink);margin:0 0 18px}
.dblock h2 i{width:20px;height:20px;color:var(--ind2)}
.dlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.dlist li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--tx);line-height:1.55}
.dlist i{width:18px;height:18px;color:var(--teal);flex:0 0 auto;margin-top:2px}
.dsteps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
.dsteps li{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;color:var(--tx);line-height:1.55}
.dsteps b{width:26px;height:26px;border-radius:9px;background:var(--ind-soft);color:var(--ind);
  display:grid;place-items:center;font:800 12.5px var(--fmono);flex:0 0 auto;margin-top:1px}
.dnote{display:flex;gap:14px;align-items:flex-start;background:#fff8ee;border:1px solid #f8d9ac;
  border-radius:18px;padding:20px 22px;margin-bottom:16px}
.dnote i{width:20px;height:20px;color:var(--orange);flex:0 0 auto;margin-top:2px}
.dnote b{display:block;color:#8a5207;font-size:14.5px;margin-bottom:6px}
.dnote p{margin:0;color:#8a5207;font-size:14px;line-height:1.62;opacity:.92}
.ddisclaimer{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;
  background:#f4f3fb;border:1px solid var(--line2)}
.ddisclaimer i{width:17px;height:17px;color:var(--tx3);flex:0 0 auto;margin-top:2px}
.ddisclaimer p{margin:0;font-size:13px;color:var(--tx2);line-height:1.6}

.dside{position:sticky;top:92px;display:grid;gap:14px}
.dcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.dcard.soft{background:var(--ind-soft);border-color:#ddd2f8}
.dcard h3{font:800 17px Inter,sans-serif;color:var(--ink);margin:0 0 12px}
.dcard-p{font-size:14px;color:var(--tx2);line-height:1.62;margin:0 0 18px}
.dprice{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:13px 16px;border-radius:13px;background:var(--ind-soft);margin-bottom:16px}
.dprice span{font-size:12.5px;color:var(--tx2)}
.dprice b{font:800 19px Inter,sans-serif;color:var(--ind)}
.w100{width:100%}
.mt10{margin-top:10px}

@media (max-width:980px){
  .dgrid{grid-template-columns:1fr}
  .dside{position:static}
  .cruise-cta{grid-template-columns:1fr;gap:24px;padding:26px}
  .cruise-img{min-height:190px}
}
@media (max-width:640px){
  .dcover{height:190px;margin-bottom:-96px}
  .dhero.with-cover .back{top:-160px;margin-bottom:-24px}
  .vhero{padding:34px 0 20px}
  .vhero-p{font-size:15.5px;margin-bottom:24px}
  .citpick-row{gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .citpick-row::-webkit-scrollbar{display:none}
  .citbtn{flex:0 0 auto;scroll-snap-align:start}
  .vcards{grid-template-columns:1fr;gap:10px}
  .vgroup{margin-bottom:34px}
  .vgroup-h h2{font-size:19px}
  .dhero-in{gap:14px}
  .dflag{width:64px;height:46px;border-radius:11px}
  .dfacts{grid-template-columns:1fr 1fr;gap:10px}
  .dfact{padding:13px 14px}
  .dfact b{font-size:16px}
  .dblock{padding:20px 18px;border-radius:18px}
  .dblock h2{font-size:17px}
  .dnote{padding:17px 18px}
  .cruise-txt h2{font-size:22px}
}
