/* Added by fix_site.py: restore archived background treatments. */

/* Keep the decorative page background fixed while the site content scrolls. */
html { min-height: 100%; background: #611e61; }
body { min-height: 100vh; background-color: transparent; }
body:before {
  content: "";
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  height: 100vh;
  z-index: -1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
}

.site-container {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px; /* Optional: prevents text from touching screen edges on mobile */
    padding-right: 20px;
    box-sizing: border-box; /* Ensures padding doesn't add to the 1100px width */
}


/* The HTML retains the hero image URL in CSS variables, but the archived
   stylesheet is missing the rules that apply those variables. Keep the hero
   inside the same centered 1100px site column as the other page content. */
.post.post-hero_image.full-width {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.post.post-hero_image {
  min-height: 230px;
  position: relative;
  overflow: hidden;
}
.post.post-hero_image .bg-outer {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.post.post-hero_image .bg-inner {
  position: absolute;
  inset: 0;
  background-image: var(--ss-post-background-image-large, var(--ss-post-background-image));
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.post.post-hero_image .bg-outer:after {
  background: var(--ss-post-overlay, transparent);
}
.post.post-hero_image .post-body {
  position: relative;
  z-index: 1;
}

/* Connect the header to the page body: the nav bar spans the full width of the
   white content column and sits flush on top of it (no purple gap between). */
.primary-header {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}
.primary-header .branding {
  padding-left: 8px;
  padding-right: 8px;
}
.primary-header .primary-navigation {
  margin: 0;
  box-shadow: none;
}

/* Center the home-page hero copy and button vertically over the photo. */
#post_188049 .post-body {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  padding: 24px 20px;
}

/* Home page spacing + hero button (post ids are from the archived home page). */
#post_179860 { padding-top: 18px; }      /* white gap between nav bar and slideshow */
#post_179859 { padding-bottom: 22px; }   /* white gap between welcome text and hero picture */
#post_188049 .post-button {
  background: #b858c9;
  color: #ffffff !important;
  border: 0;
  border-radius: 5px;
  text-decoration: none;
  transition: background-color .2s ease;
}
#post_188049 .post-button:hover,
#post_188049 .post-button:focus { background: #d272e3; color: #ffffff !important; }

/* Mobile bar: CALL / MAP / HOURS / EMAIL and the menu button share one row,
   with the page list dropping down underneath. Only applies where the quick
   links sit directly in the header (all normal pages). */
.location-quick-links { list-style: none; margin: 0; padding: 0; display: none; background: #43225f; }
@media (max-width: 967px) {
  .primary-header:has(> .location-quick-links) {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: stretch;
  }
  .primary-header:has(> .location-quick-links) > .branding { grid-column: 1 / -1; }
  .primary-header:has(> .location-quick-links) > .primary-navigation,
  .primary-header:has(> .location-quick-links) > .primary-navigation > .inner-wrap {
    display: contents;
  }
  .primary-header:has(> .location-quick-links) > .primary-navigation:before,
  .primary-header:has(> .location-quick-links) > .primary-navigation:after { display: none; }

  .primary-header > .location-quick-links { display: flex; grid-row: 2; grid-column: 1; }
  .location-quick-links li { flex: 1 1 0; margin: 0; border-right: 2px solid rgba(255,255,255,.18); }
  .location-quick-links a {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    height: 100%; box-sizing: border-box; padding: 8px 4px;
    color: #fff; text-decoration: none; text-transform: uppercase;
    font-size: 12px; line-height: 1.3; border: 0;
  }
  .location-quick-links i { margin: 0 0 3px; font-size: 18px; }

  .primary-header .primary-navigation .menu-toggle {
    grid-row: 2; grid-column: 2;
    display: flex; align-items: center; justify-content: center;
    width: 56px; padding: 0; float: none;
    background: #43225f; color: #fff; font-size: 24px; cursor: pointer;
  }
  .primary-header .primary-navigation .page-listing {
    grid-row: 3; grid-column: 1 / -1;
    background: #4b1d61;
    max-height: 0; overflow: hidden; transition: max-height .4s ease-in-out;
  }
  .primary-header .primary-navigation.open .page-listing { max-height: 75vh; overflow: auto; }
  .primary-navigation .page-listing > li { display: block; border-top: 2px solid rgba(255,255,255,.18); }
}


/* Brand navigation additions: allow all brand tabs to wrap cleanly on desktop. */
@media (min-width: 968px) {
  .primary-navigation .page-listing {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
  }
  .primary-navigation .page-listing > li { float: none !important; }
  .primary-navigation .page-listing > li > a { white-space: normal; }
}
/* New Parfait placeholder gallery (replace SVGs with product images later). */
.atw-new-brand-gallery { padding: 20px 25px 35px; background: #fff; }
.atw-new-brand-gallery h2 { text-align: center; margin: 8px 0 10px; }
.atw-new-brand-gallery p { text-align: center; margin-bottom: 22px; }
.atw-new-brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.atw-new-brand-grid a { display:block; border:1px solid #ddd; background:#f8f3fa; }
.atw-new-brand-grid img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; display:block; }
@media (max-width:700px) { .atw-new-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
