@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Inter:wght@300;400;500;700&display=swap');

:root{
  --pb-rose-0:#FFF6F6;
  --pb-rose-1:#FFE8E8;
  --pb-rose:#FFDDE8;
  --pb-rose-2:#F7B7CF;
  --pb-lav:#EADCF9;
  --pb-cream:#FFF7FA;
  --pb-ink:#201A1A;
  --pb-body:#433F3F;
  --pb-line:#E9E2E2;
  --pb-radius:6px;
  --pb-shadow:0 1px 2px rgba(0,0,0,.06), 0 6px 16px rgba(0,0,0,.06);
  --pb-btn-bg:#FF8FA3;
  --pb-btn-text:#1A0F0F;
  --pb-btn-bg-hover:#F47D92;
  --pb-pill:9999px;
  --pb-radius-pill:9999px;
  --pb-shadow-soft:0 1px 2px rgba(0,0,0,.06), 0 6px 16px rgba(0,0,0,.06);
}
.pb-section{color:var(--pb-ink);}
.pb-btn{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--pb-rose-2); color:var(--pb-ink);
  padding:.9rem 1.15rem;border-radius:999px;font-weight:700;
  box-shadow:var(--pb-shadow); text-decoration:none;
}
.pb-btn:hover{transform:translateY(-1px);background:#ffc4da}
.pb-ghost{background:transparent;border:2px solid var(--pb-ink)}
.pb-chip{background:var(--pb-cream);padding:.35rem .8rem;border-radius:999px;border:1px solid #f3e9ef;}
.pb-eyes{animation:pb-blink 4s infinite;}
@keyframes pb-blink{0%,92%,100%{opacity:1} 96%{opacity:.1}}
@media (max-width: 782px){
  .pb-grid{grid-template-columns:1fr!important}
  .pb-hero-visual{order:-1}
}
/* Woo “pepBunnify” */
.woocommerce ul.products li.product,
.woocommerce div.product {
  background:var(--pb-cream);border-radius:var(--pb-radius);box-shadow:var(--pb-shadow);padding:16px;
}
.woocommerce ul.products li.product .button{
  background:var(--pb-rose-2)!important;color:var(--pb-ink)!important;border-radius:999px!important;
  padding:.6rem 1rem!important;font-weight:700!important;
}
/* Global brand styling */
a {
  color: var(--pb-ink);
}

a:hover {
  color: var(--pb-rose-2);
}

button, input[type="button"], input[type="submit"], .button, .woocommerce a.button, .wp-block-button__link {
  background-color: var(--pb-rose-2);
  color: var(--pb-ink);
  border-radius: var(--pb-radius-pill);
  box-shadow: var(--pb-shadow-soft);
}

button:hover, input[type="button"]:hover, input[type="submit"]:hover, .button:hover, .woocommerce a.button:hover, .wp-block-button__link:hover {
  background-color: var(--pb-rose);
  color: var(--pb-ink);
}

/* Section backgrounds */
.section, .site-main, .wp-block-group {
  background-color: var(--pb-cream);
}
.woocommerce ul.products li.product .price{color:var(--pb-ink)!important;font-weight:700}
/* Accessible focus styles */
a:focus, button:focus, [role="button"]:focus, input:focus, .wp-block-navigation__container a:focus {
  outline: 2px solid #201A1A;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Nav links color on rose backgrounds */
.pb-bg-rose0 .wp-block-navigation .wp-block-navigation-item__content {
  color: #201A1A;
}

/* Body text defaults (safety net) */
body{
  background-color:var(--pb-cream);
  color:var(--pb-body);
  font-family:'Inter',sans-serif;
  line-height:1.6;
  letter-spacing:.01em;
  scroll-behavior:smooth;
}

/* ===========================
   Buttons – unify to .btn-primary look
   =========================== */
a.button, button.button, .button.alt,
.add_to_cart_button, .single_add_to_cart_button,
.woocommerce a.button, .woocommerce button.button, .woocommerce .button {
  background:var(--pb-btn-bg)!important;
  color:var(--pb-btn-text)!important;
  border-radius:var(--pb-pill)!important;
  padding:12px 20px!important;
  box-shadow:var(--pb-shadow);
  text-transform:none!important;
  font:600 16px/1 "Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:.1px;
}
a.button:hover, button.button:hover, .button.alt:hover,
.add_to_cart_button:hover, .single_add_to_cart_button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover {
  background:var(--pb-btn-bg-hover)!important;
}

/* If you also use the GB Button block with class .btn-primary */
.btn-primary{
  background:var(--pb-btn-bg)!important;
  color:var(--pb-btn-text)!important;
  border-radius:var(--pb-pill)!important;
  padding:12px 20px!important;
  box-shadow:var(--pb-shadow);
}
.btn-primary:hover{ background:var(--pb-btn-bg-hover)!important; transform:translateY(-1px); }

/* ===========================
   Cards / product tiles
   =========================== */
.pb-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background:#fff;
  border:1px solid var(--pb-line);
  border-radius:var(--pb-radius);
  transition:box-shadow .25s ease, transform .12s ease;
}
/* ===========================
   Sticky header polish
   (add pb-header-sticky class to the header container)
   =========================== */
.pb-header-sticky { transition: box-shadow .25s ease, padding .25s ease; }
.is-stuck .pb-header-sticky { box-shadow:var(--pb-shadow); }
@media (min-width:1025px){
  .is-stuck .pb-header-sticky.gb-container {
    padding-top:24px!important;
    padding-bottom:24px!important;
  }
}

/* ===========================
   Image hover micro-interaction
   (use on feature images or product images if you wish)
   =========================== */
.pb-img-hover:hover{
  transform:translateY(-1px) scale(1.02);
  box-shadow:var(--pb-shadow);
  transition:transform .25s ease, box-shadow .25s ease;
}

/* ===========================
   Off-canvas panel cosmetics
   (Optional: makes the panel feel like a PB card)
   =========================== */
.pb-offcanvas {
  background:var(--pb-rose-1);
  border-radius:var(--pb-radius);
  box-shadow:var(--pb-shadow);
  padding:40px 24px;
}

/* ===========================
   Accessibility & reduced motion
   =========================== */
:where(a,button,[role="button"],input,select,textarea):focus-visible{
  outline:2px solid var(--pb-ink);
  outline-offset:2px;
  border-radius:4px;
}
/* ===========================
   Soft separators and rose sections
   =========================== */
/* Apply brand styling to Gutenberg and theme buttons site-wide */
.wp-block-button__link,
.gb-button,
.gb-button > * {
  background: var(--pb-btn-bg) !important;
  color: var(--pb-btn-text) !important;
  border-radius: var(--pb-pill) !important;
  padding: 12px 20px !important;
  box-shadow: var(--pb-shadow) !important;
  text-decoration: none !important;
}

.wp-block-button__link:hover,
.gb-button:hover,
.gb-button > *:hover {
  background: var(--pb-btn-bg-hover) !important;
  color: var(--pb-btn-text) !important;
}
.pb-bg-rose0{ background:var(--pb-rose-0)!important; }
.pb-bg-rose1{ background:var(--pb-rose-1)!important; }
.pb-ink{ color:var(--pb-ink)!important; }
.pb-body{ color:var(--pb-body)!important; }

/* ===========================
   Tiny helpers (optional)
   =========================== */
.pb-radius{ border-radius:var(--pb-radius)!important; }
.pb-shadow-soft{ box-shadow:var(--pb-shadow)!important; }

/* ==========================================
  Typography and Hierarchy
   ========================================== */
h1, h2, h3, h4, h5, h6 {
  color: var(--pb-ink);
  font-family: 'Poppins', sans-serif;
  letter-spacing: 0.02em;
  margin-top: 0;
  margin-bottom: 0.5em;
}
h1 { font-weight: 700; }
h2 { font-weight: 600; }
h3, h4 { font-weight: 500; }
h5, h6 { font-weight: 400; }
/* ========================================
  Button and Interaction Details
   ======================================== */
.pb-btn, .wp-block-button__link, .gb-button {
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.pb-btn:hover, .wp-block-button__link:hover, .gb-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.pb-btn i {
  margin-right: 0.4em;
}
/* Ghost / secondary buttons */
.ghost-button {
  background-color: transparent;
  color: var(--pb-ink);
  border: 2px solid var(--pb-ink);
  border-radius: var(--pb-pill);
  padding: 0.5em 1.5em;
  transition: all 0.3s ease;
}
.ghost-button:hover {
  background-color: var(--pb-rose);
}
/* =========================================
  Layout & Containers
   ========================================= */
.card {
  background-color: var(--pb-cream);
  border-radius: var(--pb-radius);
  padding: 1rem;
  box-shadow: var(--pb-shadow);
  transition: transform 0.4s ease, opacity 0.4s ease;
  opacity: 0;
  transform: translateY(30px);
}
.section-alt:nth-of-type(even) {
  background-color: var(--pb-rose-0);
}
.section-alt:nth-of-type(odd) {
  background-color: var(--pb-rose-1);
}
.section-alt {
  padding: 3rem 0;
  scroll-snap-align: start;
}
.container-spacious > * {
  margin-bottom: 2rem;
}
/* =========================================
  Navigation & Header
   ========================================= */
.site-header.sticky {
  background-color: var(--pb-cream);
  padding: 0.5rem 1rem;
  box-shadow: var(--pb-shadow);
}
.offcanvas-menu {
  background-color: var(--pb-rose-1);
  border-radius: var(--pb-radius);
}
.offcanvas-menu .menu-item a {
  display: block;
  padding: 0.75rem 1rem;
  color: var(--pb-ink);
  transition: background-color 0.3s ease;
}
.offcanvas-menu .menu-item a:hover {
  background-color: var(--pb-rose);
}
/* =========================================
  Accessibility & UX
   ========================================= */
a:focus, button:focus, input:focus, textarea:focus {
  outline: 2px dotted var(--pb-ink);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
/* =========================================
  Footer & Miscellaneous
   ========================================= */
.site-footer {
  background-color: var(--pb-rose-1);
  color: var(--pb-ink);
  padding: 2rem 0;
}
.site-footer a {
  color: var(--pb-ink);
}
input, select, textarea {
  background-color: var(--pb-cream);
  border: 1px solid var(--pb-rose-2);
  border-radius: var(--pb-radius);
  padding: 0.5rem 1rem;
  color: var(--pb-ink);
}
input:focus, select:focus, textarea:focus {
  border-color: var(--pb-rose);
  box-shadow: 0 0 0 2px var(--pb-rose-2);
}

/* ====== Advanced interactive effects ====== */
/* Interactive product card lift */
.woocommerce ul.products li.product,
.wp-block-woocommerce-product-grid .wc-block-grid__products .wc-block-grid__product {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  position: relative;
}
.woocommerce ul.products li.product:hover,
.wp-block-woocommerce-product-grid .wc-block-grid__products .wc-block-grid__product:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}
/* Hover-driven image effects */
.woocommerce ul.products li.product img,
.wp-block-woocommerce-product-grid .wc-block-grid__products .wc-block-grid__product img {
  transition: filter 0.5s ease, transform 0.5s ease;
  mask-image: radial-gradient(circle at center, white 60%, transparent 100%);
  -webkit-mask-image: radial-gradient(circle at center, white 60%, transparent 100%);
}
.woocommerce ul.products li.product:hover img,
.wp-block-woocommerce-product-grid .wc-block-grid__products .wc-block-grid__product:hover img {
  filter: blur(0px) drop-shadow(0 0 8px rgba(0,0,0,0.1));
  transform: scale(1.05);
}
/* Scroll-snap effect for sections */
html {
  scroll-snap-type: y proximity;
}
/* Animated button bubbles using pseudo-element */
.pb-btn::after, .wp-block-button__link::after, .gb-button::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: var(--pb-rose);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
  transition: transform 0.4s, opacity 0.4s;
}
.pb-btn:hover::after, .wp-block-button__link:hover::after, .gb-button:hover::after {
  opacity: 0.3;
  transform: translate(-50%, -50%) scale(6);
}
/* Card-based storytelling: animate cards */
.card:is(:target, :hover), .card.in-view {
  opacity: 1;
  transform: translateY(0);
}
/* Dynamic gradient background for hero sections */
.hero-section {
  background: linear-gradient(135deg, var(--pb-rose-0), var(--pb-rose-1), var(--pb-lav));
  background-size: 400% 400%;
  animation: pbGradient 20s ease infinite;
}
@keyframes pbGradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* PepBunny homepage hero */
.pepbunny-hero {
  min-height: 520px;
  display: flex;
  align-items: center;
}

/* Keeps hero copy contained on the left side */
.pepbunny-hero .wp-block-cover__inner-container {
  max-width: 540px;
  margin-left: 72px;
  margin-right: auto;
}

/* Hero headline */
.pepbunny-hero h1 {
  color: #8A2F57;
  max-width: 540px;
  font-size: 54px;
  line-height: 1.08;
  margin-bottom: 24px;
}

/* Hero subheadline */
.pepbunny-hero p {
  color: #684D58;
  max-width: 500px;
  font-size: 21px;
  line-height: 1.45;
  margin-bottom: 0;
}

/* Hero buttons */
.pepbunny-hero .wp-block-buttons {
  margin-top: 28px;
}

/* Mobile hero cleanup */
@media (max-width: 768px) {
  .pepbunny-hero {
    min-height: 560px;
    align-items: center;
  }

  .pepbunny-hero .wp-block-cover__inner-container {
    max-width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
  }

  .pepbunny-hero h1 {
    font-size: 38px;
    line-height: 1.08;
    max-width: 100%;
  }

  .pepbunny-hero p {
    font-size: 18px;
    line-height: 1.45;
    max-width: 100%;
  }

  .pepbunny-hero .wp-block-buttons {
    margin-top: 24px;
    gap: 12px;
  }
}



/* PepBunny WooCommerce product text colors */

/* Product titles on single product pages */
.woocommerce div.product .product_title,
.woocommerce div.product .summary .product_title {
  color: #F268A8;
}

/* Product titles inside product grids/cards */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product .wc-block-grid__product-title,
.wc-block-components-product-title,
.wc-block-components-product-title a {
  color: #F268A8;
}

/* Product prices */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.wc-block-components-product-price,
.wc-block-grid__product-price {
  color: #4B2F36;
}

/* Product descriptions and summary text */
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .summary,
.woocommerce div.product .summary p,
.woocommerce div.product .summary li,
.wc-block-components-product-summary,
.wc-block-components-product-metadata,
.wc-block-grid__product-excerpt {
  color: #684D58;
}

/* Bold labels inside product descriptions */
.woocommerce div.product .summary strong,
.woocommerce div.product .woocommerce-product-details__short-description strong {
  color: #4B2F36;
}

/* Reviews/meta/small WooCommerce text */
.woocommerce .woocommerce-review-link,
.woocommerce div.product .product_meta,
.woocommerce div.product .product_meta a,
.woocommerce .woocommerce-product-rating,
.wc-block-components-product-rating {
  color: #7D6A71;
}

/* WooCommerce links */
.woocommerce div.product .summary a,
.woocommerce ul.products li.product a {
  color: #D85B93;
}

/* PepBunny homepage featured product styling */
.pepbunny-featured-products h1,
.pepbunny-featured-products h2,
.pepbunny-featured-products h3,
.pepbunny-featured-products h4,
.pepbunny-featured-products .wp-block-heading,
.pepbunny-featured-products .gb-headline {
  color: #F268A8 !important;
}

.pepbunny-featured-products p,
.pepbunny-featured-products li,
.pepbunny-featured-products .gb-headline-text {
  color: #684D58 !important;
}

.pepbunny-featured-products strong,
.pepbunny-featured-products b {
  color: #4B2F36 !important;
}

.pepbunny-featured-products .price,
.pepbunny-featured-products .woocommerce-Price-amount,
.pepbunny-featured-products .wc-block-components-product-price {
  color: #4B2F36 !important;
  font-weight: 700;
}

.pepbunny-featured-products a {
  color: #D85B93 !important;
}

/* Featured product linked titles should use heading color, not general link color */
.pepbunny-featured-products h1 a,
.pepbunny-featured-products h2 a,
.pepbunny-featured-products h3 a,
.pepbunny-featured-products h4 a,
.pepbunny-featured-products .wp-block-heading a,
.pepbunny-featured-products .gb-headline a,
.pepbunny-featured-products .wc-block-components-product-title a {
  color: #F268A8 !important;
  text-decoration: none !important;
}

/* Optional: subtle hover state for linked product titles */
.pepbunny-featured-products h1 a:hover,
.pepbunny-featured-products h2 a:hover,
.pepbunny-featured-products h3 a:hover,
.pepbunny-featured-products h4 a:hover,
.pepbunny-featured-products .wp-block-heading a:hover,
.pepbunny-featured-products .gb-headline a:hover,
.pepbunny-featured-products .wc-block-components-product-title a:hover {
  color: #8A2F57 !important;
}

/* PepBunny general page styling */
.pepbunny-pages h1,
.pepbunny-pages h2,
.pepbunny-pages h3,
.pepbunny-pages h4,
.pepbunny-pages h5,
.pepbunny-pages h6,
.pepbunny-pages .wp-block-heading,
.pepbunny-pages .gb-headline,
.pepbunny-pages .gb-headline-text {
  color: #F268A8 !important;
}

.pepbunny-pages p,
.pepbunny-pages li,
.pepbunny-pages .wp-block-paragraph {
  color: #684D58 !important;
}

.pepbunny-pages strong,
.pepbunny-pages b {
  color: #4B2F36 !important;
}

.pepbunny-pages a:not(.wp-block-button__link):not(.button):not(.gb-button) {
  color: #D85B93 !important;
}

.pepbunny-pages a:not(.wp-block-button__link):not(.button):not(.gb-button):hover {
  color: #8A2F57 !important;
}

.pepbunny-pages .wp-block-separator,
.pepbunny-pages hr {
  border: 0 !important;
  border-top: 2px solid #E8B8C9 !important;
  opacity: 1 !important;
}

/* ==========================================
   PepBunny Custom Product Showcase
   ========================================== */

.pepbunny-product-showcase {
  background: #FFF7FA;
  padding: 64px 48px 72px;
}

.pepbunny-product-showcase h2,
.pepbunny-product-showcase .wp-block-heading {
  color: #F268A8 !important;
  text-align: center;
  margin-bottom: 18px;
}

.pepbunny-product-showcase > p {
  color: #684D58 !important;
  max-width: 980px;
  margin: 0 auto 48px;
  text-align: center;
  font-size: 20px;
  line-height: 1.55;
}

/* Main featured product cards */
.pb-product-card {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 1.05fr);
  gap: 42px;
  align-items: start !important;
  background: #FFFDFE;
  border: 1px solid #F2D6E1;
  border-radius: 28px;
  padding: 34px;
  margin-bottom: 34px;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.08);
}

.pepbunny-product-showcase .pb-product-content {
  padding-top: 18px !important;
}

.pb-product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 42px rgba(78, 52, 46, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pb-product-image img {
  width: 100%;
  display: block;
  border-radius: 22px;
}

/* Product content */
.pb-product-content {
  color: #684D58;
}

.pb-product-title,
.pb-product-title a {
  color: #F268A8 !important;
  text-decoration: none !important;
  font-size: 38px;
  line-height: 1.08;
  margin: 0 0 18px;
}

.pb-product-title a:hover {
  color: #8A2F57 !important;
}

.pb-product-description {
  color: #684D58 !important;
  font-size: 18px;
  line-height: 1.55;
  margin-bottom: 22px;
}

/* Mini facts */
.pb-product-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 22px 0;
}

.pb-product-meta div {
  background: #FFF7FA;
  border: 1px solid #F2D6E1;
  border-radius: 16px;
  padding: 12px;
  color: #684D58;
  font-size: 14px;
  line-height: 1.35;
}

.pb-product-meta strong {
  display: block;
  color: #4B2F36 !important;
  font-size: 13px;
  margin-bottom: 3px;
}

.pb-product-price {
  color: #4B2F36 !important;
  font-size: 24px;
  font-weight: 800;
  margin: 18px 0 22px;
}

/* Product action buttons */
.pb-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.pb-product-actions a,
.pb-product-actions .wp-block-button__link {
  border-radius: 999px !important;
  padding: 13px 22px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(78, 52, 46, 0.10) !important;
}

.pb-product-actions .pb-primary {
  background: #FF8FA3 !important;
  color: #1A0F0F !important;
}

.pb-product-actions .pb-primary:hover {
  background: #F47D92 !important;
}

.pb-product-actions .pb-secondary {
  background: #FFFFFF !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
}

.pb-product-actions .pb-secondary:hover {
  background: #FFF0F6 !important;
  color: #8A2F57 !important;
}

/* Compact product cards for single-vial options */
.pb-compact-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 28px;
  margin-top: 36px;
}

.pb-compact-product-card {
  background: #FFFDFE;
  border: 1px solid #F2D6E1;
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 10px 26px rgba(78, 52, 46, 0.07);
}

.pb-compact-product-card h3,
.pb-compact-product-card h3 a {
  color: #F268A8 !important;
  text-decoration: none !important;
  font-size: 28px;
  line-height: 1.12;
}

.pb-compact-product-card p {
  color: #684D58 !important;
}

.pb-compact-product-card .pb-product-price {
  font-size: 21px;
}

/* Mobile */
@media (max-width: 768px) {
  .pepbunny-product-showcase {
    padding: 46px 20px 56px;
  }

  .pb-product-card {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 22px;
  }

  .pb-product-title,
  .pb-product-title a {
    font-size: 31px;
  }

  .pb-compact-product-grid {
    grid-template-columns: 1fr;
  }
}

.pepbunny-product-showcase .pb-product-actions .wp-block-button,
.pepbunny-product-showcase .pb-product-actions .wp-block-button__link {
  border: none !important;
  outline: none !important;
}

.pepbunny-product-showcase .pb-product-actions .pb-primary .wp-block-button__link,
.pepbunny-product-showcase .pb-product-actions .wp-block-button.pb-primary .wp-block-button__link {
  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  border-radius: 999px !important;
}

.pepbunny-product-showcase .pb-product-actions .pb-secondary .wp-block-button__link,
.pepbunny-product-showcase .pb-product-actions .wp-block-button.pb-secondary .wp-block-button__link {
  background: #FFFFFF !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
  border-radius: 999px !important;
}

/* PepBunny product card polish pass */
.pepbunny-product-showcase .pb-product-actions .wp-block-button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.pepbunny-product-showcase .pb-product-actions .wp-block-button__link {
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(78, 52, 46, 0.10) !important;
}

.pepbunny-product-showcase .pb-product-actions .wp-block-button.pb-primary .wp-block-button__link {
  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  border: 1px solid #FF8FA3 !important;
}

.pepbunny-product-showcase .pb-product-actions .wp-block-button.pb-secondary .wp-block-button__link {
  background: #FFFFFF !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
}

.pepbunny-product-showcase .pb-product-image img {
  max-height: 560px !important;
  object-fit: cover !important;
}

/* Product card title size correction */
.pepbunny-product-showcase .pb-product-title,
.pepbunny-product-showcase .pb-product-title a {
  text-align: left !important;
  font-size: clamp(30px, 2.4vw, 38px) !important;
  line-height: 1.12 !important;
}

@media (max-width: 768px) {
  .pb-product-content {
    display: flex;
    flex-direction: column;
  }

  .pb-product-title {
    order: 1;
  }

  .pb-badge-row {
    order: 2;
    gap: 10px;
    margin-bottom: 16px;
  }

  .pb-product-description {
    order: 3;
    font-size: 16px;
  }

  .pb-product-meta {
    order: 4;
    grid-template-columns: 1fr;
  }
}

.pb-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

@media (max-width: 768px) {
  .pb-badge {
    padding: 9px 16px;
    font-size: 14px;
  }
}

.pb-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #FBEAF0;
  border: 1px solid #EDBDD0;
  color: #8A2F57;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  box-shadow: none;
}

.pb-badge:first-child {
  background: #C65A86;
  border-color: #C65A86;
  color: #fff;
}

/* Mobile badge cleanup */
@media (max-width: 768px) {
  .pepbunny-product-showcase .pb-product-content {
    display: flex !important;
    flex-direction: column !important;
  }

  .pepbunny-product-showcase .pb-product-title {
    order: 1 !important;
  }

  .pepbunny-product-showcase .pb-badge-row {
    order: 2 !important;
    margin-top: 14px !important;
    margin-bottom: 18px !important;
    justify-content: flex-start !important;
  }

  .pepbunny-product-showcase .pb-product-description {
    order: 3 !important;
  }

  .pepbunny-product-showcase .pb-product-meta {
    order: 4 !important;
  }

  .pepbunny-product-showcase .pb-product-price {
    order: 5 !important;
  }

  .pepbunny-product-showcase .pb-product-actions {
    order: 6 !important;
  }

  .pepbunny-product-showcase .pb-badge {
    padding: 7px 12px !important;
    font-size: 12px !important;
  }
}

/* PepBunny product badges — true text-chip style */
.pepbunny-product-showcase .pb-badge-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 20px !important;
  justify-content: flex-start !important;
}

.pepbunny-product-showcase .pb-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;

  background: #FBEAF1 !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
  border-radius: 999px !important;

  padding: 8px 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;

  box-shadow: none !important;
  margin: 0 !important;
  text-decoration: none !important;
}

/* Emphasize only the first badge */
.pepbunny-product-showcase .pb-badge:first-child {
  background: #C85A87 !important;
  color: #FFFFFF !important;
  border-color: #C85A87 !important;
}

/* ==========================================
   PepBunny compact single-vial card polish
   ========================================== */

/* Keep compact card images secondary to featured kit images */
.pepbunny-product-showcase .pb-compact-product-card img {
  width: 100% !important;
  max-height: 400px !important;
  object-fit: cover !important;
  border-radius: 22px !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Give compact card badges breathing room under the image */
.pepbunny-product-showcase .pb-compact-product-card .pb-badge-row {
  margin-top: 22px !important;
  margin-bottom: 22px !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* Make compact badges lighter so they don't compete with featured kit badges */
.pepbunny-product-showcase .pb-compact-product-card .pb-badge {
  background: #FBEAF1 !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
  box-shadow: none !important;
}

/* Optional: keep first compact badge slightly emphasized, but not as strong as featured cards */
.pepbunny-product-showcase .pb-compact-product-card .pb-badge:first-child {
  background: #F7D4E2 !important;
  color: #8A2F57 !important;
  border-color: #F2B8D0 !important;
}

/* Center compact single-vial product image blocks */
.pepbunny-product-showcase .pb-compact-product-card figure,
.pepbunny-product-showcase .pb-compact-product-card .wp-block-image {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Special 10-vial preorder card */
.pepbunny-product-showcase .pb-preorder-card {
  border-color: #E8B8C9 !important;
  background: linear-gradient(135deg, #FFFDFE 0%, #FFF4F8 100%) !important;
}

.pepbunny-product-showcase .pb-preorder-section h2 {
  color: #F268A8 !important;
  text-align: center !important;
  margin-top: 64px !important;
  margin-bottom: 18px !important;
}

.pepbunny-product-showcase .pb-preorder-section > p {
  color: #684D58 !important;
  text-align: center !important;
  max-width: 820px !important;
  margin: 0 auto 42px !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
}

/* ==========================================
   PepBunny Product Page Lab Verification Card
   ========================================== */

.pb-lab-card {
  background: linear-gradient(135deg, #FFFDFE 0%, #FFF4F8 100%) !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 28px !important;
  padding: 34px !important;
  margin: 36px 0 !important;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.08) !important;
}

.pb-lab-card-header {
  margin-bottom: 24px !important;
}

.pb-lab-card-header h2,
.pb-lab-card-header h3,
.pb-lab-card-header .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.1 !important;
  margin-bottom: 12px !important;
}

.pb-lab-card-header p {
  color: #684D58 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  max-width: 760px !important;
}

/* Lab report stat grid */
.pb-lab-report-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(140px, 1fr)) !important;
  gap: 14px !important;
  margin: 26px 0 28px !important;
}

.pb-lab-report-stat {
  background: #FFFFFF !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 18px !important;
  padding: 18px !important;
  box-shadow: 0 6px 18px rgba(78, 52, 46, 0.05) !important;
}

.pb-lab-report-stat p {
  margin: 0 !important;
  color: #684D58 !important;
  line-height: 1.35 !important;
}

.pb-lab-report-stat p:first-child {
  color: #4B2F36 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 8px !important;
}

.pb-lab-report-stat p:last-child {
  color: #8A2F57 !important;
  font-size: 19px !important;
  font-weight: 800 !important;
}

/* Lab report action buttons */
.pb-lab-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 8px !important;
}

.pb-lab-actions .wp-block-button {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.pb-lab-actions .wp-block-button__link,
.pb-lab-button {
  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  border: 1px solid #FF8FA3 !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(78, 52, 46, 0.10) !important;
}

/* Mobile */
@media (max-width: 768px) {
  .pb-lab-card {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .pb-lab-report-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .pb-lab-report-grid {
    grid-template-columns: 1fr !important;
  }

  .pb-lab-actions .wp-block-button,
  .pb-lab-actions .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
  }
}

.pb-lab-preview {
  background: #FFFFFF !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 22px !important;
  padding: 16px !important;
  margin: 26px 0 !important;
  box-shadow: 0 8px 24px rgba(78, 52, 46, 0.06) !important;
}

.pb-lab-preview img {
  display: block !important;
  width: 100% !important;
  border-radius: 16px !important;
}



/* ==========================================
   PepBunny Product Page Lab Verification Card
   ========================================== */

.woocommerce div.product .pb-lab-card {
  background: linear-gradient(135deg, #FFFDFE 0%, #FFF4F8 100%) !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 26px !important;
  padding: 30px !important;
  margin: 32px 0 !important;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.08) !important;
}

.woocommerce div.product .pb-lab-card-header {
  margin-bottom: 22px !important;
}

.woocommerce div.product .pb-lab-card-header h3 {
  color: #F268A8 !important;
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.1 !important;
  margin: 0 0 12px !important;
}

.woocommerce div.product .pb-lab-card-header p {
  color: #684D58 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Lab stat grid */
.woocommerce div.product .pb-lab-report-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
  gap: 14px !important;
  margin: 24px 0 26px !important;
}

.woocommerce div.product .pb-lab-report-stat {
  background: #FFFFFF !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 18px !important;
  padding: 16px !important;
  box-shadow: 0 6px 18px rgba(78, 52, 46, 0.05) !important;
}

.woocommerce div.product .pb-lab-label {
  display: block !important;
  color: #4B2F36 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 8px !important;
}

.woocommerce div.product .pb-lab-value {
  display: block !important;
  color: #8A2F57 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

/* Lab report action */
.woocommerce div.product .pb-lab-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 26px !important;
}

/* Mobile */
@media (max-width: 768px) {
  .woocommerce div.product .pb-lab-card {
    padding: 24px !important;
    border-radius: 22px !important;
  }

  .woocommerce div.product .pb-lab-report-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .woocommerce div.product .pb-lab-report-grid {
    grid-template-columns: 1fr !important;
  }

  .woocommerce div.product .pb-lab-button {
    width: 100% !important;
  }
}

.woocommerce div.product .pb-lab-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  max-width: fit-content !important;
  min-width: 0 !important;
  min-height: 0 !important;

  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  border: 1px solid #FF8FA3 !important;
  border-radius: 999px !important;

  padding: 14px 28px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;

  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(78, 52, 46, 0.10) !important;
  outline: none !important;
}

.woocommerce div.product .pb-lab-button:hover {
  background: #F47D92 !important;
  color: #1A0F0F !important;
  transform: translateY(-1px);
}

/* Pretty accessible focus instead of ugly dotted outline */
.woocommerce div.product .pb-lab-button:focus,
.woocommerce div.product .pb-lab-button:focus-visible {
  outline: 3px solid #F2B8D0 !important;
  outline-offset: 4px !important;
}

.woocommerce div.product .pb-lab-button::after {
  display: none !important;
}

/* ==========================================
   PepBunny Product Page Description Styling
   ========================================== */

.woocommerce div.product .woocommerce-Tabs-panel--description {
  color: #684D58 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.woocommerce div.product .woocommerce-Tabs-panel--description > h2:first-child {
  color: #4B2F36 !important;
  font-size: 34px !important;
  margin-bottom: 18px !important;
}

/* Product description headings */
.woocommerce div.product .woocommerce-Tabs-panel--description h2,
.woocommerce div.product .woocommerce-Tabs-panel--description h3,
.woocommerce div.product .woocommerce-Tabs-panel--description h4 {
  color: #F268A8 !important;
  line-height: 1.15 !important;
  margin-top: 28px !important;
  margin-bottom: 14px !important;
}

/* Product description paragraphs */
.woocommerce div.product .woocommerce-Tabs-panel--description p {
  color: #684D58 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  margin-bottom: 18px !important;
}

/* Bold text inside descriptions */
.woocommerce div.product .woocommerce-Tabs-panel--description strong,
.woocommerce div.product .woocommerce-Tabs-panel--description b {
  color: #4B2F36 !important;
  font-weight: 800 !important;
}

