/* Arabic only: preserve the photograph composition independently of text direction. */
.cgl-ar.calendula-glass .cgl-photo-card > img {
  inset: 0;
}
.cgl-ar.calendula-glass .cgl-card-copy {
  margin-left: 0;
  margin-right: auto;
  direction: rtl;
  text-align: right;
  box-sizing: border-box;
}
.cgl-ar.calendula-glass .cgl-duo .cgl-card-copy {
  width: 48%;
  max-width: 48%;
  padding: 24px 20px;
}
.cgl-ar.calendula-glass .cgl-duo .cgl-card-copy :is(h2,h3) {
  font-size: clamp(25px,2.5vw,34px);
  line-height: 1.45;
}
.cgl-ar.calendula-glass .cgl-strip .cgl-card-copy {
  width: 44%;
  max-width: 44%;
}
.cgl-ar.calendula-glass .cgl-service-grid > :is(.diagnostic,.cgl-branch-card) .cgl-card-copy {
  width: 48%;
  max-width: 48% !important;
  padding: 24px;
}
.cgl-ar.calendula-glass .cgl-card-copy :is(h2,h3) {
  line-height: 1.45;
  overflow-wrap: break-word;
}
.cgl-ar.calendula-glass :is(#programs,#services) .cgl-card-copy .cgl-card-caption {
  font-family: 'Noto Arabic',Arial,Tahoma,sans-serif;
  font-size: 14px;
  line-height: 1.65;
  max-width: none;
}
.cgl-ar.calendula-glass .cgl-branches { gap: 8px; }
.cgl-ar.calendula-glass .cgl-branches a { line-height: 1.6; }

/* Narrow cards have an image and a separate caption, never text over a face. */
.cgl-ar.calendula-glass .cgl-photo-card:is(.cgl-small,.cgl-service:not(.diagnostic):not(.cgl-branch-card)) {
  display: flex;
  flex-direction: column;
  height: auto !important;
  min-height: 0;
  background: #f1f7f9;
}
.cgl-ar.calendula-glass .cgl-photo-card:is(.cgl-small,.cgl-service:not(.diagnostic):not(.cgl-branch-card)) > img {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: 180px;
  flex: 0 0 180px;
  z-index: auto;
  transform: none;
}
.cgl-ar.calendula-glass .cgl-photo-card:is(.cgl-small,.cgl-service:not(.diagnostic):not(.cgl-branch-card))::after {
  display: none;
}
.cgl-ar.calendula-glass .cgl-photo-card:is(.cgl-small,.cgl-service:not(.diagnostic):not(.cgl-branch-card)) > .cgl-card-copy {
  width: 100%;
  max-width: 100%;
  padding: 20px;
  flex: 1;
}
.cgl-ar.calendula-glass .cgl-photo-card:is(.cgl-small,.cgl-service:not(.diagnostic):not(.cgl-branch-card)) .cgl-card-copy :is(h2,h3) {
  font-size: 25px;
}
.cgl-ar.calendula-glass .cgl-services-home-link { direction: ltr; }
.cgl-ar.calendula-glass .cgl-services-home-link > div {
  direction: rtl;
  text-align: right;
  max-width: 48%;
}

/* About cards also used full-bleed photos: give their Arabic copy its own panel. */
.cgl-ar.calendula-glass .cgl-page-about .cgl-editorial-content > .cgl-editorial-story {
  display: flex !important;
  flex-direction: column;
  min-height: 0;
}
.cgl-ar.calendula-glass .cgl-page-about .cgl-editorial-content > .cgl-editorial-story::after { display: none; }
.cgl-ar.calendula-glass .cgl-page-about .cgl-editorial-content > .cgl-editorial-story > .cgl-glass-photo {
  position: relative;
  inset: auto;
  width: 100%;
  height: 260px !important;
  flex: 0 0 260px;
  margin: 0;
  z-index: auto;
}
.cgl-ar.calendula-glass .cgl-page-about .cgl-editorial-content > .cgl-editorial-story > .cgl-editorial-copy {
  width: 100%;
  max-width: 100%;
  padding: 26px;
  text-align: right;
  box-sizing: border-box;
}
.cgl-ar.calendula-glass .cgl-editorial-copy,
.cgl-ar.calendula-glass .cgl-editorial-intro { min-width: 0; }

/* These photos were composed with a clear area on the physical left. */
.cgl-ar.calendula-glass :is(.cgl-page-doctors,.cgl-page-stay) .cgl-editorial-copy {
  align-items: flex-end;
  text-align: right;
}
.cgl-ar.calendula-glass :is(.cgl-page-doctors,.cgl-page-stay) .cgl-editorial-copy > :is(h2,.cgl-eyebrow,.cgl-story-lead) {
  width: 45%;
  max-width: 45%;
}
.cgl-ar.calendula-glass .cgl-page-about .cgl-editorial-content > .cgl-editorial-story { gap: 0; }
.cgl-ar.calendula-glass .cgl-page-about .cgl-editorial-content > .cgl-editorial-story > .cgl-glass-photo { order: 0; }
.cgl-ar.calendula-glass .cgl-page-about .cgl-editorial-content > .cgl-editorial-story > .cgl-editorial-copy { order: 1; }
.cgl-ar.calendula-glass .cgl-page-about .cgl-glass-photo img[src*="licences"] { object-fit: contain; }
.cgl-ar.calendula-glass .cgl-page-stay .cgl-editorial-intro {
  padding-left: 210px !important;
  padding-right: 0 !important;
}
.cgl-ar .cgl-hotelstars-plaque { left: 0; right: auto; }
.cgl-ar .cgl-services-intro.cgl-services-illustrated > * {
  width: 55%;
  max-width: 55%;
  margin-left: 0;
  margin-right: auto;
}
.cgl-ar #cgl-licence-documents > div { margin-left: 0; margin-right: auto; }

