.product-page {
   width: min(100% - 64px, var(--page));
   margin: 0 auto;
   padding: 46px 0 80px;
}

/* Subtle back link to category (replaces long breadcrumb). */
.product-back-category {
   margin: 0 0 10px;
   line-height: 1.3;
}

.product-back-category-link {
   font-size: 14px;
   font-weight: 600;
   color: var(--muted);
   text-decoration: none;
}

.product-back-category-link:hover {
   color: var(--text-strong);
   text-decoration: underline;
}

/* Best offer — primary conversion block */
.product-best-offer-panel {
   margin-bottom: 28px;
   background: linear-gradient(180deg, rgba(24, 121, 78, 0.06) 0%, var(--bg-card) 38%, var(--bg-soft) 100%);
   border: 1px solid var(--green-border);
   border-top: 3px solid rgba(24, 121, 78, 0.14);
   border-radius: 28px;
   padding: 20px 34px 20px 34px;
   box-shadow:
      0 12px 32px rgba(15, 23, 42, 0.05),
      inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

/* “Καλύτερη προσφορά” — pill badge (only this panel’s heading). */
.product-best-offer-panel > .section-label {
   display: inline-flex;
   align-items: center;
   width: fit-content;
   margin-bottom: 20px;
   padding: 6px 12px;
   font-size: 11px;
   font-weight: 800;
   letter-spacing: 0.07em;
   text-transform: uppercase;
   color: var(--green-text);
   background: var(--green-bg);
   border-radius: 999px;
   border: 1px solid rgba(24, 121, 78, 0.12);
}

.product-best-offer-inner {
   display: grid;
   grid-template-columns: 1fr minmax(220px, 320px);
   gap: 28px;
   align-items: center;
}

.product-best-pharmacy {
   font-size: 15px;
   font-weight: 800;
   color: var(--muted);
   letter-spacing: 0.02em;
   text-transform: uppercase;
   margin-bottom: 10px;
}

.product-best-prices {
   display: flex;
   flex-wrap: wrap;
   align-items: baseline;
   gap: 14px;
   margin-bottom: 10px;
}

.product-best-sale {
   font-size: clamp(32px, 5vw, 40px);
   font-weight: 800;
   letter-spacing: -2px;
}

.product-best-old {
   font-size: 22px;
   font-weight: 700;
   color: color-mix(in srgb, var(--text-main) 68%, var(--text-soft) 32%);
   text-decoration: line-through;
}

.product-best-savings {
   font-size: 16px;
   font-weight: 700;
   color: var(--text-main);
   margin-bottom: 14px;
}

.product-best-savings strong {
   color: var(--green-text);
}

.product-best-tag {
   display: inline-block;
   margin-left: 8px;
   font-size: 13px;
   font-weight: 800;
   background: var(--green-bg);
   color: var(--green-text);
   padding: 4px 10px;
   border-radius: 999px;
}

.product-best-badges {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}

.product-offer-pill {
   display: inline-flex;
   align-items: center;
   font-size: 13px;
   font-weight: 800;
   padding: 7px 13px;
   border-radius: 999px;
}

.product-offer-pill--low {
   background: #e8f4e0;
   color: #2d4a1c;
}

.product-offer-pill--good {
   background: #eef2ff;
   color: #3730a3;
}

.product-best-offer-cta {
   display: flex;
   justify-content: flex-end;
}

.product-cta-stack {
   width: 100%;
   max-width: 380px;
   display: flex;
   flex-direction: column;
   gap: 14px;
}

.product-main-cta--xl {
   margin-bottom: 0;
   padding: 18px 24px;
   font-size: 17px;
}

.product-meta-facts {
   list-style: none;
   margin: 0 0 20px;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 10px;
   font-size: 15px;
   font-weight: 700;
   color: var(--text-main);
}

.product-meta-facts-label {
   color: var(--text-soft);
   font-weight: 700;
   margin-right: 6px;
}

.product-lead-desc {
   color: var(--muted);
   font-size: 17px;
   line-height: 1.65;
   margin: 0 0 22px;
   max-width: 52ch;
}

/* Βασικά χαρακτηριστικά — same width rhythm as .product-tool-section; softer interior density. */
.product-essentials {
   width: min(100% - 64px, var(--page));
   margin: 28px auto 0;
   padding: 32px 36px;
   box-sizing: border-box;
   min-width: 0;
   background: var(--bg);
   border: 1px solid var(--border-soft);
   border-radius: 28px;
   box-shadow:
      0 12px 32px rgba(15, 23, 42, 0.04),
      inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.product-essentials-title {
   font-size: 16px;
   font-weight: 800;
   color: var(--muted);
   letter-spacing: 0.08em;
   text-transform: uppercase;
   margin: 0 0 18px;
   line-height: 1.25;
}

.product-essentials-lead {
   margin: 0 0 18px;
   font-size: 15px;
   line-height: 1.62;
   color: var(--text-main);
   font-weight: 500;
   max-width: 62ch;
}

.product-essentials-lead:last-child {
   margin-bottom: 0;
}

.product-essentials-list {
   margin: 0 0 20px;
   padding: 0;
   list-style: none;
   display: flex;
   flex-direction: column;
   gap: 9px;
}

.product-essentials-list:empty {
   display: none;
   margin-bottom: 0;
}

.product-essentials-list:last-child {
   margin-bottom: 0;
}

.product-essentials-list li {
   position: relative;
   padding-left: 1.12em;
   font-size: 15px;
   line-height: 1.5;
   color: var(--text-main);
   font-weight: 500;
   letter-spacing: 0.01em;
   overflow-wrap: anywhere;
}

.product-essentials-list li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 0.65em;
   width: 5px;
   height: 5px;
   border-radius: 50%;
   background: var(--green-text);
   opacity: 0.26;
   box-shadow: 0 0 0 3px rgba(24, 121, 78, 0.06);
}

.product-essentials-standout {
   margin-top: 0;
   padding: 16px 18px;
   border-radius: var(--radius-lg);
   background: var(--bg-softer);
   border: 1px solid var(--border-soft);
}

.product-essentials-list + .product-essentials-standout {
   margin-top: 20px;
}

.product-essentials-title + .product-essentials-standout {
   margin-top: 4px;
}

.product-essentials-standout-label {
   display: block;
   font-size: 14px;
   font-weight: 800;
   letter-spacing: 0.07em;
   text-transform: uppercase;
   color: var(--muted);
   margin-bottom: 8px;
}

.product-essentials-standout-text {
   margin: 0;
   font-size: 14px;
   line-height: 1.52;
   color: var(--text-main);
   font-weight: 500;
}

.product-no-deals-msg {
   background: var(--bg-soft);
   border-radius: 18px;
   padding: 16px 18px;
   margin-bottom: 22px;
}

.product-no-deals-msg p {
   margin: 0;
   font-weight: 700;
   color: var(--muted);
   line-height: 1.5;
}

.store-list-spaced .store-row {
   padding-top: 20px;
   padding-bottom: 20px;
}

.store-price-stack {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 6px;
   text-align: right;
}

.store-savings-pill {
   font-size: 13px;
   font-weight: 800;
   color: var(--green-text);
   background: var(--green-bg);
   padding: 5px 11px;
   border-radius: 999px;
   white-space: nowrap;
}

/* Undo .store-row span { muted }; pills must read as valuable, not metadata. */
.store-row .store-savings-pill {
   color: var(--green-text);
}

.store-row-cta {
   display: flex;
   justify-content: flex-end;
}

.store-btn-ghost-strong {
   border: 1px solid var(--border);
   font-weight: 800;
}

/* Other pharmacies — list rhythm + rounded cards (all rows). */
#other-pharmacies .store-list-other-pharmacies {
   gap: 10px;
}

