/* LBP Google Reviews — frontend templates */
.lbp-gr,.lbp-gr-feature,.lbp-gr-columns,.lbp-gr-showcase{font:inherit;color:inherit;box-sizing:border-box}
.lbp-gr *,.lbp-gr-feature *,.lbp-gr-columns *,.lbp-gr-showcase *{box-sizing:border-box}

/* Legacy layouts kept for existing shortcodes. */
.lbp-gr{display:flex;flex-direction:column;gap:20px}
.lbp-gr--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.lbp-gr__card{border:1px solid #dfe4e8;border-radius:8px;padding:24px;background:#fff;color:inherit}
.lbp-gr__stars{font-size:20px;line-height:1.2;letter-spacing:1px;margin-bottom:14px;color:#f4b400}
.lbp-gr__comment p:first-child{margin-top:0}.lbp-gr__comment p:last-child{margin-bottom:0}
.lbp-gr__meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;margin-top:18px}
.lbp-gr__date{font-size:.9em;opacity:.72}.lbp-gr__google-link{display:inline-block;margin-top:12px}

/* Shared Google badge. */
.lbp-gr-google-badge{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;font-weight:600}
.lbp-gr-google-badge:hover,.lbp-gr-google-badge:focus{text-decoration:none}
.lbp-gr-google-badge:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.lbp-gr-google-badge__g{font-size:20px;line-height:1;font-weight:800;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);-webkit-background-clip:text;background-clip:text;color:transparent}
.lbp-gr-google-badge__stars{font-size:17px;line-height:1;color:#f4b400;letter-spacing:.5px}
.lbp-gr-google-badge__label{font-size:14px;color:var(--e-global-color-primary,#086ca4)}

/* Featured / homepage — one review at a time. */
.lbp-gr-feature{width:100%}
.lbp-gr-feature__slides{width:100%}
.lbp-gr-feature__card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:stretch;min-height:340px;overflow:hidden;background:#fff;border:0;border-radius:0;box-shadow:none}
.lbp-gr-feature__card[hidden]{display:none!important}
.lbp-gr-feature__card--text-only{grid-template-columns:1fr}
.lbp-gr-feature__content{padding:32px;align-self:center}
.lbp-gr-feature__heading{margin:0 0 12px;font-size:clamp(28px,2.15vw,34px)!important;font-weight:700;line-height:1.08;color:var(--e-global-color-primary,#086ca4)}
.lbp-gr-feature .lbp-gr-google-badge{margin:0 0 20px;gap:8px}
.lbp-gr-feature__quote-wrap{display:grid;grid-template-columns:30px 1fr;column-gap:10px;margin-top:2px}
.lbp-gr-feature__quote-mark{font-size:52px;line-height:.8;color:#18a1d6;font-weight:700;transform:translateY(3px)}
.lbp-gr-feature__quote{margin:0;padding:0;border:0;font:inherit;font-size:16px;line-height:1.48;color:inherit}
.lbp-gr-feature__quote p{margin:0 0 10px}.lbp-gr-feature__quote p:last-child{margin-bottom:0}
.lbp-gr-feature__attribution{margin-top:18px;font-size:15px;line-height:1.45}.lbp-gr-feature__attribution strong{font-weight:700}
.lbp-gr-feature__context{margin-top:3px}
.lbp-gr-feature__related{display:block;width:max-content;max-width:100%;margin-top:7px;color:var(--e-global-color-primary,#086ca4);font-size:14px;font-weight:600;line-height:1.35;text-decoration:underline;text-underline-offset:.16em}
.lbp-gr-feature__related:hover,.lbp-gr-feature__related:focus{text-decoration-thickness:2px}
.lbp-gr-feature__cta,.lbp-gr-showcase__cta{display:inline-block;margin-top:22px;padding:12px 20px;border-radius:3px;background:var(--e-global-color-primary,#086ca4);color:#fff!important;text-decoration:none;font-size:14px;font-weight:700;line-height:1.2}
.lbp-gr-feature__related + .lbp-gr-feature__cta{margin-top:16px}
.lbp-gr-feature__cta:hover,.lbp-gr-feature__cta:focus,.lbp-gr-showcase__cta:hover,.lbp-gr-showcase__cta:focus{filter:brightness(.93);text-decoration:none}
.lbp-gr-feature__media{position:relative;min-height:0;background:#f3f4f5;overflow:hidden}
.lbp-gr-feature__media img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.lbp-gr-feature__nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}
.lbp-gr-feature__nav-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d5dbe0;border-radius:999px;background:#fff;color:inherit;font:inherit;font-size:24px;line-height:1;cursor:pointer}
.lbp-gr-feature__dots{display:flex;align-items:center;gap:8px}.lbp-gr-feature__dot{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:#c8cdd1;cursor:pointer}
.lbp-gr-feature__dot.is-active{background:var(--e-global-color-primary,#086ca4)}

/* Two- and three-card templates. */
.lbp-gr-columns{display:grid;gap:22px;width:calc(100% - 48px);margin-inline:auto;align-items:start}
/* Two reviews use one contained panel instead of two separate floating cards. */
.lbp-gr-columns--2{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:1020px;overflow:hidden;border:1px solid #dce4ea;border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.055)}
.lbp-gr-columns--2::before{content:"";position:absolute;top:24px;bottom:24px;left:50%;width:1px;background:#dce4ea;transform:translateX(-.5px);pointer-events:none}
.lbp-gr-columns--2 .lbp-gr-card{border:0;border-radius:0;background:transparent;box-shadow:none}
.lbp-gr-columns--3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1160px}
.lbp-gr-card{display:flex;flex-direction:column;min-width:0;height:auto;padding:26px;border:1px solid #dce4ea;border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.055)}
.lbp-gr-card .lbp-gr-google-badge{margin:0 0 18px;gap:7px}
.lbp-gr-card__quote-wrap{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:8px;align-items:start}
.lbp-gr-card__quote-mark{font-size:42px;line-height:.8;color:#18a1d6;font-weight:700;transform:translateY(3px)}
.lbp-gr-card__comment{font-size:15px;line-height:1.55}.lbp-gr-card__comment p{margin:0}
.lbp-gr-card__meta{margin-top:18px;font-size:14px;line-height:1.4}.lbp-gr-card__meta strong{font-weight:700}.lbp-gr-card__descriptor{font-weight:400}
.lbp-gr-card__date{display:block;margin-top:4px;font-size:13px;opacity:.7}

/* Dedicated review + project showcase. */
.lbp-gr-showcase{display:flex;flex-direction:column;gap:34px;width:100%}
.lbp-gr-showcase__heading{margin:0 0 4px;text-align:center}
.lbp-gr-showcase__item{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);align-items:stretch;overflow:hidden;border:1px solid #e0e5e9;border-radius:12px;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.055)}
.lbp-gr-showcase__item--reverse .lbp-gr-showcase__content{order:2}.lbp-gr-showcase__item--reverse .lbp-gr-showcase__media{order:1}
.lbp-gr-showcase__item--text-only{grid-template-columns:1fr}.lbp-gr-showcase__content{padding:30px}
.lbp-gr-showcase__section-heading{margin:0 0 12px;font-size:24px!important;line-height:1.25;color:var(--e-global-color-primary,#086ca4)}
.lbp-gr-showcase .lbp-gr-google-badge{margin-bottom:18px}
.lbp-gr-showcase__quote{margin:0;padding:0;border:0;font:inherit;font-size:16px;line-height:1.52}.lbp-gr-showcase__quote p{margin:0 0 10px}.lbp-gr-showcase__quote p:last-child{margin-bottom:0}
.lbp-gr-showcase__attribution{margin-top:18px;font-size:14px;line-height:1.4}.lbp-gr-showcase__date{display:block;margin-top:4px;opacity:.7}
.lbp-gr-showcase__context{margin:14px 0 0;font-size:14px;line-height:1.45}
.lbp-gr-showcase__media{min-height:100%;background:#f3f4f5;overflow:hidden}
.lbp-gr-showcase__media img{display:block;width:100%;height:100%;min-height:360px;object-fit:cover}
.lbp-gr-showcase__video{position:relative;width:100%;height:100%;min-height:360px;background:#000}
.lbp-gr-showcase__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.lbp-gr-feature__nav-button:focus-visible,.lbp-gr-feature__dot:focus-visible,.lbp-gr__google-link:focus-visible,.lbp-gr-card__google:focus-visible,.lbp-gr-feature__cta:focus-visible,.lbp-gr-showcase__cta:focus-visible,.lbp-gr-feature__related:focus-visible{outline:2px solid currentColor;outline-offset:3px}

@media (max-width:1024px){
  .lbp-gr-columns--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .lbp-gr-feature__card,.lbp-gr-showcase__item{grid-template-columns:1fr}
  .lbp-gr-feature__card{min-height:0}.lbp-gr-feature__content{padding:28px}.lbp-gr-feature__media{order:2;position:relative;aspect-ratio:16/9}.lbp-gr-feature__media img{position:absolute;inset:0;min-height:0;aspect-ratio:auto}
  .lbp-gr-showcase__item--reverse .lbp-gr-showcase__content,.lbp-gr-showcase__item--reverse .lbp-gr-showcase__media{order:initial}
  .lbp-gr-showcase__media img,.lbp-gr-showcase__video{min-height:0;aspect-ratio:16/9}
}
@media (max-width:767px){
  .lbp-gr--grid,.lbp-gr-columns--2,.lbp-gr-columns--3{grid-template-columns:1fr}
  .lbp-gr-columns--2::before{display:none}
  .lbp-gr-columns--2 .lbp-gr-card + .lbp-gr-card{border-top:1px solid #dce4ea}
  .lbp-gr__card,.lbp-gr-card{padding:20px}
  .lbp-gr-feature__heading{font-size:28px!important}.lbp-gr-feature__quote-wrap{grid-template-columns:28px 1fr}.lbp-gr-feature__quote-mark{font-size:50px}
  .lbp-gr-showcase{gap:24px}.lbp-gr-showcase__content{padding:22px}.lbp-gr-showcase__section-heading{font-size:20px!important}
}

/* Elementor widget presentation controls. */
.elementor-widget-lbp_google_reviews .lbp-gr-widget__placeholder{padding:18px;border:1px dashed #b8c1c8;background:#f7f8f9;color:#4d5962;text-align:center}
@media (min-width:901px){
  .elementor-widget-lbp_google_reviews.lbp-gr-widget--media-left .lbp-gr-feature__media{grid-column:1;grid-row:1}
  .elementor-widget-lbp_google_reviews.lbp-gr-widget--media-left .lbp-gr-feature__content{grid-column:2;grid-row:1;padding:32px}
}
