/* Shared spacing pass, September 2026.
 * Deliberately scoped to existing sections: no font, image, map, form-control,
 * Home Hero/stats or product focal-position overrides.
 * Native Elementor content remains editable; these tokens control site rhythm.
 */
body #wrap #main{--dc-section-space:48px;--dc-panel-space:24px;}
body #wrap #main :is(.dc-order-cta,.dc-franchise,.dca-story,.dca-history,.dca-cta,
 .dcc-offerings,.dcc-plan,.dcfr-model,.dcfr-opportunity,.dcft-formats,.dcft-cta,
 .dck-roles,.dck-process,.dck-cta,.dcon-routes,.dcon-form-section){
 padding-top:var(--dc-section-space)!important;
 padding-bottom:var(--dc-section-space)!important;
}
body #wrap #main .dca-hero{padding-top:var(--dc-section-space)!important;}

/* A style-only widget must not leave a 20px empty row before the first label. */
body #wrap #main :is(.dcc-style-source,.dcfr-style-source,.dcft-style-source,
 .dck-style-source,.dcon-style-source,.dca-style-source,.dclg-style-source){margin:0!important;}

/* Keep one gap after the paragraph, not a paragraph gap plus a widget gap. */
body #wrap #main :is(.dc-order-cta,.dc-franchise,.dc-about,.dcc-page,.dcfr-page,
 .dcft-page,.dck-page,.dcon-page) .elementor-widget-text-editor>.elementor-widget-container>p:last-child{
 margin-bottom:0;
}
body #wrap #main :is(.dc-order-cta,.dc-franchise,.dc-about,.dcc-page,.dcfr-page,
 .dcft-page,.dck-page,.dcon-page) :is(.dc-eyebrow,.dca-eyebrow,.dcc-eyebrow,
 .dcfr-eyebrow,.dcft-eyebrow,.dck-eyebrow,.dcon-eyebrow){margin-bottom:12px!important;}

/* CTA columns previously added 10px above AND below each button. */
body #wrap #main :is(.dcc-hero-actions,.dcc-cta-actions,.dc-order-actions,.dca-actions){margin-top:0!important;}
body #wrap #main :is(.dcc-hero-actions,.dcc-cta-actions,.dc-order-actions,.dca-actions)
 >.elementor-container>.elementor-column>.elementor-widget-wrap{
 padding-top:0!important;padding-bottom:0!important;
}
body #wrap #main .dcc-plan>.elementor-container{row-gap:24px;}
body #wrap #main .dcc-process{margin:4px 0 8px;gap:6px;}
body #wrap #main .dcc-step{padding:12px 0;}
body #wrap #main .dcc-note{margin-top:20px;}
body #wrap #main .dcc-card-image{margin-bottom:0!important;}

/* Numbered cards retain their width, image areas and swipe behaviour. */
body #wrap #main :is(.dcfr-card,.dcft-card,.dck-card,.dck-step,.dcon-route-card)
 >.elementor-widget-wrap{padding-top:var(--dc-panel-space)!important;padding-bottom:var(--dc-panel-space)!important;}
body #wrap #main :is(.dcfr-card-no,.dcft-card-no,.dck-step-no){margin-bottom:0;}
body #wrap #main .dcfr-stats{margin:4px 0 8px;}
body #wrap #main .dcfr-fit-list{margin:4px 0 8px;}
body #wrap #main .dcfr-footprint{margin-top:20px;}
body #wrap #main .dcft-tags{margin:4px 0 8px;}
body #wrap #main :is(.dcon-route-no,.dck-role-label){margin-bottom:0;}
body #wrap #main :is(.dcon-hero-links,.dcon-details-list){margin-top:4px;}
body #wrap #main .dct-timeline{margin-top:12px;}
body #wrap #main .dct-item:not(:last-child){padding-bottom:32px;}

