/* PP-VISUAL-04 — private final planner prep.
   Uses the supplied real mock-up. No live/runtime write. Compact-density pass. */
.plan-header-trigger{
  min-height:48px;min-width:136px;padding:6px 13px;border:1px solid rgba(255,255,255,.24);
  border-radius:var(--radius-sm);background:rgba(255,255,255,.055);color:var(--white);
  display:grid;grid-template-columns:auto auto;grid-template-areas:"label count" "total total";
  align-content:center;justify-content:center;column-gap:6px;row-gap:0;text-align:left;
  box-shadow:none;font-weight:850;line-height:1.08;transition:border-color .18s ease,background .18s ease,transform .18s ease
}
.plan-header-trigger:hover{border-color:var(--turquoise-400);background:rgba(255,255,255,.09);transform:translateY(-1px)}
.plan-header-trigger:active{transform:none}
.plan-header-trigger:focus-visible,.plan-add-course:focus-visible,.plan-icon-button:focus-visible,.plan-remove:focus-visible,.plan-suggestion-action:focus-visible,.plan-clear:focus-visible,.plan-item-title:focus-visible,.plan-quiet-link:focus-visible,.contact-plan-edit:focus-visible,.contact-plan-continue:focus-visible,.plan-accommodation-add:focus-visible{
  outline:3px solid var(--gold-400);outline-offset:3px
}
.plan-header-label{grid-area:label;white-space:nowrap}.plan-header-count{grid-area:count;color:var(--turquoise-400);white-space:nowrap}
.plan-header-total{grid-area:total;color:rgba(255,255,255,.66);font-size:.68rem;font-weight:750;margin-top:3px;white-space:nowrap}
.plan-header-trigger[data-has-items="true"]{background:rgba(255,255,255,.07)}
@media(min-width:1001px) and (max-width:1260px){.plan-header-trigger{min-width:116px;grid-template-areas:"label count";grid-template-columns:auto auto}.plan-header-total{display:none!important}}

