 .header-spacer { height: 160px; width: 100%; }
        .main { flex-grow: 1; padding-bottom: 80px; }
        .product-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
        .product-gallery { background: #fff; border-radius: 20px; overflow: hidden; border: 1px solid #f0f0f0; box-shadow: 0 10px 30px rgba(0,0,0,0.03); display: flex; align-items: center; justify-content: center; min-height: 500px; position: sticky; top: 120px; transition: 0.3s; cursor: pointer; }
        .product-gallery:hover { box-shadow: 0 15px 40px rgba(0,0,0,0.08); }
        .product-gallery img { width: 100%; height: auto; object-fit: cover; display: block; }
        .product-details { display: flex; flex-direction: column; gap: 25px; }
        .product-title { font-family: 'Playfair Display', serif; font-size: 40px; font-weight: 500; color: #111 ; line-height: 1.2; margin-top: 0;margin-bottom: 10px; }
        .product-price-box { background: var(--emerald-dark); padding: 5px 30px; border-radius: 20px; border: 2px solid rgba(207, 168, 110, 0.4); box-shadow: 0 10px 25px rgba(207, 168, 110, 0.05); }
        .price-val { font-size: 38px; font-weight: 600; color: var(--main-gold); margin-bottom: 5px; transition: 0.3s; }
        .price-val span { color: #f0f0f0 ; font-size: 30px; font-weight: 500; margin-right: 5px; }
        .price-text { font-size: 13px; color: #f0f0f0; line-height: 1.4; }
        .old-price, .discount{
            color: #f0f0f0;
        }

        .product-desc-box { background: #fff; padding: 25px 30px; border-radius: 20px; border: 1px solid #f0f0f0; box-shadow: 0 10px 30px rgba(0,0,0,0.02); font-size: 14px; line-height: 1.6; color: #444; }
        .product-desc-box p { margin-bottom: 15px; }
        .product-desc-box p:last-child { margin-bottom: 0; }
        
        .config-group { margin-bottom: 10px; }
        .config-label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 15px; color: #111; }
        .options-list { display: flex; flex-wrap: wrap; gap: 10px; }
        .opt-btn {    display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  padding-bottom: 2px;
  padding-right: 8px;
  padding-left: 8px;
  border-radius: 50px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  transition: 0.3s;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  color: #333;}
        .opt-btn:hover { border-color: var(--main-gold); }
        .opt-btn.active { border-color: var(--main-gold); box-shadow: 0 4px 15px rgba(207, 168, 110, 0.3); }

        .dim-input-group { display: flex; gap: 15px; }
        .dim-input-wrapper { flex: 1; position: relative; }
        .dim-input-wrapper input { width: 100%; padding: 15px 20px; border: 1px solid #ddd; border-radius: 10px; font-family: inherit; font-size: 15px; outline: none; transition: 0.3s; }
        .dim-input-wrapper input:focus { border-color: var(--main-gold); box-shadow: 0 0 0 3px rgba(207, 168, 110, 0.1); }
        .dim-input-wrapper span { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); color: #999; font-size: 14px; pointer-events: none; }

        .btn-order { background-color: var(--main-gold); color: #fff; padding: 18px 40px; border-radius: 30px; font-size: 15px; font-weight: 600; border: none; cursor: pointer; transition: 0.3s; width: 100%; margin-top: 10px; box-shadow: 0 10px 20px rgba(207, 168, 110, 0.3); }
        .btn-order:hover { background-color: var(--main-gold-hover); transform: translateY(-2px); }

        /* СТИЛИ ДЛЯ ГОРИЗОНТАЛЬНЫХ КАРТОЧЕК ОТЗЫВОВ */
        .review-card-horizontal { display: flex; flex-direction: row; border: 1px solid #f0f0f0; border-radius: 15px; background: #fafafa; overflow: hidden; height: 100%; width: 100%; }
        .review-card-horizontal .review-img-box { width: 200px; flex-shrink: 0; cursor: pointer; position: relative; }
        .review-card-horizontal .review-img-box img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .review-card-horizontal .review-text-box { flex-grow: 1; display: flex; flex-direction: column; padding: 25px; justify-content: center; }

        .toggle-row { display: flex; justify-content: space-between; align-items: center; padding: 15px; background: #fafafa; border-radius: 10px; border: 1px solid #eee; margin-bottom: 10px; }
        .toggle-row label { font-size: 14px; font-weight: 500; color: #111; cursor: pointer; display: flex; align-items: center; gap: 1px;}
        .switch { position: relative; display: inline-block; width: 50px; height: 24px; }
        .switch input { opacity: 0; width: 0; height: 0; }
        .slider-toggle { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 34px; }
        .slider-toggle:before { position: absolute; content: ""; height: 16px; width: 16px; left: 4px; bottom: 4px; background-color: white; transition: .4s; border-radius: 50%; }
        input:checked + .slider-toggle { background-color: var(--main-gold); }
        input:checked + .slider-toggle:before { transform: translateX(26px); }
        @media (max-width: 900px) { 
            .product-layout { grid-template-columns: 1fr; gap: 30px; }
            .header-spacer { height: 100px; }
            .product-gallery { position: relative; top: 0; min-height: auto; }
        }
        @media (max-width: 650px) {
            .product-title { font-size: 28px; }
            .product-gallery img { height: 300px; object-fit: cover; }
            .product-price-box, .product-desc-box { padding: 20px; }
            .price-val { font-size: 32px; }
            .btn-order { padding: 16px 20px; width: 100%; text-align: center; }
            .dim-input-group { flex-direction: column; gap: 10px; }
            /* На мобильных переворачиваем отзыв обратно в вертикальный вид */
            .review-card-horizontal { flex-direction: column; }
            .review-card-horizontal .review-img-box { width: 100%; height: 200px; }
        }