/*
 * GH - типография, хедър и банер
 * Зарежда се след style.css на темата.
 */

:root {
  --title-font: "Sofia Sans Condensed", "Sofia Sans", sans-serif;
  --body-font: "Sofia Sans", sans-serif;
  --style-font: "Caveat", cursive;

  --gh-navy: #04245C;
  --gh-blue: #0649BC;      /* тъмното синьо от логото — заглавия */
  --gh-cyan: #01B4F3;      /* светлото синьо от логото — бутони */
  --gh-orange: #F97B22;

  /* презаписваме цветовете на темата */
  --theme-color: #01B4F3;
  --primary-color: #01B4F3;
  --title-color: #0649BC;
  --body-color: #5B6C89;

  /* в бранда няма черно — всичко тъмно е navy */
  --black-color: #04245C;
  --black-color2: #04245C;
}

/* ============================================================
   ТИПОГРАФИЯ — наложена глобално
   Elementor записва шрифт за всеки виджет поотделно,
   затова тук трябва !important.
   ============================================================ */
body,
p, li, td, th, span, div, a,
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  font-family: "Sofia Sans", sans-serif;
}

body,
p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--body-color);
}

@media (max-width: 767px) {
  body, p,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p { font-size: 15px; }
}

/* Заглавия — тъмното синьо от логото */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.sec-title, .box-title,
.elementor-widget-tourmsectiontitle .sec-title {
  font-family: "Sofia Sans Condensed", "Sofia Sans", sans-serif !important;
  font-weight: 800;
  letter-spacing: -0.005em;
  color: var(--gh-blue);
}
h1, .h1 { line-height: 1.02; }
h2, .h2 { line-height: 1.06; }

