/* ==========================================================================
   EVOPURE PDP — template "Evopure — Single Product (Oils)" (32628) — finish pass
   Rules: everything square at rest. The top-right curve is the ACTIVE signal: variant hover/selected,
   CTA hover, and the gallery hero. Headings + controls are Navy, body + secondary text Charcoal; the only grey is the struck price.
   TYPE: New Spirit = product title + the two option titles (+ prices, under review). Every functional label = Neue Haas Grotesk
   (--evo-pdp-caps). DM Sans = body copy and values. MONEY = coral (--evo-offer). All tokens are Elementor Globals.
   Control heights: --evo-control-h (44px) for selectors/steppers, --evo-cta-h (48px) for the primary CTA.
   ========================================================================== */
:root { --evo-gal-gap: 12px; --evo-control-h: 44px; --evo-cta-h: 48px; --evo-active-radius: var(--evo-radius-sig, 8px); }

/* ---------- PDP TOKENS ---------------------------------------------------
   Declared on body because Elementor defines its Global Colours on the body kit class.
   The PILLAR comes from the product's Pillar field (Evopure Card tab): evopure-pdp.php prints body.evo-pillar-{x},
   pdp.js mirrors it as [data-pillar] on the buy box. Nothing below is written for one product.
   --evo-pillar-dark = the fill a control takes on hover · --evo-pillar-on = the text that sits on that fill.
   FLOW RULE: on ochre the text stays navy (navy speaks, ochre warms); the other darks take white. */
