/*
Theme Name: GoToTrip
Description: Путеводители из Молдовы. Единые адаптивные шаблоны главной, статей, архивов и подвала редактируются в Elementor.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: gototrip
*/
:root{--ink:#0C1224;--gold:#F4C542;--muted:#6B7280;--soft:#8A90A0;--line:#E8E9EE;--bg:#FCFBF8}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}
body.home{background:radial-gradient(45% 60% at 10% 32%,rgba(255,238,196,.5) 0,rgba(255,255,255,0) 70%) top left/100% 760px no-repeat,var(--bg)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.screen-reader-text{position:absolute;left:-9999px}
.wrap{width:90.8%;max-width:1380px;margin:0 auto}
.site-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 0}
.logo{font-weight:800;font-size:28px;letter-spacing:-.03em;line-height:1}
.logo span{color:var(--gold)}
.custom-logo-link img{max-height:56px;width:auto;display:block}
.nav ul{display:flex;gap:36px;list-style:none;margin:0 0 0 clamp(16px,9vw,150px);padding:0;font-size:15px;flex-wrap:wrap}
.nav a:hover,.nav .current-menu-item>a{color:#9B7418}
.hdr-r{margin-left:auto;display:flex;align-items:center;gap:30px}
.lang{display:flex;align-items:center;gap:8px;font-size:15px;color:#2A3042}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--ink);font-weight:700;border:0;border-radius:9px;cursor:pointer;font-family:inherit;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-sm{height:45px;padding:0 28px;font-size:15px}
.btn-lg{height:50px;padding:0 30px;font-size:17px;font-weight:800;margin-top:16px;box-shadow:0 6px 14px rgba(244,197,66,.24)}
.hg{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:3%;align-items:center;padding:22px 0 28px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;color:#A67C16;margin-bottom:14px}
.hero-h{margin:0 0 12px;font-size:clamp(32px,3.9vw,60px);line-height:1.08;letter-spacing:-.035em;font-weight:800}
.hero-p{margin:0 0 26px;font-size:clamp(15px,1.22vw,18px);line-height:1.5;color:#5B6272}
.fields{display:flex;gap:12px;flex-wrap:wrap}
.fld{display:flex;align-items:center;gap:10px;height:50px;padding:0 14px 0 16px;border:1px solid #E3E5EA;border-radius:9px;background:#fff;color:var(--muted);font-size:15px}
.fld input,.fld select{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:inherit;appearance:none;-webkit-appearance:none}
.fld input::placeholder{color:#9AA0AE}
.fld input[type=search]::-webkit-search-cancel-button{display:none}
.f1{flex:1.3 1 200px}.f2{flex:1 1 150px}.f3{flex:1.25 1 190px}
.hero-img{position:relative;display:block;aspect-ratio:2/1;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(15,27,61,.1)}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.badge{position:absolute;left:18px;bottom:14px;background:rgba(15,27,61,.92);color:#fff;border-radius:8px;padding:8px 14px;font-weight:600;font-size:14px;display:flex;gap:8px;align-items:center}
.strip{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
.fe{flex:1 1 260px;display:flex;gap:18px;align-items:center;padding:6px 20px 6px clamp(20px,4.6vw,68px)}
.fe+.fe{border-left:1px solid var(--line)}
.fe b{display:block;font-size:16.5px;margin-bottom:2px}
.fe span{font-size:14px;color:var(--soft)}
.pop{padding:26px 0 64px}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.sec-head h2{margin:0;font-size:clamp(22px,1.95vw,29px);letter-spacing:-.025em;font-weight:800}
.sec-head a{font-weight:500;font-size:15px;color:#1E3A6E}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:19px}
.card{display:flex;flex-direction:column;gap:3px}
.ph{aspect-ratio:2.5/1;border-radius:8px;overflow:hidden;margin-bottom:8px;display:block}
.ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.card:hover .ph img{transform:scale(1.04)}
.ph-empty{display:block;width:100%;height:100%;background:linear-gradient(170deg,#F8E6B5,#C7DDEE)}
.nm{font-size:17px;font-weight:700}
.nm span{font-weight:400;color:var(--soft)}
.meta{font-size:14.5px;color:var(--muted)}
.empty{color:var(--muted);font-size:16px;grid-column:1/-1}
.archive{padding:28px 0 64px}
.archive h1{margin:0 0 22px;font-size:clamp(28px,3vw,44px);letter-spacing:-.03em;font-weight:800}
.nav-links{display:flex;gap:8px;justify-content:center;margin:40px 0 0;flex-wrap:wrap}
.page-numbers{min-width:44px;height:44px;border:1px solid var(--line);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:0 12px}
.page-numbers.current{background:var(--gold);border-color:var(--gold);font-weight:700}
.post{max-width:760px;margin:0 auto;padding:28px 0 72px}
.post-cat{font-size:14px;color:var(--soft);margin-bottom:10px}
.post h1{margin:0 0 12px;font-size:clamp(30px,3.6vw,48px);line-height:1.1;letter-spacing:-.035em;font-weight:800}
.post .meta{margin-bottom:24px}
.post-img{border-radius:14px;overflow:hidden;margin-bottom:32px}
.post-img img{display:block;width:100%}
.entry p,.entry li{font-size:18px;line-height:1.7;color:#2A3042}
.entry h2{font-size:28px;letter-spacing:-.02em;margin:40px 0 12px}
.entry h3{font-size:22px;margin:32px 0 10px}
.entry img{border-radius:10px}
.entry a{color:#1E3A6E;text-decoration:underline}
.site-footer{border-top:1px solid var(--line);padding:24px 0;font-size:14px;color:var(--muted)}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:820px){.hg{grid-template-columns:1fr;gap:28px}.hdr-r{gap:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* GoToTrip mobile navigation and compact travel search */
.mobile-menu-toggle,
.mobile-menu,
.mobile-menu-overlay { display:none; }

@media (max-width:768px) {
  html, body { max-width:100%; overflow-x:hidden; }
  body { background:#FAF6EC; }
  body.mobile-menu-open { overflow:hidden; }

  html body .wrap { width:calc(100% - 32px); max-width:480px; margin-inline:auto; }
  html body .site-header {
    position:relative;
    z-index:auto;
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    width:100%;
    max-width:none;
    min-height:64px;
    margin:0;
    padding:8px 16px;
    border-bottom:1px solid #EFE9DB;
    background:#fff;
  }
  html body .site-header > .custom-logo-link,
  html body .site-header > .logo { flex:0 1 auto; min-width:0; }
  html body .site-header .custom-logo-link img {
    display:block;
    width:auto!important;
    height:36px!important;
    max-width:calc(100vw - 88px)!important;
    max-height:36px!important;
    object-fit:contain;
  }
  html body .site-header > .logo { font-size:24px; white-space:nowrap; }
  html body .site-header > .nav,
  html body .site-header > .hdr-r { display:none!important; }

  html body .mobile-menu-toggle {
    position:relative;
    z-index:1102;
    display:grid;
    place-items:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#1B2A4A;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-menu-toggle svg {
    display:block;
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.4;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-menu-toggle .close-icon { display:none; }
  .mobile-menu-toggle[aria-expanded="true"] .menu-icon { display:none; }
  .mobile-menu-toggle[aria-expanded="true"] .close-icon { display:block; }

  html body .mobile-menu-overlay {
    position:fixed;
    z-index:1100;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    border-radius:0;
    background:rgba(20,24,33,.35);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
    cursor:pointer;
  }
  html body .mobile-menu-overlay.is-visible { opacity:1; pointer-events:auto; }

  html body .mobile-menu {
    position:fixed;
    z-index:1101;
    top:0;
    right:0;
    display:flex;
    flex-direction:column;
    width:min(68vw,380px);
    min-width:232px;
    height:100vh;
    height:100dvh;
    box-sizing:border-box;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:76px 20px 20px;
    border:0;
    border-radius:0;
    background:#FFFFFF;
    box-shadow:-10px 0 35px rgba(18,32,53,.12);
    transform:translateX(100%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .3s ease, visibility 0s linear .3s;
    font-family:'Playfair Display', Georgia, serif;
    color:#1B2A4A;
  }
  html body .mobile-menu.is-open {
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
    transition:transform .3s ease, visibility 0s;
  }
  .mobile-menu-nav { display:flex; flex-direction:column; width:100%; }
  .mobile-menu-link,
  .mobile-menu-accordion {
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    padding:12px 2px;
    border:0;
    border-bottom:1px solid #F0EDE4;
    border-radius:0;
    background:transparent;
    color:#1B2A4A;
    text-align:left;
    text-decoration:none;
    font:500 15px/1.35 'Playfair Display',Georgia,serif;
  }
  .mobile-menu-accordion { cursor:pointer; }
  .mobile-menu-accordion[aria-expanded="true"] { color:#A3781E; }
  .mobile-menu-chevron {
    flex:0 0 18px;
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .25s ease;
  }
  .mobile-menu-accordion[aria-expanded="true"] .mobile-menu-chevron { transform:rotate(180deg); }

  .mobile-menu-submenu {
    max-height:0;
    overflow:hidden;
    border-left:1px solid #E9E2CE;
    margin:0 0 4px 12px;
    transition:max-height .25s ease;
  }
  .mobile-menu-submenu a {
    display:block;
    padding:8px 10px;
    color:#8C93A3;
    text-decoration:none;
    font:500 13px/1.4 'Playfair Display',Georgia,serif;
  }
  .mobile-menu-submenu a:hover,
  .mobile-menu-submenu a:focus-visible { color:#A3781E; }

  .mobile-menu-bottom {
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-top:auto;
    padding-top:18px;
  }
  .mobile-menu-language {
    display:flex;
    align-items:center;
    gap:9px;
    color:#8C93A3;
    font:500 13px/1.4 'Playfair Display',Georgia,serif;
  }
  .mobile-menu-language svg {
    width:19px;
    height:19px;
    fill:none;
    stroke:#8C93A3;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-menu-cta {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    box-sizing:border-box;
    padding:11px 14px;
    border:0;
    border-radius:9px;
    background:#F4C542;
    color:#1B2A4A;
    text-align:center;
    font:600 14px/1.3 'Onest',sans-serif;
  }

  .hg {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    padding:22px 0 20px;
  }
  .hg > div:first-child { min-width:0; }
  .eyebrow { margin-bottom:9px; font-size:10px; letter-spacing:.14em; }
  .hero-h {
    max-width:13ch;
    margin:0 0 9px;
    font-size:clamp(28px,8vw,32px);
    line-height:1.08;
    text-wrap:balance;
  }
  .hero-p {
    max-width:36ch;
    margin:0 0 16px;
    font-size:14px;
    line-height:1.5;
  }
  .fields { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
  .fld { width:100%; min-width:0; height:46px; box-sizing:border-box; padding:0 12px; font-size:14px; }
  .fld input,.fld select { min-width:0; width:100%; font-size:14px; }
  .btn-lg {
    display:flex;
    justify-content:center;
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    margin-top:10px;
    padding:10px 16px;
    font-size:15px;
  }
  .hero-img { width:100%; aspect-ratio:1.55/1; border-radius:12px; }
  .badge { left:10px; bottom:10px; padding:7px 10px; font-size:12px; }

  .strip { display:grid; grid-template-columns:minmax(0,1fr); padding:5px 0; }
  .fe { min-width:0; gap:13px; padding:12px 4px; }
  .fe+.fe { border-left:0; border-top:1px solid var(--line); }
  .fe b { font-size:15px; }
  .fe span { font-size:13px; line-height:1.4; }
  .pop { padding:22px 0 38px; }
  .sec-head { align-items:center; gap:8px; margin-bottom:13px; }
  .sec-head h2 { font-size:21px; line-height:1.2; }
  .sec-head a { font-size:12px; white-space:nowrap; }
  .grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .ph { aspect-ratio:1.7/1; border-radius:9px; margin-bottom:6px; }
  .nm { font-size:15px; line-height:1.35; }
  .meta { font-size:13px; line-height:1.4; }
  .site-footer { padding:20px 0; font-size:13px; }
}
/* Elementor homepage overrides: keep the hero readable on narrow phones. */
@media (max-width:768px) {
  html body.home .elementor.elementor-133 .gt-ref-wrap {
    width:100%;
    max-width:1280px;
    padding-inline:20px;
  }
  html body.home .elementor.elementor-133 .gt-ref-hero {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    padding:22px 0 20px;
  }
  html body.home .elementor.elementor-133 .gt-ref h1 {
    max-width:13ch;
    margin-bottom:8px!important;
    font-size:clamp(28px,8vw,32px)!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
    text-wrap:balance;
  }
  html body.home .elementor.elementor-133 .gt-ref-lead {
    max-width:36ch;
    margin-bottom:15px;
    font-size:15px;
    line-height:1.5;
  }
  html body.home .elementor.elementor-133 .gt-ref-search {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    width:100%;
  }
  html body.home .elementor.elementor-133 .gt-ref-search > .gt-ref-field:first-child {
    grid-column:1/-1;
  }
  html body.home .elementor.elementor-133 .gt-ref-field {
    min-width:0;
    height:46px;
    padding-inline:10px;
    gap:7px;
  }
  html body.home .elementor.elementor-133 .gt-ref-field input,
  html body.home .elementor.elementor-133 .gt-ref-field select {
    min-width:0;
    font-size:12px;
  }
  html body.home .elementor.elementor-133 .gt-ref-cta {
    width:100%;
    min-height:46px;
    justify-content:center;
    margin-top:9px;
    padding:10px 14px;
  }
  html body.home .elementor.elementor-133 .gt-ref-photo { height:auto; aspect-ratio:1.5/1; }
}
@media (max-width:390px) {
  html body.home .elementor.elementor-133 .gt-ref-wrap { padding-inline:16px; }
  html body.home .elementor.elementor-133 .gt-ref-lead { font-size:14px; }
  html body.home .elementor.elementor-133 .gt-ref-field input,
  html body.home .elementor.elementor-133 .gt-ref-field select { font-size:11.5px; }
  html body.home .elementor.elementor-133 .gt-ref-hero { gap:16px; }
}
/* Keep Elementor travel content inset across tablets, including landscape iPads. */
@media (max-width:1200px) {
  html body.home .elementor.elementor-133 .gt-ref-wrap {
    width:calc(100% - clamp(32px, 8vw, 88px))!important;
    max-width:960px!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  html body.home .elementor.elementor-133 .gt-ref-popular {
    padding-inline:clamp(20px, 4vw, 48px)!important;
  }
  html body.home .elementor.elementor-133 .gt-ref-benefits {
    padding-inline:clamp(12px, 2vw, 24px)!important;
  }
}
/* Unified warm-yellow accents for the Elementor travel homepage. */
html body.home .elementor.elementor-133 .gt-ref {
  --gold:#F4C542!important;
}
html body.home .elementor.elementor-133 .gt-ref-kicker {
  color:#A67C16!important;
}
html body.home .elementor.elementor-133 .gt-ref-benefit svg .accent {
  stroke:#D6AA27!important;
}
html body.home .elementor.elementor-133 .gt-ref-cta {
  background:#F4C542!important;
  box-shadow:0 5px 14px rgba(244,197,66,.24);
}
html body.home .elementor.elementor-133 .gt-ref-cta:hover {
  background:#F7D76A!important;
}
@media (prefers-reduced-motion:reduce) {
  .mobile-menu,.mobile-menu-overlay,.mobile-menu-chevron,.mobile-menu-submenu { transition:none!important; }
}
