/* Fari video: muted autoplay with an explicit corner sound toggle; central play is a fallback. */
.video-play-overlay{
  --play-size:80px;--play-label-gap:16px;
  position:absolute;inset:7px;z-index:3;display:flex;align-items:center;justify-content:center;
  margin:0;padding:0;border:0;border-radius:1px;cursor:pointer;
  color:#fff;background:radial-gradient(ellipse at center,rgba(54,27,88,.09),transparent 68%);
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.video-play-overlay[hidden]{display:none!important}
.video-play-disc{
  display:grid;place-items:center;flex:none;width:var(--play-size);height:var(--play-size);
  border:1.5px solid rgba(255,255,255,.9);border-radius:50%;
  background:linear-gradient(145deg,#9474b5,#634181);color:#fff;
  box-shadow:0 0 0 9px rgba(255,253,255,.19),0 6px 25px rgba(53,27,84,.30),inset 0 1px 1px rgba(255,255,255,.18);
  transition:transform .18s ease,box-shadow .18s ease;
}
.video-play-disc svg{width:34px;height:34px;display:block;margin-left:2px}
.video-play-label{
  position:absolute;top:calc(50% + var(--play-size)/2 + var(--play-label-gap));left:50%;
  transform:translateX(-50%);max-width:calc(100% - 24px);width:max-content;
  margin:0;padding:6px 13px;border:1px solid rgba(255,255,255,.32);border-radius:999px;
  background:rgba(61,39,85,.86);color:#fff;
  font:500 12px/1.5 var(--sans);letter-spacing:.1px;text-align:center;white-space:normal;
  box-shadow:0 2px 9px rgba(43,23,65,.12);pointer-events:none;
}
@media(hover:hover){
  .video-play-overlay:hover .video-play-disc{transform:scale(1.06);box-shadow:0 0 0 12px rgba(255,253,255,.23),0 7px 30px rgba(53,27,84,.34)}
}
.video-play-overlay:active .video-play-disc{transform:scale(.96)}
.video-play-overlay:focus-visible{outline:2px solid #78509a;outline-offset:-3px}
.video-play-overlay:focus-visible .video-play-disc{outline:3px solid #fff;outline-offset:5px}
@media(max-width:520px){
  .video-play-overlay{--play-size:58px;--play-label-gap:10px;inset:5px}
  .video-play-disc{box-shadow:0 0 0 6px rgba(255,253,255,.19),0 4px 18px rgba(53,27,84,.28)}
  .video-play-disc svg{width:27px;height:27px}
  .video-play-label{padding:4px 10px;font-size:10px;line-height:1.5;max-width:calc(100% - 20px)}
}
@media(prefers-reduced-motion:reduce){.video-play-disc{transition:none}}
@media print{.video-play-overlay{display:none!important}}

/* Always-visible sound affordance INSIDE the video's lower-right corner. */
.video-sound-toggle {
  position:absolute;right:19px;bottom:19px;z-index:4;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-width:46px;min-height:46px;max-width:calc(100% - 38px);
  margin:0;padding:10px 14px;border:1px solid rgba(114,80,149,.29);border-radius:999px;
  background:rgba(255,253,249,.95);color:#603d83;
  box-shadow:0 2px 12px rgba(61,39,85,.13);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  font:600 12px/1.35 var(--sans);letter-spacing:0;
  transition:background .15s ease,box-shadow .15s ease;
}
.video-sound-toggle svg{width:22px;height:22px;flex:0 0 22px;display:block;pointer-events:none}
.video-sound-toggle .sound-icon-on{display:none}
.video-sound-toggle[data-mode="mute"] .sound-icon-on{display:block}
.video-sound-toggle[data-mode="mute"] .sound-icon-off{display:none}
.video-sound-toggle[data-mode="mute"]{padding:10px;background:#6b4c9b;color:#fff;border-color:#6b4c9b}
.video-sound-toggle[data-mode="mute"] .video-sound-label{display:none}
.video-sound-label{text-align:left;white-space:normal;pointer-events:none}
.video-sound-toggle:focus-visible{outline:3px solid #6b4c9b;outline-offset:3px}
.video-sound-toggle[hidden]{display:none!important}
@media(hover:hover){
  .video-sound-toggle:hover{background:#f2eaf8;box-shadow:0 3px 16px rgba(61,39,85,.20)}
  .video-sound-toggle[data-mode="mute"]:hover{background:#553578}
}
@media(max-width:520px){
  .video-sound-toggle{right:12px;bottom:12px;min-width:44px;min-height:44px;max-width:calc(100% - 24px);padding:9px 11px;font-size:11px;gap:6px}
  .video-sound-toggle[data-mode="mute"]{padding:9px}
}
@media(prefers-reduced-motion:reduce){.video-sound-toggle{transition:none}}
@media(forced-colors:active){.video-sound-toggle{border:1px solid ButtonText;background:ButtonFace;color:ButtonText;box-shadow:none}}
@media print{.video-sound-toggle{display:none!important}}
