/*
Theme Name: Modern Rubbish Removal
Theme URI: https://example.com/
Author: Custom Theme
Description: A modern, reusable WordPress theme for rubbish removal and local service businesses.
Version: 3.6.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: modern-rubbish-removal
*/
:root {
    --primary:#29AB87;
    --primary-dark:#1d8468;
    --primary-soft:#eaf8f4;
    --ink:#13231f;
    --muted:#5f6f6a;
    --line:#dfe8e5;
    --surface:#fff;
    --surface-alt:#f5f8f7;
    --dark:#10231e;
    --radius:18px;
    --shadow:0 16px 45px rgba(20,48,40,.10);
    --container:1220px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    font-family:Poppins,sans-serif;
    font-size:16px;
    line-height:1.65;
    color:var(--ink);
    background:#fff
}

img {
    max-width:100%;
    height:auto;
    display:block
}

a {
    color:var(--primary-dark);
    text-decoration:none
}

a:hover {
    color:var(--primary)
}

.container {
    width:min(var(--container),calc(100% - 40px));
    margin-inline:auto
}

.site-main {
    overflow:hidden
}

.section {
    padding:88px 0
}

.section-sm {
    padding:60px 0
}

.bg-alt {
    background:var(--surface-alt)
}

.eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 12px;
    border-radius:999px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-size:13px;
    font-weight:600;
    letter-spacing:.03em;
    text-transform:uppercase
}

.section-heading {
    max-width:760px;
    margin-bottom:38px
}

.section-heading.center {
    text-align:center;
    margin-inline:auto;
    margin-bottom:46px
}

.section-heading p {
    font-size:18px;
    color:var(--muted);
    margin:12px 0 0
}

h1,h2,h3,h4 {
    margin:0 0 18px;
    line-height:1.15;
    letter-spacing:-.03em;
    color:var(--ink)
}

h1 {
    font-size:clamp(44px,5vw,48px);
    font-weight:700
}

h2 {
    font-size:clamp(30px,4vw,34px);
    font-weight:600
}

h3 {
    font-size:clamp(26px,3vw,32px);
    font-weight:500
}

h4 {
    font-size:clamp(21px,2.3vw,24px);
    font-weight:600
}

p {
    margin:0 0 20px
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:50px;
    padding:13px 24px;
    border-radius:999px;
    border:2px solid transparent;
    background:var(--primary);
    color:#fff;
    font:600 16px/1 Poppins,sans-serif;
    transition:.2s ease;
    box-shadow:0 8px 24px rgba(41,171,135,.22)
}

.btn:hover {
    background:var(--primary-dark);
    color:#fff;
    transform:translateY(-1px)
}

.btn-outline {
    background:#fff;
    color:var(--ink);
    border-color:var(--line);
    box-shadow:none
}

.btn-outline:hover {
    border-color:var(--primary);
    background:var(--primary-soft);
    color:var(--primary-dark)
}

/* ==========================================================
   HEADER CSS — TOP BAR, LOGO, MENU AND HEADER BUTTONS
========================================================== */

.topbar {
    background:var(--dark);
    color:#dceae6;
    font-size:13px
}

.topbar-inner {
    min-height:38px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px
}

.topbar span {
    display:flex;
    align-items:center;
    gap:8px
}

.site-header {
    position:relative;
    z-index:50;
    background:#fff;
    border-bottom:1px solid var(--line)
}

.header-inner {
    min-height:82px;
    display:grid;
    grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);
    align-items:center;
    gap:28px
}

.site-branding {
    display:flex;
    align-items:center;
    gap:12px
}

.brand-mark {
    width:42px;
    height:42px;
    border-radius:13px;
    background:var(--primary-soft);
    display:grid;
    place-items:center;
    color:var(--primary);
    font-size:22px
}

.site-title {
    font-size:20px;
    font-weight:700;
    color:var(--ink);
    line-height:1.2
}

.site-tagline {
    font-size:12px;
    color:var(--muted);
    margin:2px 0 0
}

.custom-logo {
    max-height:54px;
    width:auto
}

.primary-nav ul {
    display:flex;
    align-items:center;
    gap:8px;
    list-style:none;
    padding:0;
    margin:0
}

.primary-nav a {
    display:block;
    padding:11px 13px;
    color:var(--ink);
    font-size:16px;
    font-weight:500;
    border-radius:10px
}

.primary-nav a:hover,.primary-nav .current-menu-item>a {
    background:var(--primary-soft);
    color:var(--primary-dark)
}

.header-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:15px
}

.header-phone {
    font-weight:600;
    color:var(--ink);
    white-space:nowrap
}

