/**
 * V0 Priv Passeios — interface clara.
 *
 * Camada exclusivamente visual, carregada somente nas superfícies do shortcode
 * [atracoes]. Todos os seletores permanecem sob o namespace público do plugin.
 */

.bca-search-container-wrapper {
    --bca-bg: #f5f9fd;
    --bca-surface: #ffffff;
    --bca-surface-soft: #edf5fc;
    --bca-border: #c9dbea;
    --bca-border-strong: #a9c5dc;
    --bca-text: #102d49;
    --bca-text-soft: #405f79;
    --bca-text-dim: #5f768a;
    --bca-accent: #075f9f;
    --bca-accent-strong: #064f85;
    --bca-accent-soft: #e3f1fb;
    --bca-success: #16724d;
    --bca-shadow-lg: 0 22px 54px rgba(16, 45, 73, 0.14);
    --bca-shadow-md: 0 12px 30px rgba(16, 45, 73, 0.1);
    color: var(--bca-text);
}

.bca-search-container-wrapper :where(h1, h2, h3, h4, h5, h6, strong) {
    color: var(--bca-text);
}

.bca-search-container-wrapper :where(button, input, select, textarea) {
    font: inherit;
}

.bca-search-container-wrapper :where(button, a, input, select, textarea):focus-visible {
    outline: 3px solid rgba(7, 95, 159, 0.25);
    outline-offset: 2px;
}

