.store-main { padding-block: clamp(2rem, 5vw, 5rem); }
.woocommerce .woocommerce-breadcrumb { color: var(--muted); font-size: .875rem; margin-bottom: 1.5rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ink); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 1.75rem; }
.woocommerce .woocommerce-ordering select { min-width: 220px; }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 2rem); margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto; margin: 0; overflow: hidden; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); text-align: center; }
.woocommerce ul.products li.product a img { width: 100%; margin: 0; aspect-ratio: 1; object-fit: cover; background: var(--soft); transition: transform .35s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 1rem 1rem .25rem; color: var(--ink); font-size: 1rem; }
.woocommerce ul.products li.product .price { min-height: 1.7em; margin: 0 1rem .8rem; color: var(--brand); font-size: 1rem; font-weight: 800; }
.woocommerce ul.products li.product .price del { color: var(--muted); opacity: .7; font-weight: 500; }
.woocommerce ul.products li.product .button { margin: 0 1rem 1.15rem; width: calc(100% - 2rem); }
.woocommerce span.onsale { z-index: 2; min-width: auto; min-height: auto; margin: .75rem !important; padding: .3rem .65rem; border-radius: 99px; background: var(--brand); line-height: 1.4; font-size: .72rem; }

.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { margin-bottom: 3rem; }
.woocommerce div.product div.images img { border-radius: var(--radius); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3.5rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--brand); font-size: 1.55rem; font-weight: 800; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; }
.woocommerce .quantity .qty { min-height: 46px; border: 1px solid #cfc8d2; border-radius: 6px; }
.woocommerce div.product form.cart .variations { width: 100%; }
.woocommerce div.product form.cart .variations th { padding-right: 1rem; text-align: left; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--brand); }
.woocommerce #reviews #comments ol.commentlist { padding: 0; }
.woocommerce #reviews #comments ol.commentlist li img.avatar { border-radius: 50%; }

