/* Native WooCommerce blocks; shared approved type and colour tokens. */
/* Art-directed square crops exclude board gutters and align bottle bases at
   ~88.2% of each frame. Scale both axes equally to preserve packaging shape.
   Source crop (x,y,side): cleanser (0,0,621), serum (703,116.8,480),
   moisturizer (20,634,590), sunscreen (653,637,570). */
body :is(.akva-shop-grid,.akva-home-live) .akva-botanical-frame { position: relative; aspect-ratio: 1; overflow: hidden; }
body :is(.akva-shop-grid,.akva-home-live) .akva-botanical-frame > a { display: block; position: relative; width: 100%; height: 100%; aspect-ratio: 1; overflow: hidden; }
body :is(.akva-shop-grid,.akva-home-live) .akva-botanical-frame img { position: absolute; width: 201.932367%; height: 201.932367%; max-width: none; left: 0; top: 0; margin: 0; object-fit: fill; transform: none !important; }
body :is(.akva-shop-grid,.akva-home-live) .akva-botanical-frame--serum img { width: 261.25%; height: 261.25%; left: -146.458333%; top: -24.333333%; }
body :is(.akva-shop-grid,.akva-home-live) .akva-botanical-frame--moisturizer img { width: 212.542373%; height: 212.542373%; left: -3.389831%; top: -107.457627%; }
body :is(.akva-shop-grid,.akva-home-live) .akva-botanical-frame--sunscreen img { width: 220%; height: 220%; left: -114.561404%; top: -111.754386%; }
body :is(.akva-shop-grid,.akva-home-live) .akva-gallery-card img { transform: none !important; aspect-ratio: 1; object-fit: cover; }
.akva-home-live .wc-block-product-template { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(1rem,2vw,2rem); }
.akva-home-live .wc-block-product > * { margin: 0; }
.akva-home-live .akva-product-step { margin-block: 1.15rem .45rem; font-size: .6875rem; }
.akva-home-live h3 { font-size: clamp(1.125rem,1.7vw,1.6rem); line-height: 1.15; }
.akva-home-live h3 a { text-decoration: none; }
.akva-home-live h3 a:hover { text-decoration: underline; }
@media (max-width: 1000px) { .akva-home-live .wc-block-product-template { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 1rem; } }
.akva-catalogue { padding: 1.5rem var(--wp--custom--gutter) 0; }
.akva-catalogue > * { margin-block: 0 1.75rem; }
.akva-catalogue .woocommerce-breadcrumb { color: inherit; font-size: .9375rem; margin: 0; }
.akva-catalogue .woocommerce-breadcrumb a { color: inherit; }
.akva-catalogue-heading { display: grid; grid-template-columns: 1fr .48fr; gap: 2rem; align-items: center; padding-block: .5rem 1rem; }
.akva-catalogue-heading h1 { max-width: 10ch; margin: 0; overflow-wrap: anywhere; }
.akva-catalogue-heading > div { max-width: 20rem; justify-self: end; }
.akva-catalogue-heading p { font-size: var(--wp--preset--font-size--lead); line-height: 1.25; margin: 0 0 1.75rem; }
body.woocommerce-shop .akva-catalogue { padding-top: 1.25rem; }
.akva-catalogue-heading--shop { grid-template-columns: minmax(0,1fr) auto; gap: 1.5rem; align-items: end; padding: 0; }
.akva-catalogue-heading--shop h1 { max-width: none; font-size: clamp(2.5rem,3.7vw,3.75rem); line-height: 1.06; }
.akva-catalogue-heading--shop > p { max-width: 20rem; margin: 0 0 .3rem; font-size: 1rem; line-height: 1.35; }
.akva-catalogue-note { font-size: .875rem; line-height: 1.5; color: var(--wp--preset--color--stone); max-width: 60rem; }
.akva-catalogue-categories { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; border-top: var(--wp--custom--rule); padding-top: 1rem; margin-bottom: .5rem; }
.akva-catalogue-categories a { display: inline-flex; min-height: 44px; align-items: center; text-decoration: none; }
.akva-catalogue-categories a[aria-current] { text-decoration: underline; text-underline-offset: .4em; }
.akva-catalogue-tools { font-size: .9375rem; gap: .75rem; }
.akva-catalogue-tools p, .akva-catalogue-tools form { margin: 0; }
.akva-catalogue select { min-height: 44px; max-width: 100%; border: var(--wp--custom--rule); background: transparent; color: inherit; padding: .5rem; }
.akva-shop-grid .wc-block-product-template { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.75rem 1.5rem; padding: 0; }
.akva-shop-grid .wc-block-product { display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: start; column-gap: 1rem; row-gap: .5rem; }
.akva-shop-grid .wc-block-product > * { margin: 0; min-width: 0; }
.akva-shop-grid .wc-block-components-product-image { grid-column: 1 / -1; margin-bottom: .25rem; }
.akva-shop-grid .wc-block-components-product-image img { aspect-ratio: 4 / 3; object-fit: cover; }
body.woocommerce-shop .akva-shop-grid .wc-block-components-product-image img { aspect-ratio: 1 / 1; }
body.woocommerce-shop .akva-shop-grid :is(.product_cat-treat,.product_cat-protect) .wc-block-components-product-image { overflow: hidden; }
body.woocommerce-shop .akva-shop-grid .product_cat-treat .wc-block-components-product-image img { transform: scale(1.45); transform-origin: center 58%; }
body.woocommerce-shop .akva-shop-grid .product_cat-protect .wc-block-components-product-image img { transform: scale(1.18); transform-origin: center 55%; }
.akva-shop-grid .akva-product-step { grid-column: 1 / -1; padding-block: .3rem; }
.akva-shop-grid h2 { font-size: clamp(1.35rem,2.15vw,2rem); line-height: 1.2; font-weight: 400; letter-spacing: -.025em; }
.akva-shop-grid .wp-block-woocommerce-product-price { grid-column: 1; font-size: 1rem; }
.akva-shop-grid .wp-block-woocommerce-product-button { grid-column: 2; grid-row: 3 / 5; align-self: center; }
.akva-shop-grid .wp-block-button__link { background: transparent; color: var(--wp--preset--color--river-pine); border: 1px solid currentColor; font-weight: 400; min-height: 44px; padding: .6rem 1.2rem; }
.akva-shop-grid .wp-block-button__link:hover { background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); }
.akva-shop-grid .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button { border: 1px solid currentColor; }
.akva-shop-grid .added_to_cart { display: block; font-size: .875rem; margin-top: .5rem; }
@media (min-width: 1180px) {
  body.woocommerce-shop .akva-shop-grid .wc-block-product-template { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.25rem; }
  body.woocommerce-shop .akva-shop-grid .wc-block-product { grid-template-columns: minmax(0,1fr); row-gap: .4rem; }
  body.woocommerce-shop .akva-shop-grid .akva-product-step { padding-block: .15rem; }
  body.woocommerce-shop .akva-shop-grid h2 { min-height: 3.45em; font-size: clamp(1.125rem,1.45vw,1.375rem); line-height: 1.15; text-wrap: balance; }
  body.woocommerce-shop .akva-shop-grid .wp-block-woocommerce-product-button { grid-column: 1; grid-row: auto; align-self: start; justify-self: stretch; margin-top: .4rem; }
  body.woocommerce-shop .akva-shop-grid .wp-block-button__link { display: inline-flex; justify-content: center; width: 100%; }
}
.akva-shop-empty { padding: 3rem 0; max-width: 38rem; }
.akva-shop-empty h2 { margin-top: 0; }
.akva-catalogue-ritual { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 3rem var(--wp--custom--gutter); background: var(--wp--preset--color--soft-sage); margin: 3rem calc(-1 * var(--wp--custom--gutter)) 0; }
.akva-catalogue-ritual > * { margin: 0; }
.akva-catalogue-ritual h2 { font-size: clamp(2rem,3.5vw,3.5rem); }
.akva-catalogue-ritual a { display: inline-flex; gap: 1rem; padding-block: .75rem; }
.akva-product-page > :is(.woocommerce-breadcrumb,.wp-block-woocommerce-store-notices,.akva-pdp-grid) { width: 100%; max-width: 100rem; margin-inline: auto; }
.akva-pdp-grid.wp-block-columns { display: grid; grid-template-columns: minmax(0,.95fr) minmax(23.75rem,1fr); gap: clamp(3rem,5vw,5rem); align-items: start; }
.akva-pdp-grid > .wp-block-column { min-width: 0; }
.akva-pdp-info > * { margin-block: 0 1.5rem; }
.akva-pdp-info h1 { max-width: 18ch; font-size: clamp(2.75rem,3.8vw,4rem); line-height: 1.02; overflow-wrap: anywhere; text-wrap: balance; }
.akva-pdp-info > .wp-block-woocommerce-product-price { font-size: 2rem; line-height: 1.2; }
.akva-pdp-info .wp-block-post-excerpt__excerpt { margin: 0; }
.akva-pdp-info .stock { color: var(--wp--preset--color--river-pine); font-size: .9375rem; }
.akva-pdp-info form.cart { display: flex; gap: 1rem; flex-wrap: wrap; align-items: end; }
.akva-pdp-info form.variations_form.cart { display: block; }
.akva-pdp-info table.variations { width: 100%; margin: 0 0 1rem; border-collapse: collapse; }
.akva-pdp-info table.variations tbody { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
.akva-pdp-info table.variations tr { display: grid; gap: .4rem; }
.akva-pdp-info table.variations th,
.akva-pdp-info table.variations td { display: block; padding: 0; text-align: left; }
.akva-pdp-info table.variations th.label > label,
.akva-pdp-info .akva-variation-card-legend { margin: 0 0 .55rem; padding: 0; font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.akva-pdp-info table.variations select { width: 100%; min-height: 52px; border: var(--wp--custom--rule); border-radius: 0; background: transparent; color: inherit; padding: .65rem 2.25rem .65rem .75rem; font: inherit; }
.akva-pdp-info .akva-variation-row--cards > th.label { display: none; }
.akva-pdp-info .akva-variation-select--enhanced { display: none !important; }
.akva-pdp-info .akva-variation-card-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.akva-pdp-info .akva-variation-cards { display: flex; flex-wrap: wrap; gap: .625rem; }
.akva-pdp-info .akva-variation-card { position: relative; display: inline-flex; min-width: 7rem; min-height: 48px; align-items: center; justify-content: center; padding: .65rem 1rem; border: var(--wp--custom--rule); background: transparent; cursor: pointer; transition: background-color .15s ease,border-color .15s ease,box-shadow .15s ease; }
.akva-pdp-info .akva-variation-card:hover { border-color: var(--wp--preset--color--river-pine); }
.akva-pdp-info .akva-variation-card.is-selected { border-color: var(--wp--preset--color--river-pine); background: var(--wp--preset--color--soft-sage); box-shadow: inset 0 0 0 1px var(--wp--preset--color--river-pine); }
.akva-pdp-info .akva-variation-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.akva-pdp-info .akva-variation-card:has(input:focus-visible) { outline: 3px solid var(--wp--preset--color--river-pine); outline-offset: 3px; }
.akva-pdp-info .akva-variation-card:has(input:disabled) { cursor: not-allowed; opacity: .45; }
.akva-pdp-info .akva-variation-card-label { display: inline-flex; align-items: center; font-size: 1rem; line-height: 1.2; }
.akva-pdp-info .akva-variation-card.is-selected::before { content: ""; width: .35rem; height: .65rem; margin: -.15rem .55rem 0 .1rem; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.akva-pdp-info .akva-variation-cards-ready .reset_variations { display: none !important; }
.akva-pdp-info .reset_variations { display: inline-flex; min-height: 44px; align-items: center; font-size: .875rem; }
.akva-pdp-info .single_variation_wrap { margin-top: 1rem; }
.akva-pdp-info .woocommerce-variation-price { margin-bottom: 1rem; font-size: 1.5rem; line-height: 1.2; }
.akva-pdp-info .woocommerce-variation-add-to-cart { display: flex; gap: 1rem; flex-wrap: wrap; align-items: end; }
.akva-pdp-info .quantity { float: none !important; margin: 0 !important; }
.akva-pdp-info .quantity .qty { min-height: 52px; width: 5rem; border: var(--wp--custom--rule); color: inherit; background: transparent; }
.akva-pdp-info .single_add_to_cart_button.button { border-radius: 0; min-height: 52px; padding: .875rem 1.5rem; flex: 1; background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); font: inherit; border: 1px solid var(--wp--preset--color--river-pine); }
.akva-pdp-info .single_add_to_cart_button.button:hover { background: var(--wp--preset--color--bone); color: var(--wp--preset--color--river-pine); }
.akva-pdp-info .wc-block-product-description { margin-top: .25rem; }
.akva-pdp-info .wp-block-details { margin: 0; border-top: var(--wp--custom--rule); border-bottom: 0; }
.akva-pdp-info .wp-block-details:last-child { border-bottom: var(--wp--custom--rule); }
.akva-pdp-info summary { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 2rem .75rem 0; cursor: pointer; font-weight: 600; list-style: none; }
.akva-pdp-info summary::-webkit-details-marker { display: none; }
.akva-pdp-info summary::after { content: "+"; flex: 0 0 auto; font-size: 1.5rem; font-weight: 300; line-height: 1; }
.akva-pdp-info .wp-block-details[open] summary::after { content: "\2212"; }
.akva-pdp-info summary:focus-visible { outline: 3px solid var(--wp--preset--color--river-pine); outline-offset: 4px; }
.akva-pdp-info .wp-block-details p { max-width: 62ch; margin-block: .25rem 1rem; font-size: 1rem; line-height: 1.55; }
.akva-product-page .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.akva-product-page .wp-block-woocommerce-product-image-gallery { max-width: none; width: 100%; }
.akva-product-page .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.akva-product-page .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: .75rem; padding: 0; list-style: none; margin-top: .75rem; }
.akva-product-page .flex-control-thumbs li { width: calc(25% - .6rem) !important; aspect-ratio: 1; overflow: hidden; }
.akva-product-page .flex-control-thumbs img { width: 100%; height: 100%; cursor: pointer; object-fit: cover; }
.akva-product-page .flex-control-thumbs img.flex-active { outline: 2px solid var(--wp--preset--color--river-pine); outline-offset: 2px; }
.akva-product-page .flex-control-thumbs li:focus-visible { outline: 3px solid var(--wp--preset--color--river-pine); outline-offset: 4px; }
.akva-gallery-footer { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.akva-gallery-description { min-width: 0; }
.akva-gallery-title { margin: 0; font-size: .8125rem; font-weight: 600; line-height: 1.5; }
.akva-gallery-caption { margin: .3rem 0 0; font-size: .8125rem; line-height: 1.5; color: var(--wp--preset--color--stone); }
.akva-gallery-navigation { display: flex; flex: 0 0 auto; gap: .35rem; }
.akva-gallery-navigation[hidden], .akva-gallery-caption[hidden] { display: none; }
.akva-gallery-arrow { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--wp--preset--color--river-pine); border-radius: 0; background: transparent; color: var(--wp--preset--color--river-pine); font: inherit; font-size: 1.15rem; cursor: pointer; }
.akva-gallery-arrow:hover { background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); }
.akva-gallery-arrow:focus-visible { outline: 3px solid var(--wp--preset--color--river-pine); outline-offset: 3px; }
.akva-product-page .flex-control-thumbs li[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--wp--preset--color--river-pine); }
.akva-product-page .flex-control-thumbs li[aria-pressed="true"] img { outline: 0; opacity: 1; }
@media (prefers-reduced-motion: reduce) { .akva-product-page .woocommerce-product-gallery * { transition-duration: 0s !important; } }
@media (min-width: 1101px) {
  .akva-product-page .woocommerce-product-gallery { display: grid; grid-template-columns: 4.75rem minmax(0,1fr); column-gap: 1rem; align-items: start; }
  .akva-product-page .woocommerce-product-gallery > :is(.flex-viewport,.woocommerce-product-gallery__wrapper) { grid-column: 2; grid-row: 1; min-width: 0; }
  .akva-product-page .flex-control-thumbs { grid-column: 1; grid-row: 1; flex-direction: column; flex-wrap: nowrap; gap: .75rem; margin: 0; }
  .akva-product-page .flex-control-thumbs li { width: 100% !important; }
  .akva-product-page .flex-control-thumbs { grid-row: 1 / span 2; }
  .akva-gallery-footer { grid-column: 2; grid-row: 2; }
}
@media (max-width: 1100px) {
  .akva-product-page .woocommerce-product-gallery { display: flex; flex-direction: column; }
  .akva-product-page .flex-control-thumbs { order: 2; flex-wrap: nowrap; overflow-x: auto; padding: 4px; margin: .65rem -4px 0; gap: .55rem; scrollbar-width: thin; }
  .akva-product-page .flex-control-thumbs li { flex: 0 0 calc((100% - 3 * .55rem) / 4); width: auto !important; max-width: 5rem; }
  .akva-gallery-footer { order: 3; }
}
@media (max-width: 900px) {
  .akva-shop-grid .wc-block-product { grid-template-columns: minmax(0,1fr); }
  .akva-shop-grid .wp-block-woocommerce-product-button { grid-column: 1; grid-row: auto; justify-self: start; margin-top: .5rem; }
  .akva-pdp-grid.wp-block-columns { gap: 2rem; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .akva-catalogue-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .akva-catalogue-heading > div { justify-self: start; max-width: none; }
  .akva-catalogue-heading p { margin-bottom: 1rem; }
  .akva-catalogue-heading--shop { gap: .55rem; }
  .akva-catalogue-heading--shop h1 { font-size: clamp(2.3rem,7.5vw,3.1rem); }
  .akva-catalogue-heading--shop > p { margin: 0; font-size: .9375rem; }
  .akva-pdp-grid.wp-block-columns { grid-template-columns: 1fr; }
  .akva-pdp-info h1 { font-size: clamp(2.5rem,12vw,3.5rem); }
  .akva-catalogue-ritual { flex-direction: column; align-items: start; gap: 1rem; }
}
@media (max-width: 480px) {
  .akva-shop-grid .wc-block-product-template { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .akva-shop-grid h2 { font-size: 1.75rem; }
  .akva-catalogue-tools { align-items: start; flex-direction: column; }
}