/* Links inside descriptions */
.woocommerce div.product .woocommerce-Tabs-panel--description a:not(.pb-lab-button) {
  color: #D85B93 !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Lists inside descriptions */
.woocommerce div.product .woocommerce-Tabs-panel--description ul,
.woocommerce div.product .woocommerce-Tabs-panel--description ol {
  color: #684D58 !important;
  padding-left: 1.4em !important;
  margin-bottom: 22px !important;
}

.woocommerce div.product .woocommerce-Tabs-panel--description li {
  margin-bottom: 8px !important;
}

/* ==========================================
   PepBunny product description mini cards
   ========================================== */

.woocommerce div.product .pb-mini-card,
.woocommerce div.product .pb-shipping-card {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 22px !important;
  padding: 22px 24px !important;
  margin: 24px 0 !important;
  box-shadow: 0 8px 22px rgba(78, 52, 46, 0.06) !important;
}

.woocommerce div.product .pb-mini-card h3,
.woocommerce div.product .pb-shipping-card h3 {
  color: #F268A8 !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.12 !important;
  margin: 0 0 10px !important;
}

.woocommerce div.product .pb-mini-card p,
.woocommerce div.product .pb-shipping-card p {
  color: #684D58 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Make shipping feel slightly distinct */
.woocommerce div.product .pb-shipping-card {
  background: linear-gradient(135deg, #FFFDFE 0%, #FFF7FA 100%) !important;
}

/* Small legal/research-use disclaimer */
.woocommerce div.product .pb-product-disclaimer {
  color: #8A7A80 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  margin-top: 28px !important;
  padding-top: 16px !important;
  border-top: 1px solid #F2D6E1 !important;
}

/* ==========================================
   PepBunny micro trust strip
   ========================================== */

.pb-trust-strip {
  background: #FFF7FA !important;
  padding: 22px 24px 10px !important;
}

.pb-trust-strip-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
}

.pb-trust-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 999px !important;
  padding: 9px 15px !important;

  color: #684D58 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  box-shadow: 0 6px 16px rgba(78, 52, 46, 0.05) !important;
}

.pb-trust-chip p,
.pb-trust-chip .gb-headline,
.pb-trust-chip .gb-headline-text {
  margin: 0 !important;
  color: #684D58 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* Mobile trust strip */
@media (max-width: 768px) {
  .pb-trust-strip {
    padding: 18px 16px 8px !important;
  }

  .pb-trust-strip-inner {
    gap: 9px !important;
  }

  .pb-trust-chip {
    padding: 8px 12px !important;
    font-size: 12px !important;
  }

  .pb-trust-chip p,
  .pb-trust-chip .gb-headline,
  .pb-trust-chip .gb-headline-text {
    font-size: 12px !important;
  }
}

/* ==========================================
   PepBunny How It Works / Trust Flow Section
   ========================================== */

.pb-how-it-works {
  background: #FFF7FA !important;
  padding: 72px 28px !important;
  text-align: center !important;
}

.pb-how-it-works > h2,
.pb-how-it-works > .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.08 !important;
  margin: 0 auto 18px !important;
  max-width: 900px !important;
}

.pb-how-it-works > p {
  color: #684D58 !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
  max-width: 860px !important;
  margin: 0 auto 44px !important;
}

.pb-process-grid {
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.pb-process-card {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 26px !important;
  padding: 30px 26px !important;
  text-align: left !important;
  box-shadow: 0 10px 28px rgba(78, 52, 46, 0.06) !important;
}

.pb-process-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: #FBEAF1 !important;
  border: 1px solid #F2B8D0 !important;
  color: #C85A87 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  margin: 0 0 18px !important;
}

.pb-process-title {
  color: #F268A8 !important;
  font-size: 24px !important;
  line-height: 1.18 !important;
  margin: 0 0 14px !important;
}

.pb-process-description {
  color: #684D58 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .pb-how-it-works {
    padding: 54px 18px !important;
  }

  .pb-process-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .pb-process-card {
    padding: 24px 22px !important;
  }

  .pb-how-it-works > p {
    font-size: 17px !important;
  }

  .pb-process-title {
    font-size: 22px !important;
  }
}

/* Make How It Works heading match normal homepage section headings */
.pb-how-it-works > h2,
.pb-how-it-works > .wp-block-heading {
  font-size: clamp(24px, 2.2vw, 34px) !important;
  line-height: 1.12 !important;
  max-width: 720px !important;
  margin-bottom: 16px !important;
}

/* ==========================================
   PepBunny Lab-Verified Quality Section
   ========================================== */

.pb-lab-quality {
  background: #FFF7FA !important;
  padding: 72px 28px !important;
}

.pb-lab-quality-inner {
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  gap: 38px !important;
  align-items: center !important;
}

.pb-lab-quality-copy {
  text-align: left !important;
}

.pb-lab-quality-copy h2,
.pb-lab-quality-copy .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(28px, 2.8vw, 42px) !important;
  line-height: 1.12 !important;
  margin: 0 0 18px !important;
}

.pb-lab-quality-copy p {
  color: #684D58 !important;
  font-size: 19px !important;
  line-height: 1.58 !important;
  margin: 0 0 28px !important;
}

.pb-lab-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  justify-content: flex-start !important;
}

/* Right proof panel */
.pb-lab-proof-panel {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 28px !important;
  padding: 32px !important;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.07) !important;
}

.pb-lab-proof-panel h3,
.pb-lab-proof-panel .wp-block-heading {
  color: #F268A8 !important;
  font-size: 28px !important;
  line-height: 1.16 !important;
  margin: 0 0 22px !important;
}

.pb-lab-proof-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.pb-lab-proof-item {
  background: #FFF7FA !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 18px !important;
  padding: 18px !important;
}

.pb-lab-proof-item p {
  color: #684D58 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

.pb-lab-proof-item strong {
  display: block !important;
  color: #4B2F36 !important;
  font-size: 15px !important;
  margin-bottom: 6px !important;
}

/* Button cleanup inside lab section */
.pb-lab-quality .wp-block-button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.pb-lab-quality .wp-block-button__link {
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.pb-lab-quality .wp-block-button.pb-primary .wp-block-button__link {
  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  border: 1px solid #FF8FA3 !important;
}

.pb-lab-quality .wp-block-button.pb-secondary .wp-block-button__link {
  background: #FFFFFF !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .pb-lab-quality {
    padding: 54px 18px !important;
  }

  .pb-lab-quality-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .pb-lab-quality-copy {
    text-align: center !important;
  }

  .pb-lab-actions {
    justify-content: center !important;
  }

  .pb-lab-proof-panel {
    padding: 24px 20px !important;
  }

  .pb-lab-proof-grid {
    grid-template-columns: 1fr !important;
  }

  .pb-lab-proof-panel h3 {
    text-align: center !important;
    font-size: 24px !important;
  }
}

/* ==========================================
   PepBunny Fulfillment / Shipping Trust Section
   ========================================== */

.pb-fulfillment {
  background: #FFF7FA !important;
  padding: 72px 28px !important;
}

.pb-fulfillment-inner {
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr) !important;
  gap: 42px !important;
  align-items: center !important;
}

.pb-fulfillment-copy {
  text-align: left !important;
}

.pb-fulfillment-copy h2,
.pb-fulfillment-copy .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(24px, 2.2vw, 34px) !important;
  line-height: 1.12 !important;
  margin: 0 0 16px !important;
}

.pb-fulfillment-copy > p {
  color: #684D58 !important;
  font-size: 19px !important;
  line-height: 1.58 !important;
  margin: 0 0 28px !important;
  max-width: 680px !important;
}

.pb-fulfillment-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

.pb-fulfillment-card {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 18px !important;
  padding: 18px 20px !important;
  box-shadow: 0 8px 22px rgba(78, 52, 46, 0.05) !important;
}

.pb-fulfillment-card p {
  color: #684D58 !important;
  font-size: 15px !important;
  line-height: 1.48 !important;
  margin: 0 !important;
}

.pb-fulfillment-card strong {
  display: block !important;
  color: #4B2F36 !important;
  font-size: 15px !important;
  margin-bottom: 5px !important;
}

.pb-fulfillment-visual img {
  width: 100% !important;
  display: block !important;
  border-radius: 28px !important;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.08) !important;
}

/* Mobile */
@media (max-width: 768px) {
  .pb-fulfillment {
    padding: 54px 18px !important;
  }

  .pb-fulfillment-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .pb-fulfillment-copy {
    text-align: center !important;
  }

  .pb-fulfillment-copy > p {
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 17px !important;
  }

  .pb-fulfillment-card {
    text-align: left !important;
  }
}

/* ==========================================
   PepBunny Sitewide Page Polish
   Applies homepage-level elegance to normal pages
   ========================================== */

/* Global page canvas */
body:not(.home) {
  background: #FFF7FA !important;
}

/* Main content breathing room */
body:not(.home) .site-content,
body:not(.home) .content-area,
body:not(.home) .site-main {
  background: #FFF7FA !important;
}

/* Main article/page shell */
body.page:not(.home):not(:has(.pb-lab-page)):not(:has(.pb-standards-page)):not(:has(.pb-affiliate-page)) .inside-article,
body.single-post .inside-article,
body.error404 .inside-article {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 64px 48px !important;
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 30px !important;
  box-shadow: 0 12px 34px rgba(78, 52, 46, 0.07) !important;
}

/* Page titles */
body.page:not(.home) .entry-title,
body.single-post .entry-title,
body.error404 .entry-title {
  color: #F268A8 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.08 !important;
  text-align: center !important;
  margin: 0 auto 24px !important;
  max-width: 900px !important;
}

/* General content width */
body.page:not(.home) .entry-content,
body.single-post .entry-content {
  color: #684D58 !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
}

/* Paragraphs and lists */
body.page:not(.home) .entry-content p,
body.page:not(.home) .entry-content li,
body.single-post .entry-content p,
body.single-post .entry-content li {
  color: #684D58 !important;
}

/* Headings inside normal pages */
body.page:not(.home) .entry-content h2,
body.page:not(.home) .entry-content h3,
body.page:not(.home) .entry-content h4,
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4 {
  color: #F268A8 !important;
  line-height: 1.15 !important;
}

body.page:not(.home) .entry-content h2,
body.single-post .entry-content h2 {
  font-size: clamp(28px, 2.8vw, 40px) !important;
  margin-top: 38px !important;
  margin-bottom: 16px !important;
}

body.page:not(.home) .entry-content h3,
body.single-post .entry-content h3 {
  font-size: clamp(23px, 2.2vw, 30px) !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
}

/* Strong text */
body.page:not(.home) .entry-content strong,
body.page:not(.home) .entry-content b,
body.single-post .entry-content strong,
body.single-post .entry-content b {
  color: #4B2F36 !important;
  font-weight: 800 !important;
}

/* Links */
body.page:not(.home) .entry-content a:not(.wp-block-button__link):not(.button):not(.gb-button),
body.single-post .entry-content a:not(.wp-block-button__link):not(.button):not(.gb-button) {
  color: #D85B93 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body.page:not(.home) .entry-content a:hover,
body.single-post .entry-content a:hover {
  color: #8A2F57 !important;
}

/* Separators */
body.page:not(.home) .entry-content hr,
body.page:not(.home) .entry-content .wp-block-separator,
body.single-post .entry-content hr,
body.single-post .entry-content .wp-block-separator {
  border: 0 !important;
  border-top: 2px solid #E8B8C9 !important;
  opacity: 1 !important;
  margin: 36px auto !important;
}

/* Generic content cards for blocks/groups */
body.page:not(.home) .entry-content .wp-block-group:not(.alignfull),
body.page:not(.home) .entry-content .gb-container:not(.alignfull),
body.single-post .entry-content .wp-block-group:not(.alignfull),
body.single-post .entry-content .gb-container:not(.alignfull) {
  border-radius: 24px;
}

/* Tables */
body.page:not(.home) .entry-content table,
body.single-post .entry-content table,
.woocommerce table.shop_table {
  width: 100% !important;
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(78, 52, 46, 0.05) !important;
}

body.page:not(.home) .entry-content th,
body.single-post .entry-content th,
.woocommerce table.shop_table th {
  color: #4B2F36 !important;
  background: #FFF7FA !important;
  font-weight: 800 !important;
}

body.page:not(.home) .entry-content td,
body.page:not(.home) .entry-content th,
body.single-post .entry-content td,
body.single-post .entry-content th,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  border-color: #F2D6E1 !important;
  padding: 14px 16px !important;
}

/* Forms, checkout fields, contact fields */
body:not(.home) input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
body:not(.home) textarea,
body:not(.home) select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: #FFFDFE !important;
  color: #684D58 !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 16px !important;
  padding: 13px 15px !important;
  box-shadow: 0 4px 12px rgba(78, 52, 46, 0.04) !important;
}

body:not(.home) input:focus,
body:not(.home) textarea:focus,
body:not(.home) select:focus {
  border-color: #F2B8D0 !important;
  box-shadow: 0 0 0 3px rgba(242, 184, 208, 0.35) !important;
  outline: none !important;
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #FFFDFE !important;
  color: #684D58 !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 22px rgba(78, 52, 46, 0.06) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: #D85B93 !important;
}

/* Cart / checkout containers */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 28px !important;
  padding: 36px !important;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.07) !important;
}

/* Checkout boxes */
.woocommerce-checkout-review-order,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 24px !important;
  padding: 24px !important;
  box-shadow: 0 8px 22px rgba(78, 52, 46, 0.05) !important;
}

/* Account navigation */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid #F2D6E1 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block !important;
  color: #8A2F57 !important;
  font-weight: 800 !important;
  padding: 12px 0 !important;
  text-decoration: none !important;
}

/* FAQ/details blocks if used */
body.page:not(.home) details,
body.single-post details {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 20px !important;
  padding: 18px 20px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 6px 18px rgba(78, 52, 46, 0.05) !important;
}

body.page:not(.home) summary,
body.single-post summary {
  color: #4B2F36 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

/* Images on normal pages */
body.page:not(.home) .entry-content img,
body.single-post .entry-content img {
  border-radius: 24px;
}

/* Mobile cleanup */
@media (max-width: 768px) {
  body.page:not(.home):not(:has(.pb-lab-page)):not(:has(.pb-standards-page)):not(:has(.pb-affiliate-page)) .inside-article,
  body.single-post .inside-article,
  body.error404 .inside-article {
    padding: 38px 22px !important;
    border-radius: 24px !important;
  }

  body.page:not(.home) .entry-title,
  body.single-post .entry-title,
  body.error404 .entry-title {
    font-size: clamp(30px, 8vw, 40px) !important;
  }

  .woocommerce-checkout .entry-content,
  .woocommerce-account .entry-content {
    padding: 24px 18px !important;
    border-radius: 24px !important;
  }

  .woocommerce-checkout-review-order,
  .woocommerce-billing-fields,
  .woocommerce-shipping-fields,
  .woocommerce-additional-fields,
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 20px !important;
    border-radius: 20px !important;
  }
}

/* ==========================================
   PepBunny Sitewide Width + Checkout Rescue Patch
   Put this at the VERY BOTTOM of Additional CSS
   ========================================== */

/* Let non-home pages use real width instead of a skinny strip */
body.page:not(.home) .site-content,
body.page:not(.home) .content-area,
body.page:not(.home) .site-main,
body.single-post .site-content,
body.single-post .content-area,
body.single-post .site-main {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Normal non-home page shell: wide, premium, not skinny */
body.page:not(.home):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account):not(:has(.pb-lab-page)):not(:has(.pb-standards-page)):not(:has(.pb-affiliate-page)) .inside-article,
body.single-post .inside-article,
body.error404 .inside-article {
  width: min(1120px, calc(100vw - 64px)) !important;
  max-width: none !important;
  margin: 42px auto !important;
  padding: 56px clamp(28px, 4vw, 56px) !important;
  box-sizing: border-box !important;

  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 30px !important;
  box-shadow: 0 12px 34px rgba(78, 52, 46, 0.07) !important;
}

/* Make regular page content breathe wider */
body.page:not(.home):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account):not(:has(.pb-lab-page)):not(:has(.pb-standards-page)):not(:has(.pb-affiliate-page)) .entry-content > *,
body.single-post .entry-content > * {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page:not(.home):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account):not(:has(.pb-lab-page)):not(:has(.pb-standards-page)):not(:has(.pb-affiliate-page)) .entry-content > .alignwide,
body.single-post .entry-content > .alignwide {
  max-width: 1060px !important;
}

body.page:not(.home):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account):not(:has(.pb-lab-page)):not(:has(.pb-standards-page)):not(:has(.pb-affiliate-page)) .entry-content > .alignfull,
body.single-post .entry-content > .alignfull {
  max-width: none !important;
  width: 100% !important;
}

/* ==========================================
   WooCommerce cart / checkout / account should NOT be double-carded
   ========================================== */

.woocommerce-cart .inside-article,
.woocommerce-checkout .inside-article,
.woocommerce-account .inside-article {
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin: 36px auto !important;
  padding: 42px clamp(22px, 3vw, 44px) !important;
  box-sizing: border-box !important;

  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 30px !important;
  box-shadow: 0 12px 34px rgba(78, 52, 46, 0.07) !important;
}

