:root {
  --texel-ink: #153d52;
  --texel-ink-soft: #294f62;
  --texel-coral: #e1b91f;
  --texel-coral-dark: #b28e00;
  --texel-sand: #fff7cf;
  --texel-sun: #e1b91f;
  --texel-mist: #eef8fc;
  --texel-white: #ffffff;
  --texel-radius: 22px;
  --texel-shadow: 0 24px 70px rgba(22, 58, 67, 0.13);
}

html { scroll-padding-top: 110px; }
body { color: var(--texel-ink-soft); background: #fffdf8; }
h1, h2, h3, h4, h5, h6 {
  color: var(--texel-ink);
  font-family: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
  font-weight: 700;
  letter-spacing: .008em;
  text-wrap: balance;
}
.uk-heading-medium, .uk-heading-small {
  font-family: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
  font-weight: 700;
  letter-spacing: .012em;
}

.uk-button-primary {
  color: #fff !important;
  background: var(--texel-ink) !important;
  border-color: var(--texel-ink) !important;
}
.uk-button-primary:hover,
.uk-button-primary:focus-visible {
  color: var(--texel-navy-deep) !important;
  background: var(--texel-blue) !important;
  border-color: var(--texel-blue) !important;
}
.uk-button-default {
  color: var(--texel-ink) !important;
  background: transparent;
  border-color: rgba(21,61,82,.5);
}
.uk-button-text { color: var(--texel-ink) !important; }
.uk-button-text::before { border-bottom-color: var(--texel-coral) !important; }

.uk-logo {
  color: var(--texel-ink) !important;
  font-family: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.025em;
}
.uk-logo::after {
  content: ' · DE KOOG';
  color: var(--texel-coral);
  font-family: 'Outfit', sans-serif;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .13em;
  vertical-align: .18em;
}
.tm-topbar { letter-spacing: .035em; }
.tm-topbar a, .tm-topbar a:hover { color: #fff; }
.uk-navbar-container {
  border-bottom: 1px solid rgba(22, 58, 67, .08);
  box-shadow: 0 7px 28px rgba(22, 58, 67, .045);
}
#navbar .uk-navbar,
#navbar .uk-logo,
#navbar .uk-navbar-item,
#navbar .uk-navbar-nav > li > a,
#navbar .uk-navbar-toggle {
  min-height: 80px;
}
#navbar .uk-navbar-toggle { color: var(--texel-ink); }
.uk-navbar-nav > li > a {
  color: var(--texel-ink);
  font-size: .79rem;
  font-weight: 600;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.uk-navbar-nav > li.uk-active > a, .uk-navbar-nav > li > a:hover { color: var(--texel-coral); }
.uk-navbar-nav > li.uk-active > a::before,
.uk-navbar-nav > li > a:hover::before {
  right: 15px;
  bottom: 12px;
  height: 3px;
  background-color: var(--texel-navy) !important;
  border-radius: 999px;
}
.uk-navbar-nav > li > a { overflow: visible; }
.tm-booking-button { border-radius: 3px; box-shadow: none; }

.texel-hero {
  position: relative;
  overflow: hidden;
  min-height: min(680px, calc(100vh - 112px));
  background: var(--texel-ink);
}
.texel-hero.uk-section-large { padding-top: 70px; padding-bottom: 70px; }
.texel-hero::before, .texel-hero::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.texel-hero::before {
  display: none;
}
.texel-hero::after {
  display: none;
}
.texel-kicker, .texel-section-kicker {
  color: var(--texel-coral);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.texel-kicker { display: inline-flex; align-items: center; gap: .65rem; color: var(--texel-yellow); }
.texel-kicker::before { content: ''; width: 34px; height: 1px; background: currentColor; }
.texel-hero h1 {
  max-width: 760px;
  color: #fff;
  font-size: clamp(2.9rem, 4.6vw, 4.8rem);
  line-height: .98;
  letter-spacing: -.04em;
}
.texel-hero .texel-lead {
  max-width: 680px;
  color: rgba(255,255,255,.82);
  font-size: clamp(1.05rem, 1.5vw, 1.28rem);
}
.texel-hero .uk-button-default {
  color: #fff !important;
  background: transparent;
  border-color: rgba(255,255,255,.58);
}
.texel-hero .uk-button { border-radius: 3px; }
.texel-hero .uk-button-default:hover,
.texel-hero .uk-button-default:focus { color: var(--texel-ink) !important; background: #fff; border-color: #fff; }
.texel-hero-visual { position: relative; padding: 2.2rem 0 2.2rem 2.2rem; }
.texel-hero-visual figure { margin: 0; }
.texel-hero-visual img {
  width: 100%;
  min-height: 450px;
  object-fit: cover;
  border-radius: 3px;
  box-shadow: 0 20px 54px rgba(0,0,0,.22);
}
.texel-hero-visual::before {
  display: none;
}
.texel-facts { display: flex; flex-wrap: wrap; gap: .75rem 1.6rem; margin-top: 2rem; color: rgba(255,255,255,.88); }
.texel-facts span { display: inline-flex; align-items: center; gap: .45rem; font-size: .9rem; }

.texel-card, .texel-apartment-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(22,58,67,.1);
  border-radius: var(--texel-radius);
  background: #fff;
  box-shadow: 0 14px 45px rgba(22, 58, 67, .075);
  transition: transform .3s ease, box-shadow .3s ease;
}
.texel-card:hover, .texel-apartment-card:hover { transform: translateY(-6px); box-shadow: var(--texel-shadow); }
.texel-card-body { padding: clamp(1.35rem, 3vw, 2.2rem); }
.texel-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--texel-coral);
  background: rgba(232,101,67,.11);
  border-radius: 50%;
}
.texel-number {
  color: var(--texel-coral);
  font-family: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}
.texel-apartment-card .texel-meta, .texel-pill-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.texel-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .42rem .72rem;
  color: var(--texel-ink);
  background: var(--texel-sand);
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 600;
}
.texel-anchor-nav {
  position: sticky;
  z-index: 5;
  top: 82px;
  padding: .8rem;
  background: rgba(255,253,250,.9);
  border: 1px solid rgba(22,58,67,.09);
  border-radius: 999px;
  box-shadow: 0 14px 40px rgba(22,58,67,.08);
  backdrop-filter: blur(14px);
}
.texel-anchor-nav .uk-subnav { margin: 0; }
.texel-anchor-nav a {
  color: var(--texel-ink) !important;
  font-weight: 600;
}
.texel-anchor-nav .uk-active > a,
.texel-anchor-nav a:hover,
.texel-anchor-nav a:focus {
  color: #fff !important;
  background: var(--texel-coral) !important;
}
.texel-gallery img { transition: transform .5s cubic-bezier(.22,1,.36,1); }
.texel-gallery a:hover img { transform: scale(1.035); }
.texel-archive-gallery a { pointer-events: none; cursor: default; }
.texel-archive-gallery .uk-overlay { display: none; }
.texel-archive-gallery img { width: 100%; }

