
.site-menu{position:fixed;top:14px;right:18px;z-index:99999;font-family:Montserrat,Arial,sans-serif}
.site-menu__toggle{box-sizing:border-box!important;appearance:none;border:1px solid rgba(218,181,103,.34)!important;border-radius:0!important;background:rgba(4,2,3,.66)!important;color:#e3cc92!important;padding:10px 13px!important;min-width:92px!important;min-height:30px!important;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:Montserrat,Arial,sans-serif!important;font-size:8px!important;font-weight:500!important;line-height:1!important;letter-spacing:.22em!important;text-transform:uppercase!important;transition:background .3s ease,border-color .3s ease,transform .3s ease}
.site-menu__toggle:hover,.site-menu__toggle:focus-visible{background:rgba(4,2,3,.88);border-color:rgba(235,203,138,.62);outline:none;transform:translateY(-1px)}
.site-menu__panel{position:absolute;right:0;top:calc(100% + 8px);width:min(280px,calc(100vw - 28px));padding:8px;border:1px solid rgba(218,181,103,.24);background:rgba(5,3,4,.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 24px 70px rgba(0,0,0,.34);opacity:0;transform:translateY(-12px) scale(.985);transform-origin:top right;pointer-events:none;transition:opacity .35s ease,transform .45s cubic-bezier(.22,.61,.36,1)}
.site-menu.is-open .site-menu__panel{opacity:1;transform:none;pointer-events:auto}
.site-menu__panel::before{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(218,181,103,.7),transparent);margin:0 10px 7px}
.site-menu__link{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;color:#d9c7a2!important;text-decoration:none!important;font-family:Montserrat,Arial,sans-serif!important;font-size:9px!important;font-weight:500!important;line-height:1.1!important;letter-spacing:.16em!important;text-transform:uppercase!important;border-bottom:1px solid rgba(218,181,103,.08);transition:background .25s ease,color .25s ease,padding-left .25s ease}
.site-menu__link:last-child{border-bottom:0}
.site-menu__link:hover,.site-menu__link:focus-visible{background:rgba(218,181,103,.09)!important;color:#f2dfb1!important;padding-left:17px;outline:none}
.site-menu__hint{color:#7f7568;font-size:7px;letter-spacing:.12em}
.site-menu__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.16);opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:-1}
.site-menu.is-open .site-menu__backdrop{opacity:1;pointer-events:auto}

.author-page .author-topbar,.music-page>.topbar,body.thanks-page>.topbar{display:none!important}
@media(max-width:720px){
  .site-menu{top:10px;right:10px}
  .site-menu__toggle{min-width:82px!important;min-height:28px!important;padding:9px 11px!important;font-size:7px!important}
  .site-menu__panel{width:min(235px,calc(100vw - 20px));top:calc(100% + 7px)}
}
@media(prefers-reduced-motion:reduce){.site-menu__panel,.site-menu__toggle,.site-menu__link,.site-menu__backdrop{transition:none!important}}


/* Wspólny popup kontaktowy — elegancka karta kontaktu */
.site-contact-popup{
  position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;
  padding:24px;box-sizing:border-box;background:rgba(2,1,2,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease;
}
.site-contact-popup.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.site-contact-popup__inner{
  position:relative;width:min(540px,calc(100vw - 40px));box-sizing:border-box;padding:42px 42px 36px;
  text-align:center;background:
    radial-gradient(circle at 50% 0%,rgba(214,180,91,.07),transparent 42%),
    linear-gradient(145deg,rgba(28,13,17,.98),rgba(7,5,6,.985));
  border:1px solid rgba(214,180,91,.62);box-shadow:0 28px 90px rgba(0,0,0,.62),inset 0 0 0 1px rgba(255,255,255,.025);
  transform:translateY(12px) scale(.985);transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.site-contact-popup__inner::before{
  content:"";position:absolute;inset:7px;border:1px solid rgba(214,180,91,.14);pointer-events:none;
}
.site-contact-popup.is-visible .site-contact-popup__inner{transform:none}
.site-contact-popup__close{
  position:absolute;right:13px;top:11px;width:34px;height:34px;padding:0;border:0;background:transparent;
  color:transparent;cursor:pointer;z-index:2;
}
.site-contact-popup__close::before,.site-contact-popup__close::after{
  content:"";position:absolute;left:8px;top:16px;width:18px;height:1.4px;background:#9f8e72;
  transition:background .2s ease,transform .2s ease;
}
.site-contact-popup__close::before{transform:rotate(45deg)}
.site-contact-popup__close::after{transform:rotate(-45deg)}
.site-contact-popup__close:hover::before,.site-contact-popup__close:hover::after,
.site-contact-popup__close:focus-visible::before,.site-contact-popup__close:focus-visible::after{background:#e1bd72}
.site-contact-popup__close:focus-visible{outline:1px solid rgba(225,189,114,.55);outline-offset:2px}
.site-contact-popup__eyebrow{
  color:#b69254;font:600 8px/1 Montserrat,Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;margin:0 0 10px;
}
.site-contact-popup__title{
  margin:0;color:#efe5d5;font:500 32px/.98 "Cormorant Garamond",Georgia,serif;letter-spacing:.22em;text-transform:uppercase;
}
.site-contact-popup__rule{width:92px;height:1px;margin:16px auto 18px;background:linear-gradient(90deg,transparent,#d6b45b,transparent)}
.site-contact-popup__text{margin:0 auto 24px;max-width:390px;color:#bdb09d;font:400 12px/1.7 "Cormorant Garamond",Georgia,serif;letter-spacing:.035em}
.site-contact-popup__rows{display:grid;gap:10px;text-align:left}
.site-contact-popup__item{
  display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:13px 14px;
  color:#eadfce;text-decoration:none;background:rgba(255,255,255,.018);border:1px solid rgba(214,180,91,.16);
  transition:border-color .22s ease,background .22s ease,transform .22s ease;
}
.site-contact-popup__item:hover{border-color:rgba(214,180,91,.42);background:rgba(214,180,91,.055);transform:translateY(-1px)}
.site-contact-popup__icon{width:28px;height:28px;display:grid;place-items:center;color:#d6b45b;border:1px solid rgba(214,180,91,.28);border-radius:50%}
.site-contact-popup__icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.site-contact-popup__label{display:block;color:#998b77;font:600 7px/1 Montserrat,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;margin-bottom:5px}
.site-contact-popup__value{display:block;color:#efe6d8;font:500 13px/1.25 Montserrat,Arial,sans-serif;letter-spacing:.045em;overflow-wrap:anywhere}
.site-contact-popup__note{margin:18px 0 0;color:#786e61;font:400 8px/1.55 Montserrat,Arial,sans-serif;letter-spacing:.08em}
@media(max-width:700px){
  .site-contact-popup{padding:16px}
  .site-contact-popup__inner{width:min(520px,100%);padding:38px 22px 26px}
  .site-contact-popup__title{font-size:27px;letter-spacing:.18em}
  .site-contact-popup__text{font-size:11px}
  .site-contact-popup__value{font-size:12px}
}

/* DESKTOP: główne menu jest stale widoczne, tak jak pasek na /teatr. Zwijane pozostaje tylko na telefonach. */
@media (min-width:721px){
  .site-menu{
    top:0;
    right:0;
    height:66px;
    padding:0 24px 0 20px;
    display:flex;
    align-items:center;
    font-family:Montserrat,Arial,sans-serif;
    background:rgba(105,105,105,.14);
    border-left:1px solid rgba(220,220,220,.08);
    border-bottom:1px solid rgba(220,220,220,.07);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-sizing:border-box;
  }
  .site-menu__toggle{display:none!important;}
  .site-menu__panel{
    position:static;
    display:flex;
    align-items:center;
    gap:22px;
    width:auto;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
  .site-menu__panel::before{display:none;}
  .site-menu__link{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    padding:0!important;
    min-width:0!important;
    min-height:0!important;
    border:0!important;
    background:transparent!important;
    color:#cdbb98!important;
    font-size:10px!important;
    font-weight:500!important;
    line-height:1.1!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
    white-space:nowrap;
  }
  .site-menu__link:hover,
  .site-menu__link:focus-visible{
    background:transparent!important;
    color:#ead39b!important;
    padding-left:0!important;
    outline:none;
  }
  .site-menu__hint{display:none;}
  .site-menu__backdrop{display:none!important;}
}

/* FINAL CONTACT POPUP HARDENING: keep the common popup immune to page-specific SVG/anchor rules. */
.site-contact-popup__inner{position:relative !important;display:block !important;overflow:visible !important;}
.site-contact-popup__close{appearance:none !important;-webkit-appearance:none !important;position:absolute !important;top:11px !important;right:12px !important;width:34px !important;height:34px !important;margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;color:transparent !important;font:0/0 a !important;z-index:20 !important;}
.site-contact-popup__close::before,.site-contact-popup__close::after{content:"" !important;position:absolute !important;left:8px !important;top:16px !important;width:18px !important;height:1.5px !important;background:#a9987d !important;border:0 !important;box-shadow:none !important;}
.site-contact-popup__close::before{transform:rotate(45deg) !important}.site-contact-popup__close::after{transform:rotate(-45deg) !important}
.site-contact-popup__rows{width:100% !important;display:grid !important;gap:10px !important;text-align:left !important;}
.site-contact-popup__item{width:100% !important;box-sizing:border-box !important;display:grid !important;grid-template-columns:34px minmax(0,1fr) !important;align-items:center !important;gap:12px !important;padding:13px 14px !important;margin:0 !important;color:#eadfce !important;text-decoration:none !important;background:rgba(255,255,255,.018) !important;border:1px solid rgba(214,180,91,.16) !important;border-radius:0 !important;}
.site-contact-popup__icon{width:28px !important;height:28px !important;min-width:28px !important;min-height:28px !important;box-sizing:border-box !important;display:grid !important;place-items:center !important;justify-self:start !important;align-self:center !important;overflow:hidden !important;color:#d6b45b !important;background:transparent !important;border:1px solid rgba(214,180,91,.28) !important;border-radius:50% !important;}
.site-contact-popup__icon svg{display:block !important;width:14px !important;height:14px !important;min-width:14px !important;min-height:14px !important;max-width:14px !important;max-height:14px !important;box-sizing:border-box !important;fill:none !important;stroke:currentColor !important;stroke-width:1.6 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
.site-contact-popup__info{display:block !important;min-width:0 !important;}
.site-contact-popup__label{display:block !important;margin:0 0 5px !important;color:#998b77 !important;font:600 7px/1 Montserrat,Arial,sans-serif !important;letter-spacing:.22em !important;text-transform:uppercase !important;}
.site-contact-popup__value{display:block !important;margin:0 !important;color:#efe6d8 !important;font:500 13px/1.25 Montserrat,Arial,sans-serif !important;letter-spacing:.045em !important;overflow-wrap:anywhere !important;text-decoration:none !important;}
.site-contact-popup__item:hover .site-contact-popup__value,.site-contact-popup__item:focus-visible .site-contact-popup__value{color:#efe6d8 !important;text-decoration:none !important;}
.site-contact-popup__text{font-family:"Cormorant Garamond",Georgia,serif !important;}
@media(max-width:700px){
 .site-contact-popup{padding:16px !important}
 .site-contact-popup__inner{width:min(520px,100%) !important;padding:38px 22px 26px !important}
 .site-contact-popup__item{grid-template-columns:34px minmax(0,1fr) !important}
 .site-contact-popup__value{font-size:12px !important}
}
