
:root {
  --bg:#244056;
  --accent:#62A4B4;
  --accent2:#F38C7A;
  --white:#ffffff;
}

/* RESET */
*{box-sizing:border-box;margin:0;padding:0}
html, body {
  width: 100%;
  min-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

/* TŁO */
body{
  font-family:"Jura",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  background:
    radial-gradient(circle at 10% 10%,rgba(255,255,255,0.03),transparent 10%),
    radial-gradient(circle at 90% 80%,rgba(255,255,255,0.02),transparent 10%),
    var(--bg);
  color:var(--white);
}

/* GWIAZDKI */
.stars{
  position:fixed;
  inset:0;
  background-image:
    radial-gradient(2px 2px at 4% 10%,rgba(255,255,255,0.9),transparent),
    radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,255,255,0.8),transparent);
  opacity:0.5;
  pointer-events:none;
}

#ad-container{
  width:100%;
  max-width:728px;
  text-align:center;
}

/* CONTENT */
.container{
  margin-top:120px;
  padding:20px;
  width:100%;

  display:flex;
  justify-content:center;
}

.card{
  background:rgba(0,0,0,0.6);
  border-radius:18px;
  padding:24px;
  width:100%;
  max-width:1000px;   /* było 1200px — to wygląda lepiej */
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,0.6);
}

h2{
  margin-bottom:20px;
}

/* INPUT */
input, select{
  width:100%;
  padding:12px;
  margin:10px 0;
  border-radius:12px;
  border:none;
  text-align:center;
}

/* BUTTON */
button{
  width:100%;
  padding:14px;
  border-radius:14px;
  border:none;
  font-weight:700;
 
  color:white;
  cursor:pointer;
  margin-top:10px;
  transition:0.2s;
}

button:hover{
  transform:scale(1.05);
}






  #pageContent.shift {
    transform: none;
  }
}
.preview-box{
  height:auto;        /* 🔥 */
  overflow:visible;   /* 🔥 */
}

.preview-box iframe{
  width:100%;
  height:100%;
  border:none;
}

#previewFrame {
  pointer-events: auto;
}
#preview{
  display:flex;
  flex-direction:column;
  align-items:center;

  width:100%;
  max-width:800px;     /* 🔥 wygląda jak PDF */
  margin:20px auto;
}
.book-switch-group{
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2 kolumny */
  gap: 8px;
  margin: 12px 0;
}



.book-switch input {
  display: none;
}

.book-switch span{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:2px;

  padding:8px 6px;
  border-radius:12px;

  font-size:12px;
  font-weight:600;
  line-height:1.1;

  min-height:50px;

  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);

  transition:all .18s ease;
  backdrop-filter:blur(6px);

  position:relative;
  overflow:hidden;
}

/* ACTIVE */
.book-switch input:checked + span {
  background: linear-gradient(90deg,var(--accent),var(--accent2));
  color: white;
  transform: scale(1.03);
}
.container{
  margin-top:120px;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px;
  width:100%;
}

.card{
  background:rgba(0,0,0,0.6);
  border-radius:18px;
  padding:20px;
  width:100%;
  max-width:1200px;   /* desktop */
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,0.6);
}

/* mobile full width */
@media (max-width:768px){
  .card{
    max-width:100%;
    padding:16px;
  }
}
.ad-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.85);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:999999;
}

.ad-box{
  background:#0e1a2b;
  padding:30px;
  border-radius:20px;
  width:90%;
  max-width:500px;
  text-align:center;
}

.ad-title{
  font-size:22px;
  margin-bottom:15px;
}

.ad-content{
  background:black;
  height:200px;
  margin:15px 0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ad-timer{
  margin-bottom:15px;
  opacity:0.8;
}

/* =========================
   SWITCH GRID (2 kolumny)
   ========================= */
.book-switch-group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0;
  justify-content:space-between;
}

/* =========================
   SWITCH ITEM
   ========================= */
.book-switch{
  cursor:pointer;
  width:48%;              /* 🔥 2 kolumny ~50% */
  min-width:140px;        /* zabezpieczenie na małych ekranach */
}

/* ukryty input */
.book-switch input{
  display:none;
}

/* =========================
   PRZYCISK
   ========================= */
