/*
    Theme Name: Bauhaus Child
    Theme URI: http://highseastudio.com/demo/bauhaus
    Description: Bauhaus premium theme
    Author: HighSeaStudio
    Author URI: http://highseastudio.com/
    Version: 1.3.5
    TextDomain: bauhaus
    Template: bauhaus
	License: GNU General Public License v3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.txt
*/
/*
    Please, feel free to add your custom styles here
*/

.languageSelect ul {
    display: none;
    position: absolute;
    left: 17px;
    top: 20px;
    width: calc(100% - 26px + 9px);
    padding: 3px 0;
    border: 1px solid #0b0b0b;
    background: #fff;
    z-index: 5000000 !important;
}
a[href^="tel"] {
  color: inherit; /* Inherit text color of parent element. */
  text-decoration: none; /* Remove underline. */
  /* Additional css `propery: value;` pairs here */
}

.teamItemDescText1:before { background: none !important;}
.page-id-1758 .container, .page-id-994 .container, .page-id-990 .container, .page-id-824 .container {
    padding-bottom: 110px;
    width: 100%;
    overflow: hidden;
}

/* Our team block - h3 overrides (replacing parent theme h4/h5) */
.teamItem h3 {line-height: 20px;margin: 0 0 2px 0; color: #0b0b0b;font-size: 16px;font-family: 'Montserrat', 'Open Sans', sans-serif;text-align: center;}
.teamItemDesc h3 {margin-bottom: 6px; color: #0b0b0b;font-size: 20px;font-family: 'Montserrat', 'Open Sans', sans-serif;}

.page-id-992 .container { 
    padding-bottom: 12px !important;
    width: 100%;
    overflow: hidden;
}

.page-id-826 .container, .page-id-1762 .container { padding-bottom: 60px;}

.page-id-824 .postNavigation, .page-id-826 .postNavigation ,.page-id-990 .postNavigation, .page-id-828 .postNavigation, .page-id-994 .postNavigation, .page-id-992 .postNavigation {
    display: none !important;
}

.languageSelect span {
    width: auto !important;
    min-width: 40px;   /* optional — keeps a consistent minimum if you still want some baseline width */
}

@media only screen and (max-width: 767px) {
.languageSelect {
	margin-left: 0px !important;
	margin-right: 14px !important;
	}

	.singleProjectDescText p {
    text-align: left;
}
	
	
	.page-id-824 .container {
    width: 100%;
    overflow: hidden;
	padding-bottom: 100px;
}
	
	.page-id-826 .container {
    width: 100%;
    overflow: hidden;
	padding-bottom: 100px;
}
	
	.page-id-828 .container {
    width: 100%;
    overflow: hidden;
	padding-bottom: 0px;
}
}

.home .singlePostWrapper {display: none !important;}

.postNavigation { display: none !important;}
.postShareLinks { display: none !important;}
.commentsBox { display: none !important;}

.bx-wrapper .bx-loading { display: none;}

.fa-twitter {
    display: inline-block;
    position: relative;
    width: 10px;
    height: 11px;
    top: 2px;
}

.fa-twitter:before {
    content: ""; 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-image: url('https://www.praguemagic.com/wp-content/uploads/Twitter-x.svg'); 
    background-size: cover;
    background-repeat: no-repeat; 
}
.fa-twitter:hover:before {
    background-image: url('https://www.praguemagic.com/wp-content/uploads/Twitter-x-white.svg'); 
}


/* Text on page ID 2212 */
.page-id-2212 .ourStory strong {
    font-family: "Georgia", serif !important;
    font-weight: bold;
    font-style: italic;
    font-size: 16px;
}

/* Links inside .ourStory content on page 2212 */
.page-id-2212 .ourStory a[href="https://www.praguemagic.com/tour-packages/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-2212 .ourStory a[href="https://www.praguemagic.com/tour-packages/"]:hover {
    color: #17202a;
}

.page-id-2212 .ourStory a[href="https://www.praguemagic.com/contact/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-2212 .ourStory a[href="https://www.praguemagic.com/contact/"]:hover {
    color: #17202a;
}

.page-id-805 a[href="https://www.praguemagic.com/tour-packages/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-805 .ourStory a[href="https://www.praguemagic.com/tour-packages/"]:hover {
    color: #17202a;
}

.page-id-805 .ourStory a[href="https://www.praguemagic.com/contact/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-805 .ourStory a[href="https://www.praguemagic.com/contact/"]:hover {
    color: #17202a;
}

.page-id-813 a[href="https://www.praguemagic.com/tour-packages/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-813 .ourStory a[href="https://www.praguemagic.com/tour-packages/"]:hover {
    color: #17202a;
}

.page-id-813 .ourStory a[href="https://www.praguemagic.com/contact/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-813 .ourStory a[href="https://www.praguemagic.com/contact/"]:hover {
    color: #17202a;
}

.page-id-815 a[href="https://www.praguemagic.com/tour-packages/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-815 .ourStory a[href="https://www.praguemagic.com/tour-packages/"]:hover {
    color: #17202a;
}

.page-id-815 .ourStory a[href="https://www.praguemagic.com/contact/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-815 .ourStory a[href="https://www.praguemagic.com/contact/"]:hover {
    color: #17202a;
}

.page-id-1764 a[href="https://www.praguemagic.com/tour-packages/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-1764 .ourStory a[href="https://www.praguemagic.com/tour-packages/"]:hover {
    color: #17202a;
}

.page-id-1764 .ourStory a[href="https://www.praguemagic.com/contact/"] {
    text-decoration: none;
    color: #bf472d;
    font-size: 16px; 
}

.page-id-1764 .ourStory a[href="https://www.praguemagic.com/contact/"]:hover {
    color: #17202a;
}


/* Testimonials Desktop Styling */
.testimonial {
  text-align: center;
  max-width: 500px;
  margin: 30px auto;
  font-size: 16px;
  line-height: 1.6;
  padding: 15px 15px 4px 15px; /* top, right, bottom, left */
  background-color: #f9f9f9; /* Optional background */
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.testimonial img {
  border-radius: 50%;
  width: 100px;
  height: 100px;
  object-fit: cover;
  margin-bottom: 10px;
}

/* Testimonials Mobile Styling */
@media only screen and (max-width: 600px) {
  .testimonial {
    font-size: 15px !important;
    padding: 10px 10px 6px 10px !important;
    margin: 20px auto !important;
  }

  .testimonial img {
    width: 80px !important;
    height: 80px !important;
  }
}


/* 2×2 CSS Grid Layout for Images */
.custom-image-grid {
  display: grid;
  grid-template-columns: 50% 50%; /* Use % for compatibility */
  gap: 2px;
  max-width: 1024px;
  margin-top: 5px;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

/* Responsive Spacing for Mobile Screens */
@media (max-width: 768px) {
  .custom-image-grid {
    margin-top: 2px;
    margin-bottom: 20px;
  }
}

/* Grid Cells */
.custom-image-grid div {
  aspect-ratio: 1 / 1;  /* Keep each box square */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

/* Images Inside Grid */
.custom-image-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;  /* Adjust this to 'contain' if you don't want cropping */
  display: block;
  border: none;
  box-shadow: none;
}


/* All links with target="_blank" gets a ↗ */
a[target="_blank"]::after {
  content: " ⬈";
  font-size: 0.8em;
  margin-left: 0px;
  vertical-align: top;
}

/* Remove arrow from image-only links */
a[target="_blank"]:has(img)::after {
  content: none;
}


/* Custom Styled Booking Form */
.wpbc__form__div input,
.wpbc__form__div textarea {
  width: 100% !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  font-family: 'Georgia', serif !important;

  height: 42px !important;
  line-height: 1.4 !important;
  vertical-align: middle !important;

  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  background-color: #fdfdfd !important;
  color: #000 !important;

  box-sizing: border-box !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.3s ease-in-out !important;
  margin-bottom: 16px;
}

.wpbc__form__div select {
  width: 100% !important;
  padding: 10px 16px !important;
  font-size: 16px !important;
  font-family: 'Georgia', serif !important;

  height: 42px !important;
  line-height: 1.4 !important;
  vertical-align: middle !important;
  text-align: left;
  text-indent: 0.01px;
  text-overflow: '';

  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  background-color: #fdfdfd !important;
  color: #000 !important;

  box-sizing: border-box !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.3s ease-in-out !important;
  margin-bottom: 16px;

  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  background-image: url("data:image/svg+xml;utf8,<svg fill='%23333' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 16px 16px !important;
}

/* Focus State for All Inputs */
.wpbc__form__div input:focus,
.wpbc__form__div textarea:focus,
.wpbc__form__div select:focus {
  border-color: #c59432 !important;
  box-shadow: 0 0 0 3px rgba(191, 71, 45, 0.2) !important;
  outline: none !important;
  background-color: #fff !important;
}

/* Labels */
.wpbc__form__div l {
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
  color: #222;
  font-family: 'Georgia', serif;
  font-size: 15px;
}

/* Submit Button */
.wpbc__form__div .btn {
  display: inline-block;
  background-color: #e3b456 !important;
  color: #fff !important;
  padding: 10px 24px 12px 24px !important;  /* top right bottom left */
  border: none !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.wpbc__form__div .btn:hover {
  background-color: #c59432 !important;
}

/* Textarea Resize and Height */
.wpbc__form__div textarea {
  resize: vertical !important;
  min-height: 120px !important;
}

/* Rows and Columns Layout */
.wpbc__form__div r {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.wpbc__form__div c {
  flex: 1;
  min-width: 220px;
}


/* Dropdown Tour Selection Text Styling */
select.styled-tour {
  font-family: Georgia, serif !important;
  font-size: 16px !important;
  color: #4a4a4a !important;
  background-color: #fafafa !important;
  border: 1px solid #ccc !important;
  padding: 6px !important;
  border-radius: 4px !important;
}


/* Book a Private Tour Button */
.book-tour-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 20px auto;
  background-color: #bf472d;
  color: #fff !important;
  padding: 0 20px;
  border: none;
  border-radius: 0;
  height: 40px;
  line-height: 1;
  text-align: center;
  box-sizing: border-box;
  font-size: 0.85em;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.1s ease;
  -webkit-appearance: none;
  appearance: none;
  -webkit-backface-visibility: hidden;
  will-change: transform;
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.book-tour-btn:hover {
  background-color: #d94a3b !important;
}

.book-tour-btn:active {
  transform: translateY(2px);
  background-color: #a83224 !important;
  color: #fff !important;
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
  outline: none;
  opacity: 1 !important;      /* suppresses Safari grey, ignored by Opera */
}


/* Force logo to stay 20px high */
.logo.clear img.mainLogo.uni-custom-logo-a {
    height: 20px !important;
    width: auto !important;     /* keeps proportions */
    max-height: 20px !important;
    display: inline-block;
    vertical-align: middle;
}

/* Ensure logo + text align correctly */
.logo.clear {
    display: flex;
    align-items: center;
}
.logo.clear span {
    line-height: 20px !important;
    margin-left: 8px; /* small spacing between logo and text */
}


/* Language Suggestion Banner */
#langBanner {
  position: fixed;
  bottom: -100px;
  right: 20px;
  background: #2b2b2b; /* charcoal gray base */
  color: #fff;
  padding: 14px 18px;
  border-radius: 10px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.3);
  font-family: "Arial", sans-serif;
  font-size: 15px;
  z-index: 9999;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
#langBanner.visible {
  bottom: 20px;
  opacity: 1;
}
#langBanner.fading-out {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.lang-banner-content {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Golden button style */
.lang-banner-btn {
  background-color: #e3b456 !important;
  color: #fff !important;
  padding: 8px 18px !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.lang-banner-btn:hover {
  background-color: #cfa24e !important;
}

.lang-banner-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  transition: color 0.3s ease;
}
.lang-banner-close:hover {
  color: #e3b456;
}


/* ============================================
   STICKY SIDEBAR - ALL SCREENS VERSION
   ============================================ */

/* Parent container fixes */
body.single section.container,
body.single-post section.container,
body.single .wrapper.singlePostWrapper,
body.single-post .wrapper.singlePostWrapper {
  overflow: visible !important;
}

/* Flex layout for blog posts */
body.single .wrapper.singlePostWrapper,
body.single-post .wrapper.singlePostWrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 30px !important;
}

/* Content area */
body.single .contentLeft,
body.single-post .contentLeft {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* ===== LARGE SCREENS (1441px+) - Sticky with scrolling ===== */
@media screen and (min-width: 1441px) {
  
  .sticky-sidebar-wrapper {
    position: sticky !important;
    top: 20px !important;
    flex: 0 0 270px !important;
    width: 270px !important;
    max-width: 270px !important;
    align-self: flex-start !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }
  
  .sticky-sidebar-wrapper .sidebarRight {
    position: static !important;
    width: 270px !important;
    max-width: 270px !important;
    max-height: 90vh !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 12px; 
  }
  
  .sidebarRight .sidebarBanner {
    margin-bottom: 40px; 
  }
  
  body.single .contentLeft,
  body.single-post .contentLeft {
    flex: 1 1 calc(100% - 300px) !important;
    max-width: calc(100% - 300px) !important;
  }
}

/* ===== MEDIUM SCREENS (768px - 1440px) - Sticky WITHOUT scrollbar ===== */
@media screen and (max-width: 1440px) and (min-width: 768px) {
  
  .sticky-sidebar-wrapper {
    position: sticky !important;
    top: 20px !important;
    flex: 0 0 270px !important;
    width: 270px !important;
    max-width: 270px !important;
    align-self: flex-start !important;
    /* NO max-height constraint */
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }
  
  /* Remove ALL scrollbars from sidebar on 13" screens */
  .sidebarRight,
  .sticky-sidebar-wrapper .sidebarRight,
  aside.sidebarRight {
    position: static !important;
    width: 270px !important;
    max-width: 270px !important;
    /* NO scrolling */
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overflow-x: visible !important;
  }
  
  body.single .contentLeft,
  body.single-post .contentLeft {
    flex: 1 1 calc(100% - 300px) !important;
    max-width: calc(100% - 300px) !important;
  }
}

/* ===== MOBILE (767px and smaller) - Stacked layout ===== */
@media screen and (max-width: 767px) {
  
  body.single .wrapper.singlePostWrapper,
  body.single-post .wrapper.singlePostWrapper {
    flex-direction: column !important;
  }
  
  .sticky-sidebar-wrapper {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    max-height: none !important;
  }
  
  .sticky-sidebar-wrapper .sidebarRight {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }
  
  body.single .contentLeft,
  body.single-post .contentLeft {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Image Credits — mobile fix — when sidebar drops below */
@media (max-width: 768px) {
  body.single .wrapper.singlePostWrapper,
  body.single-post .wrapper.singlePostWrapper {
    gap: 0 !important;
  }
}


/* ============================================
   SHRINK MENU FOR 13" MACBOOK PRO - TWO SIZES
   ============================================ */

/* ===== ENGLISH (en-GB) ===== */
@media screen and (max-width: 1440px) and (min-width: 768px) {
  
  html[lang="en-GB"] ul.mainmenu.clear li {
    margin: 0 3px !important;
    padding: 0 !important;
  }
  
  html[lang="en-GB"] ul.mainmenu.clear li a {
    font-size: 12px !important;
    padding: 10px 6px !important;
    letter-spacing: 0 !important;
  }
  
  html[lang="en-GB"] .languageSelect {
    font-size: 13px !important;
    margin-right: 8px !important;
  }
  
  html[lang="en-GB"] ul#menu-menu-5.mainmenu.clear {
    gap: 0 !important;
  }
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
  html[lang="en-GB"] ul.mainmenu.clear li a {
    font-size: 12px !important;
    padding: 8px 4px !important;
  }
}

/* ===== ALL OTHER LANGUAGES (ja, zh-TW, zh-CN, ko-KR) ===== */
@media screen and (max-width: 1440px) and (min-width: 768px) {
  
  html[lang="ja"] ul.mainmenu.clear li,
  html[lang="zh-TW"] ul.mainmenu.clear li,
  html[lang="zh-CN"] ul.mainmenu.clear li,
  html[lang="ko-KR"] ul.mainmenu.clear li {
    margin: 0 3px !important;
    padding: 0 !important;
  }
  
  html[lang="ja"] ul.mainmenu.clear li a,
  html[lang="zh-TW"] ul.mainmenu.clear li a,
  html[lang="zh-CN"] ul.mainmenu.clear li a,
  html[lang="ko-KR"] ul.mainmenu.clear li a {
    font-size: 14px !important; /* ← Asian languages size */
    padding: 10px 6px !important;
    letter-spacing: 0 !important;
  }
  
  html[lang="ja"] .languageSelect,
  html[lang="zh-TW"] .languageSelect,
  html[lang="zh-CN"] .languageSelect,
  html[lang="ko-KR"] .languageSelect {
    font-size: 12px !important;
    margin-right: 8px !important;
  }
  
  html[lang="ja"] ul#menu-menu-5.mainmenu.clear,
  html[lang="zh-TW"] ul#menu-menu-5.mainmenu.clear,
  html[lang="zh-CN"] ul#menu-menu-5.mainmenu.clear,
  html[lang="ko-KR"] ul#menu-menu-5.mainmenu.clear {
    gap: 0 !important;
  }
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
  html[lang="ja"] ul.mainmenu.clear li a,
  html[lang="zh-TW"] ul.mainmenu.clear li a,
  html[lang="zh-CN"] ul.mainmenu.clear li a,
  html[lang="ko-KR"] ul.mainmenu.clear li a {
    font-size: 13px !important; /* ← Asian languages smaller size */
    padding: 8px 4px !important;
  }
}


/* Contact page - h3 overrides (replacing parent theme h4) */
.contactItem h3 {margin-bottom: 15px; color: #242424;font-size: 16px;font-family: 'Montserrat', 'Open Sans', sans-serif;text-transform: uppercase;}
.homeContactInfoWrap .contactItem h3 {color: #fff;}

/* Contact items - tighter spacing between label and value */
.contactItem h3 {margin-bottom: 5px; color: #242424;font-size: 16px;font-family: 'Montserrat', 'Open Sans', sans-serif;text-transform: uppercase;}
.contactItem p {margin-bottom: 0;}


/* Opening hours - full width row below contact items */
.contactInfo .contactItem.openingHoursItem {
    float: none;
    clear: both;
    width: 100%;
    margin: 0 0 5px 0 !important;
    padding-top: 60px;
    text-align: center;
}

.openingHours {
    display: inline-block;
    background: #f5f5f5;
    border-radius: 8px;
    padding: 16px 40px;
    text-align: center;
    max-width: 90%;   /* never wider than screen */
    box-sizing: border-box;
    margin-top: 10px;
}

.openingHours p {
    margin-bottom: 4px;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

/* iPhone */
@media (max-width: 480px) {
    .contactInfo .contactItem.openingHoursItem {
        padding-top: 40px;
    }
    .openingHours {
        padding: 10px 16px;
        width: 90%;
    }
}


/* Personal reply rectangle - above contact form */
.contactReplyBox {
    max-width: 500px;
    margin: 0 auto 40px auto;
    padding: 30px 40px;
    background-color: #f5f5f5;
    border-top: 3px solid #1a1a1a;
    box-sizing: border-box;
    text-align: center;
}
.contactReplyBox p {
    font-size: 15px;
    color: #555555;
    line-height: 1.9;
    margin: 0;
    padding: 0;
    font-family: 'Open Sans', sans-serif;
}

/* Tablet */
@media (max-width: 768px) {
    .contactReplyBox {
        padding: 24px 20px;
        margin: 0 16px 30px 16px;
    }
    .contactReplyBox p {
        font-size: 14px;
    }
}


/* Service page - h3 overrides (replacing parent theme h4) */
.serviceHead h3 {position: absolute;left: 0;top: 0; width: 100%;height: 180px;line-height: 180px;display: table-cell;}
.serviceHead h3 span {display: inline-block;width: 100%;padding: 0 40px; line-height: 30px;color: #fff;font-size: 24px;font-family: 'Montserrat', 'Open Sans', sans-serif;text-transform: uppercase; text-align: center;vertical-align: middle;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing: border-box;}
.serviceWrap2 .serviceHead h3 {height: 80px;line-height: 80px;}
.serviceWrap2 .serviceHead h3 span {font-size: 20px;padding: 0 20px;}


/* CSS descendant selector - override for 
.blockTitle inside .ourInstagram section */
.ourInstagram .blockTitle {
  margin-bottom: 20px;
}


/* Reusable CTA buttons */
.gabriel-seo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 36px;
    background-color: #1a1a1a;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 0.85em;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1;
    height: auto;
    min-height: 40px;
    box-sizing: border-box;
    transition: background-color 0.3s ease;
    vertical-align: middle;
}

.gabriel-seo-btn:hover {
    background-color: #444444;
    color: #ffffff !important;
}

.gabriel-seo-btn-group {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
}

.gabriel-seo-btn-secondary {
    background-color: transparent;
    color: #1a1a1a !important;
    border: 1px solid #1a1a1a;
}

.gabriel-seo-btn-secondary:hover {
    background-color: #1a1a1a;
    color: #ffffff !important;
}

/* Mobile fix for better vertical centering,
Only for Testimonials page on mobile/tablet */
@media (max-width: 1024px) {
    body:not(.home) .gabriel-seo-btn-secondary 
        .offers-page-cta .gabriel-seo-btn-secondary {
        display: table-cell !important;
        vertical-align: middle !important;
        height: 40px !important;
        padding: 0 16px !important;
        line-height: normal !important;
        font-size: 0.7em !important;
        text-align: center !important;
    }
}


/* Adjusting text box height | Offers Pages */
.singleProjectDescText {
  height: auto !important;
  max-height: 460px !important;
  overflow-y: auto !important;  /* Changed from visible */
  -webkit-overflow-scrolling: touch !important; /* Smooth scrolling on iOS */
}


/* Adjusting text size | Private Tours Pages */
.page-id-2433 h2,
.page-id-2425 h2,
.page-id-2429 h2,
.page-id-2427 h2,
.page-id-2431 h2 {
    font-size: 1.6em;
}


/* Booking page intro layout */
.booking-intro-wrap {
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 10px;
}

.booking-intro-text {
    background-color: #ffffff;
    padding: 25px 30px;
    width: 390px;
    flex-shrink: 0;
    box-sizing: border-box;
}

.booking-intro-image {
    flex: 1;
    min-width: 0;
}

.booking-intro-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
}

/* Tablet — iPad landscape and portrait */
@media (max-width: 1024px) {
    .booking-intro-wrap {
        flex-direction: row;
        align-items: stretch;
    }
    .booking-intro-text {
        width: 50%;
        flex-shrink: 0;
    }
    .booking-intro-image {
        width: 50%;
    }
    .booking-intro-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 4px;
    }
}

/* Mobile — iPhone */
@media (max-width: 480px) {
    .booking-intro-wrap {
        flex-direction: column;
        gap: 20px;
    }
    .booking-intro-text {
        width: 100%;
        padding: 20px;
    }
    .booking-intro-image {
        width: 100%;
    }
    .booking-intro-image img {
        width: 100%;
        height: 250px;
        object-fit: cover;
    }
}


/* Heading Hierarchy */
.singlePost h1 {
  font-size: 32px;
  line-height: 40px;
  font-weight: 700;
  font-family: 'Montserrat', 'Open Sans', sans-serif;
  color: #0b0b0b;
  margin-bottom: 12px;
}

.singlePost h2 {
  font-size: 25px;
  line-height: 32px;
  font-weight: 400;
  font-family: 'Montserrat', 'Open Sans', sans-serif;
  color: #0b0b0b;
  margin-bottom: 12px;
}

.singlePost h3,
.page h3 {
  line-height: 28px;
  margin-bottom: 12px;
  color: #0b0b0b;
  font-size: 22px;
  font-family: 'Montserrat', 'Open Sans', sans-serif;
  font-weight: 700;
}

/* Restore portfolio hover text - overridden by .page h3 rule */
.page .portfolioItemV1Desc h3,
.page .portfolioBlock .portfolioItemV1Desc h3 {
    color: #ffffff !important;
    font-size: 14px !important;    /* reduced from 18px */
    line-height: 20px !important;  /* reduced from 24px */
    font-weight: 550 !important;
    font-family: 'Open Sans', sans-serif !important;
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
}

.singlePost h4,
.page h4 {
  line-height: 26px;
  margin-bottom: 8px;
  color: #0b0b0b;
  font-size: 17px;
  font-family: 'Montserrat', 'Open Sans', sans-serif;
  font-weight: 600;
}


/* Recent Posts (custom function) */
.widget_recent_entries .widgettitle {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 8px;
}
.widget_recent_entries ul li a {
  font-size: 11px;
  line-height: 16px;
  font-weight: 500;
  color: #4b5563;
}
.widget_recent_entries ul li {
  margin-bottom: 8px !important;
}


/* Image Credits (custom function) */
.widget_image_credits .widgettitle {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 8px;
  color: #6b7280;      /* medium grey for the title */
}
.widget_image_credits p {
  font-size: 11px;
  line-height: 16px;
  font-weight: 500;
  color: #808080;      /* uniform grey for the body text */
}


/* Featured image copyright caption */
.singlePost p.featured-image-copyright {
  font-size: 12px;
  line-height: 1.5;
  color: #888;
  font-style: italic;
  padding-top: 4px;
  padding-bottom: 12px;
  margin: 0;
}


/* Tag Cloud widget */
.sidebarRight .widget_tag_cloud .wp-block-tag-cloud {
  max-height: none;
  overflow: visible;
}
.sidebarRight .widget_tag_cloud .tag-cloud-link {
  display: inline-block;
  margin: 0 6px 8px 0;
  font-weight: 500;
  line-height: 1.4;
}
.sidebarRight .widget_tag_cloud .tag-cloud-link:nth-child(6n+1) { color: #c0392b; }
.sidebarRight .widget_tag_cloud .tag-cloud-link:nth-child(6n+2) { color: #2980b9; }
.sidebarRight .widget_tag_cloud .tag-cloud-link:nth-child(6n+3) { color: #27ae60; }
.sidebarRight .widget_tag_cloud .tag-cloud-link:nth-child(6n+4) { color: #8e44ad; }
.sidebarRight .widget_tag_cloud .tag-cloud-link:nth-child(6n+5) { color: #d35400; }
.sidebarRight .widget_tag_cloud .tag-cloud-link:nth-child(6n+6) { color: #16a085; }

.sidebarRight .widget_tag_cloud .tag-cloud-link:hover {
  color: #ffffff !important;
  background-color: #333333;
  text-decoration: none;
}

.sticky-sidebar-wrapper .sidebarRight {
  scrollbar-width: thin; /* Firefox */
  scrollbar-color: #ccc transparent;
}
.sticky-sidebar-wrapper .sidebarRight::-webkit-scrollbar {
  width: 4px;
}
.sticky-sidebar-wrapper .sidebarRight::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 3px;
}
.sticky-sidebar-wrapper .sidebarRight::-webkit-scrollbar-track {
  background: transparent;
}


/* Booking button hover — mirrors .orderServiceItem hover from Bauhaus Main */
.orderServiceItemBooking, .orderServiceItemBooking:visited {
    display: inline-block;
    width: 152px;
    height: 44px;
    line-height: 40px;
    border: 2px solid #0b0b0b;
    color: #0b0b0b;
    font-size: 12px;
    font-family: 'Montserrat', 'Open Sans', sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    -webkit-transition: background-color 0.3s ease, color 0.3s ease;
    -moz-transition: background-color 0.3s ease, color 0.3s ease;
    -o-transition: background-color 0.3s ease, color 0.3s ease;
    transition: background-color 0.3s ease, color 0.3s ease;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.orderServiceItemBooking:hover {
    background: #0b0b0b;
    color: #fff;
}


/* =============================================
   SEO Section - Homepage
   Moved from inline functions.php to prevent CLS
   ============================================= */

.gabriel-seo-section {
    background-color: #ffffff;
    padding: 30px 40px 70px 40px;
    text-align: center;
    font-family: inherit;
    contain: layout style;        /* Prevent this section affecting
                                     surrounding layout during paint */
}

.gabriel-seo-section h2 {
    font-size: 2em;
    color: #1a1a1a;
    margin-bottom: 20px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    min-height: 1.2em;            /* Reserve heading height before text loads */
}

.gabriel-seo-section > p {
    font-size: 1.05em;
    color: #444444;
    max-width: 780px;
    margin: 0 auto 40px auto;
    line-height: 1.85;
    min-height: 3.7em;            /* Reserve ~2 lines intro text height */
}

.gabriel-seo-columns {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 50px;
    min-height: 180px;            /* Reserve column block height */
}

.gabriel-seo-col {
    flex: 1;
    min-width: 220px;
    max-width: 280px;
    min-height: 180px;            /* Reserve card height across all languages */
    padding: 30px 20px;
    border: 1px solid #e8e8e8;
    border-radius: 2px;
    box-sizing: border-box;
}

.gabriel-seo-col h3 {
    font-size: 1em;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
    font-weight: 700;
    min-height: 1.2em;
}

.gabriel-seo-col p {
    font-size: 0.92em;
    color: #666666;
    margin: 0;
    line-height: 1.7;
}

.gabriel-seo-btn-group {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
    min-height: 52px;
    align-items: center;
}

@media (max-width: 768px) {
    .gabriel-seo-section {
        padding: 50px 24px;
    }
    .gabriel-seo-columns {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        min-height: unset;        /* Let columns stack naturally on mobile */
    }
    .gabriel-seo-col {
        min-height: unset;        /* Remove fixed height on mobile — 
                                     Asian languages need more vertical space */
        width: 100%;
        max-width: 100%;
    }
}


/* ==============================================
   Home Screen Hero - CSS-only centering
   Replaces JS-based height/position calculation
   to prevent Cumulative Layout Shift (CLS)
   ============================================== */

.homeScreen {
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 100vh;
    display: flex;
    align-items: center;
}

.homeScreenDesc {
    position: relative !important;
    top: auto !important;
    left: auto;
    padding: 0 100px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 120px !important;
}

/* Desktop heading */
.homeScreenDesc h1 {
    font-size: 70px;
    line-height: 80px;
    font-weight: 700;
}

/* ===================
   Tablet (iPad)
   =================== */
@media (max-width: 1024px) {
    .homeScreenDesc h1 {
        font-size: 36px;
        line-height: 50px;
    }
}

/* ===========================
   Mobile (iPhone and smaller)
   =========================== */
@media (max-width: 768px) {
    .homeScreen {
        height: auto;
        min-height: 100vh;
    }

    .homeScreenDesc {
        padding: 0 24px;
        margin-top: 0; /* Reset the desktop nudge on mobile */
    }

    .homeScreenDesc h1 {
        font-size: 24px;
        line-height: 29px;
    }
}


/* =============================================
   Hero Image - converted from background-image
   to <img> tag for LCP improvement
   ============================================= */

.homeScreen {
    position: relative;
    overflow: hidden;
}

.homeScreenBg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    z-index: 0;
    display: block;
}

.homeScreenDesc {
    position: relative;
    z-index: 1;  /* Ensure text sits above the image */
}


/* Font Awesome - force font-display swap */
@font-face {
    font-family: 'FontAwesome';
    src: url('/wp-content/themes/bauhaus/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2');
    font-display: swap;
    font-weight: normal;
    font-style: normal;
}


/* Booking confirmation — narrower single column layout */
.wpbc_after_booking_thank_you_section .wpbc_ty__container {
    max-width: 600px;
}
.wpbc_after_booking_thank_you_section .wpbc_ty__content {
    display: block;
}
.wpbc_after_booking_thank_you_section .wpbc_ty__content_text.wpbc_cols_2 {
    width: 100%;
    display: block;
}

/* Force narrower width — override Bauhaus wrapper */
.singlePost .wpbc_after_booking_thank_you_section {
    max-width: 600px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Mobile: force the stacking to actually win, and stop long values from overflowing */
@media screen and (max-width: 600px) {
    .singlePost .wpbc_after_booking_thank_you_section .wpbc_ty__content_text.wpbc_cols_2 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .singlePost .wpbc_after_booking_thank_you_section .standard-content-form {
        width: 100% !important;
        max-width: 100% !important;
    }

    .singlePost .wpbc_after_booking_thank_you_section .fieldvalue {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }
}


/* Hide duration time selector — set automatically by JavaScript based on tour selection */
select[name="durationtime"],
select[name="durationtime1"] + *,
.wpbc_select_durationtime,
[class*="durationtime"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Override Bauhaus theme global 14px anchor size inside pricing column descriptions.
   Uses rem to ensure consistent rendering across all viewports (desktop, iPad, iPhone).
   Without this, shorter link text renders larger than longer link text due to theme scaling. */
div.serviceDesc p a {
    font-size: 0.85rem !important;
}


/* Booking Form - Match the FAQ card's rounded, subtly-shadowed look */
.wpbc_wizard__border_container {
	border: 1px solid #ddd !important;
	border-radius: 12px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}


/* Updated date label — August 2026 */
.postUpdated {
    color: #555; 
    font-size: 0.95em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.categoryLink {
    margin-left: 4px;
}

.singlePostMeta .categoryLink {
    text-decoration: none; /* remove underline by default */
}

.singlePostMeta .categoryLink:hover {
    text-decoration: underline; /* only underline the word itself on hover */
}


/* ============================================
   HEADER1 — MOBILE-ONLY FLEX LAYOUT FIX
   (logo / hamburger / language switcher)
   Scoped to max-width:1023px — same breakpoint that already
   hides .mainmenu and shows the hamburger — so desktop is
   completely unaffected by any of this.

   Fixes: language switcher wrapping to its own row and sitting
   too low at narrow viewports (~360-380px, e.g. Galaxy S10/S8).
   Old layout used float:right on both .mainmenu and .languageSelect,
   which broke unpredictably below ~400px and needed per-device
   margin-top hacks that never worked across all screen sizes.
   ============================================ */

@media (max-width: 1023px) {

    /* Parent row: forces logo + hamburger + switcher onto one line,
       vertically centered, regardless of font-metric differences
       between devices/browsers */
    .header1 {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;      /* guarantees it never drops to 2 rows */
    }

    /* Visual order (independent of DOM order, since .languageSelect
       comes before .mainmenu in the HTML) */
    .header1 .logo.clear      { order: 1; }
    .header1 .languageSelect  { order: 2; }
    .header1 .showMobileMenu  { order: 3; }

    /* Logo — replaces old float/margin-based rule */
    .header1 .logo.clear {
        float: none;
        display: flex;
        align-items: center;
        margin: 0 auto 0 0;     /* margin-right:auto pushes hamburger + switcher to the far right */
    }

    /* Hamburger */
    .header1 .showMobileMenu {
        float: none;
        margin: 0 10px 0 0;     /* horizontal spacing only, no top offset */
    }

    /* Language switcher */
    .header1 .languageSelect {
        float: none;
        position: relative;     /* keep — the dropdown <ul> is absolutely positioned against this */
        margin: 0 0 0 14px;     /* horizontal spacing only, no top offset */
    }

}

    /* Below ~400px (e.g. Galaxy S10/S8): shrink "Gabriel Travel"
    wordmark and force it to stay on one line, so it can't wrap
    and push the whole header row taller */
    @media (max-width: 400px) {
    .header1 .logo.clear span {
        font-size: 14px;
        white-space: nowrap;  /* prevents wrap regardless of font-size */
    }
}

