/* Logo w nagłówku (SVG w header.php — klasa .site-logo zamiast :has() dla starszych przeglądarek) */
#logo #title > a.site-logo{
  display:inline-block;
  line-height:0;
  font-size:0;
  letter-spacing:0;
}
.site-logo__img{
  display:block;
  height:30px;
  width:auto;
  max-width:min(100%, 14rem);
}
@media screen and (max-width:640px){
  .site-logo__img{
    height:16px;
  }
}

/* CUSTOM STYLES e.g. for home page */
.is-page-home #page div.content > p,
.is-page-home #page div.content .content__body > p{padding:1.75em;background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-divider);}
.is-page-home .pages-gallery .page{padding:1.25rem;border:1px solid #ddd;}
.is-page-home #page .head{font-size:clamp(1.5rem, 3vw, 2rem);font-weight:600;letter-spacing:-0.02em;}

/* Menu górne (header): podświetlenie — opacity zamiast czarnego tła */
@media screen and (min-width:641px){
  .header-navigation .menu-top ul.level-0-menu > li > a:hover,
  .header-navigation .menu-top ul.level-0-menu > li.selected > a,
  .header-navigation .menu-top ul.level-0-menu > li.selected-parent > a{
    background:inherit;
    opacity:0.8;
  }
  .header-navigation .menu-top:not(.menu-top--mega) ul.level-0-menu > li:hover:after,
  .header-navigation .menu-top:not(.menu-top--mega) ul.level-0-menu > li.selected:after,
  .header-navigation .menu-top:not(.menu-top--mega) ul.level-0-menu > li.selected-parent:after{
    background:currentColor;
  }
  /* Mega menu: poziomy padding przy linkach (w style-menu było tylko pion — podświetlenie kleiło się do tekstu) */
  .header-navigation .menu-top--mega .mega-menu__panel a{
    padding-left:0.65rem;
    padding-right:0.65rem;
  }
  /* Mega menu: pasek poziomu 0 już powyżej; panel (kolumny, podmenu, aside z linkami) */
  .header-navigation .menu-top--mega .mega-menu__panel a:hover,
  .header-navigation .menu-top--mega .mega-menu__panel a:focus-visible,
  .header-navigation .menu-top--mega .mega-menu__panel li.selected > a,
  .header-navigation .menu-top--mega .mega-menu__panel li.selected-parent > a{
    background:inherit;
    opacity:0.8;
  }
  .header-navigation .menu-top--mega .mega-menu__panel a:focus-visible{
    outline:none;
  }
}
@media screen and (max-width:640px){
  #primary-navigation .menu-top ul.level-0-menu > li > a:hover,
  #primary-navigation .menu-top ul.level-0-menu > li.selected > a,
  #primary-navigation .menu-top ul.level-0-menu > li.selected-parent > a{
    background:inherit;
    opacity:0.8;
  }
  .mobile-nav-expand:hover,
  .mobile-nav-expand:focus-visible{
    background:inherit;
    opacity:0.8;
    outline:none;
  }
  #primary-navigation .menu-top li.drop-down.is-open > .mobile-nav-expand{
    background:inherit;
    opacity:0.8;
  }
  /* Mega menu w szufladzie: linki w panelu (podmenu), nie tylko poziom 0 */
  #primary-navigation .menu-top--mega .mega-menu__panel a:hover,
  #primary-navigation .menu-top--mega .mega-menu__panel a:focus-visible,
  #primary-navigation .menu-top--mega .mega-menu__panel li.selected > a,
  #primary-navigation .menu-top--mega .mega-menu__panel li.selected-parent > a{
    background:inherit;
    opacity:0.8;
  }
  #primary-navigation .menu-top--mega .mega-menu__panel a:focus-visible{
    outline:none;
  }
}

/* Front: ikony edycji admina (ołówek) — absolute, żeby nie rozpychały layoutu; rodzic z :has poniżej */
.admin-option{
  position:absolute;
  top:0.35rem;
  right:0.35rem;
  z-index:50;
  display:inline-flex;
  align-items:center;
  margin:0;
}
:is(li, div.page, .widget, th, td):has(> .admin-option){
  position:relative;
}
/* Widżety: ikona musi być w obrębie .widget (nie tylko przez :has — starsze silniki / pełna treść listy) */
.widget{
  position:relative;
}
.widget > .admin-option--widget{
  z-index:60;
}
.admin-option a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  line-height:0;
  box-sizing:border-box;
  transition:opacity 0.15s ease, filter 0.15s ease;
}
.admin-option a:hover,
.admin-option a:focus-visible{
  opacity:0.92;
  outline:none;
}
.admin-option--page a{
  background:#2563eb;
}
.admin-option--widget a{
  background:#16a34a;
}
.admin-option--slider a{
  background:#d97706;
}

