/* One presentation for Bundle and Store Credit; commerce remains page-owned. */
.pp-campaign-open { overflow: hidden; }
dialog.pp-campaign-dialog { box-sizing: border-box; width: min(672px, calc(100vw - 32px)); max-width: none; max-height: 90vh; max-height: 90dvh; margin: auto; padding: 0; border: 0; border-radius: 0; background: #fff; color: #1a1a1a; overflow: hidden; box-shadow: 0 32px 80px #0006; font: 400 14px/21px var(--pp2026-font-body, Optima, Candara, Georgia, serif); }
.pp-campaign-dialog::backdrop { background: rgba(26,26,26,.6); backdrop-filter: blur(4px); }
.pp-campaign-dialog [data-campaign-content] { display: flex; max-height: inherit; min-height: 0; }
.pp-campaign-dialog .pp-campaign-product { display: flex; flex-direction: column; width: 100%; max-height: inherit; min-width: 0; }
.pp-campaign-dialog .pp-campaign-scroll { overflow-y: auto; overflow-x: hidden; min-height: 0; overscroll-behavior: contain; }
.pp-campaign-dialog .pp-campaign-summary { display: grid; grid-template-columns: 176px minmax(0,1fr); background: #1e2530; }
.pp-campaign-dialog .pp-campaign-media { display: grid; place-items: center; min-width: 0; min-height: 180px; background: #edeae6; }
.pp-campaign-dialog .pp-campaign-media img { box-sizing: border-box; display: block; width: 100%; height: 200px; padding: 16px; object-fit: contain; mix-blend-mode: multiply; }
.pp-campaign-dialog .pp-campaign-copy { min-width: 0; padding: 28px; color: #fff; }
.pp-campaign-dialog .pp-campaign-kicker { margin: 0 28px 8px 0; color: #c5b4a2; font: 400 11px/16px var(--pp2026-font-label, 'Barlow Condensed', sans-serif); letter-spacing: .35em; text-transform: uppercase; overflow-wrap: anywhere; }
.pp-campaign-dialog .pp-campaign-title { margin: 0 20px 8px 0; color: #fff; font: 300 24px/32px var(--pp2026-font-display, 'Cormorant Garamond', Georgia, serif); overflow-wrap: anywhere; }
.pp-campaign-dialog .pp-campaign-subtitle { margin: 0; color: #ffffff80; font: italic 400 13px/19.5px var(--pp2026-font-body, Optima, Candara, Georgia, serif); }
.pp-campaign-dialog .pp-campaign-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-top: 24px; color: #c5b4a2; font: 300 24px/32px var(--pp2026-font-display, 'Cormorant Garamond', Georgia, serif); }
.pp-campaign-dialog .pp-campaign-price ins { text-decoration: none; background: none; }
.pp-campaign-dialog .pp-campaign-price del { opacity: .6; font-size: 16px; }
.pp-campaign-dialog .pp-campaign-serving { flex: 1 1 80px; color: #ffffff80; font: 400 10px/15px var(--pp2026-font-label, 'Barlow Condensed', sans-serif); letter-spacing: .12em; text-transform: uppercase; }
.pp-campaign-dialog .pp-campaign-reviews { margin-top: 6px; }
.pp-campaign-dialog .pp-campaign-reviews:has(.klaviyo-star-rating-widget:empty) { margin-top: 0; }
/* Klaviyo applies its own repeated selectors; retain the existing contrast override. */
.pp-campaign-dialog .pp-campaign-reviews .kl_reviews__star_rating_widget__label { color: #fff !important; font-size: 12px !important; }
.pp-campaign-dialog .pp-campaign-copy .pp-campaign-reviews .kl_reviews__star_rating_widget { display: inline-flex; align-items: center; gap: 6px; --kl-reviews-stars-primary-font-color: #fff; --kl-reviews-stars-star-color: #c97b3a; --kl-reviews-stars-primary-font-font-family: inherit; --kl-reviews-stars-primary-font-font-weight: 400; --kl-reviews-stars-widget-margin-top: 0px; --kl-reviews-stars-widget-margin-bottom: 0px; }
.pp-campaign-dialog .pp-campaign-close { position: absolute; z-index: 3; top: 22px; right: 20px; display: grid; place-items: center; width: 28px; height: 28px; margin: 0; padding: 0; border: 0; background: #1e2530; color: #ffffff80; font-size: 0; cursor: pointer; }
.pp-campaign-dialog .pp-campaign-close::before,.pp-campaign-dialog .pp-campaign-close::after { content: ''; position: absolute; width: 12px; height: 1px; background: currentColor; transform: rotate(45deg); }
.pp-campaign-dialog .pp-campaign-close::after { transform: rotate(-45deg); }
.pp-campaign-dialog .pp-campaign-close:hover { color: #c5b4a2; }
.pp-campaign-dialog .pp-campaign-tabs { position: sticky; top: 0; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding-right: 40px; background: #f9f7f4; border-bottom: 1px solid #e8e3dc; }
.pp-campaign-dialog .pp-campaign-tabs button { min-width: 0; min-height: 44px; margin: 0; padding: 12px 2px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #1a1a1a88; font: 400 12px/18px var(--pp2026-font-label, 'Barlow Condensed', sans-serif); letter-spacing: .2em; text-transform: uppercase; cursor: pointer; }
.pp-campaign-dialog .pp-campaign-tabs button[aria-selected=true] { border-bottom-color: #c5b4a2; color: #1a1a1a; }
.pp-campaign-dialog .pp-campaign-panel { padding: 24px 32px; background: #fafaf9; color: #1a1a1aa6; font-size: 14px; line-height: 21px; }
.pp-campaign-dialog [hidden] { display: none !important; }
.pp-campaign-dialog .pp-campaign-intro { margin: 0 0 24px; padding-left: 16px; border-left: 2px solid #c5b4a2; color: #1a1a1a; font: italic 300 18px/28px var(--pp2026-font-display, 'Cormorant Garamond', Georgia, serif); }
.pp-campaign-dialog .pp-campaign-benefits { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pp-campaign-dialog .pp-campaign-benefits li { display: flex; gap: 12px; align-items: baseline; margin: 0; padding: 0; }
.pp-campaign-dialog .pp-campaign-benefits li::before { content: '\2713'; display: grid; place-items: center; flex: 0 0 16px; width: 16px; height: 16px; background: #4a5240; color: #fff; font: 700 10px/16px Arial,sans-serif; }
.pp-campaign-dialog .pp-campaign-label { margin: 0 0 12px; font: 400 12px/18px var(--pp2026-font-label, 'Barlow Condensed', sans-serif); letter-spacing: .2em; text-transform: uppercase; }
.pp-campaign-dialog .pp-campaign-use > .pp-campaign-label { margin-bottom: 16px; color: #c5b4a2; letter-spacing: .4em; }
.pp-campaign-dialog .pp-campaign-directions { margin-bottom: 24px; padding-left: 16px; border-left: 2px solid #c5b4a2; color: #1a1a1a; font: 300 18px/1.625 var(--pp2026-font-display, 'Cormorant Garamond', Georgia, serif); }
.pp-campaign-dialog .pp-campaign-directions p { margin: 0; font: inherit; color: inherit; }
.pp-campaign-dialog .pp-campaign-directions p + p { margin-top: 16px; }
.pp-campaign-dialog .pp-campaign-key-details { padding: 16px; border: 1px solid #e8e3dc; background: #fff; }
.pp-campaign-dialog .pp-campaign-key-details .pp-campaign-label { color: #c5b4a2; letter-spacing: .35em; }
.pp-campaign-dialog .pp-campaign-key-details dl { display: grid; gap: 8px; margin: 0; font-size: 13px; line-height: 19.5px; }
.pp-campaign-dialog .pp-campaign-key-details dl > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.pp-campaign-dialog .pp-campaign-key-details dt { margin: 0; color: #1a1a1a80; font-weight: 400; }
.pp-campaign-dialog .pp-campaign-key-details dd { margin: 0; color: #1a1a1a; font-weight: 500; text-align: right; overflow-wrap: anywhere; }
.pp-campaign-dialog .pp-campaign-disclaimer { margin: 16px 0 0; color: #1a1a1a59; font-size: 12px; line-height: 19.5px; }
.pp-campaign-dialog .pp-campaign-actions { flex: 0 0 auto; display: grid; gap: 10px; padding: 20px 32px; border-top: 1px solid #e8e3dc; background: #fff; }
.pp-campaign-dialog .pp-campaign-actions button { width: 100%; min-height: 51px; margin: 0; padding: 16px; border: 0; border-radius: 0; background: #1e2530; color: #fff; font: 400 13px/19px var(--pp2026-font-label, 'Barlow Condensed', sans-serif); letter-spacing: .35em; text-transform: uppercase; cursor: pointer; }
.pp-campaign-dialog .pp-campaign-actions button:disabled { opacity: .4; cursor: not-allowed; }
.pp-campaign-dialog .pp-campaign-actions .pp2026-bundle-modal-remove { min-height: 32px; padding: 6px; background: transparent; color: #1e2530; }
.pp-campaign-dialog .pp2026-bundle-modal-added { color: #4a5240; font-size: 12px; }
.pp-campaign-dialog button:focus-visible { outline: 2px solid #c97b3a; outline-offset: -3px; }
.pp-campaign-dialog .pp-campaign-loading { padding: 48px 32px; margin: 0; }
/* Woo HTML is kept intact inside a compact facts label. */
.pp-campaign-dialog .pp-campaign-facts { border: 4px solid #2c2c2c; color: #2c2c2c; font: 400 10px/15px var(--pp2026-font-body, Optima, Candara, Georgia, serif); overflow-wrap: anywhere; }
.pp-campaign-dialog .pp-campaign-facts .product_ingredients { max-width: 100%; min-width: 0; margin: 0; }
.pp-campaign-dialog .pp-campaign-facts .title-big { display: block; padding: 8px 8px 4px; color: #2c2c2c; font: 700 20px/24px Arial,sans-serif; }
.pp-campaign-dialog .pp-campaign-facts :is(.suggested_use,.description_header,.ingredients_other,.ingredients_nodv) { margin: 0; padding: 4px 8px; font-size: 10px; line-height: 15px; }
.pp-campaign-dialog .pp-campaign-facts table { box-sizing: border-box; width: 100%; table-layout: fixed; margin: 4px 0; border: 0; border-top: 3px solid #2c2c2c; border-collapse: collapse; background: transparent; font-size: 10px; line-height: 15px; }
.pp-campaign-dialog .pp-campaign-facts :is(th,td) { box-sizing: border-box; padding: 4px 8px; border: 0; border-bottom: 1px solid #d8d2ca; background: transparent; color: #2c2c2c; font-size: 10px; line-height: 15px; letter-spacing: normal; text-align: left; vertical-align: top; }
.pp-campaign-dialog .pp-campaign-facts .h_c2 { width: 64px; text-align: right; }
.pp-campaign-dialog .pp-campaign-facts .h_c3 { width: 48px; text-align: right; }
.pp-campaign-dialog .pp-campaign-facts img { display: block; max-width: 100%; height: auto; }
@media (max-width: 767px) {
  .pp-campaign-dialog .pp-campaign-summary { grid-template-columns: 144px minmax(0,1fr); }
  .pp-campaign-dialog .pp-campaign-copy { padding: 20px; }
  .pp-campaign-dialog .pp-campaign-title { font-size: 20px; line-height: 25px; margin-right: 10px; }
  .pp-campaign-dialog .pp-campaign-close { top: 14px; right: 10px; }
  .pp-campaign-dialog .pp-campaign-tabs button { font-size: 11px; letter-spacing: .06em; white-space: nowrap; }
  .pp-campaign-dialog .pp-campaign-panel { padding: 24px; }
  .pp-campaign-dialog .pp-campaign-actions { padding: 20px 24px; }
}
