/* Product top (TODO 00001.5.15). FINAL design/product/inspiration/sections/top/r3/v1.png.
   Breadcrumb; gallery with a 72px left thumbnail column (section 8 product gallery; the composite puts the thumbnails
   left), buy box on white with the Readout L above the price, and the docked AI shopping assistant column
   (section 8 AI panel; the cited rows, section 7). 992+: gallery, buy box, assistant side by side from 1200
   (assistant under them 992-1199); under 992 everything stacks; under 600 the sticky add to cart bar. */
.p-product-top {
  box-sizing: border-box; background: var(--wp--preset--color--white);
  padding: var(--wp--preset--spacing--50) var(--wp--custom--gutter--desktop) 0;
}
.p-product-top *, .p-product-top *::before, .p-product-top *::after { box-sizing: border-box; }
.p-product-top__inner { max-width: var(--wp--custom--layout--wide); margin-inline: auto; }
.p-product-top .p-product-top__inner > * { margin-block: 0; }
.p-product-top a:focus-visible, .p-product-top button:focus-visible, .p-product-top input:focus-visible {
  outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--orange); outline-offset: var(--wp--custom--focus--offset);
}

/* Breadcrumb (section 8): 14px slate links, chevron separators, current page ink. */
.p-product-top__crumbs, .p-product-top .woocommerce-breadcrumb {
  margin: 0; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); line-height: 1.5;
}
.p-product-top .woocommerce-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--wp--preset--spacing--20); }
.p-product-top .woocommerce-breadcrumb a { display: inline-flex; align-items: center; min-height: var(--wp--custom--touch); color: var(--wp--preset--color--slate); text-decoration: none; }
.p-product-top .norvane-crumb-sep { display: inline-flex; color: var(--wp--preset--color--slate); }
@media (hover: hover) and (pointer: fine) { .p-product-top .woocommerce-breadcrumb a:hover { color: var(--wp--preset--color--navy); text-decoration: underline; } }
.p-product-top__notices:not(:empty) { margin-top: var(--wp--preset--spacing--50) !important; }

.p-product-top__grid {
  display: grid; grid-template-columns: minmax(0, 5.9fr) minmax(0, 3.4fr) minmax(0, 3.9fr);
  column-gap: var(--wp--preset--spacing--70); align-items: start; margin-top: var(--wp--preset--spacing--50) !important;
}
.p-product-top .p-product-top__grid > * { margin-block: 0; }

/* Gallery (WooCommerce product image gallery: flexslider + photoswipe lightbox on click, Esc closes). */
.p-product-top__gallery .wp-block-woocommerce-product-image-gallery { max-width: none; width: 100%; }
.p-product-top__gallery .woocommerce-product-gallery {
  position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: var(--wp--preset--spacing--50);
  width: 100%; float: none; margin: 0; opacity: 1 !important;
}
.p-product-top__gallery .flex-viewport, .p-product-top__gallery .woocommerce-product-gallery__wrapper { grid-column: 2; grid-row: 1; }
/* One photo, no thumbnails: the photo takes the whole gallery column. */
.p-product-top__gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__wrapper { grid-column: 1 / -1; }
.p-product-top__gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.p-product-top__gallery .woocommerce-product-gallery__image {
  background: var(--wp--preset--color--mist); border-radius: var(--wp--custom--radius--default); overflow: hidden;
}
.p-product-top__gallery .woocommerce-product-gallery__image a { display: block; }
.p-product-top__gallery .woocommerce-product-gallery__image img {
  display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; margin: 0;
}
.p-product-top__gallery .flex-viewport { border-radius: var(--wp--custom--radius--default); }
.p-product-top__gallery .flex-control-thumbs {
  grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--40);
  margin: 0; padding: 0; list-style: none;
}
.p-product-top__gallery .flex-control-thumbs li { width: 72px !important; margin: 0; float: none !important; }
.p-product-top__gallery .flex-control-thumbs img {
  display: block; width: 72px; height: 72px; object-fit: cover; cursor: pointer; opacity: 1 !important;
  background: var(--wp--preset--color--mist); border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--wp--custom--radius--default);
}
.p-product-top__gallery .flex-control-thumbs img.flex-active { border: 2px solid var(--wp--preset--color--navy); }
@media (hover: hover) and (pointer: fine) {
  .p-product-top__gallery .flex-control-thumbs img:not(.flex-active):hover { border-color: var(--wp--preset--color--slate); }
}
/* The lightbox opens from the photo itself; the separate magnifier link is not drawn (the composite has none). */
.p-product-top__gallery .woocommerce-product-gallery__trigger { display: none; }

