/** Shopify CDN: Minification failed

Line 8:19 Unexpected "/"
Line 38:0 All "@import" rules must come first

**/
  BABY BLOOM — Custom CSS for Impulse Theme
   Inspired by Baby/Eurus aesthetic: cream, terracotta, waves
   Apply via: Assets > baby-bloom-custom.css
   Then add in theme.liquid: <link rel="stylesheet" href="{{ 'baby-bloom-custom.css' | asset_url }}">
   ============================================================ */

/* ── 1. DESIGN TOKENS ─────────────────────────────────────── */
:root {
  --bb-cream:        #FAF6F2;
  --bb-cream-dark:   #F2EAE2;
  --bb-terracotta:   #B07D5C;
  --bb-terra-light:  #C99A7A;
  --bb-terra-dark:   #8B5E42;
  --bb-blush:        #F0DDD4;
  --bb-blush-light:  #FAF0EB;
  --bb-sage:         #C8D5C0;
  --bb-text:         #3A2E28;
  --bb-text-muted:   #8A7060;
  --bb-white:        #FFFFFF;
  --bb-border:       #E8DDD5;

  --bb-font-serif:   'Playfair Display', 'Georgia', serif;
  --bb-font-sans:    'DM Sans', 'Helvetica Neue', sans-serif;

  --bb-radius-sm:    8px;
  --bb-radius-md:    14px;
  --bb-radius-lg:    24px;
  --bb-radius-pill:  50px;
}

/* ── 2. GOOGLE FONTS IMPORT ───────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');

/* ── 3. GLOBAL BASE ───────────────────────────────────────── */
body {
  background-color: var(--bb-cream) !important;
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-text) !important;
}

h1, h2, h3, .h1, .h2, .h3,
.section-header__title,
.hero__title,
.collection-hero__title {
  font-family: var(--bb-font-serif) !important;
  color: var(--bb-text) !important;
}

a { color: var(--bb-terracotta); }
a:hover { color: var(--bb-terra-dark); }

/* ── 4. ANNOUNCEMENT BAR ──────────────────────────────────── */
.announcement-bar,
.announcement-bar__message {
  background-color: var(--bb-terracotta) !important;
  color: var(--bb-white) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em;
  font-family: var(--bb-font-sans) !important;
}

/* ── 5. HEADER ────────────────────────────────────────────── */
.site-header,
.site-header__wrapper {
  background-color: var(--bb-cream) !important;
  border-bottom: 1px solid var(--bb-border) !important;
  box-shadow: none !important;
}

.site-header__logo,
.site-header__logo-link {
  font-family: var(--bb-font-serif) !important;
  color: var(--bb-terra-dark) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em;
}

/* Search bar */
.site-header__search-input,
.search__input {
  background: var(--bb-cream-dark) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius-pill) !important;
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-text) !important;
}

/* Header icons */
.site-header__icon svg,
.site-header__cart-toggle svg {
  color: var(--bb-terra-dark) !important;
  fill: var(--bb-terra-dark) !important;
}

/* ── 6. NAVIGATION ────────────────────────────────────────── */
.nav-bar,
.site-nav,
.site-nav__wrapper {
  background-color: var(--bb-cream) !important;
  border-top: 1px solid var(--bb-border) !important;
}

.site-nav__link,
.nav-bar__link,
.site-nav > li > a {
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--bb-text-muted) !important;
  transition: color 0.2s ease;
}

.site-nav__link:hover,
.nav-bar__link:hover,
.site-nav > li > a:hover {
  color: var(--bb-terracotta) !important;
}

.site-nav__link--active,
.nav-bar__link--active {
  color: var(--bb-terracotta) !important;
  border-bottom: 2px solid var(--bb-terracotta) !important;
}

/* Dropdown menus */
.nav-dropdown,
.site-nav__dropdown {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius-md) !important;
  box-shadow: 0 8px 30px rgba(58, 46, 40, 0.08) !important;
}

/* ── 7. HERO / SLIDESHOW ──────────────────────────────────── */
.hero,
.slideshow,
.index-section--hero {
  border-radius: 0 0 60px 60px !important;
  overflow: hidden;
}

.hero__title {
  font-family: var(--bb-font-serif) !important;
  font-size: clamp(32px, 5vw, 60px) !important;
  color: var(--bb-white) !important;
  text-shadow: 0 2px 20px rgba(58, 46, 40, 0.3);
}

.hero__subtitle {
  font-family: var(--bb-font-sans) !important;
  color: rgba(255,255,255,0.9) !important;
}

/* ── 8. BUTTONS ───────────────────────────────────────────── */
.btn,
.button,
[class*="btn--"],
.hero__btn {
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: var(--bb-radius-pill) !important;
  transition: all 0.25s ease !important;
}

