/* Formularios de contacto y reseñas + listado de reseñas */
.vm-form-wrap{max-width:820px;margin:0 auto;background:var(--black-card);border:1px solid rgba(184,134,11,0.18);padding:2.4rem 2.2rem;position:relative}
.vm-form-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--gold),transparent)}
.vm-form-wrap h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.7rem,3.5vw,2.3rem);color:var(--white);margin:0 0 0.4rem;text-align:center}
.vm-form-wrap h2 em{color:var(--gold-dark)}
.vm-form-intro{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--white-dim);text-align:center;margin:0 0 1.8rem;font-size:1.05rem}
.vm-form .f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.vm-form .f-group{margin-bottom:1rem}
.vm-form .f-label{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.32em;color:var(--gold-dark);text-transform:uppercase;display:block;margin-bottom:0.5rem}
.vm-form .f-input,.vm-form .f-textarea,.vm-form select{width:100%;box-sizing:border-box;background:rgba(184,134,11,0.04);border:1px solid rgba(184,134,11,0.25);color:var(--white);padding:0.8rem 1rem;font-family:'Raleway',sans-serif;font-size:0.9rem;font-weight:300;outline:none;transition:border-color 0.3s;border-radius:0}
.vm-form .f-input:focus,.vm-form .f-textarea:focus,.vm-form select:focus{border-color:rgba(184,134,11,0.6)}
.vm-form .f-textarea{resize:vertical;min-height:130px}
.vm-form .f-hint{font-family:'Raleway',sans-serif;font-size:0.74rem;color:var(--text-mute);margin-top:0.35rem;display:block}
.vm-form .f-check{display:flex;gap:0.6rem;align-items:flex-start;font-family:'Raleway',sans-serif;font-size:0.82rem;color:var(--white-dim);line-height:1.5;margin:0.6rem 0 1.2rem}
.vm-form .f-check input{margin-top:0.2rem;accent-color:var(--gold-dark);width:16px;height:16px;flex-shrink:0}
.vm-form .f-check a{color:var(--gold-dark)}
.vm-form .vm-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.vm-form button[type=submit]{width:100%}
.vm-form-msg{margin-top:1rem;padding:0.9rem 1.1rem;font-family:'Raleway',sans-serif;font-size:0.9rem;line-height:1.5;display:none}
.vm-form-msg.ok{display:block;border:1px solid rgba(26,107,48,0.4);background:rgba(26,107,48,0.08);color:#1a6b30}
.vm-form-msg.err{display:block;border:1px solid rgba(125,43,43,0.4);background:rgba(125,43,43,0.07);color:#7d2b2b}
.vm-stars-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:0.25rem}
.vm-stars-input input{position:absolute;opacity:0;width:1px;height:1px}
.vm-stars-input label{font-size:1.9rem;line-height:1;color:rgba(184,134,11,0.3);cursor:pointer;transition:color 0.15s}
.vm-stars-input label:hover,.vm-stars-input label:hover~label,.vm-stars-input input:checked~label{color:var(--gold)}
.vm-stars-input input:focus-visible+label{outline:2px solid var(--gold);outline-offset:2px}
/* Listado */
.vm-reviews-summary{text-align:center;margin:0 auto 2rem;font-family:'Cormorant Garamond',serif;color:var(--white-dim);font-size:1.1rem}
.vm-reviews-summary strong{font-size:2.2rem;color:var(--gold-dark);font-weight:600;margin-right:0.4rem}
.vm-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;text-align:left}
.vm-review{background:var(--black-card);padding:1.6rem;border:1px solid rgba(184,134,11,0.18)}
.vm-review-stars{color:var(--gold);letter-spacing:0.12em;margin-bottom:0.7rem}
.vm-review p{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--white-dim);line-height:1.65;font-style:italic;margin:0 0 1rem;white-space:pre-line}
.vm-review-author{border-top:1px solid rgba(184,134,11,0.15);padding-top:0.8rem;font-family:'Raleway',sans-serif;font-size:0.8rem;color:var(--text-mute)}
.vm-review-author strong{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.22em;color:var(--gold-dark);text-transform:uppercase;display:block;margin-bottom:0.2rem}
.vm-verified{display:inline-block;margin-top:0.35rem;font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.18em;text-transform:uppercase;color:#1a6b30;border:1px solid rgba(26,107,48,0.4);background:rgba(26,107,48,0.08);padding:0.15rem 0.45rem}
.vm-reviews-empty{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--white-dim);text-align:center;font-size:1.1rem}
@media(max-width:640px){.vm-form-wrap{padding:1.8rem 1.2rem}.vm-form .f-row{grid-template-columns:1fr;gap:0}}
