/* ===========================================================
   REINIGUNGSRANK PRO: main.css
   Main theme CSS preserved from existing assets/css/main.css.
   Reusable page styles consolidated from Additional CSS.
   Updated: 2026-10-22
   IMPORTANT: after loading this file, clear Additional CSS
   to avoid applying conflicting/duplicated rules twice.
   =========================================================== */

:root{--green:#08A968;--green2:#078553;--navy:#0B1930;--text:#253248;--muted:#536174;--border:#DCE3EA;--soft:#F3F7FA;--soft2:#F8FAFC;--white:#fff;--max:1240px;--shadow:0 18px 50px rgba(11,25,48,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body.rr-menu-open,body.rr-consent-open{overflow:hidden}a{color:var(--green2);text-underline-offset:3px}img{max-width:100%;height:auto}h1,h2,h3{color:var(--navy);line-height:1.08;letter-spacing:-.035em;margin:0 0 20px}h1{font-size:clamp(2.55rem,5.2vw,4.65rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,3.7vw,3.25rem)}h3{font-size:1.28rem;letter-spacing:-.02em}p{margin:0 0 20px}.rr-wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.rr-narrow{max-width:920px}.rr-skip{position:fixed;left:16px;top:-80px;background:#fff;color:#000;padding:10px 14px;z-index:99999}.rr-skip:focus{top:16px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rr-header{height:82px;position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid #edf1f3;z-index:1000}.rr-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.rr-brand{display:flex;align-items:center;text-decoration:none!important;flex:0 0 auto}.rr-brand-logo{display:block;width:238px;max-width:100%;height:auto}.rr-footer-logo-wrap{display:inline-flex;background:#fff;border-radius:9px;padding:5px 7px}.rr-footer .rr-brand-logo{width:220px}.rr-nav{display:flex;align-items:center;gap:26px}.rr-menu{display:flex;align-items:center;gap:25px;list-style:none;padding:0;margin:0}.rr-menu a{color:var(--text);text-decoration:none;font-size:.9rem;font-weight:650}.rr-menu a:hover,.rr-menu .current-menu-item>a{color:var(--green2)}.rr-header-cta{display:inline-flex;padding:11px 17px;background:var(--green);color:#fff!important;border-radius:7px;text-decoration:none;font-weight:760;font-size:.86rem;box-shadow:0 8px 22px rgba(8,169,104,.18)}.rr-nav-toggle{display:none;background:none;border:0;padding:8px}.rr-nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px}.rr-main{min-height:60vh}.rr-kicker{font-size:.76rem;line-height:1.3;letter-spacing:.13em;font-weight:850;color:var(--green2);margin-bottom:18px}.rr-kicker.light{color:#80e7b7}.rr-lead,.large{font-size:1.14rem;color:var(--muted);max-width:820px}.rr-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 22px}.rr-btn{display:inline-flex;min-height:51px;align-items:center;justify-content:center;padding:14px 22px;border-radius:7px;text-decoration:none!important;font-weight:780;border:1px solid transparent;transition:.2s ease}.rr-btn:hover{transform:translateY(-1px)}.rr-btn-primary{background:var(--green);color:#fff!important;box-shadow:0 12px 28px rgba(8,169,104,.2)}.rr-btn-primary:hover{background:var(--green2)}.rr-btn-secondary{background:#fff;color:var(--navy)!important;border-color:#cbd5dd}.rr-btn-white{background:#fff;color:var(--navy)!important}.rr-inline-checks{display:flex;gap:10px 22px;flex-wrap:wrap;list-style:none;padding:0;margin:0;color:var(--muted);font-size:.87rem}.rr-inline-checks li:before{content:"✓";color:var(--green);font-weight:900;margin-right:6px}.rr-hero{padding:88px 0 72px;background:linear-gradient(180deg,#fff,#fbfdfc)}.rr-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:74px;align-items:center}.rr-hero-panel{min-height:470px;position:relative;border-radius:24px;background:linear-gradient(145deg,#eef8f3,#e8f1f6);padding:36px;box-shadow:var(--shadow);border:1px solid #e2ebe6}.rr-search{height:56px;background:#fff;border:1px solid var(--border);border-radius:999px;display:flex;align-items:center;gap:11px;padding:0 18px;box-shadow:0 8px 24px rgba(11,25,48,.07)}.rr-search span{color:#4285f4;font-weight:900}.rr-search b{font-size:.92rem;color:#4a5667}.rr-serp{margin-top:24px;background:#fff;padding:28px;border-radius:16px;box-shadow:0 18px 35px rgba(11,25,48,.08)}.rr-serp small{display:block;color:var(--green2);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.rr-serp strong{display:block;color:var(--navy);font-size:1.27rem;line-height:1.35;margin:10px 0 26px}.rr-chart{height:86px;display:flex;gap:8px;align-items:end;border-bottom:1px solid #e7ecef}.rr-chart i{display:block;flex:1;background:linear-gradient(#48d699,var(--green));border-radius:5px 5px 0 0}.rr-chart i:nth-child(1){height:24%}.rr-chart i:nth-child(2){height:42%}.rr-chart i:nth-child(3){height:39%}.rr-chart i:nth-child(4){height:67%}.rr-chart i:nth-child(5){height:90%}.rr-mini-lead{position:absolute;right:-24px;bottom:58px;background:#fff;padding:15px 18px;border-radius:12px;box-shadow:0 16px 38px rgba(11,25,48,.14);display:flex;gap:11px;align-items:center}.rr-mini-lead>span{width:11px;height:11px;background:var(--green);border-radius:50%;box-shadow:0 0 0 6px rgba(8,169,104,.12)}.rr-mini-lead small,.rr-mini-lead b{display:block}.rr-mini-lead small{color:var(--muted);font-size:.7rem}.rr-mini-lead b{color:var(--navy);font-size:.88rem}.rr-proofstrip{border-block:1px solid #edf1f3}.rr-proofgrid{display:grid;grid-template-columns:repeat(4,1fr)}.rr-proofgrid>div{padding:27px 22px;border-right:1px solid #edf1f3}.rr-proofgrid>div:last-child{border-right:0}.rr-proofgrid b,.rr-proofgrid span{display:block}.rr-proofgrid b{color:var(--navy);font-size:.94rem}.rr-proofgrid span{color:var(--muted);font-size:.82rem;margin-top:3px}.rr-section{padding:96px 0}.rr-soft{background:var(--soft2)}.rr-heading-split{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end;margin-bottom:42px}.rr-heading-split h2{margin:0}.rr-heading-split p{margin:0;color:var(--muted);font-size:1.02rem}.rr-cards{display:grid;gap:18px}.rr-cards-4{grid-template-columns:repeat(4,1fr)}.rr-cards-3{grid-template-columns:repeat(3,1fr)}.rr-cards article{background:#fff;border:1px solid #e2e8ec;border-radius:14px;padding:28px}.rr-cards article>span{display:inline-flex;width:42px;height:42px;border-radius:10px;background:#eaf8f2;color:var(--green2);align-items:center;justify-content:center;font-weight:850;margin-bottom:20px}.rr-cards article p{color:var(--muted);font-size:.94rem;margin-bottom:0}.rr-services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:stretch}.rr-service-card{grid-column:span 2;min-height:285px;padding:28px;border:1px solid #e1e8e4;border-radius:14px;background:#fff;display:flex;flex-direction:column;transition:.2s ease}.rr-service-card:nth-child(4),.rr-service-card:nth-child(5){grid-column:span 3}.rr-service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.rr-service-card small{display:block;color:var(--green2);letter-spacing:.1em;font-weight:850;margin-bottom:18px}.rr-service-card h3{font-size:1.16rem}.rr-service-card p{color:var(--muted);font-size:.93rem}.rr-service-link{display:inline-block;color:var(--green2);font-weight:800;text-decoration:none;margin-top:auto;padding-top:18px}.rr-service-link:hover{text-decoration:underline}.rr-service-card.featured{background:var(--navy);border-color:var(--navy)}.rr-service-card.featured h3{color:#fff}.rr-service-card.featured p{color:#c4cfdd}.rr-service-card.featured .rr-service-link,.rr-service-card.featured small{color:#7ce7b4}.rr-navy{background:var(--navy);color:#d4deeb}.rr-navy h2{color:#fff}.rr-two{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.rr-navy .large{color:#d4deeb}.rr-checklist{list-style:none;padding:0;margin:26px 0 0}.rr-checklist li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1)}.rr-checklist li:before{content:"✓";color:#7ce7b4;font-weight:900;margin-right:9px}.rr-center{text-align:center;max-width:820px;margin-inline:auto}.rr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}.rr-steps-3{grid-template-columns:repeat(3,1fr)}.rr-steps article{padding:28px;border-top:3px solid var(--green);box-shadow:0 12px 30px rgba(11,25,48,.06);background:#fff}.rr-steps article>b{display:inline-flex;width:37px;height:37px;border-radius:50%;align-items:center;justify-content:center;background:#eaf8f2;color:var(--green2);margin-bottom:17px}.rr-steps p{color:var(--muted);margin:0}.rr-berlin{background:linear-gradient(135deg,#f3f7fb,#eef8f3)}.rr-city{min-height:320px;border-radius:22px;background:var(--navy);padding:42px;position:relative;overflow:hidden;color:#d1dce9}.rr-city:after{content:"";position:absolute;right:-100px;top:-100px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(8,169,104,.55),rgba(8,169,104,0) 68%)}.rr-city small{color:#79e3b1;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.rr-city strong{display:block;color:#fff;font-size:clamp(3rem,8vw,5.2rem);letter-spacing:-.06em;line-height:1;margin:20px 0}.rr-city p{max-width:390px;position:relative;z-index:1}.rr-textlink{font-weight:800;text-decoration:none}.rr-case-placeholder{background:#fff;border:1px solid #dfe7e3;border-radius:18px;padding:38px;box-shadow:0 14px 34px rgba(11,25,48,.06)}.rr-case-placeholder small{display:block;color:var(--green2);font-weight:850;letter-spacing:.09em;text-transform:uppercase}.rr-case-placeholder b{display:block;color:var(--navy);font-size:1.75rem;margin:10px 0}.rr-faq{margin-top:30px;border-top:1px solid var(--border)}.rr-faq details{border-bottom:1px solid var(--border)}.rr-faq summary{cursor:pointer;list-style:none;font-weight:780;color:var(--navy);padding:21px 40px 21px 0;position:relative}.rr-faq summary::-webkit-details-marker{display:none}.rr-faq summary:after{content:"+";position:absolute;right:4px;color:var(--green);font-size:1.4rem}.rr-faq details[open] summary:after{content:"−"}.rr-faq details p{max-width:850px;color:var(--muted);padding-bottom:20px}.rr-cta{padding:78px 0;background:var(--navy);color:#d6dfeb}.rr-cta h2{color:#fff}.rr-cta-grid{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:center}.rr-pagehero{padding:92px 0 78px;background:linear-gradient(180deg,#fff,#f8fbfa);border-bottom:1px solid #edf1f3}.rr-pagehero.compact{padding:68px 0 48px}.rr-pagehero h1{font-size:clamp(2.5rem,4.9vw,4.3rem)}.rr-copy{max-width:850px}.rr-copy h2{font-size:clamp(1.65rem,3vw,2.45rem);margin-top:46px}.rr-copy h2:first-child{margin-top:0}.rr-copy p,.rr-copy li{color:#46566a}.rr-copy li{margin:6px 0}.rr-note{background:#eaf8f2;border-left:4px solid var(--green);padding:22px 24px;margin:34px 0}.rr-contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}.rr-contact-card{background:var(--soft2);border:1px solid #e2e8ec;border-radius:18px;padding:34px;position:sticky;top:110px}.rr-contact-card .small{font-size:.88rem;color:var(--muted)}.rr-form{display:grid;gap:18px}.rr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rr-form label{font-weight:700;color:var(--navy);font-size:.92rem}.rr-form input,.rr-form textarea,.rr-form select{display:block;width:100%;margin-top:7px;border:1px solid #cbd5dd;border-radius:8px;background:#fff;padding:13px 14px;font:inherit;color:var(--text)}.rr-form input:focus,.rr-form textarea:focus,.rr-form select:focus{outline:3px solid rgba(8,169,104,.15);border-color:var(--green)}.rr-check{display:flex;gap:10px!important;align-items:flex-start;font-weight:400!important;color:var(--muted)!important}.rr-check input{width:auto;margin-top:5px}.rr-hp{position:absolute;left:-99999px}.rr-notice{padding:14px 16px;border-radius:8px;margin-bottom:20px}.rr-notice.success{background:#e8f8f0;color:#075b3b}.rr-notice.error{background:#fff0f0;color:#8a1f1f}.rr-legal{max-width:900px}.rr-legal h2{font-size:1.45rem;letter-spacing:-.02em;margin-top:42px}.rr-legal h2:first-child{margin-top:0}.rr-postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rr-postgrid article{border:1px solid #e1e8ec;border-radius:14px;padding:30px}.rr-postgrid h2{font-size:1.35rem}.rr-postgrid h2 a{color:var(--navy);text-decoration:none}.rr-postgrid p{color:var(--muted)}.rr-postmeta{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.rr-article{max-width:820px}.rr-article h1{font-size:clamp(2.4rem,5vw,4rem)}.rr-article h2{font-size:2rem;margin-top:48px}.rr-article p,.rr-article li{color:#46566a}.rr-back{margin-top:50px;padding-top:20px;border-top:1px solid var(--border)}.rr-footer{background:#081426;color:#aeb9c7;padding:68px 0 24px}.rr-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:55px}.rr-footer h2{font-size:.8rem;color:#fff;letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px}.rr-footer a{display:block;color:#c9d2dd;text-decoration:none;margin:8px 0}.rr-footer p{font-size:.9rem}.footer-brand{color:#fff!important;margin-bottom:16px!important}.rr-footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;margin-top:48px;font-size:.78rem}.rr-footer-bottom>div{display:flex;gap:18px;align-items:center}.rr-footer-bottom a{display:inline;margin:0}.rr-cookie-link{background:none;border:0;color:#c9d2dd;padding:0;font:inherit;cursor:pointer}.rr-consent-backdrop{position:fixed;inset:0;background:rgba(3,11,22,.62);z-index:99999;display:flex;align-items:end;justify-content:center;padding:20px}.rr-consent-backdrop[hidden]{display:none}.rr-consent{width:min(960px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);max-height:calc(100vh - 40px);overflow:auto}.rr-consent-main{padding:30px 32px}.rr-consent h2{font-size:1.8rem;margin-bottom:12px}.rr-consent p{color:var(--muted)}.rr-consent-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:22px}.rr-consent-btn{min-height:47px;border-radius:7px;padding:11px 16px;font:inherit;font-weight:760;cursor:pointer}.rr-consent-btn.primary{background:var(--green);border:1px solid var(--green);color:#fff}.rr-consent-btn.outline{background:#fff;border:1px solid var(--navy);color:var(--navy)}.rr-consent-btn.text{background:#f4f7f8;border:1px solid #e1e6e9;color:var(--navy)}.rr-consent-settings{margin-top:22px;border-top:1px solid var(--border);padding-top:14px}.rr-consent-settings label{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #edf1f3}.rr-consent-settings b,.rr-consent-settings small{display:block}.rr-consent-settings small{color:var(--muted);font-weight:400;margin-top:2px}.rr-consent-settings input{width:20px;height:20px;accent-color:var(--green)}.rr-consent-settings .rr-consent-btn{margin-top:16px}.rr-consent-legal{font-size:.78rem;margin-top:16px!important;margin-bottom:0!important}
@media(max-width:1100px){.rr-menu{gap:15px}.rr-menu a{font-size:.82rem}.rr-hero-grid,.rr-heading-split,.rr-two,.rr-contact-grid{grid-template-columns:1fr;gap:42px}.rr-hero-panel{max-width:760px}.rr-cards-4{grid-template-columns:repeat(2,1fr)}.rr-proofgrid{grid-template-columns:repeat(2,1fr)}.rr-steps{grid-template-columns:repeat(2,1fr)}.rr-steps-3{grid-template-columns:repeat(3,1fr)}.rr-postgrid{grid-template-columns:1fr 1fr}.rr-footer-grid{grid-template-columns:1.4fr 1fr 1fr}.rr-footer-grid>div:last-child{grid-column:1/-1}.rr-contact-card{position:static}}
@media(max-width:1050px){.rr-header{height:72px}.rr-brand-logo{width:220px}.rr-nav-toggle{display:block;position:relative;z-index:1301}.rr-nav{position:fixed;left:0;right:0;top:72px;background:#fff;padding:12px 24px 22px;display:flex;align-items:stretch;flex-direction:column;gap:0;z-index:1300;box-shadow:0 18px 36px rgba(11,25,48,.12);border-bottom:1px solid #e4eaee;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;max-height:calc(100dvh - 72px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.rr-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.rr-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}.rr-menu li{border-bottom:1px solid #edf1f3}.rr-menu a{display:block;padding:12px 0;font-size:1rem}.rr-header-cta{text-align:center;justify-content:center;margin-top:14px;width:100%}}
@media(max-width:900px){.rr-services{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-service-card,.rr-service-card:nth-child(4),.rr-service-card:nth-child(5){grid-column:span 1}.rr-service-card:nth-child(5){grid-column:1/-1}.rr-cta-grid{grid-template-columns:1fr}.rr-footer-grid{grid-template-columns:1fr 1fr}.rr-footer-grid>div:last-child{grid-column:auto}.rr-consent-actions{grid-template-columns:1fr 1fr}.rr-consent-btn.text{grid-column:1/-1}}
@media(max-width:680px){body{font-size:16px}.rr-wrap{width:min(calc(100% - 34px),var(--max))}.rr-brand-logo{width:195px}.rr-hero,.rr-pagehero{padding:58px 0 50px}.rr-section{padding:68px 0}.rr-hero-grid{gap:38px}.rr-hero-panel{min-height:410px;padding:22px}.rr-mini-lead{right:14px;bottom:48px}.rr-actions{flex-direction:column}.rr-btn{width:100%}.rr-inline-checks{display:grid;gap:7px}.rr-proofgrid,.rr-cards-4,.rr-cards-3,.rr-services,.rr-steps,.rr-steps-3,.rr-postgrid,.rr-form-grid,.rr-footer-grid{grid-template-columns:1fr}.rr-service-card,.rr-service-card:nth-child(4),.rr-service-card:nth-child(5){grid-column:1/-1;min-height:0}.rr-proofgrid>div{border-right:0;border-bottom:1px solid #edf1f3}.rr-proofgrid>div:last-child{border-bottom:0}.rr-city{padding:30px}.rr-cta{padding:58px 0}.rr-footer-bottom{flex-direction:column}.rr-footer-bottom>div{flex-wrap:wrap}.rr-consent-backdrop{padding:10px}.rr-consent-main{padding:24px 20px}.rr-consent-actions{grid-template-columns:1fr}.rr-consent-btn.text{grid-column:auto}}

.rr-home-form{background:linear-gradient(135deg,#f6faf8,#eef5f8)}.rr-home-form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}.rr-home-form .rr-checklist-light{margin-top:26px}.rr-home-form .rr-checklist-light li{border-bottom:1px solid #dfe8e3;color:var(--text)}.rr-home-form .rr-checklist-light li:before{color:var(--green)}.rr-form-shell{background:#fff;border:1px solid #dfe7e3;border-radius:18px;padding:32px;box-shadow:0 18px 44px rgba(11,25,48,.08)}
@media(max-width:1100px){.rr-home-form-grid{grid-template-columns:1fr;gap:36px}.rr-form-shell{max-width:820px}}
@media(max-width:680px){.rr-form-shell{padding:22px}}

/* REINIGUNGSRANK: DROPDOWN MENU FIX */

.rr-menu > li {
    position: relative;
    list-style: none;
}

.rr-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 300px;
    max-width: calc(100vw - 32px);
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #e1e8ec;
    border-radius: 10px;
    box-shadow: 0 16px 35px rgba(11,25,48,.12);
    z-index: 1100;
}

.rr-menu .sub-menu li {
    list-style: none;
    margin: 0;
}

.rr-menu .sub-menu a {
    display: block;
    padding: 10px 16px;
    line-height: 1.4;
    white-space: normal;
}

.rr-menu .sub-menu a:hover {
    background: #f3f7fa;
    color: #078553;
}

.rr-menu > li:hover > .sub-menu,
.rr-menu > li:focus-within > .sub-menu {
    display: block;
}

/* DROPDOWN ARROW ON DESKTOP */

@media (min-width: 1051px) {
    .rr-menu > .menu-item-has-children > a::after {
        content: "";
        display: inline-block;
        width: 6px;
        height: 6px;
        margin-left: 9px;
        vertical-align: 3px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
        transition: transform 0.2s ease;
    }

    .rr-menu > .menu-item-has-children:hover > a::after,
    .rr-menu > .menu-item-has-children:focus-within > a::after {
        transform: rotate(225deg);
    }
}

/* MOBILE SUBMENU */



/* ==========================================
   REINIGUNGSRANK BLOG
   Archive and single-post templates
   ========================================== */

.rr-blog {
  --rb-navy: #0b2644;
  --rb-green: #12b886;
  --rb-muted: #5b6b82;
  --rb-line: #e3e9f1;
  --rb-soft: #f4f7fb;
  color: #1b2a41;
}

.rr-blog * {
  box-sizing: border-box;
}

.rr-blog .rr-blog-wrap {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.rr-blog h1,
.rr-blog h2,
.rr-blog h3 {
  line-height: 1.2;
}

.rr-blog p {
  line-height: 1.75;
}

/* Blog and article hero */

.rr-blog .rr-blog-hero,
.rr-blog .rr-blog-article-hero {
  background:
    radial-gradient(
      900px 400px at 85% -10%,
      rgba(18,184,134,.22),
      transparent 60%
    ),
    linear-gradient(160deg,#0b2644,#13315c);
  color: #fff;
  padding: 55px 0 78px;
}

.rr-blog .rr-blog-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  color: #b4c9e0;
  font-size: 14px;
  margin-bottom: 37px;
}

.rr-blog .rr-blog-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.rr-blog .rr-blog-breadcrumbs a:hover {
  color: #fff;
}

.rr-blog .rr-blog-kicker {
  color: #5eead4;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: 15px;
}

.rr-blog .rr-blog-hero h1,
.rr-blog .rr-blog-article-hero h1 {
  color: #fff;
  font-size: clamp(34px,4.2vw,54px);
  max-width: 820px;
  margin: 0 0 20px;
}

.rr-blog .rr-blog-hero-text {
  color: #d0ddec;
  font-size: 18px;
  max-width: 730px;
}

.rr-blog .rr-blog-hero-text p {
  color: inherit;
}

.rr-blog .rr-blog-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.rr-blog .rr-blog-topics a {
  display: inline-block;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.09);
  border-radius: 99px;
  padding: 8px 15px;
  color: #eaf3ff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
}

.rr-blog .rr-blog-topics a:hover {
  background: rgba(255,255,255,.2);
}

/* Sections */

.rr-blog .rr-blog-section {
  padding: 76px 0;
}

.rr-blog .rr-blog-soft {
  background: var(--rb-soft);
}

.rr-blog .rr-blog-list-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 28px;
}

.rr-blog .rr-blog-list-heading h2 {
  margin: 0;
  font-size: clamp(28px,3vw,36px);
}

.rr-blog .rr-blog-list-heading span {
  color: var(--rb-muted);
  font-size: 14px;
}

/* Dynamic post cards */

.rr-blog .rr-blog-post-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
}

.rr-blog .rr-blog-post-card {
  border: 1px solid var(--rb-line);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition: box-shadow .2s, transform .2s;
}

.rr-blog .rr-blog-post-card:hover {
  box-shadow: 0 12px 30px rgba(11,38,68,.08);
  transform: translateY(-3px);
}

.rr-blog .rr-blog-post-image {
  aspect-ratio: 16/9;
  display: grid;
  place-items: center;
  position: relative;
  background:
    radial-gradient(
      circle at 80% 20%,
      rgba(18,184,134,.3),
      transparent 50%
    ),
    linear-gradient(160deg,#0b2644,#13315c);
  overflow: hidden;
  text-decoration: none;
}

.rr-blog .rr-blog-post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rr-blog .rr-blog-placeholder-symbol {
  font-size: 60px;
  color: #5eead4;
  line-height: 1;
}

.rr-blog .rr-blog-post-label {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 5px 12px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 30px;
  background: rgba(11,38,68,.75);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.rr-blog .rr-blog-post-info {
  padding: 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.rr-blog .rr-blog-post-info time {
  font-size: 13px;
  color: #8391a5;
}

.rr-blog .rr-blog-post-info h3 {
  font-size: 21px;
  margin: 10px 0 12px;
}

.rr-blog .rr-blog-post-info h3 a {
  color: var(--rb-navy);
  text-decoration: none;
}

.rr-blog .rr-blog-post-info h3 a:hover {
  color: #0c8f68;
}

.rr-blog .rr-blog-post-info p {
  color: var(--rb-muted);
  font-size: 15px;
  margin: 0 0 18px;
  flex: 1;
}

.rr-blog .rr-blog-text-link,
.rr-blog .rr-blog-service-card > a,
.rr-blog .rr-blog-back {
  color: #0c8f68;
  font-weight: 750;
  text-decoration: none;
}

/* Pagination */

.rr-blog .rr-blog-pagination {
  margin-top: 35px;
}

.rr-blog .rr-blog-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.rr-blog .rr-blog-pagination .page-numbers {
  display: inline-flex;
  padding: 9px 15px;
  border: 1px solid var(--rb-line);
  border-radius: 10px;
  text-decoration: none;
  color: var(--rb-navy);
}

.rr-blog .rr-blog-pagination .current {
  background: var(--rb-green);
  border-color: var(--rb-green);
  color: #fff;
}

/* Topic and related cards */

.rr-blog .rr-blog-section-intro {
  max-width: 740px;
  margin: 0 auto 38px;
  text-align: center;
}

.rr-blog .rr-blog-section-intro h2 {
  font-size: clamp(27px,3vw,36px);
  margin-bottom: 13px;
}

.rr-blog .rr-blog-section-intro p:last-child {
  color: var(--rb-muted);
}

.rr-blog .rr-blog-service-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 20px;
}

.rr-blog .rr-blog-service-card {
  border: 1px solid var(--rb-line);
  background: #fff;
  border-radius: 16px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.rr-blog .rr-blog-service-card h3 {
  font-size: 19px;
  margin: 0 0 10px;
}

.rr-blog .rr-blog-service-card h3 a {
  color: var(--rb-navy);
  text-decoration: none;
}

.rr-blog .rr-blog-service-card p {
  color: var(--rb-muted);
  font-size: 15px;
  flex: 1;
}

.rr-blog .rr-blog-service-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #e6f8f2;
  color: #0c8f68;
  display: grid;
  place-items: center;
  margin-bottom: 17px;
  font-size: 23px;
}

/* Closing CTA */

.rr-blog .rr-blog-final-cta {
  background:
    radial-gradient(
      700px 300px at 90% 110%,
      rgba(18,184,134,.25),
      transparent 60%
    ),
    #0b2644;
  padding: 65px 30px;
  border-radius: 25px;
  text-align: center;
  color: #fff;
}

.rr-blog .rr-blog-final-cta h2 {
  color: #fff;
  max-width: 720px;
  margin: 0 auto 15px;
  font-size: clamp(28px,3vw,38px);
}

.rr-blog .rr-blog-final-cta p {
  color: #c9d6ea;
  max-width: 650px;
  margin: 0 auto 26px;
}

.rr-blog .rr-blog-final-cta .rr-btn {
  color: #fff !important;
  width: auto;
  height: auto;
  min-height: 0;
  padding: 15px 25px;
}

/* ==========================================
   INDIVIDUAL BLOG ARTICLE
   ========================================== */

.rr-blog .rr-blog-article-hero {
  padding: 45px 0 64px;
}

.rr-blog .rr-blog-article-category {
  display: inline-block;
  border: 1px solid rgba(255,255,255,.23);
  background: rgba(255,255,255,.1);
  color: #e6fff6;
  border-radius: 99px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 18px;
}

.rr-blog .rr-blog-article-hero h1 {
  max-width: 900px;
}

.rr-blog .rr-blog-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  color: #b9c9e0;
  font-size: 14px;
  font-weight: 600;
  margin: 25px 0 0;
}

.rr-blog .rr-blog-article-summary {
  font-size: 18px;
  max-width: 760px;
  color: #d4e0f1;
  margin: 24px 0 0;
}

.rr-blog .rr-blog-reading-progress {
  height: 3px;
  width: 0;
  position: fixed;
  top: 0;
  left: 0;
  background: var(--rb-green);
  z-index: 1400;
  pointer-events: none;
}

/* Article layout */

.rr-blog .rr-blog-article-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 310px;
  gap: 55px;
  align-items: start;
  padding-top: 58px;
  padding-bottom: 35px;
}

.rr-blog .rr-blog-article {
  min-width: 0;
  max-width: 780px;
}

.rr-blog .rr-blog-editor-content {
  overflow-wrap: anywhere;
  color: #3d4d63;
}

.rr-blog .rr-blog-editor-content h2 {
  font-size: clamp(26px,2.7vw,34px);
  margin: 48px 0 17px;
  scroll-margin-top: 115px;
  color: var(--rb-navy);
}

.rr-blog .rr-blog-editor-content h2:first-child {
  margin-top: 0;
}

.rr-blog .rr-blog-editor-content h3 {
  font-size: 22px;
  margin: 32px 0 12px;
  color: var(--rb-navy);
}

.rr-blog .rr-blog-editor-content p,
.rr-blog .rr-blog-editor-content li {
  font-size: 17px;
  line-height: 1.85;
}

.rr-blog .rr-blog-editor-content p {
  margin-bottom: 20px;
}

.rr-blog .rr-blog-editor-content ul,
.rr-blog .rr-blog-editor-content ol {
  margin: 0 0 22px 23px;
}

.rr-blog .rr-blog-editor-content li {
  padding-left: 5px;
  margin-bottom: 8px;
}

.rr-blog .rr-blog-editor-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.rr-blog .rr-blog-editor-content a {
  color: #0c8f68;
  font-weight: 700;
}

.rr-blog .rr-blog-editor-content blockquote {
  border-left: 4px solid var(--rb-green);
  background: var(--rb-soft);
  padding: 20px 25px;
  margin: 24px 0;
  border-radius: 0 14px 14px 0;
}

.rr-blog .rr-blog-editor-content blockquote p:last-child {
  margin-bottom: 0;
}

/* Optional key takeaways */

.rr-blog .rr-blog-editor-content .rr-blog-takeaways {
  padding: 28px;
  border: 1px solid #b8ecd9;
  background: #e6f8f2;
  border-radius: 16px;
  margin-bottom: 35px;
}

.rr-blog .rr-blog-editor-content .rr-blog-takeaways h2 {
  font-size: 20px;
  margin: 0 0 14px;
  scroll-margin-top: 0;
}

.rr-blog .rr-blog-editor-content .rr-blog-takeaways ul {
  margin-bottom: 0;
}

.rr-blog .rr-blog-editor-content .rr-blog-takeaways li {
  font-size: 16px;
}

/* Sticky table of contents */

.rr-blog .rr-blog-sidebar {
  position: sticky;
  top: 110px;
}

.rr-blog .rr-blog-toc {
  background: #fff;
  border: 1px solid var(--rb-line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(11,38,68,.08);
}

.rr-blog .rr-blog-toc summary {
  cursor: pointer;
  list-style: none;
  padding: 19px 22px;
  color: var(--rb-navy);
  font-size: 17px;
  font-weight: 800;
}

.rr-blog .rr-blog-toc summary::-webkit-details-marker {
  display: none;
}

.rr-blog .rr-blog-toc summary::after {
  content: '+';
  float: right;
  color: var(--rb-green);
}

.rr-blog .rr-blog-toc[open] summary::after {
  content: '−';
}

.rr-blog .rr-blog-toc ol {
  list-style: none;
  padding: 0 12px 14px;
  margin: 0;
  max-height: 48vh;
  overflow: auto;
  counter-reset: toc;
}

.rr-blog .rr-blog-toc li {
  counter-increment: toc;
}

.rr-blog .rr-blog-toc li a {
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.35;
  color: var(--rb-muted);
  text-decoration: none;
  border-left: 3px solid transparent;
  border-radius: 6px;
}

.rr-blog .rr-blog-toc li a::before {
  content: counter(toc);
  color: #94a1b5;
  font-weight: 800;
  min-width: 15px;
}

.rr-blog .rr-blog-toc li a:hover,
.rr-blog .rr-blog-toc li a.rr-blog-active {
  color: #0c8f68;
  background: #e6f8f2;
  border-left-color: var(--rb-green);
}

/* Sidebar CTA */

.rr-blog .rr-blog-sidebar-cta {
  background: #0b2644;
  border-radius: 17px;
  padding: 24px;
  color: #fff;
  margin-top: 16px;
}

.rr-blog .rr-blog-sidebar-cta strong {
  display: block;
  font-size: 18px;
  line-height: 1.3;
}

.rr-blog .rr-blog-sidebar-cta p {
  color: #c9d6ea;
  font-size: 14px;
  margin: 11px 0 17px;
}

.rr-blog .rr-blog-sidebar-cta .rr-btn {
  width: 100%;
  font-size: 14px;
  padding: 12px;
  color: #fff !important;
}

/* Author and related articles */

.rr-blog .rr-blog-author {
  background: var(--rb-soft);
  border-radius: 18px;
  padding: 26px;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 50px;
}

.rr-blog .rr-blog-author-mark {
  background: #0b2644;
  color: #5eead4;
  border-radius: 13px;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  font-size: 30px;
  flex: none;
}

.rr-blog .rr-blog-author small {
  font-size: 12px;
  color: #0c8f68;
  font-weight: 800;
  letter-spacing: .08em;
}

.rr-blog .rr-blog-author h3 {
  font-size: 19px;
  margin: 5px 0;
}

.rr-blog .rr-blog-author p {
  color: var(--rb-muted);
  font-size: 14px;
  margin: 0;
}

.rr-blog .rr-blog-back {
  display: inline-block;
  margin-top: 28px;
}

.rr-blog .rr-blog-related-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 28px;
}

/* Responsive */

@media (max-width: 1000px) {
  .rr-blog .rr-blog-article-layout {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .rr-blog .rr-blog-sidebar {
    position: static;
    grid-row: 1;
  }

  .rr-blog .rr-blog-sidebar-cta {
    display: none;
  }

  .rr-blog .rr-blog-service-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 700px) {
  .rr-blog .rr-blog-wrap {
    width: min(100% - 34px,1180px);
  }

  .rr-blog .rr-blog-section {
    padding: 54px 0;
  }

  .rr-blog .rr-blog-hero,
  .rr-blog .rr-blog-article-hero {
    padding: 40px 0 55px;
  }

  .rr-blog .rr-blog-post-grid,
  .rr-blog .rr-blog-service-grid,
  .rr-blog .rr-blog-related-grid {
    grid-template-columns: 1fr;
  }

  .rr-blog .rr-blog-final-cta {
    padding: 40px 24px;
  }

  .rr-blog .rr-blog-list-heading {
    align-items: start;
    flex-direction: column;
  }

  .rr-blog .rr-blog-article-layout {
    padding-top: 35px;
  }

  .rr-blog .rr-blog-author {
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rr-blog .rr-blog-post-card {
    transition: none;
  }
}

/* ReinigungsRank Kontakt page redesign */

#rr-contact-hero {
  background:
    radial-gradient(800px 360px at 85% 0%,
      rgba(18,184,134,.2), transparent 65%),
    linear-gradient(155deg,#0b2644,#13315c);
  border: 0;
  color: #fff;
  padding: 56px 0 155px;
}

#rr-contact-hero .rr-kicker {
  color: #5eead4;
}

#rr-contact-hero h1 {
  color: #fff;
  font-size: clamp(35px,4.2vw,54px);
  line-height: 1.13;
  max-width: 780px;
}

#rr-contact-hero .rr-lead {
  color: #d0deef;
  max-width: 690px;
  line-height: 1.75;
}

#rr-contact-hero .rr-detail-crumbs,
#rr-contact-hero .rr-detail-crumbs a {
  color: #b8cce4;
}

/* Overlapping content and form */

#rr-contact-content {
  position: relative;
  z-index: 1;
  margin-top: -92px;
  padding: 0 0 70px;
  background: transparent;
}

#rr-contact-content .rr-contact-grid {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  gap: 42px;
  align-items: start;
}

#rr-contact-content .rr-contact-info {
  min-width: 0;
  padding-top: 112px;
}

