/* SITE SECTIONS FIX — dół strony odseparowany od hero */

.demo-section,
.occasion-section,
.album-section,
.simple-section,
.pricing-section,
.reviews-section,
.trust-strip,
.faq-section,
.order-section{
  position:relative;
  padding:76px 54px;
  background:#030305;
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.section-title,
.mini-title{
  max-width:1100px;
  margin:0 auto 38px;
  text-align:center;
  text-transform:uppercase;
  font-weight:1000;
}

.section-title small{
  display:block;
  color:#ff2fb9;
  font-size:14px;
  margin-bottom:10px;
}

.section-title h2,
.simple-section h2{
  margin:0;
  font-size:42px;
  line-height:1.1;
}

.section-lead{
  max-width:760px;
  margin:18px auto 0;
  color:#d9d9e8;
  font-size:18px;
  line-height:1.55;
}

.demo-grid,
.occasion-grid,
.youtube-grid,
.steps,
.pricing,
.reviews-box,
.faq-list,
.order-box{
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
}

.demo-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px;
}

.demo-card,
.youtube-card,
.price-card,
.order-copy,
.order-form,
.faq-list details{
  background:linear-gradient(180deg,rgba(18,20,38,.92),rgba(8,9,18,.98));
  border:1px solid rgba(255,47,185,.20);
  border-radius:20px;
  padding:26px;
  box-shadow:0 20px 70px rgba(0,0,0,.28);
}

.demo-icon{
  font-size:34px;
  color:#ff2fb9;
  margin-bottom:14px;
}

.demo-card h3,
.youtube-info h3,
.price-card h3,
.order-copy h3{
  margin:0 0 12px;
  font-size:24px;
}

.demo-card p,
.youtube-info p,
.order-copy p,
.faq-list p{
  color:#d9d9e8;
  line-height:1.55;
}

.demo-card audio{
  width:100%;
  margin-top:18px;
  accent-color:#ff2fb9;
}

.occasion-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:18px;
}

.occasion-card{
  min-height:135px;
  border-radius:20px;
  padding:22px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
  text-decoration:none;
  color:#fff;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
}

.occasion-card span{
  font-size:34px;
}

.occasion-card b{
  font-size:15px;
  text-transform:uppercase;
}

.youtube-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}

.youtube-card{
  padding:0;
  overflow:hidden;
}

.youtube-thumb{
  height:210px;
  background-size:cover;
  background-position:center;
  position:relative;
}

.youtube-thumb button{
  position:absolute;
  inset:0;
  margin:auto;
  width:72px;
  height:72px;
  border-radius:50%;
  border:2px solid #ff2fb9;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:28px;
  cursor:pointer;
}

.youtube-info{
  padding:24px;
}

.youtube-info a{
  color:#00c8ff;
  font-weight:900;
}

.empty-album{
  grid-column:1/-1;
  text-align:center;
  padding:36px;
  border-radius:20px;
  background:rgba(255,255,255,.06);
  color:#ddd;
}

.yt-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.82);
  z-index:999;
}

.yt-modal.active{
  display:flex;
}

.yt-modal-box{
  width:min(1000px,92vw);
  aspect-ratio:16/9;
  position:relative;
}

.yt-modal iframe{
  width:100%;
  height:100%;
  border:0;
  border-radius:18px;
}

.yt-close{
  position:absolute;
  right:-18px;
  top:-18px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:0;
  background:#ff2fb9;
  color:#fff;
  font-size:28px;
  cursor:pointer;
}

.simple-section{
  text-align:center;
}

.steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}

.steps div{
  padding:28px 20px;
  border-radius:20px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
  font-weight:900;
}

.steps strong{
  display:block;
  color:#ff2fb9;
  font-size:34px;
  margin-bottom:10px;
}

.pricing{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}

.price-card{
  position:relative;
  min-height:430px;
  display:flex;
  flex-direction:column;
}

.price-card.hot{
  transform:translateY(-14px);
  border-color:rgba(255,152,36,.55);
  box-shadow:0 0 50px rgba(255,152,36,.16),0 25px 80px rgba(0,0,0,.32);
}

