/* IlluminateQuirksFlatten.r1 — gallery mosaic flatten + privacy chip one-piece
 * Tip: illuminate-2026.10.01-privacy-chip-icon-r1
 * Base: illuminate-2026.10.01-quirks-flatten-r1
 * Icon: shield-check (privacy/consent) — NOT eye / eye-slash / visibility-off
 * Link AFTER IlluminateHannahGateFix.r1 (and PrivacyChip.footer.r1).
 * HARD locks untouched: Guest v0.816.1 + placementSlug, PrivacyChip lineage,
 * NavCruise r2, hannah-rev2, gatefix-r1.
 * HARD: visitor phones/emails/links stay tel:/mailto:/https — never bare text.
 */

/* ========== 1) Gallery mosaic flatten ==========
 * Conflicting page-key spans (--wide / 4n+4 / 5n+1 / first-child 8-col) +
 * aspect-ratio:auto on feature links let mixed portrait/landscape dictate
 * uneven tile heights and stepped gutters. Force even cover tiles.
 */
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid,
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: dense !important;
  grid-auto-rows: auto !important;
  gap: clamp(12px, 1.8vw, 20px) !important;
  align-items: stretch !important;
}

[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__item,
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__item--wide,
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature .photo-gallery__item,
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature .photo-gallery__item:first-child,
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature .photo-gallery__item:nth-child(2),
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature .photo-gallery__item:nth-child(4n + 4),
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__item:nth-child(5n + 1) {
  grid-column: auto / span 1 !important;
  grid-row: auto / span 1 !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: stretch !important;
}

[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__link,
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] button.photo-gallery__link,
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature .photo-gallery__link,
[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature .photo-gallery__item:first-child .photo-gallery__link {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: var(--brand-navy, #04243a) !important;
}

[data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

@media (min-width: 900px) {
  [data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid,
  [data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  [data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid,
  [data-website-id="web_85b8192b-d816-469f-a4a6-be3227ba3985"][data-page-key="gallery"] .photo-gallery__grid--feature {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ========== 2) Privacy chip — icon + label one chip, no overlap ==========
 * PrivacyChip.footer.r1 max-width+ellipsis truncates "Privacy cho…";
 * StickyPrivacyRibbon.v4 still linked and fights for the same control.
 * Flatten to one horizontal flex chip; integrate shield-check as ::before
 * (static, not a separate overlapping badge). Defeat ribbon geometry.
 * Icon choice (user reject Inv I6AER5YVLVC372XST8M85TQ1XT): eye-slash read as hide; shield-check = privacy/consent.
 */
@media (max-width: 900px) {
  button.illuminate-consent-manage:not([hidden]),
  .illuminate-consent-manage[data-manifest-consent-manage]:not([hidden]) {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    position: fixed !important;
    right: 12px !important;
    left: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    z-index: 90 !important;
    box-sizing: border-box !important;
    width: max-content !important;
    max-width: calc(100vw - 24px) !important;
    min-width: max-content !important;
    min-height: 40px !important;
    height: auto !important;
    padding: 8px 14px 8px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(145, 238, 230, 0.34) !important;
    border-right: 1px solid rgba(145, 238, 230, 0.34) !important;
    background: #010615e6 !important;
    color: #f7fbfc !important;
    box-shadow: 0 6px 16px #01061540 !important;
    font: 700 12px/1.2 Manrope, system-ui, sans-serif !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Integrated shield-check — privacy/consent glyph in the same chip flex row */
  button.illuminate-consent-manage:not([hidden])::before,
  .illuminate-consent-manage[data-manifest-consent-manage]:not([hidden])::before {
    content: "" !important;
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: #91eee6 !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
  }

  /* Any injected SVG/icon child sits in the flex row — never absolute overlay */
  button.illuminate-consent-manage:not([hidden]) > svg,
  button.illuminate-consent-manage:not([hidden]) > img,
  button.illuminate-consent-manage:not([hidden]) > span[aria-hidden],
  .illuminate-consent-manage[data-manifest-consent-manage]:not([hidden]) > svg,
  .illuminate-consent-manage[data-manifest-consent-manage]:not([hidden]) > img {
    position: static !important;
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body:has(.illuminate-mobile-booking-bar[data-visible="true"]) .illuminate-consent-manage:not([hidden]) {
    bottom: calc(88px + env(safe-area-inset-bottom, 0px) + 10px) !important;
  }
}

@media (min-width: 901px) {
  button.illuminate-consent-manage:not([hidden]),
  .illuminate-consent-manage[data-manifest-consent-manage]:not([hidden]) {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform: none !important;
    width: max-content !important;
    max-width: none !important;
    min-width: max-content !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  button.illuminate-consent-manage:not([hidden])::before,
  .illuminate-consent-manage[data-manifest-consent-manage]:not([hidden])::before {
    content: "" !important;
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
    background-color: currentColor !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    position: static !important;
  }
}

/* Footer Privacy choices stays plain text link (never ribbon / never icon-badge) */
.illuminate-footer-privacy-choices,
a.illuminate-footer-privacy-choices,
button.illuminate-footer-privacy-choices {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  overflow: visible !important;
}
.illuminate-footer-privacy-choices::before,
a.illuminate-footer-privacy-choices::before,
button.illuminate-footer-privacy-choices::before {
  content: none !important;
  display: none !important;
}


/* Final override — beat LaunchIntegrations[data-astro-cid] + ribbon 48px width */
@media (max-width: 900px) {
  button.illuminate-consent-manage:not([hidden]),
  button.illuminate-consent-manage[data-manifest-consent-manage]:not([hidden]),
  .illuminate-consent-manage[data-manifest-consent-manage]:not([hidden]),
  button.illuminate-consent-manage[data-astro-cid-nhsjgasn]:not([hidden]),
  .illuminate-consent-manage[data-astro-cid-nhsjgasn]:not([hidden]) {
    width: max-content !important;
    max-width: calc(100vw - 24px) !important;
    min-width: max-content !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    right: 12px !important;
    left: auto !important;
    border-radius: 999px !important;
    border-right: 1px solid rgba(145, 238, 230, 0.34) !important;
  }
}
