/* Scoped to HerCurvesEdit Look Gallery; no global theme overrides. */
#hcegallery-open,
.hcegallery-submit,
.hcegallery-main-cta,
.hcegallery-card-content > a {
    background: linear-gradient(110deg, #a63060, #be4675);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 13px 19px;
    font: 700 12px/1.3 system-ui, sans-serif;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-height: 44px;
}
#hcegallery-open:hover,
.hcegallery-submit:hover,
.hcegallery-main-cta:hover,
.hcegallery-card-content > a:hover { background: #862549; color:#fff; }
#hcegallery-open:disabled,
.hcegallery-submit:disabled { opacity: .7; cursor: default; }
#hcegallery-open:focus-visible,
.hcegallery-submit:focus-visible,
.hcegallery-cancel:focus-visible,
.hcegallery-filters a:focus-visible,
.hcegallery-card-content a:focus-visible { outline: 3px solid #c75b84; outline-offset: 3px; }
#hcegallery-panel[hidden] { display:none!important; }
.hcegallery-submission {
    margin: 20px auto 34px;
    max-width: 850px;
    padding: clamp(22px, 4vw, 36px);
    border: 1px solid #ead6dd;
    border-radius: 22px;
    background: linear-gradient(135deg,#fff,#fff0f5);
    color:#31252b;
}
.hcegallery-eyebrow,
.hcegallery-card-eyebrow { margin: 0 0 8px; color: #a63060; font: 700 10px/1.4 system-ui, sans-serif; letter-spacing: .14em; }
.hcegallery-submission h3 { margin: 0 0 10px; font: 400 clamp(26px,4vw,38px)/1.1 Georgia,serif; }
.hcegallery-submission h3 em,.hcegallery-heading h1 em, .hcegallery-heading h2 em { color:#ac3564; }
.hcegallery-submission-intro { color:#695a5f; font: 400 14px/1.7 system-ui,sans-serif; }
.hcegallery-selection { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:9px; margin:20px 0; }
.hcegallery-selection div { background:#fff; border:1px solid #f0e0e3; border-radius:11px; padding:10px; min-width:0; }
.hcegallery-selection small { display:block; color:#9b365f; font:700 10px/1.4 system-ui,sans-serif; margin-bottom:4px; }
.hcegallery-selection strong { display:block; font:600 12px/1.4 system-ui,sans-serif; overflow-wrap:anywhere; }
.hcegallery-agreement { display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid #ead9de; border-radius:12px; padding:14px; font:400 13px/1.6 system-ui,sans-serif; cursor:pointer; }
.hcegallery-agreement input { position:static!important; pointer-events:auto!important; opacity:1!important; flex:0 0 19px; width:19px; height:19px; margin:2px 0 0; accent-color:#a63060; }
.hcegallery-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.hcegallery-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; align-items:center; }
.hcegallery-cancel { border:1px solid #dba2b8; background:#fff; border-radius:999px; padding:12px 20px; min-height:44px; color:#7c294e; font:700 12px system-ui,sans-serif; cursor:pointer; }
.hcegallery-status { min-height:1.2em; margin:14px 0 0; color:#733454; font:600 13px/1.5 system-ui,sans-serif; }
.hcegallery-view-link { color:#973159; text-decoration:underline; }
.hcegallery-directory { width:min(1200px,calc(100% - 30px)); margin: 42px auto 70px; color:#282126; }
.hcegallery-heading { max-width:740px; text-align:center; margin:0 auto 30px; }
.hcegallery-heading h1, .hcegallery-heading h2 { margin:0 0 12px; font:400 clamp(44px,7vw,76px)/1.05 Georgia,serif; }
.hcegallery-heading > p:not(.hcegallery-eyebrow) { color:#756a6f; font:400 14px/1.8 system-ui,sans-serif; margin:0 0 22px; }
.hcegallery-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin: 28px 0; }
.hcegallery-filters a { border:1px solid #e9d4da; border-radius:999px; padding:10px 14px; text-decoration:none; font:600 12px/1.2 system-ui,sans-serif; color:#833554; background:#fff; }
.hcegallery-filters a[aria-current="page"] { background:#a63060; color:#fff; border-color:#a63060; }
.hcegallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.hcegallery-card { overflow:hidden; border:1px solid #eedee3; border-radius:20px; background:#fff; box-shadow:0 14px 34px rgba(56,25,40,.05); min-width:0; }
.hcegallery-card-image { position:relative; aspect-ratio:4/3; background:linear-gradient(120deg,#e8cbd4,#fdf2f6); overflow:hidden; }
.hcegallery-card-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 34%; }
.hcegallery-card-image > span { position:absolute; left:14px; bottom:14px; border-radius:999px; background:rgba(41,28,35,.82); color:#fff; font:700 11px/1.3 system-ui,sans-serif; padding:8px 12px; }
.hcegallery-shape-thumbnail { position:absolute; width:66px; height:84px; right:12px; bottom:12px; overflow:hidden; border:3px solid #fff; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.16); background:#f6e5df; }
.hcegallery-shape-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; object-position:top center; }
.hcegallery-image-fallback { width:100%; height:100%; background:linear-gradient(140deg,#f8d5df,#fff8f8,#e4b8c7); }
.hcegallery-card-content { padding:18px; }
.hcegallery-card-content h2 { margin:0 0 16px; font:400 25px/1.15 Georgia,serif; }
.hcegallery-card-content dl { margin:0 0 19px; }
.hcegallery-card-content dl > div { display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid #f1e5e9; padding:8px 0; }
.hcegallery-card-content dt { color:#796a71; font:500 12px/1.5 system-ui,sans-serif; }
.hcegallery-card-content dd { margin:0; text-align:right; color:#31232b; font:600 12px/1.5 system-ui,sans-serif; }
.hcegallery-card-content > a { font-size:11px; }
.hcegallery-empty { border:1px solid #eddae1; border-radius:18px; text-align:center; padding:56px 20px; background:#fff6fa; }
.hcegallery-empty h2 { font:400 31px Georgia,serif; margin:0 0 9px; }
.hcegallery-empty p { margin:0; color:#77676f; font:400 14px/1.6 system-ui,sans-serif; }
.hcegallery-pagination ul { list-style:none; display:flex; justify-content:center; flex-wrap:wrap; gap:7px; padding:0; margin:32px 0 0; }
.hcegallery-pagination a,.hcegallery-pagination span { display:block; padding:9px 13px; border:1px solid #ead5dd; border-radius:999px; color:#8e3456; text-decoration:none; font:600 12px system-ui,sans-serif; }
.hcegallery-pagination .current { background:#a63060; color:white; }
@media (max-width:900px) { .hcegallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .hcegallery-selection { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:550px) { .hcegallery-grid { grid-template-columns:1fr; } .hcegallery-submission { margin:17px 0 28px; padding:20px 14px; } .hcegallery-card-image { aspect-ratio:5/4; } .hcegallery-buttons button { width:100%; } .hcegallery-heading { margin-top:14px; } }

/* v1.1 — Pinterest-inspired, fully clickable look cards and detail experience. */
.hcegallery-directory,
.hcegallery-directory * { box-sizing: border-box; }
.hcegallery-directory .hcegallery-heading { max-width:850px; }
.hcegallery-directory .hcegallery-heading h2 { font-size:clamp(34px,4.4vw,54px); line-height:1.08; }
.hcegallery-directory .hcegallery-main-cta,
.hcegallery-directory .hcegallery-main-cta:visited,
.hcegallery-directory .hcegallery-main-cta:hover,
.hcegallery-directory .hcegallery-main-cta:focus-visible {
    color:#fff!important; font-size:12px!important; font-weight:800!important;
    letter-spacing:.035em; text-decoration:none!important; opacity:1!important;
}
.hcegallery-directory .hcegallery-main-cta:hover { background:#782144!important; }
.hcegallery-directory .hcegallery-filters a[aria-current="page"],
.hcegallery-directory .hcegallery-filters a[aria-current="page"]:visited,
.hcegallery-directory .hcegallery-filters a[aria-current="page"]:hover {
    color:#fff!important; background:#a63060!important; opacity:1!important;
    text-decoration:none!important;
}
.hcegallery-directory .hcegallery-filters a:not([aria-current="page"]) { color:#833554!important; background:#fff!important; }
.hcegallery-directory .hcegallery-filters a { text-decoration:none!important; white-space:nowrap; }
.hcegallery-directory .hcegallery-filters a:hover { border-color:#ac3564!important; }
/* CSS columns produce a masonry-like editorial wall and do not need JS. */
.hcegallery-directory .hcegallery-grid { display:block; column-count:3; column-gap:20px; }
.hcegallery-directory .hcegallery-card {
    display:inline-block; vertical-align:top; width:100%; margin:0 0 20px;
    break-inside:avoid; -webkit-column-break-inside:avoid;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.hcegallery-directory .hcegallery-card:hover,
.hcegallery-directory .hcegallery-card:focus-within {
    transform:translateY(-4px); box-shadow:0 18px 40px rgba(94,43,65,.14);
    border-color:#ca9aaa;
}
.hcegallery-directory .hcegallery-card-link,
.hcegallery-directory .hcegallery-card-link:visited {
    display:block; color:#2f2630!important; text-decoration:none!important; height:100%;
}
.hcegallery-directory .hcegallery-card-link:focus-visible {
    outline:3px solid #a63060!important; outline-offset:3px; border-radius:20px;
}
.hcegallery-directory .hcegallery-card-image { aspect-ratio:4/5; }
.hcegallery-directory .hcegallery-card:nth-child(3n+2) .hcegallery-card-image { aspect-ratio:5/6; }
.hcegallery-directory .hcegallery-card:nth-child(3n+3) .hcegallery-card-image { aspect-ratio:4/4.7; }
.hcegallery-directory .hcegallery-card-image img { object-position:center 22%; transition:transform .45s ease; }
.hcegallery-directory .hcegallery-card:hover .hcegallery-card-image > img { transform:scale(1.035); }
.hcegallery-directory .hcegallery-card-content h3 {
    font:400 clamp(23px,2vw,29px)/1.16 Georgia,serif!important;
    color:#2a2027!important; margin:0 0 14px;
}
.hcegallery-directory .hcegallery-card-cta {
    display:inline-flex; min-height:44px; align-items:center; justify-content:center;
    background:#a63060!important; color:#fff!important; border-radius:999px;
    padding:11px 15px; font:800 11px/1.2 system-ui,sans-serif!important;
    letter-spacing:.015em; text-decoration:none!important;
}
.hcegallery-directory .hcegallery-card:hover .hcegallery-card-cta { background:#792244!important; }
.hcegallery-directory .hcegallery-card-link:focus-visible .hcegallery-card-cta { background:#792244!important; }
/* Keep each look detail within its own unguessable moderation boundary.
   Only approved records are rendered by PHP; cards share their approved URL. */
.hcegallery-directory.hcegallery-detail { max-width:1140px; }
.hcegallery-directory .hcegallery-breadcrumb {
    display:flex; gap:10px; align-items:center; flex-wrap:wrap;
    margin:0 0 26px; color:#7d6973; font:600 12px/1.5 system-ui,sans-serif;
}
.hcegallery-directory .hcegallery-breadcrumb a { color:#963259!important; text-decoration:underline!important; }
.hcegallery-directory .hcegallery-detail-intro { text-align:center; max-width:820px; margin:0 auto 32px; }
.hcegallery-directory .hcegallery-detail-intro h2 {
    color:#2e2429; font:400 clamp(38px,5.5vw,62px)/1.07 Georgia,serif;
    margin:6px 0 12px; overflow-wrap:break-word;
}
.hcegallery-directory .hcegallery-detail-intro > p:last-child {
    color:#77686c; font:400 14px/1.7 system-ui,sans-serif;
}
.hcegallery-directory .hcegallery-detail-hero { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:24px; align-items:stretch; }
.hcegallery-directory .hcegallery-detail-photo { position:relative; border-radius:22px; overflow:hidden; background:#f9eaf0; min-height:540px; }
.hcegallery-directory .hcegallery-detail-photo > img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; position:absolute; inset:0; }
.hcegallery-directory .hcegallery-image-note { position:absolute; bottom:16px; left:16px; background:rgba(44,34,42,.85); color:#fff!important; font:800 10px system-ui,sans-serif; letter-spacing:.09em; padding:10px 13px; border-radius:999px; }
.hcegallery-directory .hcegallery-detail-shape { position:absolute; bottom:16px; right:16px; margin:0; width:90px; border:3px solid #fff; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 4px 15px rgba(30,0,14,.14); }
.hcegallery-directory .hcegallery-detail-shape img { display:block; width:100%; height:116px; object-fit:cover; object-position:center top; }
.hcegallery-directory .hcegallery-detail-shape figcaption { text-align:center; padding:6px 3px; font:800 9px/1.2 system-ui,sans-serif; color:#6b3650; }
.hcegallery-directory .hcegallery-detail-summary { padding:clamp(19px,3.4vw,34px); border:1px solid #efdee4; border-radius:22px; background:linear-gradient(145deg,#fff,#fff5f8); min-width:0; }
.hcegallery-directory .hcegallery-detail-summary h3 { font:400 clamp(26px,3vw,42px)/1.1 Georgia,serif; margin:8px 0 16px; overflow-wrap:break-word; }
.hcegallery-directory .hcegallery-fit-note { font:400 14px/1.65 system-ui,sans-serif; color:#725862; margin:0 0 22px; }
.hcegallery-directory .hcegallery-detail-mini { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.hcegallery-directory .hcegallery-detail-mini > div { border:1px solid #eddee3; border-radius:13px; background:#fff; padding:13px 12px; min-width:0; }
.hcegallery-directory .hcegallery-detail-mini small { color:#ad3a66; display:block; font:800 10px system-ui,sans-serif; letter-spacing:.08em; margin-bottom:9px; }
.hcegallery-directory .hcegallery-detail-mini strong { font:400 clamp(15px,1.5vw,19px)/1.4 Georgia,serif; color:#30262a; overflow-wrap:break-word; }
.hcegallery-directory .hcegallery-palette { margin-top:18px; padding:14px; background:#fff; border:1px solid #eddee3; border-radius:14px; }
.hcegallery-directory .hcegallery-palette > strong { font:800 10px system-ui,sans-serif; letter-spacing:.08em; color:#ab3964; }
.hcegallery-directory .hcegallery-swatches { margin-top:11px; display:flex; gap:7px; flex-wrap:wrap; }
.hcegallery-directory .hcegallery-swatch { display:inline-flex; align-items:center; gap:7px; border-radius:999px; background:#fff4f7; padding:7px 10px; font:600 11px system-ui,sans-serif; }
.hcegallery-directory .hcegallery-swatch i { flex:none; display:block; width:13px; height:13px; border:1px solid rgba(0,0,0,.2); border-radius:50%; }
.hcegallery-directory .hcegallery-photo-disclaimer { color:#88757d; font:400 11px/1.6 system-ui,sans-serif; margin:17px 0 0; }
.hcegallery-directory .hcegallery-detail-section { margin:45px 0 35px; padding:clamp(18px,3vw,32px); border:1px solid #f0e0e5; border-radius:22px; background:#fff; }
.hcegallery-directory .hcegallery-section-heading { text-align:center; max-width:660px; margin:0 auto 25px; }
.hcegallery-directory .hcegallery-section-heading h3 { font:400 clamp(30px,4vw,44px)/1.15 Georgia,serif; margin:5px 0 9px; }
.hcegallery-directory .hcegallery-section-heading h3 em { color:#b13e6b; }
.hcegallery-directory .hcegallery-section-heading > p:last-child { font:400 13px/1.65 system-ui,sans-serif; color:#70656a; }
.hcegallery-directory .hcegallery-shop-grid,.hcegallery-directory .hcegallery-articles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.hcegallery-directory .hcegallery-shop-item { border:1px solid #f0dfe5; border-radius:15px; padding:20px 17px; background:#fffafc; min-width:0; display:flex; flex-direction:column; }
.hcegallery-directory .hcegallery-shop-item small,.hcegallery-directory .hcegallery-article-copy small { display:block; color:#ad3964; font:800 10px/1.4 system-ui,sans-serif; letter-spacing:.07em; }
.hcegallery-directory .hcegallery-shop-item small span { float:right; color:#c78ca5; font:400 16px Georgia,serif; }
.hcegallery-directory .hcegallery-shop-item h4,.hcegallery-directory .hcegallery-article-copy h4 { font:400 23px/1.2 Georgia,serif; margin:15px 0 9px; color:#30252b; overflow-wrap:break-word; }
.hcegallery-directory .hcegallery-shop-item p { color:#7c6d74; font:400 12px/1.65 system-ui,sans-serif; margin:0 0 17px; }
.hcegallery-directory .hcegallery-shop-item a,
.hcegallery-directory .hcegallery-shop-item a:visited,
.hcegallery-directory .hcegallery-shop-item a:hover { display:inline-flex; align-items:center; justify-content:center; padding:12px 15px; min-height:44px; margin-top:auto; border-radius:999px; background:#a63060; color:#fff!important; text-decoration:none!important; font:800 11px/1.2 system-ui,sans-serif; text-align:center; }
.hcegallery-directory .hcegallery-shop-item a:hover { background:#792244; }
.hcegallery-directory .hcegallery-disclosure { color:#75666c; text-align:center; font:400 11px/1.6 system-ui,sans-serif; margin:16px 0 0; }
.hcegallery-directory .hcegallery-article { min-width:0; border:1px solid #f0e0e5; border-radius:16px; background:#fff; overflow:hidden; transition:box-shadow .2s ease,transform .2s ease; }
.hcegallery-directory .hcegallery-article:hover { box-shadow:0 12px 26px rgba(74,36,49,.1); transform:translateY(-2px); }
.hcegallery-directory .hcegallery-article-link,.hcegallery-directory .hcegallery-article-link:visited { display:block; color:#30252b!important; text-decoration:none!important; height:100%; }
.hcegallery-directory .hcegallery-article-image { height:185px; display:flex; justify-content:center; align-items:center; background:linear-gradient(135deg,#f6e0e9,#faf1ed); color:#a63060; font:400 28px Georgia,serif; text-align:center; }
.hcegallery-directory .hcegallery-article-image img { display:block; width:100%; height:100%; object-fit:cover; }
.hcegallery-directory .hcegallery-article-copy { padding:16px; }
.hcegallery-directory .hcegallery-article-copy h4 { font-size:22px; margin:10px 0 16px; }
.hcegallery-directory .hcegallery-text-link { color:#a63060!important; font:800 11px/1.4 system-ui,sans-serif; }
.hcegallery-directory .hcegallery-final-cta { text-align:center; background:linear-gradient(125deg,#fff2f5,#fff); border:1px solid #eddae1; border-radius:21px; padding:38px 18px; }
.hcegallery-directory .hcegallery-final-cta h3 { margin:5px 0 10px; font:400 clamp(31px,4vw,46px) Georgia,serif; }
.hcegallery-directory .hcegallery-final-cta h3 em { color:#ad3964; }
.hcegallery-directory .hcegallery-final-cta > p:not(.hcegallery-eyebrow) { color:#776970; font:400 13px/1.6 system-ui,sans-serif; }
.hcegallery-directory .hcegallery-back-link { display:inline-block; margin:15px 11px 0; color:#8e3153!important; text-decoration:underline!important; font:700 12px system-ui,sans-serif; }
.hcegallery-directory a:focus-visible { outline:3px solid #973159; outline-offset:3px; }
@media(max-width:900px) {
    .hcegallery-directory .hcegallery-grid { column-count:2; }
    .hcegallery-directory .hcegallery-detail-hero { grid-template-columns:minmax(0,1fr); }
    .hcegallery-directory .hcegallery-detail-photo { min-height:0; aspect-ratio:4/4.3; }
    .hcegallery-directory .hcegallery-shop-grid,.hcegallery-directory .hcegallery-articles { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
    .hcegallery-directory .hcegallery-grid { column-count:1; }
    .hcegallery-directory .hcegallery-card-image { aspect-ratio:4/4.6!important; }
    .hcegallery-directory .hcegallery-card { margin-bottom:16px; }
    .hcegallery-directory .hcegallery-detail-intro { margin-bottom:20px; }
    .hcegallery-directory .hcegallery-detail-photo { aspect-ratio:4/4.7; }
    .hcegallery-directory .hcegallery-detail-shape { width:76px; }
    .hcegallery-directory .hcegallery-detail-shape img { height:92px; }
    .hcegallery-directory .hcegallery-detail-hero { gap:14px; }
    .hcegallery-directory .hcegallery-detail-summary { padding:18px 14px; }
    .hcegallery-directory .hcegallery-detail-mini { gap:7px; }
    .hcegallery-directory .hcegallery-detail-mini > div { padding:12px 9px; }
    .hcegallery-directory .hcegallery-detail-section { padding:20px 13px; }
    .hcegallery-directory .hcegallery-shop-grid,.hcegallery-directory .hcegallery-articles { grid-template-columns:minmax(0,1fr); }
    .hcegallery-directory .hcegallery-article-image { height:215px; }
    .hcegallery-directory .hcegallery-shop-item { padding:18px 16px; }
}

/* v1.1.1: public look details routed via #hce-look-ID (avoids query 404). */
.hcegallery-directory[hidden],
.hcegallery-live-view[hidden] { display:none!important; }
.hcegallery-load-status { text-align:center; padding:60px 20px; color:#803650; font:600 15px/1.5 system-ui,sans-serif; }
.hcegallery-live-view { display:block; }
.hcegallery-live-view .hcegallery-detail-intro { scroll-margin-top:30px; }

/* v1.2.3: fill rows before starting the next row; center sparse filter results. */
.hcegallery-directory .hcegallery-grid {
    display:grid;
    column-count:auto;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),360px));
    justify-content:center;
    align-items:start;
    gap:24px;
}
.hcegallery-directory .hcegallery-grid > .hcegallery-card {
    width:100%;
    min-width:0;
    margin:0;
    box-sizing:border-box;
}
@media(max-width:620px){
    .hcegallery-directory .hcegallery-grid{grid-template-columns:minmax(0,1fr);gap:18px}
}
