/* Public text scale: mobile first, with existing display headings and photographs preserved.
 * Rem units respect the visitor's text settings; do not scale the html element or third-party widgets.
 */
body.flavor-premium {
  --read-body:1.125rem;
  --read-lead:1.25rem;
  --read-ui:1rem;
  --read-note:.9375rem;
  --read-label:.875rem;
  --read-action:1.0625rem;
  --fs-body:var(--read-body);
  --fs-small:var(--read-ui);
  --fs-caption:var(--read-note);
  font-size:var(--read-body);
  line-height:1.7;
}

/* Prose, descriptions, FAQs and service information, including text not wrapped in a paragraph. */
body.flavor-premium #main-content :where(
  p, li, dt, dd,
  .editorial-prose, .faq-item__answer, .faq-item__question,
  .premium-property-intro__copy, .premium-room-description,
  .management-faq__item summary
):not(:where(.beddy-widget-wrapper *, .booking-panel__widget *)) {
  font-size:var(--read-body);
  line-height:1.7;
}

body.flavor-premium #main-content :is(
  .premium-hero__description, .hero__description, .editorial-lead,
  .services-hero__lead, .service-detail-hero__lead, .management-hero__lead
) {
  font-size:var(--read-lead);
  line-height:1.65;
}

/* Controls and useful information no longer fall back to 11–14px component styles. */
body.flavor-premium #main-content :is(
  .premium-filter-form label, .premium-filter-form select, .premium-filter-form__reset,
  .premium-property-nav__inner, .premium-room-nav a, .services-nav a,
  .premium-room-meta, .premium-property-hero__rooms, .hero__address,
  .stay-card__meta, .stay-card__footer, .premium-catalog__count,
  .amenity-tag, .premium-room-card .tag, .premium-room-card .room-capacity,
  .premium-property-summary dt, .premium-property-summary dd,
  .premium-room-facts dd, .service-detail-partner dd,
  .editorial-topic-nav a, .editorial-category-nav a, .editorial-article-tags a,
  .editorial-about__links a, .editorial-blog-card__link,
  .service-detail-partner__website, .service-detail-return a,
  .service-detail-contact__email, .service-detail-location__directions,
  .management-contact__phone, .services-breakfast__map,
  .services-breakfast h4, .services-breakfast__bar h5, .editorial-stat span,
  .booking-cities, .premium-property-gallery__more summary,
  input:not([type="checkbox"]):not([type="radio"]), select, textarea
):not(:where(.beddy-widget-wrapper *, .booking-panel__widget *)) {
  font-size:var(--read-ui);
  line-height:1.55;
}

/* Secondary copy stays visibly smaller than prose, but remains comfortably readable. */
body.flavor-premium #main-content :is(
  small, figcaption,
  .premium-hero__note, .premium-gaeta-gallery__hint, .premium-gaeta-gallery__credit,
  .premium-catalog__photo-credit, .premium-filter-form__hint,
  .premium-property-summary__note, .premium-property-gallery__hint,
  .premium-property-gallery__source, .premium-property-gallery__footer p,
  .premium-property-booking__help, .premium-property-related__description,
  .premium-room-heading__action p, .premium-room-photos__hint,
  .premium-room-booking__note, .premium-room-booking__alternatives,
  .premium-room-price__label, .premium-room-photo__count,
  .services-offer__detail, .services-offers__conditions, .services-detail__note,
  .service-detail-partner__note, .service-detail-location__copy > p,
  .management-faq__sources, .management-contact__alternative,
  .editorial-blog-card__meta, .editorial-article-meta, .editorial-share, .editorial-author,
  .editorial-article-nav span, .booking-panel__fallback, .booking-page__help
) {
  font-size:var(--read-note);
  line-height:1.65;
}

body.flavor-premium #main-content :is(
  .editorial-breadcrumb, .premium-room-breadcrumbs,
  .service-detail-breadcrumb ol, .service-detail-breadcrumb li
) {
  font-size:var(--read-note);
  line-height:1.6;
}

/* Short section labels retain their hierarchy without tiny uppercase lettering. */
body.flavor-premium #main-content :is(
  .premium-eyebrow, .section-header__label, .hero__subtitle, .stay-card__kicker,
  .premium-step-number, .services-detail__number, .services-checklist li > span,
  .management-service__number, .management-process__number, .editorial-values__number,
  .service-detail-process__number, .premium-room-facts dt, .service-detail-partner dt,
  .premium-catalog__guide span, .premium-property-gallery__room-label
) {
  font-size:var(--read-label);
  line-height:1.5;
  letter-spacing:.08em;
}