#rr-contact-content .rr-contact-info h2 {
  font-size: clamp(25px,2.3vw,32px);
  margin-bottom: 14px;
}

#rr-contact-content .rr-contact-info > p {
  color: #5b6b82;
}

#rr-contact-content .rr-contact-card {
  position: relative;
  top: auto;
  min-width: 0;
  background: #fff;
  padding: 34px;
  box-shadow: 0 24px 55px rgba(11,38,68,.16);
}

#rr-contact-content .rr-contact-card h2 {
  font-size: clamp(23px,2vw,28px);
  margin: 0 0 12px;
}

#rr-contact-content .rr-contact-card > p {
  font-size: 15px;
  line-height: 1.7;
  color: #5b6b82;
  margin-bottom: 24px;
}

/* Information cards */

#rr-contact-content .rr-contact-points li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

#rr-contact-content .rr-contact-icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  background: #e6f8f2;
  border-radius: 11px;
  color: #0c8f68;
  font-size: 23px;
  line-height: 1;
}

#rr-contact-content .rr-contact-copy {
  min-width: 0;
}

#rr-contact-content .rr-contact-copy span {
  display: block;
  font-size: 14px;
  line-height: 1.6;
}

/* Numbered timeline */

#rr-contact-content .rr-contact-next li {
  position: relative;
}

