/* =========================================================
   Hardangel Objekte – Frontend Styles (Clean)
   Primary: #006bb4
   Accent: #ec6701
   ========================================================= */

:root{
  --ha-primary:#006bb4;
  --ha-secondary:#e20617;
  --ha-accent:#ec6701;
  --ha-accent-strong:#d95e00;
  --ha-accent-soft:rgba(236,103,1,.12);
  --ha-accent-faint:rgba(236,103,1,.06);

  --ha-ink:#24364f;
  --ha-text-strong:var(--ha-ink);
  --ha-text:#31455d;
  --ha-text-soft:#50647d;
  --ha-muted:#60728a;
  --ha-text-faint:#8997a9;
  --ha-border:rgba(36,54,79,.10);
  --ha-soft:rgba(36,54,79,.035);

  --ha-radius:14px;
  --ha-shadow:0 10px 24px rgba(0,0,0,.06);
  --ha-shadow-hover:0 16px 30px rgba(0,0,0,.10);
}

/* =========================
   Listing
   ========================= */
.ha-grid-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
@media (max-width: 900px){
  .ha-grid-list{grid-template-columns:1fr}
}

.ha-listing-load-more{
  display:grid;
  gap:24px;
}

.ha-load-more-actions{
  display:flex;
  justify-content:center;
}

.ha-load-more-actions[hidden]{
  display:none;
}

.ha-load-more-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  min-width:min(100%, 360px);
  padding:14px 28px;
  border:0;
  border-radius:12px;
  cursor:pointer;
  text-align:center;
  text-decoration:none;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  color:#fff;
  background:linear-gradient(180deg, #f2841b 0%, #ec6701 100%);
  box-shadow:0 14px 30px rgba(236,103,1,.24);
  transition:transform .14s ease, box-shadow .14s ease, opacity .14s ease;
}

.ha-load-more-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(236,103,1,.28);
}

.ha-load-more-btn:disabled{
  cursor:wait;
  opacity:.78;
  transform:none;
  box-shadow:0 12px 24px rgba(236,103,1,.18);
}

.ha-card{
  border:1px solid var(--ha-border);
  border-radius:var(--ha-radius);
  overflow:hidden;
  background:#fff;
  box-shadow:var(--ha-shadow);
}

.ha-thumb{
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:rgba(0,0,0,.06);
}
.ha-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ha-thumb-ph{height:200px;background:rgba(0,0,0,.06);}

.ha-card-body{padding:12px;}
.ha-card-title{margin:6px 0 6px;font-size:18px;letter-spacing:-.1px;}
.ha-card-title a{text-decoration:none;color:var(--ha-text-strong);}
.ha-card-meta{font-size:14px;color:var(--ha-muted);margin-bottom:8px;}

.ha-card-price{
  font-weight:900;
  color:var(--ha-primary);
  margin-bottom:10px;
}

.ha-card-btn{
  display:inline-block;
  padding:10px 12px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  background:var(--ha-primary);
  color:#fff;
  box-shadow:0 10px 20px rgba(0,107,180,.18);
  transition:transform .12s ease, box-shadow .12s ease;
}
.ha-card-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(0,107,180,.24);
}

/* ===== Listing: Grid responsiver ===== */
.ha-grid-list{
  grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width: 1100px){
  .ha-grid-list{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 700px){
  .ha-grid-list{ grid-template-columns: 1fr; }
  .ha-load-more-actions{
    justify-content:stretch;
  }
  .ha-load-more-btn{
    width:100%;
    min-width:0;
  }
}

/* ===== Karten: Hover + sauberer Aufbau ===== */
.ha-card{
  transition: transform .14s ease, box-shadow .14s ease;
}
.ha-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--ha-shadow-hover);
}

/* Bild oben etwas „knackiger“ */
.ha-thumb{
  border-bottom: 1px solid var(--ha-border);
}

/* ===== Card Content ===== */
.ha-card-body{
  padding: 14px;
}

.ha-card-title{
  font-size: 19px;
  margin: 6px 0 6px;
  line-height: 1.15;
}

.ha-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap: 6px 10px;
  margin-bottom: 10px;
  color: var(--ha-muted);
  font-weight: 700;
}

.ha-card-usps{
  display:grid;
  gap:7px;
  margin:0 0 12px;
  padding:0;
  list-style:none;
}

.ha-card-usp{
  position:relative;
  min-width:0;
  padding:8px 10px 8px 22px;
  border:1px solid rgba(236,103,1,.14);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,249,244,.98), rgba(255,255,255,.98));
  color:var(--ha-text);
  font-size:13px;
  line-height:1.45;
  font-weight:800;
  box-shadow:0 6px 14px rgba(20,41,65,.03);
}

.ha-card-usp::before{
  content:"";
  position:absolute;
  left:10px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--ha-accent);
  transform:translateY(-50%);
}

/* Preis wie KPI-Light */
.ha-card-price{
  display:inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(0,107,180,.06);
  border: 1px solid rgba(0,107,180,.18);
  color: var(--ha-primary);
  font-weight: 900;
  margin-bottom: 12px;
}

/* ===== Button unten „klebt“ ===== */
.ha-card{
  display:flex;
  flex-direction: column;
}
.ha-card-body{
  display:flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
}
.ha-card-btn{
  margin-top: auto;
}

/* ===== Preis Label dezenter ===== */
.ha-card-price{
  font-size: 14px;
}

/* =========================
   Flatsome Single: Header ausblenden
   ========================= */
body.single-ha_ferienhaus .entry-header{display:none !important;}
body.single-ha_ferienhaus .entry-image{display:none !important;}
body.single-ha_boot .entry-header{display:none !important;}
body.single-ha_boot .entry-image{display:none !important;}

/* =========================
   Head / Breadcrumbs
   ========================= */
.ha-template-content,
.ha-template-main{
  background:transparent;
}

.ha-template-shell{
  width:100%;
}

.ha-single-head{margin:6px 0 14px;}
.ha-breadcrumbs{
  font-size:14px;
  color:var(--ha-text-faint);
  margin-bottom:6px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.ha-breadcrumbs a{text-decoration:none;color:var(--ha-text-soft, var(--ha-muted));}
.ha-bc-sep{color:var(--ha-text-faint);}
.ha-overview-head{
  margin:10px 0 14px;
}
.ha-overview-head__inner{
  width:min(1180px, calc(100vw - 64px));
  margin:0 auto;
}
.ha-breadcrumbs--overview{
  margin-bottom:0;
  color:var(--ha-text-faint);
  font-size:13px;
  letter-spacing:.01em;
  gap:7px;
}
.ha-single-title{
  margin:0;
  font-size:34px;
  line-height:1.1;
  letter-spacing:-.2px;
  color:var(--ha-text-strong);
}
@media(max-width:900px){
  .ha-single-title{font-size:28px;}
  .ha-overview-head{
    margin:8px 0 12px;
  }
  .ha-overview-head__inner{
    width:min(100%, calc(100vw - 32px));
  }
}

/* =========================
   2-Spalten Layout
   ========================= */
.ha-two-col{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:18px;
  align-items:start;
}

.ha-two-col--ferienhaus{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,0.85fr);
}

.ha-two-col--ferienhaus > .ha-main-column--ferienhaus{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.ha-two-col--ferienhaus > .ha-main-column--ferienhaus > .ha-main-section{
  min-width:0;
}

.ha-full-width-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-top:18px;
}

@media(max-width:1100px){
  .ha-two-col{grid-template-columns:1fr;}

  .ha-two-col--ferienhaus{
    grid-template-columns:1fr;
    gap:16px;
  }

  .ha-two-col--ferienhaus > .ha-main-column--ferienhaus{
    display:contents;
  }

  .ha-two-col--ferienhaus .ha-main-section--gallery{
    order:1;
  }

  .ha-two-col--ferienhaus > .ha-right--ferienhaus{
    order:2;
  }

  .ha-two-col--ferienhaus .ha-main-section--content{
    order:3;
  }

  .ha-full-width-stack{
    gap:16px;
    margin-top:16px;
  }
}

.ha-hero-img{
  width:100%;
  height:320px;
  object-fit:cover;
  border-radius:var(--ha-radius);
  display:block;
  margin-bottom:12px;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}
@media(max-width:900px){
  .ha-hero-img{height:240px;}
}

.ha-hero-placeholder{
  width:100%;
  height:320px;
  border-radius:var(--ha-radius);
  margin-bottom:12px;
  background:
    linear-gradient(135deg, rgba(0,107,180,.14), rgba(236,103,1,.08)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.4) 0 12px, rgba(255,255,255,.15) 12px 24px);
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}
@media(max-width:900px){
  .ha-hero-placeholder{height:240px;}
}

.ha-left-content p{margin-bottom:.75em;color:var(--ha-muted);}

.ha-product-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.ha-product-gallery,
.ha-content-tabs{
  border:1px solid var(--ha-border);
  border-radius:var(--ha-radius);
  background:#fff;
  box-shadow:var(--ha-shadow);
}

.ha-product-gallery{
  padding:14px;
}

.ha-gallery-main{
  position:relative;
  border-radius:calc(var(--ha-radius) - 4px);
  overflow:hidden;
  background:rgba(0,0,0,.04);
}

.ha-gallery-nav{
  position:absolute;
  top:50%;
  z-index:2;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transform:translateY(-50%);
  text-shadow:0 3px 14px rgba(0,0,0,.55);
  transition:transform .14s ease, opacity .14s ease;
}

.ha-gallery-nav:hover{
  transform:translateY(-50%) scale(1.05);
}

.ha-gallery-nav:focus-visible{
  outline:0;
  opacity:1;
}

.ha-gallery-nav--prev{
  left:10px;
}

.ha-gallery-nav--next{
  right:10px;
}

.ha-gallery-nav-chevron{
  display:block;
  width:15px;
  height:15px;
  border-top:2.5px solid currentColor;
  border-right:2.5px solid currentColor;
}

.ha-gallery-nav--prev .ha-gallery-nav-chevron{
  transform:rotate(-135deg);
}

.ha-gallery-nav--next .ha-gallery-nav-chevron{
  transform:rotate(45deg);
}

.ha-gallery-slide{
  aspect-ratio:4/3;
}

.ha-gallery-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ha-gallery-slide .ha-hero-placeholder{
  height:100%;
  margin-bottom:0;
  border-radius:0;
  box-shadow:none;
}

.ha-gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
  margin-top:12px;
}
@media(max-width:700px){
  .ha-gallery-thumbs{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:8px;
  }

  .ha-gallery-nav{
    width:40px;
    height:40px;
  }

  .ha-gallery-nav--prev{
    left:6px;
  }

  .ha-gallery-nav--next{
    right:6px;
  }
}

.ha-gallery-thumb{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:0;
  background:#fff;
  overflow:hidden;
  aspect-ratio:4/3;
  cursor:pointer;
  transition:border-color .12s ease, transform .12s ease, box-shadow .12s ease;
}

.ha-gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ha-gallery-thumb:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(0,0,0,.08);
}

.ha-gallery-thumb.is-active{
  border-color:rgba(0,107,180,.55);
  box-shadow:0 0 0 3px rgba(0,107,180,.12);
}

.ha-content-tabs{
  overflow:hidden;
}

.ha-ui-label{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.ha-ui-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:1.45em;
  height:1.45em;
  color:#006bb4;
}

.ha-ui-icon svg{
  width:100%;
  height:100%;
  display:block;
}

.ha-ui-label-text{
  line-height:1.2;
}

.ha-tab-nav{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  padding:14px 14px 0;
  align-items:stretch;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.ha-tab-nav::-webkit-scrollbar{
  display:none;
}

.ha-tab-button{
  appearance:none;
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  background:#fff;
  color:var(--ha-text-strong);
  cursor:pointer;
  font-weight:900;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:154px;
  min-height:118px;
  padding:16px 18px 14px;
  gap:8px;
  text-align:center;
  white-space:nowrap;
  transition:background .12s ease, color .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.ha-tab-button .ha-ui-label{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:nowrap;
  white-space:nowrap;
}

.ha-tab-button .ha-ui-label-text{
  white-space:nowrap;
  text-align:center;
  font-size:15px;
  line-height:1.2;
}

.ha-tab-button .ha-ui-icon{
  width:58px;
  height:58px;
  padding:0;
  border-radius:0;
  box-sizing:border-box;
  background:transparent;
  border:0;
}

.ha-tab-button .ha-ui-icon svg{
  width:100%;
  height:100%;
}

.ha-tab-button:hover{
  border-color:rgba(0,107,180,.3);
}

.ha-tab-button.is-active{
  background:var(--ha-primary);
  color:#fff;
  border-color:var(--ha-primary);
  box-shadow:0 10px 20px rgba(0,107,180,.16);
}

.ha-tab-button.is-active .ha-ui-icon{
  color:#fff;
  background:transparent;
  border:0;
  box-shadow:none;
}

.ha-tab-panels{
  padding:14px;
}

.ha-tab-panels.is-empty{
  display:none;
}

.ha-tab-panel{
  min-height:120px;
}

.ha-tab-panel[hidden]{
  display:none !important;
}

.ha-tab-panel > *:first-child{
  margin-top:0;
}

.ha-tab-panel > *:last-child{
  margin-bottom:0;
}

.ha-tab-panel p,
.ha-tab-panel li{
  color:var(--ha-muted);
}

.ha-tab-panel .ha-boat-card-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  align-items:stretch;
}
@media(max-width:700px){
  .ha-tab-panel .ha-boat-card-grid{
    grid-template-columns:1fr;
  }
}

.ha-boat-card{
  min-width:0;
}

.ha-tab-panel .ha-related-card-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  align-items:stretch;
}
@media(max-width:700px){
  .ha-tab-panel .ha-related-card-grid{
    grid-template-columns:1fr;
  }
}

.ha-related-card{
  min-width:0;
}

.ha-boat-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.ha-boat-list li{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:rgba(0,107,180,.03);
  padding:12px 14px;
}

.ha-boat-list a{
  color:var(--ha-text);
  font-weight:900;
  text-decoration:none;
}

.ha-boat-list a:hover{
  color:var(--ha-primary);
}

/* =========================
   Sticky Fix (Flatsome Wrapper issues)
   ========================= */
body.single-ha_ferienhaus .article-inner,
body.single-ha_ferienhaus .col-inner,
body.single-ha_ferienhaus .large-10,
body.single-ha_ferienhaus .page-wrapper,
body.single-ha_ferienhaus #content,
body.single-ha_ferienhaus #main,
body.single-ha_ferienhaus .ha-two-col,
body.single-ha_ferienhaus .ha-right,
body.single-ha_ferienhaus .ha-left,
body.single-ha_ferienhaus .ha-main-column--ferienhaus,
body.single-ha_ferienhaus .ha-main-section,
body.single-ha_boot .article-inner,
body.single-ha_boot .col-inner,
body.single-ha_boot .large-10,
body.single-ha_boot .page-wrapper,
body.single-ha_boot #content,
body.single-ha_boot #main,
body.single-ha_boot .ha-two-col,
body.single-ha_boot .ha-right,
body.single-ha_boot .ha-left,
body.single-ha_boot .ha-main-column--boot,
body.single-ha_boot .ha-main-section{
  overflow:visible !important;
  transform:none !important;
}

body.single-ha_ferienhaus .ha-right{
  position:relative;
  align-self:start;
  min-width:0;
}

body.single-ha_boot .ha-right{
  position:relative;
  align-self:start;
  min-width:0;
}

body.single-ha_ferienhaus .ha-right-sticky{
  position:sticky;
  top:calc(var(--ha-admin-bar-height, 0px) + 140px);
}

body.single-ha_boot .ha-right-sticky{
  position:sticky;
  top:calc(var(--ha-admin-bar-height, 0px) + 140px);
}

/* =========================
   Cards: Details / CTA / Map
   ========================= */
.ha-details,
.ha-cta,
.ha-map-embed{
  border:1px solid var(--ha-border);
  border-radius:var(--ha-radius);
  background:#fff;
  box-shadow:var(--ha-shadow);
}

/* Section Headline Accent */
.ha-section-title{
  position:relative;
  padding-left:12px;
  color:var(--ha-text-strong);
}
.ha-section-title:before{
  content:"";
  position:absolute;
  left:0; top:4px;
  width:4px; height:20px;
  border-radius:99px;
  background:var(--ha-secondary);
}

/* =========================
   Details Box
   ========================= */
.ha-details{padding:14px;}
.ha-details .ha-section-title{margin:0 0 10px;font-size:20px;}
.ha-details-meta{
  margin:0 0 14px;
  color:var(--ha-text-faint);
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}
.ha-details-meta span{
  color:var(--ha-muted);
  font-weight:800;
}

/* Preis KPI – stabil, mit Padding links */
.ha-price-kpi{
  grid-column:1/-1;
  padding:16px 16px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(0,107,180,.10), rgba(0,0,0,0));
  border:1px solid rgba(0,107,180,.20);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.ha-price-kpi .label{
  font-weight:900;
  color:var(--ha-primary);
  font-size:20px;
}
.ha-price-kpi .value{
  font-weight:900;
  font-size:38px;
  line-height:1;
  color: #006bb4;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.ha-price-kpi .unit{
  color:var(--ha-primary);
  font-weight:900;
  font-size:16px;
  white-space:nowrap;
}

/* Specs Grid */
.ha-details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  margin:10px 0 12px;
}
@media(max-width:1100px){
  .ha-details-grid:not(.ha-details-grid--ferienhaus):not(.ha-details-grid--boot){grid-template-columns:1fr;}
}
@media(max-width:1100px){
  .ha-two-col{grid-template-columns:1fr;}
}

.ha-details-grid--ferienhaus{
  gap:12px;
}

.ha-details-grid--boot{
  gap:12px;
}

@media(max-width:700px){
  .ha-details-grid--ferienhaus{
    grid-template-columns:1fr;
  }
  .ha-details-grid--boot{
    grid-template-columns:1fr;
  }
}

.ha-spec{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px dashed rgba(0,0,0,.08);
}

