/* Shared front-end/editor components. All content remains in native blocks. */
html {
  scroll-padding-top:110px
}
body {
  margin:0
}
a {
  text-underline-offset:.18em
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid #a0162a;
  outline-offset:4px
}
img {
  max-width:100%;
  height:auto
}
.wp-site-blocks {
  padding-top:0;
  padding-bottom:0
}
.wp-block-template-part {
  margin:0
}
.ah-header {
  position:relative;
  z-index:100;
  background:#fffdf9;
  border-bottom:1px solid #eee8e1;
  padding:20px 24px
}
.ah-header-inner {
  max-width:1180px;
  margin:auto;
  gap:24px
}
.ah-branding p {
  margin:0
}
.ah-brand {
  font:600 28px/1.2 Georgia,serif;
  white-space:nowrap
}
.ah-brand a {
  color:#1f2f46;
  text-decoration:none
}
.ah-brand-subtitle {
  font-size:12px;
  letter-spacing:.05em;
  color:#596273
}
.ah-navigation {
  background:#f1f1ed;
  padding:8px 16px;
  border-radius:16px
}
.ah-navigation a {
  text-decoration:none
}
.ah-menu-cta {
  background:#a0162a;
  color:#fff;
  border-radius:8px;
  padding:10px 16px
}
.ah-section {
  padding:80px 24px;
  margin:0
}
.ah-section>.wp-block-group__inner-container {
  padding:0
}
.ah-section>* {
  max-width:1180px;
  margin-left:auto;
  margin-right:auto
}
.ah-section>.wp-block-columns {
  margin-top:28px;
  margin-bottom:0
}
.ah-section h2 {
  text-wrap:balance
}
.ah-tint {
  background:#faf8f5
}
.ah-kicker {
  color:#a0162a;
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase
}
.ah-section-title {
  text-align:center
}
.ah-card {
  border:1px solid #eee8e1;
  background:#fff;
  border-radius:14px;
  padding:28px;
  box-shadow:0 8px 22px #1f2f460a;
  height:auto;
  box-sizing:border-box
}
.ah-card>:last-child {
  margin-bottom:0
}
.ah-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.ah-grid-2 {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.ah-grid-4 {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.ah-grid>*,.wp-block-column {
  min-width:0
}
.ah-hero {
  min-height:620px;
  padding:80px 24px;
  box-sizing:border-box
}
.ah-hero .wp-block-cover__inner-container {
  max-width:1180px;
  margin:auto
}
.ah-hero h1 {
  color:#fff;
  font-size:28px
}
.ah-hero .ah-hero-slogan {
  color:#fff;
  font-size:64px;
  line-height:1.08;
  margin:20px 0
}
.ah-geniessen {
  font-family:"Segoe Script","Brush Script MT",cursive;
  color:#f3bdc5
}
.ah-hero p {
  max-width:750px;
  color:#fff;
  font-size:21px
}
.ah-hero a {
  color:#fff
}
.ah-hero .wp-block-buttons {
  margin-top:30px
}
.ah-image img {
  display:block;
  width:100%;
  height:auto
}
.ah-comic-art {
  max-width:300px!important;
  margin-inline:auto
}
.ah-comic-art img {
  object-fit:contain
}
.ah-town-card {
  padding:0;
  overflow:hidden
}
.ah-town-card>.wp-block-image {
  margin:0 0 28px;
  max-width:none
}
.ah-town-card>.wp-block-image img {
  width:100%;
  border-radius:0
}
.ah-town-card>h3,.ah-town-card>p {
  padding-inline:48px
}
.ah-town-card>p:last-child {
  padding-bottom:48px
}
.ah-details {
  padding:20px 24px;
  border:1px solid #e8e1d8;
  border-radius:12px;
  background:#fff;
  margin-top:20px
}
.ah-details>summary {
  font-weight:600;
  color:#1f2f46;
  cursor:pointer
}
.ah-details[open]>summary {
  margin-bottom:20px
}
.ah-note {
  border-left:4px solid #a0162a;
  background:#fff8f3;
  padding:24px;
  border-radius:12px
}
.ah-facts {
  padding:20px;
  background:#faf8f5;
  border-radius:10px
}
.ah-facts p {
  margin:0 0 8px
}
.ah-price {
  font-size:52px;
  color:#a0162a;
  font-weight:600
}
.ah-footer {
  padding:60px 24px 24px;
  background:#1f2f46;
  color:#d6dde5
}
.ah-footer>.wp-block-group {
  max-width:1180px;
  margin:auto
}
.ah-footer h3,.ah-footer a {
  color:#fff
}
.ah-footer h3 {
  font-size:23px
}
.ah-footer p {
  font-size:15px
}
.ah-footer-bottom {
  border-top:1px solid #ffffff33;
  padding-top:20px;
  font-size:13px!important
}
.ah-feature {
  text-align:center
}
.ah-feature h3 {
  font-size:21px
}
.ah-feature p {
  font-size:14px
}
.ah-section .wp-block-buttons {
  gap:14px
}
.ah-review {
  background:#fffdf9;
  padding:28px;
  border:1px solid #eee8e1;
  border-radius:14px
}
.wpcf7 {
  max-width:100%
}
.wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]),.wpcf7 select,.wpcf7 textarea {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  border:1px solid #dcd5cc;
  border-radius:8px;
  padding:12px;
  font:inherit;
  background:#fff;
  color:#1f2f46
}
.wpcf7 input[type=submit] {
  background:#a0162a;
  color:#fff;
  border:0;
  border-radius:8px;
  padding:14px 22px;
  font:600 16px/1.4 inherit;
  cursor:pointer
}
.wpcf7 input[type=submit]:disabled {
  opacity:.6
}
.wpcf7 .wpcf7-list-item {
  margin:0 16px 12px 0
}
.wp-block-table {
  overflow-x:auto
}
.ah-content {
  padding:60px 24px;
  max-width:1180px;
  margin:auto
}
.ah-gallery {
  gap:20px
}
.ah-link-list {
  line-height:1.8
}
.ah-subnav {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.ah-subnav a {
  display:inline-block;
  border:1px solid #e4dcd2;
  border-radius:24px;
  padding:8px 16px;
  text-decoration:none
}
.ah-section :where(h1,h2,h3,p,ul,ol,details,figure) {
  scroll-margin-top:110px
}
@media(max-width:900px) {
  .ah-grid-4 {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .ah-header-inner {
    gap:14px
  }
  .ah-navigation {
    font-size:14px
  }
}
@media(max-width:767px) {
  .ah-section {
    padding:40px 20px
  }
  .ah-hero {
    min-height:580px;
    padding:65px 20px
  }
  .ah-hero .ah-hero-slogan {
    font-size:42px
  }
  .ah-hero h1 {
    font-size:25px
  }
  .ah-hero p {
    font-size:18px
  }
  .ah-grid,.ah-grid-2,.ah-grid-4 {
    grid-template-columns:1fr;
    gap:18px
  }
  .ah-card {
    padding:24px
  }
  .ah-town-card {
    padding:0
  }
  .ah-town-card>h3,.ah-town-card>p {
    padding-inline:26px
  }
  .ah-town-card>p:last-child {
    padding-bottom:26px
  }
  .ah-header {
    padding:14px 20px
  }
  .ah-brand {
    font-size:25px
  }
  .ah-navigation {
    padding:10px;
    border:1px solid #e5dcd1;
    border-radius:12px
  }
  .ah-footer {
    padding:40px 20px 24px
  }
  .ah-content {
    padding:40px 20px
  }
  .ah-details {
    padding:18px
  }
  .ah-section>.wp-block-columns {
    gap:24px
  }
}
.ah-navigation .ah-menu-cta {
  background:#a0162a;
  color:#fff
}
.ah-navigation .ah-menu-cta a {
  color:#fff
}
.ah-usp {
  position:relative;
  padding:56px 12px 8px;
  text-align:center
}
.ah-feature {
  position:relative;
  padding-top:72px
}
.ah-feature::before,.ah-usp::before {
  content:"";
  position:absolute;
  top:20px;
  left:50%;
  width:38px;
  height:38px;
  transform:translateX(-50%);
  background:center/contain no-repeat
}
.ah-usp::before {
  top:0
}
.ah-usp h3 {
  font-size:21px
}
.ah-usp p {
  font-size:14px;
  margin:0
}
.ah-region-card {
  padding:0;
  overflow:hidden
}
.ah-region-card>figure {
  margin:0
}
.ah-region-card h3,.ah-region-card p {
  margin-inline:24px
}
.ah-region-card p:last-child {
  margin-bottom:24px
}
.ah-price-card {
  padding:36px;
  background:#fff;
  border:1px solid #eee8e1;
  border-radius:14px
}
.ah-price-card h3 {
  color:#a0162a
}
.ah-gallery-large img {
  height:520px;
  object-fit:cover
}
.ah-gallery-small img {
  height:248px;
  object-fit:cover
}
.ah-gallery-bottom img {
  height:245px;
  object-fit:cover
}
.ah-hero .is-style-outline a {
  background:transparent;
  border:1px solid white
}
.ah-event {
  padding:20px;
  border-bottom:1px solid #eee8e1
}
.ah-date {
  font-weight:700;
  color:#a0162a
}
.ah-usp-heart::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 5.8c-1.6-1.8-4.2-1.8-5.8 0L12 9 9 5.8c-1.6-1.8-4.2-1.8-5.8 0-1.6 1.8-1.6 4.6 0 6.4L12 21l8.8-8.8c1.6-1.8 1.6-4.6 0-6.4z' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ah-usp-location::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s7-6.1 7-12a7 7 0 0 0-14 0c0 5.9 7 12 7 12z' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='9' r='2.5' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3C/svg%3E");
}
.ah-usp-mountain::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 19L9 7l4.1 7 2.4-4 6 9z' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.4 10l1.6 1.8 1.4-1.5' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ah-usp-car::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 15.5l1.5-5.5h11l1.5 5.5M4 15.5h16v3H4z' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='7.5' cy='18.5' r='1.5' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3Ccircle cx='16.5' cy='18.5' r='1.5' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3C/svg%3E");
}
.ah-feature-area::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='16' height='16' rx='2' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3Cpath d='M8 4v4H4M16 4v4h4M8 20v-4H4M16 20v-4h4' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3C/svg%3E");
}
.ah-feature-bed::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 18v-8h18v8M5 10V6h6v4M13 10V6h6v4M3 18v3M21 18v3' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ah-feature-people::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='8' r='3' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3Ccircle cx='17' cy='9' r='2.5' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3Cpath d='M3 20c.8-4 3-6 5-6s4.2 2 5 6M13 19c.6-2.8 2.2-4.5 4-4.5s3.4 1.7 4 4.5' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3C/svg%3E");
}
.ah-feature-balcony::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17h18M5 17V8M19 17V8M5 11h14M8 17v4M16 17v4' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ah-feature-coffee::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10h13v5a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5v-5zM17 12h2a2 2 0 0 1 0 4h-2M7 3v4M11 3v4M15 3v4' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ah-feature-bath::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16v3a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5v-3zM7 12V7a3 3 0 0 1 6 0M4 20v2M20 20v2' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ah-feature-wifi::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 8.5a15 15 0 0 1 20 0M5 12a10.5 10.5 0 0 1 14 0M8.5 15.5a5.5 5.5 0 0 1 7 0' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='19' r='1' fill='%23a0162a'/%3E%3C/svg%3E");
}
.ah-feature-parking::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='3' width='16' height='18' rx='2' fill='none' stroke='%23a0162a' stroke-width='1.5'/%3E%3Cpath d='M9 17V7h4a3 3 0 0 1 0 6H9' fill='none' stroke='%23a0162a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}
@media(max-width:767px) {
  .ah-gallery-large img,.ah-gallery-small img,.ah-gallery-bottom img {
    height:auto
  }
  .ah-usp {
    padding-top:52px
  }
  .ah-feature {
    padding-top:72px
  }
}
.ah-hero-page h1 {
  font-size:clamp(34px,4.3vw,54px);
  max-width:960px;
  margin-inline:auto;
  text-align:center
}
.ah-hero-page p {
  text-align:center;
  margin-inline:auto
}
.ah-webcam iframe {
  width:100%;
  height:360px;
  border:0;
  border-radius:10px
}
.ah-webcam .ah-webcam-close {
  margin-top:12px;
  padding:10px 16px;
  border:1px solid #a0162a;
  border-radius:8px;
  background:white;
  color:#a0162a;
  cursor:pointer
}
.ah-section>.ah-kicker {
  text-align:center
}
.ah-section .ah-card h2 {
  text-align:left
}
.ah-price strong {
  font-size:52px
}
.ah-price {
  line-height:1.2
}
.ah-hero-home .wp-block-column:first-child {
  flex-basis:65%
}
.ah-hero-home .wp-block-column:last-child {
  flex-basis:35%
}
@media(max-width:767px) {
  .ah-hero-page h1 {
    font-size:34px
  }
  .ah-webcam iframe {
    height:320px
  }
  .ah-hero-home .wp-block-column:last-child:empty {
    display:none
  }
}
.ah-grid>* {
  margin-block:0!important
}
.ah-copy h2 {
  text-align:left
}
.ah-grid {
  align-items:start
}
/* Shared navigation: sticky header, readable mobile overlay and anchor links. */
.wp-site-blocks>.wp-block-template-part:first-child {
  position:sticky;
  top:0;
  z-index:1000
}
.admin-bar .wp-site-blocks>.wp-block-template-part:first-child {
  top:32px
}
.ah-header {
  box-shadow:0 3px 14px #1f2f4609
}
.ah-navigation .wp-block-navigation__submenu-container {
  background:#fffdf9!important;
  color:#1f2f46!important;
  border:1px solid #eee8e1;
  box-shadow:0 10px 24px #1f2f4614
}
.ah-navigation .wp-block-navigation__responsive-container.is-menu-open {
  background:#fffdf9!important;
  color:#1f2f46!important;
  padding:80px 24px 28px
}
.ah-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
  align-items:stretch!important;
  padding-top:0!important
}
.ah-navigation .is-menu-open .wp-block-navigation__container {
  width:100%;
  align-items:stretch!important;
  gap:4px!important;
  background:transparent;
  border:0;
  padding:0
}
.ah-navigation .is-menu-open .wp-block-navigation-item {
  align-items:stretch!important;
  width:100%
}
.ah-navigation .is-menu-open .wp-block-navigation-item__content {
  padding:10px 14px!important;
  font-size:18px;
  color:#1f2f46!important
}
.ah-navigation .is-menu-open .wp-block-navigation__submenu-container {
  padding:4px 0 10px 16px!important;
  box-shadow:none;
  border:0;
  background:#f4f0ea!important;
  border-radius:12px
}
.ah-navigation .is-menu-open .wp-block-navigation__submenu-container a {
  font-size:16px!important
}
.ah-navigation .is-menu-open .ah-menu-cta {
  background:#a0162a!important;
  border-radius:8px;
  margin-top:10px;
  padding:0
}
.ah-navigation .is-menu-open .ah-menu-cta a {
  color:white!important
}
.ah-navigation .wp-block-navigation__responsive-container-open {
  align-items:center;
  gap:8px
}
.ah-navigation .wp-block-navigation__responsive-container-open::after {
  content:"Menü";
  font-size:16px
}
.ah-webcam [hidden] {
  display:none!important
}
.ah-dark {
  color:#e7ebf1
}
.ah-dark :is(h2,h3,p,li) {
  color:#fff
}
.ah-dark .ah-kicker {
  color:#f3bdc5
}
.ah-dark .ah-card :is(h2,h3,p,li) {
  color:#596273
}
.ah-dark .ah-card h3 {
  color:#1f2f46
}
.ah-dark .ah-card .ah-price {
  color:#a0162a
}
.ah-benefits {
  padding-block:34px
}
.ah-geniessen {
  position:relative;
  display:inline-block;
  margin-top:12px;
  padding-bottom:12px;
  transform:rotate(-2deg);
  letter-spacing:-.04em
}
.ah-geniessen::before {
  content:"";
  position:absolute;
  left:18%;
  top:99%;
  width:92%;
  height:2px;
  background:#f3bdc5;
  border-radius:100%;
  transform:rotate(-4deg)
}
.ah-geniessen::after {
  content:"♡";
  position:absolute;
  right:-48px;
  top:-15px;
  font:400 80px/1 Georgia,serif;
  color:#f3bdc5;
  transform:rotate(8deg);
  pointer-events:none
}
.ah-feature {
  align-self:stretch;
  height:auto;
  min-height:185px
}
.ah-section>.wp-block-columns {
  align-items:stretch
}
.ah-hero .wp-block-columns {
  align-items:center
}
.ah-subnav {
  position:sticky;
  top:110px;
  z-index:80;
  background:#fffdf9;
  padding:12px 20px;
  border-bottom:1px solid #eee8e1
}
.ah-subnav p {
  margin:0
}
@media(max-width:781px) {
  .admin-bar .wp-site-blocks>.wp-block-template-part:first-child {
    top:46px
  }
  .ah-header-inner {
    flex-wrap:nowrap!important;
    gap:12px
  }
  .ah-brand {
    font-size:24px
  }
  .ah-brand-subtitle {
    font-size:11px
  }
  .ah-navigation {
    flex-shrink:0
  }
  .ah-subnav {
    position:relative;
    top:auto
  }
  .ah-geniessen::after {
    right:-27px;
    top:-1px;
    font-size:35px
  }
  .ah-benefits {
    padding-block:28px
  }
  .ah-navigation .wp-block-navigation__responsive-container-open {
    display:flex
  }
  .ah-navigation>.wp-block-navigation__responsive-container:not(.is-menu-open) {
    display:none
  }
}
html {
  scroll-padding-top:140px
}
.ah-section :where(h1,h2,h3,p,ul,ol,details,figure) {
  scroll-margin-top:0
}
@media(max-width:600px) {
  .admin-bar .wp-site-blocks>.wp-block-template-part:first-child {
    top:0
  }
}
.ah-navigation .is-menu-open .wp-block-navigation-item__content:focus-visible {
  outline:2px solid #a0162a;
  outline-offset:1px;
  border-radius:8px
}
/* Review rating, original footer illustration, and contact card flow. */
.ah-review>p:first-child {
  color:#c59a37;
  font-size:18px;
  letter-spacing:4px
}
.ah-footer {
  position:relative;
  overflow:hidden
}
.ah-footer>.wp-block-group {
  position:relative;
  z-index:2
}
.ah-footer::after {
  content:"";
  position:absolute;
  right:-35px;
  bottom:0;
  z-index:1;
  width:43vw;
  max-width:820px;
  min-width:600px;
  height:300px;
  background:url("https://www.alpspitzherzl.de/wp-content/uploads/2026/09/Berggrafig-Ferienwohnung-Garmisch2.png") no-repeat right bottom/contain;
  opacity:.78;
  pointer-events:none
}
.ah-fewo-box {
  height:auto;
  min-height:0;
  margin-top:30px;
  overflow-wrap:anywhere
}
.ah-contact-section .wp-block-column {
  min-width:0
}
.ah-contact-section .ah-card {
  height:auto
}
.ah-contact-section .ah-kicker {
  overflow-wrap:anywhere
}
@media(max-width:1024px) {
  .ah-footer::after {
    right:-60px;
    width:500px;
    min-width:0;
    height:220px;
    opacity:.35
  }
}
@media(max-width:781px) {
  .ah-contact-section>.wp-block-columns {
    display:flex;
    flex-direction:column;
    align-items:stretch
  }
  .ah-contact-section>.wp-block-columns>.ah-contact-intro {
    display:contents
  }
  .ah-contact-intro>* {
    order:0
  }
  .ah-contact-section>.wp-block-columns>.ah-contact-form-column {
    order:1;
    width:100%;
    align-self:stretch
  }
  .ah-contact-intro>.ah-fewo-box {
    order:2;
    width:100%;
    box-sizing:border-box;
    margin-top:0
  }
  .ah-footer::after {
    right:-100px;
    bottom:20px;
    width:360px;
    height:155px;
    opacity:.17
  }
}
/* Destination cards retain compact typography and readable responsive columns. */
.ah-section .wp-block-columns:has(>.ah-region-card) {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px
}
.ah-region-card h3 {
  font-size:18px;
  line-height:1.3;
  overflow-wrap:anywhere;
  hyphens:auto;
  margin:18px 18px 8px
}
.ah-region-card p {
  font-size:14px;
  line-height:1.65;
  margin-inline:18px
}
.ah-region-card>.wp-block-image img {
  height:145px;
  object-fit:cover
}
.ah-region-card p:last-child {
  margin-bottom:22px
}
@media(max-width:1100px) {
  .ah-section .wp-block-columns:has(>.ah-region-card) {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media(max-width:781px) {
  .ah-section .wp-block-columns:has(>.ah-region-card) {
    grid-template-columns:1fr
  }
  .ah-region-card h3 {
    font-size:22px
  }
  .ah-region-card p {
    font-size:16px
  }
  .ah-region-card>.wp-block-image img {
    height:220px
  }
}
/* Central footer: typography and accents from the original design. */
.ah-footer h3 {
  position:relative;
  font-size:18px;
  font-weight:600;
  line-height:1.3;
  padding-bottom:14px;
  margin-top:0;
  margin-bottom:22px
}
.ah-footer h3::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:38px;
  height:2px;
  background:#a0162a
}
.ah-footer p {
  font-size:14px;
  line-height:2;
  color:#d6dde5
}
.ah-footer a {
  color:#d6dde5;
  text-decoration:none
}
.ah-footer a:hover {
  text-decoration:underline;
  color:white
}
.ah-footer strong {
  color:#fff
}
.ah-footer .wp-block-column:first-child>figure {
  margin:0 0 28px
}
.ah-footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center
}
.ah-back-top {
  white-space:nowrap;
  font-weight:600
}
@media(max-width:781px) {
  .ah-footer-bottom {
    display:block
  }
  .ah-back-top {
    display:block;
    margin-top:12px
  }
}
@media(prefers-reduced-motion:no-preference) {
  html {
    scroll-behavior:smooth
  }
}

