/* --------------------------------------------------------------
   GLOBAL THEME VARIABLES (Light mode)
-------------------------------------------------------------- */
:root {
    --gmb-bg: var(--bs-light, #fafafa);
    --gmb-border: var(--bs-border-color, #e5e5e5);
    --gmb-text: var(--bs-body-color, #333);
    --gmb-muted: var(--bs-secondary-color, #666);
    --gmb-star: #f2b01e;
	--gmb-quote-size: 1.6em;
    --gmb-quote-font: inherit;
    --gmb-quote-weight: 700;
    --gmb-quote-color: var(--bs-body-color);
}

/* --------------------------------------------------------------
   SHARED LAYOUT
-------------------------------------------------------------- */
.gmb-testimonial,
.gmb-testimonial-item {
    background: var(--gmb-bg);
    border: 1px solid var(--gmb-border);
    color: var(--gmb-text);
    border-radius: 6px;
    padding: 20px;
    text-align: center;
}

.gmb-testimonial-card {
	display: flex;
    flex-direction: column;
    justify-content: center; /* vertical centering */
    border: none;
    padding: 1rem;
    text-align: center;
}

/* Shared text */
.gmb-testimonial-text {
    font-size: 1.15rem;
    margin: 0 auto 1rem auto; /* centers the block */
    max-width: 70%;           /* restricts width */
    text-align: center;       /* ensures text stays centered */
}

/* Shared author + company */
.gmb-testimonial-author {
    font-weight: 600;
    margin-top: 0.5rem;
}

.gmb-testimonial-company {
    font-weight: 400;
    color: var(--gmb-muted);
}

/* Shared rating */
.gmb-testimonial-rating {
    color: var(--gmb-star);
    font-size: 1.25rem;
    margin-top: 0.25rem;
}

/* Shared extra field */
.gmb-testimonial-extra {
    margin-top: 0.75rem;
    font-style: italic;
    color: var(--gmb-muted);
}

/* --------------------------------------------------------------
   SHARED PHOTO
-------------------------------------------------------------- */
.gmb-testimonial-photo {
    width: 120px;
    height: 120px;
    display: block;
    margin: 25px auto;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    border: 2px solid rgba(255,255,255,0.6);
}

.gmb-testimonial-photo:hover {
    transform: scale(1.03);
    transition: transform 0.15s ease;
}

.gmb-quote {
    font-size: var(--gmb-quote-size);
    font-family: var(--gmb-quote-font);
    font-weight: var(--gmb-quote-weight);
    color: var(--gmb-quote-color);
    line-height: 0.8;
    display: inline-block;
    vertical-align: top;
    margin-right: 0.15em;
}
.gmb-quote-open {
    font-size: calc(var(--gmb-quote-size) * 1.4);
    line-height: 0.6;
    margin-right: 0.25em;
}
.gmb-quote-close {
    margin-left: 0.15em;
}

/* --------------------------------------------------------------
   DARK MODE
-------------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
    :root {
        --gmb-bg: var(--bs-dark, #1e1e1e);
        --gmb-border: rgba(255, 255, 255, 0.12);
        --gmb-text: var(--bs-light, #f5f5f5);
        --gmb-muted: rgba(255, 255, 255, 0.6);
        --gmb-star: #ffcc66;
		--gmb-quote-color: var(--bs-light);
    }
}