#other-pharmacies .store-list-spaced .store-row-other {
   padding-top: 0;
   padding-bottom: 0;
}

#other-pharmacies .store-list-other-pharmacies .store-row-other {
   grid-template-columns: minmax(0, 1fr) auto minmax(min-content, 152px);
   align-items: center;
   column-gap: 26px;
   row-gap: 0;
   box-sizing: border-box;
   margin: 0;
   padding: 18px 16px;
   background: var(--bg);
   border: 1px solid var(--border-soft);
   border-radius: 18px;
   border-bottom: none;
   box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}

#other-pharmacies .store-list-other-pharmacies .store-row-other > .store-offer-top {
   grid-column: 1 / span 2;
   grid-row: 1;
   min-width: 0;
}

#other-pharmacies .store-list-other-pharmacies .store-row-other--cheapest > .store-offer-top {
   grid-row: 2;
}

#other-pharmacies .store-list-other-pharmacies .store-row-other > .store-row-cta {
   grid-column: 3;
}

#other-pharmacies .store-offer-top {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   column-gap: 26px;
   row-gap: 6px;
   align-items: start;
}

#other-pharmacies .store-offer-top:not(:has(> .store-offer-meta)) {
   grid-template-rows: auto;
}

#other-pharmacies .store-offer-top:has(> .store-offer-meta) {
   grid-template-rows: auto auto;
}

