/*
 * Aqua Sport visual contract
 *
 * Shared components live here rather than in page-local overrides.  Keep this
 * stylesheet after style.css so inherited WordPress and WooCommerce rules
 * cannot alter the intended geometry.
 */
:root { --aqua-content:1240px; --aqua-line:#dfe8f2; --aqua-radius:14px; }

/* One icon language across the storefront: Font Awesome glyphs only, never
 * Unicode symbols that vary by operating system and cheapen the visual rhythm. */
.aqua-icon { display:inline-grid; width:1em; height:1em; place-items:center; margin-left:.35em; font-family:"Font Awesome 6 Free"; font-size:.9em; font-style:normal; font-weight:900; line-height:1; vertical-align:-.06em; }
.aqua-icon--arrow::before { content:'\f061'; }
.aqua-icon--grid::before { content:'\f00a'; }
.aqua-icon--list::before { content:'\f03a'; }
.aqua-icon--play::before { content:'\f144'; }
.aqua-archive-category-card__placeholder::before { content:'\f1e3'; font-family:"Font Awesome 6 Free"; font-weight:900; }
.aquasport-category-placeholder::before { content:'\f1e3'; font-family:"Font Awesome 6 Free"; font-weight:900; }
.aqua-wishlist-icon::before { content:'\f004'; font-family:"Font Awesome 6 Free"; font-weight:400; }

/* Native WooCommerce keeps its gallery trigger functional; only its default
 * emoji presentation and top-right placement are replaced by the visual
 * contract used in the supplied product reference. */
.aqua-product-wrap .woocommerce-product-gallery__trigger {
  position:absolute!important;
  z-index:3!important;
  top:auto!important;
  left:auto!important;
  right:14px!important;
  bottom:14px!important;
  display:grid!important;
  width:32px!important;
  height:32px!important;
  place-items:center!important;
  border:1px solid var(--aqua-line)!important;
  border-radius:50%!important;
  color:var(--aqua-navy)!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(8,44,93,.08)!important;
  text-decoration:none!important;
}
.aqua-product-wrap .woocommerce-product-gallery__trigger > span { display:none!important; }
.aqua-product-wrap .woocommerce-product-gallery__trigger::after {
  content:'\f065'!important;
  font-family:"Font Awesome 6 Free"!important;
  font-size:.78rem!important;
  font-weight:900!important;
  line-height:1!important;
}
.aqua-wishlist-toggle.is-saved .aqua-wishlist-icon::before { font-weight:900; }

/* Header: four stable columns and a truly circular search action. */
.aqua-header { padding:20px 0!important; }
.aqua-header > .aqua-header__grid { display:grid!important; grid-template-columns:minmax(185px,245px) minmax(145px,170px) minmax(250px,1fr) max-content; width:calc(100% - 48px)!important; max-width:var(--aqua-content)!important; margin:0 auto!important; gap:28px!important; align-items:center!important; }
.aqua-header__grid > .wp-block-column { width:auto!important; min-width:0!important; margin:0!important; }
.aqua-header .aqua-brand { width:100%; max-width:220px; }
.aqua-header .aqua-catalog-button { min-height:52px; justify-content:center; padding:0 20px; border-radius:10px; font-size:.9rem; }
.aqua-header .wp-block-search { width:100%; }
.aqua-header .wp-block-search__inside-wrapper { display:flex!important; min-height:54px!important; height:54px!important; align-items:center!important; padding:4px!important; overflow:hidden!important; border:1px solid #dce6f0!important; border-radius:999px!important; background:#fff!important; }
.aqua-header .wp-block-search__input { height:44px!important; min-height:44px!important; padding:0 17px!important; border:0!important; background:transparent!important; color:var(--aqua-navy)!important; font-size:.9rem!important; line-height:44px!important; box-shadow:none!important; }
.aqua-header .wp-block-search__button { display:grid!important; flex:0 0 44px!important; width:44px!important; min-width:44px!important; height:44px!important; min-height:44px!important; margin:0!important; padding:0!important; place-items:center!important; border:0!important; border-radius:50%!important; background:var(--aqua-blue)!important; color:#fff!important; line-height:1!important; aspect-ratio:1/1!important; transform:none!important; }
.aqua-header .wp-block-search__button::after { margin:0!important; transform:none!important; }
.aqua-header .aqua-utilities { gap:18px; }
.aqua-header .aqua-utility { min-height:44px; padding:0; font-size:.84rem; }
.aqua-header .aqua-utility::before { width:28px; height:28px; font-size:1.35rem; }
.aqua-header .aqua-utility small { font-size:.68rem; }
.aqua-header .aqua-utility__badge { top:-1px; left:20px; }
.aqua-header .aqua-wishlist-panel-toggle { appearance:none; }

/* The hero stays still until a shopper explicitly selects a dot.  This keeps
 * the first paint stable and honours reduced-motion expectations. */
.aqua-hero-slider .aqua-hero-dots [role="tab"] { touch-action:manipulation; }
.aqua-hero-slider .aqua-hero-dots [role="tab"]:focus-visible { outline:3px solid #fff!important; outline-offset:3px!important; }

/* Catalogue cards share a strict, aligned product-card layout. */
.aqua-archive-category-strip ul { gap:12px; }
.aqua-archive-category-strip a { min-height:132px; padding:10px 8px; border-radius:12px; font-size:.75rem; }
.aqua-archive-category-strip img { width:82px; height:82px; }
.aqua-archive-layout { gap:20px; }
.aqua-archive-results ul.products li.product,
.aqua-home-products .products li.product { min-height:310px; border-color:var(--aqua-line); border-radius:12px; box-shadow:0 5px 16px rgba(8,44,93,.06); }
.aqua-home-products .products li.product { display:flex!important; min-width:0; flex-direction:column; }
.aqua-home-products .products li.product > .woocommerce-LoopProduct-link { display:flex; min-width:0; flex:1 1 auto; flex-direction:column; }
.aqua-home-products .products li.product > .button { margin-top:auto!important; }
.aqua-archive-results ul.products li.product a img { height:152px; margin-bottom:10px!important; }
.aqua-archive-results ul.products li.product .woocommerce-loop-product__title { min-height:2.55em; font-size:.8rem!important; }
.aqua-archive-results ul.products li.product .price { min-height:1.5em; margin:.45rem 0!important; font-size:.96rem!important; }
.aqua-archive-results ul.products li.product .button { min-height:36px; border-radius:6px; }

/* Product page: gallery and buying column stay visually balanced. */
.aqua-product-wrap { max-width:var(--aqua-content)!important; }
.aqua-product-wrap div.product { grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr); gap:54px; }
.aqua-product-wrap div.product .woocommerce-product-gallery { min-height:540px; border-radius:14px; }
.aqua-product-wrap div.product .woocommerce-product-gallery__image { min-height:500px; }
.aqua-product-wrap div.product .summary { padding-top:8px; }
.aqua-product-wrap div.product .product_title { font-size:clamp(2rem,3vw,2.75rem); }
.aqua-product-wrap .aqua-single-wishlist { margin:0 0 14px; }
.aqua-product-wrap .related ul.products li.product { min-height:0; }

/* Footer uses the same container and scale as the reference layout. */
.aqua-footer { margin-top:32px; padding:30px 0 18px; }
.aqua-footer > .wp-block-columns,.aqua-footer > .wp-block-shortcode,.aqua-footer > p { width:calc(100% - 48px)!important; max-width:var(--aqua-content)!important; }
.aqua-footer .aqua-brand { max-width:220px; }
.aqua-footer .aqua-footer-contact { min-width:220px; }
.aqua-footer .aqua-payments {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:min(100%,283px);
  gap:9px;
  margin:16px 0;
}
.aqua-footer .aqua-payments img {
  box-sizing:border-box;
  width:100%!important;
  max-width:64px;
  height:36px;
  padding:4px;
  border:1px solid #e2e9f1;
}
.aqua-footer .aqua-social span { width:34px; height:34px; font-size:1.05rem; }
.aqua-footer-bottom { width:calc(100% - 48px); max-width:var(--aqua-content); margin:22px auto 0; padding-top:14px; border-top:1px solid var(--aqua-line); }

/* Wide references intentionally use the viewport as their canvas.  The
 * compact 1240px content measure is correct for product/detail reading, but
 * it must not pull the global header and footer into the middle of a 1920px
 * storefront.  These are the same four deliberate header zones as compact,
 * simply calibrated for the two supplied wide reference ranges. */
@media (min-width:1281px) and (max-width:1599px) {
  .aqua-header { padding:22px 0!important; }
  .aqua-header > .aqua-header__grid { grid-template-columns:220px 210px 360px minmax(0,1fr); width:calc(100% - 8vw)!important; max-width:1400px!important; gap:40px!important; }
  .aqua-header .aqua-brand { max-width:205px; }
  .aqua-header .aqua-catalog-button { min-height:52px; }
  .aqua-header .wp-block-search__inside-wrapper { min-height:54px!important; height:54px!important; }
  .aqua-header .wp-block-search__input { min-height:44px!important; height:44px!important; line-height:44px!important; }
  .aqua-header .wp-block-search__button { flex-basis:44px!important; width:44px!important; min-width:44px!important; height:44px!important; min-height:44px!important; }
  .aqua-footer > .wp-block-columns,.aqua-footer > .wp-block-shortcode,.aqua-footer > p,.aqua-footer-bottom { width:calc(100% - 8vw)!important; max-width:1400px!important; }
}

@media (min-width:1600px) {
  /* The wide reference has a 134px navigation band: retain the 64px controls
   * but restore its generous vertical breathing room before the hero. */
  .aqua-header { padding:32px 0!important; }
  .aqua-header > .aqua-header__grid { grid-template-columns:330px 260px 500px minmax(0,1fr); width:calc(100% - 8vw)!important; max-width:none!important; gap:58px!important; }
  .aqua-header .aqua-brand,.aqua-footer .aqua-brand { max-width:320px; }
  .aqua-header .aqua-catalog-button { min-height:64px; padding:0 24px; font-size:1rem; }
  .aqua-header .wp-block-search__inside-wrapper { min-height:64px!important; height:64px!important; padding:4px!important; }
  .aqua-header .wp-block-search__input { min-height:54px!important; height:54px!important; line-height:54px!important; font-size:1rem!important; }
  .aqua-header .wp-block-search__button { flex-basis:54px!important; width:54px!important; min-width:54px!important; height:54px!important; min-height:54px!important; }
  .aqua-header .aqua-utilities { gap:20px; font-size:1rem; }
  .aqua-header .aqua-utility { min-height:54px; }
  /* The supplied wide footer uses four 78px payment marks in a single row.
   * Keeping the small-tablet dimensions here made this group visibly lighter
   * than the logo and social controls. */
  .aqua-footer .aqua-payments { width:min(100%,348px); gap:12px; }
  .aqua-footer .aqua-payments img { max-width:78px; height:42px; }
  .aqua-footer > .wp-block-columns,.aqua-footer > .wp-block-shortcode,.aqua-footer > p,.aqua-footer-bottom { width:calc(100% - 8vw)!important; max-width:none!important; }

  /* The wide hero copy is intentionally authored with a manual first-line
   * break.  Its former 650px wrapper re-wrapped the second line and pushed
   * the body/CTA off the reference rhythm. */
  .aqua-hero-slide { max-width:760px!important; }
  .aqua-hero .wp-block-heading { max-width:760px!important; }
  .aqua-hero-slide { padding-top:4px!important; }
  .aqua-hero .has-lg-font-size { max-width:670px!important; line-height:1.6!important; }
  .aqua-hero-slide .aqua-hero-button { margin-top:2rem!important; }
  .aqua-hero-slider__trust { bottom:4.2rem!important; width:1010px!important; }
  .aqua-hero-dots { bottom:1.4rem!important; gap:12px!important; }
  .aqua-hero-dots button { width:14px!important; height:14px!important; }
  .aqua-hero-dots button.is-active { width:30px!important; }

}

/* The supplied desktop designs are 1055px wide.  Keep their deliberately
 * compact header and card rhythm instead of scaling the wide-desktop rules
 * down until the search control and gallery dominate the first viewport. */
@media (min-width:781px) and (max-width:1280px) {
  .aqua-header { padding:10px 0!important; }
  .aqua-header > .aqua-header__grid { grid-template-columns:170px 145px 276px minmax(0,1fr); width:calc(100% - 80px)!important; gap:36px!important; }
  .aqua-header .aqua-brand { max-width:176px; }
  .aqua-header .aqua-catalog-button { min-height:42px; padding:0 16px; }
  .aqua-header .wp-block-search__inside-wrapper { min-height:42px!important; height:42px!important; padding:4px!important; }
  .aqua-header .wp-block-search__input { min-height:34px!important; height:34px!important; line-height:34px!important; padding:0 14px!important; }
  .aqua-header .wp-block-search__button { flex-basis:34px!important; width:34px!important; min-width:34px!important; height:34px!important; min-height:34px!important; }
  .aqua-header .aqua-utilities { gap:14px; }
  .aqua-header .aqua-utility { min-height:38px; }

  /* Archive reference: one compact navigation row, then a 190px filter
   * column and four evenly aligned cards.  The wide desktop sizes above
   * would otherwise make the reference grid appear broken at 1055px. */
  .aqua-archive-category-strip a { min-height:110px; padding:8px 6px; }
  .aqua-archive-category-strip img { width:70px; height:70px; }
  .aqua-archive-layout { grid-template-columns:190px minmax(0,1fr); gap:24px; }
  .aqua-archive-results ul.products li.product { min-height:220px; }
  .aqua-archive-results ul.products li.product a img { height:118px; margin-bottom:8px!important; }
  .aqua-archive-results ul.products li.product .woocommerce-loop-product__title { min-height:2.45em; font-size:.76rem!important; }
  .aqua-archive-results ul.products li.product .price { min-height:0; margin:.38rem 0!important; font-size:.9rem!important; }
  .aqua-archive-results ul.products li.product .button { min-height:34px; }

  .aqua-home-products .products li.product { min-height:225px; }
  .aqua-product-wrap div.product { gap:36px; }
  .aqua-product-wrap div.product .woocommerce-product-gallery { min-height:440px; }
  .aqua-product-wrap div.product .woocommerce-product-gallery__image { min-height:400px; }
}

@media (max-width:1023px) {
  .aqua-header > .aqua-header__grid { grid-template-columns:minmax(165px,220px) auto minmax(210px,1fr) auto; gap:14px!important; }
  .aqua-header .aqua-utilities { gap:10px; }
  .aqua-header .aqua-utility--wishlist { display:none; }
  .aqua-product-wrap div.product { grid-template-columns:1fr; gap:28px; }
  .aqua-product-wrap div.product .woocommerce-product-gallery { min-height:0; }
}
@media (max-width:780px) {
  .aqua-header { padding:10px 0!important; }
  .aqua-header > .aqua-header__grid { display:flex!important; width:calc(100% - 32px)!important; gap:10px!important; }
  .aqua-header__search,.aqua-header__utilities { display:none!important; }
  .aqua-header .aqua-brand { max-width:180px; }
  .aqua-header .aqua-catalog-button { min-height:48px; padding:0 14px; font-size:.8rem; }
  .aqua-archive-category-strip a { min-height:112px; }
  .aqua-archive-category-strip img { width:68px; height:68px; }
  .aqua-archive-results ul.products li.product { min-height:286px; }
  .aqua-archive-results ul.products li.product a img { height:132px; }
  .aqua-product-wrap div.product .woocommerce-product-gallery__image { min-height:280px; }
  .aqua-footer > .wp-block-columns,.aqua-footer > .wp-block-shortcode,.aqua-footer > p,.aqua-footer-bottom { width:calc(100% - 32px)!important; }
}

/* Home composition: these components are rendered as dynamic Gutenberg blocks.
 * Do not rely on the editor's responsive column heuristics here: they are the
 * source of the stretched cards and the vertically collapsed about/newsletter
 * sections at desktop zoom and high-DPI viewports. */
@media (min-width:781px) {
  .aqua-home-products .products {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:16px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  .aqua-home-products .products > li.product {
    position:relative!important;
    display:flex!important;
    min-width:0!important;
    min-height:260px!important;
    flex-direction:column!important;
    padding:12px!important;
    overflow:hidden!important;
    border:1px solid var(--aqua-line)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(8,44,93,.06)!important;
  }

  .aqua-home-products .products > li.product > .woocommerce-LoopProduct-link {
    display:flex!important;
    min-width:0!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    color:#101d3a!important;
    text-decoration:none!important;
  }

  .aqua-home-products .products > li.product > .woocommerce-LoopProduct-link img {
    display:block!important;
    width:100%!important;
    height:136px!important;
    margin:0 0 8px!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .aqua-home-products .products > li.product .woocommerce-loop-product__title {
    min-height:2.45em!important;
    margin:0!important;
    color:#101d3a!important;
    font-size:.82rem!important;
    font-weight:700!important;
    line-height:1.24!important;
    text-decoration:none!important;
  }

  .aqua-home-products .products > li.product .price,
  .aqua-home-products .products > li.product .price * {
    min-height:0!important;
    margin:.35rem 0!important;
    color:#101d3a!important;
    font-size:.94rem!important;
    font-weight:800!important;
    text-decoration:none!important;
  }

  .aqua-home-products .products > li.product > .button {
    display:flex!important;
    width:100%!important;
    min-height:36px!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:auto!important;
    padding:.45rem!important;
    border-radius:6px!important;
    font-size:.72rem!important;
    line-height:1!important;
  }

  .aqua-about-content {
    display:grid!important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    gap:34px!important;
    align-items:center!important;
    padding:0!important;
  }

  .aqua-about-content > .wp-block-column {
    min-width:0!important;
    margin:0!important;
  }

  .aqua-about-content .aqua-about-photo {
    min-height:230px!important;
    height:230px!important;
    margin:0!important;
    background-position:center!important;
  }

  .aqua-newsletter > .wp-block-columns {
    display:grid!important;
    grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)!important;
    gap:28px!important;
    align-items:center!important;
  }

  .aqua-newsletter > .wp-block-columns > .wp-block-column {
    min-width:0!important;
    margin:0!important;
  }

  .aqua-newsletter .aqua-subscribe { margin:0!important; }

  .aqua-after-products {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:20px!important;
    align-items:start!important;
  }

  .aqua-after-products > .wp-block-column {
    min-width:0!important;
    margin:0!important;
  }
}

@media (min-width:1281px) {
  .aqua-home-products .products > li.product { min-height:276px!important; }
  .aqua-home-products .products > li.product > .woocommerce-LoopProduct-link img { height:145px!important; }
}

/* This must follow the shared min-width:781px home grid above.  Otherwise
 * its generic .9/1.1 column rule wins in the cascade and compresses the
 * wide-footer composition. */
@media (min-width:1600px) {
  .aqua-about-content {
    grid-template-columns:minmax(0,.76fr) minmax(0,1fr)!important;
    align-items:start!important;
  }
  .aqua-about-content > .wp-block-column:first-child {
    padding:10px 0 0 62px!important;
  }
  .aqua-about-content .aqua-about-photo {
    min-height:266px!important;
    height:266px!important;
  }
}

@media (max-width:780px) {
  .aqua-about-content,
  .aqua-newsletter > .wp-block-columns,
  .aqua-after-products { display:grid!important; grid-template-columns:1fr!important; }
}

/* Product category / shop archive.  This is deliberately independent from the
 * home-product grid: catalogue pages always keep a compact filter column and
 * four predictable product columns on desktop. */
@media (min-width:781px) {
  .aqua-catalog-intro {
    width:calc(100% - 80px)!important;
    max-width:1240px!important;
    margin-right:auto!important;
    margin-left:auto!important;
  }

  .aqua-archive-category-strip ul {
    display:grid!important;
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .aqua-archive-category-strip a {
    display:flex!important;
    min-height:110px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:8px 6px!important;
    color:#102a59!important;
    font-size:.72rem!important;
    font-weight:700!important;
    line-height:1.2!important;
    text-decoration:none!important;
  }

  .aqua-archive-category-strip img {
    width:70px!important;
    height:70px!important;
    margin:0!important;
    object-fit:contain!important;
  }

  .aqua-archive-layout {
    display:grid!important;
    grid-template-columns:190px minmax(0,1fr)!important;
    gap:24px!important;
    align-items:start!important;
  }

  .aqua-archive-sidebar {
    min-width:0!important;
    padding:14px!important;
    border:1px solid var(--aqua-line)!important;
    border-radius:12px!important;
    background:#fff!important;
  }

  .aqua-archive-results { min-width:0!important; }

  .aqua-archive-results ul.products {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
    clear:both!important;
    margin:0!important;
    padding:0!important;
  }

  .aqua-archive-results ul.products > li.product {
    position:relative!important;
    display:flex!important;
    min-width:0!important;
    min-height:260px!important;
    flex-direction:column!important;
    padding:10px!important;
    overflow:hidden!important;
    border:1px solid var(--aqua-line)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 4px 13px rgba(8,44,93,.055)!important;
  }

  .aqua-archive-results ul.products > li.product > .woocommerce-LoopProduct-link {
    display:flex!important;
    min-width:0!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    color:#102a59!important;
    text-decoration:none!important;
  }

  .aqua-archive-results ul.products > li.product > .woocommerce-LoopProduct-link img {
    display:block!important;
    width:100%!important;
    height:125px!important;
    margin:0 0 8px!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .aqua-archive-results ul.products > li.product .woocommerce-loop-product__title {
    min-height:2.5em!important;
    margin:0!important;
    color:#102a59!important;
    font-size:.76rem!important;
    font-weight:700!important;
    line-height:1.25!important;
    text-decoration:none!important;
  }

  .aqua-archive-results ul.products > li.product .price,
  .aqua-archive-results ul.products > li.product .price * {
    margin:.35rem 0!important;
    color:#102a59!important;
    font-size:.9rem!important;
    font-weight:800!important;
    text-decoration:none!important;
  }

  .aqua-archive-results ul.products > li.product > .button {
    display:flex!important;
    width:100%!important;
    min-height:34px!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:auto!important;
    padding:.42rem!important;
    border-radius:6px!important;
    font-size:.67rem!important;
    line-height:1!important;
  }
}

/* Single product.  WooCommerce initially writes opacity:0 on its gallery and
 * expects a gallery enhancer to reveal it.  A product with one real image must
 * never become blank while that optional enhancer is delayed or unavailable. */
@media (min-width:781px) {
  .aqua-product-wrap {
    width:calc(100% - 80px)!important;
    max-width:1240px!important;
    padding:12px 0 42px!important;
  }

  .aqua-product-wrap div.product {
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
    gap:36px!important;
    align-items:start!important;
  }

  .aqua-product-wrap div.product .woocommerce-product-gallery {
    display:flex!important;
    min-height:460px!important;
    align-items:center!important;
    padding:16px!important;
    opacity:1!important;
    border:1px solid var(--aqua-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(8,44,93,.055)!important;
  }

  .aqua-product-wrap div.product .woocommerce-product-gallery__wrapper,
  .aqua-product-wrap div.product .woocommerce-product-gallery__image,
  .aqua-product-wrap div.product .woocommerce-product-gallery__image > a {
    display:grid!important;
    width:100%!important;
    min-height:420px!important;
    place-items:center!important;
  }

  .aqua-product-wrap div.product .woocommerce-product-gallery__image img {
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    max-height:400px!important;
    margin:0!important;
    object-fit:contain!important;
  }

  .aqua-product-wrap div.product .summary {
    min-width:0!important;
    padding:8px 0 0!important;
  }

  .aqua-product-wrap div.product .product_title {
    margin:0 0 .55rem!important;
    color:#102a59!important;
    font-size:clamp(1.65rem,2.65vw,2.35rem)!important;
    line-height:1.12!important;
  }

  .aqua-product-wrap div.product .price,
  .aqua-product-wrap div.product .price * {
    margin:.6rem 0 1rem!important;
    color:#102a59!important;
    font-size:clamp(1.45rem,2.2vw,1.9rem)!important;
    font-weight:800!important;
    text-decoration:none!important;
  }

  .aqua-product-wrap div.product form.cart {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:42px 44px!important;
    gap:10px 12px!important;
    align-items:center!important;
    margin:1rem 0 0!important;
    padding-top:14px!important;
    border-top:1px solid var(--aqua-line)!important;
  }

  .aqua-product-wrap div.product form.cart .quantity {
    display:grid!important;
    grid-column:1 / -1!important;
    grid-row:1!important;
    grid-template-columns:32px 46px 32px!important;
    grid-template-rows:42px!important;
    width:110px!important;
    min-height:42px!important;
    overflow:hidden!important;
    border:1px solid var(--aqua-line)!important;
    border-radius:8px!important;
  }

  .aqua-product-wrap div.product .single_add_to_cart_button {
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:.65rem 1.2rem!important;
    border-radius:7px!important;
    justify-self:stretch!important;
  }

  .aqua-product-wrap .aqua-single-wishlist {
    display:flex!important;
    position:static!important;
    top:auto!important;
    width:calc(50% - 6px)!important;
    min-height:44px!important;
    margin:-55px 0 18px calc(50% + 6px)!important;
    border-radius:7px!important;
    justify-content:center!important;
  }

  .aqua-product-wrap .aqua-delivery-panel {
    margin-top:0!important;
    border:1px solid var(--aqua-line)!important;
    border-radius:10px!important;
  }

  .aqua-product-wrap .woocommerce-tabs,
  .aqua-product-wrap .related,
  .aqua-product-wrap .aqua-product-assurances { grid-column:1 / -1!important; }

  .aqua-product-wrap .related ul.products {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
  }
}

/* About page: the page is a purpose-built editorial layout, not a generic
 * Gutenberg post flow.  Keep the hero, sidebar, content and CTA on the same
 * 1240px canvas used by the supplied reference. */
@media (min-width:781px) {
  .aqua-about-template {
    width:calc(100% - 80px)!important;
    max-width:1240px!important;
    margin-right:auto!important;
    margin-left:auto!important;
    padding:0!important;
  }

  .aqua-about-page { padding:0!important; }

  .aqua-about-hero {
    min-height:232px!important;
    padding:38px 48px!important;
    border-radius:14px!important;
  }

  .aqua-about-hero h1 { font-size:clamp(2rem,3.4vw,3rem)!important; }

  .aqua-about-layout {
    display:grid!important;
    grid-template-columns:218px minmax(0,1fr)!important;
    gap:32px!important;
    margin-top:28px!important;
  }

  .aqua-about-sidebar { gap:16px!important; }
  .aqua-about-help {
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:12px!important;
    align-items:start!important;
    min-height:144px!important;
    padding:18px!important;
  }
  .aqua-about-help__icon {
    position:static!important;
    grid-row:1 / span 3!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
  }
  .aqua-about-help__icon::before {
    content:'\f590'!important;
    font-family:"Font Awesome 6 Free"!important;
    font-weight:900!important;
  }
  .aqua-about-help strong {
    display:block!important;
    margin:0!important;
    padding:0!important;
    color:#102a59!important;
    border-radius:0!important;
    background:transparent!important;
    font-size:.82rem!important;
    line-height:1.25!important;
  }
  .aqua-about-help p {
    margin:.35rem 0 .7rem!important;
    font-size:.72rem!important;
    line-height:1.42!important;
  }
  .aqua-about-help a {
    min-height:34px!important;
    padding:.45rem .55rem!important;
    font-size:.68rem!important;
  }
  .aqua-about-sidebar__benefits {
    gap:.78rem!important;
    padding:18px!important;
  }
  .aqua-about-sidebar__benefits li { font-size:.72rem!important; }
  .aqua-about-sidebar__benefits li::before { content:'\f058'!important; font-family:"Font Awesome 6 Free"!important; font-weight:900!important; }
  .aqua-about-values > div > span,
  .aqua-about-features article > span { font-family:"Font Awesome 6 Free"!important; font-weight:900!important; }
  .aqua-about-values > div:nth-child(1) > span::before,
  .aqua-about-features article:nth-child(1) > span::before { content:'\f3ed'; }
  .aqua-about-values > div:nth-child(2) > span::before,
  .aqua-about-features article:nth-child(2) > span::before { content:'\f559'; }
  .aqua-about-values > div:nth-child(3) > span::before,
  .aqua-about-features article:nth-child(3) > span::before { content:'\f058'; }
  .aqua-about-values > div:nth-child(4) > span::before,
  .aqua-about-features article:nth-child(4) > span::before { content:'\f2bd'; }
  .aqua-about-main { display:grid!important; grid-template-columns:1fr!important; gap:24px!important; }

  .aqua-about-overview {
    display:grid!important;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr)!important;
    gap:28px!important;
    align-items:start!important;
  }

  .aqua-about-main .aqua-about-photo {
    min-height:252px!important;
    height:252px!important;
    margin:0!important;
    border-radius:12px!important;
    background-position:center!important;
  }

  .aqua-about-values {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    margin:0!important;
  }

  .aqua-about-features > div {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
  }

  .aqua-about-service {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }

  .aqua-about-service article { min-height:150px!important; }
  .aqua-about-page__cta { margin:0!important; }
}

/* Reference calibration for the supplied 1055px desktop screens.  These
 * rules deliberately come after the historical theme styles and after the
 * general desktop contracts above: dynamic blocks otherwise inherit the
 * larger 1280px card/product rhythm at this compact desktop width. */
@media (min-width:781px) and (max-width:1280px) {
  /* The reference header is a 70px band below the utility bar. */
  .aqua-header { padding:14px 0!important; }

  /* Home: five cards stay compact enough for the trust strip to enter the
   * first reference viewport. */
  .aqua-home-products .products > li.product {
    min-height:220px!important;
    padding:10px!important;
  }
  .aqua-home-products .products > li.product > .woocommerce-LoopProduct-link img {
    height:100px!important;
    margin-bottom:6px!important;
  }
  .aqua-home-products .products > li.product .woocommerce-loop-product__title {
    min-height:2.4em!important;
    font-size:.76rem!important;
  }
  .aqua-home-products .products > li.product > .button {
    min-height:28px!important;
    padding:.34rem!important;
    font-size:.62rem!important;
  }

  /* Archive: the reference uses a compact four-column grid, not the larger
   * wide-desktop product tile inherited from WooCommerce. */
  .aqua-catalog-intro .woocommerce-products-header__title {
    font-size:1.75rem!important;
    line-height:1.12!important;
  }
  .aqua-catalog-intro__lead {
    margin:.3rem 0 .8rem!important;
    font-size:.72rem!important;
    line-height:1.35!important;
  }
  .aqua-archive-results ul.products > li.product {
    /* Grid tracks must not inherit the tallest title only per row: the
     * reference has one continuous product-card rhythm from top to bottom. */
    height:220px!important;
    min-height:0!important;
    padding:8px!important;
  }
  .aqua-archive-results ul.products {
    grid-auto-rows:220px!important;
  }
  .aqua-archive-results ul.products > li.product > .woocommerce-LoopProduct-link img {
    height:90px!important;
    margin-bottom:6px!important;
  }
  .aqua-archive-results ul.products > li.product > .button {
    min-height:26px!important;
    padding:.34rem!important;
    font-size:.62rem!important;
  }

  /* Keep the compact reference proportions for the two product columns.
   * Purchase controls are governed by the single desktop grid above. */
  .aqua-product-wrap div.product {
    grid-template-columns:minmax(0,1.38fr) minmax(0,1fr)!important;
    column-gap:58px!important;
    row-gap:32px!important;
  }
  .aqua-product-wrap div.product .woocommerce-product-gallery {
    min-height:444px!important;
    margin-top:-12px!important;
  }
  .aqua-product-wrap div.product .woocommerce-product-gallery__wrapper,
  .aqua-product-wrap div.product .woocommerce-product-gallery__image,
  .aqua-product-wrap div.product .woocommerce-product-gallery__image > a {
    min-height:410px!important;
  }

  /* The compact About reference has an editorial crop distinct from the
   * wide homepage photograph.  Keeping it as a dedicated decorative asset
   * preserves the intended facade, sky and street composition. */
  .aqua-about-main .aqua-about-photo {
    background-image:url("../extracted/aquasport-headquarters-compact-reference.webp")!important;
    background-size:cover!important;
    background-position:center!important;
  }

  /* The About hero uses the wider page canvas, while editorial content keeps
   * the quieter 40px column seen in the supplied composition. */
  .aqua-about-hero {
    width:calc(100% + 40px)!important;
    margin-left:-20px!important;
    margin-right:-20px!important;
  }
  .aqua-about-layout {
    width:100%!important;
    gap:27px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .aqua-about-sidebar {
    width:184px!important;
    margin-left:29px!important;
  }
  .aqua-about-help {
    display:block!important;
    min-height:143px!important;
    padding:14px 16px 14px 34px!important;
  }
  .aqua-about-help__icon {
    position:absolute!important;
    top:15px!important;
    left:11px!important;
    width:24px!important;
    height:24px!important;
    grid-row:auto!important;
    border:0!important;
    border-radius:0!important;
    font-size:1.45rem!important;
  }
  .aqua-about-help strong { font-size:.72rem!important; line-height:1.2!important; }
  .aqua-about-help p { margin:.25rem 0 .5rem!important; font-size:.64rem!important; line-height:1.35!important; }
  .aqua-about-help a {
    width:calc(100% + 19px)!important;
    min-height:32px!important;
    margin-left:-19px!important;
    padding:.45rem!important;
    box-sizing:border-box!important;
  }
  .aqua-about-template .aqua-newsletter {
    width:calc(100% + 80px)!important;
    max-width:none!important;
    margin:24px 0 0 -40px!important;
  }

  /* The About reference finishes with one concise contact CTA.  It must not
   * inherit the taller email-form composition used by the storefront. */
  .wp-site-blocks main.aqua-about-template > .aqua-newsletter--contact {
    display:flex!important;
    width:100%!important;
    min-height:68px!important;
    height:68px!important;
    margin:46px 0 0!important;
    padding:0 36px 0 86px!important;
    align-items:center!important;
  }
  .aqua-about-template > .aqua-newsletter--contact::before {
    left:28px!important;
    width:42px!important;
    height:42px!important;
    font-size:1.25rem!important;
  }
  .aqua-about-template > .aqua-newsletter--contact > .wp-block-columns {
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;
    gap:20px!important;
  }
  .aqua-newsletter--contact h2 { margin:0!important; font-size:1.05rem!important; }
  .aqua-newsletter--contact p { margin:.15rem 0 0!important; font-size:.68rem!important; }
  .aqua-newsletter--contact .aqua-newsletter__action {
    display:grid!important;
    min-width:172px!important;
    min-height:34px!important;
    place-items:center!important;
    padding:.45rem 1rem!important;
    color:var(--aqua-blue)!important;
    border-radius:7px!important;
    background:#fff!important;
    font-size:.72rem!important;
    font-weight:800!important;
    text-decoration:none!important;
  }
}

/* Cart and checkout use native WooCommerce blocks.  Give the real controls a
 * restrained, high-end surface without changing their fields, totals or
 * transaction logic. */
.aqua-commerce-page {
  width:calc(100% - 48px)!important;
  max-width:1240px!important;
  margin:0 auto!important;
  padding:28px 0 44px!important;
}

.aqua-commerce-page > .wp-block-post-title {
  margin:0 0 24px!important;
  color:#102a59!important;
  font-size:clamp(2rem,3.6vw,3.1rem)!important;
  line-height:1.08!important;
}

.aqua-commerce-page .wc-block-components-notice-banner,
.aqua-commerce-page .woocommerce-info,
.aqua-commerce-page .woocommerce-message {
  margin:0 0 18px!important;
  border:1px solid #cfe3fb!important;
  border-radius:10px!important;
  background:#f5faff!important;
  box-shadow:none!important;
}

.aqua-commerce-page .wc-block-components-sidebar,
.aqua-commerce-page .wc-block-cart__main,
.aqua-commerce-page .wc-block-checkout__main,
.aqua-commerce-page .wc-block-checkout__sidebar,
.aqua-commerce-page .woocommerce-checkout-review-order,
.aqua-commerce-page .cart-collaterals .cart_totals {
  border:1px solid var(--aqua-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 6px 20px rgba(8,44,93,.055)!important;
}

.aqua-commerce-page .wc-block-cart__main,
.aqua-commerce-page .wc-block-checkout__main { padding:22px!important; }
.aqua-commerce-page .wc-block-components-sidebar,
.aqua-commerce-page .wc-block-checkout__sidebar,
.aqua-commerce-page .woocommerce-checkout-review-order,
.aqua-commerce-page .cart-collaterals .cart_totals { padding:20px!important; }

.aqua-commerce-page .wc-block-components-text-input input,
.aqua-commerce-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.aqua-commerce-page .wc-block-components-textarea textarea,
.aqua-commerce-page .woocommerce form .form-row input.input-text,
.aqua-commerce-page .woocommerce form .form-row textarea,
.aqua-commerce-page .woocommerce form .form-row select {
  min-height:48px!important;
  border-color:#cbd8e7!important;
  border-radius:8px!important;
  box-shadow:none!important;
}

.aqua-commerce-page .wc-block-components-button,
.aqua-commerce-page .wc-block-components-checkout-place-order-button,
.aqua-commerce-page .checkout-button,
.aqua-commerce-page .button {
  min-height:46px!important;
  border-radius:8px!important;
  box-shadow:0 6px 14px rgba(7,88,201,.16)!important;
  font-weight:800!important;
}

.aqua-commerce-page .wc-block-grid__products {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}

.aqua-commerce-page .wc-block-grid__product {
  margin:0!important;
  padding:12px!important;
  border:1px solid var(--aqua-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(8,44,93,.045)!important;
}

/* Customer account: WooCommerce's default 25% float must not participate in
 * the account application grid.  At the supplied 1448px reference it caused
 * the navigation to collapse to an icon column and displaced the brand into
 * an implicit row. */
@media (min-width:981px) {
  body.woocommerce-account .woocommerce {
    grid-template-columns:312px minmax(0,1fr)!important;
    grid-template-rows:136px minmax(0,1fr)!important;
  }
  body.woocommerce-account .aqua-account-brand {
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    padding:36px 34px 28px!important;
  }
  body.woocommerce-account .aqua-account-brand img {
    width:176px!important;
    height:auto!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column:1!important;
    grid-row:2!important;
    width:auto!important;
    float:none!important;
    padding:24px 22px 32px!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content {
    grid-column:2!important;
    grid-row:1 / span 2!important;
    width:auto!important;
    padding:104px 56px 72px!important;
  }
  body.woocommerce-account .aqua-account-welcome {
    min-height:260px!important;
    padding:42px 38px!important;
  }
  body.woocommerce-account .aqua-account-actions {
    gap:48px!important;
  }
  body.woocommerce-account .aqua-account-card {
    min-height:346px!important;
  }
  body.woocommerce-account .aqua-account-help {
    min-height:102px!important;
  }

  body.woocommerce-account.aqua-account--edit-address .woocommerce-MyAccount-content > p {
    display:none!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:46px!important;
    margin:24px 0 0!important;
  }
  /* WooCommerce ships clearfix pseudo-elements on this legacy container.
     They become anonymous grid items unless removed, forcing the cards into
     a diagonal two-row layout. */
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {
    display:none!important;
    content:none!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
    display:flex!important;
    width:auto!important;
    min-height:650px!important;
    float:none!important;
    flex-direction:column!important;
    align-items:center!important;
    padding:50px 40px!important;
    text-align:center!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address h3 {
    order:0!important;
    margin:0!important;
    font-size:1.55rem!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address::before {
    display:grid!important;
    order:1!important;
    width:168px!important;
    height:168px!important;
    place-items:center!important;
    margin:44px 0 28px!important;
    color:#08a9bf!important;
    border:2px dashed #16c7d5!important;
    border-radius:50%!important;
    font-family:"Font Awesome 6 Free"!important;
    font-size:4.15rem!important;
    font-weight:900!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1::before { content:'\f56d'; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2::before { content:'\f0d1'; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit {
    order:2!important;
    margin:0!important;
    color:#0758cf!important;
    font-size:1.18rem!important;
    font-weight:800!important;
    text-decoration:none!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit::before {
    margin-right:.55rem!important;
    content:'\f055'!important;
    font-family:"Font Awesome 6 Free"!important;
    font-weight:900!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
    order:3!important;
    width:100%!important;
    margin:46px 0 0!important;
    padding-top:46px!important;
    color:#6b7890!important;
    border-top:1px solid #d6e0ec!important;
    font-size:1.02rem!important;
    font-style:normal!important;
    line-height:1.55!important;
  }

  body.woocommerce-account.aqua-account--orders .woocommerce-MyAccount-content .aqua-account-empty-orders {
    display:flex!important;
    min-height:756px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:34px!important;
    margin:24px 0 0!important;
    padding:48px!important;
    border:1px solid #e0e8f2!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(8,44,93,.06)!important;
    text-align:center!important;
  }
  body.woocommerce-account.aqua-account--orders .aqua-account-empty-orders__icon {
    display:grid!important;
    width:180px!important;
    height:180px!important;
    place-items:center!important;
    color:#0758cf!important;
    border-radius:50%!important;
    background:#edf4ff!important;
    font-family:"Font Awesome 6 Free"!important;
    font-size:4.8rem!important;
    font-weight:900!important;
  }
  body.woocommerce-account.aqua-account--orders .aqua-account-empty-orders__icon::before { content:'\f290'!important; }
  body.woocommerce-account.aqua-account--orders .aqua-account-empty-orders h2 {
    margin:0!important;
    color:#102a59!important;
    font-size:1.55rem!important;
    font-weight:800!important;
  }
  body.woocommerce-account.aqua-account--orders .aqua-account-empty-orders .button {
    display:inline-grid!important;
    min-width:330px!important;
    min-height:80px!important;
    place-items:center!important;
    margin:0!important;
    padding:16px 28px!important;
    border-radius:14px!important;
    background:#0758cf!important;
    box-shadow:0 10px 18px rgba(7,88,207,.18)!important;
    color:#fff!important;
    font-size:1.3rem!important;
    font-weight:800!important;
    text-decoration:none!important;
  }

  body.woocommerce-account.aqua-account--edit-account .woocommerce-EditAccountForm {
    display:block!important;
    max-width:none!important;
    margin:24px 0 0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panels {
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:38px!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel {
    min-height:610px!important;
    padding:38px 30px!important;
    border:1px solid #e0e8f2!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(8,44,93,.055)!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel__names {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel p {
    margin:0 0 22px!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel label {
    display:block!important;
    margin-bottom:9px!important;
    color:#102a59!important;
    font-size:1rem!important;
    font-weight:700!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel input {
    width:100%!important;
    min-height:60px!important;
    padding:12px 16px!important;
    border:1px solid #b9c8dc!important;
    border-radius:8px!important;
    background:#fff!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel #account_display_name_description {
    display:block!important;
    margin-top:7px!important;
    color:#526887!important;
    font-size:.83rem!important;
    line-height:1.45!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel--password h2 {
    margin:0 0 27px!important;
    color:#102a59!important;
    font-size:1.55rem!important;
    font-weight:800!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel__submit {
    margin-top:38px!important;
  }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel__submit .button {
    min-height:60px!important;
    padding:12px 26px!important;
    border-radius:8px!important;
    background:#0758cf!important;
    font-size:1.05rem!important;
    font-weight:800!important;
  }
}

.aqua-commerce-page .wc-block-grid__product-image img {
  width:100%!important;
  height:138px!important;
  object-fit:contain!important;
}

.aqua-commerce-page .wc-block-grid__product-title,
.aqua-commerce-page .wc-block-grid__product-title a {
  color:#102a59!important;
  font-size:.82rem!important;
  font-weight:700!important;
  text-decoration:none!important;
}

.aqua-commerce-page :where(a,button,input,select,textarea):focus-visible {
  outline:3px solid var(--aqua-cyan)!important;
  outline-offset:3px!important;
}

@media (max-width:780px) {
  .aqua-commerce-page { width:calc(100% - 32px)!important; padding:20px 0 32px!important; }
  .aqua-commerce-page .wc-block-cart__main,
  .aqua-commerce-page .wc-block-checkout__main { padding:16px!important; }
  .aqua-commerce-page .wc-block-grid__products { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
  .aqua-commerce-page .wc-block-grid__product-image img { height:120px!important; }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panels { grid-template-columns:1fr!important; }
  body.woocommerce-account.aqua-account--edit-account .aqua-account-details-panel { min-height:0!important; padding:24px 18px!important; }
  body.woocommerce-account.aqua-account--orders .woocommerce-MyAccount-content .aqua-account-empty-orders { min-height:480px!important; padding:30px 20px!important; }
  body.woocommerce-account.aqua-account--orders .aqua-account-empty-orders .button { min-width:min(100%,280px)!important; min-height:58px!important; }
}
