/* Customer-facing design stays blue regardless of the employee's theme. */
.quote {
  font:
    12px/1.8 Tahoma,
    Arial,
    sans-serif;
  color: #24394e;
  background: #fff;
  direction: rtl;
  text-align: right;
  letter-spacing: 0;
}
.quote * {
  box-sizing: border-box;
}
.quote h1,
.quote h2,
.quote h3,
.quote p {
  margin: 0;
}
.quote small {
  color: #667a8d;
}
.quote a {
  color: #226eb3;
  overflow-wrap: anywhere;
}
.quote-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid #2477c7;
  padding-bottom: 17px;
  margin-bottom: 22px;
  gap: 20px;
}
.quote-logo {
  width: 175px;
  height: 104px;
  object-fit: contain;
  border-radius: 7px;
}
.quote-header-label {
  font-size: 11px;
  letter-spacing: 1px;
  color: #2676bc;
}
.quote-ref {
  font:
    11px/1.8 Arial,
    sans-serif;
  color: #667a8d;
}
.quote-hero h1 {
  font-size: 24px;
  line-height: 1.5;
  color: #164572;
  margin-bottom: 6px;
}
.quote-hero p {
  color: #586f84;
  font-size: 13px;
}
.quote-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}
.quote-fact {
  padding: 12px;
  background: #f4f7fb;
  border: 1px solid #e3eaf3;
  border-radius: 8px;
}
.quote-fact small,
.quote-fact strong {
  display: block;
}
.quote-fact strong {
  font-size: 12px;
  margin-top: 3px;
}
.quote-section {
  margin: 22px 0;
}
.quote-section h2 {
  font-size: 16px;
  color: #164572;
  margin: 0 0 11px;
  padding-bottom: 7px;
  border-bottom: 1px solid #e2eaf3;
  break-after: avoid;
}
.quote-stay {
  border: 1px solid #dce6f1;
  border-radius: 10px;
  margin: 10px 0;
  overflow: hidden;
  break-inside: avoid;
}
.quote-stay-head {
  background: #f0f5fb;
  padding: 10px 14px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.quote-stay-head b {
  color: #1d5f99;
  font-size: 14px;
}
.quote-stay-head span {
  font-size: 11px;
  color: #5a7188;
}
.quote-hotel {
  padding: 12px 14px;
  border-top: 1px solid #e7edf5;
}
.quote-hotel:first-of-type {
  border-top: 0;
}
.quote-hotel h3 {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.7;
}
.quote-hotel p {
  white-space: pre-wrap;
  margin: 4px 0;
  color: #516980;
}
.quote-hotel-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 11px;
  margin-top: 6px;
}
.quote table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  table-layout: fixed;
}
.quote thead {
  display: table-header-group;
}
.quote th {
  background: #f1f5fa;
  color: #3b5976;
  font-size: 11px;
}
.quote th,
.quote td {
  padding: 10px 12px;
  text-align: right;
  border-bottom: 1px solid #e1e9f2;
  vertical-align: top;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
.quote th:first-child {
  width: 36%;
}
.quote tr {
  break-inside: avoid;
}
.quote td small {
  display: block;
  margin-top: 4px;
}
.quote-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  border: 1px solid #cddfed;
  border-right: 5px solid #2277c9;
  background: #eef5fc;
  border-radius: 10px;
  padding: 18px 20px;
  margin: 24px 0;
  break-inside: avoid;
  color: #164572;
}
.quote-price strong {
  font:
    700 28px/1.4 Arial,
    sans-serif;
  direction: ltr;
  display: block;
  color: #164572;
}
.quote-price del {
  color: #72889c;
  font:
    12px Arial,
    sans-serif;
}
.quote-price small {
  display: block;
  margin-top: 4px;
}
.quote-pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.quote-terms {
  padding: 14px 16px;
  border: 1px solid #e1e8f1;
  border-radius: 9px;
  background: #fafbfd;
  font-size: 11px;
}
.quote-cta {
  color: #1f639c;
  margin: 18px 0 !important;
  font-weight: bold;
}
.quote-footer {
  border-top: 1px solid #dce6f0;
  padding-top: 12px;
  margin-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: #718296;
  font-size: 10px;
  break-inside: avoid;
}
.quote-route {
  padding: 9px 12px;
  border-right: 3px solid #bcd2e8;
  background: #f8fafd;
  overflow-wrap: anywhere;
  margin-top: 12px !important;
}
.quote-sheet {
  max-width: 850px;
  margin: 25px auto;
  padding: 24px;
  background: #fff;
}
.quote-tools {
  max-width: 850px;
  margin: 20px auto;
  display: flex;
  gap: 10px;
}
.quote-tools button {
  font:
    13px Tahoma,
    sans-serif;
  padding: 10px 18px;
  background: #2277c9;
  color: #fff;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}
@media (max-width: 600px) {
  .quote-facts {
    grid-template-columns: 1fr;
  }
  .quote-header {
    gap: 10px;
  }
  .quote-logo {
    width: 125px;
    height: 75px;
  }
  .quote-hero h1 {
    font-size: 20px;
  }
  .quote-sheet {
    padding: 16px;
  }
  .quote-price {
    align-items: flex-start;
    flex-direction: column;
  }
  .quote-stay-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .quote-footer {
    flex-direction: column;
  }
}
@media print {
  html,
  body {
    background: #fff !important;
  }
  .quote {
    font:
      11px/1.75 Tahoma,
      Arial,
      sans-serif;
    color: #24394e !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .quote-sheet {
    padding: 0;
    margin: 0;
    max-width: none;
  }
  .quote-tools {
    display: none !important;
  }
  .quote-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .quote-header {
    padding-bottom: 12px;
    margin-bottom: 16px;
  }
  .quote-logo {
    width: 145px;
    height: 86px;
  }
  .quote-hero h1 {
    font-size: 22px;
  }
  .quote-section {
    margin: 17px 0;
  }
  .quote-price {
    margin: 19px 0;
    padding: 15px 18px;
    flex-direction: row;
  }
  .quote-stay-head {
    flex-direction: row;
    align-items: center;
  }
  .quote-footer {
    flex-direction: row;
  }
  .quote-terms {
    background: #fafbfd;
  }
  .quote-stay,
  .quote-facts,
  .quote-price {
    break-inside: avoid;
  }
  h2,
  h3 {
    break-after: avoid;
  }
  @page {
    size: A4;
    margin: 13mm 14mm 15mm;
  }
}
@page {
  @bottom-left {
    direction: ltr;
    content: counter(page) " / " counter(pages);
    font:
      9px Arial,
      sans-serif;
    color: #73869a;
  }
  @bottom-right {
    content: "Travel Care";
    font:
      9px Arial,
      sans-serif;
    color: #73869a;
  }
}
