/* Scoped to the Rosary widget and adviser page; WordPress administration is unaffected. */
.rosary-voice.rosary-advisor { --adviser-navy:#122a4b; --adviser-gold:#caa561; --adviser-cream:#f7f4ed; width:auto; height:auto; }
.rosary-voice.rosary-advisor [hidden] { display:none !important; }
.rosary-voice.rosary-advisor .rosary-voice-launcher { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:96px; min-height:0; padding:7px 5px; border:1px solid #dcc89f; border-radius:24px; background:#fff; color:var(--adviser-navy); box-shadow:0 8px 30px #122a4b26; animation:none; transform:none; }
.rosary-voice.rosary-advisor .rosary-advisor-launcher-photo { display:block; width:66px; height:66px; border-radius:50%; object-fit:cover; object-position:50% 28%; border:2px solid #eee4d1; }
.rosary-voice.rosary-advisor .rosary-voice-launcher .rosary-voice-callout { display:flex; position:static; width:auto; min-width:0; padding:0; margin:0; background:none; border:0; box-shadow:none; text-align:center; flex-direction:column; gap:0; transform:none; }
.rosary-voice.rosary-advisor .rosary-voice-callout:before,.rosary-voice.rosary-advisor .rosary-voice-callout:after { display:none; }
.rosary-voice.rosary-advisor .rosary-voice-callout strong { color:var(--adviser-navy); font-size:11px; line-height:1.4; }
.rosary-voice.rosary-advisor .rosary-voice-callout em { display:none; }
.rosary-voice.rosary-advisor .rosary-voice-panel { display:flex; flex-direction:column; width:430px; max-width:calc(100vw - 32px); height:auto; max-height:calc(100dvh - 32px); padding:0; overflow:hidden; border:1px solid #ded9cc; border-radius:23px; background:#fff; box-shadow:0 20px 75px #122a4b38; gap:0; }
.rosary-voice.rosary-advisor .rosary-voice-header { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; padding:15px 19px 12px; margin:0; background:#fff; border-bottom:0; color:var(--adviser-navy); }
.rosary-voice.rosary-advisor .rosary-voice-eyebrow { color:#8c6a31; font-size:9px; letter-spacing:2.1px; line-height:1.6; }
.rosary-voice.rosary-advisor .rosary-voice-header h2 { margin:2px 0; color:var(--adviser-navy); font-size:22px; line-height:1.3; }
.rosary-voice.rosary-advisor .rosary-voice-header p { margin:1px 0 0; color:#586778; font-size:11px; line-height:1.5; }
.rosary-voice.rosary-advisor .rosary-voice-icon-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #e4e5e7; border-radius:50%; background:#fff; color:var(--adviser-navy); font-size:23px; }
.rosary-voice.rosary-advisor .rosary-voice-stage { display:flex; position:relative; flex:0 0 auto; flex-direction:column; align-items:stretch; gap:0; padding:0; margin:0 16px; min-height:0; overflow:hidden; border:1px solid #e6dfd1; border-radius:17px; background:var(--adviser-cream); }
.rosary-voice.rosary-advisor .rosary-advisor-media { position:relative; height:210px; min-height:0; overflow:hidden; background:#f1ede5; }
.rosary-voice.rosary-advisor .rosary-advisor-portrait,.rosary-voice.rosary-advisor .rosary-advisor-video { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; margin:0; border:0; object-fit:cover; object-position:50% 29%; border-radius:0; animation:none; transform:none; }
.rosary-voice.rosary-advisor .rosary-advisor-video { object-fit:contain; background:#ede7dc; }
.rosary-voice.rosary-advisor .rosary-advisor-badge { position:absolute; top:10px; inset-inline-start:10px; padding:5px 9px; border:1px solid #ffffffcc; border-radius:20px; background:#ffffffed; color:var(--adviser-navy); font-size:9px; font-weight:600; line-height:1.5; }
.rosary-voice.rosary-advisor[data-avatar-state="speaking"] .rosary-advisor-badge:before,.rosary-voice.rosary-advisor[data-avatar-state="ready"] .rosary-advisor-badge:before,.rosary-voice.rosary-advisor[data-avatar-state="listening"] .rosary-advisor-badge:before { content:''; display:inline-block; margin-inline-end:5px; width:6px; height:6px; border-radius:50%; background:#168665; }
.rosary-voice.rosary-advisor .rosary-voice-status { flex:0 0 auto; width:100%; padding:10px 13px 11px; text-align:start; background:var(--adviser-navy); color:#fff; box-sizing:border-box; }
.rosary-voice.rosary-advisor .rosary-voice-status strong { display:block; color:#fff; font-size:13px; line-height:1.5; }
.rosary-voice.rosary-advisor .rosary-voice-status span { display:block; margin-top:2px; color:#e4e9ef; font-size:10px; line-height:1.55; }
.rosary-voice.rosary-advisor .rosary-advisor-enable-audio { position:absolute; bottom:12px; left:50%; transform:translateX(-50%); width:max-content; max-width:90%; padding:9px 16px; color:#fff; background:var(--adviser-navy); border:1px solid #fff; border-radius:20px; font:inherit; font-size:12px; cursor:pointer; }
.rosary-voice.rosary-advisor .rosary-advisor-notice { margin:8px 17px 0; padding:8px 10px; border:1px solid #eadbbf; border-radius:8px; background:#fff9ed; color:#624b23; font-size:11px; line-height:1.5; }
.rosary-voice.rosary-advisor .rosary-voice-transcript { flex:1 1 auto; min-height:75px; max-height:190px; overflow-y:auto; overscroll-behavior:contain; margin:10px 16px 6px; padding:0; background:transparent; border:0; border-radius:0; }
.rosary-voice.rosary-advisor .rosary-voice-welcome { padding:5px 1px; background:transparent; color:var(--adviser-navy); }
.rosary-voice.rosary-advisor .rosary-voice-welcome strong { font-size:13px; }
.rosary-voice.rosary-advisor .rosary-voice-welcome p { margin:5px 0; color:#526173; font-size:12px; line-height:1.65; }
.rosary-voice.rosary-advisor .rosary-voice-turn { max-width:94%; margin:7px 0; padding:9px 11px; border-radius:12px; font-size:13px; line-height:1.65; color:var(--adviser-navy); background:#f1f4f8; overflow-wrap:anywhere; }
.rosary-voice.rosary-advisor .rosary-voice-turn[data-role="user"] { margin-inline-start:auto; background:#eee7d7; }
.rosary-voice.rosary-advisor .rosary-voice-privacy { flex:0 0 auto; margin:0 17px 8px; color:#627080; font-size:9px; line-height:1.5; padding:0; }
.rosary-voice.rosary-advisor .rosary-voice-primary-actions { flex:0 0 auto; display:flex; align-items:center; gap:8px; padding:0; margin:0 16px 9px; }
.rosary-voice.rosary-advisor .rosary-voice-mic { flex:1 1 auto; display:flex; align-items:center; justify-content:center; gap:9px; min-height:43px; padding:10px 15px; border:0; border-radius:12px; background:var(--adviser-navy); color:#fff; font-size:13px; box-shadow:none; }
.rosary-voice.rosary-advisor .rosary-voice-mic:disabled { opacity:.65; cursor:wait; }
.rosary-voice.rosary-advisor .rosary-voice-mic-icon { width:19px; height:19px; display:inline-flex; padding:0; margin:0; background:none; box-shadow:none; border:0; }
.rosary-voice.rosary-advisor .rosary-voice-text-form { flex:0 0 auto; display:flex; gap:8px; padding:0; margin:0 16px 10px; }
.rosary-voice.rosary-advisor .rosary-voice-text-form input { flex:1; min-width:0; width:0; min-height:42px; padding:9px 12px; border:1px solid #d6dee5; border-radius:11px; background:#fff; color:var(--adviser-navy); font-size:16px; }
.rosary-voice.rosary-advisor .rosary-voice-text-form button { padding:8px 13px; border:1px solid #d7c298; border-radius:11px; background:#f4eddf; color:var(--adviser-navy); font-size:12px; }
.rosary-voice.rosary-advisor .rosary-voice-quick { flex:0 0 auto; display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:0 16px 8px; border:0; }
.rosary-voice.rosary-advisor .rosary-voice-quick a { flex:1; display:inline-flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; text-align:center; border:1px solid #e6e8eb; border-radius:8px; background:#fff; padding:5px 7px; color:var(--adviser-navy); font-size:10px; text-decoration:none; white-space:nowrap; }
.rosary-voice.rosary-advisor .rosary-voice-ai-note { flex:0 0 auto; margin:0; padding:8px 16px; border-top:1px solid #ece9e2; background:#faf9f6; color:#697581; text-align:center; font-size:9px; line-height:1.5; }
.rosary-voice.rosary-advisor button:focus-visible,.rosary-voice.rosary-advisor a:focus-visible,.rosary-voice.rosary-advisor input:focus-visible { outline:3px solid #8c6a31; outline-offset:3px; }
@media (max-width:720px) {
  .rosary-voice.rosary-advisor .rosary-voice-panel { position:fixed; inset:12px 12px auto; width:auto; max-width:none; max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px)); border-radius:20px; }
  .rosary-voice.rosary-advisor .rosary-advisor-media { height:clamp(130px,24dvh,210px); }
  .rosary-voice.rosary-advisor .rosary-voice-launcher { width:80px; padding:5px; border-radius:20px; }
  .rosary-voice.rosary-advisor .rosary-advisor-launcher-photo { width:54px; height:54px; }
  .rosary-voice.rosary-advisor .rosary-voice-callout strong { font-size:10px; }
}
@media (max-height:720px) {
  .rosary-voice.rosary-advisor .rosary-advisor-media { height:140px; }
  .rosary-voice.rosary-advisor .rosary-voice-header { padding-top:10px; padding-bottom:8px; }
  .rosary-voice.rosary-advisor .rosary-voice-transcript { min-height:48px; max-height:120px; }
}
@media (max-height:520px) {
  .rosary-voice.rosary-advisor .rosary-advisor-media { height:80px; }
  .rosary-voice.rosary-advisor .rosary-voice-panel { overflow-y:auto; }
  .rosary-voice.rosary-advisor .rosary-voice-transcript { flex:0 0 75px; }
}
@media (prefers-reduced-motion:reduce) { .rosary-voice.rosary-advisor * { animation:none !important; transition:none !important; } }

/* The public launcher leads to a shareable page; one existing voice instance is moved into that page. */
body.rosary-adviser-enabled:not(.rosary-adviser-page) [data-rosary-voice] { display:none !important; }
.rosary-adviser-floating { position:fixed; bottom:25px; inset-inline-end:24px; z-index:990; display:flex; align-items:center; flex-direction:column; gap:5px; width:96px; padding:7px 5px; background:#fff; border:1px solid #dcc89f; border-radius:24px; color:#122a4b; box-shadow:0 8px 30px #122a4b26; text-decoration:none; font:600 11px/1.4 Arial,Tahoma,sans-serif; text-align:center; }
.rosary-adviser-floating img { display:block; width:66px; height:66px; border:2px solid #eee4d1; border-radius:50%; object-fit:cover; object-position:50% 28%; }
.rosary-adviser-floating:hover { box-shadow:0 10px 36px #122a4b40; }
.rosary-adviser-floating:focus-visible { outline:3px solid #8c6a31; outline-offset:4px; }
.rosary-adviser-page-main { background:#f5f3ee; color:#122a4b; padding:46px 24px 64px; }
.rosary-adviser-page-shell { max-width:1180px; margin:auto; }
.rosary-adviser-page-intro { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:28px; }
.rosary-adviser-page-intro h1 { margin:8px 0 10px; font-size:clamp(28px,3vw,40px); font-weight:600; line-height:1.35; letter-spacing:-.5px; color:#122a4b; }
.rosary-adviser-page-intro p { margin:0; color:#566577; font-size:15px; line-height:1.8; }
.rosary-adviser-page-intro .rosary-adviser-kicker { color:#8b6a34; font-size:11px; letter-spacing:1.5px; }
.rosary-adviser-page-tools { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:9px; max-width:260px; flex:0 0 auto; }
.rosary-adviser-page-tools a,.rosary-adviser-page-tools button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; border:1px solid #d5c29e; background:#fff; color:#122a4b; padding:10px 13px; border-radius:10px; text-decoration:none; font:inherit; font-size:12px; cursor:pointer; }
.rosary-adviser-page-tools [role="status"] { flex-basis:100%; font-size:12px; color:#35664d; }
.rosary-adviser-page-tools input { width:100%; font:inherit; }
.rosary-adviser-page-tools :focus-visible { outline:3px solid #8c6a31; outline-offset:3px; }
.rosary-adviser-fallback { max-width:600px; margin:auto; text-align:center; }
.rosary-adviser-fallback img { width:100%; max-width:420px; height:auto; border-radius:24px; }
.rosary-voice.rosary-advisor.rosary-advisor-inline { display:block; position:static; width:100%; height:auto; z-index:auto; inset:auto; max-width:none; font-family:inherit; }
.rosary-voice.rosary-advisor-inline .rosary-voice-panel { display:block; position:static; inset:auto; width:100%; max-width:none; max-height:none; height:auto; overflow:visible; border:0; border-radius:0; box-shadow:none; background:transparent; }
.rosary-advisor-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr); gap:24px; align-items:stretch; }
.rosary-advisor-visual,.rosary-advisor-chat { min-width:0; border:1px solid #e0d9cc; border-radius:24px; background:#fff; overflow:hidden; }
.rosary-advisor-visual::before,.rosary-advisor-visual::after,.rosary-advisor-chat::before,.rosary-advisor-chat::after { content:none !important; }
.rosary-voice.rosary-advisor .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.rosary-advisor-visual { padding:14px; display:flex; flex-direction:column; }
.rosary-voice.rosary-advisor-inline .rosary-voice-stage { flex:1 1 auto; margin:0 0 16px; min-height:400px; border:0; border-radius:16px; }
.rosary-voice.rosary-advisor-inline .rosary-advisor-media { flex:1 1 auto; height:360px; min-height:280px; }
.rosary-voice.rosary-advisor-inline .rosary-advisor-portrait { object-position:50% 36%; }
.rosary-voice.rosary-advisor-inline .rosary-advisor-badge { font-size:11px; top:14px; inset-inline-start:14px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-status { padding:13px 16px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-status strong { font-size:15px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-status span { font-size:12px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-primary-actions { margin:0 0 13px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-mic { min-height:48px; font-size:15px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-privacy { margin:0 4px 1px; font-size:11px; line-height:1.7; }
.rosary-voice.rosary-advisor-inline .rosary-advisor-notice { margin:0 0 12px; }
.rosary-advisor-chat { display:flex; flex-direction:column; padding-top:7px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-header { padding:18px 24px 20px; border-bottom:1px solid #eee9df; }
.rosary-voice.rosary-advisor-inline .rosary-voice-header h2 { font-size:24px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-header p { font-size:13px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-transcript { flex:1 1 360px; min-height:270px; max-height:500px; margin:0; padding:21px 24px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-welcome strong { font-size:17px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-welcome p { font-size:14px; line-height:1.9; }
.rosary-voice.rosary-advisor-inline .rosary-voice-turn { font-size:15px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-text-form { margin:14px 22px 16px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-text-form input { min-height:48px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-text-form button { font-size:14px; padding:10px 17px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-quick { margin:0 22px 18px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-quick a { font-size:12px; padding:8px; }
.rosary-voice.rosary-advisor-inline .rosary-voice-ai-note { padding:12px 22px; font-size:11px; }
@media (max-width:760px) {
  .rosary-adviser-floating { bottom:85px; inset-inline-end:14px; width:80px; padding:6px 4px; border-radius:20px; font-size:10px; }
  .rosary-adviser-floating img { width:52px; height:52px; }
  .rosary-adviser-page-main { padding:26px 14px 38px; }
  .rosary-adviser-page-intro { flex-direction:column; align-items:flex-start; gap:17px; margin-bottom:20px; }
  .rosary-adviser-page-intro h1 { font-size:27px; }
  .rosary-adviser-page-intro p { font-size:14px; }
  .rosary-adviser-page-tools { max-width:100%; justify-content:flex-start; }
  .rosary-adviser-page-tools [role="status"]:empty { display:none; }
  .rosary-advisor-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  .rosary-advisor-visual,.rosary-advisor-chat { border-radius:20px; }
  .rosary-voice.rosary-advisor-inline .rosary-voice-stage { min-height:0; }
  .rosary-voice.rosary-advisor-inline .rosary-advisor-media { height:310px; min-height:0; flex:none; }
  .rosary-voice.rosary-advisor-inline .rosary-voice-transcript { flex:0 1 auto; min-height:90px; max-height:280px; padding:18px; }
  .rosary-voice.rosary-advisor-inline .rosary-voice-header { padding:15px 18px; }
  .rosary-voice.rosary-advisor-inline .rosary-voice-header h2 { font-size:22px; }
  .rosary-voice.rosary-advisor-inline .rosary-voice-text-form { margin:12px 16px; }
  .rosary-voice.rosary-advisor-inline .rosary-voice-quick { margin:0 16px 15px; }
}

/* The theme dock must not cover the adviser's voice, typing or keyboard controls. */
body.rosary-adviser-page .mobile-actions { display:none !important; }
.rosary-adviser-page-tools [hidden] { display:none; }
.rosary-adviser-page-tools [data-adviser-type] { background:#122a4b; border-color:#122a4b; color:#fff; }
.rosary-voice.rosary-advisor-inline .rosary-voice-text-form input { scroll-margin-block:100px; }
.rosary-adviser-page-main :is(button,a,input) { scroll-margin-top:160px; scroll-margin-bottom:24px; }
