/* Shared booking cards: navy typography, cool surfaces, pink actions. */
.cro,.cro-float,.cro-exit {
  --cro-ink:#0d2438; --cro-accent:#b62b59; --cro-hover:#902044;
  --cro-line:#cbdce5; --cro-muted:#465969;
  box-sizing:border-box; color:var(--cro-ink); font-family:inherit; line-height:1.55;
}
.cro *,.cro-float *,.cro-exit * {box-sizing:border-box;min-width:0}
body.cro-optimized {padding-bottom:0}
.cro {
  margin:1.6rem 0; padding:1.35rem; max-width:100%;
  background:#f3f8fb; border:1px solid var(--cro-line); border-radius:16px;
  box-shadow:0 3px 14px rgba(13,36,56,.055); overflow-wrap:anywhere;
}
.cro[hidden],.cro [hidden],.cro-float[hidden] {display:none!important}
.cro p {margin:0 0 .85rem}
.cro p:last-child {margin-bottom:0}
.cro h2,.cro h3 {color:var(--cro-ink);line-height:1.25;margin:0 0 .8rem}
.cro a,.cro-float a,.cro-exit a {color:var(--cro-accent);text-underline-offset:3px}
.cro a:hover,.cro-float a:hover,.cro-exit a:hover {color:var(--cro-hover)}
/* Booking links remain actual anchors, with a visible button affordance. */
.cro a.cro-action,.cro a.cro-button,.cro a.btn,.cro #cro-book-link,
.cro-float .cro-button,.cro-exit .cro-button {
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;max-width:100%;padding:.8rem 1.05rem;
  border:1px solid transparent;border-radius:10px;background:var(--cro-accent);color:#fff;
  font:inherit;font-size:.9rem;font-weight:700;line-height:1.4;text-align:center;
  text-decoration:none;white-space:normal;overflow-wrap:anywhere;
  box-shadow:0 2px 4px rgba(81,20,42,.12);
  transition:background-color .15s ease,box-shadow .15s ease;
}
.cro a.cro-action:hover,.cro a.cro-button:hover,.cro a.btn:hover,.cro #cro-book-link:hover,
.cro-float .cro-button:hover,.cro-exit .cro-button:hover {
  background:var(--cro-hover);color:#fff;text-decoration:none;box-shadow:0 4px 10px rgba(81,20,42,.16);
}
.cro button,.cro-float button,.cro-exit button {
  font:inherit;cursor:pointer;min-height:44px;min-width:44px;padding:.6rem .85rem;
  border:1px solid #9cb7c6;border-radius:9px;background:#fff;color:var(--cro-ink);white-space:normal;
}
.cro button:hover {background:#eaf3f8;border-color:#678ba0}
.cro :focus-visible,.cro-float :focus-visible,.cro-exit :focus-visible {outline:3px solid #b62b59;outline-offset:4px}
.cro-text {border-left:4px solid #1c5a78}
.cro-text .cro-copy>p:first-child {font-size:1rem;line-height:1.6}
.cro-summary {background:#f3f8fb;padding:1rem 1.2rem;margin:1rem 0;font-size:.94rem;line-height:1.65}
.cro-summary strong {color:var(--cro-ink)}
.cro-summary a {font-weight:700}
.cro-summary button {display:block;margin-top:.75rem;font-size:.88rem;font-weight:650}
/* Image cards keep the image and offer inside one bounded surface. */
.cro-image-card {display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:1.25rem;align-items:start;background:#fff}
.cro-image-card figure {margin:0}
.cro .cro-copy {min-width:0}
.cro img {display:block;max-width:100%;height:auto;border-radius:10px}
.cro-image-card figure img {width:100%;aspect-ratio:4/3;object-fit:cover;margin:0;box-shadow:none}
.cro-image-card figcaption {padding-top:.4rem;font-size:.72rem;color:var(--cro-muted)}
.cro-facts,.cro-limits,.cro #cro-offer-facts {font-size:.86rem;color:var(--cro-muted);line-height:1.6}
.cro-facts strong {color:var(--cro-ink)}
.cro-widget {background:#fff;border-top:4px solid #1c5a78}
.cro-calendar {margin:1rem 0;padding:1rem;background:#f3f8fb;border:1px solid #d6e3eb;border-radius:12px}
.cro [data-gyg-widget] {padding:0;background:#fff;overflow:hidden}
.cro iframe {display:block;width:100%;max-width:100%;height:460px;aspect-ratio:auto;margin:0;border:0;border-radius:10px}
.cro [data-cro-schedule-result],.cro #cro-cost-result {display:block;font-size:.86rem;line-height:1.55;color:var(--cro-muted);margin:.75rem 0 0}
.cro label {display:block;font-size:.9rem;font-weight:650;margin:.8rem 0}
.cro input,.cro select {font:inherit;width:100%;max-width:100%;min-height:48px;padding:.65rem .75rem;border:1px solid #9cb7c6;border-radius:9px;background:#fff;color:var(--cro-ink)}
.cro label input,.cro label select {display:block;margin-top:.35rem;font-weight:400}
.cro-end {padding:1.5rem;background:#f3f8fb;border:1px solid #aac5d5;border-top:4px solid #b62b59;scroll-margin-top:100px}
.cro-end h2 {font-size:1.55rem}
.cro-end #cro-offer-title {font-size:1.2rem;scroll-margin-top:100px}
.cro-initial {font-size:.82rem;color:var(--cro-muted)}
.cro-end #cro-book-link {width:100%;margin-top:.25rem}
.cro-end [data-cro-date] {max-width:22rem}
.cro details {margin:1rem 0;padding:.2rem 1rem;border:1px solid var(--cro-line);border-radius:10px;background:#fff}
.cro summary {cursor:pointer;min-height:48px;padding:.65rem 0;font-size:.92rem;font-weight:700}
.cro details[open] {padding-bottom:1rem}
.cro details[open] summary {margin-bottom:.4rem;border-bottom:1px solid #dbe6ec}
.cro-alternatives {margin-top:1rem;padding-top:.8rem;border-top:1px solid #dbe6ec}
.cro-alternatives p {font-size:.86rem}
.cro-cost {min-width:0;margin:1.2rem 0 0;padding:1rem;border:1px solid var(--cro-line);border-radius:10px;background:#f8fbfd}
.cro-cost legend {max-width:100%;padding:0 .35rem;font-size:.9rem;font-weight:700;line-height:1.4}
.cro-cost>p {font-size:.84rem;color:var(--cro-muted)}
.cro-no-match {margin:1rem 0;padding:.8rem 1rem;background:#f7f9fa;border:0;border-left:3px solid #b3c4cd;border-radius:0 8px 8px 0;box-shadow:none;color:var(--cro-muted);font-size:.9rem}
.cro-float {position:fixed;z-index:55;right:22px;bottom:22px;width:min(360px,calc(100vw - 44px));max-height:calc(100dvh - 44px);overflow:auto;padding:1.1rem;border:1px solid #aac5d5;border-top:3px solid #b62b59;border-radius:16px;background:#fff;box-shadow:0 10px 36px rgba(13,36,56,.18)}
.cro-float .cro-float-copy {padding-right:2rem;margin:0 0 .9rem;font-size:.92rem}
.cro-float .cro-button,.cro-exit .cro-button {width:100%}
.cro-float .cro-close,.cro-exit .cro-close {position:absolute;right:5px;top:5px;padding:.4rem;border:0;background:transparent;font-size:1.55rem;line-height:1}
.cro-exit {width:min(490px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:2rem;border:1px solid #aac5d5;border-top:4px solid #b62b59;border-radius:16px;background:#fff;box-shadow:0 16px 70px rgba(13,36,56,.3)}
.cro-exit::backdrop {background:rgba(13,36,56,.6)}
.cro-exit h2 {margin:.2rem 1.2rem .8rem 0;font-size:1.45rem;line-height:1.25;text-transform:none}
@media(max-width:899px) {
  .cro {padding:1.05rem;margin:1.35rem 0;border-radius:12px}
  .cro-image-card {grid-template-columns:minmax(0,1fr);gap:1rem}
  .cro-image-card figure img {aspect-ratio:16/9;max-height:280px}
  .cro a.cro-action,.cro a.cro-button,.cro a.btn,.cro #cro-book-link {width:100%;padding:.8rem .9rem}
  .cro-summary {font-size:.9rem}
  .cro-calendar {padding:.8rem}
  .cro [data-gyg-widget] {padding:0}
  .cro details {padding-inline:.75rem}
  .cro-cost {padding:.75rem}
  .cro-no-match {border-radius:0 8px 8px 0}
  .cro-float {left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-height:40dvh;padding:.85rem 1rem;border-radius:12px}
  .cro-float .cro-float-copy {font-size:.85rem;margin-bottom:.65rem}
  .cro-float .cro-button {font-size:.88rem;padding:.7rem}
  .cro-exit {display:none}
}
@media(prefers-reduced-motion:reduce) {.cro a,.cro-float a,.cro-exit a {transition:none}}
