/* Warning Signs shared component styles */
:root{--rust:#B5674A;--rust-hover:#9E5339;--rust-light:#EFD9D0;--ink:#1C1816;--ink-mid:#4A3F3A;--ink-light:#9A8E89;--cream-light:#FAF5F1;--warm-white:#FFFCFA;--border:#DDD0C8;--border-light:#EDE4DF;--green:#4A6741;--green-light:#EAF0E9;--red:#C0392B;--red-light:#FDECEA;--gold:#9A7B4F;--gold-light:#F5EFE4;--mauve:#8B6F7A;--mauve-light:#F2ECF0}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:var(--cream-light);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}
.top-nav{background:rgba(255,252,250,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);padding:0 20px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:200;height:54px}
.back-link{color:var(--ink-mid);text-decoration:none;font-size:14px;display:flex;align-items:center;gap:6px}
.back-link:hover{color:var(--rust)}
.nav-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;flex:1}

/* Banner color variants */
.ws-banner-red{background:linear-gradient(135deg,#2A0F0F 0%,#4A1A1A 50%,#C0392B 100%)}
.ws-banner-gold{background:linear-gradient(135deg,#1A1510 0%,#3A2D1A 50%,#9A7B4F 100%)}
.ws-banner-mauve{background:linear-gradient(135deg,#1A1410 0%,#2E1F30 50%,#8B6F7A 100%)}
.ws-banner-blue{background:linear-gradient(135deg,#0F1A2A 0%,#1A2E4A 50%,#2E6B9A 100%)}
.ws-banner-green{background:linear-gradient(135deg,#0F1A0F 0%,#1A2E1A 50%,#4A6741 100%)}

.ws-header-banner{padding:32px 20px 28px;position:relative;overflow:hidden}
.ws-header-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(255,255,255,.1) 0%,transparent 60%);pointer-events:none}
.ws-header-eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:6px}
.ws-header-title{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:400;color:#fff;line-height:1.1;margin-bottom:6px}
.ws-header-sub{font-size:13px;color:rgba(255,255,255,.7);max-width:380px;line-height:1.55}
.ws-equity-note{margin-top:12px;font-size:12px;color:rgba(255,255,255,.85);background:rgba(255,255,255,.12);border-radius:8px;padding:10px 14px;line-height:1.55;max-width:400px}

.ws-emergency-strip{background:var(--red);padding:10px 20px;font-size:12px;color:#fff;line-height:1.5}
.ws-emergency-strip strong{font-weight:700}

/* Explainer video slot (Build 2f) */
.ws-video-wrap{background:#000;position:relative;cursor:pointer;overflow:hidden}
.ws-video-poster{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;opacity:.85;transition:opacity .2s}
.ws-video-wrap:hover .ws-video-poster{opacity:1}
.ws-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.ws-video-play svg{margin-left:4px}
.ws-video-duration{position:absolute;bottom:10px;right:12px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;pointer-events:none}
.ws-video-iframe{width:100%;aspect-ratio:16/9;border:none;display:block}

.ws-content{padding:20px 20px 100px;max-width:560px;margin:0 auto}

.ws-section-title{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-light);margin:24px 0 10px}
.ws-section-title:first-child{margin-top:0}

/* Symptom groups */
.ws-group{margin-bottom:8px}
.ws-group-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-light);margin:16px 0 6px;padding:0 2px}
.ws-group-label:first-child{margin-top:0}

.ws-symptom{background:var(--warm-white);border:1px solid var(--border-light);border-radius:14px;margin-bottom:8px;overflow:hidden;transition:border-color .2s}
.ws-symptom.urg-emergency{border-left:3px solid var(--red)}
.ws-symptom.urg-urgent{border-left:3px solid var(--gold)}
.ws-symptom.urg-monitor{border-left:3px solid var(--green)}

.ws-symptom-main{display:flex;align-items:flex-start;gap:12px;padding:14px}
.ws-symptom-icon{font-size:18px;flex-shrink:0;margin-top:1px}
.ws-symptom-body{flex:1}
.ws-symptom-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:2px}
.ws-symptom-detail{font-size:12px;color:var(--ink-light);line-height:1.5}
.ws-flag-btn{flex-shrink:0;background:none;border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:11px;font-weight:600;color:var(--ink-mid);cursor:pointer;font-family:'DM Sans',sans-serif;transition:border-color .2s,color .2s}
.ws-flag-btn:hover{border-color:var(--rust);color:var(--rust)}

.ws-action-bar{display:none;padding:10px 14px 14px;align-items:center;justify-content:space-between;gap:10px}
.ws-symptom.ws-symptom-open .ws-action-bar{display:flex}
.ws-action-emergency{background:var(--red-light);border-top:1px solid rgba(192,57,43,.2)}
.ws-action-urgent{background:var(--gold-light);border-top:1px solid rgba(154,123,79,.2)}
.ws-action-monitor{background:var(--green-light);border-top:1px solid rgba(74,103,65,.2)}
.ws-action-label{font-size:12px;font-weight:600;color:var(--ink-mid)}
.ws-action-emergency .ws-action-label{color:var(--red)}
.ws-action-urgent .ws-action-label{color:var(--gold)}
.ws-action-monitor .ws-action-label{color:var(--green)}
.ws-call-btn{background:var(--red);color:#fff;border:none;border-radius:20px;padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;text-decoration:none}
.ws-log-btn{background:var(--ink);color:#fff;border:none;border-radius:20px;padding:7px 14px;font-size:11px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif}
.ws-log-btn:disabled{opacity:.5}

/* Risk factors */
.ws-risk-card{background:var(--warm-white);border:1px solid var(--border-light);border-radius:14px;padding:18px}
.ws-risk-intro{font-size:13px;color:var(--ink-mid);line-height:1.6;margin-bottom:14px}
.ws-risk-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-light);cursor:pointer}
.ws-risk-item:last-of-type{border-bottom:none}
.ws-risk-check{width:17px;height:17px;margin-top:2px;accent-color:var(--rust);flex-shrink:0;cursor:pointer}
.ws-risk-text{font-size:13px;color:var(--ink-mid);line-height:1.5}
.ws-risk-flag{margin-top:14px;font-size:12px;line-height:1.6;border-radius:10px;padding:12px 14px}
.ws-risk-high{background:var(--red-light);color:var(--red)}
.ws-risk-moderate{background:var(--gold-light);color:var(--gold)}

/* Symptom log */
.ws-log-card{background:var(--warm-white);border:1px solid var(--border-light);border-radius:14px;padding:18px}
.ws-log-empty{font-size:13px;color:var(--ink-light);line-height:1.6;font-style:italic}
.ws-log-entry{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-light);font-size:13px}
.ws-log-entry:last-child{border-bottom:none}
.ws-log-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ws-log-name{flex:1;color:var(--ink);font-weight:500}
.ws-log-ts{font-size:11px;color:var(--ink-light);white-space:nowrap}
.ws-log-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.ws-share-btn{background:var(--rust);color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif}
.ws-clear-btn{background:none;border:1px solid var(--border);border-radius:20px;padding:8px 14px;font-size:12px;color:var(--ink-light);cursor:pointer;font-family:'DM Sans',sans-serif}

/* Script card */
.ws-script-card{background:var(--warm-white);border:1px solid var(--border-light);border-radius:14px;padding:18px}
.ws-script-text{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;color:var(--ink);line-height:1.6;margin-bottom:14px}
.ws-copy-script{background:none;border:1px solid var(--border);border-radius:20px;padding:7px 16px;font-size:12px;font-weight:600;color:var(--ink-mid);cursor:pointer;font-family:'DM Sans',sans-serif}

.ws-disclaimer{font-size:11px;color:var(--ink-light);line-height:1.6;margin-top:28px;padding-top:16px;border-top:1px solid var(--border-light)}
