/* Snap Happy ABQ — extracted from book.php.
   Page-specific rules live here; shared navigation and footer rules live in public-shell.css. */

:root {
      --booking-primary:#60c8d5;
      --booking-text:#202628;
      --booking-muted:#868686;
      --booking-border:#d0d4d7;
      --booking-page:#f5f7f7;
      --booking-gap:35px;
      --booking-label-gap:7px;
    }

    * { box-sizing:border-box; }

    body {
      margin:0;
      font-family:"Raleway",sans-serif;
      color:var(--booking-text);
      background:var(--booking-page);
    }

    /* Public site header */
    .header_section,
    .header_section .container-fluid,
    .booking-site-nav {
      background:#ffffff;
    }

    .booking-site-nav {
      position:relative;
      display:flex;
      align-items:center;
      width:100%;
    }

    .booking-navbar-brand {
      display:flex;
      align-items:center;
      margin-right:auto;
    }

    .booking-navbar-brand img {
      display:block;
      width:clamp(180px,18vw,290px);
      height:auto;
    }

    /* Page */
    .booking-main {
      width:min(1400px,calc(100% - 48px));
      margin:0 auto;
      padding:32px 0 64px;
    }

    .booking-page-intro {
      margin-bottom:28px;
    }

    .booking-page-intro h1 {
      margin:0;
      color:#1698ad;
      font-size:clamp(1.8rem,3vw,2.7rem);
      font-weight:700;
      line-height:1.08;
      text-transform:uppercase;
    }

    .booking-title-rule {
      display:block;
      width:90px;
      height:4px;
      margin:10px 0 18px;
      background:#1698ad;
    }

    .booking-page-intro p {
      max-width:720px;
      margin:0;
      font-size:1.05rem;
      line-height:1.55;
    }

    .booking-intro-break { display:none; }

    .notice {
      margin:0 0 24px;
      padding:14px 18px;
      border-radius:12px;
      font-weight:600;
    }

    .notice.success {
      background:#e8f7ef;
      color:#17623a;
    }

    .notice.error {
      background:#fff0ed;
      color:#8c2f20;
    }

    .service-grid[hidden] { display:none !important; }

    /* Rebuilt form layout */
    .booking-form {
      display:block;
      width:100%;
      margin:0;
      padding:0;
      font-family:"Raleway",sans-serif;
    }

    .booking-desktop-columns {
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(0,1fr);
      column-gap:clamp(2.4rem,5vw,5rem);
      align-items:start;
      width:100%;
    }

    .booking-desktop-column {
      display:flex;
      flex-direction:column;
      gap:var(--booking-gap);
      min-width:0;
    }

    .booking-desktop-row-grid {
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(0,1fr);
      column-gap:clamp(2.4rem,5vw,5rem);
      row-gap:var(--booking-gap);
      align-items:start;
    }

    .booking-field-group {
      display:block;
      width:100%;
      min-width:0;
      margin:0;
      padding:0;
    }

    .booking-field-group > label,
    .booking-date-picker > label,
    .booking-fieldset > legend {
      display:block;
      margin:0 0 var(--booking-label-gap);
      padding:0;
      color:var(--booking-primary);
      font-size:1.05rem;
      font-weight:700;
      line-height:1.25;
    }

    .booking-required { color:var(--booking-primary); }

    .booking-field-group label,
    .booking-fieldset,
    .booking-date-picker,
    .booking-custom-select,
    .booking-choice-group {
      margin:0;
    }

    .booking-fieldset {
      min-width:0;
      padding:0;
      border:0;
    }

    /* Text controls */
    .booking-field-group input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
    .booking-date-display,
    .booking-select-trigger {
      width:100%;
      height:50px;
      min-height:50px;
      margin:0;
      padding:0 22px;
      border:1px solid var(--booking-border);
      border-radius:999px;
      outline:0;
      background:#fff;
      color:var(--booking-muted);
      font:400 1rem/1.2 "Raleway",sans-serif;
      box-shadow:none;
    }

    .booking-field-group input::placeholder,
    .booking-field-group textarea::placeholder {
      color:var(--booking-muted);
      opacity:1;
    }

    .booking-field-group input:focus,
    .booking-date-display:focus,
    .booking-select-trigger:focus-visible {
      border-color:#9da5a8;
      box-shadow:0 0 0 3px rgba(32,38,40,.07);
    }

    .booking-field-group textarea {
      display:block;
      width:100%;
      min-height:150px;
      margin:0;
      padding:14px 18px;
      border:1px solid var(--booking-border);
      border-radius:16px;
      outline:0;
      background:#fff;
      color:var(--booking-text);
      font:400 1rem/1.45 "Raleway",sans-serif;
      resize:vertical;
    }

    .booking-field-group textarea:focus {
      border-color:#9da5a8;
      box-shadow:0 0 0 3px rgba(32,38,40,.07);
    }

    /* Native selects remain accessible but are visually replaced by custom controls. */
    .booking-custom-select {
      position:relative;
      width:100%;
    }

    .booking-custom-select > select {
      position:absolute !important;
      width:1px !important;
      height:1px !important;
      margin:0 !important;
      padding:0 !important;
      opacity:0 !important;
      pointer-events:none !important;
      clip:rect(0 0 0 0) !important;
      clip-path:inset(50%) !important;
      white-space:nowrap !important;
    }

    .booking-select-trigger {
      position:relative;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding-right:52px;
      text-align:left;
      cursor:pointer;
    }

    .booking-select-trigger::after,
    .booking-date-display::after {
      content:"";
      position:absolute;
      right:22px;
      top:50%;
      width:10px;
      height:10px;
      border-right:3px solid var(--booking-text);
      border-bottom:3px solid var(--booking-text);
      transform:translateY(-65%) rotate(45deg);
      transition:transform .18s ease;
    }

    .booking-custom-select.is-open .booking-select-trigger::after,
    .booking-date-picker.is-open .booking-date-display::after {
      transform:translateY(-35%) rotate(225deg);
    }

    .booking-select-trigger:disabled {
      background:#f1f3f3;
      cursor:not-allowed;
      opacity:.8;
    }

    .booking-select-menu {
      position:absolute;
      z-index:300;
      top:calc(100% + 8px);
      left:0;
      right:0;
      display:none;
      max-height:290px;
      overflow-y:auto;
      padding:8px;
      border:1px solid var(--booking-border);
      border-radius:18px;
      background:#fff;
      box-shadow:0 16px 38px rgba(20,35,40,.15);
    }

    .booking-custom-select.is-open .booking-select-menu {
      display:grid;
      gap:4px;
    }

    .booking-select-option {
      width:100%;
      padding:12px 14px;
      border:0;
      border-radius:12px;
      background:#fff;
      color:var(--booking-text);
      font:500 1rem/1.25 "Raleway",sans-serif;
      text-align:left;
      cursor:pointer;
    }

    .booking-select-option:hover,
    .booking-select-option:focus-visible,
    .booking-select-option.is-selected {
      outline:0;
      background:#f0f2f2;
      color:var(--booking-text);
    }

    .booking-select-option.is-placeholder {
      color:var(--booking-muted);
    }

    /* Date picker */
    .booking-date-picker { position:relative; }

    .booking-date-display {
      position:relative;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      padding-right:52px;
      text-align:left;
      cursor:pointer;
    }

    .booking-date-display strong,
    .booking-date-display span {
      color:var(--booking-muted);
      font-weight:400;
    }

    .booking-date-display span { display:none; }

    .booking-calendar-popover {
      position:absolute;
      z-index:290;
      top:calc(100% + 8px);
      left:0;
      width:min(420px, calc(100vw - 2rem));
      max-width:none;
      box-sizing:border-box;
      display:none;
      padding:16px;
      border:1px solid var(--booking-border);
      border-radius:18px;
      background:#fff;
      box-shadow:0 16px 38px rgba(20,35,40,.15);
    }

    .booking-calendar-popover.is-open,
    .booking-date-picker.is-open .booking-calendar-popover {
      display:block;
    }

    .booking-calendar-head {
      display:grid;
      grid-template-columns:40px 1fr 40px;
      align-items:center;
      gap:8px;
      margin-bottom:12px;
    }

    .booking-calendar-head strong {
      text-align:center;
      font-size:1rem;
    }

    .booking-calendar-nav {
      width:38px;
      height:38px;
      padding:0;
      border:1px solid var(--booking-border);
      border-radius:50%;
      background:#fff;
      color:var(--booking-text);
      font-size:1.45rem;
      cursor:pointer;
    }

    .booking-calendar-week,
    .booking-calendar-days {
      display:grid;
      grid-template-columns:repeat(7,1fr);
      gap:5px;
    }

    .booking-calendar-week {
      margin-bottom:5px;
      color:#6d7679;
      font-size:.72rem;
      font-weight:700;
      text-align:center;
    }

    .booking-calendar-days button,
    .booking-calendar-days span {
      width:100%;
      min-height:0;
      padding:0;
      display:flex;
      align-items:center;
      justify-content:center;
      aspect-ratio:1;
      min-width:0;
      border:0;
      border-radius:50%;
      font:600 .85rem/1 "Raleway",sans-serif;
    }

    .booking-calendar-days button {
      background:#e7f6f8;
      color:#176c78;
      cursor:pointer;
    }

    .booking-calendar-days button:hover,
    .booking-calendar-days button:focus-visible {
      outline:2px solid var(--booking-primary);
      outline-offset:1px;
    }

    .booking-calendar-days button[disabled],
    .booking-calendar-days .unavailable {
      background:#f0f1f1;
      color:#a5aaac;
      text-decoration:line-through;
      cursor:not-allowed;
    }

    .booking-calendar-days .is-other-month {
      opacity:.35;
    }

    .booking-calendar-legend {
      display:flex;
      gap:18px;
      margin-top:12px;
      color:#687174;
      font-size:.78rem;
    }

    .booking-calendar-legend span::before {
      content:"";
      display:inline-block;
      width:10px;
      height:10px;
      margin-right:6px;
      border-radius:50%;
      vertical-align:-1px;
    }

    .booking-calendar-legend .available::before { background:#e7f6f8; }
    .booking-calendar-legend .unavailable::before { background:#f0f1f1; }

    /* Radio + checkbox groups */
    .booking-choice-group {
      display:grid;
      gap:12px;
      align-items:start;
    }

    .booking-choice {
      position:relative;
      display:flex;
      align-items:flex-start;
      min-height:25px;
      margin:0;
      padding-left:38px;
      color:var(--booking-text);
      font:400 1rem/1.4 "Raleway",sans-serif;
      cursor:pointer;
    }

    .booking-choice input[type="radio"],
    .booking-choice input[type="checkbox"] {
      position:absolute;
      width:1px;
      height:1px;
      opacity:0;
      pointer-events:none;
    }

    .booking-choice::before,
    .booking-choice::after {
      content:"";
      position:absolute;
      left:0;
      box-sizing:border-box;
    }

    .booking-choice:has(input[type="radio"])::before {
      top:2px;
      width:20px;
      height:20px;
      border:1px solid #aab0b4;
      border-radius:50%;
      background:#fff;
    }

    .booking-choice:has(input[type="radio"]:checked)::before {
      border-color:var(--booking-primary);
    }

    .booking-choice:has(input[type="radio"]:checked)::after {
      top:7px;
      left:5px;
      width:10px;
      height:10px;
      border-radius:50%;
      background:var(--booking-primary);
    }

    .booking-choice:has(input[type="checkbox"])::before {
      top:1px;
      width:26px;
      height:26px;
      border:1px solid #aab0b4;
      border-radius:0;
      background:#fff;
    }

    .booking-choice:has(input[type="checkbox"]:checked)::before {
      background:rgba(96,200,213,.4);
    }

    .booking-choice:has(input[type="checkbox"]:checked)::after {
      left:7px;
      bottom:2px;
      width:12px;
      height:27px;
      border:solid var(--booking-primary);
      border-width:0 5px 5px 0;
      transform:rotate(45deg);
    }

    .booking-choice-text {
      display:block;
      min-width:0;
      white-space:normal;
    }

    .booking-option-clarify em {
      font-style:italic;
    }

    /* Submit */
    .booking-form > .wide:last-child {
      margin-top:35px;
      text-align:center;
    }

    .booking-form > .wide:last-child button[type="submit"] {
      min-width:min(430px,100%);
      padding:14px 28px;
      border:0;
      border-radius:999px;
      background:var(--booking-primary);
      color:#fff;
      font:700 1rem/1.2 "Raleway",sans-serif;
      cursor:pointer;
    }

    .booking-form > .wide:last-child button[type="submit"]:hover {
      filter:brightness(.94);
    }

    @media (max-width:991.98px) {
      .booking-site-nav {
        flex-wrap:wrap;
        justify-content:space-between;
      }

      .booking-navbar-brand {
        order:1;
        margin-right:auto;
      }

      .booking-site-nav .navbar-toggler {
        order:2;
        margin-left:auto !important;
        margin-right:0 !important;
      }

      .booking-site-nav .navbar-collapse {
        order:3;
        flex:0 0 100%;
        width:100%;
      }

      .booking-site-nav .navbar-collapse > .d-flex,
      .booking-site-nav .navbar-nav {
        width:100%;
        align-items:center !important;
      }

      .booking-site-nav .navbar-nav .nav-link {
        text-align:center;
      }
    }

    @media (max-width:760px) {
      .booking-main {
        width:min(100% - 32px,1400px);
        padding-top:26px;
      }

      .booking-desktop-columns {
        display:contents;
      }

      .booking-form {
        display:flex;
        flex-direction:column;
        gap:var(--booking-gap);
      }

      .booking-form > .wide:last-child {
        margin-top:0;
      }

      .booking-calendar-popover {
        width:100%;
      }
    }

.booking-questionnaire-page .booking-test-section {
      background: linear-gradient(180deg, #f7fbfa 0, #edf4f3 100%);
    }
    .booking-questionnaire-page .booking-main {
      width: min(900px, calc(100% - 2rem));
      max-width: 900px;
    }
    .booking-questionnaire-page .booking-test-footer {
      border-radius: 50px;
    }
    .booking-questionnaire-page .booking-page-intro {
      margin-bottom: 1rem;
      padding: clamp(1.15rem, 3vw, 1.6rem);
      border: 1px solid var(--portal-line);
      border-radius: 24px;
      background: rgba(255,255,255,.96);
      box-shadow: var(--portal-shadow-sm);
    }
    .booking-questionnaire-page .booking-page-intro h2 { color: var(--portal-navy); }
    .booking-questionnaire-page .booking-page-intro p:last-child { color: var(--portal-muted); }
    .booking-package-panel {
      margin: 0 0 1rem;
      padding: .95rem;
      border: 1px solid var(--portal-line);
      border-radius: 18px;
      background: rgba(255,255,255,.72);
      box-shadow: none;
      color: var(--portal-navy);
    }
    .booking-package-panel__head { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:.7rem; }
    .booking-package-panel__head .eyebrow { margin: 0; color: #167d89; }
    .booking-package-panel__head h3 { margin: 0; color: var(--portal-muted); font-size: .9rem; font-weight: 700; }
    .service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; }
    .service-card {
      position: relative;
      display: flex;
      flex-direction: column;
      min-width: 0;
      min-height: 0;
      padding: .95rem;
      overflow: hidden;
      border: 1px solid var(--portal-line);
      border-radius: 14px;
      background: #fff;
      color: #09263a;
      box-shadow: none;
    }
    .service-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:#60c8d5; }
    .service-card:nth-child(even)::before { background:#f15a24; }
    .service-card h4 { margin: .15rem 0 .35rem; color: #09263a; font-size: 1rem; line-height: 1.2; }
    .service-card__description { margin: 0 0 .65rem; color: #5d717a; font-size:.86rem; line-height: 1.4; }
    .service-card__footer { display: flex; align-items: end; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: .6rem; border-top: 1px solid #e5edef; }
    .service-card__price { display: block; color: #167d89; font-size: 1.2rem; line-height: 1; }
    .service-card:nth-child(even) .service-card__price { color: #e95620; }
    .service-card__starting,.service-card__duration { display: block; color: #607680; font-size: .7rem; font-weight: 700; }
    .service-card__duration { text-align: right; }
    .booking-questionnaire-card { width: 100%; }
    .booking-questionnaire-form { width: 100%; }
    .booking-referral-field {
      display: grid;
      grid-template-columns: minmax(0,1fr) minmax(240px,.7fr);
      gap: 1rem;
      align-items: end;
      margin: 0 0 1rem;
      padding: 1.15rem;
      border: 1px solid #cfe0e3;
      border-radius: 18px;
      background: linear-gradient(135deg,#eef9fa,#fff8f4);
    }
    .booking-referral-field .eyebrow { margin: 0 0 .25rem; color: #167d89; }
    .booking-referral-field h3 { margin: 0 0 .3rem; color: #09263a; font-size: 1.15rem; }
    .booking-referral-field p { margin: 0; color: #526872; line-height: 1.45; }
    .booking-referral-field label { display: grid; gap: .35rem; color: #09263a; font-weight: 800; }
    .booking-referral-field label span { color: #6f828b; font-size: .75rem; font-weight: 700; }
    .booking-referral-field input { width: 100%; text-transform: uppercase; }
    .booking-questionnaire-form .questionnaire-field { width: 100%; min-width: 0; }
    .booking-questionnaire-form .questionnaire-options { display: grid; gap: .55rem; }
    .questionnaire-booking-date { position: relative; z-index: 0; }
    .booking-questionnaire-form .questionnaire-field.is-calendar-open {
      z-index: 1200;
      transform: none;
    }
    .booking-questionnaire-form .questionnaire-booking-date.is-open { z-index: 1201; }
    .booking-questionnaire-form .booking-date-display {
      width: 100%;
      min-height: 48px;
      padding: .82rem .9rem;
      text-align: left;
      border: 1px solid #cbdadd;
      border-radius: 14px;
      color: var(--portal-ink);
      background: #fff;
      font: inherit;
    }
    .booking-questionnaire-form .booking-date-value {
      display: block;
      color: var(--portal-ink);
      font: inherit;
      font-weight: 400;
    }
    .booking-questionnaire-form .booking-date-value.is-placeholder {
      color: var(--portal-muted);
    }
    .booking-questionnaire-form .booking-calendar-popover {
      z-index: 1202;
      width: min(420px, calc(100vw - 3rem));
      max-width: calc(100vw - 3rem);
    }
    .booking-questionnaire-form .questionnaire-field-help { color: var(--portal-muted); line-height: 1.5; }
    .booking-questionnaire-form .questionnaire-submit { width: auto; }
    @media (max-width: 760px) {
      html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
      .booking-questionnaire-page { width: 100%; max-width: 100%; overflow-x: hidden; }
      .booking-questionnaire-page .booking-test-section,
      .booking-questionnaire-page .booking-test-main,
      .booking-questionnaire-page .booking-main,
      .booking-questionnaire-page .questionnaire-form-card,
      .booking-questionnaire-page .booking-questionnaire-card,
      .booking-questionnaire-page .booking-questionnaire-form { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }
      .booking-questionnaire-page .booking-main { width: calc(100% - 1rem); }
      .booking-package-panel { border-radius: 22px; }
      .service-grid { grid-template-columns: 1fr; }
      .booking-referral-field { grid-template-columns: 1fr; }
      .service-card { min-height: 0; }
      .booking-questionnaire-page input,
      .booking-questionnaire-page select,
      .booking-questionnaire-page textarea,
      .booking-questionnaire-page button { max-width: 100%; min-width: 0; }
      .booking-questionnaire-page *,
      .booking-questionnaire-page *::before,
      .booking-questionnaire-page *::after { box-sizing: border-box; }
      .booking-questionnaire-page .booking-test-main,
      .booking-questionnaire-page .booking-test-section,
      .booking-questionnaire-page .booking-main,
      .booking-questionnaire-page .questionnaire-form-card,
      .booking-questionnaire-page .questionnaire-form,
      .booking-questionnaire-page .questionnaire-field { min-width: 0; max-width: 100%; }
      .booking-questionnaire-page .booking-main {
        width: min(calc(100% - 2rem), 900px);
        margin-left: auto !important;
        margin-right: auto !important;
      }
      .booking-questionnaire-page .questionnaire-form-card,
      .booking-questionnaire-page .booking-questionnaire-card {
        width: 100%;
        margin-left: auto !important;
        margin-right: auto !important;
      }
      .booking-questionnaire-form .booking-calendar-popover {
        left: 50%;
        width: min(420px, calc(100vw - 2rem));
        max-width: calc(100vw - 2rem);
        transform: translateX(-50%);
      }
    }
    @media (max-width: 560px) {
      .booking-questionnaire-page .booking-test-footer {
        border-radius: 30px;
      }
    }

.booking-questionnaire-page .site-header--book{background:rgba(9,38,58,.96);border-color:rgba(96,200,213,.32);box-shadow:0 14px 38px rgba(4,23,36,.24)}
.booking-questionnaire-page .site-header--book.is-scrolled{background:rgba(9,38,58,.98)}
.booking-questionnaire-page .site-header--book .book-header-brand img{width:150px;height:50px;object-fit:contain}
.booking-questionnaire-page .site-header--book .primary-nav a:not(.nav-cta){color:#fff}
@media(max-width:820px){.booking-questionnaire-page .site-header--book .book-header-brand{display:none}.booking-questionnaire-page .site-header--book .primary-nav a:not(.nav-cta){color:#09263a}}

.booking-questionnaire-page .booking-test-hero{min-height:clamp(280px,35vw,390px);padding:clamp(7.5rem,12vw,9rem) 1.25rem clamp(2.5rem,5vw,4rem)}
.booking-questionnaire-page .booking-test-logo{width:min(390px,78vw);margin-bottom:.6rem}
.booking-questionnaire-page .booking-package-panel{margin-bottom:1rem;padding:1rem;border:1px solid rgba(9,38,58,.12);border-radius:18px;background:rgba(255,255,255,.62);box-shadow:none;color:#09263a}
.booking-questionnaire-page .booking-package-panel__head{margin-bottom:.7rem}.booking-questionnaire-page .booking-package-panel__head .eyebrow{color:#168ea4;font-size:.7rem}.booking-questionnaire-page .booking-package-panel__head h3{color:#09263a;font-size:1.05rem}
.booking-questionnaire-page .service-grid{gap:.65rem}.booking-questionnaire-page .service-card{min-height:0;padding:.85rem 1rem;border-color:rgba(9,38,58,.12);border-radius:14px;box-shadow:none}.booking-questionnaire-page .service-card::before{height:3px}.booking-questionnaire-page .service-card__label{display:none}.booking-questionnaire-page .service-card h4{margin:.1rem 0 .25rem;font-size:1rem}.booking-questionnaire-page .service-card__description{margin:0 0 .55rem;font-size:.82rem;line-height:1.4}.booking-questionnaire-page .service-card__footer{padding-top:.55rem}.booking-questionnaire-page .service-card__price{font-size:1.3rem}.booking-questionnaire-page .service-card__starting,.booking-questionnaire-page .service-card__duration{font-size:.7rem}
@media(max-width:760px){.booking-questionnaire-page .booking-test-hero{min-height:250px;padding-top:7rem}.booking-questionnaire-page .service-card__description{display:none}}

/* 2026 pricing guide */
.booking-power-price-note {
  display:block;
  margin:.5rem 0 0;
  color:#607680;
  font-size:.78rem;
  font-weight:500;
  line-height:1.45;
}

.booking-power-price-note em {
  color:#167d89;
  font-weight:500;
}

.booking-price-estimate {
  display:grid;
  grid-template-columns:minmax(170px,.55fr) minmax(260px,1.45fr);
  gap:.55rem 1.5rem;
  align-items:center;
  margin:2rem 0 0;
  padding:1.15rem 1.25rem;
  border:1px solid rgba(9,38,58,.14);
  border-left:5px solid #60c8d5;
  border-radius:16px;
  background:#f7fbfc;
  color:#294651;
}

.booking-price-estimate .eyebrow {
  margin:0 0 .25rem;
  color:#e95620;
  font-size:.68rem;
}

.booking-price-estimate strong {
  display:block;
  color:#09263a;
  font-size:clamp(1.65rem,3vw,2.2rem);
  line-height:1;
}

.booking-price-estimate p {
  margin:0;
  font-size:.88rem;
  line-height:1.5;
}

.booking-price-estimate small {
  grid-column:1 / -1;
  color:#607680;
  font-size:.72rem;
  line-height:1.4;
}

@media(max-width:640px) {
  .booking-price-estimate {
    grid-template-columns:1fr;
  }

  .booking-price-estimate small {
    grid-column:auto;
  }
}
