/* Clean Intro Paragraph Styling - Force overrides with extreme specificity */
div.drts div.drts-dcf-intro-statement,
div.drts .drts-dcf-intro-statement,
.drts .drts-dcf-intro-statement {
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    background: transparent none !important;
    border: none !important;
    border-left: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

div.drts .drts-dcf-intro-statement p,
.drts .drts-dcf-intro-statement p {
    margin: 0 !important;
    padding: 0 !important;
    color: #666 !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    text-align: left !important;
    background: transparent !important;
}

/* EnsureHow-To also respects this if it uses a slightly different structure */
.drts-dcf-howto .drts-dcf-intro-statement {
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    div.drts .drts-dcf-intro-statement p {
        font-size: 1rem !important;
    }
}

/* Unified Heading Styling with Horizontal Line */
.drts .drts-display-element-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 2.5rem 0 1.5rem 0 !important;
    color: #444 !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    position: relative !important;
    width: 100% !important;
}

/* The Horizontal Line */
.drts .drts-display-element-header:after {
    content: "" !important;
    display: block !important;
    flex: 1 !important;
    height: 1px !important;
    background: #e0e0e0 !important;
    margin-left: 1.25rem !important;
}

/* Ensure span and background don't break the flex layout */
.drts .drts-display-element-header span {
    display: inline-flex !important;
    align-items: center !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Ensure any legacy core :before lines are hidden */
.drts .drts-display-element-header:before {
    display: none !important;
}

/* Icon Support */
.drts .drts-display-element-header i {
    margin-right: 0.75rem !important;
    color: #0066cc !important;
    font-size: 0.9em !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .drts .drts-display-element-header {
        font-size: 1.2rem !important;
        margin: 2rem 0 1.25rem 0 !important;
    }
}