/* Slajdy quickslidera: ikony edycji — absolute, prawy górny róg slajdu */
.quick-slider ul > li[class*="slide"] > .admin-option{
  position:absolute;
  top:2em;
  margin:0;
  z-index:20;
}
.quick-slider ul > li[class*="slide"] > .admin-option:first-of-type{
  right:2em;
}
.quick-slider ul > li[class*="slide"] > .admin-option:nth-of-type(2){
  right:calc(2em + 34px);
}

.admin-option img{
  display:block;
  width:14px;
  height:14px;
  filter:brightness(0) invert(1);
}

/* Przełącznik widoczności ikon edycji (tylko przy sesji admina — HTML w header.php) */
.admin-edit-icons-toggle{
  position:fixed;
  top:10px;
  left:10px;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:none;
  border-radius:50%;
  background:rgba(15,23,42,0.85);
  box-shadow:0 2px 10px rgba(0,0,0,0.25);
  cursor:pointer;
  line-height:0;
}
.admin-edit-icons-toggle:hover,
.admin-edit-icons-toggle:focus-visible{
  background:rgba(15,23,42,0.95);
  outline:2px solid rgba(255,255,255,0.5);
  outline-offset:2px;
}
.admin-edit-icons-toggle__img img{
  display:block;
  vertical-align:middle;
}
html.admin-edit-icons-hidden .admin-option{
  display:none !important;
}
/* Przycisk przełącznika zawsze widoczny */
html.admin-edit-icons-hidden .admin-edit-icons-toggle{
  display:flex;
}

/* Pasek edycji bieżącej strony (page.php) — pole na ikonę */
.admin-page-edit-bar{
  position:absolute;
  top:0;
  right:0;
  width:32px;
  height:32px;
  margin:0 0.75rem 0.75rem 0;
  flex-shrink:0;
  z-index:10;
}
.admin-page-edit-bar .admin-option{
  top:0;
  right:0;
}

/* Opis pełny / treść widżetu: mała czarna ikonka edycji + modal (TinyMCE) */
.content.content--admin-editable,
.widget-description.widget-description--admin-editable{
  position:relative;
  padding-top:0.15rem;
}
.widget-description.widget-description--admin-editable{
  clear:both;
}
/*
 * Opis na sliderze: NIE ustawiaj tu position:relative na opakowaniu — w style-sliders.css
 * jest .slider .description { position:absolute; ... }. Wyższa specyficzność
 * (.slider-slide-description--admin-editable) nadpisywała to na relative i tekst
 * wpadał pod overflow:hidden / line-height:0 na li (znikał z widoku).
 * Blok ze slajdem ma nadal position:relative z :is(li):has(> .admin-option).
 */
.slider-slide-description.slider-slide-description--admin-editable.description{
  padding-top:0;
}
.admin-option--page-desc{
  top:0;
  left:0;
  right:auto;
}
.admin-option--page-desc button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin:0;
  padding:0;
  border:none;
  border-radius:4px;
  background:#0a0a0a;
  cursor:pointer;
  line-height:0;
  box-shadow:0 1px 3px rgba(0,0,0,0.2);
}
.admin-option--page-desc button:hover,
.admin-option--page-desc button:focus-visible{
  background:#1a1a1a;
  outline:none;
}
.admin-option--page-desc img{
  filter:brightness(0) invert(1) !important;
  width:12px !important;
  height:12px !important;
  opacity:1;
}

