/* 1280px content grid; full-bleed section backgrounds remain full width. */
body{--xtr-content:1280px;--xtr-gutter:24px}
body .container,body.page-id-620 #main>.section>.container,body #main.xtr-service-page .container{
 width:calc(100% - 2 * var(--xtr-gutter));max-width:var(--xtr-content)!important;
 margin-inline:auto;padding-inline:0;box-sizing:border-box;
}
body>.elementor>.elementor-top-section{padding-inline:0!important}
body>.elementor>.elementor-top-section>.elementor-container,
body>.elementor>.e-con-boxed>.e-con-inner{
 width:calc(100% - 2 * var(--xtr-gutter));max-width:var(--xtr-content)!important;
 margin-inline:auto;padding-inline:0!important;
}
body>.elementor>.elementor-top-section>.elementor-container>.elementor-column>.elementor-widget-wrap{padding-inline:0}
body>.elementor>.e-con-boxed{padding-inline:0}
/* Elementor content inside a theme container must not create a second grid. */
#main>.section>.container article .elementor>.elementor-top-section>.elementor-container,
#main>.section>.container article .elementor>.e-con-boxed>.e-con-inner{width:100%;max-width:100%;padding-inline:0}
#main>.section>.container article>.elementor>.elementor-top-section{padding-inline:0}
#main.xtr-service-page .xtr-service-request{padding-inline:24px}
#main article>h1{font-size:clamp(28px,3.8vw,48px);line-height:1.25}
.single-post #main article{overflow-wrap:anywhere}
.single-post #main article img{max-width:100%;height:auto}
.single-post #main article h2{font-size:clamp(23px,2.5vw,34px);line-height:1.4;margin-top:1.6em}
.single-post #main article h3{font-size:clamp(20px,2vw,27px);line-height:1.45}
.single-post #main article p,.single-post #main article li{line-height:1.85}
.single-post #main article a:not(.btn){text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){body{--xtr-gutter:20px}#main.xtr-service-page .xtr-service-request{width:calc(100% - 40px);margin-inline:auto!important;padding-inline:20px}}
/* Legacy content uses the same type and accent palette as the native templates. */
.elementor-489,.elementor-570,.elementor-1051{font-family:var(--f-body);color:var(--ink)}
:is(.elementor-489,.elementor-570,.elementor-1051) h1.elementor-heading-title{font-family:var(--f-disp);font-size:clamp(30px,4vw,48px)!important;line-height:1.3!important;word-break:normal;overflow-wrap:normal}
:is(.elementor-489,.elementor-570,.elementor-1051) :is(h2,h3).elementor-heading-title{font-family:var(--f-disp);line-height:1.45}
:is(.elementor-489,.elementor-570,.elementor-1051) .elementor-widget-text-editor{font-family:var(--f-body);line-height:1.85}
:is(.elementor-489,.elementor-570,.elementor-1051) .elementor-button{background-color:var(--orange-deep);border-radius:var(--rad);font-family:var(--f-body);min-height:46px;line-height:1.6}
:is(.elementor-489,.elementor-570,.elementor-1051) .elementor-icon{color:var(--orange-deep);fill:var(--orange-deep)}
:is(.elementor-489,.elementor-570,.elementor-1051) a:focus-visible{outline:3px solid var(--orange-deep);outline-offset:4px}
@media(max-width:767px){:is(.elementor-489,.elementor-570,.elementor-1051) h1.elementor-heading-title{font-size:29px!important}}

/* Contact QR: preserve the image and quiet zone; constrain only its layout. */
.page-id-570 .elementor-element-c4ba45f>.elementor-widget-wrap{align-content:center}
.page-id-570 .elementor-element-7b8477c{width:100%;max-width:100%;margin:0}
.page-id-570 .elementor-element-7b8477c>.elementor-widget-container{display:flex;justify-content:center;align-items:center;padding:16px;box-sizing:border-box}
.page-id-570 .elementor-element-7b8477c img.wp-image-2334{display:block;width:260px;max-width:100%;height:auto;margin-inline:auto}

