/* Shared section rhythm. Surfaces carry their own colours so cards and forms remain readable. */
main section[data-section-theme="light"] {
    --section-heading: #103e56;
    --section-text: #344f60;
    --section-link: #125d77;
    --section-surface: #fff;
    --section-border: #d5e1e8;
    background: linear-gradient(165deg, #f0f5f9, #fff 70%) !important;
    color: var(--section-text);
}
main section[data-section-theme="dark"]:not(.hero) {
    --section-heading: #fff;
    --section-text: #e0ebf2;
    --section-link: #ffc481;
    --section-surface: #173f54;
    --section-border: #416476;
    background: linear-gradient(135deg, #0b2433, #103e56 60%, #195870) !important;
    color: var(--section-text);
}
main section[data-section-theme]:not(.hero) :is(h1,h2,h3,h4,h5,h6,strong,summary,[class$="__title"],[class$="-title"]) {
    color: var(--section-heading) !important;
}
main section[data-section-theme]:not(.hero) :is(p,li,dt,dd,blockquote,figcaption,label,[class$="-lead"],[class$="-subtitle"],[class$="__subtitle"],[class$="__lead"]) {
    color: var(--section-text) !important;
}
main section[data-section-theme]:not(.hero) a:not(.btn):not(.help-card):not(.service-feature-card) {
    color: var(--section-link);
}
main section[data-section-theme]:not(.hero) :is(.service-feature-card,.service-infographic-pill,.service-infographic__stat,.service-faq-item,.faq-item,.review-card,.service-review-card,.contact-card,.about-proof__band,.careers-highlight,.flood-card) {
    background: var(--section-surface) !important;
    border-color: var(--section-border) !important;
    color: var(--section-text) !important;
}
main section[data-section-theme]:not(.hero) :is(.help-card,.reviews-service-box) {
    --section-heading: #fff;
    --section-text: #fff;
    color: #fff;
}
main section[data-section-theme]:not(.hero) :is(.service-infographic-pill,.service-overview__list,.service-feature-prose) span {
    color: var(--section-text) !important;
}
main section[data-section-theme]:not(.hero) .promo-card {
    --section-heading: #fff;
    --section-text: #e0ebf2;
    --section-link: #ffc481;
}
main section[data-section-theme]:not(.hero) :is(.service-feature-badge,.faq-image-badge,.help-card--emergency,.help-card--emergency *, .reviews-service-box--all, .reviews-service-box--all *) {
    --section-heading: #102f40;
    --section-text: #102f40;
    color: #102f40 !important;
}
main section[data-section-theme]:not(.hero) .wpgr-card {
    --section-heading: #103e56;
    --section-text: #344f60;
    --section-link: #125d77;
    background: #fff !important;
}
main section[data-section-theme]:not(.hero) :is(.contact-location-card,.contact-map-card) {
    --section-heading: #103e56;
    --section-text: #344f60;
    --section-link: #125d77;
}
main section[data-section-theme]:not(.hero) :is(.contact-location-card__label,.maintenance-compare__check) { color: #125d77; }
main section[data-section-theme]:not(.hero) .hero-split-form__submit { color: #102f40; }
main section[data-section-theme]:not(.hero) .hvac-rank-method__points li {
    --section-text: #344f60;
}
main section[data-section-theme]:not(.hero) :is(form,.contact-form,.contact-form-wrap,.calculator-card,.calculator-results,.maintenance-compare,[role="table"],table,.hp-brand-card,.hp-brand-model-card,.blog-card,.offer-card) {
    --section-heading: #103e56;
    --section-text: #344f60;
    --section-link: #125d77;
    --section-surface: #fff;
    --section-border: #d5e1e8;
    color: var(--section-text);
}
main section[data-section-theme]:not(.hero) :is(input,select,textarea) {
    color: #103e56;
    background-color: #fff;
}
main section[data-section-theme]:not(.hero) .btn {
    background: #e69140 !important;
    color: #102f40 !important;
    border-color: #e69140 !important;
}
main section[data-section-theme="light"]:not(.hero) .btn {
    background: #103e56 !important;
    color: #fff !important;
    border-color: #103e56 !important;
}
main section[data-section-theme]:not(.hero) .btn:hover { filter: brightness(0.92); }
main section[data-section-theme]:not(.hero) :is(.btn-outline-light,.btn-outline-navy) {
    background: transparent !important;
    color: var(--section-heading) !important;
    border-color: currentColor !important;
}
main section[data-section-theme]:not(.hero) summary::after { border-color: var(--section-heading) !important; }
main section[data-section-theme="light"]::before { opacity: 0.15; }
main section[data-section-theme="light"] :is(.service-feature-badge,.service-infographic__chip) {
    color: #fff;
}

/* Explicit columns replace the old direction:rtl trick, without reversing text or card order. */
@media (min-width: 901px) {
    main section[data-section-copy] :is(.service-feature-inner,.service-infographic__inner,.about-story__grid,.about-split__grid,.flood-split) {
        direction: ltr;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    main section[data-section-copy] :is(.service-feature-content,.service-feature-media,.service-infographic__content,.service-infographic__visual-wrap,.about-story__copy,.about-story__media,.about-split__copy,.about-split__media) {
        grid-row: 1;
        direction: ltr;
    }
    main section[data-section-copy="left"] :is(.service-feature-content,.service-infographic__content,.about-story__copy,.about-split__copy) { grid-column: 1; }
    main section[data-section-copy="left"] :is(.service-feature-media,.service-infographic__visual-wrap,.about-story__media,.about-split__media) { grid-column: 2; }
    main section[data-section-copy="right"] :is(.service-feature-content,.service-infographic__content,.about-story__copy,.about-split__copy) { grid-column: 2; }
    main section[data-section-copy="right"] :is(.service-feature-media,.service-infographic__visual-wrap,.about-story__media,.about-split__media) { grid-column: 1; }
    main section[data-section-copy] .flood-split > * { grid-row: 1; }
    main section[data-section-copy="left"] .flood-split > :not(img):not(figure) { grid-column: 1; }
    main section[data-section-copy="left"] .flood-split > :is(img,figure) { grid-column: 2; }
    main section[data-section-copy="right"] .flood-split > :not(img):not(figure) { grid-column: 2; }
    main section[data-section-copy="right"] .flood-split > :is(img,figure) { grid-column: 1; }
}
@media (max-width: 900px) {
    main section[data-section-copy] :is(.service-feature-inner,.service-infographic__inner,.about-story__grid,.about-split__grid,.flood-split) {
        direction: ltr;
        grid-template-columns: minmax(0, 1fr);
    }
    main section[data-section-copy] :is(.service-feature-content,.service-infographic__content,.about-story__copy,.about-split__copy) { order: 0; }
    main section[data-section-copy] :is(.service-feature-media,.service-infographic__visual-wrap,.about-story__media,.about-split__media) { order: 1; }
}