.ha-spec strong{
  font-weight:900;
  color:var(--ha-muted);
  white-space:nowrap;
}

.ha-spec .ha-val{
  font-weight:800;
  color:var(--ha-text);
  white-space:nowrap; /* verhindert „€“ allein */
}

/* Wir haben im HTML keine .ha-spec/.ha-val – daher: robustes Styling per Struktur */
.ha-details-grid > div:not(.ha-price-kpi):not(.ha-detail-card):not(.ha-details-week-price){
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px dashed rgba(0,0,0,.08);
  color:var(--ha-text);
  font-weight:800;
  flex-wrap:wrap;
}
.ha-details-grid > div:not(.ha-price-kpi):not(.ha-detail-card):not(.ha-details-week-price) strong{
  font-weight:900;
  color:var(--ha-muted);
  white-space:nowrap;
}
.ha-details-grid > div:not(.ha-price-kpi):not(.ha-detail-card):not(.ha-details-week-price){
  white-space:normal;
}

.ha-detail-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
  min-width:0;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(0,107,180,.04), rgba(255,255,255,.98));
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}

.ha-detail-card .ha-detail-card-label{
  display:block;
  max-width:100%;
  color:var(--ha-text-faint);
  font-size:12px;
  font-weight:800;
  letter-spacing:.18px;
  line-height:1.35;
  text-transform:none;
  white-space:normal;
}

.ha-detail-card .ha-detail-card-value{
  display:block;
  max-width:100%;
  color:var(--ha-text-strong);
  font-size:21px;
  line-height:1.15;
  font-weight:900;
  word-break:break-word;
}

/* =========================
   KV Bereich: Region / Ausstattung / Fische
   ========================= */
.ha-kv{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.ha-kv-row{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:start;padding:12px 0;border-top:1px solid rgba(0,0,0,.06);}
.ha-kv-row:first-child{border-top:0;}
@media(max-width:900px){.ha-kv-row{grid-template-columns:1fr;}}
.ha-kv-label{
  min-width:0;
  color: var(--ha-muted);
  font-size: 13px;
  font-weight: 900;
}
.ha-kv-label .ha-ui-label{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  white-space:normal;
}
.ha-kv-label .ha-ui-icon{
  width:46px;
  height:46px;
  padding:9px;
  border-radius:16px;
  box-sizing:border-box;
  background:rgba(0,107,180,.08);
  border:1px solid rgba(0,107,180,.12);
  color:#006bb4;
}
.ha-kv-label .ha-ui-label-text{
  display:block;
  font-size:14px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.01em;
  color:var(--ha-muted);
}
.ha-kv-val{
  min-width:0;
}
@media(max-width:900px){
  .ha-kv-label .ha-ui-label{
    align-items:flex-start;
  }
  .ha-kv-label .ha-ui-icon{
    width:42px;
    height:42px;
    padding:8px;
  }
}
.ha-empty{opacity:.7;}

/* Badges Premium */
.ha-badges{display:flex;flex-wrap:wrap;gap:8px;}
.ha-badge{
  display:inline-block;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(0,107,180,.20);
  background:rgba(0,107,180,.06);
  color:var(--ha-text-strong);
  text-decoration:none;
  font-weight:900;
  font-size:12px;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.ha-badge:hover{
  transform:translateY(-1px);
  background:rgba(0,107,180,.10);
  border-color:rgba(0,107,180,.35);
  box-shadow:0 10px 18px rgba(0,107,180,.14);
}

.ha-region-chain{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  min-width:0;
  max-width:100%;
  row-gap:10px;
}

.ha-region-chain-step{
  display:inline-flex;
  align-items:center;
  flex:0 1 auto;
  min-width:0;
  white-space:nowrap;
}

.ha-badge--region{
  white-space:nowrap;
}

.ha-region-chain-separator{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin:0 8px;
  color:rgba(19,48,77,.46);
  font-size:13px;
  font-weight:900;
  line-height:1;
  transform:translateY(-1px);
  user-select:none;
}

@media(max-width:900px){
  .ha-region-chain{
    flex-wrap:wrap;
    row-gap:10px;
  }
}

/* =========================
   CTA Box
   ========================= */
.ha-cta{
  margin-top:12px;
  padding:14px;
  background:linear-gradient(180deg, rgba(0,107,180,.06), rgba(0,0,0,0));
  border-color:rgba(0,107,180,.22);
}
.ha-cta .ha-cta-title{margin:0 0 6px;font-size:18px;font-weight:900;color:var(--ha-text-strong);}
.ha-cta p{margin:0 0 10px;color:var(--ha-muted);}
.ha-cta-btns{display:grid;grid-template-columns:1fr;gap:8px;}
.ha-cta--compact{
  padding:12px 14px;
}
.ha-cta--compact .ha-cta-title{
  font-size:16px;
  margin-bottom:6px;
}
.ha-cta--compact p{
  font-size:14px;
  line-height:1.5;
  margin-bottom:0;
}
.ha-cta-btns--compact{
  margin-top:12px;
}
.ha-cta--boot{
  background:linear-gradient(180deg, rgba(0,107,180,.05), rgba(255,255,255,.98));
}
.ha-cta-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  background:var(--ha-primary);
  color:#fff;
  box-shadow:0 10px 20px rgba(0,107,180,.18);
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
}
.ha-cta-btn:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(0,107,180,.24);color:#fff;}

.ha-cta-btn .ha-ui-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:10px;
  white-space:nowrap;
}

.ha-cta-btn .ha-ui-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:1.2em;
  height:1.2em;
  color:currentColor;
  line-height:0;
}

.ha-cta-btn .ha-ui-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:currentColor;
}

.ha-cta-btn .ha-ui-label-text{
  white-space:nowrap;
}

.ha-cta-wa{
  background:#25d366;
  box-shadow:0 10px 20px rgba(37,211,102,.22);
}

.ha-cta-wa:hover{
  box-shadow:0 14px 26px rgba(37,211,102,.28);
}

.ha-cta--outro{
  margin-top:22px;
  text-align:center;
}

.ha-cta--outro .ha-cta-title{
  margin:0 0 8px;
  font-size:24px;
  color:var(--ha-text-strong);
}

.ha-cta--outro p{
  max-width:720px;
  margin:0 auto 14px;
}

.ha-cta-btns--outro{
  max-width:320px;
  margin:0 auto;
}

/* =========================
   Anfrageformular
   ========================= */
.ha-inquiry-block{
  margin-top:0;
  border:1px solid var(--ha-border);
  border-radius:var(--ha-radius);
  background:#fff;
  box-shadow:var(--ha-shadow);
  overflow:hidden;
  scroll-margin-top:140px;
}
.ha-inquiry-head{
  display:flex;
  align-items:center;
  background:linear-gradient(180deg, rgba(0,107,180,.05), rgba(0,0,0,0));
  border-bottom:1px solid var(--ha-border);
  padding:16px 18px;
}
.ha-inquiry-title{
  margin:0;
  font-size:22px;
  line-height:1.2;
  color:var(--ha-text-strong);
}
.ha-inquiry-title .ha-ui-label{
  gap:14px;
}
.ha-inquiry-panel{
  padding:16px 18px 18px;
}
.ha-inquiry-copy{
  margin:0 0 14px;
  color:var(--ha-muted);
}
.ha-form-alert{
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:12px;
  font-weight:700;
}
.ha-form-alert--success{
  background:rgba(18,138,63,.08);
  border:1px solid rgba(18,138,63,.18);
  color:#11643b;
}
.ha-form-alert--error{
  background:rgba(226,6,23,.08);
  border:1px solid rgba(226,6,23,.18);
  color:#9c1320;
}
.ha-form-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.ha-form-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.ha-form-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ha-form-field--full{
  grid-column:1 / -1;
}
.ha-form-field label{
  font-weight:700;
  color:var(--ha-muted);
}
.ha-form-field input,
.ha-form-field textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  background:#fff;
  color:var(--ha-text);
  box-sizing:border-box;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.ha-form-field input::placeholder,
.ha-form-field textarea::placeholder{
  color:var(--ha-text-faint);
}
.ha-form-field input:focus,
.ha-form-field textarea:focus{
  border-color:rgba(0,107,180,.48);
  box-shadow:0 0 0 4px rgba(0,107,180,.10);
  outline:none;
}
.ha-form-field.has-error input,
.ha-form-field.has-error textarea,
.ha-form-consent.has-error{
  border-color:rgba(226,6,23,.28);
}
.ha-form-consent{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid var(--ha-border);
  border-radius:12px;
  background:var(--ha-soft);
}
.ha-check{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:12px;
  align-items:start;
}
.ha-check-box{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:2px;
}

.ha-check-box input{
  margin:2px 0 0;
  flex:0 0 auto;
}

.ha-check-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  color:var(--ha-muted);
  font-weight:600;
  overflow-wrap:anywhere;
}
.ha-check-text a{
  color:var(--ha-text);
}

.ha-check-text label{
  display:block;
  margin:0;
  cursor:pointer;
  overflow-wrap:anywhere;
}

.ha-check-text a{
  align-self:flex-start;
  color:var(--ha-primary);
  overflow-wrap:anywhere;
}
.ha-form-error{
  margin:0;
  font-size:13px;
  color:#b42318;
  font-weight:700;
}
.ha-form-actions{
  margin-top:14px;
}
.ha-form-submit{
  border:0;
  cursor:pointer;
}
@media(max-width:900px){
  .ha-ui-label{
    gap:10px;
  }
  .ha-tab-button .ha-ui-icon{
    width:44px;
    height:44px;
    padding:5px;
    border-radius:15px;
  }
  .ha-form-grid{
    grid-template-columns:1fr;
  }
  .ha-form-field--full{
    grid-column:auto;
  }
  .ha-inquiry-head{
    padding:14px 16px;
  }
  .ha-inquiry-title{
    font-size:20px;
  }
  .ha-inquiry-panel{
    padding:14px 16px 16px;
  }
}

@media(max-width:900px){
  .ha-product-gallery{
    padding:12px;
  }

  .ha-gallery-thumbs{
    gap:8px;
    margin-top:10px;
  }

  .ha-right-sticky{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .ha-details{
    padding:16px;
  }

  .ha-details-grid--ferienhaus{
    grid-template-columns:1fr;
    gap:12px;
  }

  .ha-price-kpi{
    align-items:flex-start;
    justify-content:flex-start;
    flex-direction:column;
    gap:8px;
    padding:16px 18px;
  }

  .ha-price-kpi .label{
    font-size:18px;
  }

  .ha-price-kpi .value{
    font-size:34px;
    gap:8px;
  }

  .ha-price-kpi .unit{
    font-size:15px;
  }

  .ha-kv{
    gap:12px;
    margin-top:12px;
  }

  .ha-kv-row{
    gap:12px;
    padding:14px 0;
  }

  .ha-kv-val{
    min-width:0;
  }

  .ha-badges{
    gap:8px;
  }

  .ha-badge{
    padding:8px 12px;
  }

  .ha-inquiry-block{
    scroll-margin-top:100px;
  }

  .ha-form-field input,
  .ha-form-field textarea{
    font-size:16px;
  }

  .ha-form-submit{
    width:100%;
  }

  .ha-cta--outro{
    margin-top:20px;
    padding:16px;
  }

  .ha-cta-btns--outro{
    max-width:none;
  }
}

/* =========================
   Maps Block
   ========================= */
.ha-maps-block{margin:22px 0 8px;}
.ha-location-compact-block,
.ha-angler-gallery-block{
  padding:18px;
  border:1px solid var(--ha-border);
  border-radius:var(--ha-radius);
  background:#fff;
  box-shadow:var(--ha-shadow);
}

.ha-location-compact-block .ha-section-title,
.ha-angler-gallery-block .ha-section-title{
  margin:0 0 16px;
  font-size:24px;
  line-height:1.15;
}

.ha-location-nav{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.ha-location-nav-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.ha-location-nav-card{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  min-height:118px;
  padding:16px 18px 14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  background:#fff;
  color:var(--ha-text-strong);
  font:inherit;
  font-weight:900;
  text-align:center;
  cursor:pointer;
  box-shadow:none;
  transition:background .12s ease, color .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.ha-location-nav-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:auto;
  min-width:0;
  max-width:100%;
  margin:0 auto;
}

.ha-location-nav-card:hover{
  border-color:rgba(0,107,180,.3);
}

.ha-location-nav-card.is-active{
  background:var(--ha-primary);
  color:#fff;
  border-color:var(--ha-primary);
  box-shadow:0 10px 20px rgba(0,107,180,.16);
}

.ha-location-nav-card:focus-visible{
  outline:0;
  border-color:rgba(0,107,180,.32);
  box-shadow:0 0 0 4px rgba(0,107,180,.12);
}

.ha-location-nav-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:58px;
  height:58px;
  padding:0;
  box-sizing:border-box;
  border-radius:0;
  border:0;
  background:transparent;
  color:var(--ha-primary);
  font-size:22px;
  font-weight:900;
  line-height:1;
}

.ha-location-nav-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:currentColor;
  stroke:currentColor;
}

.ha-location-nav-card.is-active .ha-location-nav-icon{
  color:#fff;
  background:transparent;
  border:0;
  box-shadow:none;
}

.ha-location-nav-card.is-active .ha-location-nav-label{
  color:#fff;
}

.ha-location-nav-label{
  display:block;
  max-width:100%;
  color:var(--ha-text-strong);
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  text-align:center;
  white-space:nowrap;
  margin:0;
}

.ha-location-panels{
  min-width:0;
}

.ha-location-panel{
  margin:0;
  padding:18px;
  border:1px solid var(--ha-border);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(0,107,180,.03), rgba(255,255,255,.99));
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}

