/* Estilos aislados: no modifican la landing. */
.review-modal{position:fixed;inset:0;margin:auto;padding:0;width:min(790px,calc(100% - 36px));max-width:none;max-height:calc(100dvh - 36px);border:1px solid #fff8;border-radius:22px;background:#FAF7F2;color:#0e1e2d;overflow:auto;overscroll-behavior:contain;box-shadow:0 25px 80px #08142040;font-family:'Plus Jakarta Sans',sans-serif;scrollbar-width:thin}
.review-modal:not([open]){display:none}
.review-modal::backdrop{background:rgba(8,20,32,0);backdrop-filter:blur(0);transition:background .18s ease,backdrop-filter .18s ease}
.review-modal.is-visible::backdrop{background:rgba(8,20,32,.48);backdrop-filter:blur(2px)}
.review-panel{position:relative;padding:30px 42px 26px;opacity:0;transform:translateY(12px);transition:opacity .18s ease,transform .18s ease}
.review-modal.is-visible .review-panel{opacity:1;transform:translateY(0)}
.review-close{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:#68717a;font-size:34px;font-weight:300;line-height:1;border-radius:50%;cursor:pointer}
.review-close:hover{background:#0e1e2d08;color:#0e1e2d}
.review-brand{text-align:center;margin:0 auto 19px;width:max-content;max-width:80%;color:#0e1e2d}
.review-brand>span{display:block;font-family:'Playfair Display',serif;font-size:40px;letter-spacing:.16em;line-height:1.2;padding-left:.16em}
.review-brand small{display:flex;align-items:center;justify-content:center;gap:10px;font-size:9px;letter-spacing:.3em;margin-top:3px}
.review-brand small:before,.review-brand small:after{content:'';height:1px;width:22px;background:#b69965}
.review-modal h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3.3vw,43px);font-weight:500;letter-spacing:-.035em;line-height:1.12;text-align:center;margin:0;color:#0e1e2d}
.review-rule{width:42px;height:2px;background:#ac8f5c;margin:17px auto 13px}
#review-description{text-align:center;color:#55616e;font-size:14px;line-height:1.6;margin:0 0 22px}
.review-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px}
.review-field{min-width:0}.review-wide{grid-column:1/-1}
.review-field label{display:block;font-family:Newsreader,serif;color:#0e1e2d;font-size:18px;line-height:1.3;margin-bottom:7px}
.review-field label span{font-size:16px}
.review-field input,.review-field textarea{display:block;width:100%;min-height:48px;margin:0;padding:12px 15px;border:1px solid #c8c6c1;border-radius:7px;background:#ffffff50;color:#0e1e2d;font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;line-height:1.5;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.review-field textarea{min-height:92px;max-height:220px;resize:vertical}
.review-field input::placeholder,.review-field textarea::placeholder{color:#7b8490;opacity:1}
.review-field input:focus,.review-field textarea:focus{outline:none;border-color:#a88b58;box-shadow:0 0 0 3px #a88b581c}
.review-field [aria-invalid=true]{border-color:#a34837}
.review-field-error{font-size:12px;line-height:1.45;color:#973e2e;margin:5px 0 0}
.review-field-error:empty{display:none}
.review-status{font-size:13px;line-height:1.6;color:#823c2f;background:#823c2f08;border:1px solid #823c2f22;padding:11px 13px;border-radius:7px;margin:16px 0 0}
.review-submit{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;min-height:54px;padding:12px 20px;margin-top:21px;border:1px solid #0e1e2d;border-radius:8px;background:#0e1e2d;color:#FAF7F2;font-family:Newsreader,serif;font-size:23px;line-height:1.3;cursor:pointer;box-shadow:0 5px 15px #08142016;transition:background .15s,box-shadow .15s}
.review-submit:hover{background:#1b2e40;box-shadow:0 7px 18px #08142024}
.review-arrow{transition:transform .15s}.review-submit:hover .review-arrow{transform:translateX(4px)}
.review-submit:disabled{opacity:.65;cursor:wait}
.review-privacy{text-align:center;font-size:11px;line-height:1.6;color:#64707a;margin:15px auto 0;max-width:490px}
.review-success{padding:24px 0;text-align:center}.review-success h3{font-family:'Playfair Display',serif;font-size:30px;line-height:1.3;margin:0 0 12px}.review-success p{font-size:15px;line-height:1.6}
@media(max-width:600px){.review-modal{width:calc(100% - 32px);max-height:calc(100dvh - 24px);border-radius:16px}.review-panel{padding:24px 20px}.review-brand{margin-bottom:20px}.review-brand>span{font-size:34px}.review-modal h2{font-size:30px}.review-fields{grid-template-columns:1fr;gap:14px}.review-field label{font-size:17px}.review-field label span{font-size:14px}#review-description{font-size:13px}.review-submit{min-height:54px;font-size:22px}.review-privacy{font-size:11px}.review-close{top:5px;right:5px}}
@media(prefers-reduced-motion:reduce){.review-panel,.review-modal::backdrop,.review-arrow{transition:none;transform:none}}
