﻿:root {
    --hb-navy: #0b3655;
    --hb-navy-soft: #12476d;
    --hb-teal: #007c86;
    --hb-coral: #f06a4b;
    --hb-paper: #f8f6f0;
    --hb-white: #fffefa;
    --hb-text: #264d61;
    --hb-line: #d9dbd3;
    --hb-shadow: 0 12px 28px rgba(11, 54, 85, .08);
    --hb-section-gap: 28px;
    --hb-block-space: 28px;
    --hb-text-hero-top-space: clamp(36px, 4vw, 48px);
    --hb-content-width: 1140px;
}

html,
body,
.wp-site-blocks,
main,
.site-main,
.entry-content {
    background-color: var(--hb-paper);
}

body,
.wp-site-blocks,
main,
.site-main,
.entry-content {
    color: var(--hb-navy);
}

:where(main, .site-main, .entry-content) h1,
:where(main, .site-main, .entry-content) h2,
:where(main, .site-main, .entry-content) h3 {
    color: var(--hb-navy);
    text-wrap: balance;
}

:where(main, .site-main, .entry-content) p,
:where(main, .site-main, .entry-content) li {
    color: var(--hb-text);
    line-height: 1.6;
}

:where(main, .site-main, .entry-content) .wrap {
    width: min(var(--hb-content-width), calc(100% - 40px));
    margin-inline: auto;
}

/* Textliche Seiteneinstiege erhalten überall Luft zum Header.
   Vollbreite Bildbänder wie das Methodik-Motiv bleiben davon ausgenommen. */
:where(main, .site-main, .entry-content) .hero:not(.hb-method-hero) {
    padding-top: var(--hb-text-hero-top-space) !important;
}

:where(main, .site-main, .entry-content) a {
    text-underline-offset: .16em;
}

:where(main, .site-main, .entry-content) a:focus-visible,
:where(.site-header, .site-footer) a:focus-visible,
:where(button, input, select, textarea):focus-visible {
    outline: 3px solid var(--hb-coral);
    outline-offset: 4px;
}

/* Gemeinsamer vertikaler Rhythmus zwischen direkt aufeinanderfolgenden Bereichen. */
.guides,
.transparency,
.future,
#faq,
.intro,
.process,
#datenbasis,
.limits,
#ki-und-pruefung,
.contact,
.featured,
.compact-section,
.example-section,
.related,
.impressum-link-page,
.nww-orientation {
    border-top: var(--hb-section-gap) solid var(--hb-paper) !important;
}

/* Karten, Hinweise und Bildmotive erhalten überall dieselbe ruhige Kontur. */
.principle,
.limit,
.future-card,
.compact-card,
.related-card,
.method-card,
.impressum-link-card,
.nww-orientation .criterion,
.criteria-grid .criterion {
    background-color: var(--hb-white);
    border-color: var(--hb-line);
    box-shadow: var(--hb-shadow);
}

.guide-image,
.guide-hero-image,
.related-image,
.method-visual-band img,
.impressum-motif img {
    display: block;
    width: 100%;
    object-fit: cover;
}

.guide-image,
.related-image,
.method-visual-band img,
.impressum-motif img {
    border-bottom: 5px solid var(--hb-coral);
}

.guide-hero-image {
    border-bottom: 5px solid var(--hb-teal);
}

.method-note,
.data-note,
.notice,
.hero-note {
    border-left-color: var(--hb-coral) !important;
}

.method-note,
.data-note,
.notice {
    background-color: #fff1ed;
    color: var(--hb-navy);
}

.method-note :is(p, li),
.data-note :is(p, li),
.notice :is(p, li) {
    color: var(--hb-navy) !important;
}

/* Ratgeber: ein kurzer, individueller Orientierungsblock ergänzt den Einstieg. */
.guide-context {
    padding: var(--hb-section-gap) 0 0;
    background: var(--hb-paper);
}

.guide-context-card {
    max-width: 880px;
    padding: clamp(22px, 4vw, 30px);
    border-left: 5px solid var(--hb-teal);
    background: var(--hb-white);
    box-shadow: var(--hb-shadow);
}

.guide-context-card .eyebrow {
    margin: 0 0 8px;
}

.guide-context-card h2 {
    margin: 0 0 12px;
    font-size: clamp(1.45rem, 2.5vw, 1.85rem);
}

.guide-context-card p {
    max-width: 760px;
    margin: 0;
    color: var(--hb-text) !important;
}

/* Dunkle Inhaltsbereiche: hoher Kontrast statt heller oder grauer Textfelder. */
.guides,
.process,
.contact,
.related {
    background-color: var(--hb-navy) !important;
    color: var(--hb-white) !important;
}

.guides :is(h1, h2, h3, p, a, .eyebrow, .lead, .guide-number),
.process :is(h1, h2, h3, p, .eyebrow, .lead, .step-number),
.contact :is(h1, h2, h3, p, a, .eyebrow, .lead),
.related :is(h1, h2, h3, p, a, .eyebrow, .lead) {
    color: var(--hb-white) !important;
}

.guides .guide,
.process .step,
.related .related-card {
    background-color: var(--hb-navy-soft) !important;
    border-color: rgba(255, 254, 250, .5) !important;
    box-shadow: none;
}

.guides .guide :is(h1, h2, h3, p, a),
.process .step :is(h1, h2, h3, p),
.related .related-card :is(h1, h2, h3, p, a) {
    color: var(--hb-white) !important;
}

/* Einheitliche, deutliche Handlungsflächen. */
.button,
button,
input[type="submit"] {
    background-color: var(--hb-teal);
    border-color: var(--hb-teal);
    color: var(--hb-white);
}

.button:hover,
.button:focus-visible,
button:hover,
input[type="submit"]:hover {
    background-color: var(--hb-navy);
    border-color: var(--hb-navy);
    color: var(--hb-white);
}

.button.secondary,
.secondary {
    background-color: transparent;
    border-color: currentColor;
}

/* Klassisches Theme: Kopf- und Fußbereich an das gemeinsame System angleichen. */
.site-header {
    background-color: var(--hb-white);
    border-bottom: 1px solid var(--hb-line);
}

.site-header :is(a, p, span, .site-title, .site-description) {
    color: var(--hb-navy);
}

.site-footer {
    background-color: var(--hb-navy);
    color: var(--hb-white);
}

.site-footer :is(a, p, span, h1, h2, h3) {
    color: var(--hb-white);
}

/* Schlanke Informationsseiten: Kontakt, Datenschutz, Impressum und Orientierung. */
.hb-slim-page {
    padding: clamp(48px, 7vw, 84px) 0;
    background: var(--hb-paper);
}

.hb-slim-wrap {
    width: min(920px, calc(100% - 40px));
    margin-inline: auto;
}

.hb-slim-page .eyebrow {
    color: var(--hb-teal) !important;
}

.hb-slim-page h1 {
    margin: 0;
}

.hb-slim-page .lead {
    max-width: 720px;
    margin: 24px 0 0;
    font-size: clamp(1.08rem, 2vw, 1.25rem);
}

.hb-motif {
    margin: 34px 0;
    overflow: hidden;
    border: 1px solid var(--hb-line);
    border-bottom: 5px solid var(--hb-coral);
    background: var(--hb-white);
    box-shadow: var(--hb-shadow);
}

.hb-motif img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    object-position: center;
}

.hb-correction-form,
.hb-info-card,
.hb-orientation-card {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid var(--hb-line);
    background: var(--hb-white);
    box-shadow: var(--hb-shadow);
}

.hb-correction-form label {
    display: block;
    margin-bottom: 10px;
    color: var(--hb-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 700;
}

.hb-correction-form textarea {
    display: block;
    width: 100%;
    min-height: 180px;
    padding: 14px;
    border: 1px solid var(--hb-text);
    border-radius: 0;
    background: #fffefa;
    color: var(--hb-navy);
    font: inherit;
    line-height: 1.55;
    resize: vertical;
}

.hb-correction-form textarea:focus-visible {
    border-color: var(--hb-teal);
}

.hb-correction-form .button {
    display: inline-block;
    margin-top: 18px;
    padding: 12px 18px;
    text-decoration: none;
}

.hb-info-card {
    margin-top: 22px;
    border-left: 5px solid var(--hb-coral);
    background: #fff1ed;
}

.hb-info-card :is(h2, p),
.hb-orientation-card :is(h2, p) {
    color: var(--hb-navy) !important;
}

.hb-info-card h2,
.hb-orientation-card h2 {
    margin: 0 0 10px;
    font-size: 1.35rem;
    letter-spacing: normal;
}

.hb-info-card p,
.hb-orientation-card p {
    margin: 0;
}

.hb-orientation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.hb-orientation-card {
    border-top: 5px solid var(--hb-teal);
}

.hb-orientation-card:nth-child(2) {
    border-top-color: var(--hb-coral);
}

/* Datenschutz: kompakte Prüfthemen statt einer ungeprüften Standardvorlage. */
.hb-privacy-review {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--hb-line);
}

.hb-privacy-review > h2 {
    margin: 0;
}

.hb-privacy-review > p:not(.eyebrow) {
    max-width: 720px;
    margin: 14px 0 22px;
}

.hb-privacy-details {
    border-top: 1px solid var(--hb-line);
}

.hb-privacy-details details {
    border-bottom: 1px solid var(--hb-line);
    background: var(--hb-white);
}

.hb-privacy-details summary {
    padding: 18px 46px 18px 18px;
    color: var(--hb-navy);
    font-weight: 800;
    cursor: pointer;
}

.hb-privacy-details details > div {
    padding: 0 18px 18px;
}

.hb-privacy-details p {
    margin: 0;
}

/* Methodik: kurze, klar gegliederte Darstellung statt vieler Einzelsektionen. */
.hb-method-page {
    background: var(--hb-paper);
}

.hb-method-page .wrap {
    width: min(var(--hb-content-width), calc(100% - 40px));
    margin-inline: auto;
}

.hb-method-hero {
    padding: 0 0 24px;
    background: var(--hb-white);
}

.hb-method-hero-inner {
    max-width: 820px;
}

.hb-method-hero .lead {
    max-width: 680px;
    margin: 22px 0 0;
    font-size: clamp(1.08rem, 2vw, 1.25rem);
}

.hb-method-note {
    max-width: 700px;
    margin: 26px 0 0;
    padding: 16px 18px;
    border-left: 5px solid var(--hb-teal);
    background: #dcefed;
    color: var(--hb-navy);
}

.hb-method-note p {
    margin: 0;
    color: var(--hb-navy) !important;
}

.hb-method-hero-image {
    width: 100%;
    max-width: none;
    margin: 0 0 clamp(32px, 5vw, 56px);
    overflow: hidden;
    border-bottom: 5px solid var(--hb-coral);
    background: var(--hb-paper);
}

.hb-method-hero-image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 5;
    object-fit: cover;
}

.hb-method-motif {
    padding: 0 0 var(--hb-section-gap);
    border-bottom: var(--hb-section-gap) solid var(--hb-paper);
    background: var(--hb-white);
}

.hb-method-motif figure {
    max-width: 920px;
    margin: 0 auto;
    overflow: hidden;
    border-bottom: 5px solid var(--hb-coral);
    background: var(--hb-navy);
    box-shadow: var(--hb-shadow);
}

.hb-method-motif img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 6;
    object-fit: cover;
}

.hb-method-motif figcaption {
    padding: 14px 18px;
    color: var(--hb-white);
    font-weight: 700;
}

.hb-method-section {
    padding: var(--hb-block-space) 0;
}

.hb-method-section .section-heading {
    max-width: 760px;
}

.hb-method-section .section-heading .lead {
    margin: 16px 0 0;
}

.hb-method-principles,
.hb-method-steps,
.hb-method-summary-grid {
    display: grid;
    gap: 16px;
    margin-top: 34px;
}

.hb-method-principles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hb-method-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hb-method-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hb-method-card {
    padding: 26px;
    border-top: 5px solid var(--hb-teal);
    background: var(--hb-white);
    box-shadow: var(--hb-shadow);
}

.hb-method-card:nth-child(even) {
    border-top-color: var(--hb-coral);
}

.hb-method-card h3 {
    margin: 10px 0;
}