/* Overview action stays secondary to availability and reuses the course page itself. */
.plan-course-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:4px}
.plan-course-actions>.button{margin:0}
.plan-add-course{min-height:42px;border:1px solid rgba(11,106,117,.22);border-radius:var(--radius-sm);background:rgba(39,197,200,.08);color:#0b6a75;padding:8px 13px;font-weight:850;font-size:.84rem}
.plan-add-course:hover{background:#eefaf9;border-color:rgba(32,196,199,.48)}
.plan-add-course[data-added="true"]{background:rgba(39,197,200,.18);border-color:rgba(11,106,117,.18);color:var(--navy-900)}
.plan-add-course .plan-add-symbol{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:5px;border-radius:50%;border:1px solid currentColor;font-size:.68rem;line-height:1}

/* Course Overview: keep navigation primary, make planning visible without turning cards into cart tiles. */
.course-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch;margin-top:auto}
.course-card-actions>.button{margin:0}
.course-card-actions .plan-add-course{min-width:106px;padding-inline:11px;white-space:nowrap}
@media(max-width:430px){.course-card-actions{grid-template-columns:1fr}.course-card-actions .plan-add-course{width:100%}}

/* Accommodation: one compact saved view, using the existing builder and persisted state. */
.plan-accommodation-saved[hidden]{display:none!important}
.plan-accommodation-saved{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;margin:7px 0 11px;border:1px solid rgba(11,106,117,.19);border-radius:12px;background:#f5faf9;min-width:0}
.plan-accommodation-saved-copy{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere;color:var(--navy-900)}
.plan-accommodation-added{font-size:.68rem;font-weight:850;color:#0b6a75}
.plan-accommodation-saved-copy>strong{font-size:.84rem}
.plan-accommodation-saved-copy>span[data-accommodation-saved-details]{font-size:.7rem;color:var(--muted);line-height:1.4}
.plan-accommodation-saved-actions{display:flex;gap:6px;flex-wrap:wrap}
.plan-accommodation-saved-actions button{min-height:40px;border:1px solid rgba(11,106,117,.24);border-radius:8px;background:var(--white);color:#0b6a75;padding:8px 11px;font:inherit;font-size:.73rem;font-weight:850;cursor:pointer}
.plan-accommodation-saved-actions button:focus-visible{outline:3px solid #0b6a75;outline-offset:2px}
.plan-accommodation-saved-actions button:disabled{opacity:.5;cursor:not-allowed}
.plan-accommodation-builder.is-added-collapsed .plan-accommodation-status,
.plan-accommodation-builder.is-added-collapsed .plan-accommodation-fields,
.plan-accommodation-builder.is-added-collapsed .plan-accommodation-season-disclosure,
.plan-accommodation-builder.is-added-collapsed .plan-accommodation-estimate,
.plan-accommodation-builder.is-added-collapsed .plan-accommodation-breakdown,
.plan-accommodation-builder.is-added-collapsed .plan-accommodation-add,
.plan-accommodation-builder.is-added-collapsed .plan-accommodation-note{display:none!important}
@media(max-width:520px){.plan-accommodation-saved{align-items:stretch;flex-direction:column}.plan-accommodation-saved-actions button{flex:1}}
/* Accommodation planner: one compact inline owner inside the existing room information column. */
.plan-accommodation-builder{width:100%;margin:2px 0 12px;padding:14px 0 2px;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.plan-accommodation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:9px}
.plan-accommodation-head h3{font-size:1rem;margin:0;color:var(--navy-900)}
.plan-accommodation-head strong{font-size:.76rem;color:#0b6a75;white-space:nowrap}
.plan-accommodation-status{margin:0 0 10px;color:var(--muted);font-size:.74rem;line-height:1.42}
.plan-accommodation-status a{color:#0b6a75;font-weight:800;text-underline-offset:3px}
.plan-accommodation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:6px}
.plan-accommodation-fields label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.68rem;font-weight:750}
.plan-accommodation-fields input,.plan-accommodation-fields select{width:100%;min-height:42px;padding:7px 9px;border:1px solid var(--line-light);border-radius:9px;background:var(--white);color:var(--navy-900);font:inherit;font-size:.78rem;font-weight:750}
.plan-accommodation-fields [hidden]{display:none!important}
.plan-accommodation-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}.plan-accommodation-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border-radius:999px;border:1px solid rgba(11,106,117,.14);background:#f7faf9;color:var(--navy-900);font-size:.73rem;font-weight:760}.plan-accommodation-pill strong{font-size:.76rem}.plan-accommodation-pill.is-muted{color:var(--muted)}.plan-accommodation-estimate{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid rgba(16,42,51,.08)}
.plan-accommodation-estimate span{color:var(--muted);font-size:.7rem}.plan-accommodation-estimate strong{color:var(--navy-900);font-size:.92rem}
.plan-accommodation-add{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:210px;min-height:42px;border:1px solid rgba(11,106,117,.22);border-radius:var(--radius-sm);background:rgba(39,197,200,.10);color:var(--navy-900);font-weight:850;padding:9px 15px}
.plan-accommodation-add:hover:not(:disabled){background:rgba(39,197,200,.16)}.plan-accommodation-add:disabled{opacity:.48;cursor:not-allowed}
.plan-accommodation-note{margin:6px 0 0;color:var(--muted);font-size:.66rem;line-height:1.4}
@media(max-width:520px){.plan-accommodation-fields{grid-template-columns:1fr}.plan-accommodation-head{margin-bottom:7px}.plan-accommodation-builder{padding-top:12px}.plan-accommodation-add{width:100%}}

/* One mobile/tablet planner owner only: the existing .mobile-booking. */
.plan-mobile-bar{align-items:center}.plan-mobile-copy{min-width:0;flex:1}
.plan-mobile-copy strong{color:var(--navy-900);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-mobile-copy small{margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem}
.plan-mobile-action{flex:none;min-width:104px;padding-inline:14px;min-height:44px}
body.has-planbar{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
@media(max-width:1000px){.plan-header-trigger{display:none!important}body[data-static-route="contact"] .plan-mobile-bar{display:none!important}body[data-static-route="contact"]{padding-bottom:0!important}}
@media(min-width:681px) and (max-width:1000px){
  .mobile-booking.plan-mobile-bar:not([hidden]){display:flex!important;left:50%;right:auto;width:min(540px,calc(100% - 32px));transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom));padding:9px 11px}
  body.has-planbar{padding-bottom:102px}
}
@media(max-width:680px){
  .mobile-booking.plan-mobile-bar{border-radius:14px;padding:8px 9px 8px 12px;bottom:max(8px,env(safe-area-inset-bottom))}
  .plan-course-actions{display:grid;grid-template-columns:1fr;gap:7px}.plan-course-actions>.button,.plan-add-course{width:100%;min-height:44px}
  body.has-planbar{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){.plan-mobile-action{min-width:92px;padding-inline:11px}.plan-mobile-copy strong{font-size:.8rem}.plan-mobile-copy small{font-size:.68rem}}

/* Desktop: non-modal fixed drawer. It occupies only its own width, so the page remains usable and scrollable. */
.plan-dialog{
  position:fixed;z-index:130;top:var(--header-height);right:0;left:auto;bottom:0;
  width:min(430px,calc(100vw - 24px));height:calc(100dvh - var(--header-height));max-width:none;max-height:none;
  margin:0;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible
}
.plan-dialog[open]{display:block}.plan-dialog::backdrop{background:transparent;backdrop-filter:none}
.plan-drawer{width:100%;height:100%;background:var(--white);display:flex;flex-direction:column;box-shadow:-18px 0 48px rgba(6,27,38,.13);border-left:1px solid rgba(16,42,51,.09);overflow:hidden}
.plan-drawer-handle{display:none}
.plan-drawer-head{padding:20px 22px 15px;border-bottom:1px solid var(--line-light)}
.plan-drawer-head-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}
.plan-drawer-head .eyebrow{margin-bottom:5px}.plan-drawer-head h2{font-size:1.85rem;color:var(--navy-900);margin:0;line-height:1.05}
.plan-drawer-head p{max-width:325px;margin:6px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45}
.plan-icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-light);border-radius:11px;background:var(--white);color:var(--navy-900);font-size:1.4rem;line-height:1}
.plan-icon-button:hover{background:var(--sand-100);border-color:rgba(11,106,117,.28)}
.plan-drawer-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:0 22px 18px;scrollbar-gutter:stable}
.plan-items{display:grid}
.plan-group{display:grid}.plan-group+.plan-group{margin-top:5px}.plan-section-label{padding:13px 0 3px;color:#0b6a75;font-size:.64rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.plan-group>.plan-item:last-child{border-bottom:1px solid var(--line-light)}
.plan-addon{margin:0 0 0 13px;padding:11px 0 12px 13px;border-left:2px solid rgba(32,196,199,.34);border-bottom:1px solid var(--line-light)}.plan-addon .plan-item-title{font-size:.8rem}.plan-addon .plan-item-meta{max-width:245px}.plan-addon-price{display:grid;justify-items:end;gap:1px;white-space:nowrap}.plan-reference-price{color:var(--muted);font-size:.68rem;text-decoration:line-through;text-decoration-thickness:1px}.plan-integrated-price{color:var(--navy-900);font-size:.86rem;font-weight:900}.plan-saving{color:#0b6a75;font-size:.67rem;font-weight:900}.plan-integrated-label{display:block;margin-top:2px;color:#0b6a75;font-size:.64rem;font-weight:850}
.plan-integration-card{margin:12px 0 4px;padding:13px 14px;border:1px solid rgba(11,106,117,.18);border-radius:12px;background:linear-gradient(135deg,rgba(230,248,247,.78),rgba(255,255,255,.94))}.plan-integration-card .eyebrow{margin-bottom:4px;font-size:.61rem}.plan-integration-card h3{font-family:Manrope,"Segoe UI",Arial,sans-serif;font-size:.88rem;letter-spacing:0;margin:0;color:var(--navy-900)}.plan-integration-card p{margin:4px 0 0;color:var(--muted);font-size:.71rem;line-height:1.42}.plan-value-line{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:8px}.plan-value-line .plan-reference-price{font-size:.72rem}.plan-value-line strong{color:var(--navy-900);font-size:.86rem}.plan-value-line .plan-saving{margin-left:auto}.plan-integration-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:9px}.plan-integration-actions .plan-suggestion-action{margin:0}.plan-keep-separate{border:0;background:transparent;color:var(--muted);font-size:.7rem;font-weight:780;text-decoration:underline;text-underline-offset:4px;padding:7px 0;min-height:38px}

.plan-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-light)}
.plan-item-title{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;color:var(--navy-900);font-weight:850;text-decoration:none;line-height:1.28}
.plan-item-title:hover{text-decoration:underline;text-decoration-color:var(--turquoise-500);text-underline-offset:4px}.plan-item-title .plan-route-arrow{color:#0b6a75;font-weight:900}
.plan-item-meta{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.4}
.plan-remove{min-height:34px;padding:4px 0;border:0;background:transparent;color:var(--muted);font-size:.7rem;text-decoration:underline;text-decoration-color:rgba(98,116,122,.42);text-underline-offset:3px}.plan-remove:hover{color:#0b6a75}
.plan-item-price{color:var(--navy-900);font-weight:900;white-space:nowrap;font-size:.86rem;text-align:right}
.plan-total{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;padding:16px 0 13px}.plan-total-label{color:var(--muted);font-size:.76rem;font-weight:750}.plan-total-amount{font-family:Fraunces,Georgia,serif;color:var(--navy-900);font-size:1.82rem;font-weight:700;letter-spacing:-.025em;white-space:nowrap}.plan-extra-fee{grid-column:1/-1;margin-top:-5px;color:var(--muted);font-size:.7rem;text-align:right}
.plan-clear{display:inline-flex;min-height:36px;align-items:center;border:0;background:transparent;padding:0;color:var(--muted);font-size:.72rem;text-decoration:underline;text-underline-offset:4px}
.plan-empty{padding:20px 0 18px;border-bottom:1px solid var(--line-light)}.plan-empty h3{font-size:1.35rem;color:var(--navy-900);margin:0 0 6px}.plan-empty p{color:var(--muted);font-size:.82rem;max-width:330px;margin-bottom:12px}.plan-empty-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.plan-empty .plan-suggestion-action{margin:0}
.plan-next{padding:16px 0 4px;border-top:1px solid var(--line-light)}.plan-next-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.plan-next h3{font-family:Manrope,"Segoe UI",Arial,sans-serif;font-size:.92rem;letter-spacing:0;color:var(--navy-900);margin:0}.plan-next-intro{color:var(--muted);font-size:.71rem;margin:3px 0 7px}
.plan-suggestion{padding:12px 0;border-top:1px solid var(--line-light)}.plan-suggestion:first-of-type{border-top:0}.plan-suggestion-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.plan-suggestion strong{display:block;color:var(--navy-900);font-size:.82rem}.plan-suggestion p{margin:2px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4;max-width:285px}.plan-suggestion-price{color:var(--navy-900);font-size:.76rem;font-weight:900;white-space:nowrap}
.plan-suggestion-action{min-height:40px;margin-top:7px;padding:7px 11px;border-radius:9px;border:1px solid rgba(11,106,117,.24);background:var(--turquoise-200);color:var(--navy-900);font-weight:850}.plan-suggestion-action:hover{border-color:var(--turquoise-500);background:#d9f5f3}
.plan-quiet-link{min-height:40px;display:inline-flex;align-items:center;color:#0b6a75;font-size:.75rem;font-weight:800;text-decoration:underline;text-decoration-color:rgba(11,106,117,.28);text-underline-offset:4px}.plan-next .plan-quiet-link.plan-courses-link{color:var(--muted);text-decoration-color:rgba(98,116,122,.28)}
.plan-drawer-foot{padding:10px 22px calc(11px + env(safe-area-inset-bottom));border-top:1px solid var(--line-light);background:var(--sand-50);color:var(--muted);font-size:.67rem;line-height:1.4}

/* Contact: keep the one existing planner in the Contact task, never a second modal. */
.contact-plan-editor[hidden]{display:none}
.contact-plan-editor{margin-top:14px;min-width:0}
.contact-plan-panel.is-editing > .contact-plan-items,.contact-plan-panel.is-editing > .contact-plan-total{display:none}
.contact-plan-editor .plan-drawer{width:100%;height:min(62dvh,620px);min-height:260px;max-height:none;border:1px solid var(--line-light);border-radius:var(--radius-md);box-shadow:none}
.contact-plan-editor .plan-drawer-head{padding:14px 15px 11px}
.contact-plan-editor .plan-drawer-body{padding:0 15px 14px}
.contact-plan-editor .plan-drawer-foot{padding:9px 15px 11px}
@media(max-width:700px){.contact-plan-editor .plan-drawer{height:min(55dvh,470px);min-height:245px}.contact-plan-editor .plan-drawer-handle{display:none}}
/* Contact: the SAME canonical compact white plan surface as Prices; editor stays inline. */
.contact-plan-panel{position:sticky;top:calc(var(--header-height) + 18px);padding:24px;border:1px solid var(--line-light);border-radius:var(--radius-lg);background:var(--white);color:var(--navy-900);box-shadow:var(--shadow-soft);min-width:0;scroll-margin-top:calc(var(--header-height) + 15px)}
.contact-plan-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--line-light)}
.contact-plan-head .eyebrow{color:#0b6a75;margin-bottom:4px}.contact-plan-head h2{font-size:1.9rem;margin:0;color:var(--navy-900)}.contact-plan-head p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45;max-width:300px}
.contact-plan-edit{min-height:44px;padding:6px 0;border:0;background:transparent;color:#0b6a75;font-weight:800;font-size:.74rem;text-decoration:underline;text-underline-offset:4px}
.contact-plan-items{display:grid}.contact-plan-section-label{padding:12px 0 2px;color:#0b6a75;font-size:.61rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.contact-plan-item.is-addon{margin-left:12px;padding-left:12px;border-left:2px solid rgba(32,196,199,.35)}.contact-plan-item.is-addon small{color:var(--muted)}
.contact-plan-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-light)}.contact-plan-item a{color:var(--navy-900);font-weight:850;text-decoration:none}.contact-plan-item a:hover{text-decoration:underline;text-underline-offset:4px}.contact-plan-item small{display:block;margin-top:2px;color:var(--muted);font-size:.7rem;line-height:1.35}.contact-plan-item strong{white-space:nowrap;font-size:.82rem;color:#0b6a75}
.contact-plan-empty{padding:16px 0 13px;border-bottom:1px solid var(--line-light)}.contact-plan-empty strong{display:block;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.contact-plan-empty p{margin:4px 0 8px;color:var(--muted);font-size:.74rem}.contact-plan-empty a{color:#0b6a75;font-weight:800;font-size:.74rem}
.contact-plan-total{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-light)}.contact-plan-total span{font-size:.74rem;color:var(--muted)}.contact-plan-total strong{font-family:Fraunces,Georgia,serif;font-size:1.72rem;white-space:nowrap;color:var(--navy-900)}
.contact-plan-context{padding:13px 0 9px}.contact-plan-context-title{color:#0b6a75;font-size:.72rem;font-weight:850;margin-bottom:6px}.contact-context-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:4px 0;font-size:.72rem}.contact-context-row span{color:var(--muted)}.contact-context-row strong{font-size:.72rem;color:var(--navy-900);text-align:right}
.contact-plan-continue{width:100%;min-height:44px;margin-top:8px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--turquoise-500);color:var(--navy-900);font-weight:900}.contact-plan-continue:hover{background:var(--turquoise-400)}
.contact-plan-whatsapp{display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:8px;color:#0b6a75;font-size:.72rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.contact-plan-note{margin:5px 0 0;text-align:center;color:var(--muted);font-size:.66rem}
.prices-plan-summary{scroll-margin-top:calc(var(--header-height) + 15px)}
@media(max-width:1000px){
  /* Mobile/tablet alone uses modal sheet semantics and may lock the document behind it. */
  .plan-dialog{top:0;left:0;right:0;bottom:0;width:100vw;height:100dvh;z-index:210;overflow:hidden}
  .plan-dialog[open]{display:flex;align-items:flex-end;justify-content:stretch}.plan-dialog::backdrop{background:rgba(6,27,38,.42);backdrop-filter:blur(2px)}
  .plan-drawer{width:100%;height:auto;max-height:min(80dvh,720px);margin:0;border-left:0;border-top:1px solid var(--line-light);border-radius:22px 22px 0 0;box-shadow:0 -18px 52px rgba(6,27,38,.18)}
  .plan-drawer-handle{display:block;width:40px;height:4px;border-radius:999px;background:var(--sand-200);margin:9px auto 0}.plan-drawer-head{padding:12px 18px 13px}.plan-drawer-head h2{font-size:1.65rem}.plan-drawer-head p{font-size:.76rem;margin-top:5px}.plan-drawer-body{padding:0 18px 18px}.plan-drawer-foot{padding:9px 18px calc(10px + env(safe-area-inset-bottom))}
  body.plan-sheet-open{overflow:hidden}
  .contact-plan-panel{position:static;padding:20px}
}
@media(max-width:680px){
  .contact-grid{gap:16px}.contact-plan-panel{order:-1;padding:18px;border-radius:18px}.contact-plan-head h2{font-size:1.65rem}.contact-plan-total strong{font-size:1.55rem}.contact-plan-item{padding:11px 0}
  body[data-static-route="contact"] .plan-mobile-bar{display:none!important}body[data-static-route="contact"]{padding-bottom:0!important}
}
@media(max-width:420px){.plan-drawer{max-height:84dvh;border-radius:18px 18px 0 0}.plan-drawer-head{padding-inline:15px}.plan-drawer-body{padding-inline:15px}.plan-item{gap:9px}.plan-item-price{font-size:.8rem}.plan-total-amount{font-size:1.7rem}.plan-addon{margin-left:8px;padding-left:10px}.plan-value-line .plan-saving{width:100%;margin-left:0}.plan-integration-actions{gap:7px}}
@media(prefers-reduced-motion:no-preference){
  @media(min-width:1001px){.plan-dialog[open] .plan-drawer{animation:planDrawerIn .16s ease-out}}
  @media(max-width:1000px){.plan-dialog[open] .plan-drawer{animation:planSheetIn .16s ease-out}}
}
@keyframes planDrawerIn{from{transform:translateX(14px);opacity:.78}to{transform:none;opacity:1}}@keyframes planSheetIn{from{transform:translateY(14px);opacity:.78}to{transform:none;opacity:1}}

/* Static-runtime adapter: preserve existing single mobile booking owner. */
@media(min-width:1001px){.mobile-booking.plan-mobile-bar{display:none!important}}


/* Price Planner V2 — accepted interaction/presentation delta */
.plan-add-course[data-plan-mode="remove"]{background:transparent;border-color:rgba(11,106,117,.28);color:#0b6a75}
.plan-add-course[data-plan-mode="included"]{background:rgba(16,42,51,.05);border-color:rgba(16,42,51,.12);color:var(--muted)}
.price-plan-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-top:1px solid var(--line-light)}
.price-plan-row:first-child{border-top:0}
.price-plan-row>a{display:grid;grid-template-columns:1fr auto 30px;gap:18px;align-items:center;padding:18px 14px 18px 22px;text-decoration:none;min-width:0}
.price-plan-row>a:hover{background:var(--sand-50)}
.price-plan-row>a b,.price-plan-row>a small{display:block}.price-plan-row>a small{color:var(--muted);margin-top:3px}.price-plan-row>a>strong{color:#0b6a75}
.price-plan-row .plan-price-control{align-self:center;margin-right:18px;min-width:138px;white-space:nowrap}
.price-package-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:auto}
.price-package-actions>.button{margin:0}.price-package-actions .plan-price-control{min-height:44px}
.stay-price-route{display:inline-flex;margin-top:8px;min-height:34px;align-items:center;color:#0b6a75;font-size:.72rem;font-weight:800;text-decoration:underline;text-decoration-color:rgba(11,106,117,.26);text-underline-offset:4px}
.plan-accommodation-builder{padding-top:16px}.plan-accommodation-head .eyebrow{margin:0 0 3px;font-size:.58rem}.plan-accommodation-head h3{font-size:1.03rem}
.plan-accommodation-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px}
.plan-accommodation-season-disclosure{margin:2px 0 8px;border-top:1px solid rgba(16,42,51,.07);border-bottom:1px solid rgba(16,42,51,.07);padding:7px 0}
.plan-accommodation-season-disclosure[hidden]{display:none!important}.plan-accommodation-season-disclosure summary{cursor:pointer;color:#0b6a75;font-size:.72rem;font-weight:800;min-height:34px;display:flex;align-items:center}.plan-accommodation-season-disclosure p{margin:0 0 7px;color:var(--muted);font-size:.68rem}.plan-accommodation-season-disclosure label{display:grid;gap:4px;color:var(--muted);font-size:.68rem;font-weight:750;max-width:250px}.plan-accommodation-season-disclosure select{min-height:40px;border:1px solid var(--line-light);border-radius:9px;background:var(--white);padding:7px 9px;color:var(--navy-900);font:inherit;font-weight:750}
.plan-accommodation-breakdown{display:block;margin:0 0 8px;color:var(--muted);font-size:.7rem;line-height:1.4}.plan-accommodation-add{min-width:0;padding-inline:14px}.plan-accommodation-add[data-plan-accommodation-mode="remove"]{background:transparent;color:#0b6a75}
.plan-export-actions{padding:14px 0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);margin-top:10px}.plan-export-actions[hidden]{display:none!important}.plan-export-copy{display:grid;gap:2px}.plan-export-copy strong{color:var(--navy-900);font-size:.82rem}.plan-export-copy span{color:var(--muted);font-size:.7rem;line-height:1.4}.plan-export-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.plan-export-button{min-height:40px;padding:7px 11px;border:1px solid rgba(11,106,117,.23);border-radius:9px;background:rgba(39,197,200,.08);color:#0b6a75;font-weight:850}.plan-export-button:hover{background:rgba(39,197,200,.15)}.plan-export-send{min-height:40px;display:inline-flex;align-items:center;padding:0 4px;color:#0b6a75;font-size:.74rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.plan-decision-dialog{width:min(440px,calc(100vw - 28px));max-width:440px;border:0;border-radius:18px;padding:0;background:transparent;color:var(--navy-900);box-shadow:0 22px 70px rgba(6,27,38,.26)}.plan-decision-dialog::backdrop{background:rgba(6,27,38,.38);backdrop-filter:blur(2px)}.plan-decision-card{background:var(--white);padding:22px;border:1px solid var(--line-light);border-radius:18px}.plan-decision-card .eyebrow{margin-bottom:6px}.plan-decision-card h2{font-size:1.5rem;margin:0;color:var(--navy-900)}.plan-decision-card p{margin:8px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}.plan-decision-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.plan-decision-actions button{min-height:42px;padding:8px 13px;border-radius:9px;font-weight:850}.plan-decision-confirm{border:1px solid var(--navy-900);background:var(--navy-900);color:var(--white)}.plan-decision-confirm.is-danger{background:#7c2f2f;border-color:#7c2f2f}.plan-decision-cancel{border:1px solid var(--line-light);background:var(--white);color:var(--navy-900)}
@media(max-width:700px){.price-plan-row{grid-template-columns:1fr}.price-plan-row>a{padding:15px 16px 8px;grid-template-columns:minmax(0,1fr) auto 22px}.price-plan-row .plan-price-control{margin:0 16px 14px;justify-self:start}.price-package-actions{display:grid;grid-template-columns:1fr}.price-package-actions>*{width:100%}.plan-accommodation-fields{grid-template-columns:1fr}.plan-accommodation-add{width:auto}.plan-export-buttons{display:grid;grid-template-columns:1fr 1fr}.plan-export-send{grid-column:1/-1}}
@media(max-width:420px){.plan-decision-card{padding:18px}.plan-decision-actions{display:grid;grid-template-columns:1fr}.plan-decision-actions button{width:100%}.plan-export-buttons{grid-template-columns:1fr}.plan-export-send{grid-column:auto}}


/* ROW693 final private repair — simplify-first UX. */
.plan-next[hidden]{display:none!important}
.plan-icon-button{opacity:.62;border-color:rgba(16,42,51,.10)!important;background:transparent!important}
.plan-icon-button:hover{opacity:1}
.plan-drawer-handle{opacity:.22}
.plan-footer-links{display:inline-flex;gap:6px;align-items:center;white-space:normal}
.plan-footer-links a{color:inherit;text-decoration:underline;text-decoration-color:rgba(98,116,122,.35);text-underline-offset:3px}

.plan-accommodation-nondiver{grid-column:1/-1;margin:0;border:0}
.plan-accommodation-nondiver[hidden]{display:none!important}
.plan-accommodation-nondiver summary{list-style:none;cursor:pointer;min-height:34px;display:inline-flex;align-items:center;color:#0b6a75;font-size:.72rem;font-weight:800}
.plan-accommodation-nondiver summary::-webkit-details-marker{display:none}
.plan-accommodation-nondiver label{margin-top:3px;max-width:calc(50% - 4px)}
.plan-accommodation-builder.needs-course .plan-accommodation-fields,
.plan-accommodation-builder.needs-course .plan-accommodation-estimate,
.plan-accommodation-builder.needs-course .plan-accommodation-breakdown,
.plan-accommodation-builder.needs-course .plan-accommodation-add,
.plan-accommodation-builder.needs-course .plan-accommodation-note,
.plan-accommodation-builder.needs-course .plan-accommodation-season-disclosure{display:none!important}

.plan-returning{margin:8px 0 2px;padding:8px 10px;border-radius:9px;background:#f7faf9;border:1px solid rgba(11,106,117,.12);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--navy-900);font-size:.72rem;font-weight:760}
.plan-returning>div{display:flex;gap:6px}.plan-returning button,.plan-returning-result button{min-height:32px;padding:5px 9px;border-radius:8px;border:1px solid rgba(11,106,117,.22);background:var(--white);color:#0b6a75;font-weight:850;font-size:.7rem}
.plan-returning-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:.7rem}.plan-returning-result button{min-height:28px;padding:3px 7px;background:transparent}
.plan-item-price.is-discounted{display:grid;justify-items:end;gap:2px}.plan-item-price.is-discounted strong{font-size:.92rem;color:var(--navy-900)}.plan-item-price.is-discounted .plan-reference-price{font-size:.68rem}.plan-item-price.is-discounted .plan-saving{font-size:.62rem}

.price-plan-row>a{grid-template-columns:minmax(0,1fr) auto minmax(96px,auto)}
.price-view-label{font-size:.72rem;font-weight:800;color:#0b6a75;white-space:nowrap;text-align:right}
.price-plan-row .plan-price-control[data-plan-mode="included"]{background:#f6f8f7;color:var(--muted);border-color:var(--line-light)}

.prices-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:18px;align-items:start}
.prices-plan-summary{position:sticky;top:calc(var(--header-height) + 18px);border:1px solid var(--line-light);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-soft);padding:17px}
.prices-plan-summary[hidden]{display:none!important}.prices-plan-summary .eyebrow{margin-bottom:2px}.prices-plan-summary-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line-light)}.prices-plan-summary-title h3{margin:0;font-size:1.18rem;color:var(--navy-900)}.prices-plan-summary-title button{border:0;background:transparent;color:#0b6a75;text-decoration:underline;text-underline-offset:3px;font-weight:800;font-size:.7rem;padding:6px 0}
.prices-plan-summary-items{display:grid}.prices-plan-summary-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 0;border-bottom:1px solid rgba(16,42,51,.08);font-size:.72rem}.prices-plan-summary-item span{color:var(--navy-900);font-weight:760}.prices-plan-summary-item strong{white-space:nowrap;color:#0b6a75;font-size:.72rem}
.prices-plan-summary-total{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:12px 0}.prices-plan-summary-total span{font-size:.7rem;color:var(--muted)}.prices-plan-summary-total strong{font-family:Fraunces,Georgia,serif;font-size:1.35rem;color:var(--navy-900);white-space:nowrap}.prices-plan-summary-actions{display:grid;gap:6px}.prices-plan-summary-actions .plan-add-course{width:100%}.prices-plan-summary-actions a{min-height:34px;display:flex;align-items:center;justify-content:center;color:#0b6a75;font-weight:800;font-size:.72rem;text-decoration:underline;text-underline-offset:3px}.prices-plan-summary>p{margin:8px 0 0;color:var(--muted);font-size:.64rem;line-height:1.4}
@media(max-width:1000px){.prices-plan-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.prices-plan-summary{display:block;position:static;top:auto;max-width:none}}
@media(max-width:700px){.price-plan-row>a{grid-template-columns:minmax(0,1fr) auto;gap:10px}.price-view-label{grid-column:1/-1;text-align:left}.plan-accommodation-nondiver label{max-width:none}}


/* ROW704 final private visual-repair lock: ROW694-702 */
/* Planner: lower information density, progressive disclosure, safe outside-dismiss affordance. */
@media(min-width:1001px){
  .plan-dialog::backdrop{background:transparent}
  .plan-dialog[open] .plan-drawer{box-shadow:-22px 0 58px rgba(6,27,38,.18)}
}
.plan-item{padding:13px 0;align-items:start}
.plan-item-title{font-size:.86rem}
.plan-route-arrow{display:none!important}
.plan-item-meta{display:none}
.plan-item-status{display:block;margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35}
.plan-item.is-pending .plan-item-price{color:var(--muted);font-size:.72rem;padding-top:2px}
.plan-item-edit{margin-top:5px;border:0;padding:0}
.plan-item-edit>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:28px;color:var(--muted);font-size:.67rem;font-weight:760;text-decoration:underline;text-decoration-color:rgba(98,116,122,.32);text-underline-offset:3px}
.plan-item-edit>summary::-webkit-details-marker{display:none}
.plan-item-edit>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:3px 0 2px}
.plan-item-edit .plan-remove,.plan-item-edit [data-plan-returning-reset]{min-height:30px;margin:0;padding:3px 0;border:0;background:transparent;color:#0b6a75;font-size:.68rem;font-weight:760;text-decoration:underline;text-underline-offset:3px}
.plan-edit-note{color:var(--muted);font-size:.66rem}
.plan-addon{margin-left:10px;padding-left:11px}.plan-addon .plan-item-title{font-size:.78rem}.plan-addon .plan-item-price{font-size:.82rem}
.plan-returning{margin:6px 0 1px;padding:7px 8px;font-size:.68rem;background:#f7faf9}.plan-returning button{min-height:30px}
.plan-integration-card{display:none!important}
.plan-primary-action{padding:5px 0 10px}.plan-primary-action[hidden]{display:none!important}.plan-primary-action>a{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:10px;background:var(--turquoise-500);color:var(--navy-900);font-weight:900;text-decoration:none}.plan-primary-action>a:hover{background:var(--turquoise-400)}.plan-primary-action>span{display:block;margin-top:4px;text-align:center;color:var(--muted);font-size:.64rem}
.plan-export-actions{margin:0 0 5px;padding:0;border:0}.plan-export-actions[hidden]{display:none!important}.plan-export-actions>summary{list-style:none;cursor:pointer;min-height:38px;display:inline-flex;align-items:center;color:#0b6a75;font-size:.72rem;font-weight:820;text-decoration:underline;text-underline-offset:4px}.plan-export-actions>summary::-webkit-details-marker{display:none}.plan-export-panel{padding:7px 0 4px}.plan-export-panel p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.4}.plan-export-buttons{margin-top:7px}
.plan-next{padding-top:11px}.plan-next-intro{margin-bottom:3px}.plan-suggestion{padding:8px 0}.plan-suggestion p{max-width:310px}.plan-suggestion-inline{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.plan-clear{min-height:30px;margin:0 0 4px;font-size:.67rem}
.plan-footer-links{opacity:.78}

/* Contextual Nitrox: integrated add-on is discoverable with Advanced, standalone remains secondary. */
.plan-advanced-nitrox-offer{flex-basis:100%;grid-column:1/-1;min-width:0;margin:4px 0 2px 8px;padding:4px 8px;border-left:2px solid #8accca;color:var(--muted);font-size:.7rem;line-height:1.35;display:flex;align-items:center;flex-wrap:wrap;gap:2px 9px;overflow-wrap:anywhere}
.plan-advanced-nitrox-offer[data-nitrox-selection="selected"]{border-left-color:#0b6a75}
.plan-advanced-nitrox-offer[hidden],.plan-nitrox-standalone-option[hidden]{display:none!important}
.plan-advanced-nitrox-offer button,.plan-nitrox-standalone-option{border:0;background:transparent;padding:7px 0;min-height:44px;color:#0b6a75;font:inherit;font-weight:820;text-decoration:underline;text-decoration-color:rgba(11,106,117,.3);text-underline-offset:3px;cursor:pointer}
.plan-advanced-nitrox-offer button:focus-visible{outline:2px solid #0b6a75;outline-offset:2px}
.plan-nitrox-standalone-option{display:block;min-height:30px;margin:0 18px 6px auto;font-size:.67rem;white-space:normal;line-height:1.25;overflow-wrap:normal}
.price-plan-row .price-nitrox-actions{grid-column:2;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0}
.price-plan-row .price-nitrox-actions .plan-price-control{margin:0}
.price-plan-row .price-nitrox-actions .plan-nitrox-standalone-option{grid-column:auto;min-height:20px;margin:2px 0 0;padding:1px 0;justify-self:auto;font-size:.62rem;line-height:1.15}

/* Prices: stable desktop scanning columns; collapse rather than squeeze. */
@media(min-width:901px){
  .price-plan-row{grid-template-columns:minmax(0,1fr) 164px;align-items:center}
  .price-plan-row>a{grid-template-columns:minmax(0,1fr) 132px 104px;gap:14px;align-items:center;padding-right:10px}
  .price-plan-row>a>strong{justify-self:end;text-align:right;white-space:nowrap}
  .price-view-label{justify-self:end;width:104px;text-align:right}
  .price-plan-row .plan-price-control{width:146px;min-width:146px;margin:0 18px 0 0;justify-self:end}
  .price-plan-row .price-nitrox-actions{width:146px;margin:0 18px 0 0;justify-self:end}
  .price-plan-row .price-nitrox-actions .plan-price-control{width:100%;min-width:0;margin:0;justify-self:auto}
  .price-plan-row .price-nitrox-actions .plan-nitrox-standalone-option{width:auto;margin:2px 0 0;text-align:right}
}
@media(max-width:900px){
  .price-plan-row{grid-template-columns:1fr}
  .price-plan-row>a{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:15px 16px 7px}
  .price-view-label{grid-column:1/-1;justify-self:start;width:auto;text-align:left}
  .price-plan-row .plan-price-control{margin:0 16px 8px;justify-self:start;width:auto;min-width:0}
  .price-plan-row .price-nitrox-actions{grid-column:1;width:auto;margin:0 16px 8px;justify-self:start;align-items:flex-start}
  .price-plan-row .price-nitrox-actions .plan-price-control{width:auto;min-width:0;margin:0}
  .price-plan-row .price-nitrox-actions .plan-nitrox-standalone-option{width:auto;margin:2px 0 0;text-align:left}
}

/* Accommodation: evaluate the room first, then plan the stay as a separate stage. */
.room-image-generic-label{display:none!important}
.plan-accommodation-stage{margin-top:16px;padding:12px 0 0;border:0;border-top:1px solid var(--line-light);border-radius:0;background:transparent;box-shadow:none;width:100%}
.plan-accommodation-stage .plan-accommodation-builder{margin:0;padding:0;border:0;max-width:760px}
.room-availability{display:none!important}
.room-rate-panel{grid-template-columns:1fr!important;margin-bottom:10px!important;overflow:visible!important;background:linear-gradient(135deg,rgba(39,197,200,.11),rgba(255,255,255,.96))!important}
.room-rate-main{padding:17px 18px 13px!important}
.room-rate-main>span{font-size:.72rem!important;font-weight:760;color:#0b6a75!important;text-transform:none}
.room-rate-main>strong{font-size:clamp(1.9rem,3vw,2.55rem)!important;line-height:1.06!important;margin:5px 0 13px!important;max-width:none!important;overflow-wrap:normal!important;word-break:normal!important}
.room-rate-standard{padding-top:10px!important;align-items:baseline!important}.room-rate-standard span{font-size:.7rem!important}.room-rate-standard strong{font-size:.79rem!important;white-space:nowrap}
.room-rate-season{border-left:0!important;border-top:1px solid rgba(11,106,117,.13)!important;padding:9px 18px 11px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.room-rate-season>span{font-size:.67rem!important;opacity:.78}.season-disclosure{width:auto!important}.season-disclosure summary{min-height:30px!important;padding:5px 8px!important;font-size:.66rem!important;background:transparent!important;color:var(--muted)!important}.season-disclosure p{position:absolute;z-index:4;max-width:360px;padding:10px 12px;border:1px solid var(--line-light);border-radius:9px;background:var(--white);box-shadow:var(--shadow-soft);font-size:.68rem}
.room-rate-choice{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;align-items:baseline;margin-top:5px}.room-rate-choice+ .room-rate-choice{margin-top:3px}.room-rate-choice em{font-family:Manrope,"Segoe UI",Arial,sans-serif;font-size:.72rem;font-style:normal;font-weight:850;color:#0b6a75}.room-rate-choice b{font-family:Fraunces,Georgia,serif;font-size:1.55rem;line-height:1.05;color:var(--navy-900);white-space:nowrap}
.room-rate-standard .room-rate-choice{grid-template-columns:62px minmax(0,1fr);margin-top:0}.room-rate-standard .room-rate-choice b{font-family:Manrope,"Segoe UI",Arial,sans-serif;font-size:.78rem}.room-rate-standard>strong:has(.room-rate-choice){display:grid;gap:3px}
@media(max-width:700px){.plan-accommodation-stage{padding:12px 0 0}.room-rate-season{align-items:flex-start!important;flex-direction:column!important}.room-rate-choice{grid-template-columns:64px 1fr}.room-rate-choice b{font-size:1.3rem}.season-disclosure p{position:static;max-width:none;box-shadow:none}}


/* ROW711 / ROW710 locked final Planner/Pricing delta — one Prices desktop surface + transparent estimated discounts. */
.plan-discount-pill{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 7px;border-radius:999px;background:rgba(39,197,200,.13);border:1px solid rgba(11,106,117,.14);color:#0b6a75;font-size:.59rem;font-weight:900;letter-spacing:.02em;white-space:nowrap}
.plan-item-price.is-discounted{align-content:start;justify-items:end;gap:2px;min-width:104px}
.plan-item-price.is-discounted .plan-reference-price{color:var(--muted);font-size:.65rem;line-height:1.15}
.plan-item-price.is-discounted strong{color:#0b6a75;font-size:.92rem;line-height:1.15;white-space:nowrap}
.plan-item-price.is-discounted .plan-discount-pill{margin-top:2px}
.plan-discount-note{max-width:270px}

.prices-plan-summary-item.has-discount{align-items:start}
.prices-plan-summary-item>span>small{display:inline-flex;margin-top:4px;min-height:20px;padding:2px 6px;border-radius:999px;background:rgba(39,197,200,.13);border:1px solid rgba(11,106,117,.12);color:#0b6a75;font-size:.57rem;font-weight:900}
.prices-plan-summary-price.is-discounted{display:grid;justify-items:end;gap:1px;white-space:nowrap}
.prices-plan-summary-price.is-discounted s{color:var(--muted);font-size:.61rem;font-weight:650}
.prices-plan-summary-price.is-discounted strong{color:#0b6a75;font-size:.76rem}

.contact-plan-price.is-discounted{display:grid;justify-items:end;gap:2px;white-space:nowrap}
.contact-plan-price.is-discounted s{color:var(--muted);font-size:.62rem;font-weight:650}
.contact-plan-price.is-discounted strong{color:#0b6a75;font-size:.82rem}
.contact-plan-price.is-discounted em{display:inline-flex;min-height:20px;align-items:center;padding:2px 6px;border-radius:999px;background:rgba(39,197,200,.15);border:1px solid rgba(39,197,200,.24);color:#0b6a75;font-size:.55rem;font-style:normal;font-weight:900}

@media(min-width:1001px){
  .prices-plan-layout.has-expanded-plan{grid-template-columns:minmax(0,1fr) minmax(320px,370px)}
  .prices-plan-summary.is-expanded{padding:0;overflow:hidden}
  .prices-plan-summary.is-expanded .plan-drawer{width:100%;height:auto;max-height:calc(100dvh - var(--header-height) - 36px);border:0;border-radius:inherit;box-shadow:none}
  .prices-plan-summary.is-expanded .plan-drawer-head{padding:17px 17px 13px}
  .prices-plan-summary.is-expanded .plan-drawer-head h2{font-size:1.55rem}
  .prices-plan-summary.is-expanded .plan-drawer-head p{font-size:.72rem;line-height:1.4}
  .prices-plan-summary.is-expanded .plan-drawer-body{padding:0 17px 15px}
  .prices-plan-summary.is-expanded .plan-drawer-foot{padding:9px 17px 11px}
  .prices-plan-summary.is-expanded .plan-item{gap:9px}
}
@media(min-width:1001px) and (max-width:1240px){
  .prices-plan-layout,.prices-plan-layout.has-expanded-plan{grid-template-columns:minmax(0,1fr) minmax(285px,320px);gap:14px}
  .prices-plan-summary{padding:14px}
  .prices-plan-summary.is-expanded{padding:0}
}

/* Visual QA: keep exact planner labels readable without squeezing the Prices grid. */
.price-plan-row .plan-price-control{white-space:normal;line-height:1.18;overflow-wrap:anywhere;text-align:center}
@media(min-width:1001px) and (max-width:1240px){
  .prices-plan-layout.has-expanded-plan .price-plan-row{grid-template-columns:1fr}
  .prices-plan-layout.has-expanded-plan .price-plan-row>a{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:15px 16px 7px}
  .prices-plan-layout.has-expanded-plan .price-view-label{grid-column:1/-1;justify-self:start;width:auto;text-align:left}
  .prices-plan-layout.has-expanded-plan .price-plan-row .plan-price-control{margin:0 16px 8px;justify-self:start;width:auto;min-width:0}
  .prices-plan-layout.has-expanded-plan .price-plan-row .price-nitrox-actions{grid-column:1;margin:0 16px 8px;justify-self:start;width:auto;align-items:flex-start}
  .prices-plan-layout.has-expanded-plan .price-plan-row .price-nitrox-actions .plan-price-control{margin:0;width:auto;min-width:0}
  .prices-plan-layout.has-expanded-plan .price-plan-row .price-nitrox-actions .plan-nitrox-standalone-option{margin:2px 0 0;width:auto;text-align:left}
}

.price-plan-row>a{position:relative}.price-overview-state{display:block;grid-column:2;justify-self:end;margin-top:-5px;color:var(--muted,#64777c);font-size:.68rem;font-weight:760;text-align:right;line-height:1.2;max-width:150px}.price-plan-row[data-price-overview-mode="integrated"] .price-overview-state,.price-plan-row[data-price-overview-mode="integrated-offer"] .price-overview-state,.price-plan-row[data-price-overview-mode="returning"] .price-overview-state{color:#0b6a75}@media(max-width:1000px){.price-overview-state{grid-column:auto;justify-self:start;text-align:left;max-width:none;margin-top:2px}}


/* CHG392 / ROW836 — R01 Prices result/overview only. Mechanics/pricing remain untouched. */
.prices-plan-summary-copy{min-width:0;display:grid;gap:2px}
.prices-plan-summary-copy>b{color:var(--navy-900);font-size:.73rem;line-height:1.25}
.prices-plan-summary-meta{display:block;color:var(--muted);font-size:.62rem;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.prices-plan-summary-discount{display:inline-flex!important;width:max-content;margin-top:2px!important;min-height:20px;padding:2px 6px;border-radius:999px;background:rgba(39,197,200,.13);border:1px solid rgba(11,106,117,.12);color:#0b6a75!important;font-size:.57rem!important;font-weight:900!important}
.prices-plan-summary-actions{display:block}
.prices-plan-summary-primary{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:44px!important;border-radius:10px;background:var(--turquoise-500);color:var(--navy-900)!important;font-weight:900!important;text-decoration:none!important}
.prices-plan-summary-primary:hover{background:var(--turquoise-400)}
.prices-plan-summary>p{margin-top:9px;font-size:.62rem;line-height:1.42}
.prices-plan-summary.is-expanded{padding:0;overflow:visible}
.prices-plan-summary.is-expanded .plan-drawer{width:100%;height:auto;min-height:0;max-height:none;overflow:visible;border:0;border-radius:inherit;box-shadow:none}
.prices-plan-summary.is-expanded .plan-drawer-head{padding:14px 16px 10px}
.prices-plan-summary.is-expanded .plan-drawer-head h2{font-size:1.48rem}
.prices-plan-summary.is-expanded .plan-drawer-head p{margin-top:4px;font-size:.68rem;line-height:1.35}
.prices-plan-summary.is-expanded .plan-drawer-body{flex:none;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto;padding:0 16px 11px}
.prices-plan-summary.is-expanded .plan-drawer-foot{padding:8px 16px 10px;background:var(--sand-50);font-size:.62rem;line-height:1.35}
.prices-plan-summary.is-expanded .plan-item{padding:10px 0;gap:9px}
.prices-plan-summary.is-expanded .plan-section-label{padding:10px 0 2px}
.prices-plan-summary.is-expanded .plan-result-meta{display:block;margin-top:2px;color:var(--muted);font-size:.65rem;line-height:1.32;max-width:260px;overflow-wrap:anywhere}
.prices-plan-summary.is-expanded .plan-total{padding:12px 0 9px}
.prices-plan-summary.is-expanded .plan-primary-action{padding:4px 0 7px}
.prices-plan-summary.is-expanded .plan-export-actions{margin:0;padding:0}
.prices-plan-summary.is-expanded .plan-clear{margin:0;font-size:.65rem}
.prices-plan-summary.is-expanded .plan-next{display:none!important}
@media(max-width:1000px){
  body[data-current-route="prices"] .plan-mobile-bar.is-suppressed{display:none!important}
  body[data-current-route="prices"]:not(.has-planbar){padding-bottom:0!important}
  .prices-plan-summary.is-expanded .plan-drawer-handle{display:none}
}
@media(max-width:420px){
  .prices-plan-summary{padding:14px}
  .prices-plan-summary.is-expanded{padding:0}
  .prices-plan-summary.is-expanded .plan-drawer-head{padding:13px 14px 9px}
  .prices-plan-summary.is-expanded .plan-drawer-body{padding:0 14px 10px}
  .prices-plan-summary.is-expanded .plan-drawer-foot{padding:8px 14px 9px}
  .prices-plan-summary-item{padding:8px 0}
  .prices-plan-summary-total{padding:10px 0}
}


/* CHG392 R01 Lex visual refinement — materially smaller /prices/ result only. */
.prices-plan-summary-addon{display:block;margin-top:2px;color:#527679;font-size:.59rem;font-weight:600;font-style:italic;line-height:1.25}
.prices-plan-summary-addon em{color:#0b6a75;font-style:italic;font-weight:760}
.prices-plan-summary.is-expanded .plan-drawer-head{padding:10px 12px 7px}
.prices-plan-summary.is-expanded .plan-drawer-head h2{font-size:1.22rem;line-height:1.05}
.prices-plan-summary.is-expanded .plan-drawer-head p{margin-top:2px;font-size:.6rem;line-height:1.25}
.prices-plan-summary.is-expanded .plan-drawer-body{padding:0 12px 8px}
.prices-plan-summary.is-expanded .plan-drawer-foot{padding:5px 12px 6px;font-size:.54rem;line-height:1.25}
.prices-plan-summary.is-expanded .plan-section-label{padding:7px 0 1px;font-size:.56rem;letter-spacing:.11em}
.prices-plan-summary.is-expanded .plan-item{padding:7px 0;gap:7px}
.prices-plan-summary.is-expanded .plan-item-title{font-size:.79rem;line-height:1.2}
.prices-plan-summary.is-expanded .plan-item-price{font-size:.78rem;line-height:1.2}
.prices-plan-summary.is-expanded .plan-item-price.is-discounted{min-width:86px;gap:1px}
.prices-plan-summary.is-expanded .plan-item-price.is-discounted .plan-reference-price{font-size:.56rem}
.prices-plan-summary.is-expanded .plan-item-price.is-discounted strong{font-size:.82rem}
.prices-plan-summary.is-expanded .plan-discount-pill{min-height:18px;padding:1px 5px;font-size:.52rem}
.prices-plan-summary.is-expanded .plan-result-meta{margin-top:1px;font-size:.58rem;line-height:1.25;max-width:240px}
.prices-plan-summary.is-expanded .plan-result-controls{display:flex;gap:8px;align-items:center;margin-top:3px}
.prices-plan-summary.is-expanded .plan-result-controls button,.prices-plan-summary.is-expanded .plan-result-addon .plan-remove{min-height:22px;padding:0;border:0;background:transparent;color:#60787d;font-size:.57rem;font-weight:700;text-decoration:underline;text-decoration-color:rgba(96,120,125,.35);text-underline-offset:2px}
.prices-plan-summary.is-expanded .plan-result-addon{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin-top:4px;padding-top:4px;border-top:1px solid rgba(11,106,117,.08);color:#527679;font-size:.59rem;font-weight:600;font-style:italic;line-height:1.25}
.prices-plan-summary.is-expanded .plan-result-addon span{min-width:0}
.prices-plan-summary.is-expanded .plan-result-addon em{color:#0b6a75;font-style:italic;font-weight:780}
.prices-plan-summary.is-expanded .plan-result-addon .plan-remove{flex:none;font-style:normal;font-size:.54rem}
.prices-plan-summary.is-expanded .plan-returning{margin-top:4px;padding:6px 7px;border-radius:7px}
.prices-plan-summary.is-expanded .plan-returning>span{font-size:.62rem}
.prices-plan-summary.is-expanded .plan-returning>small{font-size:.54rem;line-height:1.25}
.prices-plan-summary.is-expanded .plan-returning button{min-height:28px;padding:4px 9px;font-size:.6rem}
.prices-plan-summary.is-expanded .plan-total{padding:8px 0 5px}
.prices-plan-summary.is-expanded .plan-total-label{font-size:.62rem}
.prices-plan-summary.is-expanded .plan-total-amount{font-size:1.45rem}
.prices-plan-summary.is-expanded .plan-extra-fee{font-size:.57rem}
.prices-plan-summary.is-expanded .plan-primary-action{padding:3px 0 4px}
.prices-plan-summary.is-expanded .plan-primary-action>a{min-height:40px;border-radius:9px;font-size:.78rem}
.prices-plan-summary.is-expanded .plan-export-actions>summary{min-height:27px;font-size:.62rem}
.prices-plan-summary.is-expanded .plan-export-panel{padding:4px 0 2px}
.prices-plan-summary.is-expanded .plan-export-panel p{font-size:.57rem;line-height:1.25}
.prices-plan-summary.is-expanded .plan-export-buttons{margin-top:4px}
.prices-plan-summary.is-expanded .plan-export-button{min-height:34px;padding:5px 9px;font-size:.63rem}
.prices-plan-summary.is-expanded .plan-clear{min-height:24px;font-size:.58rem}
.prices-plan-summary-items .prices-plan-summary-item{padding:6px 0}
.prices-plan-summary-copy>b{font-size:.69rem}
.prices-plan-summary-meta{font-size:.57rem;line-height:1.25}
.prices-plan-summary-total{padding:9px 0}
.prices-plan-summary-total strong{font-size:1.22rem}
.prices-plan-summary-primary{min-height:40px!important;font-size:.75rem}
.prices-plan-summary>p{margin-top:6px;font-size:.56rem;line-height:1.3}
@media(max-width:420px){
  .prices-plan-summary.is-expanded .plan-drawer-head{padding:9px 11px 6px}
  .prices-plan-summary.is-expanded .plan-drawer-body{padding:0 11px 7px}
  .prices-plan-summary.is-expanded .plan-drawer-foot{padding:5px 11px 6px}
  .prices-plan-summary.is-expanded .plan-item{padding:6px 0}
  .prices-plan-summary.is-expanded .plan-result-addon{font-size:.57rem}
  .prices-plan-summary.is-expanded .plan-total-amount{font-size:1.38rem}
}

/* R01 visual refinement v2 — one compact result column; add-ons become a small nested note. */
.prices-plan-summary.is-expanded .plan-result-item{display:block}
.prices-plan-summary.is-expanded .plan-result-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.prices-plan-summary.is-expanded .plan-result-main>.plan-item-price{margin:0}
.prices-plan-summary.is-expanded .plan-result-addon{width:100%;box-sizing:border-box;white-space:normal}
.prices-plan-summary.is-expanded .plan-result-controls button,.prices-plan-summary.is-expanded .plan-result-addon .plan-remove{appearance:none!important;-webkit-appearance:none!important;border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;font:inherit!important;line-height:1.2!important}
.prices-plan-summary.is-expanded .plan-result-controls{margin-top:2px}
.prices-plan-summary.is-expanded .plan-result-controls button{font-size:.55rem!important;color:#60787d!important;font-weight:700!important}
.prices-plan-summary.is-expanded .plan-result-addon{margin-top:3px;padding-top:3px;font-size:.57rem;line-height:1.2}
.prices-plan-summary.is-expanded .plan-result-addon .plan-remove{font-size:.52rem!important;color:#6b7f82!important}
.prices-plan-summary.is-expanded .plan-result-meta{max-width:none}
@media(max-width:420px){
 .prices-plan-summary.is-expanded .plan-result-main{gap:6px}
 .prices-plan-summary.is-expanded .plan-result-addon{font-size:.55rem}
}


/* CHG397 / ROW841 — R01 structural compaction after direct Lex rejection.
   /prices/ result only: compact quote/receipt hierarchy; mechanics/pricing unchanged. */
body[data-current-route="prices"] .prices-plan-summary{padding:10px 12px;border-radius:12px;box-shadow:none}
body[data-current-route="prices"] .prices-plan-summary-head{padding:0 0 6px;border-bottom:1px solid rgba(16,42,51,.10)}
body[data-current-route="prices"] .prices-plan-summary-head>strong{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#0b6a75}
body[data-current-route="prices"] .prices-plan-summary-item{padding:7px 0;gap:10px;align-items:start;font-size:.7rem}
body[data-current-route="prices"] .prices-plan-summary-copy{gap:1px}
body[data-current-route="prices"] .prices-plan-summary-copy>b{font-size:.72rem;line-height:1.2}
body[data-current-route="prices"] .prices-plan-summary-meta,body[data-current-route="prices"] .prices-plan-summary-extra{font-size:.56rem;line-height:1.22;color:#657b80;font-weight:600}
body[data-current-route="prices"] .prices-plan-summary-addon{margin-top:2px;font-size:.56rem;line-height:1.2;color:#56777b;font-style:italic;font-weight:600}
body[data-current-route="prices"] .prices-plan-summary-addon em{color:#0b6a75;font-weight:760}
body[data-current-route="prices"] .prices-plan-summary-price{font-size:.7rem!important;line-height:1.15;white-space:nowrap;color:var(--navy-900)!important;font-weight:850!important}
body[data-current-route="prices"] .prices-plan-summary-price.is-discounted{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;flex-wrap:wrap;max-width:104px}
body[data-current-route="prices"] .prices-plan-summary-price.is-discounted s{font-size:.52rem;color:#819096;font-weight:500}
body[data-current-route="prices"] .prices-plan-summary-price.is-discounted strong{font-size:.72rem;color:var(--navy-900)}
body[data-current-route="prices"] .prices-plan-summary-price.is-discounted em{width:100%;text-align:right;color:#0b6a75;font-size:.5rem;font-style:italic;font-weight:700}
body[data-current-route="prices"] .prices-plan-summary-total{padding:8px 0 7px;border-top:1px solid rgba(16,42,51,.10)}
body[data-current-route="prices"] .prices-plan-summary-total span{font-size:.6rem;color:#657b80}
body[data-current-route="prices"] .prices-plan-summary-total strong{font-size:1.14rem;line-height:1;color:var(--navy-900)}
body[data-current-route="prices"] .prices-plan-summary-actions{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center}
body[data-current-route="prices"] .prices-plan-summary-actions button{min-height:34px;padding:5px 10px;border:1px solid rgba(11,106,117,.18);border-radius:8px;background:#fff;color:#0b6a75;font-size:.66rem;font-weight:800}
body[data-current-route="prices"] .prices-plan-summary-primary{min-height:34px!important;border-radius:8px;font-size:.68rem!important}

body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer-head{padding:8px 10px 5px;border-bottom:1px solid rgba(16,42,51,.10)}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer-head h2{font-family:Manrope,"Segoe UI",Arial,sans-serif;font-size:.72rem!important;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:#0b6a75}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-icon-button{width:30px;height:30px;min-width:30px;border-radius:8px}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer-body{padding:0 10px 8px!important;overflow:visible!important;flex:none!important;scrollbar-gutter:auto!important}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer-foot{display:none!important}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-section-label{padding:6px 0 1px;font-size:.52rem;letter-spacing:.12em}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-item{display:block;padding:7px 0;border-bottom:1px solid rgba(16,42,51,.09)}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-copy{min-width:0;display:grid;gap:1px}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-item-title{font-size:.72rem;line-height:1.2;font-weight:820}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-meta,body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-extra{display:block;margin:0;max-width:none;color:#657b80;font-size:.55rem;line-height:1.2;font-weight:600}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin:2px 0 0;padding:0;border:0;color:#56777b;font-size:.56rem;line-height:1.2;font-style:italic;font-weight:600}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon em{color:#0b6a75;font-style:italic;font-weight:760}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-compact-price{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;flex-wrap:wrap;max-width:110px;color:var(--navy-900);font-size:.72rem;line-height:1.15;font-weight:850;white-space:nowrap}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-compact-price s{font-size:.52rem;color:#819096;font-weight:500}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-compact-price em{width:100%;text-align:right;color:#0b6a75;font-size:.5rem;font-style:italic;font-weight:700}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-compact-returning{display:flex;align-items:center;gap:5px;margin-top:3px;color:#657b80;font-size:.56rem}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-compact-returning button{min-height:26px;padding:3px 7px;border:1px solid rgba(11,106,117,.18);border-radius:7px;background:#fff;color:#0b6a75;font-size:.56rem;font-weight:800}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-controls{display:none;align-items:center;gap:8px;margin-top:3px}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-controls button,body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon .plan-remove{appearance:none!important;border:0!important;background:transparent!important;padding:0!important;min-height:20px!important;color:#657b80!important;font-size:.54rem!important;font-weight:700!important;text-decoration:underline;text-underline-offset:2px}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon .plan-remove{display:none}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-total{padding:8px 0 6px;border-top:1px solid rgba(16,42,51,.10)}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-total-label{font-size:.6rem}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-total-amount{font-size:1.2rem;line-height:1}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-primary-action{display:grid;grid-template-columns:auto 1fr;gap:7px;padding:3px 0 0}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-primary-action>button{min-height:36px;padding:5px 10px;border:1px solid rgba(11,106,117,.18);border-radius:8px;background:#fff;color:#0b6a75;font-size:.65rem;font-weight:800}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-primary-action>a{min-height:36px;border-radius:8px;font-size:.68rem}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-export-actions,body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-clear{display:none!important}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-next{display:none!important}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer.is-editing .plan-result-controls{display:flex}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer.is-editing .plan-result-addon .plan-remove{display:inline-flex}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer.is-editing .plan-export-actions{display:block!important;margin:4px 0 0;padding:0;border:0}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer.is-editing .plan-clear{display:inline-flex!important;min-height:24px;margin:1px 0 0;font-size:.54rem}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer.is-editing .plan-export-actions>summary{min-height:26px;font-size:.56rem}
@media(max-width:420px){
 body[data-current-route="prices"] .prices-plan-summary{padding:9px 10px}
 body[data-current-route="prices"] .prices-plan-summary.is-expanded{padding:0}
 body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer-head{padding:7px 9px 4px}
 body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer-body{padding:0 9px 7px!important}
 body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-item{padding:6px 0}
 body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon{font-size:.54rem}
 body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-total-amount{font-size:1.15rem}
}

/* R01 successor: dependency-safe compact controls + accommodation suspended state. */
.plan-remove.plan-remove-icon{display:inline-grid;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border:1px solid rgba(11,106,117,.18);border-radius:999px;background:var(--white);color:#657b80;font-size:1rem;font-weight:800;line-height:1;text-decoration:none;cursor:pointer}
.plan-remove.plan-remove-icon:hover{border-color:rgba(11,106,117,.38);background:#f3faf9;color:#0b6a75}
.plan-attention-status{display:block;margin-top:3px;color:#66797e;font-size:.7rem;line-height:1.35}
.plan-attention-link{display:inline-flex;min-height:36px;align-items:center;margin-top:3px;color:#0b6a75;font-size:.7rem;font-weight:800;text-underline-offset:3px}
.plan-item.is-suspended,.plan-item.is-pending-review{background:linear-gradient(90deg,rgba(247,249,247,.78),rgba(255,255,255,0));}
.plan-item.is-suspended .plan-item-title,.plan-item.is-pending-review .plan-item-title{color:#66797e}
.plan-inactive-price{color:#7a898c!important;font-size:.72rem!important;font-weight:750!important}
.plan-accommodation-saved.is-suspended{border-style:dashed;background:#f7f8f5;color:#66797e}
.plan-accommodation-saved.is-pending-review{border-color:rgba(184,132,42,.25);background:#fffaf0}
.plan-accommodation-saved.is-suspended [data-accommodation-saved-price],.plan-accommodation-saved.is-pending-review [data-accommodation-saved-price]{color:#66797e;font-weight:800}
.plan-accommodation-builder.is-suspended .plan-accommodation-fields,.plan-accommodation-builder.is-suspended .plan-accommodation-season-disclosure,.plan-accommodation-builder.is-suspended .plan-accommodation-estimate{opacity:.48}
.plan-accommodation-builder.is-suspended .plan-accommodation-fields input,.plan-accommodation-builder.is-suspended .plan-accommodation-fields select,.plan-accommodation-builder.is-suspended .plan-accommodation-season-disclosure select{cursor:not-allowed}
.plan-accommodation-builder.is-pending-review{border-top-color:rgba(184,132,42,.22)}
.contact-plan-item.is-attention{background:linear-gradient(90deg,rgba(247,249,247,.82),rgba(255,255,255,0));color:#66797e}
.contact-plan-item.is-attention>strong{color:#66797e;font-size:.7rem}
.contact-plan-attention-link{display:inline-flex;min-height:34px;align-items:center;margin-top:3px!important;color:#0b6a75!important;font-size:.68rem!important;font-weight:800!important;text-decoration:underline!important;text-underline-offset:3px}
.prices-plan-summary-item.is-suspended{background:rgba(247,249,247,.74);border-radius:8px;padding-inline:6px!important;margin-inline:-6px}
.prices-plan-summary-attention,.plan-result-attention{display:block;color:#66797e;font-size:.55rem;line-height:1.25;font-weight:650}
.prices-plan-summary-attention a,.plan-result-attention a{color:#0b6a75;font-weight:800;text-underline-offset:2px}
.prices-plan-summary-price.is-inactive,.plan-compact-price.is-inactive{color:#7a898c!important;font-weight:750!important}
.plan-decision-confirm.is-secondary{border-color:rgba(11,106,117,.28);background:#eef9f8;color:#0b6a75}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer.is-editing .plan-result-controls .plan-remove-icon,
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-drawer.is-editing .plan-result-addon .plan-remove-icon{display:inline-grid!important;place-items:center!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border:1px solid rgba(11,106,117,.18)!important;border-radius:999px!important;background:#fff!important;color:#657b80!important;font-size:.9rem!important;text-decoration:none!important}
@media(max-width:420px){.plan-decision-actions .plan-decision-confirm.is-secondary{order:2}.plan-decision-actions .plan-decision-cancel{order:3}}

/* R01 red-team visual correction: inactive accommodation must read as parked, not selected. */
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="suspended"]{
  background:#fafbfb;
  border:1px dashed #dce4e4;
  border-radius:8px;
  padding:7px 6px!important;
  margin:2px -6px 0;
}
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="suspended"] .prices-plan-summary-copy>b,
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="suspended"] .prices-plan-summary-price{color:#718186!important}
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="suspended"] .prices-plan-summary-meta,
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="suspended"] .prices-plan-summary-attention{
  display:block!important;
  min-height:0!important;
  margin-top:2px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#7b898d!important;
  font-weight:600!important;
}
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="suspended"] .prices-plan-summary-attention{color:#64767b!important;font-weight:700!important}
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="pending-review"]{
  background:#fbfaf7;
  border:1px dashed #e5dcc8;
  border-radius:8px;
  padding:7px 6px!important;
  margin:2px -6px 0;
}
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="pending-review"] .prices-plan-summary-meta,
body[data-current-route="prices"] .prices-plan-summary-item[data-plan-state="pending-review"] .prices-plan-summary-attention{
  display:block!important;
  min-height:0!important;
  margin-top:2px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#786f60!important;
  font-weight:650!important;
}

/* CHG411 / ROW854 — final bounded R01 compact result + savings disclosure rebase. */
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-item{padding:6px 0}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-line{gap:12px;align-items:start}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-copy{gap:2px}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-meta{font-size:.54rem;line-height:1.28;color:#66797e}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;
  margin:4px 0 0 8px;padding:4px 0 3px 9px;border-left:2px solid rgba(11,106,117,.24);
  color:#5f7378;font-size:.55rem;font-style:normal
}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon>span{display:grid;gap:0;min-width:0}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon em{font-style:normal;color:#183f49;font-size:.6rem;font-weight:820}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon small{color:#73858a;font-size:.49rem;line-height:1.2;font-weight:650}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-addon>strong{color:#183f49;font-size:.62rem;white-space:nowrap}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 0 8px;padding:4px 0 3px 9px;
  border-left:2px solid rgba(11,106,117,.15);color:#66797e;font-size:.53rem;line-height:1.25
}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option>span{min-width:0}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option em{font-style:normal;font-weight:780;color:#60767b}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option s{color:#8a979a;font-size:.49rem}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option strong{color:#183f49;font-size:.56rem;white-space:nowrap}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option button{
  min-width:44px;min-height:34px;padding:4px 7px;border:1px solid rgba(11,106,117,.18);border-radius:8px;background:#fff;
  color:#0b6a75;font-size:.54rem;font-weight:850;white-space:nowrap
}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option button:hover,
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option button:focus-visible{border-color:rgba(11,106,117,.45);background:#f5fbfb;outline:2px solid rgba(11,106,117,.18);outline-offset:1px}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-compact-price{font-size:.7rem;line-height:1.2;color:#183f49}

.plan-savings{position:relative;margin:0;border-top:1px solid rgba(16,42,51,.10)}
.plan-savings-toggle{width:100%;min-height:38px;padding:7px 0;display:grid;grid-template-columns:1fr auto 14px;align-items:center;gap:6px;border:0;background:transparent;color:#60767b;text-align:left;cursor:pointer}
.plan-savings-toggle>span:first-child{font-size:.62rem;font-weight:720}
.plan-savings-toggle>strong{font-size:.66rem;color:#0b6a75;font-weight:850;white-space:nowrap}
.plan-savings-caret{font-size:.72rem;text-align:right;transition:transform .16s ease}
.plan-savings.is-open .plan-savings-caret{transform:rotate(180deg)}
.plan-savings-toggle:focus-visible{outline:2px solid rgba(11,106,117,.32);outline-offset:2px;border-radius:6px}
.plan-savings-breakdown{position:absolute;z-index:30;right:0;bottom:calc(100% - 3px);width:min(290px,calc(100vw - 30px));padding:8px 10px;border:1px solid rgba(16,42,51,.14);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(16,42,51,.14)}
.plan-savings-breakdown[hidden]{display:none!important}
.plan-savings-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:4px 0;color:#60767b;font-size:.56rem;line-height:1.3}
.plan-savings-breakdown>div+div{border-top:1px solid rgba(16,42,51,.07)}
.plan-savings-breakdown strong{color:#183f49;white-space:nowrap}

body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-savings{margin-top:2px}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-savings-toggle{min-height:32px;padding:5px 0}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-savings-toggle>span:first-child{font-size:.57rem}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-savings-toggle>strong{font-size:.6rem}
body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-total{padding-top:6px}
body[data-current-route="prices"] .prices-plan-summary-head>strong{font-size:.68rem}
body[data-current-route="prices"] .prices-plan-summary .plan-savings{margin-top:3px}
body[data-current-route="prices"] .prices-plan-summary .plan-savings-breakdown{bottom:calc(100% - 2px)}

.contact-plan-panel .plan-savings{margin-top:8px}
.contact-plan-panel .plan-savings-toggle{min-height:40px}
.contact-plan-panel .plan-savings-breakdown{left:0;right:auto;bottom:calc(100% - 2px)}

.plan-remove-icon{color:#657b80!important}
.plan-remove-icon:hover,.plan-remove-icon:focus-visible{color:#8a3030!important;border-color:rgba(138,48,48,.28)!important;outline-color:rgba(138,48,48,.20)!important}

@media(max-width:700px){
  body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option{align-items:flex-start}
  body[data-current-route="prices"] .prices-plan-summary.is-expanded .plan-result-option button{min-height:44px;min-width:48px}
  .plan-savings-toggle{min-height:44px}
  .plan-savings-breakdown{position:absolute;right:0;width:min(300px,calc(100vw - 34px))}
}
body[data-current-route="prices"] .prices-plan-summary-subrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-left:8px;padding:5px 0 5px 9px;border-left:2px solid rgba(11,106,117,.18);border-bottom:1px solid rgba(16,42,51,.06);font-size:.55rem;color:#61777b}
body[data-current-route="prices"] .prices-plan-summary-subrow>span{min-width:0}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-selected>span{display:grid;gap:0}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-selected b{font-size:.6rem;color:#183f49}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-selected small{font-size:.49rem;color:#73858a;font-weight:650}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-selected>strong{font-size:.62rem;color:#183f49;white-space:nowrap}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-option em{font-style:normal;font-weight:780;color:#60767b}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-option s{font-size:.49rem;color:#8a979a}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-option span>strong{font-size:.56rem;color:#183f49;white-space:nowrap}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-option button{min-width:44px;min-height:34px;padding:4px 7px;border:1px solid rgba(11,106,117,.18);border-radius:8px;background:#fff;color:#0b6a75;font-size:.54rem;font-weight:850}
body[data-current-route="prices"] .prices-plan-summary-subrow.is-option button:hover,body[data-current-route="prices"] .prices-plan-summary-subrow.is-option button:focus-visible{background:#f5fbfb;border-color:rgba(11,106,117,.45);outline:2px solid rgba(11,106,117,.18);outline-offset:1px}
@media(max-width:700px){body[data-current-route="prices"] .prices-plan-summary-subrow.is-option button{min-height:44px;min-width:48px}}


/* CHG443 / ROW886 — G1b shared package action/state + standalone Nitrox conversion. */
body[data-current-route="prices"] [data-package-preset]{min-width:0}
body[data-current-route="prices"] .package-feature-copy>.price-package-actions,
body[data-current-route="prices"] .package-choice>.price-package-actions{margin-top:auto}
body[data-current-route="prices"] .package-feature-copy>.price-package-actions{width:100%}
body[data-current-route="prices"] .package-choice>.price-package-actions{margin-left:18px;margin-right:18px;margin-bottom:18px}
body[data-current-route="prices"] .price-package-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 14px}
body[data-current-route="prices"] .price-package-details{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
body[data-current-route="prices"] .price-package-details>.button{margin:0;min-height:44px}
body[data-current-route="prices"] .price-package-secondary-link{min-height:44px;display:inline-flex;align-items:center;color:#0b6a75;font-size:.72rem;font-weight:820;text-decoration:underline;text-underline-offset:3px}
body[data-current-route="prices"] .package-feature .price-package-secondary-link{color:var(--turquoise-400)}
body[data-current-route="prices"] .price-package-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
body[data-current-route="prices"] .price-package-state{min-height:34px;display:inline-flex;align-items:center;color:#0b6a75;font-size:.7rem;font-weight:850;white-space:nowrap}
body[data-current-route="prices"] .package-feature .price-package-state{color:var(--turquoise-400)}
body[data-current-route="prices"] .price-package-edit,
body[data-current-route="prices"] .price-package-remove{min-height:38px;padding:6px 10px;border:1px solid rgba(11,106,117,.22);border-radius:8px;background:#fff;color:#0b6a75;font-size:.68rem;font-weight:820}
body[data-current-route="prices"] .price-package-remove{color:#7c2f2f;border-color:rgba(124,47,47,.25)}
body[data-current-route="prices"] .package-feature .price-package-edit,
body[data-current-route="prices"] .package-feature .price-package-remove{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.24)}
body[data-current-route="prices"] .plan-result-option.is-conversion,
body[data-current-route="prices"] .prices-plan-summary-subrow.is-conversion{display:block}
body[data-current-route="prices"] .plan-result-option.is-conversion>button,
body[data-current-route="prices"] .prices-plan-summary-subrow.is-conversion>button{min-height:34px;border:0;background:transparent;padding:4px 0;color:#0b6a75;font-size:.68rem;font-weight:820;text-decoration:underline;text-decoration-color:rgba(11,106,117,.3);text-underline-offset:3px;text-align:left}
@media(max-width:700px){
  body[data-current-route="prices"] .price-package-actions{grid-template-columns:1fr;align-items:stretch}
  body[data-current-route="prices"] .price-package-plan-actions{justify-content:flex-start}
  body[data-current-route="prices"] .package-choice>.price-package-actions{margin-left:14px;margin-right:14px;margin-bottom:14px}
}

/* ==========================================================================================================
   CHG654 planner v3 — one shared presenter, two skins (light: drawer / sheet / Prices, dark: Contact card).
   Scoped to .dmlp and to the planner chrome; nothing here restyles other parts of the site.
   ========================================================================================================== */
.dmlp{--p-ink:var(--navy-900);--p-text:#2f4a54;--p-muted:#5d7178;--p-line:rgba(16,42,51,.11);--p-soft:#f4f8f7;--p-accent:#0b6a75;--p-danger:#9b2727;--p-amount:var(--navy-900);--p-primary-bg:var(--navy-800);--p-primary-ink:#fff;font-family:Manrope,"Segoe UI",Arial,sans-serif;font-size:.94rem;line-height:1.35;color:var(--p-ink);min-width:0}
.dmlp--dark{--p-ink:#fff;--p-text:rgba(255,255,255,.88);--p-muted:rgba(255,255,255,.66);--p-line:rgba(255,255,255,.14);--p-soft:rgba(255,255,255,.07);--p-accent:var(--turquoise-200);--p-danger:#ffc2c2;--p-amount:#fff;--p-primary-bg:var(--turquoise-200);--p-primary-ink:var(--navy-900)}
.dmlp *{box-sizing:border-box}
.dmlp button{font-family:inherit}
.dmlp :is(button,a,input):focus-visible{outline:2px solid var(--turquoise-500);outline-offset:2px;border-radius:8px}
.dmlp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.dmlp-title{font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:700;letter-spacing:-.015em;color:var(--p-ink)}
.dmlp-edit-btn{min-height:44px;padding:0 16px;border:1px solid var(--line-light);border-radius:12px;background:var(--white);color:var(--navy-900);font:800 .8rem Manrope,"Segoe UI",Arial,sans-serif;white-space:nowrap;cursor:pointer}
.dmlp-edit-btn:hover{border-color:rgba(11,106,117,.4);background:var(--sand-100)}
.dmlp-edit-btn[aria-pressed="true"]{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.dmlp-groups{display:block}
.dmlp-group+.dmlp-group{margin-top:8px}
.dmlp-label{margin:10px 0 0;font:800 .66rem/1 Manrope,"Segoe UI",Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--p-muted)}
.dmlp-lines{list-style:none;margin:0;padding:0}
.dmlp-line{margin:0;padding:0}
.dmlp-row{display:flex;align-items:center;gap:10px;min-height:44px}
.dmlp-name{flex:1 1 auto;align-self:stretch;display:flex;align-items:center;min-width:0;color:var(--p-ink);font-weight:700;font-size:.94rem;text-decoration:none;overflow-wrap:anywhere}
.dmlp a.dmlp-name:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--turquoise-500)}
.dmlp-price{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;color:var(--p-text);font-variant-numeric:tabular-nums}
.dmlp-price strong{font-weight:700;font-size:.9rem;color:var(--p-text)}
.dmlp-price.is-pending strong{font-weight:600;font-style:italic;font-size:.82rem;color:var(--p-muted)}
.dmlp-was{font-size:.72rem;font-weight:600;color:var(--p-muted);text-decoration:line-through}
.dmlp-line.is-nested .dmlp-row{position:relative;padding-left:24px;min-height:44px}
.dmlp-line.is-nested .dmlp-row::before{content:"";position:absolute;left:7px;top:50%;width:10px;height:10px;border-left:1.5px solid var(--p-muted);border-bottom:1.5px solid var(--p-muted);border-bottom-left-radius:3px;transform:translateY(-72%)}
.dmlp-line.is-nested .dmlp-name{font-weight:600;font-size:.9rem;color:var(--p-text)}
.dmlp-sub{display:block;margin:-3px 0 4px;color:var(--p-muted);font-size:.76rem;line-height:1.4}
.dmlp-sub .is-pending{font-style:italic}
.dmlp-stay .dmlp-sub{margin:-4px 0 2px}
.dmlp-line>.dmlp-sub{padding-left:0}
.dmlp-stay{margin-top:10px}
.dmlp-stay .dmlp-name{font-weight:600;font-size:.88rem}
.dmlp-stay.is-inactive .dmlp-name,.dmlp-stay.is-inactive .dmlp-price{opacity:.7}
.dmlp-save{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:.78rem;color:var(--p-muted)}
.dmlp-save strong{color:var(--p-accent);font-weight:800;white-space:nowrap}
.dmlp-foot{display:block;margin-top:12px;padding-top:12px;border-top:1px solid var(--p-line)}
.dmlp-total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}
.dmlp-total-label{flex:0 1 auto;max-width:58%;padding-bottom:3px;font-size:.78rem;font-weight:700;line-height:1.25;color:var(--p-muted);overflow-wrap:anywhere}
.dmlp-total-amount{flex:none;font-family:Fraunces,Georgia,serif;font-size:1.65rem;line-height:1.05;font-weight:700;letter-spacing:-.02em;color:var(--p-amount);white-space:nowrap;font-variant-numeric:tabular-nums}
.dmlp-total-amount small{margin-left:.32em;font:800 .62rem/1 Manrope,"Segoe UI",Arial,sans-serif;letter-spacing:.08em;color:var(--p-muted)}
.dmlp-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;min-height:48px;padding:0 18px;border-radius:12px;background:var(--turquoise-500);color:var(--navy-900);font:800 .88rem Manrope,"Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap}
.dmlp-cta:hover{background:var(--turquoise-400)}
.dmlp-helper{margin:10px 0 0;color:var(--p-muted);font-size:.72rem;line-height:1.4}
.dmlp-util{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:6px}
.dmlp-util button,.dmlp-add,.dmlp-edit-bar button,.dmlp-panel-actions button,.dmlp-empty button{min-height:44px;padding:0;border:0;background:transparent;color:var(--p-accent);font:700 .8rem Manrope,"Segoe UI",Arial,sans-serif;cursor:pointer}
.dmlp-util button{color:var(--p-muted);text-decoration:underline;text-underline-offset:4px;font-size:.76rem}
.dmlp-util button:hover,.dmlp-add:hover,.dmlp-edit-bar button:hover,.dmlp-panel-actions button:hover{color:var(--p-ink)}
.dmlp-add{display:inline-flex;align-items:center;justify-self:start;width:auto;margin-top:4px;text-align:left;font-size:.82rem}
.dmlp-hint{position:relative;display:inline-flex;align-items:center;min-height:32px;margin:0 0 8px 24px;padding:0 12px;border:1px dashed var(--p-accent);border-radius:999px;background:transparent;color:var(--p-accent);font:700 .78rem Manrope,"Segoe UI",Arial,sans-serif;cursor:pointer}
.dmlp-hint::after{content:"";position:absolute;inset:-6px -4px}
.dmlp-hint:hover{background:var(--p-soft)}
.dmlp-more{flex:none;width:44px;height:44px;margin:-3px -10px -3px 0;border:0;border-radius:10px;background:transparent;color:var(--p-muted);display:grid;place-items:center;cursor:pointer}
.dmlp-more svg{transition:transform .16s ease}
.dmlp-more[aria-expanded="true"]{background:var(--p-soft);color:var(--p-ink)}
.dmlp-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.dmlp-panel,.dmlp-flow,.dmlp-stayform{margin:2px 0 10px;padding:13px 13px 6px;border-radius:14px;background:var(--p-soft);display:grid;gap:12px}
.dmlp-flow{padding-bottom:13px;margin-top:8px;gap:8px}
.dmlp-flow>strong{font-size:.9rem;color:var(--p-ink)}
.dmlp-stayform{padding-bottom:10px}
.dmlp-field{margin:0;padding:0;border:0;min-width:0}
.dmlp-field legend,.dmlp-legend{display:block;padding:0;margin:0 0 6px;font-weight:700;font-size:.82rem;color:var(--p-ink)}
.dmlp-help{margin:0 0 8px;font-size:.74rem;line-height:1.4;color:var(--p-muted)}
.dmlp-flow .dmlp-help{margin:0}
.dmlp-seg{display:flex;flex-wrap:wrap;gap:8px}
.dmlp-seg button{min-height:44px;padding:0 16px;border:1px solid var(--p-line);border-radius:12px;background:transparent;color:var(--p-ink);font:700 .84rem Manrope,"Segoe UI",Arial,sans-serif;cursor:pointer}
.dmlp-seg--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.dmlp-seg--grid button{padding:0 10px}
.dmlp-seg button:hover{border-color:var(--p-accent)}
.dmlp-seg button[aria-pressed="true"],.dmlp-seg button.is-primary{background:var(--p-primary-bg);border-color:var(--p-primary-bg);color:var(--p-primary-ink)}
.dmlp-panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0 18px}
.dmlp-panel-actions .is-danger,.dmlp-edit-bar .is-danger{color:var(--p-danger)}
.dmlp-panel-actions .is-primary{padding:0 18px;border-radius:12px;background:var(--turquoise-500);color:var(--navy-900);font-weight:800}
.dmlp-edit-bar{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:4px}
.dmlp-edit-bar button[disabled]{opacity:.4;cursor:default}
.dmlp-steps{display:grid;gap:8px}
.dmlp-step{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.84rem;font-weight:600;color:var(--p-ink)}
.dmlp-step-ctl{display:inline-flex;align-items:center;gap:6px}
.dmlp-step-ctl button{width:44px;height:44px;border:1px solid var(--p-line);border-radius:12px;background:transparent;color:var(--p-ink);font:800 1.1rem Manrope,"Segoe UI",Arial,sans-serif;cursor:pointer}
.dmlp-step-ctl input,.dmlp-date input{min-height:44px;width:68px;padding:0 6px;border:1px solid var(--p-line);border-radius:12px;background:var(--white);color:var(--navy-900);font:700 .95rem Manrope,"Segoe UI",Arial,sans-serif;text-align:center}
.dmlp-date{display:grid;gap:6px;font-size:.82rem;font-weight:600}
.dmlp-date input{width:100%;text-align:left;padding:0 12px}
.dmlp-quote{margin:0;font-size:.82rem;font-weight:700;line-height:1.4;color:var(--p-ink)}
.dmlp-empty{padding:12px 0 6px;color:var(--p-text);font-size:.9rem}
.dmlp-empty p{margin:0 0 4px}
.dmlp-empty a{display:inline-flex;align-items:center;min-height:44px;color:var(--p-accent);font-weight:800}
.dmlp-empty button{margin-left:14px}

/* Global drawer: a compact floating card on desktop, the existing modal sheet on mobile/tablet. */
.plan-drawer-head .eyebrow,.plan-drawer-head p{display:none}
.plan-drawer-head{padding:12px 18px 2px;border-bottom:0}
.plan-drawer-head-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}
.plan-drawer-head h2{font-size:1.3rem;line-height:1.1}
.plan-drawer-head .plan-icon-button{border-color:transparent;background:transparent;color:var(--muted);font-size:1.5rem}
.plan-drawer-body{padding:0 18px 12px;scrollbar-gutter:auto}
.plan-drawer-foot{display:none}
.plan-dialog[data-editing] .plan-drawer-foot,.plan-dialog.is-editing .plan-drawer-foot{display:block}
@media(min-width:1001px){
  .plan-dialog{top:calc(var(--header-height) + 10px);right:20px;bottom:auto;width:min(392px,calc(100vw - 40px));height:auto;max-height:calc(100dvh - var(--header-height) - 30px)}
  .plan-dialog[open] .plan-drawer,.plan-drawer{height:auto;max-height:calc(100dvh - var(--header-height) - 30px);border:1px solid rgba(16,42,51,.1);border-radius:20px;box-shadow:0 24px 70px rgba(6,27,38,.18)}
}
@media(max-width:1000px){
  .plan-drawer-head{padding:4px 16px 0}
  .plan-drawer-body{padding:0 16px 14px}
}

/* Mobile bar: short action, amount stays in the small line (ellipsis), never wider than the viewport. */
.plan-mobile-action{min-width:0;padding-inline:16px;white-space:nowrap}
.plan-mobile-copy small{font-weight:700}

/* Undo/notice toast owned by the planner */
.plan-v2-toast{position:fixed;left:50%;bottom:92px;z-index:100000;display:flex;align-items:center;gap:14px;max-width:min(92vw,440px);padding:12px 16px;border-radius:12px;background:var(--navy-800);color:#fff;font:600 .84rem Manrope,"Segoe UI",Arial,sans-serif;box-shadow:0 14px 40px rgba(6,27,38,.3);opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .16s ease,transform .16s ease}
.plan-v2-toast.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.plan-v2-toast button{min-height:36px;padding:0 4px;border:0;background:transparent;color:var(--turquoise-200);font:800 .84rem Manrope,"Segoe UI",Arial,sans-serif;text-decoration:underline;cursor:pointer}

/* Prices summary card uses the same presenter (light). */
.prices-plan-summary{max-width:560px}
.prices-plan-summary .dmlp{font-size:.9rem}
.prices-plan-summary .dmlp-title{font-size:1.2rem}

/* Narrow screens: the foot wraps instead of overflowing; the button takes the full row. */
@media(max-width:360px){.dmlp-total-amount{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.dmlp-more svg,.plan-v2-toast{transition:none}}


/* CHG802/803: shared action spacing, without changing route layouts or prices. */
.dmlp-panel-actions,.dmlp-edit-bar,.dmlp-util,.dmlp-seg,
.plan-course-actions,.course-card-actions,.plan-accommodation-saved-actions,
.plan-integration-actions,.plan-empty-actions,.plan-decision-actions,
.price-package-actions,.price-package-plan-actions,.prices-plan-summary-actions,
body[data-current-route="prices"] .price-package-actions,
body[data-current-route="prices"] .price-package-plan-actions,
body[data-current-route="prices"] .prices-plan-summary-actions{row-gap:12px;column-gap:18px}
.plan-course-actions>button,.plan-course-actions>.button,.course-card-actions>button,
.course-card-actions>.button,.plan-accommodation-saved-actions>button,
.price-package-actions>button,.price-package-plan-actions>button,
.prices-plan-summary-actions>button,.dmlp-stay-declined>button{min-height:44px;max-width:100%}
.dmlp-panel-actions .is-danger,.dmlp-edit-bar [data-v2-clear]{margin-inline-start:auto;border-inline-start:1px solid var(--p-line);padding-inline-start:18px;color:var(--p-danger)}
.dmlp-stay-declined{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.dmlp-stay-declined>strong{flex-basis:100%}
.dmlp-seg button:disabled{opacity:.55;cursor:default}

/* CHG805: one compact, accessible count-edit action; no empty learner groups. */
.dmlp [data-v2-people]{display:block;min-height:44px;max-width:100%;margin:0 0 12px;padding:6px 0;border:0;background:transparent;color:var(--p-accent);text-align:left;font:700 .8rem Manrope,"Segoe UI",Arial,sans-serif;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.dmlp-save{flex-wrap:wrap;row-gap:6px}
.dmlp-save>span{min-width:0;overflow-wrap:anywhere}
.dmlp-save>strong{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:end}
@media(max-width:680px){
 .dmlp-panel-actions .is-danger,.dmlp-edit-bar [data-v2-clear]{flex-basis:100%;margin-inline-start:0;border-inline-start:0;border-block-start:1px solid var(--p-line);padding:12px 0 0}
}

.dmlp-panel-actions>button,.dmlp-edit-bar>button,.dmlp-seg>button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.dmlp-panel-actions>button{line-height:1.4;padding-block:8px}

/* CHG875 targeted prelaunch fixes: no duplicate large Prices summary; keep canonical flyout/header/mobile plan. */
body[data-static-route="prices"] .prices-plan-summary,body[data-current-route="prices"] .prices-plan-summary{display:none!important}
/* Keep Privacy and Cookie settings scrollable and tappable above an active fixed plan bar. */
@media(max-width:1000px){
  body.has-planbar .site-footer{padding-bottom:calc(142px + env(safe-area-inset-bottom))!important}
  .dmlp .dmlp-add{display:flex;width:100%;justify-content:flex-start;margin:4px 0 0}
}
@media(min-width:1001px){.dmlp .dmlp-add{display:flex;width:100%;justify-content:flex-start;margin:4px 0 0}}
/* B39 price row alignment without reintroducing a detached plan card. */
body[data-current-route="prices"] .price-v2-course-row .price-v2-course-price{white-space:nowrap}
body[data-current-route="prices"] .price-plan-row .price-amount{white-space:nowrap}

/* B39 approved PRICE ROW alignment only; omitted proposed detached right-hand card per latest Lex decision. */
/* 2. Vaste kolommen per rij: naam | (label) | prijs | knop. Knop heeft een vaste breedte,
      dus "Add to plan" / "Remove from plan" laat niets meer verschuiven. */
.price-panel .price-list-card .price-v2-course-row{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:16px;align-items:center;
  padding:0 20px 0 0;min-height:58px}
.price-panel .price-list-card .price-v2-course-row>a{display:grid;grid-template-columns:minmax(0,1fr) auto 112px;column-gap:20px;align-items:center;
  padding:18px 0 18px 22px;width:auto}
.price-panel .price-list-card .price-v2-course-row>a>div{grid-column:1}
.price-panel .price-list-card .price-v2-course-row>a>small.price-overview-state{grid-column:2;grid-row:1;margin:0;color:#5b6b75}
.price-panel .price-list-card .price-v2-course-row>a>strong{grid-column:3;grid-row:1;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-panel .price-list-card .price-v2-course-row>button{width:168px;min-width:0;justify-content:center;text-align:center;white-space:nowrap;padding:11px 10px}


@media(max-width:600px){
  .price-panel .price-list-card .price-v2-course-row{grid-template-columns:minmax(0,1fr);gap:0;padding:0 16px 16px}
  .price-panel .price-list-card .price-v2-course-row>a{grid-template-columns:minmax(0,1fr) auto;padding:16px 0 12px}
  .price-panel .price-list-card .price-v2-course-row>a>small.price-overview-state{grid-column:1;grid-row:2;margin-top:2px}
  .price-panel .price-list-card .price-v2-course-row>a>strong{grid-column:2}
  .price-panel .price-list-card .price-v2-course-row>button{width:100%}
}

/* CHG881: one shared planner alignment owner (drawer, Prices summary, Contact). */
.dmlp .dmlp-row{display:grid;grid-template-columns:minmax(0,1fr) max-content auto;column-gap:10px;align-items:center;min-width:0}
.dmlp .dmlp-name{min-width:0;overflow-wrap:anywhere}
.dmlp .dmlp-price{justify-self:end;min-width:0;text-align:right;font-variant-numeric:tabular-nums}
.dmlp .dmlp-more{justify-self:end}
.dmlp .dmlp-stay-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;margin-top:2px;color:var(--p-accent);font-weight:750;font-size:.83rem;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.dmlp .dmlp-stay-link-only{margin-top:4px}
.dmlp .dmlp-benefits{margin-top:8px;min-width:0;border:1px solid var(--p-line);border-radius:10px}
.dmlp .dmlp-benefits-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,max-content);align-items:center;column-gap:12px;padding:10px 12px;cursor:pointer;list-style:none;font-size:.77rem;line-height:1.35;color:var(--p-text)}
.dmlp .dmlp-benefits-summary::-webkit-details-marker{display:none}
.dmlp .dmlp-benefits-summary::marker{content:''}
.dmlp .dmlp-benefits-summary span{min-width:0;overflow-wrap:anywhere}
.dmlp .dmlp-benefits-summary small{display:block;font-size:.72rem;color:var(--p-muted);font-weight:500}
.dmlp .dmlp-benefits-summary strong{font-variant-numeric:tabular-nums;color:var(--p-accent);text-align:right;white-space:nowrap}
.dmlp .dmlp-benefits-summary:focus-visible{outline:2px solid var(--p-accent);outline-offset:3px}
.dmlp .dmlp-benefits[open] .dmlp-benefits-summary{border-bottom:1px solid var(--p-line)}
.dmlp .dmlp-benefits-detail{padding:8px 12px 12px;min-width:0}
.dmlp .dmlp-benefits-detail .dmlp-save{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:6px 12px;align-items:start}
.dmlp .dmlp-benefits-detail .dmlp-save strong{text-align:right;overflow-wrap:anywhere}
.dmlp .dmlp-total{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,max-content);gap:8px 12px;align-items:end}
.dmlp .dmlp-total-label{max-width:none;min-width:0}
.dmlp .dmlp-total-amount{min-width:0;justify-self:end;text-align:right;font-size:clamp(1.08rem,4.5vw,1.65rem)}
.dmlp .dmlp-cta{box-sizing:border-box;max-width:100%;min-width:0;white-space:normal;text-align:center;line-height:1.35;padding-block:9px}
@media(max-width:390px){
 .dmlp .dmlp-row{column-gap:6px}
 .dmlp .dmlp-price{display:grid;justify-items:end;gap:1px;white-space:nowrap}
 .dmlp .dmlp-benefits-summary{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:9px}
 .dmlp .dmlp-benefits-summary strong{font-size:.76rem}
 .dmlp .dmlp-benefits-detail{padding:6px 9px 9px}
}

/* CHG886: the desktop planner owns a real right column. No overlay over site CTAs. */
@media(min-width:1001px){
 body.plan-desktop-column-open{--plan-desktop-reserve:clamp(310px,31vw,420px)}
 body.plan-desktop-column-open #main,
 body.plan-desktop-column-open > .site-footer{
   box-sizing:border-box;width:calc(100% - var(--plan-desktop-reserve));max-width:calc(100% - var(--plan-desktop-reserve));min-width:0;
 }
 body.plan-desktop-column-open .course-card-grid,
 body.plan-desktop-column-open .dml-packages-v9{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));}
 body.plan-desktop-column-open #main .shell{min-width:0;max-width:100%}
 body.plan-desktop-column-open #main .section{min-width:0}
}

/* CHG910 M18: follow the actual v2 bar visibility, not a legacy v1 body flag. */
@media(max-width:1000px){
 body:has([data-mobile-booking]:not([hidden])) .site-footer{padding-bottom:calc(142px + env(safe-area-inset-bottom))!important}
}

/* CHG910 Map1382 M14: contain the entry animation inside the existing drawer column. */
@media(min-width:1001px){
 .plan-dialog[open]{overflow:hidden}
}
/* The intermediate header has a visible planner trigger as well as its menu toggle. */
@media(min-width:1001px) and (max-width:1365px){
 .header-inner:has(>.plan-header-trigger){grid-template-columns:minmax(0,1fr) auto auto}
}

/* Map1408: six Courses cards remain a symmetric 3+3 grid alongside the open desktop planner at >=1366 CSS px. */
@media(min-width:1366px){
 body.plan-desktop-column-open [data-page="courses"] .course-card-grid:not(.is-single-result){grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(min-width:1001px) and (max-width:1365px){
 body.plan-desktop-column-open [data-page="courses"] .course-card-grid:not(.is-single-result){grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:640px){
 body:has(.dml-consent-banner:not([hidden])) .plan-v2-toast.is-visible{bottom:calc(min(35dvh,300px) + env(safe-area-inset-bottom) + 8px)}
}

/* Map1446 F23: never clip the integrated Nitrox hint caption at phone widths / zoom */
.dmlp-hint{box-sizing:border-box;max-width:100%;min-width:0;white-space:normal;overflow-wrap:break-word;line-height:1.35;text-align:center}

/* Map1458 VIS03: permanently reachable item trash; 44px keyboard/touch target. */
.dmlp .dmlp-row{grid-template-columns:minmax(0,1fr) max-content auto 44px;gap:6px}
.dmlp-trash{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;background:transparent;color:#de7772;cursor:pointer;flex:none}
.dmlp-trash:hover,.dmlp-trash:focus-visible{background:rgba(196,83,74,.12);border-color:currentColor;outline-offset:2px}
.dmlp .dmlp-line.is-nested .dmlp-row{min-width:0}
.dmlp .dmlp-flow[role="alertdialog"] strong{white-space:pre-line;line-height:1.55}
@media(max-width:390px){.dmlp .dmlp-row{column-gap:4px}.dmlp .dmlp-price{gap:3px}.dmlp .dmlp-price strong{font-size:.82rem}}
/* Map1458 VIS01: improve Plan this stay field and button spacing; preserve functional form. */
.plan-accommodation-builder{padding:clamp(16px,2.25vw,26px)}
.plan-accommodation-fields{gap:14px 16px}
.plan-accommodation-builder .plan-accommodation-add{min-height:48px;white-space:normal;line-height:1.35}
/* Map1459 T01: the stage-scoped source owner must win over its old zero-padding reset. */
.plan-accommodation-stage .plan-accommodation-builder{box-sizing:border-box;width:100%;max-width:760px;min-width:0;padding:clamp(16px,2.25vw,26px);border:1px solid #d0e2e0;border-radius:16px;background:#fff}
/* Map1459 T03: desktop planner begins at 1001px; reserve a bounded right column on intermediate Prices widths. */
@media(min-width:1001px) and (max-width:1100px){body.plan-desktop-column-open[data-static-route="prices"] #main{min-width:0;overflow-wrap:break-word}}
/* Map1460 U/T03: reserve the actual measured planner width plus 20px breathing room.
   Previous reserve (29/31vw) did not match the fixed 392px dialog: content
   overlapped at 1001-1242px despite zero document scrollWidth. This rule owns
   both dimensions; neither competing Prices CSS nor T01/T02/T04 is changed. */
@media(min-width:1001px){
 body.plan-desktop-column-open{
  --plan-desktop-panel-width:392px;
  --plan-desktop-reserve:calc(var(--plan-desktop-panel-width) + 40px);
 }
 body.plan-desktop-column-open .plan-dialog{
  width:var(--plan-desktop-panel-width);
  right:20px;
 }
}
/* Map1458 VIS06: preserve workable desktop right column; shorter viewports use controlled reflow. */
@media(min-width:1001px){body.plan-desktop-column-open .site-main,body.plan-desktop-column-open main{min-width:0}}

/* Map1458 VIS06: sub-desktop sheet: bounded height, scrolling controls; never conceal actions. */
@media(max-width:1000px){
 .plan-dialog[open] .plan-drawer{max-height:min(84dvh,750px);min-height:0;overflow:auto}
 .plan-dialog[open] .plan-drawer-body{max-height:min(63dvh,590px);overflow-y:auto}
}


/* CHG910 Map1464 LC19 — Lex screenshot 1/2: readable plan rows.
   Keep each complete course name ahead of the price and keep a permanent 44px trash.
   Do not let auto-sized prices/trash squeeze labels into single letters. */
.dmlp .dmlp-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  grid-template-areas:"name trash" "price trash";
  align-items:center;
  column-gap:10px;
  row-gap:2px;
  min-width:0;
}
.dmlp .dmlp-name {
  grid-area:name;
  min-width:0;
  align-self:center;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  line-height:1.35;
}
.dmlp .dmlp-price {
  grid-area:price;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-self:end;
  justify-content:flex-end;
  gap:3px 9px;
  min-width:0;
  max-width:100%;
  white-space:normal;
  text-align:right;
}
.dmlp .dmlp-price .dmlp-was,.dmlp .dmlp-price strong{white-space:nowrap}
.dmlp .dmlp-trash {grid-area:trash;align-self:center;justify-self:end;min-width:44px;min-height:44px}
.dmlp .dmlp-row:has(>.dmlp-more) {
  grid-template-columns:minmax(0,1fr) 44px 44px;
  grid-template-areas:"name more trash" "price price trash";
}
.dmlp .dmlp-row>.dmlp-more {grid-area:more;justify-self:end;min-width:44px;min-height:44px}
.dmlp .dmlp-line.is-nested .dmlp-row {padding-left:20px}
@media(max-width:390px){
  .dmlp .dmlp-row {column-gap:5px;row-gap:3px}
  .dmlp .dmlp-price {display:flex;gap:3px 7px;white-space:normal}
}

/* CHG910 Map1464 LC19 — screenshot 3: Advanced / Open Water is one Fraunces title.
   An inherited span chip rule previously made its second line an uppercase pill. */
.v9-course-card .v9-image-title>.v9-title-line {
  all:unset;
  display:block;
  font:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:inherit;
  text-transform:none;
  background:none;
  border:0;
  border-radius:0;
  padding:0;
  margin:0;
  width:auto;
  box-shadow:none;
}

/* CHG910 Map1464 CTA family — reuse existing DML .button/button-primary tokens.
   Primary Add/Plan/Confirm/Contact actions share one 48px/12px/Manrope family.
   Secondary Links, Back, Cancel, Edit, Undo and destructive trash remain separate. */
.v9-course-card .plan-add-course,
.dml-v9-actions [data-v9-package-add],
.plan-accommodation-builder .plan-accommodation-add,
.contact-v2-actions .button-primary,
.dmlp .dmlp-cta,
.dmlp .dmlp-seg button.is-primary,
.dmlp [data-v2-decide="ok"] {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  max-width:100%;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:12px;
  background:var(--turquoise-500,#20c4c7);
  color:var(--navy-900,#061b26);
  font:800 .88rem/1.35 Manrope,"Segoe UI",Arial,sans-serif;
  text-align:center;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  text-decoration:none;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.v9-course-card .plan-add-course:not(:disabled):hover,
.dml-v9-actions [data-v9-package-add]:not(:disabled):hover,
.plan-accommodation-builder .plan-accommodation-add:not(:disabled):hover,
.contact-v2-actions .button-primary:not(:disabled):hover,
.dmlp .dmlp-cta:not(:disabled):hover,
.dmlp .dmlp-seg button.is-primary:not(:disabled):hover,
.dmlp [data-v2-decide="ok"]:not(:disabled):hover{
  background:var(--turquoise-400,#51d1ce);
  transform:translateY(-1px);
}
.v9-course-card .plan-add-course[data-added="true"],
.dml-v9-actions [data-v9-package-add][aria-pressed="true"] {
  background:rgba(39,197,200,.15);
  border-color:rgba(11,106,117,.30);
  color:var(--navy-900,#061b26);
}
.v9-course-card .plan-add-course:disabled,
.dml-v9-actions [data-v9-package-add]:disabled,
.plan-accommodation-builder .plan-accommodation-add:disabled,
.contact-v2-actions .button-primary:disabled,
.dmlp .dmlp-seg button.is-primary:disabled,
.dmlp [data-v2-decide="ok"]:disabled {
  opacity:.60;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}
.v9-course-card .plan-add-course:focus-visible,
.dml-v9-actions [data-v9-package-add]:focus-visible,
.plan-accommodation-builder .plan-accommodation-add:focus-visible,
.contact-v2-actions .button-primary:focus-visible,
.dmlp .dmlp-cta:focus-visible,
.dmlp .dmlp-seg button.is-primary:focus-visible,
.dmlp [data-v2-decide="ok"]:focus-visible {
  outline:3px solid var(--gold-400,#e2b44f);
  outline-offset:3px;
}
/* Approved secondary/utility actions retain their different hierarchy but common touch/focus family. */
.dmlp [data-v2-decide="cancel"],
.dmlp [data-v2-undo],
.plan-accommodation-saved-actions button {
  min-height:44px;
  border-radius:12px;
  font-family:Manrope,"Segoe UI",Arial,sans-serif;
  font-weight:800;
}
.dmlp [data-v2-decide="cancel"]:focus-visible,
.dmlp [data-v2-undo]:focus-visible,
.plan-accommodation-saved-actions button:focus-visible {
  outline:3px solid var(--gold-400,#e2b44f);
  outline-offset:3px;
}

/* Prices has a later v9 style block with a higher-specificity package button rule.
   These declarations bind that SAME shared primary family (no separate Price theme). */
[data-page="prices"] .dml-v9-actions button[data-v9-package-add] {
  min-height:48px;
  padding:12px 18px;
  border:1px solid transparent;
  background:var(--turquoise-500,#20c4c7);
  color:var(--navy-900,#061b26);
  font:800 .88rem/1.35 Manrope,"Segoe UI",Arial,sans-serif;
  border-radius:12px;
  box-shadow:none;
}
[data-page="prices"] .dml-v9-actions button[data-v9-package-add][aria-pressed="true"] {
  background:rgba(39,197,200,.15);
  border-color:rgba(11,106,117,.30);
}
[data-page="prices"] .dml-v9-actions button[data-v9-package-add]:not(:disabled):hover {background:var(--turquoise-400,#51d1ce)}
[data-page="prices"] .dml-v9-actions button[data-v9-package-add]:focus-visible {outline:3px solid var(--gold-400,#e2b44f);outline-offset:3px}

/* V9 package Replace has its own dialog stylesheet; match the existing DML CTA family
   without changing the actual Replace/Keep actions or any package calculations. */
.v9-dialog-actions [data-v9-confirm],
.v9-dialog-actions [data-v9-remove] {
  box-sizing:border-box;
  min-height:48px;
  max-width:100%;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:12px;
  background:var(--turquoise-500,#20c4c7);
  color:var(--navy-900,#061b26);
  font:800 .88rem/1.35 Manrope,"Segoe UI",Arial,sans-serif;
  white-space:normal;
  text-align:center;
}
.v9-dialog-actions [data-v9-cancel],
.v9-dialog-actions [data-v9-keep] {
  box-sizing:border-box;
  min-height:48px;
  max-width:100%;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:12px;
  background:transparent;
  color:white;
  font:800 .88rem/1.35 Manrope,"Segoe UI",Arial,sans-serif;
  white-space:normal;
  text-align:center;
}
.v9-dialog-actions [data-v9-confirm]:hover,
.v9-dialog-actions [data-v9-remove]:hover {background:var(--turquoise-400,#51d1ce)}
.v9-dialog-actions [data-v9-confirm]:focus-visible,
.v9-dialog-actions [data-v9-remove]:focus-visible,
.v9-dialog-actions [data-v9-cancel]:focus-visible,
.v9-dialog-actions [data-v9-keep]:focus-visible {
  outline:3px solid var(--gold-400,#e2b44f);
  outline-offset:3px;
}

/* CHG910 Map1468 (01 corrective, on top of Map1464 EXACT1) */
/* R04: Details sits in the price row, price left, link right, same row on all six course cards. */
.v9-course-card .v9-card-price{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;align-items:center}
.v9-course-card .v9-card-price>strong{grid-column:1;grid-row:1;min-width:0}
.v9-course-card .v9-card-price>span{grid-column:1/-1;grid-row:2}
.v9-course-card .v9-card-price>.v9-card-details{grid-column:2;grid-row:1;justify-self:end;white-space:nowrap;min-height:44px;padding-inline:4px}
/* R06: confirmation (Clear plan, Remove, pickers) stays pinned and visible inside the scrolling drawer; no scroll or focus jump. */
.plan-drawer-body .dmlp-flow{position:sticky;top:0;z-index:5;max-height:60dvh;overflow:auto;background:#12384a;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 22px rgba(3,15,22,.45)}
/* F04: NL/EN Nitrox page grid tracks may not grow past the viewport on phones. */
@media(max-width:700px){
  .trust-feature,.portrait-placeholder,.benefit-grid{min-width:0}
  .trust-feature>*,.portrait-placeholder>*{min-width:0}
  .trust-feature,.benefit-grid{grid-template-columns:minmax(0,1fr)}
}
/* F05: real interactive controls reach a 44px hit area. */
.dml-cookie-settings{min-height:44px;padding-block:10px;box-sizing:border-box}
details>summary,details.season-disclosure>summary{min-height:44px!important;box-sizing:border-box;align-items:center}
.dmlp-benefits-summary{min-height:44px;box-sizing:border-box}
.dml-privacy-link{display:inline-flex;align-items:center;min-height:44px}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select{min-height:44px;box-sizing:border-box}
a.brand,a.footer-brand{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:700px){footer a{display:inline-flex;align-items:center;min-height:44px}}
/* R03: primary CTA text size and padding follow the existing .button token (16px, 12/24). */
.v9-course-card .plan-add-course,
.dml-v9-actions [data-v9-package-add],
.plan-accommodation-builder .plan-accommodation-add,
.contact-v2-actions .button-primary,
[data-page="prices"] .dml-v9-actions button[data-v9-package-add]{font-size:1rem;padding:12px 24px}

/* CHG910 Map1471 (01): compact, aligned phone layout for Accommodation form + room card and Courses filter (<=700px). Desktop unchanged. */
@media(max-width:700px){
  /* Room card: big swipeable photo first, text second, compact fact chips */
  .room-showroom{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:14px!important}
  .room-showroom .room-gallery-wrap{grid-area:1/1!important}
  .room-showroom .room-info{grid-area:2/1!important}
  .room-gallery-controls{display:flex!important;position:absolute;top:8px;right:8px;z-index:3;margin:0!important}
  .room-gallery{height:auto!important}
  .room-gallery .room-image{flex:0 0 100%!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3}
  .room-gallery .room-image img{width:100%;height:100%;object-fit:cover}
  .room-facts{flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important}
  .room-fact-tile{flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important;min-height:0!important;padding:8px 12px!important;border-radius:999px!important}
  .room-fact-tile strong{font-size:.82rem!important;line-height:1.25}
  /* Plan this stay: date and room type full width, number fields in an aligned 2x2 grid */
  .plan-accommodation-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px!important;align-items:end!important}
  .plan-accommodation-fields>label{display:flex!important;flex-direction:column;justify-content:flex-end;margin:0;order:3}
  .plan-accommodation-fields>label:has(input[type=date]){order:1;grid-column:1/-1}
  .plan-accommodation-fields>label:has(select){order:2;grid-column:1/-1}
  .plan-accommodation-fields>details{order:4;grid-column:1/-1}
  .plan-accommodation-fields>label>span{display:flex;align-items:flex-end;min-height:1.2em;font-size:.8rem;line-height:1.2;margin-bottom:4px}
  .plan-accommodation-fields>label:has(input[type=date])>span,.plan-accommodation-fields>label:has(select)>span{min-height:0}
  .plan-accommodation-fields input,.plan-accommodation-fields select{min-height:44px;padding-block:8px}
  .plan-accommodation-fields input[type=date]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none}
  .plan-accommodation-builder .plan-accommodation-add{width:100%}
  .v14-price-details>summary{font:700 .92rem/1.3 Manrope,"Segoe UI",Arial,sans-serif}
  /* Courses filter: full-width panel, equal chips */
  .filter-row{width:100%!important;max-width:none!important;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .filter-row .filter-chip{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 6px;box-sizing:border-box}
  .filter-row .filter-chip:first-child{grid-column:1/-1}
}

/* CHG910 Map1473 (01): hidden labels stay hidden; Air-conditioning checkbox replaces the Fan/Air-con select. */
.plan-accommodation-fields>label[hidden]{display:none!important}

/* CHG910 Map1474 (01): Fan / Air-con as two radio options (one selectable), replacing the select. */
.plan-accommodation-fields>.v14-variant{display:flex;gap:8px;min-width:0}
.plan-accommodation-fields>.v14-variant[hidden]{display:none!important}
.v14-variant-opt{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;box-sizing:border-box;border:1px solid rgba(11,106,117,.35);border-radius:12px;background:#fff;color:#0b6a75;font:800 .95rem/1.2 Manrope,"Segoe UI",Arial,sans-serif;text-align:center;cursor:pointer}
.v14-variant-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.v14-variant-opt:has(input:checked){background:var(--turquoise-500,#20c4c7);border-color:var(--turquoise-500,#20c4c7);color:var(--navy-900,#061b26)}
.v14-variant-opt:has(input:focus-visible){outline:3px solid var(--gold-400,#e2b44f);outline-offset:2px}
.v14-variant-opt:has(input:disabled){opacity:.5;cursor:not-allowed}
@media(max-width:700px){.plan-accommodation-fields>.v14-variant{order:2;grid-column:1/-1}}
