/* One palette and type source: theme.json. Review-only source crops are explicitly isolated below. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html:has(:focus-visible) { scroll-behavior: auto; scroll-padding-block: 2rem; }
body { margin: 0; }
body, .editor-styles-wrapper { font-synthesis: none; }
.wp-site-blocks > *, .akva-main, .akva-main > *, .akva-main .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .24em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:where(a,button,input,select,textarea,summary) { scroll-margin-block: 2rem; }
:where(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--wp--preset--color--river-pine); outline-offset: 4px; }
button, input, select, textarea { font: inherit; }
input::placeholder, textarea::placeholder { color: var(--wp--preset--color--stone); opacity: 1; }
strong { font-weight: 600; }
.akva-review-notice { background: var(--wp--preset--color--soft-sage); padding: .5rem 1.5rem; text-align: center; font-size: var(--wp--preset--font-size--small); }
.akva-review-notice a { margin-inline-start: 1.5rem; display: inline-block; }
.akva-skip { position: fixed; left: 1rem; top: 1rem; padding: 1rem; background: var(--wp--preset--color--bone); z-index: 100000; transform: translateY(-250%); }
.akva-skip:focus { transform: translateY(0); }
.akva-review-header { padding: 1.75rem var(--wp--custom--gutter) 1.2rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.25rem; }
.akva-review-header a { text-decoration: none; }
.akva-review-header a:not(.akva-logo-link):hover { text-decoration: underline; }
.akva-review-product { justify-self: end; }
.akva-logo-link { display: block; }
.akva-brandmark { display: block; width: clamp(11rem, 25vw, 20rem); height: auto; aspect-ratio: 640 / 180; color: var(--wp--preset--color--river-pine); }
.akva-header-rule { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 2rem; font-size: .625rem; letter-spacing: .27em; line-height: 1.6; text-transform: uppercase; }
.akva-header-rule > :nth-child(2) { border-bottom: var(--wp--custom--rule); margin-bottom: .3rem; }
.akva-header-rule > :last-child { text-align: right; }
.akva-review-footer { margin: 0 var(--wp--custom--gutter); padding: 2.25rem 0; border-top: var(--wp--custom--rule); display: flex; justify-content: space-between; align-items: center; gap: 2rem; font-size: var(--wp--preset--font-size--small); }
.akva-review-footer .akva-brandmark { width: 7rem; }
.akva-review-footer p { margin: 0; max-width: 20rem; color: var(--wp--preset--color--stone); }
.akva-eyebrow { font-size: var(--wp--preset--font-size--eyebrow); font-weight: 600; letter-spacing: .23em; text-transform: uppercase; line-height: 1.5; }
.akva-lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.35; }
.akva-display { font-size: var(--wp--preset--font-size--display); font-weight: var(--wp--custom--display-weight); letter-spacing: var(--wp--custom--display-tracking); line-height: 1.01; }
.akva-hero.wp-block-columns { display: grid; grid-template-columns: 61.25% 38.75%; gap: 0; margin: 0; }
.akva-hero .wp-block-column { min-width: 0; margin: 0; }
.akva-hero-copy { display: flex; flex-direction: column; justify-content: space-between; }
.akva-hero-copy .akva-hero-text { padding: clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 4vw, 4rem); flex: 1; display: flex; flex-direction: column; justify-content: center; gap: clamp(.75rem, 1.4vw, 1.25rem); }
.akva-hero-text > * { margin: 0; }
.akva-hero-text .wp-block-button { width: 100%; }
.akva-hero-text .wp-block-button__link { width: 100%; white-space: normal; }
.wp-block-button__link, .akva-button { min-height: var(--wp--custom--control-height); display: inline-flex; align-items: center; justify-content: center; gap: .75rem; border-radius: 0; }
.wp-block-button__link:hover, .akva-button:not(:disabled):hover { background: var(--wp--preset--color--bone); color: var(--wp--preset--color--river-pine); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); }
.akva-ritual { padding: 2.25rem var(--wp--custom--gutter); display: flex; justify-content: space-between; gap: 3rem; align-items: center; }
.akva-ritual > * { margin: 0; }
.akva-ritual h2 { max-width: 6.5em; }
.akva-ritual-copy { max-width: 23rem; }
.akva-ritual-copy > :first-child { margin-top: 0; }
.akva-feature.wp-block-columns { display: grid; grid-template-columns: 52.5% 47.5%; margin: 0; gap: 0; }
.akva-feature .wp-block-column { min-width: 0; margin: 0; }
.akva-feature-copy { background: var(--wp--preset--color--soft-sage); display: flex; flex-direction: column; justify-content: center; padding: var(--wp--custom--gutter); }
.akva-feature-copy > * { margin: 0 0 1.25rem; }
.akva-feature-copy > :last-child { margin-bottom: 0; }
.akva-routine { padding: 2.5rem var(--wp--custom--gutter); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; }
.akva-routine p { margin: 0; }
.akva-reading, .akva-study { max-width: 1440px; margin-inline: auto; padding: var(--wp--preset--spacing--section) var(--wp--custom--gutter); }
.akva-study > :first-child { margin-top: 0; }
.akva-study-intro { max-width: 47rem; margin-bottom: 4rem; }
.akva-study-intro h1 { margin-block: 1rem 1.5rem; }
.akva-study-section { padding-block: 3rem; border-top: var(--wp--custom--rule); }
.akva-study-section h2 { margin-block: .75rem 2rem; }
.akva-swatches { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.akva-swatch { border: var(--wp--custom--rule); padding: 1.5rem; min-height: 10rem; display: flex; flex-direction: column; justify-content: space-between; }
.akva-swatch span, .akva-swatch code { display: block; }
.akva-swatch code { font: inherit; font-size: var(--wp--preset--font-size--small); }
.akva-swatch.pine { background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); }
.akva-swatch.sage { background: var(--wp--preset--color--soft-sage); }
.akva-swatch.stone { background: var(--wp--preset--color--stone); color: var(--wp--preset--color--bone); }
.akva-spec-row { display: grid; grid-template-columns: 14rem 1fr; gap: 2rem; border-bottom: var(--wp--custom--rule); padding-block: 2rem; align-items: baseline; }
.akva-spec-row p { margin: 0; }
.akva-spec-row .akva-eyebrow { color: var(--wp--preset--color--stone); }
.akva-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.akva-field label { display: block; font-weight: 600; margin-bottom: .5rem; }
.akva-field input, .akva-field select, .akva-quantity input { color: var(--wp--preset--color--river-pine); background: var(--wp--preset--color--bone); border: 1px solid var(--wp--preset--color--stone); border-radius: 0; min-height: var(--wp--custom--control-height); padding: .75rem 1rem; width: 100%; }
.akva-hint { color: var(--wp--preset--color--stone); font-size: var(--wp--preset--font-size--small); }
.akva-product-study { padding: 2.5rem var(--wp--custom--gutter) 3.5rem; max-width: 1600px; margin-inline: auto; }
.akva-breadcrumb { margin: 0 0 1.5rem; font-size: var(--wp--preset--font-size--small); }
.akva-product-grid.wp-block-columns { display: grid; grid-template-columns: 58% 1fr; gap: clamp(2rem, 5vw, 5rem); margin: 0; }
.akva-product-grid .wp-block-column { min-width: 0; }
.akva-product-info h1 { margin-block: 1rem; font-size: clamp(3.25rem, 5vw, 5rem); }
.akva-product-info > * { margin-top: 0; margin-bottom: 1.25rem; }
.akva-price { font-size: 2rem; line-height: 1.2; }
.akva-size-chip { display: inline-block; border: var(--wp--custom--rule); min-width: 7rem; padding: .5rem 1.5rem; text-align: center; }
.akva-thumbnails { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
.akva-quantity { display: grid; grid-template-columns: 1fr 7rem; align-items: center; gap: 1rem; margin-block: 1.5rem 1rem; }
.akva-quantity input { text-align: center; }
.akva-button { background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); border: 1px solid var(--wp--preset--color--river-pine); padding: .875rem 1.5rem; font-weight: 600; width: 100%; }
.akva-button:disabled { cursor: not-allowed; }
.akva-pdp-note { margin-block: .75rem 1.75rem; }
.wp-block-details summary { cursor: pointer; min-height: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; list-style: none; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: '+'; font-size: 1.5rem; font-weight: 300; line-height: 1; }
.wp-block-details[open] summary::after { content: '−'; }
.wp-block-details[open] summary { margin-bottom: 1rem; }
.wp-block-details p { font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
/* Original, unedited reference PNGs, clipped to photographic regions only. M1 private use.
   Text, controls and layouts are real HTML/blocks, never flattened page screenshots.
   Replace these source-specific classes when final standalone photography is approved. */