#rr-contact-content .rr-contact-next li:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 41px;
  left: 19px;
  bottom: -17px;
  width: 2px;
  background: #e3e9f1;
}

/* Audit note and form */

#rr-contact-content .rr-contact-note {
  padding: 16px 18px;
  border-left: 4px solid #12b886;
  background: #f4f7fb;
  border-radius: 0 9px 9px 0;
  font-size: 14px;
  line-height: 1.65;
}

#rr-contact-content .rr-contact-note a {
  color: #0c8f68;
  font-weight: 700;
}

#rr-contact-content .rr-form button[type="submit"] {
  width: 100%;
}

/* Direct contact */

#rr-contact-footer {
  padding: 0 0 85px;
}

#rr-contact-footer .rr-contact-direct {
  align-items: center;
}

#rr-contact-footer .rr-contact-direct address {
  font-style: normal;
  line-height: 1.8;
}

#rr-contact-footer .rr-contact-direct a {
  font-weight: 700;
}

/* Tablet */

@media (max-width: 900px) {
  #rr-contact-hero {
    padding-bottom: 145px;
  }

  #rr-contact-content {
    margin-top: -80px;
  }

  #rr-contact-content .rr-contact-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  #rr-contact-content .rr-contact-info {
    padding-top: 0;
  }

  #rr-contact-content .rr-contact-card {
    order: -1;
  }

  #rr-contact-footer .rr-contact-direct {
    grid-template-columns: 1fr;
  }
}

