/*
 Theme Name:   Storefront Child
 Theme URI:    https://vintagecartographics.com
 Description:  Storefront Child Theme for Vintage Cartographics
 Author:       Vintage Cartographics
 Template:     storefront
 Version:      1.0.0
*/

/* =============================================================================
   TYPOGRAPHY — Base font stack, headings, body, links
   ============================================================================= */

body {
    font-family: 'Lora', Georgia, serif;
    font-size: 16px;
    line-height: 1.75;
    color: #3a3530;
    background-color: #f5f0e8;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title,
.widget-title,
.woocommerce-loop-product__title,
.woocommerce-products-header__title {
    font-family: 'Libre Baskerville', Georgia, serif;
    color: #1c1a16;
}

p, li, td, th, label, input, select, textarea, button {
    font-family: 'Lora', Georgia, serif;
}

a {
    color: #3a5c3a;
}

a:hover {
    color: #2e4a2e;
}

/* =============================================================================
   SITE HEADER — Title, tagline
   ============================================================================= */

.site-header .site-title a {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-weight: 700;
    color: #1c1a16;
    font-size: 1.5rem;
    white-space: nowrap;
}

.site-header .site-description {
    font-family: 'Lora', Georgia, serif;
    color: #998f84;
    font-size: 0.875rem;
}

/* =============================================================================
   NAVIGATION — Primary menu
   ============================================================================= */

.main-navigation a,
.storefront-primary-navigation a {
    font-family: 'Lora', Georgia, serif;
    font-size: 0.9rem;
    font-weight: 500;
    color: #3a3530;
}

.main-navigation a:hover,
.storefront-primary-navigation a:hover {
    color: #3a5c3a;
}

/* =============================================================================
   BUTTONS
   ============================================================================= */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: #3a5c3a;
    color: #fff;
    font-family: 'Lora', Georgia, serif;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
    background-color: #2e4a2e;
    color: #fff;
}

/* =============================================================================
   POST META — Hide date, author, comments
   ============================================================================= */

.entry-header .posted-on,
.entry-header .post-author,
.entry-header .post-comments,
.entry-header .entry-meta,
.entry-footer .cat-links,
.entry-footer .tags-links,
.entry-footer .edit-link {
    display: none;
}

/* =============================================================================
   POST / ENTRY LAYOUT — Title, content area
   ============================================================================= */

.entry-header {
    margin-bottom: 0 !important;
    border-bottom: none !important;
}

.entry-title {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1c1a16;
    margin-bottom: 0 !important;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #ddd6c8;
}

.entry-content,
.entry-summary {
    padding-top: 0 !important;
    margin-top: 0.75rem !important;
}

/* Product title */
.product_title.entry-title {
    font-size: 2rem !important;
    line-height: 1.2 !important;
}

.entry-content p,
.entry-content li {
    font-family: 'Lora', Georgia, serif;
    font-size: 1rem;
    line-height: 1.75;
    color: #3a3530;
}

.entry-content h2 {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-size: 1.3rem;
    font-weight: 700;
    color: #1c1a16;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.entry-content h3 {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1c1a16;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.entry-content a {
    color: #3a5c3a;
    text-decoration: none;
    border-bottom: 1px solid rgba(58, 92, 58, 0.4);
}

.entry-content a:hover {
    color: #2e4a2e;
    border-bottom-color: #2e4a2e;
}

/* =============================================================================
   BREADCRUMB
   ============================================================================= */

.storefront-breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
}

.storefront-breadcrumb .col-full {
    padding: 0.4rem 0 !important;
}

.woocommerce-breadcrumb,
.breadcrumb,
nav.breadcrumb,
.site-main .woocommerce-breadcrumb {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 0.8rem !important;
    color: #998f84 !important;
    font-style: italic !important;
    font-weight: 400 !important;
    margin-bottom: 1.25rem;
}

.woocommerce-breadcrumb a,
.breadcrumb a,
nav.breadcrumb a,
.site-main .woocommerce-breadcrumb a {
    color: #3a5c3a !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    font-style: italic !important;
    border-bottom: none !important;
}

.woocommerce-breadcrumb a:hover,
.breadcrumb a:hover {
    text-decoration: underline !important;
}

/* =============================================================================
   SIDEBAR — Heading blocks used as widget titles
   ============================================================================= */

#secondary.widget-area .widget_block .wp-block-heading,
#secondary.widget-area .widget_block h1,
#secondary.widget-area .widget_block h2,
#secondary.widget-area .widget_block h3,
#secondary.widget-area .widget_block h4 {
    font-family: 'Libre Baskerville', Georgia, serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    color: #1c1a16 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid #ddd6c8 !important;
}