body.admin-inline-desc-open{
  overflow:hidden;
}
.admin-inline-desc-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:100001;
  align-items:center;
  justify-content:center;
  padding:1rem;
  box-sizing:border-box;
}
.admin-inline-desc-modal.is-open{
  display:flex;
}
.admin-inline-desc-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,0.45);
  cursor:pointer;
}
.admin-inline-desc-modal__panel{
  position:relative;
  z-index:1;
  width:min(96vw,720px);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:8px;
  box-shadow:0 20px 50px rgba(0,0,0,0.25);
  padding:1rem 1.1rem 1.25rem;
  box-sizing:border-box;
}
.admin-inline-desc-modal__title{
  margin:0 0 0.75rem;
  font-size:1.1rem;
  font-weight:600;
}
.admin-inline-desc-modal__editor-wrap{
  min-height:200px;
}
.admin-inline-desc-modal--slider .admin-inline-desc-modal__editor-wrap{
  min-height:160px;
}
.admin-inline-desc-modal__textarea{
  width:100%;
  box-sizing:border-box;
}
.admin-inline-desc-modal .mce-tinymce{
  min-height:200px;
}
.admin-inline-desc-modal .mce-edit-area iframe{
  min-height:180px;
}
.admin-inline-slider-extras{
  margin-top:0.65rem;
  padding-top:0.75rem;
  border-top:1px solid #e5e7eb;
}
.admin-inline-slider-extras__hint{
  margin:0 0 0.5rem;
  font-size:0.8125rem;
  color:#64748b;
  line-height:1.35;
}
.admin-inline-slider-extras__preview{
  max-width:100%;
}
.admin-inline-slider-extras__stage{
  position:relative;
  display:inline-block;
  max-width:100%;
  vertical-align:top;
  min-height:100px;
  min-width:160px;
  background:#e8e8e8;
  border:1px solid #cbd5e1;
  border-radius:6px;
  overflow:hidden;
}
.admin-inline-slider-extras__stage--empty{
  min-height:120px;
  background:repeating-linear-gradient(135deg,#eee,#eee 8px,#e5e5e5 8px,#e5e5e5 16px);
}
.admin-inline-slider-extras__img{
  display:block;
  max-height:160px;
  width:auto;
  max-width:100%;
  height:auto;
  margin:0 auto;
  vertical-align:top;
}
.admin-inline-slider-extras__marker{
  position:absolute;
  z-index:2;
  width:24px;
  height:24px;
  transform:translate(-50%,-50%);
  border:2px solid #fff;
  border-radius:50%;
  background:rgba(10,10,10,0.82);
  box-shadow:0 1px 5px rgba(0,0,0,0.35);
  cursor:grab;
  touch-action:none;
}
.admin-inline-slider-extras__marker:active{
  cursor:grabbing;
}
.admin-inline-slider-extras__readout{
  margin:0.35rem 0 0.5rem;
  font-size:0.8125rem;
  font-weight:600;
  color:#294159;
}
.admin-inline-slider-extras__controls{
  display:flex;
  flex-wrap:wrap;
  gap:0.65rem 1.25rem;
  align-items:flex-end;
}
.admin-inline-slider-extras__field{
  display:flex;
  flex-direction:column;
  gap:0.2rem;
  font-size:0.875rem;
}
.admin-inline-slider-extras__field-label{
  color:#475569;
  font-size:0.78rem;
}
.admin-inline-slider-extras__select,
.admin-inline-slider-extras__input{
  font:inherit;
  padding:0.25rem 0.4rem;
  border:1px solid #cbd5e1;
  border-radius:4px;
  max-width:12rem;
}
.admin-inline-desc-modal__actions{
  margin-top:0.85rem;
  display:flex;
  justify-content:flex-end;
}
.admin-inline-desc-modal__save{
  padding:0.45rem 1.1rem;
  font:inherit;
  font-weight:600;
  cursor:pointer;
  border:1px solid #0a0a0a;
  border-radius:4px;
  background:#0a0a0a;
  color:#fff;
}
.admin-inline-desc-modal__save:hover,
.admin-inline-desc-modal__save:focus-visible{
  opacity:0.92;
  outline:2px solid rgba(255,255,255,0.4);
  outline-offset:2px;
}

#content .widget.type-2.osirix-info{border:none;background:none;border-radius:0;overflow:visible;}
.widget.type-2.osirix-info > aside.page.sub{margin:2em 0;padding:2em;background:#fff;border:1px solid var(--color-divider);border-radius:var(--radius-md);}
.widget.type-2.osirix-info > aside.page.sub::after{content:"";display:table;clear:both;}
.widget.type-2.osirix-info img{border:none;}
.osirix-info .page.sub{margin:2em 0;}
.osirix-info .head{font-size:80px;}