/* Mobile */

@media (max-width: 620px) {
  #rr-contact-hero {
    padding: 40px 0 128px;
  }

  #rr-contact-hero h1 {
    font-size: clamp(33px,9vw,42px);
  }

  #rr-contact-content .rr-contact-card {
    padding: 24px;
  }

  #rr-contact-content .rr-form-grid {
    grid-template-columns: 1fr;
  }

  #rr-contact-footer .rr-contact-direct {
    padding: 28px 24px;
  }

  #rr-contact-footer {
    padding-bottom: 55px;
  }
}

		
/* Consistent hero buttons on all service pages */

@media (min-width: 768px) {
  .rr-svc-page.rr-svc-hero .rr-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
  }

  .rr-svc-page.rr-svc-hero .rr-actions > .rr-btn {
    display: inline-flex;
    width: auto !important;
    flex: 0 0 auto;
    min-height: 0;
    margin: 0;
    padding: 14px 20px;
    white-space: normal;
  }
}

/* Mobile: buttons stack for better usability */
@media (max-width: 767px) {
  .rr-svc-page.rr-svc-hero .rr-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .rr-svc-page.rr-svc-hero .rr-actions > .rr-btn {
    width: 100% !important;
  }
}

/* Homepage hero heading size only */

body.home .rr-hero h1 {
  font-size: clamp(32px, 3.2vw, 46px);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

		

/* Reduce homepage hero top spacing only */

body.home .rr-hero {
  padding-top: 42px;
}

@media (max-width: 767px) {
  body.home .rr-hero {
    padding-top: 28px;
  }
}



/* ==========================================
   ReinigungsRank - Blog Table Design
   ========================================== */

body.single-post table {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dce5ef !important;
    border-radius: 14px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 28px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 5px 20px rgba(10, 35, 65, 0.05);
}

body.single-post table tbody {
    display: table !important;
    width: 100% !important;
    min-width: 700px;
    border-collapse: collapse;
    table-layout: auto;
}

/* Table headers */
body.single-post table th,
body.single-post table tr:first-child th {
    background: #0d2847 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: left !important;
    padding: 16px 18px !important;
    border: none !important;
    line-height: 1.5 !important;
}

/* Table cells */
body.single-post table td {
    padding: 16px 18px !important;
    color: #17365c !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    text-align: left !important;
    vertical-align: middle !important;
    border: none !important;
    border-bottom: 1px solid #dce5ef !important;
    background: #ffffff;
}

/* First column */
body.single-post table th:first-child,
body.single-post table td:first-child {
    width: 26% !important;
    min-width: 180px !important;
    font-weight: 700 !important;
    color: #082746;
}

/* Alternating rows */
body.single-post table tr:nth-child(odd) td {
    background: #ffffff !important;
}

body.single-post table tr:nth-child(even) td {
    background: #f2f5fa !important;
}

/* Subtle hover */
body.single-post table tr:hover td {
    background: #eaf1f9 !important;
}

/* Last row */
body.single-post table tr:last-child td {
    border-bottom: none !important;
}

/* Prevent awkward word breaking */
body.single-post table th,
body.single-post table td {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    white-space: normal !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.single-post table {
        margin: 20px 0 !important;
    }

    body.single-post table tbody {
        min-width: 700px;
    }

    body.single-post table th,
    body.single-post table td {
        padding: 13px 15px !important;
        font-size: 14px !important;
    }
}


/* Google Ads article, scoped components */

.rr-blog .rr-ads-visual {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 30px;
  align-items: center;
  min-height: 290px;
  padding: 28px;
  margin: 0 0 32px;
  border-radius: 18px;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 88% 25%,rgba(18,184,134,.26),transparent 48%),linear-gradient(145deg,#0b2644,#13315c);
}

.rr-blog .rr-ads-searchbar {
  display: block;
  padding: 11px 15px;
  margin-bottom: 14px;
  border-radius: 50px;
  background: #f5f8fb;
  color: #263e57;
  font-size: 13px;
}

.rr-blog .rr-ads-search-result {
  display: grid;
  gap: 7px;
  padding: 20px;
  background: #fff;
  color: #0b2644;
  border-radius: 13px;
}

.rr-blog .rr-ads-search-result small {
  color: #0c8f68;
  font-size: 11px;
}

.rr-blog .rr-ads-search-result strong {
  font-size: 17px;
  line-height: 1.3;
}

.rr-blog .rr-ads-search-result > span {
  color: #5b6b82;
  font-size: 12px;
}

.rr-blog .rr-ads-search-lines {
  height: 25px;
  width: 80%;
  margin-top: 12px;
  border-top: 6px solid #edf1f5;
  border-bottom: 6px solid #edf1f5;
}

.rr-blog .rr-ads-visual-target {
  display: grid;
  justify-items: center;
  gap: 14px;
}

.rr-blog .rr-ads-target-label {
  background: #12b886;
  border-radius: 30px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
}

.rr-blog .rr-ads-target-rings {
  position: relative;
  display: grid;
  place-items: center;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(94,234,212,.4);
  border-radius: 50%;
}

.rr-blog .rr-ads-target-rings i {
  position: absolute;
  inset: 20px;
  border: 1px solid rgba(94,234,212,.45);
  border-radius: 50%;
}

.rr-blog .rr-ads-target-rings i:nth-child(2) {
  inset: 45px;
}

.rr-blog .rr-ads-target-rings i:nth-child(3) {
  inset: 65px;
  background: rgba(18,184,134,.4);
}

.rr-blog .rr-ads-target-rings b {
  width: 12px;
  height: 12px;
  background: #5eead4;
  border-radius: 50%;
  z-index: 1;
}

.rr-blog .rr-ads-mini-bars {
  display: flex;
  align-items: end;
  gap: 8px;
  width: 160px;
  height: 38px;
}

.rr-blog .rr-ads-mini-bars i {
  flex: 1;
  background: #12b886;
  border-radius: 4px 4px 0 0;
}

.rr-blog .rr-ads-mini-bars i:nth-child(1) {height:25%}
.rr-blog .rr-ads-mini-bars i:nth-child(2) {height:44%}
.rr-blog .rr-ads-mini-bars i:nth-child(3) {height:37%}
.rr-blog .rr-ads-mini-bars i:nth-child(4) {height:66%}
.rr-blog .rr-ads-mini-bars i:nth-child(5) {height:90%}

/* Key takeaways use existing theme styling */

.rr-blog .rr-ads-takeaways ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.rr-blog .rr-ads-takeaways li {
  position: relative;
  padding-left: 26px;
  margin: 0;
  font-size: 16px;
}

.rr-blog .rr-ads-takeaways li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #0c8f68;
  font-weight: 800;
}