#other-pharmacies .store-offer-top-row {
   grid-column: 1 / -1;
   grid-row: 1;
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   column-gap: 26px;
   align-items: center;
   min-width: 0;
}

#other-pharmacies .store-offer-meta {
   grid-column: 1 / -1;
   grid-row: 2;
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   column-gap: 26px;
   align-items: center;
   min-width: 0;
}

#other-pharmacies .store-offer-meta--pill-only {
   grid-template-columns: 1fr;
   justify-items: end;
}

#other-pharmacies .store-offer-meta--tagline-only {
   grid-template-columns: 1fr;
   justify-items: start;
}

#other-pharmacies .store-offer-meta-left {
   min-width: 0;
}

#other-pharmacies .store-offer-meta-right {
   justify-self: end;
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   justify-content: flex-end;
}

#other-pharmacies .store-row-other-main {
   min-width: 0;
   display: flex;
   flex-direction: column;
   gap: 4px;
   align-self: center;
}

#other-pharmacies .store-row-other-main strong {
   margin-bottom: 0;
}

#other-pharmacies .store-row-other-kicker {
   display: inline-flex;
   align-items: center;
   width: fit-content;
   max-width: max-content;
   align-self: flex-start;

   font-size: 14px;
   font-weight: 800;
   letter-spacing: 0.04em;
   text-transform: uppercase;

   color: var(--green-text);
   background: var(--green-bg);
   padding: 4px 10px;
   border-radius: 999px;
   margin-bottom: 2px;
   white-space: nowrap;
}

#other-pharmacies .store-row-other-tagline {
   color: var(--muted);
   font-size: 14px;
   font-weight: 700;
   line-height: 1.35;
}

#other-pharmacies .store-row-other--cheapest {
   background: linear-gradient(180deg, rgba(24, 121, 78, 0.06) 0%, rgba(24, 121, 78, 0.035) 100%),
      var(--bg-card);
   border: 1px solid rgba(24, 121, 78, 0.24);
   box-shadow:
      0 4px 18px rgba(24, 121, 78, 0.08),
      0 2px 12px rgba(15, 23, 42, 0.04);
}

#other-pharmacies .store-list-other-pharmacies .store-row-other--cheapest {
   grid-template-rows: auto auto;
   row-gap: 4px;
}

#other-pharmacies .store-row-other--cheapest .store-row-other-kicker {
   grid-column: 1;
   grid-row: 1;
   align-self: start;
   margin-bottom: 0;
}

#other-pharmacies .store-row-other--cheapest .store-row-cta {
   grid-column: 3;
   grid-row: 1 / span 2;
   align-self: center;
}

#other-pharmacies .store-price-stack {
   justify-content: center;
   min-height: 48px;
}

#other-pharmacies .store-row-cta {
   align-self: stretch;
   display: flex;
   align-items: center;
}

.related-products-strip {
   margin-top: 32px;
   width: min(100% - 64px, var(--page));
   margin-left: auto;
   margin-right: auto;
}

.product-hero-panel {
   display: grid;
   grid-template-columns: 0.9fr 1.1fr;
   gap: 28px;
}



.product-media-card {
   min-height: 560px;
   padding: 38px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   position: relative;
}

.product-media-card img {
   max-width: 78%;
   max-height: 420px;
   object-fit: contain;
}

