/**
Theme Name: Astra Child Theme
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child-theme
Template: astra
*/


/* ============================================
   MY IB STUDY GUIDE — BLOG POST STYLES
   ============================================ */

/* Post wrapper */
.mib-post {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    line-height: 1.8;
    color: #475569;
    max-width: 780px;
    margin: 0 auto;
}

/* Headings */
.mib-post h2 {
    font-size: 26px;
    font-weight: 700;
    color: #1E3A5F;
    margin-top: 48px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 3px solid #F59E0B;
}

.mib-post h3 {
    font-size: 20px;
    font-weight: 600;
    color: #2563EB;
    margin-top: 32px;
    margin-bottom: 12px;
}

/* Paragraphs */
.mib-post p {
    margin-bottom: 20px;
    line-height: 1.8;
}

/* Bold key terms */
.mib-post strong {
    color: #1E3A5F;
    font-weight: 700;
}

/* Checklist bullets */
.mib-checklist {
    list-style: none;
    padding-left: 0;
    margin-bottom: 24px;
}

.mib-checklist li {
    padding: 6px 0 6px 28px;
    position: relative;
    line-height: 1.7;
}

.mib-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #10B981;
    font-weight: 700;
}

/* Numbered steps */
.mib-steps {
    padding-left: 24px;
    margin-bottom: 24px;
}

.mib-steps li {
    padding: 6px 0;
    line-height: 1.7;
}

/* Tip box */
.mib-tip {
    background-color: #FFFBEB;
    border-left: 5px solid #F59E0B;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 32px 0;
}

.mib-tip .mib-box-label {
    margin: 0 0 6px 0;
    font-weight: 700;
    color: #92400E;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mib-tip p {
    margin: 0;
    line-height: 1.7;
}

/* Warning box */
.mib-warning {
    background-color: #FEF2F2;
    border-left: 5px solid #EF4444;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 32px 0;
}

.mib-warning .mib-box-label {
    margin: 0 0 6px 0;
    font-weight: 700;
    color: #991B1B;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mib-warning p {
    margin: 0;
    line-height: 1.7;
}

/* Info box */
.mib-info {
    background-color: #EFF6FF;
    border-left: 5px solid #2563EB;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 32px 0;
}

.mib-info .mib-box-label {
    margin: 0 0 6px 0;
    font-weight: 700;
    color: #1E40AF;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mib-info p {
    margin: 0;
    line-height: 1.7;
}

/* Key takeaways box */
.mib-takeaways {
    background-color: #F0FDF4;
    border: 2px solid #10B981;
    border-radius: 10px;
    padding: 28px 32px;
    margin: 40px 0;
}

.mib-takeaways h3 {
    margin: 0 0 16px 0;
    color: #065F46;
    font-size: 20px;
    font-weight: 700;
}

.mib-takeaways ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mib-takeaways li {
    padding: 8px 0 8px 28px;
    position: relative;
    border-bottom: 1px solid #D1FAE5;
    line-height: 1.7;
}

.mib-takeaways li:last-child {
    border-bottom: none;
}

.mib-takeaways li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #10B981;
    font-weight: 700;
}

/* Product CTA box */
.mib-product-cta {
    background: linear-gradient(135deg, #1E3A5F 0%, #2563EB 100%);
    border-radius: 12px;
    padding: 32px;
    margin: 40px 0;
    text-align: center;
}

.mib-product-cta .mib-cta-label {
    margin: 0 0 8px 0;
    color: #F59E0B;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.mib-product-cta h3 {
    margin: 0 0 12px 0;
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 700;
}

.mib-product-cta .mib-cta-description {
    margin: 0 0 8px 0;
    color: #CBD5E1;
    font-size: 15px;
    line-height: 1.6;
}

.mib-product-cta .mib-cta-price {
    margin: 0 0 20px 0;
    color: #F59E0B;
    font-size: 18px;
    font-weight: 700;
}

.mib-btn {
    display: inline-block;
    background-color: #F59E0B;
    color: #1E3A5F;
    font-weight: 700;
    font-size: 16px;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
    transition: opacity 0.2s;
}

.mib-btn:hover {
    opacity: 0.9;
    color: #1E3A5F;
}

/* Lead magnet CTA box */
.mib-lead-cta {
    background-color: #1E3A5F;
    border-radius: 12px;
    padding: 32px;
    margin: 40px 0;
    text-align: center;
}

.mib-lead-cta .mib-cta-label {
    margin: 0 0 8px 0;
    color: #F59E0B;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.mib-lead-cta h3 {
    margin: 0 0 12px 0;
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 700;
}

.mib-lead-cta .mib-cta-description {
    margin: 0 0 20px 0;
    color: #CBD5E1;
    font-size: 15px;
    line-height: 1.6;
}

.mib-lead-cta .mib-privacy {
    margin: 12px 0 0 0;
    color: #94A3B8;
    font-size: 13px;
}

/* Related posts grid */
.mib-related {
    margin: 40px 0;
}

.mib-related h3 {
    font-size: 20px;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 16px;
}

.mib-related-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
}