/* Article lists */

.rr-blog .rr-ads-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: grid;
  gap: 10px;
}

.rr-blog .rr-ads-list li {
  position: relative;
  padding-left: 21px;
  margin: 0;
}

.rr-blog .rr-ads-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .75em;
  width: 7px;
  height: 7px;
  background: #12b886;
  border-radius: 50%;
}

.rr-blog .rr-ads-cols {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px 22px;
}

/* Calculations */

.rr-blog .rr-ads-formula {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 12px;
  background: #0b2644;
  border-radius: 14px;
  padding: 20px 24px;
  margin: 20px 0 25px;
}

.rr-blog .rr-ads-formula-label {
  flex: 0 0 100%;
  color: #5eead4;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
}

.rr-blog .rr-ads-formula-equation {
  color: #d0deed;
  font-size: 16px;
}

.rr-blog .rr-ads-formula-result {
  color: #fff;
  font-weight: 800;
  font-size: 22px;
}

/* Notes and CTA */

.rr-blog .rr-ads-callout {
  padding: 20px 24px;
  margin: 24px 0;
  background: #f4f7fb;
  border-left: 4px solid #12b886;
  border-radius: 0 12px 12px 0;
}

.rr-blog .rr-ads-callout strong {
  color: #0b2644;
}

.rr-blog .rr-ads-callout p {
  margin: 6px 0 0;
  font-size: 15px;
}

