/* ZVGPro 1.4.10 — shared visual language, based on the existing logo/header.
   Layout, content, permissions, prices and calculation logic remain in their
   existing modules. Load this file after the existing page styles. */
:root {
  --brand-navy:#0b2238;
  --brand-navy-hover:#12324a;
  --brand-teal:#01bda6;
  --brand-teal-hover:#00aa95;
  --brand-teal-ink:#00786c;
  --brand-focus:#00867c;
  --brand-soft:#e7f7f4;
  --brand-surface:#ffffff;
  --brand-canvas:#f4f8fb;
  --brand-line:#dce7ee;
  --brand-muted:#526879;
  --brand-radius-control:10px;
  --brand-radius-card:16px;
  --brand-radius-dialog:20px;
  --brand-shadow:0 8px 24px rgba(11,34,56,.07);
  --brand-shadow-dialog:0 24px 72px rgba(11,34,56,.24);
  --z-navy:var(--brand-navy);
  --z-ink:var(--brand-navy);
  --z-blue:var(--brand-navy);
  --z-blue-hover:var(--brand-navy-hover);
  --z-bg:var(--brand-canvas);
  --z-white:var(--brand-surface);
  --z-muted:var(--brand-muted);
  --z-line:var(--brand-line);
  --z-soft:var(--brand-canvas);
  --v2-blue:var(--brand-navy);
  --v2-blue-dark:var(--brand-navy-hover);
  --ui-bg:var(--brand-canvas);
  --ui-panel:var(--brand-surface);
  --ui-navy:var(--brand-navy);
  --ui-muted:var(--brand-muted);
  --ui-line:var(--brand-line);
  --ui-soft:var(--brand-canvas);
  --ui-blue:var(--brand-navy);
  --ui-blue-dark:var(--brand-navy-hover);
  --d11-navy:var(--brand-navy);
  --d11-navy-2:var(--brand-navy-hover);
  --d11-ink:var(--brand-navy);
  --d11-accent:var(--brand-teal);
  --d11-accent-dark:var(--brand-teal-ink);
  --d11-accent-soft:var(--brand-soft);
  --d11-line:var(--brand-line);
  --d11-muted:var(--brand-muted);
  --d11-shadow-soft:var(--brand-shadow);
}

/* The header and footer use the same brand background. */
html body.design11-true :is(.topbar.premium-header,.site-footer.d11-footer-approved,.zvg-dialog-header) {
  background:var(--brand-navy)!important;
}
html body.design11-true :is(button,input,select,textarea,.btn,.action,.doc-open) {
  font-family:var(--z-font,Inter,ui-sans-serif,system-ui,sans-serif);
}
html body.design11-true :is(button,.btn,.action,.doc-open,.zlp-button) {
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}

/* Standard primary actions: one navy, including hover and active states. */
html body.design11-true :is(.btn.primary,.action.primary,.buy-btn,.popup-btn,.official,
 .primary-buy,.saved-open,.price-use,.zlp-primary,.buy-inline.pro,
 .content-lock button,.pro-lock-card .buy-inline,.zvg-case button:not(.case-quiet),
 #investorReportBtn,#authSubmit,#applyFilters,#saveSearch) {
  background:var(--brand-navy)!important;background-image:none!important;
  color:#fff!important;border:1px solid var(--brand-navy)!important;
  border-radius:var(--brand-radius-control)!important;box-shadow:none!important;
  font-weight:700!important;text-decoration:none;
}
html body.design11-true :is(.btn.primary,.action.primary,.buy-btn,.popup-btn,.official,
 .primary-buy,.saved-open,.price-use,.zlp-primary,.buy-inline.pro,
 .content-lock button,.pro-lock-card .buy-inline,.zvg-case button:not(.case-quiet),
 #investorReportBtn,#authSubmit,#applyFilters,#saveSearch):is(:hover,:active) {
  background:var(--brand-navy-hover)!important;border-color:var(--brand-navy-hover)!important;
  color:#fff!important;box-shadow:none!important;filter:none!important;transform:none!important;
}

/* Existing prominent search/Pro actions retain the logo accent with white text. */
html body.design11-true :is(.v2-primary-action,.hero-search-button,.v22-pro-button,
 #openPricing,#buyPro,.top-upgrade) {
  background:var(--brand-teal)!important;background-image:none!important;
  color:#fff!important;border:1px solid var(--brand-teal)!important;
  border-radius:var(--brand-radius-control)!important;box-shadow:none!important;
  font-weight:750!important;
}
html body.design11-true :is(.v2-primary-action,.hero-search-button,.v22-pro-button,
 #openPricing,#buyPro,.top-upgrade):is(:hover,:active) {
  background:var(--brand-teal-hover)!important;border-color:var(--brand-teal-hover)!important;
  color:#fff!important;box-shadow:none!important;transform:none!important;filter:none!important;
}