.mib-related-grid a {
    display: block;
    background-color: #F0F7FF;
    border: 1px solid #BFDBFE;
    border-radius: 8px;
    padding: 16px;
    text-decoration: none;
    color: #1E3A5F;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.5;
    transition: background-color 0.2s;
}

.mib-related-grid a:hover {
    background-color: #DBEAFE;
}

/* FAQ section */
.mib-faq {
    margin: 40px 0;
}

.mib-faq-item {
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 12px;
}

.mib-faq-question {
    background-color: #F8FAFC;
    padding: 16px 20px;
    font-weight: 700;
    color: #1E3A5F;
    font-size: 16px;
}

.mib-faq-answer {
    padding: 16px 20px;
    color: #475569;
    line-height: 1.7;
    border-top: 1px solid #E2E8F0;
}

/* Intro highlight */
.mib-intro-highlight {
    background-color: #EFF6FF;
    border-radius: 10px;
    padding: 24px 28px;
    margin-bottom: 32px;
    border-left: 5px solid #1E3A5F;
}

.mib-intro-highlight p {
    margin: 0;
    font-size: 18px;
    color: #1E3A5F;
    font-weight: 500;
    line-height: 1.7;
}

/* Divider */
.mib-divider {
    border: none;
    border-top: 2px solid #F0F7FF;
    margin: 40px 0;
}

/* Inline highlight */
.mib-highlight {
    background-color: #FFFBEB;
    color: #92400E;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .mib-related-grid {
        grid-template-columns: 1fr;
    }

    .mib-post h2 {
        font-size: 22px;
    }
    .mib-post h3 {
        font-size: 18px;
    }

    .mib-product-cta,
    .mib-lead-cta {
        padding: 24px 20px;
    } 
}
/* ============================================
   WEEKLY PRACTICE — ADDITIONAL STYLES
   ============================================ */

/* Question box */
.mib-question-box {
    background-color: #F5F3FF;
    border: 2px solid #8B5CF6;
    border-radius: 12px;
    padding: 28px 32px;
    margin: 32px 0;
}

.mib-question-box .mib-box-label {
    margin: 0 0 12px 0;
    font-weight: 700;
    color: #6D28D9;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mib-question-box .mib-question-text {
    color: #1E3A5F;
    font-size: 17px;
    line-height: 1.8;
}

.mib-question-box .mib-marks {
    display: inline-block;
    background-color: #8B5CF6;
    color: white;
    font-weight: 700;
    font-size: 13px;
    padding: 4px 12px;
    border-radius: 20px;
    margin-top: 12px;
}

/* Question parts */
.mib-question-part {
    margin: 12px 0 12px 20px;
    padding-left: 12px;
    border-left: 3px solid #DDD6FE;
}

.mib-question-part .mib-part-label {
    font-weight: 700;
    color: #6D28D9;
}

/* Math notation */
.mib-math {
    font-family: 'Cambria Math', 'Times New Roman', serif;
    font-size: 18px;
    color: #1E3A5F;
}

.mib-math-block {
    background-color: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 16px 20px;
    margin: 16px 0;
    font-family: 'Cambria Math', 'Times New Roman', serif;
    font-size: 18px;
    color: #1E3A5F;
    text-align: center;
    overflow-x: auto;
}

/* Difficulty and time badges */
.mib-badges {
    display: flex;
    gap: 12px;
    margin: 16px 0;
    flex-wrap: wrap;
}

.mib-badge-difficulty {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
}