.rr-blog .rr-ads-inline-cta {
  padding: 28px;
  margin: 34px 0;
  background: #0b2644;
  border-radius: 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.rr-blog .rr-ads-inline-cta h3 {
  color: #fff;
  margin: 0 0 8px;
}

.rr-blog .rr-ads-inline-cta p {
  color: #d0deed;
  margin: 0;
  font-size: 15px;
}

.rr-blog .rr-ads-inline-cta .rr-btn {
  width: auto;
  color: #fff !important;
}

/* Numbered steps and negative keywords */

.rr-blog .rr-ads-step {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}

.rr-blog .rr-ads-step-label {
  font-size: 12px;
  font-weight: 800;
  color: #0c8f68;
  background: #e6f8f2;
  border-radius: 30px;
  padding: 7px 12px;
  text-transform: uppercase;
}

.rr-blog .rr-ads-chips {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0 0 20px;
}

.rr-blog .rr-ads-chips li {
  padding: 7px 13px;
  margin: 0;
  border: 1px solid #ffd9c7;
  background: #fff7f3;
  color: #9a3d12;
  border-radius: 99px;
  font-size: 14px;
  font-weight: 700;
}

/* KPI cards */

.rr-blog .rr-ads-kpis {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin: 10px 0 28px;
}

.rr-blog .rr-ads-kpis > div {
  padding: 17px;
  border: 1px solid #e3e9f1;
  border-left: 3px solid #12b886;
  border-radius: 12px;
}

.rr-blog .rr-ads-kpis dt {
  color: #0b2644;
  font-weight: 750;
}

.rr-blog .rr-ads-kpis dd {
  margin: 5px 0 0;
  color: #5b6b82;
  font-size: 14px;
}

/* FAQ accordion */

.rr-blog .rr-ads-faq {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
}

.rr-blog .rr-ads-faq details {
  border: 1px solid #e3e9f1;
  border-radius: 12px;
  padding: 0;
  background: #fff;
}

.rr-blog .rr-ads-faq summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 17px 20px;
  font-weight: 700;
  color: #0b2644;
  cursor: pointer;
  list-style: none;
}