/* Busca, campos, autocomplete e calendário. */
.bca-search-container-wrapper .attractions-search-container {
    background: linear-gradient(145deg, #ffffff 0%, #f4f9fd 100%);
    border-color: var(--bca-border);
    box-shadow: var(--bca-shadow-md);
}

.bca-search-container-wrapper .attractions-search-header h2 {
    color: var(--bca-text);
}

.bca-search-container-wrapper .attractions-search-header p,
.bca-search-container-wrapper .bca-field-help {
    color: var(--bca-text-soft);
}

.bca-search-container-wrapper .attractions-search-heading-icon {
    background: var(--bca-accent-soft);
}

.bca-search-container-wrapper .star-icon,
.bca-search-container-wrapper .attractions-search-form label svg,
.bca-search-container-wrapper .calendar-button,
.bca-search-container-wrapper .bca-meta-item svg {
    color: var(--bca-accent);
}

.bca-search-container-wrapper .input-with-icon {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.bca-search-container-wrapper .input-with-icon input {
    padding-right: 12px;
}

.bca-search-container-wrapper .calendar-button {
    position: static !important;
    right: auto;
    top: auto;
    transform: none !important;
    z-index: 2;
    display: inline-flex !important;
    width: auto;
    min-width: 105px;
    height: 38px;
    gap: 5px;
    padding: 0 10px;
    border: 1px solid #c7dceb;
    border-radius: 10px;
    background: #e8f3fb;
    font-size: 12px;
    font-weight: 750;
}

.bca-search-container-wrapper .calendar-button svg {
    display: block !important;
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.bca-search-container-wrapper .bca-calendar-button-label {
    display: inline !important;
    color: inherit;
    line-height: 1;
}

.bca-search-container-wrapper .attractions-search-form {
    border-color: var(--bca-border);
    background: #f1f7fc;
    backdrop-filter: none;
}

.bca-search-container-wrapper .attractions-search-form label,
.bca-search-container-wrapper .bca-filter-sort,
.bca-search-container-wrapper .bca-filter-group legend,
.bca-search-container-wrapper .bca-filter-option,
.bca-search-container-wrapper .attraction-info-line,
.bca-search-container-wrapper .attraction-rating,
.bca-search-container-wrapper .selected-date {
    color: var(--bca-text-soft);
}

.bca-search-container-wrapper .attractions-search-form input,
.bca-search-container-wrapper .attractions-search-form select,
.bca-search-container-wrapper .bca-filter-sort select {
    border-color: var(--bca-border);
    background: #ffffff;
    color: var(--bca-text);
    box-shadow: 0 1px 2px rgba(16, 45, 73, 0.04);
}

.bca-search-container-wrapper .attractions-search-form input::placeholder {
    color: #667d91;
    opacity: 1;
}

.bca-search-container-wrapper .attractions-search-form input:focus,
.bca-search-container-wrapper .attractions-search-form select:focus,
.bca-search-container-wrapper .bca-filter-sort select:focus {
    border-color: var(--bca-accent);
    box-shadow: 0 0 0 3px rgba(7, 95, 159, 0.15);
}

.bca-search-container-wrapper .calendar-button:hover,
.bca-search-container-wrapper .prev-month:hover,
.bca-search-container-wrapper .next-month:hover {
    background: var(--bca-accent-soft);
}

.bca-search-container-wrapper .prev-month::before,
.bca-search-container-wrapper .next-month::before {
    display: block;
    color: var(--bca-accent);
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
}

.bca-search-container-wrapper .prev-month::before {
    content: '\2039';
}

.bca-search-container-wrapper .next-month::before {
    content: '\203A';
}

.bca-search-container-wrapper .search-button,
.bca-search-container-wrapper .close-calendar,
.bca-search-container-wrapper .bca-filter-apply,
.bca-search-container-wrapper .bca-page-btn-next,
.bca-search-container-wrapper .bca-btn-book {
    background: var(--bca-accent);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(7, 95, 159, 0.2);
}

.bca-search-container-wrapper .search-button:hover,
.bca-search-container-wrapper .close-calendar:hover,
.bca-search-container-wrapper .bca-filter-apply:hover,
.bca-search-container-wrapper .bca-page-btn-next:hover,
.bca-search-container-wrapper .bca-btn-book:hover {
    background: var(--bca-accent-strong);
    filter: none;
}

.bca-search-container-wrapper .wait-popup,
.bca-search-container-wrapper .destination-suggestions {
    border-color: var(--bca-border-strong);
    background: #ffffff;
    color: var(--bca-text-soft);
    box-shadow: 0 16px 34px rgba(16, 45, 73, 0.17);
}

.bca-search-container-wrapper .destination-suggestions .bca-dest-item {
    border-bottom-color: #e1ebf3;
}

.bca-search-container-wrapper .destination-suggestions .bca-dest-item:hover,
.bca-search-container-wrapper .destination-suggestions .bca-dest-item.is-active {
    background: var(--bca-accent-soft);
}

.bca-search-container-wrapper .destination-suggestions .bca-suggestion-title,
.bca-search-container-wrapper .destination-suggestions .bca-suggestion-meta,
.bca-search-container-wrapper .destination-suggestions .bca-suggestion-message {
    color: var(--bca-text) !important;
}

.bca-search-container-wrapper .destination-suggestions .bca-suggestion-meta {
    color: var(--bca-text-soft) !important;
}

.bca-search-container-wrapper .destination-suggestions .bca-suggestion-badge,
.bca-search-container-wrapper .destination-suggestions .bca-suggestion-highlight {
    border-color: #9fc5e1;
    background: #dceefb;
    color: #064f85;
}

.bca-search-container-wrapper .calendar-overlay,
.bca-search-container-wrapper .bca-mobile-filters-overlay,
.bca-search-container-wrapper .bca-reviews-modal,
.bca-search-container-wrapper .bca-gallery-lightbox,
.bca-search-container-wrapper .bca-details-modal-overlay {
    background: rgba(8, 29, 48, 0.66);
}

.bca-search-container-wrapper .single-calendar-popup {
    border-color: var(--bca-border);
    background: #ffffff;
    color: var(--bca-text);
}

.bca-search-container-wrapper .prev-month,
.bca-search-container-wrapper .next-month {
    border-color: var(--bca-border);
    background: #f4f8fc;
    color: var(--bca-accent);
}

.bca-search-container-wrapper .calendar-day {
    color: var(--bca-text);
}

.bca-search-container-wrapper .calendar-day:hover {
    background: var(--bca-accent-soft);
}

.bca-search-container-wrapper .calendar-day.disabled {
    color: #94a5b4;
}

.bca-search-container-wrapper .calendar-day.selected {
    background: var(--bca-accent);
    color: #ffffff;
}

.bca-search-container-wrapper .modern-loading-overlay {
    background: rgba(244, 249, 253, 0.94);
}

.bca-search-container-wrapper .loading-content {
    color: var(--bca-text);
}

.bca-search-container-wrapper .loading-spinner {
    border-color: #bed9ec;
    border-top-color: var(--bca-accent);
}

/* Resultados, filtros, cards e paginação. */
.bca-search-container-wrapper .results-container,
.bca-search-container-wrapper .bca-listing-toolbar,
.bca-search-container-wrapper .bca-details-container {
    border-color: var(--bca-border);
    background: #ffffff;
    box-shadow: var(--bca-shadow-md);
}

.bca-search-container-wrapper .results-container > p[style*="color"],
.bca-search-container-wrapper .bca-details-container > p[style*="color"] {
    color: #9a2d2d !important;
}

.bca-search-container-wrapper .bca-listing-note {
    border-color: #a9cbe3;
    background: #eef7fd;
    color: #174e76;
}

.bca-search-container-wrapper .bca-filter-toggle,
.bca-search-container-wrapper .bca-reviews-open-all,
.bca-search-container-wrapper .bca-gallery-open-all {
    border-color: #8ab9d8;
    background: #e7f3fb;
    color: #07598f;
}

.bca-search-container-wrapper .bca-filter-group {
    border-color: var(--bca-border);
    background: #f8fbfe;
}

@media (min-width: 901px) {
    .bca-search-container-wrapper .bca-filters-form-desktop .bca-filter-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .bca-search-container-wrapper .bca-filters-form-desktop .bca-filter-options {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 16px;
        max-height: none;
        overflow: visible;
        padding: 2px 0;
    }

    .bca-search-container-wrapper .bca-filters-form-desktop .bca-filter-option {
        align-items: center;
        white-space: nowrap;
    }
}

.bca-search-container-wrapper .bca-filter-option small,
.bca-search-container-wrapper .attraction-snippet {
    color: var(--bca-text-dim);
}

.bca-search-container-wrapper .bca-filter-reset,
.bca-search-container-wrapper .bca-page-btn {
    border-color: var(--bca-border-strong);
    background: #ffffff;
    color: var(--bca-text);
}

.bca-search-container-wrapper .bca-mobile-filters-sheet {
    border-color: var(--bca-border);
    background: #ffffff;
    color: var(--bca-text);
}

.bca-search-container-wrapper .bca-mobile-filters-close,
.bca-search-container-wrapper .bca-reviews-modal-close,
.bca-search-container-wrapper .bca-details-modal-close {
    border: 1px solid var(--bca-border);
    background: #eaf2f8;
    color: #173a56;
}

.bca-search-container-wrapper .bca-mobile-filters-close:hover,
.bca-search-container-wrapper .bca-reviews-modal-close:hover,
.bca-search-container-wrapper .bca-details-modal-close:hover {
    background: #d8eaf6;
}

.bca-search-container-wrapper .bca-card-attraction {
    border-color: var(--bca-border);
    background: #ffffff;
    color: var(--bca-text);
    box-shadow: var(--bca-shadow-md);
}

.bca-search-container-wrapper .bca-card-attraction:hover {
    border-color: #76acd1;
    box-shadow: 0 18px 34px rgba(16, 45, 73, 0.15);
}

.bca-search-container-wrapper .bca-card-open-pill {
    border-color: #a4c7df;
    background: rgba(255, 255, 255, 0.94);
    color: #07598f;
}

.bca-search-container-wrapper .bca-card-image-wrap {
    background: #eaf1f6;
}

.bca-search-container-wrapper .bca-card-content .attraction-nome,
.bca-search-container-wrapper .bca-details-header h1 {
    color: var(--bca-text);
}

.bca-search-container-wrapper .attraction-duration {
    color: #244e6f;
}

.bca-search-container-wrapper .bca-rating-box {
    background: #e3effa;
    color: #123f70;
}

.bca-search-container-wrapper .bca-rank-chip {
    border-color: #8fcbb3;
    background: #e5f6ee;
    color: #145b40;
}

.bca-search-container-wrapper .bca-trip-card-chip {
    border-color: #bfd2e1;
    background: #f1f6fa;
    color: #35556f;
}

.bca-search-container-wrapper .bca-trip-card-chip-accent {
    border-color: #9fc5e1;
    background: #e4f2fb;
    color: #07598f;
}

.bca-search-container-wrapper .bca-card-price-row {
    border-color: #d3e1ec;
    background: #f7fafc;
}

.bca-search-container-wrapper .bca-card-price-row span {
    color: var(--bca-text-soft);
}

.bca-search-container-wrapper .bca-card-price-row strong {
    color: #07598f;
}

/* Detalhes, reserva, abas e conteúdo complementar. */
.bca-search-container-wrapper .bca-hero-main-image-wrap,
.bca-search-container-wrapper .bca-hero-side-image-wrap,
.bca-search-container-wrapper .bca-hero-side-image-placeholder {
    border-color: var(--bca-border-strong);
    background: #edf3f7;
}

.bca-search-container-wrapper .bca-meta-item,
.bca-search-container-wrapper .bca-summary-card,
.bca-search-container-wrapper .bca-tabs,
.bca-search-container-wrapper .bca-booking-box,
.bca-search-container-wrapper .bca-tripadvisor-extras,
.bca-search-container-wrapper .bca-reviews-section {
    border-color: var(--bca-border);
    background: #f8fbfe;
    color: var(--bca-text);
}

.bca-search-container-wrapper button.bca-meta-item:hover {
    border-color: #7cb0d3;
    color: var(--bca-accent);
}

.bca-search-container-wrapper .bca-summary-card p,
.bca-search-container-wrapper .bca-tab-link,
.bca-search-container-wrapper .bca-tab-content,
.bca-search-container-wrapper .bca-booking-duration,
.bca-search-container-wrapper .bca-booking-price span,
.bca-search-container-wrapper .bca-passenger-label,
.bca-search-container-wrapper .bca-booking-note,
.bca-search-container-wrapper .bca-tripadvisor-extras-head p,
.bca-search-container-wrapper .bca-review-text {
    color: var(--bca-text-soft);
}

.bca-search-container-wrapper .bca-tabs-nav {
    border-bottom-color: var(--bca-border);
}

.bca-search-container-wrapper .bca-tab-link {
    border-color: var(--bca-border);
}

.bca-search-container-wrapper .bca-tab-link.active {
    background: #e2f0fa;
    color: #064f85;
}

.bca-search-container-wrapper .bca-tab-empty,
.bca-search-container-wrapper .bca-passenger-qty-label {
    color: var(--bca-text-dim);
}

.bca-search-container-wrapper .bca-booking-price,
.bca-search-container-wrapper .bca-passenger-price {
    color: #07598f;
}

.bca-search-container-wrapper .bca-passenger-row {
    border-color: var(--bca-border);
    background: #ffffff;
}

.bca-search-container-wrapper .bca-qty-stepper {
    border-color: var(--bca-border);
    background: #ffffff;
    box-shadow: none;
}

.bca-search-container-wrapper .bca-qty-btn {
    background: #edf5fa !important;
    color: #07598f !important;
}

.bca-search-container-wrapper .bca-qty-btn:hover:not(:disabled) {
    background: #dceefa !important;
    color: #064f85 !important;
}

.bca-search-container-wrapper .bca-qty-input {
    border-color: var(--bca-border) !important;
    background: #ffffff !important;
    color: var(--bca-text) !important;
    -webkit-text-fill-color: var(--bca-text);
}

.bca-search-container-wrapper .bca-qty-input:disabled {
    color: #73889a !important;
    -webkit-text-fill-color: #73889a;
}

.bca-search-container-wrapper .bca-total-estimated {
    border-color: #91bad6;
    background: #e5f2fa;
    color: #174e76;
}

.bca-search-container-wrapper .bca-total-estimated strong {
    color: #064f85;
}

.bca-search-container-wrapper .bca-trip-card,
.bca-search-container-wrapper .bca-trip-list-row,
.bca-search-container-wrapper .bca-trip-simple-row,
.bca-search-container-wrapper .bca-trip-mini-stat,
.bca-search-container-wrapper .bca-trip-package-card,
.bca-search-container-wrapper .bca-trip-experience-card,
.bca-search-container-wrapper .bca-trip-faq-item,
.bca-search-container-wrapper .bca-rating-distribution-row,
.bca-search-container-wrapper .bca-review-card {
    border-color: #d2e0ea;
    background: #ffffff;
}

.bca-search-container-wrapper .bca-trip-card h4,
.bca-search-container-wrapper .bca-trip-list-row strong,
.bca-search-container-wrapper .bca-trip-simple-row span,
.bca-search-container-wrapper .bca-trip-mini-stat strong,
.bca-search-container-wrapper .bca-trip-package-price,
.bca-search-container-wrapper .bca-trip-faq-item summary,
.bca-search-container-wrapper .bca-rating-distribution-row strong,
.bca-search-container-wrapper .bca-review-header strong {
    color: var(--bca-text);
}

.bca-search-container-wrapper .bca-trip-list-row span,
.bca-search-container-wrapper .bca-trip-simple-row small,
.bca-search-container-wrapper .bca-trip-mini-stat span,
.bca-search-container-wrapper .bca-trip-package-meta span,
.bca-search-container-wrapper .bca-trip-package-desc,
.bca-search-container-wrapper .bca-trip-experience-meta,
.bca-search-container-wrapper .bca-trip-faq-item p,
.bca-search-container-wrapper .bca-rating-distribution-row span,
.bca-search-container-wrapper .bca-review-date {
    color: var(--bca-text-soft);
}

.bca-search-container-wrapper .bca-trip-block + .bca-trip-block {
    border-top-color: #dbe6ee;
}

.bca-search-container-wrapper .bca-trip-simple-row a,
.bca-search-container-wrapper .bca-trip-link-row a,
.bca-search-container-wrapper .bca-trip-experience-title,
.bca-search-container-wrapper .bca-trip-package-title,
.bca-search-container-wrapper .bca-trip-experience-price {
    color: #07598f;
}

.bca-search-container-wrapper .bca-trip-simple-row a:hover,
.bca-search-container-wrapper .bca-trip-link-row a:hover,
.bca-search-container-wrapper .bca-trip-experience-title:hover,
.bca-search-container-wrapper .bca-trip-package-title:hover {
    color: #064f85;
}

.bca-search-container-wrapper .bca-trip-link-row a,
.bca-search-container-wrapper .bca-trip-keyword-chip {
    border-color: #a9cbe3;
    background: #eaf4fb;
    color: #174e76;
}

.bca-search-container-wrapper .bca-trip-package-meta span,
.bca-search-container-wrapper .bca-trip-experience-meta span {
    border-color: #d1e0eb;
    background: #f4f8fb;
}

.bca-search-container-wrapper .bca-trip-package-price-free {
    color: #166442;
}

/* Popups de detalhes, avaliações e galeria. */
.bca-search-container-wrapper .bca-reviews-modal-dialog,
.bca-search-container-wrapper .bca-gallery-lightbox-dialog,
.bca-search-container-wrapper .bca-details-modal-dialog {
    border-color: var(--bca-border);
    background: #ffffff;
    color: var(--bca-text);
    box-shadow: var(--bca-shadow-lg);
}

.bca-search-container-wrapper .bca-gallery-lightbox-dialog {
    background: #f4f8fb;
}

.bca-search-container-wrapper .bca-gallery-lightbox-image {
    background: #e2ebf2;
}

.bca-search-container-wrapper .bca-gallery-close,
.bca-search-container-wrapper .bca-gallery-nav {
    border: 1px solid #b5cbdc;
    background: rgba(16, 45, 73, 0.9);
    color: #ffffff;
}

.bca-search-container-wrapper .bca-gallery-close:hover,
.bca-search-container-wrapper .bca-gallery-nav:hover {
    background: #102d49;
}

.bca-search-container-wrapper .bca-gallery-counter,
.bca-search-container-wrapper .bca-details-modal-loading {
    color: var(--bca-text-soft);
}

.bca-search-container-wrapper .bca-details-modal-error {
    color: #9a2d2d;
}

/* Formulário de reserva e acompanhamento do cliente. */
.bca-search-container-wrapper .bca-reservation-panel {
    margin-top: 16px;
    border-top: 1px solid var(--bca-border);
    padding-top: 18px;
}

.bca-search-container-wrapper .bca-reservation-panel[hidden],
.bca-search-container-wrapper .bca-installments-field[hidden] {
    display: none !important;
}

.bca-search-container-wrapper .bca-reservation-panel-head span,
.bca-account-eyebrow,
.bca-account-code,
.bca-reservation-success > span {
    display: block;
    color: var(--bca-accent);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.bca-search-container-wrapper .bca-reservation-panel-head h3 {
    margin: 5px 0 4px;
    font-size: 1.08rem;
}

.bca-search-container-wrapper .bca-reservation-panel-head p {
    margin: 0 0 15px;
    color: var(--bca-text-soft);
    font-size: 0.84rem;
}

.bca-search-container-wrapper .bca-reservation-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bca-search-container-wrapper .bca-reservation-form label > span,
.bca-search-container-wrapper .bca-installments-field > span {
    display: block;
    margin-bottom: 6px;
    color: var(--bca-text);
    font-size: 0.78rem;
    font-weight: 750;
}

.bca-search-container-wrapper .bca-reservation-form input:not([type="radio"]):not([type="checkbox"]),
.bca-search-container-wrapper .bca-reservation-form select,
.bca-search-container-wrapper .bca-reservation-form textarea {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--bca-border-strong);
    border-radius: 11px;
    padding: 10px 12px;
    background: #fff;
    color: var(--bca-text);
}

.bca-search-container-wrapper .bca-reservation-form textarea {
    min-height: 86px;
    resize: vertical;
}

.bca-search-container-wrapper .bca-reservation-form small {
    display: block;
    margin-top: 5px;
    color: var(--bca-text-soft);
    font-size: 0.72rem;
}

.bca-search-container-wrapper .bca-reservation-wide {
    grid-column: 1 / -1;
}

.bca-search-container-wrapper .bca-payment-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 16px 0 12px;
    border: 0;
    padding: 0;
}

.bca-search-container-wrapper .bca-payment-options legend {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    color: var(--bca-text);
    font-size: 0.86rem;
    font-weight: 800;
}

.bca-search-container-wrapper .bca-payment-options label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    border: 1px solid var(--bca-border);
    border-radius: 11px;
    padding: 11px;
    background: #f8fbfe;
    cursor: pointer;
}

.bca-search-container-wrapper .bca-payment-options label:has(input:checked) {
    border-color: var(--bca-accent);
    background: var(--bca-accent-soft);
}

.bca-search-container-wrapper .bca-payment-options input {
    margin-top: 3px;
}

.bca-search-container-wrapper .bca-payment-options strong,
.bca-search-container-wrapper .bca-payment-options small {
    display: block;
}

.bca-search-container-wrapper .bca-reservation-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 15px 0;
    color: var(--bca-text-soft);
    font-size: 0.76rem;
    line-height: 1.45;
}

