/* All styles stay inside reviewed content sections. No body/root, header,
   footer, booking, form or El Romco selectors. Existing brand fonts retained. */
.ems-polish-region { --ems-polish-ink:#221e13; --ems-polish-orange:#f66609; }
.ems-polish-region .elementor-widget-text-editor,
.ems-polish-region .elementor-widget-heading p.elementor-heading-title {
  font-size:16px !important; line-height:1.8 !important;
}
.ems-polish-region .elementor-widget-heading :is(h1,h2,h3) {
  text-wrap:balance; letter-spacing:-.015em; line-height:1.12;
}
.ems-polish-region .elementor-widget-heading h2 { font-size:clamp(34px,3.4vw,52px) !important; }
.ems-polish-region .elementor-widget-heading :is(h6,span.elementor-heading-title) { letter-spacing:.12em; }
.ems-polish-region .elementor-button:not([href*="book-now"]) {
  display:inline-flex !important; min-height:46px; padding:14px 24px;
  background:#f66609 !important; color:#221e13 !important;
  border:1px solid #f66609 !important; border-radius:7px !important;
  font-size:13px; font-weight:700; letter-spacing:.045em;
  transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}
.ems-polish-region .elementor-button:not([href*="book-now"]):hover { background:#ff8a3d !important; box-shadow:0 8px 20px #221e131a !important; }
.ems-polish-region a:focus-visible,
.ems-polish-region [tabindex="0"]:focus-visible,
.ems-polish-region summary:focus-visible {
  outline:3px solid #221e13 !important; outline-offset:4px;
  box-shadow:0 0 0 6px #fff !important;
}
.ems-polish-region .elementor-widget-text-editor a { text-underline-offset:3px; }
.ems-polish-region .elementor-icon-list-text { overflow-wrap:anywhere; }
.ems-polish-region .elementor-icon-list-items.elementor-inline-items { flex-wrap:wrap; }

/* Home services: normal document flow replaces a 1,300px negative overlap. */
.ems-polish-region.elementor-element-1ccd42ec { margin:0 !important; background:#f6f4ec; }
.ems-polish-region.elementor-element-1ccd42ec .elementor-element-cc1ac60 > .elementor-widget-wrap {
  padding:72px 24px 40px !important; background:transparent !important;
}
.ems-polish-region.elementor-element-1ccd42ec .elementor-element-14d4e99 { max-width:760px; width:100%; }
.ems-polish-region.elementor-element-2aa6004 { background:#f6f4ec; padding:0 24px 72px !important; margin:0 0 72px !important; }
.ems-polish-region.elementor-element-2aa6004 > .elementor-container { max-width:1200px; margin:auto; }
.ems-polish-region.elementor-element-2aa6004 .elementor-element-6d1b190 > .elementor-widget-wrap { margin:0 !important; padding:0 !important; }
.ems-polish-region.elementor-element-2aa6004 .elementor-inner-section > .elementor-container { gap:24px; }
.ems-polish-region.elementor-element-2aa6004 .elementor-inner-column { flex:1; min-width:0; }
.ems-polish-region.elementor-element-2aa6004 .elementor-inner-column > .elementor-widget-wrap {
  margin:0 !important; padding:0 0 24px !important; background:#fff;
  border:1px solid #221e1314; border-radius:14px; overflow:hidden;
  box-shadow:0 8px 24px #221e130a; align-content:start;
}
.ems-polish-region.elementor-element-2aa6004 .elementor-inner-column > .elementor-widget-wrap > :not(.elementor-widget-image) {
  margin-left:24px !important; margin-right:24px !important; max-width:calc(100% - 48px);
}
.ems-polish-region.elementor-element-2aa6004 .elementor-widget-image img { width:100%; height:220px; object-fit:cover; }
.ems-polish-region.elementor-element-2aa6004 .elementor-widget-heading h4 { font-size:30px !important; }
.ems-polish-region.elementor-element-2aa6004 .elementor-widget-heading p { font-size:15px !important; line-height:1.75 !important; }
.ems-polish-region.elementor-element-2aa6004 .elementor-widget-divider { display:none; }
.ems-polish-region.elementor-element-2aa6004 .elementor-button:not([href*="book-now"]) {
  background:transparent !important; border:0 !important; padding:8px 0; min-height:44px; color:#221e13 !important;
}
.ems-polish-region.elementor-element-2aa6004 .elementor-element-44c09117 .elementor-button { padding:14px 28px; background:#f66609 !important; }

/* Editorial cards: reserve one image area, not image height plus empty padding. */
.ems-polish-region .elementor-posts .elementor-post {
  border:1px solid #221e1314; border-radius:14px; overflow:hidden;
  background:#fff; box-shadow:0 8px 24px #221e130a;
}
.ems-polish-region .elementor-posts .elementor-post__thumbnail__link {
  display:block; margin:0 !important; height:auto !important; padding:0 !important;
}
.ems-polish-region .elementor-posts .elementor-post__thumbnail {
  position:relative; height:0 !important; padding-bottom:62% !important; overflow:hidden;
}
.ems-polish-region .elementor-posts .elementor-post__thumbnail img {
  position:absolute !important; inset:0; width:100% !important; height:100% !important;
  max-height:none !important; object-fit:cover; transform:none !important;
}
.ems-polish-region .elementor-posts .elementor-post__text { padding:24px; }
.ems-polish-region .elementor-posts .elementor-post__title { font-size:26px !important; line-height:1.25; }
.ems-polish-region .elementor-posts .elementor-post__meta-data { font-size:12px !important; color:#64625a !important; line-height:1.6; }
.ems-polish-region .elementor-posts .elementor-post__title a:hover { color:#a63e00; }
/* Blog archive also used fixed multi-thousand-pixel overlaps. */
.ems-polish-region.elementor-element-1274f0a8 > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:64px 24px 48px !important; }
.ems-polish-region.elementor-element-7adecf8 { margin:0 !important; padding:0 24px 72px !important; }

/* FAQ items are large, well separated keyboard/touch targets. */
.ems-polish-region .elementor-accordion .elementor-accordion-item { border:1px solid #dedbd2; border-radius:8px; margin-bottom:12px; overflow:hidden; }
.ems-polish-region .elementor-accordion .elementor-tab-title { padding:22px !important; font-size:17px !important; line-height:1.5; }
.ems-polish-region .elementor-accordion .elementor-tab-content { padding:20px 22px !important; font-size:16px !important; line-height:1.8; }
@media (hover:hover) {
  .ems-polish-region .elementor-post { transition:box-shadow .2s ease; }
  .ems-polish-region .elementor-post:hover { box-shadow:0 12px 32px #221e131c; }
}
@media (max-width:767px) {
  .ems-polish-region .elementor-widget-heading h2 { font-size:34px !important; }
  .ems-polish-region.elementor-element-1ccd42ec .elementor-element-cc1ac60 > .elementor-widget-wrap { padding:48px 20px 32px !important; }
  .ems-polish-region.elementor-element-2aa6004 { padding:0 20px 48px !important; margin-bottom:48px !important; }
  .ems-polish-region.elementor-element-2aa6004 .elementor-inner-section > .elementor-container { flex-direction:column; gap:24px; }
  .ems-polish-region.elementor-element-2aa6004 .elementor-inner-column { width:100% !important; flex:auto; }
  .ems-polish-region.elementor-element-2aa6004 .elementor-widget-image img { height:220px; }
  .ems-polish-region .elementor-posts .elementor-post__text { padding:22px; }
  .ems-polish-region .elementor-icon-list-item > a { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  .ems-polish-region .elementor-invisible { visibility:visible !important; }
  .ems-polish-region .animated { animation:none !important; }
  .ems-polish-region .elementor-button,
  .ems-polish-region .elementor-post,
  .ems-polish-region .elementor-widget-image img { transition:none !important; transform:none !important; }
}
/* Let each description absorb the height difference within a card row. */
.ems-polish-region.elementor-element-2aa6004 .elementor-inner-column > .elementor-widget-wrap {
  display:flex; flex-direction:column; flex-wrap:nowrap;
}
.ems-polish-region.elementor-element-2aa6004 .elementor-inner-column > .elementor-widget-wrap > .elementor-widget-heading:nth-child(3) { flex-grow:1; }
@media (max-width:767px) {
  .ems-polish-region .elementor-widget-icon-list { max-width:100% !important; min-width:0; }
  .ems-polish-region .elementor-icon-list-items.elementor-inline-items { margin-inline:0 !important; width:100%; }
  .ems-polish-region .elementor-icon-list-items.elementor-inline-items > .elementor-icon-list-item { margin-inline:0 12px !important; max-width:100%; }
}
/* Brand-gold trust icons remain visible against the services page's charcoal. */
.ems-polish-region.elementor-element-8d759ec7 .elementor-icon { color:#e5b318 !important; }
.ems-polish-region.elementor-element-8d759ec7 .elementor-icon svg { fill:#e5b318 !important; }
/* Contact details are a sibling of the untouched contact form. Target only
   this existing text widget; do not style its shared section or form. */
body.page-id-174 .elementor-element-653b357a .elementor-icon-list-text {
  min-width:0; white-space:normal; overflow-wrap:anywhere;
}
body.page-id-174 .elementor-element-653b357a .elementor-icon-list-item { min-width:0; }