.texel-calendar-shell {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  border: 1px solid rgba(22,58,67,.13);
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
}
.texel-calendar-shell .uk-switcher {
  margin: 0;
  padding: clamp(.75rem, 1.5vw, 1.35rem);
  overflow: hidden;
  background: #fff;
}
.texel-calendar-shell .uk-switcher > li { overflow: hidden; margin: 0; }
.texel-calendar-shell iframe {
  display: block;
  width: 100%;
  min-height: 480px;
  margin-bottom: 0;
  border: 0;
  background: #fff;
  transform: none;
}
.texel-calendar-shell.is-enhanced iframe {
  min-height: 517px;
  margin-bottom: -37px;
  transform: translateY(-37px);
}
.texel-calendar-control {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  min-height: 70px;
  padding: .8rem 1rem;
  border-bottom: 1px solid rgba(22,58,67,.13);
  background: #fff;
}
.texel-calendar-control label {
  color: var(--texel-ink);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.texel-calendar-month {
  min-width: 190px;
  height: 42px;
  padding: 0 2.65rem 0 .9rem;
  border: 1px solid rgba(22,58,67,.34);
  border-radius: 2px;
  color: var(--texel-ink);
  background-color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.texel-calendar-month:hover { border-color: var(--texel-ink); }
.texel-calendar-month:focus-visible {
  border-color: var(--texel-ink);
  outline: 3px solid rgba(232,190,20,.35);
  outline-offset: 2px;
}
.texel-calendar-tabs { margin: 0; padding: .8rem; background: var(--texel-ink); }
.texel-calendar-tabs > * > a { color: rgba(255,255,255,.72) !important; border-radius: 2px; }
.texel-calendar-tabs > .uk-active > a { color: var(--texel-ink) !important; background: var(--texel-sun) !important; }
.texel-price-table {
  overflow-x: auto;
  border: 1px solid rgba(22,58,67,.12);
  border-radius: var(--texel-radius);
  background: #fff;
  box-shadow: 0 18px 55px rgba(22,58,67,.07);
}
.texel-price-table table { min-width: 720px; margin: 0; }
.texel-price-table th { color: #fff; background: var(--texel-ink); }
.texel-price-table td, .texel-price-table th { padding: .9rem 1rem; }
.texel-price-table tr:nth-child(even) td { background: rgba(243,239,231,.62); }
.texel-callout {
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: var(--texel-radius);
  background: var(--texel-sand);
  border: 1px solid rgba(232,101,67,.16);
}
.texel-contact-card {
  padding: clamp(1.8rem, 5vw, 4rem);
  color: #fff;
  background: var(--texel-ink);
  border-radius: 30px;
  box-shadow: var(--texel-shadow);
}
.texel-contact-card h1, .texel-contact-card h2, .texel-contact-card h3, .texel-contact-card a { color: #fff; }
.texel-contact-card a:hover { color: var(--texel-blue); }
.texel-contact-card .uk-heading-small {
  font-size: clamp(2.15rem, 4vw, 4rem);
  line-height: 1.05;
}
.texel-contact-card .uk-button { margin-bottom: .5rem; }
.texel-contact-card .uk-button-default {
  color: var(--texel-ink) !important;
  background: #fff;
  border-color: #fff;
}
.texel-contact-card .uk-button-default:hover,
.texel-contact-card .uk-button-default:focus {
  color: #fff !important;
  background: transparent;
  border-color: rgba(255,255,255,.7);
}
.texel-contact-form-block { margin-top: 2rem; }
.texel-contact-form .uk-form-label {
  margin-bottom: .45rem;
  color: var(--texel-ink);
  font-weight: 600;
}
.texel-contact-form .uk-input,
.texel-contact-form .uk-textarea {
  color: var(--texel-ink);
  background: #fff;
  border-color: rgba(21,61,82,.34);
  border-radius: 2px;
}
.texel-contact-form .uk-input:focus,
.texel-contact-form .uk-textarea:focus {
  border-color: var(--texel-coral);
  box-shadow: 0 0 0 2px rgba(202,162,0,.12);
}
.texel-contact-form .uk-text-danger { display: block; margin-top: .35rem; }
.texel-contact-form abbr { color: var(--texel-coral-dark); text-decoration: none; }
.texel-empty-legal { min-height: 52vh; }
#footer { color: rgba(255,255,255,.72); background: var(--texel-ink); }
#footer h2, #footer a { color: #fff; }
#footer .uk-button-default {
  color: var(--texel-ink) !important;
  background: #fff;
  border-color: #fff;
}
#footer .uk-button-default:hover,
#footer .uk-button-default:focus {
  color: #fff !important;
  background: transparent;
  border-color: #fff;
}
#footer .uk-button + .uk-button { margin-left: .5rem; }
.texel-editorial-column,
.texel-apartment-summary {
  padding-top: 1.35rem;
  border-top: 2px solid var(--texel-coral);
}
.texel-cta-section {
  color: rgba(255,255,255,.8);
  background: var(--texel-ink) !important;
}
.texel-cta-section h2,
.texel-cta-section a:not(.uk-button) { color: #fff; }
.texel-cta-section .uk-button + .uk-button { margin-left: .55rem; }
.texel-cta-section .uk-button-default {
  color: var(--texel-ink) !important;
  background: #fff;
  border-color: #fff;
}

/* Startseitenentwurf A: ruhiges Küsten-Editorial */
body:has(.concept-a-hero) #navbar .uk-navbar-container {
  background: #f3eee4 !important;
  border-bottom-color: rgba(24,61,67,.2);
  box-shadow: none;
}
body:has(.concept-a-hero) #navbar .tm-booking-button { border-radius: 0; }
.concept-a-hero {
  color: #48585b;
  background: #f3eee4 !important;
}
.concept-a-hero h1 {
  max-width: 620px;
  color: #183d43;
  font-size: clamp(3.6rem, 5vw, 6rem);
  line-height: .88;
  letter-spacing: -.055em;
}
.concept-a-hero-copy {
  padding-left: clamp(1rem, 4vw, 4.5rem);
  border-left: 1px solid rgba(24,61,67,.24);
}
.concept-a-hero-photo figure { margin: 0; }
.concept-a-hero-photo img {
  width: 100%;
  min-height: 520px;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
}
.concept-a-hero-photo figcaption {
  padding-top: .7rem;
  color: #6a7474;
  font-size: .78rem;
  font-style: normal;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.concept-a-kicker,
.concept-a-kicker p {
  margin: 0 0 1.1rem;
  color: #9b7d00;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.concept-a-hero .uk-button-primary,
.concept-a-cta .uk-button { border-radius: 0; }
.concept-a-hero .uk-button-text { margin-left: 1.1rem; }
.concept-a-facts { background: #183d43 !important; }
.concept-a-facts > .uk-container > .uk-grid > div {
  padding: 1.15rem clamp(1rem, 2vw, 2rem);
  border-left: 1px solid rgba(255,255,255,.18);
}
.concept-a-facts > .uk-container > .uk-grid > div:first-child { border-left: 0; }
.concept-a-facts h2 { margin-bottom: .1rem; color: #e0bd43; }
.concept-a-facts p { margin: 0; color: rgba(255,255,255,.72); }
.concept-a-apartments { background: #e9e6dd !important; }
.concept-a-apartments > .uk-container > .uk-grid > div:first-child { margin-bottom: 1.5rem; }
.concept-a-unit { padding-top: 1rem; border-top: 1px solid #183d43; }
.concept-a-unit figure { margin-bottom: 1.65rem; }
.concept-a-unit img { border-radius: 0; filter: saturate(.86); transition: filter .3s ease; }
.concept-a-unit:hover img { filter: saturate(1); }
.concept-a-unit h3 { margin-top: 0; color: #183d43; }
.concept-a-island h2 { color: #183d43; }
.concept-a-archive a { pointer-events: none; }
.concept-a-archive .uk-overlay { display: none; }
.concept-a-archive img { width: 100%; filter: sepia(.12) saturate(.82); }
.concept-a-cta { background: #183d43 !important; }
.concept-a-cta > .uk-container { max-width: 1040px; margin-left: max(40px, calc((100vw - 1280px) / 2)); }
.concept-a-cta h2 { max-width: 780px; color: #fff; }
.concept-a-cta p { max-width: 700px; color: rgba(255,255,255,.76); }
.concept-a-cta .uk-button-default { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.5); }
.concept-a-cta .uk-button + .uk-button { margin-left: .65rem; }

/* Startseitenentwurf B: bildstark und zeitgenössisch */
body:has(.concept-b-hero) #navbar .uk-navbar-container {
  background: #183d43 !important;
  border-bottom-color: rgba(255,255,255,.14);
  box-shadow: none;
}
body:has(.concept-b-hero) #navbar .uk-logo,
body:has(.concept-b-hero) #navbar .uk-navbar-nav > li > a,
body:has(.concept-b-hero) #navbar .uk-navbar-toggle { color: #fff !important; }
body:has(.concept-b-hero) #navbar .tm-booking-button {
  color: #183d43 !important;
  background: #e0bd43 !important;
  border-color: #e0bd43 !important;
  border-radius: 0;
}
.concept-b-hero {
  min-height: min(790px, calc(100vh - 118px));
  display: flex;
  align-items: flex-end;
  padding-top: 130px;
  padding-bottom: 90px;
}
.concept-b-hero h1 {
  max-width: 980px;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(4rem, 7.4vw, 7.8rem);
  font-weight: 600;
  line-height: .88;
  letter-spacing: -.055em;
}
.concept-b-hero-copy { max-width: 1000px; }
.concept-b-kicker,
.concept-b-kicker p {
  margin: 0 0 1rem;
  color: #e0bd43;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.concept-b-hero-copy > .concept-b-kicker p { color: #f3ce50; }
.concept-b-hero-copy > .uk-text-large { max-width: 720px; color: rgba(255,255,255,.86); }
.concept-b-hero .uk-button { border-radius: 0; }
.concept-b-hero .uk-button-default { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.62); }
.concept-b-hero .uk-button-default:hover { color: #183d43 !important; background: #fff; }
.concept-b-hero .uk-button + .uk-button { margin-left: .65rem; }
.concept-b-hero-facts { margin-top: 3rem; }
.concept-b-hero-facts p { display: flex; flex-wrap: wrap; gap: .7rem 2rem; }
.concept-b-hero-facts span { padding-top: .55rem; border-top: 1px solid rgba(255,255,255,.48); color: #fff; font-size: .84rem; }
.concept-b-intro { padding-top: 120px; padding-bottom: 120px; }
.concept-b-intro {
  background-image:
    linear-gradient(90deg, rgba(255,253,248,.96) 0%, rgba(255,253,248,.9) 48%, rgba(255,253,248,.72) 100%),
    url('/assets/images/texel/strandgras-sonnenlicht.webp') !important;
  background-position: center;
  background-size: cover;
}
.concept-b-intro h2 {
  max-width: 900px;
  color: #183d43;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(3.2rem, 5.4vw, 6rem);
  font-weight: 500;
  line-height: .98;
}
.concept-b-feature { background: #e7eceb !important; }
.concept-b-gallery img { width: 100%; border-radius: 0; filter: saturate(.8); }
.concept-b-gallery > .uk-grid > div:nth-child(2) { transform: translateY(2.5rem); }
.concept-b-feature h2 { color: #183d43; font-family: 'Outfit', sans-serif; font-weight: 550; }
.concept-b-feature li { margin-top: .55rem; }
.concept-b-feature .uk-button { border-radius: 0; }
.concept-b-apartments h2 { max-width: 850px; color: #183d43; font-family: 'Outfit', sans-serif; font-weight: 550; }
.concept-b-apartments > .uk-container > .uk-grid > div:first-child { margin-bottom: 2rem; }
.concept-b-unit {
  min-height: 320px;
  padding-top: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 2rem;
  border-top: 4px solid #183d43;
  border-right: 1px solid rgba(24,61,67,.18);
}
.concept-b-unit .concept-b-number {
  margin: 0 0 2.5rem;
  color: #caa200;
  font-family: 'Outfit', sans-serif;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
}
.concept-b-unit h3 { color: #183d43; font-family: 'Outfit', sans-serif; font-weight: 600; }
.concept-b-cta { padding-top: 120px; padding-bottom: 120px; background: #183d43 !important; }
.concept-b-cta h2 {
  max-width: 1060px;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(3.3rem, 6vw, 6.4rem);
  font-weight: 550;
  line-height: .96;
}
.concept-b-cta .uk-button { border-radius: 0; }
.concept-b-cta .uk-button-default { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.55); }
.concept-b-cta .uk-button + .uk-button { margin-left: .65rem; }

/* Startseitenentwurf C: charaktervolle Texel-Nostalgie */
body:has(.concept-c-hero) #navbar .uk-navbar-container {
  background: #e1b91f !important;
  border-bottom: 2px solid #153d52;
  box-shadow: none;
}
body:has(.concept-c-hero) #navbar .uk-logo,
body:has(.concept-c-hero) #navbar .uk-navbar-nav > li > a,
body:has(.concept-c-hero) #navbar .uk-navbar-toggle { color: #153d52 !important; }
body:has(.concept-c-hero) #navbar .tm-booking-button {
  color: #fff !important;
  background: #153d52 !important;
  border-color: #153d52 !important;
  border-radius: 0;
}
.concept-c-hero {
  padding-top: 90px;
  padding-bottom: 105px;
  background: #e1b91f !important;
  border-bottom: 0;
}
.concept-c-hero h1 {
  max-width: 700px;
  color: #153d52;
  font-size: clamp(4.3rem, 8.6vw, 8.7rem);
  line-height: .82;
  letter-spacing: .006em;
}
.concept-c-hero-copy { padding-right: clamp(1rem, 4vw, 4.5rem); }
.concept-c-kicker,
.concept-c-kicker p {
  margin: 0 0 1rem;
  color: #153d52;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.concept-c-hero .uk-text-large { max-width: 650px; color: #253f49; }
.concept-c-hero .uk-button { border-radius: 0; }
.concept-c-hero .uk-button-primary { color: #fff !important; background: #153d52 !important; border-color: #153d52 !important; }
.concept-c-hero .uk-button-default {
  color: var(--texel-navy-deep) !important;
  background: var(--texel-blue) !important;
  border-color: var(--texel-navy) !important;
}
.concept-c-hero .uk-button + .uk-button { margin-left: .65rem; }
.concept-c-postcards {
  padding: 1rem;
  background: #fff;
  border: 3px solid #153d52;
  box-shadow: 0 24px 55px rgba(11,45,61,.24);
  transform: none;
}
.concept-c-postcards > .uk-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  aspect-ratio: 4 / 3;
  margin-left: 0;
}
.concept-c-postcards > .uk-grid > div {
  width: auto !important;
  min-width: 0;
  margin-top: 0 !important;
  padding-left: 0;
  transform: none !important;
}
.concept-c-postcards > .uk-grid > div:first-child { grid-column: span 2; }
.concept-c-postcards a,
.concept-c-postcards picture {
  display: block;
  width: 100%;
  height: 100%;
}
.concept-c-postcards a {
  overflow: hidden;
  cursor: zoom-in;
}
.concept-c-postcards img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(.98) saturate(.96);
  transition: transform .45s cubic-bezier(.22, 1, .36, 1), filter .45s ease;
}
.concept-c-postcards a:hover img,
.concept-c-postcards a:focus-visible img {
  filter: contrast(1.02) saturate(1.04);
  transform: scale(1.035);
}
.concept-c-stats { background: #153d52 !important; }
.concept-c-stats > .uk-container > .uk-grid > div { padding: 1.2rem clamp(1rem, 3vw, 3rem); border-left: 1px dashed rgba(255,255,255,.35); }
.concept-c-stats > .uk-container > .uk-grid > div:first-child { border-left: 0; }
.concept-c-stats h2 { margin-bottom: .15rem; color: #f3ca31; }
.concept-c-stats p { margin: 0; color: rgba(255,255,255,.75); }
.concept-c-apartments { background: #f3eee1 !important; }
.concept-c-apartments > .uk-container > .uk-grid > div:first-child { margin-bottom: 1.5rem; }
.concept-c-apartments h2 { color: #153d52; }
.concept-c-unit { padding: 12px 12px 1.8rem; border: 1px solid #153d52; background: #fbf8f0; box-shadow: 7px 7px 0 #153d52; }
.concept-c-unit img { border-radius: 0; filter: saturate(.78) contrast(.97); }
.concept-c-unit-label { margin: 1rem 0 .7rem; color: #9b7d00; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.concept-c-unit h3 { color: #153d52; }
.concept-c-story h2 { color: #153d52; }
.concept-c-story-image img { border-radius: 0; box-shadow: 12px 12px 0 #e1b91f; }
.concept-c-story .uk-button { border-radius: 0; color: #fff !important; background: #153d52 !important; border-color: #153d52 !important; }
.concept-c-cta { background: #153d52 !important; text-align: center; }
.concept-c-cta h2 { color: #fff; }
.concept-c-cta p { color: rgba(255,255,255,.76); }
.concept-c-cta .uk-button { border-radius: 0; }
.concept-c-cta .uk-button-default { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.55); }
.concept-c-cta .uk-button + .uk-button { margin-left: .65rem; }

/* Gemeinsames Texel-Editorial für Startseite und Unterseiten */
:root {
  --texel-navy: #153d52;
  --texel-navy-deep: #0b2d3d;
  --texel-blue: #45a4d2;
  --texel-yellow: #e1b91f;
  --texel-paper: #f8f3e7;
  --texel-sea-mist: #e7eceb;
}

.concept-c-kicker,
.concept-c-kicker p,
.texel-page-kicker,
.texel-page-kicker p {
  font-size: clamp(.82rem, 1.05vw, .98rem);
  line-height: 1.25;
}

.concept-c-hero .uk-button-default:hover,
.concept-c-hero .uk-button-default:focus-visible {
  color: #fff !important;
  background: var(--texel-navy-deep) !important;
  border-color: var(--texel-navy-deep) !important;
  background-image: none !important;
}

.concept-c-hero .uk-button:not(.uk-button-text)::before,
.concept-c-hero .uk-button:not(.uk-button-text)::after,
.texel-page-hero .uk-button:not(.uk-button-text)::before,
.texel-page-hero .uk-button:not(.uk-button-text)::after {
  display: none !important;
  content: none !important;
}

.concept-b-unit,
.concept-b-unit h3,
.concept-b-unit p {
  color: var(--texel-navy);
}

.concept-b-unit .uk-button-text:hover,
.concept-b-unit .uk-button-text:focus {
  color: var(--texel-coral-dark) !important;
}

.texel-calendar-tabs > li:not(.uk-active) > a:hover,
.texel-calendar-tabs > li:not(.uk-active) > a:focus {
  color: var(--texel-navy) !important;
  background: var(--texel-paper) !important;
  box-shadow: inset 0 0 0 1px rgba(225,185,31,.8);
}

body:has(.texel-page-hero) #navbar .uk-navbar-container {
  background: var(--texel-yellow) !important;
  border-bottom: 2px solid var(--texel-navy);
  box-shadow: none;
}

body:has(.texel-page-hero) #navbar .uk-logo,
body:has(.texel-page-hero) #navbar .uk-navbar-nav > li > a,
body:has(.texel-page-hero) #navbar .uk-navbar-toggle {
  color: var(--texel-navy) !important;
}

body:has(.texel-page-hero) #navbar .tm-booking-button {
  color: #fff !important;
  background: var(--texel-navy) !important;
  border-color: var(--texel-navy) !important;
  border-radius: 0;
}

body:has(.texel-page-hero) #navbar .tm-booking-button:hover,
body:has(.texel-page-hero) #navbar .tm-booking-button:focus {
  color: var(--texel-navy) !important;
  background: #fff !important;
  border-color: #fff !important;
}

body:has(.concept-c-hero) #navbar .uk-logo::after,
body:has(.texel-page-hero) #navbar .uk-logo::after {
  color: var(--texel-navy) !important;
  opacity: .78;
}

.texel-page-hero {
  padding-top: clamp(4.5rem, 7vw, 7rem);
  padding-bottom: clamp(4.5rem, 7vw, 7rem);
  color: var(--texel-navy-deep);
  background: var(--texel-blue) !important;
  border-bottom: 8px solid var(--texel-navy);
}

.texel-page-hero > .uk-container {
  max-width: 1480px;
}

.texel-page-hero > .uk-container > .uk-grid {
  align-items: center !important;
}

.texel-page-hero > .uk-container > .uk-grid > * {
  min-width: 0;
}

.texel-page-hero h1 {
  max-width: 18ch;
  margin-bottom: 1.5rem;
  color: var(--texel-navy);
  font-family: 'Outfit', sans-serif;
  font-size: clamp(3.25rem, 5vw, 5.5rem);
  font-weight: 600;
  line-height: .98;
  letter-spacing: .012em;
  hyphens: none;
  overflow-wrap: break-word;
  word-break: normal;
}

.texel-page-hero .uk-text-large {
  max-width: 54ch;
  color: var(--texel-navy-deep);
  font-size: clamp(1.05rem, 1.25vw, 1.25rem);
  line-height: 1.6;
}

.texel-page-kicker,
.texel-page-kicker p {
  margin: 0 0 1.1rem;
  color: var(--texel-navy-deep);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.texel-page-note {
  box-sizing: border-box;
  margin-left: 0;
  padding: clamp(1.7rem, 3vw, 2.7rem);
  color: rgba(255,255,255,.82);
  background: var(--texel-navy);
  border-top: 6px solid #fff;
  box-shadow: 10px 10px 0 rgba(255,255,255,.42);
}

.texel-page-note h2,
.texel-page-note strong {
  color: #fff;
}

.texel-page-note h2 {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
}

.texel-page-facts {
  display: grid;
  gap: 0;
  margin-top: 1.5rem;
}

.texel-page-facts > div {
  display: grid;
  grid-template-columns: minmax(105px, .8fr) minmax(0, 1.35fr);
  gap: .8rem 1.1rem;
  padding: .85rem 0;
  border-top: 1px solid rgba(255,255,255,.22);
}

.texel-page-facts strong,
.texel-page-facts span {
  display: block;
}

.texel-page-facts span {
  color: rgba(255,255,255,.75);
  line-height: 1.45;
}

.texel-page-postcard {
  padding: .85rem;
  background: #fff;
  border: 3px solid var(--texel-navy);
  box-shadow: 0 24px 55px rgba(11,45,61,.22);
  transform: none;
}

.texel-page-postcard figure,
.texel-page-postcard img {
  border-radius: 0 !important;
}

.texel-page-postcard figcaption {
  padding: .75rem .25rem .1rem;
  color: var(--texel-navy);
}

.texel-page-hero .texel-pill {
  color: var(--texel-navy);
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(21,61,82,.22);
  border-radius: 0;
}

.texel-page-hero .texel-contact-card {
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 0;
  box-shadow: 12px 14px 0 rgba(255,255,255,.45);
}

.texel-page-hero .texel-contact-card .texel-kicker {
  color: var(--texel-yellow);
}

.texel-page-hero .texel-contact-card p,
.texel-page-hero .texel-contact-card .uk-text-large {
  color: rgba(255,255,255,.86) !important;
}

.texel-page-hero .uk-button {
  border-radius: 0;
}

.texel-page-hero .uk-button-primary {
  color: #fff !important;
  background: var(--texel-navy) !important;
  border-color: var(--texel-navy) !important;
}

.texel-page-hero .uk-button-primary:hover,
.texel-page-hero .uk-button-primary:focus {
  color: var(--texel-navy) !important;
  background: #fff !important;
  border-color: #fff !important;
}

.texel-page-hero .uk-button-default {
  color: var(--texel-navy) !important;
  background: #fff !important;
  border-color: var(--texel-navy) !important;
}

.texel-page-hero .uk-button-default:hover,
.texel-page-hero .uk-button-default:focus {
  color: #fff !important;
  background: var(--texel-navy) !important;
  border-color: var(--texel-navy) !important;
}

body:has(.texel-page-hero) main > .uk-section:not(.texel-page-hero) {
  border-bottom: 1px solid rgba(21,61,82,.08);
}

body:has(.texel-page-hero) main > .uk-section-muted:not(.texel-page-hero) {
  background: var(--texel-sea-mist) !important;
}

body:has(.texel-page-hero) main h2.uk-heading-small {
  max-width: 980px;
  color: var(--texel-navy);
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2.65rem, 5vw, 5.3rem);
  font-weight: 550;
  line-height: .98;
  letter-spacing: .012em;
}

/* Lebendige Nordsee-Atmosphaere und nachvollziehbare Lage */
.concept-b-intro,
.concept-b-apartments {
  position: relative;
  overflow: hidden;
}

.concept-b-intro::after,
.concept-b-apartments::before {
  content: '';
  position: absolute;
  z-index: 0;
  width: clamp(180px, 28vw, 430px);
  aspect-ratio: 1;
  border: clamp(24px, 4vw, 62px) solid rgba(69,164,210,.18);
  border-radius: 50%;
  pointer-events: none;
}

.concept-b-intro::after { right: -11%; bottom: -65%; }
.concept-b-apartments::before { top: -62%; left: -10%; }
.concept-b-intro > .uk-container,
.concept-b-apartments > .uk-container { position: relative; z-index: 1; }

.concept-b-feature {
  background: rgba(69,164,210,.14) !important;
  border-top: 8px solid var(--texel-blue);
}

.concept-b-gallery img { filter: saturate(1.08) contrast(1.02); }

.texel-location-section {
  color: var(--texel-navy-deep);
  background: var(--texel-blue) !important;
  border-top: 8px solid var(--texel-navy);
  border-bottom: 8px solid var(--texel-navy);
}

.texel-location-section h2,
.texel-location-section h3,
.texel-location-section .uk-button-text { color: var(--texel-navy-deep) !important; }

.texel-location-section h2 {
  max-width: 720px;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2.8rem, 5vw, 5.4rem);
  font-weight: 600;
  line-height: .98;
  letter-spacing: .012em;
}

.texel-location-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.texel-location-fact {
  padding: 1rem;
  color: #fff;
  background: var(--texel-navy);
  border-left: 5px solid var(--texel-yellow);
}

.texel-location-fact strong,
.texel-location-fact span { display: block; }
.texel-location-fact strong { font-size: 1.35rem; }
.texel-location-fact span { margin-top: .15rem; color: rgba(255,255,255,.78); }

.texel-map-shell {
  overflow: hidden;
  background: #fff;
  border: 3px solid var(--texel-navy);
  box-shadow: 12px 14px 0 var(--texel-yellow);
}

.texel-map-shell iframe {
  display: block;
  width: 100%;
  min-height: 480px;
  border: 0;
}

.texel-map-shell > [data-service="openstreetmap"] {
  width: 100%;
  min-height: 480px;
  background:
    linear-gradient(rgba(238,248,252,.9), rgba(238,248,252,.9)),
    repeating-linear-gradient(45deg, rgba(21,61,82,.08) 0 1px, transparent 1px 12px);
}

.texel-map-shell > [data-service="openstreetmap"] .cll {
  color: var(--texel-navy-deep);
}

.texel-map-shell > [data-service="openstreetmap"] .cll .c-bg::before {
  background:
    linear-gradient(135deg, rgba(21,61,82,.97), rgba(40,109,140,.9)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.08) 0 1px, transparent 1px 14px);
}

.texel-map-shell > [data-service="openstreetmap"] .cll .c-l-b {
  color: var(--texel-navy-deep);
  background: var(--texel-yellow);
  border-color: var(--texel-yellow);
}

.texel-map-shell > [data-service="openstreetmap"] .cll .c-l-b::before {
  border-left-color: var(--texel-navy-deep);
}

.texel-map-shell > [data-service="openstreetmap"] .cll .c-l-b:hover,
.texel-map-shell > [data-service="openstreetmap"] .cll .c-l-b:focus-visible {
  color: var(--texel-navy-deep);
  background: #f1d253;
  border-color: #f1d253;
}

.texel-map-shell > [data-service="openstreetmap"] .cll .c-la-b {
  color: var(--texel-navy-deep);
  background: #fff;
  border-color: #fff;
}

.texel-map-shell > [data-service="openstreetmap"] .cll .c-la-b:hover,
.texel-map-shell > [data-service="openstreetmap"] .cll .c-la-b:focus-visible {
  color: var(--texel-navy-deep);
  background: var(--texel-muted);
  border-color: var(--texel-muted);
}

.texel-map-shell > [data-service="openstreetmap"] .cll .c-l-b,
.texel-map-shell > [data-service="openstreetmap"] .cll .c-la-b {
  border-radius: 0;
}

.texel-map-shell > [data-service="openstreetmap"] .cll .c-l-b:focus-visible,
.texel-map-shell > [data-service="openstreetmap"] .cll .c-la-b:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

.texel-map-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: .9rem 1rem;
  color: var(--texel-navy);
  background: #fff;
  font-size: .9rem;
}

.texel-map-caption a {
  color: var(--texel-navy-deep);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .2em;
}

#topbar,
.tm-topbar,
#footer,
.uk-offcanvas-bar { background: var(--texel-navy) !important; }

.uk-section-secondary,
.uk-background-secondary { background-color: var(--texel-navy) !important; }

.uk-text-muted { color: #557486 !important; }

#footer .uk-button-primary {
  color: var(--texel-navy-deep) !important;
  background: var(--texel-yellow) !important;
  border-color: var(--texel-yellow) !important;
}

#footer .uk-button-primary:hover,
#footer .uk-button-primary:focus-visible {
  color: var(--texel-navy-deep) !important;
  background: var(--texel-blue) !important;
  border-color: var(--texel-blue) !important;
}

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--texel-yellow);
  outline-offset: 4px;
}

body:has(.texel-page-hero) main h3 {
  color: var(--texel-navy);
}

body:has(.texel-page-hero) .texel-editorial-column {
  border-top-color: var(--texel-navy);
}

body:has(.texel-page-hero) .texel-price-table {
  border-color: rgba(21,61,82,.2);
  border-radius: 0;
  box-shadow: 8px 8px 0 rgba(21,61,82,.12);
}

body:has(.texel-page-hero) .texel-price-table th {
  background: var(--texel-navy);
}

body:has(.texel-page-hero) .texel-gallery img,
body:has(.texel-page-hero) [id$='floorplan'] img,
body:has(.texel-page-hero) [id$='floorplans'] img {
  border-radius: 0 !important;
}

body:has(.texel-page-hero) #wohnung-a,
body:has(.texel-page-hero) #wohnung-b,
body:has(.texel-page-hero) #wohnung-h {
  border-top: 8px solid var(--texel-navy);
}

/* Rechtliche Seiten */
.texel-legal-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(238,248,252,.72), rgba(255,255,255,0) 22rem),
    #fff !important;
}

.texel-legal-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: linear-gradient(90deg, var(--texel-yellow) 0 32%, var(--texel-blue) 32% 100%);
}

.texel-legal-copy {
  color: var(--texel-navy);
  font-size: 1.03rem;
  line-height: 1.72;
}

.texel-legal-copy h1 {
  max-width: 15ch;
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
  color: var(--texel-navy-deep);
  font-size: clamp(3rem, 8vw, 6.5rem);
  line-height: .95;
  letter-spacing: -.035em;
}

.texel-legal-copy h2 {
  margin-top: clamp(3rem, 7vw, 5.5rem);
  padding-top: 1rem;
  color: var(--texel-navy-deep);
  border-top: 4px solid var(--texel-yellow);
  font-size: clamp(1.75rem, 3.5vw, 2.7rem);
}

.texel-legal-copy h3 {
  margin-top: 2.75rem;
  color: var(--texel-navy);
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}

.texel-legal-copy h4 {
  margin-top: 2rem;
  color: var(--texel-navy-deep);
  font-size: 1.12rem;
}

.texel-legal-copy p,
.texel-legal-copy ul {
  max-width: 76ch;
}

.texel-legal-copy li + li {
  margin-top: .55rem;
}

.texel-legal-copy a {
  color: var(--texel-navy-deep);
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.texel-legal-copy a:hover,
.texel-legal-copy a:focus-visible {
  color: #286d8c;
}

.texel-consent-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem;
}

.texel-consent-controls .uk-button {
  color: #fff;
  background: var(--texel-navy);
  border-color: var(--texel-navy);
}

.texel-consent-controls .uk-button:hover,
.texel-consent-controls .uk-button:focus-visible {
  color: var(--texel-navy-deep);
  background: var(--texel-yellow);
  border-color: var(--texel-yellow);
}

body:has(.texel-page-hero) #wohnung-a .uk-button-primary,
body:has(.texel-page-hero) #wohnung-b .uk-button-primary,
body:has(.texel-page-hero) #wohnung-h .uk-button-primary {
  color: #fff !important;
  background: var(--texel-navy) !important;
  border-color: var(--texel-navy) !important;
  border-radius: 0;
}

body:has(.texel-page-hero) #wohnung-a .uk-button-primary:hover,
body:has(.texel-page-hero) #wohnung-b .uk-button-primary:hover,
body:has(.texel-page-hero) #wohnung-h .uk-button-primary:hover {
  color: var(--texel-navy) !important;
  background: var(--texel-yellow) !important;
  border-color: var(--texel-yellow) !important;
}

body:has(.texel-page-hero) .uk-accordion-title {
  color: var(--texel-navy);
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
}

body:has(.texel-page-hero) .texel-cta-section {
  background: var(--texel-navy) !important;
}

#prospekt.texel-brochure-panel {
  position: relative;
  overflow: hidden;
  color: rgba(255,255,255,.88);
  background:
    linear-gradient(90deg, rgba(11,45,61,.9), rgba(21,61,82,.72)),
    url('/assets/images/texel/duenen-sonnenuntergang.webp') center 56% / cover no-repeat !important;
  border-top: 8px solid var(--texel-yellow);
}

.texel-brochure-panel h2 {
  margin-right: auto;
  margin-left: auto;
  color: #fff !important;
}

.texel-brochure-panel p { color: rgba(255,255,255,.88); }

.texel-brochure-panel .uk-button-default {
  color: var(--texel-navy) !important;
  background: #fff !important;
  border-color: #fff !important;
}

.texel-brochure-panel .uk-button {
  border-radius: 0;
}

.texel-brochure-panel .uk-button-default:hover,
.texel-brochure-panel .uk-button-default:focus {
  color: #fff !important;
  background: var(--texel-navy) !important;
  border-color: var(--texel-navy) !important;
}

.texel-cta-section .uk-button-default:hover,
.texel-cta-section .uk-button-default:focus {
  color: #fff !important;
  background: transparent !important;
  border-color: #fff !important;
}

/* Allgemeine Inselmotive */
#texel-highlights .texel-editorial-column {
  overflow: hidden;
  padding-top: 0;
  background: #fff;
  border-top-width: 5px;
  box-shadow: 8px 10px 0 rgba(21,61,82,.1);
}

#texel-highlights .texel-editorial-column > :not(.texel-highlight-photo) {
  margin-right: clamp(1rem, 2vw, 1.5rem);
  margin-left: clamp(1rem, 2vw, 1.5rem);
}

#texel-highlights .texel-editorial-column > :last-child {
  margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.texel-highlight-photo {
  height: clamp(210px, 19vw, 310px);
  margin: 0 0 1.4rem !important;
  overflow: hidden;
}

.texel-highlight-photo img,
.texel-nature-triptych img,
.texel-leisure-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#texel-highlights .uk-grid > div:nth-child(4) .texel-highlight-photo img {
  object-position: center 42%;
}

#anreise,
#geschichte,
#freizeit {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

#anreise::before,
#freizeit::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: cover;
}

#anreise::before {
  background-image: linear-gradient(90deg, rgba(231,236,235,.98) 0%, rgba(231,236,235,.9) 52%, rgba(231,236,235,.7) 100%), url('/assets/images/texel/hafen.webp');
  background-position: center, right center;
}

