/* Marelyo 0.3.2 — palette enrichie, inspirée d'un univers enfantin doux et coloré. */

:root {
  --marelyo-pink-vivid: #ff4f87;
  --marelyo-pink-soft: #fff0f5;
  --marelyo-blue-vivid: #3aa7f2;
  --marelyo-blue-soft: #eef8ff;
  --marelyo-teal-vivid: #36c6bd;
  --marelyo-teal-soft: #eefbf9;
  --marelyo-yellow-vivid: #f6b73c;
  --marelyo-yellow-soft: #fff8df;
  --marelyo-green-vivid: #59c978;
  --marelyo-green-soft: #effaf2;
  --marelyo-purple-vivid: #9a68df;
  --marelyo-purple-soft: #f6f0ff;
  --marelyo-navy: #27306f;
}

body {
  background: #fffdfb;
}

.announcement-bar {
  background: linear-gradient(90deg, var(--marelyo-pink-soft) 0%, #fff9ef 48%, var(--marelyo-blue-soft) 100%);
  color: var(--marelyo-navy);
  border-bottom: 1px solid #f3e8e2;
  font-weight: 750;
}

.site-header {
  border-bottom-color: #f0e6e1;
  box-shadow: 0 5px 24px rgba(74, 53, 45, 0.04);
}

.primary-nav a {
  position: relative;
  color: var(--marelyo-navy);
}

.primary-nav a::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -8px;
  height: 3px;
  border-radius: 999px;
  background: transparent;
  transform: scaleX(0);
  transition: transform .2s ease, background .2s ease;
}

.primary-nav li:nth-child(5n+1) a::after { background: var(--marelyo-pink-vivid); }
.primary-nav li:nth-child(5n+2) a::after { background: var(--marelyo-teal-vivid); }
.primary-nav li:nth-child(5n+3) a::after { background: var(--marelyo-yellow-vivid); }
.primary-nav li:nth-child(5n+4) a::after { background: var(--marelyo-purple-vivid); }
.primary-nav li:nth-child(5n) a::after { background: var(--marelyo-blue-vivid); }

.primary-nav a:hover::after,
.primary-nav .current-menu-item > a::after,
.primary-nav .current_page_item > a::after {
  transform: scaleX(1);
}

.header-action {
  color: var(--marelyo-navy);
  border-color: #eadfd9;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.header-action:hover {
  transform: translateY(-2px);
  background: var(--marelyo-pink-soft);
  border-color: #f3bfd0;
  text-decoration: none;
}

.cart-count {
  background: var(--marelyo-pink-vivid);
}

.button-primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: linear-gradient(135deg, var(--marelyo-pink-vivid), #ee6c70);
  border-color: transparent;
  box-shadow: 0 8px 22px rgba(255, 79, 135, .18);
}

.button-secondary {
  color: var(--marelyo-navy);
  border-color: #d9d4e5;
  background: #fff;
}

.button-secondary:hover {
  background: var(--marelyo-purple-soft);
  border-color: #cfb8ef;
}

.eyebrow {
  color: #b96654;
}

.hero-benefits li {
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 700;
}