.book-switch span{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4px;

  padding:10px 8px;
  border-radius:14px;

  text-align:center;
  font-weight:700;

  font-size:14px;         /* 🔥 większy tekst */
  line-height:1.15;

  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);

  transition:all .18s ease;
  backdrop-filter:blur(6px);

  position:relative;
  overflow:hidden;

  min-height:64px;        /* większy kafelek */
}

/* opis */
.book-switch span small{
  font-size:13px;         /* 🔥 czytelne na mobile */
  opacity:0.7;
  font-weight:400;
}

/* hover */
.book-switch span:hover{
  background:rgba(255,255,255,0.08);
  transform:translateY(-2px);
}

/* ACTIVE */
.book-switch input:checked + span{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  border:1px solid rgba(255,255,255,0.25);
  transform:translateY(-2px);

  box-shadow:
    0 6px 18px rgba(0,0,0,0.35),
    0 0 0 1px rgba(255,255,255,0.06) inset;
}

/* shine efekt */
.book-switch span::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    transparent 25%,
    rgba(255,255,255,0.18),
    transparent 70%
  );
  opacity:0;
  transition:.25s;
}

.book-switch input:checked + span::after{
  opacity:1;
}

/* =========================
   INPUT
   ========================= */
input{
  width:100%;
  padding:11px 12px;
  margin:8px 0;
  border-radius:12px;
  border:none;
  text-align:center;
  font-size:15px;

  background:rgba(255,255,255,0.06);
  color:white;
  outline:none;
  border:1px solid rgba(255,255,255,0.08);
}

input:focus{
  border:1px solid var(--accent);
  box-shadow:0 0 0 3px rgba(98,164,180,0.15);
}

/* =========================
   BUTTON
   ========================= */
button{
  width:100%;
  padding:13px;
  border-radius:12px;
  font-size:15px;
  font-weight:700;
}

/* =========================
   MOBILE FIX
   ========================= */
@media (max-width:600px){
   .book-switch{
    width:48%;          /* 🔥 dwie kolumny */
    min-width:unset;
  }
   .book-switch-group{
    gap:8px;
  }

    .book-switch span{
    font-size:13px;
    min-height:58px;
  }

   .book-switch span small{
    font-size:11px;
  }
}
.preview{
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:10px;
}

/* STRONA */
.page{
  width:100%;              /* 🔥 brakowało */
  background:white;
  border-radius:12px;
  overflow:hidden;
}

/* SINGLE */
.page.single{
  aspect-ratio: 1 / 1.414;
  display:flex;
  flex-direction:column;
}

/* BOOKLET */
.page.booklet{
  aspect-ratio: 1.414 / 1;
  display:flex;
}

/* POŁÓWKA */
.half{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.half img{
  max-width:80%;
  max-height:65%;
  object-fit:contain;
}

.booklet .half{
  width:50%;
  height:100%;
}


/* TEKST STORY (overlay) */
.text-overlay{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  padding:10px;
  background:rgba(0,0,0,0.5);
  color:white;
  font-size:13px;
  text-align:center;
}

/* TEKST KOLOROWANKA */
.text-below{
  padding:8px;
  text-align:center;
  color:black;
  font-size:13px;
}
.page{
  background:white;
  border-radius:12px;
  overflow:hidden;
 
}

/* 🔥 single = pion podzielony na pół */
.page.single{
  display:flex;
  flex-direction:column;
}

/* 🔥 żeby half działało */
.page.single .half{
  flex:1;
}
/* ===== MOBILE: zmniejsz tekst w preview ===== */
@media (max-width: 600px){

  .text-below{
    font-size:8px;
    padding:1px 1px;
  }

  .text-overlay{
    font-size:8px;
    padding:1px;
  }

  .half .text-below{
    font-size:8px;
  }

}
.book-switch-title{
  width:100%;
  text-align:center;
  font-size:15px;
  font-weight:600;
  opacity:.7;
  margin:4px 0 2px 0;
}
.download-btn{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:white;
  border:none;
}

.download-btn:hover{
  transform:scale(1.03);
}
.skip-btn{
  margin-top:10px;
  width:100%;
  padding:10px;
  border-radius:12px;

  background: transparent;
  border: 1px solid rgba(255,255,255,0.4);
  color: white;

  font-weight:600;
  cursor:pointer;

  transition: 0.2s ease;
}

.skip-btn:hover{
  background: rgba(255,255,255,0.12);
  transform: scale(1.02);
}

#silktide-cookie-icon{bottom:20%;right:10px;}
#silktide-modal .modal-close {width:50px;}
.page-watermark{
  position:absolute;
  bottom:4px;
  left:50%;
  transform:translateX(35px); /* obok numeru */

  width:55px;
  opacity:.18;
  pointer-events:none;
  user-select:none;
}

.page-watermark img{
  width:100%;
  display:block;
}
.story-header{
  display:flex;
  align-items:center;
  gap:16px;
  margin:20px 0;

  padding:16px;
  border-radius:16px;

  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.08),
    rgba(255,255,255,0.03)
  );

  border:1px solid rgba(255,255,255,0.12);

  backdrop-filter: blur(6px);
}

