html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}
h1, h2, h3 {
    margin-bottom: 15px;
    font-weight: 600;
}

table {
    margin-top: 15px;
}

hr {
    margin: 25px 0;
}

.service-card {
    border: 1px solid #d1d5db;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

@media (max-width: 767.98px) {
    .destination-results-mobile-scope .destination-results-list {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 12px !important;
    }

    .destination-results-mobile-scope .destination-result-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .destination-results-mobile-scope .destination-result-link,
    .destination-results-mobile-scope .destination-result-card-inner {
        height: auto !important;
        min-height: 0 !important;
    }

    .destination-results-mobile-scope .destination-result-card-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch;
        border-radius: 14px !important;
    }

    .destination-results-mobile-scope .destination-result-image-wrap {
        width: 110px;
        min-width: 110px;
        height: 110px;
        aspect-ratio: auto !important;
        align-self: center;
        overflow: hidden;
        background: #f8fafc !important;
        border-radius: 16px 10px 10px 16px;
    }

    .destination-results-mobile-scope .destination-result-image {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover !important;
        object-position: center center;
    }

    .destination-results-mobile-scope .destination-result-image-wrap > div {
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        padding: 8px;
        font-size: 11px !important;
        line-height: 1.25;
        text-align: center;
        background: #f8fafc;
    }

    .destination-results-mobile-scope .destination-result-body {
        min-height: 0 !important;
        padding: 10px 12px !important;
        flex: 1 1 auto;
        overflow: hidden;
    }

    .destination-results-mobile-scope .destination-result-type,
    .destination-results-mobile-scope .destination-result-location,
    .destination-results-mobile-scope .destination-result-description {
        display: none !important;
    }

    .destination-results-mobile-scope .destination-result-title {
        font-size: 0.98rem !important;
        line-height: 1.25;
        margin-bottom: 8px !important;
        -webkit-line-clamp: 2;
    }

    .destination-results-mobile-scope .destination-result-meta {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end !important;
        margin-top: auto;
        margin-bottom: 0 !important;
        gap: 8px !important;
    }

    .destination-results-mobile-scope .destination-result-rating {
        min-width: 0;
        justify-self: start;
        align-self: end;
    }

    .destination-results-mobile-scope .destination-result-rating span:nth-child(n+3) {
        display: none !important;
    }

    .destination-results-mobile-scope .destination-result-price {
        justify-self: end;
        align-self: end;
        min-width: 0;
        max-width: 100%;
    }

    .destination-results-mobile-scope .destination-result-price span,
    .destination-results-mobile-scope .destination-result-price strong {
        white-space: nowrap;
    }

    .destination-results-mobile-scope .destination-result-price-grid {
        max-width: 100%;
        column-gap: 6px !important;
    }

    .destination-results-mobile-scope .destination-result-old-price {
        white-space: nowrap;
    }

    .destination-results-mobile-scope .destination-result-usd {
        white-space: nowrap;
        font-size: 11px !important;
    }

    .destination-results-mobile-scope .service-share-button {
        display: none !important;
    }
}

/* Public-facing button styling */
.btn-primary {
  background-color: #f4b400;
  border-color: #f4b400;
  color: #1f2937;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(244, 180, 0, 0.18);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  background-color: #e0a800;
  border-color: #e0a800;
  color: #111827;
  box-shadow: 0 10px 22px rgba(224, 168, 0, 0.22);
}

.btn-outline-secondary {
  color: #5f6b7a;
  border-color: #cfd6de;
  border-radius: 999px;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #1f2937;
  background-color: #f3f6f9;
  border-color: #bfc8d2;
}

.btn-outline-primary {
  color: #9a6d00;
  border-color: #f4b400;
  border-radius: 999px;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #1f2937;
  background-color: #fff4cc;
  border-color: #e0a800;
}

.btn-link {
  color: #8f6500;
  text-decoration: none;
}

.btn-link:hover,
.btn-link:focus {
  color: #6f4f00;
  text-decoration: underline;
}

@media (max-width: 991.98px) and (orientation: landscape) {
  .navbar.fixed-top .navbar-collapse {
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