.product-badge {
   position: absolute;
   top: 28px;
   left: 28px;
   background: var(--green-bg);
   color: var(--green-text);
   font-size: 14px;
   font-weight: 800;
   padding: 7px 13px;
   border-radius: 999px;
}

.product-detail-card {
   padding: 42px;
}

.product-category {
   display: inline-flex;
   background: var(--green-bg);
   color: var(--green-text);
   font-size: 13px;
   font-weight: 800;
   padding: 6px 12px;
   border-radius: 999px;
   margin-bottom: 20px;
}

.product-detail-card h1 {
   font-size: clamp(32px, 4.2vw, 32px);
   line-height: 1;
   letter-spacing: -2px;
   margin-bottom: 20px;
   color: var(--text-strong);
}

.product-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   color: var(--text-main);
   font-size: 15px;
   font-weight: 700;
   margin-bottom: 34px;
}

.product-meta .verified-mini {
   color: var(--text-main);
}

.verified-mini {
   color: var(--verified-text);
}

.product-price-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   margin-bottom: 28px;
}

.product-new {
   font-size: 34px;
   font-weight: 800;
   letter-spacing: -2px;
}

.product-old {
   font-size: 24px;
   color: color-mix(in srgb, var(--text-main) 68%, var(--text-soft) 32%);
   text-decoration: line-through;
}

.product-saving {
   background: var(--green-bg);
   color: var(--green-text);
   font-size: 17px;
   font-weight: 700;
   padding: 12px 18px;
   border-radius: 12px;
}

.product-main-cta {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   background: var(--text-strong);
   color: var(--bg);
   border-radius: var(--radius);
   padding: 16px 22px;
   font-size: 16px;
   font-weight: 800;
   margin-bottom: 22px;
}

.price-alert-card {
   background: var(--bg-soft);
   border-radius: 22px;
   padding: 22px;
}

.price-alert-card strong {
   display: block;
   font-size: 18px;
   margin-bottom: 8px;
   color: var(--text-strong);
}

.price-alert-card p {
   color: var(--muted);
   margin-bottom: 16px;
   line-height: 1.6;
}

.price-alert-form {
   display: grid;
   grid-template-columns: 1fr 120px auto;
   gap: 10px;
}

.price-alert-form input {
   border: 1px solid var(--border);
   border-radius: var(--radius);
   padding: 13px 14px;
   font-family: inherit;
}

.price-alert-form button {
   border: none;
   background: var(--text-strong);
   color: var(--bg);
   border-radius: var(--radius);
   padding: 13px 16px;
   font-weight: 800;
   font-family: inherit;
   font-size: 15px;
}


.product-tool-section {
   width: min(100% - 64px, var(--page));
   margin: 28px auto 0;
   background: var(--bg);
   border: 1px solid var(--border-soft);
   border-radius: 28px;
   padding: 34px;
   box-shadow: 0 12px 32px rgba(15,23,42,.04);
}

.tool-header {
   display: flex;
   justify-content: space-between;
   gap: 24px;
   align-items: flex-start;
   margin-bottom: 24px;
}

.tool-header h2,
.editorial-tool h2 {
   font-size: 22px;
   letter-spacing: -1px;
   margin-top: 8px;
   color: var(--text-strong);
}

.store-list {
   display: flex;
   flex-direction: column;
}

.store-row {
   display: grid;
   grid-template-columns: 1fr auto auto;
   align-items: center;
   gap: 20px;
   padding: 18px 0;
   border-bottom: 1px solid var(--border-soft);
}

.store-row:last-child {
   border-bottom: 0;
}

.store-row.best {
   background: var(--bg-soft);
   margin: 0 -16px;
   padding: 18px 16px;
   border-radius: 18px;
   border-bottom: 0;
}

.store-row strong {
   display: block;
   font-size: 17px;
   margin-bottom: 4px;
   color: var(--text-strong);
}

.store-row span {
   color: var(--text-main);
   font-size: 16px;
}

.store-price {
   font-size: 24px;
   font-weight: 800;
}

.store-btn {
   background: var(--text-strong);
   color: var(--bg);
   border-radius: 12px;
   padding: 10px 16px;
   font-size: 14px;
   font-weight: 800;
}

