/* Forest of Friends bundle product styling for Astra + WooCommerce */
body.meme-jj-forest-bundle {
  --mjj-forest-950:#0d2a24;
  --mjj-forest-900:#13382f;
  --mjj-forest-800:#1b4c3f;
  --mjj-forest-700:#286251;
  --mjj-sage-100:#dfe9e1;
  --mjj-sage-50:#f1f6f2;
  --mjj-cream:#fff8e9;
  --mjj-paper:#fffdf8;
  --mjj-gold:#edae49;
  --mjj-gold-light:#ffd98d;
  --mjj-coral:#d96d55;
  --mjj-ink:#1c2d28;
  --mjj-muted:#60736d;
  --mjj-line:rgba(19,56,47,.13);
  background:var(--mjj-paper);
  color:var(--mjj-ink);
}

body.meme-jj-forest-bundle .site-content {
  background:
    radial-gradient(circle at 7% 13%, rgba(237,174,73,.13), transparent 25%),
    radial-gradient(circle at 93% 32%, rgba(73,125,104,.11), transparent 24%),
    linear-gradient(180deg,var(--mjj-cream) 0 560px,var(--mjj-paper) 560px 100%);
}

body.meme-jj-forest-bundle .ast-container { max-width:1240px; }

body.meme-jj-forest-bundle div.product {
  padding-top:54px;
}

body.meme-jj-forest-bundle div.product .woocommerce-product-gallery,
body.meme-jj-forest-bundle div.product .summary {
  margin-bottom:64px;
}

body.meme-jj-forest-bundle div.product .woocommerce-product-gallery {
  padding:18px;
  background:#fff;
  border:1px solid var(--mjj-line);
  border-radius:28px;
  box-shadow:0 26px 65px rgba(13,42,36,.13);
}

body.meme-jj-forest-bundle div.product .woocommerce-product-gallery__image a {
  display:block;
  overflow:hidden;
  border-radius:19px;
}

body.meme-jj-forest-bundle div.product .woocommerce-product-gallery img {
  border-radius:19px;
}

body.meme-jj-forest-bundle .mjj-product-kicker {
  margin:2px 0 16px;
  display:flex;
  gap:9px;
  align-items:center;
  color:var(--mjj-forest-700);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body.meme-jj-forest-bundle .mjj-product-kicker span {
  width:9px;height:9px;border-radius:50%;background:var(--mjj-coral);
  box-shadow:0 0 0 5px rgba(217,109,85,.12);
}

body.meme-jj-forest-bundle div.product .product_title {
  max-width:680px;
  margin:0 0 16px;
  color:var(--mjj-forest-950);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.45rem,4.2vw,4.75rem);
  line-height:.98;
  letter-spacing:-.035em;
}

body.meme-jj-forest-bundle div.product p.price,
body.meme-jj-forest-bundle div.product span.price {
  margin:18px 0;
  color:var(--mjj-coral);
  font-size:1.55rem;
  font-weight:900;
}
body.meme-jj-forest-bundle div.product p.price del,
body.meme-jj-forest-bundle div.product span.price del {
  color:#87958f;
  opacity:.72;
  font-size:.9em;
}
body.meme-jj-forest-bundle div.product p.price ins,
body.meme-jj-forest-bundle div.product span.price ins { text-decoration:none; }

body.meme-jj-forest-bundle .woocommerce-product-details__short-description {
  max-width:680px;
  color:#50645d;
  font-size:1rem;
  line-height:1.72;
}
body.meme-jj-forest-bundle .woocommerce-product-details__short-description strong { color:var(--mjj-forest-900); }

body.meme-jj-forest-bundle form.cart {
  margin:25px 0 0!important;
  padding:20px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  background:rgba(255,255,255,.73);
  border:1px solid var(--mjj-line);
  border-radius:18px;
  box-shadow:0 12px 28px rgba(13,42,36,.06);
}
body.meme-jj-forest-bundle form.cart .quantity .qty {
  min-height:49px;
  border-color:var(--mjj-line);
  border-radius:12px;
}
body.meme-jj-forest-bundle .single_add_to_cart_button.button {
  min-height:49px;
  padding:0 24px!important;
  color:#fff!important;
  background:var(--mjj-forest-800)!important;
  border:0!important;
  border-radius:12px!important;
  box-shadow:0 10px 22px rgba(19,56,47,.18);
  font-weight:850!important;
}
body.meme-jj-forest-bundle .single_add_to_cart_button.button:hover {
  background:var(--mjj-coral)!important;
  transform:translateY(-1px);
}

body.meme-jj-forest-bundle .product_meta {
  margin-top:18px;
  padding-top:17px;
  color:var(--mjj-muted);
  border-top:1px solid var(--mjj-line);
  font-size:.78rem;
}
body.meme-jj-forest-bundle .product_meta a { color:var(--mjj-forest-700);font-weight:750; }

body.meme-jj-forest-bundle .mjj-value-strip {
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  background:var(--mjj-forest-950);
  border-radius:18px;
  box-shadow:0 16px 34px rgba(13,42,36,.14);
}
body.meme-jj-forest-bundle .mjj-value-strip div {
  padding:16px 15px;
  min-height:88px;
  border-right:1px solid rgba(255,255,255,.1);
}
body.meme-jj-forest-bundle .mjj-value-strip div:last-child { border-right:0; }
body.meme-jj-forest-bundle .mjj-value-strip strong {
  display:block;
  color:var(--mjj-gold-light);
  font-size:.76rem;
}
body.meme-jj-forest-bundle .mjj-value-strip span {
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.68);
  font-size:.68rem;
  line-height:1.35;
}