/* Remove the nested entry-content card on Woo pages */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Checkout block width rescue */
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout .wc-block-components-sidebar-layout,
.woocommerce-checkout .wc-block-components-main,
.woocommerce-checkout .wc-block-components-sidebar {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Checkout headings: branded but not monstrous */
.woocommerce-checkout .entry-title,
.woocommerce-cart .entry-title,
.woocommerce-account .entry-title {
  color: #F268A8 !important;
  font-size: clamp(34px, 4vw, 50px) !important;
  line-height: 1.08 !important;
  text-align: center !important;
  margin: 0 auto 32px !important;
}

/* Woo block checkout section titles */
.woocommerce-checkout .wc-block-components-title,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout h2,
.woocommerce-checkout h3 {
  color: #F268A8 !important;
  line-height: 1.12 !important;
}

/* Fix Woo block input label overlap caused by global input styling */
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox input,
.woocommerce-checkout .wc-block-components-address-form input,
.woocommerce-checkout .wc-block-components-address-form select {
  min-height: 56px !important;
  padding: 22px 16px 8px !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
  border-radius: 16px !important;
}

.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox label {
  font-size: 13px !important;
  line-height: 1.1 !important;
}

/* Prevent checkout fields from overflowing their containers */
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-cart input,
.woocommerce-cart select,
.woocommerce-cart textarea,
.woocommerce-account input,
.woocommerce-account select,
.woocommerce-account textarea {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ==========================================
   PepBunny definitive mobile layout contract
   Replaces stacked emergency patches with one restrained override.
   ========================================== */

@media (max-width: 768px) {
  /* Keep the viewport stable without clipping component internals. */
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  /* GeneratePress desktop gutters are too heavy on phones. */
  .site-content,
  .content-area,
  .site-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .site-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Home cover remains a real edge-to-edge banner. */
  body.home .pepbunny-hero {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
  }

  body.home .pepbunny-hero .wp-block-cover__inner-container {
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }

  body.home .pepbunny-hero h1 {
    font-size: clamp(34px, 9vw, 42px) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
  }

  /* Normal content cards use the phone instead of becoming a narrow strip. */
  body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(:has(.pb-lab-page)):not(:has(.pb-standards-page)):not(:has(.pb-affiliate-page)) .inside-article,
  body.single-post .inside-article,
  body.error404 .inside-article {
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    margin: 8px auto !important;
    padding: 24px 14px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
  }

  body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(:has(.pb-lab-page)):not(:has(.pb-standards-page)):not(:has(.pb-affiliate-page)) .entry-content > *,
  body.single-post .entry-content > * {
    max-width: 100% !important;
  }

  /* Woo pages get a nearly edge-to-edge shell. Do not clip Woo internals. */
  .woocommerce-checkout .inside-article,
  .woocommerce-account .inside-article {
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    margin: 8px auto !important;
    padding: 20px 12px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .woocommerce-checkout .entry-content,
  .woocommerce-account .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* Let WooCommerce Blocks keep their native responsive structure. */
  .woocommerce-checkout .wc-block-checkout,
  .woocommerce-checkout .wc-block-checkout__main,
  .woocommerce-checkout .wc-block-checkout__sidebar,
  .woocommerce-checkout .wc-block-components-sidebar-layout,
  .woocommerce-checkout .wc-block-components-main,
  .woocommerce-checkout .wc-block-components-sidebar {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .wc-block-components-sidebar-layout {
    display: block !important;
  }

  .woocommerce-checkout .wc-block-components-main,
  .woocommerce-checkout .wc-block-components-sidebar {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Inputs fit their cards. Radio and checkbox controls retain their real size. */
  .woocommerce-checkout input:not([type="radio"]):not([type="checkbox"]),
  .woocommerce-checkout select,
  .woocommerce-checkout textarea,
  .woocommerce-account input:not([type="radio"]):not([type="checkbox"]),
  .woocommerce-account select,
  .woocommerce-account textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce input[type="radio"],
  .woocommerce input[type="checkbox"],
  .wc-block-components-radio-control__input,
  .wc-block-components-checkbox__input {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
  }

  .wc-block-components-radio-control__input {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
  }

  .wc-block-components-checkbox__input,
  .woocommerce input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
  }

  /* Text may wrap normally, but never break every word into fragments. */
  .woocommerce-checkout .wc-block-components-radio-control__label,
  .woocommerce-checkout .wc-block-components-checkbox__label {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }


  /* Keep checkout branded without restyling Woo's native mobile cart CTA. */
  .woocommerce-checkout .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    max-width: 100% !important;
    background: #FF8FA3 !important;
    color: #1A0F0F !important;
    border: 1px solid #FF8FA3 !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 18px rgba(78, 52, 46, 0.10) !important;
  }

  .woocommerce-checkout .wc-block-components-checkout-place-order-button::after {
    display: none !important;
  }
}

/* ==========================================
   PepBunny WooCommerce Blocks mobile normalization
   Keeps cart and checkout inside the phone canvas.
   ========================================== */

@media (max-width: 768px) {
  /* Checkout: remove desktop offsets from Woo's stepped form layout. */
  .woocommerce-checkout .wc-block-checkout,
  .woocommerce-checkout .wc-block-components-sidebar-layout,
  .woocommerce-checkout .wc-block-components-main,
  .woocommerce-checkout .wc-block-components-sidebar,
  .woocommerce-checkout .wc-block-components-checkout-step,
  .woocommerce-checkout .wc-block-components-checkout-step__container,
  .woocommerce-checkout .wc-block-checkout__contact-fields,
  .woocommerce-checkout .wc-block-checkout__shipping-fields,
  .woocommerce-checkout .wc-block-checkout__billing-fields {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .wc-block-components-checkout-step__heading,
  .woocommerce-checkout .wc-block-components-checkout-step__title,
  .woocommerce-checkout .wc-block-components-title,
  .woocommerce-checkout h2,
  .woocommerce-checkout h3 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: clamp(26px, 7vw, 34px) !important;
    line-height: 1.12 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  /* Checkout options: one readable row per choice, never desktop-width cards. */
  .woocommerce-checkout .wc-block-components-radio-control,
  .woocommerce-checkout .wc-block-components-radio-control__option,
  .woocommerce-checkout .wc-block-components-checkbox,
  .woocommerce-checkout .wc-block-checkout__payment-method,
  .woocommerce-checkout .wc-block-checkout__shipping-method-option {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .wc-block-components-radio-control__option,
  .woocommerce-checkout .wc-block-components-checkbox {
    align-items: flex-start !important;
  }

  .woocommerce-checkout .wc-block-components-radio-control__label,
  .woocommerce-checkout .wc-block-components-checkbox__label {
    min-width: 0 !important;
    max-width: calc(100% - 32px) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .woocommerce-checkout .wc-block-components-checkbox__input,
  .woocommerce-checkout input[type="checkbox"] {
    width: 20px !important;
    max-width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    max-height: 20px !important;
    min-height: 20px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
    flex: 0 0 20px !important;
    transform: none !important;
  }

  .woocommerce-checkout .wc-block-components-radio-control__input,
  .woocommerce-checkout input[type="radio"] {
    width: 18px !important;
    max-width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    max-height: 18px !important;
    min-height: 18px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
    flex: 0 0 18px !important;
    transform: none !important;
  }

  .woocommerce-checkout .wc-block-components-checkout-place-order-button,
  .woocommerce-checkout .wc-block-components-checkout-place-order-button * {
    max-width: 100% !important;
    color: #1A0F0F !important;
  }
}

/* PepBunny cart mobile native reset
   WooCommerce owns the responsive cart layout and sticky submit area.
   Keep our theme shell inside the viewport, then get out of Woo's way. */
@media (max-width: 768px) {
  .woocommerce-cart .inside-article {
    width: auto !important;
    max-width: calc(100% - 8px) !important;
    margin: 8px 4px !important;
    padding: 16px 12px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .entry-content {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* The inline item price already communicates the value on narrow screens. */
  .woocommerce-cart .wc-block-cart-item__total {
    display: none !important;
  }

  /* Prevent the global decorative button bubble from touching Woo's native CTA. */
  .woocommerce-cart .wc-block-cart__submit-button::after {
    display: none !important;
  }
}

/* PepBunny Woo cart component boundary + branded mobile submit
   Keep Woo's native responsive behavior. Only contain its outer boxes and
   theme the public Woo button component / native mobile submit container. */
@media (max-width: 768px) {
  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-cart .wc-block-cart,
  .woocommerce-cart .wc-block-cart__main,
  .woocommerce-cart .wc-block-cart__sidebar,
  .woocommerce-cart .wc-block-cart__totals,
  .woocommerce-cart .wc-block-components-totals-wrapper,
  .woocommerce-cart .wc-block-components-totals-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .wc-block-cart__submit-container {
    background: #FFF7FA !important;
    color: rgba(242, 184, 208, 0.55) !important;
  }

  .woocommerce-cart .wc-block-cart__submit-container::before {
    color: rgba(242, 184, 208, 0.55) !important;
  }

  .woocommerce-cart .wc-block-components-button {
    background: #FF8FA3 !important;
    color: #1A0F0F !important;
    border: 1px solid #FF8FA3 !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 18px rgba(78, 52, 46, 0.10) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  .woocommerce-cart .wc-block-components-button:hover,
  .woocommerce-cart .wc-block-components-button:focus-visible {
    background: #FFC4DA !important;
    border-color: #FFC4DA !important;
    color: #1A0F0F !important;
  }
}

/* PepBunny mobile cart root alignment correction
   The Cart block arrives as .alignwide. Our page-shell styling must not let
   that wrapper keep a negative wide-block gutter on phone screens. */
@media (max-width: 768px) {
  .woocommerce-cart .wp-block-woocommerce-cart.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button,
  .woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button * {
    color: #1A0F0F !important;
    -webkit-text-fill-color: #1A0F0F !important;
  }
}

/* ==========================================
   PepBunny Lab Reports Hub
   ========================================== */

.pb-lab-hub-page {
  background: #FFF7FA !important;
  color: #684D58 !important;
  padding: 72px 28px 88px !important;
}

.pb-lab-hub-page > * {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ------------------------------------------
   Hero / Intro
   ------------------------------------------ */

.pb-lab-hub-hero {
  text-align: center !important;
  margin-bottom: 36px !important;
}

.pb-lab-hub-hero h1,
.pb-lab-hub-hero .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(46px, 6vw, 78px) !important;
  line-height: 1.02 !important;
  margin: 0 0 18px !important;
  letter-spacing: 0.01em !important;
}

.pb-lab-hub-hero p {
  color: #684D58 !important;
  font-size: clamp(18px, 2vw, 23px) !important;
  line-height: 1.55 !important;
  max-width: 780px !important;
  margin: 0 auto 24px !important;
}

/* Hero trust chips */
.pb-lab-hub-chip-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

.pb-lab-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #FBEAF1 !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
  border-radius: 999px !important;

  padding: 8px 15px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

/* ------------------------------------------
   Intro trust card
   ------------------------------------------ */

.pb-lab-hub-intro-card {
  background: linear-gradient(135deg, #FFFDFE 0%, #FFF4F8 100%) !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 28px !important;
  padding: 34px 40px !important;
  margin-bottom: 42px !important;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.08) !important;
  text-align: center !important;
}

.pb-lab-hub-intro-card h2,
.pb-lab-hub-intro-card .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  margin: 0 0 14px !important;
}

.pb-lab-hub-intro-card p {
  color: #684D58 !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}

/* ------------------------------------------
   Reports section
   ------------------------------------------ */

.pb-lab-reports-section {
  margin-top: 44px !important;
}

.pb-lab-reports-section > h2,
.pb-lab-reports-section > .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(36px, 5vw, 58px) !important;
  line-height: 1.08 !important;
  text-align: center !important;
  margin: 0 0 34px !important;
}

.pb-lab-report-card-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
}

/* Individual report cards */
.pb-lab-report-card {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 26px !important;
  padding: 28px !important;
  box-shadow: 0 10px 28px rgba(78, 52, 46, 0.07) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.pb-lab-report-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 42px rgba(78, 52, 46, 0.11) !important;
}

.pb-lab-report-card-top {
  display: flex !important;
  justify-content: flex-start !important;
  margin-bottom: 16px !important;
}

.pb-report-status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #C85A87 !important;
  color: #FFFFFF !important;
  border: 1px solid #C85A87 !important;
  border-radius: 999px !important;

  padding: 7px 13px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
}

.pb-report-title,
.pb-lab-report-card h3 {
  color: #F268A8 !important;
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.12 !important;
  margin: 0 0 12px !important;
}

.pb-lab-report-card p {
  color: #684D58 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin-bottom: 18px !important;
}

/* Report meta grid */
.pb-report-meta-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 22px 0 24px !important;
}

.pb-report-meta {
  background: #FFF7FA !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 16px !important;
  padding: 15px !important;
}

.pb-report-meta p,
.pb-report-meta .gb-headline,
.pb-report-meta .wp-block-heading {
  margin: 0 !important;
}

.pb-report-meta p:first-child,
.pb-report-meta > *:first-child {
  display: block !important;
  color: #4B2F36 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  line-height: 1.2 !important;
  margin-bottom: 7px !important;
}

.pb-report-meta p:last-child,
.pb-report-meta > *:last-child {
  display: block !important;
  color: #8A2F57 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

/* Report action buttons */
.pb-report-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.pb-report-actions .wp-block-button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pb-report-actions .wp-block-button__link {
  border-radius: 999px !important;
  padding: 13px 22px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(78, 52, 46, 0.09) !important;
}

/* Primary report button */
.pb-report-actions .wp-block-button.pb-primary .wp-block-button__link,
.pb-report-actions .pb-primary .wp-block-button__link {
  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  border: 1px solid #FF8FA3 !important;
}

/* Secondary report button */
.pb-report-actions .wp-block-button.pb-secondary .wp-block-button__link,
.pb-report-actions .pb-secondary .wp-block-button__link {
  background: #FFFFFF !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
}

.pb-report-actions .wp-block-button__link:hover {
  transform: translateY(-1px) !important;
}

/* Kill global animated bubble on report buttons if it appears */
.pb-report-actions .wp-block-button__link::after {
  display: none !important;
}

/* ------------------------------------------
   How to read reports
   ------------------------------------------ */

.pb-report-guide-section {
  margin-top: 58px !important;
}

.pb-report-guide-section > h2,
.pb-report-guide-section > .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(34px, 4.4vw, 52px) !important;
  line-height: 1.08 !important;
  text-align: center !important;
  margin: 0 0 30px !important;
}

.pb-report-guide-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.pb-report-guide-card {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 22px !important;
  padding: 22px !important;
  box-shadow: 0 8px 22px rgba(78, 52, 46, 0.06) !important;
}

.pb-report-guide-card h3,
.pb-report-guide-card .wp-block-heading {
  color: #8A2F57 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  margin: 0 0 10px !important;
}

.pb-report-guide-card p {
  color: #684D58 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ------------------------------------------
   Disclaimer
   ------------------------------------------ */

.pb-lab-hub-disclaimer {
  max-width: 920px !important;
  color: #8A7A80 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  text-align: center !important;
  margin: 42px auto 0 !important;
  padding-top: 18px !important;
  border-top: 1px solid #F2D6E1 !important;
}

/* ------------------------------------------
   Mobile / tablet
   ------------------------------------------ */

@media (max-width: 980px) {
  .pb-lab-report-card-grid {
    grid-template-columns: 1fr !important;
  }

  .pb-report-guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .pb-lab-hub-page {
    padding: 48px 18px 64px !important;
  }

  .pb-lab-hub-intro-card,
  .pb-lab-report-card {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .pb-report-meta-grid {
    grid-template-columns: 1fr !important;
  }

  .pb-report-actions {
    flex-direction: column !important;
  }

  .pb-report-actions .wp-block-button,
  .pb-report-actions .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 560px) {
  .pb-report-guide-grid {
    grid-template-columns: 1fr !important;
  }

  .pb-lab-hub-chip-row {
    justify-content: center !important;
  }

  .pb-lab-chip {
    font-size: 12px !important;
    padding: 7px 12px !important;
  }
}

.pb-lab-hub-hero {
  padding-top: 24px !important;
}

.pb-report-status {
  background: #D96A99 !important;
  border-color: #D96A99 !important;
}

/* Lab Hub hero size refinement */
.pb-lab-hub-hero h1,
.pb-lab-hub-hero .wp-block-heading {
  font-size: clamp(42px, 5vw, 64px) !important;
  line-height: 1.04 !important;
  margin-bottom: 14px !important;
}

/* Lab Hub hero subheadline refinement */
.pb-lab-hub-hero p {
  font-size: clamp(17px, 1.7vw, 21px) !important;
  line-height: 1.5 !important;
  margin-bottom: 20px !important;
}

/* Lab Hub top chip refinement */
.pb-lab-chip {
  padding: 7px 13px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Slightly tighter chip row */
.pb-lab-hub-chip-row {
  gap: 9px !important;
  margin-top: 18px !important;
}

.pb-report-guide-card {
  padding: 26px !important;
}

/* ==========================================
   WooCommerce product description tab cleanup
   ========================================== */

/* Hide the redundant big "Description" heading inside the description panel */
.woocommerce div.product .woocommerce-Tabs-panel--description > h2:first-child {
  display: none !important;
}

/* Clean up the description tab label */
.woocommerce div.product .woocommerce-tabs ul.tabs li.description_tab a {
  color: #F268A8 !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  text-decoration: none !important;
}

/* Make inactive/active tab area cleaner */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: #FFF7FA !important;
  border-color: #F2D6E1 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #FFFFFF !important;
  border-bottom-color: #FFFFFF !important;
}

/* Optional: reduce awkward gap between tab and description content */
.woocommerce div.product .woocommerce-Tabs-panel--description {
  padding-top: 18px !important;
}

/* ==========================================
   PepBunny Header + Footer Emergency Cleanup
   Put this at VERY BOTTOM of Additional CSS
   ========================================== */


/* ==========================================
   HEADER: Desktop = float-right nav, Mobile = sane stacked header
   ========================================== */

/* Desktop header tightening */
@media (min-width: 769px) {
  .site-header .inside-header {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  .main-navigation .inside-navigation {
    min-height: 0 !important;
  }

  .main-navigation .main-nav ul li a {
    line-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ==========================================
   FOOTER: white, padded, readable, no squished links
   ========================================== */

/* Override old rose footer background */
.site-footer,
.site-footer *,
.pb-site-footer,
.pb-site-footer * {
  box-sizing: border-box !important;
}

.site-footer,
.pb-site-footer {
  background: #FFFFFF !important;
  color: #684D58 !important;
}

/* Footer outer spacing */
.pb-site-footer {
  padding: 34px 20px 28px !important;
  border-top: 1px solid #F2D6E1 !important;
}

/* If footer element doesn't render class on outer wrapper, catch the GeneratePress footer area */
.site-footer {
  padding: 34px 20px 28px !important;
  border-top: 1px solid #F2D6E1 !important;
}

/* Footer row should wrap instead of crunching */
.pb-site-footer .gb-grid-wrapper,
.pb-site-footer .gb-container,
.pb-site-footer .wp-block-group,
.pb-site-footer .wp-block-navigation,
.pb-site-footer .wp-block-navigation__container {
  max-width: 1180px !important;
}

/* Footer nav desktop/tablet/mobile base */
.pb-footer-nav,
.pb-footer-nav .wp-block-navigation__responsive-container,
.pb-footer-nav .wp-block-navigation__responsive-close,
.pb-footer-nav .wp-block-navigation__responsive-dialog,
.pb-footer-nav .wp-block-navigation__container {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
}

/* Force footer links to behave like links, not cramped words */
.pb-footer-nav .wp-block-navigation__container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 24px !important;
  row-gap: 10px !important;
  padding: 0 !important;
  margin: 0 auto !important;
  list-style: none !important;
}

.pb-footer-nav .wp-block-navigation-item {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pb-footer-nav .wp-block-navigation-item__content {
  display: inline-block !important;
  color: #684D58 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  padding: 6px 4px !important;
  white-space: nowrap !important;
}

.pb-footer-nav .wp-block-navigation-item__content:hover {
  color: #F268A8 !important;
}

/* Mobile footer: stack links cleanly */
@media (max-width: 768px) {
  .pb-site-footer,
  .site-footer {
    background: #FFFFFF !important;
    padding: 28px 18px 26px !important;
  }

  .pb-footer-nav {
    display: block !important;
    width: 100% !important;
    margin: 0 auto 22px !important;
    background: transparent !important;
  }

  .pb-footer-nav .wp-block-navigation__responsive-container-open,
  .pb-footer-nav .wp-block-navigation__responsive-container-close {
    display: none !important;
  }

  .pb-footer-nav .wp-block-navigation__responsive-container,
  .pb-footer-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: inherit !important;
    transform: none !important;
  }

  .pb-footer-nav .wp-block-navigation__responsive-close,
  .pb-footer-nav .wp-block-navigation__responsive-dialog {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    transform: none !important;
  }

  .pb-footer-nav .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
  }

  .pb-footer-nav .wp-block-navigation-item__content {
    color: #684D58 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    padding: 5px 0 !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* Footer separator */
.pb-site-footer .wp-block-separator,
.site-footer .wp-block-separator,
.pb-site-footer hr,
.site-footer hr {
  border: 0 !important;
  border-top: 1px solid #F2D6E1 !important;
  opacity: 1 !important;
  margin: 22px auto !important;
  max-width: 1180px !important;
}

/* Disclaimer: padded, contained, subtle */
.pb-site-footer p,
.site-footer p {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  color: #8A7A80 !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

@media (max-width: 768px) {
  .pb-site-footer p,
  .site-footer p {
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    text-align: left !important;
  }
}

/* ==========================================
   PepBunny footer mobile final cleanup
   ========================================== */

@media (max-width: 768px) {

  /* Footer should match the site: clean white, not blocky blush */
  .site-footer,
  .pb-site-footer,
  footer {
    background: #FFFFFF !important;
    padding: 28px 18px 30px !important;
  }

  /* Kill weird blush boxes inside footer nav/disclaimer containers */
  .site-footer .gb-container,
  .site-footer .wp-block-group,
  .pb-site-footer .gb-container,
  .pb-site-footer .wp-block-group,
  footer .gb-container,
  footer .wp-block-group {
    background: transparent !important;
  }

  /* Footer nav wrapper */
  .pb-footer-nav,
  .site-footer .wp-block-navigation,
  footer .wp-block-navigation {
    width: 100% !important;
    margin: 0 auto 22px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* Force menu container to wrap with real spacing */
  .pb-footer-nav .wp-block-navigation__container,
  .site-footer .wp-block-navigation__container,
  footer .wp-block-navigation__container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;

    column-gap: 18px !important;
    row-gap: 12px !important;

    width: 100% !important;
    padding: 0 16px !important;
    margin: 0 auto !important;
    list-style: none !important;
  }

  /* Each menu item gets its own space */
  .pb-footer-nav .wp-block-navigation-item,
  .site-footer .wp-block-navigation-item,
  footer .wp-block-navigation-item {
    display: inline-flex !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Footer links: use the pretty pink as normal color */
  .pb-footer-nav .wp-block-navigation-item__content,
  .site-footer .wp-block-navigation-item__content,
  footer .wp-block-navigation-item__content,
  .pb-footer-nav a,
  .site-footer a,
  footer a {
    display: inline-block !important;

    color: #F268A8 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;

    padding: 4px 2px !important;
    white-space: nowrap !important;
  }

  .pb-footer-nav .wp-block-navigation-item__content:hover,
  .site-footer .wp-block-navigation-item__content:hover,
  footer .wp-block-navigation-item__content:hover,
  .pb-footer-nav a:hover,
  .site-footer a:hover,
  footer a:hover {
    color: #C85A87 !important;
  }

  /* Separator: subtle, not harsh */
  .site-footer hr,
  .site-footer .wp-block-separator,
  .pb-site-footer hr,
  .pb-site-footer .wp-block-separator,
  footer hr,
  footer .wp-block-separator {
    border: 0 !important;
    border-top: 1px solid #F2D6E1 !important;
    margin: 24px auto !important;
    opacity: 1 !important;
    max-width: 92% !important;
  }

  /* Disclaimer: contained, padded, quiet */
  .site-footer p,
  .pb-site-footer p,
  footer p {
    background: transparent !important;
    color: #8A7A80 !important;

    font-size: 12px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;

    max-width: 92% !important;
    margin: 0 auto !important;
    padding: 0 14px !important;
    text-align: left !important;
  }
}

/* ==========================================
   PepBunny footer hard-target cleanup
   ========================================== */

/* Footer base */
.pb-site-footer,
.site-footer {
  background: #FFFFFF !important;
  color: #684D58 !important;
}

/* Kill weird footer inner backgrounds */
.pb-site-footer .gb-container,
.pb-site-footer .wp-block-group,
.pb-site-footer .gb-block-is-current,
.site-footer .gb-container,
.site-footer .wp-block-group {
  background: transparent !important;
}

/* Menu wrapper */
.pb-footer-menu,
.pb-footer-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px 24px !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
  background: transparent !important;
}

/* Catch GenerateBlocks / WP / generic menu structures */
.pb-footer-menu ul,
.pb-footer-nav ul,
.pb-footer-menu .gb-menu,
.pb-footer-nav .gb-menu,
.pb-footer-menu .wp-block-navigation__container,
.pb-footer-nav .wp-block-navigation__container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px 24px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Force every item/link to separate */
.pb-footer-menu li,
.pb-footer-nav li,
.pb-footer-menu .menu-item,
.pb-footer-nav .menu-item,
.pb-footer-menu .gb-menu-item,
.pb-footer-nav .gb-menu-item,
.pb-footer-menu > *,
.pb-footer-nav > * {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Footer link color + spacing */
.pb-footer-menu a,
.pb-footer-nav a,
.pb-footer-menu .gb-menu-link,
.pb-footer-nav .gb-menu-link,
.pb-footer-menu .wp-block-navigation-item__content,
.pb-footer-nav .wp-block-navigation-item__content {
  display: inline-block !important;
  color: #F268A8 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  padding: 5px 8px !important;
  margin: 0 6px 10px !important;
  white-space: nowrap !important;
}

.pb-footer-menu a:hover,
.pb-footer-nav a:hover {
  color: #C85A87 !important;
}

/* Separator */
.pb-footer-separator,
.pb-site-footer .wp-block-separator,
.site-footer .wp-block-separator {
  border: 0 !important;
  border-top: 1px solid #F2D6E1 !important;
  max-width: 920px !important;
  margin: 26px auto !important;
  opacity: 1 !important;
}

/* Disclaimer */
.pb-footer-disclaimer {
  display: block !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;

  background: transparent !important;
  color: #8A7A80 !important;

  font-size: 12px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

/* Mobile footer */
@media (max-width: 768px) {
  .pb-site-footer,
  .site-footer {
    background: #FFFFFF !important;
    padding: 26px 18px 30px !important;
  }

  .pb-footer-menu,
  .pb-footer-nav,
  .pb-footer-menu ul,
  .pb-footer-nav ul,
  .pb-footer-menu .gb-menu,
  .pb-footer-nav .gb-menu {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 0 !important;
  }

  .pb-footer-menu a,
  .pb-footer-nav a,
  .pb-footer-menu .gb-menu-link,
  .pb-footer-nav .gb-menu-link,
  .pb-footer-menu .wp-block-navigation-item__content,
  .pb-footer-nav .wp-block-navigation-item__content {
    color: #F268A8 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    padding: 3px 0 !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .pb-footer-disclaimer {
    max-width: 92% !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    text-align: left !important;
    background: transparent !important;
  }
}

/* ==========================================
   PepBunny footer final polish
   ========================================== */

/* Center footer nav on desktop too */
.pb-footer-menu,
.pb-footer-nav,
.pb-footer-menu ul,
.pb-footer-nav ul,
.pb-footer-menu .wp-block-navigation__container,
.pb-footer-nav .wp-block-navigation__container {
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Remove disclaimer blush box/background */
.pb-footer-disclaimer,
.pb-site-footer .pb-footer-disclaimer,
.site-footer .pb-footer-disclaimer,
footer .pb-footer-disclaimer {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* If the paragraph is inside a colored container, kill that container background too */
.pb-footer-disclaimer,
.pb-footer-disclaimer *,
.pb-footer-disclaimer:before,
.pb-footer-disclaimer:after {
  background-color: transparent !important;
}

/* Make disclaimer feel quieter and cleaner */
.pb-footer-disclaimer {
  max-width: 920px !important;
  color: #8A7A80 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  padding: 0 18px !important;
  margin: 0 auto !important;
}

/* Remove duplicate top separator: hide the first separator inside the footer */
.pb-site-footer .wp-block-separator:first-of-type,
.site-footer .wp-block-separator:first-of-type,
footer .wp-block-separator:first-of-type {
  display: none !important;
}

/* Keep the remaining separator soft and centered */
.pb-footer-separator,
.pb-site-footer .wp-block-separator,
.site-footer .wp-block-separator,
footer .wp-block-separator {
  border: 0 !important;
  border-top: 1px solid #F2D6E1 !important;
  opacity: 1 !important;
  max-width: 920px !important;
  margin: 24px auto !important;
}

/* Desktop footer nav spacing */
@media (min-width: 769px) {
  .pb-footer-menu,
  .pb-footer-nav,
  .pb-footer-menu ul,
  .pb-footer-nav ul,
  .pb-footer-menu .wp-block-navigation__container,
  .pb-footer-nav .wp-block-navigation__container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    column-gap: 28px !important;
    row-gap: 12px !important;
    width: 100% !important;
  }

  .pb-footer-menu a,
  .pb-footer-nav a,
  .pb-footer-menu .wp-block-navigation-item__content,
  .pb-footer-nav .wp-block-navigation-item__content {
    color: #F268A8 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-align: center !important;
  }

  .pb-footer-disclaimer {
    text-align: center !important;
  }
}

/* Mobile: make disclaimer less giant-looking */
@media (max-width: 768px) {
  .pb-footer-disclaimer {
    max-width: 88% !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }
}

	.pb-footer-disclaimer-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

	/* ==========================================
   PepBunny footer final-final patch
   Last stab: center desktop nav, single separator,
   mobile separator spacing, disclaimer polish
   ========================================== */


/* 1. Desktop footer nav: force true center */
@media (min-width: 769px) {
  .pb-site-footer .wp-block-navigation,
  .pb-site-footer .wp-block-navigation__responsive-container,
  .pb-site-footer .wp-block-navigation__responsive-close,
  .pb-site-footer .wp-block-navigation__responsive-dialog,
  .pb-site-footer .wp-block-navigation__container,
  .pb-footer-nav,
  .pb-footer-menu {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .pb-site-footer .wp-block-navigation__container,
  .pb-footer-nav .wp-block-navigation__container,
  .pb-footer-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 34px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pb-site-footer .wp-block-navigation-item,
  .pb-footer-nav .wp-block-navigation-item {
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* 2. Remove duplicate separator lines above footer nav */
/* Hide separator-like borders/hrs that appear before the nav area */
.pb-site-footer > hr:first-child,
.pb-site-footer > .wp-block-separator:first-child,
.site-footer > hr:first-child,
.site-footer > .wp-block-separator:first-child,
footer > hr:first-child,
footer > .wp-block-separator:first-child {
  display: none !important;
}

/* If there are two separators back-to-back, hide the first one */
.pb-site-footer .wp-block-separator + .wp-block-separator,
.site-footer .wp-block-separator + .wp-block-separator,
footer .wp-block-separator + .wp-block-separator,
.pb-site-footer hr + hr,
.site-footer hr + hr,
footer hr + hr {
  display: none !important;
}

/* Kill top border on the footer wrapper if it's creating the second line */
.pb-site-footer,
.site-footer,
footer {
  border-top: 0 !important;
}


/* 3. Keep exactly one nice separator between menu and disclaimer */
.pb-footer-separator,
.pb-site-footer .wp-block-separator,
.site-footer .wp-block-separator,
footer .wp-block-separator,
.pb-site-footer hr,
.site-footer hr,
footer hr {
  display: block !important;
  border: 0 !important;
  border-top: 1px solid #F2D6E1 !important;
  opacity: 1 !important;
  max-width: 920px !important;
  width: calc(100% - 48px) !important;
  margin: 28px auto 28px !important;
}


/* 4. Footer menu link polish */
.pb-site-footer a,
.pb-footer-nav a,
.pb-footer-menu a,
.pb-site-footer .wp-block-navigation-item__content,
.pb-footer-nav .wp-block-navigation-item__content {
  color: #F268A8 !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.pb-site-footer a:hover,
.pb-footer-nav a:hover,
.pb-footer-menu a:hover {
  color: #C85A87 !important;
}


/* 5. Disclaimer: centered desktop, comfortable mobile */
.pb-footer-disclaimer,
.pb-site-footer p,
.site-footer p {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #8A7A80 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}


/* 6. Mobile footer: stacked links + forced separator spacing */
@media (max-width: 768px) {
  .pb-site-footer,
  .site-footer,
  footer {
    background: #FFFFFF !important;
    padding: 30px 18px 34px !important;
  }

  .pb-site-footer .wp-block-navigation,
  .pb-footer-nav,
  .pb-footer-menu {
    margin-bottom: 0 !important;
  }

  .pb-site-footer .wp-block-navigation__container,
  .pb-footer-nav .wp-block-navigation__container,
  .pb-footer-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100% !important;
    text-align: center !important;
  }

  .pb-site-footer .wp-block-navigation-item__content,
  .pb-footer-nav .wp-block-navigation-item__content,
  .pb-site-footer a,
  .pb-footer-nav a,
  .pb-footer-menu a {
    color: #684D58 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
  }

  /* Create breathing room around the menu/disclaimer separator */
  .pb-footer-separator,
  .pb-site-footer .wp-block-separator,
  .site-footer .wp-block-separator,
  footer .wp-block-separator,
  .pb-site-footer hr,
  .site-footer hr,
  footer hr {
    display: block !important;
    border: 0 !important;
    border-top: 1px solid #F2D6E1 !important;
    opacity: 1 !important;
    width: calc(100% - 48px) !important;
    max-width: 720px !important;
    margin: 30px auto 26px !important;
  }

  .pb-footer-disclaimer,
  .pb-site-footer p,
  .site-footer p,
  footer p {
    max-width: 88% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #8A7A80 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    text-align: left !important;
    background: transparent !important;
  }
}

	/* FormForge early release bonus banner */
.pb-formforge-banner {
  display: block !important;
  width: 100% !important;
  background: #FFF7FA !important;
  border-top: 1px solid #F2D6E1 !important;
  border-bottom: 1px solid #F2D6E1 !important;
  padding: 14px 20px !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 5 !important;
}

.pb-formforge-banner__inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  text-align: center !important;
}

.pb-formforge-banner__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #F268A8 !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 14px rgba(242, 104, 168, 0.18) !important;
}

.pb-formforge-banner__text {
  color: #684D58 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}

.pb-formforge-banner__text strong {
  color: #8A2F57 !important;
  font-weight: 800 !important;
}

@media (max-width: 768px) {
  .pb-formforge-banner {
    padding: 12px 16px !important;
  }

  .pb-formforge-banner__inner {
    gap: 10px !important;
  }

  .pb-formforge-banner__badge {
    font-size: 11px !important;
    padding: 7px 11px !important;
  }

  .pb-formforge-banner__text {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

/* ==========================================
   PepBunny Cart + Checkout Desktop Button Polish
   ========================================== */

@media (min-width: 769px) {

  /* Main Woo buttons: cart + checkout */
  .woocommerce-cart .wc-block-cart__submit-button,
  .woocommerce-cart .wc-block-components-button,
  .woocommerce-checkout .wc-block-components-checkout-place-order-button,
  .woocommerce-checkout .wc-block-components-button,
  .wc-block-components-button {
    background: #FF8FA3 !important;
    color: #1A0F0F !important;
    border: 1px solid #FF8FA3 !important;
    border-radius: 999px !important;

    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    padding: 16px 28px !important;
    min-height: 52px !important;

    box-shadow: 0 10px 24px rgba(78, 52, 46, 0.10) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
  }

  .woocommerce-cart .wc-block-cart__submit-button:hover,
  .woocommerce-cart .wc-block-components-button:hover,
  .woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
  .woocommerce-checkout .wc-block-components-button:hover,
  .wc-block-components-button:hover {
    background: #F268A8 !important;
    border-color: #F268A8 !important;
    color: #1A0F0F !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 30px rgba(78, 52, 46, 0.14) !important;
  }

  /* Remove ugly underline from checkout/cart button text */
  .wc-block-components-button,
  .wc-block-components-button *,
  .wc-block-cart__submit-button,
  .wc-block-cart__submit-button *,
  .wc-block-components-checkout-place-order-button,
  .wc-block-components-checkout-place-order-button * {
    text-decoration: none !important;
  }

  /* Cart totals checkout button specifically */
  .wc-block-cart__submit-container {
    margin-top: 22px !important;
  }

  .wc-block-cart__submit-button {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Checkout place order button */
  .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    justify-content: center !important;
    margin-top: 20px !important;
  }

  /* Coupon dropdown/select polish */
  .wc-block-components-totals-coupon__button,
  .wc-block-components-totals-coupon-link,
  .wc-block-components-panel__button {
    color: #8A2F57 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  .wc-block-components-text-input input,
  .wc-block-components-combobox .wc-block-components-combobox-control input,
  .wc-block-components-form .wc-block-components-text-input input,
  .wc-block-components-select .wc-block-components-select__select {
    border: 1px solid #F2B8D0 !important;
    border-radius: 14px !important;
    color: #684D58 !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
  }

  .wc-block-components-text-input input:focus,
  .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
  .wc-block-components-select .wc-block-components-select__select:focus {
    border-color: #F268A8 !important;
    box-shadow: 0 0 0 2px rgba(242, 104, 168, 0.14) !important;
    outline: none !important;
  }

  /* Cart totals / checkout section headings */
  .woocommerce-cart .wc-block-cart__totals-title,
  .woocommerce-cart .wp-block-woocommerce-cart-totals-block h2,
  .woocommerce-checkout .wc-block-components-title,
  .woocommerce-checkout h2,
  .woocommerce-checkout h3 {
    color: #F268A8 !important;
    font-weight: 800 !important;
  }

  /* Cart/checkout price emphasis */
  .wc-block-components-totals-item__value,
  .wc-block-components-product-price,
  .wc-block-components-formatted-money-amount {
    color: #684D58 !important;
    font-weight: 800 !important;
  }
}

/* ==========================================
   PepBunny Our Standards Page
   Scoped to .pb-standards-page only
   ========================================== */

.pb-standards-page {
  background: #FFF7FA !important;
  padding: 0 28px 80px !important;
  color: #684D58 !important;
}

/* Universal standards page text behavior */
.pb-standards-page * {
  box-sizing: border-box !important;
}

.pb-standards-page p {
  color: #684D58 !important;
  line-height: 1.58 !important;
}

.pb-standards-page strong {
  color: #4B2F36 !important;
  font-weight: 800 !important;
}

/* ==========================================
   Hero
   ========================================== */

.pb-standards-hero {
  max-width: 1120px !important;
  margin: 0 auto 42px !important;
  padding: 72px 48px !important;
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 34px !important;
  text-align: center !important;
  box-shadow: 0 14px 36px rgba(78, 52, 46, 0.07) !important;
}

.pb-standards-hero h1,
.pb-standards-hero .wp-block-heading:first-child {
  color: #F268A8 !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  line-height: 1.04 !important;
  margin: 0 auto 18px !important;
  max-width: 900px !important;
}

.pb-standards-hero h2,
.pb-standards-hero h3 {
  color: #8A2F57 !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  line-height: 1.18 !important;
  margin: 0 auto 18px !important;
  max-width: 820px !important;
}

.pb-standards-hero p {
  font-size: 19px !important;
  max-width: 860px !important;
  margin: 0 auto 30px !important;
}

/* ==========================================
   Shared Button Styling
   ========================================== */

.pb-standards-page .pb-product-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.pb-standards-page .wp-block-button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.pb-standards-page .wp-block-button__link {
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(78, 52, 46, 0.08) !important;
}

.pb-standards-page .wp-block-button.pb-primary .wp-block-button__link,
.pb-standards-page .pb-primary .wp-block-button__link {
  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  border: 1px solid #FF8FA3 !important;
}

.pb-standards-page .wp-block-button.pb-secondary .wp-block-button__link,
.pb-standards-page .pb-secondary .wp-block-button__link {
  background: #FFFFFF !important;
  color: #8A2F57 !important;
  border: 1px solid #F2B8D0 !important;
}

/* ==========================================
   Overview Section
   ========================================== */

.pb-standards-overview {
  max-width: 1120px !important;
  margin: 0 auto 42px !important;
  padding: 58px 42px !important;
  text-align: center !important;
}

.pb-standards-overview h2,
.pb-standards-overview .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.1 !important;
  margin: 0 auto 34px !important;
}

/* Card grids */
.pb-standards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.pb-standard-card {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 22px !important;
  padding: 22px 20px !important;
  text-align: left !important;
  box-shadow: 0 8px 22px rgba(78, 52, 46, 0.05) !important;
}

.pb-standard-card p {
  font-size: 15px !important;
  line-height: 1.48 !important;
  margin: 0 !important;
}

.pb-standard-card strong {
  display: block !important;
  color: #4B2F36 !important;
  font-size: 16px !important;
  margin-bottom: 7px !important;
}

/* ==========================================
   Standards Two-Column Sections
   ========================================== */

.pb-standards-section {
  max-width: 1120px !important;
  margin: 0 auto 42px !important;
  padding: 46px !important;
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 30px !important;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.06) !important;

  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  gap: 36px !important;
  align-items: center !important;
}

.pb-standards-copy {
  text-align: left !important;
}

.pb-standards-copy h2,
.pb-standards-copy .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(28px, 2.8vw, 40px) !important;
  line-height: 1.12 !important;
  margin: 0 0 18px !important;
}

.pb-standards-copy p {
  font-size: 18px !important;
  line-height: 1.58 !important;
  margin: 0 0 22px !important;
}

/* Proof panel */
.pb-standards-proof-panel {
  background: #FFF7FA !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 26px !important;
  padding: 30px !important;
  box-shadow: 0 8px 22px rgba(78, 52, 46, 0.045) !important;
}

.pb-standards-proof-panel h3,
.pb-standards-proof-panel .wp-block-heading {
  color: #F268A8 !important;
  font-size: 26px !important;
  line-height: 1.16 !important;
  margin: 0 0 22px !important;
}

/* Proof item grid */
.pb-standards-page .pb-lab-proof-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.pb-standards-page .pb-lab-proof-item {
  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 18px !important;
  padding: 18px !important;
}

.pb-standards-page .pb-lab-proof-item p {
  color: #684D58 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

.pb-standards-page .pb-lab-proof-item strong {
  display: block !important;
  color: #4B2F36 !important;
  font-size: 15px !important;
  margin-bottom: 6px !important;
}

/* ==========================================
   What We Don't Do Section
   ========================================== */

.pb-standards-dont {
  display: block !important;
  text-align: center !important;
}

.pb-standards-dont h2,
.pb-standards-dont .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.1 !important;
  margin: 0 auto 16px !important;
}

.pb-standards-dont > p {
  font-size: 18px !important;
  max-width: 780px !important;
  margin: 0 auto 32px !important;
}

.pb-standards-dont .pb-standards-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* ==========================================
   Closing CTA
   ========================================== */

.pb-standards-cta {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 62px 48px !important;
  background: linear-gradient(135deg, #FFFDFE 0%, #FFF4F8 100%) !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 34px !important;
  text-align: center !important;
  box-shadow: 0 14px 36px rgba(78, 52, 46, 0.07) !important;
}

.pb-standards-cta h2,
.pb-standards-cta .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.1 !important;
  margin: 0 auto 18px !important;
  max-width: 860px !important;
}

.pb-standards-cta p {
  font-size: 18px !important;
  line-height: 1.58 !important;
  max-width: 820px !important;
  margin: 0 auto 24px !important;
}

/* Last disclaimer paragraph in CTA */
.pb-standards-cta p:last-child {
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #8A6A76 !important;
  max-width: 900px !important;
  margin-top: 26px !important;
}

/* ==========================================
   Mobile Standards Page
   ========================================== */

@media (max-width: 768px) {
  .pb-standards-page {
    padding: 0 8px 56px !important;
    overflow-x: hidden !important;
  }

  .pb-standards-hero {
    padding: 46px 20px !important;
    border-radius: 26px !important;
    margin-bottom: 28px !important;
  }

  .pb-standards-hero h1,
  .pb-standards-hero .wp-block-heading:first-child {
    font-size: clamp(38px, 12vw, 52px) !important;
  }

  .pb-standards-hero h2,
  .pb-standards-hero h3 {
    font-size: clamp(22px, 7vw, 30px) !important;
  }

  .pb-standards-hero p {
    font-size: 16px !important;
  }

  .pb-standards-overview {
    padding: 42px 12px !important;
    margin-bottom: 26px !important;
  }

  .pb-standards-overview h2 {
    font-size: clamp(28px, 9vw, 38px) !important;
  }

  .pb-standards-grid,
  .pb-standards-dont .pb-standards-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .pb-standard-card {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  .pb-standards-section {
    display: block !important;
    padding: 30px 18px !important;
    border-radius: 24px !important;
    margin-bottom: 28px !important;
  }

  .pb-standards-copy {
    text-align: center !important;
    margin-bottom: 24px !important;
  }

  .pb-standards-copy h2,
  .pb-standards-copy .wp-block-heading {
    font-size: clamp(28px, 8.5vw, 38px) !important;
  }

  .pb-standards-copy p {
    font-size: 16px !important;
  }

  .pb-standards-proof-panel {
    padding: 22px 18px !important;
    border-radius: 22px !important;
  }

  .pb-standards-proof-panel h3,
  .pb-standards-proof-panel .wp-block-heading {
    text-align: center !important;
    font-size: 24px !important;
  }

  .pb-standards-page .pb-lab-proof-grid {
    grid-template-columns: 1fr !important;
  }

  .pb-standards-dont h2,
  .pb-standards-cta h2 {
    font-size: clamp(28px, 8.5vw, 38px) !important;
  }

  .pb-standards-cta {
    padding: 44px 20px !important;
    border-radius: 26px !important;
  }

  .pb-standards-page .pb-product-actions {
    justify-content: center !important;
    gap: 12px !important;
  }

  .pb-standards-page .wp-block-button,
  .pb-standards-page .wp-block-button__link {
    max-width: 100% !important;
  }
}

/* ==========================================
   PepBunny Bunny's Lab Community Page
   Scoped entirely through .pb-lab-page
   ========================================== */

.pb-lab-page {
  background: #FFF7FA !important;
  color: #684D58 !important;
  padding: 0 28px 80px !important;
}

.pb-lab-page,
.pb-lab-page * {
  box-sizing: border-box !important;
}

.pb-lab-page p {
  color: #684D58 !important;
  line-height: 1.58 !important;
}

.pb-lab-page h1,
.pb-lab-page h2,
.pb-lab-page h3 {
  margin-top: 0 !important;
}

.pb-lab-page strong {
  color: #4B2F36 !important;
  font-weight: 800 !important;
}


/* ==========================================
   Community Hero
   ========================================== */

.pb-community-hero {
  max-width: 1120px !important;
  margin: 0 auto 42px !important;
  padding: 46px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  align-items: center !important;
  gap: 46px !important;

  background: linear-gradient(135deg, #FFFDFE 0%, #FFF4F8 100%) !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 34px !important;
  box-shadow: 0 14px 36px rgba(78, 52, 46, 0.07) !important;
}

.pb-community-visual {
  min-width: 0 !important;
}

.pb-community-visual figure,
.pb-community-visual .wp-block-image {
  margin: 0 !important;
}

.pb-community-visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 28px !important;
  box-shadow: 0 12px 30px rgba(78, 52, 46, 0.08) !important;
}

.pb-community-copy {
  min-width: 0 !important;
  text-align: left !important;
}

.pb-community-eyebrow {
  color: #C85A87 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
}

.pb-community-copy h1,
.pb-community-copy > .wp-block-heading:first-of-type {
  color: #F268A8 !important;
  font-size: clamp(42px, 5vw, 68px) !important;
  line-height: 1.03 !important;
  margin: 0 0 18px !important;
}

.pb-community-subheadline {
  color: #8A2F57 !important;
  font-size: clamp(23px, 2.4vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  margin: 0 0 18px !important;
}

.pb-community-copy > p:not(.pb-community-eyebrow):not(.pb-community-subheadline) {
  font-size: 18px !important;
  margin: 0 0 24px !important;
}


/* ==========================================
   Community Buttons
   ========================================== */

.pb-lab-page .pb-community-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin-top: 24px !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.pb-lab-page .wp-block-button.pb-community-primary {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.pb-lab-page .wp-block-button.pb-community-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 54px !important;
  padding: 15px 28px !important;

  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  border: 1px solid #FF8FA3 !important;
  border-radius: 999px !important;

  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: 0 10px 24px rgba(78, 52, 46, 0.10) !important;
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease !important;
}

.pb-lab-page .wp-block-button.pb-community-primary .wp-block-button__link:hover {
  background: #F268A8 !important;
  border-color: #F268A8 !important;
  color: #1A0F0F !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(78, 52, 46, 0.14) !important;
}


/* ==========================================
   Shared Section Heading Treatment
   ========================================== */

.pb-community-benefits,
.pb-community-steps {
  max-width: 1120px !important;
  margin: 0 auto 42px !important;
  padding: 58px 42px !important;
  text-align: center !important;
}

.pb-community-benefits > h2,
.pb-community-steps > h2 {
  color: #F268A8 !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.1 !important;
  margin: 0 auto 16px !important;
}

.pb-community-intro {
  max-width: 820px !important;
  margin: 0 auto 34px !important;
  font-size: 18px !important;
}


/* ==========================================
   Benefits Grid
   ========================================== */

.pb-community-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.pb-community-card {
  min-width: 0 !important;
  padding: 24px 21px !important;

  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 22px !important;
  text-align: left !important;
  box-shadow: 0 9px 24px rgba(78, 52, 46, 0.055) !important;
}

.pb-community-card::before {
  content: "✦" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 38px !important;
  height: 38px !important;
  margin-bottom: 17px !important;

  color: #C85A87 !important;
  background: #FBEAF1 !important;
  border: 1px solid #F2B8D0 !important;
  border-radius: 999px !important;

  font-size: 16px !important;
  line-height: 1 !important;
}

.pb-community-card h3,
.pb-community-card .wp-block-heading {
  color: #F268A8 !important;
  font-size: 21px !important;
  line-height: 1.18 !important;
  margin: 0 0 11px !important;
}

.pb-community-card p {
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}


/* ==========================================
   Community Story
   ========================================== */

.pb-community-story {
  max-width: 1120px !important;
  margin: 0 auto 42px !important;
  padding: 46px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
  gap: 38px !important;
  align-items: center !important;

  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 30px !important;
  box-shadow: 0 12px 32px rgba(78, 52, 46, 0.06) !important;
}

.pb-community-story-copy {
  min-width: 0 !important;
}

.pb-community-story-copy h2,
.pb-community-story-copy .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(28px, 2.8vw, 40px) !important;
  line-height: 1.12 !important;
  margin: 0 0 18px !important;
}

.pb-community-story-copy p {
  font-size: 17px !important;
  margin: 0 0 17px !important;
}

.pb-community-story-panel {
  min-width: 0 !important;
  padding: 30px !important;

  background: #FFF7FA !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 26px !important;
}

.pb-community-story-panel h3,
.pb-community-story-panel .wp-block-heading {
  color: #F268A8 !important;
  font-size: 26px !important;
  line-height: 1.16 !important;
  margin: 0 0 20px !important;
}

.pb-community-story-items {
  display: grid !important;
  gap: 12px !important;
}

.pb-community-story-item {
  position: relative !important;
  padding: 15px 16px 15px 46px !important;

  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 17px !important;
}

.pb-community-story-item::before {
  content: "✓" !important;
  position: absolute !important;
  left: 17px !important;
  top: 14px !important;

  color: #C85A87 !important;
  font-weight: 900 !important;
}

.pb-community-story-item p {
  font-size: 15px !important;
  margin: 0 !important;
}


/* ==========================================
   Joining Steps
   ========================================== */

.pb-community-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.pb-community-step-card {
  min-width: 0 !important;
  padding: 28px 24px !important;

  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 24px !important;
  text-align: left !important;
  box-shadow: 0 9px 24px rgba(78, 52, 46, 0.055) !important;
}

.pb-community-step-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 43px !important;
  height: 43px !important;
  margin: 0 0 18px !important;

  color: #C85A87 !important;
  background: #FBEAF1 !important;
  border: 1px solid #F2B8D0 !important;
  border-radius: 999px !important;

  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.pb-community-step-card h3,
.pb-community-step-card .wp-block-heading {
  color: #F268A8 !important;
  font-size: 22px !important;
  line-height: 1.18 !important;
  margin: 0 0 12px !important;
}

.pb-community-step-card p:not(.pb-community-step-number) {
  font-size: 15px !important;
  margin: 0 !important;
}


/* ==========================================
   Signup Section
   ========================================== */

.pb-community-signup {
  max-width: 1120px !important;
  margin: 0 auto 30px !important;
  padding: 48px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) !important;
  align-items: start !important;
  gap: 42px !important;

  background: linear-gradient(135deg, #FFFDFE 0%, #FFF4F8 100%) !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 32px !important;
  box-shadow: 0 14px 36px rgba(78, 52, 46, 0.07) !important;

  scroll-margin-top: 36px !important;
}

.pb-community-signup-copy h2,
.pb-community-signup-copy .wp-block-heading {
  color: #F268A8 !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.1 !important;
  margin: 0 0 18px !important;
}

.pb-community-signup-copy > p:not(.pb-community-eyebrow):not(.pb-community-privacy) {
  font-size: 18px !important;
  margin-bottom: 22px !important;
}

.pb-community-privacy {
  display: inline-block !important;
  padding: 11px 15px !important;
  margin: 8px 0 0 !important;

  color: #8A2F57 !important;
  background: #FBEAF1 !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 16px !important;

  font-size: 14px !important;
  font-weight: 800 !important;
}


/* ==========================================
   Signup Form
   Works with common WordPress / Jetpack forms
   ========================================== */

.pb-community-form {
  min-width: 0 !important;
  padding: 28px !important;

  background: #FFFDFE !important;
  border: 1px solid #F2D6E1 !important;
  border-radius: 25px !important;
  box-shadow: 0 9px 24px rgba(78, 52, 46, 0.05) !important;
}

.pb-community-form form,
.pb-community-form .wp-block-jetpack-contact-form,
.pb-community-form .contact-form {
  width: 100% !important;
  max-width: 100% !important;
}

.pb-community-form label {
  display: block !important;
  color: #4B2F36 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  margin-bottom: 7px !important;
}

.pb-community-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.pb-community-form textarea,
.pb-community-form select {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 52px !important;

  color: #684D58 !important;
  background: #FFFFFF !important;
  border: 1px solid #F2B8D0 !important;
  border-radius: 15px !important;

  padding: 12px 14px !important;
  font-size: 16px !important;
  line-height: 1.3 !important;

  outline: none !important;
  box-shadow: none !important;
}

.pb-community-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.pb-community-form textarea:focus,
.pb-community-form select:focus {
  border-color: #F268A8 !important;
  box-shadow: 0 0 0 3px rgba(242, 104, 168, 0.13) !important;
}

.pb-community-form input[type="checkbox"],
.pb-community-form input[type="radio"] {
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  margin: 2px 8px 0 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.pb-community-form .grunion-field-wrap,
.pb-community-form .contact-form-field,
.pb-community-form .wp-block-jetpack-contact-form-container > div {
  margin-bottom: 18px !important;
}

.pb-community-form button,
.pb-community-form input[type="submit"],
.pb-community-form .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 52px !important;
  padding: 14px 24px !important;

  color: #1A0F0F !important;
  background: #FF8FA3 !important;
  border: 1px solid #FF8FA3 !important;
  border-radius: 999px !important;

  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: 0 9px 20px rgba(78, 52, 46, 0.10) !important;
  cursor: pointer !important;
}

.pb-community-form button:hover,
.pb-community-form input[type="submit"]:hover,
.pb-community-form .wp-block-button__link:hover {
  color: #1A0F0F !important;
  background: #F268A8 !important;
  border-color: #F268A8 !important;
}

.pb-community-form-note {
  color: #8A6A76 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin: 18px 0 0 !important;
}


/* ==========================================
   Final Legal Note
   ========================================== */

.pb-community-legal {
  max-width: 900px !important;
  margin: 28px auto 0 !important;
  padding: 0 20px !important;

  color: #8A6A76 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}


/* ==========================================
   Tablet
   ========================================== */

@media (max-width: 980px) {
  .pb-community-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pb-community-hero,
  .pb-community-story,
  .pb-community-signup {
    grid-template-columns: 1fr !important;
  }

  .pb-community-hero {
    max-width: 780px !important;
  }

  .pb-community-copy,
  .pb-community-signup-copy {
    text-align: center !important;
  }

  .pb-lab-page .pb-community-actions {
    justify-content: center !important;
  }

  .pb-community-signup {
    max-width: 780px !important;
  }
}


/* ==========================================
   Mobile
   ========================================== */

@media (max-width: 768px) {
  .pb-lab-page {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 8px 56px !important;
    overflow-x: hidden !important;
  }

  .pb-community-hero {
    padding: 22px 16px 36px !important;
    gap: 28px !important;
    border-radius: 25px !important;
    margin-bottom: 28px !important;
  }

  .pb-community-visual img {
    border-radius: 21px !important;
  }

  .pb-community-copy h1,
  .pb-community-copy > .wp-block-heading:first-of-type {
    font-size: clamp(38px, 12vw, 50px) !important;
  }

  .pb-community-subheadline {
    font-size: clamp(21px, 7vw, 28px) !important;
  }

  .pb-community-copy > p:not(.pb-community-eyebrow):not(.pb-community-subheadline) {
    font-size: 16px !important;
  }

  .pb-community-benefits,
  .pb-community-steps {
    padding: 42px 10px !important;
    margin-bottom: 26px !important;
  }

  .pb-community-benefits > h2,
  .pb-community-steps > h2 {
    font-size: clamp(28px, 9vw, 38px) !important;
  }

  .pb-community-intro {
    font-size: 16px !important;
    margin-bottom: 28px !important;
  }

  .pb-community-grid,
  .pb-community-steps-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .pb-community-card,
  .pb-community-step-card {
    padding: 22px 20px !important;
    border-radius: 20px !important;
  }

  .pb-community-story {
    display: block !important;
    padding: 30px 18px !important;
    border-radius: 24px !important;
    margin-bottom: 28px !important;
  }

  .pb-community-story-copy {
    text-align: center !important;
    margin-bottom: 24px !important;
  }

  .pb-community-story-copy h2 {
    font-size: clamp(28px, 8.5vw, 38px) !important;
  }

  .pb-community-story-panel {
    padding: 22px 18px !important;
    border-radius: 21px !important;
  }

  .pb-community-story-panel h3 {
    text-align: center !important;
    font-size: 23px !important;
  }

  .pb-community-signup {
    display: block !important;
    padding: 32px 16px !important;
    border-radius: 25px !important;
    margin-bottom: 24px !important;
  }

  .pb-community-signup-copy {
    margin-bottom: 25px !important;
  }

  .pb-community-signup-copy h2 {
    font-size: clamp(28px, 9vw, 38px) !important;
  }

  .pb-community-form {
    padding: 22px 16px !important;
    border-radius: 21px !important;
  }

  .pb-lab-page .pb-community-actions {
    width: 100% !important;
  }

  .pb-lab-page .wp-block-button.pb-community-primary,
  .pb-lab-page .wp-block-button.pb-community-primary .wp-block-button__link {
    width: 100% !important;
    max-width: 320px !important;
  }

  .pb-community-form button,
  .pb-community-form input[type="submit"],
  .pb-community-form .wp-block-button__link {
    width: 100% !important;
  }
}

/* ==========================================
   Bunny's Lab Newsletter Minimal Form Fix
   ========================================== */

.pb-community-form .tnp,
.pb-community-form .tnp-subscription,
.pb-community-form .tnp-subscription-minimal {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.pb-community-form .tnp form,
.pb-community-form .tnp-subscription form,
.pb-community-form .tnp-subscription-minimal form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
}

.pb-community-form .tnp-email,
.pb-community-form input.tnp-email {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 1px solid #F2B8D0 !important;
  border-radius: 15px !important;
  background: #FFFFFF !important;
  color: #684D58 !important;
  padding: 13px 15px !important;
  min-height: 54px !important;
}

.pb-community-form .tnp-submit,
.pb-community-form input.tnp-submit {
  width: auto !important;
  min-width: 118px !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 14px 22px !important;
  border: 1px solid #FF8FA3 !important;
  border-radius: 999px !important;
  background: #FF8FA3 !important;
  color: #1A0F0F !important;
  font-weight: 800 !important;
  box-shadow: 0 9px 20px rgba(78, 52, 46, 0.10) !important;
}

@media (max-width: 768px) {
  .pb-community-form .tnp form,
  .pb-community-form .tnp-subscription form,
  .pb-community-form .tnp-subscription-minimal form {
    grid-template-columns: 1fr !important;
  }

  .pb-community-form .tnp-submit,
  .pb-community-form input.tnp-submit {
    width: 100% !important;
  }
}

/* Bunny's Lab benefit cards — spacious 2x2 layout */
.pb-lab-page .pb-community-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.pb-lab-page .pb-community-card {
  min-height: 0 !important;
  padding: 26px 24px !important;
}

.pb-lab-page .pb-community-card h3,
.pb-lab-page .pb-community-card .wp-block-heading {
  font-size: 22px !important;
  line-height: 1.16 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

@media (max-width: 768px) {
  .pb-lab-page .pb-community-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================
   Bunny's Lab Hero Refinement
   Thinner title + balanced desktop columns
   ========================================== */

@media (min-width: 981px) {

  .pb-lab-page .pb-community-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 50px !important;
    align-items: center !important;

    max-width: 1120px !important;
    padding: 48px !important;
  }

  .pb-lab-page .pb-community-visual {
    width: 100% !important;
    max-width: 470px !important;
    justify-self: center !important;
  }

  .pb-lab-page .pb-community-visual img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }

  .pb-lab-page .pb-community-copy {
    width: 100% !important;
    max-width: 520px !important;
    justify-self: start !important;
  }

  .pb-lab-page .pb-community-copy h1,
  .pb-lab-page .pb-community-copy > .wp-block-heading:first-of-type {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(46px, 4.2vw, 62px) !important;
    font-weight: 500 !important;
    line-height: 1.06 !important;
    letter-spacing: -0.025em !important;

    color: #F268A8 !important;
    margin: 0 0 22px !important;
    max-width: 100% !important;
  }

  .pb-lab-page .pb-community-subheadline {
    font-size: clamp(25px, 2.2vw, 32px) !important;
    line-height: 1.28 !important;
    margin-bottom: 20px !important;
    max-width: 500px !important;
  }

  .pb-lab-page .pb-community-copy > p:not(.pb-community-eyebrow):not(.pb-community-subheadline) {
    font-size: 18px !important;
    line-height: 1.55 !important;
    max-width: 500px !important;
  }
}

/* ==========================================
   Custom PepBunny Page Shell Reset
   Generic page-card rules above explicitly exclude these bespoke layouts.
   ========================================== */

body.page:has(.pb-lab-page) .inside-article,
body.page:has(.pb-standards-page) .inside-article,
body.page:has(.pb-affiliate-page) .inside-article,
body.page:has(.pb-lab-page) .entry-content,
body.page:has(.pb-standards-page) .entry-content,
body.page:has(.pb-affiliate-page) .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.pb-lab-page,
.pb-standards-page,
.pb-affiliate-page {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* PepBunny Affiliate / Bunny Network Page */
.pb-affiliate-page {
  --pba-pink:#F268A8; --pba-deep-pink:#C85A87; --pba-button:#FF8FA3;
  --pba-ink:#4B2F36; --pba-text:#684D58; --pba-muted:#8A6A76;
  --pba-bg:#FFF7FA; --pba-panel:#FFFDFE; --pba-soft:#FBEAF1;
  --pba-line:#F2D6E1; --pba-line-strong:#F2B8D0;
  width:100%!important; max-width:none!important; margin:0!important;
  padding:0 28px 80px!important; background:var(--pba-bg)!important;
  color:var(--pba-text)!important;
}
.pb-affiliate-page,.pb-affiliate-page *{box-sizing:border-box!important;min-width:0}
.pb-affiliate-page p{color:var(--pba-text)!important;line-height:1.58!important}
.pb-affiliate-page h1,.pb-affiliate-page h2,.pb-affiliate-page h3{margin-top:0!important}
.pb-affiliate-page strong{color:var(--pba-ink)!important;font-weight:800!important}

/* Hero */
.pb-affiliate-hero{
  width:100%!important;max-width:1120px!important;margin:0 auto 34px!important;
  padding:54px!important;display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
  gap:44px!important;align-items:center!important;
  background:linear-gradient(135deg,#FFFDFE 0%,#FFF4F8 100%)!important;
  border:1px solid var(--pba-line)!important;border-radius:34px!important;
  box-shadow:0 14px 36px rgba(78,52,46,.07)!important;
}
.pb-affiliate-copy{text-align:left!important}
.pb-affiliate-eyebrow{
  color:var(--pba-deep-pink)!important;font-size:13px!important;font-weight:900!important;
  line-height:1.2!important;letter-spacing:.12em!important;text-transform:uppercase!important;
  margin:0 0 14px!important;
}
.pb-affiliate-copy h1,.pb-affiliate-copy>.wp-block-heading:first-of-type{
  color:var(--pba-pink)!important;font-size:clamp(42px,4.8vw,66px)!important;
  font-weight:800!important;line-height:1.03!important;letter-spacing:-.035em!important;
  margin:0 0 19px!important;
}
.pb-affiliate-subheadline{
  color:#8A2F57!important;font-size:clamp(23px,2.3vw,31px)!important;
  font-weight:800!important;line-height:1.2!important;margin:0 0 19px!important;
}
.pb-affiliate-copy>p:not(.pb-affiliate-eyebrow):not(.pb-affiliate-subheadline){
  max-width:610px!important;margin:0 0 24px!important;font-size:18px!important;
}
.pb-affiliate-hero-panel{
  padding:31px!important;background:var(--pba-panel)!important;
  border:1px solid var(--pba-line)!important;border-radius:27px!important;
  box-shadow:0 10px 28px rgba(78,52,46,.055)!important;
}
.pb-affiliate-hero-panel h3,.pb-affiliate-hero-panel .wp-block-heading{
  color:var(--pba-pink)!important;font-size:27px!important;line-height:1.15!important;
  margin:0 0 21px!important;
}
.pb-affiliate-feature-list{display:grid!important;gap:12px!important}
.pb-affiliate-feature{
  position:relative!important;padding:15px 16px 15px 47px!important;
  background:var(--pba-bg)!important;border:1px solid var(--pba-line)!important;
  border-radius:17px!important;
}
.pb-affiliate-feature:before{
  content:"âœ“"!important;position:absolute!important;top:14px!important;left:17px!important;
  color:var(--pba-deep-pink)!important;font-weight:900!important;
}
.pb-affiliate-feature p{margin:0!important;font-size:15px!important;font-weight:700!important}

/* Buttons */
.pb-affiliate-page .pb-affiliate-actions{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;
  justify-content:flex-start!important;gap:14px!important;margin-top:24px!important;
  padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
.pb-affiliate-page .wp-block-button.pb-affiliate-primary,
.pb-affiliate-page .wp-block-button.pb-affiliate-secondary{
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
.pb-affiliate-page .wp-block-button.pb-affiliate-primary .wp-block-button__link,
.pb-affiliate-page .wp-block-button.pb-affiliate-secondary .wp-block-button__link,
.pb-affiliate-page .gb-button.pb-affiliate-primary,
.pb-affiliate-page .gb-button.pb-affiliate-secondary{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:54px!important;padding:15px 28px!important;border-radius:999px!important;
  font-size:16px!important;font-weight:800!important;line-height:1!important;
  text-align:center!important;text-decoration:none!important;
  box-shadow:0 10px 24px rgba(78,52,46,.10)!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.pb-affiliate-page .wp-block-button.pb-affiliate-primary .wp-block-button__link,
.pb-affiliate-page .gb-button.pb-affiliate-primary{
  color:#1A0F0F!important;background:var(--pba-button)!important;border:1px solid var(--pba-button)!important;
}
.pb-affiliate-page .wp-block-button.pb-affiliate-secondary .wp-block-button__link,
.pb-affiliate-page .gb-button.pb-affiliate-secondary{
  color:#8A2F57!important;background:#FFF!important;border:1px solid var(--pba-line-strong)!important;
}
.pb-affiliate-page .wp-block-button.pb-affiliate-primary .wp-block-button__link:hover,
.pb-affiliate-page .gb-button.pb-affiliate-primary:hover{
  color:#1A0F0F!important;background:var(--pba-pink)!important;border-color:var(--pba-pink)!important;
  transform:translateY(-1px)!important;box-shadow:0 14px 30px rgba(78,52,46,.14)!important;
}
.pb-affiliate-page .wp-block-button.pb-affiliate-secondary .wp-block-button__link:hover,
.pb-affiliate-page .gb-button.pb-affiliate-secondary:hover{
  color:#8A2F57!important;background:var(--pba-bg)!important;border-color:var(--pba-pink)!important;
  transform:translateY(-1px)!important;
}

/* Snapshot */
.pb-affiliate-snapshot{
  width:100%!important;max-width:1120px!important;margin:0 auto 42px!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important;
}
.pb-affiliate-stat{
  padding:20px 19px!important;text-align:center!important;background:var(--pba-panel)!important;
  border:1px solid var(--pba-line)!important;border-radius:20px!important;
  box-shadow:0 8px 22px rgba(78,52,46,.045)!important;
}
.pb-affiliate-stat p{margin:0!important}
.pb-affiliate-stat p:first-child{color:var(--pba-ink)!important;font-size:14px!important;font-weight:900!important;margin-bottom:7px!important}
.pb-affiliate-stat p:last-child{color:var(--pba-deep-pink)!important;font-size:17px!important;font-weight:800!important}

/* Shared centered sections */
.pb-affiliate-conversion,.pb-affiliate-process,.pb-affiliate-tools,
.pb-affiliate-fit,.pb-affiliate-rules,.pb-affiliate-faq{
  width:100%!important;max-width:1120px!important;margin:0 auto 42px!important;
  padding:58px 42px!important;text-align:center!important;
}
.pb-affiliate-conversion>h2,.pb-affiliate-process>h2,.pb-affiliate-tools>h2,
.pb-affiliate-fit>h2,.pb-affiliate-rules>h2,.pb-affiliate-faq>h2{
  color:var(--pba-pink)!important;font-size:clamp(30px,3vw,44px)!important;
  line-height:1.1!important;margin:0 auto 16px!important;
}
.pb-affiliate-intro{max-width:830px!important;margin:0 auto 34px!important;font-size:18px!important}

/* Reusable cards */
.pb-affiliate-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;max-width:980px!important;margin:0 auto!important;
}
.pb-affiliate-card{
  position:relative!important;padding:27px 24px!important;text-align:left!important;
  background:var(--pba-panel)!important;border:1px solid var(--pba-line)!important;
  border-radius:23px!important;box-shadow:0 9px 24px rgba(78,52,46,.052)!important;
}
.pb-affiliate-card:before{
  content:"âœ¦"!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:39px!important;height:39px!important;margin-bottom:17px!important;
  color:var(--pba-deep-pink)!important;background:var(--pba-soft)!important;
  border:1px solid var(--pba-line-strong)!important;border-radius:999px!important;
}
.pb-affiliate-card h3,.pb-affiliate-card .wp-block-heading{
  color:var(--pba-pink)!important;font-size:22px!important;line-height:1.17!important;
  overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;margin:0 0 11px!important;
}
.pb-affiliate-card p{margin:0!important;font-size:15px!important;line-height:1.5!important}

/* Process */
.pb-affiliate-process-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
.pb-affiliate-step{
  padding:29px 24px!important;text-align:left!important;background:var(--pba-panel)!important;
  border:1px solid var(--pba-line)!important;border-radius:24px!important;
  box-shadow:0 9px 24px rgba(78,52,46,.052)!important;
}
.pb-affiliate-step-number{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:44px!important;height:44px!important;margin:0 0 19px!important;
  color:var(--pba-deep-pink)!important;background:var(--pba-soft)!important;
  border:1px solid var(--pba-line-strong)!important;border-radius:999px!important;
  font-size:14px!important;font-weight:900!important;line-height:1!important;
}
.pb-affiliate-step h3,.pb-affiliate-step .wp-block-heading{
  color:var(--pba-pink)!important;font-size:22px!important;line-height:1.17!important;margin:0 0 12px!important;
}
.pb-affiliate-step p:not(.pb-affiliate-step-number){margin:0!important;font-size:15px!important}

/* Founding */
.pb-affiliate-founding{
  width:100%!important;max-width:1120px!important;margin:0 auto 42px!important;padding:47px!important;
  display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:39px!important;align-items:center!important;
  background:linear-gradient(135deg,#FFFDFE 0%,#FFF4F8 100%)!important;
  border:1px solid var(--pba-line)!important;border-radius:31px!important;
  box-shadow:0 13px 34px rgba(78,52,46,.065)!important;
}
.pb-affiliate-founding-copy{text-align:left!important}
.pb-affiliate-founding-copy h2,.pb-affiliate-founding-copy .wp-block-heading{
  color:var(--pba-pink)!important;font-size:clamp(30px,3vw,43px)!important;line-height:1.1!important;margin:0 0 18px!important;
}
.pb-affiliate-founding-copy p{margin:0!important;font-size:17px!important}
.pb-affiliate-founding-panel{
  padding:30px!important;background:var(--pba-bg)!important;border:1px solid var(--pba-line)!important;border-radius:26px!important;
}
.pb-affiliate-founding-panel h3,.pb-affiliate-founding-panel .wp-block-heading{
  color:var(--pba-pink)!important;font-size:26px!important;line-height:1.16!important;margin:0 0 20px!important;
}
.pb-founding-panel-item{
  position:relative!important;padding:15px 16px 15px 47px!important;margin-bottom:12px!important;
  background:var(--pba-panel)!important;border:1px solid var(--pba-line)!important;border-radius:17px!important;
}
.pb-founding-panel-item:last-child{margin-bottom:0!important}
.pb-founding-panel-item:before{
  content:"âœ“"!important;position:absolute!important;top:14px!important;left:17px!important;
  color:var(--pba-deep-pink)!important;font-weight:900!important;
}
.pb-founding-panel-item p{margin:0!important;font-size:15px!important;font-weight:700!important}

/* Earnings */
.pb-affiliate-earnings{
  width:100%!important;max-width:1120px!important;margin:0 auto 42px!important;padding:47px!important;
  display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:40px!important;align-items:center!important;background:var(--pba-panel)!important;
  border:1px solid var(--pba-line)!important;border-radius:31px!important;
  box-shadow:0 12px 32px rgba(78,52,46,.06)!important;
}
.pb-affiliate-earnings-copy{text-align:left!important}
.pb-affiliate-earnings-copy h2,.pb-affiliate-earnings-copy .wp-block-heading{
  color:var(--pba-pink)!important;font-size:clamp(30px,3vw,43px)!important;line-height:1.1!important;margin:0 0 18px!important;
}
.pb-affiliate-earnings-copy p{font-size:17px!important;margin:0 0 17px!important}
.pb-affiliate-earnings-note{
  padding:14px 16px!important;color:#8A2F57!important;background:var(--pba-soft)!important;
  border:1px solid var(--pba-line)!important;border-radius:17px!important;font-size:14px!important;font-weight:700!important;
}
.pb-affiliate-calculation{
  padding:31px!important;background:var(--pba-bg)!important;border:1px solid var(--pba-line)!important;border-radius:26px!important;
}
.pb-affiliate-calculation h3,.pb-affiliate-calculation .wp-block-heading{
  color:var(--pba-pink)!important;font-size:27px!important;line-height:1.16!important;margin:0 0 22px!important;
}
.pb-affiliate-calc-row{
  display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important;
  padding:14px 0!important;border-bottom:1px solid var(--pba-line)!important;
}
.pb-affiliate-calc-row p{margin:0!important;font-size:15px!important}
.pb-affiliate-calc-row p:first-child{color:var(--pba-text)!important}
.pb-affiliate-calc-row p:last-child{color:var(--pba-ink)!important;font-weight:900!important;text-align:right!important}
.pb-affiliate-calc-total{
  margin-top:15px!important;padding:18px!important;background:var(--pba-soft)!important;
  border:1px solid var(--pba-line-strong)!important;border-radius:17px!important;
}
.pb-affiliate-calc-total p:first-child{color:var(--pba-ink)!important;font-weight:900!important}
.pb-affiliate-calc-total p:last-child{color:var(--pba-deep-pink)!important;font-size:24px!important}
.pb-affiliate-calculation-note{
  color:var(--pba-muted)!important;font-size:12px!important;line-height:1.45!important;margin:18px 0 0!important;
}

/* Rules */
.pb-affiliate-rules-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:17px!important;max-width:980px!important;margin:0 auto!important;
}
.pb-affiliate-rule{
  position:relative!important;padding:24px 22px 24px 55px!important;text-align:left!important;
  background:var(--pba-panel)!important;border:1px solid var(--pba-line)!important;
  border-radius:22px!important;box-shadow:0 8px 22px rgba(78,52,46,.045)!important;
}
.pb-affiliate-rule:before{
  content:"âœ“"!important;position:absolute!important;top:24px!important;left:22px!important;
  color:var(--pba-deep-pink)!important;font-size:18px!important;font-weight:900!important;
}
.pb-affiliate-rule h3,.pb-affiliate-rule .wp-block-heading{
  color:var(--pba-pink)!important;font-size:20px!important;line-height:1.17!important;margin:0 0 9px!important;
}
.pb-affiliate-rule p{margin:0!important;font-size:15px!important}

/* Application */
.pb-affiliate-application{
  width:100%!important;max-width:1120px!important;margin:0 auto 42px!important;padding:48px!important;
  display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:42px!important;align-items:start!important;
  background:linear-gradient(135deg,#FFFDFE 0%,#FFF4F8 100%)!important;
  border:1px solid var(--pba-line)!important;border-radius:32px!important;
  box-shadow:0 14px 36px rgba(78,52,46,.07)!important;scroll-margin-top:35px!important;
}
.pb-affiliate-application-copy{text-align:left!important}
.pb-affiliate-application-copy h2,.pb-affiliate-application-copy .wp-block-heading{
  color:var(--pba-pink)!important;font-size:clamp(30px,3vw,44px)!important;line-height:1.1!important;margin:0 0 18px!important;
}
.pb-affiliate-application-copy p:not(.pb-affiliate-eyebrow){font-size:17px!important;margin:0 0 18px!important}
.pb-affiliate-form{
  width:100%!important;max-width:100%!important;padding:29px!important;
  background:var(--pba-panel)!important;border:1px solid var(--pba-line)!important;
  border-radius:26px!important;box-shadow:0 9px 24px rgba(78,52,46,.05)!important;
}
.pb-affiliate-form form,.pb-affiliate-form .wp-block-jetpack-contact-form,.pb-affiliate-form .contact-form{
  width:100%!important;max-width:100%!important;
}
.pb-affiliate-form label{
  display:block!important;color:var(--pba-ink)!important;font-size:14px!important;font-weight:800!important;margin-bottom:7px!important;
}
.pb-affiliate-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.pb-affiliate-form textarea,.pb-affiliate-form select{
  width:100%!important;max-width:100%!important;min-height:52px!important;padding:12px 14px!important;
  color:var(--pba-text)!important;background:#FFF!important;border:1px solid var(--pba-line-strong)!important;
  border-radius:15px!important;font-size:16px!important;line-height:1.35!important;outline:none!important;box-shadow:none!important;
}
.pb-affiliate-form textarea{min-height:135px!important;resize:vertical!important}
.pb-affiliate-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.pb-affiliate-form textarea:focus,.pb-affiliate-form select:focus{
  border-color:var(--pba-pink)!important;box-shadow:0 0 0 3px rgba(242,104,168,.13)!important;
}
.pb-affiliate-form .grunion-field-wrap,.pb-affiliate-form .contact-form-field,
.pb-affiliate-form .wp-block-jetpack-contact-form-container>div{margin-bottom:18px!important}
.pb-affiliate-form input[type="checkbox"],.pb-affiliate-form input[type="radio"]{
  width:19px!important;height:19px!important;min-width:19px!important;padding:0!important;margin:2px 8px 0 0!important;box-shadow:none!important;
}
.pb-affiliate-form button,.pb-affiliate-form input[type="submit"],.pb-affiliate-form .wp-block-button__link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:53px!important;padding:14px 25px!important;color:#1A0F0F!important;
  background:var(--pba-button)!important;border:1px solid var(--pba-button)!important;
  border-radius:999px!important;font-size:15px!important;font-weight:800!important;line-height:1!important;
  text-decoration:none!important;box-shadow:0 9px 20px rgba(78,52,46,.10)!important;cursor:pointer!important;
}
.pb-affiliate-form button:hover,.pb-affiliate-form input[type="submit"]:hover,.pb-affiliate-form .wp-block-button__link:hover{
  color:#1A0F0F!important;background:var(--pba-pink)!important;border-color:var(--pba-pink)!important;
}

/* FAQ */
.pb-affiliate-faq{max-width:980px!important}
.pb-affiliate-faq details,.pb-affiliate-faq .wp-block-details{
  margin-bottom:12px!important;padding:0!important;text-align:left!important;
  background:var(--pba-panel)!important;border:1px solid var(--pba-line)!important;
  border-radius:18px!important;box-shadow:0 7px 20px rgba(78,52,46,.04)!important;overflow:hidden!important;
}
.pb-affiliate-faq summary{
  padding:18px 54px 18px 19px!important;color:var(--pba-ink)!important;
  font-size:16px!important;font-weight:800!important;line-height:1.35!important;cursor:pointer!important;
}
.pb-affiliate-faq details>p,.pb-affiliate-faq .wp-block-details>p{
  padding:0 19px 19px!important;margin:0!important;font-size:15px!important;
}
.pb-affiliate-faq details[open],.pb-affiliate-faq .wp-block-details[open]{
  background:var(--pba-bg)!important;border-color:var(--pba-line-strong)!important;
}

/* Final CTA */
.pb-affiliate-cta{
  width:100%!important;max-width:1120px!important;margin:0 auto!important;padding:62px 48px!important;
  text-align:center!important;background:linear-gradient(135deg,#FFFDFE 0%,#FFF1F6 100%)!important;
  border:1px solid var(--pba-line)!important;border-radius:34px!important;
  box-shadow:0 14px 36px rgba(78,52,46,.07)!important;
}
.pb-affiliate-cta h2,.pb-affiliate-cta .wp-block-heading{
  max-width:850px!important;margin:0 auto 18px!important;color:var(--pba-pink)!important;
  font-size:clamp(30px,3vw,44px)!important;line-height:1.1!important;
}
.pb-affiliate-cta>p{max-width:790px!important;margin:0 auto 24px!important;font-size:18px!important}
.pb-affiliate-cta .pb-affiliate-actions{justify-content:center!important}

/* Tablet */
@media (max-width:980px){
  .pb-affiliate-hero,.pb-affiliate-founding,.pb-affiliate-earnings,.pb-affiliate-application{grid-template-columns:1fr!important}
  .pb-affiliate-copy,.pb-affiliate-founding-copy,.pb-affiliate-earnings-copy,.pb-affiliate-application-copy{text-align:center!important}
  .pb-affiliate-page .pb-affiliate-actions{justify-content:center!important}
  .pb-affiliate-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pb-affiliate-process-grid{grid-template-columns:1fr!important}
  .pb-affiliate-step{max-width:720px!important;width:100%!important;margin:0 auto!important}
}

/* Mobile */
@media (max-width:768px){
  .pb-affiliate-page{width:100%!important;max-width:100%!important;padding:0 8px 56px!important;overflow-x:hidden!important}
  .pb-affiliate-hero{padding:34px 18px!important;gap:27px!important;border-radius:25px!important;margin-bottom:25px!important}
  .pb-affiliate-copy h1,.pb-affiliate-copy>.wp-block-heading:first-of-type{font-size:clamp(38px,11vw,50px)!important}
  .pb-affiliate-subheadline{font-size:clamp(21px,6.8vw,28px)!important}
  .pb-affiliate-copy>p:not(.pb-affiliate-eyebrow):not(.pb-affiliate-subheadline){font-size:16px!important}
  .pb-affiliate-hero-panel,.pb-affiliate-founding-panel,.pb-affiliate-calculation,.pb-affiliate-form{
    padding:22px 17px!important;border-radius:21px!important;
  }
  .pb-affiliate-snapshot{grid-template-columns:1fr!important;gap:12px!important}
  .pb-affiliate-conversion,.pb-affiliate-process,.pb-affiliate-tools,.pb-affiliate-fit,.pb-affiliate-rules,.pb-affiliate-faq{
    padding:42px 10px!important;margin-bottom:25px!important;
  }
  .pb-affiliate-conversion>h2,.pb-affiliate-process>h2,.pb-affiliate-tools>h2,.pb-affiliate-fit>h2,.pb-affiliate-rules>h2,.pb-affiliate-faq>h2{
    font-size:clamp(28px,8.8vw,38px)!important;
  }
  .pb-affiliate-intro{font-size:16px!important;margin-bottom:27px!important}
  .pb-affiliate-grid,.pb-affiliate-rules-grid{grid-template-columns:1fr!important;gap:14px!important}
  .pb-affiliate-card,.pb-affiliate-step,.pb-affiliate-rule{padding:22px 19px!important;border-radius:20px!important}
  .pb-affiliate-rule{padding-left:52px!important}
  .pb-affiliate-founding,.pb-affiliate-earnings,.pb-affiliate-application{
    display:block!important;padding:31px 18px!important;border-radius:25px!important;margin-bottom:27px!important;
  }
  .pb-affiliate-founding-copy,.pb-affiliate-earnings-copy,.pb-affiliate-application-copy{margin-bottom:25px!important}
  .pb-affiliate-founding-copy h2,.pb-affiliate-earnings-copy h2,.pb-affiliate-application-copy h2{
    font-size:clamp(28px,8.8vw,38px)!important;
  }
  .pb-affiliate-calc-row{gap:12px!important}
  .pb-affiliate-cta{padding:44px 19px!important;border-radius:26px!important}
  .pb-affiliate-cta h2{font-size:clamp(28px,8.8vw,38px)!important}
  .pb-affiliate-page .pb-affiliate-actions{width:100%!important;flex-direction:column!important}
  .pb-affiliate-page .wp-block-button.pb-affiliate-primary,
  .pb-affiliate-page .wp-block-button.pb-affiliate-secondary,
  .pb-affiliate-page .wp-block-button.pb-affiliate-primary .wp-block-button__link,
  .pb-affiliate-page .wp-block-button.pb-affiliate-secondary .wp-block-button__link{
    width:100%!important;max-width:330px!important;
  }
  .pb-affiliate-form button,.pb-affiliate-form input[type="submit"],.pb-affiliate-form .wp-block-button__link{width:100%!important}
}

/* ==========================================
   Fix corrupted decorative symbols
   Uses CSS Unicode escapes instead of raw glyphs
   ========================================== */

/* Star icons on affiliate cards */
.pb-affiliate-card::before {
  content: "\2726" !important;
}

/* Checkmarks in hero feature list */
.pb-affiliate-feature::before {
  content: "\2713" !important;
}

/* Checkmarks in founding partner panel */
.pb-founding-panel-item::before {
  content: "\2713" !important;
}

/* Checkmarks in partner rules */
.pb-affiliate-rule::before {
  content: "\2713" !important;
}

/* ==========================================
   PepBunny Sitewide Announcement Bar
   ========================================== */

.pb-announcement-bar {
  width: 100%;
  background: #FFF7FA;
  border-bottom: 1px solid #F2D6E1;
  color: #684D58;
  position: relative;
  z-index: 999;
}

.pb-announcement-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 22px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;

  font-size: 15px;
  line-height: 1.35;
  text-align: center;
}

.pb-announcement-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 7px 13px;
  border-radius: 999px;

  background: #F268A8;
  color: #FFFFFF;

  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
}

.pb-announcement-text strong {
  color: #8A2F57;
  font-weight: 900;
}

.pb-announcement-link {
  color: #8A2F57;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.pb-announcement-link:hover {
  color: #F268A8;
}

.pb-announcement-close {
  appearance: none;
  border: 0;
  background: transparent;
  color: #8A2F57;

  font-size: 22px;
  line-height: 1;
  font-weight: 700;

  cursor: pointer;
  padding: 2px 4px;
  margin-left: 4px;
}

.pb-announcement-close:hover {
  color: #F268A8;
}

@media (max-width: 768px) {
  .pb-announcement-inner {
    padding: 9px 38px 9px 12px;
    gap: 7px;
    flex-wrap: wrap;
    font-size: 13px;
  }

  .pb-announcement-badge {
    font-size: 10px;
    padding: 6px 10px;
  }

  .pb-announcement-link {
    font-size: 13px;
  }

  .pb-announcement-close {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
  }
}

/* ==========================================
   PepBunny Compact Header Polish
   ========================================== */

/* Remove excess white header bulk */
.site-header {
  background: #FFFFFF !important;
  border-bottom: 1px solid #F7E1EA !important;
  box-shadow: 0 8px 24px rgba(78, 52, 46, 0.035) !important;
}

/* Compact desktop header layout */
.site-header .inside-header {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 20px 24px !important;
  min-height: 0 !important;

  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 28px !important;
  align-items: center !important;
}

/* Logo / brand block */
.site-branding-container,
.site-branding,
.site-logo {
  margin: 0 !important;
  padding: 0 !important;
}

.site-header .custom-logo,
.site-header .site-logo img {
  max-height: 72px !important;
  width: auto !important;
}

.site-branding .main-title,
.site-branding .main-title a {
  color: #1A0F0F !important;
  font-size: 28px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

.site-description {
  color: #684D58 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  margin: 4px 0 0 !important;
}

/* Navigation: tighter, cleaner, no giant breathing room */
.main-navigation {
  background: transparent !important;
  margin: 0 !important;
}

.main-navigation .inside-navigation {
  padding: 0 !important;
  min-height: 0 !important;
}

.main-navigation .main-nav > ul {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
}

.main-navigation .main-nav ul li {
  margin: 0 !important;
}

.main-navigation .main-nav ul li a {
  color: #1A0F0F !important;
  padding: 10px 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  border-radius: 999px !important;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
  color: #8A2F57 !important;
  background: #FFF7FA !important;
}

/* Cart/menu icons tighter */
.main-navigation .menu-bar-items,
.main-navigation .wc-menu-item,
.main-navigation .wc-menu-item a {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}

/* Remove the empty gap before homepage hero */
body.home .site-main,
body.home .entry-content,
body.home.separate-containers .inside-article {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Make the first homepage hero sit directly under header */
body.home .entry-content > *:first-child {
  margin-top: 0 !important;
}


/* ==========================================
   Tablet / smaller desktop
   ========================================== */

@media (max-width: 1100px) {
  .site-header .inside-header {
    gap: 18px !important;
    padding: 18px 20px !important;
  }

  .main-navigation .main-nav ul li a {
    padding: 9px 9px !important;
    font-size: 14px !important;
  }

  .site-header .custom-logo,
  .site-header .site-logo img {
    max-height: 64px !important;
  }

  .site-branding .main-title,
  .site-branding .main-title a {
    font-size: 25px !important;
  }

  .site-description {
    font-size: 13px !important;
  }
}

/* ==========================================
   PepBunny Header Structural Compression
   Kills the white-space canyon above hero
   ========================================== */

@media (min-width: 769px) {
  /* Header itself should be compact, not a billboard */
  .site-header {
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Main header interior */
  .site-header .inside-header,
  .inside-header {
    min-height: 0 !important;
    height: auto !important;

    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
  }

  /* Branding should not create vertical bulk */
  .site-branding-container {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  .site-logo,
  .site-branding {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  /* Logo size: present, but not eating the fold */
  .site-header .custom-logo,
  .site-header .site-logo img {
    max-height: 58px !important;
    width: auto !important;
  }

  /* Brand text compact */
  .site-branding .main-title,
  .site-branding .main-title a {
    font-size: 25px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-description {
    font-size: 13px !important;
    line-height: 1.15 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
  }

  /* Navigation should behave like part of the header, not its own section */
  .main-navigation,
  .main-navigation .inside-navigation {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  .main-navigation .main-nav > ul {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-navigation .main-nav ul li a {
    padding: 8px 11px !important;
    line-height: 1.1 !important;
  }

  /* Cart item should align with nav, not create height */
  .menu-bar-items,
  .menu-bar-items .wc-menu-item,
  .menu-bar-items a {
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.1 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* ==========================================
   Kill the gap between header and homepage hero
   ========================================== */

body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home .inside-article,
body.home .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* First homepage block should start immediately */
body.home .entry-content > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* If the hero is inside a GenerateBlocks container, remove inherited top air */
body.home .entry-content > .gb-container:first-child,
body.home .entry-content > .wp-block-group:first-child,
body.home .entry-content > .wp-block-cover:first-child {
  margin-top: 0 !important;
}
}

/* ==========================================
   Affiliate Program Page Polish
   ========================================== */
/* Bunny Network built-in application form polish */
.pb-affiliate-page .pb-affiliate-form form {
  font-family: inherit;
}

.pb-affiliate-page .pb-affiliate-form label {
  color: #4f2b3c;
  font-weight: 700;
}

.pb-affiliate-page .pb-affiliate-form input[type="text"],
.pb-affiliate-page .pb-affiliate-form input[type="email"],
.pb-affiliate-page .pb-affiliate-form input[type="url"],
.pb-affiliate-page .pb-affiliate-form textarea,
.pb-affiliate-page .pb-affiliate-form select {
  border: 1px solid rgba(226, 143, 178, 0.55) !important;
  border-radius: 16px !important;
  background: #fffafa !important;
  color: #4c2638 !important;
  padding: 13px 15px !important;
  box-shadow: 0 10px 24px rgba(120, 45, 82, 0.04);
}

.pb-affiliate-page .pb-affiliate-form input:focus,
.pb-affiliate-page .pb-affiliate-form textarea:focus,
.pb-affiliate-page .pb-affiliate-form select:focus {
  border-color: #d84f8b !important;
  box-shadow: 0 0 0 4px rgba(216, 79, 139, 0.14) !important;
  outline: none !important;
}

.pb-affiliate-page .pb-affiliate-form input[type="checkbox"] {
  accent-color: #d84f8b;
}

.pb-affiliate-page .pb-affiliate-form button,
.pb-affiliate-page .pb-affiliate-form input[type="submit"] {
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #d84f8b, #ff86a3) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  padding: 15px 26px !important;
  box-shadow: 0 18px 34px rgba(216, 79, 139, 0.24);
}

.pb-affiliate-page .pb-affiliate-form button:hover,
.pb-affiliate-page .pb-affiliate-form input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 44px rgba(216, 79, 139, 0.32);
}

@media (max-width: 768px) {
  .pb-affiliate-page .pb-affiliate-form {
    padding: 22px;
  }

  .pb-affiliate-page .pb-affiliate-form button,
  .pb-affiliate-page .pb-affiliate-form input[type="submit"] {
    width: 100%;
  }
}

/* Affiliate earnings calculator — mobile fix */
@media (max-width: 768px) {
  .pb-affiliate-page .pb-affiliate-calc-total,
  .pb-affiliate-page .pb-affiliate-calculation-total,
  .pb-affiliate-page .pb-affiliate-total {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 24px !important;
  }

  .pb-affiliate-page .pb-affiliate-calc-total *,
  .pb-affiliate-page .pb-affiliate-calculation-total *,
  .pb-affiliate-page .pb-affiliate-total * {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .pb-affiliate-page .pb-affiliate-calc-total strong,
  .pb-affiliate-page .pb-affiliate-calculation-total strong,
  .pb-affiliate-page .pb-affiliate-total strong,
  .pb-affiliate-page .pb-affiliate-calc-total .amount,
  .pb-affiliate-page .pb-affiliate-calculation-total .amount,
  .pb-affiliate-page .pb-affiliate-total .amount {
    display: block !important;
    width: 100% !important;
    white-space: nowrap !important;
    font-size: clamp(40px, 12vw, 58px) !important;
    line-height: 0.95 !important;
    text-align: left !important;
  }
}


/* FINAL WORKING MOBILE HEADER — DO NOT CASUALLY EDIT */
/* ==========================================
   PepBunny Mobile Header — clean normal-header version
   Mobile Header OFF. Off Canvas OFF.
   ========================================== */

@media (max-width: 768px) {

  /* Header shell */
  .site-header,
  .site-header .inside-header,
  .inside-header {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;

    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;

    padding: 12px 16px !important;
    margin: 0 !important;

    background: #ffffff !important;
    border-bottom: 1px solid rgba(226, 143, 178, 0.24) !important;
    box-shadow: 0 8px 22px rgba(120, 45, 82, 0.05) !important;
    overflow: visible !important;
  }

  /* Logo side */
  .site-branding-container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 116px) !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .site-logo,
  .site-header .site-logo {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  .site-header .custom-logo,
  .site-header .site-logo img {
    display: block !important;
    width: auto !important;
    max-width: 82px !important;
    max-height: 58px !important;
    object-fit: contain !important;
  }

  /* Hide text branding on mobile. Logo mark only. */
  .site-branding {
    display: none !important;
  }

  /* Nav/icon side */
  .main-navigation {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
  }

  .main-navigation .inside-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .menu-bar-items {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide full nav when closed */
  .main-navigation:not(.toggled) .main-nav,
  .main-navigation:not(.toggled) .main-nav > ul {
    display: none !important;
  }

  /* Force hamburger visible */
  .main-navigation .menu-toggle {
    display: flex !important;
  }

  /* Cart + hamburger pills */
  .main-navigation .menu-toggle,
  .menu-bar-items a,
  .menu-bar-items .wc-menu-item a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;

    padding: 0 !important;
    margin: 0 !important;

    border-radius: 999px !important;
    border: 1px solid rgba(226, 143, 178, 0.55) !important;
    background: #ffffff !important;
    color: #24141b !important;
    box-shadow: 0 10px 22px rgba(120, 45, 82, 0.08) !important;
    line-height: 1 !important;
  }

  .main-navigation .menu-toggle .mobile-menu {
    display: none !important;
  }

  /* Open dropdown */
  .main-navigation.toggled .main-nav {
    display: block !important;
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    top: calc(100% + 10px) !important;
    z-index: 9999 !important;

    background: #ffffff !important;
    border: 1px solid rgba(226, 143, 178, 0.45) !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 55px rgba(120, 45, 82, 0.16) !important;
    overflow: hidden !important;
  }

  .main-navigation.toggled .main-nav > ul,
  .main-navigation.toggled .main-nav ul {
    display: block !important;
    margin: 0 !important;
    padding: 8px !important;
    background: #ffffff !important;
  }

  .main-navigation.toggled .main-nav li {
    display: block !important;
    width: 100% !important;
  }

  .main-navigation.toggled .main-nav li a {
    display: block !important;
    width: 100% !important;
    padding: 14px 16px !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    color: #3a1f2d !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    white-space: normal !important;
  }

  .main-navigation.toggled .main-nav li a:hover {
    background: #fff1f7 !important;
  }

  /* Kill homepage gap */
  body.home .site-content,
  body.home .content-area,
  body.home .site-main,
  body.home .inside-article,
  body.home .entry-content,
  body.home .entry-content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* ==========================================
   PepBunny Mobile Header — duplicate icon + dropdown fix
   Put this BELOW the current mobile header block
   ========================================== */

@media (max-width: 768px) {

  /* Kill duplicate cart groups after the first one */
  .main-navigation .inside-navigation > .menu-bar-items ~ .menu-bar-items {
    display: none !important;
  }

  /* Kill duplicate hamburger buttons after the first one */
  .main-navigation .inside-navigation > .menu-toggle ~ .menu-toggle,
  .main-navigation .inside-navigation > button.menu-toggle ~ button.menu-toggle {
    display: none !important;
  }

  /* Make sure the surviving cart + menu stay on the right */
  .main-navigation .inside-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
  }

  .main-navigation .inside-navigation > .menu-bar-items {
    order: 1 !important;
  }

  .main-navigation .inside-navigation > .menu-toggle {
    order: 2 !important;
  }

  /* The opened dropdown should be wide, centered, and readable */
  .main-navigation.toggled .main-nav {
    display: block !important;
    position: absolute !important;

    left: 50% !important;
    right: auto !important;
    top: calc(100% + 10px) !important;
    transform: translateX(-50%) !important;

    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;

    background: #ffffff !important;
    border: 1px solid rgba(226, 143, 178, 0.45) !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 55px rgba(120, 45, 82, 0.16) !important;
    overflow: hidden !important;
    z-index: 9999 !important;
  }

  .main-navigation.toggled .main-nav > ul,
  .main-navigation.toggled .main-nav ul {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #ffffff !important;
  }

  .main-navigation.toggled .main-nav li,
  .main-navigation.toggled .main-nav li a {
    display: block !important;
    width: 100% !important;
  }

  .main-navigation.toggled .main-nav li a {
    padding: 15px 16px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    color: #3a1f2d !important;
    white-space: normal !important;
  }
}

/* ==========================================
   PepBunny Mobile Header — kill leftover mobile-bar duplicates
   Keeps the nav-level cart + hamburger
   ========================================== */

@media (max-width: 768px) {

  /* If GP Mobile Header is somehow still rendering, hide it */
  #mobile-header,
  .mobile-header-navigation {
    display: none !important;
  }

  /* Kill GeneratePress mobile bar duplicate controls */
  .site-header .mobile-bar-items,
  .site-header .inside-header > .mobile-bar-items,
  .site-header .main-navigation .mobile-bar-items,
  .main-navigation .inside-navigation > .mobile-bar-items {
    display: none !important;
  }

  /* Kill leftover off-canvas / slideout toggles if they are still outputting */
  .site-header .slideout-toggle,
  .site-header .menu-bar-item.slideout-toggle,
  .main-navigation .inside-navigation > .slideout-toggle,
  .main-navigation .inside-navigation > .menu-bar-item.slideout-toggle {
    display: none !important;
  }

  /* Keep the good nav-level cart + hamburger visible */
  .site-header .main-navigation .inside-navigation > .menu-bar-items {
    display: flex !important;
    order: 1 !important;
  }

  .site-header .main-navigation .inside-navigation > button.menu-toggle,
  .site-header .main-navigation .inside-navigation > .menu-toggle {
    display: flex !important;
    order: 2 !important;
  }
}

/* ==========================================
   PepBunny Mobile Header — isolate real primary nav controls
   Hide all header cart/menu controls, then restore only #site-navigation
   ========================================== */

@media (max-width: 768px) {

  /* Hide ALL cart/menu controls in the header first */
  .site-header .menu-bar-items,
  .site-header .menu-toggle,
  .site-header button.menu-toggle,
  .site-header .wc-menu-item,
  .site-header .cart-contents {
    display: none !important;
  }

  /* Restore only the primary navigation's cart/menu controls */
  #site-navigation .inside-navigation > .menu-bar-items,
  #site-navigation .inside-navigation > button.menu-toggle,
  #site-navigation .inside-navigation > .menu-toggle {
    display: flex !important;
  }

  /* If primary nav itself has duplicate cart groups, keep only the first */
  #site-navigation .inside-navigation > .menu-bar-items ~ .menu-bar-items {
    display: none !important;
  }

  /* If primary nav itself has duplicate hamburgers, keep only the first */
  #site-navigation .inside-navigation > button.menu-toggle ~ button.menu-toggle,
  #site-navigation .inside-navigation > .menu-toggle ~ .menu-toggle {
    display: none !important;
  }

  /* Re-apply pill styling to the restored real controls */
  #site-navigation .inside-navigation > .menu-bar-items a,
  #site-navigation .inside-navigation > button.menu-toggle,
  #site-navigation .inside-navigation > .menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;

    padding: 0 !important;
    margin: 0 !important;

    border-radius: 999px !important;
    border: 1px solid rgba(226, 143, 178, 0.55) !important;
    background: #ffffff !important;
    color: #24141b !important;
    box-shadow: 0 10px 22px rgba(120, 45, 82, 0.08) !important;
    line-height: 1 !important;
  }
}

/* ==========================================
   PepBunny Mobile Header — restore real cart only
   Put this at the VERY bottom
   ========================================== */

@media (max-width: 768px) {

  /* Restore the cart only inside the real primary navigation */
  #site-navigation .inside-navigation > .menu-bar-items {
    display: flex !important;
    align-items: center !important;
    order: 1 !important;
  }

  #site-navigation .inside-navigation > .menu-bar-items .wc-menu-item,
  #site-navigation .inside-navigation > .menu-bar-items .cart-contents,
  #site-navigation .inside-navigation > .menu-bar-items a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Cart pill styling */
  #site-navigation .inside-navigation > .menu-bar-items a {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;

    padding: 0 !important;
    margin: 0 !important;

    border-radius: 999px !important;
    border: 1px solid rgba(226, 143, 178, 0.55) !important;
    background: #ffffff !important;
    color: #24141b !important;
    box-shadow: 0 10px 22px rgba(120, 45, 82, 0.08) !important;
    line-height: 1 !important;
  }

  /* Keep hamburger after cart */
  #site-navigation .inside-navigation > button.menu-toggle,
  #site-navigation .inside-navigation > .menu-toggle {
    order: 2 !important;
  }
}

/* ==========================================
   PepBunny Mobile Header — restore title/tagline
   Safe version: keeps cart + hamburger intact
   ========================================== */

@media (max-width: 768px) {

  /* Give the brand side enough room but protect the controls */
  .site-header .site-branding-container {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;

    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 120px) !important;
  }

  /* Slightly tighten logo so text can fit */
  .site-header .custom-logo,
  .site-header .site-logo img {
    max-width: 54px !important;
    max-height: 54px !important;
    width: auto !important;
    height: auto !important;
  }

  /* Bring title/tagline back */
  .site-header .site-branding {
    display: block !important;
    min-width: 0 !important;
    max-width: 170px !important;
    overflow: hidden !important;
    text-align: left !important;
  }

  .site-header .site-branding .main-title,
  .site-header .site-branding .main-title a {
    display: block !important;
    font-size: 23px !important;
    line-height: 1 !important;
    font-weight: 800 !important;

    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;

    color: #201A1A !important;
  }

  .site-header .site-description {
    display: block !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;

    margin: 3px 0 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;

    color: #684D58 !important;
  }
}

/* Mobile header — try to fit full tagline safely */
@media (max-width: 768px) {
  .site-header,
  .site-header .inside-header,
  .inside-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
    gap: 8px !important;
  }

  .site-header .site-branding-container {
    gap: 7px !important;
    max-width: calc(100% - 100px) !important;
  }

  .site-header .custom-logo,
  .site-header .site-logo img {
    max-width: 48px !important;
    max-height: 48px !important;
  }

  .site-header .site-branding {
    max-width: 188px !important;
  }

  .site-header .site-description {
    font-size: 10px !important;
    letter-spacing: -0.15px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  #site-navigation .inside-navigation > .menu-bar-items a,
  #site-navigation .inside-navigation > button.menu-toggle,
  #site-navigation .inside-navigation > .menu-toggle,
  .main-navigation .menu-toggle,
  .menu-bar-items a,
  .menu-bar-items .wc-menu-item a {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }
}

/* ==========================================
   PepBunny v2 Motion System — Phase 1
   CSS-only premium motion polish
   ========================================== */

:root {
  --pb-motion-ease: cubic-bezier(.16, 1, .3, 1);
  --pb-motion-fast: 180ms;
  --pb-motion-med: 320ms;
  --pb-motion-slow: 700ms;
}

/* Respect reduced motion settings */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ------------------------------------------
   Global button / pill microinteractions
   ------------------------------------------ */

@media (hover: hover) {
  .pb-product-buttons a,
  .pb-affiliate-page a.wp-block-button__link,
  .pb-standards-page a.wp-block-button__link,
  .pb-community-page a.wp-block-button__link,
  .wp-block-button__link,
  .gb-button {
    transition:
      transform var(--pb-motion-fast) var(--pb-motion-ease),
      box-shadow var(--pb-motion-fast) var(--pb-motion-ease),
      background-color var(--pb-motion-fast) ease,
      border-color var(--pb-motion-fast) ease,
      color var(--pb-motion-fast) ease !important;
  }

  .pb-product-buttons a:hover,
  .pb-affiliate-page a.wp-block-button__link:hover,
  .pb-standards-page a.wp-block-button__link:hover,
  .pb-community-page a.wp-block-button__link:hover,
  .wp-block-button__link:hover,
  .gb-button:hover {
    transform: translateY(-2px);
  }

  .pb-product-buttons a:active,
  .wp-block-button__link:active,
  .gb-button:active {
    transform: translateY(0) scale(0.985);
  }
}

/* ------------------------------------------
   Product card premium hover
   ------------------------------------------ */

@media (hover: hover) {
  .pb-product-card,
  .pb-mini-card,
  .pb-lab-card,
  .pb-lab-proof-item,
  .pb-community-card,
  .pb-standard-card,
  .pb-affiliate-card {
    transition:
      transform var(--pb-motion-med) var(--pb-motion-ease),
      box-shadow var(--pb-motion-med) var(--pb-motion-ease),
      border-color var(--pb-motion-med) ease,
      background-color var(--pb-motion-med) ease !important;
    will-change: transform;
  }

  .pb-product-card:hover,
  .pb-mini-card:hover,
  .pb-lab-card:hover,
  .pb-lab-proof-item:hover,
  .pb-community-card:hover,
  .pb-standard-card:hover,
  .pb-affiliate-card:hover {
    transform: translateY(-5px);
    border-color: rgba(216, 79, 139, 0.38) !important;
    box-shadow: 0 28px 70px rgba(120, 45, 82, 0.16) !important;
  }
}

/* ------------------------------------------
   Product image gentle zoom
   ------------------------------------------ */

@media (hover: hover) {
  .pb-product-image img,
  .pb-mini-card img,
  .pb-product-card img {
    transition: transform 520ms var(--pb-motion-ease), filter 520ms ease !important;
    will-change: transform;
  }

  .pb-product-card:hover .pb-product-image img,
  .pb-mini-card:hover img,
  .pb-product-card:hover img {
    transform: scale(1.025);
    filter: saturate(1.04);
  }
}

/* ------------------------------------------
   Badges / pills feel tactile
   ------------------------------------------ */

.pb-badge,
.pb-product-card .pb-badge,
.pb-affiliate-stat,
.pb-lab-proof-item,
.pb-founding-panel-item {
  transition:
    transform var(--pb-motion-fast) var(--pb-motion-ease),
    box-shadow var(--pb-motion-fast) var(--pb-motion-ease),
    background-color var(--pb-motion-fast) ease,
    border-color var(--pb-motion-fast) ease !important;
}

@media (hover: hover) {
  .pb-badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(216, 79, 139, 0.12);
  }
}

/* ------------------------------------------
   One-time soft shimmer for Founders' badges
   Add class pb-founders-drop to the product section
   ------------------------------------------ */

.pb-founders-drop .pb-badge:first-child {
  position: relative;
  overflow: hidden;
}

.pb-founders-drop .pb-badge:first-child::after {
  content: "";
  position: absolute;
  top: -60%;
  left: -80%;
  width: 60%;
  height: 220%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.0) 25%,
    rgba(255, 255, 255, 0.65) 50%,
    rgba(255, 255, 255, 0.0) 75%,
    transparent 100%
  );
  transform: rotate(18deg);
  animation: pbBadgeShimmer 2.8s ease 0.7s 1 both;
  pointer-events: none;
}

@keyframes pbBadgeShimmer {
  0% {
    left: -80%;
    opacity: 0;
  }
  18% {
    opacity: 1;
  }
  52% {
    opacity: 1;
  }
  100% {
    left: 130%;
    opacity: 0;
  }
}

/* ------------------------------------------
   Hero breathing atmosphere
   Apply class pb-hero-motion to the hero section
   ------------------------------------------ */

.pb-hero-motion {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.pb-hero-motion::before {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 22%, rgba(255, 138, 182, 0.18), transparent 34%),
    radial-gradient(circle at 80% 18%, rgba(255, 213, 230, 0.22), transparent 32%),
    radial-gradient(circle at 52% 90%, rgba(216, 79, 139, 0.10), transparent 36%);
  animation: pbHeroGlowDrift 22s ease-in-out infinite alternate;
}

@keyframes pbHeroGlowDrift {
  0% {
    transform: translate3d(-1.5%, -1%, 0) scale(1);
    opacity: 0.75;
  }
  100% {
    transform: translate3d(1.5%, 1%, 0) scale(1.045);
    opacity: 1;
  }
}

/* ------------------------------------------
   Soft image / world breathing for hero images
   ------------------------------------------ */

.pb-hero-motion img {
  animation: pbHeroImageBreath 18s ease-in-out infinite alternate;
  transform-origin: center;
}

@keyframes pbHeroImageBreath {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.025);
  }
}

/* ==========================================
   PepBunny v2 Motion System — Phase 1 Cleanup
   Fix buttons, badge shimmer, and Cover hero motion
   ========================================== */

/* ------------------------------------------
   1. Kill old circular/ripple button animation
   Product buttons should lift/glow, not blob-circle
   ------------------------------------------ */

.pb-product-buttons a,
.pb-product-buttons .gb-button,
.pb-product-card .gb-button,
.pb-product-card a.wp-block-button__link {
  position: relative !important;
  overflow: hidden !important;
  transition:
    transform 180ms var(--pb-motion-ease),
    box-shadow 180ms var(--pb-motion-ease),
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease !important;
}

/* Nuke old pseudo-circle effect on product buttons */
.pb-product-buttons a::before,
.pb-product-buttons a::after,
.pb-product-buttons .gb-button::before,
.pb-product-buttons .gb-button::after,
.pb-product-card .gb-button::before,
.pb-product-card .gb-button::after,
.pb-product-card a.wp-block-button__link::before,
.pb-product-card a.wp-block-button__link::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  transform: none !important;
  opacity: 0 !important;
}

@media (hover: hover) {
  .pb-product-buttons a:hover,
  .pb-product-buttons .gb-button:hover,
  .pb-product-card .gb-button:hover,
  .pb-product-card a.wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 34px rgba(216, 79, 139, 0.22) !important;
  }

  .pb-product-buttons a:active,
  .pb-product-buttons .gb-button:active,
  .pb-product-card .gb-button:active,
  .pb-product-card a.wp-block-button__link:active {
    transform: translateY(0) scale(0.985) !important;
  }
}

/* ------------------------------------------
   2. Replace unreliable page-load badge shimmer
   New behavior: Founders' badge shimmers when card is hovered
   ------------------------------------------ */

/* Disable old one-time shimmer animation */
.pb-founders-drop .pb-badge:first-child::after {
  animation: none !important;
  opacity: 0 !important;
}

/* Prepare Founders' badges */
.pb-founders-drop .pb-product-card .pb-badge:first-child {
  position: relative;
  overflow: hidden;
}

/* Controlled shimmer layer */
.pb-founders-drop .pb-product-card .pb-badge:first-child::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  top: -70%;
  left: -90%;
  width: 60%;
  height: 240%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.0) 25%,
    rgba(255, 255, 255, 0.65) 50%,
    rgba(255, 255, 255, 0.0) 75%,
    transparent 100%
  );
  transform: rotate(18deg);
  opacity: 0;
  pointer-events: none;
}

/* Shimmer reliably on card hover */
@media (hover: hover) {
  .pb-founders-drop .pb-product-card:hover .pb-badge:first-child::after {
    animation: pbBadgeHoverShimmer 900ms ease both !important;
  }
}

@keyframes pbBadgeHoverShimmer {
  0% {
    left: -90%;
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    left: 135%;
    opacity: 0;
  }
}

/* ------------------------------------------
   3. Hero motion fix for WordPress Cover block
   Works when pb-hero-motion is on the outer hero container
   or directly on the Cover block
   ------------------------------------------ */

.pb-hero-motion,
.pb-hero-motion .wp-block-cover {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* Animate Cover background image */
.pb-hero-motion .wp-block-cover__image-background,
.pb-hero-motion.wp-block-cover .wp-block-cover__image-background {
  animation: pbHeroImageBreath 18s ease-in-out infinite alternate;
  transform-origin: center;
  will-change: transform;
}

/* Soft glow layer over the Cover background */
.pb-hero-motion .wp-block-cover::after,
.pb-hero-motion.wp-block-cover::after {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 22%, rgba(255, 138, 182, 0.16), transparent 34%),
    radial-gradient(circle at 80% 18%, rgba(255, 213, 230, 0.18), transparent 32%),
    radial-gradient(circle at 52% 90%, rgba(216, 79, 139, 0.08), transparent 36%);
  animation: pbHeroGlowDrift 22s ease-in-out infinite alternate;
}

/* Keep hero content above glow */
.pb-hero-motion .wp-block-cover__inner-container,
.pb-hero-motion.wp-block-cover .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
}

/* ==========================================
   PepBunny v2 Motion System — Phase 1 Final Cleanup
   Button shimmer + reliable badge shimmer + hero Cover motion
   ========================================== */

/* ------------------------------------------
   1. Button shimmer system
   Replaces old circular/blob animation
   ------------------------------------------ */

.pb-product-buttons a,
.pb-product-buttons .gb-button,
.pb-product-card .gb-button,
.pb-product-card a.wp-block-button__link,
.product-card .gb-button,
.product-card a.wp-block-button__link,
.pb-hero-motion .gb-button,
.pb-hero-motion .wp-block-button__link,
.hero .gb-button,
.hero .wp-block-button__link {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transition:
    transform 180ms var(--pb-motion-ease),
    box-shadow 180ms var(--pb-motion-ease),
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease !important;
}

/* Kill old circle/blob pseudo animation */
.pb-product-buttons a::after,
.pb-product-buttons .gb-button::after,
.pb-product-card .gb-button::after,
.pb-product-card a.wp-block-button__link::after,
.product-card .gb-button::after,
.product-card a.wp-block-button__link::after,
.pb-hero-motion .gb-button::after,
.pb-hero-motion .wp-block-button__link::after,
.hero .gb-button::after,
.hero .wp-block-button__link::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  transform: none !important;
  opacity: 0 !important;
}

/* New premium shimmer layer */
.pb-product-buttons a::before,
.pb-product-buttons .gb-button::before,
.pb-product-card .gb-button::before,
.pb-product-card a.wp-block-button__link::before,
.product-card .gb-button::before,
.product-card a.wp-block-button__link::before,
.pb-hero-motion .gb-button::before,
.pb-hero-motion .wp-block-button__link::before,
.hero .gb-button::before,
.hero .wp-block-button__link::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -80% !important;
  left: -80% !important;
  width: 55% !important;
  height: 260% !important;
  z-index: -1 !important;
  pointer-events: none !important;

  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.0) 25%,
    rgba(255, 255, 255, 0.32) 50%,
    rgba(255, 255, 255, 0.0) 75%,
    transparent 100%
  ) !important;

  transform: translateX(-120%) rotate(18deg) !important;
  opacity: 0 !important;
}

@media (hover: hover) {
  .pb-product-buttons a:hover,
  .pb-product-buttons .gb-button:hover,
  .pb-product-card .gb-button:hover,
  .pb-product-card a.wp-block-button__link:hover,
  .product-card .gb-button:hover,
  .product-card a.wp-block-button__link:hover,
  .pb-hero-motion .gb-button:hover,
  .pb-hero-motion .wp-block-button__link:hover,
  .hero .gb-button:hover,
  .hero .wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 34px rgba(216, 79, 139, 0.22) !important;
  }

  .pb-product-buttons a:hover::before,
  .pb-product-buttons .gb-button:hover::before,
  .pb-product-card .gb-button:hover::before,
  .pb-product-card a.wp-block-button__link:hover::before,
  .product-card .gb-button:hover::before,
  .product-card a.wp-block-button__link:hover::before,
  .pb-hero-motion .gb-button:hover::before,
  .pb-hero-motion .wp-block-button__link:hover::before,
  .hero .gb-button:hover::before,
  .hero .wp-block-button__link:hover::before {
    animation: pbButtonShimmer 820ms ease both !important;
  }

  .pb-product-buttons a:active,
  .pb-product-buttons .gb-button:active,
  .pb-product-card .gb-button:active,
  .pb-product-card a.wp-block-button__link:active,
  .product-card .gb-button:active,
  .product-card a.wp-block-button__link:active,
  .pb-hero-motion .gb-button:active,
  .pb-hero-motion .wp-block-button__link:active,
  .hero .gb-button:active,
  .hero .wp-block-button__link:active {
    transform: translateY(0) scale(0.985) !important;
  }
}

@keyframes pbButtonShimmer {
  0% {
    transform: translateX(-120%) rotate(18deg);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translateX(360%) rotate(18deg);
    opacity: 0;
  }
}

/* ------------------------------------------
   2. Reliable Founders' badge shimmer
   No random page-load firing. Hover only.
   ------------------------------------------ */

/* Kill old random badge shimmer */
.pb-founders-drop .pb-badge::after,
.pb-founders-drop .badges > *::after,
.pb-founders-drop .pb-badges > *::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  opacity: 0 !important;
}

/* Prepare first badge in each product card */
.pb-founders-drop .pb-product-card .pb-badge:first-child,
.pb-founders-drop .product-card .pb-badge:first-child,
.pb-founders-drop .product-card .badges > *:first-child,
.pb-founders-drop .pb-product-card .badges > *:first-child,
.pb-founders-drop .product-card .pb-badges > *:first-child,
.pb-founders-drop .pb-product-card .pb-badges > *:first-child {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* New badge shimmer layer */
.pb-founders-drop .pb-product-card .pb-badge:first-child::before,
.pb-founders-drop .product-card .pb-badge:first-child::before,
.pb-founders-drop .product-card .badges > *:first-child::before,
.pb-founders-drop .pb-product-card .badges > *:first-child::before,
.pb-founders-drop .product-card .pb-badges > *:first-child::before,
.pb-founders-drop .pb-product-card .pb-badges > *:first-child::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -75% !important;
  left: -90% !important;
  width: 60% !important;
  height: 250% !important;
  pointer-events: none !important;

  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.0) 25%,
    rgba(255, 255, 255, 0.65) 50%,
    rgba(255, 255, 255, 0.0) 75%,
    transparent 100%
  ) !important;

  transform: translateX(-120%) rotate(18deg) !important;
  opacity: 0 !important;
}

@media (hover: hover) {
  .pb-founders-drop .pb-product-card:hover .pb-badge:first-child::before,
  .pb-founders-drop .product-card:hover .pb-badge:first-child::before,
  .pb-founders-drop .product-card:hover .badges > *:first-child::before,
  .pb-founders-drop .pb-product-card:hover .badges > *:first-child::before,
  .pb-founders-drop .product-card:hover .pb-badges > *:first-child::before,
  .pb-founders-drop .pb-product-card:hover .pb-badges > *:first-child::before {
    animation: pbBadgeHoverShimmer 900ms ease both !important;
  }
}

@keyframes pbBadgeHoverShimmer {
  0% {
    transform: translateX(-120%) rotate(18deg);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translateX(360%) rotate(18deg);
    opacity: 0;
  }
}

/* ------------------------------------------
   3. Hero Cover motion
   Stronger selector for WordPress Cover block
   ------------------------------------------ */

.hero,
.pb-hero-motion,
.hero .wp-block-cover,
.pb-hero-motion .wp-block-cover,
.wp-block-cover.pb-hero-motion {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* Animate the actual Cover background image */
.hero .wp-block-cover__image-background,
.pb-hero-motion .wp-block-cover__image-background,
.wp-block-cover.pb-hero-motion .wp-block-cover__image-background {
  animation: pbHeroImageBreath 16s ease-in-out infinite alternate !important;
  transform-origin: center center !important;
  will-change: transform !important;
}

/* Soft atmospheric glow */
.hero .wp-block-cover::before,
.pb-hero-motion .wp-block-cover::before,
.wp-block-cover.pb-hero-motion::before {
  content: "" !important;
  position: absolute !important;
  inset: -22% !important;
  z-index: 1 !important;
  pointer-events: none !important;

  background:
    radial-gradient(circle at 16% 22%, rgba(255, 138, 182, 0.18), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(255, 220, 234, 0.22), transparent 32%),
    radial-gradient(circle at 54% 88%, rgba(216, 79, 139, 0.10), transparent 36%) !important;

  animation: pbHeroGlowDrift 20s ease-in-out infinite alternate !important;
  opacity: 0.8 !important;
}

/* Keep cover content above the glow */
.hero .wp-block-cover__inner-container,
.pb-hero-motion .wp-block-cover__inner-container,
.wp-block-cover.pb-hero-motion .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
}

@keyframes pbHeroImageBreath {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.035);
  }
}

@keyframes pbHeroGlowDrift {
  0% {
    transform: translate3d(-1.5%, -1%, 0) scale(1);
    opacity: 0.55;
  }
  100% {
    transform: translate3d(1.5%, 1%, 0) scale(1.045);
    opacity: 0.9;
  }
}

/* ==========================================
   PepBunny v2 Motion — Hero reset + button shimmer
   Hero background motion disabled for performance
   ========================================== */

/* Kill all Phase 1 hero motion/glow attempts */
.pb-hero-motion::before,
.pb-hero-motion::after,
.pb-hero-motion .wp-block-cover::before,
.pb-hero-motion .wp-block-cover::after,
.wp-block-cover.pb-hero-motion::before,
.wp-block-cover.pb-hero-motion::after,
.pepbunny-hero::before,
.pepbunny-hero::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  opacity: 0 !important;
}

.pb-hero-motion,
.pb-hero-motion .wp-block-cover,
.wp-block-cover.pb-hero-motion,
.pepbunny-hero {
  isolation: auto !important;
}

.pb-hero-motion img,
.pb-hero-motion .wp-block-cover__image-background,
.wp-block-cover.pb-hero-motion .wp-block-cover__image-background,
.pepbunny-hero .wp-block-cover__image-background {
  animation: none !important;
  transform: none !important;
  will-change: auto !important;
}

/* ------------------------------------------
   Hero button cleanup + shimmer
   ------------------------------------------ */

.pepbunny-hero .wp-block-button__link,
.pepbunny-hero .gb-button,
.pepbunny-hero a {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transition:
    transform 180ms var(--pb-motion-ease),
    box-shadow 180ms var(--pb-motion-ease),
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease !important;
}

/* Kill old circular/blob pseudo effect on hero buttons */
.pepbunny-hero .wp-block-button__link::after,
.pepbunny-hero .gb-button::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  opacity: 0 !important;
  transform: none !important;
}

