/* Save as: public/theme/css/tour-enquiry.css */
:root {
    --tour-enquiry-accent: #ef4a24;
    --tour-enquiry-ink: #182b3a;
    --tour-enquiry-text: #29313a;
    --tour-enquiry-muted: #6d7781;
    --tour-enquiry-line: #e5e9ed;
}

/* Shared enquiry form */
.tour-enquiry-widget {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--tour-enquiry-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(24, 43, 58, .10);
    margin-bottom: 20px;
}

.tour-enquiry-widget__heading {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid #f0f1f2;
}
.tour-enquiry-widget__icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--tour-enquiry-accent);
}
.tour-enquiry-widget__eyebrow {
    margin: 0 0 3px;
    color: var(--tour-enquiry-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}
.tour-enquiry-widget__heading h2 {
    margin: 0;
    color: var(--tour-enquiry-ink);
    font-size: 20px;
    font-weight: 750;
}
.tour-enquiry-widget__body { padding: 20px 24px 22px; }
.tour-enquiry-form { display: grid; gap: 14px; }
.tour-enquiry-form__field { display: grid; gap: 7px; }
.tour-enquiry-form__field label {
    margin: 0;
    color: var(--tour-enquiry-ink);
    font-size: 13px;
    font-weight: 700;
}
.tour-enquiry-form__field label span { color: var(--tour-enquiry-accent); }
.tour-enquiry-form__field input,
.tour-enquiry-form__field select,
.tour-enquiry-form__field textarea {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #d9dee2;
    border-radius: 8px;
    outline: 0;
    color: var(--tour-enquiry-text);
    background: #fff;
    font: inherit;
    font-size: 14px;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.tour-enquiry-form__field textarea { min-height: 112px; resize: vertical; }
.tour-enquiry-form__field input::placeholder,
.tour-enquiry-form__field textarea::placeholder { color: #929aa2; }
.tour-enquiry-form__field input:focus,
.tour-enquiry-form__field select:focus,
.tour-enquiry-form__field textarea:focus {
    border-color: var(--tour-enquiry-accent);
    box-shadow: 0 0 0 3px rgba(239, 74, 36, .14);
}
.tour-enquiry-form__error { color: #b42318; font-size: 12px; }
.tour-enquiry-form__submit {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 2px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: var(--tour-enquiry-accent);
    font: inherit;
    font-size: 15px;
    font-weight: 750;
    cursor: pointer;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.tour-enquiry-form__submit:hover {
    transform: translateY(-1px);
    background: #d93c19;
    box-shadow: 0 8px 18px rgba(239, 74, 36, .22);
}
.tour-enquiry-form__privacy { margin: -4px 0 0; color: var(--tour-enquiry-muted); font-size: 11px; text-align: center; }
.tour-enquiry-alert { margin: 0 0 14px; padding: 11px 13px; border-radius: 8px; font-size: 13px; }
.tour-enquiry-alert--success { color: #155d36; background: #eaf7ef; }
.tour-enquiry-alert--error { color: #8a2424; background: #fff0f0; }

/* Home page FAQ + Quick Inquiry section */
.home-faq-inquiry {
    padding: clamp(48px, 6vw, 82px) 0;
    background: linear-gradient(180deg, #fff8f5 0%, #f7f9fb 100%);
}
.home-faq-inquiry__panel {
    height: 100%;
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid #e8ebee;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(24, 43, 58, .08);
}
.home-faq-inquiry__heading { margin-bottom: 24px; }
.home-faq-inquiry__eyebrow {
    display: inline-block;
    margin: 0 0 8px;
    color: var(--tour-enquiry-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}
.home-faq-inquiry__heading h2 {
    position: relative;
    margin: 0 0 12px;
    padding-bottom: 13px;
    color: var(--tour-enquiry-ink);
    font-size: clamp(25px, 2.7vw, 36px);
    font-weight: 750;
    line-height: 1.18;
}
.home-faq-inquiry__heading h2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 68px;
    height: 3px;
    border-radius: 4px;
    background: var(--tour-enquiry-accent);
    content: "";
}
.home-faq-inquiry__heading > p { margin: 0; color: var(--tour-enquiry-muted); font-size: 15px; line-height: 1.65; }
.home-faq-inquiry__accordion { display: grid; gap: 10px; }
.home-faq-inquiry__item {
    overflow: hidden;
    border: 1px solid #e7e9eb;
    border-radius: 11px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.home-faq-inquiry__item:has(.collapse.show) {
    border-color: rgba(239, 74, 36, .40);
    box-shadow: 0 5px 16px rgba(24, 43, 58, .06);
}
.home-faq-inquiry__question { margin: 0; }
.home-faq-inquiry__toggle {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 18px;
    border: 0;
    color: var(--tour-enquiry-ink);
    background: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    text-align: left;
    cursor: pointer;
}
.home-faq-inquiry__toggle i { flex: 0 0 auto; color: var(--tour-enquiry-accent); font-size: 12px; transition: transform .18s ease; }
.home-faq-inquiry__toggle.collapsed i { transform: rotate(-90deg); }
.home-faq-inquiry__answer {
    padding: 0 18px 18px;
    color: #58636d;
    font-size: 14px;
    line-height: 1.75;
}
.home-faq-inquiry__answer > :last-child { margin-bottom: 0; }
.home-faq-inquiry__empty { padding: 18px; border-radius: 10px; color: var(--tour-enquiry-muted); background: #f7f9fa; }
.home-faq-inquiry__form-panel .tour-enquiry-widget {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.home-faq-inquiry__form-panel .tour-enquiry-widget__body { padding: 0; }
.home-faq-inquiry__form-panel .tour-enquiry-form { gap: 13px; }
.home-faq-inquiry__form-panel .tour-enquiry-form__field input,
.home-faq-inquiry__form-panel .tour-enquiry-form__field textarea { min-height: 47px; }
.home-faq-inquiry__form-panel .tour-enquiry-form__field textarea { min-height: 100px; }

@media (max-width: 767.98px) {
    .home-faq-inquiry { padding: 42px 0; }
    .home-faq-inquiry__panel { padding: 22px 18px; border-radius: 16px; }
    .home-faq-inquiry__heading { margin-bottom: 20px; }
    .home-faq-inquiry__toggle { min-height: 54px; padding: 13px 14px; font-size: 14px; }
    .home-faq-inquiry__answer { padding: 0 14px 15px; }
    .tour-enquiry-widget__heading { padding: 18px 17px 15px; }
    .tour-enquiry-widget__body { padding: 17px; }
}

/* Firmly override the theme's global accordion/button styles on the home section. */
#tour-faq-inquiry-only .home-faq-inquiry__item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e7e9eb !important;
    border-radius: 11px !important;
    background: #fff !important;
}
#tour-faq-inquiry-only .home-faq-inquiry__question {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}
#tour-faq-inquiry-only .home-faq-inquiry__toggle,
#tour-faq-inquiry-only .home-faq-inquiry__toggle:focus,
#tour-faq-inquiry-only .home-faq-inquiry__toggle:hover {
    display: flex !important;
    width: 100% !important;
    min-height: 58px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 15px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    color: #182b3a !important;
    background: #fff !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    text-transform: none !important;
}
#tour-faq-inquiry-only .home-faq-inquiry__toggle i {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #ef4a24 !important;
    font-size: 12px !important;
}
#tour-faq-inquiry-only .home-faq-inquiry__answer {
    display: block !important;
    width: 100% !important;
    padding: 0 18px 18px !important;
    color: #58636d !important;
    background: #fff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    text-align: left !important;
}
#tour-faq-inquiry-only .home-faq-inquiry__answer p { margin: 0 0 10px !important; }
#tour-faq-inquiry-only .home-faq-inquiry__answer > :last-child { margin-bottom: 0 !important; }
@media (max-width: 767.98px) {
    #tour-faq-inquiry-only .home-faq-inquiry__toggle { min-height: 54px !important; padding: 13px 14px !important; }
    #tour-faq-inquiry-only .home-faq-inquiry__answer { padding: 0 14px 15px !important; }
}


/* Tour price panel: balanced on desktop and stacked on small screens. */
.tour-price-widget {
    width: 100%;
    margin: 0 0 22px;
    padding: 22px;
    border: 1px solid #e5e9ed;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(24,43,58,.08);
}
.tour-price-widget__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(175px, 220px);
    align-items: center;
    gap: 18px;
}
.tour-price-widget__details { min-width: 0; }
.tour-price-widget__label {
    display: block;
    margin-bottom: 5px;
    color: #66717b;
    font-size: 13px;
    font-weight: 600;
}
.tour-price-widget__amount {
    display: flex;
    align-items: baseline;
    gap: 5px;
    color: #ef3028;
    font-size: clamp(27px, 2.4vw, 35px);
    font-weight: 800;
    line-height: 1.15;
}
.tour-price-widget__amount i { font-size: .78em; }
.tour-price-widget__unit { display: block; margin-top: 4px; color: #68727b; font-size: 13px; }
.tour-price-widget__request { display: block; color: #253442; font-size: 19px; font-weight: 750; line-height: 1.3; }
.tour-price-widget__button {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    border-radius: 8px;
    color: #fff !important;
    background: #ef3028;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.35;
    text-align: center;
    text-decoration: none !important;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.tour-price-widget__button:hover { transform: translateY(-1px); background: #d92320; box-shadow: 0 7px 17px rgba(239,48,40,.2); }
@media (max-width: 575.98px) {
    .tour-price-widget { padding: 19px; }
    .tour-price-widget__layout { grid-template-columns: 1fr; gap: 15px; }
    .tour-price-widget__button { max-width: none; }
}