/* Utility pages need a compact title band, not a second marketing Hero. */
body #wrap #main .dclg-hero .elementor-widget-wrap{
 padding-top:var(--dc-section-space)!important;padding-bottom:var(--dc-section-space)!important;
}
body #wrap #main .dclg-kicker{margin-bottom:12px!important;}
body #wrap #main .dclg-kicker .elementor-heading-title{margin:0;}
body #wrap #main .dclg-date{margin-top:0;}
body #wrap #main .dclg-date p{margin:0;}
body #wrap #main .dclg-content .elementor-widget-wrap{
 padding-top:var(--dc-section-space)!important;padding-bottom:var(--dc-section-space)!important;
}
body #wrap #main .dclg-intro{padding-bottom:20px;}
body #wrap #main .dclg-intro p:last-child{margin-bottom:0;}
body #wrap #main .dclg-copy{margin-top:0;}
body #wrap #main .dclg-note{margin-bottom:0;}
body #wrap #main .dclg-note p:last-child{margin-bottom:0;}

/* News archive/article, menu surround, locator surround and App page. */
body.page-id-16 #wrap #main .dcn-news-section:first-child{
 padding-top:var(--dc-section-space)!important;padding-bottom:24px!important;
}
body.page-id-16 #wrap #main .dcn-news-section:last-child{padding-bottom:var(--dc-section-space)!important;}
body #wrap #main .dcn-story--featured{margin-bottom:32px;}
body #wrap #main .dcn-story--featured .dcn-story-link{padding-bottom:28px;}
body #wrap #main .dcn-article{padding-top:var(--dc-section-space);padding-bottom:var(--dc-section-space);}
body #wrap #main .dcn-back{margin-bottom:20px;}
body #wrap #main .dcn-article-cover{margin-top:24px;margin-bottom:24px;}
body #wrap #main .dc-menu-catalog-section{padding-bottom:var(--dc-section-space)!important;}
body #wrap #main .dc-menu-cta{padding-top:var(--dc-section-space)!important;padding-bottom:var(--dc-section-space)!important;}
body #wrap #main .dc-locations-locator{padding-bottom:var(--dc-section-space)!important;}
body #wrap #main .dcapp-hero{padding-top:var(--dc-section-space);padding-bottom:var(--dc-section-space);}
body #wrap #main .dcapp-benefits{padding-top:var(--dc-section-space);padding-bottom:24px;}
body #wrap #main .dcapp-alternative{padding-bottom:var(--dc-section-space);}
body #wrap #main .dcapp-card .dcapp-step{margin-bottom:16px!important;}

/* The desktop deck's fixed minimum columns overflowed behind the category tabs
 * on tablets. Keep the ordered tabs, but allocate only the width available.
 * Image sources, fitting, focal points, scale and mobile rules are untouched.
 */
@media(min-width:768px) and (max-width:1199px){
 body #wrap #main .dc-menu-panel{flex-basis:56px;}
 body #wrap #main .dc-menu-panel.is-active{flex:1 1 auto;}
 body #wrap #main .dc-menu-panel-content{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);}
 body #wrap #main .dc-menu-panel-details{padding:20px 14px;}
}

@media(max-width:1024px){
 body #wrap #main{--dc-section-space:36px;}
 body #wrap #main :is(.dcc-hero-copy,.dcfr-hero-copy,.dcft-hero-copy,.dck-hero-copy,.dcon-hero-copy)
  >.elementor-widget-wrap{padding-top:36px!important;padding-bottom:36px!important;}
 body #wrap #main .dcfr-opportunity-copy>.elementor-widget-wrap{padding-bottom:28px!important;}
 body #wrap #main .dcon-contact-details>.elementor-widget-wrap{padding-bottom:24px!important;}
}
@media(max-width:767px){
 body #wrap #main{--dc-section-space:28px;--dc-panel-space:20px;}
 body #wrap #main :is(.dcc-hero-copy,.dcfr-hero-copy,.dcft-hero-copy,.dck-hero-copy,.dcon-hero-copy)
  >.elementor-widget-wrap{padding-top:28px!important;padding-bottom:28px!important;}
 body #wrap #main .dca-hero>.elementor-container{row-gap:24px;}
 body #wrap #main .dct-item:not(:last-child){padding-bottom:28px;}
 body #wrap #main .dcn-story--featured{margin-bottom:24px;}
 body #wrap #main .dcn-story--featured .dcn-story-link{padding-bottom:24px;}
}
