/**
 * Shared styles: Services/Locations white content box
 * Used on the public site AND inside TinyMCE (WYSIWYG editor preview).
 */
.detail-page-content,
body.detail-page-content {
    font-family: 'Times New Roman', Times, serif;
    font-size: 12pt;
    font-weight: normal;
    color: #000;
    line-height: 1.75;
    width: 100%;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
    box-sizing: border-box;
}

.detail-page-content > *,
.detail-page-content section,
.detail-page-content div {
    max-width: 100% !important;
    min-width: 0 !important;
}

.detail-page-content h1,
.detail-page-content h2,
.detail-page-content h3,
.detail-page-content h4,
.detail-page-content h5,
.detail-page-content h6 {
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.85rem;
}

.detail-page-content h1 { font-size: 2rem; color: #1a3a5a; }
.detail-page-content h2 { font-size: 1.75rem; color: #1a3a5a; }
.detail-page-content h3 { font-size: 1.4rem; color: #1a3a5a; }

.detail-page-content p {
    margin: 0 0 1rem;
    line-height: 1.75;
}

/* Respect editor alignment (center / right) */
.detail-page-content p[style*="text-align: center"],
.detail-page-content p[style*="text-align:center"],
.detail-page-content h1[style*="text-align: center"],
.detail-page-content h2[style*="text-align: center"],
.detail-page-content h3[style*="text-align: center"] {
    text-align: center !important;
}

.detail-page-content p[style*="text-align: right"],
.detail-page-content p[style*="text-align:right"] {
    text-align: right !important;
}

/* Keep inline colours & sizes from TinyMCE / Word paste */
.detail-page-content span[style*="color"],
.detail-page-content span[style*="font-size"] {
    /* inline styles preserved */
}

.detail-page-content strong,
.detail-page-content b {
    font-weight: 700;
}

/* White text on white box — match frontend sanitizer (invisible Word headings) */
.detail-page-content [style^="color:"][style*="white"],
.detail-page-content [style^="color:"][style*="#fff"],
.detail-page-content [style^="color:"][style*="#ffffff"],
.detail-page-content [style^="color:"][style*="rgb(255, 255, 255)"],
.detail-page-content [style^="color:"][style*="rgb(255,255,255)"],
.detail-page-content [style*="; color:"][style*="white"],
.detail-page-content [style*="; color:"][style*="#fff"],
.detail-page-content [style*="; color:"][style*="#ffffff"],
.detail-page-content [style*="; color:"][style*="rgb(255, 255, 255)"],
.detail-page-content [style*="; color:"][style*="rgb(255,255,255)"],
.detail-page-content [style*=";color:"][style*="white"],
.detail-page-content [style*=";color:"][style*="#fff"],
.detail-page-content [style*=";color:"][style*="#ffffff"],
.detail-page-content [style*=";color:"][style*="rgb(255, 255, 255)"],
.detail-page-content [style*=";color:"][style*="rgb(255,255,255)"] {
    color: #1a3a5a !important;
}

/* Green checkmark list (Word Wingdings converted on save, or class in editor) */
.detail-page-content ul.detail-checklist {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1.25rem;
    width: 100%;
}

.detail-page-content ul.detail-checklist li {
    position: relative;
    padding-left: 1.75rem;
    margin-bottom: 0.5rem;
    line-height: 1.75;
}

.detail-page-content ul.detail-checklist li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0.1em;
    color: #00c853;
    font-weight: 700;
    font-size: 1.1em;
}

/* Word Wingdings bullet in editor — show as green tick (matches frontend after save) */
.detail-page-content p:has(span[style*="Wingdings"]),
.detail-page-content li:has(span[style*="Wingdings"]) {
    position: relative;
    padding-left: 1.75rem;
    list-style: none;
}

.detail-page-content p:has(span[style*="Wingdings"])::before,
.detail-page-content li:has(span[style*="Wingdings"])::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0.1em;
    color: #00c853;
    font-weight: 700;
}

.detail-page-content span[style*="Wingdings"] {
    display: none;
}

.detail-page-content ul:not(.detail-checklist),
.detail-page-content ol {
    margin: 0 0 1rem;
    padding-left: 1.5rem;
    width: 100%;
}

.detail-page-content ul:not(.detail-checklist) li,
.detail-page-content ol li {
    margin-bottom: 0.35rem;
    line-height: 1.75;
}

.detail-page-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 1rem 0;
}

