/* Rödelheimer Hof 0.1.15 – client-specific layer. */

/* ---------- Shared ---------- */
body{--rh-header-height:92px;color:var(--wp--preset--color--text)}
.rh-section{padding-block:clamp(4rem,7vw,7.5rem)}
.rh-section-heading{max-width:760px;margin-bottom:clamp(2rem,4vw,3.5rem)}
.rh-section-heading h2,.rh-breakfast-intro h2,.rh-target-card h2,.rh-booking-cta h2{font-size:clamp(2rem,4.5vw,3.6rem);letter-spacing:-.035em;margin:.35rem 0 1rem}
.rh-section-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.rh-button,.rh-booking-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.25rem;border-radius:8px;font-weight:800;text-decoration:none;line-height:1.1;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}
.rh-button:hover,.rh-booking-button:hover{transform:translateY(-1px)}
.rh-button--red,.rh-booking-button{background:var(--rh-red);color:#fff!important}
.rh-button--red:hover,.rh-booking-button:hover{background:var(--rh-red-dark);color:#fff!important}
.rh-button--gold{background:var(--rh-gold);color:#1e2528!important}
.rh-button--gold:hover{background:var(--rh-beige-dark);color:#1e2528!important}
.rh-button--outline{background:transparent;color:var(--rh-red)!important;border:1.5px solid var(--rh-red)}
.rh-button--outline:hover{background:var(--rh-red);color:#fff!important}

/* ---------- Header ---------- */
.rh-site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(30,38,42,.09);backdrop-filter:saturate(130%) blur(10px)}
.admin-bar .rh-site-header{top:32px}
.rh-header__inner{min-height:var(--rh-header-height);display:flex;align-items:center;gap:1.1rem}
.rh-brand{display:inline-flex;align-items:center;flex:0 0 auto}
.rh-brand img{display:block;width:clamp(190px,17vw,260px);height:auto}
.rh-nav-desktop{display:none;min-width:0;margin-left:auto}
.rh-nav-list,.rh-submenu,.rh-mobile-panel ul,.rh-footer__links{list-style:none;margin:0;padding:0}
.rh-nav-list{display:flex;align-items:center;gap:clamp(.75rem,1.15vw,1.35rem)}
.rh-nav-list>li{position:relative}
.rh-nav-list>li>a{display:block;padding:2rem 0;color:#252b2d;text-decoration:none;font-size:.87rem;font-weight:750;white-space:nowrap}
.rh-nav-list>li>a:hover,.rh-nav-list>li:focus-within>a{color:var(--rh-red)}
.rh-submenu{position:absolute;left:-1rem;top:calc(100% - .7rem);min-width:230px;padding:.6rem;background:#fff;border:1px solid var(--rh-line);border-radius:12px;box-shadow:0 20px 42px rgba(20,27,31,.13);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:20}
.rh-submenu a{display:block;padding:.65rem .75rem;border-radius:8px;color:#30383a;text-decoration:none;font-size:.9rem;font-weight:650}
.rh-submenu a:hover,.rh-submenu a:focus{background:var(--rh-warm);color:var(--rh-red)}
.rh-has-submenu:hover>.rh-submenu,.rh-has-submenu:focus-within>.rh-submenu{opacity:1;visibility:visible;transform:none}
.rh-booking-button--header{margin-left:auto;white-space:nowrap;padding-inline:1.05rem}
.rh-mobile-menu{position:relative;margin-left:.1rem}
.rh-mobile-menu>summary{width:48px;height:48px;border:1px solid var(--rh-line);border-radius:9px;display:grid;align-content:center;justify-items:center;gap:5px;cursor:pointer;list-style:none;background:#fff}
.rh-mobile-menu>summary::-webkit-details-marker{display:none}
.rh-mobile-menu>summary span{display:block;width:20px;height:2px;background:#252b2d;border-radius:2px}
.rh-mobile-panel{position:absolute;right:0;top:58px;width:min(90vw,420px);max-height:calc(100svh - 120px);overflow:auto;background:#fff;border:1px solid var(--rh-line);box-shadow:0 24px 50px rgba(20,27,31,.18);border-radius:14px;padding:1rem}
.rh-mobile-panel>nav>ul>li{border-bottom:1px solid #eee7e2;padding:.65rem 0}
.rh-mobile-panel a,.rh-mobile-panel strong{color:#252b2d;text-decoration:none;font-weight:750}
.rh-mobile-panel li ul{padding:.45rem 0 .15rem 1rem}
.rh-mobile-panel li li{padding:.3rem 0}
.rh-mobile-panel li li a{font-size:.9rem;font-weight:600;color:#556063}
.rh-booking-button--mobile-panel{width:100%;margin-top:1rem}
.rh-mobile-booking-sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:10px;background:var(--rh-red);color:#fff!important;text-decoration:none;font-weight:850;box-shadow:0 12px 30px rgba(130,8,45,.3)}

/* ---------- Hero ---------- */
.rh-hero{position:relative;min-height:720px;display:grid;align-items:end;overflow:hidden;background:#1c2224;color:#fff}
.rh-hero__media,.rh-hero__media img{position:absolute;inset:0;width:100%;height:100%}
.rh-hero__image{object-fit:cover;object-position:43% center}
.rh-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,14,17,.90) 0%,rgba(9,14,17,.72) 31%,rgba(9,14,17,.42) 54%,rgba(9,14,17,.14) 78%,rgba(9,14,17,.04) 100%)}
.rh-hero__content{position:relative;z-index:2;padding-block:clamp(6rem,10vw,9rem) clamp(4rem,7vw,6.5rem)}
.rh-hero__content>*{max-width:690px}
.rh-hero .ifm-eyebrow{color:var(--rh-gold);font-size:.9rem}
.rh-hero h1{color:#fff;font-size:clamp(2.7rem,6.6vw,5.2rem);line-height:1.01;letter-spacing:-.045em;margin:.45rem 0 1.25rem;text-wrap:balance}
.rh-hero__lead{font-size:clamp(1.05rem,1.65vw,1.28rem);line-height:1.6;max-width:610px}
.rh-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.75rem}

/* ---------- Benefit strip ---------- */
.rh-benefits{background:#fff;border-bottom:1px solid var(--rh-line)}
.rh-benefits__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.rh-benefit{min-height:138px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1.2rem .75rem;text-align:center;font-size:.92rem;font-weight:800;color:#30383a;border-right:1px solid #ece8e4;border-bottom:1px solid #ece8e4}
.rh-benefit__icon{width:38px;height:38px;display:grid;place-items:center;color:var(--rh-red)}
.rh-benefit__icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Rooms ---------- */
.rh-rooms{background:var(--rh-warm)}
.rh-room-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.rh-room-card{position:relative;background:#fff;border:1px solid rgba(50,58,60,.07);border-radius:16px;padding:clamp(1.35rem,2.5vw,2rem);box-shadow:0 15px 36px rgba(40,40,35,.06);overflow:hidden}
.rh-room-card__number{font-size:.75rem;font-weight:900;letter-spacing:.09em;color:var(--rh-gold);margin-bottom:2rem}
.rh-room-card h3{font-size:1.3rem;margin:0 0 .75rem;hyphens:auto}
.rh-room-card p{margin-bottom:1.4rem;color:#50585a}
.rh-room-card a{font-weight:800;text-decoration:none}

/* ---------- Target groups ---------- */
.rh-targets{background:#fff}
.rh-targets__grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.rh-target-card{padding:clamp(1.7rem,4vw,3.5rem);border-radius:18px;min-height:320px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.rh-target-card--business{background:#F3EFEA}
.rh-target-card--weekend{background:#F7F0E5}
.rh-target-card h2{font-size:clamp(1.8rem,3.2vw,3rem)}
.rh-target-card a{margin-top:.8rem;font-weight:800;text-decoration:none}

/* ---------- Breakfast ---------- */
.rh-breakfast{background:#fff}
.rh-breakfast-intro{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;margin-bottom:clamp(2rem,4vw,3.5rem)}
.rh-breakfast-intro__media{border-radius:18px;overflow:hidden;min-height:300px;background:var(--rh-warm)}
.rh-breakfast-intro__image{width:100%;height:100%;min-height:300px;object-fit:cover}
.rh-breakfast-intro__content{max-width:600px}
.rh-breakfast-gallery{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}
.rh-breakfast-gallery__stage{position:relative;margin:0;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--rh-warm);box-shadow:0 16px 36px rgba(30,38,40,.07)}
.rh-breakfast-gallery__main-image{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .16s ease}
.rh-breakfast-gallery.is-changing .rh-breakfast-gallery__main-image{opacity:.38}
.rh-breakfast-gallery__thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;padding:.1rem 0 .25rem}
.rh-breakfast-gallery__thumb{appearance:none;width:100%;aspect-ratio:4/3;margin:0;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--rh-warm);cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.rh-breakfast-gallery__thumb:hover{transform:translateY(-1px)}
.rh-breakfast-gallery__thumb[aria-pressed="true"]{border-color:var(--rh-red);box-shadow:0 0 0 2px rgba(139,30,63,.12)}
.rh-breakfast-gallery__thumb:focus-visible{outline:3px solid var(--rh-gold);outline-offset:3px}
.rh-breakfast-gallery__thumb-image{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- Services ---------- */
.rh-services{background:var(--rh-warm)}
.rh-service-grid{display:grid;grid-template-columns:1fr;gap:1.15rem}
.rh-service-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px rgba(30,38,40,.07)}
.rh-service-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#e9e6e2}
.rh-service-card__image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.rh-service-card:hover .rh-service-card__image{transform:scale(1.025)}
.rh-service-card__body{padding:1.5rem}
.rh-service-card__body h3{font-size:1.25rem;margin-top:0}
.rh-service-card__body>a{font-weight:800;text-decoration:none}

/* ---------- CTA ---------- */
.rh-booking-cta{background:var(--rh-gold);padding-block:clamp(2.7rem,5vw,4.8rem)}
.rh-booking-cta__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.rh-booking-cta h2{font-size:clamp(1.8rem,3.5vw,3.1rem);margin:.3rem 0 .65rem;max-width:760px}
.rh-booking-cta p{margin-bottom:0}
.rh-booking-cta .ifm-eyebrow{color:var(--rh-red)}
.rh-booking-button--large{min-height:56px;padding-inline:1.55rem}

/* ---------- Subpages ---------- */
.rh-subpage-hero{min-height:360px!important}
.rh-subpage-hero .wp-block-post-title{font-size:clamp(2.4rem,6vw,4.7rem);letter-spacing:-.04em;max-width:900px}
.rh-subpage-content{max-width:900px}
.rh-subpage-content h2{margin-top:2.2em}
.rh-subpage-content img{border-radius:16px}
.rh-article{max-width:900px}

/* ---------- Footer ---------- */
.rh-footer{background:var(--rh-dark);color:#f4f2ef;padding-top:clamp(3.5rem,6vw,6rem)}
.rh-footer__grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
.rh-footer__brand img{width:min(290px,90%);height:auto;background:#fff;border-radius:8px;padding:.5rem}
.rh-footer__brand p{max-width:430px;color:#c9cecf}
.rh-footer h3{color:#fff;font-size:1rem;margin:0 0 1rem}
.rh-footer a{color:#fff;text-decoration:none}
.rh-footer a:hover{color:var(--rh-gold)}
.rh-footer__links{display:grid;gap:.55rem}
.rh-footer__bottom{margin-top:3rem;padding-block:1.25rem;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;color:#aeb7b9;font-size:.82rem}

@media (max-width:782px){.admin-bar .rh-site-header{top:46px}}
@media (max-width:777px){
  body{padding-bottom:76px}
  .rh-booking-button--header{display:none}
  .rh-hero{min-height:560px}
  .rh-hero__image{object-position:38% center}
  .rh-hero__overlay{background:linear-gradient(180deg,rgba(8,13,16,.14) 0%,rgba(8,13,16,.36) 38%,rgba(8,13,16,.90) 73%,rgba(8,13,16,.96) 100%)}
  .rh-hero__content{padding-top:16rem;padding-bottom:3.3rem}
  .rh-hero h1{font-size:clamp(2.45rem,12vw,4rem)}
  .rh-hero__actions{display:grid;grid-template-columns:1fr 1fr}
  .rh-button{padding-inline:.8rem;text-align:center}
}
@media (min-width:778px){
  .rh-benefits__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rh-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-targets__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-breakfast-intro{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .rh-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rh-footer__grid{grid-template-columns:1.4fr .8fr .7fr}
  .rh-mobile-booking-sticky{display:none}
}
@media (min-width:990px){
  .rh-hero{min-height:720px}
  .rh-hero__image{object-position:43% center}
  .rh-benefits__grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .rh-benefit{border-bottom:0}
  .rh-room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rh-breakfast-gallery{grid-template-columns:minmax(0,1.8fr) minmax(260px,.72fr);gap:1rem}
  .rh-breakfast-gallery__thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:0}
  .rh-breakfast-gallery__thumb{width:100%}
}
/* Frozen desktop hero composition: split text/image, no image retouching. */
@media (min-width:1180px){
  .rh-hero{min-height:610px;background:#111a20}
  .rh-hero__media{top:0;right:0;bottom:0;left:40%;width:auto;height:100%;overflow:hidden}
  .rh-hero__media img.rh-hero__image{top:0;right:auto;bottom:0;left:-18vw;width:100vw;max-width:none;height:100%;object-fit:cover;object-position:center 36%}
  .rh-hero__overlay{background:linear-gradient(90deg,#111a20 0%,#111a20 36%,rgba(17,26,32,.98) 40%,rgba(17,26,32,.78) 46%,rgba(17,26,32,.38) 53%,rgba(17,26,32,.08) 60%,rgba(17,26,32,0) 66%)}
  .rh-hero__content{padding-top:5rem;padding-bottom:4.5rem}
}
/* Full desktop navigation only when there is enough horizontal room. */
@media (min-width:1320px){
  .rh-nav-desktop{display:block}
  .rh-mobile-menu{display:none}
  .rh-booking-button--header{display:inline-flex}
}
@media (min-width:778px) and (max-width:989px){
  .rh-hero{min-height:620px}
  .rh-hero__image{object-position:46% center}
}
@media (prefers-reduced-motion:reduce){
  .rh-button,.rh-booking-button,.rh-breakfast-gallery__main-image,.rh-breakfast-gallery__thumb,.rh-service-card__image{transition:none}
}

/* ---------- 0.1.3 room imagery ---------- */
.rh-room-card{padding:0;display:flex;flex-direction:column}
.rh-room-card__media{display:block;aspect-ratio:3/2;overflow:hidden;background:#eee7e2}
.rh-room-card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.rh-room-card:hover .rh-room-card__image{transform:scale(1.025)}
.rh-room-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(1.2rem,2vw,1.65rem)}
.rh-room-card__body .rh-room-card__number{margin-bottom:.85rem}
.rh-room-card__body p{flex:1}
.rh-room-card__link{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto}
.rh-room-note{max-width:820px;margin:1.4rem 0 0;color:#596164;font-size:.94rem}

/* ---------- 0.1.3 footer service area ---------- */
.rh-footer__service{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid rgba(255,255,255,.15)}
.rh-footer-widget{background:#fff;color:#20282b;border-radius:16px;padding:clamp(1.1rem,2vw,1.5rem);min-width:0}
.rh-footer-widget h3{color:#20282b;margin:0 0 1rem;font-size:1.05rem}
.rh-kayak-award{display:flex;align-items:center;gap:clamp(1rem,2.5vw,1.6rem);color:#20282b!important;font-weight:850;text-decoration:none}
.rh-kayak-award img{display:block;width:min(180px,44%);height:auto;flex:0 0 auto;border:1px solid var(--rh-line)}
.rh-kayak-award span{line-height:1.35}
.rh-kayak-award:hover{color:var(--rh-red)!important}

@media (min-width:778px){
  .rh-footer__service{grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);align-items:stretch}
  .rh-footer-widget{min-height:310px}
  .rh-footer-widget--award{display:flex;flex-direction:column}
  .rh-footer-widget--award .rh-kayak-award{flex:1}
}
@media (prefers-reduced-motion:reduce){.rh-room-card__image{transition:none}}

/* ---------- 0.1.5 mobile menu viewport fix ---------- */

@media (max-width:777px){
  .rh-header__inner{gap:.7rem}
  .rh-brand img{width:min(190px,calc(100vw - 104px))}
  .rh-mobile-menu{margin-left:auto;position:static}
  .rh-mobile-panel{
    position:fixed;
    left:12px;
    right:12px;
    top:calc(var(--rh-header-height) + 8px);
    width:auto;
    max-height:calc(100svh - var(--rh-header-height) - 96px);
    z-index:110;
    padding:1rem 1.1rem;
    overflow:auto;
    overscroll-behavior:contain;
  }
  .admin-bar .rh-mobile-panel{
    top:calc(46px + var(--rh-header-height) + 8px);
    max-height:calc(100svh - 46px - var(--rh-header-height) - 96px);
  }
  body:has(.rh-mobile-menu[open]){overflow:hidden}
  body:has(.rh-mobile-menu[open]) .rh-mobile-booking-sticky{opacity:0;pointer-events:none}
}

/* ---------- 0.1.6 customer feedback: warmer page, calmer desktop type, editable hero ---------- */
body{background:#FAF8F4}
.rh-benefits,.rh-targets,.rh-breakfast{background:#FAF8F4}
.rh-rooms,.rh-services{background:#F4EFE7}
.rh-site-header{background:rgba(255,253,250,.97)}

/* Hero slider keeps text/CTA fixed while only the imagery changes. */
.rh-hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;pointer-events:none}
.rh-hero__slide.is-active{opacity:1;visibility:visible}
.rh-hero__slider-controls{position:absolute;z-index:4;right:clamp(1rem,3vw,3rem);bottom:1.35rem;display:flex;align-items:center;gap:.65rem;padding:.45rem .55rem;border-radius:999px;background:rgba(10,15,18,.56);backdrop-filter:blur(7px)}
.rh-hero__arrow,.rh-hero__dot{appearance:none;border:0;cursor:pointer}
.rh-hero__arrow{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.55rem;line-height:1;transition:background-color .18s ease,transform .18s ease}
.rh-hero__arrow:hover,.rh-hero__arrow:focus-visible{background:rgba(255,255,255,.28);transform:scale(1.04)}
.rh-hero__dots{display:flex;align-items:center;gap:.45rem}
.rh-hero__dot{width:9px;height:9px;padding:0;border-radius:50%;background:rgba(255,255,255,.46);transition:transform .18s ease,background-color .18s ease}
.rh-hero__dot[aria-current="true"]{background:var(--rh-gold);transform:scale(1.28)}
.rh-hero__dot:focus-visible,.rh-hero__arrow:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* The first slide keeps the approved building crop. Other selected images use a neutral crop. */
@media (min-width:1180px){
  .rh-hero__slide:not(.rh-hero__slide--primary) img.rh-hero__image{left:0;width:100%;max-width:none;height:100%;object-fit:cover;object-position:center center}
}

@media (max-width:777px){
  .rh-hero__slider-controls{right:12px;bottom:1rem;gap:.45rem;padding:.35rem .45rem}
  .rh-hero__arrow{width:31px;height:31px}
  .rh-hero__dot{width:8px;height:8px}
}

@media (prefers-reduced-motion:reduce){
  .rh-hero__slide,.rh-hero__arrow,.rh-hero__dot{transition:none}
}

/* ---------- 0.1.7 information architecture & subpages ---------- */
.rh-detail-page{background:var(--rh-page)}
.rh-detail-page h1,.rh-detail-page h2,.rh-detail-page h3{color:#202426;text-wrap:balance}
.rh-detail-page p{line-height:1.7}
.rh-text-link{display:inline-flex;align-items:center;gap:.3rem;font-weight:850;text-decoration:none;color:var(--rh-red)}
.rh-content-note{margin-top:1.4rem;color:#697174;font-size:.9rem;line-height:1.55}
.rh-prose{max-width:720px}
.rh-prose p:first-child{margin-top:0}
.rh-prose p:last-child{margin-bottom:0}

/* Shared image-led subpage hero. */
.rh-page-hero{position:relative;min-height:clamp(480px,56vw,650px);display:flex;align-items:flex-end;overflow:hidden;background:#111a20;color:#fff}
.rh-page-hero--compact{min-height:clamp(430px,48vw,570px)}
.rh-page-hero__media,.rh-page-hero__media img{position:absolute;inset:0;width:100%;height:100%}
.rh-page-hero__image{object-fit:cover;object-position:center}
.rh-page-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,22,.94) 0%,rgba(11,18,22,.79) 35%,rgba(11,18,22,.42) 63%,rgba(11,18,22,.16) 100%)}
.rh-page-hero__content{position:relative;z-index:2;padding-block:clamp(4.5rem,8vw,7rem)}
.rh-page-hero__content>*{max-width:760px}
.rh-page-hero__content .ifm-eyebrow{color:var(--rh-gold)}
.rh-page-hero__content h1{color:#fff;font-size:clamp(2.7rem,5.1vw,4.8rem);line-height:1.02;letter-spacing:-.045em;margin:.4rem 0 1rem}
.rh-page-hero__content>p:not(.ifm-eyebrow){font-size:clamp(1.02rem,1.55vw,1.25rem);max-width:680px}
.rh-page-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}

/* Text-led subpage hero for content-heavy pages. */
.rh-simple-hero{background:#121a1e;color:#fff;padding-block:clamp(4.5rem,8vw,7rem)}
.rh-simple-hero .ifm-eyebrow{color:var(--rh-gold)}
.rh-simple-hero h1{color:#fff;font-size:clamp(2.7rem,5vw,4.7rem);line-height:1.03;letter-spacing:-.04em;margin:.4rem 0 1rem}
.rh-simple-hero p{max-width:760px;font-size:clamp(1.02rem,1.45vw,1.2rem);color:#e2e6e7}
.rh-simple-hero--room{padding-block:clamp(3.3rem,6vw,5rem)}
.rh-back-link{display:inline-flex;margin-bottom:2rem;color:#fff!important;text-decoration:none;font-weight:800;opacity:.82}
.rh-back-link:hover{opacity:1;color:var(--rh-gold)!important}

.rh-page-intro__grid{display:grid;gap:1.5rem;align-items:start}
.rh-page-intro__grid h2,.rh-story-card h2,.rh-location-band h2,.rh-room-description h2{font-size:clamp(2rem,3.6vw,3.25rem);letter-spacing:-.035em;margin:.35rem 0 1rem}
.rh-page-intro__grid--tight{margin-bottom:clamp(2.5rem,5vw,4.5rem)}

/* Hotel page. */
.rh-hotel-facts{padding-block:1.25rem 3.5rem}
.rh-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.rh-fact{background:#fff;border:1px solid var(--rh-line);border-radius:16px;padding:1.35rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:0 12px 30px rgba(30,38,40,.045)}
.rh-fact strong{font-size:clamp(1.8rem,4vw,3.1rem);line-height:1;color:var(--rh-red)}
.rh-fact span{font-weight:750;color:#596164}
.rh-story-grid{display:grid;gap:1.25rem}
.rh-story-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--rh-line);box-shadow:0 16px 36px rgba(30,38,40,.055)}
.rh-story-card__media{aspect-ratio:16/9;overflow:hidden;background:#eee8e0}
.rh-story-card__image{width:100%;height:100%;object-fit:cover}
.rh-story-card__body{padding:clamp(1.5rem,3vw,2.4rem)}
.rh-story-card__body h2{font-size:clamp(1.7rem,2.8vw,2.45rem)}
.rh-video-note{padding-top:0}
.rh-video-note__inner{background:#fff;border:1px solid var(--rh-line);border-radius:18px;padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.rh-video-note__inner h2{margin:.25rem 0 .6rem}

/* Partners. */
.rh-partner-grid{display:grid;gap:1.1rem}
.rh-partner-card{background:#fff;border:1px solid var(--rh-line);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:110px minmax(0,1fr);box-shadow:0 12px 30px rgba(30,38,40,.045)}
.rh-partner-card__media{min-height:150px;background:#f1ece6;overflow:hidden}
.rh-partner-card__image{width:100%;height:100%;object-fit:cover}
.rh-partner-card__body{padding:1.3rem 1.4rem}
.rh-partner-card__body h2{font-size:1.18rem;margin:0 0 .55rem}
.rh-partner-card__body p{font-size:.95rem;color:#586164;margin:0 0 .8rem}
.rh-partner-card--text-only{grid-template-columns:1fr}

/* Arrival. */
.rh-arrival-grid{display:grid;gap:1rem}
.rh-arrival-card{background:#fff;border:1px solid var(--rh-line);border-radius:18px;padding:clamp(1.4rem,3vw,2.1rem);box-shadow:0 14px 34px rgba(30,38,40,.055)}
.rh-arrival-card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f6ede0;font-size:1.55rem;margin-bottom:1.2rem}
.rh-arrival-card h2{font-size:1.45rem;margin:0 0 .75rem}
.rh-arrival-card__hint{font-size:.9rem;color:#667073;border-top:1px solid #eee8e1;padding-top:.9rem;margin-top:1rem}
.rh-location-band{background:#e9e1d7;padding-block:clamp(3rem,6vw,5rem)}
.rh-location-band__grid{display:grid;gap:2rem;align-items:center}
.rh-location-points{display:grid;grid-template-columns:1fr;gap:.7rem}
.rh-location-points span{background:rgba(255,255,255,.72);border-radius:999px;padding:.75rem 1rem;font-weight:750}

/* Fairs. */
.rh-fair-years{display:grid;gap:2.5rem}
.rh-fair-year>h2{font-size:1rem;text-transform:uppercase;letter-spacing:.11em;color:var(--rh-red);margin:0 0 .8rem}
.rh-fair-list{border-top:1px solid var(--rh-line)}
.rh-fair-row{display:grid;grid-template-columns:minmax(135px,.45fr) minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rh-line);align-items:baseline}
.rh-fair-row time{font-variant-numeric:tabular-nums;font-weight:750;color:#667073}
.rh-fair-row strong{font-size:1.02rem;color:#202426}
.rh-empty-state{padding:1.5rem;background:#fff;border:1px solid var(--rh-line);border-radius:14px}

/* Excursions. */
.rh-section--first{padding-bottom:2rem}
.rh-explore-intro{display:grid;gap:1.7rem;align-items:center}
.rh-explore-intro__media{border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:#eee8e0}
.rh-explore-intro__image{width:100%;height:100%;object-fit:cover}
.rh-explore-intro h2{font-size:clamp(2rem,3.5vw,3.1rem);letter-spacing:-.035em;margin:.35rem 0 1rem}
.rh-explore-section{padding-top:2rem}
.rh-explore-grid{display:grid;gap:1rem}
.rh-explore-card{background:#fff;border:1px solid var(--rh-line);border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(30,38,40,.045)}
.rh-explore-card__media{aspect-ratio:16/10;overflow:hidden;background:#eee8e0}
.rh-explore-card__image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.rh-explore-card:hover .rh-explore-card__image{transform:scale(1.025)}
.rh-explore-card__body{padding:1.2rem 1.25rem}
.rh-explore-card__body h3{font-size:1.13rem;margin:0 0 .55rem}
.rh-explore-card__body p{font-size:.94rem;color:#5f686b;margin:0}
.rh-explore-card--text-only .rh-explore-card__body{min-height:190px}

/* Room overview. */
.rh-room-overview-grid{display:grid;gap:1.2rem}
.rh-room-overview-card{background:#fff;border:1px solid var(--rh-line);border-radius:20px;overflow:hidden;box-shadow:0 15px 36px rgba(30,38,40,.055);display:flex;flex-direction:column}
.rh-room-overview-card__media{display:block;aspect-ratio:3/2;overflow:hidden;background:#eee8e0}
.rh-room-overview-card__image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.rh-room-overview-card:hover .rh-room-overview-card__image{transform:scale(1.025)}
.rh-room-overview-card__body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.rh-room-overview-card__number{font-size:.73rem;letter-spacing:.12em;font-weight:900;color:var(--rh-gold);margin-bottom:.7rem}
.rh-room-overview-card h2{font-size:1.45rem;margin:0 0 .65rem}
.rh-room-overview-card p{color:#596164;margin:0 0 1rem}
.rh-room-overview-card__facts{display:flex;flex-wrap:wrap;gap:.5rem;margin:auto 0 1rem}
.rh-room-overview-card__facts span{font-size:.82rem;font-weight:750;background:#f4efe8;border-radius:999px;padding:.45rem .65rem}
.rh-room-amenities-band{background:#eee7de;padding-block:clamp(3.5rem,6vw,5.5rem)}
.rh-amenity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.rh-amenity-grid span{background:#fff;border:1px solid rgba(80,70,60,.08);border-radius:12px;padding:.85rem 1rem;font-weight:750;color:#434b4d}

/* Room detail gallery and booking panel. */
.rh-room-detail__grid{display:grid;gap:1.5rem;align-items:start}
.rh-room-gallery__stage{margin:0;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#eee8e0;box-shadow:0 16px 36px rgba(30,38,40,.06)}
.rh-room-gallery__main-image{width:100%;height:100%;object-fit:cover;transition:opacity .16s ease}
.rh-room-gallery.is-changing .rh-room-gallery__main-image{opacity:.42}
.rh-room-gallery__thumbs{display:flex;gap:.65rem;overflow-x:auto;padding:.75rem .05rem .2rem;scroll-snap-type:x proximity}
.rh-room-gallery__thumb{appearance:none;flex:0 0 94px;aspect-ratio:4/3;border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;background:#eee8e0;cursor:pointer;scroll-snap-align:start}
.rh-room-gallery__thumb[aria-pressed="true"]{border-color:var(--rh-red);box-shadow:0 0 0 2px rgba(139,30,63,.10)}
.rh-room-gallery__thumb-image{width:100%;height:100%;object-fit:cover;display:block}
.rh-room-booking-card{background:#fff;border:1px solid var(--rh-line);border-radius:20px;padding:clamp(1.4rem,3vw,2rem);box-shadow:0 16px 38px rgba(30,38,40,.06)}
.rh-room-booking-card h2{font-size:clamp(1.8rem,3vw,2.45rem);margin:.3rem 0 1.2rem}
.rh-room-meta{margin:0 0 1.5rem}
.rh-room-meta>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid #eee8e1}
.rh-room-meta dt{font-weight:700;color:#667073}
.rh-room-meta dd{margin:0;text-align:right;font-weight:850;color:#202426}
.rh-room-booking-card .rh-booking-button,.rh-room-booking-card .rh-button{width:100%;margin-top:.65rem}
.rh-room-description{background:#eee7de;padding-block:clamp(3.5rem,6vw,5.5rem)}
.rh-room-description__grid{display:grid;gap:2rem;align-items:start}
.rh-amenity-grid--detail{align-self:start}

/* Generic legacy pages inherit the new visual language without changing content. */
.rh-subpage{background:var(--rh-page)}
.rh-subpage-content{background:#fff;border:1px solid var(--rh-line);border-radius:18px;padding:clamp(1.3rem,3vw,2.4rem);margin-block:clamp(2rem,5vw,4rem);box-shadow:0 14px 36px rgba(30,38,40,.045)}
.rh-subpage-content p,.rh-subpage-content li{line-height:1.72}

@media (min-width:778px){
  .rh-page-intro__grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,5vw,5rem)}
  .rh-fact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rh-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-arrival-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rh-location-band__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .rh-location-points{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-explore-intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem)}
  .rh-explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-room-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-amenity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rh-room-description__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
}
@media (min-width:990px){
  .rh-partner-card{grid-template-columns:145px minmax(0,1fr)}
  .rh-explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rh-room-detail__grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:clamp(1.5rem,3vw,2.5rem)}
  .rh-room-booking-card{position:sticky;top:calc(var(--rh-header-height) + 24px)}
  .rh-room-gallery__thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding-top:.8rem}
  .rh-room-gallery__thumb{width:100%;flex:auto}
}
@media (min-width:1180px){
  .rh-room-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:777px){
  .rh-page-hero{min-height:520px}
  .rh-page-hero__shade{background:linear-gradient(180deg,rgba(11,18,22,.2),rgba(11,18,22,.92) 70%,rgba(11,18,22,.98))}
  .rh-page-hero__content{padding-top:15rem;padding-bottom:3.5rem}
  .rh-page-hero__content h1,.rh-simple-hero h1{font-size:clamp(2.4rem,11vw,3.6rem)}
  .rh-partner-card{grid-template-columns:90px minmax(0,1fr)}
  .rh-fair-row{grid-template-columns:1fr;gap:.2rem}
}
@media (prefers-reduced-motion:reduce){
  .rh-explore-card__image,.rh-room-overview-card__image,.rh-room-gallery__main-image{transition:none}
}

/* ---------- 0.1.8 subpage refinement: hotel facts, fair booking, hospitality ---------- */

/* Hotel fact cards: customer requested a more substantial 4:3 presence on desktop. */
.rh-fact{justify-content:center;min-height:150px}
@media (min-width:778px){
  .rh-fact{aspect-ratio:4/3;min-height:0;padding:clamp(1.35rem,2vw,2rem)}
  .rh-fact strong{font-size:clamp(2.2rem,3.2vw,3.5rem)}
}

/* Fair rows now carry their own date-aware booking CTA. */
.rh-fair-row{grid-template-columns:minmax(135px,.42fr) minmax(0,1fr) auto;align-items:center}
.rh-fair-booking{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none;font-weight:850;font-size:.9rem;color:#fff!important;background:var(--rh-red);border-radius:999px;padding:.62rem .9rem;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.rh-fair-booking:hover,.rh-fair-booking:focus-visible{transform:translateY(-1px);box-shadow:0 8px 20px rgba(139,30,63,.18);background:var(--rh-red-dark)}

/* Shared service subpage building blocks. */
.rh-section--soft{background:#f1ebe3}
.rh-section--compact-top{padding-top:0}
.rh-section-actions--start{justify-content:flex-start}
.rh-hospitality-grid{display:grid;gap:1rem}
.rh-hospitality-card{background:#fff;border:1px solid var(--rh-line);border-radius:18px;padding:clamp(1.4rem,3vw,2rem);box-shadow:0 14px 34px rgba(30,38,40,.05)}
.rh-hospitality-card h2{font-size:clamp(1.5rem,2.5vw,2.05rem);margin:.35rem 0 .85rem}
.rh-hospitality-card p:last-child{margin-bottom:0}

.rh-service-feature-grid{display:grid;gap:1.4rem;align-items:center}
.rh-service-feature__media{aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#eee8e0;box-shadow:0 16px 36px rgba(30,38,40,.055)}
.rh-service-feature__image{width:100%;height:100%;object-fit:cover;display:block}
.rh-service-feature__content h2{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.035em;margin:.35rem 0 1rem}
.rh-service-feature-grid--two-images{align-items:stretch}
.rh-service-feature__content--full{align-self:center}

.rh-personal-note{display:grid;gap:1.4rem;align-items:center;background:#fff;border:1px solid var(--rh-line);border-radius:20px;padding:clamp(1rem,2vw,1.4rem);box-shadow:0 14px 34px rgba(30,38,40,.045)}
.rh-personal-note__media{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#eee8e0}
.rh-personal-note__media img{width:100%;height:100%;object-fit:cover}
.rh-personal-note h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:.3rem 0 .75rem}

.rh-seminar-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.rh-seminar-facts>div{background:#fff;border:1px solid var(--rh-line);border-radius:16px;padding:1.35rem;display:flex;flex-direction:column;justify-content:center;min-height:135px;box-shadow:0 12px 30px rgba(30,38,40,.045)}
.rh-seminar-facts strong{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1;color:var(--rh-red)}
.rh-seminar-facts span{margin-top:.45rem;font-weight:750;color:#596164}

.rh-wellness-grid{display:grid;gap:1.2rem}
.rh-wellness-card{background:#fff;border:1px solid var(--rh-line);border-radius:20px;overflow:hidden;box-shadow:0 16px 36px rgba(30,38,40,.055)}
.rh-wellness-card__media{aspect-ratio:4/3;overflow:hidden;background:#eee8e0}
.rh-wellness-card__image{width:100%;height:100%;object-fit:cover;display:block}
.rh-wellness-card__body{padding:clamp(1.4rem,3vw,2rem)}
.rh-wellness-card__body h2{font-size:clamp(1.7rem,3vw,2.45rem);margin:.35rem 0 .9rem}
.rh-wellness-card__body p:last-child{margin-bottom:0}

/* Room detail pages use a real room photo in the hero instead of the old dark text bar. */
.rh-page-hero--room .rh-page-hero__image{object-position:center center}
.rh-page-hero--room .rh-page-hero__shade{background:linear-gradient(90deg,rgba(11,18,22,.88) 0%,rgba(11,18,22,.7) 38%,rgba(11,18,22,.3) 72%,rgba(11,18,22,.12) 100%)}
.rh-page-hero--room .rh-back-link{margin-bottom:1.25rem}

@media (min-width:778px){
  .rh-hospitality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rh-service-feature-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}
  .rh-personal-note{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);padding:1.25rem}
  .rh-seminar-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rh-wellness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-service-feature-grid--two-images{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-service-feature-grid--two-images .rh-service-feature__content--full{grid-column:1/-1;max-width:850px;margin-inline:auto;text-align:center}
  .rh-service-feature-grid--two-images .rh-section-actions--start{justify-content:center}
}

@media (max-width:777px){
  .rh-fair-row{grid-template-columns:1fr;gap:.45rem;align-items:start}
  .rh-fair-booking{justify-self:start;margin-top:.35rem}
  .rh-page-hero--room .rh-page-hero__shade{background:linear-gradient(180deg,rgba(11,18,22,.2),rgba(11,18,22,.9) 68%,rgba(11,18,22,.98))}
}

@media (prefers-reduced-motion:reduce){
  .rh-fair-booking{transition:none}
}

/* ---------- 0.1.9 news, legal pages and multilingual readiness ---------- */
.rh-header__actions{display:flex;align-items:center;gap:.7rem}
.rh-language-switcher{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:850;letter-spacing:.04em;white-space:nowrap}
.rh-language-switcher__link{color:#5b6467;text-decoration:none;opacity:.72;padding:.25rem .1rem}
.rh-language-switcher__link:hover,.rh-language-switcher__link:focus-visible,.rh-language-switcher__link.is-active{color:var(--rh-red);opacity:1}
.rh-footer__bottom .rh-language-switcher{margin-left:auto}
.rh-mobile-panel .rh-language-switcher{margin:1rem 0 .35rem;padding-top:1rem;border-top:1px solid var(--rh-line)}

.rh-simple-hero--compact{padding-block:clamp(3.5rem,7vw,6rem);background:linear-gradient(135deg,#1b2225,#30393b);color:#fff}
.rh-simple-hero--compact h1{max-width:900px;margin:.45rem 0 0;color:#fff}
.rh-simple-hero--compact p{max-width:760px;color:rgba(255,255,255,.82)}
.rh-legal-page{background:var(--rh-page)}
.rh-legal-card{max-width:840px;background:#fff;border:1px solid var(--rh-line);border-radius:20px;padding:clamp(1.4rem,4vw,3rem);box-shadow:0 16px 40px rgba(30,38,40,.05)}
.rh-legal-card--wide{max-width:980px}
.rh-legal-card h2{font-size:clamp(1.35rem,2.4vw,1.85rem);margin:2rem 0 .7rem}
.rh-legal-card h2:first-child{margin-top:0}
.rh-legal-card p,.rh-legal-card li{line-height:1.75}
.rh-legal-note{background:#f4efe8;border-left:4px solid var(--rh-gold);padding:1rem 1.1rem;border-radius:0 10px 10px 0;color:#50595c}

.rh-news-page{background:var(--rh-page)}
.rh-news-grid{display:grid;gap:1.25rem;list-style:none;margin:0;padding:0}
.rh-news-card{height:100%;background:#fff;border:1px solid var(--rh-line);border-radius:18px;overflow:hidden;box-shadow:0 14px 36px rgba(30,38,40,.05)}
.rh-news-card__image{margin:0;overflow:hidden;background:#eee8e0}
.rh-news-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.rh-news-card:hover .rh-news-card__image img{transform:scale(1.025)}
.rh-news-card__body{padding:1.35rem 1.4rem 1.5rem}
.rh-news-card__date{font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--rh-gold);margin:0 0 .65rem}
.rh-news-card h2{font-size:clamp(1.35rem,2.3vw,1.85rem);margin:0 0 .7rem}
.rh-news-card h2 a{text-decoration:none;color:inherit}
.rh-news-card .wp-block-post-excerpt__more-link{display:inline-flex;margin-top:.65rem;font-weight:850;color:var(--rh-red);text-decoration:none}
.rh-article .wp-block-post-date{color:#70797b;font-size:.9rem;margin-bottom:1.4rem}

@media (min-width:778px){
  .rh-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rh-news-grid > li:first-child{grid-column:1/-1}
  .rh-news-grid > li:first-child .rh-news-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .rh-news-grid > li:first-child .rh-news-card__image{height:100%}
}
@media (min-width:1180px){
  .rh-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1319px){
  .rh-header__actions{margin-left:auto}
  .rh-header__actions .rh-language-switcher{display:none}
}

/* ---------- 0.1.11 typography + tonal brand system ---------- */
/*
 * Customer freeze:
 * - headings use a compact em-based scale
 * - mustard/gold is replaced by a muted, stronger beige
 * - clear red is replaced by the hotel's wine-red/bordeaux family
 * - page structure and spacing remain unchanged
 */
:root{
  --rh-red:#8B1E3F;
  --rh-red-dark:#6F1731;
  --rh-beige:#B79D7A;
  --rh-beige-dark:#9A8060;
  --rh-gold:var(--rh-beige); /* legacy variable retained for backwards compatibility */
}

/* Main title hierarchy: consistent, responsive and intentionally calmer. */
.rh-hero h1,
.rh-page-hero__content h1,
.rh-simple-hero h1,
.rh-subpage-hero .wp-block-post-title{
  font-size:clamp(2em,6vw,2.4em);
  line-height:1.08;
  letter-spacing:-.035em;
}

.rh-section-heading h2,
.rh-breakfast-intro h2,
.rh-target-card h2,
.rh-booking-cta h2,
.rh-page-intro__grid h2,
.rh-story-card h2,
.rh-location-band h2,
.rh-room-description h2,
.rh-explore-intro h2,
.rh-service-feature__content h2,
.rh-personal-note h2,
.rh-room-booking-card h2{
  font-size:clamp(1.75em,4vw,2.05em);
  line-height:1.13;
  letter-spacing:-.025em;
}

/* Card headings stay one clear level below section headings. */
.rh-room-card h3,
.rh-service-card__body h3,
.rh-partner-card__body h2,
.rh-arrival-card h2,
.rh-explore-card__body h3,
.rh-room-overview-card h2,
.rh-hospitality-card h2,
.rh-wellness-card__body h2,
.rh-news-card h2,
.rh-legal-card h2{
  font-size:clamp(1.22em,3vw,1.48em);
  line-height:1.22;
}

/* Beige replaces the former mustard/gold while the old class name stays compatible. */
.rh-button--gold{
  background:var(--rh-beige);
  color:#25211D!important;
}
.rh-button--gold:hover,
.rh-button--gold:focus-visible{
  background:var(--rh-beige-dark);
  color:#fff!important;
}
.rh-booking-cta{background:#D8C9B5}
.rh-booking-cta .ifm-eyebrow{color:var(--rh-red)}
.rh-target-card--weekend{background:#F2ECE4}
.rh-arrival-card__icon{background:#F1E8DE}

/* Accent text on light surfaces uses the deeper beige for readability. */
.rh-room-card__number,
.rh-room-overview-card__number,
.rh-news-card__date{
  color:var(--rh-beige-dark);
}

/* Wine-red details and focus states. */
.rh-mobile-booking-sticky{box-shadow:0 12px 30px rgba(139,30,63,.28)}
.rh-breakfast-gallery__thumb[aria-pressed="true"],
.rh-room-gallery__thumb[aria-pressed="true"]{
  box-shadow:0 0 0 2px rgba(139,30,63,.12);
}
.rh-fair-booking:hover,
.rh-fair-booking:focus-visible{
  background:var(--rh-red-dark);
  box-shadow:0 8px 20px rgba(139,30,63,.18);
}
.rh-breakfast-gallery__thumb:focus-visible{outline-color:var(--rh-beige)}
.rh-legal-note{border-left-color:var(--rh-beige)}

/* Dark/image heroes use the lighter beige accent; no yellow/ochre remains. */
.rh-hero .ifm-eyebrow,
.rh-page-hero__content .ifm-eyebrow,
.rh-simple-hero .ifm-eyebrow{
  color:#D7C6AE;
}
.rh-hero__dot[aria-current="true"]{background:var(--rh-beige)}

/* Keep mobile headings compact even on very narrow devices. */
@media (max-width:777px){
  .rh-hero h1,
  .rh-page-hero__content h1,
  .rh-simple-hero h1,
  .rh-subpage-hero .wp-block-post-title{
    font-size:clamp(2em,9vw,2.25em);
  }
}



/* ---------- 0.1.12 curated breakfast gallery ---------- */
/* Four thumbnails per mobile row = eight previews in two calm, even rows. */
@media (max-width:420px){
  .rh-breakfast-gallery__thumbs{gap:.42rem}
  .rh-breakfast-gallery__thumb{border-radius:8px}
}

/* ---------- 0.1.13 English content, weather and compact news archive ---------- */
.rh-footer-widget--weather{display:flex;flex-direction:column;align-items:flex-start}
.rh-meteoblue-frame{width:min(100%,460px);aspect-ratio:460/573;overflow:hidden;border-radius:12px;background:#f7f4ee}
.rh-meteoblue-frame iframe{display:block;width:100%;height:100%;border:0;overflow:hidden}
.rh-meteoblue-credit{display:inline-flex;margin-top:.65rem;color:var(--rh-red)!important;font-size:.82rem;font-weight:800;text-decoration:none}
.rh-footer-widget--award{justify-content:flex-start}
@media (min-width:778px){
  .rh-footer__service{grid-template-columns:minmax(320px,1fr) minmax(320px,.8fr);align-items:start}
  .rh-footer-widget{min-height:0}
  .rh-footer-widget--award .rh-kayak-award{flex:0 1 auto}
}

.rh-news-grid > .rh-news-card:first-child{grid-column:1/-1}
.rh-news-card .rh-text-link{display:inline-flex;margin-top:.65rem}
.rh-news-card__image{display:block;aspect-ratio:16/10}
@media (min-width:778px){
  .rh-news-grid > .rh-news-card:first-child{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .rh-news-grid > .rh-news-card:first-child .rh-news-card__image{height:100%;aspect-ratio:auto}
}


/* ---------- 0.1.14 customer approval: warm beige surfaces + refined footer ---------- */
:root{
  --rh-page:#F5F1EA;
  --rh-warm:#EFE8DD;
  --rh-card:#FAF7F2;
  --rh-line:#DDD3C5;
}

body{background:var(--rh-page)}
.rh-site-header{background:rgba(245,241,234,.97)}
.rh-submenu,
.rh-mobile-menu>summary,
.rh-mobile-panel{background:var(--rh-card)}
.rh-benefits,
.rh-targets,
.rh-breakfast{background:var(--rh-page)}
.rh-rooms,
.rh-services,
.rh-section--soft{background:var(--rh-warm)}

.rh-room-card,
.rh-service-card,
.rh-fact,
.rh-story-card,
.rh-video-note__inner,
.rh-partner-card,
.rh-arrival-card,
.rh-empty-state,
.rh-explore-card,
.rh-room-overview-card,
.rh-amenity-grid span,
.rh-room-booking-card,
.rh-subpage-content,
.rh-hospitality-card,
.rh-personal-note,
.rh-seminar-facts>div,
.rh-wellness-card,
.rh-legal-card,
.rh-news-card{background:var(--rh-card)}

.rh-location-points span{background:rgba(250,247,242,.86)}
.rh-service-card__media,
.rh-news-card__image,
.rh-personal-note__media,
.rh-wellness-card__media,
.rh-service-feature__media{background:#E8DFD3}
.rh-booking-cta{background:#D8C9B5}

/* Header/mobile no longer opens onto a pure-white island. */
.rh-mobile-panel>nav>ul>li{border-bottom-color:var(--rh-line)}

/* Footer: integrated service deck instead of two unrelated white boxes. */
.rh-footer{background:#171A1C}
.rh-footer__grid{align-items:start}
.rh-footer__brand img{
  background:#EFE8DD;
  border:1px solid rgba(183,157,122,.24);
  padding:.65rem;
}
.rh-footer__column p{color:#C8CECF;line-height:1.7}
.rh-footer__links{gap:.45rem}
.rh-footer__links a{display:inline-flex;padding:.15rem 0}

.rh-footer__service{
  display:block;
  margin-top:clamp(3rem,6vw,5rem);
  padding-top:clamp(2.4rem,4vw,3.5rem);
  border-top:1px solid rgba(255,255,255,.14);
}
.rh-footer__service-intro{max-width:760px;margin-bottom:1.5rem}
.rh-footer__service-intro .ifm-eyebrow{
  color:#D7C6AE;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin:0 0 .5rem;
}
.rh-footer__service-intro h2{
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.4rem);
  line-height:1.1;
  margin:.2rem 0 .7rem;
}
.rh-footer__service-intro p{max-width:660px;color:#BFC7C8;margin:0;line-height:1.65}

.rh-footer__service-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.rh-footer-widget{
  min-width:0;
  min-height:0;
  background:var(--rh-page);
  color:#20282B;
  border:1px solid rgba(183,157,122,.24);
  border-radius:20px;
  padding:clamp(1.25rem,2.5vw,2rem);
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.rh-footer-widget__heading{max-width:560px}
.rh-footer-widget__kicker{
  display:block;
  color:var(--rh-red);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:.4rem;
}
.rh-footer-widget h3{
  color:#20282B;
  font-size:clamp(1.22rem,2.2vw,1.65rem);
  line-height:1.18;
  margin:0 0 .7rem;
}
.rh-footer-widget__heading p{color:#596164;line-height:1.65;margin:.1rem 0 1.2rem}

.rh-footer-widget--weather{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.rh-meteoblue-frame{
  width:min(100%,400px);
  aspect-ratio:460/573;
  overflow:hidden;
  border-radius:14px;
  background:#E8DFD3;
  box-shadow:0 10px 28px rgba(31,37,39,.08);
}
.rh-meteoblue-frame iframe{display:block;width:100%;height:100%;border:0;overflow:hidden}
.rh-meteoblue-credit{margin-top:.7rem}

.rh-footer-widget--award{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:1.25rem;
}
.rh-kayak-award{
  display:grid;
  grid-template-columns:minmax(110px,155px) minmax(0,1fr);
  align-items:center;
  gap:clamp(1rem,2.5vw,1.6rem);
  padding:1rem;
  border-radius:16px;
  background:#EFE8DD;
  color:#20282B!important;
  font-weight:850;
}
.rh-kayak-award img{
  width:100%;
  height:auto;
  border:1px solid var(--rh-line);
  border-radius:8px;
}
.rh-kayak-award span{line-height:1.4}
.rh-footer-widget__booking{align-self:flex-start;margin-top:auto}

.rh-footer__bottom{
  margin-top:clamp(2.5rem,5vw,4rem);
  padding-block:1.25rem;
  border-top:1px solid rgba(255,255,255,.14);
  display:grid;
  grid-template-columns:1fr;
  gap:.75rem 1.4rem;
  align-items:center;
  color:#AEB7B9;
  font-size:.8rem;
}
.rh-footer__legal{display:flex;flex-wrap:wrap;gap:.55rem 1rem}
.rh-footer__legal a{color:#D8DEDF;font-weight:650}
.rh-footer__legal a:hover,.rh-footer__legal a:focus-visible{color:#D7C6AE}
.rh-footer__credit{color:#8F9A9D}
.rh-footer__bottom .rh-language-switcher{margin-left:0;justify-self:start}

@media (min-width:778px){
  .rh-footer__service-grid{grid-template-columns:minmax(360px,.92fr) minmax(360px,1.08fr);align-items:stretch}
  .rh-footer-widget--weather{align-items:flex-start}
  .rh-footer-widget--award{min-height:100%}
  .rh-footer__bottom{grid-template-columns:auto minmax(0,1fr) auto auto}
  .rh-footer__legal{justify-content:center}
  .rh-footer__bottom .rh-language-switcher{justify-self:end}
}
@media (min-width:1180px){
  .rh-footer__service-grid{grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr);gap:1.25rem}
  .rh-footer-widget--award{padding-inline:clamp(2rem,4vw,3.5rem)}
  .rh-footer-widget--award .rh-kayak-award{grid-template-columns:170px minmax(0,1fr)}
}

/* Legal text remains readable against the warmer page background. */
.rh-legal-card a{overflow-wrap:anywhere}


/* ---------- 0.1.15 CookieYes consent gate + final branding ---------- */
.rh-consent-embed{position:relative}
.rh-consent-placeholder{
  width:100%;height:100%;min-height:260px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:.55rem;padding:clamp(1.15rem,4vw,2rem);text-align:center;
  background:linear-gradient(145deg,#EFE8DD,#F5F1EA);color:#353B3D;
  border:1px dashed rgba(139,30,63,.28);border-radius:14px;
}
.rh-consent-placeholder strong{color:var(--rh-red);font-size:1rem;line-height:1.3}
.rh-consent-placeholder span{max-width:34ch;font-size:.88rem;line-height:1.55;color:#596164}
.rh-consent-embed.is-consented .rh-consent-placeholder{display:none}
.rh-consent-embed iframe[hidden],.rh-meteoblue-credit[hidden]{display:none!important}
