/*
Theme Name: Astra Sakkara Reisen Child
Theme URI: https://dev.sakkarareisen.de/
Description: Custom Astra child matching sakkarareisen.de production look with Gutenberg + TravelAddon shortcodes.
Author: Sakkara Reisen
Template: astra
Version: 1.8.36
Text Domain: astra-sakkarareisen
*/

/* Production-matched tokens from sakkarareisen.de */
:root {
  --sr-cta: #36D2D3;
  --sr-cta-alt: #1EBBF0;
  --sr-cta-hover: #23AADD;
  --sr-orange: #E77600;
  --sr-green: #39DFAA;
  --sr-body: #5c5e66; /* WCAG AA on #F7F7F7 / white */
  --sr-heading: #1a1c20;
  --sr-page-bg: #F7F7F7;
  --sr-footer: #1A1C20;
  --sr-muted: #B1B4B8;
  --sr-white: #FFFFFF;
  --sr-link: #21759B;
  --sr-font: Roboto, Helvetica, Arial, Verdana, sans-serif;
  --sr-content: 1200px;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
  max-width: 100%;
}

body {
  font-family: var(--sr-font) !important;
  color: var(--sr-body);
  background: var(--sr-page-bg);
  overflow-x: clip;
  max-width: 100%;
}

/* Kill Astra/Elementor 100vw full-bleed that clips text on mobile */
.ast-plain-container.ast-no-sidebar .entry-content .alignwide,
.ast-plain-container.ast-no-sidebar .entry-content .alignfull,
.ast-page-builder-template .ast-no-sidebar .entry-content .alignwide,
.ast-page-builder-template .ast-no-sidebar .entry-content .alignfull,
.entry-content .alignfull {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

img,
svg,
video,
iframe {
  max-width: 100%;
  height: auto;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.ast-archive-title {
  font-family: var(--sr-font) !important;
  color: var(--sr-heading);
  font-weight: 600;
}

a { color: var(--sr-link); }
a:hover { color: var(--sr-cta-hover); }

/* —— Site header (prod: white bar + logo left + menu) —— */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-main-header-wrap,
#masthead {
  background: var(--sr-white) !important;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.08);
}

.ast-container,
.site-content > .ast-container {
  max-width: min(100%, var(--sr-content));
  width: 100%;
  box-sizing: border-box;
}

.site-branding img,
.custom-logo-link img,
.ast-site-identity .custom-logo-link img {
  max-height: 44px;
  width: auto;
}

.site-title,
.site-title a,
.ast-site-title-wrap .site-title a {
  font-family: var(--sr-font) !important;
  font-weight: 700;
  color: var(--sr-heading) !important;
  font-size: 1.15rem;
}

.site-description { display: none; }

.main-header-menu > .menu-item > .menu-link,
.ast-builder-menu-1 .menu-link,
.ast-header-navigation .menu-link {
  font-family: var(--sr-font) !important;
  color: var(--sr-body) !important;
  font-weight: 500;
  font-size: 16px !important;
  text-transform: none !important;
  padding-left: 7px !important;
  padding-right: 7px !important;
  white-space: nowrap !important;
  line-height: 1.25 !important;
}

/* Desktop PC: keep primary nav on a single line */
@media (min-width: 922px) {
  #ast-desktop-header .ast-builder-grid-row {
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
  }
  #ast-desktop-header .main-header-menu,
  #ast-desktop-header .ast-builder-menu-1 .main-header-menu,
  #ast-desktop-header .ast-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    white-space: nowrap;
  }
  #ast-desktop-header .main-header-menu > .menu-item {
    flex: 0 0 auto;
  }
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link,
  #ast-desktop-header .ast-builder-menu-1 .menu-link {
    font-size: 16px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    padding-top: 0.55rem !important;
    padding-bottom: 0.55rem !important;
    height: auto !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }
  #ast-desktop-header .site-branding img,
  #ast-desktop-header .custom-logo-link img {
    max-height: 42px;
  }
}

/* Mid desktop (laptop widths): slightly tighter until mobile header */
@media (min-width: 922px) and (max-width: 1200px) {
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link,
  #ast-desktop-header .ast-builder-menu-1 .menu-link {
    font-size: 16px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
  #ast-desktop-header .site-branding img,
  #ast-desktop-header .custom-logo-link img {
    max-height: 38px;
  }
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-link:hover {
  color: var(--sr-cta-alt) !important;
}

/* Above-header / secondary as production top contact strip */
.ast-above-header-bar,
.ast-above-header,
#ast-desktop-header .ast-above-header-wrap {
  background: var(--sr-heading) !important;
  min-height: 34px;
}

.ast-above-header .menu-link,
.ast-above-header-bar .menu-link,
.secondary-navigation .menu-link {
  color: var(--sr-white) !important;
  font-size: 13px !important;
}

.ast-above-header .menu-link:hover,
.secondary-navigation .menu-link:hover {
  color: var(--sr-cta-alt) !important;
}

/* Transparent header over TravelAddon hero (prod-like overlay) */
body.sr-has-hero .site-header,
body.sr-has-hero .main-header-bar,
body.sr-has-hero .ast-primary-header-bar,
body.sr-has-hero .ast-main-header-wrap {
  background: transparent !important;
  box-shadow: none !important;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 40;
}