/* Buy box. */
.p-product-top__buy { padding-top: var(--wp--preset--spacing--30); }
.p-product-top .p-product-top__title {
  margin: 0; color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--h-1);
  font-weight: var(--wp--custom--font-weight--h-1); letter-spacing: var(--wp--custom--letter-spacing--h-1); line-height: 1.1;
}
.p-product-top .p-product-top__sub { margin: var(--wp--preset--spacing--30) 0 0; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--body-l); line-height: 1.4; }
.p-product-top .p-product-top__readout {
  margin: var(--wp--preset--spacing--60) 0 0; color: var(--wp--preset--color--navy);
  font-size: var(--wp--preset--font-size--readout-l); font-weight: var(--wp--custom--font-weight--readout-l);
  letter-spacing: var(--wp--custom--letter-spacing--readout-l); line-height: 1; font-variant-numeric: tabular-nums;
}
.p-product-top .p-product-top__price { margin: var(--wp--preset--spacing--60) 0 0; }
.p-product-top .p-product-top__price, .p-product-top .p-product-top__price .amount {
  color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--h-2); font-weight: var(--wp--custom--font-weight--price); line-height: 1.2;
}
.p-product-top__form { margin-top: var(--wp--preset--spacing--60) !important; }
.p-product-top__form form.cart { display: flex; gap: var(--wp--preset--spacing--40); width: 100%; margin: 0; }
.p-product-top__form form.cart::before, .p-product-top__form form.cart::after { display: none !important; content: none !important; }
.p-product-top__form .quantity { position: relative; flex: none; margin: 0 !important; }
.p-product-top__form .quantity input.qty, .wc-block-add-to-cart-form.p-product-top__form .quantity .qty {
  width: 76px; height: var(--wp--custom--control); padding: 0 var(--wp--preset--spacing--30); margin: 0;
  background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink);
  border: 1px solid var(--wp--preset--color--slate); border-radius: var(--wp--custom--radius--default);
  font: 500 var(--wp--preset--font-size--body) var(--wp--preset--font-family--montserrat); text-align: center; margin-right: 0;
}
.p-product-top__form .screen-reader-text {
  position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important;
  overflow: visible !important; white-space: nowrap; clip: auto !important; clip-path: inset(50%) !important; border: 0 !important;
}
.p-product-top__form .single_add_to_cart_button {
  flex: 1 1 auto; min-height: var(--wp--custom--control); margin: 0; padding: 0 var(--wp--preset--spacing--60);
  background: var(--wp--preset--color--orange) !important; color: var(--wp--preset--color--navy) !important; border: 0;
  border-radius: var(--wp--custom--radius--default); font: var(--wp--custom--font-weight--button) var(--wp--preset--font-size--button)/1 var(--wp--preset--font-family--montserrat);
  letter-spacing: var(--wp--custom--letter-spacing--button); cursor: pointer; transition: transform 0.15s cubic-bezier(.22, .61, .36, 1);
}
.p-product-top__form .single_add_to_cart_button:active { transform: translateY(1px); }
@media (hover: hover) and (pointer: fine) {
  .p-product-top__form .single_add_to_cart_button:hover { box-shadow: inset 0 0 0 2px var(--wp--preset--color--navy); }
}
.p-product-top__more { margin-top: var(--wp--preset--spacing--40); }
.p-product-top__ask {
  display: flex; align-items: center; justify-content: center; gap: var(--wp--preset--spacing--30); width: 100%;
  min-height: var(--wp--custom--control); padding: 0 var(--wp--preset--spacing--60);
  background: var(--wp--preset--color--white); color: var(--wp--preset--color--ai); border: 1px solid var(--wp--preset--color--ai);
  border-radius: var(--wp--custom--radius--default); font: var(--wp--custom--font-weight--button) var(--wp--preset--font-size--button)/1 var(--wp--preset--font-family--montserrat);
  letter-spacing: var(--wp--custom--letter-spacing--button); cursor: pointer;
}
@media (hover: hover) and (pointer: fine) { .p-product-top__ask:hover { background: var(--wp--preset--color--ai-surface); } }
.p-product-top .p-product-top__ask:focus-visible { outline-color: var(--wp--preset--color--navy); }
.p-product-top__stock {
  display: flex; align-items: center; gap: var(--wp--preset--spacing--30); margin: var(--wp--preset--spacing--50) 0 0;
  color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); font-weight: 500; line-height: 1.5;
}
.p-product-top__stock .p-icon { color: var(--wp--preset--color--navy); }
.p-product-top__stock.is-outofstock { color: var(--wp--preset--color--slate); }

