.qnadv-departures-page{box-sizing:border-box;background:#f4f7f8;color:#26343d; }.qnadv-departures-page *{box-sizing:border-box}.qnadv-departures-shell{width:100%;max-width:1180px;margin:0 auto}.qnadv-departures-intro{padding:0 32px 24px}.qnadv-eyebrow{margin:0 0 9px;color:#0a718e;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.qnadv-departures-intro h1{margin:0;color:#104777;font-size:clamp(32px,4vw,48px);line-height:1.08}.qnadv-departures-lede{margin:13px 0 0;color:#667983;font-size:18px;line-height:1.6}.qnadv-departures-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px auto;gap:15px;align-items:center;padding:0 32px 25px;border:1px solid #d6e0e5;border-top:0;border-radius:0 0 19px 19px;background:#fff}.qnadv-departures-toolbar label{display:block;margin:0 0 7px;color:#53656f;font-size:11px;font-weight:700;text-transform:uppercase}.qnadv-departures-toolbar input,.qnadv-departures-toolbar select{width:100%;min-height:50px;padding:10px 12px;border:1px solid #cdd9de;border-radius:12px;background:#f8fafb;color:#26343d;font:inherit}.qnadv-departures-toolbar input:focus,.qnadv-departures-toolbar select:focus{border-color:#0b91ae;outline:3px solid #0b91ae33}.qnadv-departures-months{grid-column:1/-1;display:grid;gap:12px}.qnadv-departures-months-label{color:#60737e;font-size:12px;font-weight:800;text-transform:uppercase}.qnadv-departure-chips{display:flex;gap:11px;overflow-x:auto;padding:1px 0 4px;scrollbar-width:none}.qnadv-departure-chips::-webkit-scrollbar{display:none}.qnadv-departure-chip{flex:0 0 auto; border:2px solid #d6e0e7;border-radius:999px;background:#fff;color:#26343d;font:inherit;font-size:16px;font-weight:750;cursor:pointer}.qnadv-departure-chip.is-active{border-color:#b51219;background:#fff5f5;color:#a70f16}.qnadv-departures-months select{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.qnadv-departures-reset{justify-self:end;border:0;background:transparent;color:#0a718e;font:inherit;font-weight:700;cursor:pointer}.qnadv-departures-summary{margin:25px 0 12px;color:#6a7b84}.qnadv-departures-summary strong{color:#104777;font-size:20px}.qnadv-departure-list{display:grid;gap:9px}.qnadv-departure-row{display:grid;grid-template-columns:142px minmax(230px,1fr) minmax(150px,.7fr) minmax(135px,.5fr) auto;align-items:center;gap:20px;padding:17px 20px;border:1px solid #dfe7ea;border-radius:14px;background:#fff}.qnadv-departure-date{display:grid;gap:3px;padding-right:18px;border-right:1px solid #e6edef}.qnadv-departure-date span{color:#74858e;font-size:12px}.qnadv-departure-date strong{color:#104777;font-size:20px}.qnadv-departure-tour{display:grid;gap:5px;min-width:0}.qnadv-departure-tour a{overflow:hidden;color:#26343d;font-size:16px;font-weight:750;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.qnadv-departure-tour span,.qnadv-departure-meta small{color:#7b8b93;font-size:12px}.qnadv-departure-meta{display:grid;gap:5px}.qnadv-status{width:max-content;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:750}.qnadv-status--available{background:#e8f7ef;color:#247548}.qnadv-status--full{background:#fff0f0;color:#a04444}.qnadv-status--pause{background:#f1f3f4;color:#68757c}.qnadv-departure-price{display:grid;justify-items:end;gap:2px;white-space:nowrap}.qnadv-departure-price strong{color:#a11b2b}.qnadv-departure-price span{color:#8b989d;font-size:11px}.qnadv-departure-action{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:8px;background:#fff5f5;color:#a70f16;font-size:13px;font-weight:750;text-decoration:none}.qnadv-departures-more{display:block;min-height:46px;margin:17px auto 0;padding:0 20px;border:1px solid #b4dce5;border-radius:9px;background:#fff;color:#0a718e;font:inherit;font-weight:750}.qnadv-departures-empty{padding:35px 20px;border:1px dashed #cfdce1;border-radius:14px;background:#fff;color:#71828b;text-align:center}.qnadv-departures-empty--filtered{margin-top:10px}.qnadv-departure-row[hidden]{display:none!important}@media(max-width:900px){.qnadv-departures-toolbar{grid-template-columns:1fr 1fr;padding:0 20px 22px}.qnadv-departures-months{grid-column:1/-1}.qnadv-departure-row{grid-template-columns:110px minmax(0,1fr) auto;gap:13px}.qnadv-departure-meta{grid-column:2}.qnadv-departure-price{grid-column:3;grid-row:1}.qnadv-departure-action{grid-column:2/4;justify-self:start}}@media(max-width:560px){.qnadv-departures-page{ }.qnadv-departures-intro{padding:0 12px 20px}.qnadv-departures-toolbar{grid-template-columns:1fr;padding:0 12px 17px}.qnadv-departure-chip{min-height:46px;padding:0 17px;font-size:14px}.qnadv-departure-row{grid-template-columns:76px minmax(0,1fr);padding:13px 12px;gap:11px}.qnadv-departure-tour a{white-space:normal}.qnadv-departure-meta,.qnadv-departure-price,.qnadv-departure-action{grid-column:2;justify-self:start}.qnadv-departure-price{display:flex;align-items:baseline;gap:5px}}
/* View switch and aggregate calendar */
span.day small {
    color: #007920;
}
.qnadv-departures-view-switch{display:flex;justify-content:flex-end;gap:6px;margin:0 32px 20px 0;padding:5px;border-radius:20px;background:#f7eeee;width:max-content;margin-left:auto}.qnadv-departures-view-switch button{display:inline-flex;align-items:center;gap:8px;min-width:96px;min-height:48px;padding:0 16px;border:0;border-radius:15px;background:transparent;color:#70808a;font:inherit;font-weight:750;cursor:pointer}.qnadv-departures-view-switch button span{font-size:25px;line-height:1}.qnadv-departures-view-switch button.is-active{background:#fff;color:#a70f16;box-shadow:0 5px 15px #2f1d1d12}.qnadv-departure-calendar{border:1px solid #d6e0e5;border-radius:15px;background:#fff;padding:20px}.qnadv-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:#104777}.qnadv-calendar-head button{width:38px;height:38px;border:1px solid #d6e0e5;border-radius:50%;background:#fff;color:#104777;font-size:25px;line-height:1;cursor:pointer}.qnadv-calendar-weekdays,.qnadv-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.qnadv-calendar-weekdays{margin-bottom:7px;color:#778993;font-size:12px;font-weight:750;text-align:center}.qnadv-calendar-cell{min-height:88px;padding:9px;border:1px solid #e5ecef;border-radius:9px;background:#fbfcfc}.qnadv-calendar-cell strong{display:block;color:#344852;font-size:15px}.qnadv-calendar-cell span{display:inline-block;margin-top:12px;padding:4px 6px;border-radius:999px;background:#e9f7ef;color:#247548;font-size:11px;font-weight:750}.qnadv-calendar-cell.is-empty{border-color:transparent;background:transparent}.qnadv-calendar-cell.has-departures{border-color:#c4e6d2;background:#f8fffa}@media(max-width:560px){.qnadv-departures-view-switch{margin-right:12px}.qnadv-calendar-cell{min-height:60px;padding:6px 4px}.qnadv-calendar-cell span{margin-top:7px;font-size:9px}}
/* Tour badges trong ô lịch */
.qnadv-calendar-tour-badges{display:grid;gap:4px;margin-top:10px}.qnadv-calendar-tour-badge{display:block;overflow:hidden;padding:4px 6px;border-radius:5px;background:#e9f7ef;color:#247548;font-size:10px !important;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.qnadv-calendar-tour-badge--more{background:#eef4f6;color:#60737e;text-align:center}@media(max-width:560px){.qnadv-calendar-tour-badges{gap:3px;margin-top:7px}.qnadv-calendar-tour-badge{padding:3px 4px;font-size:8px}}
.qnadv-departure-book{min-height:38px;padding:0 11px;border:1px solid #b51219;border-radius:8px;background:#b51219;color:#fff;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.qnadv-departure-book:hover{background:#8e0e14}.qnadv-departure-row .qnadv-departure-action{grid-column:auto}.qnadv-departure-modal{position:fixed;inset:0;z-index:100001;display:grid;place-items:center;padding:20px;background:#14242d99;opacity:0;pointer-events:none;transition:opacity .2s ease}.qnadv-departure-modal.is-open{opacity:1;pointer-events:auto}.qnadv-departure-modal-dialog{position:relative;width:min(100%,520px);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border-radius:16px;background:#fff;box-shadow:0 22px 70px #14242d44}.qnadv-departure-modal-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:#71828b;font-size:28px;cursor:pointer}.qnadv-departure-modal-dialog h2{margin:0;color:#104777;font-size:25px}.qnadv-departure-modal-info{display:grid;gap:5px;margin:10px 0 22px;color:#60737e}.qnadv-departure-modal-info span{color:#a11b2b;font-weight:750}.qnadv-departure-modal-actions{display:flex;gap:10px}.qnadv-departure-modal-actions a,.qnadv-departure-modal-actions button,.qnadv-departure-booking-form>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border-radius:8px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.qnadv-departure-modal-actions a{border:1px solid #b4dce5;color:#0a718e}.qnadv-departure-modal-actions button,.qnadv-departure-booking-form>button{border:1px solid #b51219;background:#b51219;color:#fff}.qnadv-departure-booking-form{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #e5ecef}.qnadv-departure-booking-form label{display:grid;gap:5px;color:#53656f;font-size:13px;font-weight:700}.qnadv-departure-booking-form input,.qnadv-departure-booking-form textarea{width:100%;padding:10px;border:1px solid #cdd9de;border-radius:8px;font:inherit}.qnadv-departure-booking-form textarea{min-height:70px;resize:vertical}.qnadv-departure-guest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.qnadv-departure-booking-form [data-departure-form-status]{margin:0;color:#247548;font-size:13px;font-weight:700}.qnadv-calendar-tour-badge{width:100%;border:0;text-align:left;font:inherit;cursor:pointer}.qnadv-calendar-tour-badge--more{text-align:center}@media(max-width:560px){.qnadv-departure-row .qnadv-departure-book{grid-column:2;justify-self:start}.qnadv-departure-modal-dialog{padding:23px 18px}.qnadv-departure-guest-grid{grid-template-columns:1fr}}
.qnadv-departure-actions{display:flex;align-items:center;gap:8px}.qnadv-departure-actions .qnadv-departure-action,.qnadv-departure-actions .qnadv-departure-book{white-space:nowrap}.qnadv-departure-book{min-height:40px;padding:0 11px;border:1px solid #b51219;border-radius:8px;background:#b51219;color:#fff;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.qnadv-departure-book:hover{background:#8e0e14}
.qnadv-departure-form-context{display:block;margin-top:8px;color:var(--tour-accent);font-size:13px}.qnadv-departure-form-context span:first-child{font-weight:700}.qnadv-departure-modal .booking-form-header{margin-bottom:19px}.qnadv-departure-modal .booking-form-header h2{margin:4px 0 5px}.qnadv-departure-modal .booking-form-header p{margin:0}.qnadv-departure-modal .counter-box-tr>div{display:grid;grid-template-columns:30px minmax(34px,1fr) 30px;align-items:center;gap:6px;margin-top:auto}.qnadv-departure-modal .counter-box-tr button{display:grid!important;place-items:center;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important}.qnadv-departure-modal .counter-box-tr input{display:block;width:100%!important;min-height:30px!important;height:30px!important;padding:0!important;border:0!important;text-align:center}
.qnadv-departure-modal.is-open{display:grid!important;visibility:visible!important}.qnadv-departure-modal[aria-hidden="true"]{visibility:hidden}.qnadv-departure-modal[aria-hidden="false"]{visibility:visible}
.qnadv-departures-summary-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 12px}.qnadv-departures-summary-row .qnadv-departures-summary{margin:0}.qnadv-departures-summary-row .qnadv-departures-view-switch{margin:0}
.qnadv-departures-view-switch button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.qnadv-departures-view-switch button span{font-size:14px}
.qnadv-departures-page button,.qnadv-departures-page input,.qnadv-departures-page select{margin:0!important;font-family:inherit;line-height:1.2;box-shadow:none}.qnadv-departures-status-filter{grid-column:1/-1;display:grid;gap:10px}.qnadv-status-chips{display:flex;flex-wrap:wrap;gap:8px}.qnadv-status-chip{min-height:36px;padding:0 12px!important;border:1px solid #d6e0e7!important;border-radius:999px!important;background:#fff!important;color:#53656f!important;font-size:12px!important;font-weight:750;cursor:pointer}.qnadv-status-chip.is-active{border-color:#a70f16!important;background:#fff5f5!important;color:#a70f16!important}.qnadv-status-chip--available.is-active{border-color:#27824d!important;background:#e8f7ef!important;color:#247548!important}.qnadv-status-chip--full.is-active{border-color:#a04444!important;background:#fff0f0!important;color:#a04444!important}.qnadv-status-chip--pause.is-active{border-color:#78858b!important;background:#f1f3f4!important;color:#68757c!important}.qnadv-departures-price span{font-size:11px}.qnadv-departure-price span{color:#74858e;font-size:11px}.qnadv-departure-price small{color:#8b989d;font-size:11px}
.qnadv-departure-price .qnadv-price-label{display:block!important;margin:0!important;color:#74858e!important;font-size:11px!important;font-weight:700!important;line-height:1.2!important;visibility:visible!important;opacity:1!important}.qnadv-departure-price strong{display:block!important;margin:0!important}
.qnadv-departures-price-filter{grid-column:1/-1;display:grid;gap:10px}.qnadv-price-chips{display:flex;flex-wrap:wrap;gap:8px}.qnadv-price-chip{min-height:36px;padding:0 12px!important;border:1px solid #d6e0e7!important;border-radius:999px!important;background:#fff!important;color:#53656f!important;font-size:12px!important;font-weight:750;cursor:pointer}.qnadv-price-chip.is-active{border-color:#a70f16!important;background:#fff5f5!important;color:#a70f16!important}
.qnadv-departures-page .qnadv-departures-toolbar button,.qnadv-departures-page .qnadv-departures-view-switch button,.qnadv-departures-page .qnadv-departures-more,.qnadv-departures-page .qnadv-departure-actions button,.qnadv-departures-page .qnadv-departure-actions a{margin:0!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;transform:none!important}.qnadv-departures-page input[type=search]{appearance:none;-webkit-appearance:none}.qnadv-departures-page input[type=search]::-webkit-search-cancel-button{appearance:none;-webkit-appearance:none}.qnadv-departure-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.qnadv-departure-actions .qnadv-departure-action,.qnadv-departure-actions .qnadv-departure-book{flex:0 0 auto}.qnadv-departures-page [hidden]{display:none!important}
.qnadv-departures-summary-row{min-width:0}.qnadv-departure-calendar{overflow:hidden}.qnadv-calendar-cell{min-width:0}.qnadv-calendar-tour-badge{min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:560px){.qnadv-departures-page{ }.qnadv-departures-intro{padding:0 4px 20px}.qnadv-departures-lede{font-size:15px}.qnadv-departures-summary-row{align-items:flex-start;gap:10px}.qnadv-departures-summary{font-size:13px}.qnadv-departures-summary strong{font-size:18px}.qnadv-departures-view-switch{flex:0 0 auto}.qnadv-departures-view-switch button{min-width:72px;min-height:42px;padding:0 9px!important}.qnadv-departures-view-switch button span{font-size:12px}.qnadv-departures-view-switch button svg{width:17px;height:17px}.qnadv-status-chips,.qnadv-price-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}.qnadv-status-chips::-webkit-scrollbar,.qnadv-price-chips::-webkit-scrollbar{display:none}.qnadv-status-chip,.qnadv-price-chip{flex:0 0 auto}.qnadv-departures-months{gap:9px}.qnadv-departure-chips{gap:8px}.qnadv-departure-chip{min-height:44px;padding:0 15px!important;font-size:13px!important}.qnadv-departure-row{grid-template-columns:66px minmax(0,1fr);gap:10px;padding:12px 10px}.qnadv-departure-date{padding-right:9px}.qnadv-departure-date strong{font-size:14px}.qnadv-departure-date span{font-size:10px}.qnadv-departure-tour a{font-size:14px;line-height:1.35}.qnadv-status{padding:5px 8px;font-size:11px}.qnadv-departure-price strong{font-size:15px}.qnadv-departure-actions{grid-column:2;justify-self:start}.qnadv-departure-actions .qnadv-departure-action,.qnadv-departure-actions .qnadv-departure-book{min-height:36px;padding:0 9px!important;font-size:11px!important}.qnadv-departure-calendar{padding:11px}.qnadv-calendar-weekdays,.qnadv-calendar-grid{gap:3px}.qnadv-calendar-cell{min-height:58px;padding:5px 3px}.qnadv-calendar-cell strong{font-size:12px}.qnadv-calendar-tour-badges{margin-top:5px;gap:2px}.qnadv-calendar-tour-badge{padding:3px;font-size:7px}.qnadv-departure-modal-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:21px 15px}.qnadv-departure-modal .booking-form-grid{grid-template-columns:1fr}.qnadv-departure-modal .guest-grid{grid-template-columns:1fr}.qnadv-departure-modal .counter-box-tr{min-height:62px;flex-direction:row;align-items:center;justify-content:space-between}.qnadv-departure-modal .counter-box-tr>div{margin:0}}
.qnadv-departures-hero{min-height:410px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,#071f33e3,#071f3385 55%,#071f332b),url('https://images.unsplash.com/photo-1508804185872-d7badad00f7d?auto=format&fit=crop&w=2000&q=85') center 48%/cover}.qnadv-departures-hero-inner{padding:65px 0 90px;color:#fff}.qnadv-departures-hero .qnadv-eyebrow{color:#bde7f0}.qnadv-departures-hero h1{margin:20px 0 15px;color:#fff;font-size:clamp(34px,5vw,58px);font-weight:800;letter-spacing:-1.8px}.qnadv-departures-hero .qnadv-departures-lede{max-width:570px;color:#e4edf3}.qnadv-departures-hero-stats{display:flex;gap:35px;margin-top:27px}.qnadv-departures-hero-stats span{color:#dce8ee;font-size:12px}.qnadv-departures-hero-stats strong{display:block;margin-bottom:4px;color:#fff;font-size:22px}.qnadv-departures-main{position:relative;margin-top:-49px;padding-bottom:65px}.qnadv-departures-filter-card{padding:28px 30px;border:1px solid #e8edf0;border-radius:20px;background:#fff;box-shadow:0 15px 45px #0f324617}.qnadv-departures-filter-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}.qnadv-departures-filter-top h2{display:flex;align-items:center;gap:10px;margin:0;color:#102f48;font-size:18px}.qnadv-departures-filter-top h2 span{color:#a91624}.qnadv-departures-search{display:flex;align-items:center;gap:12px;height:54px;margin-bottom:23px;padding:0 16px;border:1px solid #dce6eb;border-radius:12px;background:#f9fbfc}.qnadv-departures-search svg{width:20px;height:20px;flex:none;fill:none;stroke:#718694;stroke-width:2}.qnadv-departures-search input{box-shadow:unset !important;width:100%;border:0!important;outline:0;background:transparent!important;font-size:14px}.qnadv-departures-search:focus-within{border-color:#087b9d;box-shadow:0 0 0 3px #087b9d12}.qnadv-departures-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.qnadv-departures-filter-grid .qnadv-departures-status-filter,.qnadv-departures-filter-grid .qnadv-departures-price-filter{grid-column:auto}.qnadv-departures-months-label{margin-bottom:13px;color:#6b7c86;font-size:12px;font-weight:800;letter-spacing:.6px}.qnadv-departures-filter-footer{display:none;align-items:center;justify-content:space-between;gap:15px;margin-top:24px;padding-top:20px;border-top:1px solid #e4ebef;color:#6c7d89;font-size:13px}.qnadv-departures-apply{padding:13px 23px!important;border:0!important;border-radius:10px!important;background:#a91624!important;color:#fff!important;font-size:13px!important;font-weight:800!important}.qnadv-departures-apply:hover{background:#850d19!important}.qnadv-departures-toolbar{display:contents}@media(max-width:800px){.qnadv-departures-hero{min-height:360px}.qnadv-departures-hero-inner{padding:50px 20px 78px}.qnadv-departures-filter-card{padding:23px 20px}.qnadv-departures-filter-grid{grid-template-columns:1fr;gap:22px}.qnadv-departures-filter-grid .qnadv-departures-status-filter,.qnadv-departures-filter-grid .qnadv-departures-price-filter{grid-column:1}.qnadv-departures-filter-footer{align-items:stretch;flex-direction:column}.qnadv-departures-apply{width:100%}}@media(max-width:560px){.qnadv-departures-hero{min-height:330px}.qnadv-departures-hero-inner{padding:50px 16px 78px}.qnadv-departures-hero h1{letter-spacing:-1px}.qnadv-departures-hero .qnadv-departures-lede{font-size:13px}.qnadv-departures-hero-stats{gap:22px}.qnadv-departures-hero-stats strong{font-size:18px}.qnadv-departures-main{margin-top:-36px; padding:10px;}.qnadv-departures-filter-card{padding:20px 16px;border-radius:16px}.qnadv-departures-filter-top h2{font-size:16px}.qnadv-departures-filter-footer span{font-size:12px}}
.qnadv-departures-filter-top .qnadv-departures-reset{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:max-content!important;height:auto!important;min-height:0!important;margin:0!important;padding:6px 0!important;border:0!important;background:transparent!important;color:#a91624!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;white-space:nowrap!important;word-break:keep-all!important;overflow:visible!important;box-shadow:none!important;transform:none!important}.qnadv-departures-filter-top .qnadv-departures-reset[hidden]{display:none!important}
.qnadv-departures-filter-top{min-width:0}.qnadv-departures-filter-top h2{min-width:0}.qnadv-departures-filter-top .qnadv-departures-reset{flex:0 0 auto}
.qnadv-departures-summary-row{margin:35px 0 18px}.qnadv-departures-summary{font-size:16px;color:#728493}.qnadv-departures-summary strong{font-size:27px;color:#173f65;font-weight:800}.qnadv-departure-list{gap:12px}.qnadv-departure-row{grid-template-columns:145px minmax(0,1fr) 126px 170px;grid-template-areas:'date tour meta buy';gap:22px;padding:22px 24px;border-color:#e1e9ed;border-radius:17px;box-shadow:0 4px 20px #213b4b08;transition:box-shadow .2s,border-color .2s,transform .2s}.qnadv-departure-row:hover{border-color:#d4c0c0;box-shadow:0 12px 30px #233c4d1f;transform:translateY(-1px)}.qnadv-departure-date{grid-area:date;padding-right:20px;border-right:1px solid #e1e9ed}.qnadv-departure-date span{display:block;margin-bottom:8px;color:#728493;font-size:13px}.qnadv-departure-date strong{font-size:21px;color:#173f65;white-space:nowrap}.qnadv-departure-tour{grid-area:tour;align-self:start;padding-top:1px}.qnadv-departure-tour a{display:block;margin:0 0 9px;font-size:17px;line-height:1.45;font-weight:750}.qnadv-departure-tour span{display:block;font-size:13px;color:#728493}.qnadv-departure-meta{grid-area:meta;align-self:start;gap:9px}.qnadv-status{padding:7px 11px;border-radius:30px;font-size:12px}.qnadv-departure-price{grid-area:buy;align-self:start;justify-items:end}.qnadv-departure-price .qnadv-price-label{margin-bottom:8px!important;color:#728493!important;font-size:13px!important}.qnadv-departure-price strong{font-size:21px}.qnadv-departure-price small{display:block;margin-top:4px;color:#728493;font-size:12px}.qnadv-departure-actions{grid-area:buy;align-self:end;justify-content:flex-end;margin-top:66px}.qnadv-departure-action,.qnadv-departure-book{min-height:39px!important;padding:9px 12px!important;border-radius:9px!important;font-size:12px!important}.qnadv-departure-action{background:#fff2f2;color:#9a0f11}.qnadv-departure-book{background:#9a0f11;color:#fff}.qnadv-departure-book:hover{background:#780a0c}.qnadv-departures-more{border-radius:10px}.qnadv-departure-row[hidden]{display:none!important}@media(max-width:1050px){.qnadv-departure-row{grid-template-columns:130px minmax(0,1fr) 120px;grid-template-areas:'date tour meta' 'date buy buy';gap:18px}.qnadv-departure-buy,.qnadv-departure-price{grid-area:buy}.qnadv-departure-price{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:14px;border-top:1px solid #e1e9ed}.qnadv-departure-actions{margin:0}.qnadv-departure-meta{align-self:start}}
.qnadv-departures-page .qnadv-departure-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;margin:0!important}@media(max-width:650px){.qnadv-departure-row{grid-template-columns:1fr auto;grid-template-areas:'date meta' 'tour tour' 'buy buy';gap:12px;padding:17px}.qnadv-departure-date{padding:0;border:0}.qnadv-departure-date strong{font-size:19px}.qnadv-departure-tour{grid-area:tour}.qnadv-departure-tour a{font-size:16px;white-space:normal}.qnadv-departure-meta{grid-area:meta;justify-items:end}.qnadv-departure-price{grid-area:buy;display:flex;align-items:baseline;justify-content:space-between;padding-top:13px;border-top:1px solid #e1e9ed}.qnadv-departure-actions{grid-area:buy;justify-self:end;margin-top:50px!important}.qnadv-departures-filter-top{align-items:flex-start}.qnadv-departures-filter-top h2{font-size:16px}}
.qnadv-departures-page .qnadv-departure-row{grid-template-columns:145px minmax(0,1fr) 126px 170px auto;grid-template-areas:'date tour meta price actions';column-gap:22px}.qnadv-departures-page .qnadv-departure-price{grid-area:price;display:grid;justify-items:end;align-self:start;margin:0!important;padding:0!important;border:0!important}.qnadv-departures-page .qnadv-departure-actions{grid-area:actions;display:flex!important;align-self:end;justify-content:flex-end!important;flex-wrap:nowrap;gap:8px!important;margin:0!important}.qnadv-departures-page .qnadv-departures-more{display:block!important;width:max-content!important;max-width:100%;margin:18px auto 0!important;padding:13px 23px!important}
.qnadv-departures-page .qnadv-departure-tour a{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.qnadv-departures-page .qnadv-departures-months{margin-top:10px}
.qnadv-departures-page .qnadv-departures-filter-card{display:none!important}
.qnadv-departure-tour-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 0;padding:2px 1px 4px}
.qnadv-departure-tour-tabs button{display:flex;align-items:center;justify-content:flex-start;min-width:0;min-height:66px;padding:13px 16px;border:1px solid #dce6eb;border-radius:14px;background:#fff;color:#3f5665;font:inherit;font-size:13px;font-weight:750;line-height:1.4;text-align:left;cursor:pointer;box-shadow:0 4px 14px rgba(16,47,72,.05);transition:border-color .2s,background .2s,color .2s,box-shadow .2s,transform .2s}
.qnadv-departure-tour-tabs button:hover{border-color:#c8959b;color:#a91624;box-shadow:0 8px 20px rgba(16,47,72,.09);transform:translateY(-1px)}
.qnadv-departure-tour-tabs button.is-active{border-color:#a91624;background:#fff5f5;color:#a91624;box-shadow:0 8px 22px rgba(169,22,36,.12)}
@media(max-width:900px){.qnadv-departure-tour-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.qnadv-departure-tour-tabs{grid-template-columns:1fr;gap:9px;margin-top:18px;padding:0}.qnadv-departure-tour-tabs button{min-height:54px;padding:12px 14px;font-size:12px}}
.qnadv-departure-table-head{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(150px,1fr) minmax(140px,.8fr) minmax(130px,.8fr);align-items:center;border:1px solid #75b84b;border-bottom:0;background:#58b73b;color:#fff;font-size:13px;font-weight:800;text-align:center;text-transform:uppercase}
.qnadv-departure-table-head span{min-height:42px;display:grid;place-items:center;padding:7px 10px;border-right:1px solid rgba(255,255,255,.22)}
.qnadv-departure-table-head span:last-child{border-right:0}
.qnadv-departure-table{width:100%;border-collapse:collapse;table-layout:fixed}
.qnadv-departure-table col:nth-child(1){width:34%}.qnadv-departure-table col:nth-child(2){width:16%}.qnadv-departure-table col:nth-child(3){width:18%}.qnadv-departure-table col:nth-child(4){width:18%}.qnadv-departure-table col:nth-child(5){width:14%}
.qnadv-departure-table .qnadv-departure-table-head{display:table-row}
.qnadv-departure-table .qnadv-departure-table-head th{height:42px;padding:7px 10px;border-right:1px solid rgba(255,255,255,.22);background:#58b73b;color:#fff;font-size:13px;text-align:center;text-transform:uppercase}
.qnadv-departure-table .qnadv-departure-table-head th:last-child{border-right:0}
.qnadv-departure-table .qnadv-departure-row{display:table-row}
.qnadv-departure-table .qnadv-departure-row>td{display:table-cell;vertical-align:middle}
.qnadv-departure-table .qnadv-departure-row>td{border-right:1px solid #d9b47a;border-bottom:1px solid #d9b47a}
.qnadv-departure-table .qnadv-departure-row>td:last-child{border-right:0}
.qnadv-departure-table .qnadv-departure-tour{height:100%;border-right:1px solid #d9b47a}
.qnadv-departure-table .qnadv-departure-month{min-height:58px;padding:10px 12px;background:#fff; color:#173f65;font-size:16px;font-weight:800;text-align:center;vertical-align:middle;border-right:1px solid #d9b47a}
.qnadv-departures-page .qnadv-departure-table{display:table!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
.qnadv-departures-page .qnadv-departure-table thead{display:table-header-group!important}
.qnadv-departures-page .qnadv-departure-table tbody{display:table-row-group!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-table-head{display:table-row!important;grid-template:none!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-table-head th{display:table-cell!important;position:static!important;float:none!important;box-sizing:border-box!important;text-align:center!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-row{display:table-row!important;position:static!important;grid:none!important;grid-template:none!important;grid-template-areas:none!important;float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;transform:none!important;box-shadow:none!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-row>td{display:table-cell!important;position:static!important;float:none!important;box-sizing:border-box!important;vertical-align:middle!important;grid-area:auto!important;width:auto!important;height:auto!important;margin:0!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-tour{width:31%!important;text-align:center!important;vertical-align:middle!important;padding:14px 18px!important;border-right:1px solid #d9b47a!important;border-bottom:1px solid #d9b47a!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-price{width:17%!important;display:table-cell!important;text-align:center!important;vertical-align:middle!important;padding:10px!important;border-right:1px solid #d9b47a!important;border-bottom:1px solid #d9b47a!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-actions{width:14%!important;display:table-cell!important;text-align:center!important;vertical-align:middle!important;padding:10px!important;border-right:0!important;border-bottom:1px solid #d9b47a!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-month{width:20%!important;display:table-cell!important;text-align:center!important;vertical-align:middle!important;padding:10px!important;border-right:1px solid #d9b47a!important;border-bottom:1px solid #d9b47a!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-date{width:18%!important;display:table-cell!important;text-align:center!important;vertical-align:middle!important;padding:10px!important;border-right:1px solid #d9b47a!important;border-bottom:1px solid #d9b47a!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-date span{display:none!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-actions .qnadv-departure-action{display:none!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-book{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:7px 0 0!important}
.qnadv-departures-page .qnadv-departure-table .qnadv-departure-tour a{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.qnadv-departures-page .qnadv-departures-filter-card,.qnadv-departures-page .qnadv-departures-summary-row{display:none!important}
.qnadv-departures-page .qnadv-departures-main{width:min(1140px,calc(100% - 32px));max-width:none;margin:-42px auto 60px;padding:0 0 40px!important;position:relative;z-index:2}
.qnadv-departures-page .qnadv-departure-list-title{display:block!important;margin:0 0 18px!important;color:#243247!important;font-family:Arial,sans-serif!important;font-size:23px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:0!important}
.qnadv-departure-cards{display:grid!important;gap:18px}
.qnadv-departure-tour-card{overflow:hidden;border:1px solid #e5e9ee;border-radius:12px;background:#fff;box-shadow:0 4px 18px #142b4510}
.qnadv-departure-tour-card-head{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid #d8e5e8;background:#fff}
.qnadv-departure-tour-card-head img{width:112px;height:78px;flex:none;object-fit:cover;border-radius:8px}
.qnadv-departure-tour-card-image-link{display:block;flex:none}.qnadv-departure-tour-card-info{flex:1;min-width:0}.qnadv-departure-tour-card-info h2{margin:0 0 7px;color:#102f48;font-size:20px;line-height:1.35;font-weight:800}.qnadv-departure-tour-card-info h2 a{color:inherit;text-decoration:none}.qnadv-departure-tour-card-info h2 a:hover{color:#a91624}.qnadv-departure-tour-card-info p{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0;color:#607b86;font-size:12px}.qnadv-departure-tour-card-info p span{color:#087b9d;font-size:13px}.qnadv-departure-itinerary-link{display:inline-flex;align-items:center;gap:5px;margin-top:9px;color:#087b9d;font-size:12px;font-weight:800;text-decoration:none}.qnadv-departure-itinerary-link:hover{color:#a91624}.qnadv-departure-itinerary-link span{font-size:15px;line-height:1}
.qnadv-departure-tour-card-price{flex:0 0 auto;color:#607b86;font-size:12px;text-align:right}.qnadv-departure-tour-card-price strong{display:block;color:#a91624;font-size:19px}.qnadv-departure-tour-card-price small{font-size:11px}
.qnadv-departure-month-table{overflow-x:auto}.qnadv-departure-month-table-head,.qnadv-departure-month-row{display:grid;grid-template-columns:165px minmax(0,1fr)}.qnadv-departure-month-table-head{background:#eef7f8;color:#102f48;font-size:16px;font-weight:800}.qnadv-departure-month-table-head span,.qnadv-departure-month-name{padding:10px 14px}.qnadv-departure-month-row{border-top:1px solid #dfeaec}.qnadv-departure-month-name{background:#f8fbfc;color:#102f48;font-weight:800;white-space:nowrap}
.qnadv-departure-date-list{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px 14px}.qnadv-departure-date-btn{display:grid;min-width:0;width:100%!important;min-height:72px;padding:9px 8px;border:1px solid #d5e3e8;border-radius:9px;background:#fff;cursor:pointer;text-align:center}.qnadv-departure-date-btn .qnadv-departure-tour{display:none}.qnadv-departure-date-btn .day{color:#102f48;font-size:16px;font-weight:800; margin-top:5px}.qnadv-departure-date-btn .price{margin-top:4px;color:#a91624;font-size:16px;font-weight:800;margin-bottom: 5px;}.qnadv-departure-date-btn:hover,.qnadv-departure-date-btn.active{border-color:#a91624;background:#fff4f4}.qnadv-departure-date-btn.active{box-shadow:inset 0 0 0 1px #a91624}.qnadv-departure-tour-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #dfeaec;background:#fbfdfe}.qnadv-departure-chosen{color:#52657a;font-size:13px}.qnadv-departure-chosen b{color:#a91624}.qnadv-departure-tour-card-bottom .qnadv-departure-book{margin:0!important;background:#a91624!important}
@media(max-width:650px){.qnadv-departure-tour-card-head{align-items:flex-start;padding:12px;gap:10px}.qnadv-departure-tour-card-head img{width:78px;height:72px}.qnadv-departure-tour-card-info h2{font-size:14px}.qnadv-departure-tour-card-price{display:none}.qnadv-departure-month-table-head,.qnadv-departure-month-row{grid-template-columns:108px minmax(0,1fr)}.qnadv-departure-month-table-head span,.qnadv-departure-month-name{padding:8px}.qnadv-departure-date-list{gap:5px;padding:8px}.qnadv-departure-date-btn{min-width:88px;padding:6px}.qnadv-departure-tour-card-bottom{align-items:flex-start;padding:10px 12px}.qnadv-departure-tour-card-bottom .qnadv-departure-book{padding:10px 12px;white-space:nowrap}.qnadv-departure-chosen{font-size:12px}}
.qnadv-departures-page .qnadv-departures-hero{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:1!important;min-height:410px!important;width:100%!important;background-repeat:no-repeat!important;background-position:center 48%!important;background-size:cover!important}
.qnadv-departures-page .qnadv-departures-hero-inner{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:2!important}
@media(max-width:650px){.qnadv-departures-page .qnadv-departures-hero{min-height:330px!important}.qnadv-departures-page .qnadv-departures-main{width:calc(100% - 24px);margin-top:-30px;padding-bottom:28px!important}}
.qnadv-departures-page .qnadv-departure-calendar,.qnadv-departures-page .qnadv-departures-more,.qnadv-departures-page [data-departure-empty]{display:none!important}
.qnadv-departures-page .qnadv-departure-date-btn.qnadv-departure-row{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:none!important;position:relative!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:7px 10px!important;border:1px solid #dce4ec!important;border-radius:7px!important;background:#fff!important;box-shadow:none!important;transform:none!important;align-items:center!important;gap:0!important}
.qnadv-departures-page .qnadv-departure-date-btn.qnadv-departure-row:hover,.qnadv-departures-page .qnadv-departure-date-btn.qnadv-departure-row.active{border-color:#9a0f11!important;background:#fff4f4!important;box-shadow:inset 0 0 0 1px #9a0f11!important}
.qnadv-departures-page .qnadv-departure-date-btn .qnadv-departure-tour{display:none!important}
.qnadv-departures-page .qnadv-departure-tour-card-info h2{font-weight:800!important;color:#a91724 !important}
.qnadv-departures-page .qnadv-departure-tour-card-info p{color:#080808!important}
@media(max-width:900px){.qnadv-departures-page .qnadv-departure-date-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){.qnadv-departures-page .qnadv-departure-date-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.qnadv-departures-page .qnadv-departure-date-list{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important}
.qnadv-departures-page .qnadv-departure-date-btn{width:100%!important;min-width:0!important;min-height:76px!important}
@media(max-width:900px){.qnadv-departures-page .qnadv-departure-date-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){.qnadv-departures-page .qnadv-departure-date-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Tìm nhanh theo đúng tiêu đề tour, đặt ngay trước danh sách lịch. */
.qnadv-departures-title-search{display:flex;align-items:stretch;gap:10px;width:100%;margin:0 0 22px;padding:10px;border:1px solid #e1e9ed;border-radius:12px;background:#fff;box-shadow:0 4px 18px rgba(33,59,75,.06)}
.qnadv-departures-title-search-field{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0 14px;border:1px solid #cdd9de;border-radius:9px;background:#f8fafb}
.qnadv-departures-title-search-field i{flex:none;color:#718694;font-size:16px}
.qnadv-departures-title-search-field input{width:100%;min-width:0;min-height:48px;padding:10px 0;border:0!important;outline:0;background:transparent!important;color:#26343d;font:inherit;font-size:15px}
.qnadv-departures-title-search-field:focus-within{border-color:#087b9d;box-shadow:0 0 0 3px rgba(8,123,157,.12)}
.qnadv-departures-title-search>button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:165px;min-height:48px;padding:0 20px;border:0;border-radius:9px;background:#a91624;color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:background .2s ease,transform .2s ease}
.qnadv-departures-title-search>button:hover{background:#850d19;transform:translateY(-1px)}
.qnadv-departures-title-search>button:focus-visible{outline:3px solid rgba(169,22,36,.25);outline-offset:2px}
@media(max-width:560px){.qnadv-departures-title-search{display:grid;gap:8px;margin-bottom:16px;padding:8px}.qnadv-departures-title-search-field{padding:0 12px}.qnadv-departures-title-search>button{width:100%;min-height:46px}}
.qnadv-departures-title-search .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.qnadv-departures-page .qnadv-departures-empty--filtered{display:block!important;margin:0 0 18px;padding:22px 18px;border:1px dashed #cfdce1;border-radius:12px;background:#fff;color:#71828b;text-align:center}
.qnadv-departures-page .qnadv-departures-empty--filtered[hidden]{display:none!important}
.qnadv-departures-page .qnadv-departure-row{grid-template-columns:minmax(260px,1.7fr) minmax(150px,1fr) minmax(140px,.8fr) minmax(130px,.8fr);grid-template-areas:'tour actions date price';align-items:stretch;gap:0;padding:0;border:1px solid #d9b47a;border-top:0;border-radius:0;background:#fff;box-shadow:none;transform:none}
.qnadv-departures-page .qnadv-departure-row:hover{border-color:#d9b47a;box-shadow:none;transform:none}
.qnadv-departures-page .qnadv-departure-tour,.qnadv-departures-page .qnadv-departure-actions,.qnadv-departures-page .qnadv-departure-date,.qnadv-departures-page .qnadv-departure-price{min-width:0;min-height:58px;padding:10px 12px;border-right:1px solid #d9b47a;align-content:center}
.qnadv-departures-page .qnadv-departure-tour{grid-area:tour;text-align:center;justify-items:center}
.qnadv-departures-page .qnadv-departure-tour a{margin:0;color:#173f65;font-size:13px;font-weight:800;line-height:1.35;text-align:center}
.qnadv-departures-page .qnadv-departure-tour span:not(.qnadv-status){font-size:11px}
.qnadv-departures-page .qnadv-departure-actions{grid-area:actions;display:flex!important;flex-wrap:wrap;justify-content:center!important;align-items:center;gap:6px!important}
.qnadv-departures-page .qnadv-departure-date{grid-area:date;display:grid;justify-items:center;text-align:center;border-right:1px solid #d9b47a}
.qnadv-departures-page .qnadv-departure-date span{font-size:11px}.qnadv-departures-page .qnadv-departure-date strong{font-size:14px;color:#173f65}
.qnadv-departures-page .qnadv-departure-price{grid-area:price;display:grid;justify-items:center;align-content:center;border-right:0;text-align:center}.qnadv-departures-page .qnadv-departure-price .qnadv-price-label{display:none}.qnadv-departures-page .qnadv-departure-price strong{font-size:14px;color:#173f65}.qnadv-departures-page .qnadv-departure-price small{font-size:10px}
.qnadv-departures-page .qnadv-status{font-size:10px;padding:4px 7px}
@media(max-width:700px){.qnadv-departure-list{overflow-x:auto;padding-bottom:4px}.qnadv-departure-table-head,.qnadv-departures-page .qnadv-departure-row{min-width:760px}.qnadv-departure-table-head{font-size:10px}.qnadv-departures-page .qnadv-departure-tour,.qnadv-departures-page .qnadv-departure-actions,.qnadv-departures-page .qnadv-departure-date,.qnadv-departures-page .qnadv-departure-price{padding:9px 6px}.qnadv-departures-page .qnadv-departure-tour a{font-size:11px}.qnadv-departures-page .qnadv-departure-date strong,.qnadv-departures-page .qnadv-departure-price strong{font-size:12px}}
@media(max-width:1050px){.qnadv-departures-page .qnadv-departure-row{grid-template-columns:130px minmax(0,1fr) 120px;grid-template-areas:'date tour meta' 'date price price' 'date actions actions';row-gap:14px}.qnadv-departures-page .qnadv-departure-price{display:flex;align-items:baseline;justify-content:space-between;width:100%;padding-top:14px!important;border-top:1px solid #e1e9ed!important}.qnadv-departures-page .qnadv-departure-actions{justify-self:start;align-self:start}}
@media(max-width:650px){.qnadv-departures-page .qnadv-departure-row{grid-template-columns:1fr auto;grid-template-areas:'date meta' 'tour tour' 'price price' 'actions actions';row-gap:12px}.qnadv-departures-page .qnadv-departure-price{display:flex;align-items:baseline;justify-content:space-between;padding-top:13px!important;border-top:1px solid #e1e9ed!important}.qnadv-departures-page .qnadv-departure-actions{justify-self:start;align-self:start}.qnadv-departures-page .qnadv-departures-more{width:100%!important;text-align:center}}
.qnadv-departure-modal .qnadv-departure-modal-actions{display:none!important;align-items:stretch!important;justify-content:center!important;gap:12px!important;width:100%!important;margin:20px auto 0!important}.qnadv-departure-modal .qnadv-departure-modal-actions a,.qnadv-departure-modal .qnadv-departure-modal-actions button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:190px!important;min-height:54px!important;margin:0!important;padding:12px 22px!important;box-sizing:border-box!important;border-radius:12px!important;font:inherit!important;font-size:15px!important;font-weight:750!important;line-height:1.2!important;text-align:center!important}.qnadv-departure-modal .qnadv-departure-modal-actions a{border:2px solid #b4dce5!important;background:#fff!important;color:#0a718e!important}.qnadv-departure-modal .qnadv-departure-modal-actions button{border:2px solid #b51219!important;background:#b51219!important;color:#fff!important}@media(max-width:560px){.qnadv-departure-modal .qnadv-departure-modal-actions{gap:8px!important}.qnadv-departure-modal .qnadv-departure-modal-actions a,.qnadv-departure-modal .qnadv-departure-modal-actions button{flex:1 1 0;min-width:0!important;min-height:48px!important;padding:10px 8px!important;font-size:15px!important}}
.booking-form-header p {
    margin: 0;
    color: #b51318!important;
    font-size: 22px !important;
    font-weight: 800;
}

/* Căn giữa tên tháng trong toàn bộ ô, theo cả chiều ngang và chiều dọc. */
.qnadv-departures-page .qnadv-departure-month-name {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 12px 10px;
    text-align: center;
}

.qnadv-departures-page .qnadv-departure-month-table-head span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.qnadv-departure-modal-dialog { position: relative; }
.qnadv-departure-success-panel { padding: 28px 10px 12px; text-align: center; }
.qnadv-departure-success-panel h3 { margin: 10px 0 6px; }
.qnadv-departure-success-panel p { margin: 0 0 18px; }
.qnadv-departure-success-panel button { cursor: pointer; }
.qnadv-departure-sending-overlay { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; background: rgba(255,255,255,.86); }
.qnadv-departure-sending-overlay .spinner { width: 38px; height: 38px; border: 3px solid #eadcdd; border-top-color: #a91624; border-radius: 50%; animation: qnadv-departure-spin .8s linear infinite; }
@keyframes qnadv-departure-spin { to { transform: rotate(360deg); } }

@media (max-width: 650px) {
    /* Giữ biểu tượng đi cùng nhãn, để điểm đến xuống dòng tự nhiên thay vì vỡ thành từng flex-item. */
    .qnadv-departures-page .qnadv-departure-tour-card-info p {
        display: block;
        line-height: 1.65;
    }
    .qnadv-departures-page .qnadv-departure-tour-card-info p span {
        display: inline-block;
        margin: 0 4px 0 10px;
        vertical-align: baseline;
    }
    .qnadv-departures-page .qnadv-departure-tour-card-info p span:first-child {
        margin-left: 0;
    }

    /* Chữ trong bảng lịch gọn và đồng nhất trên màn hình di động. */
    .qnadv-departures-page .qnadv-departure-month-table-head,
    .qnadv-departures-page .qnadv-departure-month-name,
    .qnadv-departures-page .qnadv-departure-date-btn .day,
    .qnadv-departures-page .qnadv-departure-date-btn .price {
        font-size: 8px !important;
    }
}

/* Booking modal — cùng bảng màu navy/đỏ của TrungQuoc.Travel, ưu tiên đọc nhanh và điền form dễ. */
.qnadv-departure-modal {
    padding: 18px;
    background: rgba(11, 31, 46, .68);
    backdrop-filter: blur(3px);
}
.qnadv-departure-modal-dialog {
    width: min(100%, 680px) !important;
    max-height: min(92dvh, 820px) !important;
    overflow: auto;
    padding: 0 !important;
    border: 1px solid #e2eaee;
    border-radius: 18px !important;
    background: #fff;
    box-shadow: 0 28px 80px rgba(8, 38, 58, .25);
}
.qnadv-departure-modal-close {
    top: 18px !important;
    right: 18px !important;
    width: 38px !important;
    height: 38px !important;
    border: 1px solid #e5ecef !important;
    background: #f5f8f9 !important;
    color: #526873 !important;
    font-size: 25px !important;
    line-height: 1 !important;
    transition: .2s ease;
}
.qnadv-departure-modal-close:hover { background: #fff0f1 !important; color: #a91624 !important; border-color: #e7b9bd !important; }
.qnadv-departure-modal .booking-form-header {
    margin: 0 !important;
    padding: 30px 70px 22px 30px !important;
    border-bottom: 1px solid #e7eef1;
    background: linear-gradient(135deg, #f8fbfc 0%, #fff 72%);
}
.qnadv-departure-modal .booking-form-header .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #a91624 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .12em;
}
.qnadv-departure-modal .booking-form-header .eyebrow::before { content: ''; width: 22px; height: 2px; background: #d8af65; }
.qnadv-departure-modal .booking-form-header h2 {
    margin: 8px 0 10px !important;
    color: #102f48 !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
}
.qnadv-departure-modal .booking-form-header p {
    margin: 0 0 12px !important;
    color: #a91624 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
}
.qnadv-departure-modal .qnadv-departure-form-context {
    display: inline-flex !important;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin: 0 !important;
    color: #536b77 !important;
    font-size: 13px !important;
    font-weight: 650;
}
.qnadv-departure-modal .qnadv-departure-form-context span:first-child { color: #102f48 !important; }
.qnadv-departure-modal .tour-booking-form {
    gap: 16px !important;
    padding: 24px 30px 30px;
}
.qnadv-departure-modal .tour-booking-form label,
.qnadv-departure-modal .booking-guests > span {
    color: #294454 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}
.qnadv-departure-modal .tour-booking-form input:not([type="hidden"]),
.qnadv-departure-modal .tour-booking-form textarea { 
    padding: 11px 13px !important;
    border: 1px solid #d7e2e7 !important;
    border-radius: 9px !important;
    background: #fbfdfe !important;
    color: #102f48 !important;
    font-size: 14px !important;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.qnadv-departure-modal .tour-booking-form input:not([type="hidden"]):focus,
.qnadv-departure-modal .tour-booking-form textarea:focus {
    border-color: #087b9d !important;
    background: #fff !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(8, 123, 157, .12) !important;
}
.qnadv-departure-modal .counter-box-tr {
    min-height: 86px;
    padding: 11px !important;
    border: 1px solid #dce6ea !important;
    border-radius: 10px !important;
    background: #fbfdfe;
}
.qnadv-departure-modal .counter-box-tr > span { color: #687e89 !important; font-size: 11px !important; }
.qnadv-departure-modal .counter-box-tr button { border-radius: 7px !important; background: #fff !important; color: #102f48 !important; }
.qnadv-departure-modal .price-total {
    margin-top: 1px;
    padding: 14px 0 0 !important;
    border-top: 1px solid #e3ebee !important;
    color: #536b77 !important;
    font-size: 13px;
}
.qnadv-departure-modal .price-total strong { color: #a91624 !important; font-size: 19px !important; }
.qnadv-departure-modal .btn-search-tr {
    min-height: 50px !important;
    border-radius: 9px !important;
    background: #a91624 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .01em;
    transition: background .2s, transform .2s, box-shadow .2s;
}
.qnadv-departure-modal .btn-search-tr:hover { background: #86111c !important; box-shadow: 0 8px 20px rgba(169, 22, 36, .2); transform: translateY(-1px); }
.qnadv-departure-modal .booking-form-status { min-height: 18px; color: #a91624 !important; font-size: 12px; }
.qnadv-departure-success-panel { 
    text-align: center !important;
}
.qnadv-departure-success-panel::before {
    content: '✓';
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: #e8f6ef;
    color: #258354;
    font-size: 30px;
    font-weight: 800;
}
.qnadv-departure-success-panel h3 { color: #102f48 !important; font-size: 25px !important; }
.qnadv-departure-success-panel p { color: #71838c !important; font-size: 14px !important; }
.qnadv-departure-success-panel button { min-width: 120px; min-height: 44px; border: 0; border-radius: 9px; background: #a91624; color: #fff; font-weight: 800; }
@media (max-width: 560px) {
    .qnadv-departure-modal { padding: 10px; }
    .qnadv-departure-modal-dialog { max-height: calc(100dvh - 20px) !important; border-radius: 14px !important; }
    .qnadv-departure-modal .booking-form-header { padding: 24px 56px 18px 18px !important; }
    .qnadv-departure-modal .booking-form-header h2 { font-size: 23px !important; }
    .qnadv-departure-modal .booking-form-header p { font-size: 15px !important; }
    .qnadv-departure-modal .tour-booking-form { padding: 18px; gap: 13px !important; }
    .qnadv-departure-modal .booking-form-grid { grid-template-columns: 1fr !important; gap: 13px !important; }
    .qnadv-departure-success-panel { padding: 48px 18px 56px !important; }
}