.store-btn.ghost {
   background: var(--bg-soft);
   color: var(--text-strong);
}

.price-insight {
   background: var(--green-bg);
   color: var(--green-text);
   border-radius: 999px;
   padding: 7px 12px;
   font-weight: 800;
   font-size: 13px;
}

.price-chart-card {
   height: 180px;
   background: linear-gradient(180deg, var(--bg-soft), var(--bg));
   border: 1px solid var(--border-soft);
   border-radius: 22px;
   position: relative;
   overflow: hidden;
}

.chart-line {
   position: absolute;
   left: 28px;
   right: 28px;
   top: 52%;
   height: 3px;
   background: #9CAF74;
   border-radius: 999px;
   transform: rotate(-6deg);
}

.price-metrics {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 14px;
   margin-top: 16px;
}

.price-metrics.price-metrics-four {
   grid-template-columns: repeat(4, 1fr);
}

.price-metrics div {
   background: var(--bg-soft);
   border-radius: 18px;
   padding: 18px;
}

.price-metrics strong {
   display: block;
   font-size: 24px;
   margin-bottom: 4px;
}

.price-metrics span {
   color: var(--muted);
   font-weight: 700;
}

.editorial-tool p {
   color: var(--text-main);
   font-size: 17px;
   line-height: 1.8;
   max-width: 100%;
   margin-top: 18px;
}

.editorial-points {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: 24px;
}

.editorial-points span {
   background: var(--green-bg);
   color: var(--green-text);
   border-radius: 999px;
   padding: 8px 13px;
   font-weight: 800;
   font-size: 14px;
}

.product-price-chart-wrap {
   margin-top: 22px;
   width: 100%;
   position: relative;
   height: clamp(200px, 32vh, 280px);
}

.product-price-chart-wrap canvas {
   display: block;
   max-width: 100%;
}

.product-price-history-note {
   margin-top: 16px;
   color: var(--text-main);
}

