/* tourSelector.css – FINAL + ALL FIXES – November 2025 */
@import url('https://fonts.googleapis.com/css2?family=Averia+Serif+Libre:wght@400;700&display=swap');

/* ───── Global fonts ───── */
.trip-selector__label,
.trip-summary__title {
    font-family: 'Averia Serif Libre', serif !important;
    font-size: 16px !important;
    font-weight: 700;
    color: #446344;
    margin-bottom: 1em;
    display: block;
}
.experience-checkbox__text,
.experience-checkbox__helper,
.trip-summary__content {
    font-family: Verdana, Geneva, sans-serif !important;
    font-size: 16px;
    line-height: 1.5;
    color: #446344;
}

/* ───── Containers ───── */
.trip-selector,
.experience-checkbox,
.trip-summary {
    margin: 0px !important;
    padding: 1em !important;
    background: #FFFFFF;
    border: 1px solid #446344;
    border-radius: 10px;
}

/* ───── Row with dropdown + quantity – perfect alignment & equal height ───── */
.trip-selector__row {
    display: flex;
    align-items: stretch;
    gap: 2em;
    margin-bottom: 1.5em;
}
@media (max-width: 768px) {
    .trip-selector__row {
        flex-direction: column;
        gap: 1em;
    }
    .trip-selector__quantity,
    .trip-select,
    .experience-checkbox {
        max-width: 100%;
    }
}

/* ───── Lodging dropdown – full width, exact same height, NO green border/outline ───── */
.trip-select,
.trip-select:hover,
.trip-select:focus,
.trip-select:active {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    max-width: none !important;
    padding: 0 1em !important;
    font-size: 16px !important;
    color: #446344 !important;
    background: white !important;
    border: none !important;
    border-radius: 8px !important;
    appearance: none;
    outline: none !important;
   
    /* PERMANENT dark-green outline – exactly same as the number input */
    outline: 1px solid #2C3E2CCC !important;
    outline-offset: -4px !important;
   
    /* Custom dark-green dropdown arrow – always visible */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232C3E2CCC' d='M1.5 0L6 4.5 10.5 0 12 1.5 6 8 0 1.5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1em center;
}

/* Optional: make it slightly thicker on hover/focus for better feedback */
.trip-select:hover,
.trip-select:focus {
    outline: 1px solid #2C3E2CCC !important;
    outline-offset: -5px !important;
}

/* Keep the green rounded border on the container (not the select itself) */
.trip-selector__row > div:first-child {
    border: 2px solid #2C3E2CCC !important;
    border-radius: 10px !important;
    padding: 6px;
    background: white;
}

/* ───── Guest selector – checkbox top, label + input horizontal below, minimal & centered ───── */
.trip-selector--guests {
    display: flex;
    flex-direction: column;
    gap: 0.8em;
    margin: 1em auto !important;
    max-width: 400px !important;           /* Keeps it compact */
    width: 100% !important;
    padding: 0 !important;
    border: none !important;               /* No border */
    background: transparent !important;    /* No background box */
}

.trip-selector__toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.6em;
}

.trip-checkbox {
    width: 1.2em;
    height: 1.2em;
    accent-color: #2C3E2CCC;
}

.trip-checkbox-label {
    font-weight: 600;
    cursor: pointer;
    color: #2C3E2CCC;
}

/* Guest count row – label left, input right, only as wide as needed */
.trip-selector__quantity.guest-quantity {
    display: flex;
    align-items: center;
    justify-content: center !important;
    gap: 0.8em;
    width: auto !important;                /* Shrink to fit text + input */
    max-width: none !important;
    padding: 0 !important;
}

    .guest-pill-title, .experience-pill-title {
        text-align:center;
        font-family: Verdana, sans-serif;
        font-size: 0.95em;
        font-weight: 600;
        color: #f57c00 !important;
        margin-top: 0.5em;
    }

    .guest-pill, .experience-pill {
        display: flex;
        flex-direction: row;
        align-items: center;
        background: #2C3E2C;
        border-radius: 999px;
        padding: 0.4em 1.2em;
        gap: 0.6em;
        box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        transition: all 0.3s ease;
        margin: 0.5em auto;
        width: fit-content;
        min-width: 280px !important;
    }

    .guest-pill:hover, .experience-pill:hover {
        box-shadow: 0 4px 12px rgba(0,0,0,0.3);
        transform: translateY(-1px);
    }

    .guest-pill-checkbox, .experience-pill-checkbox {
        appearance: none;
        width: 20px;
        height: 20px;
        border: 2px solid white;
        border-radius: 4px;
        background: transparent;
        cursor: pointer;
        position: relative;
        flex-shrink: 0;
    }

    .guest-pill-checkbox:checked, .experience-pill-checkbox:checked {
        background: #A3C586; /* light green accent */
        border-color: #A3C586;
    }

    .guest-pill-checkbox:checked::after, .experience-pill-checkbox:checked::after {
        content: "✓";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #2C3E2C;
        font-size: 14px;
        font-weight: bold;
    }

    .guest-pill-text, .experience-pill-text {
        font-family: Verdana, sans-serif;
        font-size: 0.95em;
        font-weight: 500;
        color: #446344 !important;
        white-space: nowrap;
        width:fit-content;
    }
    
    


