.ghrl-wrap{--ghrl-accent:#ea5065;margin:30px auto 45px;max-width:1400px}.ghrl-heading{text-align:center;font-size:clamp(20px,2.5vw,30px);font-weight:700;margin:0 0 22px}.ghrl-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:22px}.ghrl-tab{cursor:pointer;border:1px solid #ddd;background:#fff;border-radius:30px;padding:10px 20px;color:#333;font:inherit;font-weight:600;text-transform:none;min-height:42px}.ghrl-tab.is-active,.ghrl-tab:hover{background:var(--ghrl-accent);border-color:var(--ghrl-accent);color:#fff}.ghrl-panel[hidden]{display:none!important}.ghrl-room{margin-bottom:24px}.ghrl-scene{position:relative;width:100%;isolation:isolate}.ghrl-room-image{display:block;width:100%;height:auto}.ghrl-room-label{text-align:center;margin:10px 0 16px;font-weight:600}.ghrl-hotspot{position:absolute;transform:translate(-50%,-50%);z-index:2}.ghrl-hotspot:focus-within,.ghrl-hotspot.is-open,.ghrl-hotspot:hover{z-index:15}.ghrl-plus{
 display:flex!important;align-items:center;justify-content:center;
 width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;
 padding:0!important;margin:0!important;
 background:rgba(234,80,101,.92)!important;color:#fff!important;
 border:1px solid rgba(255,255,255,.9)!important;border-radius:50%!important;
 font-family:Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1!important;
 cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.22)!important;
 transform:scale(1)!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
 -webkit-appearance:none;appearance:none;
}
.ghrl-plus:hover,.ghrl-hotspot.is-open .ghrl-plus{
 background:#ea5065!important;transform:scale(1.12)!important;
 box-shadow:0 2px 8px rgba(0,0,0,.25)!important;
}
.ghrl-plus:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}
@media (prefers-reduced-motion:reduce){.ghrl-plus{transition:none!important}}
.ghrl-product{position:absolute;display:none;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);width:270px;max-width:80vw;padding:10px;background:#fff;border-radius:10px;box-shadow:0 5px 25px #0004;color:#262626;text-align:left}.ghrl-hotspot:hover .ghrl-product,.ghrl-hotspot:focus-within .ghrl-product,.ghrl-hotspot.is-open .ghrl-product{display:block}.ghrl-product-link{display:flex;gap:10px;align-items:center;text-decoration:none!important;color:inherit!important}.ghrl-product-thumb{flex:0 0 86px;width:86px}.ghrl-product-thumb img{display:block;width:86px;height:86px;object-fit:cover;border-radius:5px}.ghrl-product-copy{min-width:0;display:flex;flex-direction:column;gap:3px;flex:1}.ghrl-product-name{font-size:13px;font-weight:700;line-height:1.35}.ghrl-product-price{font-size:13px;color:#d92f46;font-weight:700}.ghrl-product-price del{opacity:.6;font-size:11px}.ghrl-product-cta{color:var(--ghrl-accent);font-size:12px}.ghrl-scene .ghrl-hotspot:first-of-type .ghrl-product{left:0;transform:translateX(0)}@media(max-width:650px){.ghrl-wrap{margin:22px auto}.ghrl-heading{margin-bottom:15px}.ghrl-tab{padding:8px 13px;font-size:13px}.ghrl-plus{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;font-size:18px!important}.ghrl-product{width:205px;padding:7px;max-width:75vw}.ghrl-product-link{gap:7px}.ghrl-product-thumb,.ghrl-product-thumb img{flex-basis:62px;width:62px;height:62px}.ghrl-product-name,.ghrl-product-price{font-size:11px}.ghrl-product-cta{font-size:10px}}

.ghrl-product::after{content:"";position:absolute;left:0;right:0;height:14px;top:100%;}