/* Белите заглавия върху снимка си остават бели */
.text-white, .text-white h1, .text-white h2, .text-white h3,
.hero-style11 .hero-title,
[class*="bg-"] .text-white { color: #FFFFFF !important; }

/* Надзаглавия — ръкописен Caveat */
.sub-title,
.section-subtitle,
.elementor-widget-tourmsectiontitle .sub-title {
  font-family: "Caveat", cursive !important;
  font-weight: 600 !important;
  font-style: normal !important;
}


/* ============================================================
   БУТОНИ — светлосиньо, при hover тъмносиньо
   ============================================================ */
.th-btn,
.elementor-widget-tourmbutton .th-btn,
button.th-btn,
input[type="submit"],
.wp-block-button__link,
.wte-btn, .wpte-btn,
.trip-search-btn {
  background-color: var(--gh-cyan) !important;
  border-color: var(--gh-cyan) !important;
  color: #FFFFFF !important;
  transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}

.th-btn:hover, .th-btn:focus,
.elementor-widget-tourmbutton .th-btn:hover,
button.th-btn:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.wte-btn:hover, .wpte-btn:hover,
.trip-search-btn:hover {
  background-color: var(--gh-blue) !important;
  border-color: var(--gh-blue) !important;
  color: #FFFFFF !important;
}

/* Бутони с контур */
.th-btn.style2,
.th-btn.style-border {
  background-color: transparent !important;
  border: 1px solid var(--gh-cyan) !important;
  color: var(--gh-cyan) !important;
}
.th-btn.style2:hover,
.th-btn.style-border:hover {
  background-color: var(--gh-blue) !important;
  border-color: var(--gh-blue) !important;
  color: #FFFFFF !important;
}


/* ============================================================
   4. БАНЕР — точно 700px на десктоп
   Темата даваше .hero-style11 { padding: 296px 0 390px } — над 680px
   само отстъпи. Сега височината се задава от слайда, а съдържанието
   се центрира вертикално в него.
   ============================================================ */
/* ВАЖНО: не пипай .swiper-slide — Swiper си управлява сам лейаута му.
   Височината се задава само от отстъпите на съдържанието. */
.hero-style11 {
  padding: 175px 0 185px 0;
}

@media (max-width: 1199px) {
  .hero-style11 { padding: 130px 0 140px 0; }
}

@media (max-width: 767px) {
  .hero-style11 { padding: 95px 0 105px 0; }
}


/* Банер — типография */
.hero-style11 .sub-title {
  font-family: var(--style-font);
  font-size: 42px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 2px;
}

.hero-style11 .hero-title {
  font-size: 74px;
  line-height: 1.03;
  letter-spacing: -0.01em;
  text-transform: none;
  margin-bottom: 24px;
}

@media (max-width: 1199px) {
  .hero-style11 .sub-title { font-size: 34px; }
  .hero-style11 .hero-title { font-size: 54px; }
}

@media (max-width: 767px) {
  .hero-style11 .sub-title { font-size: 27px; }
  .hero-style11 .hero-title { font-size: 36px; margin-bottom: 18px; }
}

.sub-title,
.shape-title,
.style-font { font-weight: 600; }


/* ============================================================
   ПРЕЛОУДЪР — въртяща се планета вместо буквите TOURM
   ============================================================ */
#preloader,
.preloader,
.th-preloader {
  background-color: var(--gh-navy) !important;
}

.animation-preloader {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.gh-preloader-planet {
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: gh-planet-spin 2.4s linear infinite;
}

.gh-preloader-planet img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@keyframes gh-planet-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.gh-preloader-word {
  font-family: "Sofia Sans Condensed", sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #FFFFFF;
  opacity: 0.9;
  animation: gh-word-pulse 1.6s ease-in-out infinite;
}

@keyframes gh-word-pulse {
  0%, 100% { opacity: 0.45; }
  50%      { opacity: 1; }
}

/* Бутонът „Пропусни“ */
.preloaderCls {
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  color: #FFFFFF !important;
}
.preloaderCls:hover {
  background-color: #FFFFFF !important;
  color: var(--gh-navy) !important;
}

/* Хората, които са изключили анимациите, не трябва да виждат въртене */
@media (prefers-reduced-motion: reduce) {
  .gh-preloader-planet,
  .gh-preloader-word { animation: none; }
}

@media (max-width: 767px) {
  .gh-preloader-planet { width: 72px; height: 72px; }
  .gh-preloader-word { font-size: 17px; }
}


/* ============================================================
   КОЛАЖ "ЗА НАС" (.img-box12)
   Темата дава img { width: auto }, т.е. снимката се рисува в естествения
   си размер и излиза извън контейнера, ако файлът е по-голям.
   Ние държим файловете 2x за retina, затова ги свиваме тук.
   ============================================================ */
.img-box12 .img1 img,
.img-box12 .img3 img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.img-box12 .img1 {
  max-width: 317px;
  overflow: hidden;
}
.img-box12 .img1 img { height: 440px; }

.img-box12 .img3 {
  min-width: 0;
  width: 208px;
  max-width: 208px;
  overflow: hidden;
}
.img-box12 .img3 img { height: 285px; }

.img-box12 .img2 {
  width: 232px;
  max-width: 232px;
}
.img-box12 .img2 img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}

/* На телефон темата ги подрежда една под друга — даваме им пълна ширина */
@media (max-width: 767px) {
  .img-box12 .img1,
  .img-box12 .img2,
  .img-box12 .img3 {
    width: 100%;
    max-width: 100%;
    margin-bottom: 16px;
  }
  .img-box12 .img1 img { height: 320px; }
  .img-box12 .img2 img { height: 260px; }
  .img-box12 .img3 img { height: 260px; }
}


/* ============================================================
   ДЕСТИНАЦИИ — еднаква височина на картите
   Темата не задава височина, затова всяка карта излиза различна.
   Запазваме стъпаловидното изместване, но редовно: една горе, една долу.
   ============================================================ */
.destinationSlider10 .destination-item4,
.destinationSlide9 .destination-item4 {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}

.destinationSlider10 .destination-item4_img,
.destinationSlide9 .destination-item4_img {
  height: 380px;
  border-radius: 20px;
  overflow: hidden;
}

.destinationSlider10 .destination-item4_img img,
.destinationSlide9 .destination-item4_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.destinationSlider10 .swiper-slide:nth-child(even) .destination-item4 { margin-top: 60px; }
.destinationSlider10 .swiper-slide:nth-child(odd)  .destination-item4 { margin-top: 0; }

.destinationSlider10 .swiper-slide { height: auto; }
.destinationSlider10 .swiper-wrapper { align-items: flex-start; }

@media (max-width: 991px) {
  .destinationSlider10 .destination-item4_img { height: 320px; }
  .destinationSlider10 .swiper-slide:nth-child(even) .destination-item4 { margin-top: 0; }
}

/* ============================================================
   КОНТАКТНИ КАРТИ — иконките в navy от навигацията
   Темата ги дава в #113D48, а при hover и на последната карта
   преминават към акцентния цвят. Изравняваме ги.
   ============================================================ */
.about-contact-grid .about-contact-icon,
.about-contact-grid.style2 .about-contact-icon,
.about-contact-grid:hover .about-contact-icon,
.about-contact-grid.style2:hover .about-contact-icon,
.about-contact-grid.active .about-contact-icon {
  background-color: var(--gh-navy) !important;
}

.about-contact-grid .about-contact-icon img {
  filter: brightness(0) invert(1);
}

/* Заглавието на картата — синьото от логото */
.about-contact-details .box-title {
  color: var(--gh-blue) !important;
}

/* Текстът и линковете вътре */
.about-contact-details-text,
.about-contact-details-text a {
  color: var(--gh-navy);
}
.about-contact-details-text a:hover {
  color: var(--gh-cyan);
}

/* ============================================================
   КОНТАКТНИ КАРТИ — еднаква височина
   Адресът е на три реда, телефонът на един — без фиксирана
   височина всяка карта става различна.
   ============================================================ */
.elementor-widget-tourmcontactinfo .row {
  align-items: stretch;
}

.elementor-widget-tourmcontactinfo .row > [class*="col-"] {
  display: flex;
}

.about-contact-grid,
.about-contact-grid.style2 {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 150px;
  padding: 26px 28px;
  margin: 0;
  border-radius: 18px;
}

.about-contact-grid .about-contact-icon {
  flex: 0 0 auto;
  width: 68px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.about-contact-grid .about-contact-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-contact-details .box-title {
  margin-bottom: 6px;
}

.about-contact-details-text {
  margin-bottom: 2px;
  line-height: 1.5;
}
.about-contact-details-text:last-child { margin-bottom: 0; }

@media (max-width: 991px) {
  .about-contact-grid,
  .about-contact-grid.style2 { min-height: 0; padding: 20px 22px; }
}

/* ============================================================
   ОТСТЪПИ НА СЕКЦИИТЕ
   Темата ползва --section-space за .space-top и .space-extra-bottom.
   За туристически сайт стойността по подразбиране е твърде голяма.
   ============================================================ */
:root {
  --section-space: 70px;
  --section-space-mobile: 46px;
}

.space-top    { padding-top: 50px !important; }
.space-bottom { padding-bottom: 60px !important; }
.space        { padding-top: 50px !important; padding-bottom: 60px !important; }
.space-extra-top    { padding-top: 40px !important; }
.space-extra-bottom { padding-bottom: 60px !important; }

@media (max-width: 991px) {
  .space-top    { padding-top: 34px !important; }
  .space-bottom { padding-bottom: 40px !important; }
  .space        { padding-top: 34px !important; padding-bottom: 40px !important; }
  .space-extra-top    { padding-top: 26px !important; }
  .space-extra-bottom { padding-bottom: 40px !important; }
}

/* Съдържанието на обикновените страници */
.page--content > h2:first-child,
.page--content > h1:first-child { margin-top: 0; }


/* ============================================================
   СЕКЦИЯ С КАРТИ (testimonial виджет)
   Нямаме снимки и звезди — скриваме ги.
   ============================================================ */
.testi-card .testi-avater,
.testi-card .testi-card_img,
.testi-box .testi-avater,
.testi-box_img,
.testi-card_profile > .testi-avater,
.testi-card img[src*="testi_"],
.testi-card .client-img,
.testi-grid_avater {
  display: none !important;
}

/* Звездите нямат смисъл 
без реални оценки */
.testi-card .testi-card_review,
.testi-box .testi-box_review,
.testi-card .star-rating,
.testi-card_review,
.testi-grid_review {
  display: none !important;
}

/* Без снимка текстът трябва да тръгне от левия ръб */
.testi-card_profile,
.testi-box_profile {
  padding-left: 0 !important;
  min-height: 0 !important;
}

/* Снимката и звездите в картите — верните класове */
.testi-card_avater,
.testi-card_review,
.testi-box_avater,
.testi-box_review {
  display: none !important;
}

.testi-card_profile,
.testi-box_profile {
  padding-left: 0 !important;
  min-height: 0 !important;
  margin-bottom: 10px;
}

.testi-card_wrapper {
  display: block !important;
}

.testi-card .box-title.name {
  font-size: 19px;
  margin-bottom: 2px;
}

.testi-card_text {
  font-size: 16px;
  line-height: 1.6;
}


/* Големите секционни заглавия са твърде едри */
.elementor-widget-tourmsectiontitle .sec-title,
.sec-title {
  font-size: 40px;
  line-height: 1.08;
}

@media (max-width: 1199px) {
  .elementor-widget-tourmsectiontitle .sec-title,
  .sec-title { font-size: 32px; }
}

@media (max-width: 767px) {
  .elementor-widget-tourmsectiontitle .sec-title,
  .sec-title { font-size: 26px; }
}

/* ============================================================
   ФУТЪР — цветовете на бранда
   Темата го дава в тъмнозелено. Минава на navy.
   ============================================================ */
.footer-wrapper,
.footer-wrapper.bg-theme,
.footer-wrapper .widget-area,
.footer-default {
  background-color: var(--gh-navy) !important;
}

.footer-wrapper .copyright-wrap,
.footer-wrapper .copyright-wrap.bg-light {
  background-color: #031B45 !important;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-wrapper,
.footer-wrapper p,
.footer-wrapper li,
.footer-wrapper .copyright-text {
  color: #C6D5EC;
}

.footer-wrapper .widget_title,
.footer-wrapper .widget-title,
.footer-wrapper h3,
.footer-wrapper h4 {
  color: #FFFFFF !important;
}

.footer-wrapper a { color: #C6D5EC; }
.footer-wrapper a:hover { color: var(--gh-cyan); }

.footer-wrapper .about-contact-icon,
.footer-wrapper .footer-contact_icon {
  background-color: rgba(255,255,255,0.10) !important;
}

.footer-wrapper .footer-logo img,
.footer-wrapper .widget_about img {
  max-width: 200px;
  height: auto;
}

.gh-credit { margin: 0; text-align: right; }
.gh-credit a { color: var(--gh-cyan); font-weight: 600; text-decoration: none; }
.gh-credit a:hover { color: #FFFFFF; }

@media (max-width: 991px) {
  .gh-credit { text-align: left; }
}


/* ---- Плуващи иконки: самолет, кораб и автобус ---- */
.footer-wrapper { position: relative; overflow: hidden; }

.gh-float {
  position: absolute;
  color: rgba(255,255,255,0.16);
  pointer-events: none;
  z-index: 0;
}

.gh-float--plane {
  top: 12%; left: 4%;
  font-size: 46px;
  animation: gh-fly 9s ease-in-out infinite;
}
.gh-float--ship {
  bottom: 26%; left: 2%;
  font-size: 40px;
  animation: gh-wave 6s ease-in-out infinite;
}
.gh-float--bus {
  top: 22%; right: 4%;
  font-size: 42px;
  animation: gh-drive 11s linear infinite;
}

@keyframes gh-fly {
  0%, 100% { transform: translate(0, 0) rotate(-8deg); }
  50%      { transform: translate(26px, -14px) rotate(-2deg); }
}

@keyframes gh-wave {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50%      { transform: translateY(-10px) rotate(3deg); }
}

@keyframes gh-drive {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(-30px); }
}

@media (prefers-reduced-motion: reduce) {
  .gh-float { animation: none; }
}

@media (max-width: 991px) {
  .gh-float { display: none; }
}

/* ============================================================
   ДЕКОРАТИВНИ ФИГУРИ
   На десктоп са абсолютно позиционирани. На таблет и телефон
   колоните се подреждат една под друга и те заемат място отгоре.
   ============================================================ */
@media (max-width: 1199px) {
  .elementor-widget-tourmshapeimage {
    display: none !important;
  }
}

/* ============================================================
   КОЛАЖ img-box3 — същата форма, по-малък размер
   Снимките се вадят в естествения си размер и преливат.
   ============================================================ */
.img-box3 {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
}

.img-box3 .img1 img {
  width: 100%;
  max-width: 420px;
  height: 520px;
  object-fit: cover;
  border-radius: 22px;
  display: block;
}

.img-box3 .img2 {
  position: absolute;
  right: 0;
  bottom: 12%;
  z-index: 2;
}
.img-box3 .img2 img {
  width: 250px;
  height: 200px;
  object-fit: cover;
  border-radius: 18px;
  border: 7px solid #FFFFFF;
  box-shadow: 0 10px 28px rgba(4, 36, 92, 0.16);
  display: block;
}

.img-box3 .img3 {
  position: absolute;
  left: 0;
  bottom: -9%;
  z-index: 3;
}
.img-box3 .img3 img {
  width: 190px;
  height: 240px;
  object-fit: cover;
  border-radius: 18px;
  border: 7px solid #FFFFFF;
  box-shadow: 0 10px 28px rgba(4, 36, 92, 0.16);
  display: block;
}

@media (max-width: 1399px) {
  .img-box3 { max-width: 440px; }
  .img-box3 .img1 img { max-width: 360px; height: 450px; }
  .img-box3 .img2 img { width: 215px; height: 172px; }
  .img-box3 .img3 img { width: 165px; height: 205px; }
}

@media (max-width: 1199px) {
  .img-box3 { max-width: 460px; margin-bottom: 60px; }
}

@media (max-width: 575px) {
  .img-box3 { max-width: 100%; margin-bottom: 40px; }
  .img-box3 .img1 img { max-width: 78%; height: 340px; }
  .img-box3 .img2 img { width: 155px; height: 125px; border-width: 5px; }
  .img-box3 .img3 img { width: 125px; height: 160px; border-width: 5px; }
  .img-box3 .img3 { bottom: -6%; }
}

/* ============================================================
   ФУТЪР (footer builder — класът е .footer-layout4, не .footer-wrapper)
   ============================================================ */
footer .footer-layout4,
footer .elementor > .e-con-parent,
.footer-layout4 {
  background-color: var(--gh-navy) !important;
}

footer .copyright-wrap,
footer .footer-layout4 > .e-con:last-child {
  background-color: #031B45 !important;
}

footer:not(.entry-footer), footer:not(.entry-footer) p, footer:not(.entry-footer) li, footer .about-text {
  color: #C6D5EC;
}

footer .widget_title,
footer .widget-title,
footer h3, footer h4 { color: #FFFFFF !important; }

footer:not(.entry-footer) a { color: #C6D5EC; }
footer:not(.entry-footer) a:hover { color: var(--gh-cyan); }

footer .about-logo img,
footer .th-widget-about img { max-width: 210px; height: auto; }

footer .about-contact-icon,
footer .footer-contact_icon,
footer .about-contact-grid .about-contact-icon {
  background-color: rgba(255,255,255,0.10) !important;
}

/* контактните данни във футъра трябва да са четими */
footer .about-contact-details-text,
footer .about-contact-details-text a { color: #C6D5EC !important; }
footer .about-contact-details-text a:hover { color: var(--gh-cyan) !important; }
footer .about-contact-details .box-title { color: #FFFFFF !important; }

.gh-credit { margin: 0; text-align: right; }
.gh-credit a { color: var(--gh-cyan) !important; font-weight: 600; text-decoration: none; }
.gh-credit a:hover { color: #FFFFFF !important; }

@media (max-width: 991px) { .gh-credit { text-align: left; } }

/* Плуващите иконки — контейнерът е footer, не .footer-wrapper */
footer:not(.entry-footer) { position: relative; overflow: hidden; }

/* Таблици в правните страници */
.page--content table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0 26px 0;
  font-size: 15px;
}
.page--content table th {
  background: #EAF1FC;
  color: var(--gh-navy);
  font-weight: 700;
  text-align: left;
  padding: 11px 14px;
  border: 1px solid #D8E4F7;
}
.page--content table td {
  padding: 11px 14px;
  border: 1px solid #E8EEF9;
  vertical-align: top;
}
.page--content table tr:nth-child(even) td { background: #F8FAFE; }

.page--content h3 { margin-top: 30px; }
.page--content ul { margin-bottom: 20px; }



/* ============================================================
   СТАТИИ — без автор, дата и коментари
   При фирмен блог „DesignArea, August 31" не носи стойност
   и старее с времето.
   ============================================================ */
.blog-meta,
.blog-box .blog-meta,
.blog-card .blog-meta,
.blog-single .blog-meta,
.blog-details .blog-meta,
.th-blog .blog-meta,
.post-meta,
.blog-content > .blog-meta {
  display: none !important;
}

/* Коментари и форма за коментар */
.th-comment-form,
.th-comments-wrap,
.comment-respond,
#comments,
#respond,
.comments-area,
.comment-form,
.blog-single .comments-wrap {
  display: none !important;
}

/* Заглавието да не виси след махнатата лента */
.blog-content .blog-title,
.blog-box_content .box-title { margin-top: 0; }



/* ============================================================
   НАВИГАЦИЯ — собствена, класове gh-nav-*
   Не зависи от темата. Праг за мобилна: 1100px.
   ============================================================ */

/* външната обвивка на темата — само фон */
header:not(.entry-header),
header:not(.entry-header) .e-con,
header:not(.entry-header) .e-con-inner,
.sticky-wrapper,
.sticky-wrapper.sticky {
  background-color: var(--gh-navy) !important;
  margin: 0 !important;
  padding: 0 !important;
  --padding-top: 0px; --padding-bottom: 0px;
  --padding-left: 0px; --padding-right: 0px;
  --container-max-width: 100%;
  max-width: 100% !important;
  width: 100%;
}

.sticky-wrapper.sticky { box-shadow: 0 2px 16px rgba(4,36,92,0.30); }

.gh-nav { position: relative; width: 100%; }

.gh-nav-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 32px;
  min-height: 84px;
}

@media (min-width: 1600px) { .gh-nav-inner { max-width: 1480px; } }

/* ---- лого ---- */
.gh-nav-logo { flex: 0 0 auto; display: flex; align-items: center; }
.gh-nav-logo img {
  height: 54px;
  width: auto;
  max-width: 190px;
  display: block;
}

/* ---- меню ---- */
.gh-nav-main { flex: 1 1 auto; }

.gh-nav-main .gh-nav-list {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.gh-nav-item { position: relative; }

.gh-nav-main .gh-nav-list > .gh-nav-item > a {
  display: block;
  padding: 30px 13px;
  color: #FFFFFF;
  font-family: "Sofia Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease;
}

.gh-nav-main .gh-nav-list > .gh-nav-item > a:hover,
.gh-nav-main .gh-nav-list > .gh-nav-item.is-current > a,
.gh-nav-main .gh-nav-list > .gh-nav-item:hover > a { color: var(--gh-cyan); }

/* стрелка при подменю */
.gh-nav-main .gh-nav-list > .has-sub > a { padding-right: 26px; }
.gh-nav-main .gh-nav-list > .has-sub > .gh-nav-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px; height: 14px;
  background: none; border: 0; padding: 0; cursor: pointer;
}
.gh-nav-main .gh-nav-list > .has-sub > .gh-nav-toggle span {
  display: block;
  width: 7px; height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: #FFFFFF;
  transform: rotate(45deg);
  margin: -3px 0 0 2px;
  transition: color .2s ease;
}
.gh-nav-main .gh-nav-list > .has-sub:hover > .gh-nav-toggle span { color: var(--gh-cyan); }

/* ---- подменю на десктоп ---- */
.gh-nav-sub {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 246px;
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(4,36,92,0.18);
  padding: 10px 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  z-index: 99;
}

.gh-nav-main .gh-nav-list > .has-sub:hover > .gh-nav-sub,
.gh-nav-main .gh-nav-list > .has-sub:focus-within > .gh-nav-sub {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.gh-nav-sub a {
  display: block;
  padding: 11px 20px;
  color: var(--gh-navy);
  font-family: "Sofia Sans", sans-serif;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease;
}
.gh-nav-sub a:hover { color: var(--gh-cyan); background: #F2F8FE; }

/* ---- бутон ---- */
.gh-nav-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 14px; margin-left: auto; }

.gh-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 24px;
  border: 1px solid rgba(255,255,255,0.78);
  border-radius: 999px;
  color: #FFFFFF;
  font-family: "Sofia Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.gh-nav-btn:hover {
  background: var(--gh-cyan);
  border-color: var(--gh-cyan);
  color: #FFFFFF;
}

/* ---- хамбургер ---- */
.gh-nav-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px; height: 44px;
  background: rgba(255,255,255,0.10);
  border: 0; border-radius: 10px;
  cursor: pointer;
  padding: 0 11px;
}
.gh-nav-burger span {
  display: block; height: 2px; width: 100%;
  background: #FFFFFF; border-radius: 2px;
}

/* ---- панел и затъмняване ---- */
.gh-nav-overlay {
  position: fixed; inset: 0;
  background: rgba(4,36,92,0.55);
  opacity: 0;
  transition: opacity .3s ease;
  z-index: 998;
}
.gh-nav.is-open .gh-nav-overlay { opacity: 1; }

.gh-nav-panel {
  position: fixed;
  top: 0; right: 0;
  width: 88%;
  max-width: 340px;
  height: 100%;
  background: var(--gh-navy);
  transform: translateX(100%);
  transition: transform .3s ease;
  z-index: 999;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.gh-nav.is-open .gh-nav-panel { transform: translateX(0); }

.gh-nav-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255,255,255,0.14);
}
.gh-nav-panel-head img { height: 42px; width: auto; }

.gh-nav-close {
  width: 38px; height: 38px;
  border: 0; border-radius: 50%;
  background: var(--gh-orange);
  color: #FFFFFF;
  font-size: 24px; line-height: 1;
  cursor: pointer;
}

.gh-nav-panel-menu ul { list-style: none; margin: 0; padding: 0; }

.gh-nav-panel-menu .gh-nav-item { position: relative; }

.gh-nav-panel-menu a {
  display: block;
  padding: 15px 54px 15px 20px;
  color: #FFFFFF;
  -webkit-text-fill-color: #FFFFFF;
  font-family: "Sofia Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.gh-nav-panel-menu a:hover,
.gh-nav-panel-menu .is-current > a {
  color: var(--gh-cyan);
  -webkit-text-fill-color: var(--gh-cyan);
}

.gh-nav-panel-menu .gh-nav-toggle {
  position: absolute;
  right: 12px; top: 8px;
  width: 34px; height: 34px;
  background: rgba(255,255,255,0.12);
  border: 0; border-radius: 9px;
  cursor: pointer;
}
.gh-nav-panel-menu .gh-nav-toggle span {
  display: block;
  width: 8px; height: 8px;
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  transform: rotate(45deg);
  margin: -4px auto 0;
  transition: transform .2s ease;
}
.gh-nav-panel-menu .sub-open > .gh-nav-toggle span { transform: rotate(-135deg); margin-top: 2px; }

.gh-nav-panel-menu .gh-nav-sub {
  position: static;
  opacity: 1;
  visibility: visible;
  transform: none;
  background: rgba(255,255,255,0.05);
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height .28s ease;
}
.gh-nav-panel-menu .sub-open > .gh-nav-sub { max-height: 460px; }

.gh-nav-panel-menu .gh-nav-sub a {
  padding-left: 38px;
  font-size: 15px;
  font-weight: 500;
  color: #C6D5EC;
  -webkit-text-fill-color: #C6D5EC;
}
.gh-nav-panel-menu .gh-nav-sub a:hover {
  color: var(--gh-cyan);
  -webkit-text-fill-color: var(--gh-cyan);
}

.gh-nav-panel-btn {
  display: block;
  margin: 22px 20px 10px;
  padding: 14px 20px;
  background: var(--gh-cyan);
  border-radius: 999px;
  color: #FFFFFF;
  font-family: "Sofia Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.gh-nav-panel-tel {
  display: block;
  padding: 6px 20px 30px;
  color: #C6D5EC;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}

/* ---- под 1100px ---- */
@media (max-width: 1099px) {
  .gh-nav-inner { min-height: 68px; padding: 0 16px; gap: 12px; }
  .gh-nav-logo img { height: 42px; max-width: 150px; }
  .gh-nav-main { display: none; }
  .gh-nav-btn { display: none; }
  .gh-nav-burger { display: flex; }
}

@media (min-width: 1100px) and (max-width: 1400px) {
  .gh-nav-inner { gap: 20px; padding: 0 18px; }
  .gh-nav-main .gh-nav-list > .gh-nav-item > a { padding: 27px 9px; font-size: 15px; }
  .gh-nav-logo img { height: 46px; max-width: 160px; }
  .gh-nav-btn { padding: 11px 18px; font-size: 14px; }
}

/* Обвивките на Elementor около навигацията — без отстъпи и на пълна ширина */
header:not(.entry-header) .elementor-widget,
header:not(.entry-header) .elementor-widget-shortcode,
header:not(.entry-header) .elementor-shortcode,
header:not(.entry-header) .elementor-element {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

header:not(.entry-header) .elementor-widget-container { margin: 0 !important; padding: 0 !important; }

/* темата слага стилове на всички ul — нашите списъци са чисти */
.gh-nav ul { list-style: none !important; margin: 0; padding: 0; }
.gh-nav li { margin: 0; padding: 0; }
.gh-nav li::before, .gh-nav li::marker { content: none !important; display: none !important; }
.gh-nav a { text-decoration: none !important; }
.gh-nav img { max-width: 100%; }

/* Плуващи декорации в секцията с екскурзиите */
.elementor-element-ghdec1 img { width: 96px; }
.elementor-element-ghdec2 img { width: 82px; }
.elementor-element-ghdec3 img { width: 88px; }
.elementor-element-ghdec4 img { width: 104px; }
.elementor-element-ghdec1, .elementor-element-ghdec2,
.elementor-element-ghdec3, .elementor-element-ghdec4 {
  z-index: 0; pointer-events: none; opacity: .95;
}


/* Навигацията носи фона сама — на някои страници
   темата извежда <header> без клас. */
.gh-nav {
  background-color: var(--gh-navy);
  width: 100%;
}


/* ============================================================
   НАВИГАЦИЯ — приоритет над Elementor
   На част от страниците Elementor зарежда СЛЕД нашия файл
   и правилото му .elementor-widget img { height: auto } побеждава.
   Затова размерите на логото са с !important.
   ============================================================ */
.gh-nav-logo img {
  height: 54px !important;
  width: auto !important;
  max-width: 190px !important;
  object-fit: contain;
  display: block !important;
}

.gh-nav-panel-head img {
  height: 42px !important;
  width: auto !important;
  max-width: 160px !important;
  display: block !important;
}

.gh-nav-inner {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 32px;
  min-height: 84px;
}

@media (min-width: 1600px) {
  .gh-nav-inner { max-width: 1480px !important; }
}

@media (min-width: 1100px) and (max-width: 1400px) {
  .gh-nav-inner { gap: 20px; padding: 0 18px !important; }
  .gh-nav-logo img { height: 46px !important; max-width: 160px !important; }
}

@media (max-width: 1099px) {
  .gh-nav-inner { min-height: 68px; padding: 0 16px !important; gap: 12px; }
  .gh-nav-logo img { height: 42px !important; max-width: 150px !important; }
}

/* ============================================================
   ЛЕПКАВА НАВИГАЦИЯ
   Лентата стои горе при скрол, без да се крие.
   Скриваме анимацията на темата, която я издърпваше нагоре.
   ============================================================ */
header:not(.entry-header) {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500;
}

/* при влязъл администратор лентата на WordPress е отгоре */
body.admin-bar header:not(.entry-header) { top: 32px; }
@media (max-width: 782px) { body.admin-bar header:not(.entry-header) { top: 46px; } }

/* сянка, когато страницата е придвижена */
.gh-nav { transition: box-shadow .25s ease; }
body.gh-scrolled .gh-nav { box-shadow: 0 2px 18px rgba(4, 36, 92, 0.32); }

/* темата има собствен лепкав механизъм — изключваме го */
.sticky-wrapper,
.sticky-wrapper.sticky {
  position: static !important;
  transform: none !important;
  animation: none !important;
  top: auto !important;
}

/* панелът на телефон е над лентата */
.gh-nav-panel { z-index: 1001; }
.gh-nav-overlay { z-index: 1000; }

/* ============================================================
   ВИСОЧИНА НА ХЕДЪРА НА ДЕСКТОП — 31.08.2026
   Лентата беше 84px и изглеждаше тясна. Сега 108px, лого 68px.
   Мобилната (под 1100px) остава без промяна.
   ============================================================ */
@media (min-width: 1100px) {
  .gh-nav-inner { min-height: 108px; }
  .gh-nav-logo img { height: 68px !important; max-width: 210px !important; }
  .gh-nav-main .gh-nav-list > .gh-nav-item > a { padding-top: 42px; padding-bottom: 42px; }
  .gh-nav-btn { padding: 14px 26px; font-size: 15px; }
}

@media (min-width: 1100px) and (max-width: 1400px) {
  .gh-nav-inner { min-height: 98px; }
  .gh-nav-logo img { height: 60px !important; max-width: 186px !important; }
  .gh-nav-main .gh-nav-list > .gh-nav-item > a { padding-top: 37px; padding-bottom: 37px; font-size: 15px; }
  .gh-nav-btn { padding: 12px 20px; font-size: 14px; }
}


/* ---- мобилен панел: списъците са вертикални ---- */
.gh-nav-panel-menu ul,
.gh-nav-panel-menu .gh-nav-list,
.gh-nav-panel-menu .gh-nav-sub { display: block; }
.gh-nav-panel-menu .gh-nav-list > .gh-nav-item > a { padding: 15px 54px 15px 20px; font-size: 16px; white-space: normal; }


/* ============================================================
   МОБИЛЕН ПАНЕЛ НА ЦЯЛ ЕКРАН — 31.08.2026
   Беше 88% / max 340px отдясно. Сега заема целия екран.
   При влязъл администратор лентата на WordPress е fixed отгоре
   и отрязваше логото — затова панелът се измества надолу.
   ============================================================ */
.gh-nav-panel {
  width: 100%;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
}

.gh-nav-panel-head {
  flex: 0 0 auto;
  padding: 18px 20px;
}
.gh-nav-panel-head img { height: 48px !important; max-width: 180px !important; }

.gh-nav-panel-menu {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.gh-nav-panel-btn,
.gh-nav-panel-tel { flex: 0 0 auto; }
.gh-nav-panel-btn { margin: 20px 20px 8px; }
.gh-nav-panel-tel { padding-bottom: 24px; }

/* отстъп за админ лентата */
body.admin-bar .gh-nav-panel { top: 46px; height: calc(100dvh - 46px); }
@media (min-width: 783px) {
  body.admin-bar .gh-nav-panel { top: 32px; height: calc(100dvh - 32px); }
}

/* на таблет съдържанието се центрира, за да не се разлива */
@media (min-width: 700px) {
  .gh-nav-panel-head,
  .gh-nav-panel-menu > ul,
  .gh-nav-panel-btn,
  .gh-nav-panel-tel { max-width: 620px; margin-left: auto; margin-right: auto; }
}

/* Темата рисува собствен курсор (.cursor-follower). 
   На тъч устройства той замръзва като синю точка насред екрана. */
@media (hover: none), (pointer: coarse) {
  .cursor-follower, .slider-drag-cursor { display: none !important; }
}
