/* Azores.com Viator island.css — consolidated production stylesheet.
 * Cascade preserved: former R058, then former R062. No declarations rewritten. */

/* ===== Former R058 island results layer ===== */
/*
 * AZORES_VIATOR_20260930_R058_island_results.css
 * Island inventory results-header cleanup only.
 * Mirrors the approved PortugalOnline structural hierarchy without changing
 * Azores inventory, filtering, sorting, pagination or product-card behavior.
 */

.az-viator-results-heading-r058 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 220px);
    gap: 30px;
    align-items: end;
    margin-bottom: 14px;
}

.az-viator-results-copy {
    min-width: 0;
}

.az-viator-results-heading-r058 h2 {
    margin-bottom: 5px;
}

.az-viator-results-intro {
    margin: 0;
    max-width: 760px;
    color: #647486;
    font-size: .94rem;
    line-height: 1.5;
}

.az-viator-sort-form-r058 {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
}

.az-viator-sort-form-r058 label {
    margin: 0;
    color: #33465a;
    font-size: .88rem;
    font-weight: 700;
}

.az-viator-sort-form-r058 select {
    width: 100%;
    min-height: 44px;
}

.az-viator-results-summary-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 46px;
    margin: 0 0 20px;
    padding: 10px 15px;
    border: 1px solid #d6dee8;
    border-radius: 8px;
    background: #fff;
    color: #46586a;
}

.az-viator-results-summary-bar .az-viator-results-count,
.az-viator-results-currency {
    margin: 0;
    font-size: .9rem;
    line-height: 1.35;
}

.az-viator-results-summary-bar .az-viator-results-count {
    color: #384a5c;
    white-space: normal;
}

.az-viator-results-summary-bar .az-viator-results-count strong {
    margin-right: 3px;
    color: #172b3f;
    font-size: 1rem;
}

.az-viator-results-range {
    color: #5f7081;
}

.az-viator-results-currency {
    flex: 0 0 auto;
    color: #657688;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .az-viator-results-heading-r058 {
        grid-template-columns: 1fr;
        gap: 14px;
        align-items: stretch;
    }

    .az-viator-sort-form-r058 {
        max-width: none;
    }

    .az-viator-results-summary-bar {
        align-items: flex-start;
    }
}

@media (max-width: 520px) {
    .az-viator-results-summary-bar {
        flex-direction: column;
        gap: 5px;
    }

    .az-viator-results-currency {
        white-space: normal;
    }
}

/* ===== Former R062 island visual-system layer ===== */
/**
 * AZORES_VIATOR_20261007_R062_island_visual_system.css
 * Shared island-page visual system aligned to the approved R061 /tours/ hub.
 * Presentation only. Product-detail view is deliberately excluded.
 */

/* Hub source-of-truth colors:
 * major headings  #184f86
 * card headings   #1b5f9f
 * kickers/links   #1d64ad
 */

.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-heading-r058 h2,
.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-search-heading h2,
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-editor-section > h2 {
    color: #184f86 !important;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    line-height: 1.12;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-section-kicker {
    color: #1d64ad !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
}

/* Card titles follow the /tours/ hub card hierarchy rather than section-title sizing. */
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-lower-card > h2,
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-lower-card > h3,
.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-editor-content .az-island-lower-card > h2,
.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-editor-content .az-island-lower-card > h3 {
    margin: 0 0 9px !important;
    color: #1b5f9f !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-tour-idea strong {
    color: #1b5f9f !important;
    font-size: 18px;
    line-height: 1.3;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-lower-card p,
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-tour-idea span {
    color: #5e6f80;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq summary {
    color: #1c568f;
    font-size: 16px;
    line-height: 1.35;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-editor-section a {
    color: #1d64ad;
}

/* R064 — center the live-results heading block on island pages while
 * preserving the right-aligned Sort by control and summary bar. */
.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-heading-r058 {
    position: relative;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-copy {
    text-align: center;
    justify-self: center;
    width: 100%;
    max-width: 760px;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-copy .az-viator-kicker,
.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-copy h2,
.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-copy .az-viator-results-intro {
    text-align: center;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-copy .az-viator-results-intro {
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 769px) {
    .az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-heading-r058 {
        grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) minmax(190px, 220px);
        gap: 20px;
    }

    .az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-copy {
        grid-column: 2;
    }

    .az-viator-island-page-main:not(.az-viator-product-view) .az-viator-sort-form-r058 {
        grid-column: 3;
        justify-self: end;
    }
}

@media (max-width: 768px) {
    .az-viator-island-page-main:not(.az-viator-product-view) .az-viator-results-copy {
        justify-self: stretch;
        max-width: none;
    }
}

/* R068 — one unified island FAQ card.
 * Section kicker/title stay centered above one single card.
 * Questions stack directly inside the card with only row dividers — no gaps,
 * no individual question cards, and no spacers between rows.
 */
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq-section {
    text-align: center !important;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq-section > .az-island-section-kicker,
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq-section > h2 {
    text-align: center !important;
}

/* ONE outer card for the complete FAQ list. */
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq {
    display: block;
    max-width: 1040px;
    margin: 22px auto 0;
    padding: 0;
    border: 1px solid #d8e3ee;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(27, 59, 93, .05);
    overflow: hidden;
    text-align: left;
}

/* Rows live inside the single card — no individual card treatment. */
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq details {
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #dce5ee;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq details:last-child {
    border-bottom: 0;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq details[open] {
    border-color: #dce5ee;
    box-shadow: none;
    background: #f8fbfe;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq summary {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 17px 52px 17px 20px;
    background: transparent;
    color: #1b5f9f !important;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    text-align: left !important;
    cursor: pointer;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq summary::-webkit-details-marker {
    display: none;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq summary::marker {
    content: '';
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq summary::after {
    content: '+';
    position: absolute;
    top: 50%;
    right: 18px;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    border: 1px solid #bed2e6;
    border-radius: 50%;
    background: #f4f8fc;
    color: #1b5f9f;
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;
    text-align: center;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq details[open] summary::after {
    content: '\2212';
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq summary:hover,
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq summary:focus-visible {
    background: #f8fbfe;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq details > p {
    max-width: none;
    margin: 0 !important;
    padding: 0 20px 18px;
    color: #5f7081;
    line-height: 1.6;
    text-align: left !important;
}

@media (max-width: 760px) {
    .az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq {
        border-radius: 10px;
    }

    .az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq summary {
        padding: 15px 48px 15px 16px;
    }

    .az-viator-island-page-main:not(.az-viator-product-view) .az-island-faq details > p {
        padding: 0 16px 16px;
    }
}


/* R069 — São Miguel resource/CTA alignment corrections.
 * Keep the resource kicker/title centered but left-align the explanatory copy.
 * Keep the CTA eyebrow visible on the blue panel.
 */
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-resources-section > p:not(.az-island-section-kicker) {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    text-align: left !important;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-continue-card .az-island-section-kicker {
    color: #fff !important;
    opacity: 1 !important;
}

/* R072 — centered section headings with left-aligned body copy.
 * Applies consistently across island editorial sections without changing FAQ,
 * results-header, cards, product detail, or CTA layout.
 */
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-editor-section.is-centered > p:not(.az-island-section-kicker) {
    text-align: left !important;
}

.az-viator-island-page-main:not(.az-viator-product-view) .az-island-editor-section.is-centered > .az-island-section-kicker,
.az-viator-island-page-main:not(.az-viator-product-view) .az-island-editor-section.is-centered > h2 {
    text-align: center !important;
}

/* FAQ answer alignment is already defined separately; keep the unified FAQ card unchanged. */