/* Gallery navigation; product cards below the photo are intentionally omitted. */
.ghrl-gallery .ghrl-room[hidden]{display:none!important}
.ghrl-gallery-nav{display:flex;justify-content:center;align-items:center;gap:10px;max-width:100%;margin:12px auto 8px}
.ghrl-gallery-thumb{padding:3px!important;margin:0!important;border:2px solid transparent!important;border-radius:9px!important;background:#fff!important;cursor:pointer;box-shadow:none!important;min-width:0!important;line-height:0!important}
.ghrl-gallery-thumb.is-active{border-color:var(--ghrl-accent)!important}
.ghrl-gallery-thumb img{display:block;width:76px;height:48px;max-width:none;object-fit:cover;border-radius:5px}
.ghrl-gallery-arrow{background:#fff!important;color:#333!important;border:1px solid #ddd!important;border-radius:50%!important;width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;margin:0!important;line-height:25px!important;font-size:23px!important;cursor:pointer}
.ghrl-gallery-arrow:hover{color:var(--ghrl-accent)!important;border-color:var(--ghrl-accent)!important}
@media(max-width:650px){.ghrl-gallery-nav{gap:5px}.ghrl-gallery-thumb img{width:54px;height:36px}.ghrl-gallery-arrow{width:27px!important;height:27px!important;min-width:27px!important}}
/* Room-color control: compact overlay in the lower-right of each photo. */
.ghrl-gallery .ghrl-look-set[hidden],.ghrl-gallery .ghrl-room[hidden]{display:none!important}
.ghrl-scene{position:relative}
.ghrl-color-overlay{position:absolute;right:14px;bottom:14px;z-index:9;max-width:calc(100% - 28px);margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.91);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:13px;box-shadow:0 3px 13px rgba(0,0,0,.12);color:#333}
.ghrl-color-overlay .ghrl-color-toggle{display:none;cursor:pointer;list-style:none;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:700;padding:9px 11px}
.ghrl-color-toggle::-webkit-details-marker{display:none}
.ghrl-color-overlay .ghrl-colors{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:0!important;padding:7px!important}
.ghrl-color-overlay .ghrl-color{display:inline-flex!important;align-items:center;justify-content:center;gap:5px!important;background:rgba(255,255,255,.95)!important;border:1px solid #ddd!important;border-radius:20px!important;padding:4px 7px!important;margin:0!important;color:#333!important;line-height:1!important;font:inherit!important;font-size:11px!important;min-height:27px!important;cursor:pointer!important;text-transform:none!important}
.ghrl-color-overlay .ghrl-color.is-active{border-color:var(--ghrl-accent)!important;box-shadow:0 0 0 1px var(--ghrl-accent)!important}
.ghrl-color-overlay .ghrl-color-dot{display:inline-block;width:13px;height:13px;flex:0 0 13px;border-radius:50%;background:var(--ghrl-swatch);border:1px solid #0002}
.ghrl-color-overlay .ghrl-color-code{font-size:11px!important;font-weight:600}
.ghrl-color-overlay .ghrl-color:focus-visible,.ghrl-color-overlay .ghrl-color-toggle:focus-visible{outline:2px solid var(--ghrl-accent)!important;outline-offset:2px}
@media(max-width:650px){
 .ghrl-color-overlay{right:8px;bottom:8px;max-width:calc(100% - 16px);border-radius:12px}
 .ghrl-color-overlay .ghrl-color-toggle{display:flex;padding:8px 10px}
 .ghrl-color-overlay:not([open]) .ghrl-colors{display:none}
 .ghrl-color-overlay[open] .ghrl-colors{max-width:235px;justify-content:flex-end;padding:4px 7px 8px!important}
 .ghrl-color-overlay .ghrl-color{min-height:28px!important;padding:4px 6px!important;font-size:10px!important}
 .ghrl-color-overlay .ghrl-color-code{font-size:10px!important}
}

/* Crossfade layer for color variants and gallery images (v2.2.3). */
.ghrl-scene { position:relative; }
.ghrl-scene > .ghrl-transition-layer { display:block!important; box-shadow:none!important; }
@media (prefers-reduced-motion: reduce) { .ghrl-scene > .ghrl-transition-layer { display:none!important; } }

/* v2.2.5 - opacity fix for independent overlay: unaffected by external rules for IMG tags. */
.ghrl-wrap .ghrl-scene > .ghrl-transition-overlay {
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 display:block!important;opacity:1;z-index:8!important;pointer-events:none!important;
 background-position:center center!important;background-repeat:no-repeat!important;
 background-size:100% 100%!important;border-radius:inherit!important;
 transform:none!important;max-width:none!important;margin:0!important;padding:0!important;
}
@keyframes ghrl-photo-dissolve { 0% {opacity:1} 100% {opacity:0} }
.ghrl-wrap .ghrl-scene > .ghrl-transition-overlay.ghrl-transition-fading {
 animation:ghrl-photo-dissolve 650ms ease-in-out both!important;
}
@media(prefers-reduced-motion:reduce){.ghrl-wrap .ghrl-scene > .ghrl-transition-overlay{display:none!important}}

/* v2.2.6: leave opacity animation to JS; preserve overlay above incoming photo. */
.ghrl-wrap .ghrl-scene > .ghrl-transition-overlay {
  will-change:opacity;
  background-size:100% 100% !important;
}

/* v2.2.7 cover sits above slides, independent from hidden color variants. */
.ghrl-gallery{position:relative}
.ghrl-gallery > .ghrl-fade-cover{box-sizing:border-box;pointer-events:none!important;will-change:opacity}

/* v2.2.8: viewport-fixed cover is independent of room/gallery hiding. */
.ghrl-fade-viewport-cover{box-sizing:border-box!important;pointer-events:none!important;transition:none;}

/* v2.2.9 independent crossfade surface */
body > .ghrl-v229-cover{box-sizing:border-box!important;transform:none!important;max-width:none!important;max-height:none!important;display:block!important;visibility:visible!important;}
