/* WordPress integration layer for OWL Hörakustik. */
html:not(.js) .reveal,
html:not(.js) .reveal-stagger > * {
  opacity: 1;
  transform: none;
}

body.admin-bar .nav { top: 32px; }
@media (max-width: 782px) { body.admin-bar .nav { top: 46px; } }

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background: var(--paper);
  border-radius: 4px;
  box-shadow: 0 0 2px 2px rgba(20,20,22,.2);
  clip: auto !important;
  clip-path: none;
  color: var(--ink);
  display: block;
  font-family: var(--font-display);
  font-size: 14px;
  height: auto;
  left: 16px;
  line-height: normal;
  padding: 12px 16px;
  top: 16px;
  width: auto;
  z-index: 100000;
}

.site-main { min-height: 50vh; }
.entry--default { padding-top: clamp(120px, 14vw, 200px); padding-bottom: 80px; }
.entry--page > *:last-child,
.entry--front > *:last-child { margin-bottom: 0; }
.single-entry__content { padding-bottom: 100px; max-width: 900px; }
.single-entry__content > * + * { margin-top: 1.25em; }
.single-entry__thumb { border-radius: var(--r-lg); overflow: hidden; margin-bottom: 40px; }
.single-entry__thumb img { width: 100%; height: auto; }

.nav__links .menu-item { list-style: none; }
.nav__links { margin: 0; padding: 0; }
.nav__cta { padding: 12px 20px; font-size: 12px; }
.footer__claim { max-width: 36ch; margin-top: 24px; opacity: .75; font-size: 15px; line-height: 1.6; }
.footer__menu { list-style: none; margin: 0; padding: 0; }
.footer__menu li { margin: 0; }
.footer__menu a { display: block; }

.footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.footer__legal a { color: inherit; text-decoration: none; opacity: .95; }
.footer__legal a:hover { color: var(--lavender); opacity: 1; }
.footer__legal span { opacity: .55; }

.wp-block-post-content > .alignwide,
.wp-block-post-content > .alignfull,
.entry > .alignwide,
.entry > .alignfull { max-width: none; }
.wp-block-image img { height: auto; }

.owl-block { margin: auto; }