.menu-toggle {
    display:none;
    border:0;
    background:var(--primary-soft);
    width:44px;
    height:44px;
    border-radius:11px;
    font-size:21px;
    color:var(--ink)
}

.hero {
    padding:80px 0 88px;
    background:linear-gradient(120deg,#f8fbfa 0%,#edf8f4 100%)
}

.hero-grid {
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:64px;
    align-items:center
}

.hero-copy>p {
    font-size:18px;
    color:var(--muted);
    max-width:650px
}

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    margin:30px 0
}

.trust-row {
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    color:var(--muted);
    font-size:14px
}

.trust-row span {
    display:flex;
    gap:7px;
    align-items:center
}

.hero-image-wrap {
    position:relative
}

.hero-image {
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:28px;
    box-shadow:var(--shadow)
}

.hero-badge {
    position:absolute;
    left:-26px;
    bottom:28px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px 20px;
    box-shadow:var(--shadow);
    font-weight:600
}

.hero-badge strong {
    display:block;
    font-size:25px;
    color:var(--primary-dark)
}

.cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px
}

.card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
    box-shadow:0 8px 28px rgba(20,48,40,.05)
}

.card:hover {
    box-shadow:var(--shadow);
    transform:translateY(-3px);
    transition:.2s
}

.card-icon {
    width:52px;
    height:52px;
    border-radius:15px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    display:grid;
    place-items:center;
    font-size:22px;
    margin-bottom:22px
}

.card p {
    color:var(--muted)
}

.text-link {
    font-weight:600
}

.split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center
}

.split-image {
    border-radius:24px;
    box-shadow:var(--shadow);
    aspect-ratio:4/3;
    object-fit:cover
}

.single-featured-image {
    display:block;
    width:100%;
    height:auto;
    max-height:620px;
    margin:0 0 34px;
    border-radius:24px;
    object-fit:cover;
    box-shadow:var(--shadow)
}

.check-list {
    list-style:none;
    padding:0;
    margin:25px 0
}

.check-list li {
    position:relative;
    padding:8px 0 8px 31px
}

.check-list li:before {
    content:'✓';
    position:absolute;
    left:0;
    top:7px;
    color:var(--primary);
    font-weight:700
}

.steps {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    counter-reset:step
}

.step {
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px 24px
}

.step:before {
    counter-increment:step;
    content:counter(step);
    width:38px;
    height:38px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--primary);
    color:#fff;
    font-weight:700;
    margin-bottom:20px
}

.testimonial {
    padding:30px;
    border-radius:var(--radius);
    background:#fff;
    border:1px solid var(--line)
}

.stars {
    color:#e6a420;
    letter-spacing:2px;
    margin-bottom:15px
}

.cta {
    background:var(--dark);
    color:#fff;
    border-radius:28px;
    padding:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px
}

.cta h2,.cta p {
    color:#fff
}

.cta p {
    color:#cbdcd6;
    margin-bottom:0
}

.page-hero {
    padding:70px 0;
    background:linear-gradient(120deg,#f7fbfa,#eaf8f4)
}

.page-hero p {
    font-size:18px;
    color:var(--muted);
    max-width:740px
}

.content-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:45px
}

.prose {
    max-width:850px
}

.prose h2,.prose h3,.prose h4 {
    margin-top:38px
}

.prose ul {
    padding-left:22px
}

.contact-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:40px
}

.contact-card {
    padding:30px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius)
}

.field-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}

.contact-card input,.contact-card textarea,.contact-card select {
    width:100%;
    padding:14px 15px;
    border:1px solid var(--line);
    border-radius:11px;
    font:400 16px Poppins,sans-serif;
    background:#fff
}

.contact-card textarea {
    min-height:150px
}

.blog-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px
}

.post-card {
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    background:#fff
}

.post-card img {
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover
}

.post-card-body {
    padding:24px
}

.post-meta {
    font-size:13px;
    color:var(--muted);
    margin-bottom:10px
}

.pagination {
    margin-top:35px
}

.sidebar-widget {
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:24px;
    margin-bottom:22px
}

.sidebar-widget ul {
    list-style:none;
    padding:0;
    margin:0
}

.sidebar-widget li {
    padding:8px 0;
    border-bottom:1px solid var(--line)
}

/* ==========================================================
   FOOTER CSS — FOOTER COLUMNS, LINKS AND BOTTOM BAR
========================================================== */

.site-footer {
    background:var(--dark);
    color:#c9d8d3;
    margin-top:0
}

.footer-main {
    padding:65px 0 48px
}

.footer-grid {
    display:grid;
    grid-template-columns:1.35fr .8fr 1fr 1fr;
    gap:45px
}