.ha-location-panel .ha-location-card{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.ha-location-panel .ha-location-title{
  margin:0 0 12px;
  font-size:17px;
}

.ha-location-panel .ha-location-copy{
  margin-bottom:12px;
}

.ha-location-panel .ha-map-embed,
.ha-location-panel .ha-widget-embed{
  border-radius:16px;
}

.ha-location-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.ha-location-card{
  padding:12px;
  border:1px solid var(--ha-border);
  border-radius:var(--ha-radius);
  background:#fff;
  box-shadow:var(--ha-shadow);
}
.ha-location-card--wide{
  grid-column:auto;
}
.ha-location-title{
  margin:0 0 10px;
  font-size:16px;
  color:var(--ha-text-strong);
  font-weight:800;
}
.ha-location-copy{
  margin:0 0 12px;
  color:var(--ha-muted);
}
.ha-location-link{
  margin-top:2px;
}
.ha-map-embed{overflow:hidden;background:#fff;}
.ha-map-embed iframe{
  display:block;
  width:100%;
}
.ha-map-embed--norgeskart iframe{
  height:640px;
}
@media(max-width:1100px){
  .ha-map-embed--norgeskart iframe{
    height:540px;
  }
}
@media(max-width:900px){
  .ha-map-embed--norgeskart iframe{
    height:460px;
  }
}
.ha-widget-embed{
  width:100%;
  overflow:hidden;
}
.ha-widget-embed iframe{
  display:block;
  width:100%;
  max-width:100%;
  border:0;
}

.ha-angler-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.ha-angler-gallery-item{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:100%;
  padding:0;
  overflow:hidden;
  border:1px solid var(--ha-border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(0,107,180,.04), rgba(255,255,255,.98));
  aspect-ratio:4/3;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
  cursor:zoom-in;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.ha-angler-gallery-item:hover{
  transform:translateY(-2px);
  border-color:rgba(0,107,180,.20);
  box-shadow:0 16px 30px rgba(15,23,42,.10);
}

.ha-angler-gallery-item:focus-visible{
  outline:0;
  border-color:rgba(0,107,180,.30);
  box-shadow:0 0 0 4px rgba(0,107,180,.12), 0 16px 30px rgba(15,23,42,.10);
}

.ha-angler-gallery-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.ha-angler-gallery-placeholder{
  padding:18px;
  border:1px dashed rgba(0,107,180,.20);
  border-radius:16px;
  background:rgba(0,107,180,.04);
}

.ha-angler-gallery-placeholder p{
  margin:0;
  color:var(--ha-muted);
}

body.ha-lightbox-open{
  overflow:hidden;
}

.ha-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.ha-lightbox[hidden]{
  display:none !important;
}

.ha-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(9,16,28,.82);
  backdrop-filter:blur(4px);
}

.ha-lightbox-stage{
  position:relative;
  z-index:1;
  width:min(1100px, calc(100vw - 48px));
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ha-lightbox-figure{
  margin:0;
  max-width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.ha-lightbox-image{
  display:block;
  max-width:min(100%, 980px);
  max-height:calc(100vh - 120px);
  width:auto;
  height:auto;
  border-radius:18px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
  background:#fff;
}

.ha-lightbox-caption{
  max-width:min(720px, 100%);
  color:#fff;
  text-align:center;
  font-size:14px;
  line-height:1.5;
}

.ha-lightbox-close,
.ha-lightbox-nav{
  position:absolute;
  z-index:2;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-shadow:0 3px 14px rgba(0,0,0,.55);
}

.ha-lightbox-close{
  top:-8px;
  right:-4px;
  width:40px;
  height:40px;
  padding:0;
  font-size:24px;
  font-weight:700;
  line-height:1;
}

.ha-lightbox-nav{
  top:50%;
  width:60px;
  height:60px;
  padding:0;
  transform:translateY(-50%);
  opacity:.96;
  transition:transform .14s ease, opacity .14s ease;
}

.ha-lightbox-nav--prev{
  left:20px;
}

.ha-lightbox-nav--next{
  right:20px;
}

.ha-lightbox-nav:hover{
  opacity:1;
  transform:translateY(-50%) scale(1.05);
}

.ha-lightbox-nav:focus-visible{
  outline:0;
  opacity:1;
}

.ha-lightbox-nav-chevron{
  display:block;
  width:22px;
  height:22px;
  border-top:3px solid currentColor;
  border-right:3px solid currentColor;
}

.ha-lightbox-nav--prev .ha-lightbox-nav-chevron{
  transform:rotate(-135deg);
}

.ha-lightbox-nav--next .ha-lightbox-nav-chevron{
  transform:rotate(45deg);
}

@media(max-width:1100px){
  .ha-angler-gallery-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

.ha-maps-block .ha-section-title{
  margin:0 0 12px;
  font-size:22px;
  line-height:1.1;
}

.ha-maps-block .ha-section-title .ha-ui-label{
  display:inline-flex;
  align-items:center;
  gap:14px;
}

.ha-maps-block .ha-section-title .ha-ui-icon,
.ha-inquiry-title .ha-ui-icon{
  width:1.35em;
  height:1.35em;
}

.ha-maps-block .ha-section-title .ha-ui-icon{
  width:1.78em;
  height:1.78em;
  padding:7px;
  border-radius:16px;
  box-sizing:border-box;
  background:rgba(0,107,180,.08);
  border:1px solid rgba(0,107,180,.12);
  color:var(--ha-primary);
}
.ha-maps-block .ha-section-title .ha-ui-label-text{
  display:block;
  line-height:1.08;
  letter-spacing:.01em;
}

@media(max-width:700px){
  .ha-maps-block .ha-section-title{
    font-size:20px;
    margin-bottom:10px;
  }

  .ha-maps-block .ha-section-title .ha-ui-label{
    gap:12px;
  }

  .ha-maps-block .ha-section-title .ha-ui-icon{
    width:1.62em;
    height:1.62em;
    padding:6px;
    border-radius:14px;
  }

  .ha-tab-nav{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
    padding:12px;
    overflow:visible;
  }

  .ha-tab-nav .ha-tab-button{
    min-width:0;
    width:100%;
    min-height:102px;
    padding:14px 12px;
  }

  .ha-tab-nav .ha-tab-button:nth-child(3):last-child{
    grid-column:1 / -1;
  }

  .ha-tab-button .ha-ui-label{
    gap:8px;
  }

  .ha-tab-button .ha-ui-icon{
    width:50px;
    height:50px;
    padding:0;
    border-radius:0;
  }

  .ha-tab-button .ha-ui-label-text{
    font-size:14px;
  }

  .ha-tab-panels{
    padding:12px;
  }

  .ha-location-card{
    padding:14px;
  }

  .ha-location-compact-block,
  .ha-angler-gallery-block{
    padding:16px;
  }

  .ha-location-compact-block .ha-section-title,
  .ha-angler-gallery-block .ha-section-title{
    margin-bottom:14px;
    font-size:20px;
  }

  .ha-location-nav{
    gap:14px;
  }

  .ha-location-nav-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  .ha-location-nav-card{
    min-height:102px;
    padding:14px 12px;
    gap:0;
  }

  .ha-location-nav-content{
    gap:8px;
    max-width:100%;
  }

  .ha-location-nav-grid .ha-location-nav-card:last-child:nth-child(odd){
    grid-column:1 / -1;
  }

  .ha-location-nav-icon{
    width:50px;
    height:50px;
    border-radius:16px;
    font-size:19px;
  }

  .ha-location-nav-label{
    font-size:15px;
  }

  .ha-location-panel{
    padding:16px;
  }

  .ha-angler-gallery-grid{
    grid-template-columns:1fr;
  }

  .ha-lightbox{
    padding:16px;
  }

  .ha-lightbox-stage{
    width:min(100%, calc(100vw - 32px));
  }

  .ha-lightbox-image{
    max-height:calc(100vh - 132px);
  }

  .ha-lightbox-nav--prev{
    left:8px;
  }

  .ha-lightbox-nav--next{
    right:8px;
  }

  .ha-lightbox-nav{
    width:52px;
    height:52px;
  }

  .ha-lightbox-nav-chevron{
    width:18px;
    height:18px;
  }

}

/* =========================
   Galerie
   ========================= */
.ha-gal-front{margin:14px 0 0;}
.ha-gal-front .ha-section-title{margin:0 0 10px;font-size:20px;}
.ha-gal-front-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
@media (max-width: 900px){
  .ha-gal-front-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
.ha-gal-front-item{
  border:1px solid var(--ha-border);
  border-radius:var(--ha-radius);
  overflow:hidden;
  background:#fff;
  aspect-ratio:4/3;
  box-shadow:var(--ha-shadow);
  transition:transform .14s ease, box-shadow .14s ease;
}
.ha-gal-front-item:hover{
  transform:translateY(-2px);
  box-shadow:var(--ha-shadow-hover);
}
.ha-gal-front-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Mehr Luft rechts bei freien Detailzeilen */
.ha-details-grid > div:not(.ha-price-kpi):not(.ha-detail-card):not(.ha-details-week-price){
  padding-right: 8px;
}

.ha-details-week-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:100%;
  min-width:0;
  margin:10px 0 0;
  padding:15px 22px 15px 24px;
  border:1px solid rgba(0,107,180,.16);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(0,107,180,.06), rgba(255,255,255,.98));
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.ha-details-week-price-label{
  display:block;
  min-width:0;
  color:var(--ha-muted);
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}

.ha-details-week-price-value{
  display:block;
  margin-left:auto;
  color:var(--ha-primary);
  font-size:21px;
  font-weight:900;
  line-height:1.1;
  text-align:right;
  white-space:nowrap;
}

.ha-boot-price-breakdown{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}

.ha-boot-price-breakdown .ha-details-week-price{
  margin:0;
}

@media (max-width: 700px){
  .ha-details-week-price{
    padding:14px 16px 14px 18px;
    gap:14px;
  }

  .ha-boot-price-breakdown{
    gap:8px;
  }
}

.ha-detail-note{
  margin:12px 0 0;
  color:var(--ha-muted);
  font-size:14px;
}

.ha-price-section{
  padding:18px;
  border:1px solid var(--ha-border);
  border-radius:var(--ha-radius);
  background:#fff;
  box-shadow:var(--ha-shadow);
}

.ha-price-section .ha-panel-title{
  margin-bottom:16px;
}

.ha-price-desktop,
.ha-price-mobile{
  margin:0;
}

.ha-price-table-wrap,
.ha-price-addon-block,
.ha-price-related-boats,
.ha-price-card{
  border:1px solid var(--ha-border);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(0,107,180,.04), rgba(255,255,255,.98));
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}

.ha-price-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.ha-price-table{
  width:100%;
  min-width:920px;
  border-collapse:collapse;
}

.ha-price-table thead th{
  padding:14px 16px;
  border-bottom:1px solid rgba(36,54,79,.10);
  background:rgba(0,107,180,.06);
  color:var(--ha-muted);
  font-size:13px;
  line-height:1.3;
  font-weight:800;
  text-align:left;
  white-space:nowrap;
}

.ha-price-table thead th:first-child{
  width:28%;
}

.ha-price-table thead th:not(:first-child){
  text-align:right;
}

.ha-price-table tbody th,
.ha-price-table tbody td{
  padding:16px;
  border-top:1px solid rgba(36,54,79,.08);
  vertical-align:middle;
}

.ha-price-table tbody tr:first-child th,
.ha-price-table tbody tr:first-child td{
  border-top:0;
}

.ha-price-table tbody tr:nth-child(even){
  background:rgba(36,54,79,.02);
}

.ha-price-table-period{
  color:var(--ha-text-strong);
  font-size:16px;
  line-height:1.45;
  font-weight:900;
  text-align:left;
}

.ha-price-range{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.ha-price-range-part{
  display:inline-block;
}

.ha-price-range-sep{
  color:var(--ha-text-faint);
  font-weight:700;
}

.ha-price-table tbody td{
  color:var(--ha-text-strong);
  font-size:16px;
  line-height:1.2;
  font-weight:900;
  white-space:nowrap;
  text-align:right;
}

.ha-price-mobile{
  display:none;
}

.ha-price-card-list{
  display:grid;
  gap:14px;
}

.ha-price-card,
.ha-price-addon-block,
.ha-price-related-boats{
  padding:16px;
}

.ha-price-addon-block{
  margin-top:16px;
}

.ha-price-related-boats{
  margin-top:16px;
}

.ha-price-related-boats-copy{
  margin:10px 0 0;
  color:var(--ha-text-soft);
  font-size:14px;
  line-height:1.65;
}

.ha-price-related-boat-list{
  display:grid;
  gap:14px;
  margin-top:16px;
}

.ha-price-related-boat{
  display:grid;
  grid-template-columns:108px minmax(0, 1fr) minmax(180px, 220px);
  gap:16px;
  align-items:center;
  padding:14px 16px;
  border:1px solid rgba(36,54,79,.08);
  border-radius:12px;
  background:rgba(255,255,255,.84);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
}

.ha-price-related-boat-media{
  min-width:0;
}

.ha-price-related-boat-image-link,
.ha-price-related-boat-image{
  display:block;
}

.ha-price-related-boat-image{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:10px;
  background:rgba(36,54,79,.06);
}

.ha-price-related-boat-image-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:10px;
  background:linear-gradient(180deg, rgba(246,249,252,.98), rgba(239,244,248,.96));
  color:rgba(53,76,101,.44);
}

.ha-price-related-boat-image-placeholder svg{
  width:42px;
  height:42px;
}

.ha-price-related-boat-image-placeholder svg *{
  fill:currentColor !important;
  stroke:currentColor !important;
}

.ha-price-related-boat-main{
  min-width:0;
}

.ha-price-related-boat-title{
  margin:0;
  color:var(--ha-text-strong);
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.01em;
}

.ha-price-related-boat-title a{
  color:inherit;
  text-decoration:none;
}

.ha-price-related-boat-title a:hover{
  color:var(--ha-accent-strong);
}

.ha-price-related-boat-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin:10px 0 0;
  padding:0;
  list-style:none;
}

.ha-price-related-boat-meta li{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  min-width:0;
}

.ha-price-related-boat-meta-label{
  color:var(--ha-text-soft);
  font-size:11px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.ha-price-related-boat-meta-value{
  color:var(--ha-text-strong);
  font-size:15px;
  line-height:1.45;
  font-weight:800;
}

.ha-price-related-boat-features{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0 0;
  padding:0;
  list-style:none;
}

.ha-price-related-boat-features li{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid rgba(36,54,79,.08);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--ha-text-soft);
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}

.ha-price-related-boat-aside{
  display:grid;
  gap:10px;
  align-self:stretch;
  min-width:0;
}

.ha-price-related-boat-prices{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  align-self:start;
}

.ha-price-related-boat-prices.is-single{
  grid-template-columns:1fr;
}

.ha-price-related-boat-price{
  display:grid;
  gap:2px;
  padding:10px 12px;
  border:1px solid rgba(36,54,79,.08);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(248,251,252,.96), rgba(255,255,255,.98));
}

.ha-price-related-boat-price-label{
  color:var(--ha-text-soft);
  font-size:11px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ha-price-related-boat-price-value{
  color:var(--ha-text-strong);
  font-size:24px;
  line-height:1.1;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

.ha-price-related-boat-link{
  justify-self:end;
  color:var(--ha-accent-strong);
  font-size:13px;
  line-height:1.35;
  font-weight:800;
  text-decoration:none;
}

.ha-price-related-boat-link:hover{
  text-decoration:underline;
}

.ha-price-card-range,
.ha-price-addon-title{
  margin:0;
  color:var(--ha-text-strong);
  font-size:18px;
  line-height:1.2;
  font-weight:900;
}

.ha-price-card-range{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.01em;
}

.ha-price-card-lines{
  display:grid;
  gap:0;
}

.ha-price-mobile-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 0;
  border-top:1px solid rgba(36,54,79,.08);
}

.ha-price-card-lines .ha-price-mobile-line:first-child{
  padding-top:0;
  border-top:0;
}

.ha-price-mobile-label{
  color:var(--ha-muted);
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}

.ha-price-mobile-value{
  color:var(--ha-text-strong);
  font-size:16px;
  line-height:1.2;
  font-weight:900;
  text-align:right;
  white-space:nowrap;
}

.ha-price-addon-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin:0;
}

.ha-price-addon-entry{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  min-width:0;
  padding:14px 16px;
  border:1px solid rgba(36,54,79,.08);
  border-radius:12px;
  background:#fff;
}

.ha-price-addon-term{
  margin:0;
  color:var(--ha-muted);
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}

.ha-price-addon-desc{
  margin:0;
  color:var(--ha-text-strong);
  font-size:16px;
  line-height:1.2;
  font-weight:900;
  text-align:right;
  white-space:nowrap;
}

.ha-price-note,
.ha-price-empty{
  margin:14px 0 0;
  color:var(--ha-text-soft);
  line-height:1.6;
}

.ha-price-empty{
  margin-top:0;
}

@media(max-width:900px){
  .ha-price-section{
    padding:16px;
  }

  .ha-price-desktop{
    display:none;
  }

  .ha-price-mobile{
    display:block;
  }

  .ha-price-card,
  .ha-price-addon-block,
  .ha-price-related-boats{
    padding:15px;
  }

  .ha-price-mobile-line{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }

  .ha-price-mobile-value{
    text-align:left;
    white-space:normal;
  }

  .ha-price-card-range{
    font-size:19px;
  }

  .ha-price-addon-list{
    grid-template-columns:1fr;
  }

  .ha-price-addon-entry{
    flex-direction:column;
    gap:6px;
  }

  .ha-price-related-boat{
    grid-template-columns:88px minmax(0, 1fr);
    align-items:start;
  }

  .ha-price-related-boat-aside{
    grid-column:1 / -1;
  }

  .ha-price-related-boat-prices{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .ha-price-related-boat-link{
    justify-self:start;
  }

  .ha-price-addon-desc{
    text-align:left;
    white-space:normal;
  }

  .ha-location-compact-block .ha-section-title,
  .ha-angler-gallery-block .ha-section-title{
    font-size:22px;
  }
}

@media(max-width:640px){
  .ha-price-related-boat{
    grid-template-columns:1fr;
  }

  .ha-price-related-boat-media{
    width:104px;
  }

  .ha-price-related-boat-meta,
  .ha-price-related-boat-prices{
    grid-template-columns:1fr;
  }

  .ha-price-related-boat-link{
    justify-self:start;
  }
}

.ha-panel-title{
  margin:0 0 12px;
  color:var(--ha-text-strong);
  font-size:24px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.01em;
}

@media(max-width:700px){
  .ha-panel-title{
    font-size:20px;
    margin-bottom:10px;
  }
}

@media (max-width: 1100px){
  .ha-right-sticky{
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* =========================
   Visual Polish – Single Pages
   ========================= */
body.single-ha_ferienhaus,
body.single-ha_boot{
  --ha-border:rgba(36,54,79,.08);
  --ha-border-strong:rgba(53,76,101,.14);
  --ha-soft:rgba(236,243,248,.78);
  --ha-surface:#fff;
  --ha-surface-soft:#fbfdff;
  --ha-surface-tint:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,252,.95));
  --ha-surface-tint-strong:linear-gradient(180deg, rgba(255,255,255,.99), rgba(241,247,250,.96));
  --ha-shadow:0 14px 30px rgba(25,45,70,.06);
  --ha-shadow-hover:0 22px 40px rgba(25,45,70,.10);
  --ha-shadow-soft:0 12px 24px rgba(25,45,70,.05);
  --ha-shadow-card:0 18px 36px rgba(20,41,65,.07);
  background:transparent;
}

body.single-ha_ferienhaus .page-wrapper,
body.single-ha_boot .page-wrapper,
body.post-type-archive-ha_ferienhaus .page-wrapper,
body.post-type-archive-ha_boot .page-wrapper,
body.tax-ha_region .page-wrapper,
body.tax-ha_ausstattung .page-wrapper,
body.tax-ha_fisch .page-wrapper{
  background:transparent;
}

body.single-ha_ferienhaus #main,
body.single-ha_boot #main{
  position:relative;
  padding:0 0 34px;
}

body.single-ha_ferienhaus .ha-two-col,
body.single-ha_boot .ha-two-col{
  gap:22px;
}

body.single-ha_ferienhaus .ha-full-width-stack{
  gap:24px;
  margin-top:24px;
}

body.single-ha_ferienhaus .ha-single-head,
body.single-ha_boot .ha-single-head{
  margin:10px 0 20px;
}

body.single-ha_ferienhaus .ha-breadcrumbs,
body.single-ha_boot .ha-breadcrumbs{
  color:var(--ha-text-faint);
  font-size:13px;
  letter-spacing:.01em;
  gap:7px;
}

body.single-ha_ferienhaus .ha-single-title,
body.single-ha_boot .ha-single-title{
  font-size:clamp(32px, 4vw, 42px);
  line-height:1.04;
  letter-spacing:-.035em;
  display:block;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

@media(max-width:900px){
  body.single-ha_ferienhaus .ha-single-title,
  body.single-ha_boot .ha-single-title{
    max-width:none;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
}

body.single-ha_ferienhaus .ha-product-gallery,
body.single-ha_boot .ha-product-gallery,
body.single-ha_ferienhaus .ha-ferienhaus-intro-box,
body.single-ha_ferienhaus .ha-content-tabs,
body.single-ha_ferienhaus .ha-details,
body.single-ha_ferienhaus .ha-price-section,
body.single-ha_ferienhaus .ha-inquiry-block,
body.single-ha_ferienhaus .ha-location-compact-block,
body.single-ha_ferienhaus .ha-angler-gallery-block,
body.single-ha_boot .ha-content-tabs,
body.single-ha_boot .ha-details,
body.single-ha_boot .ha-cta,
body.single-ha_boot .ha-gal-front{
  border-color:var(--ha-border-strong);
  background:var(--ha-surface-tint);
}

body.single-ha_ferienhaus .ha-product-gallery,
body.single-ha_boot .ha-product-gallery,
body.single-ha_ferienhaus .ha-ferienhaus-intro-box,
body.single-ha_ferienhaus .ha-details,
body.single-ha_ferienhaus .ha-price-section,
body.single-ha_ferienhaus .ha-inquiry-block,
body.single-ha_boot .ha-details,
body.single-ha_boot .ha-content-tabs{
  box-shadow:var(--ha-shadow-card);
}

body.single-ha_ferienhaus .ha-content-tabs,
body.single-ha_ferienhaus .ha-ferienhaus-intro-box,
body.single-ha_ferienhaus .ha-location-compact-block,
body.single-ha_ferienhaus .ha-angler-gallery-block,
body.single-ha_boot .ha-cta,
body.single-ha_boot .ha-gal-front{
  box-shadow:var(--ha-shadow-soft);
}

body.single-ha_ferienhaus .ha-product-gallery,
body.single-ha_boot .ha-product-gallery{
  padding:16px;
  border-radius:18px;
  background:var(--ha-surface-tint-strong);
}

body.single-ha_ferienhaus .ha-gallery-main,
body.single-ha_boot .ha-gallery-main,
body.single-ha_boot .ha-hero-img{
  border-radius:18px;
  box-shadow:var(--ha-shadow-card);
}

body.single-ha_ferienhaus .ha-gallery-main::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(8,18,32,0) 44%, rgba(8,18,32,.10) 100%);
}

body.single-ha_ferienhaus .ha-gallery-slide img,
body.single-ha_boot .ha-gallery-slide img,
body.single-ha_boot .ha-hero-img,
body.single-ha_boot .ha-gal-front-item img,
body.single-ha_ferienhaus .ha-angler-gallery-item img{
  filter:saturate(1.03) contrast(1.02);
}

body.single-ha_ferienhaus .ha-gallery-thumb,
body.single-ha_boot .ha-gallery-thumb,
body.single-ha_boot .ha-gal-front-item{
  border-color:rgba(53,76,101,.10);
  background:rgba(255,255,255,.94);
  box-shadow:var(--ha-shadow-soft);
}

body.single-ha_ferienhaus .ha-content-tabs,
body.single-ha_boot .ha-content-tabs{
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,253,.95));
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-box{
  display:grid;
  gap:16px;
  padding:20px 22px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,251,253,.96));
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-copy{
  color:var(--ha-text-soft);
  font-size:16px;
  line-height:1.78;
  max-width:70ch;
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-copy p{
  margin:0;
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-copy p + p{
  margin-top:10px;
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-usps{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
  align-items:stretch;
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-usp{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  height:100%;
  padding:11px 12px;
  border:1px solid rgba(236,103,1,.14);
  border-radius:13px;
  background:linear-gradient(180deg, rgba(255,250,246,.98), rgba(255,255,255,.99));
  color:var(--ha-text);
  font-size:13px;
  line-height:1.45;
  font-weight:800;
  text-align:left;
  box-shadow:0 6px 14px rgba(20,41,65,.03);
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-usp-icon{
  display:grid;
  place-items:center;
  align-self:center;
  width:20px;
  height:22px;
  margin-top:0;
  color:var(--ha-accent-strong);
  flex-shrink:0;
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-usp-icon svg{
  width:auto;
  height:20px;
  display:block;
  margin:0 auto;
  transform:translateX(1px);
  transform-origin:center;
}

body.single-ha_ferienhaus .ha-ferienhaus-intro-usp-text{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
  text-align:left;
  align-self:center;
  text-wrap:pretty;
}

body.single-ha_ferienhaus .ha-tab-panels,
body.single-ha_boot .ha-tab-panels{
  padding:16px 18px 18px;
}

body.single-ha_ferienhaus .ha-tab-panel,
body.single-ha_boot .ha-tab-panel,
body.single-ha_ferienhaus .ha-left-content{
  font-size:16px;
  line-height:1.75;
}

body.single-ha_ferienhaus .ha-left-content p,
body.single-ha_boot .ha-tab-panel p,
body.single-ha_boot .ha-tab-panel li,
body.single-ha_ferienhaus .ha-tab-panel p,
body.single-ha_ferienhaus .ha-tab-panel li{
  color:var(--ha-text-soft);
}

body.single-ha_ferienhaus .ha-section-title,
body.single-ha_boot .ha-section-title{
  padding-left:14px;
  letter-spacing:-.015em;
}

body.single-ha_ferienhaus .ha-section-title:before{
  top:2px;
  width:3px;
  height:24px;
  background:linear-gradient(180deg, rgba(236,103,1,.92), rgba(236,103,1,.32));
  box-shadow:0 6px 14px rgba(236,103,1,.16);
}

body.single-ha_boot .ha-section-title:before{
  top:2px;
  width:3px;
  height:24px;
  background:linear-gradient(180deg, rgba(236,103,1,.92), rgba(236,103,1,.32));
  box-shadow:0 6px 14px rgba(236,103,1,.16);
}

body.single-ha_ferienhaus .ha-details,
body.single-ha_boot .ha-details{
  padding:18px;
  border-radius:18px;
  background:var(--ha-surface-tint-strong);
}

body.single-ha_ferienhaus .ha-details .ha-section-title{
  margin-bottom:12px;
  font-size:22px;
  padding-left:18px;
  min-height:34px;
  display:flex;
  align-items:center;
  color:var(--ha-text-strong);
}

body.single-ha_boot .ha-details .ha-section-title{
  margin-bottom:12px;
  font-size:22px;
  padding-left:18px;
  min-height:34px;
  display:flex;
  align-items:center;
  color:var(--ha-text-strong);
}

body.single-ha_ferienhaus .ha-details .ha-section-title:before{
  top:50%;
  width:4px;
  height:30px;
  transform:translateY(-50%);
  background:linear-gradient(180deg, rgba(236,103,1,.92), rgba(236,103,1,.34));
  box-shadow:0 8px 16px rgba(236,103,1,.14);
}

body.single-ha_boot .ha-details .ha-section-title:before{
  top:50%;
  width:4px;
  height:30px;
  transform:translateY(-50%);
  background:linear-gradient(180deg, rgba(236,103,1,.92), rgba(236,103,1,.34));
  box-shadow:0 8px 16px rgba(236,103,1,.14);
}

body.single-ha_ferienhaus .ha-details .ha-section-title .ha-ui-label,
body.single-ha_boot .ha-details .ha-section-title .ha-ui-label{
  display:inline-flex;
  align-items:center;
  gap:14px;
}

body.single-ha_ferienhaus .ha-details .ha-section-title .ha-ui-icon,
body.single-ha_boot .ha-details .ha-section-title .ha-ui-icon{
  width:1.6em;
  height:1.6em;
}

body.single-ha_ferienhaus .ha-details .ha-section-title .ha-ui-icon{
  color:var(--ha-primary);
}

body.single-ha_boot .ha-details .ha-section-title .ha-ui-icon{
  color:var(--ha-primary);
}

body.single-ha_ferienhaus .ha-details .ha-section-title .ha-ui-label-text,
body.single-ha_boot .ha-details .ha-section-title .ha-ui-label-text{
  display:block;
  line-height:1.04;
}

body.single-ha_ferienhaus .ha-details-meta{
  margin-bottom:16px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(36,54,79,.08);
  color:var(--ha-text-soft);
  font-size:13px;
  line-height:1.5;
  letter-spacing:.01em;
  text-transform:none;
}

body.single-ha_boot .ha-details-meta{
  margin-bottom:16px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(36,54,79,.08);
  color:var(--ha-text-soft);
  font-size:13px;
  line-height:1.5;
  letter-spacing:.01em;
  text-transform:none;
}

body.single-ha_ferienhaus .ha-details-meta span{
  color:var(--ha-text-strong);
  font-weight:900;
}

body.single-ha_ferienhaus .ha-price-kpi{
  position:relative;
  overflow:hidden;
  padding:18px 20px;
  border-radius:18px;
  border-color:rgba(236,103,1,.18);
  background:linear-gradient(135deg, rgba(255,248,243,.96), rgba(255,255,255,.94) 38%, rgba(0,107,180,.07) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82), 0 14px 26px rgba(22,46,73,.07);
}

body.single-ha_ferienhaus .ha-price-kpi::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, rgba(236,103,1,.96), rgba(236,103,1,.36));
}

body.single-ha_boot .ha-price-kpi{
  position:relative;
  overflow:hidden;
  padding:18px 20px;
  border-radius:18px;
  border-color:rgba(236,103,1,.18);
  background:linear-gradient(135deg, rgba(255,248,243,.96), rgba(255,255,255,.94) 38%, rgba(0,107,180,.07) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82), 0 14px 26px rgba(22,46,73,.07);
}

body.single-ha_boot .ha-price-kpi::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, rgba(236,103,1,.96), rgba(236,103,1,.36));
}

body.single-ha_ferienhaus .ha-price-kpi .label{
  color:var(--ha-accent-strong);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-ha_boot .ha-price-kpi .label{
  color:var(--ha-accent-strong);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-ha_ferienhaus .ha-price-kpi .value,
body.single-ha_boot .ha-price-kpi .value{
  color:var(--ha-text-strong);
  font-size:40px;
  letter-spacing:-.03em;
}

body.single-ha_ferienhaus .ha-price-kpi .unit{
  color:var(--ha-accent-strong);
  font-size:17px;
}

body.single-ha_boot .ha-price-kpi .unit{
  color:var(--ha-accent-strong);
  font-size:17px;
}

body.single-ha_ferienhaus .ha-details-grid--ferienhaus{
  display:grid;
  grid-template-columns:repeat(15, minmax(0, 1fr));
  gap:7px;
  margin:8px 0 10px;
}

body.single-ha_boot .ha-details-grid--boot{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:7px;
  margin:8px 0 10px;
}

body.single-ha_ferienhaus .ha-detail-card{
  min-width:0;
  min-height:0;
  padding:9px 10px 8px;
  gap:3px;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-color:rgba(53,76,101,.10);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,252,.95));
  box-shadow:0 5px 10px rgba(20,41,65,.03);
}

body.single-ha_ferienhaus .ha-detail-card--compact{
  grid-column:span 3;
}

body.single-ha_ferienhaus .ha-detail-card--wide{
  grid-column:span 5;
  padding:10px 12px 9px;
}

body.single-ha_boot .ha-detail-card{
  min-width:0;
  min-height:0;
  padding:9px 10px 8px;
  gap:3px;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-color:rgba(53,76,101,.10);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,252,.95));
  box-shadow:0 5px 10px rgba(20,41,65,.03);
}