/* Shared navigation: one background, compact links, visible interaction states. */
nav.ah-navigation > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container.ah-navigation {background:transparent;padding:0;border-radius:0;gap:6px;}
.ah-navigation .wp-block-navigation-item__content {transition:color .18s ease,background-color .18s ease;}
.ah-navigation .wp-block-navigation-item__content:hover,.ah-navigation .wp-block-navigation-item__content:focus-visible {color:#a0162a;background:#f4e9e6;border-radius:6px;}
.ah-navigation .ah-menu-cta .wp-block-navigation-item__content:hover,.ah-navigation .ah-menu-cta .wp-block-navigation-item__content:focus-visible {color:#fff;background:#831222;}
.ah-navigation .wp-block-navigation__submenu-icon {display:inline-flex;align-items:center;justify-content:center;width:20px;height:28px;margin:0 4px 0 0;}
.ah-navigation .wp-block-navigation__submenu-icon svg {width:12px;height:12px;margin:0;transition:transform .18s ease;}
.ah-navigation .wp-block-navigation__submenu-icon svg path {stroke:currentColor;fill:none;}
@media(min-width:782px) {
nav.ah-navigation {padding:8px;}
.ah-navigation .wp-block-navigation__container > .wp-block-navigation-item:not(.ah-menu-cta) > .wp-block-navigation-item__content {padding:10px 12px;}
.ah-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content {padding-right:4px;}
.ah-navigation .ah-menu-cta {padding:0;}
.ah-navigation .ah-menu-cta > a {padding:10px 16px;border-radius:8px;}
.ah-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {top:100%;left:0!important;right:auto!important;min-width:260px!important;width:260px!important;box-sizing:border-box;padding:8px;border-radius:10px;gap:2px;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;}
.ah-navigation .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container,.ah-navigation .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-container {visibility:visible;opacity:1;width:auto;height:auto;overflow:visible;transform:translateY(0);}
.ah-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {width:100%;}
.ah-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {padding:10px 14px!important;width:100%;box-sizing:border-box;font-size:15px;line-height:1.45;}
.ah-navigation .has-child:hover > .wp-block-navigation__submenu-icon svg,.ah-navigation .has-child:focus-within > .wp-block-navigation__submenu-icon svg {transform:rotate(180deg);}
}
/* Footer: equal heading-to-text spacing and consistent compact line rhythm. */
.ah-footer .wp-block-columns {column-gap:40px;row-gap:32px;align-items:flex-start;}
.ah-footer .wp-block-column > h3 {margin:0 0 18px;padding-bottom:12px;}
.ah-footer .wp-block-column > h3 + p {margin-block:0!important;line-height:1.8;}
.ah-footer .wp-block-column > figure + p {margin-top:20px;line-height:1.8;}
.ah-footer .wp-block-column > :last-child {margin-bottom:0;}
@media(max-width:781px) {.ah-footer .wp-block-columns {gap:28px;}.ah-footer .wp-block-column > h3 {margin-bottom:16px;}}
@media(prefers-reduced-motion:reduce) {.ah-navigation .wp-block-navigation-item__content,.ah-navigation .wp-block-navigation__submenu-container,.ah-navigation .wp-block-navigation__submenu-icon svg {transition:none;}}

@media(min-width:1101px){.ah-footer>.wp-block-group{max-width:none!important;}.ah-footer .wp-block-columns{display:grid;grid-template-columns:1.55fr .9fr 1.1fr .8fr;gap:48px;max-width:1320px;margin-inline:0;}.ah-footer .wp-block-column:first-child>p{max-width:300px;}}

/* Center the footer content while retaining the wider branding column. */
@media(min-width:1101px){.ah-footer>.wp-block-group{max-width:1180px!important;margin-inline:auto!important;}.ah-footer .wp-block-columns{max-width:100%;margin-inline:0;}}
