/* Product and gallery detail page photo presentation — 1.0.0d */
.hf-detail-figure{margin:0 0 18px}.hf-detail-figure a{display:block}.hf-detail-figure img{width:100%;object-fit:contain;background:#f7f3eb}.hf-detail-figure figcaption{font-size:13px;color:#7b6e5d;text-align:center;padding:9px}
.hf-photo-stack .hf-detail-figure img{border:8px solid #e6dcc5;padding:12px;background:#243348;max-height:680px}
.hf-photo-stack .hf-detail-figure a:focus-visible{outline:3px solid #c2a06a;outline-offset:4px}

/* HistoryFramed Gallery Readability and Compact Headers 1.0.0e */

/* -------------------------------------------------
   GLOBAL PRODUCT AND GALLERY CARD CONTRAST
------------------------------------------------- */

.hf-card .hf-card-copy {
    background: #fffaf0;
    color: #192b3c;
}

.hf-card .hf-card-copy h3,
.hf-card .hf-card-copy h3 a,
.hf-card .hf-card-copy h3 a:visited {
    color: #192b3c !important;
}

.hf-card .hf-card-copy .hf-muted,
.hf-card .hf-card-copy .hf-muted:visited {
    color: #65543d !important;
}

.hf-card .hf-card-copy .hf-overline {
    color: #855e29 !important;
}

.hf-card .hf-card-copy .hf-price {
    color: #674b26 !important;
}

.hf-card .hf-card-copy a:focus-visible {
    outline: 3px solid #947345;
    outline-offset: 3px;
}

/* -------------------------------------------------
   COMPACT GALLERY HERO AREAS
------------------------------------------------- */

body.hf-gallery .hf-page-head,
body.hf-gallery-item .hf-page-head {
    padding: 36px 0 39px;
}

body.hf-gallery .hf-page-head h1 {
    font-size: clamp(35px, 3.6vw, 54px);
    line-height: 1.15;
    letter-spacing: -.018em;
    max-width: 1040px;
    margin: 9px 0 0;
}

body.hf-gallery-item .hf-page-head h1 {
    font-size: clamp(32px, 3.25vw, 50px);
    line-height: 1.17;
    letter-spacing: -.012em;
    max-width: 1080px;
    margin: 9px 0 0;
    overflow-wrap: break-word;
}

body.hf-gallery .hf-page-head .overline,
body.hf-gallery-item .hf-page-head .overline {
    margin: 0;
    color: #d5ad70;
}

body.hf-gallery .hf-page-head p:not(.overline) {
    margin: 12px 0 0;
    color: #f2e1c9;
    line-height: 1.65;
}

/* -------------------------------------------------
   GALLERY CONTENT POSITIONING
------------------------------------------------- */

body.hf-gallery .hf-content,
body.hf-gallery-item .hf-content {
    padding-top: 32px;
}

body.hf-gallery .hf-cards {
    margin-top: 0;
    gap: 24px;
}

/* -------------------------------------------------
   GALLERY TILE TYPOGRAPHY
------------------------------------------------- */

body.hf-gallery .hf-card-copy {
    padding: 18px 22px 22px;
    min-height: 116px;
}

body.hf-gallery .hf-card-copy h3 {
    font-size: clamp(20px, 1.7vw, 25px);
    line-height: 1.28;
    margin: 0 0 12px;
    overflow-wrap: anywhere;
}

body.hf-gallery .hf-card-copy .hf-muted {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

/* -------------------------------------------------
   CENTRE SINGLE GALLERY ENTRIES
------------------------------------------------- */

body.hf-gallery
.hf-cards:has(> .hf-card:only-child) {
    display: flex;
    justify-content: center;
}

body.hf-gallery
.hf-cards:has(> .hf-card:only-child) > .hf-card {
    width: min(100%, 390px);
}

/* -------------------------------------------------
   INDIVIDUAL SHOWCASE PAGE
------------------------------------------------- */

body.hf-gallery-item .hf-product {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1.02fr);

    gap: clamp(28px, 4.2vw, 68px);
}

body.hf-gallery-item
.hf-photo-stack .hf-detail-figure img {
    max-height: 640px;
}

/* -------------------------------------------------
   MOBILE RESPONSIVENESS
------------------------------------------------- */

@media (max-width: 680px) {

    body.hf-gallery .hf-page-head,
    body.hf-gallery-item .hf-page-head {
        padding: 25px 0 29px;
    }

    body.hf-gallery .hf-page-head h1 {
        font-size: clamp(31px, 8vw, 41px);
    }

    body.hf-gallery-item .hf-page-head h1 {
        font-size: clamp(29px, 7vw, 39px);
    }

    body.hf-gallery .hf-content,
    body.hf-gallery-item .hf-content {
        padding-top: 23px;
    }

    body.hf-gallery-item .hf-product {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    body.hf-gallery .hf-card-copy {
        min-height: 0;
    }
}