.hb-method-card p {
    margin: 0;
}

.hb-method-card .eyebrow {
    margin-bottom: 0;
}

.hb-method-process {
    background: var(--hb-navy);
}

.hb-method-process :is(h2, h3, p, .eyebrow) {
    color: var(--hb-white) !important;
}

.hb-method-process .hb-method-card {
    border-color: rgba(255, 254, 250, .55);
    border-top-color: var(--hb-teal);
    background: var(--hb-navy-soft);
    box-shadow: none;
}

.hb-method-process .hb-method-card:nth-child(even) {
    border-top-color: var(--hb-coral);
}

.hb-method-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: clamp(26px, 5vw, 72px);
    align-items: start;
}

.hb-method-hero .method-card {
    padding: 28px;
    border-top: 5px solid var(--hb-coral);
    background: var(--hb-paper);
    box-shadow: var(--hb-shadow);
}

.hb-method-hero .method-card h2 {
    margin: 8px 0 14px;
    font-size: clamp(1.7rem, 3vw, 2.2rem);
}

.hb-method-hero .method-card p {
    margin: 0;
}

.hb-method-principles .hb-method-card {
    padding: 0 0 26px;
    overflow: hidden;
}

.hb-method-card-image {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-bottom: 5px solid var(--hb-coral);
}

.hb-method-principles .hb-method-card:nth-child(2) .hb-method-card-image {
    border-bottom-color: var(--hb-teal);
}

.hb-method-principles .hb-method-card :is(.eyebrow, h3, p) {
    margin-inline: 26px;
}

.hb-method-principles .hb-method-card .eyebrow {
    margin-top: 22px;
}

.hb-method-process-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-top: 28px;
    padding: 24px 28px;
    border-left: 5px solid var(--hb-coral);
    background: var(--hb-navy);
    color: var(--hb-white);
}

.hb-method-process-note :is(h3, p) {
    margin: 0;
    color: var(--hb-white) !important;
}

.hb-method-process-note h3 {
    font-size: 1.18rem;
}

.hb-method-page .hb-method-section {
    border-top: 0;
}

.hb-method-page #grundsaetze {
    padding-top: var(--hb-block-space);
}

.hb-method-page #transparenz {
    padding-bottom: var(--hb-block-space);
}

.hb-method-page #ki-und-pruefung {
    padding-top: var(--hb-block-space);
    border-top: 0 !important;
    background: #eaf4f3;
}

.hb-method-process-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: 30px;
    border: 1px solid var(--hb-line);
    background: var(--hb-white);
    box-shadow: var(--hb-shadow);
}

.hb-method-process-summary div {
    min-height: 130px;
    padding: 22px;
    border-right: 1px solid var(--hb-line);
}

.hb-method-process-summary div:last-child {
    border-right: 0;
}

.hb-method-process-summary strong,
.hb-method-process-summary span {
    display: block;
}

.hb-method-process-summary strong {
    margin-bottom: 8px;
    color: var(--hb-navy);
    font-family: Georgia, "Times New Roman", serif;
}

.hb-method-process-summary span {
    color: var(--hb-text);
    font-size: .92rem;
    line-height: 1.5;
}

.hb-method-faq {
    margin-top: 28px;
    border-top: 1px solid var(--hb-line);
}

.hb-method-faq details {
    border-bottom: 1px solid var(--hb-line);
    background: var(--hb-white);
}

.hb-method-faq summary {
    padding: 18px 46px 18px 18px;
    color: var(--hb-navy);
    font-weight: 800;
    cursor: pointer;
}

.hb-method-faq details > div {
    padding: 0 18px 18px;
}

.hb-method-faq p {
    margin: 0;
}

.hb-method-contact {
    padding: clamp(44px, 6vw, 68px) 0;
    background: var(--hb-navy);
}

.hb-method-contact-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.hb-method-contact :is(h2, p, .eyebrow) {
    color: var(--hb-white) !important;
}

.hb-method-contact .button {
    flex: none;
    display: inline-block;
    padding: 12px 18px;
    background: var(--hb-white);
    border-color: var(--hb-white);
    color: var(--hb-navy);
    text-decoration: none;
}

@media (max-width: 860px) {
    .hb-method-principles,
    .hb-method-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hb-method-hero-grid,
    .hb-method-process-summary {
        grid-template-columns: 1fr;
    }

    .hb-method-process-summary div {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--hb-line);
    }

    .hb-method-process-summary div:last-child {
        border-bottom: 0;
    }

    .hb-method-contact-inner {
        display: block;
    }

    .hb-method-contact .button {
        margin-top: 22px;
    }

    .hb-method-process-note {
        grid-template-columns: 1fr;
    }
}

/* Ratgeberübersicht: gleichwertige, gut lesbare Karten und unverzerrtes Motiv. */
.index-hero .overview-motif {
    overflow: hidden;
    border-bottom: 5px solid var(--hb-coral);
}

.index-hero .overview-motif figure {
    margin: 0;
}

.index-hero .overview-motif img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 7;
    object-fit: cover !important;
    object-position: center;
}

.guide-grid .guide-card,
.guide-grid .guide-card.featured {
    background: var(--hb-white) !important;
    color: var(--hb-navy) !important;
    border-top: 5px solid var(--hb-teal) !important;
}

.guide-grid .guide-card:nth-child(even) {
    border-top-color: var(--hb-coral) !important;
}

.guide-grid .guide-card :is(h2, p, a, .tag) {
    color: var(--hb-navy) !important;
}

.guide-grid .guide-card a {
    color: var(--hb-teal) !important;
}

.overview-signal svg {
    display: block;
    width: min(360px, 100%);
    height: auto;
    margin-inline: auto;
}

@media (max-width: 780px) {
    :root {
        --hb-section-gap: 28px;
    }

    .guide-image,
    .guide-hero-image,
    .related-image,
    .method-visual-band img,
    .impressum-motif img {
        min-height: 0;
    }

    .hb-orientation-grid {
        grid-template-columns: 1fr;
    }

    .hb-method-principles,
    .hb-method-steps,
    .hb-method-summary-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {
    :root {
        --hb-section-gap: 24px;
    }

    :where(main, .site-main, .entry-content) .wrap {
        width: min(100% - 32px, var(--hb-content-width));
    }

    .hb-slim-wrap {
        width: min(100% - 32px, 920px);
    }

    /* Fließtext der Startseite bleibt auf schmalen Bildschirmen gut lesbar. */
    .hero-copy,
    .guides .lead,
    .guides .guide p,
    #faq p {
        font-size: 1.08rem !important;
        line-height: 1.65;
    }

    /* Das lange Wort „Hotelbewertungen“ darf die Startseiten-Hero nicht
       seitlich überlaufen; die Schrift bleibt dabei deutlich lesbar. */
    .hero-title,
    .index-hero h1 {
        font-size: clamp(2rem, 10vw, 2.45rem) !important;
        overflow-wrap: anywhere;
    }
}


    /* Hotelprofile: lokale Vorschau-Fassung, gekapselt auf .hotel-profile */
.hotel-profile {
  --hotel-ink: #0b3655;
  --hotel-ink-soft: #46626b;
  --hotel-paper: #f8f6f0;
  --hotel-sand: #fffefa;
  --hotel-turquoise: #007c86;
  --hotel-coral: #f06a4b;
  --hotel-coral-soft: #f8d7d0;
  --hotel-line: #d9dbd3;
  --hotel-shadow: 0 16px 34px rgba(11, 53, 85, 0.08);
}

