/* Bounded shared info-tag sizing and Why Choose placement for original/reused aliases.
   Corners come from component-corners.css; retain the photo and desktop badge
   placement. Phone tags hug their copy and overlap photo corners, like About. */
/* The visible photo fills half the grid; the other half contains the 64px
   gutter and copy. Override both the captured widget width and image cap.
   Explicit tracks avoid relying on saved child order. No measured correction
   is needed once the photo fills its assigned track. */
@media (min-width:761px) {
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-7634271 {
    grid-template-columns:50% minmax(0,1fr)!important;
    column-gap:64px!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ee42e55 {
    grid-column:1!important;
    grid-row:1!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ee42e55,
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-0e34554 {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-0e34554 img {
    width:100%!important;
    max-width:100%!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ce67e85 {
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    margin-left:0!important;
    width:100%!important;
  }
  /* Hug the label/icon rather than expanding with the photo column. Keep the
     right edge on the photo, including while its 32px entrance animates. */
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ee42e55 > .elementor-element-fd7c835 {
    width:fit-content!important;
    min-width:0!important;
    max-width:100%!important;
    left:auto!important;
    right:0!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-fd7c835 > .elementor-element-fe8d46e {
    min-width:0!important;
  }
}
/* The Maintenance rating tag follows the same compact phone standard as the
   estimates/emergency tags. Keep its live rating/review copy and desktop art. */
@media(max-width:760px) {
  /* Reserve the same 12px right overhang as About, inside the section gutter.
     The existing section gap clears the upper tag; keep bottom clearance for
     the lower tag and action without doubling the text-to-photo gap. */
  :is(body,#dillon-component-corners#dillon-component-corners) :is(.elementor-element-ee42e55,.elementor-element-c74ea98) {
    position:relative!important;
    width:calc(100% - 12px)!important;
    max-width:calc(100% - 12px)!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 32px!important;
    overflow:visible!important;
    align-self:start!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-25f2475 {
    position:absolute!important;
    inset:auto!important;
    top:-12px!important;
    right:-12px!important;
    z-index:2!important;
    margin:0!important;
    width:fit-content!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    height:auto!important;
    box-sizing:border-box!important;
    padding:8px 14px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-25f2475 > .elementor-element-d6047bd {
    flex:0 0 32px!important;
    width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    background-size:contain!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-d6047bd .elementor-element-e29d3c0 {
    font-size:11px!important;
    line-height:16px!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-25f2475 > .elementor-element-b3ffc89 {
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    gap:0!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-25f2475 .elementor-element-13beed4 {
    font-size:14px!important;
    line-height:18px!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-25f2475 .elementor-element-97f1c01 {
    font-size:13px!important;
    line-height:18px!important;
  }
}
:is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ee42e55 {
  position:relative!important;
}
:is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ee42e55 > .elementor-element-a56b7be {
  position:absolute!important;
  left:-64px!important;
  right:auto!important;
  /* Keep native padding, but remove captured width/top stretching around the benefit. */
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  top:auto!important;
}
/* Match About's top-right / bottom-left photo tags, not stacked full-width
   bars. The original action remains below the image in its existing slot. */
@media (max-width:760px) {
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ee42e55 > :is(.elementor-element-fd7c835,.elementor-element-a56b7be) {
    position:absolute!important;
    inset:auto!important;
    width:fit-content!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    height:auto!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:8px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    align-self:stretch!important;
    z-index:2!important;
    transform:none!important;
    opacity:1!important;
    animation:none!important;
    transition:none!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ee42e55 > .elementor-element-fd7c835 {
    top:-12px!important;
    right:-12px!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-ee42e55 > .elementor-element-a56b7be {
    bottom:-12px!important;
    left:12px!important;
  }
  /* The captured sideways/scale entrance clips the phone row and temporarily
     hides its icon. Keep these informational badges stable on phones only. */
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-fd7c835 > .elementor-element-fcd3bc3 {
    flex:0 0 32px!important;
    width:32px!important;
    height:32px!important;
    box-sizing:border-box!important;
    padding:7px!important;
    transform:none!important;
    opacity:1!important;
    animation:none!important;
    transition:none!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-fcd3bc3 img {
    width:18px!important;
    height:18px!important;
    object-fit:contain!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-fd7c835 > .elementor-element-fe8d46e {
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    gap:0!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-fd7c835 .elementor-element-0e8ff8b {
    font-size:14px!important;
    line-height:18px!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-fd7c835 .elementor-element-e10dc26 {
    font-size:13px!important;
    line-height:18px!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-a56b7be > span {
    width:100%!important;
    min-width:0!important;
    gap:10px!important;
  }
  /* Reserve the same compact 32px icon column as the estimates tag. */
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-a56b7be > span > svg {
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
    margin-inline:7px!important;
  }
  :is(body,#dillon-component-corners#dillon-component-corners) .elementor-element-a56b7be > span > span {
    flex:1 1 0!important;
    min-width:0!important;
    font-size:14px!important;
    line-height:18px!important;
  }
}
