/* One photo-and-blue summary treatment for journey, package and member enquiries. */
:is(#dialog,#app) .travel-enquiry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0;align-items:stretch;padding:0;margin:0}
:is(#dialog,#app) .travel-enquiry>aside{align-self:stretch;position:relative;top:auto;height:auto;min-height:100%;min-width:0;padding:0!important;background:#1b3050;color:#fff}
:is(#dialog,#app) .travel-enquiry>aside :is(h2,h3,p,small,li,a,button,.eyebrow){color:#fff}
:is(#dialog,#app) .travel-enquiry>aside :is(h2,h3){letter-spacing:normal}
:is(#dialog,#app) .travel-enquiry>aside :is(.package-enquiry-copy,.package-selected){background:transparent}
:is(#dialog,#app) .travel-enquiry>aside>.enquiry-summary-copy,:is(#dialog,#app) .travel-enquiry>aside>.package-enquiry-copy,:is(#dialog,#app) .travel-enquiry>aside.request-aside>div{padding:24px}
:is(#dialog,#app) .travel-enquiry>aside .enquiry-summary-copy>p{font-size:13px;line-height:1.65}
:is(#dialog,#app) .travel-enquiry>aside>.flow-photo{margin:0;height:220px;aspect-ratio:auto}
:is(#dialog,#app) .travel-enquiry>aside>img{display:block;width:100%;height:220px;object-fit:cover}
:is(#dialog,#app) .travel-enquiry>aside .flow-photo img{width:100%;height:100%;object-fit:cover}
:is(#dialog,#app) .travel-enquiry>aside .flow-photo figcaption{background:linear-gradient(transparent,#172d50b8);color:#fff;padding:18px 14px 10px}
:is(#dialog,#app) .travel-enquiry>.request-content,:is(#dialog,#app) .travel-enquiry>div{display:block;min-width:0;min-height:0!important;padding:24px 28px;background:#fff}
:is(#dialog,#app) .travel-enquiry>div>.eyebrow{margin:0 0 12px}
:is(#dialog,#app) .travel-enquiry>div>h2{margin:0 0 14px;line-height:1.25;letter-spacing:normal}
:is(#dialog,#app) .travel-enquiry>div>p{font-size:14px;line-height:1.6;margin:0 0 20px}
:is(#dialog,#app) .travel-enquiry form{display:block!important;flex:none!important;min-height:0!important;padding:0;border:0;background:transparent}
:is(#dialog,#app) .travel-enquiry>form{padding:24px 28px;background:#fff}
:is(#dialog,#app) .travel-enquiry>aside .package-selected{border:0}
:is(#dialog,#app) .travel-enquiry form>[type=submit]{margin-top:16px;min-height:46px}
:is(#dialog,#app) .travel-enquiry .request-contact-party{margin:14px 0 18px;gap:16px;align-items:start}
:is(#dialog,#app) .travel-enquiry .request-contact-party :is(.request-contact-extra,.request-travel-fields){margin:0}
:is(#dialog,#app) .travel-enquiry .request-contact-party label{margin-top:0;margin-bottom:0}
:is(#dialog,#app) .travel-enquiry .request-travel-fields{grid-template-columns:1fr 1fr;gap:10px 14px}
:is(#dialog,#app) .travel-enquiry .request-group{grid-column:1/-1;margin:0;padding:0;border:0}
:is(#dialog,#app) .travel-enquiry .request-group .request-group-toggle{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:13px;line-height:1.5}
:is(#dialog,#app) .travel-enquiry .request-group input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;padding:0!important;margin:0!important;flex:none}
:is(#dialog,#app) .travel-enquiry .enquiry-hotel-request{color:#fff;border:0;margin:0;padding:14px 0 0;font-size:13px;line-height:1.6}
:is(#dialog,#app) .travel-enquiry aside :is(ul,ol):has(+.enquiry-hotel-request){border-bottom:1px solid #ffffff40;margin-bottom:0}
:is(#dialog,#app) .travel-enquiry [hidden]{display:none!important}
:is(#dialog,#app) .travel-enquiry .mt-account-contact{font-size:12px;margin:0 0 16px;color:#526984}
@media(max-width:800px){
 :is(#dialog,#app) .travel-enquiry{display:flex;flex-direction:column;gap:0}
 :is(#dialog,#app) .travel-enquiry>aside{min-height:0;width:100%}
 :is(#dialog,#app) .travel-enquiry>.request-content,:is(#dialog,#app) .travel-enquiry>div,:is(#dialog,#app) .travel-enquiry>form{padding:22px 20px;width:100%;box-sizing:border-box}
 :is(#dialog,#app) .travel-enquiry>aside>img,:is(#dialog,#app) .travel-enquiry>aside>.flow-photo{height:170px}
 :is(#dialog,#app) .travel-enquiry .request-contact-party{grid-template-columns:1fr;gap:14px}
}

:is(#dialog,#app) .travel-enquiry form label{margin-top:0}
@media(max-width:800px){
 #dialog.mt-member-modal .travel-enquiry .mt-party-row,#dialog.mt-member-modal .travel-enquiry .mt-stay-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 #dialog.mt-member-modal .travel-enquiry .mt-party-row>label,#dialog.mt-member-modal .travel-enquiry .mt-stay-row>label{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
}

:is(#dialog,#app) .travel-enquiry>aside .package-selected{background:transparent;border:0;color:#fff}

/* Present the customer flow without authoring notes. */
:is(#dialog,#app) .travel-enquiry .prototype-note,:is(#dialog,#app) .travel-enquiry+.prototype-note{display:none!important}
:is(#dialog,#app) .travel-enquiry :is(input,select,textarea){font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:normal}
:is(#dialog,#app) .travel-enquiry :is(input,textarea)::placeholder{font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:normal;color:#697b8c;opacity:1}
:is(#dialog,#app) .travel-enquiry>div,:is(#dialog,#app) .travel-enquiry>form{padding-bottom:32px}
:is(#dialog,#app) .travel-enquiry .mt-form-error:empty{display:none}
:is(#dialog,#app) .travel-enquiry .enquiry-discovery{padding:12px 24px 24px;border:0;margin-top:auto}
:is(#dialog,#app) .travel-enquiry .enquiry-discovery a{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;box-sizing:border-box;margin:0;padding:18px 0;border:0;font:inherit;font-size:20px;font-weight:400;color:#c8dcee;text-decoration:none;line-height:1.5;letter-spacing:normal}
:is(#dialog,#app) .travel-enquiry .enquiry-discovery a .icon{width:22px;height:22px;flex:none;color:inherit}
:is(#dialog,#app) .travel-enquiry .enquiry-discovery a+a{border-top:1px solid #ffffff40}
:is(#dialog,#app) .travel-enquiry .enquiry-discovery a:is(:hover,:focus-visible){color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
:is(#dialog,#app) .travel-enquiry .enquiry-discovery a:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:800px){
 #dialog.mt-member-modal .travel-enquiry .mt-phone-nights-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 #dialog.mt-member-modal .travel-enquiry .mt-phone-nights-row>label{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
}

#dialog.mt-member-modal .travel-enquiry>aside h3{font-family:inherit;font-weight:400;font-size:24px;line-height:1.35;letter-spacing:normal}
#dialog.mt-member-modal #mt-member-request .mt-party-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0}
#dialog.mt-member-modal #mt-member-request .mt-party-row>label{grid-column:auto}
#dialog.mt-member-modal #mt-member-request .mt-stay-row{grid-template-columns:minmax(0,1fr) 110px;align-items:end}
@media(max-width:800px){
 #dialog.mt-member-modal #mt-member-request .mt-stay-row{grid-template-columns:minmax(0,1fr) 108px;gap:16px}
}

/* One compact contact sequence for public and member enquiries. */
.travel-enquiry .enquiry-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;width:100%}
.travel-enquiry .enquiry-actions>[type=submit]{flex:0 1 auto;width:auto;min-width:190px;max-width:100%;min-height:46px;padding:12px 18px;gap:24px;line-height:20px;background:#1b3050;border-color:#1b3050;color:#fff;justify-content:space-between;font-size:14px}
:is(#dialog,#app) .travel-enquiry .enquiry-actions .enquiry-back-action{flex:none;margin:0;padding:10px 0;border-color:#b9c5d5;color:#1b3050;font-size:14px}
@media(max-width:800px){.travel-enquiry .enquiry-actions{flex-direction:column;align-items:stretch;gap:10px}.travel-enquiry .enquiry-actions .enquiry-back-action{align-self:flex-start}.travel-enquiry .enquiry-actions>[type=submit]{width:100%;min-width:0;flex:none;padding-inline:12px;gap:12px}}
:is(#dialog,#app) .travel-enquiry .request-contact-party{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:14px 0}
:is(#dialog,#app) .travel-enquiry .request-travel-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;min-width:0}
:is(#dialog,#app) .travel-enquiry .request-contact-party label{display:grid;gap:7px;margin:0;min-width:0;align-content:start}
:is(#dialog,#app) .travel-enquiry .request-contact-party input{width:100%;min-width:0;box-sizing:border-box}
:is(#dialog,#app) .travel-enquiry form>[type=submit]{width:100%;min-width:0;min-height:48px;flex-shrink:0;white-space:normal;justify-content:space-between;font-size:14px}
:is(#dialog,#app) .travel-enquiry :is(#cp-back-review,#back-to-journey){display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:600;padding:12px 0;margin:14px 0 0;text-decoration:none;border-bottom:1px solid #ffffff70}
:is(#dialog,#app) .travel-enquiry :is(#cp-back-review,#back-to-journey)::before{content:'←';font-size:20px;line-height:1}
:is(#dialog,#app) .travel-enquiry :is(#cp-back-review,#back-to-journey):has(svg)::before{content:none}
:is(#dialog,#app) .travel-enquiry>div{display:flex;flex-direction:column}
:is(#dialog,#app) .travel-enquiry form{display:flex!important;flex-direction:column;flex:1!important}
:is(#dialog,#app) .travel-enquiry form>[type=submit]{margin-top:auto}
:is(#dialog,#app) .travel-enquiry form>label:has(textarea){margin-bottom:18px}
:is(#dialog,#app) .travel-enquiry aside>.flow-photo{width:100%;max-width:none;overflow:hidden}
:is(#dialog,#app) .travel-enquiry aside>.flow-photo img{display:block;width:100%;max-width:none}
:is(#dialog,#app) .travel-enquiry .photo-source-credit{font-size:9px;line-height:1.3;background:transparent;text-shadow:0 1px 3px #000;max-width:85%}
@media(max-width:480px){
 :is(#dialog,#app) .travel-enquiry .request-contact-party{gap:10px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
 :is(#dialog,#app) .travel-enquiry .request-travel-fields{gap:8px}
 :is(#dialog,#app) .travel-enquiry .request-contact-party label{font-size:12px}
}

:is(#dialog,#app) .travel-enquiry .enquiry-summary-copy>:is(h2,h3){font-size:23px;line-height:1.3;margin:10px 0 18px}
:is(#dialog,#app) .travel-enquiry .enquiry-summary-copy>ol{margin:0;padding:0;list-style:none}
:is(#dialog,#app) .travel-enquiry .enquiry-summary-copy>ol>li{padding:10px 0;font-size:14px;line-height:1.4}
:is(#dialog,#app) .travel-enquiry .enquiry-summary-copy>ol>li>span{font-size:12px}

/* The form ends at the blue summary edge without a white footer strip. */
:is(#dialog,#app) .travel-enquiry{--enquiry-blue:#1b3050;padding-bottom:0;background:#fff}
:is(#dialog,#app) .travel-enquiry>aside{display:flex;flex-direction:column;background:var(--enquiry-blue)}
:is(#dialog,#app) .travel-enquiry>aside>.flow-photo,:is(#dialog,#app) .travel-enquiry>aside>img{flex-shrink:0}
:is(#dialog,#app) .travel-enquiry>div,:is(#dialog,#app) .travel-enquiry>form{padding-bottom:0}
:is(#dialog,#app) .travel-enquiry form>[type=submit]{background:var(--enquiry-blue);border-color:var(--enquiry-blue);color:#fff}
:is(#dialog,#app) .travel-enquiry form>[type=submit]:hover{background:#244064;border-color:#244064}

:is(#dialog,#app) .travel-enquiry .mt-core-date-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}

:is(#dialog,#app) .travel-enquiry .mt-stay-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px;align-items:end}
:is(#dialog,#app) .travel-enquiry .mt-core-date-row{align-items:end}

:is(#dialog,#app) .travel-enquiry form>[type=submit]{background:#1b3050;border-color:#1b3050;color:#fff}
:is(#dialog,#app) .travel-enquiry form>[type=submit]:hover{background:#354b91;border-color:#354b91}

/* Owner-approved member field pairs: keep these rows together. */
#dialog.mt-member-modal #mt-member-request :is(.mt-route-row,.mt-date-choice){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end}
#dialog.mt-member-modal #mt-member-request .mt-stay-row{grid-template-columns:minmax(0,1fr) 110px!important;align-items:end}

/* Approved enquiry field treatment shared by members, journeys and packages. */
:is(#dialog,#app) .travel-enquiry form label{font-family:inherit;font-size:13px;line-height:1.5;letter-spacing:normal}
:is(#dialog,#app) .travel-enquiry form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){box-sizing:border-box;min-width:0;border:1px solid #cbd6e4;border-radius:0;background:#fff;color:#172d50;padding:10px 12px}
:is(#dialog,#app) .travel-enquiry form :is(input:not([type=checkbox]):not([type=hidden]),select){height:46px;min-height:46px}
:is(#dialog,#app) .travel-enquiry form textarea{height:auto;min-height:90px;resize:vertical}
:is(#dialog,#app) .travel-enquiry form :is(.travel-month-trigger,.travel-date-trigger){min-height:46px;font-family:inherit;font-size:16px}
:is(#dialog,#app) .travel-enquiry form .form-row{gap:14px;align-items:end}

@media(max-width:480px){
 :is(#dialog,#app) .travel-enquiry .request-contact-extra>label,
 :is(#dialog,#app) .travel-enquiry .request-travel-fields>label{display:flex!important;flex-direction:column;justify-content:flex-end;height:94px;min-height:94px;gap:0;line-height:18px;box-sizing:border-box}
}

/* Public request controls remain together within a compact dialog. */
:is(#dialog,#app) .travel-enquiry .enquiry-actions :is(#cp-back-review,#back-to-journey){margin:0;padding:10px 0;border-color:#b9c5d5;color:#1b3050}
#dialog .cp-request-layout>div>h2{margin:0 0 14px;font-size:28px;line-height:1.25}
#dialog .cp-request-layout form>label:has(textarea){margin-bottom:8px}
#dialog .cp-request-layout textarea{min-height:68px;height:68px}
#dialog .cp-request-layout .request-contact-party{margin:10px 0}
#dialog .cp-request-layout .enquiry-actions{margin-top:10px}
#dialog .cp-request-layout .flex-quote-note{margin:0 0 12px;font-size:12px;line-height:1.5}

/* Keep the place caption above a separate credit line even in narrow photos. */
:is(#dialog,#app) :is(figure.flow-photo,.photo-split-visual,.japan-opening,.event-hero):has(>.photo-source-credit)>:is(figcaption,.japan-image-caption,.event-photo-caption){bottom:0;padding-bottom:30px}
:is(#dialog,#app) :is(figure.flow-photo,.photo-split-visual,.japan-opening,.event-hero)>.photo-source-credit{bottom:9px;right:14px;max-width:calc(100% - 28px)}

/* Contact service photographs share one landscape frame and baseline. */
#app .flow-contact-paths .flow-photo{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:3/2;overflow:hidden}
#app .flow-contact-paths .flow-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Photo and navy meet the dialog edge; only the form column has white padding. */
#dialog:has(.travel-enquiry){padding:0;border:0;overflow-x:hidden}
#dialog:has(.travel-enquiry) #dialog-content{padding:0;margin:0}
#dialog:has(.travel-enquiry) .close-dialog{z-index:10;top:12px;right:12px;background:#fff;color:#172d50;border:1px solid #d5dfeb}
#dialog:has(.travel-enquiry) .travel-enquiry>div>h2{padding-right:30px}
.travel-enquiry .prototype-note:empty,.inbound-enquiry-layout .prototype-note:empty,.inbound-detail-note:empty{display:none}
#dialog.business-dialog:has(.travel-enquiry){width:min(1060px,calc(100vw - 32px));max-width:none!important;padding:0}
.travel-enquiry .enquiry-back-action .icon{transform:rotate(180deg)}
.travel-enquiry .enquiry-summary-copy .business-request-context{border-top:1px solid #ffffff40;margin-top:20px;padding-top:16px;font-size:13px;background:transparent;color:#fff}
.travel-enquiry .enquiry-summary-copy .event-price{color:#fff;background:transparent;border-color:#ffffff40}
.travel-enquiry .enquiry-summary-copy .event-price .journey-budget-compact,.travel-enquiry .enquiry-summary-copy .event-price .journey-budget-compact small{color:inherit}
#dialog.mt-member-modal #mt-member-request .form-row:has(.request-field-error){align-items:start}
#dialog.mt-member-modal #mt-member-request .travel-month-trigger{height:48px;min-height:48px;margin-top:0}
@media(max-width:600px){#dialog.mt-member-modal #mt-member-request .mt-date-choice{grid-template-columns:minmax(0,1fr)}}
#app #offer-request.travel-enquiry{margin:40px auto;width:calc(100% - 2 * var(--content-gutter,6%))}#offer-request .enquiry-actions:not(:has(.enquiry-back-action)){justify-content:flex-end}
#app #offer-request.travel-enquiry form .form-row{display:grid}
@media(max-width:800px){#app #offer-request.travel-enquiry form .form-row{grid-template-columns:minmax(0,1fr)}}
#dialog .enquiry-form-title{margin:0 0 18px;padding-right:28px;line-height:1.25}

/* A dialling code plus phone number cannot fit inside a half-width mobile field. */
@media(max-width:800px){:is(#dialog,#app) .travel-enquiry .form-row>label:has(.phone-fields){grid-column:1/-1}}
:is(#dialog,#app) .travel-enquiry .request-travel-fields>label{grid-column:auto}

/* Keep the full hotel-category label readable in compact member enquiries. */
@media(max-width:480px){
 #dialog.mt-member-modal #mt-member-request .mt-stay-row{grid-template-columns:minmax(0,1fr)!important;gap:14px}
 #dialog.mt-member-modal #mt-member-request .mt-stay-row>label:last-child{display:flex;flex-direction:column;align-items:flex-start}
 #dialog.mt-member-modal #mt-member-request .mt-stay-row>label:last-child input{max-width:110px}
}

/* Keep traveller inputs aligned when one field has a multi-line error. */
:is(#dialog,#app) .travel-enquiry .request-travel-fields:has([data-request-error]){align-items:start}
:is(#dialog,#app) .travel-enquiry .request-travel-fields:has([data-request-error])>label{height:auto;min-height:0;justify-content:flex-start}
#app .voucher-page .enquiry-summary-copy h1 {
  margin: 0 0 16px;
  color: white;
  font-size: clamp(26px, 2.2vw, 34px);
  line-height: 1.15;
}
#app .voucher-page.travel-enquiry > aside .enquiry-summary-copy > p {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.6;
}
#app .voucher-page.travel-enquiry > aside .enquiry-summary-copy > p:last-child { margin-bottom: 0; }
