/* ============================================================================
   Dakkak Labs — review-widget.css (created 2026-07-18, website premium fix F2)
   Shared styles for the site star-review widget (.yv-review), lifted VERBATIM
   from contact.html's inline copy so every page loads ONE shared file:
   <link rel="stylesheet" href="/review-widget.css?v=site-20260718a">
   Pair with /review-widget.js (auto-inits on DOMContentLoaded).
   DESIGN FREEZE: do not change any color, spacing, or animation value.
   The disabled visual state keys off [aria-disabled="true"], never native
   [disabled] (ACCESSIBILITY-LOCKED pattern 7). Selected-state signal is
   aria-pressed + opacity/outline, not color alone (patterns 7/9 compliant;
   light-mode star contrast noted for Mohamed as a possible future tweak).
   Locked contract: /ACCESSIBILITY-LOCKED.md — all 13 patterns apply.
   ========================================================================== */

/* Site review widget */
.yv-review{margin:56px auto 32px;max-width:480px;padding:24px 24px 22px;background:var(--surface,rgba(255,255,255,0.04));border:1px solid var(--border,rgba(128,128,128,0.25));border-radius:16px;text-align:center}
.yv-review-title{margin:0 0 4px;font-size:17px;font-weight:600;color:inherit;line-height:1.3}
.yv-review-sub{margin:0 0 14px;font-size:14px;color:var(--text-soft);line-height:1.4}
.yv-stars{display:inline-flex;justify-content:center;gap:4px;padding:0;margin:0}
.yv-star{background:transparent;border:0;cursor:pointer;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--text-soft);opacity:0.55;transition:opacity .15s ease,color .15s ease,transform .15s ease,background-color .15s ease;padding:6px;font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.yv-star svg{width:32px;height:32px;fill:currentColor;pointer-events:none}
.yv-star[aria-pressed="true"],.yv-star.is-preview{color:#F5A623;opacity:1}
.yv-star:hover{transform:scale(1.08)}
.yv-star:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:3px;background:rgba(127,127,127,0.10)}
.yv-star:active{transform:scale(.95)}
@media (prefers-color-scheme:dark){.yv-star[aria-pressed="true"],.yv-star.is-preview{color:#FFB84D}}
:root[data-theme="dark"] .yv-star[aria-pressed="true"],:root[data-theme="dark"] .yv-star.is-preview{color:#FFB84D}
.yv-review-status{margin:8px 0 0;font-size:14px;color:var(--text-soft);min-height:18px;line-height:1.4}
.yv-review-status[hidden]{display:none}
.yv-review-expand{margin-top:16px;text-align:left}
.yv-review-expand[hidden]{display:none}
.yv-review-comment-label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--text)}
.yv-review-expand textarea{width:100%;box-sizing:border-box;padding:12px 14px;font:inherit;font-size:15px;color:var(--text,inherit);background:var(--bg-2,rgba(255,255,255,0.05));border:1px solid var(--border,rgba(128,128,128,0.25));border-radius:10px;resize:vertical;min-height:84px;line-height:1.45;font-family:inherit}
.yv-review-expand textarea:focus-visible{outline:none;border-color:var(--primary,#4B4B77);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#4B4B77) 22%,transparent)}
.yv-review-submit{margin-top:12px;padding:12px 28px;font-weight:600;font-family:inherit;font-size:15px;background:var(--primary,#4B4B77);color:var(--primary-on,#fff);border:0;border-radius:999px;cursor:pointer;min-height:44px;transition:background-color .15s ease,transform .12s ease}
.yv-review-submit:hover{background:var(--primary-hover,#383862)}
.yv-review-submit:active{transform:scale(.97)}
.yv-review-submit:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:3px}.yv-review-submit[aria-disabled="true"]{background:var(--text-soft,#888);color:var(--primary-on,#fff);opacity:0.45;cursor:not-allowed;box-shadow:none}.yv-review-submit[aria-disabled="true"]:hover{background:var(--text-soft,#888);transform:none}.yv-review-turnstile{margin-top:12px;display:flex;justify-content:center}.yv-review-turnstile:empty{margin-top:0}
.yv-review-thanks{margin:8px 0 0;color:var(--primary-hover,#4B4B77);font-weight:600;line-height:1.4}
.yv-review-thanks[hidden]{display:none}