body.single-ha_boot .ha-detail-card--boot-half{
  grid-column:span 6;
}

body.single-ha_boot .ha-detail-card--boot-full{
  grid-column:1 / -1;
  padding:10px 12px 9px;
}

body.single-ha_ferienhaus .ha-detail-card .ha-detail-card-label{
  width:100%;
  color:var(--ha-text-faint);
  font-size:9px;
  line-height:1.18;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-wrap:balance;
  text-align:center;
}

body.single-ha_boot .ha-detail-card .ha-detail-card-label{
  width:100%;
  color:var(--ha-text-faint);
  font-size:9px;
  line-height:1.18;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-wrap:balance;
  text-align:center;
}

body.single-ha_ferienhaus .ha-detail-card .ha-detail-card-value{
  width:100%;
  font-size:18px;
  line-height:1.02;
  color:var(--ha-text-strong);
  font-variant-numeric:tabular-nums;
  text-align:center;
}

body.single-ha_ferienhaus .ha-detail-card--compact .ha-detail-card-value{
  font-size:17px;
}

body.single-ha_ferienhaus .ha-detail-card--wide .ha-detail-card-label{
  font-size:9px;
  line-height:1.2;
}

body.single-ha_ferienhaus .ha-detail-card--wide .ha-detail-card-value{
  font-size:18px;
}

body.single-ha_boot .ha-detail-card .ha-detail-card-value{
  width:100%;
  font-size:18px;
  line-height:1.02;
  color:var(--ha-text-strong);
  text-align:center;
  font-variant-numeric:tabular-nums;
}

body.single-ha_ferienhaus .ha-kv-row,
body.single-ha_boot .ha-kv-row{
  padding:16px 0;
  border-top:1px solid rgba(36,54,79,.08);
}

body.single-ha_ferienhaus .ha-kv-label,
body.single-ha_boot .ha-kv-label{
  color:var(--ha-text-soft);
}

body.single-ha_ferienhaus .ha-kv-label .ha-ui-icon,
body.single-ha_boot .ha-kv-label .ha-ui-icon{
  border-color:rgba(0,107,180,.10);
  background:rgba(0,107,180,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
}

body.single-ha_ferienhaus .ha-badges,
body.single-ha_boot .ha-badges{
  gap:10px;
}

body.single-ha_ferienhaus .ha-badge,
body.single-ha_boot .ha-badge{
  padding:8px 12px;
  border-color:rgba(53,76,101,.11);
  background:rgba(250,252,254,.96);
  color:var(--ha-text-soft);
  font-weight:800;
  box-shadow:0 6px 14px rgba(20,41,65,.03);
}

body.single-ha_ferienhaus .ha-badge:hover,
body.single-ha_boot .ha-badge:hover{
  background:rgba(243,248,251,.98);
  box-shadow:0 10px 18px rgba(20,41,65,.05);
}

body.single-ha_ferienhaus .ha-details-week-price,
body.single-ha_boot .ha-details-week-price{
  border-color:rgba(53,76,101,.12);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(243,248,251,.95));
  box-shadow:0 10px 22px rgba(20,41,65,.05);
}

body.single-ha_boot .ha-boot-price-breakdown{
  display:grid;
  gap:8px;
  margin-top:8px;
}

body.single-ha_boot .ha-boot-price-row{
  position:relative;
  overflow:hidden;
  margin:0;
}

body.single-ha_boot .ha-boot-price-row::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg, rgba(236,103,1,.92), rgba(236,103,1,.28));
}

