/** Shopify CDN: Minification failed

Line 302:29 Unexpected "{"
Line 302:38 Expected ":"

**/


/* CSS from section stylesheet tags */
.collection-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
  }
.collections {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--collection-card-size), 100%), 1fr));
    gap: var(--grid-gap);
  }
  .collections--compact {
    --collection-card-size: 160px;
  }
  .collections--full {
    --collection-card-size: 280px;
  }
  .collection-card {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
.custom-section {
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .custom-section__background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
  }
  .custom-section__background img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .custom-section__content {
    display: grid;
    grid-template-columns: var(--content-grid);
  }
  .custom-section__content > * {
    grid-column: 2;
  }
:root {
--header-height: 4.5rem;
--gap: 1rem;
--container-padding: 1rem;
--brand-font-size: 1.125rem;
--accent: var(--color-primary, #1d4ed8);
}

.skip-link {
position: absolute;
left: -9999px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
.skip-link:focus {
left: var(--container-padding);
top: 0.75rem;
width: auto;
height: auto;
padding: 0.5rem 0.75rem;
background: var(--accent);
color: #fff;
z-index: 9999;
border-radius: 4px;
}

.site-header {
background: transparent;
border-bottom: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 50%, transparent);
}

.site-header__inner {
max-width: 1280px;
margin: 0 auto;
padding: 0 var(--container-padding);
height: var(--header-height);
display: flex;
align-items: center;
gap: var(--gap);
justify-content: space-between;
}

/* Brand */
.site-header__brand { display:flex; align-items:center; gap:.5rem; }
.brand__title {
font-size: var(--brand-font-size);
margin: 0;
line-height: 1;
font-weight: 600;
}
.brand__title a { color: inherit; text-decoration: none; }

/* Nav */
.site-nav { display: flex; align-items: center; }
.site-nav__toggle {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.75rem;
height: 2.75rem;
background: transparent;
border: 0;
cursor: pointer;
}
.hamburger {
width: 20px;
height: 2px;
background: currentColor;
display: block;
position: relative;
}
.hamburger::before,
.hamburger::after {
content: "";
position: absolute;
left: 0;
right: 0;
height: 2px;
background: currentColor;
}
.hamburger::before { top: -6px; }
.hamburger::after { bottom: -6px; }

.site-nav__list {
display: flex;
gap: 1rem;
list-style: none;
margin: 0;
padding: 0;
align-items: center;
}
.site-nav__item { margin: 0; }
.site-nav__link {
display: inline-block;
padding: 0.5rem 0.5rem;
color: var(--color-foreground);
text-decoration: none;
font-weight: 500;
border-radius: 6px;
}
.site-nav__link:focus,
.site-nav__link:hover { background: color-mix(in srgb, var(--color-muted, #f8fafc) 40%, transparent); }

/* Icons */
.site-header__icons { display:flex; gap: .75rem; align-items:center; }
.icon-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:inherit; position:relative; }
.icon-link svg { width: 1.5rem; height: 1.5rem; display:block; }
.icon-link--cart { padding-left: .25rem; }

.cart-badge {
position: absolute;
top: -0.35rem;
right: -0.35rem;
min-width: 1.35rem;
height: 1.35rem;
padding: 0 .25rem;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
background: var(--accent);
color: var(--color-primary-foreground, #fff);
font-size: .75rem;
font-weight: 700;
line-height: 1;
}

/* Responsive: mobile-first */
/* mobile: hide nav list, show toggle */
.site-nav__list[hidden] { display: none; }

/* >= 768px: show nav horizontally and hide toggle */
@media (min-width: 48rem) {
.site-nav__toggle { display: none; }
.site-nav__list {
display: flex !important;
}
}

/* When menu is open on mobile, show vertical menu */
.site-nav__list.site-nav__open {
display: flex;
flex-direction: column;
gap: 0.25rem;
position: absolute;
top: calc(var(--header-height) + 0.5rem);
left: var(--container-padding);
right: var(--container-padding);
background: var(--background);
border-radius: 10px;
padding: 0.75rem;
box-shadow: 0 10px 30px rgba(0,0,0,0.08);
z-index: 1000;
}

/* Tidy up for larger screens */
@media (min-width: 48rem) {
.site-nav__list.site-nav__open {
position: static;
box-shadow: none;
padding: 0;
flex-direction: row;
background: transparent;
}
}
.welcome {
    display: grid;
    grid-template-columns: var(--content-grid);
    background-color: #f6f6f7;
    padding: 72px 0;
  }

  .welcome-content {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 0 24px;
  }

  .welcome-description {
    max-width: 80ch;
    line-height: 1.4;
    margin-top: 1.5rem;
  }

  .icon {
    width: 300px;
  }

  .highlights {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
  }

  @media (max-width: 1100px) {
    .highlights {
      grid-template-columns: 1fr;
    }
  }

  .highlight {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    border-radius: 8px;
    background-color: #eef3ff;
    color: rgb(92, 95, 98);
    line-height: 1.4;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight h3 {
    font-size: 1rem;
    color: rgb(32, 34, 35);
  }

  .highlight-description {
    flex: 1 1;
  }

  .highlight a {
    display: flex;
    width: fit-content;
    background-color: rgb(250, 251, 251);
    box-shadow: rgba(0, 0, 0, 0.2) 0px -3px 0px 0px inset, rgba(255, 255, 255, 0.9) 0px 2px 0px 0px inset;
    border: 1px solid rgb(140, 145, 150);
    border-radius: 4px;
    color: rgb(92, 95, 98);
    padding: 3px 10px 5px;
    text-decoration: none;
  }
/* KEEP: strong overrides for app mounts and layout consistency */

/* hide sr-only properly */
#keepsake-quick-order-steps-{{ section.id }} .sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}

/* App mount force-fullwidth */
.apps-container,
.apps-container .fullwidth-app,
.apps-container > [id^="app-block-"],
.apps-container [id^="file-upload-plugin-"],
.apps-container [id^="file-upload-plugin-"] > *,
.app-mount-target,
.app-mount-target > * {
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
min-height: 0 !important;
box-sizing: border-box !important;
margin: 0 !important;
padding: 0 !important;
display: block !important;
}

/* Ensure images/iframes/videos inside app area scale to container */
.apps-container [id^="file-upload-plugin-"] img,
.apps-container [id^="file-upload-plugin-"] iframe,
.apps-container [id^="file-upload-plugin-"] video {
max-width: 100% !important;
width: 100% !important;
height: auto !important;
display: block !important;
}

/* Placeholders look consistent */
.app-block-placeholder,
.js-app-block-placeholder {
border: 1px dashed rgba(0,0,0,0.06);
padding: 0.75rem;
border-radius: 0.5rem;
color: var(--muted-foreground);
text-align: center;
background: linear-gradient(90deg, rgba(0,0,0,0.01), rgba(0,0,0,0.005));
font-size: 0.95rem;
width: 100%;
box-sizing: border-box;
}

/* Addons list styling inside purchase box */
.addons-list form button {
display: flex;
align-items: center;
justify-content: space-between;
}

/* Inline validation message */
.validation-error-small { color: #b91c1c; font-size: 13px; margin-top: 6px; }

/* Small responsive tweaks */
@media (max-width: 640px) {
.apps-container, .app-mount-target { width: 100% !important; }
}
.search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .search-results .prev,
  .search-results .page,
  .search-results .next {
    grid-column: 1 / -1;
  }

/* CSS from block stylesheet tags */
.group {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .group--horizontal {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--padding);
  }

  .group--vertical {
    flex-direction: column;
    align-items: var(--alignment);
    padding: var(--padding) 0;
  }
.text {
    text-align: var(--text-align);
  }
  .text--title {
    font-size: 2rem;
    font-weight: 700;
  }
  .text--subtitle {
    font-size: 1.5rem;
  }

/* CSS from snippet stylesheet tags */
.image {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
  }

  .image > img {
    width: 100%;
    height: auto;
  }