/* Shared Base Box */
.srg-pattern-box {
    border-radius: 12px;
    padding: 24px;
    margin: 28px 0;
    border: 1px solid transparent;
    box-shadow: none;
    transition: background-color 0.25s ease, border-color 0.25s ease;
    letter-spacing: -0.01em;
}

.srg-pattern-inline-title {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--srg-text-primary);
    letter-spacing: -0.015em;
}

.srg-pattern-inline-title::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* 1. Pro Tip (Brand Violet) */
.srg-pattern-pro-tip {
    background-color: rgba(124, 58, 237, 0.05);
    border-color: rgba(124, 58, 237, 0.15);
}
html.srg-dark .srg-pattern-pro-tip {
    background-color: rgba(124, 58, 237, 0.10);
    border-color: rgba(124, 58, 237, 0.20);
}
.srg-pattern-pro-tip .srg-pattern-inline-title::before {
    background-color: var(--srg-brand-500, #8b5cf6);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A5 5 0 0 0 8 8c0 1 .3 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A5 5 0 0 0 8 8c0 1 .3 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E");
}

/* 2. Red Flag / Warning (Rose Red) */
.srg-pattern-red-flag {
    background-color: rgba(239, 68, 68, 0.05);
    border-color: rgba(239, 68, 68, 0.15);
}
html.srg-dark .srg-pattern-red-flag {
    background-color: rgba(239, 68, 68, 0.10);
    border-color: rgba(239, 68, 68, 0.20);
}
.srg-pattern-red-flag .srg-pattern-inline-title::before {
    background-color: #ef4444;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}

/* 3. Quick Answer (Emerald Green) - RESTORED */
.srg-pattern-quick-answer {
    background-color: rgba(16, 185, 129, 0.05);
    border-color: rgba(16, 185, 129, 0.15);
}
html.srg-dark .srg-pattern-quick-answer {
    background-color: rgba(16, 185, 129, 0.10);
    border-color: rgba(16, 185, 129, 0.20);
}
.srg-pattern-quick-answer .srg-pattern-inline-title::before {
    background-color: #10b981;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}

/* 4. Quick Summary */
.srg-pattern-quick-summary {
    background-color: #ffffff;
    border-color: var(--srg-border-secondary, #e2e8f0);
    box-shadow: 0 1px 3px rgba(9, 14, 26, 0.05);
}
html.srg-dark .srg-pattern-quick-summary {
    background-color: #0F172A;
    border-color: rgba(124, 58, 237, 0.12);
}
.srg-pattern-quick-summary .srg-pattern-inline-title::before {
    background-color: var(--srg-brand-500, #8b5cf6);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
}

/* 5. Quick Fix (Sky Blue) */
.srg-pattern-quick-fix {
    background-color: rgba(14, 165, 233, 0.05);
    border-color: rgba(14, 165, 233, 0.15);
}
html.srg-dark .srg-pattern-quick-fix {
    background-color: rgba(14, 165, 233, 0.10);
    border-color: rgba(14, 165, 233, 0.20);
}
.srg-pattern-quick-fix .srg-pattern-inline-title::before {
    background-color: #0ea5e9;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
}

/* 6. Bottom Line (Amber Gold) */
.srg-pattern-bottom-line {
    background-color: rgba(245, 158, 11, 0.05);
    border-color: rgba(245, 158, 11, 0.15);
}
html.srg-dark .srg-pattern-bottom-line {
    background-color: rgba(245, 158, 11, 0.10);
    border-color: rgba(245, 158, 11, 0.20);
}
.srg-pattern-bottom-line .srg-pattern-inline-title::before {
    background-color: #f59e0b;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
}

/* 7. Voice of the Street (Cyan Blue) */
.srg-pattern-voice {
    background-color: rgba(14, 165, 233, 0.05);
    border-color: rgba(14, 165, 233, 0.15);
}
html.srg-dark .srg-pattern-voice {
    background-color: rgba(14, 165, 233, 0.10);
    border-color: rgba(14, 165, 233, 0.20);
}
.srg-pattern-voice .srg-pattern-inline-title::before {
    background-color: #0ea5e9;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

/* 8. Verdict Box */
.srg-pattern-verdict,
.srg-pattern-quick-verdict {
    background-color: rgba(124, 58, 237, 0.05);
    border-color: rgba(124, 58, 237, 0.15);
}
html.srg-dark .srg-pattern-verdict,
html.srg-dark .srg-pattern-quick-verdict {
    background-color: #0F172A;
    border-color: rgba(124, 58, 237, 0.20);
}
.srg-pattern-verdict .srg-pattern-inline-title::before,
.srg-pattern-quick-verdict .srg-pattern-inline-title::before {
    background-color: #f59e0b;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6'/%3E%3Cpath d='M18 9h1.5a2.5 2.5 0 0 0 0-5H18'/%3E%3Cpath d='M4 22h16'/%3E%3Cpath d='M10 14.66V17c0 .55-.45 1-1 1H4v2h16v-2h-5c-.55 0-1-.45-1-1V14.66'/%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v5a5 5 0 0 0 10 0V7a5 5 0 0 0-5-5z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6'/%3E%3Cpath d='M18 9h1.5a2.5 2.5 0 0 0 0-5H18'/%3E%3Cpath d='M4 22h16'/%3E%3Cpath d='M10 14.66V17c0 .55-.45 1-1 1H4v2h16v-2h-5c-.55 0-1-.45-1-1V14.66'/%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v5a5 5 0 0 0 10 0V7a5 5 0 0 0-5-5z'/%3E%3C/svg%3E");
}

/* 9. Pros & Cons Flat Grid */
.srg-pros-cons-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 28px 0;
}
@media (max-width: 767px) {
    .srg-pros-cons-grid {
        grid-template-columns: 1fr;
    }
}
.srg-pros-column {
    background-color: rgba(34, 197, 94, 0.05);
    border: 1px solid rgba(34, 197, 94, 0.15);
    border-radius: 12px;
    padding: 24px;
}
html.srg-dark .srg-pros-column {
    background-color: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.20);
}
.srg-cons-column {
    background-color: rgba(239, 68, 68, 0.05);
    border: 1px solid rgba(239, 68, 68, 0.15);
    border-radius: 12px;
    padding: 24px;
}
html.srg-dark .srg-cons-column {
    background-color: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.20);
}
.srg-pros-title::before {
    background-color: #10b981;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.srg-cons-title::before {
    background-color: #ef4444;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}

/* 10. In-Content FAQ Accordion Details */
.srg-pattern-faq-item,
details.wp-block-details.srg-pattern-faq-item {
    background-color: #ffffff !important;
    border: 1px solid var(--srg-border-secondary, #e2e8f0) !important;
    border-radius: 10px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    transition: all 0.2s ease !important;
}
html.srg-dark .srg-pattern-faq-item,
html.srg-dark details.wp-block-details.srg-pattern-faq-item {
    background-color: #0F172A !important;
    border-color: rgba(124, 58, 237, 0.12) !important;
}
.srg-pattern-faq-item[open],
details.wp-block-details.srg-pattern-faq-item[open] {
    border-color: var(--srg-context-accent, #7C3AED) !important;
}
.srg-pattern-faq-item summary,
details.wp-block-details.srg-pattern-faq-item summary {
    padding: 16px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--srg-text-primary) !important;
    cursor: pointer !important;
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    user-select: none !important;
}
.srg-pattern-faq-question::-webkit-details-marker,
details.wp-block-details.srg-pattern-faq-item summary::-webkit-details-marker {
    display: none !important;
}
.srg-pattern-faq-question::after,
details.wp-block-details.srg-pattern-faq-item summary::after {
    content: '+' !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--srg-text-tertiary) !important;
    transition: transform 0.2s ease !important;
}
.srg-pattern-faq-item[open] .srg-pattern-faq-question::after,
details.wp-block-details.srg-pattern-faq-item[open] summary::after {
    content: '−' !important;
    color: var(--srg-context-accent, #7C3AED) !important;
}
.srg-pattern-faq-answer,
details.wp-block-details.srg-pattern-faq-item p.srg-pattern-faq-answer,
details.wp-block-details.srg-pattern-faq-item .wp-block-paragraph {
    padding: 0 20px 16px 20px !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--srg-text-secondary) !important;
}

/* 11. Key Takeaways Box */
.srg-pattern-key-takeaways {
    background-color: rgba(124, 58, 237, 0.05);
    border-color: rgba(124, 58, 237, 0.15);
}
html.srg-dark .srg-pattern-key-takeaways {
    background-color: #0F172A;
    border-color: rgba(124, 58, 237, 0.20);
}
.srg-pattern-key-takeaways .srg-pattern-inline-title::before {
    background-color: var(--srg-brand-500, #8b5cf6);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3l8 -8'/%3E%3Cpath d='M20 12v6a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h9'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3l8 -8'/%3E%3Cpath d='M20 12v6a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h9'/%3E%3C/svg%3E");
}
.srg-pattern-takeaways-list {
    margin: 0 !important;
    padding-left: 20px !important;
    color: var(--srg-text-secondary);
    font-size: 15px;
    line-height: 1.7;
}
.srg-pattern-takeaways-list li {
    margin-bottom: 8px;
}
.srg-pattern-takeaways-list li:last-child {
    margin-bottom: 0;
}

/* 12. Steps Guide */
.srg-pattern-steps-wrap {
    margin: 32px 0;
    padding: 0;
}
.srg-pattern-step-item {
    position: relative;
    padding-left: 48px;
    padding-bottom: 24px;
    border-left: 2px dashed rgba(124, 58, 237, 0.18);
}
.srg-pattern-step-item:last-child {
    border-left: 2px solid transparent;
    padding-bottom: 0;
}
.srg-pattern-step-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--srg-text-primary) !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}
.srg-pattern-step-num {
    position: absolute;
    left: -15px;
    top: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: var(--srg-context-accent, #7C3AED);
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(124, 58, 237, 0.25);
}
.srg-pattern-step-item p {
    font-size: 14.5px;
    color: var(--srg-text-secondary);
    line-height: 1.6;
    margin: 0 !important;
}

/* 13. Stat Callout */
.srg-pattern-stat-callout {
    background-color: #ffffff;
    border: 1px solid var(--srg-border-secondary, #e2e8f0);
    border-radius: 12px;
    text-align: center;
    padding: 32px 24px;
}
html.srg-dark .srg-pattern-stat-callout {
    background-color: #0F172A;
    border-color: rgba(124, 58, 237, 0.12);
}
.srg-pattern-stat-number {
    font-size: 40px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: var(--srg-context-accent, #7C3AED) !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.02em;
}
.srg-pattern-stat-desc {
    font-size: 14.5px !important;
    color: var(--srg-text-secondary) !important;
    line-height: 1.5 !important;
    margin: 0 auto !important;
    max-width: 520px;
}

/* 14. Native WordPress Core Buttons (wp-block-button) Clean Styling */
.wp-block-buttons {
    margin: 24px 0 !important;
}
.wp-block-button__link {
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.3 !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    border: none !important;
    cursor: pointer !important;
}
.wp-block-button__link:hover {
    opacity: 0.9 !important;
    transform: translateY(-1px) !important;
}
/* Default fallback when author doesn't pick custom colors */
.wp-block-button:not(.has-custom-background):not(.has-background) .wp-block-button__link {
    background-color: var(--srg-context-accent, #7C3AED);
    color: #ffffff !important;
}