.woocommerce-cart table.cart img { width: 90px; border-radius: 6px; }
.woocommerce table.shop_table { border-color: var(--line); border-radius: var(--radius); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 1rem; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { padding: 1.5rem; border-radius: var(--radius); background: var(--soft); }
.woocommerce-checkout #payment { background: var(--soft); border-radius: var(--radius); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 46px; border: 1px solid #cfc8d2; border-radius: 6px; padding: .7rem .85rem; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: 6px; background: var(--brand); color: #fff; min-height: 46px; padding: .75rem 1.25rem; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: var(--brand-dark); color: #fff; }
.woocommerce-message { border-top-color: var(--success); }
.woocommerce-message::before { color: var(--success); }
.woocommerce-message,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner--success { transition: opacity .22s ease, transform .22s ease; }
.woocommerce-message.is-dismissing,
.wc-block-components-notice-banner.is-success.is-dismissing,
.wc-block-components-notice-banner--success.is-dismissing { opacity: 0; transform: translateY(-6px); pointer-events: none; }
.woocommerce-info { border-top-color: var(--brand); }
.woocommerce-info::before { color: var(--brand); }
.wc-block-cart, .wc-block-checkout { width: min(calc(100% - 2rem), var(--shell)); margin-inline: auto; padding-block: 2rem; }

/* Cart, checkout and account pages are functional store screens, not narrow
   editorial/policy pages. The generic page template otherwise constrains the
   entire checkout to 760px and crushes the order summary column. */
body.woocommerce-cart.page-template-default .entry-content,
body.woocommerce-checkout.page-template-default .entry-content,
body.woocommerce-account.page-template-default .entry-content {
  width: 100%;
  max-width: none;
}

/* A-site bridge selection: keep the card white and show an unmistakable radio dot. */
.viva-payment-method,
.viva-payment-method:hover,
.viva-payment-method:focus,
.viva-payment-method:active {
  background: #fff !important;
  color: #161616 !important;
}
.viva-payment-method.is-selected {
  background: #fff !important;
  border-color: #161616 !important;
  box-shadow: 0 0 0 2px #161616 !important;
}
.viva-payment-method__radio {
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  border: 2px solid #8a8a8a !important;
  background: #fff !important;
}
.viva-payment-method__radio::after {
  content: '';
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #161616;
  opacity: 0;
  transform: scale(.5);
  transition: opacity .12s ease, transform .12s ease;
}
.viva-payment-method.is-selected .viva-payment-method__radio {
  border-color: #161616 !important;
}
.viva-payment-method.is-selected .viva-payment-method__radio::after {
  opacity: 1;
  transform: scale(1);
}
.ab-trade-visual-live .ab-trade-native-bridge-option {
  display: none !important;
}
body.woocommerce-checkout .wc-block-checkout {
  width: min(calc(100% - 3rem), 1120px) !important;
}
body.woocommerce-checkout.page-template-default .site-main { padding: clamp(2rem, 4vw, 3.5rem) 0; }
body.woocommerce-checkout.page-template-default .page-header { display: none; }
body.woocommerce-checkout.page-template-default .entry-content > .wc-block-checkout {
  margin-top: 0;
  padding-top: 0;
}
body.woocommerce-checkout .wc-block-checkout__main { min-width: 0; }
body.woocommerce-checkout .wc-block-checkout__sidebar {
  min-width: 340px;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-product-name {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* High-trust order confirmation */
body.woocommerce-order-received { background: linear-gradient(180deg, #f2f6f8 0, #fff 560px); }
body.woocommerce-order-received .store-main { padding-block: 2.5rem 5rem; }
body.woocommerce-order-received .woocommerce {
  width: min(100%, 980px);
  margin-inline: auto;
  color: #0b1220;
}
body.woocommerce-order-received .woocommerce-order > .woocommerce-notice { display: none; }
body.woocommerce-order-received .woocommerce-order > .woocommerce-order-overview { display: none; }
.ab-a-confirmation {
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
  padding: clamp(1.5rem, 5vw, 3.2rem);
  border: 1px solid rgb(22 55 77 / 10%);
  border-radius: 28px;
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 28px 70px rgb(28 52 76 / 13%);
}
.ab-a-confirmation::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #087a5b, #28b88a, #1957d2);
}
.ab-a-confirmation__icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: 1.5rem;
  border-radius: 20px;
  background: linear-gradient(145deg, #0a8c68, #05664c);
  box-shadow: 0 15px 30px rgb(8 122 91 / 25%);
}
.ab-a-confirmation__icon span {
  width: 24px;
  height: 13px;
  border: solid #fff;
  border-width: 0 0 4px 4px;
  transform: rotate(-45deg) translate(2px, -2px);
}
.ab-a-confirmation__eyebrow {
  margin: 0 0 .65rem;
  color: #087a5b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ab-a-confirmation h1 {
  max-width: 720px;
  margin: 0;
  color: #0b1220;
  font-size: clamp(2rem, 5vw, 3.35rem);
  font-weight: 720;
  letter-spacing: -.045em;
  line-height: 1.04;
}
.ab-a-confirmation__copy {
  max-width: 670px;
  margin: 1.1rem 0 2rem;
  color: #607086;
  font-size: 1rem;
  line-height: 1.7;
}
.ab-a-confirmation__states {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.ab-a-confirmation__states > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid #dce4ed;
  border-radius: 15px;
  background: #f5f8fb;
}
.ab-a-confirmation__states span {
  color: #607086;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.ab-a-state {
  padding: .35rem .62rem;
  border-radius: 999px;
  background: #eef2f6;
  color: #415064;
  font-size: .66rem;
  letter-spacing: .04em;
}
.ab-a-state--paid, .ab-a-state--pass, .ab-a-state--released { background: #e9f8f2; color: #056146; }
.ab-a-state--pending, .ab-a-state--hold, .ab-a-state--review { background: #fff7df; color: #8a5a00; }
.ab-a-state--failed, .ab-a-state--block, .ab-a-state--disputed { background: #fff0f0; color: #a32424; }
.ab-a-confirmation__security { margin: 1.4rem 0 0; color: #718095; font-size: .73rem; }
.ab-a-confirmation__top { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.35rem; align-items: start; }
.ab-a-confirmation__top .ab-a-confirmation__icon { margin: 0; }
.ab-a-receipt { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 1rem; margin: 2rem 0 1.15rem; }
.ab-a-receipt__product { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 1rem; align-items: center; padding: 1rem; border: 1px solid #dce4ed; border-radius: 18px; background: #fff; }
.ab-a-receipt__product img { width: 76px!important; height: 76px!important; margin: 0!important; border-radius: 14px; object-fit: cover; background: #f3f6f3; }
.ab-a-receipt__product div { display: grid; gap: .25rem; min-width: 0; }
.ab-a-receipt__product span,.ab-a-receipt dt { color: #718095; font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ab-a-receipt__product strong { overflow: hidden; color: #13291f; font-size: .96rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.ab-a-receipt__product small { color: #718095; font-size: .78rem; }
.ab-a-receipt dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; border: 1px solid #dce4ed; border-radius: 18px; background: #f7faf6; }
.ab-a-receipt dl>div { display: grid; align-content: center; gap: .4rem; padding: 1rem; border-left: 1px solid #dce4ed; }
.ab-a-receipt dl>div:first-child { border-left: 0; }
.ab-a-receipt dt,.ab-a-receipt dd { margin: 0; }
.ab-a-receipt dd { color: #13291f; font-size: .94rem; font-weight: 760; }
.ab-a-next { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 0 0 1.4rem; }
.ab-a-next>div { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: .75rem; padding: 1rem; border-radius: 16px; background: #f5f9f3; }
.ab-a-next b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #e2f1e6; color: #285b40; font-size: .8rem; }
.ab-a-next span { display: grid; gap: .25rem; }
.ab-a-next strong { color: #13291f; font-size: .87rem; }
.ab-a-next small { color: #65766d; font-size: .75rem; line-height: 1.45; }
.ab-a-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.ab-a-actions .button { display: inline-flex!important; align-items: center; justify-content: center; min-height: 50px; padding: 0 1.35rem!important; border-radius: 12px!important; text-decoration: none!important; font-weight: 750!important; }
.ab-order-anchor { position: relative; top: -120px; }
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid #dce4ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(28 52 76 / 7%);
}
body.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 2rem;
}
body.woocommerce-order-received .woocommerce-order-overview li {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  color: #607086;
  overflow-wrap: anywhere;
}
body.woocommerce-order-received .woocommerce-order-overview strong { margin-top: .35rem; color: #0b1220; font-size: .95rem; }
body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-customer-details h2 { margin: 0 0 1.25rem; color: #13291f; font-size: 1.35rem; letter-spacing: -.02em; }
body.woocommerce-order-received table.shop_table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
body.woocommerce-order-received table.shop_table td,
body.woocommerce-order-received table.shop_table th { padding: 1rem; overflow-wrap: anywhere; word-break: break-word; }
body.woocommerce-order-received .woocommerce-order-details { margin-top: 1rem; }
body.woocommerce-order-received .woocommerce-customer-details { margin-top: 1rem; }
body.woocommerce-order-received .woocommerce-customer-details address { padding: 1.1rem 1.2rem; border: 1px solid #e3e9e3; border-radius: 14px; background: #f8faf7; color: #405047; font-style: normal; line-height: 1.75; }
body.woocommerce-order-received table.shop_table thead th { background: #f5f8f4; color: #53655b; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
body.woocommerce-order-received table.shop_table tbody td { color: #24372d; }
body.woocommerce-order-received table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child td { color: #13291f; font-size: 1rem; }

@media (max-width: 700px) {
  body.woocommerce-order-received .store-main { padding-top: 1rem; }
  .ab-a-confirmation { border-radius: 22px; }
  .ab-a-confirmation h1 { font-size: 2.15rem; }
	.ab-a-confirmation__top { grid-template-columns: 1fr; }
	.ab-a-confirmation__top .ab-a-confirmation__icon { width: 52px; height: 52px; }
	.ab-a-receipt { grid-template-columns: 1fr; }
	.ab-a-receipt dl,.ab-a-next { grid-template-columns: 1fr; }
	.ab-a-receipt dl>div { border-left: 0; border-top: 1px solid #dce4ed; }
	.ab-a-receipt dl>div:first-child { border-top: 0; }
	.ab-a-actions { display: grid; }
	.ab-a-actions .button { width: 100%; }
  .ab-a-confirmation__states,
  body.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: 1fr; }
  body.woocommerce-order-received .woocommerce-order-overview li { padding-bottom: .8rem; border-bottom: 1px solid #e8edf2; }
  body.woocommerce-order-received .woocommerce-order-overview li:last-child { padding-bottom: 0; border-bottom: 0; }
  body.woocommerce-order-received table.shop_table th:first-child { width: 68%; }
  body.woocommerce-order-received table.shop_table td,
  body.woocommerce-order-received table.shop_table th { padding: .8rem .6rem; font-size: .84rem; }
}
@media (max-width: 600px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem .75rem; }
  body .woocommerce ul.products[class*="columns-"] li.product,
  body .woocommerce-page ul.products[class*="columns-"] li.product {
    float: none !important;
    grid-column: auto;
    width: 100% !important;
    margin: 0 !important;
    min-width: 0;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    min-height: 3.75em;
    padding: .7rem 0 .2rem;
    overflow: hidden;
    font-size: .82rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .woocommerce ul.products li.product .price { min-height: 2.5em; margin: 0 0 .55rem; font-size: .8rem; line-height: 1.25; }
  .woocommerce ul.products li.product .button { width: 100%; margin: 0; min-height: 42px; padding: .55rem .35rem; font-size: .74rem; }
  .woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1; object-fit: cover; }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
}

/* High-specificity product reset for WooCommerce and imported Shopify content. */
body.single-product .woocommerce-breadcrumb,
body.single-product #secondary,
body.single-product .widget-area { display: none !important; }
body.single-product { overflow-x: hidden; }
body.single-product .store-main { padding-top: 2.25rem; }
body.single-product .store-main > .site-shell { width: min(calc(100% - 3rem), 1200px); }
body.single-product .woocommerce div.product.viva-product .viva-product__grid {
  grid-template-columns: minmax(0, 605px) minmax(360px, 445px);
  justify-content: space-between;
  gap: clamp(2.5rem, 6vw, 6.25rem);
}
body.single-product .woocommerce div.product.viva-product .viva-product__gallery { top: 1rem; }
body.single-product .woocommerce div.product.viva-product .product_title {
  margin: 0 0 1rem !important;
  color: #121212;
  font-size: clamp(2.15rem, 3vw, 2.65rem) !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
  letter-spacing: .005em !important;
}
body.single-product .woocommerce div.product.viva-product form.cart .button,
body.single-product .woocommerce div.product.viva-product .single_add_to_cart_button,
body.single-product .woocommerce div.product.viva-product .viva-buy-now {
  min-height: 48px !important;
  border: 1px solid #121212 !important;
  border-radius: 0 !important;
  background: #121212 !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 13px !important;
}
body.single-product .woocommerce div.product.viva-product form.cart .button:hover { background: #2b2b2b !important; }
.viva-product .flex-control-thumbs { list-style: none !important; }
.viva-product .flex-control-thumbs li::marker { content: ""; }
.viva-product .flex-control-thumbs img { object-fit: cover; }
.viva-product__description {
  overflow: hidden;
  max-width: 100%;
  margin-top: 3rem;
}
.viva-product__description article:empty,
.viva-product__description .4ever-article:empty { display: none; }
.viva-product__description .document,
.viva-product__description .section { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
.viva-product__description img:not(.emoji):not(.wp-smiley),
.viva-product__description video { display: block; width: 100% !important; max-width: 100% !important; height: auto !important; margin: 1.2rem auto !important; }
.viva-product__description p,
.viva-product__description li { overflow-wrap: anywhere; }
.viva-product__description h2 { font-size: clamp(1.45rem, 2.3vw, 1.9rem); }
.viva-product__description h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }

@media (max-width: 900px) {
  body.single-product .store-main > .site-shell { width: min(calc(100% - 2rem), 720px); }
  body.single-product .woocommerce div.product.viva-product .viva-product__grid { grid-template-columns: 1fr; gap: 2rem; }
  body.single-product .woocommerce div.product.viva-product .viva-product__gallery { position: static; }
}

/* Vivanoura 0.4 storefront refinement. Keep the catalog close to the source
   Shopify theme: square media, left-aligned copy and no artificial card shadow. */
.woocommerce ul.products li.product {
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: .9rem 0 .2rem; font-size: 1rem; font-weight: 500; line-height: 1.35; }
.woocommerce ul.products li.product .price { margin: 0 0 .75rem; color: #121212; font-weight: 500; }
.woocommerce ul.products li.product .button { width: 100%; margin: 0; }

/* Native WooCommerce Cart block, aligned to the 1200px Shopify page grid. */
body.woocommerce-cart.page-template-default .site-main { padding: clamp(2rem, 4vw, 3.75rem) 0; }
body.woocommerce-cart.page-template-default .entry-content {
  width: 100%;
  max-width: none;
}
body.woocommerce-cart.page-template-default .page-header {
  display: block;
  width: min(calc(100% - 3rem), 1200px) !important;
  margin: 0 auto clamp(1.5rem, 3vw, 2.5rem) !important;
}
body.woocommerce-cart.page-template-default .page-header h1 {
  margin: 0;
  font-size: clamp(2.35rem, 4vw, 3.5rem);
  font-weight: 400;
}
body.woocommerce-cart .wc-block-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1.75fr) minmax(320px, .85fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  width: min(calc(100% - 3rem), 1200px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-cart .wc-block-cart-items { margin: 0; }
body.woocommerce-cart .wc-block-cart-items th { padding: .7rem 0; color: #333; font-size: .75rem; font-weight: 600; letter-spacing: .08em; }
body.woocommerce-cart .wc-block-cart-items__row td { padding-top: 1.4rem !important; padding-bottom: 1.4rem !important; vertical-align: top; }
body.woocommerce-cart .wc-block-cart-item__image { width: 112px; padding-right: 1.25rem !important; }
body.woocommerce-cart .wc-block-cart-item__image img { width: 92px; aspect-ratio: 1; border: 1px solid #eee; object-fit: cover; }
body.woocommerce-cart .wc-block-cart-item__product { padding-left: 0 !important; }
body.woocommerce-cart .wc-block-components-product-name {
  display: inline-block;
  max-width: 34rem;
  margin-bottom: .35rem;
  color: #121212;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
}
body.woocommerce-cart .wc-block-components-product-metadata { margin-top: .35rem; color: #666; font-size: .82rem; line-height: 1.45; }
body.woocommerce-cart .wc-block-components-quantity-selector { min-height: 42px; border-color: #999; border-radius: 0; }
body.woocommerce-cart .wc-block-cart-item__total { min-width: 90px; padding-left: 1rem !important; text-align: right; }
body.woocommerce-cart .wc-block-cart__sidebar { align-self: start; }
body.woocommerce-cart .wc-block-cart__totals-title { padding: .7rem 0 1rem; font-size: .78rem; font-weight: 600; letter-spacing: .08em; }
body.woocommerce-cart .wc-block-components-totals-wrapper { padding: 1rem 0; border-color: #ddd; }
body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value { font-size: .95rem; }
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.35rem; font-weight: 600; }
body.woocommerce-cart .wc-block-cart__submit-button { min-height: 50px; border-radius: 0; background: #121212; font-size: 1rem; }

/* Replace the mock payment badges and seals with a quiet, factual service row. */
.viva-product .product_title img.emoji { display: inline-block !important; width: 1em !important; height: 1em !important; margin: 0 .15em 0 0 !important; vertical-align: -.08em; }
.viva-product .viva-trust {
  overflow: hidden;
  margin-top: 1.6rem;
  border: 1px solid #dedede;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.viva-product .viva-trust__heading { padding: .85rem 1rem; border-bottom: 1px solid #e5e5e5; background: #fafafa; }
.viva-product .viva-trust__heading strong { font-size: .86rem; font-weight: 600; letter-spacing: .04em; }
.viva-trust__features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.viva-trust__features > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: .65rem; padding: .9rem .8rem; }
.viva-trust__features > div + div { border-left: 1px solid #e5e5e5; }
.viva-trust__features img { width: 24px; height: 24px; object-fit: contain; }
.viva-trust__features span { display: grid; gap: .1rem; min-width: 0; }
.viva-trust__features strong { font-size: .72rem; font-weight: 600; line-height: 1.2; }
.viva-trust__features small { color: #666; font-size: .62rem; line-height: 1.25; }
.viva-trust__features a { color: inherit; }

@media (max-width: 900px) {
  body.woocommerce-cart .wc-block-cart { grid-template-columns: 1fr; gap: 2rem; width: min(calc(100% - 2rem), 720px) !important; }
  body.woocommerce-cart.page-template-default .page-header { width: min(calc(100% - 2rem), 720px) !important; }
}

@media (max-width: 600px) {
  body.woocommerce-cart .wc-block-cart-item__image { width: 86px; padding-right: .8rem !important; }
  body.woocommerce-cart .wc-block-cart-item__image img { width: 72px; }
  body.woocommerce-cart .wc-block-components-product-name { font-size: .92rem; }
  .viva-trust__features { grid-template-columns: 1fr; }
  .viva-trust__features > div + div { border-top: 1px solid #e5e5e5; border-left: 0; }
}

@media (max-width: 600px) {
  body.single-product .store-main { padding-top: .75rem; }
  body.single-product .store-main > .site-shell { width: 100%; }
  body.single-product .woocommerce div.product.viva-product .product_title { font-size: 1.85rem !important; }
  body.single-product .viva-product__summary { padding-inline: 1rem; }
  body.single-product .viva-product__vendor { margin-top: .2rem; }
}

/* Vivanoura product page */
.single-product .store-main { padding-block: 2.25rem 0; }
.single-product .store-main > .site-shell { width: min(calc(100% - 2rem), 1200px); }
.woocommerce div.product.viva-product { overflow: visible; }
.viva-product__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  align-items: start;
  gap: clamp(2rem, 4vw, 4.25rem);
}
.viva-product__gallery { position: sticky; top: 1.25rem; min-width: 0; }
.woocommerce div.product.viva-product div.images,
.woocommerce div.product.viva-product div.summary {
  float: none;
  width: 100%;
  margin: 0;
}
.viva-product .woocommerce-product-gallery { position: relative; }
.viva-product .woocommerce-product-gallery__trigger {
  top: .85rem !important;
  left: .85rem;
  right: auto !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #e5e5e5;
  background: #fff !important;
  box-shadow: 0 2px 8px rgb(0 0 0 / 5%);
}
.viva-product .woocommerce-product-gallery__trigger::before,
.viva-product .woocommerce-product-gallery__trigger::after { transform: scale(.8); }
.viva-product .flex-viewport,
.viva-product .woocommerce-product-gallery__image {
  background: #fafafa;
}
.viva-product .flex-viewport { overflow: hidden !important; }
.viva-product .woocommerce-product-gallery.viva-gallery-stable .flex-viewport {
  height: auto !important;
  max-height: none !important;
}
.viva-product .woocommerce-product-gallery.viva-gallery-stable .woocommerce-product-gallery__wrapper {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  transform: none !important;
}
.viva-product .woocommerce-product-gallery.viva-gallery-stable .woocommerce-product-gallery__image {
  display: none !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
.viva-product .woocommerce-product-gallery.viva-gallery-stable .woocommerce-product-gallery__image.is-viva-active {
	display: block !important;
}

/* Product purchase details must never depend on reveal-script timing. */
.viva-product .viva-product__summary.viva-reveal {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}
.viva-product .woocommerce-product-gallery__image a {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: min(665px, 68vw);
}
.viva-product .woocommerce-product-gallery__image img {
  display: block;
  width: 100% !important;
  max-height: 680px;
  border-radius: 0 !important;
  object-fit: contain;
}
/* Use WooCommerce's click-to-open lightbox without the hover pan/zoom layer.
   The hover layer makes portrait images slide vertically inside the frame. */
.viva-product .woocommerce-product-gallery__image > a { cursor: zoom-in; }
.viva-product .woocommerce-product-gallery__image .zoomImg { display: none !important; }
.viva-gallery-open {
  position: absolute;
  z-index: 6;
  top: .85rem;
  left: .85rem;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  min-height: 0;
  padding: 0;
  border: 1px solid #e5e5e5;
  border-radius: 50%;
  background: #fff;
  color: #121212;
  box-shadow: 0 2px 8px rgb(0 0 0 / 7%);
  transform: none !important;
}
.viva-gallery-open:hover { background: #f5f5f5; color: #121212; transform: none !important; }
.viva-gallery-open svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.viva-product__gallery:has(.woocommerce-product-gallery__trigger) .viva-gallery-open { display: none; }
.viva-product .flex-control-thumbs {
  display: flex;
  gap: .65rem;
  align-items: center;
  overflow-x: auto;
  overflow-y: hidden;
  margin: 1rem 0 0 !important;
  padding: 0 3rem !important;
  scrollbar-width: thin;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain;
  touch-action: pan-x pinch-zoom;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  user-select: none;
}
.viva-product .flex-control-thumbs.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.viva-product .flex-control-thumbs li {
  float: none !important;
  flex: 0 0 92px;
  width: 92px !important;
  padding: 0 !important;
  scroll-snap-align: center;
}
.viva-product .flex-control-thumbs img {
  width: 92px !important;
  height: 92px !important;
  border: 1px solid transparent;
  border-radius: 0 !important;
  background: #fafafa;
  object-fit: cover;
  opacity: 1 !important;
}
.viva-product .flex-control-thumbs img.flex-active { border-color: #121212; }

body.single-product.woocommerce div.product.viva-product div.images ol.flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: scroll !important;
  overflow-y: hidden !important;
  scrollbar-gutter: stable;
}
body.single-product.woocommerce div.product.viva-product div.images ol.flex-control-thumbs::-webkit-scrollbar { height: 4px; }
body.single-product.woocommerce div.product.viva-product div.images ol.flex-control-thumbs::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background: rgb(47 107 79 / 35%);
}

.viva-product__summary { min-width: 0; padding-top: .15rem; }
.viva-product__vendor {
  margin: 0 0 .35rem;
  color: #777;
  font-size: .62rem;
  letter-spacing: .18em;
}
.woocommerce.single-product div.product.viva-product .product_title,
.single-product .viva-product__summary h1.product_title {
  margin: 0 0 1rem;
  font-size: clamp(2.05rem, 3vw, 2.65rem);
  font-weight: 400 !important;
  line-height: 1.33;
  letter-spacing: .005em;
}
.woocommerce div.product.viva-product p.price,
.woocommerce div.product.viva-product span.price {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem .75rem;
  margin: 0;
  color: #272727;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .08em;
}

.woocommerce div.product.viva-product .viva-product__summary > p.price {
  width: fit-content;
  max-width: 100%;
  margin: -.15rem 0 1.15rem;
  padding: .72rem 1rem .78rem;
  border: 1px solid #c9ddcf;
  border-radius: 12px;
  background: linear-gradient(135deg, #f2f8f3 0%, #e8f2ea 100%);
  color: var(--brand-dark);
  font-size: clamp(1.65rem, 2.5vw, 2rem);
  font-weight: var(--font-body-weight-bold);
  line-height: 1.15;
  letter-spacing: .01em;
  box-shadow: 0 8px 22px rgb(47 107 79 / 10%);
}
.woocommerce div.product.viva-product .viva-product__summary > p.price::before {
  content: "Aktionspreis";
  flex: 0 0 100%;
  color: var(--brand);
  font-size: .66rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.woocommerce div.product.viva-product .viva-product__summary > p.price del {
  align-self: center;
  font-size: .92rem;
  font-weight: 400;
}
.woocommerce div.product.viva-product .viva-product__summary > p.price ins {
  color: var(--brand-dark);
  font-size: 1em;
  font-weight: 700;
}

.woocommerce div.product.viva-product form.variations_form .woocommerce-variation-price {
  display: none !important;
}
.woocommerce div.product.viva-product p.price del,
.woocommerce div.product.viva-product span.price del {
  color: #777;
  opacity: 1;
  font-size: .88rem;
}
.woocommerce div.product.viva-product p.price ins,
.woocommerce div.product.viva-product span.price ins { text-decoration: none; }
.woocommerce div.product.viva-product p.price ins::after,
.woocommerce div.product.viva-product span.price ins::after {
  content: "Sale";
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-left: .65rem;
  padding: .1rem .7rem;
  border-radius: 999px;
  background: #121212;
  color: #fff;
  font-size: .68rem;
  letter-spacing: .02em;
}
.viva-product__shipping-note {
  margin: .35rem 0 1.5rem;
  color: #777;
  font-size: .75rem;
  letter-spacing: .035em;
}
.viva-product .woocommerce-product-rating { margin-bottom: .6rem; }
.viva-product .woocommerce-product-rating a { color: #555; font-size: .75rem; }

.woocommerce div.product.viva-product form.cart { display: block; margin: 0 0 1.6rem; }
.viva-product form.variations_form .variations { display: block; width: 100%; margin: 0 0 1.2rem; }
.viva-product form.variations_form .variations tbody,
.viva-product form.variations_form .variations tr,
.viva-product form.variations_form .variations th,
.viva-product form.variations_form .variations td { display: block; width: 100%; padding: 0; border: 0; }
.viva-product form.variations_form .variations th.label { margin: 0 0 .55rem; }
.viva-product form.variations_form .variations th.label label {
  color: #777;
  font-size: .73rem;
  font-weight: 400;
}
.viva-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}
.viva-option-grid { display: grid; gap: .55rem; margin-bottom: .55rem; }
.viva-option {
  width: 100%;
  min-height: 38px;
  padding: .45rem 1rem;
  border: 1px solid #999;
  border-radius: 999px;
  background: #fff;
  color: #222;
  font-size: .78rem;
  font-weight: 400;
  letter-spacing: .035em;
  text-align: left;
  transform: none !important;
}
.viva-option:hover { border-color: #121212; background: #f7f7f7; color: #121212; }
.viva-option.is-selected { border-color: #121212; background: #121212; color: #fff; font-weight: 650; }
.viva-option:disabled { cursor: not-allowed; opacity: .42; text-decoration: line-through; }
.viva-product .reset_variations { display: none !important; }
.viva-product .single_variation_wrap { padding-top: 0; }
.viva-product .single_variation { display: none !important; min-height: 0 !important; margin: 0 !important; }
.viva-product .woocommerce-variation-description { color: #666; font-size: .84rem; }

.viva-product form.cart .quantity {
  position: relative;
  display: grid;
  grid-template-columns: 42px 58px 42px;
  width: 144px;
  margin: 1.55rem 0 .9rem !important;
  border: 1px solid #999;
  box-sizing: border-box;
  overflow: hidden;
}
.viva-product form.cart .quantity::before {
  content: "Anzahl";
  position: absolute;
  left: 0;
  bottom: calc(100% + .3rem);
  color: #777;
  font-size: .72rem;
}
.viva-product form.cart .quantity .qty {
  grid-column: 2;
  width: 58px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  appearance: textfield;
  text-align: center;
}
.viva-product form.cart .quantity .qty::-webkit-inner-spin-button,
.viva-product form.cart .quantity .qty::-webkit-outer-spin-button { appearance: none; margin: 0; }
.viva-qty-button {
  min-height: 44px;
  padding: 0;
  border-radius: 0;
  background: #fff;
  color: #555;
  font-size: 1rem;
  font-weight: 400;
  transform: none !important;
  border: 0;
}
.viva-qty-button:first-child { grid-column: 1; grid-row: 1; }
.viva-qty-button:last-child { grid-column: 3; grid-row: 1; }
.viva-qty-button:hover { background: #f5f5f5; color: #121212; }
.woocommerce div.product.viva-product form.cart .button {
  float: none;
  width: 100%;
  min-height: 48px;
  margin: 0;
  border-radius: 0;
  background: #121212;
  color: #fff;
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: .035em;
  transform: none;
}
.woocommerce div.product.viva-product form.cart .button:hover { background: #2a2a2a; }
.woocommerce div.product.viva-product form.cart .viva-buy-now { margin-top: .65rem; }
.woocommerce div.product.viva-product form.cart .single_add_to_cart_button.disabled { opacity: .45; }

.viva-trust {
  overflow: hidden;
  margin-top: 1.55rem;
  border: 1px solid #d7dee7;
  border-radius: 14px;
  background: linear-gradient(135deg, #fbffff, #fffaf1);
  color: #14213a;
  box-shadow: 0 9px 24px rgb(29 56 88 / 6%);
}
.viva-trust__heading { display: grid; gap: .1rem; padding: .85rem .95rem .25rem; }
.viva-trust__heading span { color: #167363; font-size: .52rem; font-weight: 800; letter-spacing: .18em; }
.viva-trust__heading strong { font-size: .82rem; }
.viva-trust__payments { display: flex; flex-wrap: wrap; gap: .35rem; padding: .25rem .95rem .8rem; }
.viva-pay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 37px;
  height: 23px;
  padding: .1rem .35rem;
  border-radius: 3px;
  background: #fff;
  color: #111;
  box-shadow: 0 1px 3px rgb(0 0 0 / 12%);
  font: 700 .56rem/1 Arial, sans-serif;
}
.viva-pay--amex { background: #0875bd; color: #fff; }
.viva-pay--google { color: #4285f4; }
.viva-pay--master { background: #172c6c; color: #ff5a3d; }
.viva-pay--paypal { color: #073b83; font-size: .8rem; }
.viva-pay--shop { background: #5a31f4; color: #fff; }
.viva-pay--visa { background: #1434cb; color: #fff; }
.viva-pay--klarna { background: #ffb3c7; }
.viva-trust__verified {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .7rem .75rem;
  border-top: 1px solid #e0e5eb;
}
.viva-trust__verified > span {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  min-height: 24px;
  padding: .2rem .48rem;
  border: 1px solid #dbe1e9;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 2px 5px rgb(0 0 0 / 5%);
  font: .55rem/1 Arial, sans-serif;
}
.viva-trust__verified small { font-size: .43rem; font-style: italic; }
.viva-trust__verified b { font-size: .64rem; }
.viva-trust__ssl { flex-wrap: wrap; max-width: 98px; justify-content: center; }
.viva-trust__ssl small { width: 100%; text-align: center; font-style: normal; }
.viva-trust__rail { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d9e0e9; }
.viva-trust__rail > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  padding: .7rem .55rem;
  border-right: 1px solid #d9e0e9;
}
.viva-trust__rail > div:last-child { border-right: 0; }
.viva-trust__rail > div > span:last-child { display: grid; gap: .1rem; min-width: 0; }
.viva-trust__rail > div > span:last-child b { font-size: .61rem; line-height: 1.2; }
.viva-trust__rail > div > span:last-child small { color: #7b8390; font-size: .5rem; line-height: 1.25; }
.viva-seal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 0 0 2px currentColor, 0 3px 7px rgb(0 0 0 / 16%);
  font: 800 .65rem/.8 Arial, sans-serif;
}
.viva-seal small { font-size: .33rem; }
.viva-seal--refund { background: #a31d29; color: #efcf72; }
.viva-seal--refund b,
.viva-seal--refund small { color: #fff; }
.viva-seal--shipping { background: #ffcc00; color: #d40511; box-shadow: 0 0 0 2px #d40511, 0 3px 7px rgb(0 0 0 / 16%); }
.viva-seal--ssl { background: #2d76a4; color: #fff; }

.viva-product__description {
  margin-top: 3.25rem;
  color: #252525;
  font-size: .96rem;
  line-height: 1.7;
}
.viva-product__description > * { max-width: 100%; }
.viva-product__description img:not(.emoji):not(.wp-smiley),
.viva-product__description video,
.viva-product__description iframe {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 1.25rem auto;
}
.viva-product__description img.emoji,
.viva-product__description img.wp-smiley,
.viva-product__description img[draggable="false"],
.viva-product__description img[src*="/emoji/"],
.viva-product__description img[src*="twemoji"],
.viva-product__description img[src*="s.w.org/images/core/emoji"] {
  display: inline-block !important;
  width: 1em !important;
  min-width: 1em !important;
  max-width: 1em !important;
  height: 1em !important;
  min-height: 1em !important;
  max-height: 1em !important;
  margin: 0 .08em !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
  vertical-align: -.12em !important;
}
.viva-product__description h2,
.viva-product__description h3 {
  margin-top: 2rem;
  font-weight: 600;
  line-height: 1.25;
}
.viva-product__description h2 { font-size: 1.55rem; }
.viva-product__description h3 { font-size: 1.2rem; }
.viva-product__description table { display: block; max-width: 100%; overflow-x: auto; }
.viva-product__description .document,
.viva-product__description .section,
.viva-product__description article:empty { margin: 0; padding: 0; }
.viva-product__reviews,
.viva-product__related { margin-top: 4rem; }
.viva-product__related > .related > h2 { font-size: 1.6rem; font-weight: 500; text-align: center; }

.viva-product__related .related ul.products { align-items: stretch; }
.viva-product__related .related ul.products li.product {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgb(31 73 55 / 7%);
}
.viva-product__related .related ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.viva-product__related .related ul.products li.product a img {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  aspect-ratio: 1;
  background: #f5f9f3;
  object-fit: cover;
}
.viva-product__related .related ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  min-height: 3.25em;
  margin: 0;
  padding: .8rem .8rem .25rem;
  overflow: hidden;
  font-size: .93rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.viva-product__related .related ul.products li.product .price {
  min-height: 1.6em;
  margin: auto .8rem .65rem;
  overflow: hidden;
  font-size: .86rem;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.viva-product__related .related ul.products li.product .button {
  width: calc(100% - 1.6rem);
  min-height: 44px;
  margin: 0 .8rem .8rem;
  padding: .6rem .45rem;
  border-radius: 9px;
  font-size: .78rem;
  text-align: center;
}

@media (max-width: 900px) {
  .single-product .store-main { padding-top: 1rem; }
  .viva-product__grid { grid-template-columns: 1fr; gap: 1.7rem; }
  .viva-product__gallery { position: relative; top: auto; }
  .viva-product .woocommerce-product-gallery__image a { min-height: auto; }
  .viva-product .woocommerce-product-gallery__image img { max-height: none; }
  .viva-product__summary { padding-inline: .25rem; }
}

@media (max-width: 780px) {
  body.woocommerce-checkout .wc-block-checkout { width: min(calc(100% - 1.5rem), 680px) !important; }
  body.woocommerce-checkout .wc-block-checkout__sidebar { min-width: 0; }
}

@media (max-width: 600px) {
  .single-product .store-main > .site-shell { width: 100%; }
  .viva-product__summary { padding-inline: 1rem; }
  .woocommerce div.product.viva-product .product_title { font-size: 1.75rem; line-height: 1.3; }
  .woocommerce div.product.viva-product .viva-product__summary > p.price {
    width: 100%;
    margin-top: 0;
    padding: .8rem 1rem .85rem;
    font-size: 1.9rem;
  }
  .viva-product form.variations_form .variations { margin-bottom: .85rem; }
  .viva-product form.variations_form .woocommerce-variation-add-to-cart {
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: .65rem;
    align-items: stretch;
    padding-top: 0;
  }
  .viva-product form.variations_form .woocommerce-variation-add-to-cart .quantity {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: 36px 46px 36px;
    width: 120px;
    height: 48px;
    margin: 0 !important;
    border: 1px solid var(--brand);
    border-radius: 10px;
    background: var(--brand-soft);
  }
  .viva-product form.variations_form .quantity::before { display: none; }
  .viva-product form.variations_form .quantity .qty { width: 46px; min-height: 46px; background: transparent; }
  .viva-product form.variations_form .viva-qty-button { min-height: 46px; background: transparent; }
  body.single-product.woocommerce div.product.viva-product form.variations_form button.single_add_to_cart_button {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    min-height: 48px !important;
    border: 1px solid var(--brand) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--brand-dark) !important;
    box-shadow: none !important;
  }
  body.single-product.woocommerce div.product.viva-product form.variations_form button.viva-buy-now {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 50px !important;
    margin-top: 0;
    border-radius: 10px !important;
    background: var(--brand-dark) !important;
    color: #fff !important;
  }
  .viva-product .flex-control-thumbs { margin-top: .65rem !important; padding-inline: 1rem !important; }
  .viva-product .flex-control-thumbs li { flex-basis: 70px; width: 70px !important; }
  .viva-product .flex-control-thumbs img { width: 70px !important; height: 70px !important; }
  .viva-option { min-height: 42px; font-size: .75rem; }
  .viva-trust__rail { grid-template-columns: 1fr; }
  .viva-trust__rail > div { border-right: 0; border-bottom: 1px solid #d9e0e9; }
  .viva-trust__rail > div:last-child { border-bottom: 0; }
  .viva-product__description { margin-top: 2.4rem; }
  .viva-product__description h2 { font-size: 1.35rem; }
  .viva-product__related { margin-top: 2.5rem; padding-inline: .75rem; }
  .viva-product__related > .related > h2 { margin-bottom: 1.25rem; font-size: 1.55rem; }
  .viva-product__related .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem .7rem; }
  .viva-product__related .related ul.products li.product .woocommerce-loop-product__title {
    min-height: 3.15em;
    padding: .65rem .65rem .2rem;
    font-size: .82rem;
    line-height: 1.3;
  }
  .viva-product__related .related ul.products li.product .price {
    margin: auto .65rem .55rem;
    font-size: .74rem;
  }
  .viva-product__related .related ul.products li.product .button {
    width: calc(100% - 1.3rem);
    min-height: 42px;
    margin: 0 .65rem .65rem;
    font-size: .72rem;
  }
}

/* Final cascade guards: WooCommerce's bundled purple .alt button rules are
   deliberately overridden to match the black Shopify controls. */
body.single-product.woocommerce div.product.viva-product form.cart button.single_add_to_cart_button,
body.single-product.woocommerce div.product.viva-product form.cart button.viva-buy-now {
  border: 1px solid #121212 !important;
  border-radius: 0 !important;
  background: #121212 !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.single-product.woocommerce div.product.viva-product form.cart button.single_add_to_cart_button:hover,
body.single-product.woocommerce div.product.viva-product form.cart button.viva-buy-now:hover { background: #2a2a2a !important; }

@media (max-width: 900px) {
  body.single-product.woocommerce div.product.viva-product,
  body.single-product.woocommerce div.product.viva-product .viva-product__grid,
  body.single-product.woocommerce div.product.viva-product .viva-product__gallery,
  body.single-product.woocommerce div.product.viva-product div.images,
  body.single-product.woocommerce div.product.viva-product .flex-viewport {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.single-product.woocommerce div.product.viva-product .viva-product__grid { display: block !important; }
  body.single-product.woocommerce div.product.viva-product .viva-product__summary { margin-top: 2rem !important; }
  body.single-product.woocommerce div.product.viva-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Unified health and wellness commerce palette. */
.store-main { background: var(--surface); }
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-product-details__short-description { color: var(--muted); }
.woocommerce ul.products li.product a img { border: 1px solid var(--line); border-radius: 12px; background: #f5f9f3; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price { color: var(--ink); }
.woocommerce span.onsale { background: var(--brand); color: #fff; }
.woocommerce ul.products li.product .button { border-radius: 8px; background: var(--brand); color: #fff; }
.woocommerce ul.products li.product .button:hover { background: var(--brand-dark); }

body.single-product .store-main { background: linear-gradient(180deg, #f7faf5 0, var(--surface) 260px); }
body.single-product .woocommerce div.product.viva-product .product_title,
.viva-product__description,
.viva-product__description h2,
.viva-product__description h3 { color: var(--ink); }
.viva-product__vendor,
.viva-product .price,
.viva-product .reset_variations,
.viva-product .woocommerce-variation-description { color: var(--muted); }
.viva-product .woocommerce-product-gallery__wrapper,
.viva-product .woocommerce-product-gallery__image a { border-color: var(--line); background: #f7faf5; }
.viva-product .flex-control-thumbs img { border-color: var(--line); background: #f7faf5; }
.viva-product .flex-control-thumbs img.flex-active { border-color: var(--brand); }
.viva-gallery-open { border-color: var(--line); background: #fff !important; color: var(--brand); }
.viva-option { border-color: #aebfb3; background: #fff; color: var(--ink); }
.viva-option:hover { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-dark); }
.viva-option.is-selected { border-color: var(--brand); background: var(--brand); color: #fff; }
.viva-product form.cart .quantity { border-color: #aebfb3; background: #fff; }
.viva-product form.cart .quantity::before { color: var(--muted); }
.viva-qty-button { background: #fff; color: var(--brand-dark); }
.viva-qty-button:hover { background: var(--brand-soft); color: var(--brand-dark); }
body.single-product.woocommerce div.product.viva-product form.cart button.single_add_to_cart_button,
body.single-product.woocommerce div.product.viva-product form.cart button.viva-buy-now {
  border-color: var(--brand) !important;
  border-radius: 8px !important;
  background: var(--brand) !important;
  box-shadow: 0 9px 22px rgb(47 107 79 / 16%) !important;
}
body.single-product.woocommerce div.product.viva-product form.cart button.single_add_to_cart_button:hover,
body.single-product.woocommerce div.product.viva-product form.cart button.viva-buy-now:hover { background: var(--brand-dark) !important; }
.viva-product .viva-trust { border-color: var(--line); border-radius: 12px; background: #fbfdf9; box-shadow: 0 12px 28px rgb(31 73 55 / 6%); }
.viva-product .viva-trust__heading { border-color: var(--line); background: var(--brand-soft); color: var(--ink); }
.viva-trust__features > div + div,
.viva-trust__rail,
.viva-trust__rail > div { border-color: var(--line); }
.viva-trust__features small,
.viva-trust__rail > div > span:last-child small { color: var(--muted); }

.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner {
  border-color: var(--line) !important;
  border-top-color: var(--brand) !important;
  border-radius: 10px;
  background: #f5faf4 !important;
  color: var(--ink) !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--brand) !important; }

body.woocommerce-cart.page-template-default .site-main,
body.woocommerce-checkout.page-template-default .site-main,
body.woocommerce-account.page-template-default .site-main { background: linear-gradient(180deg, #f6faf4 0, var(--surface) 260px); }
body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value { color: var(--ink); }
body.woocommerce-cart .wc-block-cart-item__image img { border-color: var(--line); border-radius: 8px; background: #f7faf5; }
body.woocommerce-cart .wc-block-components-product-metadata { color: var(--muted); }
body.woocommerce-cart .wc-block-components-quantity-selector { border-color: #aebfb3; border-radius: 8px; background: #fff; }
body.woocommerce-cart .wc-block-components-totals-wrapper { border-color: var(--line); }
body.woocommerce-cart .wc-block-cart__sidebar {
  padding: 1.4rem !important;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdf9;
}
body.woocommerce-cart .wc-block-cart__submit-button { border-radius: 8px; background: var(--brand); box-shadow: 0 9px 22px rgb(47 107 79 / 16%); }
body.woocommerce-cart .wc-block-cart__submit-button:hover { background: var(--brand-dark); }

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar { color: var(--ink); }
body.woocommerce-checkout .wc-block-checkout__sidebar {
  padding: 1.35rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdf9;
}
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.woocommerce-checkout .wc-block-components-address-form select { border-color: #b8c9bd; border-radius: 8px; background: #fff; }
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand); }
.viva-payment-method,
.viva-payment-method:hover,
.viva-payment-method:focus,
.viva-payment-method:active { border-color: var(--line) !important; border-radius: 10px !important; background: #fff !important; color: var(--ink) !important; }
.viva-payment-method.is-selected { border-color: var(--brand) !important; box-shadow: 0 0 0 2px rgb(47 107 79 / 20%) !important; background: #f6faf4 !important; }
.viva-payment-method__radio { border-color: #83978a !important; }
.viva-payment-method.is-selected .viva-payment-method__radio { border-color: var(--brand) !important; }
.viva-payment-method__radio::after { background: var(--brand); }
.wc-block-components-checkout-place-order-button,
.woocommerce-checkout #place_order { border-radius: 8px !important; background: var(--brand) !important; color: #fff !important; box-shadow: 0 9px 22px rgb(47 107 79 / 16%); }
.wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout #place_order:hover { background: var(--brand-dark) !important; }

body.woocommerce-order-received { background: linear-gradient(180deg, #edf5eb 0, var(--surface) 560px); }
.ab-a-confirmation { border-color: var(--line); background: rgb(252 254 251 / 97%); box-shadow: 0 28px 70px rgb(31 73 55 / 12%); }
.ab-a-confirmation::before { background: linear-gradient(90deg, var(--brand-dark), var(--brand), var(--accent)); }
.ab-a-confirmation__icon { background: linear-gradient(145deg, #3f805e, var(--brand-dark)); }
.ab-a-confirmation__eyebrow,
.ab-a-confirmation h1 { color: var(--ink); }
.ab-a-confirmation__copy,
.ab-a-confirmation__security,
body.woocommerce-order-received .woocommerce-order-overview li { color: var(--muted); }
.ab-a-confirmation__states > div,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details { border-color: var(--line); background: #fff; box-shadow: 0 12px 30px rgb(31 73 55 / 7%); }
.ab-a-confirmation__states > div { background: #f5f9f3; }
body.woocommerce-order-received .woocommerce-order-overview strong { color: var(--ink); }

/* Final related-product layout guard. This intentionally sits after the
   generic WooCommerce catalog rules so mobile cards remain equal and tidy. */
body.single-product .viva-product__related {
  clear: both;
  width: min(100%, 1200px);
  margin: 3rem auto 0;
}
body.single-product .viva-product__related section.related.products > h2 {
  margin: 0 0 1.35rem;
  color: var(--ink);
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  text-align: center;
}
body.single-product .viva-product__related section.related.products > ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}
body.single-product .viva-product__related ul.products li.product {
  display: flex !important;
  float: none !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100%;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgb(31 73 55 / 7%) !important;
}
body.single-product .viva-product__related ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
body.single-product .viva-product__related ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  aspect-ratio: 1;
  object-fit: cover;
}
body.single-product .viva-product__related ul.products li.product h2.woocommerce-loop-product__title {
  display: -webkit-box !important;
  min-height: calc(2.65em + 1rem) !important;
  margin: 0 !important;
  padding: .75rem .75rem .25rem !important;
  overflow: hidden !important;
  font-size: .88rem !important;
  line-height: 1.32 !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body.single-product .viva-product__related ul.products li.product .price {
  display: block !important;
  min-height: 1.45em !important;
  margin: auto .75rem .6rem !important;
  overflow: hidden;
  font-size: .82rem !important;
  line-height: 1.35 !important;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body.single-product .viva-product__related ul.products li.product > a.button {
  width: calc(100% - 1.5rem) !important;
  min-height: 42px !important;
  margin: 0 .75rem .75rem !important;
  padding: .55rem .35rem !important;
  font-size: .75rem !important;
  text-align: center;
}

@media (max-width: 600px) {
  body.single-product .viva-product__related { width: 100%; margin-top: 2.25rem; padding-inline: .75rem; }
  body.single-product .viva-product__related section.related.products > ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .8rem .65rem !important;
  }
  body.single-product .viva-product__related ul.products li.product h2.woocommerce-loop-product__title {
    min-height: calc(2.65em + .85rem) !important;
    padding: .65rem .6rem .2rem !important;
    font-size: .78rem !important;
  }
  body.single-product .viva-product__related ul.products li.product .price {
    margin: auto .6rem .5rem !important;
    font-size: .72rem !important;
  }
  body.single-product .viva-product__related ul.products li.product > a.button {
    width: calc(100% - 1.2rem) !important;
    margin: 0 .6rem .6rem !important;
    font-size: .7rem !important;
  }
}

@media (max-width: 600px) {
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar { padding: 1rem !important; }
}

/* Product and checkout assurance system. The visual hierarchy follows familiar
   European DTC checkout patterns while retaining valunori's health palette. */
.viva-product .viva-trust {
  border: 1px solid #dce8df;
  border-radius: 14px;
  background: linear-gradient(145deg, #f8fcf7, #fffdf8);
  box-shadow: 0 16px 34px rgb(31 73 55 / 8%);
}
.viva-product .viva-trust__heading {
  padding: .9rem 1rem .35rem;
  border: 0;
  background: transparent;
}
.viva-product .viva-trust__heading span { color: var(--brand); }
.viva-product .viva-trust__heading strong { color: var(--ink); font-size: .9rem; }
.viva-trust__payments { align-items: center; gap: .42rem; padding: .35rem 1rem .85rem; }
.viva-trust__payments > img {
  display: block;
  width: 46px;
  height: 28px;
  padding: 3px 5px;
  border: 1px solid #dfe8e1;
  border-radius: 5px;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 2px 7px rgb(31 73 55 / 7%);
}
.viva-trust__payments > img[alt="PayPal"],
.viva-trust__payments > img[alt="Klarna"] { width: 61px; }
.viva-pay { height: 25px; border: 1px solid #e5ebe6; box-shadow: 0 2px 7px rgb(31 73 55 / 8%); }
.viva-trust__verified {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .38rem;
  padding: .65rem;
  border-top: 1px solid #dce8df;
  background: rgb(255 255 255 / 64%);
}
.viva-trust__verified > img {
  display: block;
  flex: 0 1 calc(33.333% - .38rem);
  width: calc(33.333% - .38rem);
  min-width: 0;
  max-width: calc(33.333% - .38rem);
  height: auto;
  padding: .18rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  object-fit: initial;
  box-shadow: none;
}
.viva-trust__rail { border-color: #dce8df; }
.viva-trust__rail > div { min-height: 78px; grid-template-columns: 46px 1fr; border-color: #dce8df; }
.viva-trust__rail > div > img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}
.viva-trust__rail > div:last-child > img { border-radius: 5px; object-fit: contain; }

.viva-checkout-assurance {
  display: grid;
  gap: 1rem;
  margin: 1.2rem 0 1.6rem;
  color: var(--ink);
}
.viva-checkout-secure,
.viva-guarantee {
  overflow: hidden;
  border: 1px solid #d8e5dc;
  border-radius: 13px;
  background: linear-gradient(135deg, #f5fbf4, #fffaf1);
  box-shadow: 0 13px 30px rgb(31 73 55 / 7%);
}
.viva-checkout-secure { padding: .75rem .85rem .65rem; }
.viva-checkout-secure__eyebrow {
  display: block;
  margin-bottom: .15rem;
  color: var(--brand);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .15em;
}
.viva-checkout-secure > strong { display: block; margin-bottom: .55rem; font-size: .92rem; }
.viva-checkout-secure__marks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .4rem;
}
.viva-checkout-secure__marks img {
  display: block;
  flex: 0 1 calc(33.333% - .4rem);
  width: calc(33.333% - .4rem);
  min-width: 0;
  max-width: calc(33.333% - .4rem);
  height: auto;
  padding: .18rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  object-fit: initial;
  box-shadow: none;
}
.viva-delivery-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: .5rem .2rem .1rem;
}
.viva-delivery-timeline::before {
  content: '';
  position: absolute;
  top: 21px;
  left: 16.5%;
  right: 16.5%;
  height: 1px;
  background: #9bb5a2;
}
.viva-delivery-step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: .18rem;
  min-width: 0;
  text-align: center;
}
.viva-delivery-step__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: .18rem;
  border: 3px solid var(--surface);
  border-radius: 50%;
  background: var(--brand-dark);
  color: #fff;
  box-shadow: 0 0 0 1px var(--brand-dark);
  font-size: .82rem;
}
.viva-delivery-step strong { font-size: .69rem; line-height: 1.25; }
.viva-delivery-step small { color: var(--muted); font-size: .58rem; }
.viva-product__timeline {
  margin: .75rem 0;
  padding: .55rem .2rem .45rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: 0 10px 24px rgb(20 72 48 / 7%);
}
.viva-guarantee {
  display: grid;
  grid-template-columns: 102px minmax(0, 1fr);
  align-items: center;
  gap: .9rem;
  padding: .9rem;
}
.viva-guarantee__hero {
  display: block;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
}
.viva-guarantee__copy span { color: var(--brand); font-size: .56rem; font-weight: 800; letter-spacing: .15em; }
.viva-guarantee__copy h3 { margin: .18rem 0 .35rem; color: var(--ink); font-size: 1rem; line-height: 1.3; }
.viva-guarantee__copy p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }
.viva-guarantee__seals {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  gap: .48rem;
  padding-top: .75rem;
  border-top: 1px solid #d8e5dc;
}
.viva-guarantee__seals img {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
}

@media (max-width: 600px) {
  .viva-product .viva-trust { margin-inline: 0; border-radius: 12px; }
  .viva-product .viva-trust__heading { padding: .8rem .8rem .3rem; }
  .viva-trust__payments { gap: .32rem; padding: .3rem .8rem .72rem; }
  .viva-trust__payments > img { width: 42px; height: 27px; padding: 3px 4px; }
  .viva-trust__payments > img[alt="PayPal"],
  .viva-trust__payments > img[alt="Klarna"] { width: 56px; }
  .viva-trust__verified { gap: .3rem; padding: .55rem; }
  .viva-trust__verified > img { flex-basis: calc(50% - .3rem); width: calc(50% - .3rem); max-width: calc(50% - .3rem); height: auto; }
  .viva-trust__rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .viva-trust__rail > div {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: .35rem;
    min-height: 108px;
    padding: .65rem .35rem;
    border-right: 1px solid #dce8df;
    border-bottom: 0;
    text-align: center;
  }
  .viva-trust__rail > div:last-child { border-right: 0; }
  .viva-trust__rail > div > span:last-child b { min-height: 2.4em; font-size: .59rem; }
  .viva-checkout-assurance { gap: .8rem; margin: 1rem 0 1.25rem; }
  .viva-checkout-secure { padding: .7rem; }
  .viva-checkout-secure__marks { gap: .32rem; }
  .viva-checkout-secure__marks img { flex-basis: calc(50% - .32rem); width: calc(50% - .32rem); max-width: calc(50% - .32rem); height: auto; }
  .viva-guarantee { grid-template-columns: 78px minmax(0, 1fr); gap: .7rem; padding: .75rem; }
  .viva-guarantee__hero { width: 70px; height: 70px; }
  .viva-guarantee__seals { justify-content: space-between; gap: .18rem; }
  .viva-guarantee__seals img { flex-basis: 44px; width: 44px; height: 44px; }
  .viva-delivery-step strong { font-size: .62rem; }
}

/* Deterministic trust-mark grid: wrappers own the row geometry; images no
   longer participate in flex sizing or decide the distance between rows. */
.viva-trust__verified,
.viva-checkout-secure__marks {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: start;
  align-content: start;
  gap: .38rem;
}
.viva-trust__verified > .viva-trust-mark,
.viva-checkout-secure__marks > .viva-trust-mark {
  grid-column: span 2;
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1200 / 496;
  margin: 0;
  padding: .16rem 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.viva-trust__verified > .viva-trust-mark:nth-child(4),
.viva-checkout-secure__marks > .viva-trust-mark:nth-child(4) { grid-column: 2 / span 2; }
.viva-trust__verified > .viva-trust-mark:nth-child(5),
.viva-checkout-secure__marks > .viva-trust-mark:nth-child(5) { grid-column: 4 / span 2; }
.viva-trust__verified .viva-trust-mark > img,
.viva-checkout-secure__marks .viva-trust-mark > img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 600px) {
  .viva-trust__verified,
  .viva-checkout-secure__marks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .32rem; }
  .viva-trust__verified > .viva-trust-mark,
  .viva-checkout-secure__marks > .viva-trust-mark,
  .viva-trust__verified > .viva-trust-mark:nth-child(4),
  .viva-checkout-secure__marks > .viva-trust-mark:nth-child(4) { grid-column: auto; }
  .viva-trust__verified > .viva-trust-mark:nth-child(5),
  .viva-checkout-secure__marks > .viva-trust-mark:nth-child(5) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - .16rem);
  }
}

/* Single clean template for the replacement 1200 x 496 trust assets. */
.valunori-trust-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: start;
  gap: 6px;
  padding: 8px;
  border-top: 1px solid #dce8df;
  background: rgb(255 255 255 / 64%);
}
.valunori-trust-badge {
  grid-column: span 2;
  display: block;
  width: 100%;
  aspect-ratio: 1200 / 496;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.valunori-trust-badge:nth-child(4) { grid-column: span 2; }
.valunori-trust-badge:nth-child(5) { grid-column: 4 / span 2; }
.valunori-trust-badge img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
}

@media (max-width: 600px) {
  .valunori-trust-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; padding: 7px; }
  .valunori-trust-badge,
  .valunori-trust-badge:nth-child(4) { grid-column: span 2; }
  .valunori-trust-badge:nth-child(5) {
    grid-column: 4 / span 2;
    width: 100%;
  }
}

/* Shared 4 + 2 after-sales/service grid for product and checkout pages. */
.valunori-service-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: start;
  gap: 6px;
  padding: 10px 8px 12px;
  border-top: 1px solid #dce8df;
  background: rgb(255 255 255 / 55%);
}
.valunori-service-item {
  grid-column: span 2;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 5px;
  min-width: 0;
  margin: 0;
  padding: 2px 2px 4px;
  text-align: center;
}
.valunori-service-item:nth-child(5) { grid-column: 3 / span 2; }
.valunori-service-item:nth-child(6) { grid-column: 5 / span 2; }
.valunori-service-item img {
  display: block;
  width: clamp(44px, 58%, 62px);
  height: auto;
  aspect-ratio: 1;
  margin: 0;
  object-fit: contain;
}
.valunori-service-item span {
  color: var(--ink);
  font-size: clamp(.5rem, 1.3vw, .64rem);
  font-weight: 650;
  line-height: 1.2;
  text-wrap: balance;
}
.valunori-service-grid--product {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding-block: 10px 12px;
}
.valunori-service-grid--product .valunori-service-item,
.valunori-service-grid--product .valunori-service-item:nth-child(4),
.valunori-service-grid--product .valunori-service-item:nth-child(5) {
  grid-column: auto;
}

@media (max-width: 600px) {
  .valunori-service-grid { gap: 3px; padding: 8px 5px 10px; }
  .valunori-service-item { gap: 4px; padding-inline: 0; }
  .valunori-service-item img { width: clamp(38px, 62%, 50px); }
  .valunori-service-item span { font-size: .48rem; }
  .valunori-service-grid--product { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Storefront micro-interactions shared by catalog, product, cart and checkout. */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-components-product-image,
.viva-trust,
.viva-checkout-assurance,
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar {
  transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s ease, border-color .25s ease;
}
.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img {
  transition: transform .4s cubic-bezier(.22, 1, .36, 1), opacity .25s ease;
}
.woocommerce div.product form.cart .variations label,
.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart .quantity,
.wc-block-components-radio-control__option,
.wc-block-components-checkout-step {
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.woocommerce div.product form.cart .variations select:focus,
.wc-block-components-radio-control__option:focus-within,
.wc-block-components-checkout-step:focus-within {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgb(47 107 79 / 9%);
}
.woocommerce a.added_to_cart { animation: viva-soft-pop .28s cubic-bezier(.22, 1, .36, 1); }
.viva-checkout-assurance { animation: viva-panel-in .42s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes viva-soft-pop {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes viva-panel-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce ul.products li.product:hover,
  .wc-block-grid__product:hover { transform: translateY(-3px); }
  .woocommerce ul.products li.product:hover a img,
  .wc-block-grid__product:hover .wc-block-grid__product-image img { transform: scale(1.018); }
  .viva-trust:hover, .viva-checkout-assurance:hover { box-shadow: 0 17px 38px rgb(31 73 55 / 10%); }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce a.added_to_cart,
  .viva-checkout-assurance { animation: none !important; }
}