.detail-page-content table {
    width: 100%;
    max-width: 100%;
}

.detail-page-content a {
    color: #0d6efd;
}

.detail-page-content .MsoNormal {
    background: transparent !important;
    line-height: 1.75;
    white-space: normal;
}

/*
 * Neutralise full-page theme layout pasted from Word inside the white box.
 * Content should match the TinyMCE editor — plain text, not cream/navy sections.
 */
.detail-page-content .herosection,
.detail-page-content .simple-way,
.detail-page-content .whatsection,
.detail-page-content .process,
.detail-page-content .simple-inner,
.detail-page-content .why-inner,
.detail-page-content .process-grid,
.detail-page-content .situations-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    grid-template-columns: none !important;
    padding: 0 !important;
    margin: 0 0 1.5rem !important;
    background: transparent !important;
    overflow: visible !important;
}

.detail-page-content .hero-img,
.detail-page-content .simple-img,
.detail-page-content .hero-actions {
    display: none !important;
}

/* Theme "sit-card" image+text cards → plain stacked content */
.detail-page-content .sit-card,
.detail-page-content .situations,
.detail-page-content .situations-intro {
    display: block !important;
    grid-template-columns: none !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0 1.5rem !important;
}

.detail-page-content .sit-body {
    display: block !important;
    padding: 0 !important;
}

.detail-page-content .sit-card img {
    display: block;
    max-width: 100%;
    height: auto !important;
    margin: 1rem 0;
    border-radius: 12px;
    box-shadow: none;
}

.detail-page-content .sit-list {
    list-style: disc;
    padding-left: 1.5rem;
    margin: 0 0 1rem;
}

.detail-page-content .sit-list li {
    display: list-item !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 0.35rem;
}

.detail-page-content .sit-list li::before {
    content: none !important;
}

.detail-page-content table,
.detail-page-content table td,
.detail-page-content table th {
    display: block !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
}

.detail-page-content .expect-list {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1.25rem;
    display: block;
    gap: 0;
}

.detail-page-content .expect-list li {
    position: relative;
    display: block;
    background: transparent !important;
    padding: 0 0 0 1.75rem !important;
    margin-bottom: 0.5rem;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: 1.75;
}

.detail-page-content .expect-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0.1em;
    color: #00c853;
    font-weight: 700;
    font-size: 1.1em;
}

.detail-page-content .section-title {
    font-size: 1.75rem;
    color: #1a3a5a;
    font-weight: 700;
    margin-bottom: 0.85rem;
}

.detail-page-content .section-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #cd287c;
    margin-bottom: 0.75rem;
}

.detail-page-content .section-sub,
.detail-page-content .hero-sub {
    color: #000;
    font-size: inherit;
    line-height: 1.75;
    margin-bottom: 1rem;
}

.detail-page-content .process-card,
.detail-page-content .process-grid {
    display: block !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 1rem !important;
    box-shadow: none !important;
    transform: none !important;
}

.detail-page-content .process-card h3 {
    font-size: 1.4rem;
    color: #1a3a5a;
    margin-bottom: 0.5rem;
}

.detail-page-content .process-card p {
    color: #000;
    margin-bottom: 1rem;
}

.detail-page-content .btn-primary,
.detail-page-content .btn-outline {
    display: inline-block;
    margin: 0.5rem 0.5rem 0.5rem 0;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.9rem;
}

/* TinyMCE editor canvas — mimic white box on site */
body.detail-page-content.mce-content-body {
    background: #fff;
    padding: 1.5rem 2rem;
    margin: 0;
    min-height: 560px;
}
