/* =========================================
   Prague With Kids – Family Guide CSS
   File: /blog/prague-with-kids-family-guide.css
   ========================================= */

:root{
  --bg:#0b0b10;
  --white:#fff;

  --glass: rgba(255,255,255,0.08);
  --glass2: rgba(255,255,255,0.12);
  --borderW: rgba(255,255,255,0.16);

  --shadowHero: 0 22px 70px rgba(0,0,0,0.45);
  --shadow: 0 18px 60px rgba(0,0,0,0.18);

  --r12: 12px;
  --r16: 16px;

  --max: 980px;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: var(--bg);
  color: var(--white);
}

/* HERO */
.hero{
  position:relative;
  padding: 125px 0;
  background-image: url("/img/grafika2.png");
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  box-shadow: var(--shadowHero);
}

.hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(10,10,18,0.60) 0%, rgba(10,10,18,0.78) 52%, rgba(10,10,18,0.92) 100%);
}

.hero-content{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 18px;
}

.hero-logo{
  width: 120px;
  height:auto;
  margin-bottom: 18px;
  filter: drop-shadow(0 12px 30px rgba(0,0,0,0.35));
}

.hero-content h1{
  margin: 0 0 14px;
  color:#fff;
  text-shadow: 0 4px 12px rgba(0,0,0,0.55);
  font-size: clamp(28px, 3.2vw, 46px);
  line-height: 1.05;
  max-width: 880px;
}

.hero-subtitle{
  margin: 0 0 22px;
  color: rgba(255,255,255,0.92);
  text-shadow: 0 3px 10px rgba(0,0,0,0.55);
  font-size: 1.05rem;
  line-height: 1.55;
  max-width: 860px;
}

.cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid var(--borderW);
  background: rgba(255,255,255,0.10);
  color: #fff;
  font-weight: 750;
  text-decoration:none;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

.cta-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.24);
}

.cta-btn-secondary{
  background: rgba(255,255,255,0.14);
}

/* MAIN */
.page-wrapper{
  background: linear-gradient(180deg, rgba(10,10,18,0.98) 0%, rgba(10,10,18,1) 40%, rgba(8,8,12,1) 100%);
  padding: 34px 0 60px;
}

.content{
  width: min(var(--max), calc(100% - 36px));
  margin: 0 auto;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r16);
  box-shadow: var(--shadow);
  padding: 26px 22px;
}

.content h2{
  margin: 10px 0 10px;
  font-size: 22px;
  line-height: 1.25;
}

.content h3{
  margin: 18px 0 8px;
  font-size: 17px;
  line-height: 1.3;
  color: rgba(255,255,255,0.96);
}

.content p{
  margin: 0 0 12px;
  color: rgba(255,255,255,0.84);
  line-height: 1.65;
}

.content strong{ color: rgba(255,255,255,0.98); }

.content ul{
  margin: 8px 0 12px;
  padding-left: 18px;
  color: rgba(255,255,255,0.84);
}

.content li{ margin: 8px 0; line-height: 1.55; }

.steps{
  margin: 10px 0 0;
  padding-left: 18px;
  color: rgba(255,255,255,0.84);
}

.steps li{ margin: 10px 0; }

/* boxes */
.tip-box, .note-box{
  margin: 18px 0;
  padding: 16px;
  border-radius: var(--r12);
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
}

.tip-box h3, .note-box h3{ margin: 0 0 6px; }

/* cards grid */
.cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 12px;
}

.card{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--r12);
  padding: 14px 14px;
}

.card h3{ margin-top: 0; }

/* CTA + related */
.bottom-cta{
  margin: 22px 0 0;
  padding: 16px;
  border-radius: var(--r12);
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.10);
}

.bottom-cta h3{ margin: 0 0 6px; }

.related-guides{
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.related-guides ul{
  margin: 10px 0 0;
  padding-left: 18px;
}

.related-guides a{
  color: rgba(255,255,255,0.88);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.related-guides a:hover{ color: rgba(255,255,255,1); }

@media (max-width: 820px){
  .cards{ grid-template-columns: 1fr; }
}

@media (max-width: 560px){
  .hero{ padding: 105px 0; }
  .hero-logo{ width: 105px; }
  .content{ padding: 22px 16px; }
  .cta-btn{ width: 100%; }
}
