:root{--brand:#0864b0;--accent:#173950;--on-brand:#fff;--on-accent:#fff;--ink:#172e41;--muted:#526579;--line:#bac8d5;--paper:#fff;--back:#f2f5f8;font:18px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--back)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.17;letter-spacing:-.04em;font-weight:750;margin-bottom:22px}h2{font-size:1.4rem;line-height:1.3;letter-spacing:-.02em}h3{font-size:1.08rem}a{color:#075b9e;text-underline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer;border-radius:9px;font-weight:650;padding:11px 18px;min-height:48px;border:1px solid transparent}button:disabled{opacity:.6;cursor:wait}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ed9e2d;outline-offset:4px}.primary{background:var(--brand);color:var(--on-brand)}.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.text-button{color:var(--ink);text-decoration:underline;background:transparent}.danger{background:#fff4f2;border-color:#db8d83;color:#8d1d15}.test-banner{padding:10px 20px;text-align:center;background:#fff0d1;color:#62400d;font-weight:650;font-size:.83rem;border-bottom:1px solid #e5c68b}.shell{max-width:1160px;padding:36px 28px 70px;margin:auto}.site-heading,.admin-heading,.section-heading{display:flex;gap:24px;align-items:center;justify-content:space-between}.site-heading{justify-content:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--line)}.site-heading img{max-height:78px;max-width:220px;object-fit:contain}.site-heading strong{font-size:1.25rem}.eyebrow{font-size:.7rem;letter-spacing:.17em;font-weight:750;margin-bottom:6px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 36px;border-bottom:1px solid var(--line);padding-bottom:14px}.tabs button{background:transparent;border-color:transparent;color:var(--ink)}.tabs button[aria-current=true]{background:var(--accent);color:var(--on-accent)}.lede{font-size:1.12rem;max-width:700px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wide{grid-column:1/-1}label{display:block;font-weight:650;margin-bottom:16px}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;margin-top:7px;border:1.5px solid #8599ac;border-radius:7px;background:#fff;color:var(--ink);padding:12px;min-width:0}input:focus,select:focus,textarea:focus{outline:3px solid #bddef7;outline-offset:1px;border-color:#246fac}textarea{min-height:125px;resize:vertical}input[type=color]{height:56px;padding:5px!important}input[type=checkbox],input[type=radio]{width:21px;height:21px;accent-color:var(--brand);flex-shrink:0}input[readonly]{background:#f2f5f8!important}.check{display:flex;align-items:center;gap:12px;font-weight:500}.help{font-size:.85rem;color:var(--muted)}section,.panel-card,.settings{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px;margin:25px 0}section>h2{padding-bottom:16px;border-bottom:2px solid var(--brand);margin-bottom:25px}.notice,.error{border-radius:9px;padding:17px 20px;margin:18px 0;overflow-wrap:anywhere}.notice{background:#edf4fa;border:1px solid #aecbe1}.error{background:#fff1ef;border:1px solid #d17d74;color:#81251e}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.choices label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;margin:0;font-weight:600;background:#f8fafc}.message-card{border-top:1px solid var(--line);padding:25px 0}.message-card h3{margin:0}.message-card .section-heading{margin-bottom:18px}.message-card .grid{grid-template-columns:1fr auto;align-items:start}.submit-area{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.submit-area p{font-size:.85rem;margin:0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.filter-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:18px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.audio-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:22px;min-width:0}.audio-card .category{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.audio-card h2{margin:4px 0 15px}.audio-card details{margin-top:16px}.audio-card summary{cursor:pointer;font-weight:650}.audio-card .choose{width:100%;margin-top:16px}.holiday{font-size:.88rem;background:#fff0d1;padding:10px;border-radius:5px;margin-top:8px}.player{margin:15px 0}.player-title{font-size:.82rem;color:var(--muted);margin-bottom:5px}.player-controls{display:flex;gap:10px;align-items:center}.play-button{width:48px;padding:0;background:var(--accent);color:var(--on-accent);flex-shrink:0}.vs-wave{position:relative;display:block;flex:1;height:44px;background:#edf2f7;border-radius:6px;overflow:hidden;--progress:0%}.vs-wave::before{background:#8198ab}.vs-wave::after{background:var(--brand);clip-path:inset(0 calc(100% - var(--progress)) 0 0)}.vs-wave input{position:absolute;inset:0;width:100%!important;height:100%;margin:0!important;opacity:0;cursor:pointer;z-index:1}.vs-wave:focus-within{outline:3px solid #ed9e2d;outline-offset:2px}.play-time{font-size:.72rem;font-variant-numeric:tabular-nums;width:73px;text-align:right;white-space:nowrap}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(90%,700px);padding:15px;background:#81251e;color:#fff;border-radius:10px;z-index:30}.admin-heading{align-items:flex-start}.admin-heading h1{font-size:clamp(2.4rem,5vw,3.6rem)}.admin-body .shell{max-width:1250px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.stat{padding:22px;border:1px solid var(--line);background:#fff;border-radius:12px}.stat strong{font-size:2rem;display:block;line-height:1.2}.stat span{font-size:.83rem;color:var(--muted)}.row{background:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);padding:18px 22px;border-radius:10px;margin-bottom:10px}.row p{margin:4px 0 0;color:var(--muted);font-size:.86rem}.row>div{min-width:0;overflow-wrap:anywhere}.badge{display:inline-block;padding:3px 9px;border-radius:5px;font-size:.75rem;background:#e5edf5;margin:3px 6px 3px 0}.badge.warn{background:#fff0d1;color:#62400d}.badge.good{background:#d9eee3;color:#20553d}.swatch{display:inline-block;height:20px;width:20px;border:1px solid #71889c;border-radius:50%;vertical-align:middle;margin-right:5px}.login-shell{max-width:650px;margin:35px auto;background:white;border:1px solid var(--line);padding:38px;border-radius:16px}.settings summary{cursor:pointer;font-weight:650}.settings form{margin-top:20px}dialog{border:1px solid var(--line);border-radius:16px;width:min(900px,94%);max-height:90vh;padding:30px;color:var(--ink)}dialog::backdrop{background:rgba(14,30,45,.62)}dialog h2{margin:0}dialog .section-heading{margin-bottom:25px}dialog form>h3{border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.edit-row{padding:18px;background:#f2f5f8;border:1px solid var(--line);border-radius:9px;margin:14px 0}.edit-row .grid{gap:14px}.dialog-actions{position:sticky;bottom:-30px;background:#fff;padding:18px 0;border-top:1px solid var(--line);margin-top:24px}.upload-label{border:1px dashed #8198ab;border-radius:8px;padding:18px}.order-preview{width:100%;height:540px;background:white;border:1px solid var(--line);border-radius:8px}.code-block{margin:22px 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}.code-block textarea{font:14px/1.6 ui-monospace,monospace;min-height:160px}.email-job{border:1px solid var(--line);border-radius:8px;padding:18px;margin:15px 0}.email-job p{overflow-wrap:anywhere}.empty{background:#fff;padding:35px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}@media(max-width:700px){:root{font-size:17px}.shell{padding:24px 16px 50px}.grid,.cards,.choices,.filter-grid,.message-card .grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}section,.panel-card{padding:20px 17px}.row,.section-heading,.admin-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.tabs{gap:4px}.tabs button{padding:10px;font-size:.9rem}.login-shell{padding:24px 20px}dialog{padding:20px}.dialog-actions{bottom:-20px}.site-heading img{max-width:140px}.submit-area .primary{width:100%}}
.vs-wave::before,.vs-wave::after{
  content:"" !important;
  position:absolute !important;
  inset:5px 0 !important;
  display:block !important;
  pointer-events:none !important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20240%2042%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M2%2012v18M7%209v24M12%2015v12M17%206v30M22%2013v16M27%204v34M32%2011v20M37%206v30M42%2015v12M47%2013v16M52%2012v18M57%204v34M62%2012v18M67%2011v20M72%2013v16M77%206v30M82%2012v18M87%204v34M92%2012v18M97%2013v16M102%2011v20M107%209v24M112%2012v18M117%204v34M122%2013v16M127%209v24M132%2015v12M137%2011v20M142%2012v18M147%204v34M152%2012v18M157%206v30M162%2015v12M167%209v24M172%2011v20M177%204v34M182%2012v18M187%209v24M192%2015v12M197%2013v16M202%2012v18M207%2011v20M212%2012v18M217%206v30M222%2013v16M227%209v24M232%2012v18M237%204v34%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20240%2042%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M2%2012v18M7%209v24M12%2015v12M17%206v30M22%2013v16M27%204v34M32%2011v20M37%206v30M42%2015v12M47%2013v16M52%2012v18M57%204v34M62%2012v18M67%2011v20M72%2013v16M77%206v30M82%2012v18M87%204v34M92%2012v18M97%2013v16M102%2011v20M107%209v24M112%2012v18M117%204v34M122%2013v16M127%209v24M132%2015v12M137%2011v20M142%2012v18M147%204v34M152%2012v18M157%206v30M162%2015v12M167%209v24M172%2011v20M177%204v34M182%2012v18M187%209v24M192%2015v12M197%2013v16M202%2012v18M207%2011v20M212%2012v18M217%206v30M222%2013v16M227%209v24M232%2012v18M237%204v34%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-size:100% 100% !important;
  mask-size:100% 100% !important;
}


/* Listening pages: compact typography aligned with the surrounding website. */
.catalogue-only { background:#fff; font-size:14px; line-height:1.5; }
.catalogue-only .shell { max-width:1140px; padding:12px 0 20px; margin-inline:auto; }
.catalogue-only .test-banner,.catalogue-only .site-heading,.catalogue-only .tabs,
.catalogue-only #music-context,.catalogue-only .test-copy-note,
.catalogue-only #refresh-catalogue { display:none; }
.catalogue-only #view-voices>h1,.catalogue-only #view-music>h1 {
    position:absolute; width:1px; height:1px; padding:0; overflow:hidden;
    clip-path:inset(50%); white-space:nowrap;
}
.catalogue-only .filter-grid { display:block; max-width:360px; margin:0 0 16px; }
.catalogue-only .filter-grid>label+label { display:none; }
.catalogue-only .filter-grid label { margin:0; font-size:14px; font-weight:600; }
.catalogue-only .filter-grid input { margin-top:5px; padding:7px 10px; font-size:14px; min-height:36px; }
.catalogue-columns { display:grid; gap:18px; align-items:start; }
.voice-columns { grid-template-columns:minmax(0,1fr); }
.music-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalogue-column { min-width:0; padding:0; margin:0; border:1px solid var(--line); border-radius:9px; overflow:hidden; }
.catalogue-column>.catalogue-heading {
    display:flex; justify-content:space-between; align-items:center; gap:8px;
    margin:0; padding:14px 16px; min-height:58px; border:0;
    background:var(--accent); color:var(--on-accent); font-size:18px;
    line-height:1.3; letter-spacing:0; font-weight:650;
}
.catalogue-column .audio-card { border:0; border-radius:0; padding:12px 16px; }
.catalogue-column .audio-card+.audio-card { border-top:1px solid var(--line); }
.catalogue-column .audio-card:nth-child(even) { background:#f5f8fb; }
.catalogue-column .track-name { font-size:16px; line-height:1.35; font-weight:650; margin:0 0 8px; overflow-wrap:anywhere; }
.catalogue-column .category { display:block; font-size:11px; font-weight:600; margin-bottom:4px; }
.catalogue-column .player-title { font-size:13px; line-height:1.4; }
.catalogue-column .player-controls { display:grid; grid-template-columns:36px minmax(0,1fr); gap:8px; align-items:center; }
.catalogue-column .play-button { width:36px; height:36px; min-height:36px; font-size:13px; border-radius:50%; }
.catalogue-column .vs-wave { height:32px; margin:0; }
.catalogue-column .player { margin:0; }
.catalogue-column .player+.player { margin-top:12px; }
.catalogue-column details { margin-top:8px; }
.catalogue-column details .player { margin-top:10px; }
.catalogue-column summary { font-size:13px; line-height:1.5; font-weight:500; }
.catalogue-column .holiday { font-size:13px; line-height:1.5; padding:7px 9px; margin:0 0 8px; }
.column-empty { margin:0; padding:16px; color:var(--muted); font-size:14px; }
@media(max-width:980px) {
    .catalogue-columns { gap:12px; }
    .catalogue-column>.catalogue-heading { font-size:17px; padding:12px; min-height:70px; }
    .catalogue-column .audio-card { padding:12px; }
    .catalogue-column .player-controls { grid-template-columns:36px minmax(0,1fr); gap:3px 8px; }
}
@media(max-width:760px) {
    .voice-columns,.music-columns { grid-template-columns:minmax(0,1fr); gap:18px; }
    .catalogue-only .shell { padding:12px 12px 20px; }
    .catalogue-only .filter-grid input { font-size:16px; }
    .catalogue-column>.catalogue-heading { min-height:0; font-size:18px; padding:12px 14px; }
    .catalogue-column .audio-card { padding:12px 14px; }
    .catalogue-column .player-controls { grid-template-columns:44px minmax(0,1fr); gap:8px; }
    .catalogue-column .play-button { width:44px; height:44px; min-height:44px; }
    .catalogue-column .vs-wave { height:36px; }
}

/* Fixed monochrome theme for standalone listening catalogues only. */
.studio-page {
    --brand:#fff; --accent:#000; --on-brand:#000; --on-accent:#fff;
    --ink:#fff; --muted:#ccc; --line:#444; --paper:#000; --back:#000;
    background:#000; color:#fff; color-scheme:dark;
}
.studio-page body { background:#000; color:#fff; }
.studio-page a { color:#fff; }
.studio-page .audio-card,.studio-page .catalogue-column .audio-card:nth-child(even),
.studio-page .choices label,.studio-page .empty { background:#000; }
.studio-page .catalogue-heading { border-bottom:1px solid #666; }
.studio-page .secondary,.studio-page .tabs button { background:#000; color:#fff; border-color:#777; }
.studio-page .tabs button[aria-current=true] { background:#fff; color:#000; }
.studio-page .notice,.studio-page .holiday,.studio-page .test-banner,
.studio-page .error,.studio-page .toast { background:#151515; color:#fff; border:1px solid #888; }
.studio-page input:not([type=checkbox]):not([type=radio]),
.studio-page select,.studio-page textarea { background:#000; color:#fff; border-color:#888; }
.studio-page input::placeholder,.studio-page textarea::placeholder { color:#bbb; }
.studio-page input:focus,.studio-page select:focus,.studio-page textarea:focus {
    outline:2px solid #fff; border-color:#fff;
}
.studio-page button:focus-visible,.studio-page a:focus-visible,
.studio-page summary:focus-visible,.studio-page .vs-wave:focus-within { outline-color:#fff; }
.studio-page .vs-wave { background:#000; }
.studio-page .vs-wave::before { background:#888; }
.studio-page .vs-wave::after { background:#fff; }
.play-button { display:inline-flex; align-items:center; justify-content:center; }
.play-icon { display:block; width:18px; height:18px; fill:currentColor; flex-shrink:0; }
.studio-page .play-button { background:#000; color:#fff; border:1px solid #aaa; }
.studio-page .play-button:hover { background:#222; border-color:#fff; }
.studio-page .play-button[data-playing=true] { background:#fff; color:#000; border-color:#fff; }
/* Match the centered WebAcappella containers above and below the embed. */
@media(min-width:992px) and (max-width:1199px) { .catalogue-only .shell { max-width:960px; } }
@media(min-width:768px) and (max-width:991px) { .catalogue-only .shell { max-width:720px; } }
@media(min-width:576px) and (max-width:767px) { .catalogue-only .shell { max-width:540px; } }

/* Airier listening lists, without boxes around individual players. */
.catalogue-only #view-voices>.filter-grid { display:none; }
.catalogue-only .music-category-filter { display:none; }
.catalogue-only #view-music>.filter-grid { width:100%; max-width:800px; margin:0 auto 24px; }
.catalogue-only .music-search-field { max-width:460px; margin-inline:auto; }
.search-help { font-size:13px; font-weight:400; line-height:1.5; margin:7px 0 0; color:var(--muted); }
.music-columns {
    width:100%; max-width:800px; margin-inline:auto;
    grid-template-columns:repeat(2,minmax(0,320px));
    column-gap:clamp(80px,14vw,160px); justify-content:center;
}
.catalogue-column { border:1px solid #2e2e2e; border-radius:8px; padding:18px 16px 4px; overflow:visible; }
.catalogue-column .track-name .voice-language {
    margin-left:8px; font-size:11px; font-weight:500; letter-spacing:.03em;
    color:#bbb; white-space:nowrap;
}
.catalogue-column>.catalogue-heading { padding:8px 0 18px; min-height:0; border:0; }
.catalogue-column .audio-card { padding:16px 0 20px; }
.catalogue-column .audio-card+.audio-card { border:0; }
.studio-page .play-button { border:0; }
.vs-wave input { touch-action:pan-y; }
.studio-page .vs-wave:focus-within { outline:none; }
.studio-page .vs-wave:has(input:focus-visible) { outline:2px solid #fff; outline-offset:3px; }
.studio-page .vs-wave.pointer-activated:focus-within { outline:none; }
.catalogue-only.catalogue-embedded .shell { width:100%; max-width:none; padding:24px 32px 32px; }
/* HEX colors belong to order forms; listening catalogues keep their fixed theme. */
.color-entry { display:flex; gap:12px; align-items:center; margin-top:7px; }
input.color-code { margin-top:0!important; font-family:ui-monospace,Consolas,monospace; letter-spacing:.06em; }
.color-preview { display:block; width:54px; height:54px; flex-shrink:0; border:1.5px solid #8599ac; border-radius:8px; }
.color-preview.invalid { background:repeating-linear-gradient(135deg,#fff 0 8px,#e4eaf0 8px 16px); }
#hex-help { margin:-10px 0 8px; }
/* Order form: continuous grey background and clearly separated message groups. */
.order-page { --back:#f0f0f0; --ink:#141414; --muted:#4d4d4d; background:#f0f0f0; color:var(--ink); }
.order-page body { background:#f0f0f0; }
.order-page .shell { max-width:1280px; padding:36px 32px 52px; }
.order-page #form-title { text-align:center; font-size:clamp(24px,2.7vw,32px); line-height:1.35; letter-spacing:-.025em; margin:0 0 52px; color:#111; }
.order-page .form-section { border:0; border-radius:0; padding:0; margin:0 0 40px; background:transparent; }
.order-page .form-section+.form-section { border-top:1px solid #d5d5d5; padding-top:32px; }
.order-page .form-section>h2 { color:var(--brand); font-size:28px; line-height:1.3; margin:0 0 24px; padding:0; border:0; }
.order-page #order-form .grid { gap:24px; }
.order-page #order-form label { font-size:17px; line-height:1.5; font-weight:650; margin:0; }
.order-page #order-form input:not([type=checkbox]):not([type=radio]),
.order-page #order-form select,.order-page #order-form textarea {
    font-size:17px; line-height:1.5; min-height:46px; padding:9px 12px;
    border:1px solid #c6c6c6; border-radius:2px; background:#fff; color:#161616; font-weight:400;
}
.order-page #order-form textarea { min-height:108px; }
.order-page #order-form input::placeholder,.order-page #order-form textarea::placeholder { color:#686868; }
.order-page .contact-name { min-width:0; border:0; padding:0; margin:0; }
.order-page .contact-name legend { font-size:17px; font-weight:650; padding:0; margin-bottom:7px; }
.order-page .contact-name input { margin-top:0; }
.order-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.order-page .required { color:#b51c28; }
.order-page .optional { font-size:14px; font-weight:400; color:#555; }
.order-page .message-intro { font-size:16px; margin-bottom:20px; }
.order-page #types { gap:12px 24px; margin-bottom:0; }
.order-page #types label { background:transparent; border:0; border-radius:0; padding:7px 0; font-weight:500; }
.order-page .message-group { padding:0; margin:40px 0 48px; border:0; border-radius:0; background:transparent; }
.order-page .message-group-title { color:var(--brand); font-size:25px; line-height:1.3; text-transform:uppercase; letter-spacing:0; margin:0 0 18px; }
.order-page .message-items { display:grid; gap:16px; }
.order-page .message-card { padding:24px; border:1px solid #d7d7d7; border-radius:0; background:#e6e6e6; }
.order-page .message-card:nth-child(even) { background:#f0f0f0; }
.order-page .message-heading { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.order-page .message-heading h4 { color:var(--brand); font-size:24px; line-height:1.3; margin:0; font-weight:700; }
.order-page .remove-message { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:30px; height:30px; min-height:30px; padding:0; border:1.5px solid #222; border-radius:50%; background:transparent; color:#111; font:26px/1 Arial,sans-serif; }
.order-page .message-fields { padding-left:44px; }
.order-page .music-actions { margin:8px 0 26px; }
.order-page .music-help { margin:0; font-size:14px; }
.order-page .external-music-field { margin-top:28px; }
.order-page .message-music-preview:empty { display:none; }
.order-page .message-music-preview .player { max-width:620px; margin:0 0 24px; }
.order-page .add-message { margin-top:16px; padding:10px 16px; border:1px solid var(--brand); border-radius:3px; background:var(--brand); color:var(--on-brand); font-size:16px; font-weight:600; }
.order-page #order-form>.form-section:last-of-type>label+label { margin-top:24px; }
.order-page .submit-area { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; text-align:center; margin-top:36px; }
.order-page .submit-area p { font-size:14px; }
.order-page #submit-order { font-size:18px; padding:14px 28px; border-radius:4px; }
.order-page .return-to-form { margin-bottom:24px; }
@media(max-width:700px) {
    .order-page .shell { padding:24px 18px 36px; }
    .order-page #form-title { font-size:24px; margin-bottom:36px; }
    .order-page .form-section>h2 { font-size:25px; }
    .order-page #order-form .grid { gap:18px; }
    .order-page .message-group-title { font-size:22px; }
    .order-page .message-card { padding:18px 14px; }
    .order-page .message-heading { gap:10px; margin-bottom:20px; }
    .order-page .message-heading h4 { font-size:21px; }
    .order-page .message-fields { padding-left:0; }
    .order-page .add-message { width:100%; }
    .order-page .music-actions { gap:4px; margin-bottom:22px; }
}
@media(max-width:760px) {
    .catalogue-only.catalogue-embedded .shell { padding:20px 18px; }
    .music-columns { max-width:320px; grid-template-columns:minmax(0,1fr); }
    .catalogue-only #view-music>.filter-grid { max-width:320px; }
    .catalogue-columns { row-gap:30px; }
    .catalogue-column .audio-card { padding:12px 0 16px; }
}

.receipt-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
#receipt h2:focus { outline:none; }
.home-button { display:inline-flex; align-items:center; justify-content:center; padding:11px 18px; min-height:48px; border-radius:9px; font-weight:650; text-decoration:none; }
.admin-voice-category { margin-top:28px; }
.admin-voice-category h3 { margin-bottom:4px; }
.catalogue-actions { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }
.catalogue-actions button { padding:8px 12px; font-size:15px; }
.catalogue-views button[aria-pressed=true] { background:var(--accent); color:var(--on-accent); }
.sample-source { margin:12px 0; }
.sample-source summary { font-size:14px; font-weight:500; color:var(--muted); }
.sample-source label { margin-top:12px; }
#upload-page-field { margin-bottom:16px; }
.studio-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.example-groups { width:100%; max-width:980px; margin:auto; }
.example-group { background:transparent; border:0; padding:0; margin:0; }
.example-group+.example-group { margin-top:36px; }
.example-group>.example-group-title { font-size:19px; margin:0 0 22px; padding:0; border:0; }
.example-type-group { background:transparent; border:0; border-radius:0; padding:0; margin:0; }
.example-type-group+.example-type-group { margin-top:38px; }
.example-type-heading { margin:0 0 22px; padding:0 0 12px; border-bottom:1px solid #52606d; font-size:22px; font-weight:700; line-height:1.4; }
.studio-page .example-type-heading { color:#fff; }
.example-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.example-voice { padding:22px 24px; }
/* The same subtle card background on voice, music and service listening pages. */
.studio-page .catalogue-column { background:#1b2026; border-color:#39434e; }
.studio-page .catalogue-column>.catalogue-heading,
.studio-page .catalogue-column .audio-card,
.studio-page .catalogue-column .audio-card:nth-child(even),
.studio-page .catalogue-column .vs-wave { background:transparent; }
.studio-page .catalogue-column .play-button:not([data-playing=true]) { background:transparent; }
.studio-page .catalogue-column .play-button:hover { background:#303a45; }
/* Each language has a feminine column on the left and masculine on the right. */
.voice-columns { gap:24px; }
.voice-columns>.catalogue-column { padding:18px 22px 16px; }
.voice-columns .catalogue-heading { justify-content:center; text-align:center; padding:10px 0 20px; margin-bottom:24px; border-bottom:1px solid #39434e; font-size:clamp(22px,2.2vw,28px); font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.voice-columns .catalogue-tracks { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.voice-columns .catalogue-tracks>.audio-card { display:flex; flex-direction:column; padding:10px 12px; border:1px solid #39434e; border-radius:6px; }
.voice-columns .track-name { margin-bottom:6px; }
.voice-columns .player { margin-top:auto; }
.voice-columns .column-empty { grid-column:1/-1; padding:12px 0; }
.voice-columns .voice-type-columns { display:grid; width:100%; max-width:864px; margin-inline:auto; grid-template-columns:repeat(2,minmax(0,360px)); gap:24px clamp(64px,8vw,144px); justify-content:center; align-items:start; }
.voice-columns .voice-type-section { min-width:0; margin:0; padding:0; border:0; background:transparent; }
.voice-columns .voice-type-female { grid-column:1; grid-row:1; }
.voice-columns .voice-type-male { grid-column:2; grid-row:1; }
.voice-columns .voice-type-unclassified { grid-column:1/-1; width:100%; max-width:360px; justify-self:center; }
.voice-columns .voice-type-heading { margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid #52606d; font-size:18px; line-height:1.4; font-weight:700; color:#fff; }
.voice-columns .voice-language-group { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.voice-columns .voice-language-group+.voice-language-group { margin-top:32px; padding-top:28px; border-top:1px solid #39434e; }
.voice-columns .voice-language-heading { margin:0 0 22px; text-align:center; font-size:22px; line-height:1.4; font-weight:700; color:#fff; }
.admin-voice-type-heading { margin:22px 0 8px; font-size:16px; color:var(--muted); }
@media(max-width:760px) {
    .voice-columns .voice-type-columns { grid-template-columns:minmax(0,360px); gap:28px; }
    .voice-columns .voice-type-section { grid-column:1; grid-row:auto; }
    .voice-columns>.catalogue-column { padding:16px 18px; }
}
.studio-page .example-voice>.track-name,
.studio-page .example-voice .examples-more>summary { border-color:#39434e; }
.example-voice>.track-name { font-size:18px; margin:0 0 22px; padding-bottom:14px; border-bottom:1px solid #303030; }
.example-voice .player-title { font-size:14px; font-weight:500; margin:0 0 8px; line-height:1.5; }
.example-voice .player+.player { margin-top:24px; }
.example-voice .examples-more { margin-top:20px; }
.example-voice .examples-more>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0 0; border-top:1px solid #303030; list-style:none; cursor:pointer; font-size:14px; line-height:1.5; font-weight:600; }
.example-voice .examples-more>summary::-webkit-details-marker { display:none; }
.example-voice .examples-more>summary::after { content:'+'; font-size:20px; font-weight:400; line-height:1; }
.example-voice .examples-more[open]>summary::after { content:'−'; }
.example-voice .examples-more>.player:first-of-type { margin-top:22px; }
@media(max-width:960px) { .example-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .example-voice { padding:20px 18px; } }
@media(max-width:600px) { .example-grid { grid-template-columns:minmax(0,1fr); } }

/* Shared audio folder and filename entry. */
.audio-base-address { font-size:15px; }
.audio-link-preview { padding:12px 14px; margin:12px 0 16px; background:#fff; border:1px solid var(--line); border-radius:7px; }
.audio-link-preview>a { font-size:15px; font-weight:650; }
.audio-full-address { display:block; font-size:13px; line-height:1.6; color:var(--muted); overflow-wrap:anywhere; margin-top:5px; }

.sample-page-group { border:1px solid var(--line); border-radius:9px; margin:12px 0; padding:0 16px; }
.sample-page-group>summary { padding:15px 0; font-weight:650; cursor:pointer; }
.sample-page-group>.help { margin:0 0 18px; }
.sample-page-group>.edit-row { margin-top:0; }
.import-table-wrap { overflow-x:auto; margin:20px 0; }
.import-table { width:100%; border-collapse:collapse; font-size:14px; }
.import-table th,.import-table td { text-align:left; padding:10px; border:1px solid var(--line); }
.import-table thead { background:#edf4fa; }
#audio-import-unmatched label { font-size:15px; overflow-wrap:anywhere; }

/* Direct audio placement in the voice editor. */
#item-dialog { width:min(1040px,94%); }
.voice-edit-section { margin:22px 0; padding:18px; background:#f5f7f9; border:1px solid #cbd5df; border-radius:10px; }
.voice-edit-section>h3 { margin:0 0 14px; font-size:20px; }
.voice-edit-section>.help { margin:0 0 14px; }
.voice-upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.voice-edit-section[data-page=voices] .voice-upload-grid { grid-template-columns:minmax(0,1fr); }
.voice-upload-card { min-width:0; border:1px solid #cbd5df; border-radius:8px; padding:16px; background:#fff; }
.voice-upload-card h4 { margin:0 0 12px; font-size:17px; }
.voice-upload-card label { font-size:14px; margin-bottom:12px; }
.voice-upload-card input:not([type=file]):not([type=checkbox]),.voice-upload-card select { font-size:15px; padding:9px; }
.archived-examples { margin:18px 0; }
.archived-examples>summary { padding:10px 12px; border:1px solid var(--line); border-radius:6px; }
.archived-examples>.voice-upload-grid { margin-top:14px; }
.voice-drop-zone { position:relative; border:1.5px dashed #9bacbc; border-radius:8px; padding:16px 12px; background:#f7fafc; text-align:center; }
.voice-drop-zone.drag-over { border-color:#0864b0; background:#e6f2fc; outline:2px solid #0864b0; }
.voice-drop-zone[aria-busy=true] { opacity:.65; }
.drop-caption { margin:0 0 10px; font-size:15px; font-weight:600; }
.voice-drop-zone button { padding:8px 14px; min-height:40px; font-size:15px; }
.voice-drop-zone>.help { margin:10px 0 0; font-size:12px; }
.voice-file-input { position:absolute; width:1px!important; height:1px; padding:0!important; margin:0!important; overflow:hidden; clip-path:inset(50%); }
.voice-filename { overflow-wrap:anywhere; font-size:13px; margin:12px 0 8px; color:var(--muted); }
.voice-audio-preview { width:100%; height:36px; display:block; margin:10px 0; }
.upload-feedback { margin:10px 0 0; font-size:13px; color:#20553d; }
.upload-feedback:empty { display:none; }
.voice-upload-card .sample-source { margin:12px 0 0; }
.voice-upload-card .sample-source summary { font-size:13px; }
.remove-voice-audio { padding:6px 0; min-height:36px; font-size:13px; }
.add-voice-example { margin-top:14px; padding:8px 14px; min-height:40px; font-size:15px; }
.voice-holidays { margin-top:24px; }
.voice-holidays>summary { cursor:pointer; font-weight:650; margin-bottom:14px; }
#item-form .dialog-actions .error { margin:0 0 12px; font-size:15px; }
@media(max-width:700px) { .voice-upload-grid { grid-template-columns:minmax(0,1fr); } .voice-edit-section { padding:12px; } .voice-upload-card { padding:12px; } }

/* Batch upload review, scoped to the voice editor. */
.voice-bulk { margin:22px 0; padding:20px; border:1px solid #b8cedf; border-radius:10px; background:#f0f6fb; }
.voice-bulk>h3 { margin:0 0 10px; font-size:21px; }
.voice-bulk>.help { margin:0 0 16px; }
.voice-bulk-summary { margin:16px 0 10px; font-size:14px; font-weight:650; }
.voice-bulk-summary:empty,.voice-bulk-feedback:empty { display:none; }
.voice-bulk-list { max-height:340px; overflow:auto; scrollbar-gutter:stable; }
.voice-bulk-row { display:grid; grid-template-columns:minmax(0,1fr) 220px auto; align-items:center; gap:12px; padding:12px; margin:0 0 8px; border:1px solid #cfdae3; border-radius:7px; background:#fff; }
.voice-bulk-row.needs-review { border-color:#c7a555; background:#fffbf1; }
.voice-bulk-file { min-width:0; overflow-wrap:anywhere; font-size:14px; }
.voice-bulk-file>.help { display:block; margin:5px 0 0; font-size:12px; }
.voice-bulk-row label { margin:0; font-size:12px; }
.voice-bulk-row select { margin-top:4px; padding:8px; font-size:14px; }
.voice-bulk-row button { padding:7px 3px; font-size:13px; }
.voice-bulk-feedback { font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.voice-bulk-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.voice-bulk-actions button { padding:10px 15px; font-size:15px; }
@media(max-width:700px) {
  .voice-bulk { padding:12px; }
  .voice-bulk-row { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .voice-bulk-file { grid-column:1/-1; }
}

/* Homepage fields belong to the installer editor only. */
#site-form .homepage-settings{border:1px solid #cad8e6;border-radius:10px;margin:22px 0;padding:18px;background:#f7f9fb}#site-form .homepage-settings>summary{font-weight:700;cursor:pointer;margin-bottom:12px}#site-form .homepage-settings textarea{min-height:90px}#site-form .homepage-settings[open]>summary{margin-bottom:20px}
