.product-page-header { border-bottom: 1px solid var(--line); }
.product-header-region { padding: 7px 0; background: var(--paper); color: #565d50; font-size: 12px; }
.product-page-header .main-header { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 16px 24px; }
.product-page-header .search-box { width: 100%; }
.product-page-header .search-box svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.product-header-catalog { min-height: 44px; padding-inline: 22px; }

.product-page { padding-top: 24px; padding-bottom: 64px; }
.product-breadcrumbs { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 10px; margin-bottom: 22px; font-size: 13px; color: #545a51; }
.product-breadcrumbs a:hover { text-decoration: underline; }
.product-breadcrumbs a::after { content: "›" / ""; margin-left: 10px; color: #777e72; }
.product-breadcrumbs [aria-current] { color: var(--ink); overflow-wrap: anywhere; }
.product-heading { margin-bottom: 24px; }
.product-heading h1 { margin: 0; font-size: clamp(25px, 3.5vw, 40px); line-height: 1.18; font-weight: 800; letter-spacing: -.025em; overflow-wrap: anywhere; }
.product-heading p { color: #545a51; margin: 8px 0 0; font-size: 13px; overflow-wrap: anywhere; }

.product-overview { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(240px, 1fr); grid-template-areas: "gallery specs offer"; align-items: start; gap: clamp(18px, 2.5vw, 36px); }
.product-gallery { grid-area: gallery; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.product-gallery-stage { display: grid; place-items: center; position: relative; aspect-ratio: 1.32; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #f7f8f4; cursor: zoom-in; }
.product-gallery-stage img, .product-gallery-thumbs img { width: 100%; height: 100%; min-height: 0; object-fit: contain; mix-blend-mode: multiply; }
.product-gallery-stage img { width: 94%; height: 94%; }
.product-gallery-stage img[src*="/assets/products/ecoflow-delta-2-"],
.product-gallery-stage img[src*="/assets/products/deye-sun-5k-"] { transform: scale(1.23); }
.product-gallery-enlarge { position: absolute; display: grid; place-items: center; bottom: 12px; right: 12px; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 6px; background: white; }
.product-gallery-enlarge svg, .product-delivery-link svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.product-gallery-thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 3px; margin: -3px; }
.product-gallery-thumbs a { display: grid; place-items: center; flex: 0 0 65px; height: 60px; padding: 5px; border: 1px solid var(--line); border-radius: 6px; }
.product-gallery-thumbs a[aria-current], .product-gallery-thumbs a:hover { border-color: #a78c29; background: #fff8db; }
.product-gallery-dialog { padding: 12px; width: min(900px, 94vw); overflow: hidden; }
.product-gallery-dialog img { width: 100%; max-height: min(78vh, 820px); object-fit: contain; }
.product-gallery-dialog button { position: absolute; z-index: 1; top: 12px; right: 12px; background: white; border-color: var(--line); width: 42px; height: 42px; font-size: 23px; }

.product-highlights { grid-area: specs; min-width: 0; padding-top: 12px; }
.product-highlights h2, .product-side-section h2 { font-size: 17px; line-height: 1.3; letter-spacing: -.02em; }
.product-lead { margin-bottom: 15px; color: #545a51; }
.product-lead p { margin: 0 0 8px; }
.product-highlights dl { margin: 8px 0 14px; }
.product-highlights dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 10px; border-bottom: 1px solid var(--line); padding: 10px 0; font-size: 13px; }
.product-highlights dt { color: #545a51; overflow-wrap: anywhere; }
.product-highlights dd { margin: 0; font-weight: 750; text-align: right; }
.product-more-link { display: inline-flex; min-height: 32px; align-items: center; gap: 8px; padding: 0; font-size: 13px; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }

.product-offer { grid-area: offer; border: 1px solid var(--line); border-radius: 8px; padding: clamp(15px, 2vw, 24px); box-shadow: 0 6px 22px #24292208; }
.product-stock { display: flex; align-items: center; gap: 7px; margin: 0 0 12px; color: #65521b; font-weight: 750; font-size: 13px; }
.product-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #a3842b; }
.product-stock[data-stock="available"] { color: #395c37; }
.product-stock[data-stock="available"]::before { background: #557d45; }
.product-offer-price { font-size: clamp(24px, 2.7vw, 37px); font-weight: 800; letter-spacing: -.04em; line-height: 1.1; overflow-wrap: anywhere; }
.product-offer-price del { color: #60665c; display: block; font-size: .55em; }
.product-offer-price ins { text-decoration: none; }
.product-offer .btn { width: 100%; margin-top: 20px; min-height: 48px; font-size: 14px; }
.product-offer-note { color: #545a51; margin: 10px 0 0; font-size: 13px; }
.product-delivery-link { display: flex; align-items: center; gap: 10px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--line); font-weight: 700; font-size: 13px; }
.product-delivery-link span { margin-left: auto; font-size: 20px; line-height: 1; }
.product-delivery-link:hover { text-decoration: underline; }

.product-section-nav { display: flex; gap: 8px 26px; overflow-x: auto; margin: 33px 0 23px; border-bottom: 1px solid var(--line); }
.product-section-nav a { font-weight: 750; font-size: 14px; padding: 12px 0 11px; white-space: nowrap; border-bottom: 3px solid transparent; }
.product-section-nav a:hover, .product-section-nav a:focus-visible { border-bottom-color: var(--yellow); }
.product-sections { display: grid; grid-template-columns: minmax(0, 2fr) minmax(245px, 1fr); align-items: start; gap: clamp(22px, 4vw, 60px); }
.product-content + .product-content { margin-top: 26px; }
.product-content h2, .product-related h2 { margin-bottom: 13px; font-size: clamp(21px, 2.3vw, 28px); letter-spacing: -.025em; }
.product-description { max-width: 70ch; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.product-description p { margin: 0 0 12px; }
.product-description a { text-decoration: underline; }
.product-content table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.product-content th, .product-content td { text-align: left; padding: 10px 13px; vertical-align: top; overflow-wrap: anywhere; }
.product-content th { width: 52%; font-weight: 600; color: #454b41; }
.product-content tr:nth-child(odd) { background: var(--paper); }
.product-side-section { background: var(--paper); border-radius: 8px; padding: 18px 20px; }
.product-side-section + .product-side-section { margin-top: 15px; }
.product-side-section p { color: #454b41; font-size: 14px; margin: 8px 0; }
.product-documents { padding: 0; margin: 8px 0 0; list-style: none; }
.product-documents a { display: flex; justify-content: space-between; gap: 9px; padding: 9px 0; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.product-documents li + li { border-top: 1px solid var(--line); }

.product-related { margin-top: 38px; }
.product-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.product-related-card { border: 1px solid var(--line); border-radius: 8px; padding: 14px; display: grid; gap: 4px; align-content: start; overflow-wrap: anywhere; }
.product-related-card:hover { border-color: #a78c29; }
.product-related-card img { width: 100%; height: 115px; margin-bottom: 8px; object-fit: contain; }
.product-related-card span { color: #545a51; font-size: 12px; }
.product-related-card .product-related-price, .product-related-price span { color: var(--ink); font-weight: 800; font-size: 14px; }
.product-page-footer .container { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 30px; padding-top: 23px; padding-bottom: 23px; }
.product-page-footer nav { display: flex; gap: 10px 20px; flex-wrap: wrap; }
.product-page-footer nav a:hover { text-decoration: underline; }
.tok-checkout-page { min-height: 65vh; padding-block: 26px 54px; }
.tok-checkout-page .wc-block-components-button { min-height: 44px; }

@media (max-width: 950px) {
  .product-overview { grid-template-columns: minmax(0, 1.3fr) minmax(225px, 1fr); grid-template-areas: "gallery offer" "gallery specs"; }
  .product-highlights { padding-top: 0; }
}
@media (max-width: 620px) {
  .product-page { padding-top: 16px; padding-bottom: 36px; }
  .product-page-header .main-header { grid-template-columns: 1fr auto auto; gap: 10px; }
  .product-page-header .search-box { grid-column: 1 / -1; grid-row: 2; }
  .product-breadcrumbs { margin-bottom: 14px; font-size: 12px; }
  .product-heading { margin-bottom: 16px; }
  .product-overview { grid-template-columns: minmax(0, 1fr); grid-template-areas: "gallery" "offer" "specs"; }
  .product-section-nav { margin-top: 22px; gap: 7px 18px; }
  .product-section-nav a { font-size: 13px; }
  .product-sections { grid-template-columns: minmax(0, 1fr); }
  .product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-related-card img { height: 90px; }
}
