/* M2 global presentation: the same approved palette and type tokens in frontend/editor. */
.akva-site-header { padding: 1.4rem var(--wp--custom--gutter) 0; }
.akva-header-row { position: relative; display: flex; align-items: center; gap: 1rem; min-height: 5.25rem; border-bottom: var(--wp--custom--rule); }
.akva-header-row > * { margin: 0; }
.akva-header-row > .akva-site-brand { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.akva-site-brand { display: inline-block; line-height: 0; }
.akva-site-brand .akva-brandmark { width: 11rem; }
.akva-site-header--editorial .akva-header-row { min-height: 7.5rem; border: 0; }
.akva-site-header--editorial .akva-brandmark { width: clamp(15rem,25vw,20rem); }
.akva-site-header--editorial .akva-header-rule { padding: .4rem 0 1.2rem; }
.akva-primary-nav { flex: 1; min-width: 0; font-size: 1.0625rem; }
.akva-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { width: 100%; }
.akva-primary-nav .wp-block-navigation__container { width: 100%; gap: 1.75rem; }
.akva-primary-nav :is(.akva-nav-approach, .akva-nav-break) { margin-inline-start: auto; }
.akva-primary-nav .akva-mobile-only { display: none; }
.akva-site-header a, .akva-site-footer a, .akva-checkout-header a, .akva-checkout-footer a { text-decoration: none; }
.akva-site-header a:hover, .akva-site-footer a:hover, .akva-checkout-header a:hover, .akva-checkout-footer a:hover,
.akva-site-header [aria-current="page"], .akva-site-footer [aria-current="page"] { text-decoration: underline; text-underline-offset: .35em; }
.akva-header-actions { display: flex; align-items: center; gap: .3rem; }
.akva-header-actions > * { margin: 0; }
.akva-icon-link, .akva-search-disclosure > summary { min-width: 44px; min-height: 44px; display: inline-flex; justify-content: center; align-items: center; color: var(--wp--preset--color--river-pine); }
.akva-cart-link { gap: .45rem; padding-inline: .25rem; white-space: nowrap; }
.akva-cart-count { font-size: .9375rem; }
.akva-search-disclosure.wp-block-details { border: 0; padding: 0; }
.akva-search-disclosure > summary { list-style: none; cursor: pointer; font-size: 0; gap: 0; margin: 0 !important; }
.akva-search-disclosure.wp-block-details > summary::after { content: ''; width: 24px; height: 24px; background: currentColor; mask: url('../images/search.svg') center / contain no-repeat; }
.akva-search-disclosure > summary::-webkit-details-marker { display: none; }
.akva-search-panel { position: absolute; top: calc(100% + .75rem); right: 0; width: min(28rem,90vw); background: var(--wp--preset--color--bone); border: var(--wp--custom--rule); padding: 1.5rem; z-index: 30; box-shadow: 0 8px 24px #35574718; }
.akva-search-panel .wp-block-search__label { font-weight: 600; margin-bottom: .75rem; display: block; }
.wp-block-search__inside-wrapper { gap: .75rem; }
.wp-block-search__input { min-width: 0; border: 1px solid var(--wp--preset--color--stone); border-radius: 0; background: var(--wp--preset--color--bone); color: var(--wp--preset--color--river-pine); padding: .75rem; font: inherit; }
.wp-block-search__button { margin-left: 0; min-height: 44px; padding-inline: 1.25rem; }
.akva-checkout-header { margin: 0 var(--wp--custom--gutter); padding-block: 1.5rem; display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; border-bottom: var(--wp--custom--rule); font-size: 1rem; }
.akva-checkout-header > * { margin: 0; }
.akva-checkout-header > :last-child { text-align: right; }
.akva-checkout-header a:not(.akva-site-brand) { min-height: 44px; display: inline-flex; align-items: center; }
.akva-site-footer { margin: 0 var(--wp--custom--gutter); border-top: var(--wp--custom--rule); font-size: .9375rem; }
.akva-footer-top { display: flex; justify-content: space-between; gap: 3rem; padding-block: 2.5rem; }
.akva-footer-brand .akva-brandmark { width: 7.5rem; }
.akva-footer-brand p { margin: 1rem 0 0; color: var(--wp--preset--color--stone); }
.akva-footer-links { max-width: 38rem; }
.akva-footer-links > p { margin: 0 0 .75rem; }
.akva-support-nav .wp-block-navigation__container { gap: .3rem 1.5rem; }
.akva-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem 2rem; padding-block: 1rem; border-top: var(--wp--custom--rule); }
.akva-footer-bottom p { margin: 0; color: var(--wp--preset--color--stone); }
.akva-site-footer .wp-block-navigation a, .akva-checkout-footer .wp-block-navigation a { min-height: 44px; display: inline-flex; align-items: center; }
.akva-legal-nav .wp-block-navigation__container, .akva-checkout-links .wp-block-navigation__container { gap: .25rem 1.5rem; }
.akva-checkout-footer { margin: 0 var(--wp--custom--gutter); padding-block: 1.5rem; border-top: var(--wp--custom--rule); display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; font-size: .9375rem; }
.akva-checkout-footer .akva-brandmark { width: 7rem; }
.akva-component-section { padding-block: 2.5rem; border-top: var(--wp--custom--rule); }
.akva-component-section > :first-child { margin-top: 0; }
.akva-component-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.akva-component-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.akva-component-actions .akva-button { width: auto; text-decoration: none; }
.akva-button--outline { background: transparent; color: var(--wp--preset--color--river-pine); }
.akva-button--outline:not(:disabled):hover { background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); }
.akva-button:disabled, .akva-button[aria-disabled="true"] { border-style: dashed; background: var(--wp--preset--color--bone); color: var(--wp--preset--color--stone); cursor: not-allowed; }
.akva-button:active:not(:disabled) { transform: translateY(1px); }
.akva-busy-mark { display: inline-block; width: 1rem; height: 1rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: akva-spin 1s linear infinite; }
@keyframes akva-spin { to { transform: rotate(360deg); } }
.akva-notice { border: 1px solid var(--wp--preset--color--stone); border-left: 4px solid var(--wp--preset--color--river-pine); padding: 1rem 1.25rem; margin-block: 1rem; }
.akva-notice--success { background: var(--wp--preset--color--soft-sage); }
.akva-notice--error { border-left-width: 6px; }
.akva-notice p { margin: .25rem 0; }
.akva-badge { display: inline-block; padding: .25rem .75rem; border: 1px solid var(--wp--preset--color--stone); font-size: .9375rem; }
.akva-field textarea { width: 100%; min-height: 8rem; padding: .75rem; border: 1px solid var(--wp--preset--color--stone); background: transparent; color: inherit; border-radius: 0; }
.akva-field [aria-invalid="true"] { border-width: 2px; }
.akva-error-text { font-size: .9375rem; margin-top: .5rem; }
.akva-choice { display: flex; gap: .75rem; align-items: center; min-height: 44px; }
.akva-choice input { accent-color: var(--wp--preset--color--river-pine); width: 1.25rem; height: 1.25rem; flex: none; }
.akva-empty-state { text-align: center; padding: 3rem 1.5rem; border: var(--wp--custom--rule); }
.akva-demo-card .woocommerce ul.products { margin: 0; display: grid; grid-template-columns: minmax(0,28rem); }
.akva-demo-card .woocommerce ul.products::before, .akva-demo-card .woocommerce ul.products::after { display: none; }
.akva-demo-card .woocommerce ul.products li.product { float: none; width: auto; margin: 0; }
.akva-demo-card .woocommerce ul.products li.product img { aspect-ratio: 1; object-fit: cover; margin: 0 0 1rem; }
.akva-demo-card .woocommerce ul.products li.product .akva-source-crop img { aspect-ratio: auto; width: 184.54%; margin: 0; }
.akva-demo-card .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.5rem; font-weight: 400; padding-block: .5rem; }
.akva-demo-card .woocommerce ul.products li.product .price { color: var(--wp--preset--color--river-pine); font-size: 1.125rem; }
.akva-demo-card .woocommerce ul.products li.product .button { border: 1px solid var(--wp--preset--color--river-pine); border-radius: 0; background: transparent; color: var(--wp--preset--color--river-pine); font: inherit; min-height: 48px; padding: .8rem 1.5rem; }
.akva-demo-card .woocommerce ul.products li.product .button:hover { background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); }
.akva-demo-card .woocommerce ul.products li.product .added_to_cart { margin-left: 1rem; }
@media (max-width: 900px) {
  .akva-site-header { padding-top: .6rem; }
  .akva-header-row, .akva-site-header--editorial .akva-header-row { min-height: 5rem; }
  .akva-header-row .akva-brandmark { width: clamp(9rem,27vw,12rem); }
  .akva-site-header--editorial .akva-header-rule { display: none; }
  .akva-site-header--editorial .akva-header-row { border-bottom: var(--wp--custom--rule); }
  .akva-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .akva-primary-nav .wp-block-navigation__responsive-container-open { display: flex !important; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  .akva-primary-nav .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  .akva-primary-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
  .akva-primary-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 5rem; }
  .akva-primary-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1rem; font-size: 2rem; font-weight: 300; }
  .akva-primary-nav :is(.akva-nav-approach, .akva-nav-break) { margin: 0; }
  .akva-primary-nav .is-menu-open .akva-mobile-only { display: flex; }
  .akva-primary-nav .is-menu-open .wp-block-search { display: block; width: 100%; margin-top: 1.5rem; font-size: 1rem; font-weight: 400; }
  .akva-primary-nav .is-menu-open .wp-block-search__label { display: block; font-weight: 600; margin-bottom: .75rem; }
  .akva-account-link, .akva-header-actions > .akva-search-disclosure { display: none; }
  .akva-footer-top { gap: 2rem; }
  .akva-checkout-header .akva-brandmark { width: 9rem; }
}
@media (min-width: 901px) {
  .akva-primary-nav .wp-block-navigation__responsive-container-open { display: none !important; }
  .akva-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; }
  .akva-site-header:not(.akva-site-header--editorial):not(.akva-site-header--nature) .akva-header-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: clamp(2rem,4vw,4.5rem); }
  .akva-site-header:not(.akva-site-header--editorial):not(.akva-site-header--nature) .akva-header-row > .akva-site-brand { position: static; grid-column: 1; grid-row: 1; transform: none; }
  .akva-site-header:not(.akva-site-header--editorial):not(.akva-site-header--nature) .akva-primary-nav { grid-column: 2; grid-row: 1; }
  .akva-site-header:not(.akva-site-header--editorial):not(.akva-site-header--nature) .akva-primary-nav .wp-block-navigation__container { justify-content: center; }
  .akva-site-header:not(.akva-site-header--editorial):not(.akva-site-header--nature) .akva-primary-nav :is(.akva-nav-approach, .akva-nav-break) { margin-inline-start: 0; }
  .akva-site-header:not(.akva-site-header--editorial):not(.akva-site-header--nature) .akva-header-actions { grid-column: 3; grid-row: 1; }
}
@media (max-width: 600px) {
  .akva-footer-top, .akva-footer-bottom { flex-direction: column; align-items: flex-start; }
  .akva-support-nav .wp-block-navigation__container { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
  .akva-footer-top { padding-block: 2rem; }
  .akva-checkout-header { grid-template-columns: 1fr 1fr; padding-block: 1rem; }
  .akva-checkout-header > .akva-site-brand { grid-row: 1; grid-column: 1 / -1; justify-self: center; }
  .akva-checkout-header > p { grid-row: 2; }
  .akva-checkout-footer { flex-direction: column; align-items: flex-start; }
  .akva-component-grid { grid-template-columns: 1fr; }
  .akva-component-actions { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) { .akva-busy-mark { animation: none; } }