.hero-benefits li:nth-child(1) { background: var(--marelyo-pink-soft); color: #a63b63; }
.hero-benefits li:nth-child(2) { background: var(--marelyo-blue-soft); color: #267aa9; }
.hero-benefits li:nth-child(3) { background: var(--marelyo-green-soft); color: #34764a; }

.hero-photo-badge {
  border-color: rgba(255,255,255,.92);
}

.hero-heart {
  color: var(--marelyo-pink-vivid);
}

.hero-card-small span {
  color: #c56755;
}

.trust-strip {
  background: #fff;
}

.trust-grid > div {
  position: relative;
  overflow: hidden;
}

.trust-grid > div::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .72;
  pointer-events: none;
}

.trust-grid > div > * { position: relative; z-index: 1; }
.trust-grid > div:nth-child(1)::before { background: var(--marelyo-pink-soft); }
.trust-grid > div:nth-child(2)::before { background: var(--marelyo-yellow-soft); }
.trust-grid > div:nth-child(3)::before { background: var(--marelyo-blue-soft); }
.trust-grid > div:nth-child(4)::before { background: var(--marelyo-green-soft); }
.trust-grid > div:nth-child(1) strong { color: #b1466e; }
.trust-grid > div:nth-child(2) strong { color: #a76c08; }
.trust-grid > div:nth-child(3) strong { color: #2879aa; }
.trust-grid > div:nth-child(4) strong { color: #367b4d; }

.v1-product-card,
.woocommerce ul.products li.product {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.v1-product-card:hover,
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 38px rgba(64,45,38,.10);
}

.v1-product-card:nth-child(4n+1),
.woocommerce ul.products li.product:nth-child(4n+1) { border-top: 1px solid #eadfe2; }

.v1-product-card:nth-child(4n+2),
.woocommerce ul.products li.product:nth-child(4n+2) { border-top: 1px solid #eadfe2; }

.v1-product-card:nth-child(4n+3),
.woocommerce ul.products li.product:nth-child(4n+3) { border-top: 1px solid #eadfe2; }

.v1-product-card:nth-child(4n),
.woocommerce ul.products li.product:nth-child(4n) { border-top: 1px solid #eadfe2; }

.woocommerce ul.products li.product:nth-child(4n+1) .button { background: #f0447b; color: #fff; border-color: transparent; }
.woocommerce ul.products li.product:nth-child(4n+2) .button { background: #f0447b; color: #fff; border-color: transparent; }
.woocommerce ul.products li.product:nth-child(4n+3) .button { background: #f0447b; color: #fff; border-color: transparent; }
.woocommerce ul.products li.product:nth-child(4n) .button { background: #f0447b; color: #fff; border-color: transparent; }

.woocommerce .price { color: var(--marelyo-navy) !important; }
.woocommerce span.onsale { background: var(--marelyo-pink-vivid); }

.feature-story {
  background: linear-gradient(180deg, #fff 0%, #fffaf7 100%);
}

.feature-story-copy .eyebrow { color: #b55e4d; }

.feature-list > div {
  position: relative;
  padding-left: 18px;
}

.feature-list > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 23px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
}

.feature-list > div:nth-child(1)::before { background: var(--marelyo-pink-vivid); }
.feature-list > div:nth-child(2)::before { background: var(--marelyo-teal-vivid); }
.feature-list > div:nth-child(3)::before { background: var(--marelyo-yellow-vivid); }

.reassurance-section {
  background: linear-gradient(180deg, #fffdfb 0%, #fff8f5 100%);
}

.reassurance-card {
  background: linear-gradient(135deg, #fff 0%, var(--marelyo-pink-soft) 45%, var(--marelyo-blue-soft) 100%);
  border-color: #f0dfdc;
}

.reassurance-links a:nth-child(1) { background: var(--marelyo-blue-soft); color: #2879aa; }
.reassurance-links a:nth-child(2) { background: var(--marelyo-pink-soft); color: #ad4569; }
.reassurance-links a:nth-child(3) { background: var(--marelyo-yellow-soft); color: #9a690d; }

.reassurance-links a:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.newsletter-card {
  background: linear-gradient(110deg, var(--marelyo-purple-soft) 0%, #fff 48%, var(--marelyo-yellow-soft) 100%);
  border-color: #eadff0;
}

.newsletter-card .eyebrow { color: var(--marelyo-purple-vivid); }

.newsletter-form input:focus,
.wheel-form input:focus,
.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  outline: 3px solid rgba(58, 167, 242, .14);
  border-color: var(--marelyo-blue-vivid);
}

.page-content,
.content-card,
.woocommerce-shell {
  border-color: #eee2dc;
}

.page-header h1,
.woocommerce div.product .product_title {
  color: var(--marelyo-text);
}

.woocommerce-message { border-top-color: var(--marelyo-green-vivid); }
.woocommerce-info { border-top-color: var(--marelyo-blue-vivid); }

.woocommerce-checkout #payment {
  background: linear-gradient(135deg, var(--marelyo-blue-soft), var(--marelyo-purple-soft));
}

.site-footer {
  background: linear-gradient(180deg, #fff9f6 0%, #fff 100%);
  color: var(--marelyo-navy);
  border-top: 1px solid #f0dfd9;
}

.footer-brand { color: var(--marelyo-pink-vivid); }

.footer-grid p,
.footer-grid a { color: #53608a; }

.footer-grid a:hover { color: var(--marelyo-pink-vivid); }

.footer-grid > div:nth-child(2) h3 { color: var(--marelyo-pink-vivid); }
.footer-grid > div:nth-child(3) h3 { color: var(--marelyo-teal-vivid); }
.footer-grid > div:nth-child(4) h3 { color: var(--marelyo-purple-vivid); }

.footer-bottom {
  border-top-color: #eaded9;
  color: #667096;
}

@media (max-width: 900px) {
  .primary-nav.is-open {
    background: linear-gradient(180deg, #fff 0%, #fff8f5 100%);
    border-radius: 0 0 20px 20px;
  }

  .primary-nav a::after { bottom: -4px; }
}

@media (max-width: 600px) {
  .announcement-bar {
    background: linear-gradient(90deg, #fff1f5, #fff8e9);
  }

  .hero-benefits li {
    width: fit-content;
  }

  .trust-grid > div { padding: 20px 18px; }
  .site-footer { margin-top: 52px; }
}