#geschichte {
  background:
    linear-gradient(90deg, rgba(231,236,235,.97) 0%, rgba(231,236,235,.91) 58%, rgba(231,236,235,.74) 100%),
    url('/assets/images/texel/leuchtturm-abend.webp') center 44% / cover no-repeat !important;
}

#freizeit::before {
  opacity: .16;
  background-image: url('/assets/images/texel/fussspuren-im-sand.webp');
  background-position: center 46%;
}

#anreise > .uk-container,
#geschichte > .uk-container,
#freizeit > .uk-container {
  position: relative;
  z-index: 1;
}

.texel-nature-triptych {
  display: grid;
  grid-template-columns: 1.15fr .85fr .85fr;
  gap: clamp(.65rem, 1.5vw, 1.25rem);
  margin: clamp(2rem, 4vw, 3.75rem) 0;
}

.texel-nature-triptych figure {
  height: clamp(250px, 27vw, 430px);
  margin: 0;
  overflow: hidden;
}

.texel-nature-triptych figure:nth-child(2) { transform: translateY(1.5rem); }
.texel-nature-triptych img { filter: saturate(.86) contrast(.97); }
.texel-nature-triptych figure:first-child img { object-position: center 48%; }

.texel-leisure-banner {
  height: clamp(260px, 32vw, 460px);
  margin: clamp(2rem, 4vw, 3.5rem) 0 0;
  overflow: hidden;
  border-bottom: 8px solid var(--texel-yellow);
  box-shadow: 10px 12px 0 rgba(21,61,82,.14);
}

