/*
 * Heidenheim.info – Globales CI 0.1.165
 * Überträgt die visuelle Sprache der neuen Startseite auf alle Inhalts-,
 * Verzeichnis-, Such-, Orts- und Detailseiten. Keine Daten-/Funktionslogik.
 */
:root{
  --hi-ci-navy:#123148;
  --hi-ci-petrol:#0b7a75;
  --hi-ci-petrol-dark:#075e5a;
  --hi-ci-green:#18823a;
  --hi-ci-ink:#243640;
  --hi-ci-muted:#607078;
  --hi-ci-bg:#f7f9fa;
  --hi-ci-surface:#fff;
  --hi-ci-soft:#edf3f4;
  --hi-ci-line:#dce5e8;
  --hi-ci-radius:16px;
  --hi-ci-radius-lg:22px;
  --hi-ci-shadow:0 6px 20px rgba(18,49,72,.07);
  --hi-ci-shadow-hover:0 12px 30px rgba(18,49,72,.11);
}

/* ---------- Grundfläche, Header, Footer ---------- */
body:not(.home){background:var(--hi-ci-bg);color:var(--hi-ci-ink)}
body:not(.home) .wp-site-blocks{background:var(--hi-ci-bg)}
body:not(.home) main.wp-block-group{box-sizing:border-box}
body:not(.home) main.alignwide:not(.hi-municipality-main):not(.hi-district-main){
  width:min(1200px,calc(100% - 2rem));
  max-width:1200px;
  margin-inline:auto;
  padding-top:clamp(2rem,4vw,3.3rem)!important;
  padding-bottom:clamp(2.8rem,5vw,4.2rem)!important;
}

