/* Inherit the quotation's Bootstrap typography, colours and card spacing. */
.quotation-tour-overview .tour-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:0;margin-bottom:16px}
.quotation-tour-overview .tour-heading::-webkit-details-marker{display:none}
.quotation-tour-overview .tour-heading:focus-visible{outline:2px solid var(--bs-primary,#350073);outline-offset:6px}
.quotation-tour-overview .tour-toggle-label{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--bs-primary,#350073)}
.quotation-tour-overview .tour-chevron{font-size:20px;transform:rotate(180deg)}
.quotation-tour-overview details:not([open]) .tour-chevron{transform:none}
.quotation-tour-overview .tour-show,.quotation-tour-overview details:not([open]) .tour-hide{display:none}
.quotation-tour-overview details:not([open]) .tour-show{display:inline}
.quotation-tour-overview .tour-stats{display:flex;gap:16px;margin-bottom:12px}
.quotation-tour-overview .tour-destinations{display:flex;flex-wrap:wrap;gap:8px 16px;padding:0;margin:0 0 20px;list-style:none}
.quotation-tour-overview .tour-destinations li{display:flex;align-items:center;gap:7px;font-size:.875rem}
.quotation-tour-overview .tour-stop-number{font-size:.75rem;padding:5px 7px}
.quotation-tour-overview .tour-map-frame{position:relative;border-radius:var(--bs-border-radius,.375rem);overflow:hidden;border:1px solid var(--bs-border-color,#d9dee3)}
.quotation-tour-overview .tour-map{width:100%;height:520px;max-height:75vh;min-height:360px;background:var(--bs-body-bg,#f5f5f9)}
.quotation-tour-overview .tour-map-reset{position:absolute;top:12px;left:12px}
.quotation-tour-overview .tour-map-caption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:.8125rem;color:var(--bs-secondary-color,#697a8d);margin:12px 0 20px}
.quotation-tour-overview .tour-map-status{margin:0;text-align:right}
.quotation-tour-overview .tour-legend{display:flex;align-items:center;gap:8px;white-space:nowrap}
.quotation-tour-overview .tour-legend>span{width:20px;height:3px;background:var(--bs-primary,#350073)}
.quotation-tour-overview .tour-plan-title{margin-bottom:12px}
.quotation-tour-overview .tour-day-date{min-width:125px}
.quotation-tour-overview td{vertical-align:top}
@media(max-width:575px){.quotation-tour-overview .tour-map{height:420px;min-height:320px}.quotation-tour-overview .tour-toggle-label .tour-hide,.quotation-tour-overview .tour-toggle-label .tour-show{display:none}.quotation-tour-overview .tour-map-caption{display:block}.quotation-tour-overview .tour-map-status{text-align:left;margin-top:8px}.quotation-tour-overview .table{min-width:560px}}
@media print{.quotation-tour-overview details>.tour-overview-body{display:block!important}.quotation-tour-overview .tour-toggle-label,.quotation-tour-overview .tour-map-frame,.quotation-tour-overview .tour-map-caption{display:none}.quotation-tour-overview tr{break-inside:avoid}}

/* Keep the map toggle readable outside the policy accordion group. */
.quotation-tour-accordion{margin-top:16px}
.quotation-tour-overview .accordion-header{margin:0}
.quotation-tour-overview .accordion-button{min-height:60px;padding:18px 22px;line-height:1.5;font-size:1rem;white-space:normal}
.quotation-tour-overview .accordion-button::after{flex-shrink:0;margin-left:auto}
.quotation-tour-overview .tour-stay-group{border:1px solid #d9dee3;border-radius:6px;margin-bottom:20px;overflow:hidden;break-inside:avoid}
.quotation-tour-overview .tour-stay-header{display:flex;justify-content:space-between;gap:20px;padding:16px;background:#f7f8fb;border-bottom:1px solid #e7e9ed}
.quotation-tour-overview .tour-stay-dates{text-align:right;font-size:.875rem;flex-shrink:0}
.quotation-tour-overview .tour-stay-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr)}
.quotation-tour-overview .tour-stay-no-hotel{grid-template-columns:minmax(0,1fr)}
.quotation-tour-overview .tour-stay-rooms{border-left:1px solid #e7e9ed;padding:16px;font-size:.875rem;line-height:1.7}
.quotation-tour-overview .tour-stay-period+.tour-stay-period{border-top:1px solid #e7e9ed;margin-top:12px;padding-top:12px}
.quotation-tour-overview .tour-stay-itinerary{min-width:0}
.quotation-tour-overview .tour-stay-itinerary td{white-space:normal;overflow-wrap:anywhere;padding:12px}
@media(max-width:767px){.quotation-tour-overview .tour-stay-content{grid-template-columns:minmax(0,1fr)}.quotation-tour-overview .tour-stay-header{display:block}.quotation-tour-overview .tour-stay-dates{text-align:left;margin-top:8px}.quotation-tour-overview .tour-stay-rooms{border-left:0;border-top:1px solid #e7e9ed}.quotation-tour-overview .tour-stay-itinerary .table{min-width:0}.quotation-tour-overview .tour-day-date{min-width:85px;width:28%}}
/* Tour brief: aligned day columns and clear separation between stays. */
.quotation-tour-overview .tour-plan-title{margin:28px 0 18px;font-size:1.125rem;font-weight:600}
.quotation-tour-overview .tour-stay-group{border:1px solid #e1e5ec;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(67,89,113,.08);margin-bottom:24px}
.quotation-tour-overview .tour-stay-header{padding:18px 20px;background:#f4f6fa;align-items:center}
.quotation-tour-overview .tour-stay-header h6{font-weight:600;color:#435971;font-size:1rem}
.quotation-tour-overview .tour-stay-header .text-muted{color:#697a8d!important;line-height:1.7}
.quotation-tour-overview .tour-stay-dates strong{display:inline-block;padding:3px 10px;background:#ebe7f3;border-radius:5px;color:#350073;font-size:.8125rem;margin-bottom:4px}
.quotation-tour-overview .tour-stay-content{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start}
.quotation-tour-overview .tour-stay-no-hotel{grid-template-columns:minmax(0,1fr)}
.quotation-tour-overview .tour-brief-table{width:100%;table-layout:fixed}
.quotation-tour-overview .tour-brief-table-head th{background:#fff;color:#697a8d;padding:12px 16px;font-weight:500;font-size:.75rem;border-bottom:1px solid #e7e9ed;letter-spacing:.04em}
.quotation-tour-overview .tour-brief-table th:first-child,.quotation-tour-overview .tour-brief-table td:first-child{width:145px}
.quotation-tour-overview .tour-brief-table td{padding:14px 16px;line-height:1.7}
.quotation-tour-overview .tour-brief-table td small{display:inline-block;margin-top:4px;color:#697a8d!important;font-size:.8125rem}
.quotation-tour-overview .tour-brief-table tbody tr:last-child td{border-bottom:0}
.quotation-tour-overview .tour-stay-rooms{padding:16px 20px;background:#fcfcfe;align-self:stretch;line-height:1.8}
.quotation-tour-overview .tour-stay-rooms h6{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#697a8d;margin-bottom:12px}
.quotation-tour-overview .tour-stay-period strong{color:#435971;font-weight:600}
.quotation-tour-overview .tour-stay-period small{color:#697a8d}
@media(max-width:767px){.quotation-tour-overview .tour-stay-content{grid-template-columns:minmax(0,1fr)}.quotation-tour-overview .tour-stay-header{padding:16px}.quotation-tour-overview .tour-stay-rooms{padding:16px}.quotation-tour-overview .tour-brief-table th:first-child,.quotation-tour-overview .tour-brief-table td:first-child{width:105px}.quotation-tour-overview .tour-brief-table td,.quotation-tour-overview .tour-brief-table-head th{padding:12px}.quotation-tour-overview .tour-stay-dates{margin-top:10px}}
@media(max-width:420px){.quotation-tour-overview .tour-brief-table-head{display:none}.quotation-tour-overview .tour-brief-table,.quotation-tour-overview .tour-brief-table tbody{display:block}.quotation-tour-overview .tour-brief-table tr{display:block;padding:12px 14px;border-bottom:1px solid #e7e9ed}.quotation-tour-overview .tour-brief-table td,.quotation-tour-overview .tour-brief-table td:first-child{display:block;width:auto;min-width:0;border:0;padding:0}.quotation-tour-overview .tour-brief-table td:first-child{margin-bottom:6px}.quotation-tour-overview .tour-brief-table td:first-child br{display:none}.quotation-tour-overview .tour-brief-table td:first-child small{margin-left:8px}}
/* Put accommodation details beside the days, rather than heading the entire stay. */
.quotation-tour-overview .tour-stay-rooms .tour-stay-header{display:block;padding:0 0 16px;margin-bottom:16px;background:transparent;border-bottom:1px solid #e7e9ed}
.quotation-tour-overview .tour-stay-rooms .tour-stay-header h6{margin-bottom:6px!important;font-size:1.125rem!important;text-transform:none;letter-spacing:0;color:#435971}
.quotation-tour-overview .tour-stay-rooms .tour-stay-dates{text-align:left;margin-top:10px;white-space:normal}
.quotation-tour-overview .tour-brief-day-badge{display:inline-block;padding:4px 10px;border-radius:5px;background:#ebe7f3;color:#350073;font-weight:600;font-size:.9375rem}
.quotation-tour-overview .tour-brief-table td:first-child{background:#fafafe}
.quotation-tour-overview .tour-stay-rooms{overflow-wrap:anywhere}
@media(max-width:420px){.quotation-tour-overview .tour-brief-table td:first-child{background:transparent}}
/* Compact accommodation summaries avoid oversized empty single-day cards. */
.quotation-tour-overview .tour-stay-content{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}
.quotation-tour-overview .tour-stay-no-hotel{grid-template-columns:minmax(0,1fr)}
.quotation-tour-overview .tour-stay-rooms{padding:16px 18px}
.quotation-tour-overview .tour-stay-rooms .tour-stay-header{padding-bottom:10px;margin-bottom:10px}
.quotation-tour-overview .tour-stay-rooms .tour-stay-header h6{margin-bottom:2px!important}
.quotation-tour-overview .tour-stay-rooms .tour-stay-dates{margin-top:6px;line-height:1.5}
.quotation-tour-overview .tour-stay-rooms .tour-stay-dates br{display:none}
.quotation-tour-overview .tour-stay-dates small{margin-left:6px}
.quotation-tour-overview .tour-stay-dates strong{padding:2px 7px;margin-bottom:0}
.quotation-tour-overview .tour-room-label{font-size:.8125rem;color:#697a8d;margin-bottom:3px}
.quotation-tour-overview .tour-room-facts{display:flex;flex-wrap:wrap;gap:4px 16px;color:#566a7f;font-size:.8125rem;line-height:1.6}
.quotation-tour-overview .tour-stay-period{line-height:1.6}
.quotation-tour-overview .tour-stay-period+.tour-stay-period{margin-top:8px;padding-top:8px}
@media(max-width:767px){.quotation-tour-overview .tour-stay-content{grid-template-columns:minmax(0,1fr)}.quotation-tour-overview .tour-stay-dates small{display:inline-block;margin-left:0;margin-top:4px}.quotation-tour-overview .tour-stay-dates strong{margin-right:8px}}
/* Let each day's content determine its height; accommodation is a compact strip below. */
.quotation-tour-overview .tour-stay-content{display:block}
.quotation-tour-overview .tour-stay-rooms{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,1.4fr);gap:4px 24px;border-left:0;border-top:1px solid #e7e9ed;padding:16px 18px;background:#f8f9fc}
.quotation-tour-overview .tour-stay-rooms .tour-stay-header{grid-column:1 / -1;grid-row:auto;border:0;margin:0 0 8px;padding:0}
.quotation-tour-overview .tour-room-label{grid-column:1 / -1}.quotation-tour-overview .tour-stay-period{grid-column:1 / -1}
.quotation-tour-overview .tour-stay-period+.tour-stay-period{margin-top:6px;padding-top:8px}
.quotation-tour-overview .tour-brief-table td{background:#fff}
.quotation-tour-overview .tour-brief-table td:first-child{background:#fafafe}
@media(max-width:575px){.quotation-tour-overview .tour-stay-rooms{display:block;padding:14px}.quotation-tour-overview .tour-stay-rooms .tour-stay-header{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e7e9ed}.quotation-tour-overview .tour-brief-table td:first-child{background:transparent}}
/* Use the full width of the accommodation strip on desktop. */
.quotation-tour-overview .tour-stay-rooms{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px 24px}
.quotation-tour-overview .tour-stay-rooms .tour-stay-header{display:contents}
.quotation-tour-overview .tour-stay-rooms .tour-stay-header>div:first-child{grid-column:1 / span 2;grid-row:1}
.quotation-tour-overview .tour-stay-rooms .tour-stay-dates{grid-column:3;grid-row:1;text-align:right;margin-top:0}
.quotation-tour-overview .tour-room-label{grid-column:1 / -1;margin:4px 0 0}
.quotation-tour-overview .tour-stay-period{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:4px 24px;align-items:baseline}
.quotation-tour-overview .tour-room-facts{display:contents}
.quotation-tour-overview .tour-room-facts>span:last-child{text-align:right}
.quotation-tour-overview .tour-stay-period>small{grid-column:1 / -1}
@media(max-width:767px){.quotation-tour-overview .tour-stay-rooms{display:block}.quotation-tour-overview .tour-stay-rooms .tour-stay-header{display:block;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e7e9ed}.quotation-tour-overview .tour-stay-rooms .tour-stay-dates{text-align:left;margin-top:8px}.quotation-tour-overview .tour-stay-period{display:block}.quotation-tour-overview .tour-room-facts{display:flex;gap:8px 16px;margin-top:4px}.quotation-tour-overview .tour-room-facts>span:last-child{text-align:left}}
/* Desktop: one compact hotel cell alongside all days of the stay. */
.quotation-tour-overview .tour-stay-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:stretch}
.quotation-tour-overview .tour-stay-no-hotel{grid-template-columns:minmax(0,1fr)}
.quotation-tour-overview .tour-stay-rooms{display:block;border-top:0;border-left:1px solid #e7e9ed;padding:14px 16px}
.quotation-tour-overview .tour-stay-rooms .tour-stay-header{display:block;padding:0 0 8px;margin-bottom:8px;border-bottom:1px solid #e7e9ed}
.quotation-tour-overview .tour-stay-rooms .tour-stay-header h6{font-size:1rem!important;margin-bottom:2px!important}
.quotation-tour-overview .tour-stay-rooms .tour-stay-dates{text-align:left;margin-top:6px}
.quotation-tour-overview .tour-stay-period{display:block;line-height:1.5}
.quotation-tour-overview .tour-room-facts{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px}
.quotation-tour-overview .tour-room-facts>span:last-child{text-align:left}
.quotation-tour-overview .tour-room-label{margin:0 0 3px}
.quotation-tour-overview .tour-stay-period>small{display:block;margin-top:4px}
@media(max-width:767px){.quotation-tour-overview .tour-stay-content{grid-template-columns:minmax(0,1fr)}.quotation-tour-overview .tour-stay-rooms{border-left:0;border-top:1px solid #e7e9ed}}
/* A single day's hotel and room category share one compact heading. */
.quotation-tour-overview .tour-single-day .tour-stay-rooms{padding:12px 16px}
.quotation-tour-overview .tour-single-day .tour-stay-rooms .tour-stay-header{border-bottom:0;margin-bottom:2px;padding-bottom:0}
.quotation-tour-overview .tour-inline-room{font-weight:500;color:#566a7f}
.quotation-tour-overview .tour-single-day .tour-room-facts{margin-top:5px;font-size:.8125rem}
.quotation-tour-overview .tour-single-day .tour-stay-dates{margin-top:4px}
/* Continue the day tint below short rows when accommodation determines the card height. */
.quotation-tour-overview .tour-stay-itinerary{background:linear-gradient(to right,#fafafe 0,#fafafe 145px,#fff 145px,#fff 100%)}
@media(max-width:767px){.quotation-tour-overview .tour-stay-itinerary{background:linear-gradient(to right,#fafafe 0,#fafafe 105px,#fff 105px,#fff 100%)}}
@media(max-width:420px){.quotation-tour-overview .tour-stay-itinerary{background:#fff}}

/* Separate each complete day-and-accommodation group as one card. */
.quotation-tour-overview .tour-stay-group{background:#f8f9fc;border:1px solid #dfe4ee;border-radius:12px;box-shadow:0 5px 18px rgba(67,89,113,.12);margin-bottom:26px}
.quotation-tour-overview .tour-brief-table{background:transparent!important}
.quotation-tour-overview .tour-brief-table td{background:#f8f9fc}
.quotation-tour-overview .tour-brief-table td:first-child{background:#edf5fb}
.quotation-tour-overview .tour-stay-itinerary{background:linear-gradient(to right,#edf5fb 0,#edf5fb 145px,#f8f9fc 145px,#f8f9fc 100%)}
.quotation-tour-overview .tour-stay-rooms{background:#f8f9fc}
@media(max-width:767px){.quotation-tour-overview .tour-stay-itinerary{background:linear-gradient(to right,#edf5fb 0,#edf5fb 105px,#f8f9fc 105px,#f8f9fc 100%)}}
@media(max-width:420px){.quotation-tour-overview .tour-stay-itinerary,.quotation-tour-overview .tour-brief-table td:first-child{background:#f8f9fc}}

.quotation-tour-overview .tour-remaining-days{min-width:0}
.quotation-tour-overview .tour-remaining-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:14px 18px;border:1px solid #e1e5ee;border-radius:10px;background:#f8f7fc;color:#350073;font-weight:600;margin-bottom:18px}
.quotation-tour-overview .tour-remaining-toggle::-webkit-details-marker{display:none}
.quotation-tour-overview .tour-remaining-toggle:focus-visible{outline:2px solid #350073;outline-offset:3px}
.quotation-tour-overview .tour-remaining-chevron{width:9px;height:9px;flex-shrink:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 3px 4px}
.quotation-tour-overview .tour-remaining-days[open] .tour-remaining-chevron{transform:rotate(225deg);margin-bottom:0}
.quotation-tour-overview .tour-remaining-days:not([open])>.tour-remaining-content{display:none}
@media print{.quotation-tour-overview .tour-remaining-days:not([open])>.tour-remaining-content{display:block}.quotation-tour-overview .tour-remaining-toggle{display:none}}

.quotation-tour-overview .tour-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.quotation-tour-overview .tour-plan-heading .tour-plan-title{margin:0}
.tour-day-summary-dialog{width:min(1400px,95vw);max-width:95vw;max-height:90vh;padding:20px;border:1px solid #d9dee8;border-radius:12px;box-shadow:0 16px 60px #17243b44;color:#42566e;background:white}
.tour-day-summary-dialog::backdrop{background:#17243b99}
.tour-day-summary-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tour-day-summary-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.tour-day-summary-scroll{overflow:auto;max-height:65vh;margin-top:12px}
.tour-day-summary-table{min-width:1100px}
.tour-day-summary-table td{white-space:normal}
@media(max-width:575px){.tour-day-summary-dialog{padding:14px}.tour-day-summary-toolbar h5{font-size:18px}}

/* The arrow describes the transfer once; the day badge sits beside its visits below. */
.quotation-tour-overview .tour-stay-itinerary{background:#f8f9fc}
.quotation-tour-overview .tour-stay-rooms{border-left:1px solid #e2e8ef}
.quotation-tour-overview .tour-brief-table .tour-brief-day-cell:first-child{width:auto;min-width:0;background:#f8f9fc;padding:18px 20px;border-bottom:1px solid #e2e8ef}
.quotation-tour-overview .tour-brief-transfer{font-size:1.12rem;line-height:1.5;color:#234e70;margin-bottom:12px;overflow-wrap:anywhere}
.quotation-tour-overview .tour-brief-day-visits{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start}
.quotation-tour-overview .tour-brief-day-meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.quotation-tour-overview .tour-brief-day-meta small{font-size:.8125rem;color:#6f8095;margin:0!important}
.quotation-tour-overview .tour-brief-visits{min-width:0;overflow-wrap:anywhere;line-height:1.65;color:#526b80}
.quotation-tour-overview .tour-brief-visits small{display:block}
@media(max-width:767px){.quotation-tour-overview .tour-stay-rooms{border-left:0;border-top:1px solid #e2e8ef}.quotation-tour-overview .tour-brief-day-visits{grid-template-columns:90px minmax(0,1fr);gap:12px}}
@media(max-width:420px){.quotation-tour-overview .tour-brief-table tr{padding:0}.quotation-tour-overview .tour-brief-table .tour-brief-day-cell:first-child{display:block;margin:0;padding:14px}.quotation-tour-overview .tour-brief-day-visits{grid-template-columns:80px minmax(0,1fr);gap:10px}}