.rr-blog .rr-ads-faq summary::-webkit-details-marker {
  display: none;
}

.rr-blog .rr-ads-faq summary::after {
  content: "+";
  color: #0c8f68;
  font-size: 22px;
}

.rr-blog .rr-ads-faq details[open] summary::after {
  content: "−";
}

.rr-blog .rr-ads-faq p {
  padding: 0 20px 20px;
  margin: 0;
  font-size: 15px;
}

@media (max-width:700px) {
  .rr-blog .rr-ads-visual {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .rr-blog .rr-ads-visual-target {
    display: none;
  }

  .rr-blog .rr-ads-cols,
  .rr-blog .rr-ads-kpis {
    grid-template-columns: 1fr;
  }

  .rr-blog .rr-ads-inline-cta .rr-btn {
    width: 100%;
  }
}


/* Google Ads long-form article components */
/* Works inside the existing single.php template */

.rr-blog .rr-ads-post {
  --ads-navy: #0b2644;
  --ads-green: #12b886;
  --ads-muted: #5b6b82;
  --ads-line: #e3e9f1;
}

/* Featured article illustration */

.rr-blog .rr-ads-visual {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  gap: 28px;
  padding: 30px;
  margin: 0 0 36px;
  min-height: 300px;
  border-radius: 18px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 20%,rgba(18,184,134,.28),transparent 52%),
    linear-gradient(145deg,#0b2644,#13315c);
  overflow: hidden;
}

.rr-blog .rr-ads-visual-search {
  min-width: 0;
}

.rr-blog .rr-ads-searchbar {
  display: block;
  padding: 12px 16px;
  margin-bottom: 14px;
  background: #f4f7fb;
  border-radius: 40px;
  color: #263e57;
  font-size: 13px;
}

.rr-blog .rr-ads-search-result {
  display: grid;
  gap: 7px;
  padding: 22px;
  border-radius: 14px;
  background: #fff;
  color: #0b2644;
}

.rr-blog .rr-ads-search-result small {
  color: #0c8f68;
  font-size: 12px;
}

.rr-blog .rr-ads-search-result strong {
  color: #0b2644;
  font-size: 17px;
}

.rr-blog .rr-ads-search-result > span {
  color: #5b6b82;
  font-size: 13px;
}

.rr-blog .rr-ads-search-lines {
  height: 24px;
  width: 85%;
  border-top: 6px solid #e9eef5;
  border-bottom: 6px solid #e9eef5;
  margin-top: 8px;
}

.rr-blog .rr-ads-visual-target {
  display: grid;
  justify-items: center;
  gap: 13px;
}

.rr-blog .rr-ads-target-label {
  background: #12b886;
  border-radius: 30px;
  padding: 7px 13px;
  font-size: 12px;
  font-weight: 800;
}

.rr-blog .rr-ads-target-rings {
  position: relative;
  display: grid;
  place-items: center;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(94,234,212,.4);
  border-radius: 50%;
}

.rr-blog .rr-ads-target-rings i {
  position: absolute;
  inset: 20px;
  border: 1px solid rgba(94,234,212,.5);
  border-radius: 50%;
}

.rr-blog .rr-ads-target-rings i:nth-child(2) {
  inset: 45px;
}

.rr-blog .rr-ads-target-rings i:nth-child(3) {
  inset: 65px;
  background: #12b886;
}

.rr-blog .rr-ads-target-rings b {
  position: relative;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
}

.rr-blog .rr-ads-mini-bars {
  display: flex;
  align-items: end;
  gap: 8px;
  width: 150px;
  height: 38px;
}

.rr-blog .rr-ads-mini-bars i {
  flex: 1;
  background: #12b886;
  border-radius: 4px 4px 0 0;
}

.rr-blog .rr-ads-mini-bars i:nth-child(1) { height: 25%; }
.rr-blog .rr-ads-mini-bars i:nth-child(2) { height: 45%; }
.rr-blog .rr-ads-mini-bars i:nth-child(3) { height: 38%; }
.rr-blog .rr-ads-mini-bars i:nth-child(4) { height: 68%; }
.rr-blog .rr-ads-mini-bars i:nth-child(5) { height: 92%; }

/* Takeaways, reuse existing rr-blog-takeaways box */

.rr-blog .rr-blog-editor-content .rr-ads-takeaways ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.rr-blog .rr-ads-takeaways li {
  position: relative;
  padding-left: 26px !important;
  margin: 0;
}

.rr-blog .rr-ads-takeaways li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #0c8f68;
  font-weight: 800;
}