body.meme-jj-forest-bundle .mjj-detail-intro {
  margin:24px 0 -2px;
  padding:52px 32px 28px;
  text-align:center;
}
body.meme-jj-forest-bundle .mjj-detail-intro .mjj-eyebrow {
  margin:0 0 8px;
  color:var(--mjj-coral);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.meme-jj-forest-bundle .mjj-detail-intro h2 {
  margin:0;
  color:var(--mjj-forest-950);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2rem,3.4vw,3.4rem);
  line-height:1;
}
body.meme-jj-forest-bundle .mjj-detail-intro p:last-child {
  max-width:650px;
  margin:14px auto 0;
  color:var(--mjj-muted);
}

body.meme-jj-forest-bundle .woocommerce-tabs {
  margin-top:0!important;
  padding:0!important;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--mjj-line)!important;
  border-radius:24px;
  box-shadow:0 18px 48px rgba(13,42,36,.07);
}
body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs {
  margin:0!important;
  padding:9px!important;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  background:var(--mjj-sage-50);
  border:0!important;
}
body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs::before,
body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs li::before,
body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs li::after { display:none!important; }
body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs li {
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:11px!important;
}
body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs li a {
  padding:10px 14px!important;
  color:var(--mjj-muted)!important;
  font-size:.75rem;
  font-weight:850!important;
}
body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs li.active { background:var(--mjj-forest-800)!important; }
body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs li.active a { color:#fff!important; }
body.meme-jj-forest-bundle .woocommerce-tabs .panel {
  margin:0!important;
  padding:34px clamp(22px,4vw,48px) 44px!important;
  color:#4f625c;
  line-height:1.75;
}
body.meme-jj-forest-bundle .woocommerce-tabs .panel h2,
body.meme-jj-forest-bundle .woocommerce-tabs .panel h3 {
  color:var(--mjj-forest-900);
  font-family:Georgia,'Times New Roman',serif;
}
body.meme-jj-forest-bundle .woocommerce-tabs table.shop_attributes {
  border:0;
  border-collapse:separate;
  border-spacing:0 7px;
}
body.meme-jj-forest-bundle .woocommerce-tabs table.shop_attributes th,
body.meme-jj-forest-bundle .woocommerce-tabs table.shop_attributes td {
  padding:12px 14px;
  background:var(--mjj-sage-50);
  border:0;
}
body.meme-jj-forest-bundle .woocommerce-tabs table.shop_attributes th {
  color:var(--mjj-forest-900);
  border-radius:10px 0 0 10px;
}
body.meme-jj-forest-bundle .woocommerce-tabs table.shop_attributes td { border-radius:0 10px 10px 0; }

body.meme-jj-forest-bundle section.related,
body.meme-jj-forest-bundle section.upsells {
  margin-top:70px;
  padding:42px 0 18px;
  border-top:1px solid var(--mjj-line);
}
body.meme-jj-forest-bundle section.related > h2,
body.meme-jj-forest-bundle section.upsells > h2 {
  margin-bottom:26px;
  color:var(--mjj-forest-950);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2rem,3vw,3rem);
}
body.meme-jj-forest-bundle ul.products li.product {
  overflow:hidden;
  padding-bottom:18px!important;
  background:#fff;
  border:1px solid var(--mjj-line);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(13,42,36,.055);
}
body.meme-jj-forest-bundle ul.products li.product img { margin:0!important; }
body.meme-jj-forest-bundle ul.products li.product .woocommerce-loop-product__title,
body.meme-jj-forest-bundle ul.products li.product .price,
body.meme-jj-forest-bundle ul.products li.product .button { margin-left:16px!important;margin-right:16px!important; }
body.meme-jj-forest-bundle ul.products li.product .woocommerce-loop-product__title {
  color:var(--mjj-forest-900);
  font-family:Georgia,'Times New Roman',serif;
}
body.meme-jj-forest-bundle ul.products li.product .button {
  color:#fff!important;background:var(--mjj-forest-800)!important;border-radius:10px!important;
}

@media (max-width:921px) {
  body.meme-jj-forest-bundle div.product { padding-top:34px; }
  body.meme-jj-forest-bundle .mjj-value-strip { grid-template-columns:1fr; }
  body.meme-jj-forest-bundle .mjj-value-strip div { border-right:0;border-bottom:1px solid rgba(255,255,255,.1); }
  body.meme-jj-forest-bundle .mjj-value-strip div:last-child { border-bottom:0; }
}
@media (max-width:544px) {
  body.meme-jj-forest-bundle div.product .product_title { font-size:clamp(2.25rem,12vw,3.4rem); }
  body.meme-jj-forest-bundle form.cart { padding:15px; }
  body.meme-jj-forest-bundle .mjj-detail-intro { padding:38px 8px 22px; }
  body.meme-jj-forest-bundle .woocommerce-tabs ul.tabs { display:grid;grid-template-columns:1fr; }
}