/* Secondary actions, document utilities and quiet form actions. */
html body.design11-true :is(.btn.secondary,.action.secondary,.mini,.v2-filter-action,
 .buy-btn.secondary-buy,.case-quiet,.saved-remove,.price-court,.dealcheck-action,
 .dealcheck-foot button,.flow-secondary-actions button,.flow-secondary-actions a,
 .flow-print-tools button,.flow-case-placeholder button,.preview-actions .grey,
 .preview-actions .blue,.preview-actions .amber,.zlp-button:not(.zlp-primary),
 .buy-inline:not(.pro),#v2PlanAction,#more,#copyFile,#calendarBtn,#printBtn) {
  background:#fff!important;background-image:none!important;color:var(--brand-navy)!important;
  border:1px solid var(--brand-line)!important;border-radius:var(--brand-radius-control)!important;
  font-weight:700!important;box-shadow:none!important;
}
html body.design11-true :is(.btn.secondary,.action.secondary,.mini,.v2-filter-action,
 .buy-btn.secondary-buy,.case-quiet,.saved-remove,.price-court,.dealcheck-action,
 .dealcheck-foot button,.flow-secondary-actions button,.flow-secondary-actions a,
 .flow-print-tools button,.flow-case-placeholder button,.preview-actions .grey,
 .preview-actions .blue,.preview-actions .amber,.zlp-button:not(.zlp-primary),
 .buy-inline:not(.pro),#v2PlanAction,#more,#copyFile,#calendarBtn,#printBtn):is(:hover,:active) {
  background:var(--brand-soft)!important;color:var(--brand-navy)!important;
  border-color:var(--brand-teal-ink)!important;box-shadow:none!important;transform:none!important;filter:none!important;
}

/* Navigation, saved states and keyboard focus stay recognisable everywhere. */
html body.design11-true :is(.account-menu button,.account-menu a,.auth-switch button,.zvg-case a) {
  color:var(--brand-navy)!important;
}
html body.design11-true :is(.account-menu button,.account-menu a):hover {
  background:var(--brand-soft)!important;color:var(--brand-navy)!important;
}
html body.design11-true :is(.saveitem,.detail-save-btn) {
  color:var(--brand-navy)!important;border-color:var(--brand-line)!important;
}
html body.design11-true :is(.saveitem,.detail-save-btn):hover,
html body.design11-true :is(.saveitem.saved,.detail-save-btn.is-saved) {
  background:var(--brand-soft)!important;color:var(--brand-teal-ink)!important;border-color:var(--brand-teal-ink)!important;
}
html body.design11-true :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--brand-focus)!important;outline-offset:3px!important;
}
html body.design11-true :is(.topbar,.zvg-dialog-header,.site-footer,.zvg-photo-toolbar) :is(button,a):focus-visible {
  outline-color:var(--brand-teal)!important;
}
html body.design11-true input:is([type=checkbox],[type=radio]) {accent-color:var(--brand-teal-ink)}
html body.design11-true :is(.field,.auth-form,.zvg-case,.deal-inputs,.bid-inputs) :is(input,select,textarea):focus {
  border-color:var(--brand-teal-ink)!important;box-shadow:0 0 0 3px rgba(1,189,166,.14)!important;
}
html body.design11-true :is(button,.btn,.action):is(:disabled,[aria-disabled=true],.disabled) {
  background:#e9eef2!important;color:#687d8c!important;border-color:var(--brand-line)!important;
  box-shadow:none!important;cursor:not-allowed!important;transform:none!important;
}

