


/* Start custom CSS *//* ============================================================
   SJO — Wpis wakacyjny — CSS
   Wklej do: WordPress → Wygląd → Personalizuj → Dodatkowy CSS
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Lora:wght@600&display=swap');

.sjo-wake *, .sjo-wake *::before, .sjo-wake *::after { box-sizing: border-box; }

.sjo-wake {
  --teal: #1D9E75; --teal-light: #E1F5EE; --teal-dark: #0F6E56;
  --sun: #F7A833; --sun-light: #FEF3DC;
  --blue: #185FA5; --blue-light: #E6F1FB;
  --navy: #1A2C4E; --navy-light: #E8EDF5;
  --coral: #D85A30; --coral-light: #FAECE7;
  --text: #2C2C2A; --muted: #5F5E5A;
  --bg: #FFFDF8; --white: #fff; --border: #F0EDE4; --radius: 16px;
  font-family: 'Nunito', sans-serif !important;
  color: var(--text); width: 100%;
}

/* ── HERO ── */
.sjo-wake .sjo-hero {
  background: linear-gradient(135deg, #ffffff 0%, #E0F7FA 40%, #F7A833 100%) !important;
  padding: 3rem 3rem 2rem !important; border-radius: var(--radius) !important;
  text-align: center !important; position: relative !important; overflow: hidden !important;
  margin-bottom: 1.5rem !important;
}
.sjo-wake .sjo-hero::before {
  content: '☀️' !important; position: absolute !important;
  font-size: 10rem !important; opacity: .1 !important;
  right: -20px !important; top: -20px !important; line-height: 1 !important;
}
.sjo-wake .sjo-hero::after {
  content: '🌴' !important; position: absolute !important;
  font-size: 8rem !important; opacity: .1 !important;
  left: -10px !important; bottom: -10px !important; line-height: 1 !important;
}
.sjo-wake .sjo-hero-inner {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 2rem !important;
  position: relative !important;
}
.sjo-wake .sjo-hero-smok { flex-shrink: 0; width: 160px; }
.sjo-wake .sjo-hero-smok img {
  width: 160px !important; height: 160px !important;
  object-fit: contain !important; display: block !important;
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.25)) !important;
}
.sjo-wake .sjo-hero-text { flex: 1; text-align: left !important; }
.sjo-wake .sjo-badge {
  display: inline-block !important; background: var(--sun) !important;
  color: var(--navy) !important; font-size: 13px !important; font-weight: 800 !important;
  padding: 6px 18px !important; border-radius: 50px !important; margin-bottom: 1rem !important;
  font-family: 'Nunito', sans-serif !important; white-space: nowrap !important;
}
.sjo-wake .sjo-hero h1 {
  font-family: 'Lora', serif !important; font-size: 2rem !important;
  font-weight: 600 !important; color: var(--navy) !important;
  line-height: 1.2 !important; margin: 0 0 .75rem !important;
}
.sjo-wake .sjo-hero h1 em { color: var(--coral) !important; font-style: normal !important; }
.sjo-wake .sjo-hero-lead {
  font-size: 15px !important; color: var(--muted) !important;
  line-height: 1.6 !important; margin: 0 !important;
  font-family: 'Nunito', sans-serif !important;
}