.mib-badge-easy {
    background-color: #F0FDF4;
    color: #065F46;
    border: 1px solid #10B981;
}

.mib-badge-medium {
    background-color: #FFFBEB;
    color: #92400E;
    border: 1px solid #F59E0B;
}

.mib-badge-hard {
    background-color: #FEF2F2;
    color: #991B1B;
    border: 1px solid #EF4444;
}

.mib-badge-hl {
    background-color: #EFF6FF;
    color: #1E40AF;
    border: 1px solid #2563EB;
}

.mib-badge-time {
    display: inline-block;
    background-color: #F0F7FF;
    color: #1E3A5F;
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #BFDBFE;
}

/* Hint boxes */
.mib-hints {
    margin: 32px 0;
}

.mib-hint {
    background-color: #FFFBEB;
    border: 1px solid #FDE68A;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 12px;
}

.mib-hint .mib-hint-label {
    font-weight: 700;
    color: #92400E;
    font-size: 14px;
    margin-bottom: 6px;
}

.mib-hint .mib-hint-text {
    color: #475569;
    line-height: 1.7;
    margin: 0;
}

.mib-hint .mib-hint-pause {
    color: #94A3B8;
    font-style: italic;
    font-size: 14px;
    margin: 8px 0 0 0;
}

/* Solution box */
.mib-solution {
    background-color: #F0FDF4;
    border: 2px solid #10B981;
    border-radius: 12px;
    padding: 28px 32px;
    margin: 32px 0;
}

.mib-solution .mib-box-label {
    margin: 0 0 16px 0;
    font-weight: 700;
    color: #065F46;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Solution steps */
.mib-solution-step {
    margin: 16px 0;
    padding: 12px 16px;
    background-color: white;
    border-radius: 8px;
    border-left: 4px solid #10B981;
}

.mib-step-label {
    font-weight: 700;
    color: #065F46;
    font-size: 14px;
    margin-bottom: 6px;
}

.mib-step-content {
    color: #475569;
    line-height: 1.7;
}

.mib-final-answer {
    background-color: #ECFDF5;
    border: 2px solid #10B981;
    border-radius: 8px;
    padding: 16px 20px;
    margin: 20px 0;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #065F46;
}

.mib-mark-allocation {
    background-color: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 12px 16px;
    margin-top: 16px;
    font-size: 14px;
    color: #64748B;
}

/* Examiner notes box */
.mib-examiner {
    background-color: #EFF6FF;
    border-left: 5px solid #1E3A5F;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 32px 0;
}

.mib-examiner .mib-box-label {
    margin: 0 0 12px 0;
    font-weight: 700;
    color: #1E3A5F;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mib-examiner ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mib-examiner li {
    padding: 6px 0 6px 24px;
    position: relative;
    line-height: 1.7;
    color: #475569;
}

.mib-examiner li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #1E3A5F;
    font-weight: 700;
}

/* Common mistakes for practice posts */
.mib-mistakes {
    background-color: #FEF2F2;
    border: 2px solid #FCA5A5;
    border-radius: 12px;
    padding: 28px 32px;
    margin: 32px 0;
}

.mib-mistakes .mib-box-label {
    margin: 0 0 16px 0;
    font-weight: 700;
    color: #991B1B;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mib-mistake-item {
    padding: 12px 0;
    border-bottom: 1px solid #FECACA;
}

.mib-mistake-item:last-child {
    border-bottom: none;
}

.mib-mistake-name {
    font-weight: 700;
    color: #991B1B;
    margin-bottom: 4px;
}

.mib-mistake-detail {
    color: #475569;
    font-size: 15px;
    line-height: 1.6;
}

/* Diagram placeholder */
.mib-diagram {
    background-color: #F8FAFC;
    border: 2px dashed #CBD5E1;
    border-radius: 8px;
    padding: 40px;
    margin: 20px 0;
    text-align: center;
    color: #94A3B8;
    font-style: italic;
}

/* Mobile responsive additions */
@media (max-width: 768px) {
    .mib-question-box {
        padding: 20px;
    }

    .mib-solution {
        padding: 20px;
    }

    .mib-badges {
        flex-direction: column;
        gap: 8px;
    }

    .mib-math-block {
        font-size: 16px;
        padding: 12px 16px;
    }
}
