/**
Theme Name: Historic Hambledon Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Child theme for Historic Hambledon
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: historic-hambledon-child
Template: astra
*/


/* =========================================================
   Historic Hambledon - Image Archive Record
   ========================================================= */

.historic-image-record {
    width: 100%;
}

.historic-image-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 40px 70px;
}


/* =========================================================
   Title
   ========================================================= */

.historic-image-header {
    margin: 0 0 40px;
}

.historic-image-header h1 {
    margin: 0;
    font-size: 2.5rem;
    line-height: 1.2;
}


/* =========================================================
   Description - full width
   ========================================================= */

.historic-image-description {
    width: 100%;
    margin: 0 0 45px;
}

.historic-image-text {
    line-height: 1.75;
}


/* =========================================================
   Main two-column area
   ========================================================= */

.historic-image-columns {
    display: grid;
    grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.65fr);
    gap: 50px;
    align-items: start;
}


/* =========================================================
   Image Information - left column
   ========================================================= */

.historic-image-information {
    padding: 30px;
    background: rgba(255, 255, 255, 0.55);
    border-left: 4px solid currentColor;
}

.historic-image-information h2 {
    margin: 0 0 25px;
    font-size: 1.6rem;
    line-height: 1.2;
}

.historic-image-information dl {
    margin: 0;
}

.historic-image-information dl > div {
    padding: 0 0 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.historic-image-information dl > div:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.historic-image-information dt {
    margin: 0 0 4px;
    font-weight: 700;
}

.historic-image-information dd {
    margin: 0;
}


/* =========================================================
   Image - right column
   ========================================================= */

.historic-image-right {
    min-width: 0;
}

.historic-image-main {
    min-width: 0;
}

.historic-image-main a {
    display: block;
}

.historic-image-main img {
    display: block;
    width: 100%;
    height: auto;
}

.historic-image-caption {
    margin: 10px 0 0;
    font-size: 0.85rem;
    text-align: center;
    opacity: 0.75;
}


/* =========================================================
   Historical Information - underneath image
   ========================================================= */

.historic-image-history {
    margin-top: 45px;
}

.historic-image-history h2 {
    margin: 0 0 18px;
}

.historic-image-history .historic-image-text {
    line-height: 1.75;
}


/* =========================================================
   Back to archive
   ========================================================= */

.historic-image-back {
    margin-top: 55px;
    padding-top: 25px;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.historic-image-back a {
    font-weight: 700;
}


/* =========================================================
   Simple Lightbox
   Hide the repeated description beneath the image.
   The image title remains visible.
   ========================================================= */

.slb_data_desc {
    display: none !important;
}


/* =========================================================
   Image Archive
   ========================================================= */

.historic-image-archive {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 40px 70px;
}


/* =========================================================
   Archive Introduction
   ========================================================= */

.historic-image-archive-header {
    margin: 0 0 40px;
}

.historic-image-archive-header h1 {
    margin: 0 0 18px;
    font-size: 2.5rem;
    line-height: 1.2;
    color: #1B3022;
}

.historic-image-archive-header p {
    margin: 0;
    line-height: 1.75;
}


/* =========================================================
   Archive Search & Filters
   ========================================================= */

.historic-image-archive-filters {
    margin: 0 0 45px;
    padding: 25px;
    background: #CAD2C5;
    border: 1px solid #1B3022;
    border-radius: 18px;
}


/* =========================================================
   Search
   ========================================================= */

.historic-image-archive-search {
    margin-bottom: 22px;
}

.historic-image-archive-search label,
.historic-image-filter label {
    display: block;
    margin-bottom: 7px;
    color: #1B3022;
    font-weight: 700;
}

.historic-image-search {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 10px 15px;
    border: 1px solid #1B3022;
    border-radius: 8px;
    background: #ffffff;
    color: #1B3022;
    box-sizing: border-box;
}

.historic-image-search:focus {
    border-color: #1B3022;
    outline: 2px solid rgba(27, 48, 34, 0.15);
    outline-offset: 1px;
}


/* =========================================================
   Filter Row
   ========================================================= */

.historic-image-archive-filter-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 18px;
    align-items: end;
}

.historic-image-filter select {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 8px 12px;
    border: 1px solid #1B3022;
    border-radius: 8px;
    background: #ffffff;
    color: #1B3022;
    box-sizing: border-box;
}

.historic-image-filter select:focus {
    border-color: #1B3022;
    outline: 2px solid rgba(27, 48, 34, 0.15);
    outline-offset: 1px;
}


/* =========================================================
   Clear Filters
   ========================================================= */

.historic-image-filter-button {
    display: flex;
    align-items: flex-end;
}

.historic-image-clear-filters {
    min-height: 46px;
    padding: 10px 20px;
    border: 1px solid #A64433;
    border-radius: 30px;
    background: #A64433;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.historic-image-clear-filters:hover,
.historic-image-clear-filters:focus {
    background: #A64433;
    color: #ffffff;
}


/* =========================================================
   Archive Results
   ========================================================= */

.historic-image-archive-results {
    position: relative;
    min-height: 50px;
}

.historic-image-archive-results.is-loading {
    opacity: 0.45;
    pointer-events: none;
    transition: opacity 0.2s ease;
}


/* =========================================================
   Archive Grid
   ========================================================= */

.historic-image-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 35px;
}


/* =========================================================
   Archive Card
   ========================================================= */

.historic-image-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #CAD2C5;
    border: 1px solid #1B3022;
    border-radius: 18px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.18);
}


