/* Sea Ray page body. Header and footer use the existing About Us components. */
body.sea-ray-page { background: #001238; }
.sr-page { --sr-navy: #001238; --sr-blue: #062951; --sr-sky: #8cc9ff; --sr-text: #eef7ff; color: var(--sr-text); background: var(--sr-navy); overflow: clip; }
.sr-page *, .sr-lightbox * { box-sizing: border-box; }
.sr-page h1, .sr-page h2, .sr-page h3 { color: var(--sr-text); margin: 0; font-weight: 600; letter-spacing: -.045em; }
.sr-page h2 { font-size: clamp(34px, 4.1vw, 62px); line-height: 1; }
.sr-page h3 { font-size: 23px; line-height: 1.15; letter-spacing: -.025em; }
.sr-page p { color: #b6c9df; line-height: 1.8; margin: 0; }
.sr-page img { display: block; max-width: 100%; }
.sr-page a { color: inherit; }
.sr-page button, .sr-lightbox button { font: inherit; }
.sr-page :is(a, button, summary):focus-visible, .sr-lightbox button:focus-visible { outline: 3px solid #8cc9ff; outline-offset: 6px; }
.sr-page [id] { scroll-margin-top: 100px; }
.sr-wrap { width: min(1280px, calc(100% - 100px)); margin-inline: auto; }
.sr-eyebrow { display: flex; align-items: center; gap: 12px; color: var(--sr-sky); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; line-height: 1.4; margin-bottom: 16px; }
.sr-eyebrow > i { flex: 0 0 auto; font-size: 14px; letter-spacing: 0; }
.sr-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.sr-page .sr-btn { display: inline-flex; justify-content: center; align-items: center; gap: 28px; padding: 16px 25px; border: 1px solid #acd9ff; border-radius: 40px; background: #c1e3ff; color: #052241; font-size: 13px; font-weight: 800; line-height: 1.3; transition: background .2s, transform .2s; }
.sr-page .sr-btn:hover { background: #eff8ff; transform: translateY(-2px); }
.sr-page .sr-btn--outline { background: transparent; color: #e7f4ff; border-color: #5a789d; }
.sr-page .sr-btn--outline:hover { background: #153b66; }
.sr-text-link { font-size: 13px; font-weight: 700; display: inline-flex; gap: 22px; align-items: center; border-bottom: 1px solid #5e7e9c; padding-block: 10px; }
.sr-text-link:hover { color: var(--sr-sky); }
.sr-hero { position: relative; isolation: isolate; min-height: 750px; padding-top: 40px; background: radial-gradient(ellipse at 55% 60%, #124a75 0%, #052644 44%, #00152e 80%); box-shadow: 0 1px 0 var(--sr-navy); }
.sr-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 52%; z-index: -1; background: linear-gradient(180deg, rgba(0,18,56,0), var(--sr-navy) 92%); pointer-events: none; }
.sr-hero-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.sr-hero-top .sr-eyebrow { margin: 0; }
.sr-hero-location { margin-left: auto; color: #a9c4dc; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; }
.sr-hero-stage { position: relative; max-width: 1500px; margin: 30px auto 0; min-height: 490px; height: min(38vw, 580px); }
.sr-hero-water { position: absolute; width: 120%; left: -10%; top: calc(100% - clamp(50px, 7vw, 100px)); height: clamp(120px, 16vw, 240px); z-index: 0; opacity: .8; pointer-events: none; mask-image: radial-gradient(ellipse at 50% 42%, #000 18%, transparent 72%); }
.sr-page .sr-water-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex-shrink: 0; min-height: 36px; padding: 7px 12px; border: 1px solid #8cc9ff40; border-radius: 24px; background: #062951; color: #b6d9f4; font-size: 11px; cursor: pointer; white-space: nowrap; }
.sr-water-toggle[hidden] { display: none; }
.sr-water-toggle:hover { background: #124268; }

.sr-hero h1 { position: absolute; inset: 0 0 auto; text-align: center; font-family: "Rajdhani", sans-serif; font-size: clamp(130px, 21vw, 320px); font-weight: 700; line-height: .92; letter-spacing: -.035em; color: #b8d9f1; white-space: nowrap; z-index: 1; }
.sr-hero-boat { position: absolute; width: 89%; left: 5.5%; bottom: 0; height: 91%; object-fit: contain; object-position: center bottom; z-index: 2; filter: drop-shadow(0 32px 24px #000b); }
.sr-hero-kicker { position: absolute; right: 7%; top: 53%; z-index: 3; color: #ebf7ff; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; writing-mode: vertical-rl; }
.sr-hero-bottom { position: relative; z-index: 3; display: grid; grid-template-columns: 1.05fr 1fr auto; align-items: end; gap: 44px; padding: 24px 0 45px; }
.sr-hero-intro { max-width: 340px; }
.sr-hero-intro h2 { font-size: clamp(26px, 2.4vw, 35px); margin-bottom: 12px; }
.sr-hero-intro p { font-size: 13px; line-height: 1.65; max-width: 290px; }
.sr-hero-facts { display: flex; gap: 20px; margin: 0; }
.sr-hero-facts div { flex-shrink: 0; border-left: 1px solid #486580; padding-left: 18px; }
.sr-hero-facts dt { font-size: 27px; font-weight: 600; line-height: 1.15; letter-spacing: -.04em; }
.sr-hero-facts dt strong { font-weight: 700; }
.sr-hero-facts dt small { font-size: 14px; letter-spacing: 0; }
.sr-hero-facts dd { margin: 8px 0 0; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #a9c1d8; }
.sr-intro { padding: 110px 0; }
.sr-intro-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr); gap: 60px; align-items: center; }
.sr-intro h2 { font-size: clamp(38px, 3.65vw, 56px); }
.sr-intro h2 em, .sr-experiences h2 em { font-style: normal; color: var(--sr-sky); }
.sr-intro-copy > p { font-size: 15px; margin: 16px 0 24px; max-width: 390px; }
.sr-intro-features { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 26px; }
.sr-intro-features li { display: grid; grid-template-columns: 32px 1fr; gap: 17px; align-items: start; }
.sr-intro-features li > i { color: var(--sr-sky); font-size: 24px; line-height: 1.4; }
.sr-intro-features h3 { font-size: 17px; font-weight: 800; letter-spacing: -.015em; margin-bottom: 8px; }
.sr-intro-features p { font-size: 13px; line-height: 1.65; }
.sr-intro-media { min-width: 0; margin: 0; padding-top: 48px; }
.sr-intro-label { display: block; line-height: 1.4; margin: 0 0 30px; text-align: right; color: #8daecc; text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.sr-intro-label span { display: block; margin-top: 7px; color: #d9edff; font-size: 15px; letter-spacing: .1em; }
.sr-intro-media img { width: 100%; height: auto; filter: drop-shadow(0 28px 18px #0008); }
.sr-intro-media figcaption { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 22px; border-top: 1px solid #284566; color: #8daecc; font-size: 11px; letter-spacing: .06em; }
/* Reuse the homepage charter-choice component, with its copy panel on the right. */
.sr-pricing { padding: 80px 0; }
.sr-pricing .fcy-charter-choice__layout { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: stretch; }
.sr-pricing .fcy-charter-choice__copy { position: relative; display: flex; flex-direction: column; min-height: 468px; padding: 30px 26px; border-radius: 18px; background: #071f40; }
.sr-pricing .fcy-charter-choice__copy h2 { font-size: 38px; }
.sr-pricing .fcy-charter-choice__copy p { color: #cfd6e2; line-height: 1.7; font-size: 14px; margin: 16px 0 20px; }
.sr-pricing .fcy-charter-choice__copy .sr-actions { gap: 10px; margin-top: auto; }
.sr-pricing .fcy-charter-choice__copy .sr-btn { padding: 14px 16px; gap: 15px; border: 0; border-radius: 8px; background: #174b8c; color: #eef7ff; font-size: 12px; }
.sr-pricing .fcy-charter-choice__copy .sr-btn:hover { background: #2362aa; }
.sr-pricing .fcy-charter-choice__card { position: relative; display: block; min-height: 468px; padding: 0; border: 0; border-radius: 16px; background: #000c26; text-align: left; color: #fff; }
.sr-pricing .fcy-charter-choice__card img { position: absolute; inset: 0 0 auto; width: 100%; height: 300px; object-fit: cover; border-radius: 16px; transition: filter .3s ease; }
.sr-pricing .fcy-charter-choice__card > span { position: absolute; top: 254px; left: 20px; right: 20px; min-height: 88px; padding: 20px 18px 20px 60px; background: #082447; border-radius: 10px; }
.sr-pricing .fcy-charter-choice__card small { display: block; color: #8cc9ff; text-transform: uppercase; letter-spacing: .07em; font-size: 9px; line-height: 1.4; }
.sr-pricing .fcy-charter-choice__card strong { display: block; font-family: "Rajdhani", sans-serif; font-size: 24px; line-height: 1.15; margin-top: 4px; }
.sr-pricing .fcy-charter-choice__card > span i { position: absolute; left: 20px; top: 30px; font-size: 24px; color: #8cc9ff; }
.sr-pricing .fcy-charter-choice__card > i { position: absolute; right: 0; top: 0; width: 36px; height: 36px; display: grid; place-items: center; color: #8cc9ff; background: #082447; border-radius: 50%; box-shadow: 0 0 0 10px var(--sr-navy); }
.sr-pricing .fcy-charter-choice__fact { position: absolute; bottom: 28px; left: 24px; right: 20px; display: flex; align-items: center; gap: 16px; font-style: normal; }
.sr-pricing .fcy-charter-choice__fact b { font-family: "Rajdhani", sans-serif; font-size: 42px; line-height: 1; font-weight: 600; white-space: nowrap; }
.sr-pricing .fcy-charter-choice__fact small { line-height: 1.7; }
.sr-pricing .fcy-charter-choice__card:hover img { filter: brightness(1.12); }
.sr-onboard { padding: 95px 0; background: #031d41; }
.sr-onboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.sr-portrait { position: relative; margin: 0; }
.sr-portrait > img { width: 100%; height: 680px; object-fit: cover; border-radius: 20px; }
.sr-portrait figcaption { position: absolute; left: 28px; bottom: 28px; padding: 16px 22px; background: #001934e6; border: 1px solid #8cc9ff40; border-radius: 12px; display: flex; flex-direction: column; gap: 6px; line-height: 1.2; color: #e7f4ff; }
.sr-portrait figcaption span { color: #8cc9ff; font-size: 11px; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; }
.sr-onboard-copy > p { margin: 16px 0 24px; }
.sr-details { border-bottom: 1px solid #294868; padding: 22px 0; }
.sr-details summary { display: flex; align-items: center; gap: 20px; list-style: none; cursor: pointer; font-size: 21px; font-weight: 700; line-height: 1.2; }
.sr-details summary::-webkit-details-marker { display: none; }
.sr-details summary > i { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; background: #12385b; border-radius: 10px; color: #9ad4ff; font-size: 18px; }
.sr-details summary::after { content: "+"; margin-left: auto; font-size: 24px; font-weight: 400; color: #a9d6f9; }
.sr-details[open] summary::after { content: "−"; }
.sr-details p { padding: 12px 22px 0 64px; font-size: 14px; }
.sr-gallery { padding: 100px 0 0; }
.sr-gallery-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: end; margin-bottom: 42px; }
.sr-gallery-copy > p { margin: 0 0 20px; max-width: 470px; font-size: 14px; }
.sr-gallery-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sr-gallery-item { position: relative; min-width: 0; height: clamp(380px, 37vw, 620px); border: 0; padding: 0; background: #123451; color: white; overflow: hidden; text-align: left; cursor: zoom-in; }
.sr-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sr-gallery-item:hover img { transform: scale(1.04); }
.sr-page .sr-gallery-item:focus-visible { outline-offset: -6px; }
.sr-gallery-item::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent, #00162ccc); pointer-events: none; }
.sr-gallery-label { position: absolute; bottom: 30px; left: 26px; right: 26px; display: flex; justify-content: space-between; align-items: end; gap: 15px; z-index: 1; }
.sr-gallery-label small { display: block; line-height: 1.4; margin-bottom: 8px; color: #d1e8fa; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.sr-gallery-label strong { display: block; font-family: "Rajdhani", sans-serif; font-size: clamp(25px, 2.3vw, 38px); font-weight: 600; line-height: 1.1; letter-spacing: -.03em; }
.sr-gallery-label i { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid #ffffff77; border-radius: 50%; font-size: 12px; }
.sr-experiences { position: relative; padding: 100px 0 120px; background: linear-gradient(rgba(0, 18, 56, .78), rgba(0, 18, 56, .78)), url('../images/sea-ray/sea-ray-profile_water-bg-01.webp') center 55% / cover no-repeat; }
.sr-experiences-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 100px; }
.sr-experiences-intro p { margin: 16px 0 24px; max-width: 350px; }
.sr-experience-list { display: grid; grid-template-columns: 1fr 1fr; gap: 50px 45px; }
.sr-experience-list article > i { display: block; color: #80c5ff; font-size: 27px; margin-bottom: 25px; }
.sr-experience-list h3 { font-size: 21px; margin-bottom: 8px; }
.sr-experience-list p { font-size: 14px; }
.sr-cta-section { padding: 95px 0; }
.sr-cta { position: relative; min-height: 510px; border-radius: 24px; overflow: hidden; isolation: isolate; background: #092f55; }
.sr-cta-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; z-index: -2; }
.sr-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #00162c1a 0%, #001a3bbb 40%, #001a3bf5 75%); }
.sr-cta-copy { width: 52%; margin-left: auto; padding: 60px 50px 60px 10px; }
.sr-cta-copy h2 { font-size: clamp(34px, 3.7vw, 52px); }
.sr-cta-copy > p { margin: 16px 0 24px; color: #c4d6e5; font-size: 14px; }
.sr-cta-facts { display: flex; gap: 28px; margin: 30px 0; }
.sr-cta-facts span { display: flex; flex-direction: column; gap: 8px; color: #afcce3; font-size: 11px; }
.sr-cta-facts i { color: #9ad4ff; font-size: 22px; }
.sr-cta .sr-btn { padding: 15px 20px; gap: 15px; }
.sr-lightbox { width: min(1100px, calc(100% - 30px)); max-height: calc(100dvh - 40px); padding: 55px 22px 20px; border: 1px solid #42698a; border-radius: 16px; background: #031b39; color: #ecf5ff; box-shadow: 0 25px 100px #0009; }
.sr-lightbox::backdrop { background: #000c; backdrop-filter: blur(5px); }
.sr-lightbox-image { display: block; width: 100%; height: min(70dvh, 700px); object-fit: contain; }
.sr-lightbox button { display: grid; place-items: center; border: 1px solid #607e9c; color: #e7f4ff; background: #163b5d; border-radius: 50%; width: 42px; height: 42px; cursor: pointer; }
.sr-lightbox button:hover { background: #295c87; }
.sr-lightbox-close { position: absolute; right: 14px; top: 8px; font-size: 25px; }
.sr-lightbox-bottom { display: flex; gap: 18px; align-items: center; justify-content: space-between; margin-top: 16px; }
.sr-lightbox-bottom p { margin: 0; color: #c1d8ec; font-size: 14px; }
.sr-lightbox-controls { display: flex; gap: 10px; }
body.sr-gallery-open { overflow: hidden; }
@media (min-width: 1600px) { .sr-hero { padding-top: 50px; } .sr-hero-stage { margin-top: 45px; } }
@media (max-width: 1199px) {
  .sr-wrap { width: calc(100% - 64px); }
  .sr-hero-stage { min-height: 405px; }
  .sr-hero h1 { top: 35px; }
  .sr-hero-kicker { display: none; }
  .sr-hero-bottom { gap: 25px; grid-template-columns: minmax(0, 1fr) auto; }
  .sr-hero-bottom > .sr-btn { grid-column: 2; justify-self: start; }
  .sr-hero-intro { grid-row: span 2; }
  .sr-intro-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 35px; }
  .sr-onboard-grid, .sr-gallery-grid, .sr-experiences-grid { gap: 45px; }
  .sr-portrait > img { height: 600px; }
  .sr-cta-copy { width: 57%; padding-right: 35px; }
}
@media (max-width: 991px) {
  .sr-pricing .fcy-charter-choice__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sr-pricing .fcy-charter-choice__copy { grid-column: 1 / -1; min-height: 0; }
}
@media (max-width: 767px) {
  .sr-wrap { width: calc(100% - 40px); }
  .sr-eyebrow { font-size: 10px; letter-spacing: .13em; }
  .sr-hero { padding-top: 25px; min-height: 0; }
  .sr-hero-top { gap: 20px; }
  .sr-hero-location { display: none; }
  .sr-hero-stage { height: 64vw; min-height: 240px; margin-top: 30px; }
  .sr-hero h1 { font-size: 25vw; top: 55px; }
  .sr-hero-boat { width: 98%; left: 1%; bottom: 15px; height: 86%; }
  .sr-hero-kicker { display: none; }
  .sr-hero-bottom { grid-template-columns: 1fr; gap: 28px; padding: 24px 0 42px; }
  .sr-hero-intro { max-width: none; grid-row: auto; }
  .sr-hero-intro h2 { font-size: 30px; max-width: 300px; }
  .sr-hero-intro p { max-width: 340px; font-size: 14px; }
  .sr-hero-facts { gap: 12px; }
  .sr-hero-facts div { padding-left: 10px; }
  .sr-hero-facts dt { font-size: 25px; }
  .sr-hero-bottom > .sr-btn { grid-column: auto; justify-self: start; }
  .sr-intro, .sr-pricing { padding: 65px 0; }
  .sr-pricing .fcy-charter-choice__layout { grid-template-columns: 1fr; gap: 28px; max-width: 440px; }
  .sr-pricing .fcy-charter-choice__copy { padding: 26px 22px; }
  .sr-pricing .fcy-charter-choice__copy h2 { font-size: 36px; }
  .sr-pricing .fcy-charter-choice__card { min-height: 420px; }
  .sr-pricing .fcy-charter-choice__card img { height: 260px; }
  .sr-pricing .fcy-charter-choice__card > span { top: 214px; left: 14px; right: 14px; }
  .sr-pricing .fcy-charter-choice__fact { left: 20px; right: 16px; bottom: 26px; }
  .sr-pricing .fcy-charter-choice__fact b { font-size: 38px; }
  .sr-gallery { padding: 65px 0 0; }
  .sr-intro-grid, .sr-onboard-grid, .sr-experiences-grid { grid-template-columns: 1fr; gap: 32px; }
  .sr-gallery-grid { grid-template-columns: 1fr; gap: 16px; }
  .sr-intro h2 { font-size: 40px; }
  .sr-intro-copy > p { max-width: none; }
  .sr-intro-media { padding-top: 5px; }
  .sr-intro-label { margin-bottom: 24px; }
  .sr-intro-media figcaption { margin-top: 28px; padding-top: 18px; font-size: 10px; }
  .sr-onboard { padding: 65px 0; }
  .sr-portrait > img { height: 450px; border-radius: 16px; }
  .sr-portrait figcaption { left: 20px; bottom: 20px; }
  .sr-onboard-copy > p { font-size: 15px; }
  .sr-details summary { font-size: 18px; gap: 15px; }
  .sr-details p { padding-left: 59px; padding-right: 0; }
  .sr-gallery-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sr-gallery-item { height: 300px; }
  .sr-gallery-label { left: 16px; right: 16px; bottom: 22px; align-items: start; flex-direction: column-reverse; gap: 16px; }
  .sr-gallery-label small { font-size: 9px; }
  .sr-gallery-label strong { font-size: 24px; }
  .sr-gallery-label i { width: 32px; height: 32px; flex-basis: 32px; }
  .sr-experiences { padding: 65px 0; }
  .sr-experiences-intro p { max-width: none; }
  .sr-experience-list { gap: 35px 22px; }
  .sr-experience-list h3 { font-size: 19px; }
  .sr-experience-list p { font-size: 13px; }
  .sr-cta-section { padding: 60px 0; }
  .sr-cta { min-height: 670px; border-radius: 16px; display: flex; align-items: end; }
  .sr-cta-photo { top: -80%; height: 180%; object-position: 40% center; }
  .sr-cta::before { background: linear-gradient(0deg, #001a3b 0%, #001a3bf2 56%, #001a3b00 100%); }
  .sr-cta-copy { width: 100%; padding: 180px 25px 35px; }
  .sr-cta-copy h2 { font-size: 37px; }
  .sr-cta-facts { gap: 30px; }
  .sr-cta .sr-actions { align-items: stretch; flex-direction: column; }
  .sr-lightbox { padding: 55px 12px 16px; }
  .sr-lightbox-image { height: 55dvh; }
  .sr-lightbox-bottom p { font-size: 12px; }
}

/* Sea Ray version of the existing booking calendar component. */
#sr-booking { padding: 70px 0; background: #031d41; color-scheme: dark; scroll-margin-top: 100px; }
#sr-booking .sr-booking-heading { max-width: 780px; margin-bottom: 28px; }
#sr-booking .sr-booking-heading > p { margin-top: 12px; }
#sr-booking .fcy-booking-split-card { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); background: #062447; border: 1px solid #315171; }
#sr-booking .fcy-booking-info { background: #082d51; }
#sr-booking .fcy-info-image { grid-column: 1 / -1; height: 170px; }
#sr-booking .fcy-info-content { padding: 18px 24px 0; }
#sr-booking .fcy-info-content > span { display: block; line-height: 1.4; margin-bottom: 8px; padding: 0; border-radius: 0; background: none; color: #8cc9ff; font-size: 10px; }
#sr-booking .fcy-info-content h3 { font-size: 34px; margin-bottom: 8px; }
#sr-booking .fcy-info-content p { color: #b6c9df; font-size: 13px; line-height: 1.7; margin-bottom: 0; }
#sr-booking .fcy-booking-form-wrap { padding: 20px 24px; min-width: 0; background: #062447; }
#sr-booking .fcy-booking-tabs { align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 16px; }
#sr-booking .fcy-booking-tabs > span { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding-bottom: 8px; }
#sr-booking .fcy-booking-tabs .active { color: #e8f5ff; border-color: #8cc9ff; }
#sr-booking .fcy-booking-tabs a { color: #9ac9ef; font-size: 10px; }
#sr-booking .fcy-calendar-box { width: auto; background: #092d50; border-color: #355574; box-shadow: none; padding: 14px; margin: 18px; }
#sr-booking .fcy-field label { display: block; color: #c9ddf1; font-size: 10px; line-height: 1.4; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 4px; }
#sr-booking .fcy-field label span { font-weight: 400; color: #9bb8d2; text-transform: none; letter-spacing: 0; }
#sr-booking .fcy-calendar-fields { gap: 8px 14px; }
#sr-booking .fcy-field input, #sr-booking .fcy-field select, #sr-booking textarea { height: 40px; background: #0a3157; border-color: #3a5b7b; color: #eef7ff; padding: 0 12px; font-size: 13px; }
#sr-booking input::placeholder, #sr-booking textarea::placeholder { color: #9bb8d2; opacity: 1; }
#sr-booking :is(input, select, textarea):focus-visible { outline: 2px solid #8cc9ff; outline-offset: 2px; }
#sr-booking .sr-booking-message { margin-top: 10px; }
#sr-booking textarea { height: 72px; padding: 8px 12px; margin-top: 0; }
#sr-booking .flatpickr-calendar { color-scheme: dark; margin-top: 8px; }
#sr-booking .flatpickr-months .flatpickr-month, #sr-booking .flatpickr-current-month, #sr-booking .flatpickr-current-month .flatpickr-monthDropdown-months { background: #092d50; color: #e8f5ff; fill: #e8f5ff; }
#sr-booking .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month) { color: #bcdfff; fill: #bcdfff; }
#sr-booking span.flatpickr-weekday { color: #a9c7e1; }
#sr-booking .flatpickr-day { color: #e3f1ff; }
#sr-booking .flatpickr-day:is(.prevMonthDay, .nextMonthDay) { color: #7797b5; }
#sr-booking .flatpickr-day.flatpickr-disabled { color: #4e6a84; }
#sr-booking .flatpickr-day:not(.flatpickr-disabled):hover { background: #194a75; border-color: #5584ad; }
#sr-booking .flatpickr-day:focus-visible { outline: 2px solid #8cc9ff; outline-offset: -2px; }
#sr-booking #srBookingDateStatus { display: block; color: #a9c7e1; font-size: 11px; line-height: 1.6; margin-top: 12px; }
#sr-booking .fcy-availability-box { background: #0a3157; border-color: #8cc9ff; color: #bcd4ea; line-height: 1.7; margin-top: 14px; }
#sr-booking .fcy-availability-box > i { color: #8cc9ff; }
#sr-booking .fcy-booking-bottom { margin-top: 16px; gap: 12px; flex-wrap: wrap; }
#sr-booking .fcy-booking-actions button:disabled { background: #214769; border-color: #4b6b89; color: #abc4da; cursor: not-allowed; min-height: 48px; padding: 12px 18px; }
@media (max-width: 991px) {
  #sr-booking .fcy-booking-split-card { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  #sr-booking { padding: 50px 0; }
  #sr-booking .sr-booking-heading { padding-inline: 10px; margin-bottom: 24px; }
  #sr-booking .fcy-booking-form-wrap { padding: 14px 18px; }
  #sr-booking .fcy-booking-info { display: block; }
  #sr-booking .fcy-info-image, #sr-booking .fcy-info-content { display: none; }
  #sr-booking .fcy-calendar-box { padding: 12px; margin: 18px 18px 0; }
  #sr-booking .fcy-booking-tabs { flex-wrap: wrap; }
  #sr-booking .fcy-booking-actions { width: 100%; }
  #sr-booking .fcy-field input, #sr-booking .fcy-field select, #sr-booking textarea { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .sr-page *, .sr-lightbox * { scroll-behavior: auto; transition: none; }
}