/* New shimmer layer for hero buttons */
.pepbunny-hero .wp-block-button__link::before,
.pepbunny-hero .gb-button::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -80% !important;
  left: -90% !important;
  width: 55% !important;
  height: 260% !important;
  z-index: 0 !important;
  pointer-events: none !important;

  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 25%,
    rgba(255, 255, 255, 0.34) 50%,
    rgba(255, 255, 255, 0) 75%,
    transparent 100%
  ) !important;

  transform: translateX(-120%) rotate(18deg) !important;
  opacity: 0 !important;
}

/* Keep button text above shimmer */
.pepbunny-hero .wp-block-button__link > *,
.pepbunny-hero .gb-button > * {
  position: relative !important;
  z-index: 1 !important;
}

@media (hover: hover) {
  .pepbunny-hero .wp-block-button__link:hover,
  .pepbunny-hero .gb-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 34px rgba(216, 79, 139, 0.22) !important;
  }

  .pepbunny-hero .wp-block-button__link:hover::before,
  .pepbunny-hero .gb-button:hover::before {
    animation: pbButtonShimmer 820ms ease both !important;
  }

  .pepbunny-hero .wp-block-button__link:active,
  .pepbunny-hero .gb-button:active {
    transform: translateY(0) scale(0.985) !important;
  }
}