/* =========================================================
   Archive Card Image
   ========================================================= */

.historic-image-card-image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.historic-image-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.historic-image-card-image:hover img {
    transform: scale(1.03);
}


/* =========================================================
   Archive Card Content
   ========================================================= */

.historic-image-card-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 25px;
    background: #CAD2C5;
}


/* =========================================================
   Archive Card Title
   ========================================================= */

.historic-image-card-title {
    margin: 0 0 25px;
    font-size: 1.45rem;
    line-height: 1.25;
    color: #1B3022;
}

.historic-image-card-title a {
    color: #1B3022;
    text-decoration: none;
}

.historic-image-card-title a:hover {
    color: #1B3022;
}


/* =========================================================
   Archive Card Button
   ========================================================= */

.historic-image-card-button {
    margin-top: auto;
}

.historic-image-view-button {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 30px;
    background: #A64433;
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.2;
}

.historic-image-view-button:hover,
.historic-image-view-button:focus {
    background: #A64433;
    color: #ffffff !important;
    text-decoration: none;
}


/* =========================================================
   No Results
   ========================================================= */

.historic-image-archive-no-results {
    padding: 45px 25px;
    text-align: center;
    background: #CAD2C5;
    border: 1px solid #1B3022;
    border-radius: 18px;
}

.historic-image-archive-no-results h2 {
    margin: 0 0 12px;
    color: #1B3022;
}

.historic-image-archive-no-results p {
    margin: 0;
}


/* =========================================================
   Archive Pagination
   ========================================================= */

.historic-image-archive-pagination-container {
    margin-top: 50px;
}

.historic-image-archive-pagination {
    text-align: center;
}

.historic-image-archive-pagination button {
    display: inline-block;
    margin: 4px;
    padding: 8px 14px;
    border: 1px solid #1B3022;
    border-radius: 20px;
    background: transparent;
    color: #1B3022;
    font-weight: 700;
    cursor: pointer;
}

.historic-image-archive-pagination button:hover,
.historic-image-archive-pagination button:focus,
.historic-image-archive-pagination button.current {
    background: #1B3022;
    color: #ffffff;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

    .historic-image-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .historic-image-archive-filter-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .historic-image-filter-button {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 768px) {

    .historic-image-container {
        padding: 35px 20px 50px;
    }

    .historic-image-header {
        margin-bottom: 30px;
    }

    .historic-image-header h1 {
        font-size: 2.2rem;
    }

    .historic-image-description {
        margin-bottom: 35px;
    }

    .historic-image-columns {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .historic-image-information {
        padding: 25px;
    }

    .historic-image-history {
        margin-top: 35px;
    }


    /* Archive */

    .historic-image-archive {
        padding: 20px 20px 50px;
    }

    .historic-image-archive-header {
        margin-bottom: 35px;
    }

    .historic-image-archive-header h1 {
        font-size: 2.2rem;
    }

    .historic-image-archive-filters {
        padding: 20px;
    }

    .historic-image-archive-filter-row {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .historic-image-filter-button {
        grid-column: auto;
    }

    .historic-image-clear-filters {
        width: 100%;
    }

    .historic-image-archive-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .historic-image-card-content {
        padding: 22px;
    }

}