@charset "UTF-8";
/* App For Sale 2.11: one screen system. Kept out of document/print styling. */
@media screen {
  body.aps-app { --aps-ink:#173d50; --aps-blue:#007caa; --aps-line:#dce8ee; --aps-canvas:#f2f6f9; --aps-radius:18px; background:var(--aps-canvas); color:#263c49; margin:0; }
  .aps-app *, .aps-app *::before, .aps-app *::after { box-sizing:border-box; }
  .aps-app :is(main,.ssbr-plugin,.admin-layout,.admin-form,.admin-side,.pricing-shell,.pricing-controls) { min-width:0; }
  .aps-app :is(h1,h2,h3,h4,h5,h6) { letter-spacing:-.02em; }
  .aps-app :is(h1,.admin-title h1,.pricing-title h1,.project-inventory-heading h1) { font-size:clamp(1.6rem,3vw,2.55rem); line-height:1.2; }
  .aps-app :is(.section-heading h2,.section-title h2,.ssbrp-section h2,.library-heading h2) { font-size:clamp(1.35rem,2.5vw,2rem); line-height:1.25; }
  .aps-app :is(.site-header,.vgp-header,.ssbrp-header) { position:sticky; top:0; z-index:60; height:76px; min-height:76px; padding:10px 24px; gap:16px; border-bottom:1px solid var(--aps-line); background:#fff; box-shadow:0 3px 18px #173d5008; }
  .aps-app :is(.site-header .brand-logo,.vgp-brand img,.ssbrp-brand img) { width:174px; height:48px; object-fit:contain; }
  .aps-app :is(.primary-nav,.vgp-header nav,.ssbrp-header nav) { gap:18px; }
  .aps-app :is(.primary-nav a,.vgp-header nav a,.ssbrp-header nav a) { font-size:14px; }
  .aps-app :is(.header-call,.ssbrp-header-call) { display:none; }
  .aps-app .aps-project-link { margin-left:auto; flex-shrink:0; min-height:42px; display:inline-flex; align-items:center; padding:8px 14px; border:1px solid var(--aps-line); border-radius:12px; background:#f3f9fc; color:#07577a; font-size:14px; font-weight:700; text-decoration:none; }
  .aps-app .aps-page-nav { display:flex; gap:6px; flex-wrap:wrap; padding:7px; margin:0 auto 20px; background:#e6eef3; border-radius:14px; }
  .aps-page-nav a { flex:1; padding:10px 12px; min-height:44px; display:grid; place-items:center; border-radius:10px; font-size:14px; color:#426173; font-weight:650; text-decoration:none; text-align:center; }
  .aps-page-nav a[aria-current="page"] { background:#fff; color:#07577a; box-shadow:0 2px 8px #173d5010; }
  .aps-app :is(.admin-shell,.pricing-shell) { width:min(1280px,calc(100% - 48px)); margin:0 auto; padding:28px 0 48px; }
  .aps-app :is(.admin-title,.pricing-title) { align-items:center; gap:16px; margin-bottom:22px; }
  .aps-app :is(.admin-title p:not(.eyebrow),.pricing-title p:not(.eyebrow)) { font-size:14px; line-height:1.65; max-width:720px; }
  .aps-app .admin-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:22px; align-items:start; }
  .aps-app .admin-side { order:initial; display:grid; gap:16px; }
  .aps-app :is(.admin-card,.pricing-controls,.unified-unit-card,.unit-card,.ssbrp-unit,.transaction-card) { background:#fff; border:1px solid var(--aps-line); border-radius:var(--aps-radius); box-shadow:0 4px 18px #173d5006; }
  .aps-app .admin-card { padding:22px; }
  .aps-app .card-heading { padding-bottom:16px; margin-bottom:20px; border-bottom:1px solid #edf2f5; flex-wrap:wrap; }
  .aps-app .card-heading>div:first-child { display:flex; align-items:center; gap:12px; min-width:0; }
  .aps-app .card-heading h2 { font-size:18px; line-height:1.3; margin:0; }
  .aps-app .card-heading .admin-kicker { display:grid; place-items:center; flex:0 0 32px; height:32px; margin:0; border-radius:10px; background:#e9f6fb; color:#007caa; font-size:12px; letter-spacing:0; }
  .aps-app .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .aps-app :is(.form-grid,.pricing-controls,.unified-filters,.ssbrp-filters,#inventory-filters,.calculator) label { min-width:0; font-size:14px; line-height:1.45; }
  .aps-app :is(.form-grid,.pricing-controls,.unified-filters,.ssbrp-filters,#inventory-filters,.side-search,.picker-filters,.calculator) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea) { min-width:0; width:100%; min-height:48px; padding:11px 12px; font-size:16px; font-weight:400; color:#183b4c; border:1px solid #cbdce5; border-radius:10px; background:#fff; }
  .aps-app :is(input,select,textarea,button,a,summary):focus-visible { outline:3px solid #38a8cf; outline-offset:3px; }
  .aps-app :is(.button,.btn,.unit-card-actions>*,.ssbrp-unit-actions>*,.preview-actions button,.picker-head button) { min-height:46px; border-radius:11px; font-size:14px; line-height:1.4; white-space:normal; display:inline-flex; align-items:center; justify-content:center; text-align:center; }
  .aps-app :is(.button-primary,.button-dark,.btn.navy) { background:#007fae; color:#fff; border-color:#007fae; }
  .aps-app :is(.button-outline,.btn.outline) { background:#fff; color:#07577a; border:1px solid #cadfe9; }
  .aps-app :is(.admin-form>.admin-actions,.pricing-actions) { padding:16px; border:1px solid var(--aps-line); border-radius:16px; background:#fff; gap:10px; }
  .aps-app :is(.admin-form>.admin-actions,.pricing-actions)>.button { flex:1 1 180px; margin:0; }
  .aps-app :is(.form-status,.form-hint,.source-note) { line-height:1.55; overflow-wrap:anywhere; }
  .aps-app .form-status:not(:empty) { width:100%; padding:12px 14px; background:#edf7fc; border-left:3px solid #007fae; border-radius:8px; }
  .aps-app .money-summary { background:#edf8fc; border:1px solid #cde7f0; color:#07577a; }
  .aps-app .money-summary :is(span,small) { color:#496571; }
  .aps-app .money-summary strong { color:#07577a; }
  .aps-app .upload-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aps-app .upload-box { background:#f8fbfd; border-color:#cbdce5; padding:16px; font-size:14px; min-width:0; }
  .aps-app input[type=file] { max-width:100%; width:100%; font-size:13px; }
  .aps-app input[type=file]::file-selector-button { min-height:38px; border:0; border-radius:8px; padding:8px 12px; background:#e7f1f7; color:#07577a; margin-right:8px; }
  .aps-app .deposit-list { max-height:600px; }
  .aps-app .deposit-row { padding:15px; border-color:var(--aps-line); }
  .aps-app .pricing-controls { grid-template-columns:repeat(3,minmax(0,1fr)); padding:22px; gap:18px; }
  .aps-app #bt-reset-discounts { width:max-content; max-width:100%; min-height:36px; font-size:12px; padding:7px 10px; align-self:end; }
  .aps-app .aps-form-sections { display:flex; gap:8px; padding:0 0 16px; overflow:auto; scrollbar-width:thin; }
  .aps-form-sections a { flex-shrink:0; padding:10px 14px; min-height:42px; border:1px solid #d0e2eb; border-radius:24px; background:#fff; color:#07577a; text-decoration:none; font-size:13px; }
  .aps-app .aps-anchor { scroll-margin-top:92px; }
  .aps-app :is(.section-shell,.shell,.ssbrp-shell) { width:min(1280px,calc(100% - 48px)); }
  .aps-app :is(main>section.section-shell,main>section.section,.ssbrp-section) { margin-block:22px; padding-block:30px; border-radius:20px; }
  .aps-app :is(.inventory.section-shell,.transaction-hub,.finder,.documents,.progress-section,.overview,#inventory.section,.ssbrp-section) { background:#fff; border:1px solid var(--aps-line); padding:26px; }
  .aps-app .ssbrp-section { margin:22px auto; width:min(1280px,calc(100% - 48px)); }
  .aps-app .ssbrp-section>.ssbrp-shell { width:100%; }
  .aps-app .ssbrp-dark { background:#07577a; }
  .aps-app :is(.hub-nav,.ssbrp-hub) { position:static; margin:22px auto; padding:14px; background:#fff; border:1px solid var(--aps-line); border-radius:18px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
  .aps-app :is(.hub-nav,.ssbrp-hub)>a { padding:12px; min-height:60px; background:#f4f8fb; border:0; border-radius:12px; font-size:13px; color:#07577a; }
  .aps-app :is(.hero,.vgp-hero,.ssbrp-hero,.segment-hero) { min-height:380px; max-height:none; }
  .aps-app :is(.hero-content,.vgp-hero-copy,.ssbrp-hero-copy) { padding-top:40px; padding-bottom:40px; }
  .aps-app :is(.hero h1,.vgp-hero h1,.ssbrp-hero h1) { max-width:750px; font-size:clamp(2rem,4vw,3.6rem); }
  .aps-app .unified-card-grid { gap:18px; }
  .aps-app .unified-unit-card { padding:20px; }
  .aps-app .unified-unit-card h3 { font-size:22px; letter-spacing:0; }
  .aps-app :is(.unit-card-actions,.ssbrp-unit-actions) { gap:8px; }
  .aps-app .unit-card-actions>* { width:100%; padding:11px; }
  .aps-app .unit-price { border-top:1px solid #e6eef3; padding-top:15px; }
  .aps-app .aps-filter-block { margin:16px 0; background:#f7fafc; border:1px solid var(--aps-line); border-radius:14px; }
  .aps-filter-block>summary { cursor:pointer; padding:14px 16px; color:#07577a; font-weight:700; font-size:14px; }
  .aps-filter-block>summary::marker { color:#0098c8; }
  .aps-app .aps-filter-block :is(.unified-filters,.ssbrp-filters,.inventory-filters,#inventory-filters) { border:0; box-shadow:none; background:transparent; margin:0; padding:4px 16px 16px; }
  .aps-app :is(.unified-tabs,.inventory-tabs,.library-tabs,.unit-tabs) { gap:5px; scrollbar-width:thin; }
  .aps-app :is(.unified-tabs,.library-tabs)>button { border-radius:10px; min-height:44px; }
  .aps-app dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:18px; border:1px solid #d5e4eb; }
  .aps-app :is(.unit-modal-head,.picker-head,.preview-actions,.ssbrp-dialog-toolbar) { position:sticky; top:0; z-index:3; padding:14px 18px; }
  .aps-app .preview-actions { background:#07577a; }
  .aps-app :is(.unit-modal-head,.picker-head) { background:#fff; }
  .aps-app .unit-modal-actions { flex-wrap:wrap; }
  .aps-app :is(.pricing-sheet,.responsive-table,.shr-document-mount) { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
  .aps-app .pricing-sheet { border:1px solid var(--aps-line); border-radius:16px; }
  .aps-app .aps-mobile-dock { display:none; }
  .aps-app .aps-skip { position:fixed; top:-100px; left:16px; z-index:9999; background:#fff; color:#07577a; padding:12px; }
  .aps-app .aps-skip:focus { top:10px; }
  .aps-app [hidden] { display:none!important; }
  /* Outer WordPress iframe occupies the remaining viewport, not an extra screen. */
  body.aps-host { margin:0!important; padding:0!important; overflow:hidden!important; }
  body.aps-host .shbc-embed { position:fixed; inset:0; width:100%; height:100vh; height:100dvh; z-index:1; overflow:hidden; }
  body.aps-host .shbc-embed iframe { display:block; width:100%; height:100%!important; min-height:0!important; border:0; }
  .shbc-selector.aps-selector { padding:32px 0 60px; }
  .aps-selector .shbc-project-card { min-height:310px; border-radius:20px; }
  .aps-selector .shbc-project-card-copy { padding:24px; }
  .aps-selector .shbc-project-card h2 { font-size:25px; }
  @media (max-width:1100px) {
    .aps-app .admin-layout { grid-template-columns:1fr; }
    .aps-app .admin-side { order:initial; }
    .aps-app :is(.primary-nav,.vgp-header nav,.ssbrp-header nav) { font-size:13px; gap:10px; }
    .aps-app :is(.hub-nav,.ssbrp-hub) { grid-template-columns:repeat(4,minmax(0,1fr)); }
  }
  @media (max-width:782px) {
    body.aps-app { padding-bottom:calc(82px + env(safe-area-inset-bottom)); }
    .aps-app :is(.site-header,.vgp-header,.ssbrp-header) { height:64px; min-height:64px; padding:8px 12px; gap:8px; }
    .aps-app :is(.site-header .brand-logo,.vgp-brand img,.ssbrp-brand img) { width:142px; height:40px; }
    .aps-app :is(.site-header .brand,.vgp-brand,.ssbrp-brand) { margin-right:auto; min-width:0; }
    .aps-app .pricing-brand { font-size:17px; }
    .aps-app .aps-project-link { padding:8px 10px; font-size:13px; }
    .aps-app .project-header-title { display:none; }
    .aps-app :is(.admin-shell,.pricing-shell,.section-shell,.shell) { width:calc(100% - 24px); padding-top:18px; }
    .aps-app :is(.admin-title,.pricing-title) { display:block; margin-bottom:18px; }
    .aps-app :is(.admin-title,.pricing-title)>.button { margin-top:12px; }
    .aps-app .aps-page-nav { gap:4px; padding:5px; border-radius:12px; }
    .aps-page-nav a { font-size:12px; padding:9px 5px; }
    .aps-app :is(.admin-card,.pricing-controls) { padding:17px; border-radius:16px; }
    .aps-app :is(.form-grid,.pricing-controls) { grid-template-columns:1fr; gap:16px; }
    .aps-app .pricing-controls .wide { grid-column:1; }
    .aps-app .card-heading { gap:12px; padding-bottom:14px; }
    .aps-app .card-heading h2 { font-size:17px; }
    .aps-app :is(.card-heading>.admin-actions,.admin-form>.admin-actions,.pricing-actions) { width:100%; display:grid; grid-template-columns:1fr; }
    .aps-app :is(.admin-form>.admin-actions,.pricing-actions)>.button { width:100%; }
    .aps-app .pricing-actions { position:static; margin:4px 0 0; box-shadow:none; }
    .aps-app .form-grid .full { grid-column:1/-1; }
    .aps-app .upload-grid { grid-template-columns:1fr; }
    .aps-app .selected-unit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .aps-app .selected-unit-grid strong { overflow-wrap:anywhere; }
    .aps-app .deposit-list { max-height:none; }
    .aps-app .money-summary { grid-template-columns:1fr; gap:18px; }
    .aps-app .pricing-sheet { padding:18px 14px; }
    .aps-app .pricing-sheet .pricing-table { min-width:560px; }
    .aps-app .price-sheet-title h2 { font-size:21px; line-height:1.35; }
    .aps-app .price-sheet-title p { font-size:14px; }
    .aps-app :is(.hub-nav,.ssbrp-hub) { grid-template-columns:repeat(3,minmax(0,1fr)); width:calc(100% - 24px); padding:10px; gap:8px; margin:14px auto; }
    .aps-app :is(.hub-nav,.ssbrp-hub)>a { min-height:60px; padding:10px 8px; font-size:12px; }
    .aps-app :is(.hero,.vgp-hero,.ssbrp-hero,.segment-hero) { min-height:310px; }
    .aps-app :is(.hero-content,.vgp-hero-copy,.ssbrp-hero-copy) { padding:30px 18px; }
    .aps-app :is(.hero h1,.vgp-hero h1,.ssbrp-hero h1) { font-size:29px; }
    .aps-app :is(.hero-copy,.ssbrp-lead) { font-size:15px; }
    .aps-app :is(.hero-actions,.ssbrp-actions) { gap:8px; }
    .aps-app :is(.hero-actions,.ssbrp-actions)>a { font-size:13px; min-height:44px; padding:10px 12px; }
    .aps-app :is(main>section.section-shell,main>section.section,.ssbrp-section) { margin-block:14px; padding:18px; border-radius:16px; }
    .aps-app .ssbrp-section { width:calc(100% - 24px); }
    .aps-app .section-heading { display:block; margin-bottom:18px; }
    .aps-app .section-heading .source-note { margin-top:10px; }
    .aps-app :is(.unified-filters,.ssbrp-filters-full,#inventory-filters) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .aps-app :is(.filter-wide,.filter-actions) { grid-column:1/-1; }
    .aps-app :is(.unified-card-grid,.transaction-grid,.ssbrp-units) { grid-template-columns:1fr; gap:14px; }
    .aps-app .unified-unit-card { padding:18px; }
    .aps-app .transaction-card { padding:18px; }
    .aps-app .aps-anchor { scroll-margin-top:78px; }
    .aps-app dialog { width:calc(100vw - 16px); max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:16px; }
    .aps-app :is(.preview-actions,.unit-modal-head,.picker-head,.ssbrp-dialog-toolbar) { position:sticky; top:0; left:auto; right:auto; padding:12px; }
    .aps-app .unit-tab-panel { padding:14px; }
    .aps-app .picker-filters { padding:12px; }
    .aps-app .unit-picker-results { padding:12px; }
    .aps-app .aps-mobile-dock { position:fixed; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; left:10px; right:10px; bottom:calc(8px + env(safe-area-inset-bottom)); z-index:55; padding:6px; border:1px solid #d8e5ec; border-radius:18px; background:rgba(255,255,255,.98); box-shadow:0 6px 28px #173d5024; }
    .aps-mobile-dock a { min-height:54px; padding:7px 2px; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#426173; font-size:11px; font-weight:700; line-height:1.2; text-decoration:none; }
    .aps-mobile-dock svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
    .aps-mobile-dock a[aria-current] { color:#007ba7; background:#eaf6fb; }
    .aps-app:has(dialog[open]) .aps-mobile-dock,.aps-app.aps-keyboard-open .aps-mobile-dock { display:none; }
    .aps-app :is(.floating-contact,.floating-actions,.sticky-cta,.mobile-cta,.ai-fab) { display:none!important; }
    .aps-app .ssbrp-cta { display:none; }
    .aps-selector .shbc-project-grid { grid-template-columns:1fr; gap:14px; }
    .aps-selector .shbc-project-card { min-height:240px; }
    .aps-selector .shbc-project-card-copy { padding:20px; }
    .aps-selector .shbc-project-card h2 { font-size:23px; }
    body.aps-host .shbc-portal-bar span { display:none; }
  }
  @media (prefers-reduced-motion:reduce) { .aps-app * { scroll-behavior:auto!important; transition:none!important; } }
}
@media print { .aps-page-nav,.aps-form-sections,.aps-mobile-dock,.aps-skip { display:none!important; } }

/* 2.11.2 — project viewport, Sunshine menu and app launcher. */
@media screen {
  html:has(body.aps-standalone) { margin-top:0!important; min-height:100%; min-height:100dvh; background:#f2faff!important; }
  body.aps-standalone { margin:0; padding:0; min-height:100%; min-height:100dvh; background:#f2faff!important; }
  body.aps-standalone #wpadminbar { display:none!important; }
  .aps-project-root { margin:0; padding:0; min-width:0; min-height:100vh; min-height:100dvh; background:#f2faff; }
  :is(.aps-standalone,.aps-app) :is(.shbc-portal-bar,#shbc-live-editor,.floating-contact,.floating-actions,.sticky-cta,.mobile-cta,.ai-fab,.ssbrp-cta) { display:none!important; }
  body.aps-standalone:has(.shbc-embed>iframe) { overflow:hidden; }
  .aps-standalone .shbc-embed:has(>iframe) { position:fixed; inset:0; width:100%; height:100vh; height:100dvh; overflow:hidden; }
  .aps-standalone .shbc-embed>iframe { display:block; border:0; width:100%; height:100%; min-height:0; }
  .aps-app .ssbrp-header { display:flex; position:sticky; top:0; }
  .aps-app :is(.site-header,.vgp-header,.ssbrp-header) { flex-wrap:nowrap; }
  .aps-app .ssbrp-header .ssbrp-brand { margin-right:auto; }
  .aps-app .ssbrp-header .aps-primary-nav { display:flex; position:static; flex-direction:row; align-items:center; gap:14px; margin:0; padding:0; border:0; box-shadow:none; background:#fff; }
  .aps-app .ssbrp-header .aps-primary-nav a { display:block!important; color:#07577a; text-decoration:none; font-size:14px; line-height:1.4; }
  .aps-menu-toggle { display:none; flex:none; width:44px; height:44px; padding:10px; border:1px solid #d6e5ec; border-radius:10px; color:#07577a; background:#f7fbfd; cursor:pointer; }
  .aps-menu-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; }
  .aps-app .ssbrp-header .aps-menu-toggle { order:3; }
  .aps-app :is(.primary-nav,.vgp-header nav,.aps-primary-nav) { max-height:calc(100dvh - 155px); overflow-y:auto; overscroll-behavior:contain; }
  .aps-app .ssbr-plugin { overflow:visible; padding-bottom:0; }
  .aps-app .ssbrp-footer { padding-bottom:28px; }
  .shbc-selector.aps-selector { --navy:#07577a; --muted:#697d87; box-sizing:border-box; width:min(1120px,calc(100% - 40px)); min-height:100vh; min-height:100dvh; margin:0 auto; padding:32px 0 112px; color:var(--navy); font-family:"SHR Roboto",Arial,sans-serif; }
  .shbc-selector.aps-selector * { box-sizing:border-box; }
  .aps-selector .shbc-selector-head { display:block; margin:0 0 26px; }
  .aps-selector .aps-selector-kicker { color:#007fae; font-size:12px; font-weight:700; letter-spacing:.12em; margin:0 0 12px; }
  .aps-selector .shbc-selector-head h1 { color:#07577a; font-size:clamp(24px,3.3vw,36px); line-height:1.25; margin:0 0 12px; font-weight:700; overflow-wrap:anywhere; }
  .aps-selector .shbc-selector-head>p:last-child { margin:0; color:#6a7e87; font-size:16px; }
  .aps-selector .shbc-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; scroll-margin-top:20px; }
  .aps-selector .shbc-project-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; min-height:260px; padding:24px; border:1px solid #ddecf1; border-radius:24px; background:#fff; color:#07577a; box-shadow:0 8px 28px #0098c810; text-decoration:none; transition:box-shadow .15s,transform .15s; }
  .aps-selector .shbc-project-card:hover { transform:translateY(-2px); box-shadow:0 12px 30px #0098c822; }
  .aps-selector .shbc-project-card:focus-visible,.aps-selector-dock :is(a,button):focus-visible { outline:3px solid #0098c8; outline-offset:3px; }
  .aps-selector .shbc-project-card h2 { font-size:21px; line-height:1.3; margin:0 0 10px; color:#07577a; font-weight:700; overflow-wrap:anywhere; }
  .aps-selector .shbc-project-card p { font-size:15px; line-height:1.5; margin:0 0 14px; color:#6a7e87; }
  .aps-selector .shbc-project-button { margin-top:auto; color:#008eb8!important; background:transparent!important; font-size:15px; font-weight:700; }
  .aps-selector-dock { position:fixed; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:8px max(12px,calc((100% - 820px)/2)) calc(8px + env(safe-area-inset-bottom)); border-top:1px solid #dcebf0; background:#fff; z-index:65; }
  .aps-selector-dock :is(a,button) { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:54px; margin:0; padding:5px; border:0; background:none; color:#6a7e87; font:700 13px/1.3 "SHR Roboto",Arial,sans-serif; text-decoration:none; cursor:pointer; }
  .aps-selector-dock [aria-current],.aps-selector-dock [aria-expanded=true] { color:#008eb8; }
  .aps-selector-dock svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; }
  .aps-selector .aps-account-panel { position:fixed; z-index:70; right:max(14px,calc((100vw - 1100px)/2)); bottom:calc(84px + env(safe-area-inset-bottom)); width:min(320px,calc(100vw - 28px)); padding:22px; border:1px solid #d3e8f0; border-radius:18px; background:#fff; box-shadow:0 10px 36px #07577a24; }
  .aps-account-panel[hidden] { display:none!important; }
  .aps-account-panel p { font-size:14px; color:#6a7e87; }
  .aps-account-panel a { display:inline-flex; align-items:center; min-height:44px; color:#07577a; font-weight:700; }
  body.shbc-selector-page > :is(footer,#footer,.footer-wrapper,.absolute-footer,.site-footer) { display:none!important; }
  body.shbc-selector-page::before,body.shbc-selector-page::after { display:none!important; content:none!important; }
  @media(max-width:1200px) {
    .aps-app .ssbrp-header .aps-menu-toggle { display:grid; place-items:center; }
    .aps-app .ssbrp-header .aps-primary-nav { display:none; position:absolute; top:100%; left:12px; right:12px; flex-direction:column; align-items:stretch; gap:0; padding:8px 12px; border:1px solid #d6e5ec; border-radius:0 0 16px 16px; box-shadow:0 16px 32px #07577a20; }
    .aps-app .ssbrp-header .aps-primary-nav.is-open { display:flex; }
    .aps-app .ssbrp-header .aps-primary-nav a { min-height:44px; padding:12px; font-size:15px; border-bottom:1px solid #edf4f7; }
  }
  @media(max-width:782px) {
    .shbc-selector.aps-selector { width:calc(100% - 28px); padding:24px 0 106px; }
    .aps-selector .shbc-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .aps-selector .shbc-project-card { padding:18px 14px; border-radius:20px; min-height:238px; }
    .aps-selector .shbc-project-card h2 { font-size:16px; }
    .aps-selector .shbc-project-card p { font-size:13px; }
    .aps-selector .shbc-project-button { font-size:13px; }
    body.aps-standalone.aps-app { padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
    .aps-app :is(.site-header .brand-logo,.vgp-brand img,.ssbrp-brand img) { width:min(142px,32vw); }
  }
}
@media print { .aps-selector-dock,.aps-account-panel { display:none!important; } }

/* 2.11.3: deterministic chrome, including WordPress footer/theme injections. */
:is(body.aps-standalone,body.aps-app,body.shbc-project-page,body.shbc-selector-page) :is(.bottom-contact,#seahome-bottom-contact) {
  display:none!important; visibility:hidden!important; pointer-events:none!important;
}
@media screen {
  body.aps-app,body.aps-standalone { --aps-header-height:76px; }
  /* Fixed headers do not depend on the theme's overflow ancestors for sticky. */
  body.aps-app:has(>.site-header,>.vgp-header),body.aps-standalone:has(.ssbrp-header) {
    padding-top:calc(var(--aps-header-height) + env(safe-area-inset-top,0px))!important;
  }
  body:is(.aps-app,.aps-standalone) :is(.site-header,.vgp-header,.ssbrp-header) {
    position:fixed!important; top:0!important; left:0!important; right:0!important;
    width:100%!important; height:calc(var(--aps-header-height) + env(safe-area-inset-top,0px))!important;
    min-height:var(--aps-header-height)!important; margin:0!important;
    padding-top:calc(10px + env(safe-area-inset-top,0px));
    transform:none!important; transition:none!important; z-index:70!important;
  }
  .aps-standalone :is(.aps-project-root,.shbc-ssbr-embed,.ssbr-plugin) {
    transform:none!important; filter:none!important; perspective:none!important;
    contain:none!important; will-change:auto!important; overflow:visible!important;
  }
  body:is(.aps-app,.aps-standalone) :is(.aps-primary-nav,.primary-nav,.vgp-header nav) {
    max-height:calc(100vh - var(--aps-header-height) - 95px);
    max-height:calc(100dvh - var(--aps-header-height) - 95px);
    overflow-y:auto; overscroll-behavior:contain;
  }
  /* Overview photos are cropped in the browser; original files stay intact. */
  .aps-selector .shbc-project-card {
    position:relative; z-index:0; isolation:isolate; overflow:hidden; justify-content:flex-end;
    min-height:286px; padding:12px; border:1px solid #c4dce5;
    background:#194d62; box-shadow:0 8px 26px #07577a1c;
  }
  .aps-selector .shbc-project-card::before {
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(145deg,#ffffff12,transparent 40%,#042a3a55);
  }
  /* CSS backgrounds load without Flatsome's image lazy-loader or JS startup.
     Non-negative layers also keep the photo above the card's own background. */
  .aps-selector .aps-project-cover {
    display:block!important; position:absolute; inset:0; z-index:0; width:100%; height:100%; max-width:none;
    background-size:cover; background-position:center; background-repeat:no-repeat;
    opacity:1!important; visibility:visible!important; pointer-events:none;
    filter:blur(.7px); transform:scale(1.03);
  }
  .aps-selector [data-project=blanca] .aps-project-cover { background-position:55% center; }
  .aps-selector [data-project=vgp] .aps-project-cover { background-position:60% center; }
  .aps-selector [data-project=mgpm] .aps-project-cover { background-position:52% center; }
  .aps-selector [data-cover-crop=ssbr-overview] .aps-project-cover { height:190%; top:-50%; transform:none; }
  .aps-selector .aps-project-glass {
    position:relative; z-index:2; display:flex; flex-direction:column; width:100%; min-height:0; padding:16px 17px 15px;
    border:1px solid #ffffff70; border-radius:18px; background:linear-gradient(135deg,#ffffff20,transparent 45%),rgba(4,42,58,.76);
    -webkit-backdrop-filter:blur(10px) saturate(125%); backdrop-filter:blur(10px) saturate(125%);
    box-shadow:inset 0 1px 0 #ffffff45,0 8px 24px #00182330;
  }
  .aps-selector .shbc-project-card h2 { color:#fff!important; font-size:20px; line-height:1.25; margin:0 0 6px; }
  .aps-selector .shbc-project-card p { color:#effaff!important; font-size:13px; line-height:1.4; margin:0 0 10px; }
  .aps-selector .shbc-project-button {
    display:flex; align-items:center; justify-content:space-between; width:100%; min-height:28px;
    margin-top:2px; color:#fff!important; font-size:13px; background:transparent!important;
  }
  .aps-selector .shbc-project-button>span { color:#89edff; font-size:22px; line-height:1; }
  @media(max-width:782px) {
    body.aps-app,body.aps-standalone { --aps-header-height:64px; }
    .aps-selector .shbc-selector-head { margin-bottom:18px; }
    .aps-selector .shbc-project-grid { gap:10px; }
    .aps-selector .shbc-project-card { min-height:232px; padding:7px; border-radius:18px; }
    .aps-selector .aps-project-glass { min-height:0; padding:11px 11px 10px; border-radius:13px; }
    .aps-selector .shbc-project-card h2 { font-size:15px; line-height:1.22; margin-bottom:5px; }
    .aps-selector .shbc-project-card p { font-size:11px; line-height:1.35; margin-bottom:7px; }
    .aps-selector .shbc-project-button { min-height:24px; margin-top:1px; font-size:11.5px; }
    .aps-selector .shbc-project-button>span { font-size:19px; }
  }
  @media(prefers-reduced-motion:reduce) {
    .aps-selector .shbc-project-card { transition:none; }
    .aps-selector .shbc-project-card:hover { transform:none; }
  }
}

/* Sunshine: section card rules must not hide white headings on white backgrounds. */
@media screen {
  body.aps-app .ssbr-plugin #ssbr-amenities { background:#f3f8fb; color:#173d50; }
  body.aps-app .ssbr-plugin #ssbr-amenities h2 { color:#07577a; margin:0 0 20px; }
  body.aps-app .ssbrp-amenity-grid { gap:16px; margin-top:20px; grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.aps-app .ssbrp-amenity-grid article { background:#fff; border:1px solid #d6e5ec; border-radius:16px; padding:22px; min-width:0; }
  body.aps-app .ssbrp-amenity-grid b { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; background:#e9f5fa; color:#007caa; }
  body.aps-app .ssbrp-amenity-grid h3 { color:#07577a; font-size:19px; line-height:1.35; margin:16px 0 10px; }
  body.aps-app .ssbrp-amenity-grid p { color:#405965; margin:0; font-size:16px; line-height:1.6; }
  body.aps-app .ssbrp-brand img { display:block!important; opacity:1!important; visibility:visible!important; }
  @media(max-width:1100px){body.aps-app .ssbrp-amenity-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media(max-width:600px){body.aps-app .ssbrp-amenity-grid {grid-template-columns:1fr;}body.aps-app .ssbrp-amenity-grid article{padding:18px;}}
}

/* Visible viewport is shared by direct pages and same-origin project frames. */
@media screen {
  body.aps-host .shbc-embed,
  .aps-standalone .shbc-embed:has(>iframe) {
    inset:auto 0 auto 0; top:var(--aps-viewport-top,0px);
    height:100vh; height:100svh; height:var(--aps-viewport-height,100dvh);
  }
  @media(max-width:782px) {
    body.aps-app {padding-bottom:calc(90px + var(--aps-device-safe-bottom,env(safe-area-inset-bottom,0px)));}
    .aps-app .aps-mobile-dock {
      bottom:calc(8px + var(--aps-device-safe-bottom,env(safe-area-inset-bottom,0px)) + var(--aps-obscured-bottom,0px));
      z-index:80;
    }
  }
}