.ribbon{
  position:absolute;
  right:22px;
  top:22px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff2fb9,#ff9824);
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
}

.price{
  font-size:54px;
  font-weight:1000;
  margin:18px 0;
  color:#fff;
}

.price span{
  font-size:20px;
}

.price-card ul{
  margin:0 0 26px;
  padding-left:20px;
  color:#ddd;
  line-height:1.8;
}

.price-btn{
  margin-top:auto;
  height:56px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#fff;
  font-weight:1000;
  background:linear-gradient(135deg,#ff2fb9,#ff9824);
}

.reviews-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:stretch;
}

.review-item{
  display:flex;
  gap:18px;
  padding:24px;
  border-radius:18px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
}

.avatar{
  width:58px;
  height:58px;
  min-width:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#ff2fb9,#ff9824);
  font-weight:1000;
  font-size:24px;
}

.stars{
  color:#ffc400;
  margin:10px 0;
}

.review-item small{
  display:block;
  color:#aaa;
}

.reviews-box .btn-outline{
  grid-column:1/-1;
  justify-self:center;
  min-width:320px;
}

.trust-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.trust-strip div{
  padding:26px 20px;
  border-radius:18px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
  text-align:center;
}

.trust-strip span{
  display:block;
  font-size:34px;
  margin-bottom:12px;
}

.trust-strip b,
.trust-strip small{
  display:block;
}

.trust-strip small{
  margin-top:8px;
  color:#aaa;
}

.faq-list{
  display:grid;
  gap:16px;
}

.faq-list details{
  padding:0;
  overflow:hidden;
}

.faq-list summary{
  cursor:pointer;
  padding:22px 26px;
  font-weight:1000;
  font-size:18px;
}

.faq-list p{
  padding:0 26px 24px;
  margin:0;
}

.order-box{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:28px;
  align-items:start;
}

.order-copy ul{
  padding-left:20px;
  color:#ddd;
  line-height:1.8;
}

.order-form{
  display:grid;
  gap:18px;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.order-form label{
  display:grid;
  gap:8px;
  font-weight:900;
  color:#fff;
}

.order-form input,
.order-form select,
.order-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:15px 16px;
  background:rgba(0,0,0,.38);
  color:#fff;
  font-size:16px;
  outline:none;
}

.order-form textarea{
  resize:vertical;
}

.form-btn{
  border:0;
  cursor:pointer;
  width:100%;
}

.form-success,
.form-error{
  padding:16px 18px;
  border-radius:14px;
  font-weight:900;
}

.form-success{
  background:rgba(46,204,113,.15);
  border:1px solid rgba(46,204,113,.45);
}

.form-error{
  background:rgba(255,60,90,.15);
  border:1px solid rgba(255,60,90,.45);
}

