/* base.css — общие стили GOSTI: шрифты, сброс, шапка/меню/модалка/футер,
   аккордеоны (day-panel), карусели (auto-scroll-track) — всё, что
   используется на каждой странице сайта. Перенесено из единого
   <style> блока прежнего прототипа V_Gory_GO.dc.html без изменений
   визуального результата. Постранично-специфичные стили (хиро главной,
   хиро тура, сетка «день за днём», карточки жилья и т.п.) — в
   home.css / tour.css. */

@font-face{font-family:'OKS Free';src:url('/fonts/oks-free.fb472a3fad.otf') format('opentype');font-display:swap}
@font-face{font-family:'DiTulum';src:url('/fonts/DiTulum3.128689aca5.otf') format('opentype');font-display:swap}
html{scroll-behavior:smooth}
body{margin:0;background:#F7F1E8;font-family:'Inter',sans-serif}
a{color:#E37822;text-decoration:none}
a:hover{color:#C7531C}
::selection{background:#F3AF54;color:#2A2520}
button{font-family:'Inter',sans-serif}

.full-photo{background-color:#EFE6D6}
.hero-photo{background-color:#2A2520;background-size:cover !important}
.photo-portrait{aspect-ratio:3/4;position:relative;overflow:hidden}
.photo-portrait-tall{aspect-ratio:2/3;position:relative;overflow:hidden}

/* Карточки-обложки: раньше CSS background-image, теперь настоящий
   lazy-loaded <img> (perf-требование из задачи рефакторинга) —
   абсолютно заполняет родителя, градиент-оверлей рисуется поверх. */
.card-cover-img{position:absolute;inset:0;width:100%;height:100%;display:block}

.auto-scroll-track{display:flex;gap:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.auto-scroll-track::-webkit-scrollbar{display:none}

.nav-mobile-only{display:none !important}
.mobile-menu-toggle{align-items:center;justify-content:center}
@media(max-width:640px){
  .nav-desktop-only{display:none !important}
  .nav-mobile-only{display:inline-block !important}
  .nav-mobile-only.mobile-menu-toggle{display:inline-flex !important}
}
@media(max-width:640px){
  .header-bar{gap:8px}
  .dest-back-arrow{display:none !important}
  .brand-group{gap:8px}
  .nav-group{gap:10px}
}

.day-panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows 0.35s cubic-bezier(0.4,0,0.2,1),opacity 0.25s ease,visibility 0s linear 0.35s}
.day-panel-open{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}
.day-panel-inner{min-height:0;overflow:hidden}
@media(prefers-reduced-motion:reduce){.day-panel{transition:none}}

.brand-mark-circle{position:relative;width:44px;height:44px;border-radius:50%;background:#E37822;overflow:hidden;flex:none;display:inline-flex;align-items:center;justify-content:center}
.brand-mark-circle .brand-mark-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.brand-mark-circle.brand-mark-circle-lg{width:46px;height:46px}
@media(max-width:640px){.brand-mark-circle{width:38px;height:38px}}
.brand-wordmark{font-family:'OKS Free',serif;font-size:clamp(20px,3.4vw,25px);line-height:1;color:#FBF4E7;letter-spacing:0.3px;white-space:nowrap;flex:none;position:relative;z-index:1}
@media(max-width:640px){.brand-wordmark{font-size:19px}}
.nav-link{transition:opacity 0.2s ease}
.nav-link:hover{opacity:0.72}
.header-bar{position:relative}
.header-bar::before{content:'';position:absolute;inset:0;border-radius:inherit;background-image:url(/media/brand/gosti-pattern-strip.1b2b2140d2.webp);background-repeat:repeat-x;background-position:left center;background-size:auto 68%;opacity:0.24;pointer-events:none;z-index:0}
@media(max-width:640px){.header-bar::before{background-size:auto 55%}}

/* Модалка заявки / мобильное меню: main.js снимает атрибут [hidden] и
   сам выставляет display:flex при открытии (а не CSS-классом) — так
   стандартное поведение [hidden]{display:none} из UA-стиля не
   перебивается собственным правилом автора. */

/* Approved OKS Free tracking, shared by every page and dialog. */
[style*="OKS Free"], .brand-wordmark{letter-spacing:0.07em!important}
.dest-hero-inner{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
/* Contact forms: intrinsic input widths must not push the surname out. */
.contact-name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
[data-request-form], [data-partner-form]{min-width:0;max-width:100%}
[data-request-form] input,[data-request-form] textarea,
[data-partner-form] input,[data-partner-form] textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
#request-modal{box-sizing:border-box;padding:16px!important;overflow-y:auto;overscroll-behavior:contain}
#request-modal-panel{box-sizing:border-box;min-width:0;max-width:420px;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;overflow-wrap:anywhere}
@media(max-width:420px){.contact-name-fields{grid-template-columns:minmax(0,1fr)}#request-modal-panel{padding:24px 20px!important}}
