:root { --product-orange: #efa00b; --product-ink: #171917; --product-muted: #737773; --product-paper: #f4f4f2; }
* { box-sizing: border-box; }
.product-page-body { margin: 0; min-height: 100vh; background: var(--product-paper); color: var(--product-ink); font-family: "TildaSans", Arial, sans-serif; }
.product-page-header { min-height: 92px; padding: 18px clamp(20px, 5vw, 80px); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 36px; background: #fff; border-bottom: 1px solid #deded9; }
.product-page-brand { display: inline-flex; align-items: center; }
.product-page-brand img { width: 62px; height: 62px; border-radius: 50%; object-fit: cover; }
.product-page-nav { display: flex; align-items: center; gap: 28px; }
.product-page-nav a, .product-page-cart-link { color: var(--product-ink); font-weight: 650; text-decoration: none; }
.product-page-nav a:hover, .product-page-cart-link:hover { color: #a86d00; }
.product-page-cart-link { min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid #d8d8d2; border-radius: 12px; }
.product-page-cart-link span { min-width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--product-orange); font-size: 13px; }
.product-page-main { width: min(1280px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 80px; }
.product-page-back { width: fit-content; min-height: 44px; margin-bottom: 16px; padding: 0 17px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid #d8d8d2; border-radius: 12px; background: #fff; color: var(--product-ink); font-weight: 750; text-decoration: none; transition: border-color .18s ease, color .18s ease, transform .18s ease; }
.product-page-back:hover { border-color: var(--product-orange); color: #a86d00; transform: translateX(-2px); }
.product-page-breadcrumb { margin-bottom: 24px; display: flex; flex-wrap: wrap; gap: 9px; color: var(--product-muted); font-size: 14px; }
.product-page-breadcrumb a { color: inherit; text-decoration: none; }
.product-page-breadcrumb a:hover { color: #a86d00; }
.product-page-product { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.product-page-gallery { min-width: 0; }
.product-page-main-photo { width: 100%; padding: 0; display: block; overflow: hidden; border: 0; border-radius: 24px; background: #e9e9e5; cursor: zoom-in; }
.product-page-main-photo img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: contain; }
.product-page-thumbnails { margin-top: 14px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.product-page-thumbnail { padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 12px; background: #fff; cursor: pointer; }
.product-page-thumbnail.is-active { border-color: var(--product-orange); }
.product-page-thumbnail img { width: 100%; aspect-ratio: 1; display: block; object-fit: cover; }
.product-page-info { position: sticky; top: 28px; padding: clamp(24px, 3vw, 38px); background: #fff; border: 1px solid #deded9; border-radius: 24px; box-shadow: 0 18px 48px rgba(30, 32, 30, .07); }
.product-page-category { margin: 0 0 10px; color: #a86d00; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.product-page-info h1 { margin: 0; font-size: clamp(30px, 3.3vw, 48px); line-height: 1.06; }
.product-page-brand-name, .product-page-sku, .product-page-search-article { margin: 9px 0 0; color: var(--product-muted); }
.product-page-adult-badge { margin-top: 12px; padding: 6px 10px; display: inline-flex; border-radius: 999px; background: #1f211f; color: #fff; font-weight: 800; }
.product-page-price { margin: 28px 0 20px; display: flex; align-items: baseline; gap: 14px; }
.product-page-price strong { font-size: 34px; }
.product-page-price s { color: #92958f; font-size: 18px; }
.product-page-size { display: grid; gap: 8px; font-weight: 700; }
.product-page-size select { width: 100%; min-height: 52px; padding: 0 14px; border: 1px solid #d5d5cf; border-radius: 12px; background: #fff; color: var(--product-ink); font: inherit; }
.product-page-actions { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.product-page-actions button { min-height: 54px; padding: 0 16px; border-radius: 13px; font: inherit; font-weight: 800; cursor: pointer; }
.product-page-buy-now { border: 0; background: var(--product-orange); color: #171917; }
.product-page-add-cart { border: 1px solid #cf8b08; background: #fff8e6; color: #8b5900; }
.product-page-status { min-height: 22px; margin: 12px 0 0; color: #29764e; font-weight: 700; }
.product-page-benefits { margin-top: 18px; padding-top: 18px; display: grid; gap: 9px; border-top: 1px solid #e5e5df; color: var(--product-muted); font-size: 14px; }
.product-page-benefits span::before { content: "✓"; margin-right: 9px; color: #27915d; font-weight: 900; }
.product-page-description, .product-page-characteristics { margin-top: 28px; padding: clamp(24px, 4vw, 46px); background: #fff; border: 1px solid #deded9; border-radius: 24px; }
.product-page-description h2, .product-page-characteristics h2 { margin: 0 0 20px; font-size: 28px; }
.product-page-description p { margin: 0 0 12px; max-width: 920px; color: #4f534f; font-size: 17px; line-height: 1.65; }
.product-page-characteristics dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 36px; }
.product-page-characteristic { padding: 13px 0; display: grid; grid-template-columns: minmax(130px, .8fr) 1fr; gap: 18px; border-bottom: 1px solid #ecece8; }
.product-page-characteristic dt { color: var(--product-muted); }
.product-page-characteristic dd { margin: 0; font-weight: 650; }
.product-page-footer { padding: 30px clamp(20px, 5vw, 80px); display: flex; justify-content: space-between; gap: 20px; background: #171917; }
.product-page-footer a { color: #fff; text-decoration: none; }
.product-page-lightbox { position: fixed; inset: 0; z-index: 1200; padding: 40px; display: grid; place-items: center; background: rgba(12, 13, 12, .88); }
.product-page-lightbox[hidden] { display: none; }
.product-page-lightbox img { max-width: min(1100px, 92vw); max-height: 90vh; object-fit: contain; }
.product-page-lightbox button { position: fixed; top: 20px; right: 24px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; font-size: 30px; cursor: pointer; }
.product-page-age-locked .product-page-main { filter: blur(14px); pointer-events: none; user-select: none; }
.product-page-not-found { width: min(640px, calc(100% - 40px)); margin: 15vh auto; padding: 42px; border-radius: 24px; background: #fff; text-align: center; }
.product-page-not-found a { display: inline-flex; margin-top: 18px; padding: 14px 22px; border-radius: 12px; background: var(--product-orange); color: #171917; font-weight: 800; text-decoration: none; }
@media (max-width: 820px) {
  .product-page-header { min-height: 74px; padding: 12px 18px; grid-template-columns: auto 1fr; gap: 14px; }
  .product-page-brand img { width: 48px; height: 48px; }
  .product-page-nav { justify-content: flex-end; gap: 14px; font-size: 14px; }
  .product-page-cart-link { grid-column: 1 / -1; justify-content: center; }
  .product-page-main { width: min(100% - 28px, 680px); padding-top: 18px; }
  .product-page-back { width: 100%; justify-content: center; }
  .product-page-product { grid-template-columns: 1fr; gap: 18px; }
  .product-page-info { position: static; padding: 22px; }
  .product-page-info h1 { font-size: 31px; }
  .product-page-actions { grid-template-columns: 1fr; }
  .product-page-characteristics dl { grid-template-columns: 1fr; }
  .product-page-footer { flex-direction: column; }
}
@media (max-width: 480px) {
  .product-page-nav a:not(:first-child) { display: none; }
  .product-page-main-photo { border-radius: 18px; }
  .product-page-main-photo img { aspect-ratio: 1 / 1; }
  .product-page-thumbnails { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .product-page-description, .product-page-characteristics { padding: 22px; border-radius: 18px; }
  .product-page-characteristic { grid-template-columns: 1fr; gap: 5px; }
}
