/* Nightingale Booking — modern public booking UI */
.ng-booking-shell{max-width:1120px;margin:44px auto;padding:0;border:1px solid #f0dfe1;border-radius:30px;background:#fff;box-shadow:0 24px 70px rgba(40,24,28,.08);overflow:hidden;color:#17333a}
.ng-booking-modern{background:linear-gradient(180deg,#fff 0%,#fffafa 100%)}
.ng-booking-top{padding:38px 42px 30px;background:linear-gradient(135deg,#fff 0%,#fff5f6 100%);border-bottom:1px solid #f3e1e3}
.ng-booking-intro{margin:0}.ng-booking-intro h1{font-size:clamp(34px,5vw,54px);line-height:1.05;letter-spacing:-1.8px;margin:12px 0 12px;color:#122f36}.ng-booking-intro p{max-width:760px;margin:0;color:#65787d;font-size:16px;line-height:1.75}.ng-booking-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fde9eb;color:#c7192b;font-size:11px;letter-spacing:1.1px;font-weight:900}
.ng-booking-trust{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:14px;margin-top:28px;max-width:780px}.ng-booking-trust>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:13px 15px;border:1px solid #f0dfe1;border-radius:16px;background:#fff}.ng-booking-trust span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fde9eb;color:#c7192b;font-size:12px;font-weight:900}.ng-booking-trust strong{font-size:13px}.ng-booking-trust small{font-size:11px;color:#7b8a8e}.ng-booking-trust i{font-style:normal;color:#c7192b;font-size:18px;text-align:center}
.ng-booking-form{padding:0}.ng-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px;padding:36px 42px 42px}.ng-booking-main{min-width:0}.ng-booking-section-head{display:flex;gap:15px;align-items:flex-start;margin:0 0 20px;padding-top:2px}.ng-booking-section-head>span{flex:0 0 auto;padding:7px 9px;border-radius:9px;background:#c7192b;color:#fff;font-size:10px;font-weight:900;letter-spacing:.8px}.ng-booking-section-head h2{margin:0 0 4px;font-size:20px;letter-spacing:-.3px;color:#17333a}.ng-booking-section-head p{margin:0;color:#7a898d;font-size:13px;line-height:1.5}.ng-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:32px}.ng-booking-form label{display:block;font-weight:800;font-size:13px;color:#29434a;margin:0}.ng-booking-form label span{font-weight:500;color:#89969a}.ng-booking-form input,.ng-booking-form select,.ng-booking-form textarea{display:block;width:100%;margin-top:8px;padding:14px 15px;border:1px solid #e1d9da;border-radius:13px;background:#fff;color:#17333a;font:inherit;box-sizing:border-box;transition:border-color .2s,box-shadow .2s,background .2s}.ng-booking-form select{appearance:auto}.ng-booking-form input::placeholder,.ng-booking-form textarea::placeholder{color:#a5afb2}.ng-booking-form input:focus,.ng-booking-form select:focus,.ng-booking-form textarea:focus{outline:none;border-color:#d22a3a;box-shadow:0 0 0 4px rgba(199,25,43,.09);background:#fff}.ng-booking-form fieldset{border:0;padding:0;margin:0 0 26px}.ng-visit-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ng-radio-card{position:relative;display:flex!important;align-items:center;gap:12px;padding:17px!important;border:1px solid #e7ddde;border-radius:16px;background:#fff;cursor:pointer;transition:.2s ease}.ng-radio-card:hover{border-color:#e0aeb4;background:#fffafb}.ng-radio-card input{position:absolute;opacity:0;pointer-events:none}.ng-radio-card span{display:flex;flex-direction:column;gap:3px;flex:1}.ng-radio-card span strong{font-size:13px}.ng-radio-card span small{font-size:11px;font-weight:500;color:#7b898d;line-height:1.45}.ng-radio-card b{display:grid;place-items:center;width:22px;height:22px;border:1px solid #ddd0d2;border-radius:50%;color:transparent;font-size:12px}.ng-radio-card:has(input:checked){border-color:#c7192b;background:#fff7f8;box-shadow:0 8px 24px rgba(199,25,43,.08)}.ng-radio-card:has(input:checked) b{background:#c7192b;border-color:#c7192b;color:#fff}.ng-notes-field{margin-bottom:8px}.ng-privacy-note{font-size:11px!important;color:#7d8c90!important;font-weight:500!important;margin:0 0 18px!important;line-height:1.55}.ng-honeypot{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ng-book-submit{width:100%;min-height:56px;padding:15px 20px!important;border-radius:15px!important;background:#c7192b!important;color:#fff!important;font-weight:900!important;box-shadow:0 12px 28px rgba(199,25,43,.2);justify-content:space-between!important}.ng-book-submit strong{font-size:20px}.ng-book-submit:hover{background:#a91223!important;transform:translateY(-1px)}
.ng-booking-summary{align-self:start;position:sticky;top:25px;padding:24px;border-radius:22px;background:#1b353b;color:#fff;box-shadow:0 20px 45px rgba(16,38,43,.14)}.ng-summary-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:10px;font-weight:800;letter-spacing:.4px}.ng-booking-summary h3{font-size:25px;letter-spacing:-.5px;margin:18px 0 8px}.ng-booking-summary>p{color:#c3d0d2;font-size:12px;line-height:1.65;margin:0 0 20px}.ng-summary-list{display:grid;gap:11px}.ng-summary-list>div{display:flex;gap:10px;padding:11px 0;border-top:1px solid rgba(255,255,255,.1)}.ng-summary-list>div:first-child{border-top:0}.ng-summary-list>div>span{flex:0 0 auto;color:#ffb5bd;font-weight:900;font-size:11px}.ng-summary-list p{margin:0}.ng-summary-list strong{display:block;font-size:12px}.ng-summary-list small{display:block;color:#b5c5c8;font-size:10px;line-height:1.45;margin-top:2px}.ng-summary-help{margin-top:20px;padding:15px;border-radius:15px;background:rgba(255,255,255,.07)}.ng-summary-help small{display:block;color:#b7c6c8;font-size:10px}.ng-summary-help strong{display:block;font-size:17px;margin:4px 0 8px}.ng-summary-help a{color:#ffb5bd;font-size:11px;font-weight:800;text-decoration:none}
.ng-booking-error{padding:14px 16px;margin:22px 42px 0;border-radius:13px;background:#fff1f2;color:#a71929;border:1px solid #f1cbd0;font-size:13px}.ng-booking-success{padding:62px 30px;text-align:center;background:linear-gradient(180deg,#fff,#fff8f8)}.ng-booking-success>span{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#fde7e9;color:#c7192b;font-size:30px;font-weight:900}.ng-booking-success h2{font-size:30px;margin:18px 0 8px;color:#17333a}.ng-booking-success p{color:#758589;margin:0}.ng-booking-success strong{display:block;font-size:28px;letter-spacing:1px;color:#c7192b;margin:12px 0}.ng-booking-success small{display:block;color:#748488;margin:0 auto 22px;max-width:470px;line-height:1.6}.ng-booking-success a{display:inline-flex;padding:12px 17px;border-radius:12px;background:#c7192b;color:#fff;text-decoration:none;font-weight:800}
.ng-lookup-shell{padding:0}.ng-lookup-shell .ng-booking-intro{padding:38px 42px}.ng-lookup-shell .ng-booking-form{padding:0 42px 42px}.ng-lookup-result{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;padding:0 42px 42px}.ng-lookup-result>div{padding:17px;border:1px solid #eadfe0;border-radius:15px;background:#fffafa}.ng-lookup-result small{display:block;color:#899497;margin-bottom:6px;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.ng-lookup-result strong{display:block;color:#17333a;font-size:14px}
.ng-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;cursor:pointer;transition:.2s ease}.ng-btn-primary{padding:13px 20px;border-radius:12px;background:#c7192b;color:#fff;font-weight:800}.ng-btn-primary:hover{background:#a91223}
@media(max-width:900px){.ng-booking-layout{grid-template-columns:1fr;padding:30px 26px}.ng-booking-summary{position:static;order:-1}.ng-booking-top{padding:32px 26px 26px}.ng-booking-trust{max-width:none}}
@media(max-width:700px){.ng-booking-shell{margin:20px 12px;border-radius:22px}.ng-booking-top{padding:26px 18px 22px}.ng-booking-intro h1{font-size:34px;letter-spacing:-1px}.ng-booking-intro p{font-size:14px}.ng-booking-trust{grid-template-columns:1fr;gap:8px}.ng-booking-trust i{display:none}.ng-booking-trust>div{padding:11px 12px}.ng-booking-layout{padding:25px 18px 28px}.ng-form-grid,.ng-visit-options,.ng-lookup-result{grid-template-columns:1fr}.ng-booking-section-head{gap:10px}.ng-booking-section-head h2{font-size:18px}.ng-booking-error{margin:18px 18px 0}.ng-lookup-shell .ng-booking-intro{padding:28px 18px}.ng-lookup-shell .ng-booking-form{padding:0 18px 28px}.ng-lookup-result{padding:0 18px 28px}}

/* v1.4.1 — polished booking UI */


/* v1.5.1 — premium Track Booking experience */
.ng-lookup-shell{background:linear-gradient(180deg,#ffffff 0%,#fff9fa 100%)}
.ng-lookup-shell .ng-booking-intro{position:relative;background:radial-gradient(circle at 90% 10%,rgba(199,25,43,.10),transparent 32%),linear-gradient(135deg,#fff 0%,#fff4f5 100%);border-bottom:1px solid #f1dfe2}
.ng-lookup-shell .ng-booking-intro:after{content:"";position:absolute;right:42px;top:34px;width:92px;height:92px;border-radius:28px;background:rgba(199,25,43,.06);box-shadow:inset 0 0 0 1px rgba(199,25,43,.06);pointer-events:none}
.ng-lookup-shell .ng-booking-intro h1{max-width:620px;margin-bottom:10px}
.ng-lookup-shell .ng-booking-intro p{max-width:650px}
.ng-lookup-shell .ng-booking-form{max-width:860px;margin:0 auto;padding:30px 42px 42px}
.ng-lookup-shell .ng-booking-form:before{content:"SECURE ACCESS";display:block;margin:0 0 15px;color:#899497;font-size:9px;font-weight:900;letter-spacing:1.5px}
.ng-lookup-shell .ng-booking-form .ng-form-grid{grid-template-columns:1.05fr .95fr;margin-bottom:18px}
.ng-lookup-shell .ng-booking-form label{font-size:12px}
.ng-lookup-shell .ng-booking-form input{min-height:50px}
.ng-lookup-shell .ng-booking-form .ng-btn-primary{min-height:52px;padding:14px 22px;box-shadow:0 12px 28px rgba(199,25,43,.18)}
.ng-lookup-result{grid-template-columns:repeat(3,minmax(0,1fr));padding:28px 42px 18px;background:#fff;border-top:1px solid #f4e5e7}
.ng-lookup-result>div{position:relative;min-width:0;padding:18px 18px 17px;border:1px solid #eee0e2;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(34,26,28,.035);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ng-lookup-result>div:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(34,26,28,.07);border-color:#e5c7cc}
.ng-lookup-result>div:first-child{grid-column:span 2;background:linear-gradient(135deg,#fff7f8,#fff)}
.ng-lookup-result>div:nth-child(4) strong{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff0f2;color:#c7192b;font-size:12px}
.ng-documents-panel{margin:0 42px 42px;padding:28px;border:1px solid #eadfe1;border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(45,28,31,.06)}
.ng-documents-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}
.ng-documents-head h2{margin:9px 0 5px;font-size:25px;letter-spacing:-.6px;color:#17333a}
.ng-documents-head p{margin:0;color:#748488;font-size:12px;line-height:1.6;max-width:620px}
.ng-documents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.ng-document-card{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:16px;border-radius:18px;border:1px solid #eee1e3;background:#fffafb}
.ng-document-card.is-ready{background:#fff;border-color:#ead9dc;box-shadow:0 7px 20px rgba(42,26,29,.04)}
.ng-doc-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fdecef;color:#c7192b;font-size:18px;font-weight:900}
.ng-document-card>div{min-width:0}.ng-document-card strong{display:block;font-size:12px;color:#17333a}.ng-document-card small{display:block;margin-top:3px;color:#829094;font-size:10px;line-height:1.4}
.ng-document-card form{grid-column:1/-1;margin-top:2px}.ng-doc-download{width:100%;border:0;border-radius:11px;padding:10px 12px;background:#c7192b;color:#fff;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(199,25,43,.16);transition:.2s ease}.ng-doc-download:hover{background:#a91223;transform:translateY(-1px)}
.ng-doc-lock{grid-column:1/-1;display:block;padding-top:4px;color:#9a8589;font-size:10px;font-weight:700}
@media(max-width:900px){.ng-lookup-result{grid-template-columns:repeat(2,minmax(0,1fr))}.ng-lookup-result>div:first-child{grid-column:span 2}.ng-documents-grid{grid-template-columns:1fr 1fr}.ng-documents-panel{margin-left:26px;margin-right:26px}.ng-lookup-shell .ng-booking-form{padding-left:26px;padding-right:26px}}
@media(max-width:700px){.ng-lookup-shell .ng-booking-intro:after{display:none}.ng-lookup-shell .ng-booking-intro{padding:30px 18px}.ng-lookup-shell .ng-booking-form{padding:24px 18px 28px}.ng-lookup-shell .ng-booking-form .ng-form-grid{grid-template-columns:1fr;gap:12px}.ng-lookup-result{grid-template-columns:1fr;padding:18px 18px 12px;gap:10px}.ng-lookup-result>div:first-child{grid-column:auto}.ng-lookup-result>div{padding:15px}.ng-documents-panel{margin:10px 18px 28px;padding:20px 16px;border-radius:20px}.ng-documents-head{display:block;margin-bottom:17px}.ng-documents-head h2{font-size:21px}.ng-documents-grid{grid-template-columns:1fr}.ng-document-card{grid-template-columns:40px minmax(0,1fr)}.ng-doc-icon{width:40px;height:40px}}
@media(max-width:380px){.ng-lookup-shell .ng-booking-intro h1{font-size:30px}.ng-lookup-shell .ng-booking-form input{font-size:13px}.ng-documents-panel{margin-left:12px;margin-right:12px}}
