.f4u-review-page{background:#f8faf8;color:#21333a}.review-hero{background:radial-gradient(circle at 85% 10%,#314f4a 0,transparent 35%),linear-gradient(120deg,#101f29,#183a38);color:#fff;padding:65px 0 65px}
.review-hero h1{font-weight:850;font-size:clamp(2.1rem,5vw,3.6rem);letter-spacing:-.035em}.review-hero p{max-width:650px;color:#d9eae4;font-size:1.1rem}.review-eyebrow{color:#f9cb72;font-size:.84rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.review-card,.review-form-card,.review-qr-card{border:1px solid #e4eae7;border-radius:22px;background:#fff;box-shadow:0 16px 54px rgba(22,43,34,.07)}.review-form-card{padding:clamp(22px,4vw,40px)}.review-qr-card{padding:24px;text-align:center;position:sticky;top:100px}
.review-qr-img{max-width:240px;width:100%;height:auto;image-rendering:crisp-edges;border:1px solid #ecf0ed;border-radius:15px;background:#fff;padding:8px}.review-form-card h2{font-size:1.65rem;font-weight:800;color:#162b29}.review-qr-card h2{font-size:1.2rem;font-weight:800}.review-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px}.review-rating input{position:absolute;opacity:0}.review-rating label{cursor:pointer;font-size:2.4rem;line-height:1.2;color:#c6d1c9;transition:color .15s}.review-rating label:hover,.review-rating label:hover~label,.review-rating input:checked~label{color:#d69d34}.review-rating input:focus-visible+label{outline:2px solid #1e6f72;border-radius:4px}.review-form-card input,.review-form-card select,.review-form-card textarea{border-radius:12px;border-color:#cedbd4;padding:12px 14px}.review-form-card textarea{min-height:145px;resize:vertical}.review-form-card label:not(.star-label){font-weight:700}.review-form-card .btn{border-radius:12px;padding:13px 23px;font-weight:800}.review-form-card .btn-primary{background:#18665c;border-color:#18665c}.review-form-card .btn-primary:hover{background:#105148}
.review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:19px}.review-card{padding:25px;box-shadow:0 7px 26px rgba(22,43,34,.045)}.review-card .stars{color:#cd9530;font-size:1.3rem;letter-spacing:.12em}.review-card blockquote{border:none;font-size:1rem;color:#35464a;margin:12px 0 18px;overflow-wrap:anywhere}.review-place{font-size:.85rem;color:#4f6960}.review-card .review-author{font-weight:800}.review-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.review-section-title{font-weight:850;font-size:1.8rem;color:#162b29}
.review-filter{max-width:260px}.f4u-review-page .alert{border-radius:14px}.review-qr-link{overflow-wrap:anywhere;font-size:.82rem}.review-tag{display:inline-flex;gap:6px;align-items:center;border-radius:999px;background:#ecf6f0;color:#376e5c;padding:5px 12px;font-size:.77rem;font-weight:700}

/* Clear field-level feedback and consent validation. */
.f4u-review-page .review-field-check{display:inline-flex;align-items:center;vertical-align:middle;margin-left:5px;color:#198754;opacity:0;transform:scale(.8);transition:opacity .16s ease,transform .16s ease}
.f4u-review-page .review-field-check.is-complete{opacity:1;transform:scale(1)}
.f4u-review-page .review-inline-error{font-size:.875rem;color:#b42318;margin-top:6px;min-height:0}
.f4u-review-page .review-has-error .review-rating label{filter:drop-shadow(0 0 1px rgba(180,35,24,.35))}
.f4u-review-page .review-form-status{background:#f2f5f3;border:1px solid #dde6de;border-radius:12px;padding:11px 14px;color:#45574f;font-size:.9rem;line-height:1.5;margin-bottom:14px}
.f4u-review-page .review-form-status.review-ready{background:#e8f6ed;border-color:#bfe6cc;color:#136936;font-weight:650}
.f4u-review-page #review-submit-button:disabled{background:#77867e;border-color:#77867e;color:white;cursor:not-allowed;opacity:.75}
.f4u-review-page .review-success-message{display:flex;align-items:flex-start;gap:14px;padding:19px;border:1px solid #a5ddb6;background:#eaf8ee;color:#135c2a;box-shadow:0 7px 22px rgba(18,110,49,.07)}
.f4u-review-page .review-success-icon{font-size:2rem;line-height:1.1;flex-shrink:0}
.f4u-review-page .review-is-valid{border-color:#6fbd8e}
.f4u-review-page .form-check-input.is-invalid{border-color:#dc3545}
@media (max-width:575.98px){.f4u-review-page #review-submit-button{width:100%}}

/* English / മലയാളം language selector and local offline Malayalam keyboard */
.review-lang-switch{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin:0 0 18px}
.review-lang-label{color:#e1efee;font-size:.83rem;font-weight:600;margin-right:6px}
.review-lang-option{display:inline-flex;align-items:center;padding:7px 15px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:white;text-decoration:none;font-weight:750;font-size:.88rem;transition:background-color .18s}
.review-lang-option:hover,.review-lang-option:focus-visible{background:#fff;color:#10352e}
.review-lang-option.is-active{background:#ffcf63;color:#202c25;border-color:#ffcf63}
.review-keyboard-wrap{background:#f0f8f4;border:1px solid #d4e8dd;border-radius:14px;padding:13px 15px}
.review-keyboard-toggle{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;border-radius:10px;border:1px solid #1a7664;background:#fff;color:#145e50;font-weight:750;font-size:.9rem}
.review-keyboard-toggle:hover{background:#e7f6ed}
.review-keyboard-helper{color:#355b4d;font-size:.83rem;line-height:1.5}
.review-keyboard{border-top:1px solid #ccddcf;padding-top:14px;margin-top:10px}
.review-keyboard[hidden]{display:none!important}
.review-keyboard-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.88rem;font-weight:700;margin-bottom:12px}
.review-keyboard-toolbar select{min-width:145px;max-width:260px;border-color:#adcfc1;background:#fff}
.review-keyboard-group-title{font-size:.83rem;font-weight:750;color:#365b4f;margin:14px 0 8px}
.review-keyboard-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(41px,1fr));gap:5px}
.review-keyboard-row button.review-ml-key{height:45px;border:1px solid #bcd5c8;border-radius:9px;background:#fff;color:#173e34;font-family:system-ui,"Noto Sans Malayalam",sans-serif;font-size:1.16rem;font-weight:600;line-height:1;touch-action:manipulation}
.review-keyboard-row button.review-ml-key:hover,.review-keyboard-row button.review-ml-key:focus-visible{background:#daf0e1;border-color:#1b7665;outline:2px solid transparent}
.review-keyboard-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.review-keyboard-actions .review-key-action{border-radius:9px;padding:8px 10px;min-height:42px;border:1px solid #bad5c7;background:#fff;font-size:.82rem;color:#12473a;font-weight:700}
.review-keyboard-actions .review-key-danger{border-color:#e3c2c0;color:#a63430}
.f4u-review-page[lang="ml"],.f4u-review-page[data-review-lang="ml"]{font-family:system-ui,"Noto Sans Malayalam","Nirmala UI",sans-serif}
@media (max-width:575px){.review-lang-switch{justify-content:flex-start}.review-lang-label{flex-basis:100%;margin-bottom:1px}.review-keyboard-wrap{padding:10px}.review-keyboard-row{grid-template-columns:repeat(auto-fill,minmax(35px,1fr));gap:4px}.review-keyboard-row button.review-ml-key{height:43px;font-size:1.1rem}.review-keyboard-actions .review-key-action{flex:1 1 42%}}
