/* Native homepage blocks: preserve the public layout without styling other pages. */
.home-native .wp-block-group > .wp-block-group__inner-container { display: contents; }
.home-native :where(.wp-block-group, .wp-block-image) { min-width: 0; }
.home-native :where(.maker, .coverage-brand, .catalog-card, .home-native__photo) { margin: 0; }
.home-native .hero__actions p,
.home-native .home-service-link,
.home-native .nationwide-note__action,
.home-native .home-process-action { margin: 0; }
.home-native .hero__actions p { display: flex; }
.home-native .hero__actions .button { width: 100%; }
.home-native .trust-points { list-style: none; padding: 0; }
.home-native .manufacturer-bar > p,
.home-native .manufacturer-bar > .wp-block-group__inner-container > p {
  margin: 0; max-width: 145px; color: var(--muted); font-size: 11px;
  font-weight: 700; line-height: 1.35; text-transform: uppercase; letter-spacing: .09em;
}
.home-native .maker { flex: 1 1 0; min-width: 0; }
.home-native .maker img { width: 100%; max-width: min(100%, 100px); height: 25px; max-height: 25px; object-fit: contain; }
.home-native .coverage-brands > p,
.home-native .coverage-brands > .wp-block-group__inner-container > p {
  margin: 0 0 18px; font-size: 17px; font-weight: 750; color: #4f463e; text-align: center;
}
.home-native .coverage-brand img { width: 100%; height: 48px; object-fit: contain; }
.home-native .catalog-card { display: flex; flex-direction: column; }
.home-native .catalog-card > a { display: block; }
.home-native .catalog-card figcaption {
  display: flex; align-items: stretch; flex: 1; min-height: 48px; margin: 0;
  border-top: 1px solid #f1eeea; background: #fcfbf9; text-align: left;
  color: inherit; font-size: 13px; line-height: 1.3; font-weight: 700;
  transition: background .18s, color .18s;
}
.home-native .catalog-card figcaption a {
  display: flex; align-items: center; width: 100%; padding: 10px 11px;
  color: inherit; text-decoration: none;
}
.home-native .catalog-card:hover figcaption,
.home-native .catalog-card:focus-within figcaption { background: var(--terra); color: #fff; }
.home-native .catalog-card:focus-within { outline: 3px solid var(--terra); outline-offset: 3px; }
.home-native .home-service-link { display: contents; }
.home-native .local-links { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.home-native .local-links a { text-decoration: none; }
.home-native .nationwide-note__action { flex-shrink: 0; max-width: none; }
.home-native .home-native__photo { display: flex; flex-direction: column; cursor: auto; }
.home-native .home-native__photo > a { display: block; overflow: hidden; cursor: zoom-in; }
.home-native .home-native__photo > a:focus-visible { outline: 3px solid var(--terra); outline-offset: -4px; }
.home-native .home-native__photo figcaption {
  flex: 1; padding: 12px 14px 14px; margin: 0; text-align: left;
  font-size: 12px; line-height: 1.5; color: #6d655e;
}
.home-native .home-native__photo figcaption strong { display: block; margin: 0 0 5px; color: var(--ink); }
.home-native .home-native__photo figcaption br { display: none; }
.home-native .gallery-group--featured .home-native__photo figcaption { padding: 16px 17px 18px; font-size: 13px; }
.home-native .home-process-action { margin-top: 24px; }
.home-native .process-step {
  border: 1px solid var(--line); border-radius: 8px; padding: 20px 16px;
  background: #f8f3ec; transition: background .18s, color .18s, box-shadow .18s;
}
.home-native .process-step .step-icon {
  display: flex; align-items: center; justify-content: center; width: 48px; height: 48px;
  margin: 0; border-radius: 12px; background: #eeddd0; color: var(--terra); font-size: 24px;
}
.home-native .process-step:hover,
.home-native .process-step:focus-visible,
.home-native .process-step.is-active { background: var(--terra); color: #fff; border-color: var(--terra); box-shadow: 0 6px 18px #81331f18; }
.home-native .process-step:hover p,
.home-native .process-step:focus-visible p,
.home-native .process-step.is-active p { color: #fff6ef; }
.home-native .process-step:hover .step-icon,
.home-native .process-step:focus-visible .step-icon,
.home-native .process-step.is-active .step-icon { background: #ffffff20; color: #fff; }
.home-native .process-step:focus-visible { outline: 3px solid #81331f; outline-offset: 3px; }

@media (min-width: 681px) and (max-width: 1050px) {
  .home-native .local-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-native .catalog-card figcaption a { padding: 10px 9px; }
}
@media (max-width: 680px) {
  .home-native .hero__actions p { min-width: 0; }
  .home-native .hero__actions .button { padding-inline: 12px; }
  .home-native .manufacturer-bar > p,
  .home-native .manufacturer-bar > .wp-block-group__inner-container > p { max-width: none; }
  .home-native .manufacturer-bar { display: block; }
  .home-native .manufacturer-bar p { width: auto; margin: 0 0 8px; white-space: normal; }
  .home-native .manufacturer-track { display: grid; width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-native .maker img { max-width: min(100%, 68px); height: 18px; max-height: 18px; }
  .home-native .maker--wetterbest img { max-width: min(100%, 64px); height: 16px; max-height: 16px; }
  .home-native .romania-map-wrap { width: 100%; min-width: 0; margin-inline: 0; }
  .home-native .catalog-card figcaption { min-height: 50px; }
  .home-native .local-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-native .local-links a { min-height: 68px; }
  .home-native .home-service-link:last-child a { grid-column: 1 / -1; }
  .home-native .nationwide-note__action { margin: 0; }
  .home-native .gallery-group--featured .home-native__photo figcaption { padding: 14px 15px 16px; }
  .home-native .coverage-brand img { height: 38px; }
  .home-native .process-step { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; padding: 18px; }
  .home-native .process-step .step-icon { grid-column: 1; grid-row: 1 / 3; }
  .home-native .process-step h3 { grid-column: 2; margin: 0 0 7px; }
  .home-native .process-step p:not(.step-icon) { grid-column: 2; }
  .home-native .home-process-action .button { width: 100%; }
}

/* Editor previews remain editable native blocks, with bounded images and useful grids. */
.editor-styles-wrapper {
  --terra: #a7472e; --ink: #2d2925; --muted: #72685e; --line: #e3d9cd;
}
.editor-styles-wrapper :is(.hero, .hero-catalog, .manufacturer-bar, .local-nav, .project-gallery,
  .home-guidance, .romania-coverage, .coverage-brands, .work-process, .roof-faq, .nationwide-note) {
  box-sizing: border-box; width: 100%; max-width: 1160px; margin-inline: auto;
}
.editor-styles-wrapper :is(.hero, .local-nav, .project-gallery, .romania-coverage, .work-process, .roof-faq) { padding: 24px 20px; }
.editor-styles-wrapper :is(.hero, .home-guidance, .romania-coverage) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.editor-styles-wrapper :is(.catalog-grid, .project-gallery__grid, .manufacturer-track, .coverage-brand-grid, .local-links, .process-grid) { display: grid; gap: 12px; }
.editor-styles-wrapper :is(.catalog-grid, .project-gallery__grid, .local-links, .process-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.editor-styles-wrapper :is(.manufacturer-track, .coverage-brand-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.editor-styles-wrapper .manufacturer-track { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.editor-styles-wrapper :is(.hero, .home-guidance, .romania-coverage, .catalog-grid, .project-gallery__grid, .manufacturer-track, .coverage-brand-grid, .local-links, .process-grid) > .wp-block-group__inner-container,
.editor-styles-wrapper :is(.hero, .home-guidance, .romania-coverage, .catalog-grid, .project-gallery__grid, .manufacturer-track, .coverage-brand-grid, .local-links, .process-grid) > .block-editor-inner-blocks,
.editor-styles-wrapper :is(.hero, .home-guidance, .romania-coverage, .catalog-grid, .project-gallery__grid, .manufacturer-track, .coverage-brand-grid, .local-links, .process-grid) > .block-editor-inner-blocks > .block-editor-block-list__layout { display: contents; }
.editor-styles-wrapper :is(.hero, .home-guidance, .romania-coverage, .catalog-grid, .project-gallery__grid, .manufacturer-track, .coverage-brand-grid, .local-links, .process-grid) .wp-block { min-width: 0; }
.editor-styles-wrapper :is(.catalog-card, .home-native__photo, .maker, .coverage-brand) { width: auto; max-width: 100%; margin: 0; box-sizing: border-box; }
.editor-styles-wrapper :is(.catalog-card, .home-native__photo) { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.editor-styles-wrapper :is(.catalog-card, .home-native__photo) img { display: block; width: 100%; max-width: 100%; height: 180px; object-fit: contain; background: #fffaf5; }
.editor-styles-wrapper .home-native__photo img { height: 220px; object-fit: cover; }
.editor-styles-wrapper :is(.catalog-card, .home-native__photo) figcaption { margin: 0; padding: 12px; color: #61554b; font-size: 13px; line-height: 1.5; text-align: left; }
.editor-styles-wrapper .home-native__photo figcaption strong { color: var(--ink); }
.editor-styles-wrapper .maker { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 9px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.editor-styles-wrapper .maker--wetterbest { background: #d1222a; }
.editor-styles-wrapper .maker img { width: 100%; max-width: min(100%, 100px); height: 25px; max-height: 25px; object-fit: contain; }
.editor-styles-wrapper .coverage-brand { display: flex; align-items: center; justify-content: center; min-height: 84px; padding: 14px; border: 1px solid var(--line); background: #fff; }
.editor-styles-wrapper .coverage-brand img { width: 100%; max-width: 180px; height: 46px; object-fit: contain; }
.editor-styles-wrapper .manufacturer-bar { padding: 15px 20px; }
.editor-styles-wrapper .hero h1 { margin-top: 0; font-size: clamp(30px, 4vw, 46px); }
.editor-styles-wrapper .hero__lead { font-size: 16px; line-height: 1.65; }
.editor-styles-wrapper .hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.editor-styles-wrapper .hero__actions p { margin: 0; }
.editor-styles-wrapper :is(.hero__actions, .home-process-action) .button,
.editor-styles-wrapper .nationwide-note__link { display: inline-block; padding: 12px 16px; border: 1px solid var(--terra); border-radius: 8px; color: #fff; background: var(--terra); text-decoration: none; }
.editor-styles-wrapper .hero__actions .button--whatsapp { color: #3f4e3f; background: #fff; border-color: #b9c8bb; }
.editor-styles-wrapper .trust-points { padding-left: 0; list-style: none; font-size: 13px; }
.editor-styles-wrapper .eyebrow { color: var(--terra); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.editor-styles-wrapper .home-service-link { margin: 0; }
.editor-styles-wrapper .home-service-link a { display: flex; flex-direction: column; gap: 5px; min-height: 68px; padding: 12px; background: #fbfaf7; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); text-decoration: none; }
.editor-styles-wrapper .home-service-link small { color: var(--muted); font-size: 10px; }
.editor-styles-wrapper .gallery-group { margin-top: 24px; }
.editor-styles-wrapper .gallery-group__head h3 { margin-bottom: 8px; }
.editor-styles-wrapper .gallery-group__head p { font-size: 14px; color: var(--muted); }
.editor-styles-wrapper .gallery-group--featured { padding: 18px; background: #f8f1e9; border: 1px solid var(--line); border-radius: 12px; }
.editor-styles-wrapper .gallery-group--featured .project-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.editor-styles-wrapper :is(.home-guidance__card, .process-step) { padding: 20px; background: #fffaf5; border: 1px solid var(--line); border-radius: 10px; }
.editor-styles-wrapper .home-guidance__card h2 { font-size: 28px; }
.editor-styles-wrapper .process-step h3 { font-family: system-ui, sans-serif; font-size: 18px; }
.editor-styles-wrapper .process-step p { font-size: 14px; }
.editor-styles-wrapper .process-step .step-icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0; border-radius: 12px; color: var(--terra); background: #eeddd0; font-size: 24px; }
.editor-styles-wrapper :is(.nationwide-note, .coverage-brands) { padding: 24px 20px; background: #f0e4d8; }
.editor-styles-wrapper .county-readout { display: grid; gap: 8px; padding: 15px; background: #ead8c9; border-radius: 8px; }
.editor-styles-wrapper .roof-faq .wp-block-details { margin-block: 12px; padding: 15px; background: #fffaf5; border: 1px solid var(--line); border-radius: 8px; }
.editor-styles-wrapper .roof-faq summary { font-weight: 700; }

@media (max-width: 780px) {
  .editor-styles-wrapper :is(.hero, .home-guidance, .romania-coverage) { grid-template-columns: 1fr; }
  .editor-styles-wrapper :is(.catalog-grid, .project-gallery__grid, .local-links, .process-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-styles-wrapper .manufacturer-track { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .editor-styles-wrapper :is(.project-gallery__grid, .gallery-group--featured .project-gallery__grid, .process-grid) { grid-template-columns: 1fr; }
  .editor-styles-wrapper .maker img { max-width: min(100%, 68px); height: 18px; max-height: 18px; }
}