body.single-ha_boot .ha-boot-price-row .ha-details-week-price-label{
  color:var(--ha-text-soft);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.single-ha_boot .ha-boot-price-row .ha-details-week-price-value{
  color:var(--ha-text-strong);
  font-size:20px;
}

body.single-ha_ferienhaus .ha-cta,
body.single-ha_boot .ha-cta{
  padding:16px;
  border-radius:18px;
  border-color:rgba(53,76,101,.13);
  background:linear-gradient(135deg, rgba(244,248,251,.96), rgba(235,244,249,.95));
}

body.single-ha_ferienhaus .ha-cta .ha-cta-title,
body.single-ha_boot .ha-cta .ha-cta-title{
  font-size:19px;
  letter-spacing:-.01em;
}

body.single-ha_ferienhaus .ha-cta p,
body.single-ha_boot .ha-cta p,
body.single-ha_boot .ha-detail-note{
  color:var(--ha-text-soft);
  line-height:1.65;
}

body.single-ha_ferienhaus .ha-card-btn,
body.single-ha_boot .ha-card-btn{
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, #0b78bf 0%, #0068ad 100%);
  box-shadow:0 12px 24px rgba(0,107,180,.16);
}

body.single-ha_ferienhaus .ha-cta-btn:not(.ha-cta-btn--anchor),
body.single-ha_boot .ha-cta-btn:not(.ha-cta-btn--anchor){
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, #0b78bf 0%, #0068ad 100%);
  box-shadow:0 12px 24px rgba(0,107,180,.16);
}

body.single-ha_ferienhaus .ha-card-btn:hover,
body.single-ha_boot .ha-card-btn:hover{
  box-shadow:0 18px 28px rgba(0,107,180,.22);
}

body.single-ha_ferienhaus .ha-cta-btn:not(.ha-cta-btn--anchor):hover,
body.single-ha_boot .ha-cta-btn:not(.ha-cta-btn--anchor):hover{
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg, #086eae 0%, #00578f 100%);
  box-shadow:0 16px 30px rgba(0,92,153,.24);
}

body.single-ha_ferienhaus .ha-inquiry-block{
  border-radius:18px;
  background:var(--ha-surface-tint-strong);
}

body.single-ha_ferienhaus .ha-inquiry-head{
  padding:18px 20px;
  background:linear-gradient(135deg, rgba(255,248,243,.90), rgba(255,255,255,.98));
  border-bottom-color:rgba(53,76,101,.08);
}

body.single-ha_ferienhaus .ha-inquiry-title{
  font-size:24px;
  letter-spacing:-.02em;
}

body.single-ha_ferienhaus .ha-inquiry-title .ha-ui-label{
  gap:12px;
}

body.single-ha_ferienhaus .ha-inquiry-title .ha-ui-icon{
  color:var(--ha-accent-strong);
}

body.single-ha_ferienhaus .ha-inquiry-copy{
  color:var(--ha-text-soft);
  line-height:1.72;
  max-width:74ch;
}

body.single-ha_ferienhaus .ha-form-field label{
  color:var(--ha-text-soft);
  font-size:13px;
  letter-spacing:.015em;
  font-weight:800;
}

body.single-ha_ferienhaus .ha-form-field input,
body.single-ha_ferienhaus .ha-form-field textarea{
  border-color:rgba(53,76,101,.14);
  border-radius:14px;
  background:rgba(252,253,255,.98);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
  transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body.single-ha_ferienhaus .ha-form-field input:focus,
body.single-ha_ferienhaus .ha-form-field textarea:focus{
  border-color:rgba(236,103,1,.42);
  box-shadow:0 0 0 4px rgba(236,103,1,.10);
  background:#fff;
}

body.single-ha_ferienhaus .ha-check-box input{
  accent-color:var(--ha-accent);
}

body.single-ha_ferienhaus .ha-form-field textarea{
  min-height:160px;
  resize:vertical;
}

body.single-ha_ferienhaus .ha-form-consent{
  border-color:rgba(53,76,101,.10);
  background:rgba(243,248,251,.82);
}

body.single-ha_ferienhaus .ha-form-submit{
  min-height:50px;
  padding:12px 22px;
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg, #f2841b 0%, #ec6701 100%);
  box-shadow:0 14px 30px rgba(236,103,1,.24);
}

body.single-ha_ferienhaus .ha-form-submit:hover{
  box-shadow:0 18px 34px rgba(236,103,1,.28);
}

body.single-ha_ferienhaus .ha-price-section{
  padding:20px;
  border-radius:18px;
  background:var(--ha-surface-tint-strong);
}

body.single-ha_ferienhaus .ha-price-section .ha-panel-title{
  margin-bottom:18px;
  font-size:27px;
}

body.single-ha_ferienhaus .ha-price-table-wrap,
body.single-ha_ferienhaus .ha-price-addon-block,
body.single-ha_ferienhaus .ha-price-related-boats,
body.single-ha_ferienhaus .ha-price-card{
  border-color:rgba(53,76,101,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(246,250,252,.96));
  box-shadow:var(--ha-shadow-soft);
}

body.single-ha_ferienhaus .ha-price-table thead th{
  background:linear-gradient(180deg, rgba(255,248,243,.94), rgba(239,246,249,.92));
  color:var(--ha-text-soft);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-ha_ferienhaus .ha-price-table tbody tr:nth-child(even){
  background:rgba(244,248,250,.68);
}

body.single-ha_ferienhaus .ha-price-table tbody td,
body.single-ha_ferienhaus .ha-price-table-period,
body.single-ha_ferienhaus .ha-price-mobile-value,
body.single-ha_ferienhaus .ha-price-addon-desc{
  color:var(--ha-text-strong);
}

body.single-ha_ferienhaus .ha-price-table tbody th,
body.single-ha_ferienhaus .ha-price-table tbody td{
  padding:18px 16px;
}

body.single-ha_ferienhaus .ha-price-table-period{
  font-size:15px;
  line-height:1.55;
  font-weight:900;
}

body.single-ha_ferienhaus .ha-price-table tbody td,
body.single-ha_ferienhaus .ha-price-mobile-value,
body.single-ha_ferienhaus .ha-price-addon-desc{
  font-variant-numeric:tabular-nums;
}

body.single-ha_ferienhaus .ha-price-mobile-label,
body.single-ha_ferienhaus .ha-price-addon-term{
  color:var(--ha-text-soft);
}

body.single-ha_ferienhaus .ha-price-table tbody td.is-empty,
body.single-ha_ferienhaus .ha-price-mobile-value.is-empty{
  color:var(--ha-text-faint);
  font-weight:800;
}

body.single-ha_ferienhaus .ha-price-range-sep{
  color:var(--ha-accent-strong);
}

body.single-ha_ferienhaus .ha-price-addon-entry{
  border-color:rgba(53,76,101,.09);
  background:rgba(255,255,255,.86);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

body.single-ha_ferienhaus .ha-price-related-boat{
  border-color:rgba(53,76,101,.09);
  background:rgba(255,255,255,.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

body.single-ha_ferienhaus .ha-price-related-boat-fact dt,
body.single-ha_ferienhaus .ha-price-related-boat-price-label{
  color:var(--ha-text-soft);
}

body.single-ha_ferienhaus .ha-price-related-boat-fact dd,
body.single-ha_ferienhaus .ha-price-related-boat-title,
body.single-ha_ferienhaus .ha-price-related-boat-price-value{
  color:var(--ha-text-strong);
}

body.single-ha_ferienhaus .ha-price-related-boat-title a:hover,
body.single-ha_ferienhaus .ha-price-related-boat-link{
  color:var(--ha-accent-strong);
}

body.single-ha_ferienhaus .ha-price-related-boat-features li,
body.single-ha_ferienhaus .ha-price-related-boat-price{
  border-color:rgba(53,76,101,.09);
  background:rgba(255,255,255,.92);
}

body.single-ha_ferienhaus .ha-price-addon-title{
  position:relative;
  padding-left:14px;
}

body.single-ha_ferienhaus .ha-price-addon-title::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:3px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(236,103,1,.92), rgba(236,103,1,.30));
}

body.single-ha_ferienhaus .ha-price-note,
body.single-ha_ferienhaus .ha-price-empty{
  color:var(--ha-text-soft);
  line-height:1.7;
}

body.single-ha_ferienhaus .ha-location-compact-block,
body.single-ha_ferienhaus .ha-angler-gallery-block,
body.single-ha_boot .ha-gal-front{
  padding:20px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,251,.96));
}

body.single-ha_ferienhaus .ha-location-nav-card{
  border-color:rgba(53,76,101,.10);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(245,249,251,.95));
  box-shadow:0 10px 22px rgba(20,41,65,.04);
}

body.single-ha_ferienhaus .ha-location-nav-card.is-active{
  border-color:rgba(0,107,180,.18);
  background:linear-gradient(180deg, rgba(240,247,251,.98), rgba(255,255,255,.98));
  box-shadow:0 14px 28px rgba(15,23,42,.08);
}

body.single-ha_ferienhaus .ha-location-panel{
  border-color:rgba(53,76,101,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,251,.96));
  box-shadow:var(--ha-shadow-soft);
}

body.single-ha_ferienhaus .ha-map-embed,
body.single-ha_ferienhaus .ha-widget-embed{
  border:1px solid rgba(53,76,101,.08);
  background:#f9fcfd;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

body.single-ha_ferienhaus .ha-widget-embed--windy{
  overflow:hidden;
  border-radius:18px;
  background:#eef5f8;
}

body.single-ha_ferienhaus .ha-widget-embed--windy iframe{
  display:block;
  width:100%;
  min-height:clamp(420px, 72vh, var(--ha-windy-height, 620px));
  height:clamp(420px, 72vh, var(--ha-windy-height, 620px));
  border:0;
  background:#eef5f8;
}

body.single-ha_ferienhaus .ha-widget-placeholder{
  display:grid;
  place-items:center;
  min-height:220px;
  padding:22px;
  border:1px dashed rgba(53,76,101,.18);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,249,251,.92));
  text-align:center;
}

body.single-ha_ferienhaus .ha-widget-placeholder p{
  max-width:48ch;
  margin:0;
  color:var(--ha-text-soft);
  line-height:1.7;
}

body.single-ha_ferienhaus .ha-angler-gallery-item{
  border-color:rgba(53,76,101,.09);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,249,251,.95));
  box-shadow:var(--ha-shadow-soft);
}

body.single-ha_boot .ha-gal-front-item{
  border-color:rgba(53,76,101,.09);
  border-radius:16px;
}

body.single-ha_ferienhaus .ha-panel-title,
body.single-ha_boot .ha-panel-title{
  margin-bottom:14px;
  font-size:26px;
  letter-spacing:-.02em;
}

@media(max-width:900px){
  body.single-ha_ferienhaus #main,
  body.single-ha_boot #main{
    padding:0 0 28px;
  }

  body.single-ha_ferienhaus .ha-two-col,
  body.single-ha_boot .ha-two-col{
    gap:16px;
  }

  body.single-ha_ferienhaus .ha-full-width-stack{
    gap:18px;
    margin-top:18px;
  }

  body.single-ha_ferienhaus .ha-single-head,
  body.single-ha_boot .ha-single-head{
    margin:8px 0 16px;
  }

  body.single-ha_ferienhaus .ha-single-title,
  body.single-ha_boot .ha-single-title{
    font-size:clamp(28px, 8vw, 34px);
    max-width:none;
  }

  body.single-ha_ferienhaus .ha-product-gallery,
  body.single-ha_boot .ha-product-gallery,
  body.single-ha_ferienhaus .ha-ferienhaus-intro-box,
  body.single-ha_ferienhaus .ha-details,
  body.single-ha_ferienhaus .ha-price-section,
  body.single-ha_ferienhaus .ha-inquiry-block,
  body.single-ha_ferienhaus .ha-location-compact-block,
  body.single-ha_ferienhaus .ha-angler-gallery-block,
  body.single-ha_boot .ha-details,
  body.single-ha_boot .ha-content-tabs,
  body.single-ha_boot .ha-cta,
  body.single-ha_boot .ha-gal-front{
    border-radius:16px;
  }

  body.single-ha_ferienhaus .ha-price-kpi,
  body.single-ha_boot .ha-price-kpi{
    padding:16px 18px;
  }

  body.single-ha_ferienhaus .ha-details-grid--ferienhaus{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
    margin:8px 0 10px;
  }

  body.single-ha_ferienhaus .ha-detail-card{
    padding:9px 11px;
    gap:3px;
  }

  body.single-ha_ferienhaus .ha-detail-card--compact,
  body.single-ha_ferienhaus .ha-detail-card--wide{
    grid-column:span 1;
  }

  body.single-ha_ferienhaus .ha-detail-card .ha-detail-card-label{
    font-size:9px;
    line-height:1.16;
  }

  body.single-ha_ferienhaus .ha-detail-card .ha-detail-card-value{
    font-size:17px;
    line-height:1.02;
  }

  body.single-ha_ferienhaus .ha-price-kpi .value,
  body.single-ha_boot .ha-price-kpi .value{
    font-size:34px;
  }

  body.single-ha_ferienhaus .ha-details .ha-section-title,
  body.single-ha_boot .ha-details .ha-section-title{
    padding-left:15px;
    min-height:30px;
  }

  body.single-ha_ferienhaus .ha-details .ha-section-title:before{
    height:26px;
  }

  body.single-ha_boot .ha-details .ha-section-title:before{
    height:24px;
  }

  body.single-ha_ferienhaus .ha-details .ha-section-title .ha-ui-label,
  body.single-ha_boot .ha-details .ha-section-title .ha-ui-label{
    gap:12px;
  }

  body.single-ha_ferienhaus .ha-details .ha-section-title .ha-ui-icon,
  body.single-ha_boot .ha-details .ha-section-title .ha-ui-icon{
    width:1.46em;
    height:1.46em;
  }

  body.single-ha_ferienhaus .ha-panel-title,
  body.single-ha_boot .ha-panel-title{
    font-size:22px;
  }

  body.single-ha_ferienhaus .ha-ferienhaus-intro-box{
    padding:18px;
  }

  body.single-ha_ferienhaus .ha-ferienhaus-intro-usps{
    grid-template-columns:1fr;
  }

  body.single-ha_ferienhaus .ha-inquiry-head{
    padding:16px 18px;
  }
}

/* =========================
   Premium Refinement – Ferienhaus
   ========================= */
body.single-ha_ferienhaus .ha-single-head{
  position:relative;
  padding:6px 0 2px;
}

body.single-ha_ferienhaus .ha-single-subtitle{
  max-width:72ch;
  margin:14px 0 0;
  color:var(--ha-text-soft);
  font-size:16px;
  line-height:1.75;
}

body.single-ha_ferienhaus .ha-main-column--ferienhaus{
  gap:20px;
}

body.single-ha_boot .ha-main-column--boot{
  gap:20px;
}

body.single-ha_ferienhaus .ha-main-section--content{
  display:grid;
  gap:18px;
}

body.single-ha_boot .ha-main-section--content{
  display:grid;
  gap:18px;
}

body.single-ha_ferienhaus .ha-product-gallery{
  position:relative;
  overflow:hidden;
}

body.single-ha_ferienhaus .ha-product-gallery::before{
  content:"";
  position:absolute;
  inset:-80px auto auto -70px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,107,180,.10), transparent 70%);
  pointer-events:none;
}

body.single-ha_ferienhaus .ha-content-tabs{
  position:relative;
  overflow:hidden;
}

body.single-ha_ferienhaus .ha-content-tabs::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, rgba(0,107,180,.10), rgba(36,54,79,0));
  pointer-events:none;
}

body.single-ha_ferienhaus .ha-tab-nav{
  gap:12px;
  padding:16px 16px 0;
}

body.single-ha_ferienhaus .ha-tab-button{
  position:relative;
  overflow:hidden;
  border-color:rgba(53,76,101,.11);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,252,.96));
  box-shadow:0 10px 22px rgba(20,41,65,.04);
  transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body.single-ha_ferienhaus .ha-tab-button::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg, rgba(236,103,1,.96), rgba(236,103,1,.22));
  opacity:0;
  transform:scaleX(.52);
  transform-origin:center;
  transition:opacity .16s ease, transform .16s ease;
}

body.single-ha_ferienhaus .ha-tab-button .ha-ui-label{
  gap:11px;
}

body.single-ha_ferienhaus .ha-tab-button .ha-ui-icon{
  width:62px;
  height:62px;
}

body.single-ha_ferienhaus .ha-tab-button .ha-ui-label-text{
  font-size:15px;
  line-height:1.18;
  letter-spacing:.01em;
}

body.single-ha_ferienhaus .ha-tab-button:hover{
  transform:translateY(-1px);
  border-color:rgba(236,103,1,.28);
  box-shadow:0 14px 26px rgba(20,41,65,.07);
}

body.single-ha_ferienhaus .ha-tab-button:hover::after{
  opacity:1;
  transform:scaleX(1);
}

body.single-ha_ferienhaus .ha-tab-button:focus-visible{
  outline:0;
  border-color:rgba(236,103,1,.34);
  box-shadow:0 0 0 4px rgba(236,103,1,.10);
}

body.single-ha_ferienhaus .ha-tab-button.is-active{
  border-color:var(--ha-primary);
  background:linear-gradient(180deg, #0b78bf 0%, #006bb5 100%);
  box-shadow:0 14px 28px rgba(0,107,180,.18);
}

body.single-ha_ferienhaus .ha-tab-button.is-active::after{
  opacity:1;
  transform:scaleX(1);
  background:linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.42));
}

body.single-ha_ferienhaus .ha-conversion-zone{
  position:relative;
  padding:24px;
  border:1px solid rgba(53,76,101,.10);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(252,253,255,.98), rgba(243,248,251,.96));
  box-shadow:0 20px 38px rgba(20,41,65,.06);
  overflow:hidden;
}

body.single-ha_ferienhaus .ha-conversion-zone::before{
  content:"";
  position:absolute;
  top:-140px;
  right:-90px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(236,103,1,.11), transparent 70%);
  pointer-events:none;
}

body.single-ha_ferienhaus .ha-conversion-zone::after{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  width:88px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(236,103,1,.96), rgba(236,103,1,.20));
  pointer-events:none;
}

body.single-ha_ferienhaus .ha-conversion-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:18px;
  align-items:stretch;
}

body.single-ha_ferienhaus .ha-conversion-intro{
  display:grid;
  gap:8px;
  max-width:64ch;
  padding:2px 4px 0;
}

body.single-ha_ferienhaus .ha-conversion-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  margin-bottom:8px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(236,103,1,.18);
  background:rgba(236,103,1,.08);
  color:var(--ha-accent-strong);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

body.single-ha_ferienhaus .ha-conversion-title{
  margin:0;
  color:var(--ha-text-strong);
  font-size:25px;
  line-height:1.16;
  font-weight:900;
  letter-spacing:-.028em;
  max-width:none;
}

body.single-ha_ferienhaus .ha-conversion-intro p{
  margin:0;
  max-width:56ch;
  color:var(--ha-text-soft);
  font-size:15px;
  line-height:1.7;
}

body.single-ha_ferienhaus .ha-conversion-stack{
  display:grid;
  gap:18px;
  grid-template-columns:minmax(0, 1fr);
}

body.single-ha_ferienhaus .ha-conversion-block{
  min-width:0;
}

body.single-ha_ferienhaus .ha-conversion-block--prices .ha-price-section{
  margin:0;
  border-color:rgba(53,76,101,.09);
  background:rgba(255,255,255,.84);
  box-shadow:0 14px 28px rgba(20,41,65,.05);
}

body.single-ha_ferienhaus .ha-conversion-block--inquiry .ha-inquiry-block{
  margin:0;
  border-color:rgba(236,103,1,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,250,252,.96));
  box-shadow:0 18px 30px rgba(20,41,65,.07);
}

body.single-ha_ferienhaus .ha-conversion-block--inquiry .ha-inquiry-head{
  background:linear-gradient(135deg, rgba(255,248,243,.92), rgba(255,255,255,.99));
}

body.single-ha_ferienhaus .ha-conversion-block--inquiry .ha-form-submit{
  box-shadow:0 14px 26px rgba(236,103,1,.22);
}

body.single-ha_ferienhaus .ha-info-zone{
  display:grid;
  gap:22px;
}

body.single-ha_ferienhaus .ha-location-compact-block{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

body.single-ha_ferienhaus .ha-location-compact-block .ha-section-title{
  margin:0 0 14px;
  padding-left:14px;
  font-size:28px;
  color:var(--ha-text-strong);
}

body.single-ha_ferienhaus .ha-location-compact-block .ha-section-title:before{
  display:block;
  top:4px;
  width:3px;
  height:24px;
  background:linear-gradient(180deg, rgba(236,103,1,.92), rgba(236,103,1,.30));
}

body.single-ha_ferienhaus .ha-location-nav{
  gap:14px;
}

body.single-ha_ferienhaus .ha-location-nav-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  justify-content:stretch;
  gap:12px;
}

body.single-ha_ferienhaus .ha-location-nav-grid--count-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

body.single-ha_ferienhaus .ha-location-nav-card{
  position:relative;
  overflow:hidden;
  min-height:118px;
  padding:16px 18px 14px;
  gap:0;
  border-color:rgba(53,76,101,.11);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,252,.96));
  box-shadow:0 10px 22px rgba(20,41,65,.04);
  transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body.single-ha_ferienhaus .ha-location-nav-card::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg, rgba(236,103,1,.96), rgba(236,103,1,.22));
  opacity:0;
  transform:scaleX(.52);
  transform-origin:center;
  transition:opacity .16s ease, transform .16s ease;
}

body.single-ha_ferienhaus .ha-location-nav-content{
  gap:10px;
  max-width:100%;
}

body.single-ha_ferienhaus .ha-location-nav-card:hover{
  transform:translateY(-1px);
  border-color:rgba(236,103,1,.28);
  box-shadow:0 14px 26px rgba(20,41,65,.07);
}

body.single-ha_ferienhaus .ha-location-nav-card:hover::after{
  opacity:1;
  transform:scaleX(1);
}

body.single-ha_ferienhaus .ha-location-nav-card:focus-visible{
  outline:0;
  border-color:rgba(236,103,1,.34);
  box-shadow:0 0 0 4px rgba(236,103,1,.10);
}

