/* Scoped homepage enhancements, preserving the existing theme layout and card links. */
.hce7-bodyshape .hce7-shape-card.hce-home-shape-ready .hce7-shape-visual {
    display: block;
    width: 100%;
    min-height: 0;
    height: auto;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    position: relative;
    background: #f9eef1;
}
.hce7-bodyshape .hce7-shape-card .hce-home-shape-photo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.hce4-shop .hce4-shop-image img[data-hce-sync="1"] { object-fit: cover; object-position: 50% 20%; }
.hce-home-gallery {padding: clamp(35px,5vw,85px) 16px; background:#fff8fa; color:#30272c;}
.hce-home-gallery * {box-sizing:border-box;}
.hce-home-gallery-inner {max-width:1240px;margin:0 auto;}
.hce-home-gallery-heading {display:flex;gap:22px;align-items:flex-end;justify-content:space-between;margin-bottom:24px;}
.hce-home-gallery-kicker {font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.16em;color:#a33361;margin:0 0 12px;}
.hce-home-gallery h2 {font:400 clamp(30px,4vw,54px)/1.06 Georgia,serif;margin:0 0 11px;}
.hce-home-gallery h2 em {color:#aa3766;font-weight:400;}
.hce-home-gallery-heading p:not(.hce-home-gallery-kicker) {font:400 14px/1.55 system-ui,sans-serif;color:#66595f;margin:0;max-width:560px;}
.hce-home-gallery-more,.hce-home-gallery-bottom a {flex-shrink:0;border-radius:30px;color:#fff!important;background:#a73360;text-decoration:none!important;padding:12px 17px;font:700 11px/1.3 system-ui,sans-serif;letter-spacing:.025em;}
.hce-home-gallery-more:hover,.hce-home-gallery-bottom a:hover {color:#fff!important;background:#802247;}
.hce-home-gallery-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.hce-home-gallery-look {display:block;position:relative;min-width:0;overflow:hidden;border-radius:15px;aspect-ratio:3/4;isolation:isolate;background:#e9dce1;color:#fff!important;text-decoration:none!important;box-shadow:0 6px 24px #3a142015;}
.hce-home-gallery-look::after {content:"";z-index:0;position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(20,12,18,.85));pointer-events:none;}
.hce-home-gallery-look img {width:100%;height:100%;display:block;object-fit:cover;object-position:center 24%;transition:transform .25s ease;}
.hce-home-gallery-look:hover img {transform:scale(1.035);}
.hce-home-gallery-name {position:absolute;z-index:1;bottom:45px;left:15px;right:12px;color:#fff;font:400 clamp(18px,2vw,27px)/1.12 Georgia,serif;text-shadow:0 2px 8px #23111a;}
.hce-home-gallery-action {position:absolute;z-index:1;bottom:16px;left:16px;right:12px;color:#fff;font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.08em;}
.hce-home-gallery-placeholder {display:flex;align-items:center;justify-content:center;height:100%;font:70px Georgia,serif;color:#b9557c;}
.hce-home-gallery-empty {border:1px solid #ecd9e1;border-radius:18px;background:#fff;padding:34px;text-align:center;}
.hce-home-gallery-bottom {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;font:400 12px/1.5 system-ui,sans-serif;color:#806a74;}
.hce-home-gallery :is(a):focus-visible,.hce-home-added-nav:focus-visible,.hce-home-added-footer:focus-visible {outline:3px solid #ac3b68;outline-offset:3px;}
.hce-home-added-nav {margin-inline-start:12px;white-space:nowrap;}
.hce-home-added-footer {display:inline-block;margin-inline-start:12px;}
@media (max-width:820px) {
    .hce-home-gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
    .hce-home-gallery-heading {align-items:flex-start;flex-direction:column;}
    .hce-home-gallery-more {align-self:flex-start;}
    .hce-home-gallery-name {font-size:21px;}
}
@media (max-width:400px) {
    .hce-home-gallery-grid {gap:9px;}
    .hce-home-gallery-name {font-size:17px;bottom:36px;left:11px;}
    .hce-home-gallery-action {font-size:9px;left:11px;bottom:11px;}
    .hce-home-gallery-bottom {align-items:flex-start;flex-direction:column;}
}
@media (prefers-reduced-motion:reduce) {.hce-home-gallery-look img {transition:none;}}
