/* Public front only (body.attic-public). Never load this file in the Elementor editor. */

html {
  background: #f1ede4;
}

body.attic-public.home-compose,
body.attic-public.elementor-page,
body.attic-public.elementor-default {
  background: #f1ede4 !important;
  margin: 0 !important;
}

body.attic-public .wp-site-blocks,
body.attic-public #page,
body.attic-public .site,
body.attic-public .site-content,
body.attic-public .content-area,
body.attic-public .entry-content,
body.attic-public .hentry,
body.attic-public article.page,
body.attic-public .elementor,
body.attic-public .elementor-element,
body.attic-public .elementor-section,
body.attic-public .elementor-container,
body.attic-public .elementor-column,
body.attic-public .elementor-widget,
body.attic-public .elementor-widget-container,
body.attic-public .elementor-widget-wrap,
body.attic-public .e-con,
body.attic-public .e-con-inner,
body.attic-public .e-parent,
body.attic-public .e-child {
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --margin-top: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --border-radius: 0px;
  --gap: 0px;
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  min-height: 0 !important;
}

body.attic-public .elementor-section.elementor-section-boxed > .elementor-container,
body.attic-public .e-con.e-con-boxed.e-con-full,
body.attic-public .e-con[data-settings] {
  max-width: none !important;
}

body.attic-public .attic-band,
body.attic-public .attic-band.e-con,
body.attic-public .attic-band.elementor-section,
body.attic-public .attic-band.elementor-widget,
body.attic-public .elementor-widget-attic-hero,
body.attic-public .elementor-widget-attic-path-strips,
body.attic-public .elementor-widget-attic-type-list,
body.attic-public .elementor-widget-attic-media,
body.attic-public .elementor-widget-attic-cta-field,
body.attic-public .elementor-widget-attic-cascade,
body.attic-public .elementor-widget-attic-amelia,
body.attic-public .elementor-widget-attic-contact-form {
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --border-radius: 0px;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.attic-public .elementor-widget-container:has([data-attic-island]),
body.attic-public .elementor-widget-container:has(.attic-band) {
  padding: 0 !important;
}

body.attic-public.elementor-page .elementor-motion-effects-container,
body.attic-public.elementor-page .elementor-background-overlay,
body.attic-public.elementor-page .elementor-shape {
  display: none !important;
}

body.attic-public .alignwide,
body.attic-public .alignfull,
body.attic-public .is-layout-constrained,
body.attic-public .is-layout-flow {
  max-width: none !important;
  margin: 0 !important;
}

body.attic-public .entry-header,
body.attic-public .entry-footer,
body.attic-public .page-header,
body.attic-public .wp-block-post-title,
body.attic-public h1.entry-title {
  display: none !important;
}

body.attic-public .skip-link {
  display: none;
}

/* First paint: islands already occupy their final band so React hydrate does not shove the page. */
body.attic-public .elementor-widget-attic-hero,
body.attic-public .elementor-widget-attic-path-strips,
body.attic-public .elementor-widget-attic-type-list,
body.attic-public .elementor-widget-attic-media,
body.attic-public .elementor-widget-attic-cta-field,
body.attic-public .elementor-widget-attic-cascade,
body.attic-public [data-attic-island] {
  min-height: unset !important;
}

body.attic-public [data-attic-island="attic-hero"]:empty {
  min-height: 100dvh !important;
}

body.attic-public [data-attic-island="attic-path-strips"]:empty {
  min-height: calc(8rem + 32rem) !important;
}

@media (min-width: 768px) {
  body.attic-public [data-attic-island="attic-path-strips"]:empty {
    min-height: calc(8rem + 82vh) !important;
  }
}

body.attic-public [data-attic-island="attic-type-list"]:empty,
body.attic-public [data-attic-island="attic-media"]:empty {
  min-height: 52vh !important;
}

body.attic-public [data-attic-island="attic-cta-field"]:empty {
  min-height: 82vh !important;
}

body.attic-public [data-attic-island="attic-legal-doc"]:empty {
  min-height: 24rem !important;
}

body.attic-public [data-attic-island="attic-gift-card-teaser"]:empty {
  min-height: 28rem !important;
}

body.attic-public [data-attic-island="attic-gift-cards"]:empty {
  min-height: 100vh !important;
}

#attic-footer {
  min-height: 22rem;
}

/* Neue Montreal descenders need room on wrapping display titles. Heroes keep their own leading. */
body.attic-public h2,
body.attic-public h3 {
  line-height: 1.12;
}

/* Hold the band size without showing copy. React plays the enter, then the final state. */
body.attic-public .attic-ssr {
  visibility: hidden;
  pointer-events: none;
}

/* Home Score: photo paints immediately. Copy stays reserved until React cascades. */
body.attic-proposal-home .attic-ssr-copy {
  visibility: hidden;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  body.attic-proposal-home .attic-ssr-copy {
    visibility: visible;
    pointer-events: auto;
  }
}