/* Price cards follow the warm panels, dark type and orange actions of the home page. */
.page-id-1051 .elementor-1051>.e-parent:has(.xtr-inline-contact){max-width:1280px;width:calc(100% - 48px);margin:28px auto;padding:0!important;border:1px solid #d6cbbb;border-radius:12px;background:#f6f1e8;overflow:hidden}
.page-id-1051 .elementor-1051>.e-parent:has(.xtr-inline-contact)>.e-con-inner{width:100%;max-width:none;padding:32px!important;gap:36px;align-items:flex-start;justify-content:space-between;box-sizing:border-box}
.page-id-1051 .elementor-1051>.e-parent:has(.xtr-inline-contact)>.e-con-inner>.e-child{width:42%!important;min-width:0;flex:none;align-self:flex-start;padding:0!important}
.page-id-1051 .elementor-widget-html:has(.xtr-inline-contact){width:calc(58% - 36px)!important;min-width:0;flex:none;max-width:none!important;align-self:flex-start}
.page-id-1051 .elementor-widget-html:has(.xtr-inline-contact)>.elementor-widget-container{font-size:16px;line-height:1.75;color:#514b42}
.page-id-1051 .xtr-price-heading{font-family:var(--f-disp);font-size:clamp(20px,2vw,28px)!important;line-height:1.35!important;letter-spacing:-.4px;text-transform:none;color:#211e19;margin:0 0 18px!important}
.page-id-1051 .elementor-widget-html:has(.xtr-inline-contact) strong:has(>span[style*="#ff0000"]){display:inline-block;margin:0;font-size:25px;line-height:1.25}
.page-id-1051 .elementor-widget-html:has(.xtr-inline-contact) span[style*="#ff0000"]{color:#c43a10!important}
.page-id-1051 .xtr-price-description p{margin:0 0 14px}.page-id-1051 .xtr-price-amount{margin:0 0 20px!important}
.page-id-1051 .elementor-widget-html:has(.xtr-inline-contact) :is(ol,ul){padding-left:24px;margin:16px 0}.page-id-1051 .elementor-widget-html:has(.xtr-inline-contact) li{padding-left:3px;margin:7px 0}
.page-id-1051 .elementor-1051>.e-parent:has(.xtr-inline-contact) .elementor-widget-image img{display:block;width:100%;height:auto;object-fit:contain;border-radius:7px}
.page-id-1051 .image-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;max-width:430px;margin:24px 0 0!important;text-align:center}
.page-id-1051 .image-grid .xtr-inline-contact{display:flex!important;align-items:center;justify-content:center;gap:7px;min-width:0;width:auto!important;min-height:48px;padding:10px 8px!important;border:1px solid #b9ac99;border-radius:6px;background:#fffaf2;color:#27221b!important;text-decoration:none;font-family:var(--f-body);font-size:12px;font-weight:600;line-height:1.2;transition:background .15s,color .15s,border-color .15s}
.page-id-1051 .image-grid .xtr-inline-contact:first-child{background:#e4400d;border-color:#e4400d;color:#fff!important}.page-id-1051 .image-grid .xtr-inline-contact:hover{background:#28221b;color:#fff!important;border-color:#28221b}.page-id-1051 .image-grid .xtr-inline-contact:focus-visible{outline:3px solid #b6340b;outline-offset:4px}.xtr-inline-contact svg{display:block;flex:none;width:20px;height:20px}
@media(max-width:767px){.page-id-1051 .elementor-1051>.e-parent:has(.xtr-inline-contact){width:calc(100% - 40px);margin:20px auto}.page-id-1051 .elementor-1051>.e-parent:has(.xtr-inline-contact)>.e-con-inner{padding:20px!important;gap:24px;flex-direction:column!important}.page-id-1051 .elementor-1051>.e-parent:has(.xtr-inline-contact)>.e-con-inner>.e-child{width:100%!important;order:0}.page-id-1051 .elementor-widget-html:has(.xtr-inline-contact){width:100%!important;max-width:100%!important;order:1}.page-id-1051 .xtr-price-heading{font-size:21px!important}.page-id-1051 .image-grid .xtr-inline-contact{flex-direction:column;gap:6px;min-height:66px;font-size:11px;padding:10px 3px!important}}

/* Shared controls: the same warm surface, clear focus and compact action shape. */
:is(.xtr-home,.xtr-service-page,#main) :is(.btn,.xtr-service-button,.xtr-unified-button){min-height:48px;border-radius:6px}
:is(.xtr-home,.xtr-service-page,#main,.elementor-489,.elementor-570,.elementor-1051) :is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid #ba360c;outline-offset:4px}
.xtr-service-body details{border:1px solid #cfc2b0;border-radius:8px;background:#f7f2e9;margin:14px 0;overflow:hidden}.xtr-service-body details[open]{background:#fffaf2}.xtr-service-body summary{padding:18px 20px;cursor:pointer;line-height:1.5;font-weight:600;color:#28221a}.xtr-service-body details>p{padding:0 20px 20px;margin:0;line-height:1.75;color:#514b42}
.xtr-service-toc{background:#f4eee3;border:1px solid #cfc2b0;border-radius:8px;padding:20px}.xtr-service-toc a{border-radius:4px;text-underline-offset:4px}.xtr-service-toc a:hover{color:#b5340b;background:#ece1d1}
.xtr-service-related a{border-color:#cfc2b0;border-radius:8px;background:#f8f2e8}.xtr-service-related a:hover{border-color:#bb390e;background:#fff8ed}
/* Existing Fluent Forms behavior and QR sizing remain intact. */
.elementor-570 .fluentform{max-width:860px;padding:30px;border:1px solid #cfc2b0;border-radius:12px;background:#f6f1e8;box-sizing:border-box}
.elementor-570 .fluentform .ff-el-group{margin-bottom:22px}.elementor-570 .fluentform .ff-el-input--label label{font-family:var(--f-body);font-size:14px;font-weight:600;color:#30291f;line-height:1.5}
.elementor-570 .fluentform .ff-el-form-control{font-family:var(--f-body);font-size:16px;line-height:1.5;min-height:48px;padding:12px 14px;border:1px solid #bfb09c;border-radius:6px;background:#fffdf8;color:#29221b;box-shadow:none;box-sizing:border-box}
.elementor-570 .fluentform textarea.ff-el-form-control{min-height:160px;resize:vertical}.elementor-570 .fluentform .ff-el-form-control:focus{border-color:#bd370c;box-shadow:0 0 0 3px #bd370c18}
.elementor-570 .fluentform .ff-btn-submit{min-height:50px;padding:15px 24px;background:#e4400d!important;color:#fff!important;border:1px solid #e4400d!important;border-radius:6px;font-family:var(--f-body);font-size:12px;font-weight:700;letter-spacing:1.2px;line-height:1.5;text-transform:uppercase}.elementor-570 .fluentform .ff-btn-submit:hover{background:#28221b!important;border-color:#28221b!important}
.elementor-570 .elementor-social-icons-wrapper{display:flex!important;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-start}
.elementor-570 a.elementor-social-icon{display:inline-flex!important;gap:9px;align-items:center;justify-content:center;width:auto!important;height:auto!important;min-height:46px;padding:12px 16px!important;border:1px solid #b9ac99;border-radius:6px;background:#fff8ed!important;color:#2b241c!important;text-decoration:none}
.elementor-570 a.elementor-social-icon svg{width:20px!important;height:20px!important;fill:#bd370c!important;flex:none}.elementor-570 a.elementor-social-icon .elementor-screen-only{position:static!important;display:inline!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;white-space:normal!important;margin:0!important;padding:0!important;font-family:var(--f-body);font-size:13px;font-weight:600;line-height:1.4}
.elementor-570 a.elementor-social-icon:hover{background:#28221b!important;color:#fff!important;border-color:#28221b}.elementor-570 a.elementor-social-icon:hover svg{fill:#ff9b76!important}
@media(max-width:767px){.elementor-570 .fluentform{padding:20px;max-width:100%}.elementor-570 .fluentform .ff-btn-submit{width:100%}.xtr-service-body summary{padding:16px}.xtr-service-body details>p{padding:0 16px 16px}.xtr-service-toc{padding:16px}}

.elementor-570 .elementor-widget-text-editor{text-align:left!important;line-height:1.75}.elementor-570 :is(h2,h3,h4).elementor-heading-title{font-family:var(--f-disp);font-size:clamp(20px,2vw,28px)!important;font-weight:700;line-height:1.35;text-transform:none;color:#252019}
.xtr-contact-address{font-style:normal;line-height:1.75}.xtr-contact-address p{margin:0 0 16px}.xtr-contact-address a{color:#8f2e0c;text-decoration:underline;text-underline-offset:4px}.elementor-570 a.elementor-social-icon svg{order:-1}
