.elementor-101 .elementor-element.elementor-element-decf527{--display:flex;--padding-top:-10px;--padding-bottom:-10px;--padding-left:-10px;--padding-right:-10px;}.elementor-101 .elementor-element.elementor-element-24163d0{--display:flex;--padding-top:-10px;--padding-bottom:-10px;--padding-left:-10px;--padding-right:-10px;}.elementor-101 .elementor-element.elementor-element-9e7727b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:-10px;--padding-bottom:-10px;--padding-left:-10px;--padding-right:-10px;}.elementor-101 .elementor-element.elementor-element-12cd07e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:-10px;--padding-bottom:-10px;--padding-left:-10px;--padding-right:-10px;}.elementor-101 .elementor-element.elementor-element-36125d7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-ea1c848 *//* ==== PHX Gallery — polish & fixes (tabs, icons, buttons, mobile card) ==== */

/* 1) Force white text anywhere the UI uses green backgrounds */
.phxg-tab.is-active,
.phxg-tab.is-active * { color:#fff !important; }
.phxg-card__cta,
.phxg-card__cta *,
.phxg-btn,
.phxg-btn * { color:#fff !important; }

/* 2) Tab badge/icon sizing + alignment (no distortion) */
.phxg-badge{
  width:34px; height:34px; min-width:34px; min-height:34px;
  border-radius:10px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.06); color:inherit; line-height:1;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
.phxg-badge svg{ width:18px; height:18px; display:block; }
.phxg-tab.is-active .phxg-badge{ background:rgba(255,255,255,.18); }

/* Tab chip stays readable on green */
.phxg-count{
  font-style:normal; font:800 11px/1 Inter; min-width:22px; text-align:center;
  padding:2px 6px; border-radius:999px; background:rgba(0,0,0,.06); color:inherit;
}
.phxg-tab.is-active .phxg-count{ background:rgba(255,255,255,.18); color:#fff; }

/* 3) Match hero-style buttons (Load More + Contact Us) */
.phxg-btn{
  /* slim, hero-like */
  height:44px; padding:0 22px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--phxg-green-500),var(--phxg-green-700));
  box-shadow:0 10px 26px rgba(47,184,74,.35);
}
.phxg-btn:hover{
  transform:translateY(-2px);
  background:linear-gradient(90deg,var(--phxg-green-700),var(--phxg-green-500));
  box-shadow:0 14px 30px rgba(47,184,74,.45);
}

/* “Contact Us” in the service card — same height/feel as hero buttons */
.phxg-card__cta{
  height:44px; padding:0 22px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--phxg-green-500),var(--phxg-green-700));
  box-shadow:0 8px 20px rgba(47,184,74,.28);
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font:700 14px/1 Poppins,Inter; text-transform:uppercase; letter-spacing:.4px;
}
.phxg-card__cta::after{ content:"→"; font-weight:900; margin-left:6px; line-height:1; }
.phxg-card__cta:hover{ transform:translateY(-1px); box-shadow:0 12px 22px rgba(47,184,74,.35); }

/* 4) Mobile service card — cleaner layout & spacing */
@media (max-width: 780px){
  .phxg-card{
    grid-template-columns:48px 1fr; grid-template-areas:
      "ico title"
      "desc desc"
      "chips chips"
      "cta cta";
    gap:12px 12px; padding:14px; border-radius:16px;
  }
  .phxg-card__ico{ width:48px; height:48px; border-radius:12px; }
  .phxg-card__ico svg{ width:20px; height:20px; }
  .phxg-card__title{ font-size:18px; margin:2px 0 0; }
  .phxg-card__desc{ font-size:13.6px; line-height:1.6; margin-top:2px; }
  .phxg-chip{ padding:7px 10px; font:800 10.5px/1 Inter; }
  .phxg-card__cta{ height:40px; padding:0 18px; font-size:13px; }
}

/* 5) Make the tab container hover/focus feel consistent */
.phxg-tab{
  padding:10px 16px;
  border:1px solid transparent;
  transition:background .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.phxg-tab:hover{ background:rgba(47,184,74,.08); border-color:rgba(47,184,74,.15); }
.phxg-tab:focus-visible{ box-shadow:0 0 0 3px rgba(47,184,74,.25); }

/* 6) Belt-and-braces: neutralise Elementor’s accent inside the gallery */
.phxg-section a, .phxg-section button{ --e-global-color-accent: initial !important; }

/* 7) Subtle: keep gallery images rounded without clipping the hover shadow */
.phxg-figure{ border-radius:14px; overflow:hidden; }
.phxg-figure img{ border-radius:12px; }

/* === PHXG mobile polish: align title + icon / center CTA === */

/* 1) Mobile info card layout */
@media (max-width: 780px){
  .phxg-card {
    display:grid;
    grid-template-columns:56px 1fr;
    grid-template-areas:
      "ico title"
      "desc desc"
      "chips chips"
      "cta cta";
    align-items:center;
    gap:10px 12px;
    padding:14px 16px;
    border-radius:16px;
  }

  /* 2) Icon block */
  .phxg-card__ico{
    width:52px;
    height:52px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    grid-area:ico;
    margin-top:0;
  }

  /* 3) Title vertically centered with icon */
  .phxg-card__title{
    grid-area:title;
    display:flex;
    align-items:center;
    height:100%;
    font-size:18px;
    margin:0;
  }

  /* 4) Text + chips layout tweaks */
  .phxg-card__desc{
    grid-area:desc;
    font-size:13.8px;
    line-height:1.55;
    margin-top:0;
  }
  .phxg-chip{
    font:800 10.8px/1 Inter;
    padding:7px 10px;
  }

  /* 5) Center the Contact Us button vertically and horizontally */
  .phxg-card__cta{
    grid-area:cta;
    justify-self:center;
    align-self:center;
    margin-top:4px;
    height:40px;
    padding:0 18px;
  }
}

/* 6) Desktop minor centering fix for Contact button */
@media (min-width: 781px){
  .phxg-card__cta{
    align-self:center;
  }
}

/* === Final mobile fix: full-width Contact Us button === */
@media (max-width: 780px){
  .phxg-card__cta{
    width:100%;
    justify-self:stretch;
    text-align:center;
    display:flex;
    justify-content:center;
    align-items:center;
  }
}/* End custom CSS */