/* Rhimmatlal catalogue: scoped frontend styles. */
.rh-categories-grid,.rh-design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rh-category-card{text-align:center;display:block;text-decoration:none;color:#24211D}
.rh-category-image-wrap{aspect-ratio:4/5;overflow:hidden;background:#E9DFCF}
.rh-category-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.rh-category-card:hover .rh-category-image{transform:scale(1.03)}
.rh-category-name{display:block;font-family:Cormorant,Georgia,serif;font-size:1.8rem;font-weight:500;margin-top:8px}
.rh-design-tile{display:block;border:0;padding:0;background:#E9DFCF;cursor:pointer;width:100%;aspect-ratio:4/5;overflow:hidden}
.rh-design-thumb{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.rh-design-tile:hover .rh-design-thumb{transform:scale(1.03)}
.rh-modal[hidden]{display:none!important}
.rh-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;isolation:isolate}
.rh-modal-backdrop{position:absolute;inset:0;background:rgba(6,15,12,.87)}
/* The panel has a fixed-height heading row, fixed thumbnails/CTA and a flexible photo row. */
.rh-modal-panel{box-sizing:border-box;position:relative;z-index:1;display:grid;grid-template-rows:46px minmax(0,1fr) 70px 50px;gap:10px;width:min(760px,100%);height:min(780px,calc(100vh - 40px));height:min(780px,calc(100dvh - 40px));min-height:0;max-height:100%;overflow:hidden;padding:16px 28px 20px;background:#F7F3EA;color:#24211D;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.34);border-radius:4px}
.rh-modal button{font-family:Karla,Arial,sans-serif}
.rh-modal-header{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:0;padding:0 2px;text-align:left}
.rh-modal-close{box-sizing:border-box;position:relative;flex:0 0 40px;z-index:4;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;padding:0!important;background:transparent!important;color:#24211D!important;font:normal 30px/1 Arial,sans-serif!important;cursor:pointer;transition:background-color .18s,color .18s}
.rh-modal-close:hover{background:#E9DFCF!important;color:#123D32!important}
.rh-modal-photo-wrap{position:relative;min-width:0;min-height:0;height:100%;background:#fff;overflow:hidden}
.rh-modal-stage{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;touch-action:pan-y;cursor:default;user-select:none;-webkit-user-select:none}
.rh-modal-stage.rh-is-zoomed{touch-action:none;cursor:grab}
.rh-modal-stage.rh-is-dragging{cursor:grabbing}
/* The image must be positioned independently of grid/intrinsic sizing. Otherwise square or tall images can force their own height beyond the fixed stage and be cropped. */
.rh-modal-image{position:absolute!important;inset:0!important;display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center center!important;transform-origin:center;pointer-events:none;user-select:none;-webkit-user-drag:none;will-change:transform}
.rh-modal-arrow{box-sizing:border-box!important;position:absolute;top:50%;z-index:2;transform:translateY(-50%);display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;width:44px;height:54px;margin:0!important;padding:0!important;border:1px solid rgba(18,61,50,.15)!important;border-radius:3px;background:rgba(247,243,234,.88)!important;color:#123D32!important;line-height:0!important;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.05);transition:background-color .18s,color .18s,box-shadow .18s}
.rh-modal-arrow .rh-modal-chevron{display:block!important;box-sizing:border-box!important;width:24px!important;height:24px!important;margin:0!important;padding:0!important;fill:none!important;stroke:currentColor!important;stroke-width:2.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;transform:none!important;flex:none!important}
.rh-modal-arrow[data-rh-prev]{left:38px}
.rh-modal-arrow[data-rh-next]{right:38px}
.rh-modal-arrow[hidden]{display:none!important}
.rh-modal-arrow:hover{background:#123D32!important;color:#F7F3EA!important;box-shadow:0 3px 12px rgba(0,0,0,.16)}
.rh-modal-arrow:active{background:#0D211C!important;color:#F7F3EA!important}
/* Kadence's generic focused-button styling must not leave mouse-clicked arrows highlighted. */
.rh-modal-arrow:focus:not(:focus-visible){background:rgba(247,243,234,.88)!important;color:#123D32!important;outline:0!important;box-shadow:0 2px 10px rgba(0,0,0,.05)!important}
.rh-modal-zoom{position:absolute;z-index:3;bottom:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:100px;height:36px;margin:0!important;padding:6px 10px!important;border:1px solid rgba(18,61,50,.16)!important;border-radius:4px;background:rgba(247,243,234,.95)!important;color:#123D32!important;cursor:pointer;font-size:12px!important;font-weight:700!important;letter-spacing:.03em;transition:background-color .18s,color .18s}
.rh-modal-zoom:hover,.rh-modal-zoom[aria-pressed="true"]{background:#123D32!important;color:#fff!important}
.rh-modal-zoom:focus:not(:focus-visible),.rh-modal-close:focus:not(:focus-visible){outline:0!important;box-shadow:none!important}
.rh-modal-zoom-symbol{font:normal 23px/1 Arial,sans-serif}
.rh-modal-thumbnails{box-sizing:border-box;display:flex;align-items:center;justify-content:safe center;gap:8px;min-width:0;min-height:0;height:70px;overflow-x:auto;overflow-y:hidden;padding:4px 6px;margin:0;scrollbar-width:thin;overscroll-behavior-x:contain}
.rh-thumb-button{box-sizing:border-box;flex:0 0 60px;display:block;width:60px;height:60px;aspect-ratio:1/1;overflow:hidden;margin:0!important;padding:0!important;border:2px solid transparent!important;border-radius:3px;background:transparent!important;cursor:pointer;transition:border-color .15s,opacity .15s}
.rh-thumb-button:hover{border-color:#B08A4A!important}
.rh-thumb-button[aria-current="true"]{border-color:#123D32!important}
.rh-thumb-button img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center center!important}
.rh-modal-reference{flex:1 1 auto;min-width:0;min-height:0;margin:0!important;font-family:Karla,Arial,sans-serif!important;font-size:22px!important;font-weight:600!important;letter-spacing:.005em!important;line-height:1.25!important;color:#24211D!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rh-modal-cta{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;justify-self:center;align-self:stretch;min-height:50px;max-width:100%;margin:0!important;padding:10px 24px;background:#123D32;color:#F7F3EA!important;text-decoration:none!important;font-family:Karla,Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.045em;line-height:1.35;text-align:center;border:1px solid #123D32;border-radius:3px;transition:background-color .2s,box-shadow .2s,transform .18s,border-color .2s}
.rh-modal-cta:hover{background:#0D211C!important;color:#fff!important;border-color:#B08A4A;box-shadow:0 6px 18px rgba(13,33,28,.25);transform:translateY(-2px)}
.rh-modal-cta:active{background:#0D211C!important;box-shadow:0 2px 8px rgba(13,33,28,.2);transform:translateY(0) scale(.985)}
.rh-modal-cta:focus-visible,.rh-modal-arrow:focus-visible,.rh-modal-close:focus-visible,.rh-modal-zoom:focus-visible,.rh-thumb-button:focus-visible,.rh-design-tile:focus-visible{outline:3px solid #B08A4A!important;outline-offset:2px!important}
body.rh-modal-open{overflow:hidden}
@media(max-width:767px){
 .rh-design-grid,.rh-categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .rh-modal-panel{grid-template-rows:42px minmax(0,1fr) 60px 52px;gap:8px;padding:10px 10px 12px}
 .rh-modal-thumbnails{height:60px;gap:6px}
 .rh-thumb-button{width:52px;height:52px;flex-basis:52px}
 .rh-modal-reference{font-size:17px!important;line-height:1.3!important}
 .rh-modal-arrow{width:34px;height:45px;font-size:28px!important}
 .rh-modal-arrow[data-rh-prev]{left:14px}
 .rh-modal-arrow[data-rh-next]{right:14px}
 .rh-modal-zoom{min-width:82px;height:34px;bottom:8px;right:8px;font-size:11px!important;padding:4px 7px!important}
 .rh-modal-cta{font-size:11px;padding:9px 12px}
 .rh-category-name{font-size:1.45rem}
}
/* Leave 10% of the visible viewport on every side of phone galleries.
   The coarse-pointer branch includes phones held in landscape without
   changing the approved desktop dialog. Use separate viewport units for
   vertical and horizontal padding: percentage padding uses width on both. */
@media(max-width:767px), (max-width:1024px) and (hover:none) and (pointer:coarse){
 .rh-modal{box-sizing:border-box;padding:10vh 10vw;padding:10dvh 10vw}
 .rh-modal-panel{width:100%;max-width:100%;height:80vh;height:80dvh;max-height:100%}
}
@media(hover:none){
 .rh-modal-arrow:hover{background:rgba(247,243,234,.88)!important;color:#123D32!important;box-shadow:0 2px 10px rgba(0,0,0,.05)}
 .rh-modal-cta:hover{background:#123D32!important;color:#F7F3EA!important;border-color:#123D32;box-shadow:none;transform:none}
}
@media(prefers-reduced-motion:reduce){.rh-modal *, .rh-design-thumb, .rh-category-image{transition:none!important}}