/* Reservation thumbnails must not become backgrounds beneath the programme names. */
.cgl-ar.calendula-glass .rf :is(.rf-program,.rf-room) {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: auto;
  padding: 0;
  text-align: right;
}
.cgl-ar.calendula-glass .rf :is(.rf-program,.rf-room)[hidden] { display: none !important; }
.cgl-ar.calendula-glass .rf :is(.rf-program,.rf-room)::before { display: none; }
.cgl-ar.calendula-glass .rf :is(.rf-program,.rf-room) > .rf-media {
  position: relative;
  inset: auto;
  height: 190px !important;
  flex: 0 0 190px;
  width: 100%;
  z-index: auto;
}
.cgl-ar.calendula-glass .rf .rf-program .rf-program-info {
  min-height: 0;
  flex: 1;
  padding: 20px;
  justify-content: flex-start;
}
.cgl-ar.calendula-glass .rf .rf-card-controls { margin-top: auto; }
.cgl-ar.calendula-glass .rf .rf-program h3 { line-height: 1.5; }
.cgl-ar.calendula-glass .rf .rf-room > :not(.rf-media) { margin-left: 20px; margin-right: 20px; }
.cgl-ar.calendula-glass .rf .rf-room .rf-room-name { margin-top: 18px; line-height: 1.5; }
.cgl-ar.calendula-glass .rf .rf-room .rf-room-choose { margin-bottom: 20px; }

@media (max-width: 1000px) {
  .cgl-ar.calendula-glass .cgl-duo .cgl-photo-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto !important;
    background: #f1f7f9;
  }
  .cgl-ar.calendula-glass .cgl-duo .cgl-photo-card > img {
    position: relative;
    inset: auto;
    height: 210px;
    flex: 0 0 210px;
    z-index: auto;
    transform: none;
  }
  .cgl-ar.calendula-glass .cgl-duo .cgl-photo-card::after { display: none; }
  .cgl-ar.calendula-glass .cgl-duo .cgl-card-copy { width: 100%; max-width: 100%; }
}
@media (max-width: 720px) {
  .cgl-ar.calendula-glass :is(.cgl-page-doctors,.cgl-page-stay) .cgl-editorial-content > .cgl-editorial-story {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    min-height: 0 !important;
  }
  .cgl-ar.calendula-glass :is(.cgl-page-doctors,.cgl-page-stay) .cgl-editorial-content > .cgl-editorial-story > .cgl-glass-photo {
    position: relative !important;
    inset: auto !important;
    height: 260px !important;
    flex: 0 0 260px;
    order: 0;
  }
  .cgl-ar.calendula-glass :is(.cgl-page-doctors,.cgl-page-stay) .cgl-editorial-content > .cgl-editorial-story > .cgl-editorial-copy {
    order: 1;
    background: #f1f7f9;
    min-height: 0 !important;
    width: 100%;
    box-sizing: border-box;
    align-items: stretch;
  }
  .cgl-ar.calendula-glass :is(.cgl-page-doctors,.cgl-page-stay) .cgl-editorial-copy > :is(h2,.cgl-eyebrow,.cgl-story-lead) {
    width: 100%;
    max-width: 100% !important;
  }
  .cgl-ar.calendula-glass .cgl-page-stay .cgl-editorial-intro { padding-left: 0 !important; }
  .cgl-ar .cgl-hotelstars-plaque { position: static; width: 110px; margin-top: 16px; }
  .cgl-ar .cgl-services-intro.cgl-services-illustrated { background: #eef6f8; }
  .cgl-ar .cgl-services-intro.cgl-services-illustrated > * { width: 100%; max-width: 100%; }
  .cgl-ar.calendula-glass .cgl-photo-card {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 0 !important;
    background: #f1f7f9;
  }
  .cgl-ar.calendula-glass .cgl-photo-card > img {
    position: relative;
    inset: auto;
    width: 100%;
    height: 200px;
    flex: 0 0 200px;
    z-index: auto;
    transform: none;
  }
  .cgl-ar.calendula-glass .cgl-photo-card::after { display: none; }
  .cgl-ar.calendula-glass .cgl-photo-card > .cgl-card-copy,
  .cgl-ar.calendula-glass .cgl-service-grid > :is(.diagnostic,.cgl-branch-card) .cgl-card-copy {
    width: 100%;
    max-width: 100% !important;
    padding: 20px;
  }
  .cgl-ar.calendula-glass .cgl-photo-card .cgl-card-copy :is(h2,h3) { font-size: 27px; }
  .cgl-ar.calendula-glass .cgl-services-home-link > div { max-width: 75%; }
  .cgl-ar.calendula-glass .cgl-services-home-link { background: #eef6f8; }
}
@media (max-width: 560px) {
  .cgl-ar.calendula-glass .cgl-service-grid { grid-template-columns: minmax(0,1fr); }
  .cgl-ar.calendula-glass .cgl-service-grid > .cgl-photo-card { grid-column: 1 / -1; }
}