.akva-source-crop.wp-block-image { position: relative; overflow: hidden; margin: 0; }
.akva-source-crop img { position: absolute; max-width: none; height: auto; display: block; }
.akva-crop-portrait { aspect-ratio: 687 / 580; }
.akva-crop-portrait img { width: 163.319%; left: 0; top: -22.759%; }
.akva-crop-texture { aspect-ratio: 434 / 140; }
.akva-crop-texture img { width: 258.525%; left: -158.525%; top: -408.571%; }
.akva-crop-bottle { aspect-ratio: 590 / 382; }
.akva-crop-bottle img { width: 190.17%; left: 0; top: -243.455%; }
.akva-crop-pack { aspect-ratio: 608 / 613; }
.akva-crop-pack img { width: 184.54%; left: -7.401%; top: -22.838%; }
.akva-crop-thumb-one, .akva-crop-thumb-two, .akva-crop-thumb-three { aspect-ratio: 190 / 154; }
.akva-crop-thumb-one img { width: 590.526%; left: -23.684%; top: -495.455%; }
.akva-crop-thumb-two img { width: 590.526%; left: -133.158%; top: -495.455%; }
.akva-crop-thumb-three img { width: 590.526%; left: -241.579%; top: -495.455%; }
.akva-crop-detail { aspect-ratio: 530 / 258; }
.akva-crop-detail img { width: 211.698%; left: 0; top: -365.891%; }
@media (max-width: 1000px) {
  .akva-hero-text h1 { font-size: clamp(2.8rem, 5.2vw, 3.5rem); }
  .akva-hero-copy .akva-hero-text { padding: 1.5rem; }
}
@media (max-width: 800px) {
  .akva-review-header { padding-top: 1.25rem; grid-template-columns: 1fr 1fr; gap: 1rem; font-size: var(--wp--preset--font-size--small); }
  .akva-logo-link { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
  .akva-brandmark { width: 13rem; }
  .akva-header-rule { display: none; }
  .akva-hero.wp-block-columns, .akva-product-grid.wp-block-columns, .akva-feature.wp-block-columns { grid-template-columns: 1fr; }
  .akva-hero-copy .akva-hero-text { padding: 2.5rem var(--wp--custom--gutter); gap: 1.25rem; }
  .akva-hero-text h1 { font-size: clamp(3.5rem, 8vw, 4.5rem); }
  .akva-hero-text .wp-block-button { width: auto; }
  .akva-hero-copy .akva-crop-texture { display: none; }
  .akva-ritual { align-items: flex-start; }
  .akva-ritual h2 { font-size: 3rem; }
  .akva-feature-copy { padding: 1.5rem; }
  .akva-feature-copy h2 { font-size: 2.5rem; }
  .akva-review-footer { flex-wrap: wrap; }
  .akva-swatches { grid-template-columns: 1fr 1fr; }
  .akva-spec-row { grid-template-columns: 1fr; gap: 1rem; }
  .akva-product-grid { gap: 2rem; }
}
@media (max-width: 540px) {
  .akva-review-notice { font-size: .8125rem; padding: .5rem 1rem; }
  .akva-review-notice a { margin: .125rem 0 0; display: block; }
  .akva-hero-text h1 { font-size: 3.5rem; }
  .akva-hero-text .wp-block-button { width: 100%; }
  .akva-ritual { flex-direction: column; gap: 1.5rem; padding-block: 2.5rem; }
  .akva-feature.wp-block-columns { grid-template-columns: 1fr; }
  .akva-feature-copy { padding: 2.5rem var(--wp--custom--gutter); }
  .akva-routine { font-size: .625rem; gap: .75rem; }
  .akva-review-footer { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
  .akva-study-intro { margin-bottom: 2.5rem; }
  .akva-controls { grid-template-columns: 1fr; }
  .akva-swatch { padding: 1rem; }
  .akva-product-study { padding-top: 1.5rem; }
  .akva-product-info h1 { font-size: 3.5rem; }
  .akva-thumbnails { gap: .625rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
