.product-review-section{margin-top:0;padding:20px 0 32px;background-color:transparent;font-family:var(--font-family)}.product-review-skeleton{display:grid;grid-gap:12px;gap:12px;max-width:640px}.product-review-skeleton__line{height:14px;border-radius:6px}.product-review-skeleton__card,.product-review-skeleton__line{background:linear-gradient(90deg,#f0ebe3 25%,#e8dfd2 50%,#f0ebe3 75%);background-size:200% 100%;animation:product-review-shimmer 1.3s linear infinite}.product-review-skeleton__card{height:120px;border-radius:8px}@keyframes product-review-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.product-review-compact-state{padding:8px 0;color:var(--text-tertiary);font-size:.92rem;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.review-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;padding-bottom:15px;border-bottom:1px solid var(--border-light)}.review-header__title-group{display:flex;flex-direction:column;gap:6px}.review-header h3{font-size:1.5rem;font-weight:600;color:var(--text-secondary);margin:0;font-family:Playfair Display,serif;letter-spacing:.04em}.review-summary{margin:0;font-size:.9rem;color:var(--text-tertiary);font-family:var(--font-family)}.review-summary__rating{color:var(--accent-gold);font-weight:600}.write-review-btn{background-color:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary);padding:10px 18px;min-height:44px;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .3s ease;font-weight:500;white-space:nowrap}.write-review-btn:focus-visible,.write-review-btn:hover{background-color:var(--text-secondary);color:var(--text-white);outline:2px solid var(--accent-gold);outline-offset:2px}.no-reviews--compact{text-align:center;padding:16px 0 8px;background:transparent;box-shadow:none}.no-reviews__title{font-size:1.05rem;color:var(--text-secondary);margin:0 0 6px;font-family:Playfair Display,serif;font-weight:600}.no-reviews__hint{color:var(--text-tertiary);font-size:.88rem;margin:0 0 16px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.review-card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;min-width:0}.review-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.review-card__name{margin:0;font-size:1rem;font-weight:600;color:var(--text-secondary);font-family:Playfair Display,serif;word-break:break-word}.review-card__city{margin:4px 0 0;font-size:.82rem;color:var(--accent-gold)}.review-card__rating{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.review-card__rating-value{font-family:Cormorant Garamond,Playfair Display,serif;font-size:1rem;font-weight:600;line-height:1;color:#8a6318;letter-spacing:.02em}.star-rating--display{gap:1px}.star-rating--display .star.empty{color:#d8cfc0}.review-card__text{color:var(--text-secondary);line-height:1.65;margin:0;word-break:break-word;white-space:pre-wrap}.review-card__image-wrap{position:relative;width:100%;max-width:160px;aspect-ratio:1;border-radius:6px;overflow:hidden}.review-card__image{width:100%;height:100%;object-fit:cover}.review-card__date{font-size:.78rem;color:var(--text-tertiary);margin-top:auto}.star-rating{display:flex;gap:2px;flex-shrink:0}.star-rating--interactive{gap:4px}.star-rating__label{position:relative;cursor:pointer;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.star-rating__input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.star-rating__input:focus-visible+.star{outline:2px solid var(--accent-gold);outline-offset:2px;border-radius:2px}.star{font-size:1.15rem;color:var(--text-light);transition:color .2s ease;line-height:1}.star.filled{color:var(--accent-gold)}.star-rating__label:focus-within .star,.star-rating__label:hover .star{color:var(--accent-gold)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.55);display:flex;justify-content:center;align-items:center;z-index:10030;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));box-sizing:border-box}.review-modal{background-color:#fdfbf7;border-radius:10px;padding:0;max-width:440px;width:100%;max-height:calc(100vh - 48px);overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.28)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--border-light);background:#fdfbf7}.modal-header h3{font-size:1.2rem;color:var(--text-secondary);margin:0;font-weight:600;font-family:Playfair Display,serif}.modal-subtitle{display:none}.close-modal-btn{background:none;border:none;font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;padding:0;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;transition:all .2s ease}.close-modal-btn:focus-visible,.close-modal-btn:hover{background-color:var(--bg-light);color:var(--text-secondary);outline:2px solid var(--accent-gold);outline-offset:2px}.review-form{padding:14px 18px 18px}.review-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-group{margin-bottom:12px}.form-group--file{margin-bottom:14px}.form-group label,.form-label{display:block;margin-bottom:6px;font-weight:600;color:var(--text-secondary);font-size:.85rem;letter-spacing:.02em}.required{color:var(--accent-gold)}.form-group input[type=email],.form-group input[type=tel],.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;min-height:42px;border:1px solid var(--border-light);border-radius:4px;font-size:.95rem;font-family:inherit;background:#fff;color:var(--text-secondary);transition:border-color .2s ease;box-sizing:border-box}.form-group textarea{min-height:72px;max-height:88px;resize:none}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 2px rgba(184,134,11,.15)}.form-group input[type=file]{width:100%;padding:10px;min-height:44px;border:1px solid var(--border-light);border-radius:4px;background-color:#fff;font-size:.88rem}.form-error{margin:6px 0 0;font-size:.82rem;color:var(--accent-error,#c0392b)}.form-error--global{margin-bottom:12px;padding:10px 12px;background:#fdf0ee;border-radius:4px}.form-actions{display:flex;gap:10px;margin-top:4px}.cancel-review-btn{flex:1 1;min-height:48px;background:transparent;border:1px solid var(--border-light);color:var(--text-secondary);border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-review-btn:focus-visible,.cancel-review-btn:hover:not(:disabled){border-color:var(--text-secondary);outline:2px solid var(--accent-gold);outline-offset:2px}.submit-review-btn{flex:2 1;min-height:48px;background-color:var(--primary-dark);color:var(--text-white);border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.submit-review-btn:focus-visible,.submit-review-btn:hover:not(:disabled){filter:brightness(1.05);outline:2px solid var(--accent-gold);outline-offset:2px}.cancel-review-btn:disabled,.submit-review-btn:disabled{opacity:.6;cursor:not-allowed}.review-success{padding:24px 20px 28px;text-align:center}.review-success p{color:var(--text-secondary);line-height:1.6;margin:0 0 20px;font-size:.95rem}@media (max-width:1024px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.product-review-section{padding:16px 0 24px}.review-header{flex-direction:column;align-items:flex-start;gap:12px}.review-header h3{font-size:1.15rem}.reviews-grid{grid-template-columns:1fr;gap:16px}.review-card{padding:16px}}@media (max-width:480px){.modal-overlay{padding:16px 12px}.modal-header,.review-form{padding-left:14px;padding-right:14px}.modal-header{padding-top:14px;padding-bottom:10px}.review-form{padding-top:12px;padding-bottom:14px}.form-actions{gap:8px}.cancel-review-btn,.submit-review-btn{min-height:44px;font-size:.9rem}.star-rating__label{min-width:36px;min-height:36px}}