.site-footer{
  padding:46px 54px;
  background:#020204;
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-inner{
  max-width:1320px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  flex-wrap:wrap;
}

.footer-logo{
  font-size:28px;
  font-weight:1000;
  text-transform:uppercase;
}

.footer-logo span{
  color:#ff2fb9;
}

.footer-nav,
.footer-social{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.footer-nav a,
.footer-social a{
  color:#fff;
  text-decoration:none;
  opacity:.82;
}

.footer-social a{
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
}

@media(max-width:1200px){
  .demo-grid{grid-template-columns:repeat(3,1fr)}
  .occasion-grid{grid-template-columns:repeat(4,1fr)}
  .youtube-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .trust-strip{grid-template-columns:repeat(2,1fr)}
  .order-box{grid-template-columns:1fr}
}

@media(max-width:760px){
  .demo-section,
  .occasion-section,
  .album-section,
  .simple-section,
  .pricing-section,
  .reviews-section,
  .trust-strip,
  .faq-section,
  .order-section{
    padding:46px 22px;
  }

  .section-title h2,
  .simple-section h2{
    font-size:32px;
  }

  .demo-grid,
  .occasion-grid,
  .youtube-grid,
  .steps,
  .pricing,
  .reviews-box,
  .trust-strip,
  .form-grid{
    grid-template-columns:1fr;
  }

  .price-card.hot{
    transform:none;
  }

  .site-footer{
    padding:38px 22px;
  }
}

/* FOOTER + RESPONSIVE FIX */
.site-footer{
  padding:42px 24px!important;
  text-align:center!important;
}

.footer-inner{
  max-width:1320px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-items:center!important;
  gap:22px!important;
  text-align:center!important;
}

.footer-logo,
.footer-nav,
.footer-social,
.site-footer p,
.site-footer small,
.site-footer .copyright{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  justify-content:center!important;
}

.footer-nav,
.footer-social{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
}

/* iPhone / smartfony */
@media(max-width:760px){
  body{
    overflow-x:hidden!important;
  }

  .topbar{
    width:100%!important;
  }

  .logo{
    font-size:26px!important;
  }

  .ss-hero{
    min-height:auto!important;
  }

  .ss-hero-bg{
    width:720px!important;
    top:-30px!important;
    right:-220px!important;
    opacity:.55!important;
  }

  .ss-hero-inner{
    min-height:auto!important;
    padding:42px 22px 48px!important;
    display:block!important;
  }

  .ss-hero h1{
    font-size:42px!important;
    line-height:1!important;
  }

  .ss-hero-lead{
    font-size:17px!important;
  }

  .ss-features{
    grid-template-columns:repeat(2,1fr)!important;
    gap:20px!important;
  }

  .ss-feature-icon{
    width:54px!important;
    height:54px!important;
  }

  .ss-actions{
    flex-direction:column!important;
  }

  .ss-actions a{
    width:100%!important;
  }

  .ss-hero-right{
    padding-top:28px!important;
  }

  .ss-player{
    width:100%!important;
    grid-template-columns:1fr!important;
    padding:22px!important;
  }

  .ss-cover{
    width:100%!important;
    height:220px!important;
  }

  .order-box,
  .form-grid,
  .pricing,
  .reviews-box,
  .trust-strip,
  .demo-grid,
  .occasion-grid,
  .youtube-grid,
  .steps{
    grid-template-columns:1fr!important;
  }

  .order-section,
  .demo-section,
  .occasion-section,
  .album-section,
  .simple-section,
  .pricing-section,
  .reviews-section,
  .trust-strip,
  .faq-section{
    padding:44px 20px!important;
  }
}

/* tablet / iPad */
@media(min-width:761px) and (max-width:1180px){
  body{
    overflow-x:hidden!important;
  }

  .ss-hero-bg{
    width:900px!important;
    right:-180px!important;
    top:-60px!important;
    opacity:.65!important;
  }

  .ss-hero-inner{
    grid-template-columns:1fr!important;
    padding:56px 34px!important;
  }

  .ss-hero-right{
    padding-top:28px!important;
  }

  .ss-player{
    width:100%!important;
  }

  .demo-grid,
  .pricing,
  .youtube-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }

  .occasion-grid,
  .steps,
  .trust-strip{
    grid-template-columns:repeat(2,1fr)!important;
  }

  .order-box,
  .reviews-box{
    grid-template-columns:1fr!important;
  }
}

/* SOCIAL MEDIA FIX */
.ss-social{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:24px!important;
}

.ss-social a{
  width:68px!important;
  height:68px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:34px!important;
  font-weight:1000!important;
  color:#fff!important;

  background:
    linear-gradient(135deg,
      rgba(255,47,185,.20),
      rgba(0,200,255,.12)
    )!important;

  border:1px solid rgba(255,255,255,.12)!important;

  box-shadow:
    0 0 28px rgba(255,47,185,.16),
    0 0 40px rgba(0,200,255,.08)!important;

  transition:.25s ease!important;
}

.ss-social a:hover{
  transform:translateY(-4px) scale(1.08)!important;

  box-shadow:
    0 0 40px rgba(255,47,185,.28),
    0 0 60px rgba(0,200,255,.16)!important;
}

@media(max-width:760px){

  .ss-social{
    gap:18px!important;
  }

  .ss-social a{
    width:58px!important;
    height:58px!important;
    font-size:28px!important;
  }
}