.hi-site-header{
  position:sticky;
  top:var(--wp-admin--admin-bar--height,0px);
  z-index:1000;
  box-shadow:0 1px 0 rgba(18,49,72,.04),0 7px 22px rgba(18,49,72,.035);
}
.hi-site-header .wp-block-navigation-item__content{color:var(--hi-ci-navy);text-decoration:none}
.hi-site-header .wp-block-navigation-item__content:hover,
.hi-site-header .wp-block-navigation-item__content:focus-visible{color:var(--hi-ci-petrol)}
.hi-site-header .wp-block-navigation__submenu-container{
  border:1px solid #e2e8ea!important;
  border-radius:14px!important;
  box-shadow:0 14px 34px rgba(18,49,72,.12)!important;
  overflow:hidden;
}
.hi-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:.68rem .85rem!important}
.hi-site-header .wp-block-navigation .hi-nav-news>a{
  background:var(--hi-ci-petrol);color:#fff!important;padding:.55rem .88rem;
  box-shadow:0 5px 14px rgba(11,122,117,.16)
}
.hi-site-header .wp-block-navigation .hi-nav-news>a:hover{background:var(--hi-ci-petrol-dark);color:#fff!important}

.hi-site-footer{margin-top:0!important}
.hi-site-footer .wp-block-columns{margin-top:.8rem;margin-bottom:.65rem}
.hi-site-footer .hi-footer-links{font-size:.82rem;line-height:1.55}
.hi-site-footer .wp-block-heading{letter-spacing:-.015em}

/* ---------- Typografie und allgemeine Seitentitel ---------- */
body:not(.home) :is(.wp-block-post-title,.wp-block-query-title){
  color:var(--hi-ci-navy);
  font-size:clamp(2rem,4.2vw,3.35rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em;
  margin-bottom:.7rem;
}
body:not(.home) main h2.wp-block-heading,
body:not(.home) main :is(.hi-municipality-section,.hi-district-section,.hi-topic-landing__section,.hi-gastro-directory-section,.hi-service-directory-section,.hi-place-directory-section)>h2{
  color:var(--hi-ci-navy);
  font-size:clamp(1.45rem,2.5vw,2rem);
  line-height:1.12;
  letter-spacing:-.022em;
}
body:not(.home) main :is(.wp-block-post-date,.wp-block-post-terms){color:var(--hi-ci-muted)}
body:not(.home) .wp-block-post-terms a{
  display:inline-flex;align-items:center;padding:.28rem .58rem;border-radius:999px;
  background:#eaf4f2;color:var(--hi-ci-petrol-dark);font-size:.78rem;font-weight:800;text-decoration:none
}
body:not(.home) .wp-block-post-terms__separator{color:#94a2a8}

/* ---------- Portal-Hero: ein gemeinsamer Look ---------- */
body:not(.home) :is(
  .hi-place-portal__hero,
  .hi-gastro-portal__hero,
  .hi-service-portal__hero,
  .hi-topic-landing__hero,
  .hi-public-page__hero,
  .hi-newsletter-page__hero,
  .hi-owner-menu__hero,
  .hi-event-directory__head
){
  position:relative;
  overflow:hidden;
  padding:clamp(1.5rem,3vw,2.4rem)!important;
  border:1px solid var(--hi-ci-line)!important;
  border-radius:var(--hi-ci-radius-lg)!important;
  background:linear-gradient(135deg,#fff 0%,#f1f6f6 100%)!important;
  box-shadow:var(--hi-ci-shadow)!important;
}
body:not(.home) :is(
  .hi-place-portal__hero,
  .hi-gastro-portal__hero,
  .hi-service-portal__hero,
  .hi-topic-landing__hero,
  .hi-public-page__hero,
  .hi-newsletter-page__hero,
  .hi-owner-menu__hero,
  .hi-event-directory__head
)::after{
  content:"";position:absolute;right:-8%;bottom:-54%;width:36%;aspect-ratio:1;border-radius:50%;
  background:rgba(11,122,117,.06);pointer-events:none
}
body:not(.home) :is(
  .hi-place-portal__hero,
  .hi-gastro-portal__hero,
  .hi-service-portal__hero,
  .hi-topic-landing__hero,
  .hi-public-page__hero,
  .hi-newsletter-page__hero,
  .hi-owner-menu__hero,
  .hi-event-directory__head
) h1{
  position:relative;z-index:1;margin:.1rem 0 .55rem!important;color:var(--hi-ci-navy)!important;
  font-size:clamp(2rem,4vw,3.45rem)!important;line-height:1.02!important;letter-spacing:-.038em
}
body:not(.home) :is(
  .hi-place-portal__intro,
  .hi-gastro-portal__intro,
  .hi-service-portal__intro,
  .hi-topic-landing__intro,
  .hi-public-page__hero p,
  .hi-newsletter-page__hero p,
  .hi-event-directory__head p
){position:relative;z-index:1;max-width:780px;color:var(--hi-ci-muted)!important;line-height:1.5}
body:not(.home) :is(
  .hi-gastro-portal__eyebrow,
  .hi-service-portal__eyebrow,
  .hi-topic-landing__eyebrow,
  .hi-public-page__eyebrow,
  .hi-newsletter-kicker,
  .hi-owner-menu__eyebrow,
  .hi-event-visual__eyebrow,
  .hi-municipality-hero__eyebrow,
  .hi-district-hero__eyebrow,
  .hi-municipality-section__eyebrow,
  .hi-district-section__eyebrow
){color:var(--hi-ci-petrol)!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:.1em!important;text-transform:uppercase}

/* Kommunen / Landkreis behalten ihr Wappen, bekommen aber dieselbe Oberfläche. */
body:not(.home) :is(.hi-municipality-hero,.hi-district-hero){
  margin-top:clamp(1.4rem,3vw,2.5rem)!important;
  padding:clamp(1.35rem,3vw,2.35rem)!important;
  border:1px solid var(--hi-ci-line)!important;
  border-top:1px solid var(--hi-ci-line)!important;
  border-radius:var(--hi-ci-radius-lg)!important;
  background:linear-gradient(135deg,#fff 0%,#eef5f5 100%)!important;
  box-shadow:var(--hi-ci-shadow)!important
}
body:not(.home) :is(.hi-municipality-hero__title,.hi-district-hero__title){
  color:var(--hi-ci-navy)!important;font-size:clamp(2rem,4vw,3.45rem)!important;letter-spacing:-.038em!important
}
body:not(.home) :is(.hi-municipality-hero__description,.hi-district-hero__description){color:var(--hi-ci-muted)!important}

/* ---------- Suche / Filter ---------- */
body:not(.home) :is(
  .hi-place-search,
  .hi-gastro-search,
  .hi-service-search,
  .hi-topic-search,
  .hi-doctor-search,
  .hi-driving-school-search,
  .hi-martial-arts-search,
  .hi-event-range-search,
  .hi-search-filters,
  .hi-new-entries__filter
){
  gap:.65rem!important;
  padding:.7rem!important;
  border:1px solid var(--hi-ci-line);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:0 4px 14px rgba(18,49,72,.045)
}
body:not(.home) :is(
  .hi-place-search,
  .hi-gastro-search,
  .hi-service-search,
  .hi-topic-search,
  .hi-doctor-search,
  .hi-driving-school-search,
  .hi-martial-arts-search,
  .hi-event-range-search,
  .hi-search-filters,
  .hi-new-entries__filter
) :is(input,select,textarea){
  min-height:46px!important;box-sizing:border-box;border:1px solid #cfdadd!important;border-radius:11px!important;
  background:#fff!important;color:var(--hi-ci-ink)!important;padding:.65rem .8rem!important;box-shadow:none!important
}
body:not(.home) :is(
  .hi-place-search,
  .hi-gastro-search,
  .hi-service-search,
  .hi-topic-search,
  .hi-doctor-search,
  .hi-driving-school-search,
  .hi-martial-arts-search,
  .hi-event-range-search,
  .hi-search-filters,
  .hi-new-entries__filter
) button{
  min-height:46px!important;border:0!important;border-radius:11px!important;background:var(--hi-ci-petrol)!important;
  color:#fff!important;padding:.65rem 1rem!important;font-weight:800!important;cursor:pointer
}
body:not(.home) :is(
  .hi-place-search,.hi-gastro-search,.hi-service-search,.hi-topic-search,.hi-doctor-search,
  .hi-driving-school-search,.hi-martial-arts-search,.hi-event-range-search,.hi-search-filters,.hi-new-entries__filter
) button:hover{background:var(--hi-ci-petrol-dark)!important}

body:not(.home) .wp-block-search .wp-block-search__inside-wrapper{
  padding:.35rem;border:1px solid var(--hi-ci-line);border-radius:999px;background:#fff;box-shadow:var(--hi-ci-shadow)
}
body:not(.home) .wp-block-search__input{min-height:48px;border:0!important;padding-inline:1rem!important;background:transparent}
body:not(.home) .wp-block-search__button{border-radius:999px!important;background:var(--hi-ci-petrol)!important}

/* ---------- Auswahl-/Themenkacheln ---------- */
body:not(.home) :is(
  .hi-place-type-grid a,
  .hi-gastro-type-grid a,
  .hi-service-topic,
  .hi-municipality-useful-links a,
  .hi-district-jumpnav a,
  .hi-municipality-jumpnav a,
  .hi-public-page__card,
  .hi-newsletter-benefit-option
){
  border:1px solid var(--hi-ci-line)!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 4px 14px rgba(18,49,72,.045)!important;color:var(--hi-ci-navy)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
body:not(.home) :is(
  .hi-place-type-grid a,
  .hi-gastro-type-grid a,
  .hi-service-topic,
  .hi-municipality-useful-links a,
  .hi-district-jumpnav a,
  .hi-municipality-jumpnav a,
  .hi-public-page__card,
  .hi-newsletter-benefit-option
):hover{
  transform:translateY(-2px);border-color:#b8d2d0!important;box-shadow:var(--hi-ci-shadow-hover)!important
}

/* ---------- Karten in Verzeichnissen ---------- */
body:not(.home) :is(
  .hi-place-card,
  .hi-gastro-card,
  .hi-service-directory-card,
  .hi-content-card,
  .hi-municipality-content-card,
  .hi-district-content-card,
  .hi-districtwide-card,
  .hi-new-entry-card,
  .hi-daily-provider-card,
  .hi-daily-menu-card,
  .hi-event-card,
  .hi-ui-event-card
){
  border:1px solid var(--hi-ci-line)!important;border-radius:var(--hi-ci-radius)!important;background:#fff!important;
  box-shadow:var(--hi-ci-shadow)!important;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
body:not(.home) :is(
  .hi-place-card,.hi-gastro-card,.hi-service-directory-card,.hi-content-card,.hi-municipality-content-card,
  .hi-district-content-card,.hi-districtwide-card,.hi-new-entry-card,.hi-daily-provider-card,.hi-daily-menu-card,.hi-event-card,.hi-ui-event-card
):hover{transform:translateY(-2px);border-color:#bfd4d4!important;box-shadow:var(--hi-ci-shadow-hover)!important}

body:not(.home) :is(
  .hi-place-card__image,
  .hi-gastro-card__image,
  .hi-district-content-card__image,
  .hi-municipality-content-card__image,
  .hi-daily-menu-card__image
){background:#eaf0f2;overflow:hidden}
body:not(.home) :is(
  .hi-place-card__image,
  .hi-gastro-card__image,
  .hi-district-content-card__image,
  .hi-municipality-content-card__image,
  .hi-daily-menu-card__image
) img{display:block;width:100%;height:100%;object-fit:cover}
body:not(.home) :is(
  .hi-place-card__body,
  .hi-gastro-card__body,
  .hi-service-directory-card,
  .hi-municipality-content-card__body,
  .hi-district-content-card__body,
  .hi-daily-provider-card__body
){padding:1rem!important}
body:not(.home) :is(.hi-place-card,.hi-gastro-card,.hi-service-directory-card,.hi-content-card) h3{
  margin:.15rem 0 .45rem;color:var(--hi-ci-navy);font-size:1.05rem;line-height:1.25;letter-spacing:-.012em
}
body:not(.home) :is(
  .hi-place-card__meta,.hi-gastro-card__meta,.hi-service-directory-card__meta,.hi-municipality-content-card__meta,
  .hi-place-card__excerpt,.hi-place-card__detail,.hi-gastro-card__excerpt,.hi-gastro-card__opening,
  .hi-service-directory-card__excerpt,.hi-service-directory-card__detail
){color:var(--hi-ci-muted)!important}
body:not(.home) :is(.hi-place-card__more,.hi-gastro-card__more,.hi-service-directory-card__more,.hi-municipality-content-card__more,.hi-district-content-card__more){
  color:var(--hi-ci-petrol)!important;font-weight:800;text-decoration:none
}

/* ---------- Veranstaltungsverzeichnis ---------- */
body:not(.home) .hi-event-directory{width:100%;max-width:1200px;margin-inline:auto}
body:not(.home) .hi-event-directory__head{margin-bottom:1.2rem}
body:not(.home) .hi-event-range-nav{gap:.45rem}
body:not(.home) .hi-event-range-nav__item,
body:not(.home) .hi-event-pagination a,
body:not(.home) .hi-event-pagination span{
  border:1px solid var(--hi-ci-line)!important;border-radius:999px!important;background:#fff!important;
  color:var(--hi-ci-navy)!important;font-weight:750!important;text-decoration:none!important
}
body:not(.home) .hi-event-range-nav__item.is-active{background:var(--hi-ci-petrol)!important;color:#fff!important;border-color:var(--hi-ci-petrol)!important}
body:not(.home) .hi-event-directory--native .hi-ui-event-grid{gap:18px}
body:not(.home) .hi-event-directory--native .hi-ui-event-card__body{background:#fff}
body:not(.home) .hi-event-directory--native .hi-ui-event-card h3 a{color:var(--hi-ci-navy)!important}

/* ---------- Detailseiten ---------- */
body:not(.home) :is(.hi-place-single,.hi-gastro-single,.hi-event-single,.hi-daily-menu-single){
  width:min(1200px,calc(100% - 2rem));max-width:1200px;margin-inline:auto
}
body:not(.home) :is(.hi-place-single,.hi-gastro-single,.hi-event-single)>.wp-block-post-title,
body.single-hi_service main>.wp-block-post-title,
body.single-hi_destination main>.wp-block-post-title{
  max-width:960px;margin-top:.45rem
}
body:not(.home) :is(.hi-entry-detail-columns,.hi-event-detail-columns){align-items:flex-start!important;gap:clamp(1.5rem,4vw,3rem)!important}
body:not(.home) :is(.hi-entry-gallery__main,.wp-block-post-featured-image img,.hi-event-hero){
  border-radius:var(--hi-ci-radius-lg)!important;box-shadow:var(--hi-ci-shadow)
}
body:not(.home) :is(.hi-fact-box,.hi-event-facts,.hi-entry-public-facts,.hi-fuel-price-panel){
  border:1px solid var(--hi-ci-line)!important;border-radius:var(--hi-ci-radius)!important;background:#fff!important;
  box-shadow:var(--hi-ci-shadow)!important;padding:1rem!important
}
body:not(.home) :is(.hi-fact-box__title,.hi-entry-public-facts__title){color:var(--hi-ci-navy)!important;font-size:1.08rem!important;font-weight:850!important}
body:not(.home) :is(.hi-fact-box__row,.hi-event-facts__row,.hi-entry-public-facts__item){
  border-color:#e7edef!important
}
body:not(.home) :is(.hi-fact-box__button,.hi-event-facts__route-button,.hi-event-facts__location-button,.hi-button,.hi-owner-button){
  border-radius:11px!important;font-weight:800!important;text-decoration:none!important
}
body:not(.home) :is(.hi-button--primary,.hi-owner-button--primary,.hi-fact-box__button--route,.hi-event-facts__route-button){
  background:var(--hi-ci-petrol)!important;color:#fff!important;border-color:var(--hi-ci-petrol)!important
}

/* ---------- Karten / Lage ---------- */
body:not(.home) :is(.hi-map-overview,.hi-map-section,.hi-search-map,.hi-daily-menu-map,.hi-event-map-section){
  overflow:hidden;border:1px solid var(--hi-ci-line)!important;border-radius:var(--hi-ci-radius-lg)!important;
  background:#fff!important;box-shadow:var(--hi-ci-shadow)!important
}
body:not(.home) :is(.hi-map-overview__header,.hi-map-overview__head,.hi-map-section>h2,.hi-event-map-section>h2){padding-inline:1rem}
body:not(.home) .hi-map-canvas{background:#eaf0f2}

/* ---------- Rückmeldung, leere Zustände, Hinweise ---------- */
body:not(.home) .hi-feedback-cta{
  margin-top:2rem!important;border:1px solid var(--hi-ci-line)!important;border-radius:var(--hi-ci-radius)!important;
  background:linear-gradient(135deg,#eef6f5,#fff)!important;box-shadow:0 4px 14px rgba(18,49,72,.04)!important
}
body:not(.home) :is(.hi-empty-state,.hi-admin-note,.hi-topic-landing__section-head,.hi-gastro-open-filter-note,.hi-place-subtype-line){
  border:1px solid var(--hi-ci-line);border-radius:13px;background:#fff;color:var(--hi-ci-muted);padding:.85rem 1rem
}

/* ---------- Suche ---------- */
body.search main{width:min(1100px,calc(100% - 2rem))!important}
body.search .hi-search-result{
  margin:0 0 .8rem!important;padding:1rem 1.1rem!important;border:1px solid var(--hi-ci-line)!important;border-radius:15px!important;
  background:#fff!important;box-shadow:0 4px 14px rgba(18,49,72,.045)!important
}
body.search .hi-search-result .wp-block-post-title{margin:.1rem 0 .35rem!important;font-size:1.15rem!important;letter-spacing:-.012em!important}
body.search .hi-search-result .wp-block-post-title a{color:var(--hi-ci-navy);text-decoration:none}
body.search .hi-search-result .wp-block-post-excerpt{color:var(--hi-ci-muted);font-size:.88rem}
body.search .hi-search-result__type,
body.search .hi-search-result__taxonomy a{border-radius:999px!important;font-weight:800!important}

/* ---------- Tagesessen ---------- */
body:not(.home) .hi-daily-menu-portal{gap:1.1rem!important}
body:not(.home) .hi-daily-menu-toolbar,
body:not(.home) .hi-daily-menu-filter,
body:not(.home) .hi-daily-menu-location{
  border:1px solid var(--hi-ci-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 4px 14px rgba(18,49,72,.04)
}
body:not(.home) .hi-daily-menu-day-group__title{color:var(--hi-ci-navy);letter-spacing:-.015em}

/* ---------- Öffentliche / rechtliche / Newsletter-Seiten ---------- */
body:not(.home) :is(.hi-public-page,.hi-legal-page,.hi-newsletter-page){width:min(1040px,calc(100% - 2rem));margin-inline:auto}
body:not(.home) :is(.hi-legal-toc,.hi-legal-sections>section,.hi-privacy-facts,.hi-newsletter-signup,.hi-newsletter-preferences){
  border:1px solid var(--hi-ci-line)!important;border-radius:var(--hi-ci-radius)!important;background:#fff!important;box-shadow:var(--hi-ci-shadow)!important
}

/* ---------- Block-Karten und Standardinhalte ---------- */
body:not(.home) .hi-content-card{padding:0!important}
body:not(.home) .hi-content-card .wp-block-post-featured-image{margin:0;overflow:hidden;border-radius:15px 15px 0 0!important}
body:not(.home) .hi-content-card>:not(.wp-block-post-featured-image){margin-left:1rem;margin-right:1rem}
body:not(.home) .hi-content-card>:last-child{margin-bottom:1rem}
body:not(.home) .wp-block-query-pagination{gap:.4rem;margin-top:2rem}
body:not(.home) .wp-block-query-pagination a,
body:not(.home) .wp-block-query-pagination .page-numbers{
  min-width:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;
  padding:.45rem .7rem;border:1px solid var(--hi-ci-line);border-radius:999px;background:#fff;color:var(--hi-ci-navy);text-decoration:none;font-weight:750
}
body:not(.home) .wp-block-query-pagination .current{background:var(--hi-ci-petrol);border-color:var(--hi-ci-petrol);color:#fff}

/* ---------- Responsive ---------- */
@media(max-width:782px){
  .hi-site-header{top:46px}
  .hi-site-header .wp-block-navigation__responsive-container.is-menu-open{padding:1.25rem;background:#fff!important;color:var(--hi-ci-navy)!important}
  body:not(.home) main.alignwide:not(.hi-municipality-main):not(.hi-district-main){width:min(100% - 1rem,1200px)}
  body:not(.home) :is(.hi-place-portal__hero,.hi-gastro-portal__hero,.hi-service-portal__hero,.hi-topic-landing__hero,.hi-public-page__hero,.hi-newsletter-page__hero,.hi-event-directory__head){border-radius:17px!important;padding:1.2rem!important}
  body:not(.home) :is(.hi-entry-detail-columns,.hi-event-detail-columns){gap:1.2rem!important}
}
@media(max-width:620px){
  body:not(.home) :is(.wp-block-post-title,.wp-block-query-title){font-size:clamp(1.75rem,9vw,2.55rem)!important}
  body:not(.home) :is(.hi-municipality-hero,.hi-district-hero){border-radius:17px!important}
  body:not(.home) :is(.hi-place-type-grid,.hi-gastro-type-grid,.hi-service-topic-grid,.hi-municipality-useful-links){grid-template-columns:1fr!important}
  body.search .hi-search-result{padding:.9rem!important}
}
@media(prefers-reduced-motion:reduce){
  body:not(.home) :is(.hi-place-card,.hi-gastro-card,.hi-service-directory-card,.hi-content-card,.hi-municipality-content-card,.hi-district-content-card,.hi-districtwide-card,.hi-new-entry-card,.hi-daily-provider-card,.hi-daily-menu-card,.hi-event-card,.hi-ui-event-card){transition:none}
}
