/* Site footer — Elementor footer template (#573). Loaded on every page. */

.pbs-ft,
.pbs-ft .e-con{
  --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px;
  --gap:0px; --row-gap:0px; --column-gap:0px; --kit-widget-spacing:0px;
  --margin-top:0px; --margin-bottom:0px;
}
.pbs-ft .elementor-widget{ margin:0 !important; }
.pbs-ft{ background:#211D16; color:rgba(244,239,228,.72); font-family:"Poppins",sans-serif; padding:0 20px !important; }
.pbs-ft p{ margin:0; }
.pbs-ft a{ transition:color .2s; }
.pbs-ft__wrap{ width:100%; max-width:1200px !important; margin:0 auto; }

/* 1. quote band */
.pbs-ft__cta{ flex-direction:row !important; flex-wrap:wrap !important; align-items:center; justify-content:space-between; gap:24px 40px !important; padding:64px 0 56px !important; border-bottom:1px solid rgba(244,239,228,.12); }
.pbs-ft__cta-text{ flex:1 1 380px; width:auto !important; }
.pbs-ft .pbs-ft__cta-title .elementor-heading-title{ font-family:"Fraunces",serif; font-weight:700; font-size:38px; line-height:1.15; color:#fff; margin:0 0 8px; }
.pbs-ft__cta-sub{ color:rgba(244,239,228,.72); font-size:16px; }
.pbs-ft__cta-btns{ flex-direction:row !important; flex-wrap:wrap !important; gap:12px !important; width:auto !important; }

.pbs-ft .pbs-ft__btn .elementor-button{ border-radius:50px; padding:15px 28px; font-family:"Poppins",sans-serif; font-size:15.5px; font-weight:400; line-height:1.2; border:1.5px solid transparent; transition:transform .2s, background .2s, color .2s; }
.pbs-ft .pbs-ft__btn .elementor-button:hover{ transform:translateY(-2px); }
.pbs-ft .pbs-ft__btn--rust .elementor-button{ background:#C1502B; color:#fff; }
.pbs-ft .pbs-ft__btn--rust .elementor-button:hover{ background:#A6431F; color:#fff; }
.pbs-ft .pbs-ft__btn--line .elementor-button{ background:transparent; border-color:rgba(244,239,228,.45); color:#F4EFE4; }
.pbs-ft .pbs-ft__btn--line .elementor-button:hover{ background:#F4EFE4; border-color:#F4EFE4; color:#211D16; }

/* 2. columns */
.pbs-ft__grid{ display:grid !important; grid-template-columns:1.35fr 1.1fr .8fr 1.25fr; gap:48px !important; padding:70px 0 56px !important; }
.pbs-ft__logo img{ width:210px !important; height:auto !important; max-width:100%; display:block; }
.pbs-ft__logo{ margin-bottom:22px !important; text-align:left; }
.pbs-ft__about{ font-size:15px; line-height:1.75; margin-bottom:24px !important; max-width:330px; }
.pbs-ft__social{ display:inline-flex; align-items:center; gap:10px; color:#F4EFE4 !important; text-decoration:none !important; font-size:14px; border:1px solid rgba(244,239,228,.22); border-radius:999px; padding:10px 18px 10px 12px; transition:border-color .2s, background .2s; }
.pbs-ft__social:hover{ background:#C1502B; border-color:#C1502B; }

.pbs-ft .pbs-ft__title .elementor-heading-title{ font-family:"IBM Plex Mono",monospace; font-size:12.5px; font-weight:500; letter-spacing:2px; text-transform:uppercase; color:#E8875C; margin:0 0 20px; line-height:1.4; }

.pbs-ft .elementor-icon-list-items{ margin:0; padding:0; }
.pbs-ft .elementor-icon-list-item{ padding:0 !important; margin:0 0 12px !important; }
.pbs-ft .elementor-icon-list-item:after{ display:none !important; }
.pbs-ft .elementor-icon-list-item a{ display:inline-flex !important; align-items:flex-start; gap:12px; color:rgba(244,239,228,.78) !important; text-decoration:none !important; font-size:15px; line-height:1.5; }
.pbs-ft .elementor-icon-list-text{ color:inherit !important; padding:0 !important; transition:color .2s, transform .2s; }
.pbs-ft .elementor-icon-list-item a:hover{ color:#fff !important; }
.pbs-ft__links .elementor-icon-list-item a:hover .elementor-icon-list-text{ transform:translateX(4px); }
.pbs-ft .elementor-icon-list-icon{ flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:rgba(244,239,228,.07); display:inline-flex !important; align-items:center; justify-content:center; margin-top:-5px; transition:background .2s; }
.pbs-ft .elementor-icon-list-icon i,
.pbs-ft .elementor-icon-list-icon svg{ color:#C1502B !important; fill:#C1502B !important; font-size:14px !important; width:14px; height:14px; }
.pbs-ft .elementor-icon-list-item a:hover .elementor-icon-list-icon{ background:#C1502B; }
.pbs-ft .elementor-icon-list-item a:hover .elementor-icon-list-icon i,
.pbs-ft .elementor-icon-list-item a:hover .elementor-icon-list-icon svg{ color:#fff !important; fill:#fff !important; }
.pbs-ft__contact .elementor-icon-list-item{ margin-bottom:16px !important; }

/* 3. service areas */
.pbs-ft__areas{ border-top:1px solid rgba(244,239,228,.12); padding:26px 0 !important; }
.pbs-ft__cities p{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 6px; font-size:13.5px; }
.pbs-ft__cities strong{ color:#F4EFE4; font-weight:500; margin-right:8px; }
.pbs-ft__cities a{ color:rgba(244,239,228,.7) !important; text-decoration:none !important; border:1px solid rgba(244,239,228,.14); border-radius:999px; padding:5px 13px; transition:border-color .2s, color .2s; }
.pbs-ft__cities a:hover{ color:#fff !important; border-color:#C1502B; }

/* 4. bottom bar */
.pbs-ft__bottom{ flex-direction:row !important; flex-wrap:wrap !important; align-items:center; justify-content:space-between; gap:12px 24px !important; border-top:1px solid rgba(244,239,228,.12); padding:22px 0 26px !important; font-size:13.5px; }
.pbs-ft__bottom > .elementor-element{ width:auto !important; }
.pbs-ft .pbs-ft__top,
.pbs-ft .pbs-ft__top:hover,
.pbs-ft .pbs-ft__top:focus{ all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:8px; font-family:"Poppins",sans-serif; font-size:13.5px; color:rgba(244,239,228,.72) !important; background:transparent !important; border:0 !important; transition:color .2s; }
.pbs-ft .pbs-ft__top:hover{ color:#fff !important; }
.pbs-ft .pbs-ft__top span{ display:inline-flex; width:30px; height:30px; border-radius:50%; align-items:center; justify-content:center; border:1px solid rgba(244,239,228,.3); transition:background .2s, border-color .2s; }
.pbs-ft .pbs-ft__top:hover span{ background:#C1502B; border-color:#C1502B; }
.pbs-ft .pbs-ft__top:focus-visible{ outline:2px solid #C1502B; outline-offset:4px; border-radius:6px; }

@media (max-width:1024px){
  .pbs-ft__grid{ grid-template-columns:1fr 1fr; gap:44px 40px !important; }
  .pbs-ft .pbs-ft__cta-title .elementor-heading-title{ font-size:32px; }
}
@media (max-width:600px){
  .pbs-ft{ padding:0 16px !important; }
  .pbs-ft__cta{ padding:52px 0 44px !important; text-align:center; justify-content:center; }
  .pbs-ft .pbs-ft__cta-title .elementor-heading-title{ font-size:28px; }
  .pbs-ft__cta-btns{ width:100% !important; flex-direction:column !important; }
  .pbs-ft .pbs-ft__btn .elementor-button{ display:block; width:100%; text-align:center; }
  .pbs-ft__grid{ grid-template-columns:1fr; gap:36px !important; padding:52px 0 40px !important; }
  .pbs-ft__bottom{ flex-direction:column !important; text-align:center; }
}

/* quote button under the contact details */
.pbs-ft__col--contact .pbs-ft__btn{ margin-top:10px !important; }
@media (max-width:600px){
  .pbs-ft__col--contact .pbs-ft__btn .elementor-button{ display:inline-block; width:auto; }
}

/* ---- fixes: Elementor's global text colour (#555152) was overriding the footer text ---- */
.pbs-ft .elementor-widget-text-editor,
.pbs-ft .elementor-widget-text-editor p,
.pbs-ft .elementor-widget-text-editor .elementor-widget-container{ color:rgba(244,239,228,.78) !important; }
.pbs-ft .pbs-ft__about p{ font-size:15px; line-height:1.75; }
.pbs-ft .pbs-ft__copy,
.pbs-ft .pbs-ft__copy p{ color:rgba(244,239,228,.6) !important; }
.pbs-ft .pbs-ft__cities strong{ color:#F4EFE4 !important; }

/* ---- fixes: icons centred on their text, same size circles ---- */
.pbs-ft .pbs-ft__contact .elementor-icon-list-item a{ align-items:center !important; gap:14px; }
.pbs-ft .pbs-ft__contact .elementor-icon-list-icon{ width:38px !important; height:38px !important; min-width:38px; margin:0 !important; padding:0 !important; align-self:center; }
.pbs-ft .pbs-ft__contact .elementor-icon-list-icon i,
.pbs-ft .pbs-ft__contact .elementor-icon-list-icon svg{ width:15px !important; height:15px !important; font-size:15px !important; line-height:1 !important; display:block; margin:0 !important; }
.pbs-ft .pbs-ft__contact .elementor-icon-list-text{ line-height:1.45; }
.pbs-ft .pbs-ft__contact .elementor-icon-list-item{ margin-bottom:14px !important; }

/* ---- fixes: spacing in the brand column (the widget margin reset above was winning) ---- */
.pbs-ft .pbs-ft__brand > .elementor-widget.pbs-ft__logo{ margin:0 0 26px !important; }
.pbs-ft .pbs-ft__brand > .elementor-widget.pbs-ft__about{ margin:0 0 30px !important; }
.pbs-ft .pbs-ft__brand .pbs-ft__about p{ margin:0 !important; line-height:1.8; }
.pbs-ft .pbs-ft__col > .elementor-widget.pbs-ft__title{ margin:0 0 22px !important; }
.pbs-ft .pbs-ft__col--contact > .elementor-widget.pbs-ft__btn{ margin:14px 0 0 !important; }