/* Docked AI shopping assistant (AI panel, section 8): ai-surface, 1px ai edge, 24px padding; small text ink or ai (B5). */
.p-product-top__ai {
  padding: var(--wp--preset--spacing--60); background: var(--wp--preset--color--ai-surface);
  border: 1px solid var(--wp--preset--color--ai); border-radius: var(--wp--custom--radius--default); color: var(--wp--preset--color--ink);
}
.p-product-top__ai:focus { outline: none; }
.p-product-top__ai:focus-visible { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--navy); outline-offset: var(--wp--custom--focus--offset); }
.p-product-top__ai p { margin: 0; }
.p-product-top .p-product-top__ai-label {
  display: flex; align-items: center; gap: var(--wp--preset--spacing--30); padding-bottom: var(--wp--preset--spacing--40);
  border-bottom: 1px solid var(--wp--preset--color--ai); color: var(--wp--preset--color--ai);
  font-size: var(--wp--preset--font-size--label); font-weight: var(--wp--custom--font-weight--label);
  letter-spacing: var(--wp--custom--letter-spacing--label); line-height: 1.3; text-transform: uppercase;
}
.p-product-top .p-product-top__ai-kicker, .p-product-top .p-product-top__ai-cap {
  margin-top: var(--wp--preset--spacing--60); color: var(--wp--preset--color--ai); font-size: var(--wp--preset--font-size--label);
  font-weight: var(--wp--custom--font-weight--label); letter-spacing: var(--wp--custom--letter-spacing--label); line-height: 1.3; text-transform: uppercase;
}
.p-product-top .p-product-top__ai-q {
  margin-top: var(--wp--preset--spacing--30); color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--h-4);
  font-weight: var(--wp--custom--font-weight--h-4); line-height: 1.35;
}
.p-product-top .p-product-top__ai-yes {
  display: flex; align-items: center; gap: var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--50);
  color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--h-3); font-weight: 700; line-height: 1.2;
}
.p-product-top__ai-yes .p-icon { color: var(--wp--preset--color--ai); }
.p-product-top__ai-rows { margin: var(--wp--preset--spacing--40) 0 0; }
.p-product-top__ai-rows > div {
  display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; column-gap: var(--wp--preset--spacing--40);
  min-height: 40px; border-top: 1px solid var(--wp--preset--color--line);
}
.p-product-top__ai-rows > div:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
.p-product-top__ai-rows dt {
  color: var(--wp--preset--color--ai); font-size: var(--wp--preset--font-size--label); font-weight: var(--wp--custom--font-weight--label);
  letter-spacing: var(--wp--custom--letter-spacing--label); text-transform: uppercase;
}
.p-product-top__ai-rows dd {
  display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--30); margin: 0;
  color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); line-height: 1.5;
}
.p-product-top__tick { display: inline-flex; flex: none; color: var(--wp--preset--color--ai); }
.p-product-top__ai-source { margin-top: 0; }
.p-product-top .p-product-top__ai-doc {
  display: flex; align-items: center; gap: var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--small); line-height: 1.5;
}
.p-product-top__ai-doc .p-icon { color: var(--wp--preset--color--ai); }
.p-product-top__ai a { color: var(--wp--preset--color--ai); }
.p-product-top__ai-doc a { min-height: var(--wp--custom--touch); display: inline-flex; align-items: center; text-underline-offset: 3px; }
.p-product-top .p-product-top__ai-note { margin-top: var(--wp--preset--spacing--20); color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.p-product-top .p-product-top__ai a:focus-visible { outline-color: var(--wp--preset--color--navy); }
.p-product-top__ai-more { margin: var(--wp--preset--spacing--20) 0 0; padding: 0; list-style: none; }
.p-product-top__ai-more li { border-top: 1px solid var(--wp--preset--color--line); }
.p-product-top__ai-more a {
  display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--40); min-height: var(--wp--custom--touch);
  color: var(--wp--preset--color--ai); font-size: var(--wp--preset--font-size--small); line-height: 1.4; text-decoration: none;
}
@media (hover: hover) and (pointer: fine) { .p-product-top__ai-more a:hover { text-decoration: underline; } }

