/* Homepage promo and reviews; configured videos use a native dialog with no UI library. */
.ls-home-promo,
.ls-home-reviews{--ls-promo-ink:var(--home-heading,var(--theme-promo-heading));--ls-promo-accent:var(--home-accent,var(--theme-promo-accent));--ls-promo-muted:var(--home-text,var(--theme-home-text));box-sizing:border-box}
.ls-home-promo *,
.ls-home-reviews *{box-sizing:border-box}
.ls-home-promo .container,
.ls-home-reviews .container{width:100%;}

/* One complete promo image; text and badge are baked into the artwork. */
.ls-home-promo{padding:44px 0 54px;background:var(--home-bg,var(--theme-promo-bg))}
.ls-home-promo__panel{overflow:hidden;border-radius:16px}
.ls-home-promo__image{display:block;width:100%;height:auto}

/* Three equal cards; photography lives inside the card, quote lives below it. */
.ls-home-reviews{padding:56px 0 68px;background:var(--home-bg,var(--theme-card-bg))}
.ls-home-reviews__header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.ls-home-reviews__header h2{margin:0;line-height:1.2;color:var(--home-heading,var(--theme-h2-override,var(--theme-promo-heading)))}
.ls-home-reviews__more{flex:none;color:var(--ls-promo-accent);font-weight:600;white-space:nowrap}
.ls-home-reviews__more span{display:inline-block;margin-left:9px;font-size:1.6em;line-height:0;vertical-align:-.08em}
.ls-home-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ls-home-review{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:16px 16px 18px;border:1px solid var(--livspace-border);border-radius:13px;background:var(--theme-card-bg);box-shadow:0 3px 8px var(--theme-decor-2b203018);text-align:center}
.ls-home-review__thumbnail{display:block;flex-shrink:0;aspect-ratio:1.77;background-color:var(--theme-decor-d9d3cf);background-size:cover;background-position:center;border-radius:10px}
.ls-home-review__thumbnail--one{background-image:url('../images/home-static/review-1-demo.webp')}
.ls-home-review__thumbnail--two{background-image:url('../images/home-static/review-2-demo.webp')}
.ls-home-review__thumbnail--three{background-image:url('../images/home-static/review-3-demo.webp')}
.ls-home-review blockquote{position:relative;display:flex;justify-content:center;align-items:center;min-height:71px;margin:0;padding:12px 10px 0;text-align:center;color:var(--ls-promo-muted)}
.ls-home-review blockquote::before,
.ls-home-review blockquote::after{position:absolute;color:var(--theme-decor-e9e9e9);font-family:Georgia,serif;font-size:58px;font-weight:700;line-height:1;pointer-events:none}
.ls-home-review blockquote::before{content:'“';left:-12px;top:2px}
.ls-home-review blockquote::after{content:'”';right:-8px;bottom:-30px}
.ls-home-review blockquote p{position:relative;z-index:1;margin:0;font-style:italic;line-height:1.5}
.ls-home-review__video{display:flex;flex:1;flex-direction:column;color:inherit;text-decoration:none}
.ls-home-review__thumbnail{position:relative;overflow:hidden}
.ls-home-review__thumbnail--customer{display:grid;aspect-ratio:auto}
.ls-home-review__thumbnail--customer::before{content:'';grid-area:1/1;aspect-ratio:1.77}
.ls-home-review__photo{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.ls-home-review__title{margin:16px 0 0;color:var(--ls-promo-ink)}
.ls-home-review blockquote p{white-space:pre-line;overflow-wrap:anywhere}
.ls-home-review__overlay{position:relative;grid-area:1/1;align-self:end;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:36px 12px 16px;background:linear-gradient(to bottom,var(--theme-decor-rgba-0-0-0-0),var(--theme-decor-rgba-0-0-0--88));color:var(--theme-contrast-text)}
.ls-home-review__customer{display:flex;flex-direction:column;gap:4px;margin:0;text-align:center;color:inherit;overflow-wrap:anywhere}
.ls-home-review__customer strong,.ls-home-review__customer span{color:inherit}
.ls-home-review__video .ls-home-review__thumbnail{position:relative}
.ls-home-review__play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:54px;height:54px;padding-inline-start:3px;border-radius:50%;background:var(--theme-button-bg);color:var(--theme-button-text);font-size:22px;box-shadow:0 3px 16px var(--theme-decor-0002)}
.ls-home-review__overlay .ls-home-review__play{position:static;transform:none;flex-shrink:0}
.ls-home-review__video:hover .ls-home-review__play,.ls-home-review__video:focus-visible .ls-home-review__play{background:var(--theme-button-hover-bg);color:var(--theme-button-hover-text)}
.ls-review-video-dialog{box-sizing:border-box;width:min(960px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;overflow:auto;border:1px solid var(--livspace-border);border-radius:12px;background:var(--theme-card-bg);color:var(--theme-paragraph-color)}
.ls-review-video-dialog:not([open]){display:none}
.ls-review-video-dialog::backdrop{background:var(--theme-decor-rgba-0-0-0--88)}
.ls-review-video-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px}
.ls-review-video-dialog__header p{margin:0;font-size:var(--theme-paragraph-size)}
.ls-review-video-dialog__close{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid var(--theme-button-border);border-radius:50%;background:var(--theme-button-bg);color:var(--theme-button-text);font:inherit;font-size:26px;cursor:pointer}
.ls-review-video-dialog__player{aspect-ratio:16/9;background:var(--theme-footer-badge-bg)}
.ls-review-video-dialog__player iframe,.ls-review-video-dialog__player video{display:block;width:100%;height:100%;border:0}
html.ls-review-video-open{overflow:hidden}

@media(max-width:991px){
 .ls-home-reviews__grid{gap:15px}
 .ls-home-review{padding:12px}
}
@media(max-width:767px){
 .ls-home-promo{padding:32px 0 38px}
 .ls-home-reviews{padding:38px 0 44px}
 .ls-home-reviews__header{align-items:flex-start;gap:12px}
 .ls-home-reviews__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .ls-home-review:last-child{grid-column:1/-1;max-width:430px;width:100%;justify-self:center}
}
@media(max-width:560px){
 .ls-home-reviews__header{flex-direction:column;align-items:flex-start;gap:12px}
 .ls-home-reviews__grid{grid-template-columns:1fr;gap:16px}
 .ls-home-review:last-child{grid-column:auto;max-width:none}
 .ls-home-review{padding:12px}
 .ls-home-review blockquote{min-height:75px}
}