@media (max-width: 980px) {
   .price-metrics.price-metrics-four {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 760px) {
   .product-page {
      min-width: 0;
   }

   .product-best-offer-panel {
      padding: 22px;
   }

   .product-best-offer-inner {
      grid-template-columns: 1fr;
      gap: 20px;
   }

   .product-best-offer-cta {
      justify-content: stretch;
   }

   .product-cta-stack {
      max-width: none;
   }

   .price-alert-form input {
      font-size: 15px;
   }

   /* Price intelligence (middle tool card): prevent horizontal overflow on narrow screens. */
   section.product-tool-section:not(#other-pharmacies):not(.editorial-tool) {
      overflow-x: clip;
   }

   .tool-header {
      flex-direction: column;
      min-width: 0;
   }

   .product-tool-section:not(#other-pharmacies):not(.editorial-tool) .tool-header h2 {
      max-width: 100%;
      min-width: 0;
      overflow-wrap: anywhere;
   }

   .store-row {
      grid-template-columns: 1fr;
      gap: 14px;
   }

   .store-price-stack {
      align-items: flex-start;
      text-align: left;
   }

   #other-pharmacies .store-row-other--cheapest {
      background: linear-gradient(180deg, rgba(24, 121, 78, 0.065) 0%, rgba(24, 121, 78, 0.038) 100%),
         var(--bg-card);
      border: 1px solid rgba(24, 121, 78, 0.24);
      box-shadow:
         0 3px 14px rgba(24, 121, 78, 0.09),
         0 2px 10px rgba(15, 23, 42, 0.04),
         inset 0 1px 0 rgba(255, 255, 255, 0.75);
   }

   /* Other pharmacies: compact offer cards (mobile). */
   #other-pharmacies .store-list-spaced .store-row-other {
      padding-top: 0;
      padding-bottom: 0;
   }

   #other-pharmacies .store-list-other-pharmacies .store-row-other {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
      padding: 16px 15px;
      margin: 0;
      background: var(--bg);
      border: 1px solid var(--border-soft);
      border-radius: 18px;
      border-bottom: none;
      grid-template-columns: unset;
      grid-template-rows: unset;
      box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
   }

   #other-pharmacies .store-list-other-pharmacies .store-row-other:last-child {
      margin-bottom: 0;
   }

   #other-pharmacies .store-row-other-kicker {
      align-self: flex-start;
      width: fit-content;
      max-width: 100%;
      margin: 0;
   }

   #other-pharmacies .store-offer-top {
      display: flex;
      flex-direction: column;
      gap: 8px;
      width: 100%;
      min-width: 0;
   }

   #other-pharmacies .store-offer-top-row {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      min-width: 0;
   }

   #other-pharmacies .store-offer-meta {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
      width: 100%;
      min-width: 0;
   }

   #other-pharmacies .store-offer-meta--pill-only {
      justify-content: flex-end;
   }

   #other-pharmacies .store-offer-meta--tagline-only {
      justify-content: flex-start;
   }

   #other-pharmacies .store-offer-meta-left {
      flex: 1;
      min-width: 0;
   }

   #other-pharmacies .store-offer-meta-right {
      flex-shrink: 0;
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
   }

   #other-pharmacies .store-row-other-main {
      flex: 1;
      min-width: 0;
      width: auto;
      align-self: stretch;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 2px;
   }

   #other-pharmacies .store-row-other-main strong {
      max-width: 100%;
      overflow-wrap: break-word;
      word-break: normal;
      white-space: normal;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.25;
      letter-spacing: -0.02em;
   }

   #other-pharmacies .store-row-other-tagline {
      max-width: 100%;
      overflow-wrap: break-word;
      word-break: normal;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.35;
   }

   #other-pharmacies .store-price-stack {
      flex-shrink: 0;
      width: auto;
      max-width: min(42%, 9.5rem);
      min-width: 0;
      min-height: 0;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: flex-start;
      text-align: right;
      gap: 0;
   }

   #other-pharmacies .store-price {
      font-size: 19px;
      font-weight: 800;
      max-width: 100%;
      text-align: right;
      line-height: 1.1;
      letter-spacing: -0.03em;
      overflow-wrap: break-word;
      word-break: normal;
   }

   #other-pharmacies .store-savings-pill {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      max-width: 100%;
      margin-top: 0;
      padding: 4px 9px;
      font-size: 11px;
      font-weight: 800;
      white-space: nowrap;
      box-sizing: border-box;
   }

   #other-pharmacies .store-row-cta {
      width: 100%;
      margin-top: 0;
      padding-top: 2px;
      align-self: stretch;
      justify-content: stretch;
   }

   #other-pharmacies .store-row-cta .store-btn {
      width: 100%;
      justify-content: center;
      box-sizing: border-box;
      padding: 9px 14px;
      font-size: 13px;
      border-radius: 11px;
   }

   .store-row-cta .store-btn {
      display: flex;
      width: 100%;
      justify-content: center;
      align-items: center;
      text-align: center;
      box-sizing: border-box;
   }

   .price-metrics {
      grid-template-columns: 1fr;
      min-width: 0;
      box-sizing: border-box;
   }

   .price-metrics.price-metrics-four {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      min-width: 0;
   }

   .price-metrics.price-metrics-four > div {
      min-width: 0;
      box-sizing: border-box;
      padding: 16px 14px;
   }

   .price-metrics.price-metrics-four strong,
   .price-metrics.price-metrics-four span {
      max-width: 100%;
      min-width: 0;
      overflow-wrap: anywhere;
   }

   .product-tool-section:not(#other-pharmacies):not(.editorial-tool) .product-price-chart-wrap {
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
   }

   .product-tool-section:not(#other-pharmacies):not(.editorial-tool) .product-price-history-note {
      max-width: 100%;
      min-width: 0;
      overflow-wrap: anywhere;
   }

   .product-price-chart-wrap {
      height: clamp(180px, 40vh, 240px);
      margin-top: 18px;
   }
}

