/* Public program reviews: scoped to the optional reviews section and its dialog. */
.reviews-section{position:relative;margin:0 clamp(20px,6vw,94px) 24px;padding:30px clamp(18px,3vw,38px);border:1px solid #345574;border-radius:18px;background:linear-gradient(145deg,#0c2541,#091c33);box-shadow:0 22px 50px rgba(0,0,0,.18);scroll-margin-top:24px}.reviews-content{max-width:1200px;margin:auto}.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px}.reviews-heading .section-kicker{color:#c8d8ea}.reviews-heading .section-kicker>span{color:#dce9f7}.reviews-heading h2{margin:9px 0 6px;color:#e3edf8;font-size:30px;line-height:1.35;font-weight:600;letter-spacing:-.03em}.reviews-heading h2 span{color:#b9cce2}.reviews-heading p{max-width:680px;margin:0;color:#adbed2;font-size:11px;line-height:2}.reviews-open-selected{flex:0 0 auto;white-space:nowrap}.reviews-auth-widget{min-height:51px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;margin-bottom:13px;border:1px solid #3a5b7b;border-radius:12px;background:linear-gradient(135deg,rgba(20,49,80,.88),rgba(10,34,60,.88))}.reviews-auth-copy{margin:0;color:#c8d8e9;font-size:10px;line-height:1.8}.reviews-inline-error{margin:0;color:#f1cfd7;font-size:9px;line-height:1.7}.reviews-program-bar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:13px}.reviews-program-select{display:flex;flex:1;flex-direction:column;gap:6px;color:#d7e4f2;font-size:10px;font-weight:600}.reviews-program-select select{min-height:40px;width:100%;border:1px solid #3e617f;border-radius:10px;padding:0 11px;background:#081d35;color:#e1ebf6;font:400 11px 'IBM Plex Sans Arabic',sans-serif;outline:none;color-scheme:dark}.reviews-program-select select:focus{border-color:#b6cce4;box-shadow:0 0 0 3px rgba(185,211,239,.12)}.reviews-refresh{flex:0 0 auto;margin-bottom:0;white-space:nowrap}.reviews-summary{display:grid;grid-template-columns:minmax(125px,.62fr) 1fr;gap:1px;overflow:hidden;margin-bottom:18px;border:1px solid #385a7b;border-radius:14px;background:#385a7b}.reviews-summary-score,.reviews-summary-count{min-height:91px;padding:15px 18px;background:linear-gradient(145deg,#102c4b,#0b223d);display:flex;flex-direction:column;justify-content:center}.reviews-summary-label{font-size:9px;color:#b8cbe0}.reviews-summary strong{margin-top:2px;color:#edf4fb;font:700 27px Manrope,'IBM Plex Sans Arabic',sans-serif;line-height:1.25;letter-spacing:-.03em}.reviews-summary-score small{color:#acc0d7;font-size:9px}.reviews-summary-count strong{font-size:17px}.reviews-summary-count small{margin-top:3px;color:#acc0d7;font-size:9px;line-height:1.6}.reviews-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:17px;align-items:start}.reviews-public-list,.reviews-composer{border:1px solid #345574;border-radius:14px;background:linear-gradient(145deg,rgba(13,40,70,.92),rgba(7,27,50,.96));padding:18px}.reviews-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid rgba(110,148,184,.3)}.reviews-eyebrow{display:block;margin-bottom:4px;color:#9bb8d7;font:600 8px Manrope,'IBM Plex Sans Arabic',sans-serif;letter-spacing:.1em}.reviews-subhead h3{margin:0;color:#e5eef8;font-size:14px;font-weight:600}.reviews-page-note{padding-top:5px;color:#9fb5cc;font-size:8px;white-space:nowrap}.reviews-list{display:grid;gap:10px}.reviews-review-card{padding:12px 13px;border:1px solid #355676;border-radius:11px;background:linear-gradient(145deg,#102b49,#0b2039)}.reviews-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.reviews-review-identity{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.reviews-review-identity strong{color:#e6eef8;font-size:11px;font-weight:600}.reviews-review-date{color:#9db2c9;font-size:8px;white-space:nowrap}.reviews-display-stars{display:inline-flex;gap:2px;direction:ltr}.reviews-star-icon{width:13px;height:13px;fill:transparent;stroke:#6f8fac;stroke-width:1.5}.reviews-star-icon.is-lit{fill:#d4e4f5;stroke:#d4e4f5;filter:drop-shadow(0 0 3px rgba(205,223,241,.18))}.reviews-review-comment{margin:9px 0 0;color:#c0cede;font-size:10px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.reviews-list-status,.reviews-composer-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:111px;padding:15px;border:1px dashed #557795;border-radius:11px;background:rgba(10,35,62,.54);text-align:center}.reviews-list-status p,.reviews-composer-gate p{max-width:430px;margin:0;color:#bdcee0;font-size:10px;line-height:1.9}.reviews-list-error{border-style:solid;border-color:#86576c;background:rgba(65,31,47,.5)}.reviews-list-error p{color:#f0d5de}.reviews-list-empty{border-color:#4d7193}.reviews-more-button{justify-self:start;margin-top:2px}.reviews-form{display:grid;gap:14px}.reviews-rating-fieldset{min-width:0;margin:0;padding:0;border:0}.reviews-rating-fieldset legend{margin-bottom:8px;padding:0;color:#d8e5f2;font-size:10px;font-weight:600}.reviews-rating-fieldset legend span,.reviews-field>span:not(.reviews-optional){color:#f0c9a5}.reviews-rating-options{display:flex;align-items:center;gap:6px;direction:ltr}.reviews-star-radio{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.reviews-star-label{width:37px;height:37px;display:grid;place-items:center;border:1px solid #486987;border-radius:10px;background:#0b223e;color:#8faac4;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}.reviews-star-label:hover{transform:translateY(-1px);border-color:#9db9d6;background:#173756;color:#e3edf8}.reviews-star-label svg{width:19px;height:19px;fill:transparent;stroke:currentColor;stroke-width:1.55}.reviews-star-radio:checked+.reviews-star-label{border-color:#d1e0ef;background:#264969;color:#e9f2fb;box-shadow:0 0 0 2px rgba(204,222,240,.1)}.reviews-star-radio:checked+.reviews-star-label svg{fill:currentColor}.reviews-star-radio:focus-visible+.reviews-star-label{outline:2px solid #d7e5f3;outline-offset:3px}.reviews-field{position:relative;display:flex;flex-direction:column;gap:6px;color:#d8e5f2;font-size:10px;font-weight:600}.reviews-field input,.reviews-field textarea{width:100%;border:1px solid #3b5b7a;border-radius:9px;padding:10px 11px;background:#071b32;color:#e3edf8;font:400 10px 'IBM Plex Sans Arabic',sans-serif;outline:none;transition:border .2s,box-shadow .2s}.reviews-field input:focus,.reviews-field textarea:focus{border-color:#b0c8e2;box-shadow:0 0 0 3px rgba(183,207,232,.13);background:#0c2644}.reviews-field input::placeholder,.reviews-field textarea::placeholder{color:#8fa7c2}.reviews-field textarea{resize:vertical;min-height:83px;line-height:1.8}.reviews-field small{color:#a6bad0;font-size:8px;font-weight:400}.reviews-optional{color:#aebfd2;font-size:8px;font-weight:400}.reviews-counter{position:absolute;bottom:8px;left:10px;direction:ltr}.reviews-public-notice{margin:0;padding:10px 11px;border:1px solid #5a7088;border-inline-start:3px solid #b9cde0;border-radius:9px;background:rgba(23,51,82,.62);color:#cad9e8;font-size:9px;line-height:1.8}.reviews-form-error{padding:10px 11px;border:1px solid #86546a;border-radius:9px;background:#3c2031;color:#f1d8e2;font-size:10px;line-height:1.8}.reviews-form-error[hidden]{display:none}.reviews-form-error.is-success{border-color:#4d7d74;background:#173d43;color:#d5ebe5}.reviews-form-actions{display:flex;align-items:center;justify-content:space-between;gap:9px}.reviews-form-actions [data-review-delete]{border-color:#84616e;color:#eccfd7}.reviews-form-actions [data-review-delete]:hover{border-color:#d19aa8;color:#f7e1e6}.reviews-form-actions [data-review-submit]{margin-inline-start:auto}.reviews-modal{width:min(790px,calc(100% - 28px));max-height:92vh}.reviews-modal-card{padding:28px 30px 25px;background:linear-gradient(145deg,#0d2948,#081e37);border:1px solid #486888;color:#e2ecf7}.reviews-modal-close{position:absolute;top:20px;left:20px;z-index:1}.reviews-modal .reviews-heading{padding-left:42px}.reviews-modal .reviews-heading h2{font-size:24px}.reviews-modal .reviews-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.78fr)}.reviews-modal .reviews-public-list,.reviews-modal .reviews-composer{padding:15px}.reviews-modal .reviews-summary{margin-bottom:15px}
@media(max-width:900px){.reviews-layout,.reviews-modal .reviews-layout{grid-template-columns:1fr}.reviews-composer{order:2}.reviews-public-list{order:1}}
@media(max-width:720px){.reviews-section{margin:0 17px 15px;padding:23px 17px}.reviews-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:14px}.reviews-heading h2{font-size:23px}.reviews-heading p{font-size:10px;line-height:1.85}.reviews-open-selected{width:100%}.reviews-auth-widget{align-items:flex-start;flex-direction:column;min-height:0;padding:11px}.reviews-program-bar{align-items:stretch;flex-direction:column}.reviews-refresh{width:100%}.reviews-summary{grid-template-columns:1fr 1.25fr;margin-bottom:14px}.reviews-summary-score,.reviews-summary-count{min-height:80px;padding:12px}.reviews-summary strong{font-size:23px}.reviews-summary-count strong{font-size:14px}.reviews-public-list,.reviews-composer{padding:14px}.reviews-page-note{font-size:7px}.reviews-review-card{padding:11px}.reviews-form-actions{align-items:stretch;flex-direction:column-reverse}.reviews-form-actions .button{width:100%}.reviews-form-actions [data-review-submit]{margin-inline-start:0}.reviews-modal{width:min(100% - 18px,790px);max-height:94vh}.reviews-modal-card{padding:23px 17px 18px}.reviews-modal-close{top:14px;left:14px}.reviews-modal .reviews-heading{padding-left:37px}.reviews-modal .reviews-heading h2{font-size:20px}.reviews-modal .reviews-auth-widget{margin-bottom:11px}.reviews-star-label{width:35px;height:35px}}
@media(max-width:390px){.reviews-section{margin-inline:13px;padding:20px 13px}.reviews-heading h2{font-size:21px}.reviews-summary-score,.reviews-summary-count{padding:11px 10px}.reviews-summary strong{font-size:20px}.reviews-summary-count strong{font-size:12px}.reviews-subhead h3{font-size:13px}.reviews-page-note{white-space:normal;text-align:left}.reviews-star-label{width:32px;height:32px}.reviews-rating-options{gap:4px}.reviews-modal-card{padding-inline:14px}.reviews-modal .reviews-heading{padding-left:34px}}
@media(prefers-reduced-motion:reduce){.reviews-star-label{transition:none}}

/* Author display rules must not override native hidden states. */
.reviews-section [hidden], .reviews-modal [hidden]{display:none!important}
