/* The banner is in document flow until its independent focus protection is ready. */
body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]):not([data-standard-focus-ready="true"])
  .consent-layer[data-consent-presentation="compact-banner"]:not([data-standard-consent-modal="true"]) {
  position: static;
  inset: auto;
  max-height: none;
}

/* Keep the Standard header menu above the measured Cookie banner. */
body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .mobile-menu {
  height: calc(100svh - var(--header-height) - var(--standard-cookie-clearance, 0px));
  scroll-padding-block: 8px;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .mobile-menu a {
  scroll-margin-block: 8px;
}

/* Static-first fallback also covers a missing/failed module, not only noscript browsers. */
body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]):not([data-standard-options-ready="true"]) .mobile-sticky,
body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]):not([data-standard-options-ready="true"]) .compact-option-picker {
  display: none !important;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-fallback {
  margin-block: 1.25rem;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-fallback ul {
  display: grid;
  gap: 0.55rem;
  padding: 0;
  list-style: none;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-fallback li {
  display: grid;
  gap: 0.1rem;
  padding: 0.72rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 0.45rem;
  background: #fff;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-fallback strong {
  color: var(--bengara);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"])[data-standard-options-ready="true"] .compact-option-fallback {
  display: none;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-picker {
  display: grid;
  gap: 1rem;
  margin: 1.25rem 0 0;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-group {
  min-width: 0;
  padding: 0;
  border: 0;
  margin: 0;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-group legend {
  width: 100%;
  padding: 0;
  margin: 0 0 0.5rem;
  color: var(--bengara);
  font-weight: 800;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice-list {
  display: grid;
  gap: 0.55rem;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 44px;
  padding: 0.72rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 0.45rem;
  align-items: center;
  grid-template-columns: 1.25rem minmax(0, 1fr) auto;
  gap: 0.6rem;
  color: var(--ink);
  background: #fff;
  cursor: pointer;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice:has(input:checked) {
  border-color: var(--bengara);
  background: var(--paper-deep);
  box-shadow: inset 0 0 0 1px var(--bengara);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice:has(input:focus-visible) {
  outline: 3px solid var(--bengara);
  outline-offset: 2px;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice input {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  accent-color: var(--bengara);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice-copy {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
  line-height: 1.4;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice-copy strong {
  color: var(--bengara);
  font-size: 0.88rem;
  white-space: normal;
  text-wrap: wrap;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-amount,
body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-tax-unit {
  display: inline-block;
  white-space: nowrap;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-tax-unit {
  font-size: 0.875rem;
  line-height: 1.4;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-selected {
  display: none;
  color: var(--bengara);
  font-size: 0.74rem;
  font-weight: 800;
  white-space: nowrap;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice:has(input:checked) .compact-option-selected {
  display: inline;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-summary {
  padding: 0.9rem;
  border: 1px solid var(--line);
  border-radius: 0.45rem;
  background: var(--paper-deep);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-summary h3 {
  margin: 0 0 0.55rem;
  color: var(--bengara);
  font-size: 1rem;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-summary dl {
  margin: 0;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-summary dl > div {
  display: grid;
  padding: 0.42rem 0;
  align-items: baseline;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.6rem;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-summary dl > div + div {
  border-top: 1px solid var(--line);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-summary dt,
body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-summary dd {
  margin: 0;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-price-summary dd {
  color: var(--bengara);
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.65;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-sticky-summary {
  display: grid;
  min-width: 0;
  padding: 0.35rem 0.45rem;
  align-content: center;
  gap: 0.08rem;
  color: var(--ink);
  background: var(--paper);
  font-size: 0.68rem;
  line-height: 1.25;
  text-align: left;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-sticky-summary > span {
  white-space: normal;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-sticky-summary strong {
  white-space: nowrap;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .mobile-sticky[hidden] {
  display: none !important;
}

@media (min-width: 40rem) {
  body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-option-choice-list-independent {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Standard detail only: accommodate the actual reservation/Cookie bar and its focus clearance. */
html:has(body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"])) {
  scroll-padding-bottom: var(--standard-bottom-clearance, 8px);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]):not([data-standard-options-ready="true"]) :is(a, button, summary, [tabindex]) {
  scroll-margin-block: 8px;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) {
  padding-bottom: max(calc(7rem + env(safe-area-inset-bottom)), var(--standard-bottom-clearance, 0px));
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .site-header :is(.brand, .language-button, .menu-button):focus-visible {
  outline-offset: 1px;
}

/* Include the short Home breadcrumb in this page's 44px keyboard/touch targets. */
body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-plan-breadcrumb a {
  min-width: 44px;
}

/* Expanded Cookie settings only: the compact first-visit banner remains unchanged. */
html:has(body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"])[data-standard-consent-modal="true"]) {
  overflow: hidden;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"])
  .consent-layer[data-consent-presentation="compact-banner"][data-standard-consent-modal="true"] {
  position: fixed;
  inset: var(--standard-consent-viewport-top, 0px) 0 auto;
  display: grid;
  width: 100%;
  height: var(--standard-consent-viewport-height, 100dvh);
  max-height: none;
  padding: 8px;
  align-items: end;
  overflow: hidden;
  background: rgb(36 32 29 / 18%);
  pointer-events: auto;
  overscroll-behavior: contain;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"])
  .consent-layer[data-standard-consent-modal="true"] .consent-panel {
  min-height: 0;
  max-height: 100%;
  overscroll-behavior: contain;
  scroll-padding-block: 8px;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"])
  .consent-layer[data-standard-consent-modal="true"] .consent-close {
  top: 8px;
  right: 8px;
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"])
  .consent-layer[data-standard-consent-modal="true"] .consent-heading {
  min-height: 50px; /* Keep the 44px close control and its outer ring clear of the next row. */
}

/* Standard CTA contrast: override dark shared price/secondary colors only on dark panels.
   Keep all typography, geometry, transitions, and behavior unchanged. */
body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) :is(.compact-plan-cta, .compact-plan-final) [data-price] {
  color: var(--focus-light);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-plan-final .button-secondary {
  color: var(--focus-light);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) .compact-plan-final .button {
  border-color: var(--focus-light);
}

body:is([data-page="prototype-kimono-standard"], [data-compact-review="true"]) :is(.compact-plan-cta, .compact-plan-final) .button:focus-visible {
  outline-color: var(--focus-light);
}
/* Compact variants share filled photo frames; single images keep their own ratio. */
body[data-compact-review="true"] .compact-plan-hero:not(:has(.compact-plan-gallery)) { grid-template-columns: minmax(0, 1fr); }
body[data-compact-review="true"] .compact-plan-hero:not(:has(.compact-plan-gallery)) .compact-plan-hero-copy { grid-column: 1; max-width: 48rem; }
body[data-compact-review="true"]:not([data-page="prototype-kimono-standard"]) .compact-plan-price { white-space: normal; }
body[data-compact-review="true"] .compact-plan-gallery:has(.compact-plan-gallery-slide:only-child) .compact-plan-gallery-track { padding-right: 0; }
body[data-compact-review="true"] .compact-plan-option-advice { margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); }
body[data-compact-review="true"] .compact-plan-option-advice p { margin: 0 0 0.4rem; }
@media (max-width: 25rem) {
  body[data-compact-review="true"]:not([data-page="prototype-kimono-standard"]) .compact-option-price-summary dl > div { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
  body[data-compact-review="true"]:not([data-page="prototype-kimono-standard"]) .compact-option-price-summary dd { text-align: left; }
}
body[data-compact-review="true"] .compact-copy-word { white-space: nowrap; }