body.single-ha_ferienhaus .ha-location-nav-card.is-active{
  border-color:var(--ha-primary);
  background:linear-gradient(180deg, #0b78bf 0%, #006bb5 100%);
  box-shadow:0 14px 28px rgba(0,107,180,.18);
}

body.single-ha_ferienhaus .ha-location-nav-card.is-active::after{
  opacity:1;
  transform:scaleX(1);
  background:linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.42));
}

body.single-ha_ferienhaus .ha-location-nav-icon{
  width:58px;
  height:58px;
  border-radius:0;
}

body.single-ha_ferienhaus .ha-location-panels{
  display:grid;
  gap:14px;
  max-width:100%;
}

body.single-ha_ferienhaus .ha-location-panel{
  padding:20px;
  border-radius:20px;
  border-color:rgba(53,76,101,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,252,.95));
  opacity:0;
  transform:translateY(8px);
  transform-origin:top center;
  transition:opacity .22s ease, transform .22s ease, box-shadow .22s ease;
  will-change:opacity, transform;
}

body.single-ha_ferienhaus .ha-location-panel.is-active{
  opacity:1;
  transform:none;
  box-shadow:0 14px 28px rgba(20,41,65,.06);
}

body.single-ha_ferienhaus .ha-location-panel .ha-location-title{
  font-size:18px;
  color:var(--ha-text-strong);
  letter-spacing:-.01em;
}

body.single-ha_ferienhaus .ha-tides-card{
  display:grid;
  gap:20px;
}

body.single-ha_ferienhaus .ha-tides-chart-mobile{
  display:none;
}

body.single-ha_ferienhaus .ha-tides-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

body.single-ha_ferienhaus .ha-tides-head-main{
  display:grid;
  gap:8px;
  min-width:0;
}

body.single-ha_ferienhaus .ha-tides-copy,
body.single-ha_ferienhaus .ha-tides-subcopy,
body.single-ha_ferienhaus .ha-tides-note,
body.single-ha_ferienhaus .ha-tides-source{
  margin:0;
  color:var(--ha-text-soft);
  line-height:1.7;
}

body.single-ha_ferienhaus .ha-tides-copy{
  max-width:62ch;
  font-size:15px;
  line-height:1.72;
}

body.single-ha_ferienhaus .ha-tides-subcopy{
  font-size:13px;
  color:var(--ha-text-faint);
}

body.single-ha_ferienhaus .ha-tides-feedback{
  display:grid;
  gap:12px;
}

body.single-ha_ferienhaus .ha-tides-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

body.single-ha_ferienhaus .ha-tides-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(53,76,101,.10);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:var(--ha-text-soft);
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
}

body.single-ha_ferienhaus .ha-tides-live-card{
  display:grid;
  gap:4px;
  padding:16px 18px;
  border:1px solid rgba(236,103,1,.16);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,248,243,.94), rgba(255,255,255,.98));
  box-shadow:0 10px 20px rgba(20,41,65,.05);
}

body.single-ha_ferienhaus .ha-tides-summary-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:14px;
  align-items:stretch;
}

body.single-ha_ferienhaus .ha-tides-live-label{
  color:var(--ha-accent-strong);
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.single-ha_ferienhaus .ha-tides-live-value{
  color:var(--ha-text-strong);
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}

body.single-ha_ferienhaus .ha-tides-live-time{
  color:var(--ha-text-soft);
  font-size:13px;
}

body.single-ha_ferienhaus .ha-tides-info-card{
  display:grid;
  align-content:center;
  gap:8px;
  padding:16px 18px;
  border:1px solid rgba(53,76,101,.09);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,251,.94));
  box-shadow:0 10px 20px rgba(20,41,65,.04);
}

body.single-ha_ferienhaus .ha-tides-info-label{
  color:var(--ha-text-faint);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-ha_ferienhaus .ha-tides-info-value{
  color:var(--ha-text-strong);
  font-size:20px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.02em;
}

body.single-ha_ferienhaus .ha-tides-info-copy{
  color:var(--ha-text-soft);
  font-size:13px;
  line-height:1.6;
}

body.single-ha_ferienhaus .ha-tides-stage{
  padding:18px;
  border:1px solid rgba(53,76,101,.09);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(245,249,251,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78), 0 14px 28px rgba(20,41,65,.05);
}

body.single-ha_ferienhaus .ha-tides-chart{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-chart-surface{
  fill:rgba(248,251,253,.98);
  stroke:rgba(53,76,101,.08);
  stroke-width:1.2;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-band--night{
  fill:rgba(36,54,79,.035);
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-band--day{
  fill:rgba(0,107,181,.032);
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-guide{
  stroke:rgba(53,76,101,.08);
  stroke-width:1;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-fill{
  fill:none;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-line{
  fill:none;
  stroke:#006bb5;
  stroke-width:4.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 8px 18px rgba(0,107,181,.12));
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-marker-line{
  stroke:rgba(53,76,101,.10);
  stroke-width:1;
  stroke-dasharray:4 6;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-marker{
  stroke:#fff;
  stroke-width:3;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-marker--high{
  fill:#ec6701;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-marker--low{
  fill:#006bb5;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-marker-label{
  fill:var(--ha-text-soft);
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-now-line{
  stroke:rgba(236,103,1,.92);
  stroke-width:2;
  stroke-dasharray:4 4;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-now-label{
  fill:var(--ha-accent-strong);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  paint-order:stroke fill;
  stroke:rgba(255,255,255,.96);
  stroke-width:5px;
  stroke-linejoin:round;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-axis-tick{
  stroke:rgba(53,76,101,.22);
  stroke-width:1.5;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-axis-label{
  fill:var(--ha-text-faint);
  font-size:10px;
  font-weight:700;
}

body.single-ha_ferienhaus .ha-tides-chart .ha-tides-y-label{
  fill:var(--ha-text-faint);
  font-size:10px;
  font-weight:800;
}

body.single-ha_ferienhaus .ha-tides-mobile-stack{
  display:grid;
  gap:14px;
}

body.single-ha_ferienhaus .ha-tides-mobile-day{
  display:grid;
  gap:10px;
}

body.single-ha_ferienhaus .ha-tides-mobile-day-title{
  color:var(--ha-text-strong);
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.01em;
}

body.single-ha_ferienhaus .ha-tides-stage--compact{
  padding:12px 10px 10px;
  border-radius:20px;
}

body.single-ha_ferienhaus .ha-tides-chart--compact .ha-tides-line{
  stroke-width:5;
}

body.single-ha_ferienhaus .ha-tides-chart--compact .ha-tides-marker{
  stroke-width:2.5;
}

body.single-ha_ferienhaus .ha-tides-chart--compact .ha-tides-marker-label{
  font-size:12px;
  font-weight:900;
}

body.single-ha_ferienhaus .ha-tides-chart--compact .ha-tides-axis-label{
  font-size:11px;
  font-weight:800;
}

body.single-ha_ferienhaus .ha-tides-chart--compact .ha-tides-y-label{
  font-size:10px;
  font-weight:800;
}

body.single-ha_ferienhaus .ha-tides-stage--placeholder{
  display:grid;
  place-items:center;
  min-height:280px;
  text-align:center;
}

body.single-ha_ferienhaus .ha-tides-placeholder-visual{
  position:relative;
  width:min(100%, 420px);
  height:92px;
  margin-bottom:14px;
}

body.single-ha_ferienhaus .ha-tides-placeholder-line{
  position:absolute;
  inset:auto 0 0 0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(0,107,181,.18), rgba(0,107,181,.78), rgba(236,103,1,.28));
}

body.single-ha_ferienhaus .ha-tides-placeholder-line--one{
  top:18px;
  transform:translateY(-4px) rotate(-2.2deg);
}

body.single-ha_ferienhaus .ha-tides-placeholder-line--two{
  top:42px;
  transform:translateY(0) rotate(1.4deg);
}

body.single-ha_ferienhaus .ha-tides-placeholder-line--three{
  top:66px;
  transform:translateY(3px) rotate(-1deg);
}

body.single-ha_ferienhaus .ha-tides-empty{
  max-width:58ch;
  margin:0;
  color:var(--ha-text-soft);
  line-height:1.7;
}

body.single-ha_ferienhaus .ha-tides-events{
  display:grid;
  gap:12px;
}

body.single-ha_ferienhaus .ha-tides-events-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

body.single-ha_ferienhaus .ha-tides-events-title{
  margin:0;
  color:var(--ha-text-strong);
  font-size:18px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.01em;
}

body.single-ha_ferienhaus .ha-tides-extreme-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

body.single-ha_ferienhaus .ha-tides-extreme-card{
  display:grid;
  gap:6px;
  align-content:start;
  padding:14px 15px;
  border:1px solid rgba(53,76,101,.09);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,251,.94));
  box-shadow:0 10px 20px rgba(20,41,65,.04);
}

body.single-ha_ferienhaus .ha-tides-extreme-card--high{
  border-color:rgba(236,103,1,.16);
}

body.single-ha_ferienhaus .ha-tides-extreme-card--low{
  border-color:rgba(0,107,181,.14);
}

body.single-ha_ferienhaus .ha-tides-extreme-label{
  color:var(--ha-text-faint);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-ha_ferienhaus .ha-tides-extreme-time{
  color:var(--ha-text-strong);
  font-size:23px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.02em;
}

body.single-ha_ferienhaus .ha-tides-extreme-date{
  color:var(--ha-text-soft);
  font-size:13px;
  line-height:1.45;
}

body.single-ha_ferienhaus .ha-tides-extreme-meta{
  color:var(--ha-text-strong);
  font-size:14px;
  line-height:1.45;
  font-weight:800;
}

body.single-ha_ferienhaus .ha-tides-debug-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

body.single-ha_ferienhaus .ha-tides-debug-card{
  display:grid;
  gap:10px;
  padding:14px 15px;
  border:1px solid rgba(236,103,1,.16);
  border-radius:16px;
  background:rgba(255,249,245,.94);
}

body.single-ha_ferienhaus .ha-tides-debug-title{
  color:var(--ha-text-strong);
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
}

body.single-ha_ferienhaus .ha-tides-debug-list{
  display:grid;
  gap:9px;
  margin:0;
}

body.single-ha_ferienhaus .ha-tides-debug-row{
  display:grid;
  gap:4px;
}

body.single-ha_ferienhaus .ha-tides-debug-row dt{
  margin:0;
  color:var(--ha-text-faint);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-ha_ferienhaus .ha-tides-debug-row dd{
  margin:0;
  color:var(--ha-text-soft);
  font-size:13px;
  line-height:1.55;
  overflow-wrap:anywhere;
}

body.single-ha_ferienhaus .ha-tides-debug-row dd a{
  color:var(--ha-primary);
  text-decoration:none;
}

body.single-ha_ferienhaus .ha-tides-debug-row dd a:hover{
  color:var(--ha-accent-strong);
}

body.single-ha_ferienhaus .ha-tides-source a{
  color:var(--ha-primary);
  font-weight:800;
  text-decoration:none;
}

body.single-ha_ferienhaus .ha-tides-source a:hover{
  color:var(--ha-accent-strong);
}

body.single-ha_ferienhaus .ha-angler-gallery-block{
  position:relative;
  overflow:hidden;
}

body.single-ha_ferienhaus .ha-angler-gallery-block::before{
  content:"";
  position:absolute;
  right:-60px;
  bottom:-80px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(236,103,1,.09), transparent 72%);
  pointer-events:none;
}

body.single-ha_ferienhaus .ha-angler-gallery-copy{
  position:relative;
  z-index:1;
  margin:0 0 18px;
  max-width:68ch;
  color:var(--ha-text-soft);
  font-size:15px;
  line-height:1.8;
  text-wrap:pretty;
}

body.single-ha_ferienhaus .ha-angler-gallery-grid{
  position:relative;
  z-index:1;
  display:block;
  column-count:3;
  column-gap:14px;
}

body.single-ha_ferienhaus .ha-angler-gallery-item{
  display:block;
  width:100%;
  margin:0 0 14px;
  aspect-ratio:auto;
  transform:none;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
  transition:border-color .14s ease, box-shadow .14s ease;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

body.single-ha_ferienhaus .ha-angler-gallery-item:hover{
  transform:none;
  border-color:rgba(236,103,1,.20);
  box-shadow:0 14px 26px rgba(15,23,42,.08);
}

body.single-ha_ferienhaus .ha-angler-gallery-item img{
  width:100%;
  height:auto;
  object-fit:contain;
}

body.single-ha_ferienhaus .ha-cta--return{
  position:relative;
  margin-top:0;
  padding:18px 20px;
  border-color:rgba(53,76,101,.10);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,252,.96));
  box-shadow:0 14px 28px rgba(20,41,65,.05);
  text-align:center;
  overflow:hidden;
}

body.single-ha_ferienhaus .ha-cta--return::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:92px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(236,103,1,.96), rgba(236,103,1,.18));
  transform:translateX(-50%);
}

body.single-ha_ferienhaus .ha-cta--return .ha-cta-title{
  margin:0 0 8px;
  font-size:24px;
  line-height:1.12;
  color:var(--ha-text-strong);
}

body.single-ha_ferienhaus .ha-cta--return p{
  max-width:56ch;
  margin:0 auto 14px;
  color:var(--ha-text-soft);
  line-height:1.68;
}

body.single-ha_ferienhaus .ha-cta--return .ha-cta-btns{
  max-width:300px;
  margin:0 auto;
}

body.single-ha_ferienhaus .ha-cta--return .ha-cta-btn{
  min-height:48px;
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg, #f2841b 0%, #ec6701 100%);
  box-shadow:0 14px 28px rgba(236,103,1,.22);
}

body.single-ha_ferienhaus .ha-cta--return .ha-cta-btn:hover{
  box-shadow:0 18px 32px rgba(236,103,1,.28);
}

@media(max-width:1100px){
  body.single-ha_ferienhaus .ha-conversion-title{
    font-size:28px;
  }

  body.single-ha_ferienhaus .ha-conversion-intro p{
    max-width:64ch;
  }

  body.single-ha_ferienhaus .ha-angler-gallery-grid{
    column-count:2;
  }

  body.single-ha_ferienhaus .ha-tides-extreme-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:900px){
  body.single-ha_ferienhaus .ha-conversion-intro{
    padding:0;
  }

  body.single-ha_ferienhaus .ha-single-subtitle{
    margin-top:12px;
    font-size:15px;
    line-height:1.68;
  }

  body.single-ha_ferienhaus .ha-conversion-zone{
    padding:18px;
    border-radius:18px;
  }

  body.single-ha_ferienhaus .ha-conversion-title{
    font-size:24px;
  }

  body.single-ha_ferienhaus .ha-tab-nav{
    gap:10px;
  }

  body.single-ha_ferienhaus .ha-tab-button{
    min-height:104px;
    padding:14px 12px;
  }

  body.single-ha_ferienhaus .ha-tab-button .ha-ui-icon{
    width:52px;
    height:52px;
  }

  body.single-ha_ferienhaus .ha-info-zone{
    gap:18px;
  }

  body.single-ha_ferienhaus .ha-cta--return{
    padding:17px 18px;
  }

  body.single-ha_ferienhaus .ha-cta--return .ha-cta-title{
    font-size:22px;
  }

  body.single-ha_ferienhaus .ha-location-nav-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.single-ha_ferienhaus .ha-widget-embed--windy iframe{
    min-height:clamp(400px, 68vh, var(--ha-windy-height, 620px));
    height:clamp(400px, 68vh, var(--ha-windy-height, 620px));
  }

  body.single-ha_ferienhaus .ha-tides-head{
    flex-direction:column;
  }

  body.single-ha_ferienhaus .ha-tides-meta{
    justify-content:flex-start;
  }

  body.single-ha_ferienhaus .ha-tides-summary-grid{
    grid-template-columns:1fr;
  }

  body.single-ha_ferienhaus .ha-tides-live-value{
    font-size:26px;
  }

  body.single-ha_ferienhaus .ha-tides-debug-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  body.single-ha_ferienhaus .ha-details-grid--ferienhaus{
    grid-template-columns:1fr;
  }

  body.single-ha_ferienhaus .ha-detail-card--compact,
  body.single-ha_ferienhaus .ha-detail-card--wide{
    grid-column:1 / -1;
  }

  body.single-ha_ferienhaus .ha-location-nav-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  body.single-ha_ferienhaus .ha-tides-chart .ha-tides-axis-label,
  body.single-ha_ferienhaus .ha-tides-chart .ha-tides-y-label,
  body.single-ha_ferienhaus .ha-tides-chart .ha-tides-marker-label{
    font-size:9px;
  }

  body.single-ha_ferienhaus .ha-location-nav-card{
    min-height:102px;
    padding:14px 12px;
  }

  body.single-ha_ferienhaus .ha-location-nav-content{
    gap:8px;
    max-width:100%;
  }

  body.single-ha_ferienhaus .ha-location-nav-icon{
    width:50px;
    height:50px;
  }

  body.single-ha_ferienhaus .ha-location-panel{
    padding:16px;
  }

  body.single-ha_ferienhaus .ha-widget-embed--windy{
    border-radius:16px;
  }

  body.single-ha_ferienhaus .ha-widget-embed--windy iframe{
    min-height:clamp(360px, 72vh, var(--ha-windy-height, 620px));
    height:clamp(360px, 72vh, var(--ha-windy-height, 620px));
  }

  body.single-ha_ferienhaus .ha-widget-placeholder{
    min-height:180px;
    padding:18px;
    border-radius:16px;
  }

  body.single-ha_ferienhaus .ha-tides-card--has-mobile-charts .ha-tides-chart-desktop{
    display:none;
  }

  body.single-ha_ferienhaus .ha-tides-card--has-mobile-charts .ha-tides-chart-mobile{
    display:block;
  }

  body.single-ha_ferienhaus .ha-tides-stage{
    padding:10px;
    border-radius:16px;
  }

  body.single-ha_ferienhaus .ha-tides-stage--compact{
    padding:12px 10px 10px;
    border-radius:18px;
  }

  body.single-ha_ferienhaus .ha-tides-stage--placeholder{
    min-height:220px;
  }

  body.single-ha_ferienhaus .ha-tides-extreme-grid{
    grid-template-columns:1fr;
  }

  body.single-ha_ferienhaus .ha-tides-chart .ha-tides-axis-label,
  body.single-ha_ferienhaus .ha-tides-chart .ha-tides-marker-label{
    font-size:10px;
  }

  body.single-ha_ferienhaus .ha-tides-chart--compact .ha-tides-axis-label{
    font-size:11px;
  }

  body.single-ha_ferienhaus .ha-tides-chart--compact .ha-tides-marker-label{
    font-size:11px;
  }

  body.single-ha_ferienhaus .ha-angler-gallery-grid{
    column-count:1;
  }

  body.single-ha_ferienhaus .ha-cta--return{
    padding:16px;
  }

  body.single-ha_ferienhaus .ha-cta--return .ha-cta-title{
    font-size:21px;
  }
}

/* =========================
   Premium Card System – Listings & Related
   ========================= */
.ha-grid-list,
.ha-boat-card-grid,
.ha-related-card-grid{
  align-items:stretch;
  gap:20px;
}

.ha-card--premium{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(53,76,101,.12);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(246,250,252,.97));
  box-shadow:0 18px 34px rgba(20,41,65,.07);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ha-card--premium:hover{
  transform:translateY(-4px);
  border-color:rgba(0,107,181,.18);
  box-shadow:0 24px 42px rgba(20,41,65,.11);
}

.ha-grid-list--fische{
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:22px;
}

.ha-overview-country-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
}

.ha-overview-country-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border:1px solid rgba(53,76,101,.12);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--ha-text-strong);
  font-size:14px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  box-shadow:0 6px 14px rgba(20,41,65,.05);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
  white-space:nowrap;
}

.ha-overview-country-tab:hover{
  transform:translateY(-1px);
  border-color:rgba(0,107,181,.18);
  box-shadow:0 10px 20px rgba(20,41,65,.08);
  color:var(--ha-text-strong);
}

.ha-overview-country-tab.is-active{
  border-color:rgba(0,107,181,.24);
  background:linear-gradient(180deg, rgba(0,107,181,.96), rgba(0,86,156,.94));
  color:#fff;
  box-shadow:0 12px 22px rgba(0,107,181,.20);
}

.ha-fisch-toolbar{
  margin:0 0 22px;
  justify-content:flex-end;
  background:none;
  border:0;
  box-shadow:none;
  text-align:right;
}

.ha-fisch-toolbar-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:0 14px;
  border:1px solid rgba(53,76,101,.12);
  border-radius:10px;
  background:#fff;
  color:var(--ha-text-strong);
  font:inherit;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(20,41,65,.05);
  transition:border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
  list-style:none;
  user-select:none;
}

.ha-fisch-toolbar-toggle::-webkit-details-marker{
  display:none;
}

.ha-fisch-toolbar-toggle:hover{
  border-color:rgba(0,107,181,.18);
  box-shadow:0 10px 20px rgba(20,41,65,.08);
}

.ha-fisch-toolbar-toggle.is-active,
.ha-fisch-toolbar[open] .ha-fisch-toolbar-toggle{
  border-color:rgba(0,107,181,.22);
  background:linear-gradient(180deg, rgba(245,250,254,.98), rgba(255,255,255,.99));
}

.ha-fisch-toolbar-toggle-label{
  white-space:nowrap;
}

.ha-fisch-toolbar-toggle-icon{
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  transition:transform .28s ease;
  opacity:.72;
}

.ha-fisch-toolbar[open] .ha-fisch-toolbar-toggle-icon{
  transform:rotate(-135deg) translateY(-1px);
}

.ha-fisch-toolbar-panel{
  max-height:0;
  margin-top:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:max-height .36s ease, opacity .24s ease, transform .24s ease, margin-top .24s ease;
}

.ha-fisch-toolbar[open] .ha-fisch-toolbar-panel{
  margin-top:12px;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
  max-height:720px;
}

.ha-fisch-toolbar-panel-inner{
  padding:14px;
  border:1px solid rgba(53,76,101,.10);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,252,.96));
  box-shadow:0 12px 24px rgba(20,41,65,.05);
}

.ha-fisch-toolbar-form{
  display:grid;
  gap:12px;
}

.ha-fisch-toolbar-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
}

.ha-fisch-toolbar-field{
  display:grid;
  gap:6px;
}

.ha-fisch-toolbar-label{
  color:var(--ha-text-faint);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ha-fisch-toolbar-field select{
  width:100%;
  min-height:40px;
  padding:0 12px;
  border:1px solid rgba(53,76,101,.14);
  border-radius:12px;
  background:#fff;
  color:var(--ha-text-strong);
  font:inherit;
  box-shadow:0 4px 10px rgba(20,41,65,.04);
}

.ha-fisch-toolbar-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.ha-fisch-toolbar-result{
  color:var(--ha-text-faint);
  font-size:14px;
  font-weight:700;
}

.ha-fisch-toolbar-buttons{
  display:flex;
  align-items:center;
  gap:8px;
}

.ha-fisch-toolbar-apply{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  background:var(--ha-primary);
  color:#fff;
  font:inherit;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,107,181,.14);
}

.ha-fisch-toolbar-reset{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 4px;
  color:var(--ha-primary);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}

.ha-fisch-toolbar-reset:hover{
  text-decoration:underline;
}

.ha-fisch-empty{
  padding:20px 22px;
  border:1px solid rgba(53,76,101,.10);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,252,.96));
  color:var(--ha-text-faint);
  font-weight:600;
}

