/* Native block layouts share the garage's visual system. */
.wp-site-blocks > *, .wp-site-blocks > main > *, .wp-block-post-content > .wp-block-boesiger-layout { margin-block: 0; }
.wp-block-boesiger-layout { min-width: 0; }
.wp-block-boesiger-layout > :first-child { margin-top: 0; }
.wp-block-boesiger-layout > :last-child { margin-bottom: 0; }
.wp-block-post-content > :is(p,h1,h2,h3,h4,ul,ol,figure,blockquote,table,.wp-block-buttons,.wp-block-gallery,.wp-block-columns,.wp-block-group) { width: min(100% - 40px, 1240px); margin-inline: auto; }
.wp-block-post-content > :is(p,ul,ol,blockquote,table,.wp-block-buttons,.wp-block-gallery,.wp-block-columns,.wp-block-group) { margin-block: 24px; }
.wp-block-post-content > :is(h2,h3,h4) { margin-top: 40px; }
.wp-block-post-content > .alignfull { width: 100%; max-width: none; }
.wp-block-post-content > .alignwide { max-width: 1240px; }
.wp-block-post-content :is(ul:not([class]),ol:not([class]),.wp-block-list) { padding-left: 24px; list-style: revert; }
.wp-block-image img { height: auto; border-radius: 12px; }
.wp-block-buttons { gap: 12px; }
.wp-block-button__link { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; line-height: 1.4; }
.is-style-outline > .wp-block-button__link { border-color: #b8bec0; color: inherit; }
.wp-block-boesiger-link { width: fit-content; max-width: 100%; }
.wp-block-boesiger-link > a { text-decoration: none; }
.wp-block-boesiger-link > .text-link { text-decoration: underline; }
.appointment-actions { display:flex; flex-direction:column; gap:14px; flex-shrink:0; }
.hero-grid:has(> .hero-visual:empty) { grid-template-columns: 1fr; }
.hero-visual:empty,.optional-photo:empty,.service-photo:empty,.entrance-photo:not(:has(.photo)) { display: none; }
.hero h1 > span { color: #5f6b70; }
.garage-benefit { display: flex; align-items: center; gap: 10px; }
.garage-benefit p { margin: 0; font-size: .75rem; font-weight: 600; }
.garage-benefit svg { width: 19px; color: var(--color-accent); }
.team-card > .photo-portrait { max-width:280px; border-radius:4px; margin:0 auto 20px; }
.team-card > .team-initials { margin-bottom:20px; }
.photo-split:has(> .photo) { grid-template-columns: minmax(0,1fr); }
.photo-split:not(:has(> .photo)) { grid-template-columns: 1fr; }
.enquiry-panel .wp-block-boesiger-form > .enquiry-panel { padding: 0; }
.location-panel .wp-block-boesiger-data .hours { margin-top: 10px; }
.service-group .wp-block-boesiger-service-list { min-width: 0; }
.service-group:has(.service-photo .photo) > .service-group-intro { grid-column: 1 / -1; }
.section.garage-reviews-section { padding-block: 40px; }
.garage-reviews-section > .shell > h2 { margin-bottom: 20px; }
.garage-reviews-section:not(:has([data-reviews])) { display: none; }
.site-footer .wp-block-boesiger-data a { display: inline-flex; min-height: 44px; align-items: center; }
.site-footer .footer-menu { gap: 25px; }
.site-footer .wp-block-navigation a { color: inherit; }
.wp-site-blocks > .wp-block-template-part:has(.site-header) { position: sticky; top: 0; z-index: 40; }
.wp-block-template-part .site-header { position: static; }
nav.garage-navigation { flex: 0 1 auto; margin-left: auto; align-self:center; }
.garage-navigation a { font-weight: 600; line-height: 1.4; min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; }
.garage-navigation a:hover,.garage-navigation .current-menu-item > a,.garage-navigation [aria-current="page"] { color: var(--color-accent); text-decoration: underline; }
nav.garage-navigation .wp-block-navigation__responsive-container-content {
  gap:clamp(10px,1.2vw,20px);
  align-items:center;
}
nav.garage-navigation .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
  gap:clamp(10px,1.2vw,20px);
  margin:0;
  align-items:center;
}
.garage-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 30px 24px; background: var(--color-paper); color: var(--color-ink); }
.garage-navigation .wp-block-navigation__responsive-container-open,.garage-navigation .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
.header-inner > .wp-block-boesiger-brand { margin-right: auto; flex-shrink: 0; }
.header-inner > .wp-block-boesiger-appearance { flex-shrink: 0; }
.header-inner > .header-booking { flex-shrink: 0; }
@media (min-width:640px) { .header-inner > .header-booking { display:flex; align-items:center; } }
.wp-block-boesiger-quick-contact { margin: 0 !important; }
@media (min-width:900px) { .photo-split:has(> .photo) { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }
@media (max-width:1099px) {
  .garage-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .garage-navigation .wp-block-navigation__responsive-container-open { display: flex !important; }
  nav.garage-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items:flex-start; gap:12px; }
  nav.garage-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:flex-start; gap:12px; }
}
@media (max-width:639px) { .header-inner { flex-wrap: nowrap; gap: 8px; } }
@media screen and (min-width:601px) { body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.site-header) { top:46px; } }
@media screen and (min-width:783px) { body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.site-header) { top:32px; } }
@media screen {
  html[data-appearance="dark"] .wp-block-button__link { color: #fff; }
  html[data-appearance="dark"] .wp-block-button.is-style-outline > .wp-block-button__link { color:#edf1f2; border-color:#85969e; }
  html[data-appearance="dark"] .garage-navigation .wp-block-navigation__responsive-container { background:#141c20; color:#edf1f2; }
  html[data-appearance="dark"] .hero h1 > span { color:#b8c5cb; }
}
/* Editor-only helpers: editable content uses the same geometry as the public page. */
.editor-styles-wrapper { padding-bottom: 0; }
.editor-styles-wrapper .site-header { position: static; }
.editor-styles-wrapper .floating-actions { position: static; transform: none; width: auto; grid-template-columns: repeat(4,1fr); }
.editor-styles-wrapper .garage-editor-photo { min-width: 0; }
.editor-styles-wrapper .garage-editor-photo .photo { width: 100%; }
.editor-styles-wrapper .garage-editor-photo > .components-button { margin-top: 8px; }
.editor-styles-wrapper .garage-editor-help { font-size: .875rem; padding:12px; background:#f0eee8; color:#18252b; }
.editor-styles-wrapper .garage-map-preview { display:grid; place-items:center; min-height:200px; }
.editor-styles-wrapper .garage-form-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-block:24px; }
.editor-styles-wrapper .garage-form-preview-field { height:48px; border:1px solid #717f80; border-radius:6px; background:#fff; margin-top:8px; }
.editor-styles-wrapper .garage-form-preview > :last-child { grid-column:1 / -1; }
.editor-styles-wrapper .garage-form-preview > :last-child .garage-form-preview-field { height:140px; }
.editor-styles-wrapper .garage-functional-editor { min-width:0; }
.editor-styles-wrapper .block-editor-block-list__layout .block-list-appender { position:relative; }
.editor-styles-wrapper .wp-block-boesiger-layout > .block-list-appender { grid-column:1 / -1; }

@media (min-width:1100px) { .header-inner > .wp-block-boesiger-appearance { order:4; } }
/* WordPress global link/body rules are unlayered, so these preserve the theme colors. */
body.boesiger-site { background:var(--color-paper); color:var(--color-ink); }
.button { color:#fff; }
.button-outline { color:var(--color-ink); }

/* Match the classic header and native button defaults. */
.header-booking > .button { min-height:44px; padding:12px 16px; font-size:.8rem; }
.garage-navigation a { min-height:48px; }
.garage-navigation .wp-block-navigation__responsive-container-open svg,
.garage-navigation .wp-block-navigation__responsive-container-close svg { width:22px; height:22px; }
.wp-block-button__link { border:1px solid transparent; }
.wp-block-button__link:hover { background:#90232c; }
.wp-block-button.is-style-outline > .wp-block-button__link { border:1px solid #b8bec0; padding:14px 23px; color:var(--color-ink); background:transparent; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background:#eae8e2; }
.wp-block-boesiger-layout.hero .eyebrow::before { content:""; width:22px; height:2px; background:var(--color-accent); flex-shrink:0; }
@media (min-width:1100px) { .garage-navigation .wp-block-navigation-item__content { font-size:.9375rem; white-space:nowrap; } }
@media screen {
  html[data-appearance="dark"] .wp-block-button.is-style-outline > .wp-block-button__link:hover { background:#30434c; }
}

/* Component heading sizes take precedence over WordPress's generic heading defaults. */
.team-card h3 { font-size:clamp(1rem, 1.8vw, 1.3rem); line-height:1.3; }
.prose h2 { font-size:1.7rem; }
.enquiry-panel h2,.location-panel h2 { font-size:clamp(1.7rem, 2.4vw, 2.25rem); line-height:1.18; }
.form-feedback h3 { font-size:1.1rem; }
.review-author h3 { font-size:1rem; line-height:1.4; }
.appointment-actions > .wp-block-boesiger-link { width:100%; }
.appointment-actions .button { width:100%; }
.section-heading > .wp-block-boesiger-link { flex-shrink:0; }
.photo-aspect-portrait { aspect-ratio:4 / 5; }
.boesiger-legal-page .wp-block-post-content { padding-block:clamp(56px, 7vw, 104px); }
.boesiger-legal-page .wp-block-post-content > .section { padding-block:0; }
.boesiger-legal-page .wp-block-post-content > .section:first-child { padding-bottom:40px; }
.boesiger-legal-page .prose { margin-top:0; }
.boesiger-legal-page .prose h2 { margin-top:36px; }
@media (max-width:389px) { .hero h1 { font-size:2.4rem; } }

.compact-facts li > p { margin:0; }
nav.garage-navigation .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"],
nav.garage-navigation .wp-block-navigation-item > .wp-block-navigation-item__content:hover { color:var(--color-accent); text-decoration:underline; }

/* Core Navigation link rules must retain the shared header's centered hit area. */
nav.garage-navigation .wp-block-navigation-item > .wp-block-navigation-item__content {
  display:inline-flex;
  align-items:center;
  min-height:48px;
}

/* Occasionen: a readable statement and clear, editable quality cards. */
.inventory-mark {
  background:#18252b;
  color:#fff;
  gap:10px;
  padding:clamp(28px,3vw,40px);
  font-size:clamp(1.65rem,2.7vw,2.65rem);
  line-height:1.15;
}
.inventory-mark > :is(p,span) { color:#fff; margin:0; }
.section:has(.promise-grid) > .shell > h2 {
  max-width:26ch;
  font-size:clamp(1.8rem,3vw,2.6rem);
  line-height:1.15;
}
.promise-grid { display:flex; flex-wrap:wrap; gap:20px; margin-top:32px; }
.promise-grid > article {
  flex:1 1 100%;
  min-width:0;
  padding:28px;
  border:1px solid #dedfd9;
  border-radius:12px;
  background:#fff;
}
.promise-grid .promise-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#f8e9e9;
  color:#b32c36;
  margin-bottom:20px;
}
.promise-grid .promise-icon svg { display:block; width:20px; height:20px; }
.promise-grid h3 { margin:0 0 10px; font-size:1.2rem; line-height:1.3; font-weight:700; letter-spacing:-.02em; }
.promise-grid p { margin:0; font-size:1rem; line-height:1.65; color:#526068; }
@media (min-width:640px) { .promise-grid > article { flex-basis:calc(50% - 10px); } }
@media (min-width:1100px) { .promise-grid > article { flex-basis:calc(33.333% - 14px); } }
@media screen {
  html[data-appearance="dark"] .inventory-mark { background:#10171b; }
  html[data-appearance="dark"] .promise-grid > article { background:#202d33; border-color:#53636b; }
  html[data-appearance="dark"] .promise-grid h3 { color:#edf1f2; }
  html[data-appearance="dark"] .promise-grid p { color:#b8c5cb; }
  html[data-appearance="dark"] .promise-grid .promise-icon { background:#3c252b; color:#ffb0b8; }
}