.texel-leisure-banner img { object-position: center 55%; }

.uk-offcanvas-bar { background: var(--texel-ink); }
.uk-offcanvas-bar .uk-logo { color: #fff !important; }
.uk-offcanvas-bar .uk-logo::after { color: var(--texel-blue); }

@media (max-width: 1199px) {
  #topbar { display: none; }
  #navbar .uk-visible\@m { display: none !important; }
  #navbar .uk-hidden\@m { display: flex !important; }
  #navbar .uk-navbar,
  #navbar .uk-logo,
  #navbar .uk-navbar-toggle {
    min-height: 70px;
    height: 70px;
  }
}

@media (min-width: 1080px) {
  .texel-page-note {
    width: calc(40% - 36px) !important;
    margin-left: 36px;
  }
}

@media (max-width: 1079px) {
  .texel-hero { min-height: auto; }
  .texel-hero.uk-section-large { padding-top: 54px; padding-bottom: 54px; }
  .texel-hero h1 { font-size: clamp(2.65rem, 9vw, 4.4rem); }
  .texel-hero-visual { padding-left: 0; }
  .texel-hero-visual img { min-height: 340px; border-radius: 3px; }
  .texel-anchor-nav { position: relative; top: auto; border-radius: 18px; }
  .concept-a-hero-copy { padding-top: 2rem; padding-left: 40px; border-left: 0; }
  .concept-a-hero h1 { font-size: clamp(3.4rem, 11vw, 6rem); }
  .concept-a-hero-photo img { min-height: 380px; }
  .concept-a-cta > .uk-container { margin-left: auto; }
  .concept-b-hero { min-height: 680px; padding-top: 90px; padding-bottom: 70px; }
  .concept-b-hero h1 { font-size: clamp(3.5rem, 10vw, 6.3rem); }
  .concept-b-intro { padding-top: 90px; padding-bottom: 90px; }
  .concept-b-gallery > .uk-grid > div:nth-child(2) { transform: none; }
  .concept-b-unit { min-height: 0; }
  .concept-c-hero-copy { padding-right: 0; padding-bottom: 2.5rem; }
  .concept-c-hero h1 { font-size: clamp(4rem, 13vw, 7rem); }
  .concept-c-postcards { max-width: 650px; margin: 0 auto; }
  .texel-map-shell { margin-top: 2rem; }
  .texel-page-hero {
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }
  .texel-page-hero h1 {
    max-width: 16ch;
    font-size: clamp(2.8rem, 8vw, 4.5rem);
  }
  .texel-page-note {
    margin-top: 2.5rem;
    width: calc(100% - 40px) !important;
    margin-left: 40px;
  }
  .texel-page-postcard {
    max-width: 650px;
    margin: 2.5rem auto 0;
  }
}
@media (max-width: 639px) {
  .tm-topbar-center, .tm-topbar-right { display: none; }
  .uk-logo { font-size: 1.15rem; }
  .uk-logo::after { font-size: .52rem; letter-spacing: .1em; }
  .uk-button-text {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .tm-totop-button {
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(11,45,61,.18);
    font-size: 0;
    line-height: 48px;
  }
  .tm-totop-button .uk-icon {
    width: 20px;
    height: 20px;
    margin-right: 0 !important;
    font-size: 16px;
  }
  .texel-hero .uk-button {
    width: 100%;
    margin-right: 0 !important;
  }
  .texel-hero .uk-button + .uk-button { margin-top: .65rem; }
  .texel-contact-card .uk-button {
    width: 100%;
    margin-right: 0 !important;
  }
  .texel-calendar-shell iframe { min-height: 610px; }
  .texel-calendar-shell.is-enhanced iframe { min-height: 647px; }
  .texel-calendar-control {
    align-items: stretch;
    flex-direction: column;
    gap: .4rem;
    padding: .85rem 1rem 1rem;
  }
  .texel-calendar-month { width: 100%; min-width: 0; }
  .texel-calendar-tabs { gap: .4rem; }
  .texel-calendar-tabs > * { flex: 1; padding-left: 0; }
  .texel-calendar-tabs > * > a { justify-content: center; padding: .55rem .6rem; font-size: .78rem; }
  .texel-cta-section .uk-button {
    width: 100%;
    margin-left: 0 !important;
  }
  #footer .uk-button {
    width: 100%;
    margin-left: 0 !important;
  }
  .concept-a-hero .uk-button,
  .concept-a-cta .uk-button,
  .concept-b-hero .uk-button,
  .concept-b-cta .uk-button,
  .concept-c-hero .uk-button,
  .concept-c-cta .uk-button {
    width: 100%;
    margin-left: 0 !important;
  }
  .concept-a-hero .uk-button + .uk-button,
  .concept-a-cta .uk-button + .uk-button,
  .concept-b-hero .uk-button + .uk-button,
  .concept-b-cta .uk-button + .uk-button,
  .concept-c-hero .uk-button + .uk-button,
  .concept-c-cta .uk-button + .uk-button { margin-top: .65rem; }
  .concept-a-facts > .uk-container > .uk-grid > div,
  .concept-c-stats > .uk-container > .uk-grid > div { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .concept-a-facts > .uk-container > .uk-grid > div:first-child,
  .concept-c-stats > .uk-container > .uk-grid > div:first-child { border-top: 0; }
  .concept-b-hero { min-height: 720px; }
  .concept-b-hero-facts p { gap: .5rem 1rem; }
  .concept-b-hero-facts span { width: calc(50% - .5rem); }
  .concept-b-cta { padding-top: 90px; padding-bottom: 90px; }
  .concept-c-hero { padding-top: 65px; padding-bottom: 80px; }
  .concept-c-postcards { padding: .6rem; box-shadow: 0 18px 40px rgba(11,45,61,.24); }
  .concept-c-postcards > .uk-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: .55rem;
    aspect-ratio: auto;
  }
  .concept-c-postcards > .uk-grid > div:first-child { grid-column: 1 / -1; }
  .concept-c-postcards a { aspect-ratio: 4 / 3; }
  .concept-c-postcards > .uk-grid > div:first-child a { aspect-ratio: 16 / 9; }
  .concept-c-unit { box-shadow: 5px 5px 0 #153d52; }
  .texel-page-hero h1 {
    max-width: none;
    font-size: clamp(2.35rem, 11vw, 3.15rem);
    line-height: 1.02;
  }
  .texel-page-hero .uk-button {
    width: 100%;
    margin-right: 0 !important;
  }
  .texel-page-hero .uk-button + .uk-button { margin-top: .65rem; }
  .texel-page-note,
  .texel-page-hero .texel-contact-card {
    padding: 1.4rem;
    box-shadow: 7px 8px 0 rgba(255,255,255,.45);
  }
  body:has(.texel-page-hero) main h2.uk-heading-small {
    font-size: clamp(2.45rem, 12vw, 3.8rem);
  }
  .texel-location-facts { grid-template-columns: 1fr; }
  .texel-map-shell { box-shadow: 7px 8px 0 var(--texel-yellow); }
  .texel-map-shell iframe { min-height: 390px; }
  .texel-map-caption { align-items: flex-start; flex-direction: column; }
  .concept-b-intro {
    background-image:
      linear-gradient(rgba(255,253,248,.92), rgba(255,253,248,.92)),
      url('/assets/images/texel/strandgras-sonnenlicht.webp') !important;
  }
  .texel-highlight-photo { height: 240px; }
  #anreise::before { opacity: .24; }
  #geschichte {
    background:
      linear-gradient(rgba(231,236,235,.94), rgba(231,236,235,.94)),
      url('/assets/images/texel/leuchtturm-abend.webp') center / cover no-repeat !important;
  }
  .texel-nature-triptych {
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
    margin-bottom: 2.75rem;
  }
  .texel-nature-triptych figure { height: 210px; }
  .texel-nature-triptych figure:first-child { grid-column: 1 / -1; height: 240px; }
  .texel-nature-triptych figure:nth-child(2) { transform: none; }
  .texel-leisure-banner { height: 260px; box-shadow: 7px 8px 0 rgba(21,61,82,.14); }
}
@media (max-width: 479px) {
  .texel-calendar-shell iframe { min-height: 1030px; }
  .texel-calendar-shell.is-enhanced iframe { min-height: 1067px; }
}
@media (max-width: 359px) {
  #kalender h2.uk-heading-small {
    font-size: 2.15rem;
    line-height: 1.08;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  #kalender .uk-text-large { font-size: 1.08rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
