.nf-enquiry { align-self:start; min-width:0; padding:24px; border-radius:3px; background:var(--trip-surface,#f7f5f1); color:var(--trip-ink,#30251d); scroll-margin-top:calc(var(--nf-trip-header-height,96px) + 96px); }
.nf-enquiry [hidden],.nf-enquiry-backdrop[hidden] { display:none!important; }
html body.nf-itinerary-page #bookingSheet [data-enquiry-step] { background:transparent!important; }
body.nf-itinerary-page .nf-assistant:not(.is-open),body.nf-itinerary-page #cookie-consent-launcher { display:none!important; }
.nf-enquiry :is(p,h2,ol) { margin:0; }
.nf-enquiry__bar { display:none; }
.nf-enquiry__price { display:grid; gap:7px; margin-bottom:22px; }
.nf-enquiry__price>strong { font-size:28px; line-height:1.25; font-weight:600; letter-spacing:-.025em; }
.nf-enquiry__price>p { font-size:12px; line-height:1.55; color:var(--trip-muted); }
.nf-enquiry__fees { display:flex; align-items:center; gap:7px; }
.nf-enquiry__fees svg { width:15px; height:15px; flex-shrink:0; }
.nf-enquiry__offer { font-weight:600; }
.nf-enquiry__progress { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px!important; padding:0; list-style:none; font-size:12px; color:var(--trip-muted); }
.nf-enquiry__progress li { display:flex; gap:7px; align-items:center; white-space:nowrap; }
.nf-enquiry__progress li[aria-current] { color:var(--trip-ink); font-weight:700; }
.nf-enquiry__progress::after { content:''; order:1; height:1px; flex:1; background:var(--trip-line); }
.nf-enquiry__progress li:last-child { order:2; }
.nf-enquiry__title { margin-bottom:10px!important; font-size:24px; line-height:1.3; }
.nf-enquiry__title:focus { outline:none!important; }
.nf-enquiry__intro { margin-bottom:20px!important; font-size:13px; line-height:1.6; color:var(--trip-muted); }
.nf-enquiry.is-enhanced[data-step="details"] .nf-enquiry__title,.nf-enquiry.is-enhanced[data-step="details"] .nf-enquiry__intro,.nf-enquiry.is-enhanced[data-step="details"] .nf-enquiry__progress { display:none; }
.nf-enquiry__trip { display:none; }
.nf-enquiry__field { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; min-width:0; }
.nf-enquiry__field label { color:var(--trip-ink); font-size:13px; font-weight:600; line-height:1.5; }
.nf-enquiry__field label>span { color:var(--trip-muted); font-weight:400; font-size:12px; }
.nf-enquiry__field :is(input,select,textarea) { width:100%; min-width:0; min-height:50px; padding:12px; border:1px solid #d9d3cb; border-radius:0; background:#fff; color:var(--trip-ink); font:400 14px/1.5 var(--nf-font-body); }
.nf-enquiry__field textarea { resize:vertical; }
.nf-enquiry__field small { color:var(--trip-muted); font-size:12px; line-height:1.55; }
.nf-enquiry :is(input,select,textarea)[aria-invalid="true"] { border-color:#a63624; }
.nf-itinerary-page .nf-enquiry .nf-enquiry__field-error { margin-top:0!important; color:#a63624!important; font-size:12px!important; line-height:1.5; }
.nf-enquiry__traveller { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--trip-line); }
.nf-enquiry__traveller>label { font-size:14px; font-weight:600; }
.nf-enquiry__traveller small { display:block; margin-top:4px; font-size:11px; font-weight:400; line-height:1.4; color:var(--trip-muted); }
.nf-enquiry__stepper { display:flex; align-items:center; gap:5px; flex-shrink:0; }
.nf-enquiry__stepper button { display:flex; justify-content:center; align-items:center; width:40px; height:40px; padding:0; border:1px solid #d9d3cb; border-radius:50%; background:#fff; color:var(--trip-ink); font-size:20px; font-weight:400; }
.nf-enquiry__stepper button:disabled { opacity:.35; cursor:default; }
.nf-enquiry__stepper input { width:30px; height:44px; padding:0; border:0; background:transparent; color:var(--trip-ink); font-size:15px; text-align:center; font-weight:600; appearance:textfield; -moz-appearance:textfield; }
.nf-enquiry__stepper input::-webkit-inner-spin-button,.nf-enquiry__stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.nf-enquiry:not(.is-enhanced) .nf-enquiry__stepper input { width:80px; border:1px solid #d9d3cb; background:#fff; appearance:auto; }
.nf-enquiry__child-ages { margin:20px 0; padding:0; border:0; }
.nf-enquiry__child-ages legend { margin-bottom:12px; font-size:13px; font-weight:600; }
.nf-enquiry__child-ages>div { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nf-enquiry__child-ages .nf-enquiry__field { margin:0; }
.nf-enquiry__conditions { margin-top:12px; }
.nf-enquiry__conditions>summary { font-size:12px; }
.nf-enquiry__conditions .nf-trip-prose { font-size:13px; line-height:1.65; }
.nf-enquiry__name-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nf-enquiry__selection { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; margin-bottom:20px; background:#fff; font-size:13px; }
.nf-enquiry__selection>div { display:flex; flex-direction:column; gap:5px; }
.nf-enquiry__selection strong { font-weight:600; }
.nf-enquiry__selection span { color:var(--trip-muted); font-size:12px; }
.nf-enquiry__selection button { min-width:44px; min-height:44px; font-size:12px; font-weight:600; }
.nf-enquiry__message { margin-bottom:16px; }
.nf-enquiry__message>summary { font-size:12px; }
.nf-enquiry__message .nf-enquiry__field { padding-top:10px; }
.nf-enquiry__newsletter { display:flex; align-items:start; gap:10px; font-size:12px; line-height:1.6; }
.nf-enquiry__newsletter input { margin-top:4px; width:16px; height:16px; flex-shrink:0; accent-color:#9a692b; }
.nf-enquiry__privacy { color:var(--trip-muted); font-size:12px; line-height:1.65; }
.nf-enquiry__privacy a { text-decoration:underline; text-underline-offset:3px; }
.nf-enquiry__verification { margin-bottom:14px; }
.nf-enquiry__footer { display:grid; gap:12px; padding-top:16px; }
.nf-enquiry__footer>.nf-trip-button { width:100%; }
.nf-enquiry__footer>p { font-size:12px; line-height:1.5; color:var(--trip-muted); }
.nf-enquiry__help { display:block; padding-top:2px; font-size:12px; line-height:1.6; font-weight:500; }
.nf-enquiry__feedback { padding:14px; margin-bottom:18px; border:1px solid #bbd2bf; background:#f3f8f3; color:#285332; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.nf-enquiry__feedback[role="alert"] { border-color:#e3b3a8; color:#9a3020; background:#fff6f2; }
.nf-enquiry__honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.nf-enquiry-backdrop { position:fixed; inset:0; z-index:259; background:rgba(20,18,14,.5); }
.nf-itinerary-mobile-dock { display:none; }
@media(min-width:1024px) { .nf-enquiry.is-enhanced:is([data-step="contact"],[data-step="success"]) .nf-enquiry__price { display:none; } }
@media(max-width:1023px) {
    body.nf-itinerary-page { --nf-itinerary-dock-height:calc(80px + env(safe-area-inset-bottom)); padding-bottom:var(--nf-itinerary-dock-height); }
    body.nf-enquiry-ready .nf-itinerary-mobile-dock { position:fixed; z-index:54; inset:auto 0 0; display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:80px; padding:14px 20px calc(14px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--trip-line); color:var(--trip-ink); }
    .nf-itinerary-mobile-dock__price { display:grid; gap:4px; min-width:0; }
    .nf-itinerary-mobile-dock__price strong { font-size:15px; line-height:1.35; font-weight:600; }
    .nf-itinerary-mobile-dock__price span { font-size:11px; line-height:1.4; color:var(--trip-muted); }
    .nf-itinerary-mobile-dock>button { display:flex; justify-content:center; align-items:center; flex-shrink:0; gap:12px; min-height:48px; padding:12px 18px; border-radius:0; background:var(--trip-gold); color:var(--trip-ink); font:600 13px/1.4 var(--nf-font-body); }
    .nf-itinerary-mobile-dock svg { width:18px; height:18px; }
    body.nf-itinerary-page.sheet-open .nf-itinerary-mobile-dock { visibility:hidden; pointer-events:none; }
    body.nf-enquiry-ready #bookingSheet { position:fixed; z-index:260; inset:0; display:flex; flex-direction:column; width:100%; max-width:none; height:100%; height:100dvh; max-height:none; padding:0; border:0; border-radius:0; background:#fff; transform:none; overscroll-behavior:contain; }
    body.nf-enquiry-ready #bookingSheet:not(.is-open) { display:none; }
    .nf-enquiry__bar { display:flex; align-items:center; justify-content:space-between; flex:0 0 64px; gap:16px; padding:10px 16px; border-bottom:1px solid var(--trip-line); }
    .nf-enquiry__bar>strong { font-size:14px; font-weight:600; }
    .nf-enquiry__bar button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; color:var(--trip-ink); }
    .nf-enquiry__bar svg { width:22px; height:22px; }
    .nf-enquiry__price { display:none; }
    .nf-enquiry>form { display:flex; flex-direction:column; flex:1; min-height:0; }
    .nf-enquiry__content { padding:24px 20px 18px; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scroll-padding-block:20px; }
    .nf-enquiry.is-enhanced[data-step="details"] :is(.nf-enquiry__title,.nf-enquiry__intro,.nf-enquiry__progress) { display:revert; }
    .nf-enquiry.is-enhanced[data-step="details"] .nf-enquiry__progress { display:flex; }
    .nf-enquiry__title { font-size:26px!important; }
    .nf-enquiry__intro { font-size:13px; }
    .nf-enquiry__progress { margin-bottom:22px!important; }
    .nf-enquiry__trip { display:flex; align-items:center; gap:12px; margin:20px 0; padding:12px; background:var(--trip-surface); }
    .nf-enquiry__trip>img { width:64px; height:76px; flex-shrink:0; object-fit:cover; }
    .nf-enquiry__trip>div { display:grid; gap:4px; min-width:0; }
    .nf-enquiry__trip strong { font-size:12px; line-height:1.5; font-weight:600; }
    .nf-enquiry__trip p,.nf-enquiry__trip small { font-size:12px; line-height:1.45; color:var(--trip-muted); }
    .nf-enquiry__field :is(input,select,textarea) { font-size:16px; min-height:52px; }
    .nf-enquiry__traveller { padding-block:13px; }
    .nf-enquiry__traveller small { font-size:12px; }
    .nf-enquiry__stepper { gap:10px; }
    .nf-enquiry__stepper button { width:44px; height:44px; }
    .nf-enquiry__stepper input { width:26px; font-size:16px; }
    .nf-enquiry__selection { background:var(--trip-surface); }
    .nf-enquiry__footer { flex-shrink:0; padding:14px 20px calc(14px + env(safe-area-inset-bottom)); border-top:1px solid var(--trip-line); background:#fff; }
    .nf-enquiry__footer>.nf-trip-button { min-height:48px; }
    .nf-enquiry__footer>p,.nf-enquiry__help { display:none; }
    .nf-enquiry__conditions { margin-top:14px; }
    .nf-enquiry__conditions>summary { font-size:12px; }
    .nf-enquiry__privacy { font-size:12px; }
}
@media(max-width:359px) { .nf-itinerary-mobile-dock { gap:10px; padding-inline:16px; } .nf-itinerary-mobile-dock>button { padding-inline:12px; font-size:12px; gap:8px; } .nf-itinerary-mobile-dock__price strong { font-size:14px; } .nf-enquiry__stepper { gap:4px; } }
@media(prefers-reduced-motion:reduce) { .nf-enquiry,.nf-enquiry-backdrop { transition:none; } }