body.single-product, body:has(.evo-pdp-hero) {
	--evo-pdp-bg:    var(--e-global-color-band, #F6F3EB);          /* Off-White: the PDP page tone, both columns */
	--evo-pdp-card:  var(--e-global-color-white, #FFFFFF);         /* the subscription option */
	--evo-pdp-card-alt: var(--e-global-color-wash, #E7EAEB);       /* Cool Grey: the SELECTED option in the offer module */
	--evo-pdp-line:  color-mix(in srgb, var(--e-global-color-navy, #1D293B) 10%, transparent);     /* hairline rules */
	--evo-pdp-caps:  var(--e-global-typography-subheadcaps-font-family, "neue-haas-grotesk-display"), "Helvetica Neue", Arial, sans-serif;      /* Neue Haas Grotesk: every functional label */
	--evo-pdp-outline: 1px;        /* box outlines = 1px, as every button and card on the site (chrome.css .evo-cta) */
	--evo-offer-row-h: 26px;       /* the radio + title + price line in the offer module */
	--evo-pdp-ring: 1.5px;         /* rings + focus outlines = 1.5px, as the homepage FAQ mark, arrow circles and focus states */
	--evo-pdp-ease: var(--evo-ease, cubic-bezier(.22, .61, .36, 1));
	--evo-pillar-dark: var(--e-global-color-organicdark, #73463C); --evo-pillar-on: var(--e-global-color-white, #FFFFFF);
	background-color: var(--evo-pdp-bg);
}
body.evo-pillar-flow,    .evo-pdp-buy[data-pillar="flow"]    { --evo-pillar-dark: var(--e-global-color-flowdark, #CE9B41);    --evo-pillar-on: var(--e-global-color-navy, #1D293B); }
body.evo-pillar-sleep,   .evo-pdp-buy[data-pillar="sleep"]   { --evo-pillar-dark: var(--e-global-color-sleepdark, #6B6682);   --evo-pillar-on: var(--e-global-color-white, #FFFFFF); }
body.evo-pillar-relief,  .evo-pdp-buy[data-pillar="relief"]  { --evo-pillar-dark: var(--e-global-color-reliefdark, #86363E);  --evo-pillar-on: var(--e-global-color-white, #FFFFFF); }
body.evo-pillar-organic, .evo-pdp-buy[data-pillar="organic"] { --evo-pillar-dark: var(--e-global-color-organicdark, #73463C); --evo-pillar-on: var(--e-global-color-white, #FFFFFF); }
body.evo-pillar-evolabs, .evo-pdp-buy[data-pillar="evolabs"] { --evo-pillar-dark: var(--e-global-color-evolabs, #213165);     --evo-pillar-on: var(--e-global-color-white, #FFFFFF); }

/* ---------- GALLERY ------------------------------------------------------ */
.evo-gal { position: relative; width: 100%; }
.evo-gal__item { margin: 0; position: relative; overflow: hidden; background: var(--e-global-color-wash); border-radius: 0; }
.evo-gal__item--hero { border-radius: 0 var(--evo-radius-card, 20px) 0 0; }
.evo-gal__item img, .evo-gal__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.evo-gal__tile { overflow: hidden; border-radius: 0; background: var(--e-global-color-wash); aspect-ratio: 1 / 1; }
.evo-gal__tile img { display: block; width: 100%; height: 100%; object-fit: cover; }
.evo-gal__tiles > .evo-gal__tile:first-child { border-radius: 0 var(--evo-radius-card, 20px) 0 0; }      /* the top tile is the gallery's outer top-right corner, so it carries the signature rounding too */
@media (min-width: 1025px) {
	.evo-gal { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--evo-gal-gap); grid-auto-flow: row dense; }
	.evo-gal__track { display: contents; }
	.evo-gal__item--hero { grid-column: 1 / span 3; grid-row: 1 / span 3; aspect-ratio: 1 / 1; }
	.evo-gal__tiles { grid-column: 4; grid-row: 1 / span 3; display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: var(--evo-gal-gap); min-width: 0; }
	.evo-gal__tile { height: 100%; }
	.evo-gal__item--video, .evo-gal__item--landscape { grid-column: 1 / -1; }
	.evo-gal__item--landscape img { height: auto; object-fit: contain; }
	.evo-gal__item--video .evo-gal__video { aspect-ratio: 16 / 9; }
	.evo-gal__item--square { grid-column: span 2; aspect-ratio: 1 / 1; }
	.evo-gal__dots { display: none; }
}
@media (max-width: 1024px) {
	.evo-gal { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--evo-gal-gap); }
	.evo-gal__track { flex: 0 0 calc(77% - var(--evo-gal-gap)); display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.evo-gal__track::-webkit-scrollbar { display: none; }
	.evo-gal__item { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 1 / 1; }
	.evo-gal__item--landscape img { object-fit: contain; }
	.evo-gal__tiles { flex: 0 0 23%; display: flex; flex-direction: column; gap: 8px; }
	.evo-gal__tiles > .evo-gal__tile:first-child { border-radius: 0 calc(var(--evo-radius-sig, 8px) * 2) 0 0; }      /* small tile on phones: a smaller corner so the icon's artwork is not cut */
	.evo-gal__dots { flex-basis: 100%; display: flex; justify-content: center; gap: 6px; margin-top: 2px; }
	.evo-gal__dot { width: 6px; height: 6px; border-radius: 50%; background: color-mix(in srgb, var(--e-global-color-navy) 22%, transparent); border: 0; padding: 0; transition: background .25s ease, transform .25s ease; }
	.evo-gal__dot.is-active { background: var(--e-global-color-navy); transform: scale(1.25); }
}

/* ---------- LAYOUT + STICKY ---------------------------------------------- */
@media (min-width: 1025px) {
	.evo-pdp-hero > .e-con-inner { column-gap: 48px; }
	.evo-pdp-gallery, .evo-pdp-buy { flex: 0 0 calc(50% - 24px) !important; width: calc(50% - 24px) !important; max-width: calc(50% - 24px); min-width: 0; }
	.evo-pdp-buy { position: sticky; top: calc(var(--evo-header-h, 76px) + 24px); align-self: flex-start; transition: none; }  /* top is steered by pdp.js when the column is taller than the viewport */
}
.evo-pdp-buy > .e-con-inner { gap: 0 !important; }
.evo-pdp-buy .elementor-widget, .evo-pdp-buy .elementor-element { margin-block-end: 0 !important; margin-bottom: 0 !important; }

/* Type voices */
.evo-caps, .evo-pdp-title-sub, .evo-pdp-add-to-cart table.variations th.label label, .evo-sub__head, .evo-addons__label {
	font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600) !important; font-style: normal;
	font-size: var(--e-global-typography-subheadcaps-font-size, 13px); letter-spacing: var(--e-global-typography-subheadcaps-letter-spacing, .16em);
	text-transform: var(--e-global-typography-subheadcaps-text-transform, uppercase); line-height: var(--e-global-typography-subheadcaps-line-height, 1.3); color: var(--e-global-color-charcoal);
}
.evo-body, .evo-pdp-short-description, .evo-sub__meta, .evo-sub__perks, .evo-pdp-info .e-n-accordion-item > .e-con { font-family: var(--e-global-typography-body-font-family), sans-serif; font-weight: var(--e-global-typography-body-font-weight, 300); color: var(--e-global-color-charcoal); }

/* ---------- BREADCRUMB / TOPLINE / TITLE --------------------------------- */
.evo-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin: 0 0 14px; font-family: var(--evo-pdp-caps); font-weight: 500; font-size: 11px; letter-spacing: var(--e-global-typography-caption-letter-spacing, .18em); text-transform: uppercase; color: color-mix(in srgb, var(--e-global-color-charcoal) 68%, transparent); }
.evo-crumb a { color: inherit; text-decoration: none; transition: color var(--evo-t-hover, 250ms) var(--evo-pdp-ease); }
.evo-crumb a:hover { color: var(--e-global-color-navy); }
.evo-crumb__sep { opacity: .5; }
.evo-crumb [aria-current] { color: var(--e-global-color-charcoal); }
.evo-pdp-topline { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 12px; }
.evo-pdp-tag { display: inline-block; padding: 7px 10px 6px; border: 0; background: var(--e-global-color-navy); line-height: 1; font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--e-global-color-white); }      /* = .evo-pcard__tag */
.evo-pdp-topline .evo-card-rating { display: inline-flex; align-items: center; gap: 8px; }
/* five navy stars; the fill's width is the real average (set inline by [evo_card_rating] / LipScore). No reviews = hidden for shoppers. */
.evo-pdp-topline .evo-stars { position: relative; flex: none; display: inline-block; width: 85px; height: 15px; overflow: hidden; background: color-mix(in srgb, var(--e-global-color-navy) 22%, transparent);
	--evo-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 15'%3E%3Cpath d='M8.5 0l2.3 4.9 5.4.6-4 3.7 1.1 5.3-4.8-2.7-4.8 2.7 1.1-5.3-4-3.7 5.4-.6z'/%3E%3C/svg%3E");
	-webkit-mask: var(--evo-star) left center / 17px 15px repeat-x; mask: var(--evo-star) left center / 17px 15px repeat-x; }
.evo-pdp-topline .evo-stars-fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--e-global-color-navy); }
.evo-pdp-topline .evo-rating-count { font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600); font-size: 11px; line-height: 1; letter-spacing: .1em; color: var(--e-global-color-navy); }
.evo-pdp-topline .evo-rating-count:empty { display: none; }
.evo-pdp-topline .evo-card-rating[data-evo-count="0"] { display: none; }
.evo-pdp-title { margin: 0 0 10px; line-height: 1; }
.evo-pdp-title-main { display: block; font-family: var(--e-global-typography-h2-font-family), serif; font-weight: var(--e-global-typography-h2-font-weight); font-style: var(--e-global-typography-h2-font-style, italic); font-size: clamp(28px, 2.4vw, 36px); letter-spacing: var(--e-global-typography-h2-letter-spacing); color: var(--e-global-color-navy); }
.evo-pdp-title-sub { display: block; margin-top: 8px; }
.evo-pdp-short-description p { margin: 0; font-size: 15px; line-height: 1.6; }

/* ---------- VARIANTS ----------------------------------------------------- */
.evo-pdp-add-to-cart table.variations, .evo-pdp-add-to-cart table.variations tbody, .evo-pdp-add-to-cart table.variations tr,
.evo-pdp-add-to-cart table.variations th, .evo-pdp-add-to-cart table.variations td { display: block; width: 100%; background: transparent !important; border: 0; padding: 0; text-align: left; }
.evo-pdp-add-to-cart table.variations { margin: 14px 0 0; }
.evo-pdp-add-to-cart table.variations th.label { margin: 0 0 8px; }
.evo-pdp-add-to-cart .evo-var--ready + select, .evo-pdp-add-to-cart .reset_variations { display: none !important; }
/* strength selector: moved to chrome.css ("SELECTOR") on 2026-09-23 */
.evo-pdp-add-to-cart .woocommerce-variation-price > .price, .evo-pdp-add-to-cart .stock.in-stock, .evo-pdp-add-to-cart .wcsatt-options-product, .evo-pdp-add-to-cart .wcsatt-options-product-details { display: none !important; }
.evo-pdp-add-to-cart .woocommerce-variation-availability p.stock { margin: 8px 0 0; font-family: var(--evo-pdp-caps); font-weight: 500; font-size: 11px; letter-spacing: var(--e-global-typography-caption-letter-spacing); text-transform: uppercase; color: var(--e-global-color-charcoal); }

/* ---------- PRICE ROW (inserted after the variants by pdp.js) ------------ */
.evo-price { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin: 16px 0 0; }
.evo-price__amount { font-family: var(--e-global-typography-h2-font-family), serif; font-weight: var(--e-global-typography-h2-font-weight); font-style: var(--e-global-typography-h2-font-style, italic); font-size: 32px; line-height: 1; color: var(--e-global-color-charcoal); }
.evo-price__pill { display: inline-block; padding: 8px 11px 7px; border: 0; background: var(--evo-pillar-dark); font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600); font-style: normal; font-size: 10.5px; line-height: 1; letter-spacing: .1em; text-transform: uppercase; color: var(--evo-pillar-on); transition: background-color var(--evo-t-section, 400ms) var(--evo-pdp-ease); }      /* PILLAR presence: the fill is the product's pillar dark (from the Pillar field), the words take --evo-pillar-on (navy on Flow's ochre, white on the darker pillars) */

/* ---------- OFFER MODULE --------------------------------------------------
   The coral offer band (signature top-right corner at card scale) runs straight into the two option rows, no gaps, NO outline anywhere.
   SELECTED = a Cool Grey fill: its ONLY affordance. UNSELECTED = clear (it takes the page tone) and collapses to one line:
   radio + title + price. The detail (.evo-sub__more, built by pdp.js) opens and closes over 400ms with the homepage FAQ's grid-rows
   technique, so a closed option never leaves a hole. */
.evo-pdp-add-to-cart .wcsatt-options-wrapper { margin: 16px 0 0; padding: 0 !important; border: 0 !important; border-radius: 0 var(--evo-radius-card, 24px) 0 0 !important; overflow: hidden; background: transparent !important; box-shadow: none !important; }
/* the ONE coral fill in the buy box (white caps on coral, the product-card offer voice); every other coral here is text emphasis */
.evo-sub__band { padding: 11px 16px 10px; background: var(--evo-offer, #EE6C4D); text-align: center; font-family: var(--evo-pdp-caps); font-weight: 700; font-style: normal; font-size: 11px; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; color: var(--e-global-color-white); }
.evo-sub__points b { color: var(--evo-offer, #EE6C4D); font-weight: 700; }
.evo-pdp-add-to-cart .wcsatt-options-product-prompt { margin: 0; padding: 0; }
.evo-pdp-add-to-cart .wcsatt-options-prompt-fieldset { border: 0; padding: 0; margin: 0; }
.evo-pdp-add-to-cart .wcsatt-options-prompt-radios { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.evo-pdp-add-to-cart .wcsatt-options-prompt-radio { margin: 0; }
.evo-pdp-add-to-cart .wcsatt-options-prompt-radio:has(.wcsatt-options-prompt-label-subscription) { order: -1; }
.evo-pdp-add-to-cart .wcsatt-options-prompt-label { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 12px; align-items: start; margin: 0; cursor: pointer; padding: 16px 20px; border: 0 !important; box-shadow: none !important; outline: 0; background: transparent; transition: background-color var(--evo-t-section, 400ms) var(--evo-pdp-ease); }
.evo-pdp-add-to-cart .wcsatt-options-prompt-label:has(> .wcsatt-options-prompt-action-input:checked) { background: var(--evo-pdp-card-alt); }
.evo-pdp-add-to-cart .wcsatt-options-prompt-action-input { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; margin: calc((var(--evo-offer-row-h) - 20px) / 2) 0 0 !important; border: var(--evo-pdp-ring) solid var(--e-global-color-navy);      /* centred on the row the title sits in. !important: WooCommerce zeroes radio margins */ box-shadow: none !important; outline: 0; border-radius: 50%; background: var(--e-global-color-white); position: relative; cursor: pointer; }
.evo-pdp-add-to-cart .wcsatt-options-prompt-action-input:focus-visible { outline: var(--evo-pdp-ring) solid var(--e-global-color-navy); outline-offset: 3px; }
.evo-pdp-add-to-cart .wcsatt-options-prompt-action-input:checked::after { content: ""; position: absolute; inset: 3.5px; border-radius: 50%; background: var(--e-global-color-navy); }
.evo-pdp-add-to-cart .wcsatt-options-prompt-action { display: block; min-width: 0; }
.evo-sub__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: nowrap; height: var(--evo-offer-row-h); }      /* title, price and radio all centre on ONE row height, at any type size */
.evo-sub__title { font-family: var(--e-global-typography-h3-font-family), serif; font-weight: var(--e-global-typography-h3-font-weight); font-style: italic; font-size: 20px; line-height: 1; color: var(--e-global-color-navy); white-space: nowrap; }
.evo-sub__prices { display: inline-flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.evo-sub__prices s { font-family: var(--e-global-typography-body-font-family), sans-serif; font-weight: 300; font-size: 14px; color: var(--e-global-color-slate); text-decoration: line-through; }
.evo-sub__prices b { font-family: var(--e-global-typography-h3-font-family), serif; font-weight: var(--e-global-typography-h3-font-weight); font-style: italic; font-size: 26px; line-height: 1; color: var(--e-global-color-navy); }
.evo-sub__more { display: block; }
.evo-offer .evo-sub__more { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--evo-t-section, 400ms) var(--evo-pdp-ease); }
.evo-offer .evo-sub__more-in { display: block; min-height: 0; overflow: hidden; opacity: 0; visibility: hidden; transition: opacity var(--evo-t-hover, 250ms) var(--evo-pdp-ease), visibility 0s linear var(--evo-t-section, 400ms); }
.evo-offer .wcsatt-options-prompt-label:has(> .wcsatt-options-prompt-action-input:checked) .evo-sub__more { grid-template-rows: 1fr; }
.evo-offer .wcsatt-options-prompt-label:has(> .wcsatt-options-prompt-action-input:checked) .evo-sub__more-in { opacity: 1; visibility: visible; transition: opacity var(--evo-t-section, 400ms) var(--evo-pdp-ease) 120ms, visibility 0s; }
.evo-sub__first { display: block; margin-top: 5px; font-family: var(--evo-pdp-caps); font-weight: 500; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--e-global-color-charcoal); }
.evo-sub__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 24px; margin-top: 14px; padding-bottom: 4px; align-items: start; }
.evo-sub__freq { min-width: 0; }
.evo-sub__freq .wcsatt-options-product-wrapper { display: block !important; height: auto !important; opacity: 1 !important; margin: 0 !important; padding: 0 !important; }      /* WooCommerce slides this away on One-time; the collapsible owns showing/hiding now */
.evo-sub__freq .wcsatt-options-product-dropdown-label { display: block; margin: 0 0 8px; font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600) !important; font-size: 11px; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; color: var(--e-global-color-charcoal); }
.evo-sub__freq .wcsatt-options-product-dropdown { width: 100%; height: var(--evo-control-h); padding: 0 38px 0 14px; border: 1px solid transparent; border-radius: 0; box-shadow: none; outline: 0; background: var(--e-global-color-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231D293B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center; appearance: none; -webkit-appearance: none; font-family: var(--e-global-typography-body-font-family), sans-serif; font-weight: 500; font-size: 14px; color: var(--e-global-color-navy); cursor: pointer; transition: border-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease), background-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease); }      /* = .evo-form select on the homepage */
.evo-sub__freq .wcsatt-options-product-dropdown:hover, .evo-sub__freq .wcsatt-options-product-dropdown:focus { border-color: var(--e-global-color-navy); }      /* the field is white because it now sits ON the Cool Grey selected fill */
.evo-sub__points { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.evo-sub__points li { position: relative; padding-left: 14px; font-family: var(--evo-pdp-caps); font-weight: 500; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.35; color: var(--e-global-color-charcoal); }
.evo-sub__points li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 1.5px; background: var(--e-global-color-navy); }
.evo-sub__points--left { grid-column: 1; } .evo-sub__points--right { grid-column: 2; }
@media (max-width: 600px) {
	.evo-sub__body { grid-template-columns: 1fr; } .evo-sub__points--left, .evo-sub__points--right { grid-column: auto; }
	.evo-pdp-add-to-cart .wcsatt-options-prompt-label { padding: 14px 16px; column-gap: 10px; }
	.evo-sub__title { font-size: 17px; } .evo-sub__prices b { font-size: 21px; } .evo-sub__prices s { font-size: 13px; } .evo-sub__prices { gap: 6px; }
}

/* ---------- CTA ROW (directly under the sub box) ------------------------- */
.evo-pdp-add-to-cart .woocommerce-variation-add-to-cart, .evo-pdp-add-to-cart form.cart:not(.variations_form) { display: flex !important; align-items: stretch; flex-wrap: nowrap; gap: 10px; margin-top: 14px; }
/* SIMPLE products (balm, powders, capsules): WooCommerce puts the price row + offer module INSIDE the same form as the quantity and button.
   They each take a full line; the quantity + button then share the last line, exactly as on variable products. */
.evo-pdp-add-to-cart form.cart:not(.variations_form) { flex-wrap: wrap !important; row-gap: 0; }      /* !important: Elementor's add-to-cart widget forces nowrap on simple-product forms */
.evo-pdp-add-to-cart form.cart:not(.variations_form) > .evo-price, .evo-pdp-add-to-cart form.cart:not(.variations_form) > .wcsatt-options-wrapper { flex: 0 0 100% !important; width: 100%; max-width: 100%; min-width: 0; align-self: auto; }
.evo-pdp-add-to-cart form.cart:not(.variations_form) > .evo-price { margin-top: 2px; }
.evo-pdp-add-to-cart form.cart:not(.variations_form) > .wcsatt-options-wrapper { margin-bottom: 14px; }
.evo-pdp-add-to-cart form.cart:not(.variations_form) > .quantity { flex: 0 0 auto; }
.evo-pdp-add-to-cart .quantity { display: inline-flex !important; align-items: stretch; height: var(--evo-cta-h); border: var(--evo-pdp-outline) solid var(--e-global-color-navy); flex: 0 0 auto; margin: 0; }
.evo-pdp-add-to-cart .quantity .qty { border: 0 !important; width: 46px; height: 100%; padding: 0 !important; margin: 0; text-align: center; -moz-appearance: textfield; appearance: textfield; background: transparent !important; box-shadow: none !important; font-family: var(--e-global-typography-body-font-family), sans-serif; font-weight: 500; font-size: 15px; color: var(--e-global-color-navy); }
.evo-pdp-add-to-cart .quantity .qty::-webkit-outer-spin-button, .evo-pdp-add-to-cart .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.evo-pdp-add-to-cart .quantity .qty:focus { outline: none; }
.evo-pdp-add-to-cart .quantity .evo-qty__btn { width: 38px; height: 100%; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--e-global-color-navy) !important; font-family: var(--e-global-typography-body-font-family), sans-serif !important; font-size: 17px !important; line-height: 1 !important; letter-spacing: 0 !important; cursor: pointer; padding: 0 !important; margin: 0 !important; box-shadow: none !important; transition: background-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease) !important; }
.evo-pdp-add-to-cart .quantity .evo-qty__btn:hover { background: var(--e-global-color-white) !important; }
.evo-pdp-add-to-cart .quantity .evo-qty__btn:focus-visible { outline: var(--evo-pdp-ring) solid var(--e-global-color-navy); outline-offset: -4px; }
.evo-pdp-add-to-cart .single_add_to_cart_button {
	flex: 1 1 auto !important; width: auto !important; margin: 0 !important; height: var(--evo-cta-h); min-height: 0; position: relative;
	display: inline-flex !important; align-items: center; justify-content: center; padding: 0 44px !important;
	border-radius: 0 !important; box-shadow: none !important; background: var(--e-global-color-navy); color: var(--e-global-color-white); border: var(--evo-pdp-outline) solid var(--e-global-color-navy) !important;
	font-family: var(--evo-pdp-caps) !important; font-weight: var(--evo-caps-w, 600) !important;
	font-size: 12px !important; letter-spacing: .16em !important; text-transform: uppercase !important; line-height: 1 !important;      /* the site button voice (chrome.css .evo-cta) */
	transition: border-radius var(--evo-t-hover, 250ms) var(--evo-pdp-ease), background-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease), border-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease), color var(--evo-t-hover, 250ms) var(--evo-pdp-ease) !important;      /* fill and text move together; !important beats the widget's `transition: all .2s` */
}
.evo-cta__sep { margin: 0 12px; opacity: .45; }
.evo-cta__price { font-family: var(--e-global-typography-h3-font-family), serif; font-style: italic; font-weight: 700; font-size: 16px; letter-spacing: 0; text-transform: none; line-height: 1; }
.evo-pdp-add-to-cart .single_add_to_cart_button::after { content: ""; position: absolute; right: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: currentColor; -webkit-mask: var(--evo-ico-arrow) center / 18px 18px no-repeat; mask: var(--evo-ico-arrow) center / 18px 18px no-repeat; transform: translateX(-8px); opacity: 0; transition: opacity .25s ease, transform .25s ease; }
.evo-pdp-add-to-cart .single_add_to_cart_button:hover, .evo-pdp-add-to-cart .single_add_to_cart_button:focus-visible, .evo-pdp-add-to-cart .single_add_to_cart_button:active { border-radius: 0 var(--evo-radius-sig, 8px) 0 0 !important; background: transparent !important; color: var(--e-global-color-navy) !important; }      /* a SOLO button → the full interaction (see chrome.css): corner + arrow + invert to a 1px navy outline; focus-visible and active do the same. Nothing ever darkens. */
.evo-pdp-add-to-cart .single_add_to_cart_button:hover::after, .evo-pdp-add-to-cart .single_add_to_cart_button:focus-visible::after, .evo-pdp-add-to-cart .single_add_to_cart_button:active::after { opacity: 1; transform: none; }
.evo-pdp-add-to-cart .single_add_to_cart_button:focus-visible { outline: 0; }
.evo-pdp-add-to-cart .single_add_to_cart_button.disabled, .evo-pdp-add-to-cart .single_add_to_cart_button:disabled { opacity: .45; }
@media (max-width: 600px) {
	.evo-pdp-add-to-cart .woocommerce-variation-add-to-cart { flex-wrap: wrap !important; }
	.evo-pdp-add-to-cart form.cart:not(.variations_form) > .quantity { margin-bottom: 10px; }
	.evo-pdp-add-to-cart .single_add_to_cart_button { flex: 1 1 100% !important; min-width: 100%; }
	.evo-pdp-add-to-cart .evo-var__btn { min-width: 0; flex: 1 1 calc(50% - 4px); }
}

/* ---------- AFTER THE CTA: editor slots · add-ons · accordion · trust ---- */
.evo-pdp-mid { margin: 22px 0 0; }
.evo-pdp-mid > .e-con-inner, .evo-pdp-mid.e-con-full { gap: 18px; }
.evo-pdp-mid > .elementor-widget-shortcode:not(:has(.elementor-shortcode > *)) { display: none; }      /* an empty review / add-on slot takes no room (it used to hold two dead gaps above the accordion) */
.evo-pdp-editor-slot { margin: 0; font-family: var(--e-global-typography-caption-font-family), sans-serif; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--e-global-color-charcoal); opacity: .6; }
/* REVIEW SNIPPET (LipScore): its place is directly under the CTA. One white card: stars + "verified" on a row, the quote in the body
   voice, the name under it, in the homepage reviews' type. The card keeps a fixed minimum height so the layout already has the room.
   --slot = the reserved space, shown to EDITORS ONLY until LipScore is connected (shoppers never see a made-up review). */
.evo-pdp-review { margin: 0; padding: 18px 20px; min-height: 124px; box-sizing: border-box; display: grid; align-content: center; gap: 10px; background: var(--evo-pdp-card); border: 0; }
.evo-pdp-review__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.evo-pdp-review__stars { font-size: 14px; letter-spacing: .22em; line-height: 1; color: var(--e-global-color-navy); }
.evo-pdp-review__tag { display: inline-flex; align-items: center; gap: 7px; margin: 0; font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600); font-size: 10px; line-height: 1; letter-spacing: .14em; text-transform: uppercase; color: var(--e-global-color-navy); }
.evo-pdp-review__tag svg { flex: none; width: 15px; height: 15px; padding: 2px; box-sizing: border-box; border-radius: 50%; background: var(--e-global-color-navy); color: var(--e-global-color-white); }
.evo-pdp-review__quote { margin: 0; padding: 0; border: 0; font-family: var(--e-global-typography-body-font-family), sans-serif; font-weight: 400; font-style: normal; font-size: 16px; line-height: 1.5; color: var(--e-global-color-charcoal); }
.evo-pdp-review__quote::before { content: "\201C"; } .evo-pdp-review__quote::after { content: "\201D"; }
.evo-pdp-review__name { margin: 0; font-family: var(--e-global-typography-body-font-family), sans-serif; font-style: normal; font-weight: 600; font-size: 14px; line-height: 1.3; color: var(--e-global-color-charcoal); }
.evo-pdp-review--slot { background: transparent; box-shadow: inset 0 0 0 1px var(--evo-pdp-line); }
.evo-pdp-review--slot .evo-pdp-review__stars { opacity: .28; }
.evo-pdp-review--slot .evo-pdp-review__quote { color: color-mix(in srgb, var(--e-global-color-charcoal) 62%, transparent); }
.evo-pdp-review--slot .evo-pdp-review__quote::before, .evo-pdp-review--slot .evo-pdp-review__quote::after { content: none; }
.evo-pdp-review--slot .evo-pdp-review__name { font-family: var(--evo-pdp-caps); font-weight: 500; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: color-mix(in srgb, var(--e-global-color-charcoal) 62%, transparent); }
/* rating beside the tag: hidden for shoppers while there are no reviews; editors see where LipScore's stars will sit */
.evo-pdp-topline .evo-card-rating[data-evo-count="0"][data-evo-editor] { display: inline-flex; opacity: .32; }
.evo-pdp-topline .evo-card-rating[data-evo-count="0"][data-evo-editor]::after { content: "LipScore rating · editors only"; font-family: var(--evo-pdp-caps); font-weight: 500; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--e-global-color-charcoal); }
/* ---------- MINI BUNDLE BUILDER (add-on slot, [evo_pdp_addons]) ---------------
   Small and restrained: a caps label, 2-3 compact rows (white surface, the transparent pack shot straight on it) and ONE running line
   whose saving sits in a coral pill (the same coral fill as the offer band, so the page's money signals match). The + toggle IS a variant button: navy outline at rest, the corner +
   the product's pillar colour on hover, the corner + solid navy when on. Savings are coral (money); controls are navy / pillar. */
.evo-addons { margin: 0; }
.evo-addons__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin: 0 0 10px; }
.evo-addons__label { display: block; margin: 0; }
.evo-addons__note { font-family: var(--evo-pdp-caps); font-weight: 500; font-size: 10px; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; color: color-mix(in srgb, var(--e-global-color-charcoal) 68%, transparent); }
.evo-addons__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.evo-addon { display: grid; grid-template-columns: 64px minmax(0, 1fr) var(--evo-control-h); align-items: center; gap: 14px; margin: 0; padding: 0 10px 0 0; min-height: 64px; background: var(--evo-pdp-card); }
.evo-addon__img { display: block; width: 64px; height: 64px; padding: 6px; box-sizing: border-box; line-height: 0; }      /* no tile, no tint, no blend: the pack shots are transparent PNGs at final and sit straight on the row */
.evo-addon__img img { display: block; width: 100%; height: 100% !important; object-fit: contain; border-radius: 0; }
.evo-addon__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.evo-addon__name { font-family: var(--evo-nav-sans, var(--evo-pdp-caps)); font-weight: 500; font-size: 15px; line-height: 1.25; letter-spacing: 0; color: var(--e-global-color-navy) !important; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evo-addon__name:hover, .evo-addon__name:focus-visible { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.evo-addon__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 7px; font-family: var(--e-global-typography-body-font-family), sans-serif; font-weight: 400; font-size: 14px; line-height: 1.3; color: var(--e-global-color-charcoal); }
.evo-addon__opt { font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--e-global-color-navy); }
.evo-addon__was.is-struck { text-decoration: line-through; color: var(--e-global-color-slate); }
.evo-addon__now { font-weight: 600; color: var(--evo-offer, #EE6C4D); }
.evo-pdp-buy .evo-addon__toggle { position: relative; display: block; width: var(--evo-control-h); height: var(--evo-control-h); min-width: 0; margin: 0 !important; padding: 0 !important; border: var(--evo-pdp-outline) solid var(--e-global-color-navy) !important; border-radius: 0; box-shadow: none !important; background: transparent !important; color: var(--e-global-color-navy) !important; cursor: pointer; -webkit-tap-highlight-color: transparent;
	transition: background-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease), border-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease), color var(--evo-t-hover, 250ms) var(--evo-pdp-ease), border-radius var(--evo-t-hover, 250ms) var(--evo-pdp-ease) !important; }
