/* BGE Modern — Phase 1 */
/* Joomla 6 Cassiopeia child template */

:root {
  --bge-navy: #111b2b;
  --bge-gold: #c9a46a;
  --bge-gold-light: #e3c18b;
  --bge-background: #f5f6f8;
  --bge-text: #243044;
}

/* General appearance */
body {
  background-color: var(--bge-background);
  color: var(--bge-text);
  line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--bge-navy);
  line-height: 1.25;
}

a {
  text-underline-offset: 3px;
}

a:hover {
  text-decoration-color: var(--bge-gold);
}

/* Header */
.container-header {
  background: var(--bge-navy);
  background-image: none;
  box-shadow: 0 3px 16px rgb(0 0 0 / 12%);
}

.container-header .navbar-brand,
.container-header .site-description {
  color: #fff;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
  color: #fff;
}

.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus {
  color: var(--bge-gold-light);
}

/* Main content */
.container-component {
  min-width: 0;
}

.com-content-article {
  line-height: 1.75;
}

.com-content-article img {
  max-width: 100%;
  height: auto;
}

/* Buttons */
.btn-primary {
  background-color: var(--bge-gold);
  border-color: var(--bge-gold);
  color: var(--bge-navy);
  font-weight: 600;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--bge-gold-light);
  border-color: var(--bge-gold-light);
  color: var(--bge-navy);
}

/* Footer */
.container-footer {
  background: var(--bge-navy);
  background-image: none;
  color: #e8edf4;
}

/* Mobile */
@media (max-width: 767px) {
  .container-header .navbar-brand {
    font-size: 1.1rem;
  }

  .com-content-article img {
    display: block;
    margin-inline: auto;
  }
}


/* BGE Modern — Phase 2: compact header */

.container-header .navbar-brand {
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.2;
  margin: 0;
}

.container-header .navbar-brand a {
  color: #ffffff;
  text-decoration: none;
}

.container-header .navbar-brand a:hover {
  color: #e3c18b;
}

/* Single-row desktop header */
@media (min-width: 992px) {
  .container-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 2rem;
    padding: 0.75rem clamp(1rem, 4vw, 4rem);
  }

  .container-header .grid-child:has(.navbar-brand) {
    grid-area: auto;
    grid-column: 1;
    grid-row: 1;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .container-header .container-nav {
    grid-area: auto;
    grid-column: 2;
    grid-row: 1;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    justify-content: flex-end;
  }
}

/* Homepage heading and content */
.container-component h1 {
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  line-height: 1.2;
  letter-spacing: -0.025em;
  margin-bottom: 1.25rem;
}

.container-component h2 {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.3;
  margin-top: 2rem;
}

.com-content-article p {
  line-height: 1.7;
}

/* Mobile spacing */
@media (max-width: 991.98px) {
  .container-header .navbar-brand {
    font-size: 1.45rem;
  }

  .container-component h1 {
    font-size: clamp(1.75rem, 6vw, 2.3rem);
  }
}



/* BGE Modern — Phase 3: consistent article fonts */

