/* GAJCOM Product Highlights 0.1.2 - visual canary 449.
   Extension owned. No Matrix or purchase controls are modified. */
.gajcom-public-highlights {
  margin: 8px 0 12px;
  max-width: 100%;
  min-width: 0;
  color: #142747;
  container-type: inline-size;
}

.gajcom-public-highlights .gajcom-public-highlights__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
  align-items: stretch;
}

.gajcom-public-highlights .gajcom-public-highlights__grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.gajcom-public-highlights .gajcom-public-highlights__card {
  --ph-ink: #1b7957;
  --ph-tint: #eaf8ef;
  --ph-line: #d5edde;
  position: relative;
  display: block;
  min-width: 0;
  min-height: 160px;
  margin: 0;
  padding: 59px 12px 43px;
  border: 1px solid var(--ph-line);
  border-radius: 14px;
  background: linear-gradient(145deg, var(--ph-tint), #fff 180%);
  box-shadow: 0 2px 10px rgba(20, 44, 81, .035);
  color: #132744;
  overflow-wrap: anywhere;
}

.gajcom-public-highlights .gajcom-public-highlights__card[data-highlight-attribute="40"] {
  --ph-ink: #158765;
  --ph-tint: #ecf9f3;
  --ph-line: #d4eee0;
}
.gajcom-public-highlights .gajcom-public-highlights__card[data-highlight-attribute="37"] {
  --ph-ink: #147f99;
  --ph-tint: #eaf5fc;
  --ph-line: #d6e8f6;
}
.gajcom-public-highlights .gajcom-public-highlights__card[data-highlight-attribute="35"] {
  --ph-ink: #7450c7;
  --ph-tint: #f4f0ff;
  --ph-line: #e7defa;
}
.gajcom-public-highlights .gajcom-public-highlights__card[data-highlight-attribute="36"] {
  --ph-ink: #c0772d;
  --ph-tint: #fff7e8;
  --ph-line: #f4e5ca;
}
.gajcom-public-highlights .gajcom-public-highlights__card[data-highlight-attribute="39"],
.gajcom-public-highlights .gajcom-public-highlights__card[data-highlight-attribute="38"] {
  --ph-ink: #356ec2;
  --ph-tint: #edf4ff;
  --ph-line: #dbe8fc;
}

.gajcom-public-highlights .gajcom-public-highlights__label {
  display: block;
  margin: 0;
  color: #697b91;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 500;
}
.gajcom-public-highlights .gajcom-public-highlights__label svg {
  position: absolute;
  top: 15px;
  left: 13px;
  display: block;
  width: 32px;
  height: 32px;
  color: var(--ph-ink);
  stroke-width: 1.7;
}
.gajcom-public-highlights .gajcom-public-highlights__label > span {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 13px;
  display: block;
  color: #60748e;
  font-size: 11.5px;
  line-height: 1.2;
}
.gajcom-public-highlights .gajcom-public-highlights__value {
  display: block;
  min-width: 0;
  margin: 0;
  font-size: 14px;
  font-weight: 730;
  line-height: 1.24;
  color: #142747;
  overflow-wrap: anywhere;
}
.gajcom-public-highlights .gajcom-public-highlights__expand { margin: 0; }
.gajcom-public-highlights .gajcom-public-highlights__expand summary {
  list-style: none;
  cursor: pointer;
}
.gajcom-public-highlights .gajcom-public-highlights__expand summary::-webkit-details-marker { display: none; }
.gajcom-public-highlights .gajcom-public-highlights__expand summary:focus-visible {
  outline: 2px solid #2874e1;
  outline-offset: 3px;
  border-radius: 3px;
}
.gajcom-public-highlights .gajcom-public-highlights__preview {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.gajcom-public-highlights .gajcom-public-highlights__more {
  display: inline-block;
  margin-top: 6px;
  color: var(--ph-ink);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.gajcom-public-highlights .gajcom-public-highlights__expand[open] .gajcom-public-highlights__preview {
  display: none;
}
.gajcom-public-highlights .gajcom-public-highlights__full {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.45;
}

/* Four cards only when the actual product-detail column is wide enough.
   Narrow desktop, tablet and mobile use two columns, never horizontal scroll. */
@container (min-width: 485px) {
  .gajcom-public-highlights .gajcom-public-highlights__grid:not(.gajcom-public-highlights__grid--single) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@container (max-width: 380px) {
  .gajcom-public-highlights .gajcom-public-highlights__card {
    padding: 51px 10px 37px;
    min-height: 142px;
    border-radius: 12px;
  }
  .gajcom-public-highlights .gajcom-public-highlights__label svg {
    top: 12px;
    left: 10px;
    width: 27px;
    height: 27px;
  }
  .gajcom-public-highlights .gajcom-public-highlights__label > span {
    left: 10px;
    right: 10px;
    bottom: 10px;
  }
  .gajcom-public-highlights .gajcom-public-highlights__value { font-size: 13px; }
}

/* Product-page polish is explicitly confined to the confirmed LIVE canary.
   All rules below are outside the Matrix controls and ignore other products. */
@supports selector(body:has(.gajcom-public-highlights)) {
  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main :is(.product-right, .gmp-extended-buy)
  :is(.short-description, .product-short-description, .product-description) {
    margin-top: 6px;
    margin-bottom: 8px;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main :is(.product-right, .gmp-extended-buy)
  :is(.price-group, .product-price) {
    margin-top: 8px;
    margin-bottom: 7px;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main :is(.product-right, .gmp-extended-buy) h1 {
    color: #112847;
    letter-spacing: -.025em;
    line-height: 1.17;
  }

  /* Only an actual main product photo, never gallery thumbs, option images
     or the Matrix. Preserve full image via contain rather than cover. */
  @media (min-width: 1024px) {
    body:has(.gajcom-public-highlights[data-product-id="449"])
    .gmp-extended-main :is(.product-left, .product-media)
    :is(.main-image, .product-image-main, .product-main-image, .product-image .swiper-slide-active) img {
      display: block;
      width: auto;
      height: min(365px, 31vw);
      max-width: 100%;
      object-fit: contain;
    }
  }
}

/* GAJCOM Product Highlights 0.1.3 - compact canary 449 (2026-10-22).
   Scoped to the existing extension card and the approved product detail area.
   Never touches Matrix internals, variants, options or purchase controls. */
.gajcom-public-highlights[data-product-id="449"] {
  margin: 4px 0 7px;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__grid {
  gap: 8px;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 112px;
  padding: 11px 11px 12px;
  border-radius: 13px;
  overflow-wrap: normal;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__label {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  min-width: 0;
  margin: 0;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.22;
  color: #52677d;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__label svg {
  position: static;
  top: auto;
  left: auto;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  stroke-width: 1.75;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__label > span {
  position: static;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  display: inline;
  min-width: 0;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.22;
  color: #52677d;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__value {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 730;
  line-height: 1.31;
  overflow-wrap: break-word;
  word-break: normal;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__composition {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 12.6px;
  line-height: 1.27;
  font-weight: 700;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__composition > span {
  display: block;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__more {
  margin-top: 4px;
  font-size: 11px;
}
.gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__full {
  font-size: 12.2px;
  line-height: 1.35;
}

@container (max-width: 380px) {
  .gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__card {
    min-height: 106px;
    padding: 10px;
    gap: 6px;
  }
  .gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__label svg {
    flex-basis: 19px;
    width: 19px;
    height: 19px;
  }
  .gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__value {
    font-size: 12.4px;
  }
  .gajcom-public-highlights[data-product-id="449"] .gajcom-public-highlights__composition {
    font-size: 12px;
  }
}

@supports selector(body:has(.gajcom-public-highlights)) {
  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main {
    row-gap: 10px;
  }
  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main :is(.product-right, .gmp-extended-buy, .product-info)
  :is(.short-description, .product-short-description, .product-description) {
    margin-top: 3px !important;
    margin-bottom: 4px !important;
  }
  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main :is(.product-right, .gmp-extended-buy, .product-info)
  :is(.short-description, .product-short-description) > p {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
  }
  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main :is(.product-right, .gmp-extended-buy, .product-info)
  :is(.product-rating, .rating, .review-links) {
    margin-bottom: 5px !important;
  }
  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main :is(.product-right, .gmp-extended-buy, .product-info)
  :is(.price-group, .product-price) {
    margin-top: 3px !important;
    margin-bottom: 3px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.2;
  }
  body:has(.gajcom-public-highlights[data-product-id="449"])
  .gmp-extended-main .gph449-no-description-heading::before {
    content: none !important;
    display: none !important;
  }
  @media (min-width: 1024px) {
    body:has(.gajcom-public-highlights[data-product-id="449"])
    .gmp-extended-main :is(.product-left, .product-media)
    :is(.main-image, .product-image-main, .product-main-image, .product-image .swiper-slide-active) img {
      width: 100% !important;
      height: auto !important;
      max-width: 100% !important;
      max-height: 420px !important;
      object-fit: contain !important;
      object-position: center top;
    }
  }
}

/* GAJCOM Product Highlights v016: inline VAT label and full image, product 449 only. */
@supports selector(body:has(.gajcom-public-highlights)) {
  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-extra-short_description > h3.module-title[hidden] {
    display: none !important;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-extra-short_description {
    margin-top: 4px !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-price-group {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: baseline !important;
    column-gap: 7px !important;
    row-gap: 8px !important;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    padding: 0 !important;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-price-group > .gajcom-price-from {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: baseline !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
  }

  /* Price and the existing VAT label share one baseline. Wrapping remains
     available if a translated label cannot fit a very narrow viewport. */
  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-price-group > .price-wrapper {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: baseline !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 2px 10px !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-price-group > .price-wrapper > .price-group {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-price-group > .price-wrapper > .price-group,
  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-price-group > .price-wrapper > .price-group > .product-price {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-price-group > .price-wrapper > .product-tax2 {
    flex: 0 1 auto !important;
    align-self: baseline !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    white-space: nowrap;
  }

  body:has(.gajcom-public-highlights[data-product-id="449"]) :is(.product-right, .gmp-extended-buy) .product-price-group > .product-stats {
    grid-column: 1 / -1 !important;
    margin-top: 0 !important;
  }

  /* Enlarge the desktop media column and its entire Swiper viewport together.
     Setting only the image size leaves it clipped by the older 360px wrapper.
     Matrix remains full width in its existing second row. */
  @media (min-width: 1024px) {
    body:has(.gajcom-public-highlights[data-product-id="449"]) .gmp-extended-main {
      grid-template-columns: minmax(0, 45fr) minmax(0, 55fr) !important;
    }

    body:has(.gajcom-public-highlights[data-product-id="449"]) .gmp-extended-main .product-left .product-image {
      height: auto !important;
      max-height: none !important;
    }

    body:has(.gajcom-public-highlights[data-product-id="449"]) .gmp-extended-main .product-left .main-image {
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      aspect-ratio: 1 / 1;
    }

    body:has(.gajcom-public-highlights[data-product-id="449"]) .gmp-extended-main .product-left .main-image .swiper-container,
    body:has(.gajcom-public-highlights[data-product-id="449"]) .gmp-extended-main .product-left .main-image .swiper-wrapper,
    body:has(.gajcom-public-highlights[data-product-id="449"]) .gmp-extended-main .product-left .main-image .swiper-slide {
      height: 100% !important;
      min-height: 0 !important;
      max-height: none !important;
    }

    body:has(.gajcom-public-highlights[data-product-id="449"]) .gmp-extended-main .product-left .main-image .swiper-slide img {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      min-height: 0 !important;
      max-width: 100% !important;
      max-height: none !important;
      object-fit: contain !important;
      object-position: center center !important;
    }
  }
}
