.hac-hip-gallery{max-width:1200px;margin:32px auto;padding:24px;color:var(--hac-text);font-family:var(--hac-font-body)}
.hac-hip-gallery h1,.hac-hip-gallery h2{font-family:var(--hac-font-heading);color:var(--hac-gold)}
.hac-hip-gallery a:not(.hac-btn){color:var(--hac-gold)}
.hac-hip-gallery__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.hac-hip-gallery__grid--single{grid-template-columns:1fr}
.hac-hip-gallery__card{padding:20px;border:1px solid var(--hac-gold);border-radius:12px;overflow-wrap:anywhere}
.hac-hip-gallery__card img{display:block;width:75%;height:auto;object-fit:contain;margin-left:auto;margin-right:auto}
.hac-hip-gallery__maintenance{margin-top:32px;padding-top:20px;border-top:1px solid var(--hac-gold);overflow-wrap:anywhere}
.hac-hip-gallery nav{display:flex;gap:24px;margin-top:24px}
@media(max-width:600px){.hac-hip-gallery{margin:16px 0;padding:16px}.hac-hip-gallery__card{padding:12px}}

/* Prominent explanations; color supplements native controls and explicit labels. */
.hac-hip-privacy { margin:24px 0; padding:24px; border:2px solid var(--hac-gold); border-radius:12px; }
.hac-hip-privacy__notice { padding:16px; background:#292930; color:#fff4dc; border-left:5px solid #c1a87b; }
.hac-hip-privacy fieldset { min-width:0; margin:18px 0; padding:16px; border:1px solid #a7987c; }
.hac-hip-privacy legend { font-size:1.2rem; font-weight:700; padding:0 8px; }
.hac-hip-privacy__choice { display:flex; align-items:flex-start; gap:14px; margin:12px 0; padding:20px; border:3px solid transparent; border-left:8px solid var(--privacy-color); border-radius:8px; background:#25252b; color:#fff4dc; cursor:pointer; }
.hac-hip-privacy__choice--private { --privacy-color:#9ecfff; }
.hac-hip-privacy__choice--shareable-private { --privacy-color:#ffd37d; }
.hac-hip-privacy__choice--public { --privacy-color:#d7b8ff; }
.hac-hip-privacy__choice strong { display:block; font-size:1.45rem; color:var(--privacy-color); }
.hac-hip-privacy__choice span span { display:block; margin-top:8px; line-height:1.55; }
.hac-hip-privacy input[type=radio] { flex-shrink:0; width:22px; height:22px; margin-top:5px; accent-color:#e9dbb8; }
.hac-hip-privacy__choice:has(input:checked) { border-color:var(--privacy-color); }
.hac-hip-privacy__choice input:checked + span strong::after { content:' — Selected'; font-size:1rem; }
.hac-hip-privacy input:focus-visible, .hac-hip-privacy button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.hac-hip-privacy__photo label { display:block; padding:12px 0; line-height:1.55; }
.hac-hip-privacy__snapshot { display:block; max-width:240px; width:100%; height:auto; }
@media(max-width:600px) { .hac-hip-privacy { padding:12px; } .hac-hip-privacy__choice { padding:14px; } }

.hac-hip-share { margin:24px 0; padding:20px; border:1px solid var(--hac-gold); border-radius:8px; }
.hac-hip-share__url { display:block; width:100%; box-sizing:border-box; margin:12px 0; padding:12px; background:#fff4dc; color:#1c1c1e; font:16px/1.5 sans-serif; }
.hac-hip-share__status { min-height:1.5em; }
.hac-hip-visitor__portrait { display:block; max-width:100%; width:75%; height:auto;margin-left:auto;margin-right:auto; }
.hac-hip-visitor__snapshots { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:20px; width:75%; margin-right:auto; margin-left:auto; margin-bottom: 80px; }
.hac-hip-visitor__snapshots img { width:100%; height:auto; }
/* LA-PM / LA-WC shareable page: the graduate's snapshot at 50% width (Neal 2026-10-16). */
.hac-hip-visitor__snapshots--graduate { width:50%; }

/* WPForms milieu-suggestion form, themed to match the gallery pages. */
.hac-hip-gallery__form { margin-top:32px; padding-top:24px; border-top:1px solid var(--hac-gold); }
.hac-hip-gallery__form-intro { margin:0 0 20px; padding:16px; background:#292930; color:#fff4dc; border-left:5px solid var(--hac-gold); line-height:1.55; }
/* WPForms ships selectors like `.wpforms-container .wpforms-form .wpforms-field-label`
   (0,3,0) with font-weight:700; these prefix the gallery container AND use !important
   to win reliably regardless of stylesheet load order. Scoped to the form only. */
.hac-hip-gallery .hac-hip-gallery__form .wpforms-field-label { color:var(--hac-text) !important; font-family:var(--hac-font-heading) !important; font-size:1.1rem !important; font-weight:400 !important; }
.hac-hip-gallery .hac-hip-gallery__form .wpforms-field-sublabel,
.hac-hip-gallery .hac-hip-gallery__form .wpforms-field-description { color:var(--hac-text-muted) !important; font-weight:400 !important; }
.hac-hip-gallery .hac-hip-gallery__form input[type=text],
.hac-hip-gallery .hac-hip-gallery__form input[type=email],
.hac-hip-gallery .hac-hip-gallery__form input.wpforms-field-medium,
.hac-hip-gallery .hac-hip-gallery__form textarea { background:#fff4dc !important; color:#1c1c1e !important; border:1px solid var(--hac-gold) !important; border-radius:var(--hac-radius) !important; }
/* Match .hac-btn / .hac-btn--primary exactly (the button above the form). */
.hac-hip-gallery .hac-hip-gallery__form button.wpforms-submit {
    display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:0.4rem !important;
    font-family:var(--hac-font-heading) !important; font-size:0.82rem !important; font-weight:400 !important; letter-spacing:0.08em !important; text-transform:uppercase !important;
    background:var(--hac-gold-deep) !important; color:var(--hac-gold-light) !important;
    border:2px solid var(--hac-gold-deep) !important; border-radius:var(--hac-radius) !important; padding:0.55rem 1.2rem !important; cursor:pointer !important;
    transition:background var(--hac-transition), color var(--hac-transition), border-color var(--hac-transition);
}
.hac-hip-gallery .hac-hip-gallery__form button.wpforms-submit:hover { background:var(--hac-gold) !important; color:#1c1c1e !important; border-color:var(--hac-gold) !important; }
/* Form 6677 is printed by the plugin, so WPForms themes never reach it: make the WPForms box transparent so the form sits on the dark gallery page. */
.hac-hip-gallery .hac-hip-gallery__form .wpforms-container,
.hac-hip-gallery .hac-hip-gallery__form .wpforms-container .wpforms-form {
    --wpforms-background-color: transparent;
    background: transparent !important; box-shadow: none !important; border: 0 !important;
}

/* Same image glow as the Hawkes print configurator preview. */
.hac-hip-gallery img {
  box-shadow: 0px 8px 35px 0px #f5e9c9;
}

.hac-btn hac-btn--primary {
  margin-left:auto;
  margin-right:auto;
}

#inner-wrap > div > main > div > article > p:nth-child(4),
main.hac-hip-visitor > section.hac-hip-card-preview > h2,
main.hac-hip-visitor > section.hac-hip-card-preview > p {
  text-align:center;
}

.hac-hip-card-preview { margin-top:80px; }
.hac-hip-card-preview img, .hac-hip-gen__card--inspect { margin-left:auto; margin-right:auto; width:75%; }

.hac-hip-visitor__before,
.hac-hip-visitor__disclaimer,
.hac-hip-card-preview h2,
.hac-hip-card-preview p,
.hac-hip-gallery__card h2,
.hac-hip-gallery__card p
 { text-align:center; }

.hac-hip-visitor__mockup {
  margin-top:80px;
}

/* Center standalone action buttons and the 75%-width images. Replaces the old
   `main > p:nth-child(4)` positional rule, which the breadcrumb/intro insertions
   shifted; matched by what the element IS, so layout changes can't misalign it. */
.hac-hip-gallery > p:has(> .hac-btn) { text-align:center; }
.hac-hip-gallery > img { display:block; margin-left:auto; margin-right:auto; }

/* Sticky breadcrumbs at the top of every Family Gallery page. */
.hac-hip-breadcrumbs { position:sticky; top:0; z-index:40; margin:0 -24px 20px; padding:12px 24px; background:#1c1c1e; border-bottom:1px solid var(--hac-gold); font-size:0.95rem; overflow-wrap:anywhere; }
.hac-hip-breadcrumbs a { color:var(--hac-gold); }
.hac-hip-breadcrumbs [aria-current="page"] { color:var(--hac-text); font-weight:700; }
.hac-hip-breadcrumbs__sep { margin:0 6px; color:var(--hac-gold); }
@media(max-width:600px) { .hac-hip-breadcrumbs { margin:0 -16px 16px; padding:10px 16px; } }

/* "How your Family Gallery works" intro (open on first arrival from a completed order). */
.hac-hip-gallery__about { margin:16px 0 24px; border:1px solid var(--hac-gold); border-radius:8px; background:#25252b; }
.hac-hip-gallery__about > summary { padding:14px 16px; cursor:pointer; font-family:var(--hac-font-heading); color:var(--hac-gold); font-size:1.1rem; }
.hac-hip-gallery__about-body { padding:0 16px 16px; line-height:1.6; }
.hac-hip-gallery__about-body p { margin:0 0 12px; }
.hac-hip-gallery__gift p { text-align:center; }

/* Collapsible permission sections (open by default; collapse after a successful save). */
.hac-hip-privacy__disclosure > summary { cursor:pointer; list-style:none; font-family:var(--hac-font-heading); color:var(--hac-gold); font-size:1.5rem; font-weight:700; padding:4px 0; display:flex; align-items:center; gap:8px; }
.hac-hip-privacy__disclosure > summary::-webkit-details-marker { display:none; }
.hac-hip-privacy__disclosure > summary::after { content:'▾'; margin-left:auto; font-size:1rem; opacity:0.8; }
.hac-hip-privacy__disclosure[open] > summary::after { content:'▴'; }
.hac-hip-privacy__panel { margin-top:12px; }
/* Shareable Gallery pages: [hip_affiliate_gallery] + [hip_public_gallery] (2026-10-13) */
.hac-hip-ag__filter{margin:0 0 24px}
.hac-hip-ag__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:24px}
.hac-hip-ag__tile{padding:16px;border:1px solid var(--hac-gold);border-radius:12px;overflow-wrap:anywhere}
.hac-hip-ag__portrait img{display:block;width:100%;height:auto}
.hac-hip-ag__snaps{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.hac-hip-ag__snap{padding:0;border:1px solid var(--hac-gold);border-radius:4px;background:none;cursor:zoom-in;line-height:0}
.hac-hip-ag__snap img{display:block;width:56px;height:56px;object-fit:cover}
.hac-hip-ag__meta{margin:8px 0 0}
.hac-hip-ag__share{margin:12px 0 0;padding:12px}
.hac-hip-ag__pages{display:flex;gap:16px;margin-top:24px}
.hac-hip-ag__portrait{position:relative;display:block}
.hac-hip-ag__badge{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:4px;font-size:13px;line-height:1.5;color:#fff;background:rgba(28,28,30,.85)}
.hac-hip-ag__badge--ai{background:rgba(110,60,140,.9)}
/* Collection Shareable Gallery (2026-10-14, hac-hip-collection-share.php) */
.hac-hip-cs__actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.hac-hip-cs__create{margin:32px 0 0;padding:20px;border:1px solid var(--hac-gold);border-radius:8px}
.hac-hip-cs__create select{max-width:100%}
.hac-hip-cs-owner__form{display:inline-block;margin:12px 8px 0 0}