/* Center critical presentation blocks even when nested in WordPress editor/group wrappers. */
.owl-stats,
.owl-stats .stats,
.owl-stats .stat,
.wp-block[data-type="owl-hoerakustik/stats"] .stats,
.wp-block[data-type="owl-hoerakustik/stats"] .stat {
  text-align: center;
}
.owl-stats .stat { align-items: center; }
.quote-block,
.quote-block .reveal,
.wp-block[data-type="owl-hoerakustik/quote"] .quote-block,
.wp-block[data-type="owl-hoerakustik/quote"] .quote-block .reveal {
  text-align: center;
}
.quote-block .reveal { margin-left: auto; margin-right: auto; }
.owl-block .container > p:last-child { margin-bottom: 0; }
.owl-section-heading { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 56px; }
.owl-section-heading .lead { max-width: 40ch; }
.owl-inline-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.owl-grid-dark { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
@media (max-width: 900px) { .owl-grid-dark { grid-template-columns: 1fr; gap: 40px; } }

.ph.has-image { padding: 0; align-items: stretch; justify-content: stretch; overflow: hidden; }
.ph.has-image img { width: 100%; height: 100%; object-fit: cover; display: block; transform-origin: 50% 50%; transition: transform .25s ease, object-position .25s ease; will-change: transform; }
.ph.has-image .ph__label { position: absolute; left: 16px; bottom: 16px; z-index: 2; }
.hs-detail__visual .ph,
.news-row__visual .ph,
.news-card__img .ph { min-height: 100%; }
.master__quote { font-size: 16px; line-height: 1.7; color: var(--ink); max-width: 42ch; }
.master-bio { aspect-ratio: auto; background: transparent; overflow: visible; border-radius: 0; }
.master-bio .master { margin-bottom: 24px; }

.owl-visual { border-radius: var(--r-lg); overflow: hidden; }
.owl-visual--wide { aspect-ratio: 21 / 9; }
.owl-visual--standard { aspect-ratio: 16 / 10; }
.owl-visual--portrait { aspect-ratio: 4 / 5; }

.owl-process-step { display: grid; grid-template-columns: 60px 1fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid rgba(247,244,239,.14); }
.owl-process-step__num { font-family: var(--font-display); color: var(--lavender); font-size: 14px; letter-spacing: .1em; }
.owl-process-step__title { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin-bottom: 6px; }
.owl-process-step__desc { font-size: 14px; opacity: .7; }

.news-row[data-owl-category].is-hidden { display: none; }
.news-row__title a { color: inherit; text-decoration: none; }
.news-card__title a { color: inherit; text-decoration: none; }

.owl-newsletter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
@media (max-width: 900px) { .owl-newsletter-grid { grid-template-columns: 1fr; gap: 32px; } }
.owl-newsletter-note { font-size: 12px; opacity: .65; margin-top: 10px; }

.form-row input[type="email"]::placeholder { color: currentColor; opacity: .45; }
.form-row input[type="email"] { width: 100%; }

.page-links { margin: 40px 0; font-family: var(--font-display); }
.post-nav-links { display: flex; gap: 8px; }
.pagination { margin-top: 40px; font-family: var(--font-display); }
.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pagination a,
.pagination span { border: 1px solid var(--line); padding: 8px 12px; border-radius: 999px; }
.pagination .current { background: var(--ink); color: var(--paper); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .fc-wrap { display: none !important; }
  .reveal, .reveal-stagger > * { opacity: 1 !important; transform: none !important; }
}

/* Center selected dynamic Gutenberg sections inside WordPress wrappers. */
.wp-block-owl-hoerakustik-quote,
.wp-block-owl-hoerakustik-stats,
.owl-block.quote-block,
.owl-block.owl-stats {
  margin-left: auto;
  margin-right: auto;
}
.wp-block-owl-hoerakustik-quote,
.quote-block,
.owl-stats .stats,
.owl-stats .stat {
  text-align: center;
}
.owl-stats .stat {
  align-items: center;
  justify-content: center;
}

/* ===== v1.0.5: balanced horizontal alignment for content pages ===== */
.owl-services-list .svc-list,
.owl-hearing-details .hs-detail,
.owl-team-bios .masters,
.owl-story .story-grid,
.owl-timeline-section .timeline,
.news-list,
.filter-pills {
  margin-left: auto;
  margin-right: auto;
}

.owl-services-list .svc-list,
.news-list {
  width: 100%;
  max-width: 1080px;
}

.owl-services-list .svc-row {
  grid-template-columns: clamp(74px, 8vw, 96px) minmax(220px, .85fr) minmax(280px, 1.1fr) 48px;
  gap: clamp(18px, 3vw, 36px);
  justify-content: center;
}
.owl-services-list .svc-row__title {
  max-width: 14ch;
}
.owl-services-list .svc-row__desc {
  max-width: 54ch;
}

.owl-hearing-details {
  max-width: 1160px;
}
.owl-hearing-details .hs-detail {
  max-width: 1080px;
  grid-template-columns: minmax(0, .92fr) minmax(340px, 1.08fr);
  gap: clamp(32px, 5vw, 60px);
}
.owl-hearing-details .hs-detail.is-reverse {
  grid-template-columns: minmax(340px, 1.08fr) minmax(0, .92fr);
}
.owl-hearing-details .hs-detail__copy,
.owl-hearing-details .hs-detail__visual {
  width: 100%;
  justify-self: center;
}
.owl-hearing-details .hs-detail__copy {
  max-width: 560px;
}
.owl-hearing-details .hs-detail__visual {
  max-width: 520px;
}

.owl-team-bios .masters {
  max-width: 980px;
  justify-content: center;
}
.owl-team-bios .master-bio {
  width: 100%;
  max-width: 470px;
  justify-self: center;
}
.owl-team-bios .master__quote {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  text-wrap: pretty;
}

.owl-story .story-grid {
  max-width: 1060px;
  grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
  align-items: center;
}
.owl-story .story-grid > .reveal:first-child {
  width: 100%;
  max-width: 460px;
  justify-self: end;
}
.owl-story .story-grid > .reveal:last-child {
  width: 100%;
  max-width: 580px;
  justify-self: start;
}

.owl-timeline-section .container > .reveal:first-child {
  display: grid;
  justify-items: center;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.owl-timeline-section .container > .reveal:first-child .eyebrow {
  justify-content: center;
}
.owl-timeline-section .timeline {
  max-width: 780px;
}

.filter-pills {
  max-width: 980px;
  justify-content: center;
}
.news-list {
  border-top: 1px solid var(--line);
}
.news-row {
  grid-template-columns: 110px minmax(260px, 1fr) minmax(220px, 260px) 48px;
  gap: clamp(18px, 3vw, 32px);
  justify-content: center;
}
.news-row__title {
  max-width: 24ch;
}
.news-row__visual {
  max-width: 260px;
  justify-self: center;
}
.news-row .svc-row__arrow {
  justify-self: end;
}

.owl-services-list .svc-row:hover,
.news-row:hover {
  padding-left: 0;
}

.owl-hearing-cards .hs-grid,
.owl-team .masters,
.owl-news-grid-section .news-grid,
.owl-stats .stats {
  margin-left: auto;
  margin-right: auto;
}
.owl-hearing-cards .hs-grid,
.owl-news-grid-section .news-grid {
  max-width: 1120px;
}
.owl-team .masters {
  max-width: 980px;
  justify-content: center;
}

@media (min-width: 801px) {
  .owl-team-bios .masters,
  .owl-team .masters {
    grid-template-columns: repeat(2, minmax(280px, 470px));
  }
}

@media (max-width: 900px) {
  .owl-hearing-details,
  .owl-services-list .svc-list,
  .news-list,
  .owl-team-bios .masters,
  .owl-story .story-grid,
  .owl-timeline-section .timeline {
    max-width: 680px;
  }
  .owl-hearing-details .hs-detail,
  .owl-hearing-details .hs-detail.is-reverse,
  .owl-story .story-grid {
    grid-template-columns: 1fr;
  }
  .owl-hearing-details .hs-detail__copy,
  .owl-hearing-details .hs-detail__visual,
  .owl-story .story-grid > .reveal:first-child,
  .owl-story .story-grid > .reveal:last-child {
    justify-self: center;
  }
  .owl-services-list .svc-list,
  .news-list {
    display: grid;
    gap: 16px;
    border-top: 0;
  }
  .owl-services-list .svc-row,
  .news-row {
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    padding: 24px;
  }
  .owl-services-list .svc-row:hover,
  .news-row:hover {
    padding-left: 24px;
  }
  .owl-services-list .svc-row {
    grid-template-columns: 1fr 44px;
    align-items: start;
  }
  .owl-services-list .svc-row__num,
  .owl-services-list .svc-row__desc {
    grid-column: 1 / -1;
  }
  .owl-services-list .svc-row__title {
    max-width: 100%;
  }
  .owl-services-list .svc-row__arrow {
    grid-column: 2;
    grid-row: 2;
  }
  .news-row {
    grid-template-columns: 1fr 44px;
    align-items: start;
  }
  .news-row__date,
  .news-row__visual {
    grid-column: 1 / -1;
  }
  .news-row > div:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .news-row .svc-row__arrow {
    grid-column: 2;
    grid-row: 2;
  }
  .news-row__title,
  .news-row__visual {
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .owl-services-list .svc-row,
  .news-row {
    padding: 22px;
  }
  .owl-services-list .svc-row:hover,
  .news-row:hover {
    padding-left: 22px;
  }
  .filter-pills {
    justify-content: flex-start;
  }
}



/* ===== v1.0.6: global page centering layer =====
   The inner content pages should read as one centered composition, not as
   individual blocks pushed to the left edge of a large container. */
.entry--page {
  --owl-page-readable: min(100%, 900px);
  --owl-page-content: min(100%, 1080px);
  --owl-page-wide: min(100%, 1160px);
}

/* The falling-can safety padding is useful on the front page, but on inner
   pages it makes the usable content area look left-shifted. Reset it here. */
@media (min-width: 1100px) {
  .entry--page .container {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.entry--page :where(.container, .section > .container, .page-hero > .container, .container.owl-block) {
  margin-left: auto;
  margin-right: auto;
}

.entry--page :where(
  .page-hero .reveal,
  .page-hero__row,
  .owl-section-heading,
  .owl-block > .container > .reveal,
  .container.owl-block > .reveal,
  .reveal-stagger,
  .svc-list,
  .news-list,
  .hs-grid,
  .hs-detail,
  .masters,
  .story-grid,
  .timeline,
  .filter-pills,
  .owl-grid-dark,
  .owl-newsletter-grid,
  .contact-block,
  .owl-visual,
  .wp-block-group,
  .wp-block-columns,
  .wp-block-buttons,
  .wp-block-image,
  .wp-block-table
) {
  margin-left: auto;
  margin-right: auto;
}

.entry--page :where(.page-hero .reveal, .owl-section-heading, .owl-block > .container > .reveal) {
  max-width: var(--owl-page-content);
}

.entry--page :where(.page-hero .reveal, .owl-section-heading) {
  display: grid;
  justify-items: center;
  text-align: center;
}

.entry--page .page-hero__row {
  width: 100%;
  max-width: var(--owl-page-content);
  justify-content: center;
  align-items: center;
  text-align: center;
}

.entry--page :where(.eyebrow, .owl-section-heading .eyebrow) {
  justify-content: center;
}

.entry--page :where(.lead, p, h1, h2, h3, h4, .h-xl, .h-l, .h-m) {
  margin-left: auto;
  margin-right: auto;
}

.entry--page :where(.page-hero, .owl-section-heading, .owl-story, .owl-team-bios, .owl-timeline-section, .owl-hearing-details, .owl-newsletter) :where(p, h1, h2, h3, h4, .lead, .h-xl, .h-l, .h-m) {
  text-align: center;
}

.entry--page :where(.page-hero .lead, .owl-section-heading .lead, .owl-story .lead, .owl-newsletter .lead) {
  max-width: var(--owl-page-readable);
}

.entry--page .owl-section-heading {
  justify-content: center;
  align-items: center;
  gap: 18px;
}

.entry--page .owl-section-heading > * {
  justify-self: center;
}

.entry--page .owl-inline-actions,
.entry--page .wp-block-buttons {
  justify-content: center;
}

.entry--page .wp-block-image img {
  margin-left: auto;
  margin-right: auto;
}

/* Leistungen and News lists: make every row a centered element instead of a
   left-anchored strip with empty visual weight on the right. */
.entry--page .svc-list,
.entry--page .news-list {
  width: 100%;
  max-width: var(--owl-page-content);
  border-top: 0;
  display: grid;
  gap: 16px;
  justify-items: center;
}

.entry--page .svc-row,
.entry--page .news-row {
  width: 100%;
  max-width: var(--owl-page-readable);
  margin-left: auto;
  margin-right: auto;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: rgba(239, 235, 227, .46);
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: center;
  text-align: center;
  gap: 12px;
}

.entry--page .svc-row:hover,
.entry--page .news-row:hover {
  padding-left: clamp(24px, 3vw, 36px);
  transform: translateY(-2px);
}

.entry--page .svc-row__num,
.entry--page .svc-row__title,
.entry--page .svc-row__desc,
.entry--page .news-row__date,
.entry--page .news-row__cat,
.entry--page .news-row__title,
.entry--page .news-row__visual,
.entry--page .news-row .svc-row__arrow {
  justify-self: center;
  text-align: center;
  max-width: var(--owl-page-readable);
}

.entry--page .svc-row__title,
.entry--page .news-row__title {
  max-width: 26ch;
}

.entry--page .svc-row__desc {
  max-width: 64ch;
}

.entry--page .svc-row__arrow,
.entry--page .news-row .svc-row__arrow {
  justify-self: center;
}

.entry--page .news-row__visual {
  width: min(100%, 360px);
}

/* Hörsysteme details: keep the two-column rhythm on large screens, but make
   both columns centered and the text axis balanced. */
.entry--page .owl-hearing-details {
  max-width: var(--owl-page-wide);
}

.entry--page .owl-hearing-details .hs-detail,
.entry--page .owl-hearing-details .hs-detail.is-reverse {
  width: 100%;
  max-width: var(--owl-page-wide);
  justify-content: center;
  justify-items: center;
  text-align: center;
}

.entry--page .owl-hearing-details .hs-detail__copy,
.entry--page .owl-hearing-details .hs-detail__visual {
  justify-self: center;
  text-align: center;
}

.entry--page .owl-hearing-details .hs-detail__copy .eyebrow,
.entry--page .owl-hearing-details .hs-detail__copy .lead {
  justify-content: center;
  text-align: center;
}

.entry--page .hs-detail__bullets {
  width: min(100%, 560px);
  margin-left: auto;
  margin-right: auto;
  align-items: center;
}

.entry--page .hs-detail__bullets li {
  justify-content: center;
  text-align: center;
}

.entry--page .hs-detail__bullets li::before {
  flex: 0 0 6px;
}

/* Über uns: story, team and timeline are centered as sections, not as
   left/right fragments. */
.entry--page .owl-story .story-grid {
  width: 100%;
  max-width: var(--owl-page-content);
  justify-items: center;
  text-align: center;
}

.entry--page .owl-story .story-grid > .reveal:first-child,
.entry--page .owl-story .story-grid > .reveal:last-child {
  justify-self: center;
  max-width: var(--owl-page-readable);
}

.entry--page .owl-team-bios .masters,
.entry--page .owl-team .masters {
  width: 100%;
  max-width: var(--owl-page-content);
  justify-content: center;
  justify-items: center;
}

.entry--page .owl-team-bios .master-bio,
.entry--page .owl-team .master {
  justify-self: center;
}

.entry--page .owl-timeline-section .timeline {
  width: min(100%, 760px);
  border-left: 0;
  padding-left: 0;
  text-align: center;
}

.entry--page .timeline__item {
  padding: 0 0 36px;
}

.entry--page .timeline__item::before {
  position: static;
  display: block;
  margin: 0 auto 14px;
}

/* Grids, dark process section, newsletter and generic WordPress blocks. */
.entry--page :where(.hs-grid, .news-grid, .svc-grid, .stats, .masters) {
  justify-content: center;
  justify-items: center;
}

.entry--page .owl-grid-dark,
.entry--page .owl-newsletter-grid {
  max-width: var(--owl-page-content);
  justify-items: center;
  text-align: center;
}

.entry--page .owl-process-step {
  width: min(100%, 680px);
  margin-left: auto;
  margin-right: auto;
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
}

.entry--page .filter-pills {
  width: 100%;
  max-width: var(--owl-page-content);
  justify-content: center;
}

.entry--page :where(ul:not(.hs-detail__bullets), ol) {
  width: fit-content;
  max-width: var(--owl-page-readable);
  margin-left: auto;
  margin-right: auto;
}

.entry--page .owl-legal-page,
.entry--page .owl-legal-page * {
  text-align: left;
}

@media (max-width: 900px) {
  .entry--page :where(.svc-row, .news-row) {
    max-width: 680px;
  }

  .entry--page .owl-hearing-details .hs-detail,
  .entry--page .owl-hearing-details .hs-detail.is-reverse,
  .entry--page .owl-story .story-grid,
  .entry--page .owl-grid-dark,
  .entry--page .owl-newsletter-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== v1.0.6: final all-pages centering reinforcement ===== */
:root {
  --owl-page-readable-final: 780px;
  --owl-page-content-final: 1080px;
  --owl-page-wide-final: 1180px;
}

/* Use one symmetrical center axis for every main-content page, not only selected blocks. */
@media (min-width: 1100px) {
  .owl-hoerakustik-site .site-main .container,
  .owl-hoerakustik-site .site-main section.container,
  .owl-hoerakustik-site .site-main .wp-block-group.container {
    padding-left: var(--gutter) !important;
    padding-right: var(--gutter) !important;
  }
}

.owl-hoerakustik-site .site-main,
.owl-hoerakustik-site .site-main :where(.entry--page, .entry--front, .single-entry, .page-hero, .owl-block, .wp-block-group, .wp-block-columns, .single-entry__content, .owl-legal-page) {
  text-align: center;
}

.owl-hoerakustik-site .site-main :where(.container, section.container, .wp-block-group.container, .entry--page > *, .entry--front > *, .single-entry__content, .page-links, .pagination) {
  margin-left: auto !important;
  margin-right: auto !important;
}

.owl-hoerakustik-site .site-main :where(.page-hero__row, .owl-section-heading, .hero__eyebrow-row, .hero__title .row, .owl-inline-actions, .wp-block-buttons, .filter-pills, .news-card__meta, .phone-cta) {
  justify-content: center !important;
}

.owl-hoerakustik-site .site-main :where(.page-hero__row, .owl-section-heading) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  align-items: center !important;
  width: 100%;
  max-width: var(--owl-page-content-final) !important;
  gap: 22px !important;
}

.owl-hoerakustik-site .site-main :where(.page-hero .eyebrow, .owl-section-heading .eyebrow, .hero__meta, .contact-block__left, .hs-detail__copy, .svc, .hs-card, .news-card, .master-bio) {
  align-items: center !important;
}

.owl-hoerakustik-site .site-main :where(.lead, p, h1, h2, h3, h4, .h-display, .h-xl, .h-l, .h-m, .quote-block__text, .quote-block__attr, .master__quote, .footer__claim) {
  margin-left: auto !important;
  margin-right: auto !important;
}

.owl-hoerakustik-site .site-main :where(.lead, .single-entry__content > p, .owl-legal-page > p, .owl-story p, .owl-newsletter p, .owl-process p) {
  max-width: var(--owl-page-readable-final);
}

.owl-hoerakustik-site .site-main :where(.svc-grid, .hs-grid, .news-grid, .stats, .masters, .svc-list, .news-list, .hs-detail, .story-grid, .timeline, .contact-block, .owl-grid-dark, .owl-newsletter-grid, .owl-visual, .hero__bottom, .hero__strip) {
  margin-left: auto !important;
  margin-right: auto !important;
}

.owl-hoerakustik-site .site-main :where(.svc-grid, .hs-grid, .news-grid, .contact-block, .owl-grid-dark, .owl-newsletter-grid, .hero__bottom, .hero__strip) {
  width: min(100%, var(--owl-page-wide-final));
  max-width: var(--owl-page-wide-final) !important;
}

.owl-hoerakustik-site .site-main :where(.svc-list, .news-list, .timeline, .owl-team-bios .masters, .owl-team .masters) {
  width: min(100%, var(--owl-page-content-final));
  max-width: var(--owl-page-content-final) !important;
}

/* Leistungen and News are full centered cards/rows now. */
.owl-hoerakustik-site .site-main :where(.svc-list, .news-list) {
  display: grid !important;
  gap: 16px !important;
  border-top: 0 !important;
  justify-items: center !important;
}

.owl-hoerakustik-site .site-main :where(.svc-row, .news-row) {
  width: min(100%, var(--owl-page-readable-final)) !important;
  max-width: var(--owl-page-readable-final) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  align-items: center !important;
  text-align: center !important;
  gap: 12px !important;
  padding: clamp(24px, 3vw, 36px) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  background: rgba(239, 235, 227, .46);
}

.owl-hoerakustik-site .site-main :where(.svc-row:hover, .news-row:hover) {
  padding-left: clamp(24px, 3vw, 36px) !important;
}

.owl-hoerakustik-site .site-main :where(.svc-row > *, .news-row > *, .svc-row__num, .svc-row__title, .svc-row__desc, .svc-row__arrow, .news-row__date, .news-row__cat, .news-row__title, .news-row__visual, .news-row .svc-row__arrow) {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  justify-self: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.owl-hoerakustik-site .site-main .svc-row__desc {
  max-width: 62ch !important;
}

.owl-hoerakustik-site .site-main .news-row__visual {
  width: min(100%, 380px) !important;
  max-width: min(100%, 380px) !important;
}

/* Detail, story, team and timeline sections share the same centered axis. */
.owl-hoerakustik-site .site-main .owl-hearing-details {
  width: min(100%, var(--owl-page-wide-final));
  max-width: var(--owl-page-wide-final) !important;
}

.owl-hoerakustik-site .site-main :where(.hs-detail, .hs-detail.is-reverse) {
  justify-content: center !important;
  justify-items: center !important;
  text-align: center !important;
}

.owl-hoerakustik-site .site-main .hs-detail__copy {
  display: grid !important;
  justify-items: center !important;
  text-align: center !important;
}

.owl-hoerakustik-site .site-main .hs-detail__bullets {
  width: min(100%, 560px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: stretch !important;
}

.owl-hoerakustik-site .site-main .hs-detail__bullets li {
  justify-content: center !important;
  text-align: center !important;
}

.owl-hoerakustik-site .site-main .story-grid {
  justify-content: center !important;
  justify-items: center !important;
  text-align: center !important;
}

.owl-hoerakustik-site .site-main .story-grid > * {
  justify-self: center !important;
  max-width: var(--owl-page-readable-final) !important;
}

.owl-hoerakustik-site .site-main .masters {
  justify-content: center !important;
  justify-items: center !important;
}

.owl-hoerakustik-site .site-main .timeline {
  border-left: 0 !important;
  padding-left: 0 !important;
  text-align: center !important;
}

.owl-hoerakustik-site .site-main .timeline__item {
  text-align: center !important;
}

.owl-hoerakustik-site .site-main .timeline__item::before {
  left: auto !important;
  position: static !important;
  display: block !important;
  margin: 0 auto 14px !important;
  transform: none !important;
}

/* Generic WordPress/legal content should also follow the centered page rule. */
.owl-hoerakustik-site .site-main :where(.owl-legal-page, .owl-legal-page *, .wp-block-group, .wp-block-group *, .single-entry__content, .single-entry__content *) {
  text-align: center;
}

.owl-hoerakustik-site .site-main :where(.single-entry__content ul, .single-entry__content ol, .owl-legal-page ul, .owl-legal-page ol) {
  display: inline-block;
  text-align: left;
}

.owl-hoerakustik-site .site-main .owl-newsletter-grid form {
  width: min(100%, 520px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left;
}

.owl-hoerakustik-site .site-main .hours {
  width: min(100%, 460px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.owl-hoerakustik-site .site-main .hours__row {
  text-align: left;
}

@media (max-width: 900px) {
  .owl-hoerakustik-site .site-main :where(.hero__bottom, .hs-detail, .hs-detail.is-reverse, .story-grid, .owl-grid-dark, .owl-newsletter-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .owl-hoerakustik-site .site-main :where(.svc-row, .news-row) {
    width: min(100%, 680px) !important;
    max-width: 680px !important;
  }
}

@media (max-width: 600px) {
  .owl-hoerakustik-site .site-main .filter-pills {
    justify-content: center !important;
  }
}


/* Coming Soon template: deliberately no navigation/header/footer, just centered editor content. */
body.owl-coming-soon-page {
  min-height: 100vh;
  margin: 0;
  background: var(--paper, #f7f1e9);
  color: var(--ink, #141416);
}

body.owl-coming-soon-page .owl-coming-soon-shell {
  min-height: 100vh;
  width: 100%;
  display: grid;
  place-items: center;
  padding: clamp(28px, 6vw, 88px);
}

body.owl-coming-soon-page .owl-coming-soon-card {
  width: min(100%, 980px);
  margin: 0 auto;
}

body.owl-coming-soon-page .owl-coming-soon-content {
  width: 100%;
  display: grid;
  justify-items: center;
  align-items: center;
  gap: clamp(18px, 4vw, 44px);
  text-align: center;
}

body.owl-coming-soon-page .owl-coming-soon-content :where(.wp-block-image, figure, p, .wp-block-group) {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

body.owl-coming-soon-page .owl-coming-soon-content :where(img, svg, video) {
  display: block;
  max-width: min(100%, 920px);
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

body.owl-coming-soon-page .owl-coming-soon-content .alignwide,
body.owl-coming-soon-page .owl-coming-soon-content .alignfull {
  width: min(100%, 980px);
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}


/* ===== Kontaktformular ===== */
.owl-contact-form-section .container { max-width: 1080px; }
.owl-contact-form-card {
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  padding: clamp(28px, 5vw, 56px);
  box-shadow: 0 24px 70px rgba(20,20,22,.08);
}
.owl-contact-form-head { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.owl-contact-form-head .eyebrow { justify-content: center; }
.owl-contact-form { display: grid; gap: 22px; max-width: 860px; margin: 0 auto; }
.owl-contact-form__fieldset { border: 0; margin: 0; padding: 0; }
.owl-contact-form__fieldset legend {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.3vw, 34px);
  font-weight: 600;
  margin: 0 0 18px;
}
.owl-contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.owl-contact-field { display: grid; gap: 8px; }
.owl-contact-field--full { grid-column: 1 / -1; }
.owl-contact-field label,
.owl-contact-checkbox {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.owl-contact-field input,
.owl-contact-field select,
.owl-contact-field textarea {
  width: 100%;
  border: 1px solid var(--line-strong);
  background: rgba(247,244,239,.78);
  color: var(--ink);
  border-radius: 18px;
  padding: 15px 16px;
  min-height: 54px;
  outline: none;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.owl-contact-field input:focus,
.owl-contact-field select:focus,
.owl-contact-field textarea:focus {
  border-color: var(--lavender-deep);
  background: var(--paper);
  box-shadow: 0 0 0 4px rgba(164,126,78,.16);
}
.owl-contact-form__hint {
  margin: -8px 0 2px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
}
.owl-contact-form.has-contact-choice-error .owl-contact-form__hint {
  color: var(--bronze-deep);
  font-weight: 600;
}
.owl-contact-form.has-contact-choice-error #owl-contact-email,
.owl-contact-form.has-contact-choice-error #owl-contact-phone {
  border-color: rgba(126,94,54,.65);
}
.owl-contact-checkbox { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; text-transform: none; letter-spacing: 0; line-height: 1.45; }
.owl-contact-checkbox input { margin-top: 4px; }
.owl-contact-privacy { font-size: 13px; color: var(--muted); line-height: 1.65; margin: -6px 0 0; text-align: center; }
.owl-contact-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.owl-contact-form__actions { display: flex; justify-content: center; margin-top: 6px; }
.owl-contact-notice { max-width: 860px; margin: 0 auto 24px; padding: 16px 18px; border-radius: 18px; text-align: center; background: rgba(164,126,78,.16); border: 1px solid rgba(164,126,78,.35); }
.owl-contact-notice.is-error { background: rgba(126,94,54,.12); border-color: rgba(126,94,54,.4); }
@media (max-width: 760px) { .owl-contact-form__grid { grid-template-columns: 1fr; } }

/* ===== Version 1.0.38: Mobile contact, opening-hours and map refinements ===== */
.contact-block,
.contact-block__left,
.contact-block__right,
.hours,
.map {
  min-width: 0;
}

@media (max-width: 700px) {
  .owl-contact .container {
    padding-left: clamp(12px, 4vw, 18px);
    padding-right: clamp(12px, 4vw, 18px);
  }

  .owl-contact .contact-block {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 24px;
    overflow: hidden;
  }

  .owl-contact .contact-block__left {
    padding: 32px clamp(18px, 5vw, 24px) 36px;
    gap: 24px;
  }

  .owl-contact .phone-cta {
    width: 100%;
    max-width: 100%;
    justify-content: center;
    padding: 22px clamp(18px, 5vw, 26px);
    text-align: center;
  }

  .owl-contact .phone-cta__num {
    font-size: clamp(28px, 10vw, 38px);
    letter-spacing: -.03em;
    line-height: .98;
    white-space: nowrap;
  }

  .owl-contact .hours {
    width: 100% !important;
    max-width: 100% !important;
  }

  .owl-contact .hours__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px 12px;
    width: 100%;
    min-width: 0;
    padding: 10px 0;
  }

  .owl-contact .hours__day {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    align-items: center;
  }

  .owl-contact .hours__day > span:first-child {
    min-width: 0;
  }

  .owl-contact .hours__time {
    min-width: 0;
    max-width: 9.5rem;
    margin-left: 0;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .owl-contact .hours__state {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
    padding: 4px 7px 3px;
    font-size: 8px;
  }

  .owl-contact .hours__specials {
    margin-top: 18px;
    padding-top: 18px;
  }

  .owl-contact .hours__special-title {
    text-align: center;
  }

  .owl-contact .hours__row--special {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px 0;
  }

  .owl-contact .hours__row--special .hours__day {
    justify-content: center;
    text-align: center;
  }

  .owl-contact .hours__row--special .hours__day > span:first-child {
    width: 100%;
    font-size: 15px;
    line-height: 1.3;
  }

  .owl-contact .hours__row--special .hours__state {
    justify-self: center;
    width: auto;
  }

  .owl-contact .hours__row--special .hours__time {
    max-width: 100%;
    justify-self: center;
    text-align: center;
    font-size: 16px;
    line-height: 1.35;
  }

  .owl-contact .hours__note {
    max-width: 30ch;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 12px;
  }

  .owl-contact .contact-block__right,
  .owl-contact .map,
  .owl-contact .map--google {
    min-height: clamp(460px, 120vw, 560px);
  }

  .owl-contact .map__google-card {
    top: 16px;
    left: 16px;
    right: 16px;
    max-width: none;
    padding: 14px 15px;
    border-radius: 20px;
    text-align: center;
  }

  .owl-contact .map__google-card strong {
    font-size: 16px;
  }

  .owl-contact .map__google-card span:last-child {
    font-size: 12px;
  }

  .owl-contact .map__directions {
    left: 50%;
    bottom: 42px;
    max-width: calc(100% - 32px);
    padding: 12px 16px;
    text-align: center;
    white-space: nowrap;
    transform: translateX(-50%);
  }

  .owl-contact .map__directions:hover,
  .owl-contact .map__directions:focus-visible {
    transform: translateX(-50%) translateY(-1px);
  }

  .owl-contact .map--google-optin {
    min-height: clamp(480px, 124vw, 580px);
    padding: 18px;
  }

  .owl-contact .map__consent-card {
    width: 100%;
    max-width: 360px;
    padding: 24px 18px;
    border-radius: 24px;
  }

  .owl-contact .map__consent-card strong {
    font-size: 24px;
  }
}

@media (max-width: 380px) {
  .owl-contact .phone-cta__num {
    font-size: clamp(24px, 9.2vw, 34px);
  }

  .owl-contact .hours__row {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .owl-contact .hours__day {
    justify-content: center;
  }

  .owl-contact .hours__time {
    justify-self: center;
    max-width: 100%;
    text-align: center;
  }
}

/* ===== Version 1.0.39: Kontaktseite mobile Öffnungszeiten & Kartenbutton ===== */
@media (max-width: 700px) {
  .owl-contact .contact-block .hours__row:not(.hours__row--special) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    column-gap: 16px;
    row-gap: 6px;
    text-align: left;
  }

  .owl-contact .contact-block .hours__row:not(.hours__row--special) .hours__day {
    justify-content: flex-start;
    text-align: left;
  }

  .owl-contact .contact-block .hours__row:not(.hours__row--special) .hours__day > span:first-child {
    width: auto;
    text-align: left;
  }

  .owl-contact .contact-block .hours__row:not(.hours__row--special) .hours__time {
    justify-self: end;
    max-width: min(44vw, 190px);
    margin-left: 0;
    text-align: right;
    white-space: normal;
  }

  .owl-contact .contact-block .hours__state {
    text-align: left;
  }

  .owl-contact .contact-block .hours__row--special {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: start;
    column-gap: 14px;
    row-gap: 8px;
    text-align: left;
  }

  .owl-contact .contact-block .hours__row--special .hours__day {
    justify-content: flex-start;
    text-align: left;
  }

  .owl-contact .contact-block .hours__row--special .hours__day > span:first-child {
    width: auto;
    text-align: left;
  }

  .owl-contact .contact-block .hours__row--special .hours__state {
    justify-self: start;
  }

  .owl-contact .contact-block .hours__row--special .hours__time {
    justify-self: end;
    max-width: min(46vw, 190px);
    text-align: right;
  }

  .owl-contact .contact-block .hours__row--special .hours__note {
    max-width: 24ch;
    margin-left: auto;
    margin-right: 0;
    text-align: right;
  }

  .owl-contact .contact-block .map__directions,
  .owl-contact .contact-block .map--google.is-loaded .map__directions,
  .owl-contact .contact-block .map--google-optin.is-loaded .map__directions {
    left: 50%;
    right: auto;
    bottom: clamp(18px, 5vw, 28px);
    display: inline-flex;
    justify-content: center;
    width: min(232px, calc(100% - 48px));
    min-width: 0;
    max-width: calc(100% - 48px);
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
    transform: translateX(-50%);
  }

  .owl-contact .contact-block .map__directions:hover,
  .owl-contact .contact-block .map__directions:focus-visible,
  .owl-contact .contact-block .map--google.is-loaded .map__directions:hover,
  .owl-contact .contact-block .map--google.is-loaded .map__directions:focus-visible,
  .owl-contact .contact-block .map--google-optin.is-loaded .map__directions:hover,
  .owl-contact .contact-block .map--google-optin.is-loaded .map__directions:focus-visible {
    transform: translateX(-50%) translateY(-1px);
  }
}

@media (max-width: 380px) {
  .owl-contact .contact-block .hours__row:not(.hours__row--special) {
    grid-template-columns: minmax(0, 1fr) max-content;
    text-align: left;
  }

  .owl-contact .contact-block .hours__row:not(.hours__row--special) .hours__day {
    justify-content: flex-start;
  }

  .owl-contact .contact-block .hours__row:not(.hours__row--special) .hours__time {
    justify-self: end;
    max-width: 44vw;
    text-align: right;
  }

  .owl-contact .contact-block .hours__row--special {
    grid-template-columns: minmax(0, 1fr);
  }

  .owl-contact .contact-block .hours__row--special .hours__day,
  .owl-contact .contact-block .hours__row--special .hours__time,
  .owl-contact .contact-block .hours__row--special .hours__note {
    justify-self: start;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }

  .owl-contact .contact-block .map__directions,
  .owl-contact .contact-block .map--google.is-loaded .map__directions,
  .owl-contact .contact-block .map--google-optin.is-loaded .map__directions {
    width: min(220px, calc(100% - 40px));
    max-width: calc(100% - 40px);
    bottom: 20px;
  }
}

/* ===== Version 1.0.39: Mobile Oeffnungszeiten-Zeilen und Kartenbutton verfeinert ===== */
@media (max-width: 700px) {
  .owl-contact .hours__row:not(.hours__row--special) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: start;
    column-gap: 14px;
    row-gap: 6px;
    text-align: left;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__day {
    justify-self: start;
    justify-content: flex-start;
    text-align: left;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__time {
    justify-self: end;
    margin-left: 0;
    max-width: none;
    text-align: right;
    white-space: nowrap;
  }

  .owl-contact .map__directions {
    left: 16px !important;
    right: 16px !important;
    bottom: 18px;
    width: auto;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    transform: none !important;
  }

  .owl-contact .map__directions:hover,
  .owl-contact .map__directions:focus-visible {
    transform: translateY(-1px) !important;
  }
}

@media (max-width: 420px) {
  .owl-contact .hours__row:not(.hours__row--special) {
    grid-template-columns: minmax(0, 1fr) max-content;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__time {
    justify-self: end;
    text-align: right;
    white-space: nowrap;
  }

  .owl-contact .map__directions {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px;
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* ===== Version 1.0.39: Mobile opening-hours alignment and map CTA safety ===== */
@media (max-width: 700px) {
  .owl-contact .hours__row:not(.hours__row--special) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 6px 14px !important;
    text-align: left !important;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__day {
    min-width: 0 !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__day > span:first-child {
    min-width: 0 !important;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__time {
    justify-self: end !important;
    max-width: none !important;
    margin-left: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__state {
    text-align: left !important;
  }

  .owl-contact .map,
  .owl-contact .map--google,
  .owl-contact .map--google-optin {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .owl-contact .map__iframe {
    width: 100% !important;
    max-width: 100% !important;
  }

  .owl-contact .map__directions {
    left: clamp(14px, 4vw, 18px) !important;
    right: clamp(14px, 4vw, 18px) !important;
    bottom: clamp(14px, 4vw, 20px) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transform: none !important;
    white-space: nowrap !important;
  }

  .owl-contact .map__directions:hover,
  .owl-contact .map__directions:focus-visible {
    transform: translateY(-1px) !important;
  }
}

@media (max-width: 380px) {
  .owl-contact .hours__row:not(.hours__row--special) {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    text-align: left !important;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__day {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__time {
    justify-self: end !important;
    max-width: none !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 320px) {
  .owl-contact .hours__row:not(.hours__row--special) {
    grid-template-columns: minmax(0, 1fr) !important;
    text-align: center !important;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__day,
  .owl-contact .hours__row:not(.hours__row--special) .hours__time {
    justify-self: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .owl-contact .hours__row:not(.hours__row--special) .hours__time {
    white-space: normal !important;
  }

  .owl-contact .map__directions {
    white-space: normal !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* ===== Version 1.0.41: Sonderzeiten wie regulaere Oeffnungszeiten ausrichten ===== */
.owl-contact .hours__row--special,
.owl-contact .contact-block .hours__row--special,
.owl-hoerakustik-site .site-main .hours__row--special {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: start !important;
  gap: 6px 14px !important;
  text-align: left !important;
}

.owl-contact .hours__row--special .hours__day,
.owl-contact .contact-block .hours__row--special .hours__day,
.owl-hoerakustik-site .site-main .hours__row--special .hours__day {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px 8px !important;
  text-align: left !important;
}

.owl-contact .hours__row--special .hours__day > span:first-child,
.owl-contact .contact-block .hours__row--special .hours__day > span:first-child,
.owl-hoerakustik-site .site-main .hours__row--special .hours__day > span:first-child {
  min-width: 0 !important;
  width: auto !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

.owl-contact .hours__row--special .hours__state,
.owl-contact .contact-block .hours__row--special .hours__state,
.owl-hoerakustik-site .site-main .hours__row--special .hours__state {
  justify-self: start !important;
  max-width: 100% !important;
  text-align: left !important;
  white-space: normal !important;
}

.owl-contact .hours__row--special .hours__time,
.owl-contact .contact-block .hours__row--special .hours__time,
.owl-hoerakustik-site .site-main .hours__row--special .hours__time {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: start !important;
  display: block !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.owl-contact .hours__row--special .hours__note,
.owl-contact .contact-block .hours__row--special .hours__note,
.owl-hoerakustik-site .site-main .hours__row--special .hours__note {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  justify-self: stretch !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 420px) {
  .owl-contact .hours__row--special,
  .owl-contact .contact-block .hours__row--special,
  .owl-hoerakustik-site .site-main .hours__row--special {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    gap: 6px 10px !important;
    font-size: 14px !important;
  }

  .owl-contact .hours__row--special .hours__time,
  .owl-contact .contact-block .hours__row--special .hours__time,
  .owl-hoerakustik-site .site-main .hours__row--special .hours__time {
    max-width: 38vw !important;
    font-size: 14px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 320px) {
  .owl-contact .hours__row--special,
  .owl-contact .contact-block .hours__row--special,
  .owl-hoerakustik-site .site-main .hours__row--special {
    grid-template-columns: minmax(0, 1fr) !important;
    text-align: center !important;
  }

  .owl-contact .hours__row--special .hours__day,
  .owl-contact .hours__row--special .hours__time,
  .owl-contact .hours__row--special .hours__note,
  .owl-contact .contact-block .hours__row--special .hours__day,
  .owl-contact .contact-block .hours__row--special .hours__time,
  .owl-contact .contact-block .hours__row--special .hours__note,
  .owl-hoerakustik-site .site-main .hours__row--special .hours__day,
  .owl-hoerakustik-site .site-main .hours__row--special .hours__time,
  .owl-hoerakustik-site .site-main .hours__row--special .hours__note {
    grid-column: 1 !important;
    justify-self: center !important;
    text-align: center !important;
  }

  .owl-contact .hours__row--special .hours__day,
  .owl-contact .contact-block .hours__row--special .hours__day,
  .owl-hoerakustik-site .site-main .hours__row--special .hours__day {
    justify-content: center !important;
  }

  .owl-contact .hours__row--special .hours__time,
  .owl-contact .contact-block .hours__row--special .hours__time,
  .owl-hoerakustik-site .site-main .hours__row--special .hours__time {
    grid-row: 2 !important;
    max-width: 100% !important;
  }

  .owl-contact .hours__row--special .hours__note,
  .owl-contact .contact-block .hours__row--special .hours__note,
  .owl-hoerakustik-site .site-main .hours__row--special .hours__note {
    grid-row: 3 !important;
  }
}


/* v1.0.45: Product images in hearing-system cards keep a uniform square frame.
   This overrides the generic placeholder image behavior for these product shots. */
.hs-card__visual .ph.has-image img,
.hs-detail__visual .ph.has-image img {
  object-fit: contain;
  padding: clamp(14px, 2vw, 28px);
  box-sizing: border-box;
}
.hs-card__visual .ph,
.hs-card__visual .ph.has-image {
  min-height: 0;
}
@media (max-width: 600px) {
  .hs-card__visual .ph.has-image img,
  .hs-detail__visual .ph.has-image img {
    padding: 22px;
  }
}


/* ===== Version 1.0.45: Einheitliche Hoersystem-Produktbilder ===== */
.owl-hearing-cards .hs-card__visual {
  flex: 0 0 auto;
  aspect-ratio: 1 / 1;
  min-height: 0;
  height: auto;
  display: block;
  border-radius: var(--r-md);
  background: #fff;
}

.owl-hearing-cards .hs-card__visual .ph {
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  background: #fff;
  border-radius: inherit;
}

.owl-hearing-cards .hs-card__visual .ph.has-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  background: #fff;
}

.owl-hearing-cards .hs-card.is-feat .hs-card__visual .ph,
.owl-hearing-cards .hs-card.is-feat .hs-card__visual .ph.has-image img {
  background: #fff;
}

@media (max-width: 600px) {
  .owl-hearing-cards .hs-card__visual {
    max-width: min(320px, 100%);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.owl-hearing-details .hs-detail__visual .ph {
  background: #fff;
}

.owl-hearing-details .hs-detail__visual .ph.has-image img {
  object-fit: contain;
  background: #fff;
}
