
/* Shared catalog/detail calendar and party popup. */
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog{text-align:left;color:var(--ink);font-family:Figtree,system-ui,sans-serif;border-radius:20px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog h2{font-size:32px}
@media(max-width:639px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog{border-radius:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[open]{max-width:100%;max-height:100dvh;width:100%;height:100dvh;margin:0}}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step]{width:min(680px,calc(100% - 32px));padding:24px;margin:auto;max-height:calc(100dvh - 48px);overflow:auto}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-heading{margin-bottom:18px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-heading p,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-eyebrow,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-submit,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-note,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-stay-summary{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-bar{display:block;background:transparent;border:0;padding:0;box-shadow:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-bar>*{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=destination] .n365-search-destination{display:block;padding:12px 16px;background:#fff;border:1.5px solid var(--green);border-radius:14px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=destination] .n365-location-options{position:static;width:100%;max-height:280px;border:0;box-shadow:none;padding:8px 0 0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=destination] .n365-location-combobox input{border:0;background:none;width:100%;font-weight:600}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog:not([data-step=date]) .n365-search-presets{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar{border:0;box-shadow:none;padding:0;margin:0;max-width:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-header{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-month h3{font:600 15px Figtree,system-ui,sans-serif}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-grid button{height:40px;min-height:40px;border-radius:999px;font-size:14px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-footer button{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-grid .in-range{border-radius:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-picker{display:block;margin:0;padding:0;border:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-picker>summary,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-actions{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-panel{display:block;position:static;width:100%;padding:0;box-shadow:none;border:0;max-height:none}
.n365-step-footer{display:flex;justify-content:space-between;gap:12px;padding-top:18px;margin-top:16px;border-top:1px solid var(--line)}
.n365-step-footer button{border:0;border-radius:999px;padding:12px 22px;background:#f0f3f1;color:var(--ink);min-height:44px}
.n365-step-footer button:last-child{margin-left:auto;background:var(--green);color:#fff;font-weight:600}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-months{gap:24px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-calendar-nav button{width:36px;height:36px;min-height:36px}
@media(max-width:639px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step]{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;padding:20px 16px 100px;border:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-step-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:10}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=destination] .n365-location-options{max-height:55dvh}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-grid button{height:44px}}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-step-footer{position:sticky;bottom:-24px;background:white;z-index:10;padding-bottom:12px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-calendar-nav button{min-width:36px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-grid button{padding:0;min-width:0;width:100%}
@media(max-width:639px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-step-footer{position:fixed;bottom:0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}}
@media(min-width:800px){.n365-search-dialog[data-step]{position:fixed;margin:0;inset:auto;top:var(--search-top,120px);left:var(--search-left,calc(50% - 260px));max-height:calc(100dvh - 32px);width:min(520px,calc(100vw - 32px));border-radius:20px}
.n365-search-dialog[data-step=date]{width:min(760px,calc(100vw - 32px))}
.n365-search-dialog::backdrop{background:#10201933}}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step]{box-sizing:border-box;overscroll-behavior:contain}
@media(min-width:800px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step]{max-height:calc(100dvh - var(--search-top,120px) - 16px)}}
@media(min-width:800px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step]{position:fixed;inset:auto;top:var(--search-top,120px);left:var(--search-left,16px);margin:0;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:auto;min-height:0;max-height:calc(100dvh - var(--search-top,120px) - 16px);overflow:auto}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date]{width:min(760px,calc(100vw - 32px))}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests]{width:min(380px,calc(100vw - 32px))}}
@media(min-width:800px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog::backdrop{background:#10201920;backdrop-filter:none}}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-search-heading>div,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-search-heading>div{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-search-heading,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-search-heading{justify-content:flex-end;margin:0 0 4px;min-height:28px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-search-close,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-search-close{width:28px;height:28px;min-height:28px;padding:0;background:transparent;font-size:20px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step]{box-shadow:none;border:1px solid #e3e9e5}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog::backdrop{background:transparent;backdrop-filter:none}
@media(min-width:800px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date]{width:min(700px,calc(100vw - 32px));padding:16px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-search-heading{display:contents}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-search-close{position:absolute;top:12px;right:12px;z-index:2}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-search-presets{gap:6px;margin:0 32px 10px 0;flex-wrap:nowrap}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-search-presets button{min-height:34px;padding:7px 12px;font-size:12px;line-height:18px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar{position:relative}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-hint{font-size:12px;line-height:18px;min-height:18px;margin:0 0 8px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-nav{position:absolute;left:0;right:0;top:20px;height:30px;pointer-events:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-nav button{pointer-events:auto;width:28px;height:28px;min-width:28px;min-height:28px;font-size:18px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-months{gap:24px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-month h3{font-size:14px;line-height:20px;margin:0 0 8px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-grid{grid-template-rows:18px repeat(6,30px);row-gap:2px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-weekday{font-size:12px;line-height:18px;padding:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-grid button{height:30px;min-height:30px;font-size:13px;padding:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-footer{margin-top:8px;padding:0;border:0;min-height:18px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-footer span{font-size:12px;line-height:18px;font-weight:500}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-step-footer{margin-top:8px;padding-top:8px;padding-bottom:0;bottom:-16px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-step-footer button{min-height:36px;padding:8px 16px;font-size:13px;line-height:20px}}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-hint{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:800px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=date] .n365-calendar-nav{top:-6px}}
.n365-mobile-steps{display:none}
@media(max-width:799px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step]{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:16px 16px calc(84px + env(safe-area-inset-bottom));overflow-y:auto}
.n365-mobile-steps{display:flex;justify-content:center;gap:8px;margin:0 40px 20px 0}
.n365-mobile-steps button{border:0;border-radius:999px;padding:8px 14px;background:#f0f3f1;color:#1b2b24;font:600 14px Figtree,system-ui,sans-serif;min-height:36px}
.n365-mobile-steps button[aria-current=true]{background:#1b2b24;color:white}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-heading{display:flex;position:static;height:auto;min-height:0;margin:0 0 18px;padding:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-heading>div{display:block}
:is(.n365-redesign,.n365-picker-scope) .n365-search-heading h2{font-size:28px;line-height:1.2;margin:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-heading p,:is(.n365-redesign,.n365-picker-scope) .n365-search-eyebrow{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-close{position:absolute;top:16px;right:16px;width:36px;height:36px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-step-footer{position:fixed;bottom:0;left:0;right:0;background:white;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e3e9e5;z-index:3}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-calendar{padding:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-location-options{max-height:none;box-shadow:none;border:0;padding:8px 0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=destination] .n365-location-combobox>input{border:1.5px solid #1f6f4f;border-radius:999px;min-height:56px;padding:0 20px;font-size:16px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=destination] .n365-search-destination>span{display:none}}
@media(max-width:799px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-heading{justify-content:flex-start;text-align:left}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=destination] .n365-search-destination{border:0!important;background:transparent;padding:0;box-shadow:none!important;outline:none!important}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=destination] .n365-search-destination input{outline:none!important;box-shadow:none!important}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog .n365-location-options [role=option]{position:relative;padding:10px 10px 10px 68px;min-height:68px;display:flex;align-items:center;border-radius:12px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog .n365-location-options [role=option]:before{content:'⌖';position:absolute;left:10px;top:10px;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#edf3ef;color:#1f6f4f;font-size:25px}}
@media(max-width:799px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog .n365-location-options [role=option]{flex-direction:row}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog .n365-location-options [role=option]>span{width:100%;align-self:center}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog .n365-location-options [role=option]:before{content:'';background:#edf3ef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%231f6f4f' stroke-width='1.8'%3E%3Cpath d='M12 21s-7-6-7-12a7 7 0 0 1 14 0c0 6-7 12-7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E") center no-repeat}}
@media(min-width:800px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step]{box-shadow:0 24px 60px #14281e33}}

/* Step navigation already names the panel; keep its accessible title without a second visual heading. */
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-heading{display:contents!important}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step] .n365-search-heading>div{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}

/* Compact guest controls and confirmation, shared with hotel detail. */
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-panel{margin:0;border-radius:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-panel>label,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px 0;border-bottom:1px solid #edf0ee;font:600 16px/1.3 Figtree,system-ui,sans-serif;min-height:65px}
.n365-guest-copy{display:flex;flex-direction:column;gap:2px;color:#1b2b24}
.n365-guest-copy strong{font-size:16px;font-weight:600}
.n365-guest-copy small{font-size:13px;font-weight:400;color:#5d6b64}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-counter{gap:12px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-counter button{display:grid;place-items:center;width:36px;height:36px;min-height:36px;border:1px solid #cddbd3;background:white;color:#1b2b24;font:400 22px/1 Figtree,system-ui,sans-serif;border-radius:50%;padding:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-counter button:disabled{opacity:.4}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-counter select,:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-guest-counter output{width:28px;height:36px;min-height:36px;border:0;border-radius:0;background:transparent;box-shadow:none;appearance:none;padding:0;text-align:center;text-align-last:center;font:600 17px/36px Figtree,system-ui,sans-serif;color:#1b2b24}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] #n365-room-limit{position:absolute;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip-path:inset(50%)}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-child-age-hint{font:400 13px/1.5 Figtree,system-ui,sans-serif;margin:14px 0 10px!important;color:#5d6b64}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] [data-child-ages]:not(:empty){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;border:0}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] [data-child-ages] label{display:flex;flex-direction:column;gap:4px;font:600 13px/1.4 Figtree,system-ui,sans-serif;color:#3d4b44}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] [data-child-ages] select{width:100%;min-width:0;min-height:44px;padding:8px 12px;border:1px solid #1f6f4f;border-radius:12px;font:600 14px/1.3 Figtree,system-ui,sans-serif;background:#fff;color:#1b2b24}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-step-footer{display:flex;justify-content:center;margin:14px 0 0;padding:10px 0 0;border-top:1px solid #edf0ee}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-step-footer button:first-child:not(:last-child){display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-step-footer button:last-child{display:block;width:100%;min-height:40px;margin:0;padding:8px;background:transparent;color:#1f6f4f;border-radius:0;font-size:17px;font-weight:600;line-height:24px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-step-footer button:disabled{opacity:.4;cursor:default}
@media(min-width:800px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests]{width:340px;padding:10px 20px 14px}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-search-close{display:none}
:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-step-footer{position:static}}
@media(max-width:799px){:is(.n365-redesign,.n365-picker-scope) .n365-search-dialog[data-step=guests] .n365-step-footer{margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}}