.site-footer h3,.site-footer h4 {
    color:#fff
}

.site-footer p,.site-footer a {
    color:#c9d8d3
}

.site-footer a:hover {
    color:#fff
}

.footer-menu {
    list-style:none;
    padding:0;
    margin:0
}

.footer-menu li {
    margin:9px 0
}

.footer-bottom {
    border-top:1px solid rgba(255,255,255,.12);
    padding:20px 0;
    font-size:14px
}

.footer-bottom-inner {
    display:flex;
    justify-content:space-between;
    gap:20px
}

.floating-contact {
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:40;
    width:56px;
    height:56px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#25d366;
    color:#fff;
    font-size:25px;
    box-shadow:0 10px 30px rgba(0,0,0,.18)
}

@media(max-width:1050px) {
    .header-inner {
        grid-template-columns:1fr auto
    }
    .primary-nav {
        grid-column:1/-1;
        display:none;
        border-top:1px solid var(--line);
        padding:10px 0 16px
    }
    .primary-nav.is-open {
        display:block
    }
    .primary-nav ul {
        flex-direction:column;
        align-items:stretch
    }
    .header-actions .header-phone {
        display:none
    }
    .menu-toggle {
        display:block
    }
    .hero-grid,.split,.contact-grid {
        grid-template-columns:1fr
    }
    .hero-image-wrap {
        max-width:740px
    }
    .cards,.blog-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .steps {
        grid-template-columns:repeat(2,1fr)
    }
    .footer-grid {
        grid-template-columns:repeat(2,1fr)
    }
}

@media(max-width:700px) {
    .container {
        width:min(100% - 28px,var(--container))
    }
    .topbar {
        display:none
    }
    .header-inner {
        min-height:72px;
        gap:12px
    }
    .header-actions .btn {
        display:none
    }
    .site-title {
        font-size:17px
    }
    .hero {
        padding:58px 0
    }
    .hero-grid {
        gap:38px
    }
    .hero-badge {
        left:12px;
        bottom:12px
    }
    .section {
        padding:64px 0
    }
    .cards,.blog-grid,.steps,.footer-grid {
        grid-template-columns:1fr
    }
    .cta {
        padding:34px 25px;
        display:block
    }
    .cta .btn {
        margin-top:25px
    }
    .field-grid {
        grid-template-columns:1fr
    }
    .content-grid {
        grid-template-columns:1fr
    }
    .footer-bottom-inner {
        display:block
    }
    .trust-row {
        display:grid;
        gap:10px
    }
}

/* Focused mobile-menu, blog-sidebar and post-navigation improvements */
.menu-toggle i {
    line-height:1
}

.menu-toggle.is-active {
    background:var(--primary);
    color:#fff
}

.floating-contact i {
    font-size:28px
}

.recent-posts-list li {
    padding:13px 0
}

.recent-posts-list li:first-child {
    padding-top:0
}

.recent-posts-list li:last-child {
    border-bottom:0;
    padding-bottom:0
}

.recent-posts-list a {
    display:block;
    color:var(--ink);
    font-weight:600;
    line-height:1.45
}

.recent-posts-list a:hover {
    color:var(--primary-dark)
}

.recent-posts-list span {
    display:block;
    color:var(--muted);
    font-size:13px;
    margin-top:4px
}

.single-post-navigation {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    border-top:1px solid var(--line);
    margin-top:48px;
    padding-top:28px
}

.post-navigation-item a {
    display:flex;
    min-height:124px;
    flex-direction:column;
    justify-content:center;
    padding:22px 24px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
    color:var(--ink);
    box-shadow:0 8px 24px rgba(20,48,40,.05)
}

.post-navigation-item a:hover {
    border-color:var(--primary);
    box-shadow:0 12px 30px rgba(20,48,40,.1);
    transform:translateY(-2px)
}

.post-navigation-item span {
    font-size:13px;
    color:var(--primary-dark);
    font-weight:600;
    margin-bottom:7px
}

.post-navigation-item strong {
    font-size:16px;
    line-height:1.45
}

.post-navigation-next {
    text-align:right
}

.post-navigation-next a {
    align-items:flex-end
}