@media (max-width: 860px) {
   .product-page {
      width: min(100% - 44px, var(--page));
      padding-top: 32px;
      padding-bottom: 56px;
   }

   .product-best-offer-panel {
      margin-bottom: 20px;
   }

   .product-hero-panel {
      grid-template-columns: 1fr;
      gap: 20px;
   }

   .product-media-card {
      min-height: 360px;
   }

   .product-detail-card {
      padding: 0px;
   }

   .product-essentials {
      width: 100%;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
      margin-top: 18px;
      padding: 26px 18px;
      border-radius: 28px;
      box-shadow:
         0 4px 20px rgba(15, 23, 42, 0.044),
         inset 0 1px 0 rgba(255, 255, 255, 0.9);
   }

   .product-essentials-title {
      font-size: 17px;
      letter-spacing: 0.07em;
      margin-bottom: 14px;
   }

   .product-essentials-lead {
      font-size: 16px;
      margin-bottom: 16px;
      line-height: 1.6;
      font-weight: 500;
   }

   .product-essentials-list {
      gap: 8px;
      margin-bottom: 16px;
   }

   .product-essentials-list li {
      font-size: 15px;
      line-height: 1.48;
      font-weight: 500;
      padding-left: 1.08em;
   }

   .product-essentials-list li::before {
      top: 0.6em;
      width: 5px;
      height: 5px;
      opacity: 0.24;
      box-shadow: 0 0 0 2px rgba(24, 121, 78, 0.06);
   }

   .product-essentials-standout {
      padding: 14px 16px;
      border-radius: var(--radius);
   }

   .product-essentials-list + .product-essentials-standout {
      margin-top: 16px;
   }

   .product-essentials-title + .product-essentials-standout {
      margin-top: 2px;
   }

   .product-essentials-standout-label {
      margin-bottom: 7px;
   }

   .product-essentials-standout-text {
      font-size: 14px;
      line-height: 1.5;
      font-weight: 500;
   }

   .product-price-row {
      flex-direction: column;
      align-items: flex-start;
   }

   .price-alert-form {
      grid-template-columns: 1fr;
   }

   /* Align stacked tool cards + related strip: shared mobile rhythm, softer separation. */
   main.product-page .product-tool-section {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      margin-top: 16px;
      margin-left: auto;
      margin-right: auto;
      padding: 22px 18px;
      box-shadow: 0 6px 22px rgba(15, 23, 42, 0.038);
   }

   main.product-page .product-tool-section .tool-header {
      margin-bottom: 18px;
   }

   main.product-page .related-products-strip.hot-section {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      margin-left: auto;
      margin-right: auto;
      margin-top: 20px;
      margin-bottom: 0;
      padding: 22px 18px 30px;
   }
}

/* Product page only: related products strip — mobile layout (does not affect landing #hot). */
@media (max-width: 768px) {
   main.product-page .related-products-strip .hot-label {
      margin-bottom: 14px;
   }

   main.product-page .related-products-strip .hot-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
   }

   main.product-page .related-products-strip .hot-card {
      padding: 14px 16px 16px;
      margin: 0;
      border-radius: var(--radius-lg);
      background: var(--bg);
      border: 1px solid var(--border-soft);
      box-shadow:
         0 1px 2px rgba(15, 23, 42, 0.04),
         0 8px 24px rgba(15, 23, 42, 0.05);
   }

   main.product-page .related-products-strip .hot-card-link {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
      width: 100%;
      min-width: 0;
   }

   main.product-page .related-products-strip .hot-card-top {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      gap: 12px;
      width: 100%;
      margin-bottom: 0;
   }

   main.product-page .related-products-strip .hot-img {
      width: 96px;
      min-width: 96px;
      height: 96px;
      flex-shrink: 0;
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: center;
   }

   main.product-page .related-products-strip .hot-img img {
      width: 96px;
      height: 96px;
      max-width: 96px;
      max-height: 96px;
      object-fit: contain;
   }

   main.product-page .related-products-strip .hot-pct {
      margin-left: auto;
      align-self: flex-start;
      font-size: 15px;
      font-weight: 800;
      padding: 4px 8px;
      line-height: 1.2;
   }

   main.product-page .related-products-strip .hot-name {
      text-align: left;
      margin: 0;
      padding: 0;
      width: 100%;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.35;
      letter-spacing: -0.02em;
      white-space: normal;
      overflow-wrap: anywhere;
   }
}

@media (max-width: 420px) {
   .price-metrics.price-metrics-four {
      grid-template-columns: 1fr;
   }
}