/* Override legacy Joomla 3 article typography */
body .com-content-article h1,
body .com-content-article h2,
body .com-content-article h3,
body .com-content-article h4,
body .com-content-article p,
body .com-content-article li {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Override legacy inline font styling within text */
body .com-content-article p [style*="font-family"],
body .com-content-article h1 [style*="font-family"],
body .com-content-article h2 [style*="font-family"] {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Consistent article headings */
body .com-content-article h1 {
  font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
  line-height: 1.2;
  font-weight: 700;
}

body .com-content-article h2 {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 1.3;
  font-weight: 700;
}

/* BGE_CONTACTS_V1_START */
.bge-contact,
.bge-booking-phones {
  padding: 1rem;
  text-align: center;
}

.bge-contact h2 {
  color: #e3c18b;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.bge-booking-phones h2 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.bge-contact-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .75rem 1.5rem;
}

.bge-contact-list a {
  font-size: 1rem;
  text-decoration: none;
  font-weight: 600;
}

.bge-contact .bge-contact-list a {
  color: #ffffff;
}

.bge-booking-phones .bge-contact-list a {
  color: #182b42;
}

.bge-contact-list a:hover,
.bge-contact-list a:focus {
  color: #c9a46a;
  text-decoration: underline;
}

@media (max-width: 600px) {
  .bge-contact-list {
    flex-direction: column;
    gap: .65rem;
  }
}
/* BGE_CONTACTS_V1_END */

/* BGE_MODEL_DIRECTORY_CSS_START */

.bge-model-directory {
  margin: 2rem 0 3rem;
  font-family: Arial, Helvetica, sans-serif;
}

.bge-model-directory section {
  margin-bottom: 2.5rem;
}

.bge-model-directory h2 {
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  font-weight: 700;
  margin: 0 0 1rem;
}

.bge-model-directory .directory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.bge-model-directory .model-card {
  display: block;
  min-width: 0;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #111b2b;
  transition: box-shadow .2s ease;
}

.bge-model-directory .model-card img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  background: #e5e7eb;
}

.bge-model-directory .model-info {
  padding: 12px;
}

.bge-model-directory .model-info strong {
  display: block;
  color: #111b2b;
  font-size: 17px;
}

.bge-model-directory .model-info small {
  color: #526071;
  font-size: 12px;
}

.bge-model-directory .model-card:hover {
  border-color: #c9a46a;
  box-shadow: 0 6px 18px #111b2b20;
}

@media (max-width: 850px) {
  .bge-model-directory .directory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 580px) {
  .bge-model-directory .directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .bge-model-directory .model-info {
    padding: 9px;
  }

  .bge-model-directory .model-info strong {
    font-size: 15px;
  }
}

/* BGE_MODEL_DIRECTORY_CSS_END */

/* BGE_DIRECTORY_MODERN_START */

.bge-directory-page {
  margin: 0;
  padding: 0;
}

.bge-directory-intro {
  max-width: 920px;
  margin: 0 0 2rem 0;
}

.bge-directory-intro p {
  margin: 0 0 1rem 0;
  color: #334155;
  font-size: 1.02rem;
  line-height: 1.8;
}

.bge-directory-section {
  margin: 2.2rem 0 2.8rem;
}

.bge-directory-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.bge-directory-section-title {
  margin: 0;
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  line-height: 1.15;
  color: #0f172a;
}

.bge-directory-section-count {
  display: inline-flex;
  align-items: center;
  padding: .45rem .8rem;
  border-radius: 999px;
  background: #e8eefb;
  color: #26406b;
  font-size: .9rem;
  font-weight: 700;
}

.bge-directory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem;
}

.bge-model-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.bge-model-card:hover,
.bge-model-card:focus {
  transform: translateY(-4px);
  border-color: #c9d8f0;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.13);
  text-decoration: none;
}

.bge-model-thumb-wrap {
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #dde4ee;
}

.bge-model-thumb {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.bge-model-body {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: 0.95rem 1rem 1rem;
}

.bge-model-name {
  display: block;
  color: #0f172a;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none !important;
}

.bge-model-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  padding: .58rem .9rem;
  border-radius: 999px;
  background: #0b1f3f;
  color: #ffffff;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
}

.item-page .bge-directory-page a:not(.bge-model-card) {
  text-decoration: underline;
}

@media (max-width: 1199px) {
  .bge-directory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .bge-directory-intro {
    margin-bottom: 1.5rem;
  }

  .bge-directory-intro p {
    font-size: .97rem;
    line-height: 1.7;
  }

  .bge-directory-section {
    margin: 1.7rem 0 2rem;
  }

  .bge-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
  }

  .bge-model-body {
    padding: .8rem .85rem .9rem;
  }

  .bge-model-name {
    font-size: .95rem;
  }

  .bge-model-cta {
    width: 100%;
    align-self: stretch;
    padding: .55rem .7rem;
    font-size: .85rem;
  }
}

@media (max-width: 479px) {
  .bge-directory-section-title {
    font-size: 1.45rem;
  }

  .bge-directory-grid {
    gap: .75rem;
  }

  .bge-directory-section-count {
    font-size: .82rem;
    padding: .4rem .7rem;
  }
}

/* BGE_DIRECTORY_MODERN_END */

/* BGE_MOBILE_HEADER_V1_START */

