@charset "utf-8";
/* ── Camp Finder Quiz ── */
        .quiz-section {
            padding: 5.5rem 2rem;
            background: linear-gradient(160deg, #eaf4e6 0%, #f7f1e3 100%);
            position: relative;
            overflow: hidden;
        }

        .quiz-section::before {
            content: '';
            position: absolute;
            width: 380px;
            height: 380px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(140, 198, 63, 0.18), transparent 70%);
            top: -120px;
            left: -90px;
        }

        .quiz-section::after {
            content: '';
            position: absolute;
            width: 420px;
            height: 420px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(252, 93, 66, 0.10), transparent 70%);
            bottom: -140px;
            right: -110px;
        }

        .quiz-card {
            max-width: 860px;
            margin: 0 auto;
            background: var(--white);
            border-radius: 28px;
            box-shadow: 0 25px 60px rgba(45, 30, 15, 0.10);
            padding: 3rem;
            position: relative;
            z-index: 1;
        }

        .quiz-head {
            text-align: center;
            margin-bottom: 2.2rem;
        }

        .quiz-head h2 {
            font-size: 2.1rem;
            color: var(--primary-dark);
            margin-bottom: 0.6rem;
        }

        .quiz-head p {
            color: var(--text-muted);
            max-width: 520px;
            margin: 0 auto;
        }

        .quiz-progress {
            display: flex;
            gap: 0.5rem;
            justify-content: center;
            margin-bottom: 2rem;
        }

        .quiz-progress span {
            width: 38px;
            height: 6px;
            border-radius: 6px;
            background: rgba(45, 30, 15, 0.08);
            transition: background 0.3s ease;
        }

        .quiz-progress span.active {
            background: var(--accent);
        }

        .quiz-q {
            font-family: var(--font-heading);
            font-size: 1.3rem;
            font-weight: 800;
            color: var(--primary-dark);
            text-align: center;
            margin-bottom: 1.6rem;
        }

        .quiz-options {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
            gap: 1rem;
        }

        .quiz-opt {
            border: 2px solid rgba(45, 30, 15, 0.08);
            background: var(--white);
            border-radius: 18px;
            padding: 1.3rem 1rem;
            cursor: pointer;
            text-align: center;
            transition: all 0.25s ease;
            font-family: inherit;
        }

        .quiz-opt:hover {
            border-color: var(--accent);
            transform: translateY(-2px);
            box-shadow: var(--shadow-sm);
        }

        .quiz-opt .opt-emoji {
            font-size: 2rem;
            display: block;
            margin-bottom: 0.5rem;
        }

        .quiz-opt .opt-title {
            display: block;
            font-weight: 700;
            color: var(--text-main);
            font-size: 0.98rem;
        }

        .quiz-opt .opt-sub {
            font-size: 0.8rem;
            color: var(--text-muted);
        }

        .quiz-back {
            background: none;
            border: none;
            color: var(--text-muted);
            cursor: pointer;
            margin-top: 1.5rem;
            font-size: 0.9rem;
            font-family: inherit;
            transition: color 0.25s ease;
        }

        .quiz-back:hover {
            color: var(--accent);
        }

        .quiz-result {
            text-align: center;
        }

        .quiz-result .res-emoji {
            font-size: 3.2rem;
            line-height: 1;
        }

        .quiz-result .res-kicker {
            display: block;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: 0.8rem;
            font-weight: 800;
            color: var(--accent);
            margin: 0.9rem 0 0.3rem;
        }

        .quiz-result h3 {
            font-size: 1.9rem;
            color: var(--primary-dark);
            margin-bottom: 0.7rem;
        }

        .quiz-result p {
            color: var(--text-muted);
            max-width: 520px;
            margin: 0 auto 1.8rem;
        }

        .quiz-result .res-actions {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
            align-items: center;
            /* Pastilele de deasupra au marginea de jos 0, iar rândul ăsta n-avea
               margin-top: măsurat pe live, între ele erau exact 0px, deci butonul
               se lipea de pastile. */
            margin-top: 1.6rem;
        }

        .quiz-result .res-secondary {
            color: var(--text-muted);
            font-weight: 600;
            font-size: 0.95rem;
        }

        .quiz-result .res-secondary:hover {
            color: var(--accent);
        }

        /* Itemul 44 — rezultatul quiz-ului arată ca un card de pe pagina Oferte,
           iar înălțimea minimă a corpului împiedică saltul paginii între pași. */
        #quizBody { min-height: 22rem; }
        .quiz-pas-nr { text-align: center; font-size: 0.85rem; color: var(--text-muted); margin-bottom: 0.5rem; }
        .quiz-q:focus-visible,
        .quiz-result h3:focus-visible { outline: 3px solid var(--primary-light); outline-offset: 4px; border-radius: 6px; }
        .quiz-opt:focus-visible,
        .quiz-back:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 3px; }
        .quiz-opt[aria-pressed="true"] { border-color: var(--primary-light); background: rgba(45, 106, 79, 0.06); }
        .quiz-res-img { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 1.4rem; box-shadow: var(--shadow-sm); }
        .quiz-res-img img { display: block; width: 100%; height: 200px; object-fit: cover; }
        .quiz-res-meta { display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; margin: 1.2rem 0 0; }
        .quiz-res-meta .meta-chip { background: var(--bg-light); border-radius: 50px; padding: 0.35rem 0.9rem; font-size: 0.85rem; color: var(--text-muted); font-weight: 600; }
        @media (max-width: 600px) { .quiz-res-img img { height: 150px; } #quizBody { min-height: 26rem; } }

        @media (max-width: 600px) {
            .quiz-card {
                padding: 2rem 1.3rem;
            }

            .quiz-head h2 {
                font-size: 1.55rem;
            }
        }

        /* ── Partner cards: 4 across, compact ── */
        .accommodations .cards-grid {
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
        }

        .accommodations .card-image {
            height: 180px;
        }

        .accommodations .location-tag {
            top: 1rem;
            left: 1rem;
            padding: 0.35rem 0.9rem;
            font-size: 0.72rem;
        }

        .accommodations .card-content {
            padding: 1.4rem 1.5rem 1.6rem;
        }

        .accommodations .card-content h3 {
            font-size: 1.12rem;
            margin-bottom: 0.5rem;
        }

        .accommodations .card-content p {
            font-size: 0.88rem;
            color: var(--text-muted);
            line-height: 1.55;
            margin-bottom: 0.8rem;
        }

        .accommodations .btn-text {
            font-size: 0.9rem;
        }

        @media (max-width: 1100px) {
            .accommodations .cards-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 620px) {
            .accommodations .cards-grid {
                grid-template-columns: 1fr;
            }
        }
/* ── Carusel „Imagini din tabere" (înlocuiește fostele 3 carduri — 2026-08-04) ── */
/* Săgețile stau ÎN AFARA .swiper (cerere client): wrapperul rezervă spațiu alb
   lateral, ca butoanele să nu mai acopere prima și ultima imagine. */
.gallery-carousel {
    position: relative;
    margin-top: 2.5rem;
    padding: 0 3.5rem;
    --swiper-navigation-size: 22px;
    /* .swiper are 3rem padding jos pentru buline (regulă globală, !important):
       scădem jumătate, ca săgețile să rămână pe centrul imaginilor, nu al
       containerului. Aceeași valoare ca la testimoniale. */
    --swiper-navigation-top-offset: calc(50% - 1.5rem);
}
.gallery-swiper {
    --swiper-pagination-color: var(--primary);
}
.gallery-swiper .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: var(--radius-lg);
}
.gallery-carousel .swiper-button-prev,
.gallery-carousel .swiper-button-next {
    /* Același buton ca la echipă și testimoniale: alb, cu săgeata verde */
    width: 40px;
    height: 40px;
    margin-top: -20px;
    border-radius: 50%;
    color: var(--primary) !important;
    background: var(--white);
    box-shadow: var(--shadow-sm);
    transition: background 0.2s ease, color 0.2s ease;
}
.gallery-carousel .swiper-button-prev { left: 0; }
.gallery-carousel .swiper-button-next { right: 0; }
.gallery-carousel .swiper-button-prev:hover,
.gallery-carousel .swiper-button-next:hover {
    background: var(--primary);
    color: var(--white) !important;
}
.gallery-carousel .swiper-button-prev:after,
.gallery-carousel .swiper-button-next:after {
    font-size: 1.2rem;
    font-weight: bold;
}
.gallery-carousel .swiper-button-prev:focus-visible,
.gallery-carousel .swiper-button-next:focus-visible {
    outline: 3px solid var(--primary-dark);
    outline-offset: 3px;
}
.gallery-swiper .swiper-pagination { bottom: 0; }
@media (max-width: 768px) {
    /* pe mobil: swipe + buline (convenția site-ului, ca la testimoniale) */
    .gallery-carousel { padding: 0; }
    .gallery-carousel .swiper-button-prev,
    .gallery-carousel .swiper-button-next { display: none; }
}