/* Heading widget box — flush above list */
#secondary.widget-area .widget_block:has(.wp-block-heading) {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 1.25rem;
}

/* List widget box — reads as one combined unit with heading above */
#secondary.widget-area .widget_block:has(.wp-block-heading) + .widget_block {
    border-top: none !important;
    padding-top: 0 !important;
    padding-bottom: 0.75rem !important;
}

.secondary .widget_block,
.widget-area .widget_block,
.widget {
    background: #fff;
    border: 1px solid #c8bfb0;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}

.secondary .widget-title,
.widget-area .widget-title,
.widget .widget-title,
.widget-title {
    font-family: 'Libre Baskerville', Georgia, serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    color: #1c1a16 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 0.875rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid #ddd6c8 !important;
}

/* Classic widget lists */
.widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.widget ul li {
    border-bottom: 1px solid #f0ebe0;
    padding: 0.4rem 0;
    font-size: 0.875rem;
    font-family: 'Lora', Georgia, serif;
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget ul li a,
.secondary .widget ul li a {
    color: #3a5c3a !important;
    text-decoration: none !important;
    font-weight: 400 !important;
}

.widget ul li a:hover,
.secondary .widget ul li a:hover {
    text-decoration: underline !important;
}

/* =============================================================================
   SIDEBAR — WooCommerce block product categories widget
   ============================================================================= */

.wc-block-product-categories-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wc-block-product-categories-list li {
    list-style: none;
}

.wc-block-product-categories-list-item {
    border-bottom: 1px solid #f0ebe0;
    padding: 0.4rem 0;
    font-size: 0.875rem;
    font-family: 'Lora', Georgia, serif;
}

.wc-block-product-categories-list-item:last-child,
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:last-child,
.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.wc-block-product-categories-list-item > a,
.wc-block-product-categories-list-item a,
.secondary .wc-block-product-categories-list-item a {
    color: #3a5c3a !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

.wc-block-product-categories-list-item a:hover {
    text-decoration: underline !important;
}

.wc-block-product-categories-list-item__name {
    font-weight: 400 !important;
}

.wc-block-product-categories-list-item-count {
    color: #998f84;
    font-size: 0.8rem;
}

.wc-block-product-categories-list--depth-1 {
    padding-left: 0.875rem;
}

.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item {
    font-size: 0.8125rem;
}

/* Hide uncategorized — cat ID 15 */
.product-categories .cat-item-15 {
    display: none;
}

/* =============================================================================
   MAP GUIDE TABLES — wp-block-table inside entry-content
   ============================================================================= */

.entry-content .wp-block-table {
    margin: 1.75rem 0 0.25rem;
    overflow-x: auto;
    border: none !important;
}

.entry-content .wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-family: 'Lora', Georgia, serif;
    font-size: 0.8125rem;
    line-height: 1.45;
    margin: 0 !important;
    background: none !important;
    border: 1px solid #c8bfb0 !important;
}

.entry-content .wp-block-table thead tr {
    background: #1c1a16 !important;
}

.entry-content .wp-block-table thead th {
    background: #1c1a16 !important;
    color: #f5f0e8 !important;
    font-family: 'Libre Baskerville', Georgia, serif !important;
    font-weight: 700 !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    padding: 0.7rem 0.75rem !important;
    text-align: center !important;
    vertical-align: middle !important;
    word-break: keep-all !important;
    border-right: 1px solid rgba(245, 240, 232, 0.2) !important;
    border-bottom: none !important;
}

.entry-content .wp-block-table thead th:last-child {
    border-right: none !important;
}

.entry-content .wp-block-table tbody tr {
    background: #fff !important;
    border-bottom: 1px solid #ddd6c8 !important;
}

.entry-content .wp-block-table tbody tr:last-child {
    border-bottom: none !important;
}

.entry-content .wp-block-table tbody tr:nth-child(even),
.entry-content .wp-block-table tbody tr:nth-child(even) td {
    background: #ddd5c5 !important;
}

.entry-content .wp-block-table tbody td {
    padding: 0.6rem 0.75rem !important;
    color: #3a3530 !important;
    text-align: center !important;
    vertical-align: middle !important;
    word-break: keep-all !important;
    font-size: 0.8125rem !important;
    border-right: 1px solid #c8bfb0 !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
}

.entry-content .wp-block-table tbody td:last-child {
    border-right: none !important;
}

.entry-content .wp-block-table tbody td:first-child {
    font-family: 'Libre Baskerville', Georgia, serif !important;
    font-weight: 700 !important;
    color: #1c1a16 !important;
    white-space: nowrap !important;
}

.entry-content .wp-block-table td a {
    color: #3a5c3a !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(58, 92, 58, 0.35) !important;
}

.entry-content .wp-block-table td a:hover {
    color: #2e4a2e !important;
}

.entry-content .wp-block-table figcaption {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 0.775rem !important;
    color: #998f84 !important;
    font-style: italic !important;
    margin-top: 0.6rem !important;
    margin-bottom: 1.5rem !important;
    padding: 0 !important;
    text-align: left !important;
    border: none !important;
    background: none !important;
}

/* =============================================================================
   GLOBAL SPACING — Consistent gap between breadcrumb and page title
   ============================================================================= */

#content .col-full {
    padding-top: 1.5rem !important;
}

/* Shop page — compensates for absent breadcrumb row */
.woocommerce-page.post-type-archive #content .col-full {
    padding-top: 0.25rem !important;
}