@media (max-width: 991.98px) {

  /* Brand and navigation toggle share one row */
  .container-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    grid-template-areas: "bge-brand bge-nav" !important;
    align-items: center !important;
    gap: 8px !important;

    padding: 10px 14px !important;
    min-height: 64px;
    position: relative !important;
    overflow: visible !important;
  }

  /* Website title */
  .container-header .grid-child:has(.navbar-brand) {
    grid-area: bge-brand !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .container-header .navbar-brand {
    display: block !important;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    font-size: clamp(1rem, 4.6vw, 1.45rem) !important;
    line-height: 1.2 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Navigation button on the right */
  .container-header .container-nav {
    grid-area: bge-nav !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;

    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .container-header .container-nav .navbar {
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .container-header .navbar-toggler {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;

    width: 44px;
    height: 44px;
    flex-shrink: 0;
    margin: 0 !important;
    padding: 6px !important;

    border: 1px solid #64748b;
    border-radius: 8px;
    color: #fff;
  }

  /* Expanded menu appears below the compact header */
  .container-header .container-nav .navbar-collapse.show,
  .container-header .container-nav .navbar-collapse.collapsing {
    position: absolute !important;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;

    z-index: 1050;
    background: #111b2b;
    padding: 12px 16px 18px;
    box-shadow: 0 12px 24px rgba(0,0,0,.2);
  }

  .container-header .container-nav .navbar-collapse.show .mod-menu {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .container-header .container-nav .navbar-collapse.show .mod-menu a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    color: #fff;
    font-size: 1rem;
  }

  .container-header .container-nav .navbar-collapse.show .mod-menu a:hover,
  .container-header .container-nav .navbar-collapse.show .mod-menu a:focus {
    background: #26364c;
    color: #e3c18b;
    border-radius: 6px;
  }

}

/* BGE_MOBILE_HEADER_V1_END */

/* BGE_MOBILE_MENU_SPACING_V2_START */

@media (max-width: 991.98px) {

  /* Compact expanded navigation panel */
  .container-header .container-nav .navbar-collapse.show {
    padding: 8px 12px 12px !important;
    max-height: calc(100dvh - 64px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  /* Remove inherited spacing from Joomla menu */
  .container-header .container-nav
  .navbar-collapse.show .mod-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* Each menu item occupies one compact row */
  .container-header .container-nav
  .navbar-collapse.show .mod-menu > li {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* Minimum 44px mobile touch target */
  .container-header .container-nav
  .navbar-collapse.show .mod-menu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    line-height: 1.35 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    text-align: left !important;
    text-decoration: none;
    border-radius: 7px !important;
    white-space: normal !important;
  }

  /* Active, hovered, and keyboard-focused links */
  .container-header .container-nav
  .navbar-collapse.show .mod-menu > li > a:hover,
  .container-header .container-nav
  .navbar-collapse.show .mod-menu > li > a:focus-visible {
    background: #26364c !important;
    color: #e3c18b !important;
  }

  .container-header .container-nav
  .navbar-collapse.show .mod-menu > li.current > a,
  .container-header .container-nav
  .navbar-collapse.show .mod-menu > li.active > a {
    background: #26364c !important;
    color: #e3c18b !important;
  }

}

/* BGE_MOBILE_MENU_SPACING_V2_END */

/* BGE_PROFILE_GALLERY_PILOT_START */

/* Scoped to Gai's gallery only during the pilot */
.bge-profile-gallery {
  width: 100%;
  max-width: 1100px;
  margin: 1.5rem 0 2.5rem;
  clear: both;
}

.bge-profile-gallery ul[id^="sige_"] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.bge-profile-gallery ul[id^="sige_"] > li {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;

  border-radius: 12px;
  overflow: hidden;
  background: #f1f3f6;
  border: 1px solid #e2e5eb;
  box-shadow: 0 3px 10px rgba(15,23,42,.08);
}

.bge-profile-gallery ul[id^="sige_"] > li img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 0 !important;
  margin: 0 !important;
}

.bge-profile-gallery ul[id^="sige_"] a {
  display: block;
  width: 100%;
  text-decoration: none;
}

.bge-profile-gallery ul[id^="sige_"] a:focus-visible {
  outline: 3px solid #c9a46a;
  outline-offset: -3px;
}

@media (max-width: 900px) {
  .bge-profile-gallery ul[id^="sige_"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 600px) {
  .bge-profile-gallery {
    margin: 1rem 0 1.75rem;
  }

  .bge-profile-gallery ul[id^="sige_"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .bge-profile-gallery ul[id^="sige_"] > li {
    border-radius: 9px;
  }

  .com-content-article:has(.bge-profile-gallery) h1 {
    font-size: clamp(1.65rem, 6vw, 2rem) !important;
    line-height: 1.25 !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .bge-profile-gallery ul[id^="sige_"] > li {
    transition: box-shadow .2s ease;
  }
}

/* BGE_PROFILE_GALLERY_PILOT_END */


/* BGE_ALL_PROFILE_GALLERIES_V1_START */

/*
 * BGE Modern — SIGE profile gallery design.
 * Applies to gallery lists inside Joomla articles.
 * Preserves SIGE's native PhotoSwipe lightbox.
 */

.com-content-article ul[id^="sige_"] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;

  width: 100% !important;
  max-width: 1100px !important;
  height: auto !important;
  clear: both !important;

  margin: 1.5rem 0 2rem !important;
  padding: 0 !important;
  list-style: none !important;
}

.com-content-article ul[id^="sige_"] > li {
  display: block !important;
  float: none !important;
  clear: none !important;
  position: relative;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #f1f3f6;
  border: 1px solid #e2e5eb;
  border-radius: 12px;
  overflow: hidden;

  box-shadow: 0 3px 10px rgba(15, 23, 42, .08);
}

.com-content-article ul[id^="sige_"] > li a {
  display: block;
  width: 100%;
  text-decoration: none;
}

.com-content-article ul[id^="sige_"] > li img {
  display: block !important;

  width: 100% !important;
  max-width: none !important;
  height: auto !important;

  aspect-ratio: 4 / 5;
  object-fit: cover;

  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.com-content-article ul[id^="sige_"] > li a:focus-visible {
  outline: 3px solid #c9a46a;
  outline-offset: -3px;
}

@media (max-width: 900px) {
  .com-content-article ul[id^="sige_"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 600px) {
  .com-content-article ul[id^="sige_"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 1rem 0 1.5rem !important;
  }

  .com-content-article ul[id^="sige_"] > li {
    border-radius: 9px;
  }
}

/* BGE_ALL_PROFILE_GALLERIES_V1_END */


/* BGE_PROFILE_TYPOGRAPHY_V1_START */

/*
 * Only individual articles containing rendered SIGE galleries.
 * Directory articles and other pages are not targeted.
 */

.com-content-article:has(ul[id^="sige_"]) {
  max-width: 1120px;
  margin-inline: auto;
  font-family: Arial, Helvetica, sans-serif;
  color: #253349;
}

/* Remove legacy embedded font families */
.com-content-article:has(ul[id^="sige_"])
:is(h1, h2, h3, p, li, span, strong, em) {
  font-family: Arial, Helvetica, sans-serif !important;
}

.com-content-article:has(ul[id^="sige_"]) h1 {
  font-size: clamp(1.85rem, 3vw, 2.6rem) !important;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.025em;
  color: #14253d;
  margin: 0 0 1.25rem;
  overflow-wrap: anywhere;
}

.com-content-article:has(ul[id^="sige_"]) h2 {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.35;
  font-weight: 700;
  color: #14253d;
  margin: 1.6rem 0 .75rem;
}

.com-content-article:has(ul[id^="sige_"]) p {
  max-width: 76ch;
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 1rem;
  overflow-wrap: break-word;
}

.com-content-article:has(ul[id^="sige_"]) a {
  text-underline-offset: 3px;
}

@media (max-width: 600px) {
  .com-content-article:has(ul[id^="sige_"]) h1 {
    font-size: clamp(1.55rem, 6vw, 1.95rem) !important;
    line-height: 1.25;
    margin-bottom: 1rem;
  }

  .com-content-article:has(ul[id^="sige_"]) h2 {
    font-size: 1.3rem;
    margin-top: 1.3rem;
  }

  .com-content-article:has(ul[id^="sige_"]) p {
    font-size: .98rem;
    line-height: 1.7;
    margin-bottom: .9rem;
  }
}

/* BGE_PROFILE_TYPOGRAPHY_V1_END */


/* BGE_BLOG_MODERN_V1_START */
.com-content-category-blog {
  max-width: 1180px;
  margin: 25px auto 50px;
  padding: 0 16px;
}
.com-content-category-blog .blog-items,
.com-content-category-blog .items-leading {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
}
.com-content-category-blog .blog-item,
.com-content-category-blog .items-leading > div {
  background: #fff;
  border: 1px solid #dfe5ed;
  border-radius: 12px;
  padding: 20px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.com-content-category-blog .page-header h2,
.com-content-category-blog .blog-item h2 {
  font-size: 1.3rem !important;
  line-height: 1.4 !important;
  margin: 0 0 14px;
}
.com-content-category-blog .page-header a {
  color: #172b49;
  text-decoration: none;
  font-weight: 650;
}
.com-content-category-blog .page-header a:hover {
  color: #b08a52;
  text-decoration: underline;
}
.com-content-category-blog .item-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (max-width: 650px) {
  .com-content-category-blog .blog-items,
  .com-content-category-blog .items-leading {
    grid-template-columns: 1fr;
  }
  .com-content-category-blog .blog-item,
  .com-content-category-blog .items-leading > div {
    padding: 16px;
  }
}
/* BGE_BLOG_MODERN_V1_END */

/* BGE_BLOG_IMAGE_UNIFORM_V1 */
.com-content-category-blog .bge-blog-preview-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
}

/* BGE_EMPLOYMENT_RESPONSIVE_V1 */

/* Employment banner */
.com-content-article .bge-employment-banner {
  display: block;
  margin: 0 0 20px;
}

.com-content-article .bge-employment-banner img {
  display: block;
  max-width: 100%;
  height: auto;
  float: none !important;
  margin: 0 auto;
}

/* Employment requirements image */
.com-content-article img[src*="employment_page_image.jpg"] {
  display: block;
  max-width: 100%;
  height: auto;
  float: none !important;
  margin: 12px auto 20px !important;
  border-radius: 8px;
}

/* Smaller screens */
@media (max-width: 768px) {
  .com-content-article .bge-employment-banner {
    margin-bottom: 16px;
  }

  .com-content-article img[src*="employment_page_image.jpg"] {
    max-width: 100%;
  }
}

/* END BGE_EMPLOYMENT_RESPONSIVE_V1 */

/* BGE_BOOKING_RESPONSIVE_V1 */

.com-content-article .bge-booking-hero {
  display: flow-root;
  margin-bottom: 20px;
}

.com-content-article .bge-booking-hero h1 {
  margin: 0 0 18px;
}

.com-content-article .bge-booking-hero-image {
  float: right;
  display: block;
  width: min(28%, 360px);
  max-width: 100%;
  height: auto;
  margin: 0 0 20px 24px;
  border-radius: 8px;
}

@media (max-width: 768px) {
  .com-content-article .bge-booking-hero {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .com-content-article .bge-booking-hero h1 {
    font-size: clamp(26px, 7vw, 36px);
    line-height: 1.2;
    margin: 0;
  }

  .com-content-article .bge-booking-hero-image {
    float: none;
    width: 100%;
    max-width: 440px;
    height: auto;
    margin: 0 auto;
  }
}

/* END BGE_BOOKING_RESPONSIVE_V1 */

/* BGE_BOOKING_DESKTOP_FIX_V2 */

@media (min-width: 769px) {

  .com-content-article .bge-booking-hero {
    display: contents;
  }

  .com-content-article .bge-booking-hero h1 {
    display: block;
    margin: 0 0 22px;
  }

  .com-content-article .bge-booking-hero-image {
    float: right;
    width: min(28%, 430px);
    max-width: 100%;
    height: auto;
    margin: 0 0 24px 28px;
  }

}

/* END BGE_BOOKING_DESKTOP_FIX_V2 */

/* BGE_BOOKING_LAYOUT_V3 */

/* Hero contains heading only */
.com-content-article .bge-booking-hero {
  display: block;
  margin-bottom: 18px;
}

.com-content-article .bge-booking-hero h1 {
  margin: 0;
}

/* Desktop: booking text beside image */
@media (min-width: 769px) {
  .com-content-article .bge-booking-hero {
    display: block;
  }

  .com-content-article .bge-booking-hero-image {
    display: block;
    float: right;
    width: min(28%, 430px);
    max-width: 100%;
    height: auto;
    margin: 0 0 24px 28px;
    border-radius: 8px;
  }
}

/* Mobile: heading then image then content */
@media (max-width: 768px) {
  .com-content-article .bge-booking-hero {
    display: block;
    margin-bottom: 14px;
  }

  .com-content-article .bge-booking-hero h1 {
    font-size: clamp(26px, 7vw, 36px);
    line-height: 1.2;
  }

  .com-content-article .bge-booking-hero-image {
    display: block;
    float: none;
    width: 100%;
    max-width: 440px;
    height: auto;
    margin: 0 auto 20px;
    border-radius: 8px;
  }
}

/* END BGE_BOOKING_LAYOUT_V3 */