@media (max-width:1100px){
  .ha-fisch-toolbar-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .ha-grid-list--fische{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:700px){
  .ha-overview-country-nav{
    gap:8px;
    margin-bottom:12px;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:2px;
    scrollbar-width:none;
  }

  .ha-overview-country-nav::-webkit-scrollbar{
    display:none;
  }

  .ha-overview-country-tab{
    min-height:38px;
    padding:0 14px;
    font-size:13px;
  }

  .ha-fisch-toolbar{
    margin-bottom:18px;
  }

  .ha-fisch-toolbar-toggle{
    width:100%;
    justify-content:space-between;
  }

  .ha-fisch-toolbar-grid{
    grid-template-columns:1fr;
  }

  .ha-fisch-toolbar-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .ha-fisch-toolbar-buttons{
    justify-content:space-between;
  }

  .ha-grid-list--fische{
    grid-template-columns:1fr;
    gap:18px;
  }
}

.ha-card--premium .ha-card-media{
  position:relative;
  aspect-ratio:16/10;
  border-bottom:0;
  background:linear-gradient(180deg, rgba(233,241,246,.92), rgba(220,232,239,.92));
}

.ha-card--premium .ha-card-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(12,25,41,0) 42%, rgba(12,25,41,.18) 100%);
  pointer-events:none;
}

.ha-card--premium .ha-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(125deg, rgba(255,255,255,.14), transparent 44%);
  pointer-events:none;
}

.ha-card--premium .ha-card-media img{
  transition:transform .55s ease;
}

.ha-card--premium:hover .ha-card-media img{
  transform:scale(1.04);
}

.ha-card--fisch{
  border-color:rgba(53,76,101,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(246,250,252,.97));
  box-shadow:0 16px 30px rgba(20,41,65,.06);
}

.ha-card--fisch:hover{
  transform:translateY(-3px);
  border-color:rgba(0,107,181,.16);
  box-shadow:0 22px 38px rgba(20,41,65,.10);
}

.ha-fish-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.ha-fish-card-link:focus-visible{
  outline:2px solid rgba(0,107,181,.36);
  outline-offset:3px;
  border-radius:inherit;
}

.ha-card--fisch .ha-card-media{
  display:grid;
  place-items:center;
  aspect-ratio:16/11;
  padding:24px;
  border-bottom:1px solid rgba(53,76,101,.08);
  background:linear-gradient(180deg, rgba(251,253,254,.99), rgba(240,246,249,.96));
  overflow:hidden;
}

.ha-card--fisch .ha-card-media::before,
.ha-card--fisch .ha-card-media::after{
  content:none;
}

.ha-card--fisch .ha-card-media img,
.ha-card--fisch .ha-fish-card-image,
.ha-card--fisch .ha-fish-card-image.lazyload,
.ha-card--fisch .ha-fish-card-image.lazyloaded{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center center !important;
  transition:none;
  margin:auto;
  display:block;
  min-width:0;
  min-height:0;
}

.ha-card--fisch .ha-fish-card-image,
.ha-card--fisch .ha-fish-card-image.lazyload,
.ha-card--fisch .ha-fish-card-image.lazyloaded{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.ha-card--fisch:hover .ha-card-media img,
.ha-card--fisch:hover .ha-fish-card-image,
.ha-card--fisch:hover .ha-fish-card-image.lazyload,
.ha-card--fisch:hover .ha-fish-card-image.lazyloaded{
  transform:none;
}

.ha-fish-card-media-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:rgba(0,107,181,.52);
}

.ha-fish-card-media-placeholder svg{
  display:block;
  width:min(96px, 42%);
  height:auto;
}

.ha-card--premium.ha-card--fisch .ha-card-body{
  display:flex;
  flex:1;
  gap:14px;
  padding:18px 18px 20px;
}

.ha-card--premium.ha-card--fisch .ha-card-top{
  display:grid;
  align-content:start;
  gap:14px;
  width:100%;
}

.ha-fish-card-kicker{
  color:var(--ha-accent-strong);
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.ha-card--premium.ha-card--fisch .ha-card-title,
.ha-fish-card-title{
  margin:0;
  color:var(--ha-text-strong);
  font-size:clamp(20px, 1.45vw, 22px);
  line-height:1.14;
  letter-spacing:-.025em;
}

.ha-fish-card-highlights{
  display:grid;
  gap:8px;
  margin:0;
}

.ha-fish-card-highlight{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(53,76,101,.09);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(250,252,253,.98), rgba(255,255,255,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
}

.ha-fish-card-highlight-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  color:var(--ha-primary);
  opacity:.96;
  margin-top:1px;
}

.ha-fish-card-highlight-icon svg{
  display:block;
  width:28px;
  height:28px;
}

.ha-fish-card-highlight-icon svg *{
  fill:currentColor !important;
  stroke:currentColor !important;
}

.ha-fish-card-highlight-copy{
  display:grid;
  gap:2px;
  min-width:0;
}

.ha-fish-card-highlight-label{
  color:var(--ha-text-faint);
  font-size:10px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.ha-fish-card-highlight-value{
  color:var(--ha-text-strong);
  font-size:13px;
  line-height:1.5;
  font-weight:700;
}

.ha-card--premium .ha-thumb-ph{
  height:100%;
  min-height:260px;
  background:linear-gradient(180deg, rgba(229,238,244,.96), rgba(216,228,237,.92));
}

.ha-card-type{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(36,54,79,.48);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}

.ha-card--premium .ha-card-body{
  gap:16px;
  padding:18px 18px 17px;
}

.ha-card--premium .ha-card-top{
  display:grid;
  gap:12px;
}

.ha-card--premium .ha-card-title{
  margin:0;
  font-size:22px;
  line-height:1.14;
  letter-spacing:-.025em;
}

.ha-card--premium .ha-card-title a{
  color:var(--ha-text-strong);
}

.ha-card--premium .ha-card-meta{
  margin:0;
  gap:8px;
  color:var(--ha-text-soft);
}

.ha-card-meta-item{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-width:0;
  padding-right:14px;
  margin-right:2px;
  color:var(--ha-text-soft);
  font-size:13px;
  line-height:1.55;
  font-weight:800;
}

.ha-card-meta-item:last-child{
  padding-right:0;
  margin-right:0;
}

.ha-card-meta-item:not(:last-child)::after{
  content:"•";
  position:absolute;
  right:0;
  top:50%;
  color:rgba(96,114,138,.78);
  transform:translateY(-50%);
}

.ha-card--premium .ha-card-usps{
  gap:8px;
  margin:0;
}

.ha-card--premium .ha-card-usp{
  display:grid;
  grid-template-columns:14px minmax(0,1fr);
  align-items:flex-start;
  gap:9px;
  padding:9px 12px 9px 11px;
  border-radius:14px;
  border-color:rgba(236,103,1,.12);
  background:linear-gradient(180deg, rgba(255,249,244,.96), rgba(255,255,255,.98));
  color:var(--ha-text);
  font-size:13px;
  line-height:1.5;
  font-weight:800;
  box-shadow:0 8px 16px rgba(20,41,65,.04);
}

.ha-card--premium .ha-card-usp::before{
  content:none;
}

.ha-card--premium .ha-card-usp-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  min-width:14px;
  color:var(--ha-accent-strong);
  transform:translateY(1px);
}

.ha-card--premium .ha-card-usp-icon svg{
  display:block;
  width:100%;
  height:auto;
}

.ha-card--premium .ha-card-usp-text{
  display:block;
  min-width:0;
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-usp{
  display:flex;
  align-items:center;
  align-content:center;
  gap:9px;
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-usp-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  flex:0 0 14px;
  width:14px;
  min-width:14px;
  height:100%;
  min-height:calc(1em * 1.5);
  transform:none;
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-usp-text{
  display:flex;
  align-items:center;
  align-self:center;
  min-height:calc(1em * 1.5);
}

.ha-card--premium .ha-card-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-top:auto;
  padding-top:15px;
  border-top:1px solid rgba(36,54,79,.08);
}

.ha-card--premium .ha-card-price{
  display:grid;
  gap:4px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:var(--ha-text-strong);
}

.ha-card-price-label{
  color:var(--ha-text-faint);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.ha-card-price-value{
  color:var(--ha-primary);
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}

.ha-card--premium .ha-card-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  margin-top:0;
  padding:12px 18px;
  border-radius:999px;
  flex-shrink:0;
  white-space:nowrap;
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-footer,
.ha-card--boot.ha-card--context-list .ha-card-footer{
  align-items:stretch;
  gap:14px;
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-price,
.ha-card--boot.ha-card--context-list .ha-card-price{
  position:relative;
  overflow:hidden;
  flex:1;
  min-width:0;
  display:grid;
  gap:4px;
  align-content:center;
  padding:12px 14px 12px 18px;
  border:1px solid rgba(236,103,1,.18);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,248,243,.96), rgba(255,255,255,.94) 38%, rgba(0,107,180,.07) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82), 0 14px 26px rgba(22,46,73,.07);
  color:var(--ha-text-strong);
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-price::before,
.ha-card--boot.ha-card--context-list .ha-card-price::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, rgba(236,103,1,.96), rgba(236,103,1,.36));
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-price-label,
.ha-card--boot.ha-card--context-list .ha-card-price-label{
  color:var(--ha-accent-strong);
  font-size:11px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-price-value,
.ha-card--boot.ha-card--context-list .ha-card-price-value{
  color:var(--ha-text-strong);
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-btn,
.ha-card--boot.ha-card--context-list .ha-card-btn{
  max-width:220px;
  min-height:46px;
  padding-inline:18px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, #0b78bf 0%, #0068ad 100%);
  box-shadow:0 12px 24px rgba(0,107,180,.16);
  color:#fff;
  white-space:normal;
  text-align:center;
  line-height:1.18;
}

.ha-card--ferienhaus.ha-card--context-list .ha-card-btn:hover,
.ha-card--boot.ha-card--context-list .ha-card-btn:hover{
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg, #086eae 0%, #00578f 100%);
  box-shadow:0 16px 30px rgba(0,92,153,.24);
  color:#fff;
}

body.single-ha_boot .ha-content-tabs--boot .ha-related-card-grid .ha-card--ferienhaus.ha-card--context-list .ha-card-footer{
  flex-direction:column;
  align-items:stretch;
}

body.single-ha_boot .ha-content-tabs--boot .ha-related-card-grid .ha-card--ferienhaus.ha-card--context-list .ha-card-price{
  width:100%;
  min-width:0;
}

body.single-ha_boot .ha-content-tabs--boot .ha-related-card-grid .ha-card--ferienhaus.ha-card--context-list .ha-card-btn{
  width:100%;
  max-width:none;
  justify-content:center;
  text-align:center;
}

.ha-card--context-inline .ha-card-body{
  padding:16px 16px 15px;
}

.ha-card--context-inline .ha-card-title{
  font-size:20px;
}

.ha-card--context-inline .ha-card-price-value{
  font-size:26px;
}

/* =========================
   Premium Transfer – Boot Single
   ========================= */
body.single-ha_boot .ha-single-head{
  position:relative;
  padding:6px 0 2px;
}

body.single-ha_boot .ha-single-subtitle{
  max-width:68ch;
  margin:14px 0 0;
  color:var(--ha-text-soft);
  font-size:16px;
  line-height:1.74;
}

body.single-ha_boot .ha-two-col--boot{
  grid-template-columns:minmax(0, 1.12fr) minmax(320px, .88fr);
}

body.single-ha_boot .ha-main-column--boot{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:20px;
}

body.single-ha_boot .ha-main-column--boot > .ha-main-section{
  min-width:0;
}

body.single-ha_boot .ha-boot-hero,
body.single-ha_boot .ha-product-gallery{
  position:relative;
  overflow:hidden;
  padding:16px;
  border:1px solid var(--ha-border-strong);
  border-radius:18px;
  background:var(--ha-surface-tint-strong);
  box-shadow:var(--ha-shadow-card);
}

body.single-ha_boot .ha-boot-hero::before,
body.single-ha_boot .ha-product-gallery::before{
  content:"";
  position:absolute;
  inset:-80px auto auto -70px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,107,180,.10), transparent 70%);
  pointer-events:none;
}

body.single-ha_boot .ha-boot-hero .ha-hero-img,
body.single-ha_boot .ha-boot-hero .ha-hero-placeholder{
  display:block;
  width:100%;
  border-radius:18px;
  box-shadow:var(--ha-shadow-card);
}

body.single-ha_boot .ha-gallery-main{
  border-radius:18px;
  box-shadow:var(--ha-shadow-card);
}

body.single-ha_boot .ha-boot-hero .ha-hero-placeholder{
  min-height:420px;
  background:linear-gradient(180deg, rgba(228,237,244,.96), rgba(214,226,236,.92));
}

body.single-ha_boot .ha-content-tabs--boot{
  position:relative;
  overflow:hidden;
}

body.single-ha_boot .ha-content-tabs--boot::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, rgba(0,107,180,.10), rgba(36,54,79,0));
  pointer-events:none;
}