.btn--primary,
.btn[class*="primary"],
.hero__btn--primary,
.add-to-cart,
[name="add"] {
  background-color: var(--bb-terracotta) !important;
  border-color: var(--bb-terracotta) !important;
  color: var(--bb-white) !important;
}

.btn--primary:hover,
[name="add"]:hover {
  background-color: var(--bb-terra-dark) !important;
  border-color: var(--bb-terra-dark) !important;
  transform: translateY(-1px);
}

.btn--secondary,
.btn--outline {
  background-color: transparent !important;
  border: 1.5px solid var(--bb-terracotta) !important;
  color: var(--bb-terracotta) !important;
}

.btn--secondary:hover {
  background-color: var(--bb-blush) !important;
}

/* ── 9. PRODUCT CARDS ─────────────────────────────────────── */
.product-item,
.grid-product,
.product-card {
  background: var(--bb-white) !important;
  border-radius: var(--bb-radius-md) !important;
  border: 1px solid var(--bb-border) !important;
  overflow: hidden !important;
  transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

.product-item:hover,
.grid-product:hover,
.product-card:hover {
  box-shadow: 0 8px 32px rgba(176, 125, 92, 0.15) !important;
  transform: translateY(-3px) !important;
}

.grid-product__image-wrapper,
.product-card__image {
  border-radius: var(--bb-radius-md) var(--bb-radius-md) 0 0 !important;
  overflow: hidden !important;
  background: var(--bb-blush-light) !important;
}

.grid-product__title,
.product-card__title {
  font-family: var(--bb-font-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--bb-text) !important;
}

.grid-product__price,
.product-card__price,
.product-price {
  font-family: var(--bb-font-serif) !important;
  font-size: 15px !important;
  color: var(--bb-terracotta) !important;
  font-weight: 500 !important;
}

.grid-product__price--original,
.product-price--compare {
  color: var(--bb-text-muted) !important;
  text-decoration: line-through !important;
  font-size: 12px !important;
}

/* Sale badge */
.grid-product__tag,
.product-badge,
.badge--sale {
  background-color: var(--bb-terracotta) !important;
  color: var(--bb-white) !important;
  border-radius: var(--bb-radius-pill) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  padding: 3px 10px !important;
}

/* Sold out badge */
.badge--sold-out,
.product-badge--sold-out {
  background-color: var(--bb-text-muted) !important;
  color: var(--bb-white) !important;
  border-radius: var(--bb-radius-pill) !important;
}

/* Quick add button */
.quick-add-btn,
.grid-product__quick-add,
.product-form__cart-submit--quick {
  background-color: var(--bb-white) !important;
  color: var(--bb-terracotta) !important;
  border: 1.5px solid var(--bb-terracotta) !important;
  border-radius: var(--bb-radius-pill) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.quick-add-btn:hover,
.grid-product__quick-add:hover {
  background-color: var(--bb-terracotta) !important;
  color: var(--bb-white) !important;
}

/* Wishlist heart */
.wishlist-btn,
.grid-product__wishlist,
[class*="wishlist"] button {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: 50% !important;
  color: var(--bb-terracotta) !important;
  transition: all 0.2s ease !important;
}

.wishlist-btn:hover { background: var(--bb-blush) !important; }

/* ── 10. COLLECTION HERO (PLP) ────────────────────────────── */
.collection-hero,
.template-collection .hero {
  border-radius: 0 0 60px 60px !important;
  overflow: hidden !important;
  min-height: 220px !important;
}

.collection-hero__title {
  font-family: var(--bb-font-serif) !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  color: var(--bb-white) !important;
}

/* Filter bar */
.filter-toolbar,
.collection-filter {
  background: var(--bb-cream-dark) !important;
  border-radius: var(--bb-radius-md) !important;
  padding: 12px 16px !important;
  border: 1px solid var(--bb-border) !important;
}

.filter-toolbar__item,
.collection-filter__btn {
  border-radius: var(--bb-radius-pill) !important;
  border: 1px solid var(--bb-border) !important;
  background: var(--bb-white) !important;
  font-size: 12px !important;
  color: var(--bb-text) !important;
  font-family: var(--bb-font-sans) !important;
  transition: all 0.2s ease !important;
}

.filter-toolbar__item:hover,
.collection-filter__btn:hover {
  border-color: var(--bb-terracotta) !important;
  color: var(--bb-terracotta) !important;
}

/* ── 11. PRODUCT PAGE (PDP) ───────────────────────────────── */
.product-single__title,
.product__title {
  font-family: var(--bb-font-serif) !important;
  font-size: clamp(22px, 3vw, 36px) !important;
  color: var(--bb-text) !important;
}

.product-single__price,
.product__price {
  font-family: var(--bb-font-serif) !important;
  font-size: 22px !important;
  color: var(--bb-terracotta) !important;
  font-weight: 500 !important;
}

/* Countdown timer */
.product__countdown,
.countdown-timer {
  background: var(--bb-blush) !important;
  border-radius: var(--bb-radius-md) !important;
  padding: 10px 16px !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 13px !important;
  color: var(--bb-terra-dark) !important;
  font-weight: 500 !important;
}

/* Variant selector */
.selector-wrapper label,
.swatch-label {
  font-family: var(--bb-font-sans) !important;
  font-size: 13px !important;
  color: var(--bb-text-muted) !important;
}

.swatch__button,
.variant-btn {
  border: 1.5px solid var(--bb-border) !important;
  border-radius: var(--bb-radius-sm) !important;
  font-family: var(--bb-font-sans) !important;
  transition: all 0.2s ease !important;
}

.swatch__button--active,
.variant-btn--selected {
  border-color: var(--bb-terracotta) !important;
  background: var(--bb-blush) !important;
  color: var(--bb-terra-dark) !important;
}

/* Collapsible rows / accordion */
.collapsible-trigger,
.product-accordion__trigger {
  font-family: var(--bb-font-sans) !important;
  font-size: 14px !important;
  color: var(--bb-text) !important;
  border-bottom: 1px solid var(--bb-border) !important;
  padding: 14px 0 !important;
}

/* ── 12. CART PAGE ────────────────────────────────────────── */
.cart__title,
.template-cart h1 {
  font-family: var(--bb-font-serif) !important;
  font-size: 32px !important;
  color: var(--bb-text) !important;
}

.cart__items,
.cart-items {
  background: var(--bb-white) !important;
  border-radius: var(--bb-radius-lg) !important;
  border: 1px solid var(--bb-border) !important;
  overflow: hidden !important;
}

.cart-item,
.cart__item {
  border-bottom: 1px solid var(--bb-border) !important;
  padding: 16px !important;
}

.cart-item__title,
.cart__item-name {
  font-family: var(--bb-font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--bb-text) !important;
}

.cart-item__price,
.cart__item-price {
  font-family: var(--bb-font-serif) !important;
  color: var(--bb-terracotta) !important;
  font-size: 15px !important;
}

/* Qty controls */
.quantity-selector,
.cart-item__quantity {
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius-pill) !important;
  overflow: hidden !important;
}

.quantity-selector__button,
.cart-item__qty-adjust {
  background: var(--bb-cream-dark) !important;
  color: var(--bb-terracotta) !important;
  font-weight: 500 !important;
}

/* Cart summary box */
.cart__footer,
.cart-summary {
  background: var(--bb-cream-dark) !important;
  border-radius: var(--bb-radius-lg) !important;
  border: 1px solid var(--bb-border) !important;
  padding: 24px !important;
}

.cart__total,
.cart-summary__total {
  font-family: var(--bb-font-serif) !important;
  font-size: 20px !important;
  color: var(--bb-text) !important;
}

/* Free shipping progress */
.free-shipping-bar,
.cart__free-shipping {
  background: var(--bb-blush) !important;
  border-radius: var(--bb-radius-pill) !important;
  overflow: hidden !important;
  height: 8px !important;
  margin: 12px 0 !important;
}

.free-shipping-bar__progress {
  background: var(--bb-terracotta) !important;
  height: 100% !important;
  border-radius: var(--bb-radius-pill) !important;
  transition: width 0.4s ease !important;
}

/* Checkout button */
.cart__checkout,
[name="checkout"],
.cart-footer__checkout {
  background-color: var(--bb-terra-dark) !important;
  color: var(--bb-white) !important;
  border-color: var(--bb-terra-dark) !important;
  border-radius: var(--bb-radius-pill) !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
  width: 100% !important;
  padding: 16px !important;
  transition: all 0.25s ease !important;
}

.cart__checkout:hover,
[name="checkout"]:hover {
  background-color: var(--bb-terracotta) !important;
  transform: translateY(-1px) !important;
}

/* ── 13. WAVE DIVIDERS ────────────────────────────────────── */
.bb-wave-top,
.bb-wave-bottom {
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.bb-wave-top svg,
.bb-wave-bottom svg {
  display: block;
  width: 100%;
}

/* Sections with wave bg */
.index-section--featured-collection,
.index-section--collection-list {
  background: var(--bb-cream) !important;
}

/* Alternate section bg */
.index-section:nth-of-type(even) {
  background: var(--bb-blush-light) !important;
}

/* ── 14. SECTION HEADERS ──────────────────────────────────── */
.section-header,
.index-section__title {
  text-align: center !important;
  margin-bottom: 32px !important;
}

.section-header__title,
.index-section__heading {
  font-family: var(--bb-font-serif) !important;
  font-size: clamp(22px, 3vw, 36px) !important;
  color: var(--bb-text) !important;
  margin-bottom: 8px !important;
}

.section-header__subheading,
.index-section__subheading {
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--bb-terracotta) !important;
  font-family: var(--bb-font-sans) !important;
  display: block !important;
  margin-bottom: 6px !important;
}

/* ── 15. FOOTER ───────────────────────────────────────────── */
.site-footer {
  background-color: var(--bb-terra-dark) !important;
  color: #E8D4CE !important;
  font-family: var(--bb-font-sans) !important;
}

.site-footer__title,
.footer__heading {
  font-family: var(--bb-font-serif) !important;
  font-size: 20px !important;
  color: #F2D4CE !important;
  margin-bottom: 12px !important;
}

.site-footer a,
.footer__link {
  color: #C4A098 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.site-footer a:hover { color: var(--bb-blush) !important; }

.footer__newsletter-input,
.site-footer__newsletter input {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: var(--bb-radius-pill) !important;
  color: var(--bb-white) !important;
  font-family: var(--bb-font-sans) !important;
}

.footer__newsletter-btn,
.site-footer__newsletter button {
  background: var(--bb-terracotta) !important;
  border-color: var(--bb-terracotta) !important;
  border-radius: var(--bb-radius-pill) !important;
  color: var(--bb-white) !important;
}

.site-footer__bottom {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  font-size: 11px !important;
  color: #A87E75 !important;
}

/* ── 16. SOCIAL ICONS ─────────────────────────────────────── */
.social-icons a,
.site-footer .social-link {
  color: #C4A098 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 50% !important;
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

.social-icons a:hover { 
  background: var(--bb-terracotta) !important;
  border-color: var(--bb-terracotta) !important;
  color: var(--bb-white) !important;
}

/* ── 17. "YOU MAY ALSO LIKE" CAROUSELS ────────────────────── */
.product-recommendations,
.recommended-products,
[class*="you-may-also-like"],
[class*="recently-viewed"] {
  background: var(--bb-blush-light) !important;
  border-radius: var(--bb-radius-lg) !important;
  padding: 32px 24px !important;
  margin: 32px 0 !important;
}

/* ── 18. BREADCRUMBS ──────────────────────────────────────── */
.breadcrumb,
.breadcrumbs {
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  color: var(--bb-text-muted) !important;
}

.breadcrumb a { color: var(--bb-terracotta) !important; }

/* ── 19. MOBILE DRAWER MENU ───────────────────────────────── */
.mobile-nav,
.drawer--left,
.site-nav--mobile {
  background: var(--bb-cream) !important;
}

.mobile-nav__link,
.drawer__menu-link {
  font-family: var(--bb-font-sans) !important;
  font-size: 16px !important;
  letter-spacing: 0.08em !important;
  color: var(--bb-text) !important;
  border-bottom: 1px solid var(--bb-border) !important;
  padding: 16px 20px !important;
  text-transform: uppercase !important;
}

.mobile-nav__link:hover { color: var(--bb-terracotta) !important; }

.drawer--left .drawer__header,
.mobile-nav__header {
  background: var(--bb-terracotta) !important;
}

/* ── 20. NOTIFICATIONS / ALERTS ───────────────────────────── */
.notification,
.alert,
.flash-message {
  border-radius: var(--bb-radius-md) !important;
  font-family: var(--bb-font-sans) !important;
  border: none !important;
}

.notification--success,
.alert--success { background: #DFF0D8 !important; color: #3C6E3C !important; }
.notification--error,
.alert--error   { background: #FDECEA !important; color: #922B21 !important; }

/* ── 21. SCROLLBAR ────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bb-cream-dark); }
::-webkit-scrollbar-thumb { background: var(--bb-terra-light); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--bb-terracotta); }

/* ── 22. ANIMATIONS ───────────────────────────────────────── */
@keyframes bb-fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.product-item,
.grid-product,
.index-section__content {
  animation: bb-fadeUp 0.4s ease both;
}

/* ── 23. RESPONSIVE TWEAKS ────────────────────────────────── */
@media (max-width: 768px) {
  .hero__title { font-size: 28px !important; }
  .section-header__title { font-size: 22px !important; }
  .site-header__logo { font-size: 22px !important; }
  .cart__footer, .cart-summary { padding: 16px !important; }
}