/* Shared surfaces and dialog chrome, retaining the existing dimensions. */
html body.design11-true :is(.v2-function-card,.seo-points article,.saved-card,.alert-card,.flow-fold,.zvg-report-offer) {
  border-color:var(--brand-line)!important;border-radius:var(--brand-radius-card)!important;
}
html body.design11-true :is(.v2-function-card,.saved-card,.alert-card) {box-shadow:var(--brand-shadow)!important}
html body.design11-true :is(.v2-function-card):hover {
  border-color:var(--brand-teal-ink)!important;box-shadow:var(--brand-shadow)!important;
}
html body.design11-true :is(.pricing-dialog,.auth-dialog,.alerts-dialog,.saved-dialog,.modalbox,.case-dialog,.zvg-legal-dialog) {
  border-color:var(--brand-line)!important;box-shadow:var(--brand-shadow-dialog)!important;
}
html body.design11-true :is(.zvg-legal-dialog__head,.pdf-viewer-panel>header) {background:var(--brand-navy)!important;color:#fff!important}
html body.design11-true :is(.zvg-legal-dialog__head,.pdf-viewer-panel>header) :is(h2,strong) {color:#fff!important}
html body.design11-true :is(.zvg-close,.zvg-legal-dialog__close,.pdf-viewer-close) {
  color:#fff!important;background:transparent!important;border:1px solid rgba(255,255,255,.45)!important;
  border-radius:var(--brand-radius-control)!important;box-shadow:none!important;
}
html body.design11-true :is(.zvg-close,.zvg-legal-dialog__close,.pdf-viewer-close):hover {
  background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:var(--brand-teal)!important;
}
html body.design11-true :is(.simple-pin,.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div) {
  background:var(--brand-navy)!important;color:#fff!important;
}
html body.design11-true .simple-pin {box-shadow:0 3px 10px rgba(11,34,56,.22)!important}

/* Photo popup: the existing brand, an actual framed dialog, no navigation. */
html body.design11-true #zvgPhotoViewer {
  inset:0!important;width:min(1100px,calc(100vw - 48px))!important;
  height:min(820px,calc(100vh - 48px))!important;height:min(820px,calc(100dvh - 48px))!important;
  margin:auto!important;padding:0!important;border:1px solid var(--brand-line)!important;
  border-radius:var(--brand-radius-dialog)!important;background:#fff!important;color:var(--brand-navy)!important;
  box-shadow:var(--brand-shadow-dialog)!important;
}
html body.design11-true #zvgPhotoViewer::backdrop {background:rgba(11,34,56,.68)!important}
html body.design11-true #zvgPhotoViewer .zvg-photo-toolbar {
  padding:16px 20px!important;background:var(--brand-navy)!important;border-bottom:3px solid var(--brand-teal)!important;
  gap:20px!important;
}
html body.design11-true #zvgPhotoViewer .zvg-photo-brand {
  min-width:0;display:flex;align-items:center;gap:24px;flex:1;
}
html body.design11-true #zvgPhotoViewer .zvg-photo-logo {
  width:142px;height:auto;max-width:142px;max-height:56px;object-fit:contain;flex:0 0 auto;display:block;
}
html body.design11-true #zvgPhotoViewer .zvg-photo-toolbar strong {font-size:14px!important;font-weight:600!important;color:#fff!important}
html body.design11-true #zvgPhotoViewer .zvg-photo-close {
  background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important;
  border-radius:var(--brand-radius-control)!important;font-size:14px!important;min-width:126px!important;
}
html body.design11-true #zvgPhotoViewer .zvg-photo-close:hover {background:rgba(255,255,255,.12)!important;border-color:var(--brand-teal)!important}
html body.design11-true #zvgPhotoViewer .zvg-photo-stage {background:var(--brand-canvas);padding:20px!important}
html body.design11-true #zvgPhotoViewer .zvg-photo-status {color:var(--brand-muted)!important;line-height:1.5}
@media(max-width:680px) {
  html body.design11-true #zvgPhotoViewer {
    width:calc(100vw - 24px)!important;height:calc(100vh - 32px)!important;height:calc(100dvh - 32px)!important;
    border-radius:16px!important;
  }
  html body.design11-true #zvgPhotoViewer .zvg-photo-toolbar {padding:12px!important;gap:12px!important}
  html body.design11-true #zvgPhotoViewer .zvg-photo-brand {display:block}
  html body.design11-true #zvgPhotoViewer .zvg-photo-logo {width:108px;max-width:108px;max-height:40px;margin-bottom:7px}
  html body.design11-true #zvgPhotoViewer .zvg-photo-toolbar strong {display:block;font-size:12px!important}
  html body.design11-true #zvgPhotoViewer .zvg-photo-stage {padding:12px!important}
}
@media(prefers-reduced-motion:reduce) {
  html body.design11-true :is(button,.btn,.action,.doc-open,.zlp-button) {transition:none!important}
}