/* ── PODZIĘKOWANIE ── */
.sjo-wake .sjo-thanks {
  background: var(--teal-light) !important; border-radius: var(--radius) !important;
  padding: 2rem !important; margin-bottom: 1.5rem !important;
  border: 1.5px solid #9FE1CB !important; text-align: center !important;
}
.sjo-wake .sjo-thanks-icon { font-size: 3rem !important; display: block !important; margin-bottom: .75rem !important; }
.sjo-wake .sjo-thanks h2 {
  font-family: 'Lora', serif !important; font-size: 1.4rem !important;
  font-weight: 600 !important; color: var(--teal-dark) !important;
  margin: 0 0 .75rem !important;
}
.sjo-wake .sjo-thanks p {
  font-size: 15px !important; color: var(--muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
  font-family: 'Nunito', sans-serif !important; max-width: 580px; margin: 0 auto !important;
}

/* ── HARMONOGRAM ── */
.sjo-wake .sjo-schedule { margin-bottom: 1.5rem !important; }
.sjo-wake .sjo-section-title {
  font-family: 'Lora', serif !important; font-size: 1.4rem !important;
  font-weight: 600 !important; color: var(--text) !important;
  margin: 0 0 1.25rem !important; text-align: center !important;
}
.sjo-wake .sjo-schedule-grid {
  display: flex !important; flex-direction: column !important; gap: 10px !important;
}
.sjo-wake .sjo-schedule-item {
  display: flex !important; align-items: center !important; gap: 16px !important;
  background: var(--white) !important; border-radius: var(--radius) !important;
  padding: 1.25rem 1.5rem !important; border: 1.5px solid var(--border) !important;
  transition: transform .2s, box-shadow .2s !important;
}
.sjo-wake .sjo-schedule-item:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(0,0,0,.07) !important; }
.sjo-wake .sjo-schedule-item.closed { border-left: 5px solid #EF5350 !important; }
.sjo-wake .sjo-schedule-item.limited { border-left: 5px solid var(--sun) !important; }
.sjo-wake .sjo-schedule-item.open { border-left: 5px solid var(--teal) !important; }
.sjo-wake .sjo-schedule-icon { font-size: 2rem !important; flex-shrink: 0 !important; }
.sjo-wake .sjo-schedule-dates {
  font-family: 'Lora', serif !important; font-size: 1rem !important;
  font-weight: 600 !important; color: var(--text) !important;
  display: block !important; margin-bottom: 3px !important;
}
.sjo-wake .sjo-schedule-desc {
  font-size: 13px !important; color: var(--muted) !important;
  font-family: 'Nunito', sans-serif !important; line-height: 1.4 !important;
}
.sjo-wake .sjo-schedule-badge {
  margin-left: auto !important; flex-shrink: 0 !important;
  font-size: 12px !important; font-weight: 800 !important;
  padding: 4px 12px !important; border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important; white-space: nowrap !important;
}
.sjo-wake .sjo-schedule-item.closed .sjo-schedule-badge { background: #FFEBEE !important; color: #C62828 !important; }
.sjo-wake .sjo-schedule-item.limited .sjo-schedule-badge { background: var(--sun-light) !important; color: #854F0B !important; }
.sjo-wake .sjo-schedule-item.open .sjo-schedule-badge { background: var(--teal-light) !important; color: var(--teal-dark) !important; }

/* ── ŻYCZENIA ── */
.sjo-wake .sjo-wishes {
  background: linear-gradient(135deg, var(--sun-light), #FFF3E0) !important;
  border-radius: var(--radius) !important; padding: 2rem !important;
  margin-bottom: 1.5rem !important; border: 1.5px solid #FAC775 !important;
  text-align: center !important;
}
.sjo-wake .sjo-wishes-icons { font-size: 2.5rem !important; margin-bottom: 1rem !important; display: block !important; letter-spacing: 8px !important; }
.sjo-wake .sjo-wishes h2 {
  font-family: 'Lora', serif !important; font-size: 1.4rem !important;
  font-weight: 600 !important; color: var(--navy) !important; margin: 0 0 .75rem !important;
}
.sjo-wake .sjo-wishes p {
  font-size: 15px !important; color: var(--muted) !important;
  line-height: 1.7 !important; margin: 0 !important;
  font-family: 'Nunito', sans-serif !important; max-width: 560px; margin: 0 auto !important;
}

/* ── PODPIS ── */
.sjo-wake .sjo-sign {
  background: var(--white) !important; border-radius: var(--radius) !important;
  padding: 1.5rem 2rem !important; border: 1.5px solid var(--border) !important;
  display: flex !important; align-items: center !important; gap: 1.25rem !important;
}
.sjo-wake .sjo-sign-smok { flex-shrink: 0; width: 80px; }
.sjo-wake .sjo-sign-smok img {
  width: 80px !important; height: 80px !important;
  object-fit: contain !important; display: block !important;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.12)) !important;
}
.sjo-wake .sjo-sign-text p {
  font-size: 14px !important; color: var(--muted) !important;
  line-height: 1.6 !important; margin: 0 0 .4rem !important;
  font-family: 'Nunito', sans-serif !important;
}
.sjo-wake .sjo-sign-text strong {
  font-size: 15px !important; font-weight: 800 !important;
  color: var(--teal-dark) !important; font-family: 'Nunito', sans-serif !important;
}

/* ── RESPONSYWNOŚĆ ── */
@media (max-width: 700px) {
  .sjo-wake .sjo-hero { padding: 2rem 1.5rem !important; }
  .sjo-wake .sjo-hero-inner { flex-direction: column !important; text-align: center !important; }
  .sjo-wake .sjo-hero-text { text-align: center !important; }
  .sjo-wake .sjo-hero-smok { width: 120px !important; }
  .sjo-wake .sjo-hero-smok img { width: 120px !important; height: 120px !important; }
  .sjo-wake .sjo-hero h1 { font-size: 1.6rem !important; }
  .sjo-wake .sjo-thanks { padding: 1.5rem !important; }
  .sjo-wake .sjo-schedule-item { flex-wrap: wrap !important; }
  .sjo-wake .sjo-schedule-badge { margin-left: 0 !important; }
  .sjo-wake .sjo-sign { flex-direction: column !important; text-align: center !important; }
}/* End custom CSS */