.bca-search-container-wrapper .bca-reservation-submit {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 11px;
    background: var(--bca-accent);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.bca-search-container-wrapper .bca-reservation-submit:disabled {
    opacity: 0.65;
    cursor: wait;
}

.bca-search-container-wrapper .bca-reservation-feedback {
    margin-top: 10px;
    font-size: 0.82rem;
    line-height: 1.45;
}

.bca-search-container-wrapper .bca-reservation-feedback.is-error {
    color: #9a2d2d;
}

.bca-search-container-wrapper .bca-reservation-success {
    border: 1px solid #9fd2bb;
    border-radius: 13px;
    padding: 18px;
    background: #effaf5;
}

.bca-search-container-wrapper .bca-reservation-success h3 {
    margin: 7px 0;
}

.bca-search-container-wrapper .bca-reservation-success p {
    color: var(--bca-text-soft);
}

.bca-search-container-wrapper .bca-reservation-success a,
.bca-account-contract {
    color: var(--bca-accent);
    font-weight: 800;
}

.bca-account-shell {
    width: min(1180px, calc(100% - 24px));
    margin: 24px auto 40px;
    color: #102d49;
    font-family: "Montserrat", "Segoe UI", sans-serif;
}

.bca-account-shell * { box-sizing: border-box; }
.bca-account-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:22px; }
.bca-account-head h1 { margin:6px 0; color:#102d49; font-size:clamp(1.7rem,3vw,2.6rem); }
.bca-account-head p { margin:0; color:#405f79; }
.bca-account-new { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border-radius:11px; padding:0 16px; background:#075f9f; color:#fff !important; text-decoration:none; font-weight:800; }
.bca-account-list { display:grid; gap:14px; }
.bca-account-card,.bca-account-empty { border:1px solid #c9dbea; border-radius:16px; padding:18px; background:#fff; box-shadow:0 12px 30px rgba(16,45,73,.09); }
.bca-account-card-main { display:flex; gap:15px; align-items:center; }
.bca-account-card-main img { width:112px; height:82px; object-fit:cover; border-radius:11px; }
.bca-account-card h2 { margin:5px 0; color:#102d49; font-size:1.12rem; }
.bca-account-card p { margin:0; color:#405f79; }
.bca-account-card dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0; }
.bca-account-card dl div { border-radius:10px; padding:10px; background:#f1f7fc; }
.bca-account-card dt { color:#5f768a; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.bca-account-card dd { margin:4px 0 0; color:#102d49; font-weight:750; }
.bca-account-pending { border-left:3px solid #7fb5d8; padding-left:10px; font-size:.82rem; }

@media (max-width: 768px) {
    .bca-search-container-wrapper .attractions-search-form {
        background: #f3f8fc;
    }

    .bca-search-container-wrapper .bca-reviews-modal,
    .bca-search-container-wrapper .bca-gallery-lightbox,
    .bca-search-container-wrapper .bca-details-modal-overlay {
        padding: 6px;
    }

    .bca-search-container-wrapper .bca-reviews-modal-dialog,
    .bca-search-container-wrapper .bca-gallery-lightbox-dialog,
    .bca-search-container-wrapper .bca-details-modal-dialog {
        width: 100%;
        max-width: 100%;
        max-height: calc(100dvh - 12px);
    }

    .bca-search-container-wrapper .bca-filter-apply,
    .bca-search-container-wrapper .bca-filter-reset,
    .bca-search-container-wrapper .bca-btn-book,
    .bca-search-container-wrapper .search-button {
        min-height: 46px;
    }

    .bca-search-container-wrapper .bca-hero-gallery {
        display: block;
    }

    .bca-search-container-wrapper .bca-hero-main-image-wrap {
        height: 240px;
        min-height: 0;
    }

    .bca-search-container-wrapper .bca-hero-side-col {
        display: block;
        margin-top: 8px;
    }

    .bca-search-container-wrapper .bca-hero-side-image-wrap,
    .bca-search-container-wrapper .bca-hero-side-image-placeholder {
        display: none;
    }

    .bca-search-container-wrapper .bca-reservation-fields,
    .bca-search-container-wrapper .bca-payment-options {
        grid-template-columns: 1fr;
    }

    .bca-search-container-wrapper .bca-reservation-wide {
        grid-column: auto;
    }

    .bca-account-head { align-items:flex-start; flex-direction:column; }
    .bca-account-new { width:100%; }
    .bca-account-card-main { align-items:flex-start; }
    .bca-account-card-main img { width:86px; height:74px; }
    .bca-account-card dl { grid-template-columns:1fr 1fr; }
}