.story-thumb{
  width:300px;
  height:300px;
  object-fit:cover;
  flex-shrink:0;
  border-radius:12px;
}
.story-header{
  display:flex;
  align-items:center;      /* wyśrodkowanie pionowe */
  justify-content:center;  /* wyśrodkowanie poziome */
  gap:16px;
  margin:20px 0;
  padding:16px;
  border-radius:16px;
  text-align:center;       /* 🔥 centrowanie tekstu */
}

.story-header h2{
  flex:1;
  margin:0;
  text-align:center;
}

/* mobile */
@media (max-width:600px){
  .story-thumb{
    width:200px;
    height:200px;
  }

  .story-header{
    gap:12px;
  }
}
/* ===== FIX TYTUŁU NA MOBILE ===== */
@media (max-width:600px){

  .story-header{
    flex-direction:column;
    text-align:center;
  }

  .story-header h2{
    
    line-height:1.2;
    word-break:break-word;
    padding:0 6px;
  }

  .story-thumb{
    width:160px;
    height:160px;
  }
.story-header h2{
  font-size: clamp(16px, 4vw, 22px);
}
}
h2 {
    text-align: center;
    color: #f38c7a;
    font-weight: 700;
    margin: 20px 0 5px;
}
.mode-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.tab {
  padding: 10px 20px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.05);
  color: #f2e6d0;
  cursor: pointer;
  transition: all 0.25s ease;
  font-size: 14px;
}

.tab:hover {
  background: rgba(255,255,255,0.1);
}

.tab.active {
  background: linear-gradient(135deg, #ff7a18, #ffb347);
  color: white;
  border: none;
  box-shadow: 0 0 15px rgba(255,122,24,0.4);
}
.mode-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;        /* jeden wiersz */
  overflow-x: auto;         /* scroll na mobile */
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
}

/* układ pionowy */
.tab-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
}

/* PRZYCISKI */
.tab {
  padding: 8px 10px;
  font-size: 13px;
  white-space: nowrap;
  border-radius: 10px;
  transition: all 0.2s ease;
}

/* OPIS */
.tab-desc {
  font-size: 11px;
  color: #999;
  margin-top: 4px;
  text-align: center;
  max-width: 90px;
  line-height: 1.2;
  transition: color 0.2s ease;
}

/* aktywny opis */
.tab-wrapper .tab.active + .tab-desc {
  color: #eee;
  font-weight: 600;
}

/* hover opis */
.tab-wrapper:hover .tab-desc {
  color: #eee;
}

/* ukrycie scrollbara */
.mode-tabs::-webkit-scrollbar {
  display: none;
}
.mode-tabs {
  scrollbar-width: none;
}

/* MOBILE TUNING */
@media (max-width: 600px) {
  .mode-tabs {
    gap: 8px;
  }

  .tab {
    padding: 7px 9px;
    font-size: 12px;
  }

  .tab-desc {
    font-size: 10px;
    max-width: 80px;
  }
}
.ad-inline {
  width: 100%;
  margin: 16px 0 24px;
  padding: 14px;
  background: #f7f7f7;
  border-radius: 14px;
  text-align: center;
}