/* Sticky add to cart bar: phone only, shown by product.js once the buy box has scrolled away. */
.p-product-top__sticky { display: none; }
@media (max-width: 599px) {
  .p-product-top__sticky:not([hidden]) {
    position: fixed; z-index: 40; inset: auto 0 0 0; display: flex; align-items: center; justify-content: space-between;
    gap: var(--wp--preset--spacing--50); padding: var(--wp--preset--spacing--40) var(--wp--custom--gutter--phone);
    background: var(--wp--preset--color--white); border-top: 1px solid var(--wp--preset--color--line); box-shadow: var(--wp--custom--shadow);
  }
  .p-product-top__sticky p { margin: 0; }
  .p-product-top__sticky-text { min-width: 0; }
  .p-product-top__sticky-name { color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); line-height: 1.4; }
  .p-product-top__sticky-price, .p-product-top__sticky-price .amount { color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--price); font-weight: 700; line-height: 1.2; }
  .p-product-top__sticky-add {
    display: inline-flex; align-items: center; flex: none; min-height: var(--wp--custom--control); padding: 0 var(--wp--preset--spacing--60);
    background: var(--wp--preset--color--orange); color: var(--wp--preset--color--navy); border-radius: var(--wp--custom--radius--default);
    font-size: var(--wp--preset--font-size--button); font-weight: var(--wp--custom--font-weight--button); text-decoration: none;
  }
}

@media (max-width: 1199px) {
  .p-product-top__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); row-gap: var(--wp--preset--spacing--70); }
  .p-product-top__ai { grid-column: 1 / -1; }
}
@media (max-width: 991px) {
  .p-product-top { padding-inline: var(--wp--custom--gutter--tablet); }
  .p-product-top__grid { grid-template-columns: minmax(0, 1fr); }
  .p-product-top__gallery .wp-block-woocommerce-product-image-gallery { max-width: none; width: 100%; }
.p-product-top__gallery .woocommerce-product-gallery { grid-template-columns: minmax(0, 1fr); row-gap: var(--wp--preset--spacing--40); }
  .p-product-top__gallery .flex-viewport, .p-product-top__gallery .woocommerce-product-gallery__wrapper { grid-column: 1; grid-row: 1; }
  .p-product-top__gallery .flex-control-thumbs { grid-column: 1; grid-row: 2; flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 599px) {
  .p-product-top { padding-inline: var(--wp--custom--gutter--phone); }
  .p-product-top__gallery .flex-control-thumbs li, .p-product-top__gallery .flex-control-thumbs img { width: 56px !important; height: 56px; }
  .p-product-top__ai { padding: var(--wp--preset--spacing--50); }
  .p-product-top__grid { row-gap: var(--wp--preset--spacing--50); }
  .p-product-top__buy { padding-top: 0; }
}