/* Disable Founders' badge shimmer until Phase 2 scroll reveal */
.pb-founders-drop .pb-badge::before,
.pb-founders-drop .pb-badge::after {
  animation: none !important;
  content: none !important;
  display: none !important;
}

/* ==========================================
   PepBunny v2 Motion — Lab Spotlight + Drop Theater
   Product-theater motion, no hidden sections
   ========================================== */

:root {
  --pb-theater-ease: cubic-bezier(.16, 1, .3, 1);
  --pb-theater-pink: rgba(216, 79, 139, 0.22);
  --pb-theater-glow: rgba(255, 196, 222, 0.42);
}

/* Hard reset old reveal systems so nothing flashes or hides */
.pb-reveal,
.pb-reveal-up,
.pb-reveal-soft,
.pb-reveal-child,
.pb-stagger,
.pb-velvet,
.pb-velvet-soft,
.pb-velvet-stage,
.pb-velvet-card {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

/* Kill old hero text animation */
.pepbunny-hero.pb-hero-velvet h1,
.pepbunny-hero.pb-hero-velvet p,
.pepbunny-hero.pb-hero-velvet .wp-block-buttons {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

/* Main theater container */
.pb-drop-theater {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* Ambient lab spotlight sweep across the section */
.pb-drop-theater::before {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: 1;
  pointer-events: none;

  background:
    radial-gradient(circle at 18% 35%, rgba(255, 214, 231, 0.42), transparent 28%),
    linear-gradient(
      110deg,
      transparent 0%,
      rgba(255, 255, 255, 0.0) 32%,
      rgba(255, 255, 255, 0.45) 48%,
      rgba(255, 199, 224, 0.18) 58%,
      transparent 72%
    );

  opacity: 0;
  transform: translateX(-26%);
}

/* Keep real content above the spotlight */
.pb-drop-theater > * {
  position: relative;
  z-index: 2;
}

/* When section is activated */
.pb-drop-theater.pb-lit::before {
  animation: pbLabSpotlightSweep 1800ms var(--pb-theater-ease) both;
}

@keyframes pbLabSpotlightSweep {
  0% {
    opacity: 0;
    transform: translateX(-30%);
  }

  20% {
    opacity: 0.75;
  }

  65% {
    opacity: 0.55;
  }

  100% {
    opacity: 0;
    transform: translateX(30%);
  }
}

/* ------------------------------------------
   Drop title treatment
   Add pb-drop-title to the Founders' Kit Drop heading
   ------------------------------------------ */

.pb-drop-title {
  position: relative;
  display: inline-block;
  isolation: isolate;
}

.pb-drop-title::after {
  content: "";
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: 0.04em;
  height: 0.28em;
  z-index: -1;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(255, 211, 229, 0),
    rgba(255, 178, 213, 0.58),
    rgba(255, 211, 229, 0)
  );
  transform: scaleX(0);
  transform-origin: left center;
}

.pb-drop-theater.pb-lit .pb-drop-title::after {
  animation: pbDropTitleUnderline 1100ms var(--pb-theater-ease) 180ms both;
}

@keyframes pbDropTitleUnderline {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }

  35% {
    opacity: 1;
  }

  100% {
    transform: scaleX(1);
    opacity: 1;
  }
}

/* ------------------------------------------
   Product card spotlight bloom
   Add pb-spot-card + pb-spot-1/2/3 to cards
   ------------------------------------------ */

.pb-spot-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* Light wash inside each product card */
.pb-spot-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;

  background:
    radial-gradient(circle at 22% 20%, rgba(255, 220, 235, 0.48), transparent 32%),
    linear-gradient(
      112deg,
      transparent 0%,
      rgba(255, 255, 255, 0.0) 34%,
      rgba(255, 255, 255, 0.48) 50%,
      rgba(255, 220, 235, 0.18) 62%,
      transparent 76%
    );

  opacity: 0;
  transform: translateX(-18%);
}

