/* Product page redesign (draft). Scoped to single product pages and to .pdp-v2 (variable products).
   WooCommerce keeps price, variation, availability, add-ons and the submit button; this file only presents them. */

/* ---- Header and mobile drawer (single product pages) ---- */
@media(max-width:1023px){
 body.single-product .site-header > .container {min-height:64px;align-items:center}
 body.single-product .site-header .header-logo-link {display:flex;align-items:center;width:152px;max-width:100%;height:44px}
 body.single-product .site-header .header-logo-link img {width:100%;height:auto;max-height:58px;object-fit:contain;object-position:right center}
 body.single-product .site-header #toggleMobileMenu ~ div {gap:8px}
 body.single-product .site-header .search-container {width:44px;height:44px}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu > li.mega > ul.sub-menu > li {margin-block:2px}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu > li.mega > ul.sub-menu > li > a {font-weight:600}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu ul.sub-menu ul.sub-menu {background:#f4f8f5;border-radius:12px;padding-inline:12px}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu ul.sub-menu ul.sub-menu > li {margin:0;border-bottom:1px solid #e4eee7}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu ul.sub-menu ul.sub-menu > li:last-child {border-bottom:0}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu ul.sub-menu ul.sub-menu > li > a {min-height:44px;padding:9px 4px;font-size:14px;line-height:1.7;justify-content:flex-start}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu li.gemini-view-all > a {font-weight:700;color:#176346;justify-content:space-between;gap:8px}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu li.gemini-view-all > a::after {content:"←";font-size:18px;flex-shrink:0}
 body.single-product .site-header .toggle-menu-label {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
 body.single-product .site-header #toggleMobileMenu:focus-visible ~ div label.toggle-menu-label {outline:3px solid #175b48;outline-offset:2px;border-radius:10px}
 body.single-product .site-header #toggleMobileMenu + nav {width:min(88vw,360px);align-items:stretch;padding:18px 20px 90px;box-shadow:-8px 0 30px rgba(0,0,0,.12);transition:transform .18s ease}
 body.single-product .site-header #toggleMobileMenu + nav .gemini-nav-header {display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-bottom:12px;position:sticky;top:0;z-index:5;background:#fff}
 body.single-product .site-header #toggleMobileMenu + nav .gemini-nav-header img {width:148px;max-width:65%;height:48px;object-position:right center}
 body.single-product .site-header #toggleMobileMenu + nav .gemini-nav-close {display:none;align-items:center;justify-content:center;order:2;width:44px;height:44px;flex-shrink:0;border:0;border-radius:12px;background:#f3f7f4;color:#292d32;font-size:30px;line-height:1}
 body.single-product .site-header #toggleMobileMenu + nav .gemini-nav-close-fallback {display:flex;align-items:center;justify-content:center;order:2;width:44px;height:44px;flex-shrink:0;border-radius:12px;background:#f3f7f4;color:#292d32;font-size:30px;line-height:1;cursor:pointer}
 body.single-product.gemini-menu-enhanced .site-header #toggleMobileMenu + nav .gemini-nav-close {display:flex}
 body.single-product.gemini-menu-enhanced .site-header #toggleMobileMenu + nav .gemini-nav-close-fallback {display:none}
 body.single-product .site-header #toggleMobileMenu + nav .gemini-nav-close:focus-visible {outline:3px solid #175b48;outline-offset:2px}
 body.single-product .site-header #toggleMobileMenu:not(:checked) + nav {visibility:hidden}
 body.single-product .site-header #toggleMobileMenu:checked + nav {visibility:visible}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu {width:100%;padding:0}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu > li {width:100%;padding:0;border-bottom:1px solid #edf1ee}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu > li > a {display:flex;align-items:center;min-height:50px;padding:10px 0;font-size:15px;line-height:1.65}
 body.single-product.gemini-menu-open .nav-bar-fixed, body.single-product.gemini-menu-open .site-header label.toggle-menu-label {visibility:hidden;pointer-events:none}
 body.single-product .site-header #toggleMobileMenu + nav a:focus-visible {outline:3px solid #175b48;outline-offset:2px;border-radius:6px}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu > li.mega::before {display:none}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu > li.mega::after {left:8px;right:auto;top:19px}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu > li.mega > a {padding-inline-end:32px}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu ul.sub-menu {max-height:none;overflow:hidden}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu a:not(.showContent) + ul.sub-menu {visibility:hidden}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu a.showContent + ul.sub-menu {visibility:visible}
 body.single-product .site-header #toggleMobileMenu + nav .mobile-menu ul.sub-menu > li > a {display:flex;align-items:center;min-height:44px;line-height:1.6;padding-block:8px}
}
@media(prefers-reduced-motion:reduce){body.single-product .site-header #toggleMobileMenu + nav {transition:none}}
@media(min-width:1024px){body.single-product .gemini-nav-header {display:none}}
/* Footer social targets stay 44px on narrow screens. */
@media(max-width:520px){body.single-product footer ul.flex.gap-2:has(>li>a[aria-label]) > li{width:44px;height:44px;display:flex;align-items:center;justify-content:center}}
/* Breadcrumb: wraps cleanly; on mobile the H1 already names the product. */
body.single-product .woocommerce-breadcrumb {min-width:0;flex-wrap:wrap;align-items:baseline;line-height:1.7}
body.single-product .woocommerce-breadcrumb > a {min-width:0}
@media(max-width:767px){
 body.single-product .woocommerce-breadcrumb {font-size:0}
 body.single-product .woocommerce-breadcrumb > a {font-size:12px}
 body.single-product .woocommerce-breadcrumb > a + a::before {content:' / ';white-space:pre;color:#6b7a72}
 body.single-product .woocommerce-breadcrumb > a:last-child:not([href]) {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}

/* ---- Page rhythm: tighter vertical gaps between sections ---- */
.pdp-v2 {display:flex;flex-direction:column;gap:28px}
.pdp-v2 > * {margin:0!important}
@media(min-width:1024px){.pdp-v2 {gap:48px}}
.pdp-v2 :is(select,input,button):focus-visible {outline:3px solid #175b48;outline-offset:3px}
.pdp-v2 .wp-post-image {height:auto;max-width:100%}
.pdp-v2 > .flex > div {min-width:0}
#tipsBeforeBuying {scroll-margin-top:105px}

/* ---- Top grid: image/meta | title+facts | purchase box ---- */
.pdp-v2 > .flex {display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.1fr) minmax(300px,1fr);align-items:start;gap:32px}
.pdp-v2 > .flex > div:first-child {background:#f5f9f6;border:1px solid #e3eee7;border-radius:28px;padding:18px;align-items:stretch}
.pdp-v2 > .flex > div:first-child > a {display:block;width:100%}
.pdp-v2 > .flex > div:first-child .wp-post-image {width:100%;border-radius:20px}
.pdp-v2 > .flex > div:first-child > .grid {display:flex;flex-wrap:wrap;gap:0;align-items:stretch;min-width:0;width:100%}
.pdp-v2 > .flex > div:first-child > .grid > div {flex:1 0 100%;min-width:0;align-items:center;gap:6px;padding:8px;border:0}
.pdp-v2 > .flex > div:first-child > .grid > div + div {border-top:1px solid #e3eee7}
.pdp-v2 > .flex > div:first-child > .grid > div > svg {margin-inline-start:auto;flex-shrink:0;width:16px}
.pdp-v2 > .flex > div:nth-child(2) {position:relative;border:1px solid #dce8e0;border-radius:26px;background:#fff;box-shadow:0 16px 40px rgba(28,70,49,.08);padding:26px;gap:16px;grid-column:3;grid-row:1}
.pdp-v2 > .flex > div:nth-child(2) > div:first-child {align-items:flex-start;gap:12px}
.pdp-v2 > .flex > div:nth-child(3) {gap:20px;grid-column:2;grid-row:1}
.pdp-v2 > .flex > div:nth-child(3) h1 {font-size:clamp(25px,2.2vw,34px);line-height:1.65}
@media(min-width:768px) and (max-width:1023px){
 .pdp-v2 > .flex {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
 .pdp-v2 > .flex > div:first-child {grid-column:1;grid-row:1}
 .pdp-v2 > .flex > div:nth-child(3) {grid-column:2;grid-row:1}
 .pdp-v2 > .flex > div:nth-child(2) {grid-column:1 / -1;grid-row:2}
}

/* ---- Facts (delivery, account type, refund...): compact chips instead of a boxed list ---- */
.pdp-v2 > .flex > div:nth-child(3) > .grid {display:flex;flex-wrap:wrap;gap:8px;padding:0;border:0;background:none;border-radius:0}
.pdp-v2 > .flex > div:nth-child(3) > .grid > div {display:inline-flex;align-items:center;gap:6px;min-width:0;padding:6px 12px 6px 10px;border:1px solid #cfe5d7;border-radius:999px;background:#f1f9f4}
.pdp-v2 > .flex > div:nth-child(3) > .grid > div > span:first-child {flex:none;width:18px;height:18px;background-color:#176346}
.pdp-v2 > .flex > div:nth-child(3) > .grid span.font-bold {font-size:13px;line-height:1.7;color:#1d3a2b}
.pdp-v2 .woocommerce-product-details__short-description {font-size:14px;line-height:2;color:#37443d}

/* ---- Purchase box ---- */
.pdp-purchase-heading {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pdp-purchase-title {margin:0;font-size:20px;font-weight:800;line-height:1.7}
.pdp-pill {display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 12px;border-radius:999px;background:#e5f3ea;color:#174f39;font-size:13px;font-weight:800;line-height:1;white-space:nowrap}
.pdp-conditions-link {display:inline-flex;align-items:center;min-height:44px;color:#176346;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.pdp-v2 table.variations, .pdp-v2 table.variations tbody, .pdp-v2 table.variations tr, .pdp-v2 table.variations td {display:block;width:100%}
.pdp-v2 .variations {display:flex;flex-direction:column;gap:12px}
.pdp-v2 table.variations tbody {gap:12px}
.pdp-v2 .variations td {padding:0}
.pdp-variation-label {display:block;margin-block-end:5px;font-size:13px;font-weight:700;color:#283b31}
.pdp-v2 .variations select {width:100%;min-height:52px;margin:0;padding-inline:14px;font-size:16px;line-height:1.8;background-color:#f7faf8;border:1px solid #d6e4db;border-radius:14px}
.pdp-v2 form.pdp-enhanced .pdp-select-hidden {position:absolute;inline-size:1px;block-size:1px;min-height:0;opacity:0;pointer-events:none;overflow:hidden;clip-path:inset(50%)}
.pdp-v2 form.pdp-enhanced .pdp-select-hidden-label {display:none}
.pdp-v2 form.pdp-enhanced .pdp-row-single {display:none}
/* Reserved until the options exist, so enhancing causes no layout shift (the class is removed if enhancing fails). */
html.pdp-js .pdp-v2 form.variations_form:not(.pdp-enhanced) .variations {min-height:130px;overflow:hidden;visibility:hidden}
html.pdp-js .pdp-v2 form.variations_form:not(.pdp-enhanced) .variations:is(:has(tr:nth-child(2)),:has(> .value:nth-child(2))) {min-height:250px}
html.pdp-js .pdp-v2 form.variations_form:not(.pdp-enhanced) .variations:is(:has(tr:nth-child(3)),:has(> .value:nth-child(3))) {min-height:380px}
.pdp-info {display:flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:6px 12px;border-radius:12px;background:#f7faf8;font-size:13px}
.pdp-info span {color:#4b5d53}
.pdp-info strong {color:#174f39;font-weight:800}
.pdp-group {margin:0;padding:0;border:0;min-width:0}
.pdp-group legend {display:block;padding:0;margin-block-end:8px;font-size:13px;font-weight:700;color:#283b31}
/* The Gemini template's form carries Tailwind **:w-full, so every descendant needs an explicit width. */
.pdp-v2 form.pdp-enhanced :is(.pdp-card__name,.pdp-card__price,.pdp-card__was,.pdp-card__pay,.pdp-pill) {width:auto}
.pdp-v2 form.pdp-enhanced .pdp-info > * {width:auto}
.pdp-cards {display:grid;gap:8px}
.pdp-v2 label.pdp-card {position:relative;display:flex;align-items:center;gap:10px;min-height:56px;margin:0;padding:8px 14px;border:1.5px solid #d6e4db;border-radius:14px;background:#f7faf8;font-weight:inherit;cursor:pointer;transition:border-color .15s,background-color .15s}
.pdp-card input {position:absolute;inset:0;inline-size:100%;block-size:100%;margin:0;opacity:0;cursor:pointer}
.pdp-v2 form.pdp-enhanced .pdp-card__mark {flex:none;width:22px;height:22px;border:2px solid #647a6d;border-radius:50%;background:#fff;display:grid;place-items:center}
.pdp-card__name {font-size:15px;font-weight:700;color:#1f2d26}
.pdp-card__price {margin-inline-start:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.5;font-size:14px;font-weight:800;color:#174f39}
.pdp-card__was {font-size:12px;font-weight:500;color:#56635c;text-decoration:line-through}
.pdp-card__price .woocommerce-Price-currencySymbol {font-size:11px;font-weight:600;color:#4b5d53}
.pdp-card.is-checked {border-color:#176346;background:#eff8f3;box-shadow:inset 0 0 0 1px #176346}
.pdp-card.is-checked .pdp-card__mark {border-color:#176346;background:#176346}
.pdp-card.is-checked .pdp-card__mark::after {content:"";inline-size:6px;block-size:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.pdp-card.is-focus {outline:3px solid #175b48;outline-offset:3px}
.pdp-card.is-disabled {opacity:.55;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){.pdp-card {transition:none}}
/* Short labels (<= 6 options): compact tiles in one or two rows; long labels stay as full-width rows. */
.pdp-group--tiles .pdp-cards {grid-template-columns:repeat(2,minmax(0,1fr))}
.pdp-group--tiles.pdp-cols-3 .pdp-cards {grid-template-columns:repeat(3,minmax(0,1fr))}
.pdp-v2 .pdp-group--tiles label.pdp-card {flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:64px;padding:10px 12px}
.pdp-group--tiles .pdp-card__mark {position:absolute;inset-block-start:8px;inset-inline-end:8px;width:18px;height:18px}
.pdp-v2 .pdp-group--tiles form .pdp-card__mark, .pdp-v2 form.pdp-enhanced .pdp-group--tiles .pdp-card__mark {width:18px;height:18px}
.pdp-group--tiles .pdp-card__name {padding-inline-end:22px}
.pdp-group--tiles .pdp-card__price {margin:0;align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:0 4px;font-size:14px}
.pdp-group--tiles .pdp-card__was {display:none}

/* ---- Price + buy action: the real WooCommerce price and button; sticky on mobile only once options have cleared it ---- */
.pdp-v2 .woocommerce-variation-price del bdi::before {content:none}
.pdp-v2 .woocommerce-variation-price .price {display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}
.pdp-v2 .woocommerce-variation-price .price > del {flex-basis:100%;font-size:12px;color:#56635c}
.pdp-v2 .woocommerce-variation-price .price > ins {text-decoration:none}
.pdp-v2 .woocommerce-variation-price .woocommerce-Price-amount > bdi {display:inline-flex!important;align-items:baseline;gap:4px}
.pdp-v2 .woocommerce-variation-price .woocommerce-Price-amount > bdi::before {content:none!important}
.pdp-v2 .woocommerce-variation-price del .woocommerce-Price-amount > bdi {font-size:12px!important;color:#56635c!important}
.pdp-v2 .woocommerce-variation-price ins .woocommerce-Price-amount > bdi {font-size:20px!important}
.pdp-v2 .woocommerce-variation-price .subscription-details {font-size:13px!important;white-space:nowrap}
.pdp-v2 .single_variation_wrap {border-top:1px solid #e8eee9;padding-top:16px}
@media(max-width:767px){
 html:has(body.single-product) {scroll-padding-bottom:210px}
 .pdp-v2 > .flex {display:flex;flex-direction:column;gap:14px}
 .pdp-v2 > .flex > div:first-child {order:0;display:flex!important;flex-direction:column;align-items:center;gap:4px;width:100%;padding:0;background:transparent;border:0;border-radius:0}
 .pdp-v2 > .flex > div:first-child > a {width:clamp(96px,26vw,112px);max-width:100%;margin:0 auto}
 .pdp-v2 > .flex > div:first-child > .grid {flex-flow:row wrap;justify-content:center;gap:0 12px;margin:0;padding:0;font-size:12px}
 .pdp-v2 > .flex > div:first-child > .grid > div {display:flex;flex:0 1 auto;min-height:44px;gap:4px;padding:0;border:0}
 .pdp-v2 > .flex > div:first-child > .grid > div + div {border:0}
 .pdp-v2 > .flex > div:first-child > .grid > div > a {display:inline-flex;align-items:center;min-height:44px}
 .pdp-v2 > .flex > div:first-child > .grid > div > svg {display:none}
 .pdp-v2 > .flex > div:nth-child(2) {order:1;width:100%;padding:12px 16px 16px;gap:10px;border-radius:20px;grid-column:auto;grid-row:auto}
 .pdp-v2 > .flex > div:nth-child(3) {order:2;width:100%;gap:14px;grid-column:auto;grid-row:auto}
 .pdp-purchase-title {font-size:18px}
 .pdp-v2 .single_variation_wrap.pdp-bar-armed {position:sticky;bottom:var(--pdp-bar-bottom,74px)}
 .pdp-v2 .single_variation_wrap {z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin-block-start:8px;padding:10px 12px;border:1px solid #cfe0d5;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(28,70,49,.16)}
 .pdp-v2 .single_variation_wrap > * {min-width:0;margin:0!important}
 .pdp-v2 .single_variation_wrap .woocommerce-variation-description:empty, .pdp-v2 .single_variation_wrap .woocommerce-variation-availability:empty {display:none}
 .pdp-v2 .single_variation_wrap .variations_button {display:block}
 .pdp-v2 .single_variation_wrap .single_add_to_cart_button {position:static;inset:auto;width:auto;min-height:48px;padding-inline:14px;font-size:14px;white-space:nowrap;border-radius:999px}
 .pdp-v2 .single_variation_wrap .woocommerce-variation-price .price {gap:0 6px;align-items:baseline}
 .pdp-v2 .single_variation_wrap .woocommerce-variation-price .price > del {display:none}
 .pdp-v2 .single_variation_wrap .woocommerce-variation-price .subscription-details {flex:none;color:#176346!important}
 .pdp-v2 .single_variation_wrap .woocommerce-variation-price ins .woocommerce-Price-amount > bdi {font-size:18px!important;color:#174f39!important}
 .pdp-v2 .single_variation_wrap .woocommerce-variation-price .woocommerce-Price-currencySymbol {color:#4b5d53!important}
 .pdp-v2 .single_variation_wrap small {font-size:11px;color:#4b5d53}
}
@media(max-width:359px){
 .pdp-v2 .single_variation_wrap {grid-template-columns:minmax(0,1fr);padding:8px 10px;gap:6px}
 .pdp-v2 .single_variation_wrap .variations_button {inline-size:100%}
 .pdp-v2 .single_variation_wrap .single_add_to_cart_button {width:100%;height:44px;min-height:44px;padding-block:0}
 .pdp-v2 .single_variation_wrap .woocommerce-variation-price ins .woocommerce-Price-amount > bdi {font-size:16px!important}
 .pdp-v2 .single_variation_wrap .subscription-details {font-size:12px!important}
 .pdp-v2 > .flex > div:first-child > a {width:88px}
}
@media(max-width:767px) and (max-height:640px){
 .pdp-v2 > .flex > div:first-child > a {width:88px}
 .pdp-v2 .pdp-card {min-height:48px}
}

/* ---- Conditions panel: the content that decides whether the purchase works, so it reads first ---- */
.pdp-v2 #tipsBeforeBuying {padding:20px;border-radius:20px;border:1px solid #bfdcca;background:#eef8f2}
.pdp-v2 #tipsBeforeBuying > div {gap:12px}
.pdp-v2 #tipsBeforeBuying strong {font-size:18px;line-height:1.7;color:#123f2b}
.pdp-v2 #tipsBeforeBuying p, .pdp-v2 #tipsBeforeBuying li {font-size:14px;line-height:2;color:#27352d}
.pdp-v2 #tipsBeforeBuying .readmore {min-height:44px;margin-top:8px;font-size:14px;color:#123f2b}
.pdp-v2 #tipsBeforeBuying .readmore::before {background:#123f2b}
@media(min-width:768px){.pdp-v2 #tipsBeforeBuying {padding:28px}}

/* ---- Trust row (shared 'options' section): compact cards, not large circles with empty space ---- */
.pdp-v2 #options {padding:0}
.pdp-v2 #options > div {gap:10px}
.pdp-v2 #options > div > div {display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e3eee7;border-radius:16px;background:#fff}
.pdp-v2 #options > div > div > div:first-child {margin:0;gap:2px}
.pdp-v2 #options h4 {font-size:15px;line-height:1.7}
.pdp-v2 #options p {font-size:13px;line-height:1.8;color:#37443d}
.pdp-v2 #options .icon-wrapper {order:-1;flex:none;width:44px;height:44px;padding:0;aspect-ratio:auto;border-radius:50%}
@media(min-width:1024px){.pdp-v2 #options > div {gap:16px}}

/* ---- Tabs ---- */
.pdp-v2 .woocommerce-Tabs-panel {line-height:2}
.pdp-v2 .woocommerce-Tabs-panel h2 {font-size:20px;line-height:1.7}
@media(max-width:767px){.pdp-v2 .woocommerce-Tabs-panel {padding:20px 16px}.pdp-v2 .woocommerce-Tabs-panel h2 {font-size:18px}}

/* ---- Tiles: the mark shares a row with the name, so short names never wrap ---- */
.pdp-v2 .pdp-group--tiles label.pdp-card {display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:6px;row-gap:2px;min-height:64px}
.pdp-v2 form.pdp-enhanced .pdp-group--tiles .pdp-card__mark {position:static;inset:auto;width:18px;height:18px}
.pdp-v2 .pdp-group--tiles .pdp-card__name {padding-inline-end:0}
.pdp-v2 .pdp-group--tiles .pdp-card__price {grid-column:1 / -1}
/* Three narrow columns: segmented-control tiles. No empty circle; the selected tile gets a border, a fill and a check badge. */
.pdp-v2 .pdp-group--tiles.pdp-cols-3 label.pdp-card {grid-template-columns:minmax(0,1fr);padding:20px 8px 10px;min-height:72px}
.pdp-v2 form.pdp-enhanced .pdp-cols-3 .pdp-card__mark {position:absolute;inset-block-start:6px;inset-inline-end:6px;width:16px;height:16px;border:0;background:transparent}
.pdp-v2 form.pdp-enhanced .pdp-cols-3 .pdp-card.is-checked .pdp-card__mark {background:#176346}
.pdp-v2 .pdp-cols-3 .pdp-card__name {white-space:nowrap}

/* ---- Conditions panel: more of the conditions stay visible while collapsed, with a soft fade instead of a mid-line cut ---- */
.pdp-v2 #tipsBeforeBuying .collapsible:has(.readmore:not(.showContent)) .content {height:auto!important;max-height:300px;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}

/* ---- Fixes from the catalog test ---- */
/* The theme draws its own arrow on select cells; hide it where the select is replaced by options. */
.pdp-v2 .select-custom-arrow:has(.pdp-select-hidden)::after, .pdp-v2 .select-custom-arrow:has(.pdp-select-hidden)::before {content:none!important;display:none!important}
.pdp-v2 .variations, .pdp-v2 table.variations tbody {gap:18px}
.pdp-v2 .pdp-group--tiles label.pdp-card {padding:10px}
@media(max-width:767px){
 .pdp-v2 > .flex > div:first-child > .grid {border:0;border-radius:0;box-shadow:none;background:none}
 /* Products with three or more option groups: tighter top block and rows so the buy action stays near the first view. */
 .pdp-dense > .flex > div:first-child > a {width:72px}
 .pdp-dense label.pdp-card {min-height:48px}
 .pdp-dense .pdp-group--tiles label.pdp-card {min-height:56px}
}

/* ---- Category and review links read as links: brand colour, chevron, whole chip tappable ---- */
.pdp-v2 > .flex > div:first-child > .grid > div {position:relative}
.pdp-v2 > .flex > div:first-child > .grid > div > small {color:#4b5d53}
.pdp-v2 > .flex > div:first-child > .grid > div > a {color:#176346;font-weight:700;text-decoration:none}
.pdp-v2 > .flex > div:first-child > .grid > div > a::before {content:"";position:absolute;inset:0}
.pdp-v2 > .flex > div:first-child > .grid > div > a::after {content:"";display:inline-block;width:7px;height:7px;margin-inline-start:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
@media(max-width:767px){
 .pdp-v2 > .flex > div:first-child > .grid > div, .pdp-v2 > .flex > div:first-child > .grid > div + div {padding:0 14px;border:1px solid #cfe0d5;border-radius:999px;background:#fff;gap:6px}
 .pdp-v2 > .flex > div:first-child > .grid {gap:8px}
}

/* ---- Facts (delivery, account type, refund): informational, so neutral chips; green stays on the icons only ---- */
.pdp-v2 > .flex > div:nth-child(3) > .grid > div {background:#f3f5f4;border:0}
.pdp-v2 > .flex > div:nth-child(3) > .grid span.font-bold {color:#1f2d26}

/* ---- Tabs: a full-width three-segment control on mobile ---- */
@media(max-width:767px){
 .pdp-v2 .wc-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #dde5e0;border-radius:16px;background:#eef1ef;overflow:visible}
 .pdp-v2 .wc-tabs li {display:flex;min-width:0;margin:0}
 .pdp-v2 .wc-tabs li > a {display:flex;flex:1;align-items:center;justify-content:center;min-height:48px;padding:4px 6px;border-radius:12px;font-size:14px;line-height:1.4;text-align:center;color:#37443d}
 .pdp-v2 .wc-tabs li.active > a {background:#fff!important;color:#123f2b;font-weight:800;box-shadow:0 1px 3px rgba(0,0,0,.14)}
}

/* ---- Continuation bar: appears only after the real buy bar has scrolled out of view ---- */
.pdp-minibar {display:none}
@media(max-width:767px){
 .pdp-minibar {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;position:fixed;inset-inline:12px;bottom:var(--pdp-bar-bottom,74px);z-index:30;padding:8px 12px;border:1px solid #cfe0d5;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(28,70,49,.18);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .15s,transform .15s,visibility 0s .15s}
 .pdp-minibar.is-visible {opacity:1;visibility:visible;transform:none;transition-delay:0s}
 body.gemini-menu-open .pdp-minibar {visibility:hidden}
 .pdp-minibar__text {display:flex;flex-direction:column;min-width:0;line-height:1.5}
 .pdp-minibar__summary {overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;color:#4b5d53}
 .pdp-minibar__price {font-size:17px;font-weight:800;color:#174f39}
 .pdp-minibar__price .woocommerce-Price-currencySymbol {margin-inline-start:3px;font-size:11px;font-weight:600;color:#4b5d53}
 .pdp-minibar__cta {min-height:44px;padding:0 16px;border:0;border-radius:999px;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer}
 .pdp-minibar__cta:focus-visible {outline:3px solid #175b48;outline-offset:2px}
}
@media(prefers-reduced-motion:reduce){.pdp-minibar {transition:none}}

/* ---- Fixes after the first release ---- */
/* Selected option: the fill and the check must beat the base mark rule (which has higher specificity). */
.pdp-v2 form.pdp-enhanced .pdp-card.is-checked .pdp-card__mark {border-color:#176346;background:#176346}
/* One visible price: the WooCommerce price block. The plugin that rewrites the button label with «label · price» is hidden
   here (and its label is reset by the theme anyway), so the price is never shown twice. */
.pdp-v2 .single_add_to_cart_button > span {display:none!important}
@media(max-width:767px){
 /* No empty rounded box before a plan is chosen: the bar is boxed only once a price exists. */
 .pdp-v2 .single_variation_wrap:not(:has(.woocommerce-Price-amount)) {display:block;padding:0;border:0;background:none;box-shadow:none}
}
/* Continuation bar: a short summary line, then the button (label + price). */
.pdp-minibar {grid-template-columns:minmax(0,1fr);gap:4px;padding:8px 10px}
.pdp-minibar__summary {font-size:12px;padding-inline:6px}
.pdp-minibar__cta {width:100%;min-height:48px}
