/* Corner menu (see cmenu.js). Themes set the colours:
   --cm-face (button fill), --cm-ring (gold rings), --cm-icon, --cm-label-bg, --cm-label-ink, --cm-veil */
.cmenu{--face:var(--cm-face,#4A0F1C);--ring:var(--cm-ring,#C9A15A);--icon:var(--cm-icon,#F3D7A0);
  --lbg:var(--cm-label-bg,rgba(255,250,242,.94));--link:var(--cm-label-ink,#4A0F1C);--veil:var(--cm-veil,rgba(30,8,14,.45));
  font-family:var(--cm-font,Georgia,serif)}
.cmenu-btn{position:fixed;right:18px;bottom:18px;z-index:2147483001;width:54px;height:54px;border-radius:50%;cursor:pointer;padding:0;
  border:1.5px solid var(--ring);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--face) 70%,#fff 30%),var(--face) 70%);
  color:var(--icon);display:grid;place-items:center;box-shadow:0 0 0 4px color-mix(in srgb,var(--face) 35%,transparent),0 0 0 5px color-mix(in srgb,var(--ring) 55%,transparent),0 10px 26px rgba(0,0,0,.32);
  transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cmenu-btn svg{position:absolute;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:opacity .35s,transform .5s}
.cmenu-btn .cm-rose path:first-of-type{fill:currentColor;fill-opacity:.25}
.cmenu-btn .cm-x{width:20px;height:20px;opacity:0;transform:rotate(-90deg)}
.cmenu.open .cmenu-btn .cm-rose{opacity:0;transform:rotate(90deg) scale(.6)}
.cmenu.open .cmenu-btn .cm-x{opacity:1;transform:none}
.cmenu-btn:hover{transform:rotate(18deg)}
.cmenu-veil{position:fixed;inset:0;z-index:2147482999;background:var(--veil);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.cmenu.open .cmenu-veil{opacity:1;visibility:visible}
.cmenu-list{position:fixed;right:20px;bottom:84px;z-index:2147483000;display:flex;flex-direction:column;align-items:flex-end;gap:9px;pointer-events:none}
.cmenu-item{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;cursor:pointer;opacity:0;transform:translateY(16px) scale(.85);
  transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--k)*28ms)}
.cmenu.open .cmenu-list{pointer-events:auto}
.cmenu.open .cmenu-item{opacity:1;transform:none}
.cmenu-label{background:var(--lbg);color:var(--link);font-size:15px;letter-spacing:.04em;padding:6px 14px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.18);white-space:nowrap}
.cmenu-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lbg);color:var(--link);
  box-shadow:0 0 0 1.5px var(--ring),0 0 0 4px var(--lbg),0 0 0 5px color-mix(in srgb,var(--ring) 60%,transparent),0 6px 16px rgba(0,0,0,.22)}
.cmenu-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cmenu-item:hover .cmenu-ic,.cmenu-item:focus-visible .cmenu-ic{background:var(--face);color:var(--icon)}
/* the music button sits just above the menu button */
html.has-cmenu #bgm-toggle{bottom:84px!important;right:21px!important}
html.has-cmenu .cmenu.open~#bgm-toggle,html.has-cmenu:has(.cmenu.open) #bgm-toggle{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.cmenu-item,.cmenu-btn,.cmenu-btn svg{transition:none}}

/* Weddings by Pixvid: the logo and how to reach us, at the end of every page */
.pixvid-credit{position:relative;z-index:2;padding:36px 18px 40px;text-align:center;font-size:14px;line-height:1.7}
.pixvid-credit::before{content:"";display:block;width:120px;height:1px;margin:0 auto 24px;background:linear-gradient(90deg,transparent,#D4AF37,transparent)}
.pixvid-credit img{display:block;width:96px;height:96px;margin:0 auto 10px;border-radius:50%;box-shadow:0 0 0 1px rgba(212,175,55,.7),0 10px 26px rgba(0,0,0,.35)}
.pixvid-credit p{margin:0;color:inherit;opacity:.9}
.pixvid-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Weddings by Pixvid: the logo and name, top-left of the first screen (above an opening gate too); scrolls away with the page */
.pixvid-badge{position:absolute;left:12px;top:max(12px,env(safe-area-inset-top));z-index:2147482990;display:flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;
  border-radius:999px;background:rgba(74,10,22,.72);box-shadow:0 0 0 1px rgba(212,175,55,.7),0 6px 18px rgba(0,0,0,.35);pointer-events:none;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:"Cormorant","Cormorant Garamond",Georgia,serif;color:#F5DE9B;line-height:1}
.pixvid-badge img{width:34px;height:34px;border-radius:50%;display:block}
.pixvid-badge span{display:flex;flex-direction:column;font-size:15px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.pixvid-badge small{font-size:8.5px;letter-spacing:.24em;font-weight:700;opacity:.9;margin-bottom:2px}
@media (max-width:600px){.pixvid-badge{left:10px;gap:6px;padding:3px 11px 3px 3px}.pixvid-badge img{width:28px;height:28px}.pixvid-badge span{font-size:12.5px}.pixvid-badge small{font-size:7.5px}}