body.sr-has-hero .main-header-menu > .menu-item > .menu-link,
body.sr-has-hero .ast-builder-menu-1 .menu-link,
body.sr-has-hero .site-title a {
  color: var(--sr-white) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

body.sr-has-hero .main-header-menu > .menu-item > .menu-link:hover {
  color: var(--sr-cta) !important;
}

body.sr-has-hero #content,
body.sr-has-hero .site-content {
  padding-top: 0;
}

body.sr-has-hero .entry-header,
body.sr-has-hero .ast-single-post .entry-header {
  display: none; /* H1 comes from [sr_hero] */
}

/* Buttons — unified terracotta primary / ghost secondary (SR-55) */
:root {
  --sr-btn-primary-bg: #B85A00;
  --sr-btn-primary-hover: #9c4c00;
  --sr-btn-primary-text: #ffffff;
  --sr-btn-secondary-bg: #ffffff;
  --sr-btn-secondary-border: #B85A00;
  --sr-btn-secondary-text: #B85A00;
  --sr-btn-ghost-border: rgba(26, 28, 32, 0.18);
  --sr-btn-radius: 10px;
}
.wp-block-button__link,
.ast-button,
.button,
button[type="submit"],
.wpforms-submit {
  background-color: var(--sr-btn-primary-bg) !important;
  color: var(--sr-btn-primary-text) !important;
  border: 2px solid transparent !important;
  border-radius: var(--sr-btn-radius) !important;
  padding: 12px 22px !important;
  min-height: 48px !important;
  font-family: var(--sr-font) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.wp-block-button__link:hover,
.ast-button:hover,
.button:hover,
button[type="submit"]:hover,
.wpforms-submit:hover,
.wp-block-button__link:focus-visible,
.ast-button:focus-visible,
.button:focus-visible,
button[type="submit"]:focus-visible,
.wpforms-submit:focus-visible {
  background-color: var(--sr-btn-primary-hover) !important;
  color: #fff !important;
  outline: 2px solid #B85A00;
  outline-offset: 2px;
}
.sr-hero__btn--secondary {
  background-color: rgba(255,255,255,0.12) !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.85) !important;
  border-radius: var(--sr-btn-radius) !important;
  padding: 12px 22px !important;
  min-height: 48px !important;
  font-weight: 700 !important;
}
.sr-hero__btn--secondary:hover,
.sr-hero__btn--secondary:focus-visible {
  background-color: #fff !important;
  color: #1a1c20 !important;
}

.sr-hero__btn--primary,
.sr-cta--primary .sr-cta__btn {
  background-color: #b85a00 !important; /* WCAG AA white-on-orange */
  color: var(--sr-white) !important;
}
.sr-hero__btn--primary:hover,
.sr-cta--primary .sr-cta__btn:hover {
  background-color: #9a4c00 !important;
  color: var(--sr-white) !important;
}

/* Dual card CTAs — beat generic button !important rules */
body .sr-card__cta.sr-card__cta--primary {
  background-color: #b85a00 !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  border-radius: 10px !important;
  min-height: 48px !important;
  padding: 0.65rem 0.85rem !important;
  font-weight: 700 !important;
}
body .sr-card__cta.sr-card__cta--primary:hover {
  background-color: #9a4c00 !important;
  color: #ffffff !important;
}
body .sr-card__cta.sr-card__cta--secondary {
  background-color: transparent !important;
  color: #1a1c20 !important;
  border: 2px solid rgba(26, 28, 32, 0.18) !important;
  border-radius: 10px !important;
  min-height: 48px !important;
  padding: 0.65rem 0.85rem !important;
  font-weight: 700 !important;
}
body .sr-card__cta.sr-card__cta--secondary:hover {
  background-color: rgba(184, 90, 0, 0.08) !important;
  border-color: #B85A00 !important;
  color: #B85A00 !important;
}

/* Content / cards — modern travel layout (Stitch-informed spacing) */
.entry-content {
  font-size: clamp(15px, 2.8vw, 16px);
  line-height: 1.65;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Full-bleed hero WITHOUT 100vw (avoids mobile horizontal clip) */
body.sr-has-hero .site-content > .ast-container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
body.sr-has-hero .entry-content > .sr-hero,
body.sr-has-hero .entry-content > .sr-slider {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
body.sr-has-hero .entry-content > :not(.sr-slider):not(.sr-hero) {
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
  box-sizing: border-box;
  max-width: 100%;
}

.entry-content > h2.wp-block-heading {
  margin: 2.75rem 0 0.85rem;
  font-size: clamp(1.25rem, 4.5vw, 1.75rem);
  letter-spacing: -0.01em;
}

.entry-content > .sr-cards,
.entry-content > .sr-cta {
  margin-top: 0.5rem;
  margin-bottom: 2rem;
}

/* Subtle section rhythm without card clutter */
.entry-content .wpforms-container {
  background: var(--sr-white);
  padding: 1.5rem 1.25rem;
  border-radius: 4px;
  box-shadow: 0 2px 16px rgba(26, 28, 32, 0.06);
}

.sr-slider__btn,
.sr-hero__btn {
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.sr-slider__btn:hover,
.sr-hero__btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.sr-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sr-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(26, 28, 32, 0.1);
}

/* Footer — production dark */
.site-footer,
.ast-footer-overlay,
.footer-adv,
.ast-footer-copyright {
  background: var(--sr-footer) !important;
  color: var(--sr-muted) !important;
}

.site-footer a,
.ast-footer-copyright a {
  color: var(--sr-white) !important;
}

.site-footer .widget-title {
  color: var(--sr-white) !important;
  font-size: 1rem;
  text-transform: none;
}

.ast-footer-copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 13px;
}

/* Breadcrumbs */
.yoast-breadcrumb,
#breadcrumbs,
.sr-breadcrumb-wrap {
  font-size: 13px;
  color: var(--sr-muted);
  margin: 12px 0 20px;
}

/* Form wrap */
.sr-form-wrap,
.entry-content .wpforms-container {
  max-width: 720px;
}

/* Hub/tour page titles — size owned by SR-100 featured heading block below */
.page .entry-title {
  font-size: clamp(1.6rem, 3vw, 2.1rem); /* fallback; SR-100 overrides on non-hero pages */
}

@media (max-width: 921px) {
  body.sr-has-hero .site-header,
  body.sr-has-hero .main-header-bar,
  body.sr-has-hero .ast-primary-header-bar,
  body.sr-has-hero .ast-mobile-header-wrap,
  body.sr-has-hero #ast-mobile-header {
    position: relative;
    background: #ffffff !important;
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.08) !important;
  }
  body.sr-has-hero .main-header-menu > .menu-item > .menu-link,
  body.sr-has-hero .ast-builder-menu-1 .menu-link,
  body.sr-has-hero .site-title a {
    color: var(--sr-heading) !important;
    text-shadow: none;
  }
  body.sr-has-hero .ast-mobile-menu-trigger-minimal,
  body.sr-has-hero .menu-toggle,
  body.sr-has-hero .ast-button-toggle {
    color: var(--sr-cta) !important;
  }
  .site-branding img,
  .custom-logo-link img {
    max-height: 44px;
    width: auto;
  }
  .sr-cards--cols-2,
  .sr-cards--cols-3,
  .sr-cards--cols-4 {
    grid-template-columns: 1fr !important;
  }
  .entry-content .wpforms-container {
    max-width: 100%;
  }
  /* Elementor footer templates must not force desktop widths */
  .elementor-section.elementor-section-boxed > .elementor-container,
  .elementor-column,
  .elementor-widget-wrap {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Site title beside logo — prefer logo as brand */
.site-title,
.ast-site-title-wrap {
  display: none !important;
}

/* Home front: no top padding before full-bleed hero */
body.home.sr-has-hero .site-content,
body.page.sr-has-hero .site-content {
  padding-top: 0;
}

/* Featured image must not sit above TravelAddon hero */
body.sr-has-hero .ast-single-post-featured-section,
body.sr-has-hero .post-thumb,
body.sr-has-hero .ast-article-image,
body.sr-has-hero article .post-thumb {
  display: none !important;
}

/* Home rhythm: one job per section, clearer booking CTA band */
body.home .entry-content > h2.wp-block-heading {
  text-align: center;
  color: var(--sr-heading);
}
body.home .entry-content > .sr-cards {
  margin-bottom: 2.5rem;
}
body.home .entry-content .wpforms-container {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
}
body.home .sr-slider__btn:focus-visible,
body.home .sr-card__cta:focus-visible {
  outline: 2px solid var(--sr-cta);
  outline-offset: 3px;
}

/* Skip awkward empty header gap on front */
body.home.sr-has-hero .ast-article-single > .entry-header:empty {
  display: none;
}

/* Ultra-modern home polish */
body.home .entry-content > .wp-block-buttons {
  margin: 0.25rem 0 2.5rem;
  justify-content: center;
}
body.home .entry-content > .wp-block-buttons .wp-block-button__link {
  min-height: 48px;
  padding: 0.85rem 1.5rem !important;
  border-radius: 4px !important;
}
body.home .sr-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.home .sr-card {
  border-radius: 14px;
  text-align: left;
}
body.home .sr-card__actions {
  text-align: stretch;
}
body.home .entry-content > p.has-text-align-center {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  color: var(--sr-body);
}
/* Hero must stay paint-ready for LCP (no content-visibility) */


/* —— Stitch + UI/UX Pro Max homepage polish —— */
body.home .entry-content > h2,
body.home .entry-content .wp-block-heading {
  margin-top: 3.5rem;
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: var(--sr-heading) !important;
}
body.home .entry-content > p.has-text-align-center {
  max-width: 40rem;
  margin-bottom: 1.75rem;
  color: var(--sr-body);
  line-height: 1.6;
}
body.home .sr-cards {
  margin-top: 1.25rem;
  margin-bottom: 3.5rem;
}
/* Prefer TravelAddon footer; hide Elementor theme footer when SR footer present */
body:has([data-sr-footer]) .elementor-location-footer,
body:has(.sr-footer) .elementor-location-footer {
  display: none !important;
}
/* Speed: avoid layout thrash on sticky header */
.ast-primary-header-bar,
.main-header-bar {
  contain: layout style;
}


/* Pro Max/Stitch speed pass — keep brand tokens, drop costly motion */
body.home .sr-slider__bg { transform: none !important; }
a, button, .menu-link, .sr-card__cta, .sr-slider__btn { cursor: pointer; }
body.home .entry-content > h2 { margin-top: 3rem; margin-bottom: 0.75rem; }
/* 8px rhythm for stacked CTAs already; ensure form submit tap size */
body.home .wpforms-submit {
  min-height: 48px !important;
  cursor: pointer;
}


/* Cache-bust harden: dual CTAs must win over any combined/legacy cyan button CSS */
html body .sr-cards a.sr-card__cta.sr-card__cta--primary {
  background-color: #b85a00 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
html body .sr-cards a.sr-card__cta.sr-card__cta--primary:hover,
html body .sr-cards a.sr-card__cta.sr-card__cta--primary:active {
  background-color: #9a4c00 !important;
  color: #ffffff !important;
}
html body .sr-cards a.sr-card__cta.sr-card__cta--secondary {
  background-color: transparent !important;
  background-image: none !important;
  color: #1a1c20 !important;
  border: 2px solid rgba(26, 28, 32, 0.18) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
html body .sr-cards a.sr-card__cta.sr-card__cta--secondary:hover,
html body .sr-cards a.sr-card__cta.sr-card__cta--secondary:active {
  background-color: rgba(54, 210, 211, 0.18) !important;
  border-color: #36d2d3 !important;
  color: #1a1c20 !important;
}


/* —— SR-97 / SR-43: premium mobile nav drawer (full primary menu) —— */
@media (max-width: 921px) {
  /* Full-screen drawer; scrolls itself, contains overscroll */
  #ast-mobile-header .main-header-bar-navigation {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: max(4.75rem, env(safe-area-inset-top, 0px) + 3.5rem) 1.25rem max(2rem, env(safe-area-inset-bottom, 0px) + 1.25rem) !important;
    background: #1a1c20 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    display: none;
    box-sizing: border-box !important;
  }
  #ast-mobile-header .main-header-bar-navigation.toggle-on,
  #ast-mobile-header .ast-main-header-bar-alignment .main-header-bar-navigation.toggle-on {
    display: block !important;
  }

  /* Kill Astra HFB white menu/link backgrounds that hid white text (Home-only look) */
  #ast-mobile-header .ast-builder-menu-mobile,
  #ast-mobile-header .ast-builder-menu-mobile .main-navigation,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu .menu-link,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu .sub-menu,
  #ast-mobile-header .main-header-menu,
  #ast-mobile-header .main-header-menu .menu-link,
  #ast-mobile-header .main-header-menu .sub-menu {
    background: transparent !important;
    background-color: transparent !important;
  }

  #ast-mobile-header .main-header-menu,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.15rem !important;
    width: 100% !important;
    max-width: 28rem !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #ast-mobile-header .main-header-menu > .menu-item,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu > .menu-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  #ast-mobile-header .main-header-menu > .menu-item > .menu-link,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu > .menu-item > .menu-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.5rem !important;
    min-height: 52px !important;
    width: 100% !important;
    padding: 0.9rem 0.75rem !important;
    border-radius: 10px !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    color: #ffffff !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    text-decoration: none !important;
    background: transparent !important;
    background-color: transparent !important;
    transition: background-color 0.18s ease, color 0.18s ease;
  }

  #ast-mobile-header .main-header-menu > .menu-item > .menu-link:hover,
  #ast-mobile-header .main-header-menu > .menu-item > .menu-link:focus,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu > .menu-item > .menu-link:hover,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu > .menu-item > .menu-link:focus,
  #ast-mobile-header .main-header-menu > .menu-item.current-menu-item > .menu-link,
  #ast-mobile-header .main-header-menu > .menu-item.current_page_item > .menu-link,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu > .menu-item.current-menu-item > .menu-link,
  #ast-mobile-header .ast-builder-menu-mobile .main-header-menu > .menu-item.current_page_item > .menu-link {
    color: #36d2d3 !important;
    background: rgba(54, 210, 211, 0.12) !important;
    background-color: rgba(54, 210, 211, 0.12) !important;
  }

  #ast-mobile-header .menu-toggle,
  #ast-mobile-header .ast-button-toggle,
  #ast-mobile-header .ast-mobile-menu-trigger-minimal {
    position: relative;
    z-index: 100001 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #36d2d3 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  #ast-mobile-header .menu-toggle .ast-mobile-svg,
  #ast-mobile-header .ast-mobile-menu-trigger-minimal .ast-mobile-svg {
    fill: #36d2d3 !important;
    color: #36d2d3 !important;
    width: 22px !important;
    height: 22px !important;
  }
  /* SR-154 — homepage overlay: white hamburger (beats #ast-mobile-header cyan) */
  html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header .menu-toggle,
  html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header .ast-mobile-menu-trigger-minimal,
  html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header .menu-toggle .ast-mobile-svg,
  html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header .ast-mobile-menu-trigger-minimal .ast-mobile-svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }
  html body.home.sr-has-hero.sr-header-solid #ast-mobile-header .menu-toggle,
  html body.home.sr-has-hero.sr-header-solid #ast-mobile-header .ast-mobile-menu-trigger-minimal,
  html body.home.sr-has-hero.sr-header-solid #ast-mobile-header .menu-toggle .ast-mobile-svg,
  html body.home.sr-has-hero.ast-main-header-nav-open #ast-mobile-header .menu-toggle {
    color: #1a1c20 !important;
    fill: #1a1c20 !important;
    stroke: #1a1c20 !important;
  }

  /* Lock page scroll only while drawer is open; drawer itself scrolls */
  body.ast-main-header-nav-open,
  html.ast-off-canvas-active {
    overflow: hidden !important;
    overscroll-behavior: none;
  }
  /* Keep contact FAB/bar under the drawer while menu is open */
  body.ast-main-header-nav-open .sr-fab,
  body.ast-main-header-nav-open .sr-fab[data-sr-fab],
  html body.ast-main-header-nav-open .sr-fab,
  body.ast-main-header-nav-open [data-sr-tour-sticky],
  body.ast-main-header-nav-open .sr-tour-sticky {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  /*
   * SR-99: close (X) was invisible because toggle z-index:100002 lived inside
   * .ast-primary-header-bar { z-index:4 }, so the drawer (z-index:100000) painted over it.
   * Raise the header-bar stacking context above the drawer while open; keep bar transparent.
   */
  body.ast-main-header-nav-open #ast-mobile-header .ast-main-header-wrap,
  body.ast-main-header-nav-open #ast-mobile-header .ast-primary-header-bar {
    position: relative !important;
    z-index: 100003 !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
  body.ast-main-header-nav-open #ast-mobile-header .site-branding,
  body.ast-main-header-nav-open #ast-mobile-header .site-logo-img,
  body.ast-main-header-nav-open #ast-mobile-header .custom-logo-link {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.ast-main-header-nav-open #ast-mobile-header .menu-toggle,
  body.ast-main-header-nav-open #ast-mobile-header .ast-mobile-menu-trigger-minimal {
    position: fixed !important;
    top: max(0.65rem, env(safe-area-inset-top, 0px)) !important;
    right: max(0.65rem, env(safe-area-inset-right, 0px)) !important;
    z-index: 100004 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    background: #1a1c20 !important;
    background-color: #1a1c20 !important;
    border: 2px solid #36d2d3 !important;
    border-radius: 999px !important;
    box-shadow: 0 0 0 2px rgba(26, 28, 32, 0.9), 0 4px 14px rgba(0, 0, 0, 0.45) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  body.ast-main-header-nav-open #ast-mobile-header .menu-toggle .ast-close-svg,
  body.ast-main-header-nav-open #ast-mobile-header .ast-mobile-menu-trigger-minimal .ast-close-svg,
  body.ast-main-header-nav-open #ast-mobile-header .menu-toggle.toggled .ast-close-svg {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    fill: #ffffff !important;
    color: #ffffff !important;
    width: 22px !important;
    height: 22px !important;
  }
  body.ast-main-header-nav-open #ast-mobile-header .menu-toggle .mobile-menu-toggle-icon,
  body.ast-main-header-nav-open #ast-mobile-header .menu-toggle .ahfb-svg-iconset {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
  }

  /* Elementor 3-col tour cards → stacked single column */
  .elementor-section .elementor-container {
    flex-wrap: wrap !important;
  }
  .elementor-col-33,
  .elementor-col-50,
  .elementor-column[data-col="33"],
  .elementor-column[data-col="50"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .elementor-section .elementor-col-33 > .elementor-widget-wrap,
  .elementor-top-column > .elementor-widget-wrap.elementor-element-populated {
    background: #fff;
    border: 1px solid rgba(26, 28, 32, 0.08);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 8px -2px rgba(26, 28, 32, 0.05);
    padding: 0 0 1rem !important;
    margin-bottom: 1.25rem;
  }
  .elementor-col-33 .elementor-widget-image,
  .elementor-col-33 .elementor-widget-image img {
    width: 100% !important;
    margin: 0 !important;
  }
  .elementor-col-33 .elementor-widget-image img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    height: auto !important;
  }
  .elementor-col-33 .elementor-heading-title,
  .elementor-col-33 h2,
  .elementor-col-33 h3 {
    font-size: 1.15rem !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em;
    padding: 0.85rem 1rem 0.35rem !important;
    margin: 0 !important;
    text-align: left !important;
  }
  .elementor-col-33 .elementor-widget-text-editor,
  .elementor-col-33 .elementor-widget-text-editor p {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    color: #5c5e66 !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* The7 / Elementor CTAs */
  .elementor-col-33 .dt-btn,
  .elementor-col-33 .the7-button,
  .elementor-col-33 a.button,
  .elementor-col-33 .elementor-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px !important;
    padding: 0.65rem 1.1rem !important;
    margin: 0.35rem 1rem 0.25rem !important;
    border-radius: 10px !important;
    background: #b85a00 !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: none !important;
  }

  /* Dense intro text breathing room */
  .elementor-widget-text-editor,
  .elementor-widget-theme-page-title,
  .entry-content {
    max-width: 40rem;
  }
  .elementor-section.elementor-top-section > .elementor-container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .elementor-widget-text-editor p {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1rem !important;
  }
  .elementor-page-title h1,
  .elementor-widget-theme-page-title h1 {
    font-size: clamp(1.55rem, 6vw, 2rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em;
    margin: 0.5rem 0 1rem !important;
  }
}