/* Buttons may grow vertically with the text instead of clipping their labels. */
body.flavor-premium #main-content :is(.btn, .premium-button, .premium-text-link, .premium-property-gallery__browse),
body.flavor-premium .site-footer .btn {
  font-size:var(--read-action);
  line-height:1.5;
  white-space:normal;
  max-width:100%;
  min-height:48px;
  overflow-wrap:break-word;
}
body.flavor-premium #main-content .premium-button__label {
  font-size:inherit;
  line-height:inherit;
}
body.flavor-premium #main-content .premium-intro-strip {
  font-size:var(--read-note);
  line-height:1.6;
  flex-wrap:wrap;
}
body.flavor-premium #main-content .premium-catalog__count {white-space:normal}
body.flavor-premium #main-content .premium-property-summary dl > div {flex-wrap:wrap;gap:5px 16px}
body.flavor-premium #main-content .premium-property-summary dt {flex-shrink:1}
body.flavor-premium #main-content .premium-property-summary dd {margin-left:auto}
body.flavor-premium #main-content :is(.amenity-tag, .premium-room-meta) {overflow-wrap:break-word;min-width:0}

/* Main navigation and the booking action retain their existing destinations and touch targets. */
body.flavor-premium .site-header .nav__link {font-size:1.0625rem;line-height:1.5;letter-spacing:0}
body.flavor-premium .site-header .services-menu__list .services-menu__link {font-size:1.0625rem;line-height:1.5}
body.flavor-premium .site-header .header-cta.booking-cta {font-size:1.0625rem;line-height:1.35;letter-spacing:0}
body.flavor-premium .mobile-nav .mobile-nav__actions .booking-cta.btn {font-size:1.125rem!important;white-space:normal}
body.flavor-premium .mobile-nav .mobile-nav__list .services-menu__list .services-menu__link {font-size:1.125rem!important;line-height:1.5}

/* Footer links, direct contacts and legal text use the same readable scale. */
body.flavor-premium .site-footer.footer-catalogue :is(.footer-link, .footer-col__desc, .footer-col__text) {
  font-size:var(--read-ui);
  line-height:1.65;
}
body.flavor-premium .site-footer.footer-catalogue .footer-col__title {font-size:var(--read-label);line-height:1.5}
body.flavor-premium .site-footer.footer-catalogue .footer-catalogue__city-title {font-size:var(--read-body);line-height:1.5}
body.flavor-premium .site-footer.footer-catalogue :is(.footer-catalogue__count, .footer-bottom, .footer-bottom__copy, .footer-bottom__legal-link) {
  font-size:var(--read-note);
  line-height:1.65;
}
body.flavor-premium .footer-cta .footer-cta__text {font-size:var(--read-body);line-height:1.7}
body.flavor-premium .lightbox--editorial :is(.lightbox__caption, .lightbox__counter) {font-size:var(--read-note);line-height:1.5}

@media (min-width:1024px) {
  body.flavor-premium {
    --read-body:1.25rem;
    --read-lead:1.375rem;
    --read-ui:1.125rem;
    --read-note:1rem;
    --read-label:.9375rem;
    --read-action:1.125rem;
  }
}

/* New discovery sections keep readable labels; the drawer serves narrower laptops. */
body.flavor-premium .site-header>.container,
body.flavor-premium .site-header .site-header__inner {max-width:1600px}
@media (min-width:1360px) and (max-width:1599px) {
  body.flavor-premium .site-header .site-logo__img {width:150px!important;object-fit:contain}
  body.flavor-premium .site-header .nav {gap:12px}
  body.flavor-premium .site-header .header-cta.booking-cta {padding-inline:14px}
}
@media (max-width:1359px) {
  body.flavor-premium .site-header .header-nav {display:none}
  body.flavor-premium .site-header .menu-toggle {display:flex}
}
@media (max-width:767px) {
  body.flavor-premium .site-header .header-cta.booking-cta {
    font-size:1rem;
    width:auto;
    flex:0 0 auto;
    gap:6px;
    padding:10px;
    min-height:46px;
    white-space:nowrap;
  }
  body.flavor-premium .site-header .site-logo__img {
    width:clamp(108px,35vw,168px)!important;
    object-fit:contain;
  }
  body.flavor-premium #main-content :is(.stay-card__footer, .premium-section-end) {flex-wrap:wrap}
  body.flavor-premium #main-content .premium-property-gallery__header {flex-wrap:wrap}
  body.flavor-premium #main-content .premium-property-gallery__hint {flex-shrink:1}
}
@media (max-width:359px) {
  body.flavor-premium .site-header .site-logo__img {width:100px!important}
  body.flavor-premium .site-header .header-cta.booking-cta {padding-inline:6px}
  body.flavor-premium #main-content .premium-button {padding-inline:16px;gap:12px}
}