/* Keep card content above base card but below wash naturally */
.pb-spot-card > * {
  position: relative;
  z-index: 2;
}

.pb-drop-theater.pb-lit .pb-spot-card {
  animation: pbCardSpotlightBloom 1450ms var(--pb-theater-ease) both;
}

.pb-drop-theater.pb-lit .pb-spot-card::after {
  animation: pbCardLightWash 1450ms var(--pb-theater-ease) both;
}

/* Stagger cards */
.pb-drop-theater.pb-lit .pb-spot-1,
.pb-drop-theater.pb-lit .pb-spot-1::after {
  animation-delay: 240ms;
}

.pb-drop-theater.pb-lit .pb-spot-2,
.pb-drop-theater.pb-lit .pb-spot-2::after {
  animation-delay: 430ms;
}

.pb-drop-theater.pb-lit .pb-spot-3,
.pb-drop-theater.pb-lit .pb-spot-3::after {
  animation-delay: 620ms;
}

@keyframes pbCardSpotlightBloom {
  0% {
    box-shadow: inherit;
    border-color: inherit;
    transform: translateY(0) scale(1);
  }

  38% {
    box-shadow: 0 32px 86px rgba(120, 45, 82, 0.18);
    border-color: rgba(216, 79, 139, 0.42);
    transform: translateY(-3px) scale(1.006);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes pbCardLightWash {
  0% {
    opacity: 0;
    transform: translateX(-20%);
  }

  28% {
    opacity: 0.88;
  }

  100% {
    opacity: 0;
    transform: translateX(20%);
  }
}

/* ------------------------------------------
   Founders badge glint
   ------------------------------------------ */

.pb-founders-drop .pb-spot-card .pb-badge:first-child {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.pb-founders-drop .pb-spot-card .pb-badge:first-child::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -80% !important;
  left: -90% !important;
  width: 60% !important;
  height: 260% !important;
  z-index: 2 !important;
  pointer-events: none !important;

  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 25%,
    rgba(255, 255, 255, 0.75) 50%,
    rgba(255, 255, 255, 0) 75%,
    transparent 100%
  ) !important;

  opacity: 0 !important;
  transform: translateX(-130%) rotate(18deg) !important;
}

.pb-drop-theater.pb-lit .pb-spot-card .pb-badge:first-child::after {
  animation: pbBadgeTheaterGlint 1100ms ease both !important;
}

.pb-drop-theater.pb-lit .pb-spot-1 .pb-badge:first-child::after {
  animation-delay: 640ms !important;
}

.pb-drop-theater.pb-lit .pb-spot-2 .pb-badge:first-child::after {
  animation-delay: 850ms !important;
}

.pb-drop-theater.pb-lit .pb-spot-3 .pb-badge:first-child::after {
  animation-delay: 1060ms !important;
}

@keyframes pbBadgeTheaterGlint {
  0% {
    opacity: 0;
    transform: translateX(-130%) rotate(18deg);
  }

  22% {
    opacity: 1;
  }

  68% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(360%) rotate(18deg);
  }
}

/* ------------------------------------------
   Optional: section label / small eyebrow glint
   Add pb-drop-eyebrow to a small label if desired
   ------------------------------------------ */

.pb-drop-eyebrow {
  position: relative;
  display: inline-flex;
  overflow: hidden;
}

.pb-drop-eyebrow::after {
  content: "";
  position: absolute;
  top: -60%;
  left: -80%;
  width: 50%;
  height: 220%;
  background: linear-gradient(
    115deg,
    transparent,
    rgba(255,255,255,0.65),
    transparent
  );
  opacity: 0;
  transform: rotate(18deg);
}

.pb-drop-theater.pb-lit .pb-drop-eyebrow::after {
  animation: pbEyebrowGlint 900ms ease 260ms both;
}

@keyframes pbEyebrowGlint {
  0% {
    left: -80%;
    opacity: 0;
  }

  25% {
    opacity: 1;
  }

  100% {
    left: 130%;
    opacity: 0;
  }
}

/* Mobile: keep theatrical motion lighter */
@media (max-width: 768px) {
  .pb-drop-theater.pb-lit::before {
    animation-duration: 1350ms;
  }

  .pb-drop-theater.pb-lit .pb-spot-card,
  .pb-drop-theater.pb-lit .pb-spot-card::after {
    animation-duration: 1050ms;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .pb-drop-theater::before,
  .pb-spot-card,
  .pb-spot-card::after,
  .pb-drop-title::after,
  .pb-badge::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ==========================================
   PepBunny v2 Motion — Drop Bloom Reveal
   Hybrid reveal + lab spotlight ceremony
   ========================================== */

/* Remove the pink title oval/underline from previous version */
.pb-drop-title::after {
  content: none !important;
  display: none !important;
}

/* The drop section itself stays structurally present */
.pb-drop-theater {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* Only activate pre-reveal states after JS confirms it's ready.
   This prevents no-JS invisible content. */
.pb-drop-theater.pb-theater-ready .pb-spot-card {
  opacity: 0.16;
  filter: saturate(0.88);
  clip-path: inset(0 10% 0 10% round 28px);
  transition:
    opacity 1050ms cubic-bezier(.16, 1, .3, 1),
    transform 1050ms cubic-bezier(.16, 1, .3, 1),
    filter 1050ms ease,
    clip-path 1050ms cubic-bezier(.16, 1, .3, 1),
    box-shadow 1050ms cubic-bezier(.16, 1, .3, 1),
    border-color 1050ms ease !important;
}

/* Alternating entrance directions */
.pb-drop-theater.pb-theater-ready .pb-spot-1 {
  transform: translateX(-46px) translateY(12px) scale(0.985);
}

.pb-drop-theater.pb-theater-ready .pb-spot-2 {
  transform: translateY(34px) scale(0.985);
}

.pb-drop-theater.pb-theater-ready .pb-spot-3 {
  transform: translateX(46px) translateY(12px) scale(0.985);
}

/* Activated state */
.pb-drop-theater.pb-lit .pb-spot-card {
  opacity: 1;
  transform: translateX(0) translateY(0) scale(1);
  filter: saturate(1);
  clip-path: inset(0 0 0 0 round 28px);
}

/* Stagger timing */
.pb-drop-theater.pb-lit .pb-spot-1 {
  transition-delay: 80ms !important;
}

.pb-drop-theater.pb-lit .pb-spot-2 {
  transition-delay: 230ms !important;
}

.pb-drop-theater.pb-lit .pb-spot-3 {
  transition-delay: 380ms !important;
}

/* Stronger card spotlight wash after cards enter */
.pb-spot-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.pb-spot-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: 0;

  background:
    radial-gradient(circle at 18% 18%, rgba(255, 220, 235, 0.58), transparent 34%),
    linear-gradient(
      112deg,
      transparent 0%,
      rgba(255, 255, 255, 0) 28%,
      rgba(255, 255, 255, 0.62) 48%,
      rgba(255, 214, 232, 0.24) 60%,
      transparent 78%
    );

  transform: translateX(-24%);
}

.pb-drop-theater.pb-lit .pb-spot-card::after {
  animation: pbDropCardLightPass 1450ms cubic-bezier(.16, 1, .3, 1) both;
}

.pb-drop-theater.pb-lit .pb-spot-1::after {
  animation-delay: 520ms;
}

.pb-drop-theater.pb-lit .pb-spot-2::after {
  animation-delay: 720ms;
}

.pb-drop-theater.pb-lit .pb-spot-3::after {
  animation-delay: 920ms;
}

@keyframes pbDropCardLightPass {
  0% {
    opacity: 0;
    transform: translateX(-24%);
  }

  25% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
    transform: translateX(24%);
  }
}

/* Card bloom: border/shadow warms as the drop opens */
.pb-drop-theater.pb-lit .pb-spot-card {
  animation: pbDropCardBloom 1550ms cubic-bezier(.16, 1, .3, 1) both;
}

.pb-drop-theater.pb-lit .pb-spot-1 {
  animation-delay: 220ms;
}

.pb-drop-theater.pb-lit .pb-spot-2 {
  animation-delay: 390ms;
}

.pb-drop-theater.pb-lit .pb-spot-3 {
  animation-delay: 560ms;
}

@keyframes pbDropCardBloom {
  0% {
    box-shadow: inherit;
    border-color: inherit;
  }

  42% {
    box-shadow: 0 34px 92px rgba(120, 45, 82, 0.19);
    border-color: rgba(216, 79, 139, 0.48);
  }

  100% {
    box-shadow: inherit;
  }
}

/* Founder badge glint */
.pb-founders-drop .pb-spot-card .pb-badge:first-child {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.pb-founders-drop .pb-spot-card .pb-badge:first-child::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -80% !important;
  left: -90% !important;
  width: 60% !important;
  height: 260% !important;
  z-index: 2 !important;
  pointer-events: none !important;

  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 25%,
    rgba(255, 255, 255, 0.78) 50%,
    rgba(255, 255, 255, 0) 75%,
    transparent 100%
  ) !important;

  opacity: 0 !important;
  transform: translateX(-130%) rotate(18deg) !important;
}

.pb-drop-theater.pb-lit .pb-spot-card .pb-badge:first-child::after {
  animation: pbDropBadgeGlint 1100ms ease both !important;
}

.pb-drop-theater.pb-lit .pb-spot-1 .pb-badge:first-child::after {
  animation-delay: 880ms !important;
}

.pb-drop-theater.pb-lit .pb-spot-2 .pb-badge:first-child::after {
  animation-delay: 1080ms !important;
}

.pb-drop-theater.pb-lit .pb-spot-3 .pb-badge:first-child::after {
  animation-delay: 1280ms !important;
}

@keyframes pbDropBadgeGlint {
  0% {
    opacity: 0;
    transform: translateX(-130%) rotate(18deg);
  }

  22% {
    opacity: 1;
  }

  68% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(360%) rotate(18deg);
  }
}

/* Optional section-wide lab light, stronger than before */
.pb-drop-theater::before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 1;
  pointer-events: none;

  background:
    radial-gradient(circle at 22% 30%, rgba(255, 209, 229, 0.34), transparent 26%),
    linear-gradient(
      105deg,
      transparent 0%,
      rgba(255, 255, 255, 0) 35%,
      rgba(255, 255, 255, 0.42) 48%,
      rgba(255, 203, 226, 0.18) 60%,
      transparent 75%
    );

  opacity: 0;
  transform: translateX(-28%);
}

.pb-drop-theater > * {
  position: relative;
  z-index: 2;
}

.pb-drop-theater.pb-lit::before {
  animation: pbDropSectionSweep 1750ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes pbDropSectionSweep {
  0% {
    opacity: 0;
    transform: translateX(-28%);
  }

  24% {
    opacity: 0.78;
  }

  100% {
    opacity: 0;
    transform: translateX(28%);
  }
}

/* Mobile: still theatrical, but calmer */
@media (max-width: 768px) {
  .pb-drop-theater.pb-theater-ready .pb-spot-1,
  .pb-drop-theater.pb-theater-ready .pb-spot-2,
  .pb-drop-theater.pb-theater-ready .pb-spot-3 {
    transform: translateY(22px) scale(0.99);
  }

  .pb-drop-theater.pb-theater-ready .pb-spot-card {
    opacity: 0.22;
    clip-path: inset(0 6% 0 6% round 22px);
    transition-duration: 850ms !important;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .pb-drop-theater.pb-theater-ready .pb-spot-card,
  .pb-drop-theater.pb-lit .pb-spot-card {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    animation: none !important;
    transition: none !important;
  }

  .pb-drop-theater::before,
  .pb-spot-card::after,
  .pb-badge::after {
    animation: none !important;
    display: none !important;
  }
}

/* ==========================================
   PepBunny v2 Motion — Drop Reveal v2.1
   Per-card reveal + integrated shimmer
   ========================================== */

/* The section can light up, but cards reveal individually */
.pb-drop-theater.pb-theater-ready .pb-spot-card {
  opacity: 0.18;
  filter: saturate(0.9);
  clip-path: inset(0 9% 0 9% round 28px);
  transition:
    opacity 1050ms cubic-bezier(.16, 1, .3, 1),
    transform 1050ms cubic-bezier(.16, 1, .3, 1),
    filter 1050ms ease,
    clip-path 1050ms cubic-bezier(.16, 1, .3, 1),
    box-shadow 1050ms cubic-bezier(.16, 1, .3, 1),
    border-color 1050ms ease !important;
}

/* Pre-reveal directions */
.pb-drop-theater.pb-theater-ready .pb-spot-1 {
  transform: translateX(-46px) translateY(12px) scale(0.985);
}

.pb-drop-theater.pb-theater-ready .pb-spot-2 {
  transform: translateY(34px) scale(0.985);
}

.pb-drop-theater.pb-theater-ready .pb-spot-3 {
  transform: translateX(46px) translateY(12px) scale(0.985);
}

/* Card reveals individually, not all at once */
.pb-drop-theater.pb-theater-ready .pb-spot-card.pb-card-lit {
  opacity: 1;
  transform: translateX(0) translateY(0) scale(1);
  filter: saturate(1);
  clip-path: inset(0 0 0 0 round 28px);
}

/* Kill old all-at-once card animations */
.pb-drop-theater.pb-lit .pb-spot-card {
  animation: none !important;
}

.pb-drop-theater.pb-lit .pb-spot-card::after {
  animation: none !important;
}

/* Integrated light wash: fires when that card reveals */
.pb-spot-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: 0;

  background:
    radial-gradient(circle at 18% 18%, rgba(255, 220, 235, 0.56), transparent 34%),
    linear-gradient(
      112deg,
      transparent 0%,
      rgba(255, 255, 255, 0) 26%,
      rgba(255, 255, 255, 0.58) 46%,
      rgba(255, 214, 232, 0.24) 58%,
      transparent 76%
    );

  transform: translateX(-26%);
}

.pb-spot-card.pb-card-lit::after {
  animation: pbCardIntegratedLightPass 1150ms cubic-bezier(.16, 1, .3, 1) 180ms both !important;
}

@keyframes pbCardIntegratedLightPass {
  0% {
    opacity: 0;
    transform: translateX(-26%);
  }

  22% {
    opacity: 0.82;
  }

  100% {
    opacity: 0;
    transform: translateX(22%);
  }
}

/* Integrated bloom: happens during card entrance */
.pb-spot-card.pb-card-lit {
  animation: pbCardIntegratedBloom 1180ms cubic-bezier(.16, 1, .3, 1) 80ms both !important;
}

@keyframes pbCardIntegratedBloom {
  0% {
    box-shadow: inherit;
    border-color: inherit;
  }

  36% {
    box-shadow: 0 34px 92px rgba(120, 45, 82, 0.18);
    border-color: rgba(216, 79, 139, 0.46);
  }

  100% {
    box-shadow: inherit;
  }
}

/* Kill old delayed badge shimmer */
.pb-drop-theater.pb-lit .pb-spot-card .pb-badge:first-child::after {
  animation: none !important;
}

/* Integrated badge glint: starts during reveal, not after reveal */
.pb-founders-drop .pb-spot-card.pb-card-lit .pb-badge:first-child::after {
  animation: pbBadgeIntegratedGlint 900ms ease 260ms both !important;
}

@keyframes pbBadgeIntegratedGlint {
  0% {
    opacity: 0;
    transform: translateX(-130%) rotate(18deg);
  }

  20% {
    opacity: 1;
  }

  62% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(340%) rotate(18deg);
  }
}

