/* Shared service surfaces; scoped to the hotel and flight preview pages. */
body.reference-edition[data-service-refined] {
  --service-ink: #0b2d45;
  --service-muted: #496477;
  --service-line: #dce5eb;
  --service-red: #cf0826;
  background: #faf9f7;
  color: var(--service-ink);
}
body.reference-edition[data-service-refined] :is(.quote-callout,.review-form-panel,.quote-comparison-guide dl,.review-info-cards article) {
  background: #fff;
  border: 1px solid var(--service-line);
  border-radius: 16px;
  box-shadow: 0 8px 28px #0b2d4508;
}
body.reference-edition[data-service-refined] :is(.service-faq,.review-faq) .faq-list details {
  border: 1px solid var(--service-line);
  border-radius: 10px;
  background: #fff;
  margin-bottom: 10px;
  overflow: hidden;
}
body.reference-edition[data-service-refined] :is(.service-faq,.review-faq) summary {
  padding: 20px;
  min-height: 56px;
  color: var(--service-ink);
  font-weight: 650;
  line-height: 1.5;
  cursor: pointer;
}
body.reference-edition[data-service-refined] :is(.service-faq,.review-faq) details[open] {
  border-color: #98adbc;
}
body.reference-edition[data-service-refined] :is(.service-faq,.review-faq) details p {
  color: var(--service-muted);
  line-height: 1.8;
  padding: 0 20px 20px;
  margin: 0;
}
body.reference-edition[data-service-refined] :is(.quick-quote,.service-request) :is(input,select,textarea) {
  border: 1px solid #a8bac7;
  border-radius: 8px;
  min-height: 48px;
  background: #fff;
  color: var(--service-ink);
  font-size: 16px;
  line-height: 1.5;
  box-shadow: none;
}
body.reference-edition[data-service-refined] :is(.quick-quote,.service-request) input[type=checkbox] {
  min-height: 22px;
  width: 22px;
  height: 22px;
  accent-color: var(--service-red);
}
body.reference-edition[data-service-refined] :is(.quick-quote,.service-request) label {
  color: var(--service-ink);
  line-height: 1.5;
}
body.reference-edition[data-service-refined] :is(.hero-quote-cta,.dark-button,.quick-quote button[type=submit]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 13px 24px;
  border: 1px solid var(--service-red);
  border-radius: 9px;
  background: var(--service-red);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.5;
  text-decoration: none;
  box-shadow: none;
  transition: background-color .16s ease, border-color .16s ease;
}
body.reference-edition[data-service-refined] :is(.hero-quote-cta,.dark-button,.quick-quote button[type=submit]):hover {
  background: #b30720;
  border-color: #b30720;
  color: #fff;
  transform: none;
}
body.reference-edition[data-service-refined] :is(.hero-quote-cta,.dark-button,.quick-quote button[type=submit]):active {
  background: #95071b;
  border-color: #95071b;
}
body.reference-edition[data-service-refined] :is(button:disabled,[aria-disabled=true]) {
  background: #e5eaee;
  border-color: #bdcbd5;
  color: #4a6172;
  cursor: not-allowed;
  opacity: 1;
}
body.reference-edition[data-service-refined] [aria-busy=true] {cursor: progress;}
body.reference-edition[data-service-refined] :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid #247ca6;
  outline-offset: 4px;
}
@media(max-width:760px) {
  body.reference-edition[data-service-refined] :is(.quote-callout,.review-form-panel) {padding: 24px 18px;}
  body.reference-edition[data-service-refined] :is(.service-faq,.review-faq) summary {padding: 16px;font-size: 15px;}
  body.reference-edition[data-service-refined] :is(.service-faq,.review-faq) details p {padding: 0 16px 18px;font-size: 14px;}
  body.reference-edition[data-service-refined] :is(.quick-quote button[type=submit],.service-request .dark-button) {width: 100%;}
}
@media(prefers-reduced-motion:reduce) {
  body.reference-edition[data-service-refined] * {transition: none !important;scroll-behavior: auto !important;}
}