/* PDF and case-list dialogs use the same actual header selectors. */
html body.design11-true .pdf-viewer-panel>header :is(b,small) {color:#fff!important}
html body.design11-true .pdf-viewer-panel>header .pdf-viewer-external {
  background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important;
  border-radius:var(--brand-radius-control)!important;
}
html body.design11-true .pdf-viewer-panel>header .pdf-viewer-external:hover {
  background:rgba(255,255,255,.12)!important;border-color:var(--brand-teal)!important;
}
html body.design11-true .case-dialog>.case-heading {
  margin:-24px -24px 20px;padding:20px 24px;background:var(--brand-navy);color:#fff;
}
html body.design11-true .case-dialog>.case-heading h2 {color:#fff}
html body.design11-true .case-dialog [data-list-close] {
  min-width:44px;min-height:44px;padding:4px 10px!important;background:transparent!important;
  color:#fff!important;border-color:rgba(255,255,255,.45)!important;
}
@media(max-width:680px) {
  html body.design11-true .case-dialog>.case-heading {margin:-18px -18px 18px;padding:18px}
}

/* Existing native dialogs must remain in the viewport after a footer click. */
html body.design11-true :is(.zvg-legal-dialog,.case-dialog) {
  position:fixed;inset:0;margin:auto;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
  border-radius:var(--brand-radius-dialog);
}
html body.design11-true .zvg-legal-dialog__close {min-width:44px;min-height:44px}
html body.design11-true :is(#officialBrwSource,#officialFloodSource,#officialIntelSource a,
 .zvg-legal-dialog__body a,.dealcheck-section a,.photo-gallery>a) {
  color:var(--brand-navy)!important;text-underline-offset:3px;
}
html body.design11-true :is(#officialBrwSource,#officialFloodSource,#officialIntelSource a,
 .zvg-legal-dialog__body a,.dealcheck-section a):hover {color:var(--brand-teal-ink)!important}
html body.design11-true #previewContent :is(input,select,textarea,summary) {color:var(--brand-navy)!important}
html body.design11-true #previewContent :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  border-color:var(--brand-line);border-radius:var(--brand-radius-control);
}
html body.design11-true #previewModal #detailSaveButton {
  color:var(--brand-navy)!important;border-color:var(--brand-line)!important;box-shadow:none!important;
  border-radius:var(--brand-radius-control)!important;
}
html body.design11-true #previewModal #detailSaveButton:is(:hover,.is-saved) {
  color:var(--brand-teal-ink)!important;background:var(--brand-soft)!important;border-color:var(--brand-teal-ink)!important;
}
html body.design11-true #previewModal #detailSaveButton .detail-save-heart {color:inherit!important}
html body.design11-true #dealBackToCheck {
  color:var(--brand-navy)!important;background:#fff!important;border:1px solid var(--brand-line)!important;
  border-radius:var(--brand-radius-control)!important;box-shadow:none!important;
}
html body.design11-true #dealBackToCheck:hover {background:var(--brand-soft)!important;border-color:var(--brand-teal-ink)!important}
@media(max-width:680px) {
  html body.design11-true .v2-cockpit h1 {
    font-size:clamp(22px,6.2vw,28px)!important;line-height:1.16!important;
    word-break:normal!important;overflow-wrap:normal!important;
  }
}

/* Keep the mobile toolbar behind the filter surface. */
html body.design11-true:has(#suche.mobile-open) .mobile-commandbar {visibility:hidden;pointer-events:none}
/* Short screens need room for content below the existing sticky dialog header. */
@media(max-height:540px) and (orientation:landscape) {
  html body.design11-true :is(#previewModal,#pricingModal,#authModal,#savedModal,#searchAlertsModal,#suche) .zvg-dialog-header {
    min-height:68px!important;height:auto!important;padding:10px 14px!important;gap:12px!important;
  }
  html body.design11-true :is(#previewModal,#pricingModal,#authModal,#savedModal,#searchAlertsModal,#suche) .zvg-brand-stack {
    flex-direction:row!important;align-items:center!important;gap:14px!important;min-width:0!important;
  }
  html body.design11-true :is(#previewModal,#pricingModal,#authModal,#savedModal,#searchAlertsModal,#suche) .zvgpro-dialog-logo {
    width:auto!important;height:44px!important;max-width:160px!important;object-fit:contain!important;
  }
  html body.design11-true :is(#previewModal,#pricingModal,#authModal,#savedModal,#searchAlertsModal,#suche) .zvg-context {
    font-size:12px!important;line-height:1.3!important;
  }
}

/* 1.4.11: the rounded field already marks focus; no inner rectangular line. */
html body.design11-true .v2-command-search :is(input,select):is(:focus,:focus-visible) {
  outline:none!important;box-shadow:none!important;
}

/* 1.4.13: shortcut labels get the full card width below icon and count.
   Keep the existing 6/3/2-column breakpoints and compact mobile layout. */
@media(min-width:641px) {
  html body.design11-true .d11-function-shell .v2-function-card {
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto 1fr!important;align-items:start!important;
  }
  html body.design11-true .d11-function-shell .v2-function-card>.v2-fn-icon {
    grid-column:1!important;grid-row:1!important;
  }
  html body.design11-true .d11-function-shell .v2-function-card>span:nth-child(2) {
    grid-column:1/-1!important;grid-row:2!important;min-width:0!important;
  }
  html body.design11-true .d11-function-shell .v2-function-card>em {
    position:static!important;grid-column:2!important;grid-row:1!important;
    justify-self:end!important;align-self:center!important;white-space:nowrap!important;
  }
}
