:root {
  --wp-navy: #062942;
  --wp-blue: #075ca8;
  --wp-cyan: #35c5ea;
  --wp-orange: #ff6435;
  --wp-ink: #102d43;
  --wp-muted: #567084;
  --wp-line: #d7e4ed;
  --wp-soft: #f3f8fb;
  --wp-white: #fff;
}

.waialae-portal-page .inner-banner,
.waialae-portal-page .page-title-area,
.waialae-portal-page .page-hero { display: none !important; }
.waialae-portal-page .site-main { padding: 0 !important; }
.wportal { color: var(--wp-ink); background: var(--wp-white); min-height: 70vh; }
.wportal * { box-sizing: border-box; }
.wportal-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.wportal-hero {
   background:
    radial-gradient(circle at 82% 20%, rgba(53,197,234,.22), transparent 26%),
    linear-gradient(125deg, #031f33 0%, #074b81 70%, #086bb3 100%);
   color: #fff; padding: clamp(70px, 8vw, 118px) 0 64px; overflow: hidden; position: relative;
}
.wportal-hero::after {
  content: ""; position: absolute; width: 430px; height: 430px; right: -130px; bottom: -300px;
  border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.035), 0 0 0 110px rgba(255,255,255,.025);
}
.wportal-hero h1 { color: #fff !important; font-size: clamp(44px, 6vw, 76px); line-height: .98; letter-spacing: -.045em; margin: 10px 0 18px; max-width: 850px; }
.wportal-hero p { color: #d9eef9; max-width: 760px; font-size: clamp(17px, 2vw, 21px); line-height: 1.6; margin: 0; }
.wportal-eyebrow,.wportal-kicker { display: block; color: var(--wp-cyan); text-transform: uppercase; font-weight: 800; letter-spacing: .14em; font-size: 12px; }
.wportal-entry,.wportal-content { padding-block: clamp(48px, 7vw, 90px); }
.wportal-entry-grid,.wportal-grid { display: grid; gap: 24px; }
.wportal-entry-grid,.wportal-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.wportal-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wportal-panel,.wportal-card,.wportal-record,.wportal-empty {
  border: 1px solid var(--wp-line); border-radius: 22px; background: #fff; padding: clamp(24px,4vw,42px);
  box-shadow: 0 18px 50px rgba(6,41,66,.07);
}
.wportal-panel h2,.wportal-heading h2,.wportal-card h3,.wportal-record h3,.wportal-empty h3 { color: var(--wp-navy); letter-spacing: -.025em; }
.wportal-panel h2,.wportal-heading h2 { font-size: clamp(28px,4vw,44px); margin: 8px 0 12px; }
.wportal-panel p,.wportal-heading p,.wportal-card p,.wportal-record p,.wportal-empty p { color: var(--wp-muted); line-height: 1.65; }
.wportal-panel-accent { background: linear-gradient(145deg,#eefaff 0%,#f8fbfd 100%); }
.wportal-form { display: grid; gap: 16px; margin-top: 24px; }
.wportal-form.compact { margin-top: 14px; }
.wportal-form label { display: grid; gap: 8px; color: inherit; font-weight: 750; }
.wportal-form input,.wportal-form textarea,.wportal #user_login,.wportal #user_pass {
  width: 100%; min-height: 54px; border: 1px solid #b9cedd; border-radius: 10px; background: #fff; padding: 12px 15px; color: var(--wp-ink); font: inherit;
}
.wportal-form input:focus,.wportal-form textarea:focus,.wportal #user_login:focus,.wportal #user_pass:focus { outline: 3px solid rgba(53,197,234,.3); border-color: var(--wp-blue); }
.wportal #loginform { margin-top: 24px; }
.wportal #loginform p { margin-bottom: 16px; }
.wportal #wp-submit,.wportal-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border: 0; border-radius: 999px;
  background: var(--wp-blue); color: #fff !important; padding: 13px 23px; font-weight: 800; text-decoration: none !important; cursor: pointer; transition: transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.wportal #wp-submit:hover,.wportal-button:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(7,92,168,.25); background: #064e8d; }
.wportal-button.secondary { color: var(--wp-blue) !important; background: #fff; border: 1px solid #a9c5d8; }
.wportal-button.light { background: #fff; color: var(--wp-navy) !important; }
.wportal-text-link { color: var(--wp-blue); font-weight: 800; text-decoration: none; }
.wportal-small { font-size: 13px; line-height: 1.5; color: var(--wp-muted); }
.wportal-notice { border-left: 4px solid var(--wp-cyan); background: #eaf7fc; color: #244e67; padding: 16px 18px; margin: 20px 0; border-radius: 4px 12px 12px 4px; line-height: 1.55; }
.wportal-notice.success { border-color: #13875b; background: #e9f8f1; color: #125b42; }
.wportal-notice.error { border-color: #c74735; background: #fff1ef; color: #74271d; }
.wportal-notice.subtle { margin-top: 28px; }
.wportal-nav-wrap { background: #fff; border-bottom: 1px solid var(--wp-line); position: sticky; top: 0; z-index: 15; box-shadow: 0 8px 20px rgba(6,41,66,.05); }
.admin-bar .wportal-nav-wrap { top: 32px; }
.wportal-nav { display: flex; overflow-x: auto; gap: 4px; padding-block: 12px; scrollbar-width: thin; }
.wportal-nav a { white-space: nowrap; color: var(--wp-muted); text-decoration: none; font-weight: 750; font-size: 14px; padding: 10px 14px; border-radius: 999px; }
.wportal-nav a:hover,.wportal-nav a.active { color: #fff; background: var(--wp-blue); }
.wportal-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.wportal-heading p { margin: 0; max-width: 700px; }
.wportal-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-bottom: 28px; }
.wportal-metric { border: 1px solid var(--wp-line); background: var(--wp-soft); border-radius: 18px; padding: 22px; display: flex; align-items: center; gap: 15px; }
.wportal-metric i { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: #d8f4fd; color: var(--wp-blue); font-size: 18px; }
.wportal-metric span { color: var(--wp-muted); display: block; font-size: 13px; font-weight: 700; }
.wportal-metric strong { color: var(--wp-navy); display: block; font-size: 20px; margin-top: 2px; line-height: 1.25; }
.wportal-card-dark { background: linear-gradient(145deg,#062942,#074b76); color: #fff; border-color: transparent; }
.wportal-card-dark h3,.wportal-card-dark p,.wportal-card-dark .wportal-kicker,.wportal-card-dark label { color: #fff !important; }
.wportal-card-soft { background: var(--wp-soft); }
.wportal-action-list { display: grid; margin-top: 20px; }
.wportal-action-list a { display: flex; justify-content: space-between; color: #fff; text-decoration: none; font-weight: 750; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.16); }
.wportal-record { margin-bottom: 18px; padding: clamp(22px,3vw,32px); box-shadow: none; }
.wportal-record-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 22px; }
.wportal-record h3 { margin: 4px 0 8px; font-size: clamp(21px,3vw,28px); }
.wportal-record-date { color: var(--wp-blue); font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.wportal-record-meta { display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--wp-muted); margin: 12px 0; }
.wportal-record-meta span { display: inline-flex; align-items: center; gap: 7px; }
.wportal-record-meta i { color: var(--wp-blue); }
.wportal-status { display: inline-flex; border-radius: 999px; padding: 7px 12px; background: #e7f1f7; color: #315b75; font-size: 12px; font-weight: 850; white-space: nowrap; }
.wportal-status.status-paid,.wportal-status.status-done,.wportal-status.status-completed,.wportal-status.status-approved { background: #e5f7ef; color: #106443; }
.wportal-status.status-payment-due,.wportal-status.status-pending { background: #fff2dd; color: #8a5200; }
.wportal-financial { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); background: var(--wp-soft); border-radius: 14px; padding: 18px; gap: 16px; margin: 18px 0; }
.wportal-financial span { color: var(--wp-muted); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.wportal-financial strong { display: block; color: var(--wp-navy); font-size: 18px; margin-top: 5px; text-transform: none; letter-spacing: 0; }
.wportal-files { margin: 15px 0; }
.wportal-files ul { padding-left: 20px; }
.wportal-files a { color: var(--wp-blue); font-weight: 750; }
.wportal-empty { text-align: center; background: var(--wp-soft); box-shadow: none; }
.wportal-empty > i { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: #d9f4fd; color: var(--wp-blue); margin: 0 auto 18px; font-size: 24px; }
.wportal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.wportal-subhead { margin: 50px 0 20px; color: var(--wp-navy); }
.wportal-large-icon { color: var(--wp-blue); font-size: 28px; margin-bottom: 20px; }
.wportal-card-dark .wportal-large-icon { color: var(--wp-cyan); }
.wportal-gateway-actions { align-items: center; justify-content: center; margin-top: 38px; }
.wportal-gateway-actions .wportal-text-link { padding: 12px 6px; }
.wbooking-official-frame { overflow: hidden; border: 1px solid var(--wp-line); border-radius: 22px; background: #fff; box-shadow: 0 22px 55px rgba(6,41,66,.09); }
.wbooking-official-bar { display: flex; justify-content: space-between; align-items: center; gap: 20px; background: var(--wp-navy); color: #fff; padding: 14px 20px; font-weight: 750; }
.wbooking-official-bar span i { color: var(--wp-cyan); margin-right: 7px; }
.wbooking-official-bar a { color: #fff; font-size: 13px; text-decoration: none; }
.wbooking-official-bar a:hover { color: var(--wp-cyan); }
.wbooking-official-frame iframe { display: block; width: 100%; min-height: 780px; border: 0; background: #fff; }
.wpreview-status { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 70px; border: 1px solid #b9e4f2; border-radius: 18px; background: #eaf8fd; padding: 22px 24px; color: var(--wp-ink); }
.wpreview-status > i { display: grid; place-items: center; flex: 0 0 46px; height: 46px; border-radius: 50%; background: var(--wp-blue); color: #fff; }
.wpreview-status strong { display: block; color: var(--wp-navy); font-size: 19px; }
.wpreview-status p { color: var(--wp-muted); margin: 4px 0 0; line-height: 1.6; }
.wpreview-principles { margin-bottom: 80px; }
.wpreview-tour-heading { padding-top: 10px; }
.wpreview-tour { display: grid; gap: 12px; }
.wpreview-tour-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 22px; border: 1px solid var(--wp-line); border-radius: 17px; background: #fff; padding: 20px 22px; box-shadow: 0 8px 24px rgba(6,41,66,.045); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.wpreview-tour-item:hover { transform: translateY(-2px); border-color: #9bdcf0; box-shadow: 0 14px 32px rgba(6,41,66,.09); }
.wpreview-number { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #dff5fc; color: var(--wp-blue); font-weight: 900; }
.wpreview-tour-item h3 { color: var(--wp-navy); font-size: 21px; margin: 0 0 4px; }
.wpreview-tour-item p { color: var(--wp-muted); line-height: 1.55; margin: 0; }
.wpreview-tour-item > a { color: var(--wp-blue); font-weight: 850; text-decoration: none; white-space: nowrap; }
.wpreview-tour-item > a i { margin-left: 5px; }
.wpreview-review-grid { margin-top: 80px; }
.wpreview-checklist { display: grid; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.wpreview-checklist li { position: relative; padding-left: 27px; color: var(--wp-muted); line-height: 1.5; }
.wpreview-checklist li::before { content: "\f00c"; position: absolute; left: 0; top: 2px; color: var(--wp-cyan); font: 900 14px/1 "Font Awesome 6 Free"; }
.wportal-card-dark .wpreview-checklist li { color: #fff; }
.wpreview-footer-cta { margin-top: 70px; border-radius: 24px; background: linear-gradient(135deg,#eefaff,#f7fbfd); padding: clamp(30px,5vw,56px); text-align: center; }
.wpreview-footer-cta h2 { color: var(--wp-navy); font-size: clamp(30px,4vw,48px); margin: 7px 0 12px; }
.wpreview-footer-cta p { color: var(--wp-muted); max-width: 760px; margin: 0 auto; line-height: 1.65; }
.wpreview-footer-cta .wportal-actions { justify-content: center; }
.wportal-details { margin: 0; }
.wportal-details > div { padding: 14px 0; border-bottom: 1px solid var(--wp-line); }
.wportal-details > div:last-child { border: 0; }
.wportal-details dt { color: var(--wp-muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.wportal-details dd { color: var(--wp-navy); font-weight: 750; margin: 4px 0 0; }
.wbooking-picker { border: 1px solid var(--wp-line); border-radius: 24px; background: #fff; overflow: hidden; box-shadow: 0 22px 55px rgba(6,41,66,.08); }
.wbooking-calendar-head,.wbooking-times-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 28px 30px 22px; }
.wbooking-calendar-head h3,.wbooking-times-heading h3 { color: var(--wp-navy); font-size: clamp(24px,3vw,34px); margin: 5px 0 0; }
.wbooking-local-time { color: var(--wp-muted); font-weight: 750; white-space: nowrap; }
.wbooking-local-time i { color: var(--wp-blue); margin-right: 7px; }
.wbooking-weekdays,.wbooking-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.wbooking-weekdays { padding: 0 24px; color: var(--wp-muted); font-size: 11px; font-weight: 850; text-align: center; text-transform: uppercase; letter-spacing: .08em; }
.wbooking-weekdays span { padding: 9px 4px; }
.wbooking-calendar { gap: 8px; padding: 0 24px 28px; }
.wbooking-day { min-width: 0; min-height: 112px; border: 1px solid var(--wp-line); border-radius: 15px; background: var(--wp-soft); color: var(--wp-ink); padding: 12px 8px; cursor: pointer; transition: transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.wbooking-day span,.wbooking-day strong,.wbooking-day em,.wbooking-day small { display: block; }
.wbooking-day span { color: var(--wp-blue); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.wbooking-day strong { color: var(--wp-navy); font-size: 28px; line-height: 1.1; margin-top: 4px; }
.wbooking-day em { color: var(--wp-muted); font-size: 12px; font-style: normal; font-weight: 750; }
.wbooking-day small { color: var(--wp-blue); font-size: 10px; font-weight: 800; margin-top: 7px; }
.wbooking-day:not(:disabled):hover { transform: translateY(-2px); border-color: var(--wp-cyan); box-shadow: 0 10px 22px rgba(6,41,66,.1); }
.wbooking-day.is-selected { background: var(--wp-blue); border-color: var(--wp-blue); box-shadow: 0 12px 24px rgba(7,92,168,.24); }
.wbooking-day.is-selected span,.wbooking-day.is-selected strong,.wbooking-day.is-selected em,.wbooking-day.is-selected small { color: #fff; }
.wbooking-day:disabled { background: #fff; opacity: .42; cursor: not-allowed; }
.wbooking-times-wrap { background: linear-gradient(145deg,#eef8fd,#f7fbfd); border-top: 1px solid var(--wp-line); padding-bottom: 30px; }
.wbooking-times-heading { align-items: center; }
.wbooking-times-heading > strong { color: var(--wp-blue); font-size: 16px; }
.wbooking-time-panel[hidden] { display: none !important; }
.wbooking-slots { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; padding: 0 30px; }
.wbooking-slot { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 11px; color: var(--wp-navy); border: 1px solid var(--wp-line); border-radius: 14px; background: #fff; padding: 16px; text-decoration: none !important; box-shadow: 0 8px 20px rgba(6,41,66,.05); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.wbooking-slot:hover { transform: translateY(-3px); border-color: var(--wp-cyan); box-shadow: 0 16px 32px rgba(6,41,66,.12); }
.wbooking-slot i { grid-row: 1 / span 2; color: var(--wp-cyan); font-size: 20px; }
.wbooking-slot strong { color: var(--wp-navy); font-size: 17px; }
.wbooking-slot span { color: var(--wp-blue); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.wportal-reveal { opacity: 0; transform: translateY(12px); transition: opacity .55s ease var(--reveal-delay,0ms), transform .55s ease var(--reveal-delay,0ms); }
.wportal-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .wportal-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wbooking-slots { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .wportal-shell { width: min(100% - 28px,1180px); }
  .wportal-entry-grid,.wportal-grid.two,.wportal-grid.three { grid-template-columns: 1fr; }
  .wportal-heading { align-items: flex-start; flex-direction: column; }
  .wportal-record-top { flex-direction: column; gap: 10px; }
  .wportal-financial { grid-template-columns: 1fr; }
  .wbooking-slots { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wbooking-calendar-head,.wbooking-times-heading { align-items: flex-start; flex-direction: column; padding-inline: 18px; }
  .wbooking-weekdays { display: none; }
  .wbooking-calendar { display: flex; overflow-x: auto; padding: 0 18px 22px; scroll-snap-type: x proximity; }
  .wbooking-calendar-blank { display: none; }
  .wbooking-day { flex: 0 0 92px; scroll-snap-align: start; }
  .wbooking-slots { padding-inline: 18px; }
  .wportal-gateway-actions { align-items: stretch; flex-direction: column; }
  .wportal-gateway-actions .wportal-button { width: 100%; }
  .wbooking-official-bar { align-items: flex-start; flex-direction: column; }
  .wbooking-official-frame iframe { min-height: 720px; }
  .wpreview-tour-item { grid-template-columns: auto 1fr; align-items: start; }
  .wpreview-tour-item > a { grid-column: 2; }
  .admin-bar .wportal-nav-wrap { top: 46px; }
}
@media (max-width: 480px) {
  .wportal-metrics,.wbooking-slots { grid-template-columns: 1fr; }
  .wportal-hero { padding-top: 58px; }
}
@media (prefers-reduced-motion: reduce) {
  .wportal * { scroll-behavior: auto !important; transition: none !important; }
}

/* Premium booking experience */
.wbooking { background: radial-gradient(circle at 8% 34%,rgba(53,197,234,.11),transparent 22%),linear-gradient(180deg,#fff 0,#f4f9fc 46%,#fff 100%); }
.wbooking-hero { padding: clamp(54px,6vw,88px) 0; background: radial-gradient(circle at 72% 18%,rgba(53,197,234,.22),transparent 22%),linear-gradient(125deg,#031f33 0%,#074b81 74%,#086bb3 100%); }
.wbooking-hero::before { content:""; position:absolute; inset:0; opacity:.38; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(to right,#000,transparent 82%); }
.wbooking-hero::after { z-index:0; }
.wbooking-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); gap:clamp(42px,6vw,88px); align-items:center; }
.wbooking-hero-copy h1 { max-width:720px; text-wrap:balance; text-shadow:0 14px 40px rgba(0,0,0,.26); }
.wbooking-hero-copy p { max-width:650px; }
.wbooking-hero-trust { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.wbooking-hero-trust span { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:9px 13px; background:rgba(3,31,51,.35); color:#fff; font-size:12px; font-weight:800; backdrop-filter:blur(9px); }
.wbooking-hero-trust i { color:var(--wp-cyan); }
.wbooking-hero-photo { position:relative; margin:0; padding:10px; border:1px solid rgba(255,255,255,.28); border-radius:30px; background:rgba(255,255,255,.1); box-shadow:0 28px 70px rgba(0,0,0,.3); transform:none; }
.wbooking-hero-photo::before { content:""; position:absolute; inset:-18px 28px 22px -18px; z-index:-1; border:1px solid rgba(53,197,234,.32); border-radius:34px; }
.wbooking-hero-photo img { display:block; width:100%; height:clamp(300px,31vw,430px); border-radius:22px; object-fit:cover; }
.wbooking-hero-photo figcaption { position:absolute; right:25px; bottom:25px; left:25px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.25); border-radius:15px; padding:14px 17px; background:rgba(3,31,51,.82); color:#fff; box-shadow:0 12px 32px rgba(0,0,0,.25); backdrop-filter:blur(12px); }
.wbooking-hero-photo figcaption strong { font-size:15px; }.wbooking-hero-photo figcaption span { margin-top:2px; color:#cbe8f5; font-size:12px; }
.wbooking .wportal-content { position:relative; }
.wbooking .wportal-heading { border:1px solid rgba(215,228,237,.86); border-radius:24px; padding:26px 28px; background:rgba(255,255,255,.84); box-shadow:0 16px 42px rgba(6,41,66,.07); backdrop-filter:blur(12px); }
.wbooking .wportal-heading .wportal-button { flex:0 0 auto; white-space:nowrap; }
.wbooking-picker { border-radius:32px; border-color:#c8dce8; box-shadow:0 30px 80px rgba(6,41,66,.13); }
.wbooking-calendar-head { background:linear-gradient(135deg,#fff,#f3faff); }
.wbooking-day { border-radius:18px; background:linear-gradient(155deg,#f8fbfd,#eef5f9); box-shadow:inset 0 1px 0 #fff; }
.wbooking-day.is-selected { background:linear-gradient(145deg,#075ca8,#0872c3); box-shadow:0 16px 32px rgba(7,92,168,.3); transform:translateY(-3px); }
.wbooking-times-wrap { background:radial-gradient(circle at 92% 15%,rgba(53,197,234,.16),transparent 25%),linear-gradient(145deg,#eaf7fd,#f8fbfd); }
.wbooking-slot { border-radius:17px; min-height:78px; box-shadow:0 10px 26px rgba(6,41,66,.07); }
.wbooking-confidence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.wbooking-confidence>div { position:relative; display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:13px; overflow:hidden; border:1px solid var(--wp-line); border-radius:19px; padding:20px; background:#fff; box-shadow:0 14px 36px rgba(6,41,66,.07); }
.wbooking-confidence>div>span { position:absolute; top:-13px; right:7px; color:rgba(7,92,168,.07); font-size:74px; font-weight:900; line-height:1; }
.wbooking-confidence i { display:grid; place-items:center; width:45px; height:45px; border-radius:13px; background:#ddf5fc; color:var(--wp-blue); font-size:18px; }
.wbooking-confidence p { position:relative; margin:0; color:var(--wp-muted); font-size:13px; line-height:1.45; }.wbooking-confidence p strong { display:block; color:var(--wp-navy); font-size:16px; }
.wbooking .wportal-notice.subtle { border:1px solid #b9e4f2; border-left:5px solid var(--wp-cyan); border-radius:15px; padding:18px 20px; background:rgba(234,247,252,.9); box-shadow:0 10px 28px rgba(6,41,66,.05); }
@media(max-width:900px){.wbooking-hero-grid{grid-template-columns:1fr}.wbooking-hero-photo{max-width:680px;transform:none}.wbooking-confidence{grid-template-columns:1fr}}
@media(max-width:560px){.wbooking-hero{padding:50px 0}.wbooking-hero-photo img{height:260px}.wbooking .wportal-heading{padding:22px 20px}.wbooking-picker{border-radius:22px}.wbooking-confidence>div{padding:17px}}