/* Keep section-wide sweep, but make it quicker and less separate */
.pb-drop-theater.pb-lit::before {
  animation: pbDropSectionSweepTighter 1250ms cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes pbDropSectionSweepTighter {
  0% {
    opacity: 0;
    transform: translateX(-24%);
  }

  24% {
    opacity: 0.55;
  }

  100% {
    opacity: 0;
    transform: translateX(18%);
  }
}

/* Mobile: cards reveal from below instead of side-to-side */
@media (max-width: 768px) {
  .pb-drop-theater.pb-theater-ready .pb-spot-1,
  .pb-drop-theater.pb-theater-ready .pb-spot-2,
  .pb-drop-theater.pb-theater-ready .pb-spot-3 {
    transform: translateY(22px) scale(0.99);
  }

  .pb-drop-theater.pb-theater-ready .pb-spot-card {
    opacity: 0.24;
    clip-path: inset(0 5% 0 5% round 22px);
    transition-duration: 850ms !important;
  }
}

/* ==========================================
   PepBunny v2 Motion — Direction Patch
   Cards now reveal left → right → left
   ========================================== */

/* Desktop entrance directions */
.pb-drop-theater.pb-theater-ready .pb-spot-1 {
  transform: translateX(-48px) translateY(10px) scale(0.985) !important;
}

.pb-drop-theater.pb-theater-ready .pb-spot-2 {
  transform: translateX(48px) translateY(10px) scale(0.985) !important;
}

.pb-drop-theater.pb-theater-ready .pb-spot-3 {
  transform: translateX(-48px) translateY(10px) scale(0.985) !important;
}

.pb-drop-theater.pb-theater-ready .pb-spot-4 {
  transform: translateX(48px) translateY(10px) scale(0.985) !important;
}

/* Once each card lights, return to natural position */
.pb-drop-theater.pb-theater-ready .pb-spot-card.pb-card-lit {
  transform: translateX(0) translateY(0) scale(1) !important;
}

/* Mobile still reveals upward, because side-slide can feel cramped */
@media (max-width: 768px) {
  .pb-drop-theater.pb-theater-ready .pb-spot-1,
  .pb-drop-theater.pb-theater-ready .pb-spot-2,
  .pb-drop-theater.pb-theater-ready .pb-spot-3,
  .pb-drop-theater.pb-theater-ready .pb-spot-4 {
    transform: translateY(22px) scale(0.99) !important;
  }
}

/* ==========================================
   PepBunny v2 Motion — Secondary Product Sections
   Keeps Founders as the crown jewel
   ========================================== */

/* Softer section sweep for non-Founders product theaters */
.pb-product-theater.pb-lit::before,
.pb-upcoming-theater.pb-lit::before {
  animation-duration: 1100ms !important;
  opacity: 0.72;
}

/* Slightly softer card pre-state for secondary sections */
.pb-product-theater.pb-theater-ready .pb-spot-card,
.pb-upcoming-theater.pb-theater-ready .pb-spot-card {
  opacity: 0.28;
  filter: saturate(0.92);
}

/* Slightly less dramatic bloom outside Founders */
.pb-product-theater .pb-spot-card.pb-card-lit,
.pb-upcoming-theater .pb-spot-card.pb-card-lit {
  animation-duration: 980ms !important;
}

/* Optional: first badge glint for upcoming/single-vial cards too, but softer */
.pb-product-theater .pb-spot-card .pb-badge:first-child,
.pb-upcoming-theater .pb-spot-card .pb-badge:first-child {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.pb-product-theater .pb-spot-card .pb-badge:first-child::after,
.pb-upcoming-theater .pb-spot-card .pb-badge:first-child::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -80% !important;
  left: -90% !important;
  width: 56% !important;
  height: 250% !important;
  z-index: 2 !important;
  pointer-events: none !important;

  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 25%,
    rgba(255, 255, 255, 0.56) 50%,
    rgba(255, 255, 255, 0) 75%,
    transparent 100%
  ) !important;

  opacity: 0 !important;
  transform: translateX(-130%) rotate(18deg) !important;
}

.pb-product-theater .pb-spot-card.pb-card-lit .pb-badge:first-child::after,
.pb-upcoming-theater .pb-spot-card.pb-card-lit .pb-badge:first-child::after {
  animation: pbSecondaryBadgeGlint 820ms ease 220ms both !important;
}

@keyframes pbSecondaryBadgeGlint {
  0% {
    opacity: 0;
    transform: translateX(-130%) rotate(18deg);
  }

  22% {
    opacity: 0.8;
  }

  64% {
    opacity: 0.8;
  }

  100% {
    opacity: 0;
    transform: translateX(330%) rotate(18deg);
  }
}

/* ==========================================
   PepBunny v2 Motion — Informational Sections
   Softer than product theaters
   ========================================== */

.pb-info-theater.pb-lit::before {
  animation-duration: 950ms !important;
  opacity: 0.46 !important;
}

.pb-info-theater.pb-theater-ready .pb-spot-card {
  opacity: 0.42;
  filter: saturate(0.96);
  clip-path: inset(0 4% 0 4% round 22px);
}

.pb-info-theater.pb-theater-ready .pb-spot-1,
.pb-info-theater.pb-theater-ready .pb-spot-2,
.pb-info-theater.pb-theater-ready .pb-spot-3,
.pb-info-theater.pb-theater-ready .pb-spot-4 {
  transform: translateY(18px) scale(0.992) !important;
}

.pb-info-theater.pb-theater-ready .pb-spot-card.pb-card-lit {
  opacity: 1;
  filter: saturate(1);
  transform: translateY(0) scale(1) !important;
}

/* ==========================================
   PepBunny v2 Motion — CTA Theater
   Soft invitation glow
   ========================================== */

.pb-cta-theater {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.pb-cta-theater::after {
  content: "";
  position: absolute;
  inset: 8%;
  z-index: 1;
  pointer-events: none;
  border-radius: 36px;

  background:
    radial-gradient(circle at 50% 50%, rgba(255, 192, 222, 0.34), transparent 56%);

  opacity: 0;
  transform: scale(0.96);
}

.pb-cta-theater > * {
  position: relative;
  z-index: 2;
}

.pb-cta-theater.pb-lit::after {
  animation: pbCtaGlowOpen 1500ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes pbCtaGlowOpen {
  0% {
    opacity: 0;
    transform: scale(0.96);
  }

  38% {
    opacity: 0.75;
  }

  100% {
    opacity: 0.22;
    transform: scale(1);
  }
}

/* ==========================================
   PepBunny v2 Motion — Drop Title Fix
   Keeps title alignment + adds clean text sheen
   ========================================== */

/* Reset old pb-drop-title behavior */
.pb-drop-title {
  display: block !important;
  position: relative !important;
  width: auto !important;
  max-width: 100% !important;
  margin-top: inherit;
  margin-bottom: inherit;
  isolation: isolate;
}

/* Kill old oval/underline */
.pb-drop-title::after {
  content: none !important;
  display: none !important;
}

/* Preserve centered headings in centered product sections */
.pb-product-theater .pb-drop-title,
.pb-upcoming-theater .pb-drop-title,
.pb-info-theater .pb-drop-title,
.pb-cta-theater .pb-drop-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep Founders' Kit Drop left-aligned if that section is intentionally left */
.pb-founders-drop .pb-drop-title {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* New title animation: soft text sheen, no oval */
.pb-drop-title {
  background-image: linear-gradient(
    110deg,
    currentColor 0%,
    currentColor 34%,
    rgba(255, 255, 255, 0.86) 46%,
    currentColor 58%,
    currentColor 100%
  ) !important;
  background-size: 260% 100% !important;
  background-position: 120% 0 !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

/* Fire title sheen when section lights */
.pb-drop-theater.pb-lit .pb-drop-title {
  animation: pbDropTitleSheen 1100ms cubic-bezier(.16, 1, .3, 1) 120ms both;
}

@keyframes pbDropTitleSheen {
  0% {
    background-position: 120% 0;
    filter: saturate(0.96);
  }

  45% {
    filter: saturate(1.08);
  }

  100% {
    background-position: -80% 0;
    filter: saturate(1);
  }
}

/* ==========================================
   PepBunny v2 Motion — Title Alignment + Visible Sheen Fix
   ========================================== */

/* Center all animated drop titles, including Founders */
.pb-drop-theater .pb-drop-title,
.pb-founders-drop .pb-drop-title,
.pb-product-theater .pb-drop-title,
.pb-upcoming-theater .pb-drop-title,
.pb-info-theater .pb-drop-title,
.pb-cta-theater .pb-drop-title {
  display: block !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Robust visible title sheen */
.pb-drop-title {
  position: relative !important;

  background-image: linear-gradient(
    110deg,
    #ed5aa0 0%,
    #ed5aa0 34%,
    #ffffff 47%,
    #ff9bc8 53%,
    #ed5aa0 66%,
    #ed5aa0 100%
  ) !important;

  background-size: 260% 100% !important;
  background-position: 120% 0 !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;

  color: #ed5aa0 !important;
  -webkit-text-fill-color: transparent !important;

  filter: none !important;
}

/* Fire when section lights */
.pb-drop-theater.pb-lit .pb-drop-title {
  animation: pbDropTitleSheenVisible 1200ms cubic-bezier(.16, 1, .3, 1) 120ms both !important;
}

@keyframes pbDropTitleSheenVisible {
  0% {
    background-position: 120% 0;
  }

  100% {
    background-position: -80% 0;
  }
}

/* ==========================================
   PepBunny v2 Motion — Title System v2
   Visible glow/sheen, no gradient text bugs
   ========================================== */

/* Fully reset the broken gradient-text title attempts */
.pb-drop-title {
  position: relative !important;
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;

  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;

  color: #ed5aa0 !important;
  -webkit-text-fill-color: currentColor !important;

  overflow: hidden !important;
  isolation: isolate !important;
}

/* Default: product/drop titles centered */
.pb-drop-theater .pb-drop-title,
.pb-founders-drop .pb-drop-title,
.pb-product-theater .pb-drop-title,
.pb-upcoming-theater .pb-drop-title,
.pb-info-theater .pb-drop-title,
.pb-cta-theater .pb-drop-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Proof / fulfillment titles should stay left-aligned */
.pb-proof-theater .pb-drop-title,
.pb-fulfillment-theater .pb-drop-title {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Soft glow aura behind title */
.pb-drop-title::before {
  content: "";
  position: absolute;
  inset: 12% -8%;
  z-index: -1;
  pointer-events: none;
  border-radius: 999px;

  background: radial-gradient(
    circle at 50% 50%,
    rgba(255, 170, 211, 0.42),
    rgba(255, 170, 211, 0.12) 42%,
    transparent 72%
  );

  opacity: 0;
  transform: scaleX(0.72) scaleY(0.82);
}

/* Sheen sweep across title box */
.pb-drop-title::after {
  content: "";
  position: absolute;
  top: -45%;
  bottom: -45%;
  left: -45%;
  width: 34%;
  z-index: 2;
  pointer-events: none;

  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 22%,
    rgba(255, 255, 255, 0.74) 50%,
    rgba(255, 255, 255, 0) 78%,
    transparent 100%
  );

  opacity: 0;
  transform: translateX(-140%) skewX(-18deg);
}

/* JS adds pb-title-lit when the section activates */
.pb-drop-title.pb-title-lit {
  animation: pbTitleColorBloom 980ms cubic-bezier(.16, 1, .3, 1) both !important;
}

.pb-drop-title.pb-title-lit::before {
  animation: pbTitleAuraOpen 1050ms cubic-bezier(.16, 1, .3, 1) both !important;
}

.pb-drop-title.pb-title-lit::after {
  animation: pbTitleSheenSweep 900ms ease 130ms both !important;
}

@keyframes pbTitleColorBloom {
  0% {
    color: #d84f8b;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
    filter: saturate(0.96);
  }

  36% {
    color: #ff66aa;
    text-shadow: 0 0 18px rgba(255, 119, 181, 0.34);
    filter: saturate(1.12);
  }

  100% {
    color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
    filter: saturate(1);
  }
}

@keyframes pbTitleAuraOpen {
  0% {
    opacity: 0;
    transform: scaleX(0.72) scaleY(0.82);
  }

  34% {
    opacity: 0.78;
  }

  100% {
    opacity: 0;
    transform: scaleX(1.08) scaleY(1);
  }
}

@keyframes pbTitleSheenSweep {
  0% {
    opacity: 0;
    transform: translateX(-140%) skewX(-18deg);
  }

  22% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(520%) skewX(-18deg);
  }
}

/* ==========================================
   PepBunny v2 Motion — Proof + Fulfillment Sections
   Two-column informational theater
   ========================================== */

.pb-proof-theater,
.pb-fulfillment-theater {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* Softer than product-drop sections */
.pb-proof-theater.pb-theater-ready .pb-spot-card,
.pb-fulfillment-theater.pb-theater-ready .pb-spot-card {
  opacity: 0.32;
  filter: saturate(0.94);
  clip-path: inset(0 5% 0 5% round 28px);
  transition:
    opacity 950ms cubic-bezier(.16, 1, .3, 1),
    transform 950ms cubic-bezier(.16, 1, .3, 1),
    filter 950ms ease,
    clip-path 950ms cubic-bezier(.16, 1, .3, 1),
    box-shadow 950ms cubic-bezier(.16, 1, .3, 1),
    border-color 950ms ease !important;
}

/* Proof/fulfillment entrance directions */
.pb-proof-theater.pb-theater-ready .pb-spot-1,
.pb-fulfillment-theater.pb-theater-ready .pb-spot-1 {
  transform: translateX(-34px) translateY(10px) scale(0.99) !important;
}

.pb-proof-theater.pb-theater-ready .pb-spot-2,
.pb-fulfillment-theater.pb-theater-ready .pb-spot-2 {
  transform: translateX(34px) translateY(10px) scale(0.99) !important;
}

.pb-proof-theater.pb-theater-ready .pb-spot-card.pb-card-lit,
.pb-fulfillment-theater.pb-theater-ready .pb-spot-card.pb-card-lit {
  opacity: 1;
  transform: translateX(0) translateY(0) scale(1) !important;
  filter: saturate(1);
  clip-path: inset(0 0 0 0 round 28px);
}

/* Softer card wash */
.pb-proof-theater .pb-spot-card::after,
.pb-fulfillment-theater .pb-spot-card::after {
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 220, 235, 0.42), transparent 36%),
    linear-gradient(
      112deg,
      transparent 0%,
      rgba(255, 255, 255, 0) 30%,
      rgba(255, 255, 255, 0.42) 48%,
      rgba(255, 214, 232, 0.16) 60%,
      transparent 76%
    ) !important;
}

/* Mini proof cards unfold inside the panel */
.pb-proof-item {
  opacity: 0.58;
  transform: translateY(10px);
  transition:
    opacity 720ms cubic-bezier(.16, 1, .3, 1),
    transform 720ms cubic-bezier(.16, 1, .3, 1),
    border-color 720ms ease,
    box-shadow 720ms cubic-bezier(.16, 1, .3, 1) !important;
}

.pb-spot-card.pb-card-lit .pb-proof-item {
  opacity: 1;
  transform: translateY(0);
}

.pb-spot-card.pb-card-lit .pb-proof-item:nth-child(1) {
  transition-delay: 160ms;
}

.pb-spot-card.pb-card-lit .pb-proof-item:nth-child(2) {
  transition-delay: 260ms;
}

.pb-spot-card.pb-card-lit .pb-proof-item:nth-child(3) {
  transition-delay: 360ms;
}

.pb-spot-card.pb-card-lit .pb-proof-item:nth-child(4) {
  transition-delay: 460ms;
}

/* Subtle bloom for panels */
.pb-proof-theater .pb-spot-card.pb-card-lit,
.pb-fulfillment-theater .pb-spot-card.pb-card-lit {
  animation: pbProofPanelBloom 1050ms cubic-bezier(.16, 1, .3, 1) 80ms both !important;
}

@keyframes pbProofPanelBloom {
  0% {
    box-shadow: inherit;
    border-color: inherit;
  }

  42% {
    box-shadow: 0 26px 68px rgba(120, 45, 82, 0.13);
    border-color: rgba(216, 79, 139, 0.34);
  }

  100% {
    box-shadow: inherit;
  }
}

/* Mobile: stack sections reveal from below */
@media (max-width: 768px) {
  .pb-proof-theater.pb-theater-ready .pb-spot-1,
  .pb-proof-theater.pb-theater-ready .pb-spot-2,
  .pb-fulfillment-theater.pb-theater-ready .pb-spot-1,
  .pb-fulfillment-theater.pb-theater-ready .pb-spot-2 {
    transform: translateY(20px) scale(0.992) !important;
  }

  .pb-proof-theater.pb-theater-ready .pb-spot-card,
  .pb-fulfillment-theater.pb-theater-ready .pb-spot-card {
    opacity: 0.42;
    clip-path: inset(0 4% 0 4% round 22px);
    transition-duration: 820ms !important;
  }
}

/* ==========================================
   PepBunny v2 Motion — Title System v3 Fix
   Fixes clipping + makes title animation trigger reliably
   ========================================== */

/* Stop title glyph clipping */
.pb-drop-title {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;

  overflow: visible !important;
  clip-path: none !important;

  padding-left: 0.04em !important;
  padding-right: 0.04em !important;

  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;

  color: #ed5aa0 !important;
  -webkit-text-fill-color: currentColor !important;

  position: relative !important;
  isolation: isolate !important;
}

/* Product/drop titles centered */
.pb-founders-drop .pb-drop-title,
.pb-product-theater .pb-drop-title,
.pb-upcoming-theater .pb-drop-title,
.pb-info-theater .pb-drop-title,
.pb-cta-theater .pb-drop-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Trust/proof sections stay left-aligned */
.pb-proof-theater .pb-drop-title,
.pb-fulfillment-theater .pb-drop-title {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Remove every old title pseudo version */
.pb-drop-title::before,
.pb-drop-title::after {
  content: none !important;
  display: none !important;
}

/* Use text-shadow/color bloom instead of clipping sheen */
.pb-drop-theater.pb-lit .pb-drop-title,
.pb-drop-title.pb-title-lit {
  animation: pbTitleCleanBloom 1050ms cubic-bezier(.16, 1, .3, 1) 120ms both !important;
}

@keyframes pbTitleCleanBloom {
  0% {
    color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
    filter: saturate(0.96);
  }

  28% {
    color: #ff73b3;
    text-shadow:
      0 0 18px rgba(255, 119, 181, 0.34),
      0 0 34px rgba(255, 198, 225, 0.28);
    filter: saturate(1.18);
  }

  64% {
    color: #f45fa6;
    text-shadow:
      0 0 10px rgba(255, 119, 181, 0.20),
      0 0 20px rgba(255, 198, 225, 0.18);
  }

  100% {
    color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
    filter: saturate(1);
  }
}

/* ==========================================
   PepBunny v2 Motion — Title + Copy Clip Fix v4
   Fixes clipped F and makes title animation stable
   ========================================== */

/* ------------------------------------------
   A. Fix clipped headings inside proof/copy columns
   The clipping was coming from parent animated columns.
   ------------------------------------------ */

.pb-proof-copy,
.pb-proof-theater .pb-proof-copy,
.pb-fulfillment-theater .pb-proof-copy {
  overflow: visible !important;
  clip-path: none !important;
}

/* Override animated-card clipping specifically on copy columns */
.pb-proof-theater.pb-theater-ready .pb-proof-copy,
.pb-fulfillment-theater.pb-theater-ready .pb-proof-copy,
.pb-proof-theater.pb-theater-ready .pb-proof-copy.pb-card-lit,
.pb-fulfillment-theater.pb-theater-ready .pb-proof-copy.pb-card-lit {
  overflow: visible !important;
  clip-path: none !important;
}

/* Copy columns do not need the internal card wash overlay */
.pb-proof-copy::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Preserve the left/right entrance for copy columns without clipping */
.pb-proof-theater.pb-theater-ready .pb-proof-copy,
.pb-fulfillment-theater.pb-theater-ready .pb-proof-copy {
  opacity: 0.46;
  filter: saturate(0.95);
  transform: translateX(-34px) translateY(10px) scale(0.99) !important;
  transition:
    opacity 950ms cubic-bezier(.16, 1, .3, 1),
    transform 950ms cubic-bezier(.16, 1, .3, 1),
    filter 950ms ease !important;
}

.pb-proof-theater.pb-theater-ready .pb-proof-copy.pb-card-lit,
.pb-fulfillment-theater.pb-theater-ready .pb-proof-copy.pb-card-lit {
  opacity: 1;
  filter: saturate(1);
  transform: translateX(0) translateY(0) scale(1) !important;
}

/* ------------------------------------------
   B. Fully reset title system
   No clipping, no gradient text, no pseudo overlay.
   ------------------------------------------ */

.pb-drop-title {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;

  overflow: visible !important;
  clip-path: none !important;

  padding-left: 0.08em !important;
  padding-right: 0.08em !important;

  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;

  color: #ed5aa0 !important;
  -webkit-text-fill-color: #ed5aa0 !important;

  position: relative !important;
  isolation: isolate !important;

  text-shadow: none;
  filter: none;
}

/* Remove every previous title pseudo effect */
.pb-drop-title::before,
.pb-drop-title::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Center product/drop titles */
.pb-founders-drop .pb-drop-title,
.pb-product-theater .pb-drop-title,
.pb-upcoming-theater .pb-drop-title,
.pb-info-theater .pb-drop-title,
.pb-cta-theater .pb-drop-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep proof/fulfillment titles left aligned */
.pb-proof-theater .pb-drop-title,
.pb-fulfillment-theater .pb-drop-title {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Title animation now only fires from pb-title-lit */
.pb-drop-title.pb-title-lit {
  animation: pbTitleLightCatchV4 1250ms cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes pbTitleLightCatchV4 {
  0% {
    color: #ed5aa0;
    -webkit-text-fill-color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
    filter: saturate(0.96) brightness(1);
  }

  30% {
    color: #ff77b8;
    -webkit-text-fill-color: #ff77b8;
    text-shadow:
      0 0 16px rgba(255, 119, 181, 0.36),
      0 0 34px rgba(255, 198, 225, 0.32);
    filter: saturate(1.18) brightness(1.06);
  }

  68% {
    color: #f763aa;
    -webkit-text-fill-color: #f763aa;
    text-shadow:
      0 0 10px rgba(255, 119, 181, 0.22),
      0 0 22px rgba(255, 198, 225, 0.18);
    filter: saturate(1.08) brightness(1.02);
  }

  100% {
    color: #ed5aa0;
    -webkit-text-fill-color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
    filter: saturate(1) brightness(1);
  }
}

/* ==========================================
   PepBunny v2 Motion — Title System v5
   Auto-title animation, no clipping, no gradient bugs
   ========================================== */

/* Kill old title animation attempts */
.pb-drop-title,
.pb-motion-title {
  overflow: visible !important;
  clip-path: none !important;
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none;
  filter: none;
}

/* Base animated title class added by JS */
.pb-motion-title {
  position: relative !important;
  isolation: isolate !important;
  color: #ed5aa0 !important;
}

/* Remove old pseudo effects */
.pb-drop-title::before,
.pb-drop-title::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* New safe title scan line */
.pb-motion-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.18em;
  width: min(220px, 62%);
  height: 3px;
  border-radius: 999px;
  pointer-events: none;
  opacity: 0;

  background: linear-gradient(
    90deg,
    rgba(255, 190, 221, 0),
    rgba(255, 127, 187, 0.85),
    rgba(255, 235, 245, 0.95),
    rgba(255, 127, 187, 0.85),
    rgba(255, 190, 221, 0)
  );

  transform: translateX(-50%) scaleX(0.18);
}

/* Left-aligned scan line for proof/fulfillment sections */
.pb-proof-theater .pb-motion-title::after,
.pb-fulfillment-theater .pb-motion-title::after {
  left: 0;
  transform: scaleX(0.18);
  transform-origin: left center;
}

/* Product/drop/info/CTA titles stay centered */
.pb-founders-drop .pb-motion-title,
.pb-product-theater .pb-motion-title,
.pb-upcoming-theater .pb-motion-title,
.pb-info-theater .pb-motion-title,
.pb-cta-theater .pb-motion-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Proof/fulfillment titles stay left-aligned */
.pb-proof-theater .pb-motion-title,
.pb-fulfillment-theater .pb-motion-title {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Title lights when JS adds pb-title-lit */
.pb-motion-title.pb-title-lit {
  animation: pbMotionTitleBloom 1200ms cubic-bezier(.16, 1, .3, 1) both !important;
}

.pb-motion-title.pb-title-lit::after {
  animation: pbMotionTitleScanCenter 1250ms cubic-bezier(.16, 1, .3, 1) 80ms both !important;
}

.pb-proof-theater .pb-motion-title.pb-title-lit::after,
.pb-fulfillment-theater .pb-motion-title.pb-title-lit::after {
  animation-name: pbMotionTitleScanLeft !important;
}

@keyframes pbMotionTitleBloom {
  0% {
    color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
    filter: saturate(0.96) brightness(1);
  }

  30% {
    color: #ff75b8;
    text-shadow:
      0 0 16px rgba(255, 119, 181, 0.34),
      0 0 34px rgba(255, 198, 225, 0.30);
    filter: saturate(1.18) brightness(1.05);
  }

  70% {
    color: #f763aa;
    text-shadow:
      0 0 8px rgba(255, 119, 181, 0.18),
      0 0 18px rgba(255, 198, 225, 0.14);
  }

  100% {
    color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
    filter: saturate(1) brightness(1);
  }
}

@keyframes pbMotionTitleScanCenter {
  0% {
    opacity: 0;
    transform: translateX(-50%) scaleX(0.18);
  }

  24% {
    opacity: 1;
  }

  78% {
    opacity: 0.88;
  }

  100% {
    opacity: 0;
    transform: translateX(-50%) scaleX(1);
  }
}

@keyframes pbMotionTitleScanLeft {
  0% {
    opacity: 0;
    transform: scaleX(0.18);
  }

  24% {
    opacity: 1;
  }

  78% {
    opacity: 0.88;
  }

  100% {
    opacity: 0;
    transform: scaleX(1);
  }
}

/* ==========================================
   PepBunny v2 Motion — Title Card System
   Uses the working pb-spot-card reveal engine
   ========================================== */

/* Title cards are animated by the same system as product cards,
   but they should not behave like physical product cards. */
.pb-title-card {
  position: relative !important;
  display: block !important;

  overflow: visible !important;
  clip-path: none !important;

  background: none !important;
  background-image: none !important;

  color: #ed5aa0 !important;
  -webkit-text-fill-color: #ed5aa0 !important;

  text-shadow: none;
  filter: none;

  isolation: isolate !important;
}

/* Center title cards in product/drop sections */
.pb-founders-drop .pb-title-card,
.pb-product-theater .pb-title-card,
.pb-upcoming-theater .pb-title-card,
.pb-info-theater .pb-title-card,
.pb-cta-theater .pb-title-card {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Pre-reveal state for title cards */
.pb-drop-theater.pb-theater-ready .pb-title-card.pb-spot-card {
  opacity: 0.42 !important;
  transform: translateY(18px) scale(0.992) !important;
  filter: saturate(0.92) brightness(0.99) !important;
  clip-path: none !important;

  transition:
    opacity 900ms cubic-bezier(.16, 1, .3, 1),
    transform 900ms cubic-bezier(.16, 1, .3, 1),
    filter 900ms ease !important;
}

/* Revealed state */
.pb-drop-theater.pb-theater-ready .pb-title-card.pb-spot-card.pb-card-lit {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
  filter: saturate(1) brightness(1) !important;
  clip-path: none !important;
}

/* Kill product-card wash overlay on title cards */
.pb-title-card::before,
.pb-title-card::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Add clean title glow bloom when title reveals */
.pb-title-card.pb-card-lit {
  animation: pbTitleCardBloom 1150ms cubic-bezier(.16, 1, .3, 1) 80ms both !important;
}

@keyframes pbTitleCardBloom {
  0% {
    color: #ed5aa0;
    -webkit-text-fill-color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
  }

  32% {
    color: #ff78b8;
    -webkit-text-fill-color: #ff78b8;
    text-shadow:
      0 0 16px rgba(255, 119, 181, 0.34),
      0 0 34px rgba(255, 198, 225, 0.28);
  }

  72% {
    color: #f763aa;
    -webkit-text-fill-color: #f763aa;
    text-shadow:
      0 0 8px rgba(255, 119, 181, 0.16),
      0 0 18px rgba(255, 198, 225, 0.12);
  }

  100% {
    color: #ed5aa0;
    -webkit-text-fill-color: #ed5aa0;
    text-shadow: 0 0 0 rgba(255, 119, 181, 0);
  }
}

/* ==========================================
   PepBunny v2 Motion — Comparison + Final CTA Sections
   ========================================== */

/* Comparison section: calmer informational theater */
.pb-compare-theater.pb-theater-ready .pb-spot-card {
  opacity: 0.42;
  filter: saturate(0.94);
  transform: translateY(18px) scale(0.992) !important;
  clip-path: none !important;

  transition:
    opacity 900ms cubic-bezier(.16, 1, .3, 1),
    transform 900ms cubic-bezier(.16, 1, .3, 1),
    filter 900ms ease,
    box-shadow 900ms cubic-bezier(.16, 1, .3, 1),
    border-color 900ms ease !important;
}

.pb-compare-theater.pb-theater-ready .pb-spot-card.pb-card-lit {
  opacity: 1;
  filter: saturate(1);
  transform: translateY(0) scale(1) !important;
}

/* Gentle timing for comparison section */
.pb-compare-theater.pb-lit::before {
  animation-duration: 1100ms !important;
  opacity: 0.48 !important;
}

/* Table feels like a document being illuminated */
.pb-compare-theater table {
  transition:
    box-shadow 900ms cubic-bezier(.16, 1, .3, 1),
    border-color 900ms ease,
    transform 900ms cubic-bezier(.16, 1, .3, 1);
}

.pb-compare-theater .pb-spot-card.pb-card-lit table {
  box-shadow: 0 24px 64px rgba(120, 45, 82, 0.10);
}

/* Final CTA: soft invitation glow */
.pb-cta-theater {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.pb-cta-theater::after {
  content: "";
  position: absolute;
  inset: 8%;
  z-index: 1;
  pointer-events: none;
  border-radius: 36px;

  background:
    radial-gradient(circle at 50% 44%, rgba(255, 192, 222, 0.34), transparent 58%);

  opacity: 0;
  transform: scale(0.96);
}

.pb-cta-theater > * {
  position: relative;
  z-index: 2;
}

.pb-cta-theater.pb-lit::after {
  animation: pbCtaGlowOpen 1500ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes pbCtaGlowOpen {
  0% {
    opacity: 0;
    transform: scale(0.96);
  }

  38% {
    opacity: 0.72;
  }

  100% {
    opacity: 0.24;
    transform: scale(1);
  }
}

/* CTA elements use softer reveal */
.pb-cta-theater.pb-theater-ready .pb-spot-card {
  opacity: 0.44;
  filter: saturate(0.94);
  transform: translateY(20px) scale(0.992) !important;
  clip-path: none !important;

  transition:
    opacity 950ms cubic-bezier(.16, 1, .3, 1),
    transform 950ms cubic-bezier(.16, 1, .3, 1),
    filter 950ms ease !important;
}

.pb-cta-theater.pb-theater-ready .pb-spot-card.pb-card-lit {
  opacity: 1;
  filter: saturate(1);
  transform: translateY(0) scale(1) !important;
}

/* CTA image gets a soft premium lift */
.pb-cta-theater .pb-spot-card.pb-card-lit img {
  animation: pbCtaImageSettle 1200ms cubic-bezier(.16, 1, .3, 1) 120ms both;
}

@keyframes pbCtaImageSettle {
  0% {
    transform: scale(0.992);
    filter: saturate(0.94);
  }

  42% {
    transform: scale(1.012);
    filter: saturate(1.06);
  }

  100% {
    transform: scale(1);
    filter: saturate(1);
  }
}

/* Single-vial cards: light polish only */
.pb-single-vial-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.pb-single-vial-card .pb-product-image,
.pb-single-vial-card figure {
  overflow: hidden;
  border-radius: 22px;
}

.pb-single-vial-card img {
  transition: transform 220ms ease, filter 220ms ease;
}

.pb-single-vial-card:hover img {
  transform: scale(1.025);
  filter: saturate(1.04);
}

.pb-single-vial-card .pb-badge-row {
  margin-top: 1.2rem;
  margin-bottom: 1rem;
}

.pb-single-vial-card .pb-product-description {
  max-width: 92%;
}

.pb-single-vial-card .pb-product-buttons {
  margin-top: auto;
  padding-top: 1.25rem;
}

/* =========================================================
   PepBunny Homepage Product Cards v2
   Live kit cards + upcoming preview cards
   Paste below existing product card CSS
========================================================= */


/* =========================
   LIVE KIT VALUE STRIP
========================= */

.pb-v2-value-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 1.1rem 0 0.85rem;
  padding: 0.65rem;
  border: 1px solid rgba(219, 73, 137, 0.18);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255, 247, 251, 0.95), rgba(255, 238, 246, 0.78));
}

.pb-v2-value-item {
  padding: 0.78rem 0.55rem;
  border: 1px solid rgba(219, 73, 137, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  text-align: center;
  box-shadow: 0 8px 18px rgba(219, 73, 137, 0.055);
}

.pb-v2-value-number {
  margin: 0;
  color: #8A2F57;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.15;
}

.pb-v2-value-label {
  margin: 0.18rem 0 0;
  color: #7a5a66;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}


/* =========================
   LIVE KIT SAVINGS ROW
========================= */

.pb-v2-savings-row {
  margin: 0.75rem 0 1.05rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(219, 73, 137, 0.22);
  border-radius: 16px;
  background:
    radial-gradient(circle at 12% 20%, rgba(255, 130, 166, 0.14), transparent 34%),
    linear-gradient(135deg, rgba(255, 244, 249, 0.96), rgba(255, 255, 255, 0.78));
  color: #684D58;
  font-size: 0.92rem;
  line-height: 1.35;
  box-shadow: 0 10px 24px rgba(219, 73, 137, 0.07);
}

.pb-v2-savings-row strong,
.pb-v2-savings-row b {
  color: #D94B89;
  font-weight: 900;
}


/* =========================
   LIVE KIT INFO GRID
   Use on: pb-product-meta pb-v2-info-grid
========================= */

.pb-v2-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: 1rem;
  margin-bottom: 1.05rem;
}

.pb-v2-info-item {
  min-height: 86px;
  padding: 0.9rem 0.85rem;
  border: 1px solid rgba(219, 73, 137, 0.18);
  border-radius: 14px;
  background: rgba(255, 247, 251, 0.68);
  box-shadow: 0 8px 18px rgba(219, 73, 137, 0.045);
}

.pb-v2-info-label {
  margin: 0 0 0.35rem;
  color: #D94B89;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.1;
}

.pb-v2-info-value {
  margin: 0;
  color: #684D58;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.35;
}


/* =========================
   PRODUCT CARD MICRO-POLISH
   Safe because it targets existing product cards lightly
========================= */

.pb-product-card {
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.pb-product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(219, 73, 137, 0.09);
}

.pb-product-card .pb-badge {
  white-space: nowrap;
}


/* =========================
   UPCOMING / PREVIEW CARDS
========================= */

.pb-preview-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 241, 247, 0.92));
}

.pb-preview-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 15%, rgba(255, 127, 166, 0.14), transparent 34%),
    radial-gradient(circle at 85% 80%, rgba(255, 190, 213, 0.22), transparent 38%);
  opacity: 0.75;
}

.pb-preview-card > * {
  position: relative;
  z-index: 1;
}

.pb-v2-preview-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 1.15rem 0 0.9rem;
  padding: 0.65rem;
  border: 1px solid rgba(219, 73, 137, 0.18);
  border-radius: 18px;
  background: rgba(255, 247, 251, 0.85);
}

.pb-v2-preview-item {
  padding: 0.72rem 0.55rem;
  border: 1px solid rgba(219, 73, 137, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  text-align: center;
}

.pb-v2-preview-value {
  margin: 0;
  color: #8A2F57;
  font-weight: 800;
  font-size: 0.92rem;
  line-height: 1.15;
}

.pb-v2-preview-label {
  margin: 0.18rem 0 0;
  color: #7a5a66;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pb-v2-preview-note {
  margin: 0.8rem 0 1.1rem;
  padding: 0.85rem 1rem;
  border-left: 3px solid rgba(219, 73, 137, 0.42);
  border-radius: 12px;
  background: rgba(255, 247, 251, 0.75);
  color: #684D58;
  font-size: 0.88rem;
  line-height: 1.45;
}


/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width: 900px) {
  .pb-v2-info-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .pb-v2-value-strip,
  .pb-v2-preview-strip {
    grid-template-columns: 1fr;
  }

  .pb-v2-value-item,
  .pb-v2-preview-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    gap: 1rem;
  }

  .pb-v2-value-label,
  .pb-v2-preview-label {
    margin-top: 0;
  }

  .pb-v2-savings-row,
  .pb-v2-preview-note {
    font-size: 0.84rem;
  }
}

