/* Shared hotel presentation, scoped away from every other service type. */
body .rennkron-service-product[data-shared-product-card][data-product-category="accommodation"]{display:flex;flex-direction:column;align-items:stretch;height:100%;border-radius:14px;overflow:hidden;min-width:0}
body .rennkron-service-product[data-shared-product-card][data-product-category="accommodation"]>.rennkron-service-product__media{aspect-ratio:16/10;height:auto;min-height:0;flex:none;margin:0}
body .rennkron-service-product[data-shared-product-card][data-product-category="accommodation"]>.rennkron-service-product__media img{width:100%;height:100%;object-fit:cover}
body .rennkron-service-product[data-shared-product-card][data-product-category="accommodation"]>.rennkron-service-product__body,
body .rennkron-event-services[data-event-services] .rennkron-event-hotel-grid .rennkron-service-product[data-shared-product-card][data-product-category="accommodation"]>.rennkron-service-product__body{display:flex;flex-direction:column;gap:10px;padding:18px;flex:1;min-width:0}
body [data-product-category="accommodation"] .rennkron-service-product__body>:is(h3,h4,h5,h6){font-size:1.12rem;line-height:1.4;margin:0;min-height:3.1em}
body [data-product-category="accommodation"] .rennkron-service-product__body>:is(.rennkron-service-product__type,.rennkron-service-product__race,.rennkron-service-product__location,.rennkron-service-product__descriptor){display:none}
body [data-product-category="accommodation"] .rennkron-service-product__important{min-height:2.8em;line-height:1.4;font-size:.8rem;margin:0}
body [data-product-category="accommodation"] .rennkron-service-product__body>.rennkron-service-product__summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.55;height:4.65em;max-height:4.65em;font-size:.85rem;margin:0}
.rennkron-hotel-promotion{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fff3e8;color:#713c12;border-left:3px solid #ff6a28;border-radius:5px;padding:7px 9px;line-height:1.4;min-height:3.1em;font-size:.74rem}
.rennkron-hotel-promotion strong{font-size:inherit;font-weight:700}.rennkron-hotel-promotion span{font-size:.7rem}
body [data-product-category="accommodation"] .rennkron-hotel-price-card{margin: auto 0 0;align-self:stretch}
body [data-product-category="accommodation"] .rennkron-hotel-price-card dd{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:center;gap:3px;white-space:nowrap}
body [data-product-category="accommodation"] .rennkron-hotel-price-card dd strong{white-space:nowrap;font-size:clamp(.8rem,1vw,1rem);font-variant-numeric:tabular-nums}
body [data-product-category="accommodation"] .rennkron-hotel-price-card dd small{display:inline;white-space:nowrap;font-size:.58rem;margin:0}
body [data-product-category="accommodation"] .rennkron-service-product__configure{align-self:stretch;width:100%;min-height:48px;margin:4px 0 0}
.rennkron-hotel-rail-detail{width:100%;min-width:0;grid-column:1/-1;margin:24px 0}
.rennkron-hotel-rail-detail .rennkron-hotel-panel{padding:clamp(16px,2.5vw,32px);border:1px solid #cbd3df;border-top:3px solid #ff6a28;border-radius:14px;background:#fff;box-shadow:0 10px 30px #0f1b3210;scroll-margin-top:110px;overflow-wrap:break-word;outline-offset:4px}
body .rennkron-service-rail.rennkron-hotel-rail{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:var(--rennkron-showcase-column, min(350px,32%));overflow-x:auto;align-items:stretch}
body .rennkron-service-rail.rennkron-hotel-rail>.rennkron-service-rail__item{grid-column:auto;width:auto;max-width:none;min-width:0}
/* Existing Home/Services expanded-card selectors are more specific than generic rails. */
.rennkron-home-services [data-home-storefront] .rennkron-service-rail.rennkron-hotel-rail:has([data-product-configure][aria-expanded]),
.rennkron-service-collection [data-service-carousel] .rennkron-service-rail.rennkron-hotel-rail:has([data-product-configure][aria-expanded]){display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:var(--rennkron-showcase-column,min(350px,32%));overflow-x:auto;align-items:stretch}
.rennkron-home-services [data-home-storefront] .rennkron-hotel-rail>.rennkron-service-rail__item:has([data-product-configure][aria-expanded]),
.rennkron-service-collection [data-service-carousel] .rennkron-hotel-rail>.rennkron-service-rail__item:has([data-product-configure][aria-expanded]){grid-column:auto;width:auto;max-width:none;min-width:0}
.rennkron-hotel-rail .is-detail-open{outline:2px solid #ff6a28;outline-offset:-2px}
.rennkron-external-stays .rennkron-marketplace{margin:18px 0}.rennkron-external-stays .rennkron-marketplace__badge{display:none}
@media(max-width:1024px){body .rennkron-service-rail.rennkron-hotel-rail{--rennkron-showcase-column:47%}}
@media(max-width:620px){body .rennkron-service-rail.rennkron-hotel-rail{--rennkron-showcase-column:86%}body [data-product-category="accommodation"] .rennkron-hotel-price-card dd strong{font-size:.9rem}.rennkron-hotel-panel__header{flex-wrap:wrap}.rennkron-hotel-promotion{font-size:.76rem}.rennkron-hotel-rail-detail{margin:18px 0}}

/* The same component owns its colours and typography on light and dark surfaces.
 * Only the surrounding rail/grid determines its width. */
body .rennkron-hotel-card.rennkron-service-product[data-shared-product-card][data-product-category="accommodation"] {
 background:#fff;color:#0f1b32;border:1px solid #d9e1ec;border-radius:14px;
 font-family:var(--rennkron-font-body,"Noto Sans",sans-serif);font-size:16px;line-height:1.55;
 box-shadow:0 4px 16px #0f1b3208;text-align:left;box-sizing:border-box;
}
body .rennkron-hotel-card.rennkron-service-product[data-shared-product-card]>.rennkron-service-product__body {
 display:flex;flex-direction:column;gap:10px;padding:18px;min-width:0;flex:1;color:#0f1b32;
}
body .rennkron-hotel-card.rennkron-service-product[data-shared-product-card] .rennkron-service-product__body>:is(h3,h4,h5,h6) {
 font-family:var(--rennkron-font-heading,"Montserrat",sans-serif);font-size:18px;font-weight:700;
 line-height:1.4;min-height:2.8em;margin:0;letter-spacing:0;text-transform:none;overflow-wrap:break-word;color:#0f1b32;
}
body .rennkron-hotel-card.rennkron-service-product[data-shared-product-card] .rennkron-service-product__body>:is(h3,h4,h5,h6) a {color:#0f1b32;text-decoration:none;font:inherit}
body .rennkron-hotel-card.rennkron-service-product[data-shared-product-card] .rennkron-service-product__summary {color:#475569;font-size:14px;line-height:1.55;height:4.65em;max-height:4.65em;margin:0}
body .rennkron-hotel-card.rennkron-service-product[data-shared-product-card] .rennkron-service-product__important {
 display:flex;align-items:center;align-self:stretch;gap:8px;min-height:50px;box-sizing:border-box;
 background:#f1f5f9;color:#263952;border:1px solid #dae3ee;border-radius:7px;padding:8px 10px;margin:0;
 font-size:12px;line-height:1.45;font-weight:600;
}
body .rennkron-hotel-card .rennkron-service-product__important svg {width:16px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5}
body .rennkron-hotel-card .rennkron-hotel-promotion {color:#713c12;background:#fff3e8;font-size:12px;line-height:1.4;min-height:51px;box-sizing:border-box;padding:7px 9px;margin:0;overflow-wrap:break-word}
body .rennkron-hotel-card .rennkron-hotel-promotion strong {color:inherit;font-size:12px;line-height:1.4}
body .rennkron-hotel-card .rennkron-hotel-promotion span {color:inherit;font-size:11px;line-height:1.4}
body .rennkron-hotel-card .rennkron-hotel-price-card {color:#0f1b32;margin:auto 0 0;padding-top:4px;align-self:stretch}
body .rennkron-hotel-card .rennkron-hotel-price-card dd strong {font-size:16px;line-height:1.2}
body .rennkron-hotel-card .rennkron-hotel-price-card dd small {font-size:10px;line-height:1.2}
body .rennkron-hotel-card .rennkron-hotel-price-card__label {color:#475569;font-size:12px;line-height:1.5}
body .rennkron-hotel-card .rennkron-hotel-price-card__terms {color:#263952;font-size:12px;line-height:1.45}
body .rennkron-hotel-card .rennkron-hotel-price-card__note {color:#475569;font-size:11px;line-height:1.45}
body .rennkron-hotel-card.rennkron-service-product[data-shared-product-card] .rennkron-service-product__configure {
 display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 14px;margin:4px 0 0;
 background:#0f1b32;color:#fff;border:1px solid #0f1b32;border-radius:8px;box-sizing:border-box;
 font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;text-transform:none;white-space:normal;cursor:pointer;
}
body .rennkron-hotel-card .rennkron-service-product__configure:hover {background:#243752}
body .rennkron-hotel-card .rennkron-service-product__configure span {color:inherit}
body .rennkron-hotel-card :is(a,button):focus-visible,body .rennkron-hotel-panel :is(a,button,summary,input,select):focus-visible {outline:3px solid #ff6a28;outline-offset:3px}
body .rennkron-hotel-panel.rennkron-service-product__configurator {
 color:#0f1b32;background:#fff;font-family:var(--rennkron-font-body,"Noto Sans",sans-serif);font-size:16px;line-height:1.6;
 width:100%;max-width:none;min-width:0;box-sizing:border-box;margin:0;padding:clamp(16px,2.5vw,32px);
 border:1px solid #cbd3df;border-top:3px solid #ff6a28;border-radius:14px;text-align:left;overflow-wrap:break-word;
}
body .rennkron-hotel-panel.rennkron-service-product__configurator[hidden] {display:none!important}
body .rennkron-hotel-panel :is(.rennkron-hotel-description,.rennkron-hotel-essential-terms,.rennkron-booking-conditions,.rennkron-occupancy-conditions,.rennkron-hotel-gallery,.rennkron-hotel-room,.rennkron-booking-continue) {color:#0f1b32}
body .rennkron-hotel-panel :is(p,label,legend,figcaption,summary,h3,h4) {color:#0f1b32}
body .rennkron-hotel-panel .rennkron-hotel-panel__header h3 {font-family:var(--rennkron-font-heading,"Montserrat",sans-serif);font-size:clamp(20px,2vw,27px);font-weight:700;line-height:1.35;margin:0}
body .rennkron-hotel-panel .rennkron-hotel-description {font-size:15px;line-height:1.65;margin:12px 0 20px;max-width:80ch}
body .rennkron-hotel-panel .rennkron-hotel-description p {font:inherit;white-space:pre-line}
body .rennkron-hotel-panel :is(.rennkron-hotel-description,.rennkron-booking-conditions,.rennkron-hotel-gallery) summary {font-size:14px;font-weight:700;line-height:1.5;min-height:44px;box-sizing:border-box;padding:12px 0;cursor:pointer;color:#0f1b32}
body .rennkron-hotel-panel .rennkron-hotel-gallery figcaption {font-size:13px;line-height:1.5;margin-top:6px}
body .rennkron-hotel-panel :is(input:not([type=radio]):not([type=checkbox]),select,textarea) {color:#0f1b32;background:#fff;border:1px solid #a8b8cb;border-radius:6px;font:inherit;font-size:16px;line-height:1.4;padding:10px 12px}
body .rennkron-hotel-panel input::placeholder,body .rennkron-hotel-panel textarea::placeholder {color:#58687d;opacity:1}
body .rennkron-hotel-panel :is(input[type=radio],input[type=checkbox]) {accent-color:#0f1b32}
body .rennkron-hotel-panel .rennkron-rate-plan {font-size:14px;line-height:1.6;color:#0f1b32}
body .rennkron-hotel-panel .rennkron-booking-continue .rennkron-inline-configurator__total {margin:0;padding:0;border:0;background:transparent;color:#0f1b32}
body .rennkron-hotel-panel :is([data-occupancy-continue],[data-occupancy-edit]) {background:#0f1b32;color:#fff;border:1px solid #0f1b32;border-radius:8px;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.45;min-height:50px;white-space:normal;margin:0}
body .rennkron-hotel-panel [data-occupancy-continue][disabled] {background:#e3e9f0;color:#475569;border-color:#c4d0df;opacity:1;cursor:not-allowed}
body .rennkron-hotel-panel .rennkron-booking-continue {margin:16px 0 24px}
@media(max-width:620px){body .rennkron-hotel-card .rennkron-hotel-price-card dd strong{font-size:14px}body .rennkron-hotel-panel .rennkron-booking-continue [data-occupancy-continue]{width:100%}}
@media(max-width:620px){
 .rennkron-home-services [data-home-storefront] .rennkron-service-rail.rennkron-hotel-rail,
 .rennkron-service-collection [data-service-carousel] .rennkron-service-rail.rennkron-hotel-rail {margin-inline:0;padding:4px 2px 20px}
}