@media(max-width:1050px) {
    .site-header {
        position:relative
    }
    .header-inner {
        position:relative;
        grid-template-columns:minmax(0,1fr) auto;
        gap:14px;
        min-height:74px
    }
    .header-actions {
        grid-column:2;
        grid-row:1
    }
    .primary-nav {
        position:absolute;
        left:0;
        right:0;
        top:100%;
        grid-column:auto;
        display:block;
        visibility:hidden;
        opacity:0;
        transform:translateY(-8px);
        pointer-events:none;
        background:#fff;
        border-top:1px solid var(--line);
        border-bottom:1px solid var(--line);
        padding:12px max(20px,calc((100vw - 1180px)/2));
        box-shadow:0 16px 30px rgba(20,48,40,.12);
        transition:opacity .2s ease,transform .2s ease,visibility .2s ease
    }
    .primary-nav.is-open {
        visibility:visible;
        opacity:1;
        transform:translateY(0);
        pointer-events:auto
    }
    .primary-nav ul {
        gap:2px
    }
    .primary-nav a {
        padding:13px 12px
    }
    .menu-toggle {
        display:grid;
        place-items:center;
        flex:0 0 44px
    }
    .header-actions .btn {
        display:none
    }
    .single-post-navigation {
        grid-template-columns:1fr
    }
    .post-navigation-next {
        text-align:left
    }
    .post-navigation-next a {
        align-items:flex-start
    }
}

@media(max-width:600px) {
    .topbar {
        display:none
    }
    .site-tagline {
        font-size:11px
    }
    .site-title {
        font-size:17px
    }
    .brand-mark {
        width:38px;
        height:38px
    }
    .floating-contact {
        right:16px;
        bottom:16px;
        width:54px;
        height:54px
    }
    .single-post-navigation {
        gap:14px
    }
    .post-navigation-item a {
        min-height:auto;
        padding:19px
    }
}



/* Footer Legal Text */