/* Article lists */

.rr-blog .rr-blog-editor-content ul.rr-ads-list {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.rr-blog .rr-ads-list li {
  position: relative;
  margin: 0;
  padding-left: 22px !important;
}

.rr-blog .rr-ads-list li::before {
  content: "";
  position: absolute;
  top: .75em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #12b886;
}

.rr-blog .rr-blog-editor-content ul.rr-ads-cols {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px 22px;
}

/* Tables already styled in main.css */

.rr-blog .rr-ads-tablewrap {
  max-width: 100%;
  margin: 24px 0 30px;
  overflow-x: auto;
}

/* Financial calculations */

.rr-blog .rr-ads-formula {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  margin: 22px 0 26px;
  padding: 22px 25px;
  background: #0b2644;
  border-radius: 15px;
}

.rr-blog .rr-ads-formula-label {
  flex: 0 0 100%;
  color: #5eead4;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.rr-blog .rr-ads-formula-equation {
  color: #d0deed;
  font-size: 16px;
}

.rr-blog .rr-ads-formula-result {
  color: #fff;
  font-size: 22px;
  font-weight: 800;
}

/* Important notes */

.rr-blog .rr-ads-callout {
  padding: 20px 24px;
  margin: 26px 0;
  background: #f4f7fb;
  border-left: 4px solid #12b886;
  border-radius: 0 13px 13px 0;
}

.rr-blog .rr-ads-callout strong {
  color: #0b2644;
}

.rr-blog .rr-ads-callout p {
  margin: 6px 0 0;
  font-size: 15px;
}

/* Inline article CTA */

.rr-blog .rr-ads-inline-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 30px;
  margin: 35px 0;
  background:
    radial-gradient(circle at 95% 100%,rgba(18,184,134,.2),transparent 60%),
    #0b2644;
  border-radius: 17px;
}

.rr-blog .rr-ads-inline-cta h3 {
  color: #fff;
  margin: 0 0 8px;
}

.rr-blog .rr-ads-inline-cta p {
  color: #d0deed;
  font-size: 15px;
  margin: 0;
}

.rr-blog .rr-ads-inline-cta .rr-btn {
  color: #fff !important;
  width: auto;
}

/* Numbered process steps */

.rr-blog .rr-blog-editor-content h3.rr-ads-step {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 34px 0 14px;
}

.rr-blog .rr-ads-step-label {
  padding: 6px 12px;
  border-radius: 30px;
  background: #e6f8f2;
  color: #0c8f68;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

/* Negative keyword chips */

.rr-blog .rr-blog-editor-content ul.rr-ads-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0 0 22px;
  list-style: none;
}

.rr-blog .rr-ads-chips li {
  padding: 7px 13px;
  margin: 0;
  border: 1px solid #ffd9c7;
  border-radius: 30px;
  background: #fff7f3;
  color: #9a3d12;
  font-size: 14px;
  font-weight: 700;
}

/* KPI cards */

.rr-blog .rr-ads-kpis {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin: 15px 0 28px;
}

.rr-blog .rr-ads-kpis > div {
  padding: 18px;
  border: 1px solid #e3e9f1;
  border-left: 3px solid #12b886;
  border-radius: 12px;
}

.rr-blog .rr-ads-kpis dt {
  color: #0b2644;
  font-weight: 800;
  font-size: 15px;
}

.rr-blog .rr-ads-kpis dd {
  margin: 5px 0 0;
  color: #5b6b82;
  font-size: 14px;
}

/* FAQ accordion */

.rr-blog .rr-ads-faq {
  display: grid;
  gap: 11px;
  margin: 22px 0 0;
}

.rr-blog .rr-ads-faq details {
  border: 1px solid #e3e9f1;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.rr-blog .rr-ads-faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  color: #0b2644;
  font-weight: 750;
}

.rr-blog .rr-ads-faq summary::-webkit-details-marker {
  display: none;
}

.rr-blog .rr-ads-faq summary::after {
  content: "+";
  color: #0c8f68;
  font-size: 22px;
  flex: none;
}

.rr-blog .rr-ads-faq details[open] summary::after {
  content: "−";
}

.rr-blog .rr-ads-faq details p {
  padding: 0 20px 20px;
  margin: 0;
  font-size: 15px;
}

/* Mobile */

@media (max-width: 700px) {
  .rr-blog .rr-ads-visual {
    grid-template-columns: 1fr;
    padding: 20px;
    min-height: 0;
  }

  .rr-blog .rr-ads-visual-target {
    display: none;
  }

  .rr-blog .rr-blog-editor-content ul.rr-ads-cols,
  .rr-blog .rr-ads-kpis {
    grid-template-columns: 1fr;
  }

  .rr-blog .rr-ads-inline-cta {
    padding: 24px;
  }

  .rr-blog .rr-ads-inline-cta .rr-btn {
    width: 100%;
  }
}