body.single-ha_boot .ha-tab-nav{
  gap:12px;
  padding:16px 16px 0;
}

body.single-ha_boot .ha-tab-button{
  position:relative;
  overflow:hidden;
  border-color:rgba(53,76,101,.11);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,252,.96));
  box-shadow:0 10px 22px rgba(20,41,65,.04);
  transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body.single-ha_boot .ha-tab-button::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg, rgba(236,103,1,.96), rgba(236,103,1,.22));
  opacity:0;
  transform:scaleX(.52);
  transform-origin:center;
  transition:opacity .16s ease, transform .16s ease;
}

body.single-ha_boot .ha-tab-button .ha-ui-label{
  gap:11px;
}

body.single-ha_boot .ha-tab-button .ha-ui-icon{
  width:62px;
  height:62px;
}

body.single-ha_boot .ha-tab-button .ha-ui-label-text{
  font-size:15px;
  line-height:1.18;
  letter-spacing:.01em;
}

body.single-ha_boot .ha-tab-button:hover{
  transform:translateY(-1px);
  border-color:rgba(236,103,1,.28);
  box-shadow:0 14px 26px rgba(20,41,65,.07);
}

body.single-ha_boot .ha-tab-button:hover::after{
  opacity:1;
  transform:scaleX(1);
}

body.single-ha_boot .ha-tab-button:focus-visible{
  outline:0;
  border-color:rgba(236,103,1,.34);
  box-shadow:0 0 0 4px rgba(236,103,1,.10);
}

body.single-ha_boot .ha-tab-button.is-active{
  border-color:var(--ha-primary);
  background:linear-gradient(180deg, #0b78bf 0%, #006bb5 100%);
  box-shadow:0 14px 28px rgba(0,107,180,.18);
}

body.single-ha_boot .ha-tab-button.is-active::after{
  opacity:1;
  transform:scaleX(1);
  background:linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.42));
}

body.single-ha_boot .ha-details-grid--boot{
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:7px;
}

body.single-ha_boot .ha-detail-card--boot-half{
  grid-column:span 6;
}

body.single-ha_boot .ha-detail-card--boot-full{
  grid-column:1 / -1;
}

body.single-ha_boot .ha-detail-card--boot-full .ha-detail-card-value{
  font-size:17px;
  line-height:1.14;
}

body.single-ha_boot .ha-detail-note{
  margin:14px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(36,54,79,.08);
  font-size:14px;
}

body.single-ha_boot .ha-cta--boot{
  position:relative;
  overflow:hidden;
  padding:18px;
}

body.single-ha_boot .ha-cta--boot::before{
  content:"";
  position:absolute;
  top:0;
  left:18px;
  width:84px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(236,103,1,.96), rgba(236,103,1,.18));
}

body.single-ha_boot .ha-cta--boot .ha-cta-title{
  margin:0 0 8px;
}

body.single-ha_boot .ha-gal-front{
  position:relative;
  overflow:hidden;
}

body.single-ha_boot .ha-gal-front::before{
  content:"";
  position:absolute;
  right:-60px;
  bottom:-80px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(236,103,1,.08), transparent 72%);
  pointer-events:none;
}

body.single-ha_boot .ha-gal-front .ha-section-title{
  margin:0 0 18px;
  font-size:28px;
}

body.single-ha_boot .ha-gal-front-grid{
  gap:14px;
}

@media(max-width:1100px){
  .ha-card--premium .ha-card-footer{
    align-items:flex-start;
    flex-direction:column;
  }

  .ha-card--premium .ha-card-btn{
    max-width:none;
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

@media(max-width:900px){
  .ha-card--premium{
    border-radius:18px;
  }

  .ha-card--premium .ha-card-body{
    padding:16px;
  }

  .ha-card--premium .ha-card-title{
    font-size:20px;
  }

  .ha-card-price-value{
    font-size:28px;
  }

  body.single-ha_boot .ha-two-col--boot{
    grid-template-columns:1fr;
  }

  body.single-ha_boot .ha-main-column--boot{
    gap:16px;
  }

  body.single-ha_boot .ha-boot-hero,
  body.single-ha_boot .ha-product-gallery{
    padding:14px;
    border-radius:16px;
  }

  body.single-ha_boot .ha-boot-hero .ha-hero-placeholder{
    min-height:320px;
  }

  body.single-ha_boot .ha-single-subtitle{
    margin-top:12px;
    font-size:15px;
    line-height:1.68;
  }
}

@media(max-width:700px){
  body.single-ha_boot .ha-details-grid--boot{
    grid-template-columns:1fr;
  }

  body.single-ha_boot .ha-detail-card--boot-half,
  body.single-ha_boot .ha-detail-card--boot-full{
    grid-column:1 / -1;
  }

  .ha-card-type{
    top:12px;
    left:12px;
    min-height:28px;
    padding:5px 10px;
    font-size:10px;
  }

  .ha-card--premium .ha-card-media{
    aspect-ratio:4/3;
  }

  .ha-card--premium .ha-thumb-ph{
    min-height:220px;
  }
}

/* =========================
   Formsprache Refinement
   ========================= */
:root{
  --ha-radius-container:16px;
  --ha-radius-card:14px;
  --ha-radius-highlight:12px;
  --ha-radius-compact:10px;
  --ha-radius-button:11px;
  --ha-radius-tab:14px;
  --ha-radius-badge:11px;
  --ha-radius:var(--ha-radius-card);
}

.ha-card,
.ha-gal-front-item,
.ha-location-card,
.ha-price-table-wrap,
.ha-price-addon-block,
.ha-price-related-boats,
.ha-price-card,
.ha-details-week-price,
.ha-card--premium,
body.single-ha_boot .ha-details-week-price,
body.single-ha_ferienhaus .ha-tides-live-card,
body.single-ha_ferienhaus .ha-tides-info-card,
body.single-ha_ferienhaus .ha-tides-extreme-card,
body.single-ha_ferienhaus .ha-tides-debug-card,
body.single-ha_ferienhaus .ha-angler-gallery-item,
body.single-ha_ferienhaus .ha-widget-embed--windy,
body.single-ha_ferienhaus .ha-widget-placeholder,
body.single-ha_boot .ha-gal-front-item{
  border-radius:var(--ha-radius-card);
}

.ha-product-gallery,
.ha-content-tabs,
.ha-details,
.ha-cta,
body.single-ha_ferienhaus .ha-product-gallery,
body.single-ha_ferienhaus .ha-content-tabs,
body.single-ha_ferienhaus .ha-ferienhaus-intro-box,
body.single-ha_ferienhaus .ha-details,
body.single-ha_ferienhaus .ha-price-section,
body.single-ha_ferienhaus .ha-inquiry-block,
body.single-ha_ferienhaus .ha-location-compact-block,
body.single-ha_ferienhaus .ha-angler-gallery-block,
body.single-ha_ferienhaus .ha-conversion-zone,
body.single-ha_ferienhaus .ha-location-panel,
body.single-ha_ferienhaus .ha-tides-stage,
body.single-ha_ferienhaus .ha-cta--return,
body.single-ha_boot .ha-content-tabs,
body.single-ha_boot .ha-details,
body.single-ha_boot .ha-cta,
body.single-ha_boot .ha-boot-hero,
body.single-ha_boot .ha-gal-front{
  border-radius:var(--ha-radius-container);
}

.ha-hero-placeholder,
.ha-gallery-main,
body.single-ha_boot .ha-boot-hero .ha-hero-img,
body.single-ha_boot .ha-boot-hero .ha-hero-placeholder,
body.single-ha_ferienhaus .ha-map-embed,
body.single-ha_ferienhaus .ha-widget-embed,
.ha-location-panel .ha-map-embed,
.ha-location-panel .ha-widget-embed{
  border-radius:var(--ha-radius-card);
}

.ha-detail-card,
.ha-gallery-thumb,
.ha-card-usp,
.ha-card--premium .ha-card-usp,
.ha-price-addon-entry,
.ha-form-field input,
.ha-form-field textarea,
.ha-form-consent,
body.single-ha_ferienhaus .ha-ferienhaus-intro-usp,
body.single-ha_ferienhaus .ha-detail-card,
body.single-ha_boot .ha-detail-card{
  border-radius:var(--ha-radius-compact);
}

.ha-price-kpi,
body.single-ha_ferienhaus .ha-price-kpi,
body.single-ha_boot .ha-price-kpi,
.ha-card--ferienhaus.ha-card--context-list .ha-card-price,
.ha-card--boot.ha-card--context-list .ha-card-price,
body.single-ha_ferienhaus .ha-kv-label .ha-ui-icon,
body.single-ha_boot .ha-kv-label .ha-ui-icon{
  border-radius:var(--ha-radius-highlight);
}

.ha-card-btn,
.ha-cta-btn,
.ha-form-submit,
.ha-card--premium .ha-card-btn{
  border-radius:var(--ha-radius-button);
}

.ha-tab-button,
.ha-location-nav-card,
body.single-ha_ferienhaus .ha-tab-button,
body.single-ha_boot .ha-tab-button,
body.single-ha_ferienhaus .ha-location-nav-card{
  border-radius:var(--ha-radius-tab);
}

.ha-badge,
.ha-card-type,
body.single-ha_ferienhaus .ha-badge,
body.single-ha_boot .ha-badge,
body.single-ha_ferienhaus .ha-conversion-kicker,
body.single-ha_ferienhaus .ha-tides-pill{
  border-radius:var(--ha-radius-badge);
}

/* =========================
   Sidebar Widgets
   ========================= */
.ha-widget-shell{
  display:grid;
  gap:14px;
}

.ha-widget-items{
  display:grid;
  gap:12px;
}

.ha-widget-items--mini-cards,
.ha-widget-items--feature-list{
  gap:14px;
}

.ha-widget-list-stack{
  display:grid;
  gap:10px;
}

.ha-widget-item{
  margin:0;
}

.ha-widget-item-link,
.ha-widget-card-link{
  display:grid;
  gap:12px;
  color:inherit;
  text-decoration:none;
}

.ha-widget-item-link{
  grid-template-columns:minmax(0,72px) minmax(0,1fr);
  align-items:center;
}

.ha-widget-item-media,
.ha-widget-card-media{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8fc 100%);
  border:1px solid rgba(22,50,75,.08);
  box-shadow:0 16px 32px rgba(17,46,80,.08);
}

.ha-widget-item-media{
  width:72px;
  min-width:72px;
  height:72px;
  border-radius:12px;
}

.ha-widget-card-media{
  min-height:164px;
  padding:12px;
  border-radius:14px;
}

.ha-widget-item-media img,
.ha-widget-card-media img{
  width:100%;
  height:100%;
  display:block;
}

.ha-widget-item-media--fisch img,
.ha-widget-card-media--fisch img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.ha-widget-item-media--fisch{
  padding:6px;
}

.ha-widget-card-media--fisch{
  padding:14px;
}

.ha-widget-item-media--ferienhaus img,
.ha-widget-item-media--boot img,
.ha-widget-card-media--ferienhaus img,
.ha-widget-card-media--boot img{
  object-fit:cover;
}

.ha-widget-item-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#6e88a6;
}

.ha-widget-item-placeholder svg{
  width:34px;
  height:34px;
}

.ha-widget-item-copy,
.ha-widget-card-body{
  display:grid;
  gap:7px;
  min-width:0;
}

.ha-widget-item-title,
.ha-widget-card-title{
  display:block;
  color:#16324b;
  font-size:17px;
  font-weight:700;
  line-height:1.2;
  text-wrap:balance;
}

.ha-widget-item-meta,
.ha-widget-card-meta{
  display:grid;
  gap:4px;
}

.ha-widget-item-meta-line,
.ha-widget-card-meta-line{
  display:block;
  color:#4f6783;
  font-size:13px;
  line-height:1.45;
}

.ha-widget-item-excerpt,
.ha-widget-card-excerpt{
  display:block;
  color:#5a7087;
  font-size:13px;
  line-height:1.55;
}

.ha-widget-items--list .ha-widget-item,
.ha-widget-list-stack .ha-widget-item{
  padding:12px;
  border:1px solid rgba(22,50,75,.08);
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 32px rgba(17,46,80,.07);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.ha-widget-items--mini-cards .ha-widget-item,
.ha-widget-featured .ha-widget-item{
  overflow:hidden;
  border:1px solid rgba(22,50,75,.08);
  border-radius:14px;
  background:#fff;
  box-shadow:0 20px 38px rgba(17,46,80,.08);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.ha-widget-items--mini-cards .ha-widget-card-link,
.ha-widget-featured .ha-widget-card-link{
  gap:0;
}

.ha-widget-items--mini-cards .ha-widget-card-body,
.ha-widget-featured .ha-widget-card-body{
  padding:14px 16px 16px;
}

.ha-widget-item:hover,
.ha-widget-item:focus-within{
  transform:translateY(-2px);
  border-color:rgba(0,107,181,.18);
  box-shadow:0 26px 44px rgba(17,46,80,.12);
}

.ha-widget-item-link:focus-visible,
.ha-widget-card-link:focus-visible{
  outline:2px solid #0b7bd4;
  outline-offset:4px;
  border-radius:12px;
}

.ha-widget-featured .ha-widget-item--featured .ha-widget-card-media{
  min-height:188px;
}

.ha-widget-featured .ha-widget-item--featured .ha-widget-card-title{
  font-size:20px;
}

@media (max-width:700px){
  .ha-widget-item-link{
    grid-template-columns:minmax(0,64px) minmax(0,1fr);
    gap:10px;
  }

  .ha-widget-item-media{
    width:64px;
    min-width:64px;
    height:64px;
  }

  .ha-widget-card-media{
    min-height:146px;
  }

  .ha-widget-featured .ha-widget-item--featured .ha-widget-card-media{
    min-height:164px;
  }
}

/* =========================
   Content Shortcodes
   ========================= */
.ha-content-shortcode{
  display:grid;
  gap:18px;
}

.ha-content-shortcode-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}

.ha-content-shortcode-title{
  margin:0;
  color:var(--ha-text-strong);
  font-size:clamp(26px, 3vw, 34px);
  line-height:1.08;
  letter-spacing:-.035em;
}

.ha-content-empty{
  margin:0;
  color:var(--ha-text-soft);
}

.ha-content-grid{
  align-items:stretch;
}

.ha-content-shortcode .ha-widget-items--mini-cards{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}

.ha-content-shortcode .ha-widget-items--list{
  gap:14px;
}

.ha-content-card--hide-image .ha-card-media{
  display:none;
}

.ha-content-card--hide-meta .ha-card-meta,
.ha-content-card--hide-meta .ha-card-usps,
.ha-content-card--hide-meta .ha-fish-card-highlights{
  display:none !important;
}

.ha-content-slider{
  --ha-content-slider-gap:20px;
  --ha-content-slides-current:var(--ha-content-slides-desktop, 3);
  display:grid;
  gap:14px;
}

.ha-content-slider-shell{
  position:relative;
  display:grid;
  gap:12px;
}

.ha-content-slider-viewport{
  overflow:hidden;
}

.ha-content-slider-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (var(--ha-content-slides-current) - 1) * var(--ha-content-slider-gap)) / var(--ha-content-slides-current));
  gap:var(--ha-content-slider-gap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:2px 2px 16px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}

.ha-content-slider-track::-webkit-scrollbar{
  display:none;
}

.ha-content-slider-slide{
  min-width:0;
  scroll-snap-align:start;
}

.ha-content-slider-nav{
  position:absolute;
  top:50%;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border:1px solid rgba(36,54,79,.10);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--ha-primary);
  box-shadow:0 16px 34px rgba(17,46,80,.12);
  cursor:pointer;
  transform:translateY(-50%);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.ha-content-slider-nav:hover{
  transform:translateY(calc(-50% - 1px));
  box-shadow:0 20px 40px rgba(17,46,80,.16);
}

.ha-content-slider-nav:disabled{
  opacity:.45;
  cursor:default;
  transform:translateY(-50%);
  box-shadow:0 12px 24px rgba(17,46,80,.08);
}

.ha-content-slider-nav--prev{
  left:-12px;
}

.ha-content-slider-nav--next{
  right:-12px;
}

.ha-content-slider-nav span{
  font-size:24px;
  line-height:1;
  font-weight:800;
}

.ha-content-slider-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.ha-content-slider-pagination[hidden]{
  display:none;
}

.ha-content-slider-dot{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(36,54,79,.18);
  cursor:pointer;
  transition:transform .16s ease, background .16s ease;
}

.ha-content-slider-dot.is-active{
  background:var(--ha-primary);
  transform:scale(1.18);
}

@media (max-width:1100px){
  .ha-content-slider{
    --ha-content-slides-current:var(--ha-content-slides-tablet, 2);
  }

  .ha-content-slider-nav--prev{
    left:-8px;
  }

  .ha-content-slider-nav--next{
    right:-8px;
  }
}

@media (max-width:700px){
  .ha-content-slider{
    --ha-content-slides-current:var(--ha-content-slides-mobile, 1);
    --ha-content-slider-gap:16px;
  }

  .ha-content-slider-nav{
    position:static;
    transform:none;
  }

  .ha-content-slider-nav:hover,
  .ha-content-slider-nav:disabled{
    transform:none;
  }

  .ha-content-slider-shell{
    gap:14px;
  }

  .ha-content-slider-shell::before{
    content:"";
    display:block;
    order:2;
  }

  .ha-content-slider-viewport{
    order:1;
  }

  .ha-content-slider-nav--prev,
  .ha-content-slider-nav--next{
    order:2;
  }

  .ha-content-slider-shell{
    grid-template-columns:repeat(2, minmax(0, 46px));
    justify-content:end;
  }

  .ha-content-slider-viewport{
    grid-column:1 / -1;
  }
}