@media (min-width: 922px) and (max-width: 1100px) {
  .elementor-col-33 {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }
}


/* —— SR-46 homepage premium —— */
body.home .entry-content > h2.wp-block-heading {
  font-size: clamp(1.55rem, 2.6vw, 2.05rem);
  letter-spacing: -0.025em;
}
body.home .entry-content > h3.wp-block-heading {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 600;
  color: var(--sr-body) !important;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.35rem;
  margin-bottom: 1.5rem;
  line-height: 1.45;
}
body.home .sr-card {
  background: #fff;
  border: 1px solid rgba(26, 28, 32, 0.08);
  box-shadow: 0 12px 32px -18px rgba(26, 28, 32, 0.28);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
body.home .sr-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 44px -20px rgba(26, 28, 32, 0.34);
  border-color: rgba(231, 118, 0, 0.28);
}
body.home .sr-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #ececec;
}
body.home .sr-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}
body.home .sr-card:hover .sr-card__img {
  transform: scale(1.04);
}
body.home .sr-card__body {
  padding: 1.15rem 1.2rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  flex: 1;
}
body.home .sr-card__title {
  font-size: 1.05rem;
  line-height: 1.35;
  margin: 0;
  letter-spacing: -0.015em;
}
body.home .sr-card__title a {
  color: var(--sr-heading) !important;
  text-decoration: none !important;
}
body.home .sr-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #3a3d45;
}
body.home .sr-card__price {
  color: #b85a00;
}
body.home .sr-card__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  margin-top: auto;
  padding-top: 0.35rem;
}
body.home .sr-card__cta {
  min-height: 46px;
  border-radius: 10px !important;
  font-size: 0.92rem;
}
body.home .entry-content .wpforms-container {
  max-width: 640px;
  background: #fff;
  border: 1px solid rgba(26, 28, 32, 0.08);
  border-radius: 16px;
  padding: 1.5rem 1.35rem 1.75rem;
  box-shadow: 0 16px 40px -24px rgba(26, 28, 32, 0.35);
}
body.home .wpforms-field input,
body.home .wpforms-field select,
body.home .wpforms-field textarea {
  border-radius: 10px !important;
  border-color: rgba(26, 28, 32, 0.16) !important;
  min-height: 48px;
}
body.home .wpforms-field textarea {
  min-height: 120px;
}
body.home .wpforms-submit {
  background: #b85a00 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  padding: 0.85rem 1.5rem !important;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
body.home .wpforms-submit:hover,
body.home .wpforms-submit:focus {
  background: #9a4c00 !important;
  color: #fff !important;
}
@media (max-width: 640px) {
  body.home .sr-card__actions {
    grid-template-columns: 1fr;
  }
  body.home .entry-content .wpforms-container {
    padding: 1.15rem 1rem 1.35rem;
    border-radius: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.home .sr-card,
  body.home .sr-card__img,
  body.home .wpforms-submit {
    transition: none;
  }
  body.home .sr-card:hover {
    transform: none;
  }
  body.home .sr-card:hover .sr-card__img {
    transform: none;
  }
}


/* —— SR-46 FAB matched —— */
html body .sr-fab {
  align-items: center !important;
}
html body .sr-fab__btn,
html body .sr-fab__toggle {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 10px 28px rgba(15, 17, 20, 0.28) !important;
}
html body .sr-fab__btn--wa {
  background: #25d366 !important;
  color: #fff !important;
}
html body .sr-fab__btn--wa:hover,
html body .sr-fab__btn--wa:focus-visible {
  background: #1ebe57 !important;
  color: #fff !important;
  transform: translateY(-2px) scale(1.05);
}
html body .sr-fab__btn--phone {
  background: #1a1c20 !important;
  color: #fff !important;
}
html body .sr-fab__btn--phone:hover,
html body .sr-fab__btn--phone:focus-visible {
  background: #2c2f36 !important;
  color: #fff !important;
  transform: translateY(-2px) scale(1.05);
}
html body .sr-fab__panel {
  align-items: center !important;
  gap: 0.6rem !important;
}
@media (max-width: 640px) {
  /* SR-51: keep single toggle on mobile; panel only when .is-open */
  html body .sr-fab__toggle {
    display: inline-flex !important;
  }
  html body .sr-fab:not(.is-open) .sr-fab__panel {
    opacity: 0 !important;
    visibility: hidden !important;
  }
}


/* —— SR-47 homepage builder —— */
body.home .sr-homepage {
  display: flex;
  flex-direction: column;
  gap: 0;
}
body.home .sr-home-sec {
  padding: 2.75rem 0 1.5rem;
}
body.home .sr-home-sec__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 1.15rem;
}
body.home .sr-home-sec--hero {
  padding: 0;
}
body.home .sr-home-sec--hero .sr-home-sec__inner {
  max-width: none;
  padding: 0;
}
body.home .sr-home-sec__title {
  text-align: center;
  margin: 0 0 0.75rem;
  font-size: clamp(1.55rem, 2.6vw, 2.1rem);
  letter-spacing: -0.025em;
  color: var(--sr-heading, #1a1c20) !important;
}
body.home .sr-home-sec__subtitle,
body.home .sr-home-sec__eyebrow {
  text-align: center;
  max-width: 42rem;
  margin: 0 auto 1.35rem;
  color: var(--sr-body, #5c5e66);
  line-height: 1.55;
  font-size: 1.05rem;
}
body.home .sr-home-sec__body {
  max-width: 44rem;
  margin: 0 auto 1.75rem;
  text-align: center;
  color: var(--sr-body, #5c5e66);
  line-height: 1.7;
  font-size: 1.05rem;
}
body.home .sr-home-sec--intro {
  background:
    radial-gradient(1200px 280px at 50% -10%, rgba(54, 210, 211, 0.14), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
}
body.home .sr-home-sec--saison {
  background: linear-gradient(180deg, #f7f7f7 0%, #ffffff 55%);
}
body.home .sr-home-sec--rundreisen,
body.home .sr-home-sec--privatreisen {
  background: linear-gradient(180deg, #fcfbf9 0%, #f4f2ef 100%);
}
body.home .sr-home-cta-band {
  background: linear-gradient(135deg, #1a1c20 0%, #2c2f36 55%, #1a1c20 100%);
  color: #fff;
  border-radius: 20px;
  padding: 2.25rem 1.5rem;
  text-align: center;
  box-shadow: 0 24px 48px -28px rgba(26, 28, 32, 0.55);
}
body.home .sr-home-cta-band .sr-home-sec__title {
  color: #fff !important;
  margin-bottom: 0.5rem;
}
body.home .sr-home-cta-band .sr-home-sec__subtitle {
  color: rgba(247, 247, 247, 0.82);
}
body.home .sr-home-sec__btn,
body.home .sr-home-cta-band .sr-home-sec__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.8rem 1.45rem;
  border-radius: 12px;
  background: #b85a00;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
body.home .sr-home-sec__btn:hover,
body.home .sr-home-cta-band .sr-home-sec__btn:hover {
  background: #9a4c00;
  transform: translateY(-1px);
}
body.home .sr-home-sec__actions {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}
body.home .sr-home-contact {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media (min-width: 900px) {
  body.home .sr-home-contact {
    grid-template-columns: 0.9fr 1.1fr;
    gap: 2rem;
  }
  body.home .sr-home-contact .sr-home-sec__title,
  body.home .sr-home-contact .sr-home-sec__body,
  body.home .sr-home-contact .sr-home-sec__eyebrow {
    text-align: left;
    margin-left: 0;
  }
}
body.home .sr-home-contact__form .sr-form-wrap,
body.home .sr-home-contact__form .wpforms-container,
body.home .sr-home-sec--feedback_form .sr-form-wrap,
body.home .sr-home-sec--feedback_form .wpforms-container {
  max-width: none;
}
body.home .sr-home-sec--feedback_form {
  background: #fff;
}
@media (prefers-reduced-motion: reduce) {
  body.home .sr-home-sec__btn { transition: none; }
}


/* —— SR-48 global Elementor / hub / article polish —— */
body .elementor-button,
body .elementor-button-link,
body a.elementor-button,
body .dt-btn,
body .the7-button {
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body .elementor-button:hover,
body a.elementor-button:hover {
  text-decoration: none !important;
}

/* Hubs: clearer card rhythm */
body.page-child .elementor-col-33 > .elementor-widget-wrap,
body.parent-pageid .elementor-col-33 > .elementor-widget-wrap {
  border-radius: 14px;
  overflow: hidden;
}

/* Articles: readable measure + quieter share chrome */
body.single-post .entry-content,
body.blog .entry-content {
  max-width: 42rem;
}
body.single-post .entry-content p,
body.single-post .entry-content li {
  line-height: 1.7;
  color: #5c5e66;
}
body.single-post h1.entry-title,
body.single-post .entry-header h1 {
  letter-spacing: -0.025em;
  line-height: 1.2;
}

/* Related tours / cards already TravelAddon — keep CTAs tap-friendly */
body .sr-card__cta {
  text-decoration: none !important;
  box-shadow: none !important;
}

/* SR-53 — article featured image LCP box + home hero title CLS */
.single-post .post-thumbnail img,
.single-post .entry-content img.sr-article-lcp,
.single-post img.wp-post-image {
  aspect-ratio: attr(width) / attr(height);
  height: auto;
  max-width: 100%;
}
.single-post .post-thumbnail,
.single-post .ast-single-post-featured-section {
  aspect-ratio: 16 / 9;
  background: #eceef1;
  overflow: hidden;
}
.single-post .post-thumbnail img,
.single-post .ast-single-post-featured-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* SR-150: drop reserved 2.6em gap; size closer to live (~94px @ 1440) */
body.home .sr-slider__title {
  min-height: 0;
  margin-top: 0;
  margin-bottom: 0.45rem;
  font-size: clamp(2rem, 6.5vw, 5.9rem);
  line-height: 1.08;
}

/* SR-53 — reduce font CLS: metric-matched Arial fallback while Roboto optional loads */
@font-face {
  font-family: "Roboto Fallback";
  src: local("Arial");
  size-adjust: 107%;
  ascent-override: 92%;
  descent-override: 24%;
  line-gap-override: 0%;
}
body, button, input, select, textarea {
  font-family: Roboto, "Roboto Fallback", Helvetica, Arial, sans-serif;
}


/* —— SR-55 premium forms + cards + sitewide button polish —— */
body.home .sr-home-sec {
  padding: 3.25rem 0 2rem;
}
body.home .sr-home-sec--saison {
  background: linear-gradient(180deg, #ffffff 0%, #faf8f5 100%);
}
body.home .sr-home-sec--contact,
body.home .sr-home-sec--feedback_form {
  background: linear-gradient(180deg, #f7f5f2 0%, #ffffff 60%);
}
body.home .sr-home-contact {
  background: #fff;
  border: 1px solid rgba(26,28,32,0.08);
  border-radius: 18px;
  padding: 1.75rem 1.5rem;
  box-shadow: 0 18px 40px -28px rgba(26,28,32,0.35);
}
body.home .sr-home-sec--feedback_form .sr-home-sec__inner {
  max-width: 720px;
}
body.home .sr-home-sec--feedback_form .sr-form-wrap,
body.home .sr-home-contact__form .sr-form-wrap,
body .sr-form-wrap,
body .entry-content .wpforms-container {
  background: #fff;
  border: 1px solid rgba(26,28,32,0.08);
  border-radius: 16px;
  padding: 1.35rem 1.25rem 1.5rem;
  box-shadow: 0 14px 34px -26px rgba(26,28,32,0.3);
}
body.home .sr-home-contact__form .sr-form-wrap {
  border: 0;
  box-shadow: none;
  padding: 0;
  background: transparent;
}
body.home .sr-home-contact__form-title {
  margin: 0 0 1rem;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #1a1c20;
  text-align: left;
}
body .wpforms-field {
  padding: 0 0 1rem !important;
}
body .wpforms-field-label {
  font-weight: 600 !important;
  color: #1a1c20 !important;
  font-size: 0.92rem !important;
  margin-bottom: 0.4rem !important;
}
body .wpforms-field input.wpforms-field-medium,
body .wpforms-field input[type="text"],
body .wpforms-field input[type="email"],
body .wpforms-field input[type="tel"],
body .wpforms-field select,
body .wpforms-field textarea {
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  min-height: 48px !important;
  padding: 0.7rem 0.9rem !important;
  box-shadow: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
body .wpforms-field textarea {
  min-height: 120px !important;
}
body .wpforms-field input:focus,
body .wpforms-field select:focus,
body .wpforms-field textarea:focus {
  border-color: #B85A00 !important;
  box-shadow: 0 0 0 3px rgba(184,90,0,0.18) !important;
  outline: none !important;
}
body .wpforms-submit {
  width: auto !important;
  min-width: 10rem;
  border-radius: 10px !important;
}
/* Card grid: equal height + pinned dual CTAs */
body.home .sr-cards {
  align-items: stretch;
}
body.home .sr-card {
  height: 100%;
  min-height: 0;
}
body.home .sr-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
body.home .sr-card__actions {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  width: 100%;
}
body.home .sr-card__cta {
  width: 100%;
  box-sizing: border-box;
}
html body .sr-cards a.sr-card__cta.sr-card__cta--secondary:hover,
html body .sr-cards a.sr-card__cta.sr-card__cta--secondary:active {
  background-color: rgba(184, 90, 0, 0.08) !important;
  border-color: #B85A00 !important;
  color: #B85A00 !important;
}
/* Articles + hubs share button tokens */
body.single-post .wp-block-button__link,
body.page .wp-block-button__link {
  background-color: var(--sr-btn-primary-bg, #B85A00) !important;
  color: #fff !important;
  border-radius: 10px !important;
}
body.single-post .entry-content,
body.page:not(.home) .entry-content {
  font-size: 1.05rem;
  line-height: 1.7;
}
body.page:not(.home):not(.sr-is-tour) .entry-content > h2 {
  letter-spacing: -0.02em;
  margin-top: 2.5rem;
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-button__link,
  .ast-button,
  .button,
  .wpforms-submit,
  .sr-hero__btn--secondary {
    transition: none !important;
  }
}



/* —— SR-58 edge-to-edge home hero (break Astra + FAB gutter) —— */
body.home.sr-has-hero .site-content > .ast-container,
body.home .site-content > .ast-container:has(.sr-homepage),
body.sr-has-home-hero .site-content > .ast-container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}
body.home.sr-has-hero #content,
body.home.sr-has-hero .site-content,
body.sr-has-home-hero #content,
body.sr-has-home-hero .site-content {
  padding-top: 0 !important;
}
body.home .entry-content > .sr-homepage {
  max-width: none;
  margin: 0;
  padding: 0;
}

/*
 * Root cause of boxed hero: TravelAddon FAB CSS set
 * padding-inline-end: 4.5rem (72px) on .ast-article-single / .entry-content.
 * Kill physical + logical padding; then 100vw-breakout the hero section.
 */
html body.home.sr-has-hero article.ast-article-single,
html body.home.sr-has-hero article.page,
html body.home.sr-has-hero .ast-article-single,
html body.sr-has-home-hero article.ast-article-single,
html body.home.sr-has-hero.ast-plain-container .ast-article-single,
html body.home.sr-has-hero.ast-separate-container .ast-article-single,
html body.home.sr-has-hero .entry-content,
html body.sr-has-home-hero .entry-content {
  padding: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/*
 * Full-bleed home hero — avoid 100vw/50% asymmetry (leaves ~15px white gutter).
 * Expand the home layout to the visual viewport; hero is then plain width:100%.
 */
html:has(body.home.sr-has-home-hero) {
  overflow-x: clip !important;
}
html body.home.sr-has-home-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: visible !important; /* do not clip the full-bleed hero */
}
html body.home.sr-has-home-hero #page,
html body.home.sr-has-home-hero .site-content,
html body.home.sr-has-home-hero .site-content > .ast-container,
html body.home.sr-has-home-hero #content,
html body.home.sr-has-home-hero #primary,
html body.home.sr-has-home-hero #main,
html body.home.sr-has-home-hero article.ast-article-single,
html body.home.sr-has-home-hero .entry-content,
html body.home.sr-has-home-hero .entry-content[data-ast-blocks-layout],
html body.home.sr-has-home-hero .sr-homepage {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}
html body.home .sr-home-sec--hero,
html body.home .sr-homepage > .sr-home-sec--hero,
html body.sr-has-home-hero .sr-home-sec--hero,
html body.home .entry-content[data-ast-blocks-layout] .sr-home-sec--hero,
html body.home .ast-plain-container .entry-content .sr-home-sec--hero {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  left: 0 !important;
  overflow: hidden;
}
html body.home .sr-home-sec--hero .sr-slider,
html body.home .sr-homepage .sr-slider,
html body.sr-has-home-hero .sr-slider {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  min-height: clamp(560px, 88vh, 920px);
}
html body.home .sr-home-sec--hero .sr-home-sec__inner {
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.home .sr-homepage > .sr-home-sec:not(.sr-home-sec--hero) .sr-home-sec__inner {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(1.15rem, env(safe-area-inset-left));
  padding-right: max(1.15rem, env(safe-area-inset-right));
}
body.home.sr-has-hero .entry-content > .sr-homepage,
body.sr-has-home-hero .entry-content > .sr-homepage,
body.home.sr-has-hero .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

/* Premium hero chrome: arrows + CTAs */
body.home .sr-slider__nav,
body.home .sr-slider .sr-slider__arrow {
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: rgba(15, 17, 20, 0.42) !important;
  border: 1px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(8px);
  color: #fff !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}
body.home .sr-slider__nav:hover,
body.home .sr-slider__nav:focus-visible,
body.home .sr-slider .sr-slider__arrow:hover {
  background: rgba(54, 210, 211, 0.92) !important;
  border-color: transparent;
  color: #0f1114 !important;
}
body.home .sr-slider__cta,
body.home .sr-slider .sr-hero__btn,
body.home .sr-slider .sr-slider__btn {
  min-height: 3rem;
  padding: 0.85rem 1.55rem;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
}
body.home .sr-slider__title,
body.home .sr-slider .sr-hero__title {
  min-height: 0;
  margin-bottom: 0.45rem;
  font-size: clamp(2rem, 6.5vw, 5.9rem);
  line-height: 1.08;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
  letter-spacing: -0.03em;
}

/* Kill Astra below-footer black band + Powered by */
html body:has([data-sr-footer]) #colophon.site-footer,
html body:has([data-sr-footer]) .site-below-footer-wrap,
html body:has([data-sr-footer]) .ast-footer-copyright,
html body .site-footer .ast-footer-copyright {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Kill CV ghost gaps (720px contain-intrinsic) near the fold */
body.home .sr-homepage > .sr-home-sec:nth-child(-n+5) {
  content-visibility: visible !important;
  contain-intrinsic-size: none !important;
}
/* Empty Trustindex mount must not reserve a white band before SAISON. */
body.home .sr-reviews-mount[aria-busy="true"] {
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  background: transparent;
}
body.home .sr-home-sec--reviews_google:has(.sr-reviews-mount[aria-busy="true"]),
body.home .sr-home-sec--reviews_tripadvisor:has(.sr-reviews-mount[aria-busy="true"]) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* Home premium section rhythm */
body.home .sr-home-sec:not(.sr-home-sec--hero) {
  padding: 3.75rem 0 2.5rem;
}
body.home .sr-home-sec__title {
  font-size: clamp(1.65rem, 2.8vw, 2.25rem);
  letter-spacing: -0.03em;
}
body.home .sr-card {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(26, 28, 32, 0.08);
  border: 1px solid rgba(26, 28, 32, 0.06);
  background: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
body.home .sr-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(26, 28, 32, 0.12);
}
body.home .sr-home-sec--contact .wpforms-container,
body.home .sr-home-sec--feedback_form .wpforms-container {
  max-width: 640px;
  margin: 0 auto;
  padding: 1.75rem 1.5rem;
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(26, 28, 32, 0.07);
  box-shadow: 0 14px 40px rgba(26, 28, 32, 0.07);
}

@media (max-width: 640px) {
  body.home .sr-home-sec--hero .sr-slider,
  body.home .sr-homepage .sr-slider {
    min-height: clamp(480px, 78vh, 720px);
  }
  body.home .sr-slider__nav,
  body.home .sr-slider .sr-slider__arrow {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* SR65 P0 — home footer must paint dark (not content-visibility ghost) */
body.home .sr-footer,
html body .sr-footer[data-sr-footer] {
  content-visibility: visible !important;
  contain-intrinsic-size: none !important;
  background-color: #1a1c20 !important;
  background-image: linear-gradient(180deg, #22252b 0%, #1a1c20 55%) !important;
  color: #f7f7f7 !important;
}


/* —— SR-76 LIVE homepage parity: contact chrome + blog teasers + title-only Privatreisen —— */
body.home .sr-home-sec--privatreisen {
  padding-top: 1.5rem;
  padding-bottom: 1rem;
}
body.home .sr-home-sec--privatreisen .sr-home-sec__title {
  margin-bottom: 0;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}
body.home .sr-home-sec--privatreisen:not(:has(.sr-cards, .sr-card, .sr-home-sec__subtitle, .sr-home-sec__body, .sr-home-sec__actions)) {
  min-height: 0;
}

body.home .sr-home-contact__list {
  list-style: none;
  margin: 1rem 0 0.75rem;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}
body.home .sr-home-contact__list-item a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #1a1c20;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
}
body.home .sr-home-contact__list-item a:hover {
  color: #e77600;
}
body.home .sr-home-contact__ico {
  display: inline-flex;
  width: 1.4rem;
  height: 1.4rem;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  color: #e77600;
}
body.home .sr-home-contact__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.85rem;
}
body.home .sr-home-contact__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none !important;
  color: #fff !important;
  background: #1a1c20;
}
body.home .sr-home-contact__social-link--wa { background: #25d366; }
body.home .sr-home-contact__social-link--viber { background: #7360f2; }
body.home .sr-home-contact__social-link--telegram { background: #229ed9; }
body.home .sr-home-contact__social-link:hover { filter: brightness(1.06); }

body.home .sr-home-sec--blog_teasers {
  padding-top: 1.25rem;
  padding-bottom: 2.5rem;
  background: #fff;
}
body.home .sr-home-blog {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem 1rem;
}
@media (min-width: 640px) {
  body.home .sr-home-blog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  body.home .sr-home-blog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
body.home .sr-home-blog__card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
}
body.home .sr-home-blog__media {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 16 / 10;
  background: #eceef1;
}
body.home .sr-home-blog__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
body.home .sr-home-blog__media:hover .sr-home-blog__img {
  transform: scale(1.04);
}
body.home .sr-home-blog__img--placeholder {
  min-height: 100%;
  background: linear-gradient(135deg, #e8eaee, #f5f2ec);
}
body.home .sr-home-blog__title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700;
  color: #1a1c20;
}
body.home .sr-home-blog__title a {
  color: inherit;
  text-decoration: none;
}
body.home .sr-home-blog__title a:hover {
  color: #e77600;
}

/* Hide WhatsApp checkbox if still present on older form revisions */
body.home #wpforms-61806-field_4-container {
  display: none !important;
}

/* SR-76 form honeypot / WhatsApp checkbox stay hidden */
body.home #wpforms-61806-field_4-container,
body #wpforms-61806-field_4-container,
body.home #wpforms-61806-field_6-container,
body #wpforms-61806-field_6-container,
body .wpforms-field.sr-wa-check-hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  display: block !important;
  clip: rect(0,0,0,0) !important;
}
body.home .sr-home-sec--privatreisen {
  padding-top: 0.85rem !important;
  padding-bottom: 0.65rem !important;
}
body.home .sr-home-sec--privatreisen .sr-home-sec__inner {
  padding-top: 0;
  padding-bottom: 0;
}



/* —— SR-80 mobile home cards: center + FAB clearance (desktop unchanged) —— */
@media (max-width: 921px) {
  /*
   * Root cause: TravelAddon float CSS set padding-inline-end: 4.5rem on
   * .sr-home-sec .sr-cards → ~66px empty right gutter, cards left-biased.
   * Reset + stretch single column within equal section padding.
   */
  html body.home .sr-home-sec:not(.sr-home-sec--hero) .sr-cards,
  html body.home .sr-home-sec .sr-cards,
  html body.home .sr-cards.sr-home-saison,
  html body.home .sr-cards.sr-home-rundreisen {
    padding-inline-end: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    padding-inline-start: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-items: stretch;
    justify-content: center;
    grid-template-columns: minmax(0, 1fr) !important;
    box-sizing: border-box !important;
  }

  body.home .sr-home-sec:not(.sr-home-sec--hero) .sr-home-sec__inner {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    padding-left: max(1.1rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(1.1rem, env(safe-area-inset-right, 0px)) !important;
    box-sizing: border-box;
  }

  body.home .sr-home-sec .sr-card,
  body.home .sr-cards .sr-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }

  body.home .sr-home-blog {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-inline-end: 0 !important;
    padding-right: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* FAB stack (~56px) floats BR — clear via bottom space, not asymmetric side pad */
  body.home .sr-homepage {
    padding-bottom: 5.75rem;
  }
  body.home .sr-home-sec:has(.sr-cards),
  body.home .sr-home-sec--blog_teasers {
    padding-bottom: max(2.75rem, env(safe-area-inset-bottom, 0px));
  }
  body.home .sr-card__actions,
  body.home .sr-home-blog__card {
    scroll-margin-bottom: 5.5rem;
  }

  /* Keep FAB from covering last-row CTA hit targets when scrolled to section end */
  body.home .sr-home-sec:has(.sr-cards) .sr-cards {
    padding-bottom: 0.35rem;
  }
}


/* —— SR-83 premium article / inner post UX —— */
body.single-post {
  --sr-article-measure: 38.75rem;
  --sr-article-wide: min(1080px, calc(100vw - 2.5rem));
}

/* Reading shell */
body.single-post .site-content > .ast-container {
  max-width: 1200px;
}
body.single-post article.ast-article-single {
  background: #fff;
  border-radius: 18px;
  padding: 1.55rem 1.45rem 2rem;
  box-shadow: 0 18px 44px -34px rgba(26, 28, 32, 0.35);
  border: 1px solid rgba(26, 28, 32, 0.06);
}
body.single-post .entry-header {
  margin: 0 0 1.15rem;
  max-width: var(--sr-article-measure);
}
body.single-post h1.entry-title,
body.single-post .entry-header h1 {
  font-size: clamp(1.95rem, 4vw, 2.75rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  font-weight: 700 !important;
  color: #1a1c20 !important;
  margin: 0 !important;
  max-width: 20ch;
}
/* SR-87 — hide post meta sitewide on singles (author / date / cat chips) */
body.single-post .entry-meta,
body.single-post .ast-single-post-categories,
body.single-post .ast-tax-style,
body.single-post .entry-header .posted-by,
body.single-post .entry-header .posted-on,
body.single-post .entry-header .cat-links,
body.single-post .entry-header .tags-links {
  display: none !important;
}

/* Featured image LCP plane — SR-87 hero base */
body.single-post .sr-article-featured,
body.single-post .ast-single-post-featured-section,
body.single-post .single-layout-1 > .post-thumbnail {
  margin: 0 0 1.5rem;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 2.15 / 1;
  min-height: clamp(240px, 36vw, 420px);
  background: linear-gradient(145deg, #1a1c20 0%, #2c3138 55%, #0e8f90 140%);
  max-width: 100%;
  position: relative;
  isolation: isolate;
}
body.single-post .sr-article-featured img,
body.single-post .ast-single-post-featured-section img,
body.single-post .single-layout-1 > .post-thumbnail img,
body.single-post .sr-article-featured img.wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 2.15 / 1;
  min-height: inherit;
  transform: scale(1.02);
  transition: transform 1.2s ease;
}
body.single-post .sr-article-featured:hover img,
body.single-post .ast-single-post-featured-section:hover img {
  transform: scale(1.05);
}

/* Content measure + neutralize baked inline article wrappers */
body.single-post .entry-content {
  max-width: var(--sr-article-measure);
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #5c5e66;
}
body.single-post .entry-content > div[style] {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-post .entry-content p {
  margin: 0 0 1.05em;
  line-height: 1.72;
  color: #5c5e66;
}
body.single-post .entry-content h2 {
  font-size: clamp(1.32rem, 2.5vw, 1.62rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em;
  color: #1a1c20 !important;
  font-weight: 700 !important;
  margin: 2.05rem 0 0.72rem !important;
}
body.single-post .entry-content h3 {
  font-size: clamp(1.1rem, 2vw, 1.24rem) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em;
  color: #1a1c20 !important;
  font-weight: 700 !important;
  margin: 1.55rem 0 0.55rem !important;
}
body.single-post .entry-content ul,
body.single-post .entry-content ol {
  padding-left: 1.2rem;
  margin: 0 0 1.25em;
}
body.single-post .entry-content li {
  margin-bottom: 0.45em;
  line-height: 1.65;
}
body.single-post .entry-content a:not(.sr-card__cta):not(.sr-related-banner__cta):not(.sr-related-banner__link):not(.sr-related__book) {
  color: #0c7a7b; /* ≥5.1:1 on white — AA */
  text-underline-offset: 0.15em;
}

/* SR-90 — force AA banner copy (overrides .entry-content p body ink) */
body.single-post .entry-content .sr-related-banner,
body.single-post .entry-content .sr-related-banner p,
body.single-post .entry-content .sr-related-banner__text {
  color: #f4f7f8 !important;
}
body.single-post .entry-content .sr-related-banner__link {
  color: #9aebec !important;
  text-decoration: underline !important;
  font-weight: 650;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 44px;
  padding: 0.2rem 0 !important;
  border-radius: 0 !important;
}
body.single-post .entry-content .sr-related-banner__link:hover,
body.single-post .entry-content .sr-related-banner__link:focus-visible {
  color: #ffffff !important;
}

/* SR-90 — CSS defense: hide legacy dark numbered Inhaltsverzeichnis when sticky TOC present */
body.single-post.sr-has-toc .entry-content > div[style*="background: #1a5a64"],
body.single-post.sr-has-toc .entry-content > div[style*="background:#1a5a64"],
body.single-post.sr-toc-sticky .entry-content div[style*="background: #1a5a64"][style*="padding: 26px"] {
  display: none !important;
}
body.single-post .entry-content img {
  border-radius: 12px;
  height: auto;
  max-width: 100%;
}

/* Soften emoji / status chips baked into older article HTML */
body.single-post .entry-content span[style*="background"] {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  background: #f3f5f7 !important;
  color: #1a1c20 !important;
  border: 1px solid rgba(26, 28, 32, 0.08) !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 0.4rem 0.85rem !important;
  margin: 0 0.35rem 0.45rem 0 !important;
  line-height: 1.2 !important;
}
body.single-post .entry-content p[style*="border-bottom"] {
  border-bottom: 1px solid rgba(26, 28, 32, 0.1) !important;
  color: #7a7d86 !important;
  font-size: 0.92rem !important;
  padding-bottom: 0.85rem !important;
  margin-bottom: 1.35rem !important;
}

/* Break related + conversion banner out of reading measure */
body.single-post .entry-content .sr-related-banner,
body.single-post .entry-content .sr-related {
  width: var(--sr-article-wide);
  max-width: var(--sr-article-wide);
  margin-left: calc(50% - min(560px, 50vw - 1.25rem));
  margin-right: calc(50% - min(560px, 50vw - 1.25rem));
  box-sizing: border-box;
}
body.single-post .entry-content .sr-related-banner {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
body.single-post .entry-content .sr-related {
  margin-top: 2.25rem;
  margin-bottom: 2.75rem;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
}

/* Mid-article related should not fight home-only card stacking rules */
body.single-post .sr-related .sr-card__actions {
  grid-template-columns: 1fr 1fr !important;
}
body.single-post .sr-related .sr-card__cta {
  width: 100%;
}

@media (max-width: 900px) {
  body.single-post article.ast-article-single {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    padding: 1.15rem 0.85rem 1.85rem;
    box-shadow: none;
  }
  body.single-post h1.entry-title,
  body.single-post .entry-header h1 {
    max-width: none;
  }
  body.single-post .entry-content .sr-related-banner,
  body.single-post .entry-content .sr-related {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 640px) {
  body.single-post {
    --sr-article-measure: 100%;
  }
  body.single-post .entry-content {
    font-size: 1.02rem;
  }
  body.single-post .sr-article-featured,
  body.single-post .ast-single-post-featured-section,
  body.single-post .single-layout-1 > .post-thumbnail {
    border-radius: 0;
    margin-bottom: 0;
    min-height: clamp(220px, 58vw, 340px);
  }
  /* Leave room for FAB over last related CTAs */
  body.single-post .sr-related {
    padding-bottom: 0.5rem;
    margin-bottom: 4.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-post .sr-related-banner__cta,
  body.single-post .sr-related__book,
  body.single-post .sr-card,
  body.single-post .sr-article-featured img,
  body.single-post .entry-header,
  body.single-post .entry-header::after,
  body.single-post h1.entry-title {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}


/* —— SR-85/86/89 post TOC + trust layout: CSS grid sidebars (no float overlay) —— */
@media (min-width: 1180px) {
  body.single-post.sr-toc-sticky .site-content > .ast-container {
    max-width: 1320px;
  }
  body.single-post.sr-toc-sticky.sr-has-trust-rail .site-content > .ast-container {
    max-width: 1480px;
  }

  /* Kill SR-85 padding/negative-margin gutter hack */
  body.single-post.sr-toc-sticky article.ast-article-single {
    padding-left: 36px;
    padding-right: 28px;
  }

  body.single-post.sr-toc-sticky .single-layout-1 {
    display: grid;
    grid-template-columns: minmax(190px, 228px) minmax(0, 1fr);
    column-gap: 1.35rem;
    row-gap: 0;
    align-items: start;
  }

  /* SR-89 — TOC | content | trust */
  body.single-post.sr-toc-sticky.sr-has-trust-rail .single-layout-1 {
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) minmax(148px, 176px);
    column-gap: 1.15rem;
  }

  /* Trust alone (no TOC): content | trust */
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .site-content > .ast-container {
    max-width: 1280px;
  }
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .single-layout-1 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(148px, 176px);
    column-gap: 1.25rem;
    align-items: start;
  }
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .single-layout-1 > .entry-header,
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .single-layout-1 > .sr-article-featured,
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .single-layout-1 > .ast-single-post-featured-section,
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .single-layout-1 > .post-thumbnail {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .single-layout-1 > .entry-content {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    overflow-x: clip;
  }
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .single-layout-1 > .sr-trust-rail {
    grid-column: 2;
    grid-row: 2;
  }

  body.single-post.sr-toc-sticky .single-layout-1 > .entry-header,
  body.single-post.sr-toc-sticky .single-layout-1 > .sr-article-featured,
  body.single-post.sr-toc-sticky .single-layout-1 > .ast-single-post-featured-section,
  body.single-post.sr-toc-sticky .single-layout-1 > .post-thumbnail {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-left: 0;
    width: auto;
    max-width: none;
  }

  body.single-post.sr-toc-sticky .single-layout-1 > .entry-header {
    max-width: none;
  }

  body.single-post.sr-toc-sticky .entry-header .entry-title,
  body.single-post.sr-toc-sticky .entry-header h1 {
    max-width: min(20ch, 100%);
  }

  body.single-post.sr-toc-sticky .single-layout-1 > .sr-toc--sticky {
    grid-column: 1;
    grid-row: 2;
    position: sticky;
    top: 5.5rem;
    align-self: start;
    width: 100%;
    max-width: 228px;
    float: none;
    margin: 1.05rem 0 0;
    z-index: 1;
  }

  body.single-post.sr-toc-sticky .single-layout-1 > .entry-content {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    /* Keep related breakout inside the content column — never under TOC/trust */
    overflow-x: clip;
    margin-top: 1.05rem;
  }

  /* SR-89 — fill middle column so trust rail sits in the true right gutter */
  body.single-post.sr-toc-sticky.sr-has-trust-rail .single-layout-1 > .entry-content,
  body.single-post.sr-toc-sticky.sr-has-trust-rail .single-layout-1 > .entry-content.clear {
    max-width: none !important;
    width: 100%;
  }
  body.single-post.sr-toc-sticky.sr-has-trust-rail .entry-content > div[style],
  body.single-post.sr-toc-sticky.sr-has-trust-rail .entry-content > p,
  body.single-post.sr-toc-sticky.sr-has-trust-rail .entry-content > h2,
  body.single-post.sr-toc-sticky.sr-has-trust-rail .entry-content > h3,
  body.single-post.sr-toc-sticky.sr-has-trust-rail .entry-content > ul,
  body.single-post.sr-toc-sticky.sr-has-trust-rail .entry-content > ol {
    max-width: var(--sr-article-measure);
  }
  body.single-post.sr-has-trust-rail:not(.sr-toc-sticky) .single-layout-1 > .entry-content {
    max-width: none !important;
    width: 100%;
  }

  body.single-post.sr-toc-sticky.sr-has-trust-rail .single-layout-1 > .sr-trust-rail,
  body.single-post.sr-toc-sticky.sr-has-trust-rail .single-layout-1 > .sr-trust-rail--sticky {
    grid-column: 3;
    grid-row: 2;
    position: sticky;
    top: 5.5rem;
    align-self: start;
    width: 100%;
    max-width: 176px;
    float: none;
    margin: 1.05rem 0 0;
    z-index: 1;
  }

  /* Related stays inside the article column next to TOC (no viewport breakout into rail) */
  body.single-post.sr-toc-sticky .entry-content .sr-related-banner,
  body.single-post.sr-toc-sticky .entry-content .sr-related {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

body.single-post .sr-toc a.sr-toc__link {
  color: #5a5d66; /* AA on white TOC surface */
  text-decoration: none;
}
body.single-post .entry-content .sr-toc {
  max-width: var(--sr-article-measure);
}

@media (max-width: 1179px) {
  body.single-post .sr-toc {
    max-width: var(--sr-article-measure, 40.5rem);
  }
}

/* —— SR-87 premium post hero (featured + title) + meta hide —— */
@keyframes sr-hero-title-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes sr-hero-bar-in {
  from { opacity: 0; transform: scaleX(0.35); transform-origin: left center; }
  to { opacity: 1; transform: scaleX(1); transform-origin: left center; }
}

/* Base single-layout grid so header + featured can share one hero cell */
body.single-post .single-layout-1 {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

body.single-post .single-layout-1 > .entry-header {
  grid-column: 1;
  grid-row: 1;
  z-index: 2;
  align-self: end;
  justify-self: stretch;
  width: 100%;
  max-width: none;
  margin: 0;
  pointer-events: none;
}

body.single-post .single-layout-1 > .sr-article-featured,
body.single-post .single-layout-1 > .ast-single-post-featured-section,
body.single-post .single-layout-1 > .post-thumbnail {
  grid-column: 1;
  grid-row: 1;
  z-index: 1;
  margin: -1.55rem -1.45rem 0;
  width: auto;
  max-width: none;
  border-radius: 17px 17px 0 0;
  box-shadow: inset 0 -80px 90px -40px rgba(26, 28, 32, 0.35);
}

body.single-post .single-layout-1 > .sr-toc,
body.single-post .single-layout-1 > .sr-toc--sticky,
body.single-post .single-layout-1 > .sr-toc--inline {
  grid-column: 1;
  grid-row: 2;
  margin-top: 1.25rem;
}

body.single-post .single-layout-1 > .sr-trust-rail,
body.single-post .single-layout-1 > .sr-trust-rail--sticky {
  grid-column: 1;
  grid-row: 3;
  margin-top: 0;
}

body.single-post .single-layout-1 > .entry-content {
  grid-column: 1;
  grid-row: 4;
  margin-top: 0.35rem;
}

/* Title treatment over featured (only when a hero image exists) */
body.single-post .single-layout-1:has(.sr-article-featured) > .entry-header,
body.single-post .single-layout-1:has(.ast-single-post-featured-section) > .entry-header,
body.single-post .single-layout-1:has(> .post-thumbnail) > .entry-header {
  padding: clamp(5.5rem, 14vw, 9rem) clamp(1.1rem, 3vw, 1.85rem) 1.35rem;
  background: linear-gradient(
    180deg,
    rgba(26, 28, 32, 0) 0%,
    rgba(26, 28, 32, 0.28) 38%,
    rgba(26, 28, 32, 0.72) 78%,
    rgba(26, 28, 32, 0.86) 100%
  );
  border-radius: 0;
}

body.single-post .single-layout-1:has(.sr-article-featured) > .entry-header h1.entry-title,
body.single-post .single-layout-1:has(.sr-article-featured) > .entry-header h1,
body.single-post .single-layout-1:has(.ast-single-post-featured-section) > .entry-header h1,
body.single-post .single-layout-1:has(> .post-thumbnail) > .entry-header h1 {
  color: #fff !important;
  max-width: min(22ch, 100%);
  text-shadow: 0 12px 34px rgba(0, 0, 0, 0.4);
  animation: sr-hero-title-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

body.single-post .single-layout-1:has(.sr-article-featured) > .entry-header::after,
body.single-post .single-layout-1:has(.ast-single-post-featured-section) > .entry-header::after,
body.single-post .single-layout-1:has(> .post-thumbnail) > .entry-header::after {
  content: "";
  display: block;
  width: 3.25rem;
  height: 3px;
  margin-top: 0.95rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sr-orange, #E77600), var(--sr-cta, #36D2D3));
  animation: sr-hero-bar-in 0.75s 0.12s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (max-width: 900px) {
  body.single-post .single-layout-1 > .sr-article-featured,
  body.single-post .single-layout-1 > .ast-single-post-featured-section,
  body.single-post .single-layout-1 > .post-thumbnail {
    margin: -1.15rem -0.85rem 0;
    border-radius: 0;
  }
  body.single-post .single-layout-1:has(.sr-article-featured) > .entry-header,
  body.single-post .single-layout-1:has(.ast-single-post-featured-section) > .entry-header,
  body.single-post .single-layout-1:has(> .post-thumbnail) > .entry-header {
    padding: clamp(4.2rem, 22vw, 6.5rem) 0.85rem 1.1rem;
  }
  body.single-post .single-layout-1:has(.sr-article-featured) > .entry-header h1,
  body.single-post .single-layout-1:has(.ast-single-post-featured-section) > .entry-header h1,
  body.single-post .single-layout-1:has(> .post-thumbnail) > .entry-header h1 {
    max-width: none;
  }
}

/* Desktop TOC/trust sticky already sets multi-col grid — keep hero row shared */
@media (min-width: 1180px) {
  body.single-post.sr-toc-sticky .single-layout-1 > .sr-article-featured,
  body.single-post.sr-toc-sticky .single-layout-1 > .ast-single-post-featured-section,
  body.single-post.sr-toc-sticky .single-layout-1 > .post-thumbnail {
    margin: -1.55rem -28px 0 -36px;
    border-radius: 17px 17px 0 0;
  }
}


/* —— SR-87/88 meta near title: defense in depth (PHP strips; CSS hides leftovers) —— */
body.single-post.sr-hide-post-meta .entry-meta,
body.single-post.sr-hide-post-meta .ast-single-post-categories,
body.single-post.sr-hide-post-meta .ast-tax-style,
body.single-post.sr-hide-post-meta .entry-header .posted-by,
body.single-post.sr-hide-post-meta .entry-header .posted-on,
body.single-post.sr-hide-post-meta .entry-header .cat-links,
body.single-post.sr-hide-post-meta .entry-header .tags-links,
body.single-post.sr-hide-post-meta .ast-author-status-wrapper,
body.single-post.sr-hide-post-meta .ast-single-post-order {
  display: none !important;
}

/* Baked-in leading meta paragraph (PHP strips; CSS catches first bar only) */
body.single-post.sr-hide-post-meta .entry-content > div:first-of-type > p[style*="border-bottom"]:first-of-type {
  display: none !important;
}

/* Never let TOC leave its grid cell as fixed/absolute overlay */
body.single-post .single-layout-1 > .sr-toc,
body.single-post .single-layout-1 > .sr-toc--sticky,
body.single-post .single-layout-1 > .sr-toc--inline {
  position: relative;
  float: none;
  left: auto;
  right: auto;
  inset: auto;
}
@media (min-width: 1180px) {
  body.single-post.sr-toc-sticky .single-layout-1 > .sr-toc--sticky {
    position: sticky;
    top: 5.5rem;
  }
  body.single-post.sr-has-trust-rail .single-layout-1 > .sr-trust-rail--sticky {
    position: sticky;
    top: 5.5rem;
  }
}

/* —— SR-89 trust rail coexistence (never overlap TOC/body; desktop gutter only) —— */
body.single-post .single-layout-1 > .sr-trust-rail,
body.single-post .single-layout-1 > .sr-trust-rail--sticky {
  position: relative;
  float: none;
  left: auto;
  right: auto;
  inset: auto;
  z-index: 1;
}
@media (max-width: 1179px) {
  body.single-post .single-layout-1 > .sr-trust-rail--sticky {
    display: none !important;
  }
  /* Without sticky rail in flow, content sits after TOC */
  body.single-post .single-layout-1 > .entry-content {
    grid-row: 3;
  }
}


/* SR-98 — residual staging QA */
@media (max-width: 921px) {
  /* Extra clearance when TravelAddon mobile FAB bar is present */
  body:not(.sr-has-tour-sticky):has(.sr-fab--mobile-bar) .site-content,
  body:not(.sr-has-tour-sticky):has(.sr-fab--mobile-bar) #content {
    padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
  }
}

/* —— SR-100 featured hub/page headings: breathable under-header + teal accent ——
   Root cause: Astra `.ast-plain-container.ast-no-sidebar #primary { margin-top:0 }`
   below 1200px → H1 / featured image flush under header on hubs (e.g. Ägypten).
   Tokens: brand teal family; text accent uses #0c7a7b (≥ AA on white). Decorative
   underline may use #36D2D3 (not for text). Do not touch menu X / FAB / convert. */
:root {
  --sr-heading-accent: #0c7a7b; /* ≥5.1:1 on #fff — AA text accents */
  --sr-heading-accent-bright: #36D2D3; /* brand CTA teal — decorative only */
  --sr-hub-under-header: clamp(2rem, 4.5vw, 3.75rem); /* ≤1200: ≥2rem; desktop ~60px */
  --sr-hub-title-after: clamp(1rem, 2.5vw, 1.35rem);
}

/* Restore under-header air for pages without overlay hero (hubs, booking, contact…) */
body.page:not(.home):not(.sr-has-hero).ast-plain-container.ast-no-sidebar #primary,
body.page:not(.home):not(.sr-has-hero) #primary.content-area {
  margin-top: var(--sr-hub-under-header) !important;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
@media (min-width: 1200px) {
  body.page:not(.home):not(.sr-has-hero).ast-plain-container.ast-no-sidebar #primary,
  body.page:not(.home):not(.sr-has-hero) #primary.content-area {
    margin-top: max(60px, var(--sr-hub-under-header)) !important;
  }
}

/* Featured image plane: never kiss the header bar */
body.page:not(.home):not(.sr-has-hero) .ast-single-post-featured-section,
body.page:not(.home):not(.sr-has-hero) article > .post-thumb {
  margin-top: 0;
  margin-bottom: clamp(1.15rem, 2.8vw, 1.75rem);
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}

/* Page .entry-header — non-home pages without .sr-has-hero overlay.
   Matches: body.page AND :not(.home) AND :not(.sr-has-hero).
   Under-header clearance is on #primary above; this rule only spaces the title block. */
body.page:not(.home):not(.sr-has-hero) .entry-header {
  margin-top: 0;
  margin-bottom: var(--sr-hub-title-after);
  padding-top: 0.35rem; /* SR-force-deploy — hub title air (was 0.15rem) */
}
/* Tour hero unit entry-header — keep brand padding even if peer CSS races */
body.sr-is-tour .sr-tour-hero-unit > .entry-header {
  padding: 0.85rem 1rem 0.55rem !important;
}

body.page:not(.home):not(.sr-has-hero) h1.entry-title,
body.page:not(.home):not(.sr-has-hero) .entry-header h1 {
  margin: 0;
  padding: 0 0 0.85rem;
  font-size: clamp(1.7rem, 3.4vw, 2.35rem);
  line-height: 1.18;
  letter-spacing: -0.022em;
  font-weight: 700;
  color: var(--sr-heading);
  position: relative;
}

body.page:not(.home):not(.sr-has-hero) h1.entry-title::after,
body.page:not(.home):not(.sr-has-hero) .entry-header h1::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3px;
  margin-top: 0.75rem;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--sr-heading-accent) 0%,
    var(--sr-heading-accent-bright) 70%,
    var(--sr-cta-alt) 100%
  );
}

/* Section rhythm inside hub/page bodies — teal accent bar, breathable stack */
body.page:not(.home):not(.sr-has-hero) .entry-content > h2,
body.page:not(.home):not(.sr-has-hero) .entry-content > h2.wp-block-heading {
  margin: clamp(2.25rem, 4vw, 3rem) 0 0.9rem;
  padding-left: 0.85rem;
  border-left: 3px solid var(--sr-heading-accent);
  color: var(--sr-heading);
  font-size: clamp(1.2rem, 2.6vw, 1.55rem);
  letter-spacing: -0.015em;
  line-height: 1.28;
}

body.page:not(.home):not(.sr-has-hero) .entry-content > h3 {
  margin: 1.65rem 0 0.65rem;
  color: var(--sr-heading);
}

/* Keep convert strip breathing after featured title (do not restyle strip itself) */
body.page:not(.home):not(.sr-has-hero) .entry-header + .entry-content > .sr-convert-strip:first-child,
body.page:not(.home):not(.sr-has-hero) .entry-content > .sr-convert-strip:first-child {
  margin-top: 0.15rem;
}

@media (max-width: 921px) {
  body.page:not(.home):not(.sr-has-hero).ast-plain-container.ast-no-sidebar #primary,
  body.page:not(.home):not(.sr-has-hero) #primary.content-area {
    margin-top: clamp(2rem, 6vw, 2.5rem) !important;
  }
  body.page:not(.home):not(.sr-has-hero) h1.entry-title,
  body.page:not(.home):not(.sr-has-hero) .entry-header h1 {
    font-size: clamp(1.55rem, 7vw, 1.9rem);
  }
}

/* —— SR-154: homepage-only transparent header over hero; solid on scroll (WCAG AA) —— */
html body.home.sr-has-hero:not(.sr-header-solid) .site-header,
html body.home.sr-has-hero:not(.sr-header-solid) .main-header-bar,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-primary-header-bar,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-main-header-wrap,
html body.home.sr-has-hero:not(.sr-header-solid) #masthead,
html body.home.sr-has-hero:not(.sr-header-solid) #ast-desktop-header,
html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-mobile-header-wrap {
  background: linear-gradient(180deg, rgba(10, 16, 20, 0.78) 0%, rgba(10, 16, 20, 0.46) 62%, rgba(10, 16, 20, 0.08) 100%) !important;
  background-color: transparent !important;
  box-shadow: none !important;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 40;
}
html body.home.sr-has-hero:not(.sr-header-solid) .main-header-menu > .menu-item > .menu-link,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-builder-menu-1 .menu-link,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-header-navigation .menu-link,
html body.home.sr-has-hero:not(.sr-header-solid) .site-title a {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.72);
  font-weight: 700 !important;
}
html body.home.sr-has-hero:not(.sr-header-solid) .main-header-menu > .menu-item > .menu-link:hover,
html body.home.sr-has-hero:not(.sr-header-solid) .main-header-menu > .menu-item > .menu-link:focus-visible,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-builder-menu-1 .menu-link:hover,
html body.home.sr-has-hero:not(.sr-header-solid) .main-header-menu > .menu-item.current-menu-item > .menu-link,
html body.home.sr-has-hero:not(.sr-header-solid) .main-header-menu > .menu-item.current-menu-ancestor > .menu-link {
  color: #ffffff !important;
  box-shadow: inset 0 -2px 0 #36d2d3;
}
html body.home.sr-has-hero:not(.sr-header-solid) .site-branding img,
html body.home.sr-has-hero:not(.sr-header-solid) .custom-logo-link img,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-site-identity .custom-logo-link img {
  -webkit-filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
  filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
}
html body.home.sr-has-hero:not(.sr-header-solid) .ast-mobile-menu-trigger-minimal,
html body.home.sr-has-hero:not(.sr-header-solid) .menu-toggle,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-button-toggle,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-button-wrap,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-button-wrap .ast-mobile-menu-trigger-minimal {
  color: #ffffff !important;
}
html body.home.sr-has-hero:not(.sr-header-solid) .ast-mobile-svg,
html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header svg,
html body.home.sr-has-hero:not(.sr-header-solid) .ast-button-wrap svg,
html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header .menu-toggle,
html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header .ast-mobile-menu-trigger-minimal,
html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header .menu-toggle .ast-mobile-svg,
html body.home.sr-has-hero:not(.sr-header-solid) #ast-mobile-header .ast-mobile-menu-trigger-minimal .ast-mobile-svg {
  fill: #ffffff !important;
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* Solid after scroll (and while mobile drawer is open) */
html body.home.sr-has-hero.sr-header-solid .site-header,
html body.home.sr-has-hero.sr-header-solid .main-header-bar,
html body.home.sr-has-hero.sr-header-solid .ast-primary-header-bar,
html body.home.sr-has-hero.sr-header-solid .ast-main-header-wrap,
html body.home.sr-has-hero.sr-header-solid #masthead,
html body.home.sr-has-hero.sr-header-solid #ast-desktop-header,
html body.home.sr-has-hero.sr-header-solid #ast-mobile-header,
html body.home.sr-has-hero.sr-header-solid .ast-mobile-header-wrap,
html body.home.sr-has-hero.ast-main-header-nav-open .site-header,
html body.home.sr-has-hero.ast-main-header-nav-open .main-header-bar,
html body.home.sr-has-hero.ast-main-header-nav-open .ast-primary-header-bar,
html body.home.sr-has-hero.ast-main-header-nav-open #ast-mobile-header {
  background: #ffffff !important;
  background-color: #ffffff !important;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.08) !important;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100002;
}
html body.home.sr-has-hero.sr-header-solid .main-header-menu > .menu-item > .menu-link,
html body.home.sr-has-hero.sr-header-solid .ast-builder-menu-1 .menu-link,
html body.home.sr-has-hero.sr-header-solid .ast-header-navigation .menu-link,
html body.home.sr-has-hero.sr-header-solid .site-title a,
html body.home.sr-has-hero.ast-main-header-nav-open .main-header-menu > .menu-item > .menu-link {
  color: #1a1c20 !important;
  text-shadow: none !important;
  font-weight: 700 !important;
}
html body.home.sr-has-hero.sr-header-solid .main-header-menu > .menu-item > .menu-link:hover,
html body.home.sr-has-hero.sr-header-solid .main-header-menu > .menu-item > .menu-link:focus-visible,
html body.home.sr-has-hero.sr-header-solid .ast-builder-menu-1 .menu-link:hover,
html body.home.sr-has-hero.sr-header-solid .main-header-menu > .menu-item.current-menu-item > .menu-link,
html body.home.sr-has-hero.sr-header-solid .main-header-menu > .menu-item.current-menu-ancestor > .menu-link {
  color: #1a5a64 !important;
  box-shadow: inset 0 -2px 0 #36d2d3;
}
html body.home.sr-has-hero.sr-header-solid .site-branding img,
html body.home.sr-has-hero.sr-header-solid .custom-logo-link img,
html body.home.sr-has-hero.sr-header-solid .ast-site-identity .custom-logo-link img,
html body.home.sr-has-hero.ast-main-header-nav-open .custom-logo-link img {
  filter: none;
  -webkit-filter: none;
}
html body.home.sr-has-hero.sr-header-solid .ast-mobile-menu-trigger-minimal,
html body.home.sr-has-hero.sr-header-solid .menu-toggle,
html body.home.sr-has-hero.sr-header-solid .ast-button-toggle,
html body.home.sr-has-hero.sr-header-solid .ast-button-wrap,
html body.home.sr-has-hero.ast-main-header-nav-open .ast-mobile-menu-trigger-minimal {
  color: #1a1c20 !important;
}
html body.home.sr-has-hero.sr-header-solid .ast-mobile-svg,
html body.home.sr-has-hero.sr-header-solid #ast-mobile-header svg,
html body.home.sr-has-hero.sr-header-solid .ast-button-wrap svg,
html body.home.sr-has-hero.sr-header-solid #ast-mobile-header .menu-toggle,
html body.home.sr-has-hero.sr-header-solid #ast-mobile-header .ast-mobile-menu-trigger-minimal,
html body.home.sr-has-hero.sr-header-solid #ast-mobile-header .menu-toggle .ast-mobile-svg,
html body.home.sr-has-hero.ast-main-header-nav-open .ast-mobile-svg,
html body.home.sr-has-hero.ast-main-header-nav-open #ast-mobile-header svg,
html body.home.sr-has-hero.ast-main-header-nav-open #ast-mobile-header .menu-toggle {
  fill: #1a1c20 !important;
  color: #1a1c20 !important;
  stroke: #1a1c20 !important;
}

@media (prefers-reduced-motion: no-preference) {
  html body.home.sr-has-hero .ast-primary-header-bar,
  html body.home.sr-has-hero .main-header-bar,
  html body.home.sr-has-hero .custom-logo-link img {
    transition: background-color 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
  }
  html body.home.sr-has-hero .main-header-menu > .menu-item > .menu-link {
    transition: color 0.18s ease, box-shadow 0.18s ease;
  }
}

/* —— SR-155: WP ✔ emoji (s.w.org/.../2714.svg) as branded check icon ——
   Class .sr-icon-check-wrap / .sr-icon-check is stamped in functions.php.
   src*= fallback only for cached HTML that still has the bare emoji <img>.
   Circle #36d2d3; dark glyph ~11:1 on teal (WCAG 1.4.11). Icon 22px + 6px pad. */
.sr-icon-check-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 6px;
  margin: 0 0.2em;
  vertical-align: middle;
  box-sizing: border-box;
  border-radius: 50%;
  background: #36d2d3;
  flex-shrink: 0;
}
.sr-icon-check-wrap img.sr-icon-check,
.sr-icon-check-wrap img.emoji,
img.sr-icon-check {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0;
  display: block;
  filter: none;
}
img.emoji[src*="/svg/2714.svg"]:not(.sr-icon-check) {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  padding: 6px;
  margin: 0 0.2em;
  vertical-align: middle;
  box-sizing: content-box;
  border-radius: 50%;
  background: #36d2d3;
}


/* SR-179 — center H1 on archives + travel hubs/pages (not homepage SEO clip H1) */
body.archive h1.page-title,
body.archive h1.ast-archive-title,
body.category h1.page-title,
body.category h1.ast-archive-title,
body.tag h1.page-title,
body.tag h1.ast-archive-title,
body.blog h1.page-title,
body.blog h1.ast-archive-title,
body.search h1.page-title,
body.search h1.ast-archive-title,
body.page:not(.home) h1.entry-title,
body.page:not(.home) .entry-header h1,
body.page:not(.home) .elementor-page-title h1,
body.page:not(.home) .elementor-widget-theme-page-title h1,
body.single-post h1.entry-title,
body.single-post .entry-header h1 {
  text-align: center !important;
}
body.page:not(.home) h1.entry-title::after,
body.page:not(.home) .entry-header h1::after,
body.archive h1.ast-archive-title::after,
body.archive h1.page-title::after,
body.single-post h1.entry-title::after {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Keep visually-hidden homepage SEO H1 out of layout centering concerns */
body.home h1.sr-seo-home-h1 {
  text-align: left !important;
}