.woocommerce-page.post-type-archive #secondary.widget-area {
    padding-top: 0 !important;
}

/* Horizontal breathing room between content and sidebar */
#primary.content-area {
    padding-right: 1.5rem;
}

/* =============================================================================
   SHOP / PRODUCT PAGES
   ============================================================================= */

/* Page and archive titles */
.woocommerce-products-header__title.page-title,
.woocommerce-products-header__title,
.page-title {
    font-family: 'Libre Baskerville', Georgia, serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #1c1a16 !important;
    line-height: 1.2 !important;
    margin-bottom: 0.75rem !important;
}

/* Sorting bar */
.woocommerce-ordering select {
    font-family: 'Lora', Georgia, serif;
    font-size: 0.8125rem;
    color: #3a3530;
    border: 1px solid #c8bfb0;
    background-color: #fff;
}

.woocommerce-result-count {
    font-family: 'Lora', Georgia, serif;
    font-size: 0.8125rem;
    color: #998f84;
    font-style: italic;
    line-height: 1.80;
}

/* Product grid */
.woocommerce ul.products li.product {
    margin-bottom: 2.5rem !important;
    text-align: center !important;
}

.woocommerce ul.products li.product a img {
    margin-bottom: 0 !important;
    display: block;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Libre Baskerville', Georgia, serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: #1c1a16 !important;
    line-height: 1.3 !important;
    padding-top: 0.4rem !important;
    margin-bottom: 0.2rem !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .price {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 0.875rem !important;
    color: #3a3530 !important;
    display: block !important;
    margin-bottom: 0.4rem !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: inline-block !important;
    width: auto !important;
    float: none !important;
    font-size: 0.75rem !important;
    padding: 0.35rem 0.9rem !important;
    letter-spacing: 0.04em !important;
    margin-top: 0 !important;
}

/* =============================================================================
   MAP GUIDES ARCHIVE LISTING
   ============================================================================= */

/* Page title — border below heading only */
.archive .page-header .page-title,
.blog .page-header .page-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #1c1a16 !important;
    padding-bottom: 1.25rem !important;
    border-bottom: 1px solid #ddd6c8 !important;
    margin-bottom: 2.5rem !important;
}

/* Entry titles in listing — no border, flush to excerpt */
.archive .entry-title,
.blog .entry-title,
.archive h2.alpha.entry-title,
.blog h2.alpha.entry-title {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.archive .entry-title a,
.blog .entry-title a {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Remove all borders and collapse spacing within archive article entries */
.archive article.hentry,
.blog article.hentry {
    border: none !important;
    margin-bottom: 2.5rem !important;
}

.archive article.hentry .entry-header,
.blog article.hentry .entry-header {
    border: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@media (min-width: 768px) {
    .archive .hentry .entry-header,
    .blog .hentry .entry-header {
        margin-bottom: 0 !important;
    }

    .archive .hentry,
    .blog .hentry {
        margin-bottom: 2.5rem !important;
    }
}

.archive .entry-summary,
.blog .entry-summary {
    border: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.archive .entry-taxonomy,
.blog .entry-taxonomy {
    border: none !important;
}

/* =============================================================================
   FOOTER
   ============================================================================= */

.site-footer {
    background: #fff;
    border-top: 1px solid #ddd6c8;
    font-family: 'Lora', Georgia, serif;
    font-size: 0.8125rem;
    color: #998f84;
}

footer#colophon.site-footer {
    padding: 0.5em 0;
}

.site-footer .site-info {
    padding: 0.25em 0;
    text-align: center;
}

.site-info a[href*="woocommerce.com"] {
    display: none;
}

/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media (max-width: 768px) {
    footer#colophon.site-footer {
        padding-bottom: 70px;
    }

    .site-header .site-title a {
        font-size: 1.2rem;
    }
}