/* ================================================================
   SBPD — Frontend Single Post Styles
   Matches mockup: sinacamacho.com/blog/overwhelmed-new-job-germany
   Colors: Primary #6C29A0, Accent #BA7DF4, Light bg #EDE5FA
   Font: Montserrat (headings), Open Sans / system (body)
   ================================================================ */

/* ---- Reset within our wrapper ---- */
.sbpd-post-wrap *,
.sbpd-post-wrap *::before,
.sbpd-post-wrap *::after {
    box-sizing: border-box;
}

.sbpd-post-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 60px;
    font-family: 'Open Sans', 'Segoe UI', sans-serif;
    font-size: 16px;
    line-height: 1.75;
    color: #2d2d2d;
}

/* ================================================================
   SEO META AREA (visible helper block — styled like mockup label)
   ================================================================ */
.sbpd-seo-block {
    background: #fafafa;
    border: 1px dashed #ccc;
    border-radius: 5px;
    padding: 10px 16px;
    margin-bottom: 28px;
    font-size: 12.5px;
    color: #666;
    display: none; /* Hidden on frontend — shown only in admin preview */
}

/* ================================================================
   H1 POST TITLE
   ================================================================ */
.sbpd-post-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #6C29A0;
    line-height: 1.25;
    margin: 0 0 14px;
}

/* ================================================================
   SUBTITLE
   ================================================================ */
.sbpd-subtitle {
    font-size: 17px;
    color: #555;
    margin: 0 0 22px;
    font-weight: 400;
}

/* ================================================================
   OPENING QUOTE
   ================================================================ */
.sbpd-opening-quote {
    font-style: italic;
    color: #6C29A0;
    font-size: 17px;
    text-align: center;
    margin: 24px auto;
    line-height: 1.65;
    padding: 30px 12px;
    background: #f5eeff !important;
    max-width: 1200px;
    border: 1px solid #f5eeff;
}

.sbpd-opening-quote::before { content: '\201C'; }
.sbpd-opening-quote::after  { content: '\201D'; }

/* ================================================================
   HERO IMAGE
   ================================================================ */
.sbpd-hero-wrap {
    margin: 28px 0 8px;
    background: #EDE5FA;
    border-radius: 8px;
    overflow: hidden;
    width: 100%;
}

.sbpd-hero-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

.sbpd-hero-credit {
    font-size: 11px;
    color: #888;
    margin: 5px 0 28px;
}

/* ================================================================
   SECTION HEADINGS (H2 — shared style for Introduction, Coaching,
   Conclusion — NOT numbered)
   ================================================================ */
.sbpd-h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #6C29A0;
    margin: 36px 0 12px;
    line-height: 1.3;
}

/* ================================================================
   INTRODUCTION BODY
   ================================================================ */
.sbpd-introduction-body {
    margin-bottom: 24px;
}

.sbpd-introduction-body p {
    margin: 0 0 14px;
}

/* ================================================================
   KEY STATEMENT
   ================================================================ */
.sbpd-key-statement {
    font-size: 18px;
    font-weight: 700;
    color: #BA7DF4;
    margin: 28px 0;
    line-height: 1.45;
}

/* ================================================================
   NUMBERED SECTIONS (Repeater)
   ================================================================ */
.sbpd-sections-wrap {
    margin: 28px 0;
}

.sbpd-section-item {
    margin-bottom: 24px;
}

.sbpd-section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #6C29A0;
    margin: 0 0 8px;
    line-height: 1.35;
}

.sbpd-section-body p {
    margin: 0 0 12px;
    color: #2d2d2d;
}

/* ================================================================
   TIPS INTRO TEXT
   ================================================================ */
.sbpd-tips-intro {
    margin: 20px 0 14px;
    font-size: 15.5px;
}

.sbpd-tips-intro strong {
    font-weight: 700;
    color: #2d2d2d;
}

/* ================================================================
   TIP BOXES
   ================================================================ */
.sbpd-tips-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 32px;
}

.sbpd-tip-box {
    background: #f5eeff;
    border: 1px solid #dccef5;
    border-radius: 7px;
    padding: 16px 20px;
}

.sbpd-tip-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #5a1f90;
    margin: 0 0 6px;
}

.sbpd-tip-body {
    font-size: 14.5px;
    color: #3d2d50;
    margin: 0;
    line-height: 1.65;
}

/* ================================================================
   COACHING EXAMPLE BODY
   ================================================================ */
.sbpd-coaching-body {
    margin-bottom: 24px;
}

.sbpd-coaching-body p {
    margin: 0 0 14px;
}

/* ================================================================
   CONCLUSION BODY
   ================================================================ */
.sbpd-conclusion-body {
    margin-bottom: 28px;
}

.sbpd-conclusion-body p  { margin: 0 0 14px; }
.sbpd-conclusion-body ul { padding-left: 22px; margin: 0 0 14px; }
.sbpd-conclusion-body li { margin-bottom: 6px; }

/* ================================================================
   CTA BOX  (light purple bg)
   ================================================================ */
.sbpd-cta-box {
    background: #f5eeff;
    border: 1.5px solid #d8c0f5;
    border-radius: 10px;
    padding: 28px 30px 30px;
    margin: 36px 0 0;
}

.sbpd-cta-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 21px;
    font-weight: 700;
    color: #6C29A0;
    margin: 0 0 10px;
    line-height: 1.3;
}

.sbpd-cta-text {
    font-size: 15.5px;
    color: #4a3060;
    margin: 0 0 20px;
    line-height: 1.7;
}

.sbpd-cta-button {
    display: inline-block;
    background: #6C29A0;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;
    padding: 13px 28px;
    border-radius: 50px;
    text-decoration: none !important;
    transition: background 0.2s, transform 0.1s;
    border: none;
    cursor: pointer;
}

.sbpd-cta-button:hover {
    background: #5a1f90;
    transform: translateY(-1px);
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 640px) {
    .sbpd-post-title  { font-size: 24px; }
    .sbpd-h2          { font-size: 19px; }
    .sbpd-cta-box     { padding: 20px 18px 22px; }
    .sbpd-cta-button  { font-size: 14px; padding: 12px 22px; }
}
