/* ========================================
   GOOGLE REVIEWS PROZON
   Site design is inherited directly from the standard IdaFind variables.
======================================== */

.lx-google-reviews-prozon,
.lx-google-reviews-prozon * {
    box-sizing: border-box;
}

.lx-google-reviews-prozon {
    container-type: inline-size;
    container-name: pz-google-reviews;
    width: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-card);
    background: transparent;
    color: var(--color-text);
    font-family: var(--font-body);
  font-weight: var(--weight-body, inherit);
    font-size: var(--size-body);
}

.lx-google-reviews__inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding-block: clamp(.75rem, var(--spacing), 1.25rem);
}

.lx-google-reviews__viewport {
    width: 100%;
    overflow: hidden;
    padding: calc(var(--spacing) * 0.15);
    border-radius: var(--radius-card);
}

.lx-google-reviews__track {
    display: flex;
    justify-content: center;
    gap: clamp(1rem, calc(var(--spacing) * 1.5), 2.375rem);
    transition: transform var(--animation-duration) ease;
    will-change: transform;
}

.lx-google-review-card {
    flex: 0 0 calc((100% - (clamp(1rem, calc(var(--spacing) * 1.5), 2.375rem) * 3)) / 4);
    aspect-ratio: 4 / 3;
    min-height: 0;
    padding: clamp(1.25rem, calc(var(--spacing) * 1.5), 2rem);
    overflow: hidden;
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-card);
    background: var(--color-prozon-bg, transparent);
    color: var(--color-text);
    box-shadow: var(--shadow-card);
}

.lx-google-review-card__top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 0.75);
    margin-bottom: var(--spacing);
    color: var(--color-text);
    font-family: var(--font-text-small);
  font-weight: var(--weight-text-small, inherit);
    font-size: var(--size-text-small);
    line-height: 1.25;
}

.lx-google-review-card__source {
    font-weight: 700;
    color: var(--color-text);
}

.lx-google-review-card__stars {
    color: var(--color-accent);
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.lx-google-review-card__quote {
    margin: 0;
    color: var(--color-text);
    font-family: var(--font-body);
  font-weight: var(--weight-body, inherit);
    font-size: var(--size-body);
    line-height: 1.55;
}

.lx-google-review-card__name {
    margin: calc(var(--spacing) * 1.125) 0 0;
    color: var(--color-title);
    font-family: var(--font-text-small);
  font-weight: var(--weight-text-small, inherit);
    font-size: var(--size-text-small);
    line-height: 1.5;
}

.lx-google-reviews__arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 46px;
    height: 46px;
    padding: 0;
    transform: translateY(-50%);
    border: 1px solid var(--color-button-border);
    border-radius: var(--radius-button);
    background: var(--color-button-bg);
    color: var(--color-button-text);
    box-shadow: var(--shadow-card);
    font-family: var(--font-body);
  font-weight: var(--weight-body, inherit);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition:
        color var(--animation-duration) ease,
        border-color var(--animation-duration) ease,
        opacity var(--animation-duration) ease;
}

.lx-google-reviews__arrow:hover,
.lx-google-reviews__arrow:focus-visible {
    background: var(--color-button-hover-bg);
    color: var(--color-button-hover-text);
    border-color: var(--color-button-hover-border);
}

.lx-google-reviews__arrow:focus-visible,
.lx-google-reviews__dot:focus-visible {
    outline: 3px solid var(--color-focus);
    outline-offset: 3px;
}

.lx-google-reviews__arrow:disabled {
    opacity: 0.35;
    cursor: default;
}

.lx-google-reviews__arrow--prev {
    left: -23px;
}

.lx-google-reviews__arrow--next {
    right: -23px;
}

.lx-google-reviews__dots {
    display: flex;
    justify-content: center;
    gap: calc(var(--spacing) * 0.5);
    margin-top: calc(var(--spacing) * 1.125);
}

.lx-google-reviews__dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 1px solid var(--color-text);
    border-radius: var(--radius-button);
    background: transparent;
    cursor: pointer;
    transition:
        background-color var(--animation-duration) ease,
        border-color var(--animation-duration) ease;
}

.lx-google-reviews__dot.is-active {
    background: var(--color-text);
}

@container pz-google-reviews (max-width: 1100px) {
    .lx-google-review-card {
        flex-basis: calc((100% - (clamp(1rem, calc(var(--spacing) * 1.5), 2.375rem) * 2)) / 3);
    }
}

@container pz-google-reviews (max-width: 800px) {
    .lx-google-review-card {
        flex-basis: calc((100% - clamp(1rem, calc(var(--spacing) * 1.5), 2.375rem)) / 2);
    }
}

@container pz-google-reviews (max-width: 520px) {
    .lx-google-reviews__inner {
        width: 100%;
    }

    .lx-google-review-card {
        flex-basis: 100%;
        aspect-ratio: auto;
        min-height: 180px;
    }

    .lx-google-reviews__arrow--prev {
        left: -10px;
    }

    .lx-google-reviews__arrow--next {
        right: -10px;
    }
}

/* Shared container/card hierarchy: outer theme background remains visible around the complete content card. */
.lx-google-reviews-prozon { background-color: var(--color-prozon-bg, transparent); padding: clamp(8px, calc(var(--spacing, 16px) * .75), 18px); box-sizing: border-box; }
.lx-google-reviews__main-card { width:100%; min-width:0; padding:clamp(8px, var(--spacing, 16px), 24px); border:1px solid var(--color-card-border); border-radius:var(--radius-card); background:var(--color-panel-bg,var(--color-card-bg)); box-shadow:var(--shadow-card); box-sizing:border-box; }
.lx-google-review-card { background:var(--color-card-bg); }

/* Color-balance refinement: consistent visible container surround.
   This inset changes only the Prozon interior, never Site Editor placement. */
.lx-google-reviews-prozon { padding: clamp(12px, var(--spacing, 16px), 22px); }
