.ogd-tpl-gazetowy .ogd-book{ position:relative; }
.ogd-tpl-gazetowy .ogd-book-page{ display:none; }
.ogd-tpl-gazetowy .ogd-book-page.ogd-active{ display:block; animation: ogd-page-flip .45s ease; transform-origin: 50% 100%; }
@keyframes ogd-page-flip{
  0%{ transform: rotateY(-6deg) rotateX(1deg); opacity:.92; }
  60%{ transform: rotateY(3deg) rotateX(0deg); opacity:1; }
  100%{ transform: rotateY(0); }
}
.ogd-tpl-gazetowy .ogd-book-nav{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:10px; }
.ogd-tpl-gazetowy .ogd-book-prev,
.ogd-tpl-gazetowy .ogd-book-next{ border:1px solid #ddd; background:#fafafa; border-radius:6px; padding:6px 10px; cursor:pointer; }
.ogd-tpl-gazetowy .ogd-book-prev:hover,
.ogd-tpl-gazetowy .ogd-book-next:hover{ background:#f0f0f0; }
.ogd-tpl-gazetowy .ogd-book-indicator{ font-size:.95em; color:#666; }
.ogd-tpl-gazetowy .ogd-bifold{
  position:relative;
  padding:20px 24px;
  background:#fff;
  border:1px solid #e6e6e6;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.ogd-tpl-gazetowy .ogd-bifold:before{
  /* pionowy grzbiet gazety */
  content:""; position:absolute; left:50%; top:12px; bottom:12px; width:2px; background:linear-gradient(#e9e9e9,#dcdcdc);
}
/* Minimalne style dla nowych szablonów */
.ogloszenia-duszpasterskie .ogd-point{ margin:10px 0; }
.ogloszenia-duszpasterskie .ogd-main{ margin-bottom:4px; }
.ogloszenia-duszpasterskie .ogd-main strong{ margin-right:6px; }
.ogloszenia-duszpasterskie .ogd-sub{ margin:4px 0 0 0; line-height:1.55; }
.ogloszenia-duszpasterskie p{ line-height:1.55; }
.ogd-tpl-minimalistyczny .ogd-item { margin:16px 0; border:0; padding:0; }
.ogd-tpl-minimalistyczny .ogd-item + .ogd-item { margin-top:18px; }
.ogd-tpl-minimalistyczny .ogd-title { margin-bottom:8px; font-weight:600; letter-spacing:.2px; border-bottom:1px solid #eee; padding-bottom:4px; }
.ogd-num{ font-weight:700; margin-right:6px; }
.ogd-tpl-minimalistyczny p { margin:6px 0; line-height:1.5; }
/* proste akcenty zamiast ramek */
.ogd-tpl-minimalistyczny .ogd-point { margin:8px 0; padding:6px 0 6px 12px; border-left:3px solid #e8e8e8; }
.ogd-tpl-minimalistyczny .ogd-sub { margin:4px 0 0 0; color:#444; }
.ogd-tpl-minimalistyczny .ogd-li { position:relative; padding-left:14px; margin:4px 0; }
.ogd-tpl-minimalistyczny .ogd-li:before { content:'•'; position:absolute; left:0; top:0; color:#a8a8a8; }

.ogd-tpl-kafelkowy .ogd-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.ogd-tpl-kafelkowy .ogd-tile { background:#fff; border:1px solid #e8e8e8; border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,.05); padding:12px; }
.ogd-tpl-kafelkowy .ogd-tile-title { grid-column:1 / -1; background:linear-gradient(180deg,#fafafa,#fff); border:1px solid #ececec; border-radius:12px; font-weight:700; padding:10px 12px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
/* zamiana struktury punktów na kafelki */
.ogd-tpl-kafelkowy .ogd-point { background:#fff; border:1px solid #e8e8e8; border-radius:10px; box-shadow:0 1px 3px rgba(0,0,0,.04); padding:12px; margin:0; }
.ogd-tpl-kafelkowy .ogd-main { font-weight:600; margin-bottom:6px; }
.ogd-tpl-kafelkowy .ogd-sub { color:#444; margin-top:4px; }
.ogd-tpl-kafelkowy .ogd-li { background:#fff; border:1px dashed #e8e8e8; border-radius:10px; padding:10px 12px; }

.ogd-tpl-akordeon .ogd-acc-item { border-bottom:1px solid #eee; }
.ogd-tpl-akordeon details.ogd-acc{ background:#fff; border:1px solid #e5e5e5; border-radius:8px; margin:10px 0; }
.ogd-tpl-akordeon summary.ogd-acc-summary{ list-style:none; cursor:pointer; padding:10px 12px; font-weight:600; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ogd-tpl-akordeon .ogd-acc-hint{ font-weight:400; color:#777; margin-left:auto; margin-right:8px; }
.ogd-tpl-akordeon .ogd-acc-arrow{ width:10px; height:10px; border-right:2px solid #666; border-bottom:2px solid #666; transform: rotate(-45deg); transition: transform .2s ease; }
.ogd-tpl-akordeon details[open] > summary .ogd-acc-arrow{ transform: rotate(45deg); }
.ogd-tpl-akordeon summary.ogd-acc-summary::-webkit-details-marker{ display:none; }
.ogd-tpl-akordeon .ogd-acc-panel { padding:10px 12px 14px; border-top:1px solid #eee; }

.ogd-tpl-gazetowy .ogd-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 24px 32px; /* wiersz, kolumna */
}
@media (max-width: 1024px){ .ogd-tpl-gazetowy .ogd-columns{ grid-template-columns: repeat(2, minmax(240px,1fr)); gap: 20px 28px; } .ogd-tpl-gazetowy .ogd-bifold:before{ left:50%; } }
@media (max-width: 780px){ .ogd-tpl-gazetowy .ogd-columns{ grid-template-columns: 1fr; gap: 16px; } .ogd-tpl-gazetowy .ogd-bifold:before{ display:none; } }

.ogd-tpl-gazetowy .ogd-col-item {
  background:#fff;
  border:1px solid #ececec;
  border-radius:8px;
  padding:12px 14px;
  margin:0;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.ogd-tpl-gazetowy .ogd-col-title {
  font-weight:700;
  margin:0 0 8px;
  padding-bottom:6px;
  border-bottom:2px solid #f1f1f1;
}
.ogd-tpl-gazetowy .ogd-col-item p{ margin:6px 0; line-height:1.55; }
.ogd-tpl-gazetowy .ogd-col-item p:first-of-type::first-letter{ float:left; font-size:2.1em; line-height:1; padding-right:.08em; color:#666; }
.ogd-tpl-gazetowy .ogd-point{ margin:8px 0; }
.ogd-tpl-gazetowy .ogd-sub{ color:#444; margin-top:4px; }
.ogd-tpl-gazetowy .ogd-li{ position:relative; padding-left:14px; margin:4px 0; }
.ogd-tpl-gazetowy .ogd-li:before{ content:'•'; position:absolute; left:0; top:0; color:#c5c5c5; }

.ogd-tpl-slajdowy .ogd-slider { position:relative; overflow:hidden; }
.ogd-tpl-slajdowy .ogd-slide { min-height:80px; padding:10px; }
.ogd-tpl-slajdowy .ogd-slide-title { font-weight:700; margin-bottom:6px; }
.ogd-tpl-slajdowy .ogd-dots { text-align:center; margin-top:8px; }
.ogd-tpl-slajdowy .ogd-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#ccc; margin:0 3px; }
.ogd-tpl-slajdowy .ogd-dot.active { background:#666; }

/* Świąteczne akcenty */
.ogd-tpl-swiateczny_bn .announcement, .ogd-tpl-swiateczny_wk .announcement { border:1px solid #e5e5e5; border-radius:10px; padding:12px; margin:12px 0; background:#fff; position:relative; overflow:hidden; }
.ogd-tpl-swiateczny_bn .ogd-title:before { content:"\1F384  "; } /* choinka */
.ogd-tpl-swiateczny_wk .ogd-title:before { content:""; } /* bez emoji – ozdoby niżej */

/* Świąteczny BN – rogi i łańcuch pod tytułem */
.ogd-tpl-swiateczny_bn .announcement {
  border-color: #d33a2c;
  box-shadow: 0 0 0 3px rgba(211,58,44,0.06) inset;
}
/* Świąteczny BN – użycie dostarczonej grafiki w górnych rogach */
.ogd-tpl-swiateczny_bn .announcement:before,
.ogd-tpl-swiateczny_bn .announcement:after{
  content:""; position:absolute; top:-10px; width:100px; height:141px; pointer-events:none; z-index:0;
  background-repeat:no-repeat; background-size:100px 141px; background-position:top left;
  opacity:.96; filter: drop-shadow(0 2px 3px rgba(0,0,0,.08));
}
.ogd-tpl-swiateczny_bn .announcement:before{ left:-8px; background-image:url('../images/ozdoba_lewastrona.png'); }
.ogd-tpl-swiateczny_bn .announcement:after{ right:-8px; background-image:url('../images/ozdoba_prawastrona.png'); }
/* delikatne wygaszenie wewnętrznej krawędzi, aby wtopić w tło */
.ogd-tpl-swiateczny_bn .announcement:before{
  -webkit-mask-image: linear-gradient(to right, #000 78%, transparent 100%);
  mask-image: linear-gradient(to right, #000 78%, transparent 100%);
  mix-blend-mode: multiply;
}
.ogd-tpl-swiateczny_bn .announcement:after{
  -webkit-mask-image: linear-gradient(to left, #000 78%, transparent 100%);
  mask-image: linear-gradient(to left, #000 78%, transparent 100%);
  mix-blend-mode: multiply;
}
/* upewnij się, że treść jest nad ozdobami */
.ogd-tpl-swiateczny_bn .announcement > * { position:relative; z-index:1; }

/* Responsive zmniejszenie ozdób na urządzeniach mobilnych */
@media (max-width: 782px){
  .ogd-tpl-swiateczny_bn .announcement:before,
  .ogd-tpl-swiateczny_bn .announcement:after{
    top:-8px; width:72px; height:102px; background-size:72px 102px;
  }
  .ogd-tpl-swiateczny_bn .announcement:before{ left:-6px; }
  .ogd-tpl-swiateczny_bn .announcement:after{ right:-6px; }
  .ogd-tpl-swiateczny_bn .announcement{ padding-left: 90px; padding-top: 14px; padding-bottom: 14px; }

  /* Wielkanoc – responsywne obrazki i padding */
  .ogd-tpl-swiateczny_wk .announcement:before{ height:70px; }
  .ogd-tpl-swiateczny_wk .announcement:after{ height:70px; }
  .ogd-tpl-swiateczny_wk .announcement{ padding-top:88px; padding-bottom:88px; }
}
@media (max-width: 480px){
  .ogd-tpl-swiateczny_bn .announcement:before,
  .ogd-tpl-swiateczny_bn .announcement:after{
    top:-6px; width:60px; height:85px; background-size:60px 85px;
  }
  .ogd-tpl-swiateczny_bn .announcement:before{ left:-5px; }
  .ogd-tpl-swiateczny_bn .announcement:after{ right:-5px; }
  .ogd-tpl-swiateczny_bn .announcement{ padding-left: 78px; padding-top: 12px; padding-bottom: 12px; }

  .ogd-tpl-swiateczny_wk .announcement:before{ height:56px; }
  .ogd-tpl-swiateczny_wk .announcement:after{ height:56px; }
  .ogd-tpl-swiateczny_wk .announcement{ padding-top:72px; padding-bottom:72px; }
}

/* Łańcuch (girlanda) pod tytułem */
.ogd-tpl-swiateczny_bn .ogd-title{ position:relative; padding-bottom:16px; display:inline-block; }
.ogd-tpl-swiateczny_bn .ogd-title:after{
  content:""; position:absolute; left:0; right:0; margin:auto; bottom:0; height:12px; width:220px; max-width:70vw;
  background:
    radial-gradient(circle at 10% 50%, #d33a2c 0 3px, transparent 4px) 0 0/44px 12px repeat-x,
    radial-gradient(circle at 35% 50%, #1f7a3b 0 3px, transparent 4px) 0 0/44px 12px repeat-x,
    radial-gradient(circle at 60% 50%, #f6e27f 0 3px, transparent 4px) 0 0/44px 12px repeat-x,
    radial-gradient(circle at 85% 50%, #2b6cb0 0 3px, transparent 4px) 0 0/44px 12px repeat-x,
    linear-gradient(to right, transparent 0 12px) 0 0/100% 12px no-repeat;
  border-bottom:2px solid rgba(31,122,59,.85);
  border-radius:0 0 120px 120px;
}

/* Delikatny śnieg na tle pudełka */
.ogd-tpl-swiateczny_bn .announcement{
  /* Delikatny pojedynczy "śnieg" w tle */
  background-image: radial-gradient(circle, rgba(255,255,255,.85) 0 1px, rgba(255,255,255,0) 2px);
  background-size: 22px 22px;
  background-position: 0 0;
  background-repeat: repeat;
  /* Zapas na lewą ozdobę, by nie nachodziła na treść */
  padding-left: 120px;
  padding-top: 16px;
  padding-bottom: 16px;
}

/* Wielkanoc – top/bottom graphics */
.ogd-tpl-swiateczny_wk .announcement {
  border-color: #b7d8b9;
  background: linear-gradient(180deg,#ffffff 0%, #fffdf5 100%);
  box-shadow: 0 1px 6px rgba(0,0,0,0.06), inset 0 0 0 3px rgba(63,143,94,0.06);
  position: relative;
}
.ogd-tpl-swiateczny_wk .announcement:before,
.ogd-tpl-swiateczny_wk .announcement:after{
  content:""; position:absolute; left:0; right:0; margin:auto; width:100%; pointer-events:none; z-index:0;
  background-repeat:no-repeat; /* brak rozciągania w osi X – pilnujemy wysokości */
}
/* Top: oryginal 300x180 → wysokość 180px, zachowaj proporcje */
.ogd-tpl-swiateczny_wk .announcement:before{ top:0; height:180px; background-image:url('../images/ozdoba_gora.png'); background-position:center top; background-size:auto 180px; }
/* Bottom: oryginal 380x120 → wysokość 120px, zachowaj proporcje */
.ogd-tpl-swiateczny_wk .announcement:after{ bottom:0; height:120px; background-image:url('../images/ozdoba_dol.png'); background-position:center bottom; background-size:auto 120px; }
/* padding dopasowany do wysokości grafik, aby nie zachodziły na treść */
.ogd-tpl-swiateczny_wk .announcement{ padding-top:200px; padding-bottom:140px; }
.ogd-tpl-swiateczny_wk .announcement > * { position:relative; z-index:1; }

/* Girlanda pod tytułem – pastelowe „pisanki/kwiaty” */
.ogd-tpl-swiateczny_wk .ogd-title{ position:relative; padding-bottom:16px; display:inline-block; }
.ogd-tpl-swiateczny_wk .ogd-title:after{
  content:""; position:absolute; left:0; right:0; margin:auto; bottom:0; height:12px; width:220px; max-width:70vw;
  background:
    radial-gradient(circle at 10% 50%, #88c999 0 3px, transparent 4px) 0 0/44px 12px repeat-x,
    radial-gradient(circle at 35% 50%, #f0d98c 0 3px, transparent 4px) 0 0/44px 12px repeat-x,
    radial-gradient(circle at 60% 50%, #c8a2c8 0 3px, transparent 4px) 0 0/44px 12px repeat-x,
    radial-gradient(circle at 85% 50%, #6fb1e5 0 3px, transparent 4px) 0 0/44px 12px repeat-x,
    linear-gradient(to right, transparent 0 12px) 0 0/100% 12px no-repeat;
  border-bottom:2px solid rgba(63,143,94,.65);
  border-radius:0 0 120px 120px;
}
.ogloszenia-duszpasterskie {
    margin: 20px 0;
    padding: 20px;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
}

.ogloszenia-duszpasterskie .announcement {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd;
}

.ogloszenia-duszpasterskie .announcement:last-child {
    border-bottom: none;
}

.ogloszenia-duszpasterskie .announcement h2 {
    margin: 0 0 10px;
    font-size: 24px;
    color: #333;
}

.ogloszenia-duszpasterskie .announcement p {
    margin: 0 0 10px;
    font-size: 16px;
    color: #666;
}

.ogloszenia-duszpasterskie .announcement small {
    font-size: 12px;
    color: #999;
}

/* Utrzymanie koloru obramowania na dole w szablonach świątecznych */
.ogd-tpl-swiateczny_bn .announcement,
.ogd-tpl-swiateczny_wk .announcement {
    border-bottom: 1px solid #e5e5e5 !important;
}