@media (max-width: 480px) {
  .pb-v2-value-strip,
  .pb-v2-preview-strip {
    padding: 0.55rem;
    border-radius: 16px;
  }

  .pb-v2-value-item,
  .pb-v2-preview-item,
  .pb-v2-info-item {
    padding: 0.72rem 0.75rem;
  }

  .pb-v2-savings-row {
    padding: 0.8rem 0.85rem;
  }
}

/* =========================================================
   PepBunny Product Card v2 — Softer Override
   Paste BELOW the earlier v2 product card CSS
   Keeps preview notes unchanged
========================================================= */


/* =========================
   LIVE KIT VALUE STRIP — SOFTER DATA RAIL
========================= */

.pb-v2-value-strip {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  margin: 1.15rem 0 0.75rem !important;
  padding: 0.72rem 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(219, 73, 137, 0.18) !important;
  border-bottom: 1px solid rgba(219, 73, 137, 0.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pb-v2-value-item {
  flex: 1;
  padding: 0.1rem 1rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

.pb-v2-value-item:not(:first-child) {
  border-left: 1px solid rgba(219, 73, 137, 0.18) !important;
}

.pb-v2-value-number {
  margin: 0 !important;
  color: #684D58 !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.pb-v2-value-label {
  margin: 0.22rem 0 0 !important;
  color: #D94B89 !important;
  font-size: 0.62rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}


/* =========================
   LIVE KIT SAVINGS ROW — QUIETER
========================= */

.pb-v2-savings-row {
  margin: 0.4rem 0 1.05rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #684D58 !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
}

.pb-v2-savings-row::before {
  content: "Bundle Value";
  display: inline-block;
  margin-right: 0.55rem;
  padding: 0.28rem 0.58rem;
  border: 1px solid rgba(219, 73, 137, 0.22);
  border-radius: 999px;
  color: #D94B89;
  background: rgba(255, 247, 251, 0.72);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}

.pb-v2-savings-row strong,
.pb-v2-savings-row b {
  color: #8A2F57 !important;
  font-weight: 900 !important;
}


/* =========================
   INFO GRID — LIGHTER, MATCH CARD SYSTEM
========================= */

.pb-v2-info-grid {
  gap: 0.7rem !important;
  margin-top: 0.95rem !important;
}

.pb-v2-info-item {
  min-height: 78px !important;
  padding: 0.82rem 0.9rem !important;
  border: 1px solid rgba(219, 73, 137, 0.18) !important;
  border-radius: 14px !important;
  background: rgba(255, 250, 252, 0.62) !important;
  box-shadow: none !important;
}

.pb-v2-info-label {
  color: #8A2F57 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
}

.pb-v2-info-value {
  color: #684D58 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}


/* =========================
   UPCOMING PREVIEW STRIP — SOFTER
   Preview note remains unchanged
========================= */

.pb-v2-preview-strip {
  display: flex !important;
  align-items: center;
  gap: 0 !important;
  margin: 1.15rem 0 0.9rem !important;
  padding: 0.7rem 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(219, 73, 137, 0.16) !important;
  border-bottom: 1px solid rgba(219, 73, 137, 0.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pb-v2-preview-item {
  flex: 1;
  padding: 0.1rem 0.9rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

.pb-v2-preview-item:not(:first-child) {
  border-left: 1px solid rgba(219, 73, 137, 0.16) !important;
}

.pb-v2-preview-value {
  margin: 0 !important;
  color: #684D58 !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.pb-v2-preview-label {
  margin: 0.22rem 0 0 !important;
  color: #D94B89 !important;
  font-size: 0.62rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}


/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {
  .pb-v2-value-strip,
  .pb-v2-preview-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .pb-v2-value-item,
  .pb-v2-preview-item {
    display: block !important;
    padding: 0.2rem 0.65rem !important;
    text-align: left !important;
  }

  .pb-v2-value-number,
  .pb-v2-preview-value {
    font-size: 0.82rem !important;
  }

  .pb-v2-value-label,
  .pb-v2-preview-label {
    font-size: 0.56rem !important;
  }

  .pb-v2-savings-row {
    font-size: 0.86rem !important;
  }

  .pb-v2-savings-row::before {
    display: block;
    width: fit-content;
    margin: 0 0 0.45rem;
  }
}

@media (max-width: 480px) {
  .pb-v2-value-strip,
  .pb-v2-preview-strip {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
    border-top: 1px solid rgba(219, 73, 137, 0.16) !important;
    border-bottom: 1px solid rgba(219, 73, 137, 0.16) !important;
  }

  .pb-v2-value-item,
  .pb-v2-preview-item {
    border-left: 0 !important;
    padding: 0.45rem 0 !important;
  }

  .pb-v2-value-item:not(:first-child),
  .pb-v2-preview-item:not(:first-child) {
    border-left: 0 !important;
    border-top: 1px solid rgba(219, 73, 137, 0.12) !important;
    padding-top: 0.65rem !important;
  }
}

/* =========================================================
   PepBunny Product Card Rescue
   Restores card elegance by hiding cluttered v2 data rails.
   Keeps upcoming preview notes visible.
========================================================= */


/* Hide the live kit value strip that made the cards feel cluttered */
.pb-v2-value-strip {
  display: none !important;
}


/* Hide the live kit savings row + its pseudo badge */
.pb-v2-savings-row {
  display: none !important;
}

.pb-v2-savings-row::before {
  content: none !important;
  display: none !important;
}


/* Hide upcoming preview strip, but keep preview note */
.pb-v2-preview-strip {
  display: none !important;
}


/* Keep preview note — this part worked */
.pb-v2-preview-note {
  display: block !important;
}


/* Calm down the remaining product meta boxes */
.pb-product-meta.pb-v2-info-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
  margin-bottom: 1.1rem !important;
}

.pb-product-meta.pb-v2-info-grid .pb-v2-info-item {
  min-height: auto !important;
  padding: 0.95rem 0.9rem !important;
  border: 1px solid rgba(219, 73, 137, 0.2) !important;
  border-radius: 13px !important;
  background: rgba(255, 247, 251, 0.46) !important;
  box-shadow: none !important;
}

.pb-product-meta.pb-v2-info-grid .pb-v2-info-label {
  margin: 0 0 0.45rem !important;
  color: #8A2F57 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.pb-product-meta.pb-v2-info-grid .pb-v2-info-value {
  margin: 0 !important;
  color: #684D58 !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}


/* Remove extra card hover aggression from earlier v2 CSS */
.pb-product-card:hover {
  transform: none !important;
}


/* Mobile safety */
@media (max-width: 768px) {
  .pb-product-meta.pb-v2-info-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   PepBunny Live Kit Value Note
   Soft conversion note inspired by preview note styling
========================================================= */

.pb-product-card .pb-v2-kit-value-note,
.pb-product-card .pb-v2-savings-row.pb-v2-kit-value-note {
  display: block !important;
  margin: 1.05rem 0 1.15rem !important;
  padding: 0.9rem 1rem 0.95rem 1.05rem !important;
  border: 1px solid rgba(219, 73, 137, 0.16) !important;
  border-left: 3px solid rgba(219, 73, 137, 0.48) !important;
  border-radius: 13px !important;
  background:
    linear-gradient(135deg, rgba(255, 247, 251, 0.82), rgba(255, 255, 255, 0.72)) !important;
  box-shadow: none !important;
  color: #684D58 !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
}

/* Kill the old auto-pill label */
.pb-product-card .pb-v2-kit-value-note::before,
.pb-product-card .pb-v2-savings-row.pb-v2-kit-value-note::before {
  content: none !important;
  display: none !important;
}

/* Style the savings amount if you bold it in the editor */
.pb-product-card .pb-v2-kit-value-note strong,
.pb-product-card .pb-v2-kit-value-note b,
.pb-product-card .pb-v2-savings-row.pb-v2-kit-value-note strong,
.pb-product-card .pb-v2-savings-row.pb-v2-kit-value-note b {
  color: #8A2F57 !important;
  font-weight: 900 !important;
}

/* Optional: if the note is split across two text blocks inside a container */
.pb-product-card .pb-v2-kit-value-note p {
  margin: 0 !important;
}

.pb-product-card .pb-v2-kit-value-note p + p {
  margin-top: 0.15rem !important;
}

/* Mobile tightening */
@media (max-width: 768px) {
  .pb-product-card .pb-v2-kit-value-note,
  .pb-product-card .pb-v2-savings-row.pb-v2-kit-value-note {
    margin: 0.95rem 0 1rem !important;
    padding: 0.82rem 0.9rem !important;
    font-size: 0.86rem !important;
  }
}

/* =========================================================
   PepBunny Choose Your Format / Buying Ladder
========================================================= */

.pb-format-ladder {
  padding: 5rem 1.5rem;
  background:
    radial-gradient(circle at 18% 10%, rgba(255, 128, 166, 0.08), transparent 30%),
    radial-gradient(circle at 85% 88%, rgba(255, 190, 213, 0.16), transparent 34%),
    #fff7fb;
}

.pb-format-ladder-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.pb-format-ladder-header {
  max-width: 760px;
  margin: 0 auto 2.3rem;
  text-align: center;
}

.pb-format-ladder-header h2 {
  margin-bottom: 0.85rem;
  color: #D94B89;
}

.pb-format-ladder-header p {
  margin: 0 auto;
  color: #684D58;
  font-size: 1rem;
  line-height: 1.7;
}

.pb-format-ladder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

.pb-format-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 1.7rem;
  border: 1px solid rgba(219, 73, 137, 0.2);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 18px 42px rgba(219, 73, 137, 0.055);
}

.pb-format-card-featured {
  border-color: rgba(219, 73, 137, 0.35);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(255, 239, 247, 0.82));
  box-shadow: 0 22px 52px rgba(219, 73, 137, 0.1);
  transform: translateY(-0.35rem);
}

.pb-format-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 0.9rem;
  padding: 0.38rem 0.72rem;
  border: 1px solid rgba(219, 73, 137, 0.22);
  border-radius: 999px;
  color: #8A2F57;
  background: rgba(255, 247, 251, 0.76);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
}

.pb-format-card-featured .pb-format-eyebrow {
  color: #fff;
  background: #D94B89;
  border-color: #D94B89;
}

.pb-format-title,
.pb-format-card h3 {
  margin: 0 0 0.75rem;
  color: #D94B89;
  font-size: 1.55rem;
  line-height: 1.16;
}

.pb-format-copy,
.pb-format-card p {
  color: #684D58;
}

.pb-format-card .pb-format-copy {
  margin: 0 0 1.15rem;
  line-height: 1.6;
}

.pb-format-points {
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
}

.pb-format-points li {
  position: relative;
  margin: 0.48rem 0;
  padding-left: 1.25rem;
  color: #684D58;
  font-size: 0.92rem;
  line-height: 1.35;
}

.pb-format-points li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: -0.02rem;
  color: #D94B89;
  font-weight: 900;
}

.pb-format-button,
.pb-format-card .gb-button,
.pb-format-card a.wp-block-button__link {
  margin-top: auto;
  width: fit-content;
}

/* Optional subtle connector line on desktop */
@media (min-width: 901px) {
  .pb-format-ladder-grid {
    position: relative;
  }

  .pb-format-ladder-grid::before {
    content: "";
    position: absolute;
    left: 13%;
    right: 13%;
    top: 2.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(219, 73, 137, 0.22),
      transparent
    );
    z-index: 0;
  }

  .pb-format-card {
    z-index: 1;
  }
}

@media (max-width: 900px) {
  .pb-format-ladder {
    padding: 4rem 1.25rem;
  }

  .pb-format-ladder-grid {
    grid-template-columns: 1fr;
  }

  .pb-format-card-featured {
    transform: none;
  }
}

@media (max-width: 520px) {
  .pb-format-ladder {
    padding: 3.3rem 1rem;
  }

  .pb-format-card {
    padding: 1.35rem;
    border-radius: 20px;
  }

  .pb-format-title,
  .pb-format-card h3 {
    font-size: 1.35rem;
  }
}

/* =========================================================
   PepBunny Format Ladder Animation
   Featured card first, side cards together after
========================================================= */

.pb-format-ladder-animate .pb-format-card {
  opacity: 0;
  will-change: opacity, transform;
}

/* Featured middle card emerges first */
.pb-format-ladder-animate .pb-format-card-featured {
  animation: pbLadderFeaturedRise 780ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 120ms;
}

/* Side cards reveal together after featured card */
.pb-format-ladder-animate .pb-format-card:not(.pb-format-card-featured) {
  animation: pbLadderSideRise 860ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 430ms;
}

@keyframes pbLadderFeaturedRise {
  0% {
    opacity: 0;
    transform: translateY(24px) scale(0.985);
  }

  100% {
    opacity: 1;
    transform: translateY(-0.35rem) scale(1);
  }
}

@keyframes pbLadderSideRise {
  0% {
    opacity: 0;
    transform: translateY(34px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Respect reduced motion settings */
@media (prefers-reduced-motion: reduce) {
  .pb-format-ladder-animate .pb-format-card,
  .pb-format-ladder-animate .pb-format-card-featured,
  .pb-format-ladder-animate .pb-format-card:not(.pb-format-card-featured) {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }

  .pb-format-ladder-animate .pb-format-card-featured {
    transform: translateY(-0.35rem) !important;
  }
}

/* =========================================================
   PepBunny Format Ladder Scroll Animation v2
   Header first → featured card → side cards together
========================================================= */

/* Resting state before section scrolls into view */
.pb-format-ladder-animate .pb-format-ladder-header,
.pb-format-ladder-animate .pb-format-card {
  opacity: 0;
  will-change: opacity, transform;
}

/* Header starts lower and invisible */
.pb-format-ladder-animate .pb-format-ladder-header {
  transform: translateY(22px);
}

/* Featured card starts subtle, not instant-pop */
.pb-format-ladder-animate .pb-format-card-featured {
  transform: translateY(34px) scale(0.985);
}

/* Side cards start lower for a more visible bottom-up reveal */
.pb-format-ladder-animate .pb-format-card:not(.pb-format-card-featured) {
  transform: translateY(54px);
}

/* Triggered when JS adds .pb-ladder-visible */
.pb-format-ladder-animate.pb-ladder-visible .pb-format-ladder-header {
  animation: pbLadderHeaderReveal 900ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 80ms;
}

.pb-format-ladder-animate.pb-ladder-visible .pb-format-card-featured {
  animation: pbLadderFeaturedReveal 1150ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 360ms;
}

.pb-format-ladder-animate.pb-ladder-visible .pb-format-card:not(.pb-format-card-featured) {
  animation: pbLadderSideReveal 1450ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 760ms;
}

@keyframes pbLadderHeaderReveal {
  0% {
    opacity: 0;
    transform: translateY(22px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pbLadderFeaturedReveal {
  0% {
    opacity: 0;
    transform: translateY(34px) scale(0.985);
  }

  45% {
    opacity: 0.45;
  }

  100% {
    opacity: 1;
    transform: translateY(-0.35rem) scale(1);
  }
}

@keyframes pbLadderSideReveal {
  0% {
    opacity: 0;
    transform: translateY(54px);
  }

  45% {
    opacity: 0.35;
  }

  72% {
    opacity: 0.75;
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Once visible, keep final state stable */
.pb-format-ladder-animate.pb-ladder-visible .pb-format-card {
  pointer-events: auto;
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
  .pb-format-ladder-animate .pb-format-ladder-header,
  .pb-format-ladder-animate .pb-format-card,
  .pb-format-ladder-animate.pb-ladder-visible .pb-format-ladder-header,
  .pb-format-ladder-animate.pb-ladder-visible .pb-format-card {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }

  .pb-format-ladder-animate .pb-format-card-featured,
  .pb-format-ladder-animate.pb-ladder-visible .pb-format-card-featured {
    transform: translateY(-0.35rem) !important;
  }
}

/* =========================================================
   PepBunny Why Kits Win Section
========================================================= */

.pb-kits-win {
  padding: 5rem 1.5rem;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 128, 166, 0.07), transparent 30%),
    radial-gradient(circle at 88% 82%, rgba(255, 190, 213, 0.14), transparent 34%),
    #ffffff;
}

.pb-kits-win-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.pb-kits-win-header {
  max-width: 760px;
  margin: 0 auto 2.4rem;
  text-align: center;
}

.pb-kits-win-header h2 {
  margin-bottom: 0.85rem;
  color: #D94B89;
}

.pb-kits-win-header p {
  margin: 0 auto;
  color: #684D58;
  font-size: 1rem;
  line-height: 1.7;
}

.pb-kits-win-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 1.35rem;
  align-items: stretch;
}

.pb-kits-win-left {
  display: grid;
  gap: 1rem;
}

.pb-kit-benefit-card,
.pb-kits-win-table-card {
  border: 1px solid rgba(219, 73, 137, 0.18);
  border-radius: 24px;
  background: rgba(255, 247, 251, 0.58);
  box-shadow: 0 18px 42px rgba(219, 73, 137, 0.045);
}

.pb-kit-benefit-card {
  padding: 1.35rem 1.45rem;
}

.pb-kit-benefit-card h3 {
  margin: 0 0 0.5rem;
  color: #8A2F57;
  font-size: 1.1rem;
  line-height: 1.2;
}

.pb-kit-benefit-card p {
  margin: 0;
  color: #684D58;
  font-size: 0.95rem;
  line-height: 1.55;
}

.pb-kits-win-table-card {
  padding: 1.7rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 241, 247, 0.76));
}

.pb-kits-win-table-card h3 {
  margin: 0 0 0.55rem;
  color: #D94B89;
  font-size: 1.35rem;
  line-height: 1.2;
}

.pb-kits-win-table-card p {
  margin: 0 0 1.2rem;
  color: #684D58;
  font-size: 0.95rem;
  line-height: 1.55;
}

.pb-kit-compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid rgba(219, 73, 137, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
}

.pb-kit-compare-table th,
.pb-kit-compare-table td {
  padding: 1rem 0.95rem;
  border-bottom: 1px solid rgba(219, 73, 137, 0.12);
  text-align: left;
  vertical-align: top;
}

.pb-kit-compare-table th {
  color: #8A2F57;
  background: rgba(255, 247, 251, 0.9);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}

.pb-kit-compare-table td {
  color: #684D58;
  font-size: 0.92rem;
  line-height: 1.35;
}

.pb-kit-compare-table tbody tr:last-child td {
  border-bottom: 0;
}

.pb-kit-compare-table tbody tr:nth-child(2) td {
  background: rgba(255, 247, 251, 0.52);
}

.pb-kit-compare-table tbody tr:nth-child(3) td {
  background: rgba(255, 241, 247, 0.72);
}

@media (max-width: 900px) {
  .pb-kits-win {
    padding: 4rem 1.25rem;
  }

  .pb-kits-win-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .pb-kits-win {
    padding: 3.3rem 1rem;
  }

  .pb-kit-benefit-card,
  .pb-kits-win-table-card {
    border-radius: 20px;
  }

  .pb-kit-benefit-card {
    padding: 1.2rem;
  }

  .pb-kits-win-table-card {
    padding: 1.25rem;
  }

  .pb-kit-compare-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .pb-kit-compare-table th,
  .pb-kit-compare-table td {
    padding: 0.85rem;
  }
}

/* =========================================================
   PepBunny Why Kits Win — Premium Polish Override
   Larger titles + softer premium comparison table
========================================================= */


/* =========================
   BENEFIT CARD TITLES
========================= */

.pb-kit-benefit-card h3 {
  font-size: 1.32rem !important;
  line-height: 1.18 !important;
  margin-bottom: 0.62rem !important;
  color: #D94B89 !important;
  letter-spacing: -0.01em;
}

.pb-kit-benefit-card p {
  font-size: 1rem !important;
  line-height: 1.58 !important;
}


/* =========================
   FORMAT COMPARISON TITLE
========================= */

.pb-kits-win-table-card h3 {
  font-size: 1.65rem !important;
  line-height: 1.15 !important;
  margin-bottom: 0.65rem !important;
  color: #D94B89 !important;
  letter-spacing: -0.015em;
}

.pb-kits-win-table-card p {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 1.25rem !important;
}


/* =========================
   PREMIUM TABLE SHELL
========================= */

.pb-kit-compare-table {
  width: 100%;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 0.62rem !important;
  background: transparent !important;
  overflow: visible !important;
}


/* Header row */
.pb-kit-compare-table thead tr {
  background: transparent !important;
}

.pb-kit-compare-table th {
  padding: 0.15rem 1rem 0.35rem !important;
  border: 0 !important;
  background: transparent !important;
  color: #8A2F57 !important;
  font-size: 0.76rem !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: 0.075em;
}


/* Body cells as soft premium row cards */
.pb-kit-compare-table td {
  padding: 1.05rem 1rem !important;
  border-top: 1px solid rgba(219, 73, 137, 0.14) !important;
  border-bottom: 1px solid rgba(219, 73, 137, 0.14) !important;
  background: rgba(255, 255, 255, 0.66) !important;
  color: #684D58 !important;
  font-size: 0.96rem !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
}


/* Left and right edges of each table row */
.pb-kit-compare-table tbody tr td:first-child {
  border-left: 1px solid rgba(219, 73, 137, 0.14) !important;
  border-radius: 15px 0 0 15px !important;
  color: #8A2F57 !important;
  font-weight: 800 !important;
}

.pb-kit-compare-table tbody tr td:last-child {
  border-right: 1px solid rgba(219, 73, 137, 0.14) !important;
  border-radius: 0 15px 15px 0 !important;
  font-weight: 700 !important;
}


/* Row emphasis: kits should feel more premium than singles */
.pb-kit-compare-table tbody tr:nth-child(1) td {
  background: rgba(255, 255, 255, 0.58) !important;
}

.pb-kit-compare-table tbody tr:nth-child(2) td {
  background: linear-gradient(135deg, rgba(255, 247, 251, 0.92), rgba(255, 255, 255, 0.72)) !important;
  border-color: rgba(219, 73, 137, 0.2) !important;
}

.pb-kit-compare-table tbody tr:nth-child(3) td {
  background: linear-gradient(135deg, rgba(255, 241, 247, 0.96), rgba(255, 255, 255, 0.7)) !important;
  border-color: rgba(219, 73, 137, 0.24) !important;
}


/* Subtle hover, desktop only */
@media (hover: hover) {
  .pb-kit-compare-table tbody tr td {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  }

  .pb-kit-compare-table tbody tr:hover td {
    border-color: rgba(219, 73, 137, 0.3) !important;
    box-shadow: 0 12px 28px rgba(219, 73, 137, 0.06);
  }
}


/* =========================
   MOBILE SAFETY
========================= */

@media (max-width: 560px) {
  .pb-kit-benefit-card h3 {
    font-size: 1.18rem !important;
  }

  .pb-kits-win-table-card h3 {
    font-size: 1.38rem !important;
  }

  .pb-kit-compare-table {
    border-spacing: 0 0.5rem !important;
  }

  .pb-kit-compare-table th,
  .pb-kit-compare-table td {
    padding: 0.85rem !important;
    font-size: 0.88rem !important;
  }
}

/* =========================================================
   PepBunny Format Comparison Flip Tiles
========================================================= */

.pb-kit-flip-module {
  margin-top: 0.25rem;
}

.pb-kit-flip-tip {
  margin: 0 0 1rem;
  color: #8A2F57;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
  opacity: 0.9;
}

.pb-kit-flip-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.pb-kit-flip-card {
  position: relative;
  height: 165px;
  perspective: 1200px;
  cursor: pointer;
  outline: none;
}

.pb-kit-flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 760ms cubic-bezier(0.19, 1, 0.22, 1);
  transform-style: preserve-3d;
}

.pb-kit-flip-card.is-flipped .pb-kit-flip-card-inner {
  transform: rotateY(180deg);
}

.pb-kit-flip-face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(219, 73, 137, 0.18);
  border-radius: 20px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  box-shadow: 0 14px 34px rgba(219, 73, 137, 0.05);
}

.pb-kit-flip-front {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 244, 249, 0.78));
}

.pb-kit-flip-back {
  background:
    linear-gradient(135deg, rgba(255, 247, 251, 0.96), rgba(255, 236, 245, 0.88));
  transform: rotateY(180deg);
}

.pb-kit-flip-card-featured .pb-kit-flip-front {
  border-color: rgba(219, 73, 137, 0.26);
  background:
    linear-gradient(135deg, rgba(255, 247, 251, 0.98), rgba(255, 236, 245, 0.88));
  box-shadow: 0 18px 42px rgba(219, 73, 137, 0.08);
}

.pb-kit-flip-card-featured .pb-kit-flip-back {
  border-color: rgba(219, 73, 137, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 240, 247, 0.98), rgba(255, 228, 240, 0.92));
}

.pb-kit-flip-kicker {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 0.7rem;
  padding: 0.34rem 0.68rem;
  border: 1px solid rgba(219, 73, 137, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  color: #8A2F57;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.pb-kit-flip-card-featured .pb-kit-flip-kicker {
  background: #D94B89;
  border-color: #D94B89;
  color: #fff;
}

.pb-kit-flip-face h4 {
  margin: 0 0 0.45rem;
  color: #D94B89;
  font-size: 1.3rem;
  line-height: 1.12;
  letter-spacing: -0.015em;
}

.pb-kit-flip-back h4 {
  color: #8A2F57;
}

.pb-kit-flip-face p {
  margin: 0;
  color: #684D58;
  font-size: 0.96rem;
  line-height: 1.45;
}

.pb-kit-flip-card:focus-visible .pb-kit-flip-face,
.pb-kit-flip-card:hover .pb-kit-flip-face {
  border-color: rgba(219, 73, 137, 0.3);
}

@media (max-width: 560px) {
  .pb-kit-flip-card {
    height: 180px;
  }

  .pb-kit-flip-face {
    padding: 1rem;
    border-radius: 18px;
  }

  .pb-kit-flip-face h4 {
    font-size: 1.16rem;
  }

  .pb-kit-flip-face p {
    font-size: 0.9rem;
  }
}

/* =========================================================
   Why Kits Win — Flip Tile Height Compression
========================================================= */

.pb-kit-flip-tip {
  margin-bottom: 0.8rem !important;
  font-size: 0.78rem !important;
}

.pb-kit-flip-grid {
  gap: 0.82rem !important;
}

.pb-kit-flip-card {
  height: 142px !important;
}

.pb-kit-flip-face {
  padding: 0.95rem 1rem !important;
  border-radius: 18px !important;
}

.pb-kit-flip-kicker {
  margin-bottom: 0.55rem !important;
  padding: 0.3rem 0.62rem !important;
  font-size: 0.64rem !important;
}

.pb-kit-flip-face h4 {
  margin-bottom: 0.32rem !important;
  font-size: 1.16rem !important;
  line-height: 1.08 !important;
}

.pb-kit-flip-face p {
  font-size: 0.9rem !important;
  line-height: 1.34 !important;
}

@media (max-width: 560px) {
  .pb-kit-flip-card {
    height: 154px !important;
  }

  .pb-kit-flip-face {
    padding: 0.92rem !important;
  }

  .pb-kit-flip-face h4 {
    font-size: 1.08rem !important;
  }

  .pb-kit-flip-face p {
    font-size: 0.86rem !important;
  }
}

/* =========================================================
   Why Kits Win — Scroll Reveal Animation
========================================================= */

/* Initial state before entering viewport */
.pb-kits-win-animate .pb-kits-win-header,
.pb-kits-win-animate .pb-kit-benefit-card,
.pb-kits-win-animate .pb-kits-win-table-card,
.pb-kits-win-animate .pb-kit-flip-card {
  opacity: 0;
  will-change: opacity, transform;
}

/* Header */
.pb-kits-win-animate .pb-kits-win-header {
  transform: translateY(24px);
}

/* Left-side benefit cards */
.pb-kits-win-animate .pb-kit-benefit-card {
  transform: translateY(28px);
}

/* Right comparison wrapper */
.pb-kits-win-animate .pb-kits-win-table-card {
  transform: translateY(32px);
}

/* Flip tiles */
.pb-kits-win-animate .pb-kit-flip-card {
  transform: translateY(30px);
}

.pb-kits-win-animate .pb-kit-flip-card-featured {
  transform: translateY(26px) scale(0.985);
}

/* Triggered state */
.pb-kits-win-animate.pb-kits-visible .pb-kits-win-header {
  animation: pbKitsHeaderReveal 900ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 80ms;
}

/* Left benefit cards stagger */
.pb-kits-win-animate.pb-kits-visible .pb-kit-benefit-card:nth-child(1) {
  animation: pbKitsBenefitReveal 820ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 260ms;
}

.pb-kits-win-animate.pb-kits-visible .pb-kit-benefit-card:nth-child(2) {
  animation: pbKitsBenefitReveal 860ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 420ms;
}

.pb-kits-win-animate.pb-kits-visible .pb-kit-benefit-card:nth-child(3) {
  animation: pbKitsBenefitReveal 900ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 580ms;
}

/* Right comparison card shell */
.pb-kits-win-animate.pb-kits-visible .pb-kits-win-table-card {
  animation: pbKitsTableReveal 1000ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 360ms;
}

/* Featured tile first */
.pb-kits-win-animate.pb-kits-visible .pb-kit-flip-card-featured {
  animation: pbKitsFeaturedTileReveal 1050ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 820ms;
}

/* Outer tiles together after */
.pb-kits-win-animate.pb-kits-visible .pb-kit-flip-card:not(.pb-kit-flip-card-featured) {
  animation: pbKitsSideTileReveal 1250ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation-delay: 1080ms;
}

@keyframes pbKitsHeaderReveal {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pbKitsBenefitReveal {
  0% {
    opacity: 0;
    transform: translateY(28px);
  }
  45% {
    opacity: 0.45;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pbKitsTableReveal {
  0% {
    opacity: 0;
    transform: translateY(32px);
  }
  45% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pbKitsFeaturedTileReveal {
  0% {
    opacity: 0;
    transform: translateY(26px) scale(0.985);
  }
  45% {
    opacity: 0.42;
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes pbKitsSideTileReveal {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  45% {
    opacity: 0.34;
  }
  72% {
    opacity: 0.72;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
  .pb-kits-win-animate .pb-kits-win-header,
  .pb-kits-win-animate .pb-kit-benefit-card,
  .pb-kits-win-animate .pb-kits-win-table-card,
  .pb-kits-win-animate .pb-kit-flip-card,
  .pb-kits-win-animate.pb-kits-visible .pb-kits-win-header,
  .pb-kits-win-animate.pb-kits-visible .pb-kit-benefit-card,
  .pb-kits-win-animate.pb-kits-visible .pb-kits-win-table-card,
  .pb-kits-win-animate.pb-kits-visible .pb-kit-flip-card {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }
}