.hotel-profile {
  min-height: 100vh;
  color: var(--hotel-ink);
  background: var(--hotel-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.hotel-profile *, .hotel-profile *::before, .hotel-profile *::after { box-sizing: border-box; }
.hotel-profile a { color: inherit; text-underline-offset: .18em; }
.hotel-profile a:hover { color: var(--hotel-turquoise); }
.hotel-profile img { max-width: 100%; }
.hotel-profile .hotel-wrap { width: calc(100% - clamp(48px, 5vw, 112px)); margin: 0 auto; }
.hotel-profile .hotel-eyebrow { margin: 0 0 14px; color: var(--hotel-turquoise); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hotel-profile h1, .hotel-profile h2, .hotel-profile h3 { font-family: Georgia, "Times New Roman", serif; line-height: 1.08; }
.hotel-profile h1 { margin: 0; max-width: 820px; font-size: clamp(2.75rem, 6vw, 5.25rem); letter-spacing: -.055em; }
.hotel-profile h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.04em; }
.hotel-profile h3 { margin: 0; font-size: 1.45rem; }
.hotel-profile p { margin: 0 0 1rem; }
.hotel-profile .hotel-lead { max-width: 680px; margin-top: 25px; color: var(--hotel-ink-soft); font-size: 1.14rem; }
.hotel-profile .hotel-muted { color: var(--hotel-ink-soft); }

.hotel-profile .hotel-skip { position: absolute; z-index: 5; top: -80px; left: 16px; padding: 10px 14px; background: var(--hotel-ink); color: var(--hotel-sand); font-weight: 800; }
.hotel-profile .hotel-skip:focus { top: 16px; outline: 3px solid var(--hotel-coral); outline-offset: 3px; }
.hotel-profile .hotel-preview { padding: 9px 16px; background: var(--hotel-ink); color: var(--hotel-sand); font-size: .82rem; text-align: center; }
.hotel-profile .hotel-preview strong { color: var(--hotel-coral-soft); }
.hotel-profile .hotel-header { border-bottom: 1px solid var(--hotel-line); background: var(--hotel-sand); }
.hotel-profile .hotel-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 150px; }
.hotel-profile .hotel-logo { display: block; width: min(540px, 49vw); flex: 0 0 auto; overflow: hidden; text-decoration: none; }
.hotel-profile .hotel-logo img { display: block; width: 180%; max-width: none; height: auto; }
.hotel-profile .hotel-nav { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: clamp(18px, 2vw, 34px); font-size: .92rem; font-weight: 750; white-space: nowrap; }
.hotel-profile .hotel-nav a { text-decoration: none; }
.hotel-profile .hotel-nav .active { padding-bottom: 5px; border-bottom: 3px solid var(--hotel-turquoise); }

.hotel-profile .hotel-hero { padding: 34px 0 58px; background: var(--hotel-sand); }
.hotel-profile .hotel-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 42px; color: var(--hotel-ink-soft); font-size: .9rem; }
.hotel-profile .hotel-breadcrumb a { color: var(--hotel-turquoise); }
.hotel-profile .hotel-hero-grid { display: grid; grid-template-columns: minmax(520px, .92fr) minmax(520px, 1.08fr); align-items: center; gap: clamp(36px, 4vw, 82px); }
.hotel-profile .hotel-hero-grid > * { min-width: 0; }
.hotel-profile .hotel-name-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: start; gap: 18px; }
.hotel-profile .hotel-name-row h1 { width: 100%; min-width: 0; max-width: 100%; font-size: clamp(2.45rem, 4.4vw, 4.7rem); overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
.hotel-profile .hotel-title-line { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; min-width: 0; }
.hotel-profile .hotel-title-line h1 { flex: 1 1 min(620px, 100%); }
.hotel-profile .hotel-title-rating { display: inline-grid; min-width: 116px; min-height: 78px; place-items: center; align-content: center; padding: 10px 14px; border: 2px solid var(--hotel-turquoise); background: var(--hotel-ink); color: var(--hotel-sand); box-shadow: var(--hotel-shadow); text-align: center; }
.hotel-profile .hotel-title-rating strong { font-family: Georgia, "Times New Roman", serif; font-size: 2rem; line-height: 1; }
.hotel-profile .hotel-title-rating small { margin-top: 5px; color: var(--hotel-coral-soft); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.hotel-profile .hotel-brand-mark { display: grid; width: 64px; height: 64px; overflow: hidden; place-items: center; border: 1px solid rgba(20, 58, 71, .18); border-radius: 16px; color: var(--hotel-ink); background: var(--hotel-coral-soft); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; font-weight: 900; letter-spacing: .03em; box-shadow: 0 8px 18px rgba(20, 58, 71, .08); }
.hotel-profile .hotel-brand-image { display: block; width: 38px; height: 38px; object-fit: contain; }
.hotel-profile .hotel-brand-image[hidden] { display: none; }
.hotel-profile .hotel-brand-fallback:not([hidden]) { display: block; max-width: 52px; overflow: hidden; font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; font-weight: 900; line-height: 1; white-space: nowrap; }
.hotel-profile[data-template-role="hotel-profile"] .hotel-brand-fallback:not([hidden]) { font-size: 0; }
.hotel-profile[data-template-role="hotel-profile"] .hotel-brand-fallback:not([hidden])::after { content: "HL"; font-size: 1rem; }
.hotel-profile .hotel-location { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 20px; color: var(--hotel-ink-soft); }
.hotel-profile .hotel-location span { min-width: 0; overflow-wrap: normal; word-break: normal; hyphens: none; }
.hotel-profile .hotel-location span + span { padding-left: 18px; border-left: 1px solid var(--hotel-line); }
.hotel-profile .hotel-hero-grid .hotel-lead { overflow-wrap: normal; word-break: normal; hyphens: none; }
.hotel-profile .hotel-rating-meta { margin: 16px 0 0; color: var(--hotel-ink); font-size: .95rem; font-weight: 850; }
.hotel-profile .hotel-note { display: flex; align-items: flex-start; gap: 13px; max-width: 650px; margin-top: 29px; padding: 16px 18px; border-left: 3px solid var(--hotel-coral); background: var(--hotel-coral-soft); }
.hotel-profile .hotel-note svg { flex: 0 0 20px; margin-top: 3px; }
.hotel-profile .hotel-hero-media { margin: 0; }
.hotel-profile .hotel-hero-collage { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(150px, .85fr); grid-template-rows: repeat(2, minmax(150px, 1fr)); gap: 10px; min-height: clamp(380px, 28vw, 560px); }
.hotel-profile .hotel-hero-collage img { display: block; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; object-fit: cover; border: 1px solid var(--hotel-line); box-shadow: var(--hotel-shadow); }
.hotel-profile .hotel-hero-collage .hotel-hero-image-main { grid-row: 1 / 3; }
.hotel-profile .hotel-hero-media figcaption { margin-top: 10px; color: var(--hotel-ink-soft); font-size: .82rem; }
.hotel-profile .hotel-hero-media .hotel-gallery-link { margin-top: 0; font-size: .82rem; }
.hotel-profile .hotel-media-pending { border: 1px solid var(--hotel-line); background: var(--hotel-ink); color: #fff; box-shadow: var(--hotel-shadow); }
.hotel-profile .hotel-media-pending-inner { min-height: clamp(220px, 34vw, 420px); display: grid; align-content: center; justify-items: center; gap: 12px; padding: 32px; text-align: center; }
.hotel-profile .hotel-media-pending strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 3vw, 2.8rem); font-weight: 700; }
.hotel-profile .hotel-media-pending p { max-width: 520px; margin: 0; color: rgba(255, 255, 255, .78); }
.hotel-profile .hotel-media-label { color: var(--hotel-coral); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hotel-profile .hotel-media-pending figcaption { padding: 12px 16px 16px; margin: 0; background: #fff; }
.hotel-profile .hotel-jump-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.hotel-profile .hotel-jump-nav a { padding: 8px 13px; border: 1px solid var(--hotel-line); border-radius: 999px; color: var(--hotel-turquoise); background: var(--hotel-paper); font-size: .82rem; font-weight: 800; text-decoration: none; }
.hotel-profile .hotel-jump-nav a:hover { border-color: var(--hotel-turquoise); background: #e5f1ef; }

.hotel-profile .hotel-gallery { padding: 48px 0; background: var(--hotel-paper); }
.hotel-profile .hotel-gallery .hotel-section-heading { margin-bottom: 22px; }
.hotel-profile .hotel-gallery-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 14px; }
.hotel-profile .hotel-gallery-item { min-height: 220px; margin: 0; overflow: hidden; border: 1px solid var(--hotel-line); border-radius: 18px; background: var(--hotel-sand); }
.hotel-profile .hotel-gallery-item-large { min-height: 330px; }
.hotel-profile .hotel-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.hotel-profile .hotel-gallery-item:hover img { transform: scale(1.03); }
.hotel-profile .hotel-gallery-link { display: inline-flex; margin-top: 16px; color: var(--hotel-turquoise); font-weight: 800; text-decoration: none; }
.hotel-profile .hotel-gallery-link:hover { text-decoration: underline; }

.hotel-profile section { padding: 64px 0; }
.hotel-profile .hotel-section-heading { max-width: 920px; margin-bottom: 34px; }
.hotel-profile .hotel-section-heading .hotel-lead { margin-top: 18px; }
.hotel-profile .hotel-overview { background: var(--hotel-paper); }
.hotel-profile .hotel-summary-heading { max-width: 1120px; }
.hotel-profile .hotel-summary-lead { max-width: 760px; margin-top: 18px; color: var(--hotel-ink-soft); font-size: clamp(1.12rem, 2vw, 1.4rem); }
.hotel-profile .hotel-decision-callout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 28px 0 20px; }
.hotel-profile .hotel-decision-item { position: relative; display: grid; min-height: 122px; overflow: hidden; padding: 22px; border: 1px solid var(--hotel-line); background: var(--hotel-sand); }
.hotel-profile .hotel-decision-item > div { position: relative; z-index: 1; padding-right: 72px; }
.hotel-profile .hotel-decision-item strong { display: block; margin-bottom: 4px; font-size: .9rem; }
.hotel-profile .hotel-decision-item p { margin: 0; color: var(--hotel-ink-soft); font-size: 1.02rem; line-height: 1.55; }
.hotel-profile .hotel-decision-icon { position: absolute; top: 50%; right: 14px; display: grid; width: 94px; height: 94px; place-items: center; border-radius: 50%; font-size: 4.8rem; font-weight: 900; line-height: 1; opacity: .2; transform: translateY(-50%); }
.hotel-profile .hotel-decision-positive { border-left: 4px solid var(--hotel-turquoise); }
.hotel-profile .hotel-decision-positive .hotel-decision-icon { color: var(--hotel-turquoise); background: #e5f1ef; }
.hotel-profile .hotel-decision-caution { border-left: 4px solid var(--hotel-coral); }
.hotel-profile .hotel-decision-caution .hotel-decision-icon { color: var(--hotel-coral); background: var(--hotel-coral-soft); }
.hotel-profile .hotel-overall-panel { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(220px, .8fr); gap: 24px; align-items: center; margin: 24px 0 28px; padding: 26px; border: 1px solid var(--hotel-ink); background: var(--hotel-ink); color: var(--hotel-sand); box-shadow: var(--hotel-shadow); }
.hotel-profile .hotel-overall-score { display: grid; min-width: 122px; min-height: 122px; place-items: center; align-content: center; border: 5px solid var(--hotel-turquoise); border-radius: 50%; color: var(--hotel-sand); text-align: center; }
.hotel-profile .hotel-overall-score strong { font-family: Georgia, "Times New Roman", serif; font-size: 2rem; line-height: 1; }
.hotel-profile .hotel-overall-score small { max-width: 86px; margin-top: 7px; color: rgba(255,254,250,.72); font-size: .68rem; line-height: 1.15; }
.hotel-profile .hotel-overall-copy .hotel-eyebrow { color: var(--hotel-coral-soft); }
.hotel-profile .hotel-overall-copy h3 { margin-bottom: 10px; color: var(--hotel-sand); font-size: clamp(1.35rem, 2.3vw, 1.9rem); }
.hotel-profile .hotel-overall-copy p:last-child { color: rgba(255,254,250,.78); font-size: .9rem; }
.hotel-profile .hotel-overall-method { display: grid; gap: 7px; padding-left: 20px; border-left: 1px solid rgba(255,254,250,.24); color: rgba(255,254,250,.74); font-size: .84rem; }
.hotel-profile .hotel-overall-method strong { color: var(--hotel-coral-soft); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.hotel-profile .hotel-summary-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.hotel-profile .hotel-guest-insights { background: #e5f1ef; }
.hotel-profile .hotel-guest-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hotel-profile .hotel-guest-card { position: relative; min-height: 220px; overflow: hidden; padding: 26px; border: 1px solid var(--hotel-line); background: var(--hotel-sand); box-shadow: var(--hotel-shadow); }
.hotel-profile .hotel-guest-card-positive { border-top: 5px solid var(--hotel-turquoise); }
.hotel-profile .hotel-guest-card-caution { border-top: 5px solid var(--hotel-coral); }
.hotel-profile .hotel-guest-card-context { border-top: 5px solid var(--hotel-ink); }
.hotel-profile .hotel-guest-symbol { position: absolute; top: 12px; right: 14px; display: grid; width: 108px; height: 108px; place-items: center; border-radius: 50%; color: var(--hotel-turquoise); background: #e5f1ef; font-size: 5.4rem; font-weight: 900; line-height: 1; opacity: .22; }
.hotel-profile .hotel-guest-card-caution .hotel-guest-symbol { color: var(--hotel-coral); background: var(--hotel-coral-soft); }
.hotel-profile .hotel-guest-card-context .hotel-guest-symbol { color: var(--hotel-ink); background: rgba(11, 54, 85, .09); }
.hotel-profile .hotel-guest-card h3 { position: relative; z-index: 1; max-width: calc(100% - 70px); margin-bottom: 38px; font-size: 1.42rem; line-height: 1.2; }
.hotel-profile .hotel-guest-card p { position: relative; z-index: 1; margin: 0; color: var(--hotel-ink-soft); font-size: 1.08rem; line-height: 1.62; }
.hotel-profile .hotel-guest-list { position: relative; z-index: 1; display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; color: var(--hotel-ink-soft); font-size: 1.04rem; line-height: 1.5; }
.hotel-profile .hotel-guest-list li { position: relative; padding-left: 28px; }
.hotel-profile .hotel-guest-list li::before { position: absolute; left: 0; top: .05em; color: var(--hotel-turquoise); font-weight: 900; content: "✓"; }
.hotel-profile .hotel-guest-card-caution .hotel-guest-list li::before { color: var(--hotel-coral); content: "×"; }
.hotel-profile .hotel-signal-card { position: relative; min-height: 250px; overflow: hidden; padding: 25px; border: 1px solid var(--hotel-line); background: var(--hotel-sand); box-shadow: var(--hotel-shadow); }
.hotel-profile .hotel-signal-card::after { display: none; }
.hotel-profile .hotel-signal-card-primary { color: var(--hotel-ink); border-top: 5px solid var(--hotel-turquoise); }
.hotel-profile .hotel-signal-card-caution { color: var(--hotel-ink); border-top: 5px solid var(--hotel-coral); }
.hotel-profile .hotel-signal-card-context { color: var(--hotel-sand); border-top: 5px solid var(--hotel-coral-soft); background: var(--hotel-ink); }
.hotel-profile .hotel-signal-icon { position: absolute; top: 14px; right: 16px; display: grid; width: 112px; height: 112px; place-items: center; border-radius: 50%; color: var(--hotel-turquoise); background: #e5f1ef; font-size: 5.5rem; font-weight: 900; line-height: 1; opacity: .23; }
.hotel-profile .hotel-signal-card-caution .hotel-signal-icon { color: var(--hotel-coral); background: var(--hotel-coral-soft); }
.hotel-profile .hotel-signal-card-context .hotel-signal-icon { color: var(--hotel-coral-soft); background: rgba(255,254,250,.12); }
.hotel-profile .hotel-signal-icon svg { width: 78px; height: 78px; }
.hotel-profile .hotel-signal-kicker { position: relative; z-index: 1; max-width: calc(100% - 90px); margin: 0 0 18px; color: var(--hotel-turquoise); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hotel-profile .hotel-signal-card-caution .hotel-signal-kicker { color: var(--hotel-coral); }
.hotel-profile .hotel-signal-card-context .hotel-signal-kicker { color: var(--hotel-coral-soft); }
.hotel-profile .hotel-signal-card h3 { position: relative; z-index: 1; max-width: 250px; font-size: 1.55rem; }
.hotel-profile .hotel-signal-tags { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 7px; margin-top: 26px; }
.hotel-profile .hotel-signal-tags span { padding: 6px 10px; border: 1px solid var(--hotel-line); border-radius: 999px; font-size: .86rem; font-weight: 750; }
.hotel-profile .hotel-signal-card-context .hotel-signal-tags span { border-color: rgba(255,254,250,.28); color: var(--hotel-sand); }
.hotel-profile .hotel-overview-grid, .hotel-profile .hotel-two-col { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); gap: 48px; align-items: start; }
.hotel-profile .hotel-card { padding: 28px; border: 1px solid var(--hotel-line); background: var(--hotel-sand); }
.hotel-profile .hotel-card h3 { margin-bottom: 13px; }
.hotel-profile .hotel-card + .hotel-card { margin-top: 18px; }
.hotel-profile .hotel-card.coral { border-top: 5px solid var(--hotel-coral); }
.hotel-profile .hotel-card.turquoise { border-top: 5px solid var(--hotel-turquoise); }
.hotel-profile .hotel-card ul, .hotel-profile .hotel-checklist { margin: 0; padding-left: 1.2rem; }
.hotel-profile .hotel-card li + li, .hotel-profile .hotel-checklist li + li { margin-top: 9px; }

.hotel-profile .hotel-cloud-section { background: var(--hotel-sand); }
.hotel-profile .hotel-cloud { display: flex; min-height: 380px; flex-wrap: wrap; align-content: space-around; align-items: center; justify-content: space-evenly; gap: 22px 34px; padding: 38px 42px; border: 1px solid var(--hotel-line); background: radial-gradient(circle at 50% 45%, #e5f1ef, var(--hotel-sand) 66%); overflow: hidden; }
.hotel-profile .hotel-cloud-word { display: inline-flex; max-width: 100%; flex: 0 1 auto; align-items: center; justify-content: center; color: var(--hotel-turquoise); font-weight: 800; line-height: .96; text-align: center; white-space: nowrap; overflow-wrap: normal; word-break: keep-all; hyphens: none; }
.hotel-profile .hotel-cloud-word.weight-1 { flex-basis: 17%; font-size: clamp(1.2rem, 1vw + .65rem, 1.65rem); opacity: .72; }
.hotel-profile .hotel-cloud-word.weight-2 { flex-basis: 19%; font-size: clamp(1.55rem, 1.35vw + .7rem, 2.2rem); }
.hotel-profile .hotel-cloud-word.weight-3 { flex-basis: 22%; font-size: clamp(2.05rem, 2vw + .65rem, 3rem); }
.hotel-profile .hotel-cloud-word.weight-4 { flex-basis: 28%; font-size: clamp(2.7rem, 3vw + .45rem, 4rem); color: var(--hotel-ink); }
.hotel-profile .hotel-cloud-word.weight-5 { flex-basis: 32%; font-size: clamp(3.4rem, 4vw + .35rem, 5.2rem); color: var(--hotel-ink); }
.hotel-profile .hotel-cloud-word.benefit { color: var(--hotel-turquoise); }
.hotel-profile .hotel-cloud-word.caution { color: var(--hotel-coral); }
.hotel-profile .hotel-cloud-word.neutral { color: var(--hotel-ink); }
.hotel-profile .hotel-cloud-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 16px; font-size: .82rem; font-weight: 800; }
.hotel-profile .hotel-cloud-legend-item::first-letter { font-weight: 900; }
.hotel-profile .hotel-cloud-legend-item.benefit { color: var(--hotel-turquoise); }
.hotel-profile .hotel-cloud-legend-item.caution { color: var(--hotel-coral); }
.hotel-profile .hotel-cloud-legend-item.neutral { color: var(--hotel-ink-soft); }
.hotel-profile .hotel-cloud-help { margin-top: 12px; color: var(--hotel-ink-soft); font-size: .88rem; }

.hotel-profile .hotel-theme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.hotel-profile .hotel-theme-card { position: relative; min-height: 190px; overflow: hidden; padding: 25px; border: 1px solid var(--hotel-line); background: var(--hotel-sand); }
.hotel-profile .hotel-theme-card.positive { border-top: 4px solid var(--hotel-turquoise); }
.hotel-profile .hotel-theme-card.caution { border-top: 4px solid var(--hotel-coral); }
.hotel-profile .hotel-theme-symbol { position: absolute; top: 12px; right: 14px; display: grid; width: 92px; height: 92px; place-items: center; border-radius: 50%; font-size: 4.6rem; font-weight: 900; line-height: 1; opacity: .2; }
.hotel-profile .hotel-theme-card.positive .hotel-theme-symbol { color: var(--hotel-turquoise); background: #e5f1ef; }
.hotel-profile .hotel-theme-card.caution .hotel-theme-symbol { color: var(--hotel-coral); background: var(--hotel-coral-soft); }
.hotel-profile .hotel-theme-card h3, .hotel-profile .hotel-theme-card p, .hotel-profile .hotel-theme-card .hotel-tag-row { position: relative; z-index: 1; }
.hotel-profile .hotel-theme-card h3 { max-width: calc(100% - 68px); margin-bottom: 28px; font-size: 1.35rem; }
.hotel-profile .hotel-tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.hotel-profile .hotel-tag { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 11px; border: 1px solid var(--hotel-line); border-radius: 999px; color: var(--hotel-ink); background: var(--hotel-paper); font-size: .86rem; font-weight: 750; }

.hotel-profile .hotel-fit-section { background: var(--hotel-ink); color: var(--hotel-sand); }
.hotel-profile .hotel-fit-section .hotel-eyebrow { color: var(--hotel-coral-soft); }
.hotel-profile .hotel-fit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.hotel-profile .hotel-fit-card { position: relative; min-height: 200px; overflow: hidden; padding: 29px; border: 1px solid rgba(255,254,250,.25); background: rgba(255,254,250,.06); }
.hotel-profile .hotel-fit-marker { position: absolute; top: 12px; right: 14px; display: grid; width: 96px; height: 96px; place-items: center; border: 1px solid rgba(255,254,250,.3); border-radius: 50%; color: var(--hotel-coral-soft); font-size: 4.7rem; font-weight: 900; line-height: 1; opacity: .22; }
.hotel-profile .hotel-fit-card h3, .hotel-profile .hotel-fit-card p, .hotel-profile .hotel-fit-card .hotel-tag-row { position: relative; z-index: 1; }
.hotel-profile .hotel-fit-card h3 { max-width: calc(100% - 70px); margin-bottom: 26px; color: var(--hotel-coral-soft); }
.hotel-profile .hotel-fit-card .hotel-tag { border-color: rgba(255,254,250,.3); color: var(--hotel-sand); background: transparent; }
.hotel-profile .hotel-fit-card-positive { border-color: var(--hotel-turquoise); background: rgba(57, 174, 164, .16); }
.hotel-profile .hotel-fit-card-positive .hotel-fit-marker { border-color: var(--hotel-turquoise); color: var(--hotel-turquoise); background: rgba(57, 174, 164, .16); }
.hotel-profile .hotel-fit-card-positive h3 { color: var(--hotel-turquoise); }
.hotel-profile .hotel-fit-card-caution { border-color: var(--hotel-coral); background: rgba(232, 118, 91, .14); }
.hotel-profile .hotel-fit-card-caution .hotel-fit-marker { border-color: var(--hotel-coral); color: var(--hotel-coral); background: rgba(232, 118, 91, .14); }
.hotel-profile .hotel-fit-card-caution h3 { color: var(--hotel-coral); }

.hotel-profile .hotel-matrix-section { background: var(--hotel-paper); }
.hotel-profile .hotel-matrix { position: relative; min-height: 410px; margin-top: 28px; padding: 40px 52px 52px; border: 1px solid var(--hotel-line); background: var(--hotel-sand); }
.hotel-profile .hotel-matrix::before { position: absolute; top: 40px; bottom: 52px; left: 52px; width: 1px; background: var(--hotel-line); content: ""; }
.hotel-profile .hotel-matrix::after { position: absolute; right: 52px; bottom: 52px; left: 52px; height: 1px; background: var(--hotel-line); content: ""; }
.hotel-profile .hotel-axis-x, .hotel-profile .hotel-axis-y { position: absolute; color: var(--hotel-ink-soft); font-size: .8rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.hotel-profile .hotel-axis-x { right: 52px; bottom: 16px; }
.hotel-profile .hotel-axis-y { top: 18px; left: 8px; writing-mode: vertical-rl; transform: rotate(180deg); }
.hotel-profile .hotel-matrix-note { margin: 22px 0 0; color: var(--hotel-ink-soft); font-size: .9rem; }
.hotel-profile .hotel-matrix-dot { position: absolute; left: var(--x, 50%); bottom: var(--y, 50%); display: grid; width: 50px; height: 50px; place-items: center; transform: translate(-50%, 50%); border: 3px solid var(--hotel-coral); border-radius: 50%; background: var(--hotel-sand); color: var(--hotel-ink); font-size: .65rem; font-weight: 900; text-align: center; }

.hotel-profile .hotel-details { background: var(--hotel-sand); }
.hotel-profile .hotel-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.hotel-profile .hotel-detail { padding: 23px; border: 1px solid var(--hotel-line); }
.hotel-profile .hotel-detail h3 { margin-bottom: 11px; font-size: 1.35rem; }
.hotel-profile .hotel-detail p { font-size: 1.02rem; line-height: 1.58; }
.hotel-profile .hotel-change-note { margin-top: 22px; padding: 19px 22px; border-left: 3px solid var(--hotel-turquoise); background: #e5f1ef; }

.hotel-profile .hotel-faq { background: var(--hotel-paper); }
.hotel-profile .hotel-faq-list { max-width: 900px; }
.hotel-profile details { border-top: 1px solid var(--hotel-line); }
.hotel-profile details:last-child { border-bottom: 1px solid var(--hotel-line); }
.hotel-profile summary { cursor: pointer; padding: 20px 42px 20px 0; list-style: none; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 700; }
.hotel-profile summary::-webkit-details-marker { display: none; }
.hotel-profile summary::after { float: right; color: var(--hotel-turquoise); content: "+"; font-family: Inter, sans-serif; font-size: 1.5rem; }
.hotel-profile details[open] summary::after { content: "–"; }
.hotel-profile details p { max-width: 780px; padding: 0 42px 20px 0; color: var(--hotel-ink-soft); }

.hotel-profile .hotel-social { background: var(--hotel-paper); }
.hotel-profile .hotel-social-grid { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); gap: 44px; align-items: start; }
.hotel-profile .hotel-social-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hotel-profile .hotel-social-card { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--hotel-line); background: var(--hotel-sand); box-shadow: 0 12px 24px rgba(20, 58, 71, .06); }
.hotel-profile .hotel-social-card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; margin: 0; padding: 14px 18px; }
.hotel-profile .hotel-social-platform { color: var(--hotel-ink); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.hotel-profile .hotel-social-status { color: var(--hotel-coral); font-size: .72rem; font-weight: 800; text-align: right; }
.hotel-profile .hotel-social-embed-placeholder { display: grid; min-height: 210px; align-content: center; justify-items: center; gap: 12px; padding: 24px 18px; border: 1px dashed var(--hotel-turquoise); background: #e5f1ef; text-align: center; }
.hotel-profile .hotel-social-icon { display: grid; width: 44px; height: 44px; place-items: center; color: var(--hotel-turquoise); }
.hotel-profile .hotel-social-icon svg { width: 100%; height: 100%; }
.hotel-profile .hotel-social-embed-placeholder strong { max-width: 260px; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; }
.hotel-profile .hotel-social-embed-placeholder p { max-width: 290px; margin: 0; color: var(--hotel-ink-soft); font-size: .88rem; }
.hotel-profile .hotel-social-embed-placeholder a { color: var(--hotel-turquoise); font-size: .86rem; font-weight: 850; text-decoration: none; }
.hotel-profile .hotel-social-card > iframe { display: block; width: 100%; height: clamp(420px, 32vw, 560px); min-height: 100%; border: 0; background: #fff; }
.hotel-profile .hotel-official-preview { display: grid; grid-template-rows: 1fr auto; min-height: clamp(420px, 32vw, 560px); overflow: hidden; color: var(--hotel-ink); background: #e5f1ef; text-decoration: none; }
.hotel-profile .hotel-official-preview img { display: block; width: 100%; height: 100%; min-height: 340px; object-fit: cover; }
.hotel-profile .hotel-official-preview span { display: block; padding: 16px 18px; color: var(--hotel-turquoise); font-weight: 850; }
.hotel-profile .hotel-official-preview:hover span { text-decoration: underline; }
.hotel-profile .hotel-social-meta { margin: 13px 0 0; color: var(--hotel-ink-soft); font-size: .76rem; }
.hotel-profile .hotel-embed-section { background: var(--hotel-paper); }
.hotel-profile .hotel-embed-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(380px, .65fr); gap: 18px; align-items: stretch; }
.hotel-profile .hotel-map-card { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--hotel-line); background: var(--hotel-sand); box-shadow: 0 12px 24px rgba(20, 58, 71, .06); }
.hotel-profile .hotel-map-shell { position: relative; min-height: clamp(420px, 32vw, 560px); overflow: hidden; background: #e5f1ef; }
.hotel-profile .hotel-map-shell iframe { display: block; width: 100%; height: 100%; min-height: clamp(420px, 32vw, 560px); border: 0; }
.hotel-profile .hotel-embed-placeholder { display: grid; min-height: 260px; align-content: center; justify-items: center; gap: 12px; padding: 24px 18px; text-align: center; }
.hotel-profile .hotel-embed-placeholder strong { max-width: 290px; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; }
.hotel-profile .hotel-embed-placeholder p { max-width: 300px; margin: 0; color: var(--hotel-ink-soft); font-size: .88rem; }
.hotel-profile .hotel-embed-placeholder a { color: var(--hotel-turquoise); font-size: .86rem; font-weight: 850; text-decoration: none; }

.hotel-profile .hotel-final-decision { background: var(--hotel-sand); }
.hotel-profile .hotel-final-decision-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 26px; }
.hotel-profile .hotel-final-decision-header h2 { max-width: 850px; }
.hotel-profile .hotel-final-decision .hotel-eyebrow { color: var(--hotel-turquoise); }
.hotel-profile .hotel-final-decision-badge { display: grid; flex: 0 0 54px; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: var(--hotel-ink); background: var(--hotel-turquoise); font-size: 1.5rem; font-weight: 900; }
.hotel-profile .hotel-final-decision-intro { max-width: 900px; margin: 22px 0 28px; color: var(--hotel-ink-soft); font-size: clamp(1.12rem, 2vw, 1.4rem); }
.hotel-profile .hotel-final-decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hotel-profile .hotel-final-card { position: relative; display: grid; min-height: 175px; overflow: hidden; padding: 24px; border: 1px solid var(--hotel-line); background: var(--hotel-paper); }
.hotel-profile .hotel-final-card > div { position: relative; z-index: 1; padding-right: 52px; }
.hotel-profile .hotel-final-card-icon { position: absolute; top: 12px; right: 14px; display: grid; width: 94px; height: 94px; place-items: center; border-radius: 50%; font-size: 4.7rem; font-weight: 900; line-height: 1; opacity: .2; }
.hotel-profile .hotel-final-card strong { display: block; margin-bottom: 7px; }
.hotel-profile .hotel-final-card p { margin: 0; color: var(--hotel-ink-soft); font-size: 1rem; line-height: 1.55; }
.hotel-profile .hotel-final-card-positive { border-top: 4px solid var(--hotel-turquoise); }
.hotel-profile .hotel-final-card-positive .hotel-final-card-icon { color: var(--hotel-turquoise); background: #e5f1ef; }
.hotel-profile .hotel-final-card-caution { border-top: 4px solid var(--hotel-coral); }
.hotel-profile .hotel-final-card-caution .hotel-final-card-icon { color: var(--hotel-coral); background: var(--hotel-coral-soft); }
.hotel-profile .hotel-final-card-context { border-top: 4px solid var(--hotel-ink); }
.hotel-profile .hotel-final-card-context .hotel-final-card-icon { color: var(--hotel-ink); background: #e9eef0; }
.hotel-profile .hotel-final-trust { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; margin-top: 20px; padding: 18px 20px; border-left: 3px solid var(--hotel-turquoise); color: var(--hotel-sand); background: var(--hotel-ink); }
.hotel-profile .hotel-final-trust-icon { display: grid; width: 30px; height: 30px; place-items: center; color: var(--hotel-turquoise); }
.hotel-profile .hotel-final-trust-icon svg { width: 100%; height: 100%; }
.hotel-profile .hotel-final-trust strong { display: block; margin-bottom: 4px; color: var(--hotel-coral-soft); }
.hotel-profile .hotel-final-trust p { margin: 0; color: rgba(255,254,250,.78); font-size: .88rem; }

.hotel-profile .hotel-booking { background: var(--hotel-ink); color: var(--hotel-sand); }
.hotel-profile .hotel-booking .hotel-eyebrow { color: var(--hotel-coral-soft); }
.hotel-profile .hotel-booking-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }
.hotel-profile .hotel-provider-logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-top: 24px; }
.hotel-profile .hotel-provider-tile { --provider-accent: var(--hotel-coral-soft); --provider-bg: rgba(255,254,250,.07); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: end; min-height: 148px; padding: 22px; border: 1px solid var(--provider-accent); border-left: 5px solid var(--provider-accent); border-radius: 16px; color: var(--hotel-sand); background: linear-gradient(135deg, var(--provider-bg), rgba(255,254,250,.025)); box-shadow: 0 12px 28px rgba(0,0,0,.12); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.hotel-profile .hotel-provider-tile-hotel { --provider-accent: #63d4cc; --provider-bg: rgba(0,124,134,.28); }
.hotel-profile .hotel-provider-tile-booking { --provider-accent: #79c6f5; --provider-bg: rgba(22,130,212,.24); }
.hotel-profile .hotel-provider-tile-nww { --provider-accent: #a9e1bd; --provider-bg: rgba(75,160,105,.22); }
.hotel-profile .hotel-provider-tile-holidaycheck { --provider-accent: #ffe34f; --provider-bg: rgba(255,227,79,.15); }
.hotel-profile .hotel-provider-tile:hover { border-color: var(--provider-accent); color: var(--hotel-sand); background: linear-gradient(135deg, var(--provider-bg), rgba(255,254,250,.12)); box-shadow: 0 18px 36px rgba(0,0,0,.22); transform: translateY(-3px); }
.hotel-profile .hotel-provider-logo { display: flex; grid-column: 1 / -1; align-items: center; gap: 10px; min-width: 0; }
.hotel-profile .hotel-provider-emblem { display: grid; width: 37px; height: 37px; flex: 0 0 37px; place-items: center; border: 1px solid rgba(255,254,250,.38); border-radius: 50%; color: var(--hotel-sand); font-size: .86rem; font-weight: 900; }
.hotel-profile .hotel-provider-mark { min-width: 0; color: var(--hotel-coral-soft); font-size: clamp(1.12rem, 1.8vw, 1.5rem); font-weight: 850; line-height: 1.08; letter-spacing: -.03em; white-space: normal; overflow-wrap: normal; word-break: normal; hyphens: none; }
.hotel-profile .hotel-provider-logo-hotel .hotel-provider-mark { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.03em; }
.hotel-profile .hotel-provider-logo-hotel .hotel-provider-emblem { border-radius: 10px; color: transparent; background-color: var(--hotel-coral-soft); background-image: var(--hotel-provider-favicon, none); background-position: center; background-repeat: no-repeat; background-size: contain; font-size: 0; }
.hotel-profile .hotel-provider-logo-booking .hotel-provider-emblem { border: 0; border-radius: 8px; color: transparent; background-color: #1682d4; background-image: url("https://www.booking.com/favicon.ico"); background-position: center; background-repeat: no-repeat; background-size: contain; font-size: 0; }
.hotel-profile .hotel-provider-logo-booking .hotel-provider-mark { color: #79c6f5; }
.hotel-profile .hotel-provider-logo-nww .hotel-provider-emblem { border: 0; color: transparent; background-color: #a9e1bd; background-image: url("https://www.nix-wie-weg.de/favicon.ico"); background-position: center; background-repeat: no-repeat; background-size: contain; font-size: 0; }
.hotel-profile .hotel-provider-logo-nww .hotel-provider-mark { color: #a9e1bd; }
.hotel-profile .hotel-provider-logo-holidaycheck .hotel-provider-emblem { border: 0; border-radius: 8px; color: transparent; background-color: #ffe34f; background-image: url("https://www.holidaycheck.de/favicon.ico"); background-position: center; background-repeat: no-repeat; background-size: contain; font-size: 0; }
.hotel-profile .hotel-provider-logo-holidaycheck .hotel-provider-mark { color: #ffe34f; }
.hotel-profile .hotel-provider-copy { display: grid; gap: 2px; }
.hotel-profile .hotel-provider-copy strong { font-size: .86rem; }
.hotel-profile .hotel-provider-copy small { color: rgba(255,254,250,.68); font-size: .75rem; }
.hotel-profile .hotel-provider-arrow { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--provider-accent); border-radius: 50%; color: var(--provider-accent); background: rgba(255,255,255,.08); font-size: 2rem; font-weight: 900; line-height: 1; transition: color .2s ease, background .2s ease, transform .2s ease; }
.hotel-profile .hotel-provider-tile:hover .hotel-provider-arrow { color: var(--hotel-ink); background: var(--provider-accent); transform: translate(3px, -3px); }
.hotel-profile .hotel-provider-tile-muted { color: rgba(255,254,250,.68); }
.hotel-profile .hotel-provider-tile-muted .hotel-provider-mark { color: rgba(255,254,250,.68); }
.hotel-profile .hotel-provider-tile-muted .hotel-provider-emblem { color: rgba(255,254,250,.68); }
.hotel-profile .hotel-booking .hotel-card { color: var(--hotel-ink); background: var(--hotel-sand); }
.hotel-profile .hotel-booking-note { color: rgba(255,254,250,.78); font-size: .9rem; }
.hotel-profile .hotel-provider-disclosure { max-width: 72ch; margin: 14px 0 0; color: rgba(255,254,250,.78); font-size: .82rem; line-height: 1.5; }
.hotel-profile .hotel-booking .hotel-lead,
.hotel-profile .hotel-booking-note { display: none; }

.hotel-profile .hotel-data-section { padding: 46px 0 58px; border-top: 1px solid var(--hotel-line); background: var(--hotel-paper); }
.hotel-profile .hotel-data-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.hotel-profile .hotel-data-heading h2 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.hotel-profile .hotel-data-mark { color: var(--hotel-turquoise); font-size: .75rem; font-weight: 850; letter-spacing: .12em; white-space: nowrap; }
.hotel-profile .hotel-data-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0; }
.hotel-profile .hotel-data-item { min-width: 0; padding: 15px; border: 1px solid var(--hotel-line); background: var(--hotel-sand); }
.hotel-profile .hotel-data-item dt { color: var(--hotel-ink-soft); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.hotel-profile .hotel-data-item dd { margin: 6px 0 0; overflow-wrap: normal; word-break: normal; hyphens: none; font-size: .88rem; font-weight: 700; }

.hotel-profile .hotel-contact { padding: 50px 0; background: var(--hotel-coral-soft); }
.hotel-profile .hotel-contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hotel-profile .hotel-button { display: inline-flex; align-items: center; gap: 10px; padding: 13px 18px; background: var(--hotel-ink); color: var(--hotel-sand); font-weight: 800; text-decoration: none; }
.hotel-profile .hotel-button:hover { color: var(--hotel-sand); background: var(--hotel-turquoise); }
.hotel-profile .hotel-footer { padding: 28px 0; background: var(--hotel-sand); color: var(--hotel-ink-soft); font-size: .9rem; }
.hotel-profile .hotel-footer-inner { display: flex; justify-content: space-between; gap: 22px; }

@media (min-width: 1400px) {
  .hotel-profile .hotel-location { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .hotel-profile .hotel-location span,
  .hotel-profile .hotel-location span + span { padding: 12px 14px; border: 1px solid var(--hotel-line); background: rgba(255, 255, 255, .44); }
}

@media (max-width: 1180px) {
  .hotel-profile .hotel-header-inner { flex-wrap: wrap; padding-top: 18px; padding-bottom: 18px; }
  .hotel-profile .hotel-nav { margin-left: auto; }
  .hotel-profile .hotel-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .hotel-profile .hotel-hero-collage { min-height: clamp(340px, 52vw, 520px); }
}

@media (max-width: 860px) {
  .hotel-profile .hotel-header-inner, .hotel-profile .hotel-contact-inner, .hotel-profile .hotel-footer-inner { align-items: flex-start; flex-direction: column; }
  .hotel-profile .hotel-nav { width: 100%; flex-wrap: wrap; justify-content: flex-start; gap: 12px 22px; margin-left: 0; white-space: normal; }
  .hotel-profile .hotel-hero-grid, .hotel-profile .hotel-overview-grid, .hotel-profile .hotel-two-col, .hotel-profile .hotel-booking-grid, .hotel-profile .hotel-social-grid, .hotel-profile .hotel-embed-grid, .hotel-profile .hotel-overall-panel, .hotel-profile .hotel-final-decision-grid { grid-template-columns: 1fr; gap: 34px; }
  .hotel-profile .hotel-summary-board, .hotel-profile .hotel-provider-logos { grid-template-columns: 1fr 1fr; }
  .hotel-profile .hotel-logo { width: min(500px, 88vw); }
  .hotel-profile .hotel-decision-callout { grid-template-columns: 1fr; }
  .hotel-profile .hotel-detail-grid, .hotel-profile .hotel-data-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .hotel-profile .hotel-wrap { width: min(100% - 28px, 1140px); }
  .hotel-profile .hotel-logo { width: min(100%, 390px); }
  .hotel-profile .hotel-header-inner { min-height: 122px; }
  .hotel-profile .hotel-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  .hotel-profile .hotel-nav a { padding: 10px 0; }
  .hotel-profile .hotel-nav .active { padding-bottom: 8px; }
  .hotel-profile section { padding: 48px 0; }
  .hotel-profile .hotel-hero { padding-top: 26px; padding-bottom: 48px; }
  .hotel-profile .hotel-breadcrumb { margin-bottom: 30px; }
  .hotel-profile .hotel-name-row { grid-template-columns: 48px minmax(0, 1fr); align-items: flex-start; gap: 12px; }
  .hotel-profile .hotel-brand-mark { width: 48px; height: 48px; border-radius: 12px; font-size: .95rem; }
  .hotel-profile .hotel-brand-image { width: 30px; height: 30px; }
  .hotel-profile .hotel-name-row h1 { font-size: clamp(2.15rem, 12vw, 3.35rem); }
  .hotel-profile .hotel-location { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .hotel-profile .hotel-location span,
  .hotel-profile .hotel-location span + span { padding: 9px 11px; border: 1px solid var(--hotel-line); background: rgba(255, 255, 255, .44); }
  .hotel-profile .hotel-hero-grid .hotel-lead { margin-top: 20px; }
  .hotel-profile .hotel-hero-collage { grid-template-columns: 1.35fr .85fr; grid-template-rows: repeat(2, minmax(92px, 1fr)); gap: 7px; min-height: 255px; }
  .hotel-profile .hotel-jump-nav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 7px; scrollbar-width: thin; }
  .hotel-profile .hotel-jump-nav a { flex: 0 0 auto; white-space: nowrap; }
  .hotel-profile .hotel-final-decision-header { gap: 14px; }
  .hotel-profile .hotel-final-decision-badge { flex-basis: 44px; width: 44px; height: 44px; }
  .hotel-profile .hotel-overall-score { justify-self: start; }
  .hotel-profile .hotel-overall-method { padding: 0; border-left: 0; }
  .hotel-profile .hotel-theme-grid, .hotel-profile .hotel-fit-grid, .hotel-profile .hotel-detail-grid, .hotel-profile .hotel-summary-board, .hotel-profile .hotel-guest-grid, .hotel-profile .hotel-provider-logos, .hotel-profile .hotel-social-list, .hotel-profile .hotel-embed-grid, .hotel-profile .hotel-gallery-grid { grid-template-columns: 1fr; }
  .hotel-profile .hotel-data-grid { grid-template-columns: 1fr 1fr; }
  .hotel-profile .hotel-data-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .hotel-profile .hotel-decision-icon { right: 10px; width: 78px; height: 78px; font-size: 4rem; }
  .hotel-profile .hotel-guest-symbol { width: 88px; height: 88px; font-size: 4.4rem; }
  .hotel-profile .hotel-guest-card h3 { margin-bottom: 30px; }
  .hotel-profile .hotel-signal-icon { width: 90px; height: 90px; font-size: 4.5rem; }
  .hotel-profile .hotel-signal-icon svg { width: 64px; height: 64px; }
  .hotel-profile .hotel-theme-symbol,
  .hotel-profile .hotel-fit-marker,
  .hotel-profile .hotel-final-card-icon { width: 78px; height: 78px; font-size: 3.9rem; }
  .hotel-profile .hotel-cloud { min-height: 310px; align-content: space-around; gap: 18px 12px; padding: 26px 16px; }
  .hotel-profile .hotel-cloud .hotel-cloud-word { max-width: 100%; flex-basis: auto; }
  .hotel-profile .hotel-cloud-word.weight-1 { font-size: 1.1rem; }
  .hotel-profile .hotel-cloud-word.weight-2 { font-size: 1.4rem; }
  .hotel-profile .hotel-cloud-word.weight-3 { font-size: 1.75rem; }
  .hotel-profile .hotel-cloud-word.weight-4 { font-size: 2.1rem; }
  .hotel-profile .hotel-cloud-word.weight-5 { font-size: 2.55rem; }
  .hotel-profile .hotel-map-shell,
  .hotel-profile .hotel-map-shell iframe,
  .hotel-profile .hotel-social-card > iframe,
  .hotel-profile .hotel-official-preview { min-height: 420px; height: 420px; }
  .hotel-profile .hotel-provider-tile { min-height: 132px; padding: 20px; }
  .hotel-profile .hotel-matrix { min-height: 330px; padding: 35px 35px 48px; }
  .hotel-profile .hotel-matrix::before { top: 35px; bottom: 48px; left: 35px; }
  .hotel-profile .hotel-matrix::after { right: 35px; bottom: 48px; left: 35px; }
  .hotel-profile .hotel-axis-x { right: 35px; }
}

@media (max-width: 420px) {
  .hotel-profile .hotel-wrap { width: calc(100% - 20px); }
  .hotel-profile .hotel-header-inner { gap: 14px; min-height: 108px; padding-top: 12px; padding-bottom: 12px; }
  .hotel-profile .hotel-logo { width: 100%; }
  .hotel-profile .hotel-nav { gap: 0 10px; font-size: .82rem; }
  .hotel-profile .hotel-name-row { grid-template-columns: 44px minmax(0, 1fr); gap: 10px; }
  .hotel-profile .hotel-brand-mark { width: 44px; height: 44px; border-radius: 11px; }
  .hotel-profile .hotel-brand-image { width: 27px; height: 27px; }
  .hotel-profile .hotel-name-row h1 { font-size: clamp(1.95rem, 11.5vw, 2.75rem); }
  .hotel-profile .hotel-breadcrumb { font-size: .8rem; line-height: 1.55; }
  .hotel-profile .hotel-hero-collage { grid-template-columns: 1.3fr .7fr; grid-template-rows: repeat(2, minmax(82px, 1fr)); min-height: 225px; }
  .hotel-profile .hotel-section-heading { margin-bottom: 26px; }
  .hotel-profile .hotel-decision-item > div,
  .hotel-profile .hotel-final-card > div { padding-right: 44px; }
  .hotel-profile .hotel-decision-icon,
  .hotel-profile .hotel-guest-symbol,
  .hotel-profile .hotel-signal-icon { width: 72px; height: 72px; font-size: 3.6rem; }
  .hotel-profile .hotel-signal-icon svg { width: 52px; height: 52px; }
  .hotel-profile .hotel-theme-symbol,
  .hotel-profile .hotel-fit-marker,
  .hotel-profile .hotel-final-card-icon { width: 68px; height: 68px; font-size: 3.4rem; }
  .hotel-profile .hotel-cloud { gap: 15px 8px; min-height: 300px; padding: 22px 10px; }
  .hotel-profile .hotel-cloud .hotel-cloud-word { max-width: 100%; flex-basis: auto; }
  .hotel-profile .hotel-cloud-word.weight-1 { font-size: .95rem; }
  .hotel-profile .hotel-cloud-word.weight-2 { font-size: 1.15rem; }
  .hotel-profile .hotel-cloud-word.weight-3 { font-size: 1.35rem; }
  .hotel-profile .hotel-cloud-word.weight-4 { font-size: 1.48rem; }
  .hotel-profile .hotel-cloud-word.weight-5 { font-size: 1.72rem; }
  .hotel-profile .hotel-map-shell,
  .hotel-profile .hotel-map-shell iframe,
  .hotel-profile .hotel-social-card > iframe,
  .hotel-profile .hotel-official-preview { min-height: 380px; height: 380px; }
  .hotel-profile .hotel-official-preview img { min-height: 300px; }
  .hotel-profile .hotel-data-grid { grid-template-columns: 1fr; }
  .hotel-profile .hotel-provider-tile { min-height: 122px; padding: 18px; }
  .hotel-profile .hotel-provider-arrow { width: 42px; height: 42px; font-size: 1.72rem; }
  .hotel-profile .hotel-contact .hotel-button { width: 100%; justify-content: center; }
}

/* Hotelprofile: Lesbarkeit und Layout, Runde 2 */
.hotel-profile .hotel-location { align-items: center; }
.hotel-profile .hotel-address-link { color: var(--hotel-turquoise); font-weight: 750; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .22em; }
.hotel-profile .hotel-address-link:hover { color: var(--hotel-ink); }
.hotel-profile .hotel-location-category { font-weight: 900; color: var(--hotel-ink); }
.hotel-profile .hotel-title-rating { min-width: 156px; min-height: 118px; padding: 13px 18px; }
.hotel-profile .hotel-title-rating strong { font-size: 3.45rem; }
.hotel-profile .hotel-title-rating small { font-size: .8rem; }
.hotel-profile .hotel-jump-nav { justify-content: flex-start; margin-left: 0; }
.hotel-profile .hotel-cloud { border: 2px solid var(--hotel-turquoise); border-radius: 18px; background: linear-gradient(135deg, #edf7f5, var(--hotel-sand)); box-shadow: inset 0 0 0 6px rgba(0, 124, 134, .05); }
.hotel-profile .hotel-cloud-help { display: none; }
.hotel-profile .hotel-context-explainer { max-width: 44ch; margin: 12px 0 16px; color: var(--hotel-ink-soft); font-size: .98rem; line-height: 1.55; }
.hotel-profile .hotel-signal-card-primary .hotel-signal-tags span { border-color: var(--hotel-turquoise); background: #d9f0ed; color: var(--hotel-ink); }
.hotel-profile .hotel-signal-card-caution .hotel-signal-tags span { border-color: var(--hotel-coral); background: var(--hotel-coral-soft); color: var(--hotel-ink); }
.hotel-profile .hotel-guest-list li { padding-left: 38px; }
.hotel-profile .hotel-guest-list li::before { top: -.05em; width: 24px; height: 24px; border-radius: 50%; color: var(--hotel-sand); background: var(--hotel-turquoise); font-size: 1.05rem; line-height: 24px; text-align: center; }
.hotel-profile .hotel-guest-card-caution .hotel-guest-list li::before { color: var(--hotel-sand); background: var(--hotel-coral); }
.hotel-profile .hotel-faq-list details p { font-size: 1.1rem; line-height: 1.75; }
.hotel-profile .hotel-faq-list summary { font-size: 1.1rem; line-height: 1.5; }
.hotel-profile .hotel-embed-grid { align-items: stretch; }
.hotel-profile .hotel-map-card, .hotel-profile .hotel-social-card { min-width: 0; overflow: hidden; }
.hotel-profile .hotel-map-shell, .hotel-profile .hotel-social-card > iframe { width: 100%; min-height: 520px; height: 520px; }
.hotel-profile .hotel-social-card > iframe { display: block; border: 0; }
.hotel-profile .hotel-booking-lead { display: block !important; max-width: 58ch; margin: 12px 0 28px; color: rgba(255, 254, 250, .86); font-size: 1.12rem; line-height: 1.6; }
.hotel-profile .hotel-data-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.hotel-profile .hotel-data-item { min-height: 112px; border-radius: 12px; box-shadow: 0 8px 18px rgba(11, 53, 85, .05); }
.hotel-profile .hotel-data-item:nth-child(1), .hotel-profile .hotel-data-item:nth-child(2) { background: #e9f5f3; border-color: #9fd4cd; }
.hotel-profile .hotel-data-item:nth-child(3), .hotel-profile .hotel-data-item:nth-child(4), .hotel-profile .hotel-data-item:nth-child(5) { background: #fff8e9; border-color: #ead4a2; }
.hotel-profile .hotel-data-item:nth-child(n+6) { background: #f5f6f1; }
.hotel-profile .hotel-data-item dd { font-size: .96rem; line-height: 1.5; }
@media (max-width: 860px) {
  .hotel-profile .hotel-data-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hotel-profile .hotel-map-shell, .hotel-profile .hotel-social-card > iframe { min-height: 460px; height: 460px; }
}
@media (max-width: 600px) {
  .hotel-profile .hotel-title-rating { min-width: 126px; min-height: 96px; }
  .hotel-profile .hotel-title-rating strong { font-size: 2.7rem; }
  .hotel-profile .hotel-faq-list details p { font-size: 1.06rem; }
  .hotel-profile .hotel-map-shell, .hotel-profile .hotel-social-card > iframe { min-height: 390px; height: 390px; }
}

/* Hotelprofile: Titel und Note dauerhaft nebeneinander */
.hotel-profile .hotel-title-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; width: 100%; }
.hotel-profile .hotel-title-line h1 { min-width: 0; flex: none; }
.hotel-profile .hotel-title-rating { justify-self: end; }
@media (max-width: 600px) {
  .hotel-profile .hotel-title-line { grid-template-columns: 1fr; justify-items: start; }
  .hotel-profile .hotel-title-rating { justify-self: start; }
}

/* Hotelprofile: Kontext, Social Media und Datenkacheln, Runde 3 */
.hotel-profile .hotel-signal-card-context { display: flex; flex-direction: column; border-color: var(--hotel-ink); background: var(--hotel-ink); color: var(--hotel-sand); }
.hotel-profile .hotel-signal-card-context .hotel-signal-kicker { order: 1; color: var(--hotel-coral-soft); }
.hotel-profile .hotel-signal-card-context h3 { order: 2; color: var(--hotel-sand); }
.hotel-profile .hotel-signal-card-context .hotel-signal-tags { order: 3; }
.hotel-profile .hotel-signal-card-context .hotel-context-explainer { order: 4; color: rgba(255,254,250,.92); }
.hotel-profile .hotel-signal-card-context .hotel-signal-tags span { border-color: #63d4cc; background: #d9f0ed; color: var(--hotel-ink); }
.hotel-profile .hotel-social-card { display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 570px; isolation: isolate; background: var(--hotel-sand); }
.hotel-profile .hotel-social-card > iframe { position: relative !important; z-index: 1; width: 100% !important; min-width: 0; min-height: 520px; height: 100% !important; border: 0; background: var(--hotel-sand); }
.hotel-profile .hotel-booking-lead { max-width: 48ch; color: #fffefa; font-size: clamp(1.28rem, 2.1vw, 1.75rem); font-weight: 750; line-height: 1.42; }
.hotel-profile .hotel-provider-emblem { width: 48px; height: 48px; flex-basis: 48px; box-shadow: 0 0 0 3px rgba(255,254,250,.12); }
.hotel-profile .hotel-data-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hotel-profile .hotel-data-item { min-height: 126px; }
.hotel-profile .hotel-data-item dd { display: grid; gap: 7px; }
.hotel-profile .hotel-data-item dd strong { color: var(--hotel-ink); font-size: 1rem; }
.hotel-profile .hotel-data-item dd span { color: var(--hotel-ink-soft); font-size: .92rem; }
.hotel-profile .hotel-data-item-disclosure { background: #e5f1ef; border-color: #8bc9c2; }
.hotel-profile .hotel-data-item-review, .hotel-profile .hotel-data-item-method { background: #e7edf3; border-color: #9bb2c5; }
.hotel-profile .hotel-data-item-address { background: #fff7e6; border-color: #e7c783; }
.hotel-profile .hotel-data-item-identifiers { background: #f5eef2; border-color: #d6b3c2; }
.hotel-profile .hotel-data-item-status, .hotel-profile .hotel-data-item-changes { background: #fae3dc; border-color: #e5a28f; }
@media (max-width: 860px) { .hotel-profile .hotel-social-card { min-height: 500px; } }
@media (max-width: 600px) {
  .hotel-profile .hotel-data-grid { grid-template-columns: 1fr; }
  .hotel-profile .hotel-social-card { min-height: 430px; }
  .hotel-profile .hotel-social-card > iframe { min-height: 390px; }
}

/* Hotelprofile: Komposition und Kacheln, Runde 4 */
.hotel-profile .hotel-name-row { grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; }
.hotel-profile .hotel-title-line { display: contents; }
.hotel-profile .hotel-title-line h1 { grid-column: 2; min-width: 0; }
.hotel-profile .hotel-title-rating { grid-column: 3; grid-row: 1; align-self: center; justify-self: end; }
.hotel-profile .hotel-cloud { min-height: 450px; padding: 52px 58px; border-radius: 42% 58% 46% 54% / 30% 33% 67% 70%; }
.hotel-profile .hotel-cloud-word.weight-1 { font-size: clamp(1rem, 1vw + .6rem, 1.7rem); }
.hotel-profile .hotel-cloud-word.weight-2 { font-size: clamp(1.4rem, 1.7vw + .65rem, 2.7rem); }
.hotel-profile .hotel-cloud-word.weight-3 { font-size: clamp(2.1rem, 2.6vw + .7rem, 4rem); }
.hotel-profile .hotel-cloud-word.weight-4 { font-size: clamp(3rem, 3.8vw + .7rem, 5.6rem); }
.hotel-profile .hotel-cloud-word.weight-5 { font-size: clamp(4rem, 5.4vw + .8rem, 7.4rem); }
.hotel-profile .hotel-detail { position: relative; padding: 28px 24px 24px; border-width: 1px; border-top-width: 5px; border-radius: 14px; background: var(--hotel-sand); box-shadow: 0 10px 24px rgba(11,53,85,.07); }
.hotel-profile .hotel-detail::before { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 15px; border-radius: 50%; font-weight: 900; }
.hotel-profile .hotel-detail:nth-child(1) { border-top-color: var(--hotel-turquoise); background: #edf8f6; }
.hotel-profile .hotel-detail:nth-child(1)::before { content: '✓'; color: var(--hotel-sand); background: var(--hotel-turquoise); }
.hotel-profile .hotel-detail:nth-child(2) { border-top-color: var(--hotel-ink); background: #eef3f7; }
.hotel-profile .hotel-detail:nth-child(2)::before { content: 'i'; color: var(--hotel-sand); background: var(--hotel-ink); font-family: Georgia, serif; }
.hotel-profile .hotel-detail:nth-child(3) { border-top-color: var(--hotel-coral); background: #fff0eb; }
.hotel-profile .hotel-detail:nth-child(3)::before { content: '!'; color: var(--hotel-sand); background: var(--hotel-coral); }
.hotel-profile .hotel-embed-grid { align-items: start; }
.hotel-profile .hotel-social-card { min-height: 0; align-self: start; }
.hotel-profile .hotel-social-card > iframe { min-height: 178px; height: 178px !important; }
.hotel-profile .hotel-provider-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.hotel-profile .hotel-provider-tile { min-width: 0; min-height: 142px; }
.hotel-profile .hotel-data-item-review { background: #dff3f0 !important; border-color: #6ebeb5 !important; }
.hotel-profile .hotel-data-item-identifiers { background: var(--hotel-ink) !important; border-color: var(--hotel-ink) !important; color: var(--hotel-sand); }
.hotel-profile .hotel-data-item-identifiers dt, .hotel-profile .hotel-data-item-identifiers dd strong, .hotel-profile .hotel-data-item-identifiers dd span { color: var(--hotel-sand); }
.hotel-profile .hotel-data-item-status { background: #f8d7d0 !important; border-color: #df947e !important; }
.hotel-profile .hotel-data-item dd strong, .hotel-profile .hotel-data-item dd span { font-family: inherit; font-weight: 700; }
.hotel-profile .hotel-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hotel-profile .hotel-method-button { display: inline-flex; align-items: center; padding: 13px 18px; border: 2px solid var(--hotel-ink); color: var(--hotel-ink); font-weight: 800; text-decoration: none; }
.hotel-profile .hotel-method-button:hover { background: var(--hotel-ink); color: var(--hotel-sand); }
@media (max-width: 860px) {
  .hotel-profile .hotel-name-row { grid-template-columns: 64px minmax(0, 1fr) auto; }
  .hotel-profile .hotel-provider-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .hotel-profile .hotel-name-row { grid-template-columns: 48px minmax(0, 1fr); align-items: start; }
  .hotel-profile .hotel-title-line { display: grid; grid-column: 2; grid-template-columns: 1fr; }
  .hotel-profile .hotel-title-line h1, .hotel-profile .hotel-title-rating { grid-column: auto; grid-row: auto; justify-self: start; }
  .hotel-profile .hotel-cloud { min-height: 330px; padding: 34px 20px; border-radius: 32% 68% 37% 63% / 20% 24% 76% 80%; }
  .hotel-profile .hotel-cloud-word.weight-1 { font-size: 1rem; }
  .hotel-profile .hotel-cloud-word.weight-2 { font-size: 1.3rem; }
  .hotel-profile .hotel-cloud-word.weight-3 { font-size: 1.75rem; }
  .hotel-profile .hotel-cloud-word.weight-4 { font-size: 2.2rem; }
  .hotel-profile .hotel-cloud-word.weight-5 { font-size: 2.75rem; }
  .hotel-profile .hotel-provider-logos { grid-template-columns: 1fr; }
  .hotel-profile .hotel-contact-actions { width: 100%; }
  .hotel-profile .hotel-contact-actions > a { flex: 1 1 100%; justify-content: center; }
}

/* Hotelprofile: Kopfzeile bündig zur Bildercollage */
.hotel-profile .hotel-hero-grid { align-items: start; }
.hotel-profile .hotel-name-row { align-items: start; }
.hotel-profile .hotel-brand-mark { margin-top: .35rem; }

/* Hotelprofile: Standortzeile ohne Großbildschirm-Kacheln */
@media (min-width: 1400px) {
  .hotel-profile .hotel-location { display: flex; grid-template-columns: none; gap: 10px 18px; }
  .hotel-profile .hotel-location span,
  .hotel-profile .hotel-location span + span { padding: 0; border: 0; background: transparent; }
  .hotel-profile .hotel-location span + span { padding-left: 18px; border-left: 1px solid var(--hotel-line); }
}

/* Hotelprofile: Social-Vorschau und Anbieterreihe */
.hotel-profile .hotel-social-stack { display: grid; gap: 14px; min-width: 0; align-content: start; }
.hotel-profile .hotel-social-card-facebook { border-color: #b9c8d5; }
.hotel-profile .hotel-social-card-facebook .hotel-social-card-header { background: #eef4fb; }
.hotel-profile .hotel-social-card-facebook > iframe { min-height: 260px; height: 260px !important; }
.hotel-profile .hotel-social-source { display: block; padding: 12px 16px; color: var(--hotel-ink); background: #eef4fb; font-size: .9rem; font-weight: 800; text-decoration: none; }
.hotel-profile .hotel-social-source:hover { color: var(--hotel-sand); background: #1877f2; }
.hotel-profile .hotel-social-profile { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 16px; border: 1px solid #d8b5c7; border-radius: 12px; color: var(--hotel-ink); background: linear-gradient(135deg, #fff0f6, #fff9e9); text-decoration: none; }
.hotel-profile .hotel-social-profile:hover { border-color: #c23584; box-shadow: 0 8px 20px rgba(194,53,132,.14); }
.hotel-profile .hotel-social-profile-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045); font-size: 1.5rem; font-weight: 900; }
.hotel-profile .hotel-social-profile strong, .hotel-profile .hotel-social-profile small { display: block; }
.hotel-profile .hotel-social-profile small { margin-top: 2px; color: var(--hotel-ink-soft); }
@media (min-width: 861px) {
  .hotel-profile .hotel-provider-logos { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; width: 100%; }
  .hotel-profile .hotel-provider-tile { width: 100% !important; margin: 0 !important; }
}
@media (max-width: 600px) { .hotel-profile .hotel-social-card-facebook > iframe { min-height: 220px; height: 220px !important; } }

/* Hotelprofile: stabile Titelzeile, Wortwolke und Datenpalette */
.hotel-profile .hotel-name-row { display: block; }
.hotel-profile .hotel-title-line { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: start; gap: 18px; width: 100%; }
.hotel-profile .hotel-title-line .hotel-brand-mark { grid-column: 1; grid-row: 1; margin-top: .3rem; }
.hotel-profile .hotel-title-line h1 { grid-column: 2; grid-row: 1; min-width: 0; }
.hotel-profile .hotel-title-line .hotel-title-rating { grid-column: 3; grid-row: 1; align-self: start; justify-self: end; }
.hotel-profile .hotel-cloud { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(54px, auto)); align-items: center; justify-items: center; min-height: 420px; gap: clamp(12px, 2vw, 30px); padding: clamp(52px, 7vw, 92px) clamp(42px, 8vw, 130px); overflow: visible; border-radius: 50% / 40%; }
.hotel-profile .hotel-cloud-word { width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
.hotel-profile .hotel-cloud-word.weight-1 { font-size: clamp(1rem, 1.1vw, 1.45rem); }
.hotel-profile .hotel-cloud-word.weight-2 { font-size: clamp(1.2rem, 1.65vw, 2rem); }
.hotel-profile .hotel-cloud-word.weight-3 { font-size: clamp(1.55rem, 2.2vw, 2.8rem); }
.hotel-profile .hotel-cloud-word.weight-4 { font-size: clamp(2rem, 3vw, 3.8rem); }
.hotel-profile .hotel-cloud-word.weight-5 { font-size: clamp(2.45rem, 3.7vw, 4.7rem); }
.hotel-profile .hotel-data-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hotel-profile .hotel-data-item { font-family: inherit; font-size: .96rem; }
.hotel-profile .hotel-data-item:nth-child(1), .hotel-profile .hotel-data-item:nth-child(2) { color: var(--hotel-ink); background: #dff3f0 !important; border-color: #61bdb3 !important; }
.hotel-profile .hotel-data-item:nth-child(3), .hotel-profile .hotel-data-item:nth-child(4) { color: var(--hotel-sand); background: var(--hotel-ink) !important; border-color: var(--hotel-ink) !important; }
.hotel-profile .hotel-data-item:nth-child(5), .hotel-profile .hotel-data-item:nth-child(6) { color: var(--hotel-ink); background: #f8d7d0 !important; border-color: #df947e !important; }
.hotel-profile .hotel-data-item dt, .hotel-profile .hotel-data-item dd, .hotel-profile .hotel-data-item dd strong, .hotel-profile .hotel-data-item dd span { color: inherit !important; font-family: inherit !important; font-size: inherit !important; font-weight: 700; line-height: 1.5; }
.hotel-profile .hotel-data-item dt { opacity: .78; font-size: .76rem !important; letter-spacing: .08em; }
.hotel-profile .hotel-data-item dd { display: grid; gap: 3px; }
@media (max-width: 860px) {
  .hotel-profile .hotel-title-line { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; }
  .hotel-profile .hotel-cloud { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 48px 40px; }
}
@media (max-width: 600px) {
  .hotel-profile .hotel-title-line { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; }
  .hotel-profile .hotel-title-line .hotel-brand-mark { width: 48px; height: 48px; }
  .hotel-profile .hotel-title-line h1 { grid-column: 2; }
  .hotel-profile .hotel-title-line .hotel-title-rating { grid-column: 2; grid-row: 2; justify-self: start; }
  .hotel-profile .hotel-cloud { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; min-height: 0; gap: 18px 12px; padding: 44px 28px; border-radius: 34% 66% 38% 62% / 22% 26% 74% 78%; }
}
/* Hotelprofile: einheitliche Social-Profilkarten */
.hotel-profile .hotel-social-stack { display: grid; gap: 14px; align-content: start; }
.hotel-profile .hotel-social-profile { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; min-height: 92px; gap: 14px; align-items: center; padding: 18px; border: 1px solid; border-radius: 12px; box-shadow: none; }
.hotel-profile .hotel-social-profile-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: #fff; font-family: Arial, sans-serif; font-size: 1.75rem; font-weight: 800; line-height: 1; }
.hotel-profile .hotel-social-profile strong { color: inherit; font-size: 1rem; }
.hotel-profile .hotel-social-profile small { color: inherit; opacity: .78; }
.hotel-profile .hotel-social-profile-facebook { color: #123d68; border-color: #b9c8d5; background: #eef4fb; }
.hotel-profile .hotel-social-profile-facebook .hotel-social-profile-icon { background: #1877f2; font-family: Arial, sans-serif; }
.hotel-profile .hotel-social-profile-instagram { color: #6e1d4f; border-color: #e6b5cc; background: #fff3f8; }
.hotel-profile .hotel-social-profile-instagram .hotel-social-profile-icon { background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045); }
.hotel-profile .hotel-social-profile:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(11,53,85,.12); }
/* Hotelprofile: feste Note, volle Wortwolke und intensive Datenkacheln */
.hotel-profile .hotel-title-line { grid-template-columns: 64px minmax(0, 1fr) 156px !important; align-items: center; }
.hotel-profile .hotel-title-line .hotel-brand-mark { margin-top: 0; }
.hotel-profile .hotel-title-line .hotel-title-rating { align-self: center; }
.hotel-profile .hotel-cloud { grid-template-rows: repeat(3, minmax(72px, 1fr)); min-height: 460px; gap: clamp(14px, 2.4vw, 34px); padding: clamp(36px, 5vw, 68px) clamp(28px, 5vw, 76px); }
.hotel-profile .hotel-cloud-word.weight-1 { font-size: clamp(1.2rem, 1.35vw, 1.8rem); }
.hotel-profile .hotel-cloud-word.weight-2 { font-size: clamp(1.55rem, 2vw, 2.65rem); }
.hotel-profile .hotel-cloud-word.weight-3 { font-size: clamp(2.05rem, 2.75vw, 3.65rem); }
.hotel-profile .hotel-cloud-word.weight-4 { font-size: clamp(2.7rem, 3.7vw, 5rem); }
.hotel-profile .hotel-cloud-word.weight-5 { font-size: clamp(3.4rem, 4.8vw, 6.35rem); }
@media (min-width: 700px) { .hotel-profile .hotel-provider-logos { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-auto-flow: row; } }
.hotel-profile .hotel-data-item:nth-child(1), .hotel-profile .hotel-data-item:nth-child(2) { color: #fffefa; background: #008f89 !important; border-color: #008f89 !important; }
.hotel-profile .hotel-data-item:nth-child(3), .hotel-profile .hotel-data-item:nth-child(4) { color: #fffefa; background: #0b3555 !important; border-color: #0b3555 !important; }
.hotel-profile .hotel-data-item:nth-child(5), .hotel-profile .hotel-data-item:nth-child(6) { color: #fffefa; background: #c94d3d !important; border-color: #c94d3d !important; }
@media (max-width: 600px) {
  .hotel-profile .hotel-title-line { grid-template-columns: 42px minmax(0, 1fr) 88px !important; gap: 8px; }
  .hotel-profile .hotel-title-line .hotel-brand-mark { width: 42px; height: 42px; }
  .hotel-profile .hotel-title-line h1 { font-size: clamp(1.8rem, 7.6vw, 2.7rem); }
  .hotel-profile .hotel-title-line .hotel-title-rating { grid-column: 3; grid-row: 1; min-width: 88px; min-height: 76px; padding: 8px; justify-self: end; }
  .hotel-profile .hotel-title-rating strong { font-size: 2rem; }
  .hotel-profile .hotel-title-rating small { font-size: .57rem; }
  .hotel-profile .hotel-cloud { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; min-height: 390px; gap: 20px 12px; padding: 38px 20px; }
  .hotel-profile .hotel-cloud-word.weight-1 { font-size: 1.1rem; }
  .hotel-profile .hotel-cloud-word.weight-2 { font-size: 1.38rem; }
  .hotel-profile .hotel-cloud-word.weight-3 { font-size: 1.8rem; }
  .hotel-profile .hotel-cloud-word.weight-4 { font-size: 2.25rem; }
  .hotel-profile .hotel-cloud-word.weight-5 { font-size: 2.8rem; }
}
/* Hotelprofile: grosse, vollstaendige Wortwolke und Social-Mini-Vorschau */
.hotel-profile .hotel-cloud { box-sizing: border-box; grid-template-rows: repeat(3, minmax(96px, auto)); min-height: 480px; gap: clamp(16px, 2.6vw, 38px); padding: clamp(44px, 5.4vw, 78px) clamp(38px, 5.6vw, 86px); overflow: hidden; }
.hotel-profile .hotel-cloud-word { position: relative; z-index: 1; overflow-wrap: anywhere; word-break: normal; }
.hotel-profile .hotel-cloud-word.weight-1 { font-size: clamp(1.35rem, 1.55vw, 2.05rem); }
.hotel-profile .hotel-cloud-word.weight-2 { font-size: clamp(1.8rem, 2.3vw, 3.05rem); }
.hotel-profile .hotel-cloud-word.weight-3 { font-size: clamp(2.35rem, 3.15vw, 4.2rem); }
.hotel-profile .hotel-cloud-word.weight-4 { font-size: clamp(3.1rem, 4.25vw, 5.8rem); }
.hotel-profile .hotel-cloud-word.weight-5 { font-size: clamp(3.9rem, 5.5vw, 7.2rem); }
.hotel-profile .hotel-social-stack { grid-auto-rows: clamp(235px, 18vw, 285px); align-content: start; }
.hotel-profile .hotel-social-profile { min-height: 0; height: 100%; grid-template-columns: 48px minmax(0, 1fr) auto; padding: 22px; }
.hotel-profile .hotel-social-profile-icon { width: 48px; height: 48px; font-size: 2rem; }
.hotel-profile .hotel-social-profile-preview { display: grid; gap: 3px; min-width: 0; }
.hotel-profile .hotel-social-profile-preview strong { font-size: 1.15rem; }
.hotel-profile .hotel-social-profile-preview small { font-size: .85rem; font-weight: 800; opacity: .8; }
.hotel-profile .hotel-social-profile-preview em { font-size: .86rem; font-style: normal; line-height: 1.35; opacity: .72; }
.hotel-profile .hotel-social-profile-arrow { font-size: 3.5rem; font-weight: 900; line-height: 1; }
@media (max-width: 600px) {
  .hotel-profile .hotel-cloud { grid-template-rows: none; min-height: 430px; gap: 22px 14px; padding: 42px 24px; }
  .hotel-profile .hotel-cloud-word.weight-1 { font-size: 1.2rem; }
  .hotel-profile .hotel-cloud-word.weight-2 { font-size: 1.55rem; }
  .hotel-profile .hotel-cloud-word.weight-3 { font-size: 2rem; }
  .hotel-profile .hotel-cloud-word.weight-4 { font-size: 2.5rem; }
  .hotel-profile .hotel-cloud-word.weight-5 { font-size: 3.1rem; }
  .hotel-profile .hotel-social-stack { grid-auto-rows: 210px; }
  .hotel-profile .hotel-social-profile { grid-template-columns: 42px minmax(0, 1fr) auto; padding: 18px; }
  .hotel-profile .hotel-social-profile-icon { width: 42px; height: 42px; font-size: 1.75rem; }
  .hotel-profile .hotel-social-profile-arrow { font-size: 2.8rem; }
}