.review-form-section{padding:80px 24px;background:#f7f8fa;min-height:60vh}
.review-form-inner{max-width:560px;margin:0 auto}
.review-header{text-align:center;margin-bottom:32px}
.review-eyebrow{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:10px}
.review-header h1{font-family:'DM Sans',sans-serif;font-size:32px;font-weight:700;color:var(--navy-dark);margin:0 0 10px}
.review-header p{font-size:15px;color:#6b7a85;line-height:1.6;margin:0}

.review-summary-card{background:#fff;border:1px solid #e6eaee;border-radius:14px;padding:24px 28px;margin-bottom:28px}
.review-summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f2f4;font-size:14px}
.review-summary-row:last-child{border-bottom:none}
.review-summary-row span{color:#8a97a1}
.review-summary-row strong{color:#20303c;font-weight:600;text-align:right}

.review-status-card{background:#fff;border:1px solid #e6eaee;border-radius:14px;padding:48px 32px;text-align:center}
.review-status-card i{font-size:40px;color:var(--gold);margin-bottom:16px;display:block}
.review-status-card h1{font-family:'DM Sans',sans-serif;font-size:24px;font-weight:700;color:var(--navy-dark);margin:0 0 12px}
.review-status-card p{font-size:15px;color:#6b7a85;line-height:1.6;margin:0}
.review-status-card a{color:var(--gold);font-weight:600}

.review-errors{background:#fdecea;border:1px solid #f2b8b5;border-radius:10px;padding:14px 18px;margin-bottom:20px}
.review-errors p{margin:0 0 4px;font-size:13.5px;color:#b3261e}
.review-errors p:last-child{margin-bottom:0}

.review-form{background:#fff;border:1px solid #e6eaee;border-radius:14px;padding:28px 28px 32px;display:flex;flex-direction:column}
.review-field-label{font-size:13px;font-weight:700;color:#20303c;margin:18px 0 8px}
.review-field-label:first-child{margin-top:0}
.review-form textarea,.review-form input[type="text"]{border:1.5px solid #dfe4e8;border-radius:10px;padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:14.5px;color:#20303c;resize:vertical}
.review-form textarea:focus,.review-form input[type="text"]:focus{outline:none;border-color:var(--gold)}
.review-field-hint{font-size:12px;color:#9ca3af;margin:6px 0 0}

.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.star-rating input{display:none}
.star-rating label{font-size:34px;color:#e0e4e8;cursor:pointer;padding:6px;transition:color .1s}
.star-rating label i{pointer-events:none}
.star-rating input:checked ~ label{color:var(--gold)}
.star-rating label:hover,
.star-rating label:hover ~ label{color:#f0d9a8}
.star-rating-status{font-size:13px;color:#8a97a1;margin:8px 0 0}
.star-rating-status strong{color:#20303c}

.review-submit-btn{margin-top:24px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;align-self:flex-start}

.reviews-hero{padding:100px 24px 60px;background:linear-gradient(rgba(8,30,55,.82),rgba(13,63,92,.75)),url(../assets/mairochalet/mairo-chalet27.jpg) center/cover no-repeat;text-align:center;color:#fff}
.reviews-hero-inner{max-width:640px;margin:0 auto}
.reviews-hero h1{font-family:'Quicksand',sans-serif;font-size:42px;font-weight:700;margin:0 0 14px}
.reviews-hero h1 em{font-style:normal;color:var(--gold-light)}
.reviews-hero > .reviews-hero-inner > p{font-size:16px;color:rgba(255,255,255,.75);margin:0 0 20px}
.reviews-hero-stats{display:flex;flex-direction:column;align-items:center;gap:8px}
.reviews-hero-stars i{font-size:18px;color:var(--gold-light);margin:0 2px}
.reviews-hero-stars i.star-empty{color:rgba(255,255,255,.25)}
.reviews-hero-stats span{font-size:13.5px;color:rgba(255,255,255,.7)}

.reviews-list-section{padding:60px 24px 90px;background:#f7f8fa}
.reviews-list-inner{max-width:1600px;margin:0 auto}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.review-card{background:#fff;border:1px solid #e6eaee;border-radius:14px;padding:26px}
.review-card-stars i{font-size:14px;color:var(--gold);margin-right:2px}
.review-card-stars i.star-empty{color:#e0e4e8}
.review-card-text{font-size:14.5px;color:#3d4a54;line-height:1.65;margin:14px 0 18px}
.review-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f2f4;padding-top:14px}
.review-card-name{font-weight:700;font-size:13.5px;color:var(--navy-dark)}
.review-card-date{font-size:12px;color:#9ca3af}

.home-reviews-section{padding:90px 24px;background:#fff}
.home-reviews-inner{max-width:1100px;margin:0 auto}
.home-reviews-header{text-align:center;margin-bottom:40px}
.home-reviews-header .review-eyebrow{margin-bottom:12px}
.home-reviews-header h3{font-family:'DM Sans',sans-serif;font-size:32px;font-weight:700;color:var(--navy-dark);margin:0 0 12px}
.home-reviews-header p{font-size:15px;color:#6b7a85;margin:0}
.home-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:36px}
.home-reviews-footer{text-align:center}

@media(max-width:960px){
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:640px){
  .reviews-hero h1{font-size:30px}
  .review-summary-row{flex-direction:column;align-items:flex-start;gap:2px}
  .review-summary-row strong{text-align:left}
  .reviews-grid{grid-template-columns:1fr}
}
