/* Brand palette: the client's original pink, with white and black support. */
.life-theme {
  --pink: #e06ca1;
  --ink: #111111;
  --paper: #ffffff;
  --blush: #fce9f2;
  --teal: #111111;
  --tan: #e06ca1;
  --sage: #ffffff;
  --line: #dedede;
  background: var(--pink);
  color: var(--ink);
}
.life-theme .announcement { background: var(--pink); color: var(--ink); }
.life-theme .announcement .tiny-star { color: var(--ink); }
.life-theme .header, .life-theme .header nav { background: #fff; }
.life-theme .header { border-bottom-color: #e6e6e6; }
.life-theme .header nav a:hover { text-decoration: underline; text-decoration-color: var(--pink); text-underline-offset: 6px; }
.life-theme .life-hero { background: var(--pink); color: #111; }
.life-theme .hero-shade {
  background: linear-gradient(90deg, #e06ca1 0%, rgba(224,108,161,.98) 27%, rgba(224,108,161,.78) 44%, rgba(224,108,161,.12) 71%, rgba(224,108,161,.02) 100%);
}
.life-theme .life-hero h1 { color: #111; text-shadow: none; }
.life-theme .life-hero h1 em { color: #fff; }
.life-theme .life-hero-content .eyebrow,
.life-theme .life-hero-description { color: #111; }
.life-theme .warm-button { background: #111; border-color: #111; color: #fff; }
.life-theme .warm-button:hover { background: #fff; border-color: #fff; color: #111; }
.life-theme .light-link { color: #111; border-color: #111; }
.life-theme .hero-dedication { background: #111e; color: #fff; padding: 10px 14px; text-shadow: none; }
.life-theme .dedication-line { background: var(--pink); }
.life-theme .hero-product-note { background: #fff; border-color: #111; color: #111; box-shadow: 0 12px 30px #0002; }
.life-theme .hero-product-note b { border-color: #111; }
.life-theme .life-motto { background: #111; color: #fff; border-color: #111; }
.life-theme .life-motto em { color: var(--pink); }
.life-theme .belong-section { background: var(--pink); }
.life-theme .belong-intro h2 em { color: #fff; }
.life-theme .belong-message p { color: #111; }
.life-theme .hug-frame, .life-theme .joy-frame { background: #fff; border-color: #fff; box-shadow: 0 8px 22px #0002; }
.life-theme .life-collage figcaption { color: #111; }
.life-theme .belong-note { background: #fff; color: #111; box-shadow: 0 8px 18px #0002; }
.life-theme .belong-note > .handwritten, .life-theme .belong-note em { color: #111; }
.life-theme .note-heart { color: var(--pink); }
.life-theme .reminder-section { background: #111; color: #fff; }
.life-theme .reminder-intro h2 em { color: var(--pink); }
.life-theme .reminder-intro > p:not(.eyebrow) { color: #fff; }
.life-theme .reminder-choices button { border-color: #fff; color: #fff; }
.life-theme .reminder-choices button:hover { background: #fff; color: #111; }
.life-theme .reminder-choices button[aria-pressed=true] { background: var(--pink); border-color: var(--pink); color: #111; }
.life-theme .reminder-card { background: #fff; color: #111; box-shadow: 8px 8px 0 var(--pink); }
.life-theme .reminder-card > .eyebrow, .life-theme .reminder-card-bottom > span { color: #555; }
.life-theme .save-reminder { color: #111; border-color: var(--pink); }
.life-theme .save-reminder > span { color: #111; }
.life-theme .reminder-products { border-color: #dedede; }
.life-theme .reminder-product small { color: #111; }
.life-theme .shop { background: #fff; }
.life-theme .shop .section-heading em { color: #111; text-decoration: underline; text-decoration-color: var(--pink); text-decoration-thickness: 3px; text-underline-offset: 8px; }
.life-theme .section-heading > p, .life-theme .catalog-meta, .life-theme .catalog-note { color: #555; }
.life-theme .filters button { background: #fff; border-color: #111; color: #111; }
.life-theme .filters button.active { background: var(--pink); border-color: var(--pink); color: #111; }
.life-theme .filters button:hover { background: #fce9f2; border-color: #111; }
.life-theme .product-photo { background: #f4f4f4; }
.life-theme .product-photo.tee { background: #111; }
.life-theme .tag { background: #fff; color: #111; }
.life-theme .product-meta p, .life-theme .product-bottom > span { color: #555; }
.life-theme .quick-add { border-color: #111; color: #111; background: #fff; }
.life-theme .quick-add:hover { background: var(--pink); color: #111; border-color: var(--pink); }
.life-theme .search-box { background: #fce9f2; }
.life-theme .hoodie-placeholder { background: #fce9f2; color: #111; border: 1px solid var(--pink); }
.life-theme .hoodie-icon { color: #111; }
.life-theme .legacy-section { background: var(--pink); color: #111; }
.life-theme .legacy-copy h2 em { color: #fff; }
.life-theme .legacy-copy > p:not(.eyebrow):not(.signature),
.life-theme .legacy-copy .signature { color: #111; }
.life-theme .legacy-product-grid:before { background: #111; }
.life-theme .legacy-product-grid button { background: #fff; border-color: #fff; box-shadow: 0 9px 25px #0002; }
.life-theme .gather-banner { background: #111; color: #fff; }
.life-theme .gather-banner .eyebrow { color: #fff; }
.life-theme .gather-banner h2 em { color: var(--pink); }
.life-theme .gather-inner > div:last-child > p, .life-theme .gather-banner .text-link { color: #fff; }
.life-theme .gather-banner .primary { background: var(--pink); border-color: var(--pink); color: #111; }
.life-theme .gather-banner .primary:hover { background: #fff; border-color: #fff; color: #111; }
.life-theme .faq { background: #fff; }
.life-theme .faq-list details { border-color: #ccc; }
.life-theme .contact { background: var(--pink); color: #111; }
.life-theme .contact-heading h2 em { color: #fff; }
.life-theme .hours div { border-color: #1116; }
.life-theme input, .life-theme select, .life-theme textarea { border-color: #888; color: #111; }
.life-theme .contact-grid form input, .life-theme .contact-grid form select, .life-theme .contact-grid form textarea { background: #fff; border-color: #111; color: #111; }
.life-theme .form-note { color: #111; }
.life-theme .primary { background: #111; border-color: #111; color: #fff; }
.life-theme .primary:hover { background: var(--pink); border-color: #111; color: #111; }
.life-theme .outline { color: #111; border-color: #111; }
.life-theme .outline:hover { background: #111; color: #fff; }
.life-theme .text-link:hover { color: #111; }
.life-theme .gather-banner .text-link:hover { color: var(--pink); }
.life-theme footer { background: #111; color: #fff; }
.life-theme .footer-top p:not(.eyebrow), .life-theme .footer-top > div > a:not(.brand), .life-theme .footer-link { color: #fff; }
.life-theme .footer-top .eyebrow { color: var(--pink); }
.life-theme .footer-top a:hover, .life-theme .footer-link:hover { color: var(--pink); }
.life-theme .footer-bottom { color: #fff; border-color: #fff4; }
.life-theme .photo-credits { color: #ccc; }
.life-theme .photo-credits a { border-color: #aaa; }
.life-theme dialog { background: #fff; color: #111; }
.life-theme .detail-image, .life-theme .detail-image img { background: #f4f4f4; }
.life-theme .detail-image.tee img { background: #111; }
.life-theme .review-complete { background: #fce9f2; }
.life-theme .toast { background: #111; color: #fff; }
.life-theme .skip { background: #111; color: #fff; }
.life-theme :is(button,a,input,select,textarea,summary):focus-visible { outline-color: #111; }
.life-theme :is(.reminder-section,.gather-banner,footer) :is(button,a):focus-visible { outline-color: #fff; }
.life-theme .reminder-card :is(button,a):focus-visible { outline-color: #111; }
.life-theme .product-photo.book { background: #fff; }
.life-theme .product-photo.book img { object-fit: contain; padding: 10px; }
.life-theme .product-card.is-book .product-meta { display: block; }
.life-theme .product-card.is-book .product-price { margin-top: 9px; white-space: normal; }
.life-theme .product-grid:has(.is-book:only-child) { grid-template-columns: minmax(0,380px); justify-content: center; }
.life-theme .detail-image.book { background: #fff; }
.life-theme .detail-image.book img { object-fit: contain; background: #fff; padding: 15px; }
.life-theme .book-author { font-size: 13px; margin-bottom: 16px; }
.life-theme .photo-thumbs img { object-fit: contain; background: #fff; }
.life-theme .book-feature { background: #fff; border-top: 1px solid var(--pink); border-bottom: 1px solid var(--pink); }
.book-feature-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; }
.book-feature-image { padding: 0; border: 1px solid #e9e9e9; background: #fff; }
.book-feature-image img { width: 100%; max-height: 510px; object-fit: contain; }
.book-feature-copy h2 { margin-bottom: 24px; }
.book-feature-copy h2 em { color: #111; text-decoration: underline; text-decoration-color: var(--pink); text-underline-offset: 8px; text-decoration-thickness: 3px; }
.book-feature-copy h3 { font-size: 25px; line-height: 1.3; margin-bottom: 8px; }
.book-feature-copy > p { font-size: 13px; line-height: 1.8; max-width: 430px; }
.book-feature-copy .book-feature-subtitle { font-size: 11px; color: #555; margin-bottom: 20px; }
.book-feature-copy .book-feature-price { font-size: 17px; font-weight: 600; margin: 22px 0; }
.book-feature-copy .book-feature-note { font-size: 9px; color: #555; margin: 14px 0 0; }
@media(max-width:800px) {
  .book-feature-layout { gap: 35px; }
  .book-feature-copy h3 { font-size: 21px; }
  .book-feature-copy > p { font-size: 12px; }
}
@media(max-width:580px) {
  .life-theme .reminder-card { box-shadow: 6px 6px 0 var(--pink); }
  .life-theme .hero-dedication { background: transparent; color: #111; padding: 0; }
  .life-theme .dedication-line { background: #111; }
  .book-feature-layout { grid-template-columns: 1fr; gap: 28px; }
  .book-feature-image { max-width: 340px; margin: 0 auto; }
  .book-feature-copy h3 { font-size: 23px; }
  .book-feature-copy .book-feature-note { font-size: 9px; }
  .life-theme .product-photo.book img { padding: 4px; }
}