@media (hover: hover) {
	.evo-pdp-buy .evo-addon:not(.is-on) .evo-addon__toggle:hover { border-radius: 0 var(--evo-active-radius) 0 0; background: var(--evo-pillar-dark) !important; border-color: var(--evo-pillar-dark) !important; color: var(--evo-pillar-on) !important; }
}
.evo-pdp-buy .evo-addon.is-on .evo-addon__toggle { border-radius: 0 var(--evo-active-radius) 0 0; background: var(--e-global-color-navy) !important; border-color: var(--e-global-color-navy) !important; color: var(--e-global-color-white) !important; }
.evo-pdp-buy .evo-addon__toggle:focus-visible { outline: var(--evo-pdp-ring) solid var(--e-global-color-navy); outline-offset: 3px; }
/* the mark: a plus that folds into a tick when the add-on is on (two 1.5px strokes, same weight as every ring on the site) */
.evo-addon__plus { position: absolute; left: 50%; top: 50%; width: 0; height: 0; }
.evo-addon__plus::before, .evo-addon__plus::after { content: ""; position: absolute; left: 0; top: 0; width: 14px; height: 1.5px; margin: -.75px 0 0 -7px; background: currentColor; transform-origin: 50% 50%; transition: transform var(--evo-t-hover, 250ms) var(--evo-pdp-ease), width var(--evo-t-hover, 250ms) var(--evo-pdp-ease), margin var(--evo-t-hover, 250ms) var(--evo-pdp-ease); }
.evo-addon__plus::after { transform: rotate(90deg); }
.evo-addon.is-on .evo-addon__plus::before { width: 7px; margin-left: -3.5px; transform: translate(-4.4px, 2.4px) rotate(45deg); }
.evo-addon.is-on .evo-addon__plus::after { width: 13px; margin-left: -6.5px; transform: translate(2.4px, 0) rotate(-52deg); }
.evo-addons__sum { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 24px; margin: 10px 0 0; font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600); font-size: 11px; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; }
.evo-addons__sum:empty { display: none; }
.evo-addons__run { color: var(--e-global-color-navy); font-variant-numeric: tabular-nums; }
.evo-addons__run b, .evo-addons__pill b { font-weight: 700; }
.evo-addons__pill { display: inline-block; padding: 7px 10px 6px; border-radius: 4px; background: var(--evo-offer, #EE6C4D); color: var(--e-global-color-white); font-weight: 700; font-size: 10.5px; line-height: 1; letter-spacing: .14em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.evo-addons__hint { margin-left: auto; font-weight: 500; color: color-mix(in srgb, var(--e-global-color-charcoal) 68%, transparent); }
.evo-addons__hint:only-child { margin-left: 0; }
@media (max-width: 600px) { .evo-addons__hint { margin-left: 0; flex-basis: 100%; } .evo-addon { gap: 12px; } .evo-addon__name { font-size: 14.5px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } }

/* INFO ACCORDION = the homepage FAQ (blocks.css .evo-faq), drawn on Elementor's nested accordion: question in Neue Haas Text,
   navy-10% hairlines, ONE mark at the far right (a plus in a 1.5px ring that turns 45deg into a close mark as the ring fills),
   the title eases 4px on hover, one row open at a time over 400ms (widget settings: max one, 400ms). */
.evo-pdp-info .e-n-accordion { display: block; }
.evo-pdp-info .e-n-accordion-item { margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: inset 0 -1px 0 var(--evo-pdp-line) !important; }
.evo-pdp-info .e-n-accordion-item:first-child { box-shadow: inset 0 -1px 0 var(--evo-pdp-line), inset 0 1px 0 var(--evo-pdp-line) !important; }
.evo-pdp-info .e-n-accordion-item-title { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 0; width: 100%; margin: 0; padding: 21px 2px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; }
.evo-pdp-info .e-n-accordion-item-title::-webkit-details-marker { display: none; }
.evo-pdp-info .e-n-accordion-item-title-header { display: block; min-width: 0; padding-right: 24px; transition: transform var(--evo-t-hover, 250ms) var(--evo-pdp-ease); }
.evo-pdp-info .e-n-accordion-item-title-text { margin: 0 !important; font-family: var(--evo-nav-sans, var(--evo-pdp-caps)) !important; font-weight: 500 !important; font-style: normal !important; font-size: clamp(17px, 1.3vw, 19px) !important; line-height: 1.35 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--e-global-color-navy) !important; }
.evo-pdp-info .e-n-accordion-item-title:focus-visible { outline: var(--evo-pdp-ring) solid var(--e-global-color-navy) !important; outline-offset: -2px; }
.evo-pdp-info .e-n-accordion-item-title-icon { position: relative; order: 2; flex: none; display: block !important; width: 30px; height: 30px; margin: 0 !important; padding: 0; border: 0 !important; border-radius: 50%; background: transparent; box-shadow: inset 0 0 0 var(--evo-pdp-ring) var(--e-global-color-navy); transition: background-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease), transform var(--evo-t-section, 400ms) var(--evo-pdp-ease); }
.evo-pdp-info .e-n-accordion-item-title-icon > span { display: none !important; }      /* Elementor's own open/closed glyphs: replaced by the drawn mark */
.evo-pdp-info .e-n-accordion-item-title-icon::before, .evo-pdp-info .e-n-accordion-item-title-icon::after { content: ""; position: absolute; left: 9.5px; right: 9.5px; top: 50%; height: 1.5px; margin-top: -.75px; background: var(--e-global-color-navy); transition: background-color var(--evo-t-hover, 250ms) var(--evo-pdp-ease); }
.evo-pdp-info .e-n-accordion-item-title-icon::after { transform: rotate(90deg); }
.evo-pdp-info .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon { background: var(--e-global-color-navy); transform: rotate(45deg); }
.evo-pdp-info .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon::before, .evo-pdp-info .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon::after { background: var(--e-global-color-white); }
@media (hover: hover) {
	.evo-pdp-info .e-n-accordion-item-title:hover .e-n-accordion-item-title-header { transform: translateX(4px); }
	.evo-pdp-info .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon { background: var(--e-global-color-navy); }
	.evo-pdp-info .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon::before, .evo-pdp-info .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon::after { background: var(--e-global-color-white); }
}
.evo-pdp-info .e-n-accordion-item > .e-con { padding: 0 64px 26px 2px !important; border: 0 !important; background: transparent !important; }
.evo-pdp-info .e-n-accordion-item > .e-con p, .evo-pdp-info .e-n-accordion-item > .e-con li { font-family: var(--e-global-typography-body-font-family), sans-serif !important; font-weight: 400 !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--e-global-color-charcoal) !important; max-width: 44em; }
.evo-pdp-info .e-n-accordion-item > .e-con p { margin: 0 0 10px; }
.evo-pdp-info .e-n-accordion-item > .e-con p:last-child { margin-bottom: 0; }
.evo-pdp-info .e-n-accordion-item > .e-con ul { margin: 0 0 10px 1.1em; padding: 0; }
.evo-pdp-info .e-n-accordion-item > .e-con a { color: var(--e-global-color-navy); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
@media (max-width: 767px) {
	.evo-pdp-info .e-n-accordion-item-title { padding: 18px 0 !important; }
	.evo-pdp-info .e-n-accordion-item-title-header { padding-right: 14px; }
	.evo-pdp-info .e-n-accordion-item-title-text { font-size: 17px !important; }
	.evo-pdp-info .e-n-accordion-item-title-icon { width: 28px; height: 28px; }
	.evo-pdp-info .e-n-accordion-item-title-icon::before, .evo-pdp-info .e-n-accordion-item-title-icon::after { left: 8.5px; right: 8.5px; }
	.evo-pdp-info .e-n-accordion-item > .e-con { padding: 0 8px 22px 0 !important; }
	.evo-pdp-info .e-n-accordion-item > .e-con p, .evo-pdp-info .e-n-accordion-item > .e-con li { font-size: 15.5px !important; }
}

/* ---------- TRUST BAND ---------------------------------------------------
   One contained band between two navy-10% hairlines: a 20px / 1.5px navy line icon above an 11px Neue Haas caps label.
   Five across on desktop; on phones the same items wrap 3 + 2, centred (any item count wraps cleanly: flex, not a fixed grid). */
.evo-trust { list-style: none; margin: 28px 0 0; padding: 22px 0 20px; border-top: 1px solid var(--evo-pdp-line); border-bottom: 1px solid var(--evo-pdp-line); display: flex; flex-wrap: nowrap; justify-content: space-between; gap: 0 12px; }
.evo-trust__item { flex: 0 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.evo-trust__icon { display: block; flex: none; width: 20px; height: 20px; color: var(--e-global-color-navy); }
.evo-trust__icon svg { display: block; width: 20px; height: 20px; stroke-width: 1.5; }
.evo-trust__label { max-width: 17ch; font-family: var(--evo-pdp-caps); font-weight: var(--evo-caps-w, 600); font-size: 11px; line-height: 1.35; letter-spacing: .1em; text-transform: uppercase; text-wrap: balance; color: var(--e-global-color-navy); }
@media (max-width: 600px) {
	.evo-trust { flex-wrap: wrap; justify-content: center; gap: 22px 0; padding: 22px 0; }
	.evo-trust__item { flex: 1 0 33.333%; padding: 0 6px; }      /* 3 across; a short last row shares the width (5 items = 3 + 2) */
}
/* When the info accordion sits directly above, its closing rule IS the band's top rule: one hairline, not two. */
.evo-pdp-mid:has(.evo-pdp-info .e-n-accordion-item) + .evo-pdp-trust-w .evo-trust { margin-top: 0; border-top: 0; }

/* ---------- MOTION -------------------------------------------------------
   ONE move: the buy-box pieces fade up 12px, 60ms apart, the first time they scroll into view (pdp.js adds .is-in per piece;
   the selector list below is mirrored in pdp.js FADE). Hidden ONLY while html.evo-pdp-anim is set: evopure-pdp.php sets it in <head> when motion is
   allowed and drops it again if pdp.js never reports in, so no JS / reduced motion / editor = content simply present. */
@media (prefers-reduced-motion: no-preference) {
	html.evo-pdp-anim body:not(.elementor-editor-active) .evo-pdp-buy :is(.elementor-widget:not(.evo-pdp-add-to-cart):not(.evo-pdp-mid *), .evo-pdp-mid, .evo-addon, table.variations, .evo-price, .woocommerce-variation, .woocommerce-variation-add-to-cart, form.cart:not(.variations_form)) { transition: opacity 500ms var(--evo-ease, ease) var(--evo-fade-d, 0ms), transform 500ms var(--evo-ease, ease) var(--evo-fade-d, 0ms); }
	html.evo-pdp-anim body:not(.elementor-editor-active) .evo-pdp-buy :is(.elementor-widget:not(.evo-pdp-add-to-cart):not(.evo-pdp-mid *), .evo-pdp-mid, .evo-addon, table.variations, .evo-price, .woocommerce-variation, .woocommerce-variation-add-to-cart, form.cart:not(.variations_form)):not(.is-in) { opacity: 0; transform: translate3d(0, 12px, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.evo-pdp-add-to-cart .single_add_to_cart_button, .evo-pdp-add-to-cart .single_add_to_cart_button::after, .evo-pdp-add-to-cart .evo-var__btn, .evo-pdp-add-to-cart .wcsatt-options-prompt-label, .evo-offer .evo-sub__more, .evo-offer .evo-sub__more-in, .evo-sub__freq .wcsatt-options-product-dropdown, .evo-pdp-buy .evo-addon__toggle, .evo-addon__plus::before, .evo-addon__plus::after, .evo-gal__video { transition: none !important; }
}
