.elementor-2120 .elementor-element.elementor-element-61a7eec{--display:flex;}.elementor-2120 .elementor-element.elementor-element-61a7eec:not(.elementor-motion-effects-element-type-background), .elementor-2120 .elementor-element.elementor-element-61a7eec > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2120 .elementor-element.elementor-element-23141781{--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;--border-radius:7px 7px 7px 7px;box-shadow:1px 1px 10px 1px rgba(0,0,0,0.5);--padding-top:24px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-2120 .elementor-element.elementor-element-4adbf3d2{width:100%;max-width:100%;}.elementor-2120 .elementor-element.elementor-element-4adbf3d2 > .elementor-widget-container{background-color:var( --e-global-color-1bb8a43 );margin:0px 0px 0px 0px;padding:10px 0px 10px 0px;border-radius:16px 16px 16px 16px;box-shadow:0px 5px 10px 0px rgba(0, 0, 0, 0.086);}.elementor-2120 .elementor-element.elementor-element-4adbf3d2.elementor-element{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-5906e0f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-2120 .elementor-element.elementor-element-2097eeb{--display:grid;--min-height:18px;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:10px 10px;--row-gap:10px;--column-gap:10px;--grid-auto-flow:column;}.elementor-2120 .elementor-element.elementor-element-0d2f9c9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-2120 .elementor-element.elementor-element-0d2f9c9.e-con{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-e3f8a51.elementor-element{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-2f9b535{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-2120 .elementor-element.elementor-element-b57bb78{width:100%;max-width:100%;}.elementor-2120 .elementor-element.elementor-element-b57bb78.elementor-element{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-de1348d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-2120 .elementor-element.elementor-element-de1348d.e-con{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-d41b1ad{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;}.elementor-2120 .elementor-element.elementor-element-d41b1ad.e-con{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-131ea3f{--display:grid;--min-height:20px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:10px 10px;--row-gap:10px;--column-gap:10px;--grid-auto-flow:row;--justify-items:center;--align-items:center;}.elementor-2120 .elementor-element.elementor-element-8174776{width:100%;max-width:100%;}.elementor-2120 .elementor-element.elementor-element-8174776.elementor-element{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-a1003aa{width:100%;max-width:100%;}.elementor-2120 .elementor-element.elementor-element-584b4da{width:100%;max-width:100%;}.elementor-2120 .elementor-element.elementor-element-584b4da.elementor-element{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-72e1d7f{--display:grid;--min-height:20px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:25px 25px;--row-gap:25px;--column-gap:25px;--grid-auto-flow:row;--justify-items:start;--align-items:center;}.elementor-2120 .elementor-element.elementor-element-1d71fec{width:100%;max-width:100%;}.elementor-2120 .elementor-element.elementor-element-1d71fec.elementor-element{--align-self:stretch;}.elementor-2120 .elementor-element.elementor-element-9d89d11{width:100%;max-width:100%;}.elementor-2120 .elementor-element.elementor-element-9d89d11.elementor-element{--align-self:center;}.elementor-2120 .elementor-element.elementor-element-7a11d84 > .elementor-widget-container{padding:0px 0px 15px 0px;}.elementor-2120 .elementor-element.elementor-element-211af2e > .elementor-widget-container{padding:15px 0px 0px 0px;}body.elementor-page-2120:not(.elementor-motion-effects-element-type-background), body.elementor-page-2120 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button{bottom:15px;right:15px;width:50px;height:50px;z-index:9999;opacity:0.7;background-color:#000000;border-radius:5px;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button i{font-size:16px;color:#ffffff;}.eael-ext-scroll-to-top-wrap .eael-ext-scroll-to-top-button svg{width:16px;height:16px;fill:#ffffff;}@media(max-width:1024px){.elementor-2120 .elementor-element.elementor-element-2097eeb{--grid-auto-flow:row;}.elementor-2120 .elementor-element.elementor-element-131ea3f{--grid-auto-flow:row;}.elementor-2120 .elementor-element.elementor-element-72e1d7f{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-2120 .elementor-element.elementor-element-61a7eec{--content-width:100%;}.elementor-2120 .elementor-element.elementor-element-23141781{--width:100%;}.elementor-2120 .elementor-element.elementor-element-2097eeb{--width:100%;}.elementor-2120 .elementor-element.elementor-element-0d2f9c9{--width:100%;}.elementor-2120 .elementor-element.elementor-element-2f9b535{--content-width:100%;}.elementor-2120 .elementor-element.elementor-element-de1348d{--width:100%;}.elementor-2120 .elementor-element.elementor-element-131ea3f{--width:100%;}.elementor-2120 .elementor-element.elementor-element-72e1d7f{--width:100%;}}@media(max-width:767px){.elementor-2120 .elementor-element.elementor-element-23141781{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2120 .elementor-element.elementor-element-2097eeb{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2120 .elementor-element.elementor-element-131ea3f{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2120 .elementor-element.elementor-element-72e1d7f{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for wp-widget-gd_post_rating, class: .elementor-element-b57bb78 *//* =====================================
   PBN – Rating Stars (Luxury Shimmer)
===================================== */

/* Base star reset */
.pbn-rating i,
.pbn-rating .star {
  position: relative;
  font-style: normal;
  display: inline-block;
  line-height: 1;
}

/* =========================
   EMPTY STARS (outline only)
========================= */
.pbn-rating .star,
.pbn-rating i:not(.filled) {
  color: transparent !important;               /* no fill */
  -webkit-text-stroke: 1.5px #d0d0d0;           /* soft grey outline */
  text-shadow: none;
}

/* =========================
   FILLED STARS (coral + shimmer)
========================= */
.pbn-rating .filled,
.pbn-rating i.filled {
  color: #DB9C7B;                               /* coral fill */
  -webkit-text-stroke: 0;                       /* remove outline */
  position: relative;
  overflow: hidden;
}

/* Shimmer overlay */
.pbn-rating .filled::after,
.pbn-rating i.filled::after {
  content: "";
  position: absolute;
  inset: -20%;

  background: linear-gradient(
    120deg,
    transparent 20%,
    rgba(236,207,186,0.35),
    rgba(219,156,123,0.6),
    rgba(236,207,186,0.35),
    transparent 80%
  );

  mix-blend-mode: overlay;
  opacity: 0.65;

  transform: translateX(-150%);
  animation: pbn-star-shimmer 4.5s ease-in-out infinite;
  pointer-events: none;
}

/* =========================
   SHIMMER ANIMATION
========================= */
@keyframes pbn-star-shimmer {
  0%   { transform: translateX(-150%); }
  45%  { transform: translateX(150%); }
  100% { transform: translateX(150%); }
}

/* =========================
   HOVER POLISH (subtle)
========================= */
.pbn-rating:hover .filled {
  filter: brightness(1.06);
}/* End custom CSS */
/* Start custom CSS for wp-widget-gd_post_meta, class: .elementor-element-ef52934 *//* =====================================
   PBN – Accepting New Clients Badge
   (Featured-Aligned / Premium)
===================================== */

.pbn-card-new-clients {
  display: inline-flex;
  align-items: center;

  background: transparent;
  color: var(--pbn-text); /* charcoal */

  font-size: 1.05rem;          /* H4-adjacent */
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;

  padding: 8px 18px;
  border-radius: 10px;         /* FEATURED-style shape */

  border: 1.5px solid rgba(219,156,123,0.45);

  position: relative;
  overflow: hidden;

  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.35s ease,
    transform 0.25s ease;
}

/* Hide completely if No / empty */
.pbn-card-new-clients:empty,
.pbn-card-new-clients[data-value="No"],
.pbn-card-new-clients.closed {
  display: none !important;
}

/* Shimmer layer */
.pbn-card-new-clients::before {
  content: "";
  position: absolute;
  inset: -1px;

  background: linear-gradient(
    120deg,
    transparent 20%,
    rgba(219,156,123,0.35),
    rgba(236,207,186,0.55),
    rgba(219,156,123,0.35),
    transparent 80%
  );

  opacity: 0;
  transform: translateX(-120%);
  transition:
    opacity 0.3s ease,
    transform 0.7s ease;
}

/* Hover state – shimmer + outline bling */
.pbn-card-new-clients:hover {
  color: var(--pbn-text);
  border-color: var(--pbn-accent);

  box-shadow:
    0 0 0 2px rgba(219,156,123,0.25),
    0 8px 22px rgba(219,156,123,0.35);

  transform: translateY(-1px);
}

.pbn-card-new-clients:hover::before {
  opacity: 1;
  transform: translateX(120%);
}/* End custom CSS */
/* Start custom CSS for wp-widget-gd_post_title, class: .elementor-element-8174776 *//* =====================================
   GD Archive Card – Responsive Post Title
===================================== */

.pbn-card-title,
.pbn-card-title a {
  color: #4a5552 !important; 
  font-family: "Belgiano Serif", serif;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;

  /* Responsive sizing */
  font-size: clamp(18px, 2.2vw, 40px);
}

/* Hover */
.pbn-card-title a:hover {
  color: var(--pbn-primary) !important;
}

.gd-loop-paging .pbn-card-title {
  font-size: clamp(17px, 1.8vw, 22px);
}

.pbn-card-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pbn-card-title {
  position: relative;
}

.pbn-card-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40%;
  height: 1em;
  background: transparent
}/* End custom CSS */
/* Start custom CSS for wp-widget-gd_post_meta, class: .elementor-element-a1003aa *//* =====================================
   PBN – Main Category (Minimal / Editorial)
===================================== */

.pbn-card-main-cat,
.pbn-card-main-cat a {
  display: inline-block;

  background: transparent;
  border: none;

  color: var(--pbn-text); /* charcoal */
  font-size: 16px;
  font-weight: 500; /* regular body text */
  text-transform: uppercase;
  letter-spacing: 0.06em;

  padding: 0;
  margin: 0;

  text-decoration: none;
  transition: color 0.2s ease;
}

/* Hover state */
.pbn-card-main-cat:hover,
.pbn-card-main-cat a:hover {
  color: var(--pbn-primary); /* sage green */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-131ea3f */.card-title-grid {
  row-gap: 4px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d41b1ad */.card-title-container {
  margin-bottom: 8px;
}/* End custom CSS */
/* Start custom CSS for wp-widget-gd_post_address, class: .elementor-element-584b4da */.pbn-card-address {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;

  font-weight: 500; /* semi-bold */
  line-height: 1.5;
  color: var(--pbn-text);
}

/* Icons */
.pbn-card-address i {
  margin-right: 6px;
}

/* Pagination / smaller layouts */
.gd-loop-paging .pbn-card-address {
  max-width: 100%;
}/* End custom CSS */
/* Start custom CSS for wp-widget-gd_post_distance, class: .elementor-element-1d71fec *//* =====================================
   PBN – GD Distance to Post (Final Polish)
===================================== */

.pbn-distance {
  display: inline-flex;
  gap: 10px;

  /* FORCE font consistency */
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  font-size: 12px;
  font-weight: 500;
  color: var(--pbn-text);
  line-height: 1.4;

  opacity: 0.85;
}

/* Label */
.pbn-distance::before {
  font-family: inherit; /* inherit Nunito */
    font-weight: 500;
  letter-spacing: 0.01em;
  color: #4A5552;
  margin-right: 6px;
}

/* Separator dot */
.pbn-distance::after {
  content: "away";
  margin: 0 6px;
  color: #4A5552;
}

/* Distance value */
.pbn-distance strong,
.pbn-distance b {
  font-family: inherit;
  font-weight: 500;
  color: var(--pbn-text);
}

/* Icon */
.pbn-distance i,
.pbn-distance svg {
  color: var(--pbn-primary);
  font-size: 20px;
  margin-right: 2px;
}

/* Mobile */
@media (max-width: 768px) {
  .pbn-distance {
    font-size: 13px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-72e1d7f *//* =====================================
   PBN – GD Distance to Post (Google-style)
===================================== */

.pbn-distance {
  display: flex;
  align-items: center;
  justify-content: flex-start;

  gap: 6px;
  margin-top: 6px; /* space from address */

  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.4;

  color: var(--pbn-text);
  opacity: 0.85;
}

/* Icon */
.pbn-distance i,
.pbn-distance svg {
  color: var(--pbn-primary);
  font-size: 13px;
}

/* Distance value */
.pbn-distance strong,
.pbn-distance b {
  font-weight: 500;
  color: var(--pbn-text);
}

/* Suffix like Google */
.pbn-distance::after {
  content: " away";
  font-weight: 500;
  color: #7a8581;
}

/* Mobile tighten */
@media (max-width: 768px) {
  .pbn-distance {
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for wp-widget-gd_post_meta, class: .elementor-element-7a11d84 *//* =====================================
   PBN – Card Categories: Remove "and"
===================================== */

/* Hide the conjunction */
.pbn-card-category .gd-and,
.pbn-card-category .and {
  display: none;
}

.pbn-card-category {
  word-spacing: normal;
}/* End custom CSS */
/* Start custom CSS for wp-widget-gd_post_meta, class: .elementor-element-211af2e */.pbn-card-description {
  font-size: 15px;
  line-height: 1.55;
  color: #5a6460;

  display: -webkit-box;
  -webkit-line-clamp: 3; /* ~18–20 words */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Read more link */
.pbn-card-description a {
  color: var(--pbn-primary);
  font-weight: 600;
}/* End custom CSS */
/* Start custom CSS for wp-widget-gd_post_content, class: .elementor-element-387bb26 *//* =====================================
   PBN – GD Card: Special Offers (Widget-Controlled)
===================================== */

.pbn-card-special-offers {
  margin-top: 12px;
  padding: 0;

  background: transparent !important;
  border: none;
  border-radius: 0;

  font-size: 14px;
  line-height: 1.5;
  color: var(--pbn-text);
}

/* Hide section if no content */
.pbn-card-special-offers:empty {
  display: none !important;
}

/* Label + icon */
.pbn-card-special-offers .gd-field-label,
.pbn-card-special-offers i {
  color: var(--pbn-text) !important;
  font-weight: 600;
}

/* Values / tags */
.pbn-card-special-offers a,
.pbn-card-special-offers span {
  color: #DB9C7B !important; /* coral */
  font-weight: 500;
  text-decoration: none;
  transition: color .2s ease;
}

/* Hover – clickable emphasis */
.pbn-card-special-offers a:hover {
  color: #899DA9 !important; /* dusty blue */
  text-decoration: underline;
}

/* Prevent GD default blue hover bleed */
.pbn-card-special-offers:hover,
.pbn-card-special-offers:hover * {
  color: inherit !important;
}

/* =====================================
   PBN – Special Offer Badge (Conditional)
===================================== */

/* Badge container */
.gd-list-item:has(.pbn-card-special-offers:not(:empty))::before {
  content: "Special Offer";
  position: absolute;
  top: 12px;
  right: 12px;

  background: #DB9C7B; /* coral */
  color: #ffffff;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;

  padding: 6px 10px;
  border-radius: 20px;

  box-shadow: 0 4px 12px rgba(219,156,123,.35);
  z-index: 5;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-23141781 */.gd-list-item,
.geodir-category-listing {
  position: relative;
}

.gd-list-item,
.geodir-category-listing {
  padding: 24px 28px 28px;
}

@media (max-width: 768px) {
  .gd-list-item,
  .geodir-category-listing {
    padding: 20px;
  }
}/* End custom CSS */