/* Изолированные стили двух кнопок и блока рекомендаций. */
.product-actions { display:grid; grid-template-columns:minmax(0,1fr) 48px; gap:10px; width:100%; align-items:stretch; }
.product-buy-now { min-width:0; min-height:46px; padding:12px 14px; border:0; border-radius:4px; background:#0078d4; color:#fff; font:inherit; font-size:15px; font-weight:600; cursor:pointer; transition:background .18s ease; }
.product-buy-now:hover { background:#006cbe; }
.product-buy-now:focus-visible, .product-cart-icon:focus-visible { outline:3px solid rgba(0,120,212,.3); outline-offset:2px; }
.product-actions .product-cart-icon { display:grid; place-items:center; width:48px; min-width:48px; padding:0; font-size:0; line-height:1; }
.product-actions .product-cart-icon svg { width:22px; height:22px; }
.product-actions.is-unavailable { display:block; }
.product-actions.is-unavailable .product-buy-now { display:none; }
.product-actions.is-unavailable .product-cart-icon { width:100%; font-size:15px; }
.product-actions.is-unavailable .product-cart-icon svg { display:none; }
.hero-card > .product-actions, .page-hero-card > .product-actions { margin-top:20px; }
.hero-card > .product-actions .product-buy-now { font-size:16px; }
.page-actions .product-actions--hero { flex:0 1 390px; }
.related-section-sub { margin:-2px 0 30px; color:var(--text-muted); font-size:17px; line-height:1.55; }
.related-recommendation { position:relative; }
.related-recommend-label { position:absolute; z-index:4; top:14px; left:14px; display:inline-flex; align-items:center; min-height:26px; padding:5px 9px; border-radius:999px; background:#0078d4; color:#fff; font-size:11px; font-weight:700; line-height:1.15; box-shadow:0 1px 3px rgba(0,0,0,.14); }
.related-recommendation .product-visual::before, .related-recommendation .product-visual::after { display:none; }
@media (max-width:640px) { .product-actions { grid-template-columns:minmax(0,1fr) 46px; } .product-actions .product-cart-icon { width:46px; min-width:46px; } .page-actions .product-actions--hero { flex-basis:100%; } .related-section-sub { font-size:16px; margin-bottom:24px; } }

/* Согласованная компоновка страницы продукта. Все правила ограничены только
   товарной страницей и не затрагивают каталог, оплату или другие разделы. */
.product-detail-hero { padding:54px 32px 70px; }
.product-detail-hero .page-hero-inner { grid-template-columns:minmax(0,1.48fr) minmax(360px,.92fr); gap:46px; align-items:start; }
.product-detail-hero .page-label { display:none; }
.product-detail-hero h1 { max-width:690px; margin:24px 0 18px; font-size:clamp(38px,4.3vw,58px); line-height:1.14; }
.product-detail-hero .page-hero-inner > div:first-child > p { max-width:720px; font-size:18px; line-height:1.65; }
.availability-badge { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; color:#168a43; background:#edf8f0; font-size:14px; font-weight:700; }
.availability-badge::before { content:""; width:8px; height:8px; border-radius:50%; background:#20aa55; box-shadow:0 0 0 4px #d7f3df; }
.product-detail-hero .product-rating { margin:21px 0 28px; }
.edition-check { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; max-width:760px; padding:20px 23px; border:1px solid #bddbf6; border-radius:13px; background:#eef7ff; }
.edition-mark { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; color:#0078d4; background:#fff; font-size:25px; font-weight:800; }
.edition-check strong { display:block; margin-bottom:5px; }
.edition-check p { margin:0; color:#516a84; font-size:14px; line-height:1.5; }
.edition-check a { color:#0067af; font-weight:700; text-decoration:underline; white-space:nowrap; }
.hero-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 36px; max-width:760px; margin:29px 0 0; padding:0; list-style:none; }
.hero-benefits li { position:relative; min-height:43px; padding-left:47px; color:#17314a; font-weight:700; }
.hero-benefits li::before { content:"✓"; position:absolute; left:0; top:0; display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:#168a43; background:#e4f7e9; }
.hero-benefits small { display:block; margin-top:4px; color:#5d7187; font-size:14px; font-weight:400; line-height:1.35; }
.product-copy-actions { display:none; }
.product-detail-card { position:relative; overflow:hidden; padding:28px 42px 0; border:1px solid #dce5ed; border-radius:22px; background:#fff; box-shadow:0 12px 30px rgb(20 49 75 / 12%); }
.product-detail-card .product-accent-line { display:none; }
.product-detail-card .product-icon { width:52px; height:52px; gap:3px; margin-bottom:19px; }
.product-detail-card h3 { margin:0 0 13px; font-size:29px; line-height:1.2; }
.product-detail-card .product-version { margin-bottom:20px; }
.product-detail-card .product-price { font-size:36px; }
.product-detail-card > .product-rating { display:none !important; }
.product-detail-card .card-features { display:none; }
.product-detail-card .card-features li { align-items:center; gap:15px; padding:0; color:#263b50; font-size:16px; line-height:1.35; }
.product-detail-card .card-features li::before { width:25px; height:25px; background-size:15px; }
.product-detail-card .price-row { margin-bottom:12px; }
.product-detail-card > .product-actions { margin-top:10px; }
.product-detail-card .payment-note { margin:16px 0 20px; color:#5d7187; text-align:center; font-size:13px; }
.quick-stats { display:grid; grid-template-columns:repeat(3,1fr); margin:0 -42px; border-top:1px solid #dce5ed; background:#f7fafc; }
.quick-stats div { padding:17px 7px; border-right:1px solid #dce5ed; text-align:center; color:#526b85; font-size:13px; }
.quick-stats div:last-child { border-right:0; }
.quick-stats b { display:block; margin-bottom:3px; color:#1c2d40; font-size:15px; }
.product-related-section { margin-top:0; padding-top:48px; border-top:1px solid #e8edf1; }
.product-related-section .section-inner { max-width:1180px; }
.product-related-section .section-title { margin-bottom:5px; font-size:32px; }
.product-related-section .related-section-sub { margin:0 0 25px; color:#647385; }
.product-related-section .related-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.product-related-section .product-card { padding:22px; }
.product-related-section .product-visual { width:calc(100% + 44px); margin:-22px -22px 17px; aspect-ratio:960 / 621; }
.product-related-section .product-name { min-height:48px; font-size:18px; }
.product-related-section .product-version { min-height:40px; font-size:13px; }
.product-related-section .product-price { font-size:25px; }
.product-related-section .product-delivery { margin:11px 0 15px; font-size:13px; }
.related-recommendation { border-color:#8fc3eb; box-shadow:0 5px 17px rgb(0 120 212 / 13%); }
.related-recommend-label { top:12px; left:12px; z-index:5; color:#176da8; background:#fff; border:1px solid #dce5ed; box-shadow:0 2px 7px rgb(20 58 88 / 14%); }
.product-detail-page > .section:not(#productReviewsSection):not(.product-related-section) { padding-top:48px; padding-bottom:48px; }
.product-detail-page > .section > .section-inner { width:100%; box-sizing:border-box; }
@media (max-width:1100px) { .product-detail-hero .page-hero-inner { grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:28px; } .product-detail-card { padding-left:28px; padding-right:28px; } .quick-stats { margin-left:-28px; margin-right:-28px; } .product-related-section .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .product-detail-hero { padding:38px 20px 42px; } .product-detail-hero .page-hero-inner { grid-template-columns:1fr; gap:22px; } .product-detail-hero h1 { font-size:36px; } .product-detail-hero .page-hero-inner > div:first-child > p { font-size:16px; } .edition-check { grid-template-columns:auto minmax(0,1fr); gap:12px; padding:17px; } .edition-check a { grid-column:2; white-space:normal; } .hero-benefits { grid-template-columns:1fr; gap:17px; } .product-detail-card { padding:25px 24px 0; } .quick-stats { margin-left:-24px; margin-right:-24px; } .product-detail-page > .section:not(#productReviewsSection):not(.product-related-section) { padding-top:32px; padding-bottom:32px; } .product-related-section { padding:34px 20px 54px; } .product-related-section .section-title { font-size:28px; } .product-related-section .related-grid { grid-template-columns:1fr; } .product-related-section .product-card { max-width:460px; } }