.footer-legal-links{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.footer-legal-links a{
    color:#ffffff;
    text-decoration:none;
    font-size:14px;
    transition:0.3s;
}

.footer-legal-links a:hover{
    color:var(--primary-color);
}

.footer-legal-links span{
    color:rgba(255,255,255,.5);
}


/*Footer Logo*/
.footer-logo{
    margin-bottom:20px;
}

.footer-logo .custom-logo-link{
    display:inline-block;
}

.footer-logo img{
    max-width:220px;
    width:auto;
    height:auto;
    display:block;
}

/* Footer logo should not inherit the header size */
.site-footer .custom-logo{
    max-height:70px;
    width:auto;
}


/* Index/archive page heading sizes */

.archive .page-hero h1,
.blog .page-hero h1,
.home.blog .page-hero h1 {
    font-size: 38px !important;
    line-height: 1.2;
    font-weight: 700;
}

.archive .post-card h2,
.blog .post-card h2,
.home.blog .post-card h2 {
    font-size: 27px !important;
    line-height: 1.3;
    font-weight: 700;
}

@media (max-width: 767px) {
    .archive .page-hero h1,
    .blog .page-hero h1,
    .home.blog .page-hero h1 {
        font-size: 32px !important;
    }

    .archive .post-card h2,
    .blog .post-card h2,
    .home.blog .post-card h2 {
        font-size: 23px !important;
    }
}


/* Blog and archive heading sizes */

.page-hero h1 {
    font-size: 40px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.blog-grid .post-card h2 {
    margin: 0 0 14px !important;
    font-size: 27px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

@media (max-width: 767px) {
    .page-hero h1 {
        font-size: 32px !important;
    }

    .blog-grid .post-card h2 {
        font-size: 23px !important;
    }
}


/*Table*/
.prose .wp-block-table {
    width: 100%;
    margin: 30px 0;
    overflow-x: auto;
}

.prose .wp-block-table table {
    width: 100%;
    min-width: 600px;
    margin: 0;
    border-collapse: collapse;
    background: #ffffff;
}

.prose .wp-block-table th,
.prose .wp-block-table td {
    padding: 16px 18px;
    border: 1px solid #d7d7d7;
    text-align: left;
    vertical-align: middle;
}

.prose .wp-block-table th {
    background: #1D8468;
    color: #ffffff;
    font-weight: 600;
}

.prose .wp-block-table tbody tr:nth-child(even) td {
    background: #f6faf8;
}

@media (max-width: 767px) {
    .prose .wp-block-table th,
    .prose .wp-block-table td {
        padding: 12px 14px;
        font-size: 14px;
    }
}



/* ==========================================
   RESPONSIVE BLOG TABLES — FINAL FIX
========================================== */

.content-grid,
.content-grid > article,
.prose {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

/* Only this wrapper controls scrolling */
.prose .responsive-table-wrapper {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 30px 0;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
}

/* Prevent the editor wrapper from creating another scroll area */
.prose .pasted-table-wrapper {
    display: block;
    width: auto;
    max-width: none;
    margin: 0;
    overflow: visible !important;
}

/* Table */
.prose .responsive-table-wrapper table {
    display: table;
    width: 100%;
    min-width: 700px;
    max-width: none !important;
    margin: 0;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: auto;
    background: #ffffff;
}

/* Cells */
.prose table th,
.prose table td {
    padding: 16px 18px;
    border: 1px solid #d7d7d7;
    text-align: left;
    vertical-align: middle;
    line-height: 1.5;
}

/* Header */
.prose table th {
    background: #1D8468;
    color: #ffffff;
    font-weight: 600;
}

/* Alternate rows */
.prose table tbody tr:nth-child(even) td {
    background: #f6faf8;
}

/* Hover */
.prose table tbody tr:hover td {
    background: #eef7f4;
}

/* ==========================================
   MOBILE
========================================== */

@media screen and (max-width: 767px) {

    .content-grid {
        display: block;
        width: 100%;
    }

    .prose {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow: visible !important;
    }

    .prose .responsive-table-wrapper {
        display: block;
        width: 100%;
        max-width: calc(100vw - 30px);
        margin: 22px 0;
        overflow-x: scroll !important;
        overflow-y: hidden;
        border: 1px solid #d7d7d7;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x;
    }

    .prose .responsive-table-wrapper table {
        display: table !important;
        width: 700px !important;
        min-width: 700px !important;
        max-width: none !important;
    }

    .prose table th,
    .prose table td {
        padding: 12px 14px;
        font-size: 14px;
        white-space: normal;
        overflow-wrap: break-word;
    }
}


/* ==========================================
   SINGLE POST LAYOUT FIX
========================================== */

/* Keep the complete post layout inside the site container */
.section > .container.content-grid {
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Desktop content and sidebar */
.content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 36px;
    align-items: start;
}

.content-grid > article,
.content-grid > aside,
.prose {
    min-width: 0;
    max-width: 100%;
}

/* ==========================================
   MOBILE SINGLE POST
========================================== */

@media screen and (max-width: 767px) {

    .section > .container.content-grid {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 18px;
        padding-right: 18px;
        box-sizing: border-box;
    }

    .content-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .content-grid > article,
    .content-grid > aside,
    .prose {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
    }
}


/* ==========================================
   STANDARD WORDPRESS PAGE ALIGNMENT
========================================== */

.standard-page-content {
    padding: 70px 0;
}

.standard-page-content > .container {
    width: calc(100% - 40px);
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

.standard-page-content .page-content {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    box-sizing: border-box;
}

/* Remove unwanted top gap from first editor element */
.standard-page-content .page-content > *:first-child {
    margin-top: 0;
}

/* Paragraphs */
.standard-page-content .page-content p {
    margin: 0 0 18px;
    line-height: 1.7;
}

/* Headings */
.standard-page-content .page-content h2 {
    margin: 36px 0 15px;
    font-size: 32px;
    line-height: 1.25;
}

.standard-page-content .page-content h3 {
    margin: 29px 0 13px;
    font-size: 25px;
    line-height: 1.3;
}

.standard-page-content .page-content h4 {
    margin: 25px 0 12px;
    font-size: 21px;
    line-height: 1.35;
}

/* Lists */
.standard-page-content .page-content ul,
.standard-page-content .page-content ol {
    margin: 0 0 22px;
    padding-left: 24px;
}

.standard-page-content .page-content li {
    margin-bottom: 6px;
    line-height: 1.65;
}

/* Images and Block Editor content */
.standard-page-content .page-content img {
    max-width: 100%;
    height: auto;
}

.standard-page-content .page-content .wp-block-image,
.standard-page-content .page-content .wp-block-group,
.standard-page-content .page-content .wp-block-columns {
    max-width: 100%;
}

/* Prevent old layout rules affecting normal pages */
.standard-page-content .page-content {
    min-width: 0;
    float: none;
}

/* ==========================================
   MOBILE
========================================== */

@media screen and (max-width: 767px) {

    .standard-page-content {
        padding: 45px 0 50px;
    }

    .standard-page-content > .container {
        width: 100%;
        max-width: 100%;
        padding-left: 18px;
        padding-right: 18px;
    }

    .standard-page-content .page-content {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .standard-page-content .page-content h2 {
        margin-top: 30px;
        font-size: 27px;
    }

    .standard-page-content .page-content h3 {
        margin-top: 25px;
        font-size: 22px;
    }

    .standard-page-content .page-content h4 {
        font-size: 19px;
    }
}

/* ==========================================
   SINGLE POST CONTENT SPACING
========================================== */

.prose > * {
    margin-bottom: 24px;
}

.prose > *:last-child {
    margin-bottom: 0;
}