/* Mobile – keep row layout, prevent wrapping */
@media (max-width: 768px) {
    .guest-row {
        gap: 0.8em;
        flex-wrap: nowrap;
        overflow-x: auto;
    }
    .guest-input {
        width: 55px;
        font-size: 0.9em;
    }
}

/* Plus & Minus buttons – correct dark green → orange-yellow hover */
.trip-btn,
.trip-btn:hover,
.trip-btn:focus {
    width: 44px;
    height: 44px;
    background: white !important;
    color: #2C3E2CCC !important;
    border: 1px solid #2C3E2CCC !important;
    border-radius: 8px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.25s ease;
}
.trip-btn:hover {
    background: #FFCC33 !important;
    color: #2C3E2CCC !important;
    border-color: #FFCC33 !important;
}

/* Number input */
.trip-input {
    width: 90px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    border: 2px solid #2C3E2CCC;
    border-radius: 8px;
}

/* ───── Experience checkboxes ───── */
.experience-checkbox {
    max-width: 80%;
    margin: 1em auto;
    transition: background 0.3s;
}
.experience-checkbox:hover { background: #edf4ed; }
.experience-checkbox__label { display: flex; align-items: flex-start; cursor: pointer; }
.experience-checkbox__input { position: absolute; opacity: 0; }
.experience-checkbox__box {
    width: 26px;
    height: 26px;
    border: 2px solid #2C3E2CCC;
    border-radius: 6px;
    background: white;
    margin-right: 1em;
    flex-shrink: 0;
    margin-top: 1em;
    position: relative;
}
.experience-checkbox__input:checked + .experience-checkbox__box {
    background: #2C3E2CCC;
}
.experience-checkbox__input:checked + .experience-checkbox__box::after {
    content: "✓";
    position: absolute;
    top: -5px;
    left: 2px;
    color: white;
    font-size: 16px;
    font-weight: bold;
}
.experience-checkbox__helper {
    margin: 1em 0 0;
    font-size: 14px;
    color: #666;
    font-style: italic;
    text-align: center;
}

/* ───── Summary box ───── */
.trip-summary {
    background: #FFFFFF;
    border: 2px solid #2C3E2CCC;
    color: #2C3E2CCC;
}
.trip-summary__title { color: #2C3E2CCC !important; }
.trip-summary__content strong { color: #2C3E2CCC; }
.trip-summary__btn {
    margin-top: 1em;
    background: #A3C586;
    color: #2C3E2CCC;
    padding: 1em 1em;
    border: 2px solid #2C3E2CCC;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
    font-family: Verdana, sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
}
.trip-summary__btn:hover {
    background: #FFCC33;
    border-color: #FFCC33;
    color: #2C3E2CCC;
}

/* ───── CENTER ALL CONTAINERS ───── */
.trip-selector,
.trip-selector__row,
.experience-checkbox,
.trip-summary,
.trip-selector--guests {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 900px !important;
    width: 100% !important;
}

/* ───── Summary box full-width inside centered container ───── */
.trip-summary {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
.summary_content{
    color:#2C3E2CCC;
}

/* ───── FIX 2: Kill the red/pink button – force your exact colours ───── */
.trip-summary__btn,
.trip-summary__btn:hover,
.trip-summary__btn:focus,
.trip-summary__btn:active {
    background: #A3C586 !important;
    color: #2C3E2CCC !important;
    border: 2px solid #2C3E2CCC !important;
}
.trip-summary__btn:hover {
    background: #FFCC33 !important;
    border-color: #FFCC33 !important;
}

/* Mobile – keep full width but still centered */
@media (max-width: 768px) {
    .trip-selector,
    .trip-selector__row,
    .experience-checkbox,
    .trip-summary,
    .trip-selector--guests {
        max-width: 100% !important;
        padding-left: 1em !important;
        padding-right: 1em !important;
    }

    /* Guest selector mobile – compact, centered */
    .trip-selector--guests .trip-selector__quantity {
        justify-content: center !important;
        width: auto !important;
        gap: 0.6em !important;
    }

    .guest-input {
        width: 60px !important;
    }
}

/* Optional: tighter centering on very large screens */
@media (min-width: 1200px) {
    .trip-selector,
    .trip-selector__row,
    .experience-checkbox,
    .trip-summary,
    .trip-selector--guests {
        max-width: 850px !important;
    }
}