.ad-label {
  font-size: 11px;
  color: #888;
  margin-bottom: 6px;
}
.ad-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  padding: 20px;
  box-sizing: border-box;
}
.buy-btn{
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);

  width: min(92%, 420px);
  padding: 14px;

  border-radius: 14px;
  text-align: center;

  font-size: 15px;
  font-weight: 700;

  text-decoration: none;
  color: white;

  background: linear-gradient(135deg, var(--accent), var(--accent2));

  box-shadow: 0 10px 30px rgba(0,0,0,0.45);
  z-index: 99999;

  transition: 0.2s ease;
}
.buy-btn:hover{
  transform: translateX(-50%) scale(1.04);
  box-shadow: 0 12px 35px rgba(0,0,0,0.55);
}
.product-info-box{
  max-width: 900px;
  margin: 15px auto 20px;
  padding: 16px 18px;

  border-radius: 16px;

  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.08),
    rgba(255,255,255,0.03)
  );

  border: 1px solid rgba(255,255,255,0.12);

  color: var(--white);
  text-align: left;

  font-size: 14px;
  line-height: 1.5;

  box-shadow: 0 8px 25px rgba(0,0,0,0.35);
  backdrop-filter: blur(8px);
}

.product-info-box strong{
  color: #f38c7a;
}

.product-info-box br{
  line-height: 1.6;
}
.buy-btn small{
  display:block;
  margin-top:4px;

  font-size:12px;
  font-weight:600;

  color: #fff3d6;  /* delikatny złoto-kremowy */
  opacity:0.95;

  letter-spacing:0.3px;
}
.preview-note{
  margin:15px 0;
  padding:12px 16px;
  background:#fff8e8;
  border:1px solid #f0d9a5;
  border-left:4px solid #f7b731;
  border-radius:10px;
  font-size:14px;
  line-height:1.5;
  color:#555;
}
.sound-word{
    color: #d32f2f;
    font-weight: 700;
}
.gallery{
    width:100%;
    max-width:430px;
    min-width:0;
    flex-shrink:1;
    overflow:hidden;
}

.mainSwiper{
    margin-bottom:15px;
}

.mainSwiper img{
    width:100%;
    border-radius:14px;
    cursor:zoom-in;
}

.thumbsSwiper{
    height:90px;
}

.thumbsSwiper .swiper-slide{
    opacity:.5;
    cursor:pointer;
}

.thumbsSwiper .swiper-slide-thumb-active{
    opacity:1;
}

.thumbsSwiper img{
    width:100%;
    height:80px;
    object-fit:cover;
    border-radius:10px;
}

.swiper-button-next,
.swiper-button-prev{
    color:#fff;
    background:rgba(0,0,0,.35);
    width:42px;
    height:42px;
    border-radius:50%;
}

.swiper-button-next:after,
.swiper-button-prev:after{
    font-size:18px;
}
.mainSwiper .swiper-slide{
    aspect-ratio:297 / 210;
    overflow:hidden;
    border-radius:14px;
}

.mainSwiper .swiper-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.mainSwiper,
.thumbsSwiper{
    width:100%;
    max-width:100%;
}

.mainSwiper .swiper-wrapper,
.thumbsSwiper .swiper-wrapper{
    width:100%;
}
.gallery,
.product-info-box{
    min-width:0;
}
@media (max-width:600px){

    .story-header{
        flex-direction:column;
        align-items:stretch;
    }

    .gallery{
        max-width:100%;
        width:100%;
    }

    .product-info-box{
        width:100%;
    }

}
.swiper{
    width:100%;
    max-width:100%;
}
.offer-title{
    margin:0 0 20px;
    padding-bottom:10px;

    font-size:18px;
    font-weight:700;
    text-align:center;

    color:#fff;

    border-bottom:2px solid rgba(255,255,255,.12);
}

.offer-title span{
    color:var(--accent2);
    font-size:20px;
}
.sound-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:14px 28px;

    border-radius:999px;

    background:linear-gradient(135deg,var(--accent),var(--accent2));
    color:#fff;

    text-decoration:none;
    font-size:17px;
    font-weight:700;

    box-shadow:0 8px 24px rgba(0,0,0,.35);

    transition:.25s;
}

.sound-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(0,0,0,.45);
}

.sound-btn:active{
    transform:scale(.98);
}
.container{
  margin-top:20px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:10px;
  width:100%;
}
