/* The product page (ProductPage.jsx): gallery, buy column, sections, sticky bar. */
.dr-pdp__top { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 900px) { .dr-pdp__top { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: start; } .dr-pdp__gallery { position: sticky; top: calc(var(--dr-h-header) + 16px); } }
.dr-gallery__main { position: relative; }
.dr-gallery__slide { margin: 0; }
.dr-pdp__discount { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 1; font-size: 15px; }
.dr-gallery__thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.dr-gallery__thumb { flex: none; width: 64px; height: 64px; padding: 0; border: 1px solid var(--dr-hairline); border-radius: var(--dr-r-card); background: var(--dr-surface); cursor: pointer; overflow: hidden; }
.dr-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
.dr-gallery__thumb.is-active { border-color: var(--dr-brand); box-shadow: inset 0 0 0 1px var(--dr-brand); }
.dr-gallery__video { width: 100%; margin-top: 12px; border-radius: var(--dr-r-card); }
.dr-pdp__buy { display: flex; flex-direction: column; gap: 14px; }
.dr-pdp__title { font-size: 24px; line-height: 1.2; }
@media (min-width: 900px) { .dr-pdp__title { font-size: 30px; } }
.dr-pdp__benefit { font-size: 15px; color: var(--dr-ink-muted); }
.dr-pdp__sold { font-size: 12.5px; color: var(--dr-ink-muted); }
.dr-pdp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.dr-pdp__amount { font-size: 28px; font-weight: 700; }
.dr-pdp__old { font-size: 16px; color: var(--dr-ink-muted); }
.dr-pdp__save { font-size: 13px; font-weight: 700; color: var(--dr-success); }
.dr-pdp__lowest { width: 100%; font-size: 12px; color: var(--dr-ink-muted); }
.dr-pdp__formats { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dr-pdp__label { font-size: 13px; font-weight: 700; margin-bottom: 4px; padding: 0; }
.dr-pdp__stock { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--dr-success); font-weight: 700; }
.dr-pdp__actions { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; }
.dr-pdp__actions .dr-qty { height: 50px; }
.dr-qty__input { width: 56px; height: 100%; border: 0; text-align: center; font: inherit; font-weight: 700; -moz-appearance: textfield; }
.dr-qty__input::-webkit-inner-spin-button, .dr-qty__input::-webkit-outer-spin-button { -webkit-appearance: none; }
.dr-pdp__buynow { grid-column: 1 / -1; }
.dr-pdp__incart { grid-column: 1 / -1; font-size: 13px; color: var(--dr-ink-muted); }
.dr-pdp__benefits { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 14px; }
.dr-pdp__benefits li { display: flex; align-items: center; gap: 8px; }
.dr-pdp__benefits .dr-icon { color: var(--dr-gold-ink); }
.dr-pdp__promises { display: grid; gap: 6px; padding: 12px 14px; background: var(--dr-cream); border-radius: var(--dr-r-card); font-size: 13px; }
.dr-pdp__promises p { display: flex; align-items: center; gap: 8px; }
.dr-pdp__promises .dr-icon { color: var(--dr-gold-ink); }
.dr-pdp__share { display: flex; flex-wrap: wrap; gap: 8px; }
.dr-pdp__meta { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 0; font-size: 13px; color: var(--dr-ink-muted); }
.dr-pdp__meta dt { font-weight: 700; } .dr-pdp__meta dd { margin: 0; }
.dr-pdp__section { max-width: 920px; scroll-margin-top: calc(var(--dr-h-header) + 16px); }
.dr-pdp__h2 { font-size: 20px; margin-bottom: 14px; }
@media (min-width: 900px) { .dr-pdp__h2 { font-size: 24px; } }
.dr-pdp__actives { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.dr-pdp__inci { font-weight: 500; color: var(--dr-ink-muted); font-size: 12px; }
.dr-pdp__full { margin-top: 12px; font-size: 13px; }
.dr-reviews__summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; }
.dr-reviews__avg { font-size: 36px; font-weight: 700; line-height: 1; }
.dr-reviews__based { font-size: 13px; color: var(--dr-ink-muted); }
.dr-reviews__list { display: grid; gap: 12px; }
.dr-review { padding: 14px 16px; border: 1px solid var(--dr-hairline); border-radius: var(--dr-r-card); }
.dr-review__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 6px; }
.dr-review__name { font-weight: 700; font-size: 14px; }
.dr-review__verified { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--dr-success); font-weight: 700; }
.dr-review__title { font-weight: 700; }
.dr-review__body { font-size: 14px; color: var(--dr-ink-muted); white-space: pre-line; }
.dr-review__photos { display: flex; gap: 6px; margin-top: 8px; }
.dr-review__photos img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--dr-r-card); }
.dr-review__reply { margin-top: 10px; padding: 10px 12px; background: var(--dr-cream); border-radius: var(--dr-r-card); font-size: 13px; }
.dr-reviews__write { margin-top: 16px; }
.dr-pdp__final { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 20px; }
.dr-stickybuy { position: fixed; z-index: 1094; bottom: calc(var(--dr-h-bottomnav) + env(safe-area-inset-bottom)); inset-inline: 0; display: flex; align-items: center; gap: 12px; padding: 10px var(--dr-gutter); background: var(--dr-band); color: var(--dr-white); box-shadow: var(--dr-shadow-float); animation: drSlideUp .25s ease both; }
.dr-stickybuy__name { flex: 1; min-width: 0; font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dr-stickybuy__price { font-weight: 700; }
@media (min-width: 1200px) { .dr-stickybuy { bottom: 0; } }
