/*
 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;
}

/* Add to Cart — ghost green style across all three contexts (product page, shop
   grid, sticky bar). Checkout and other action buttons intentionally excluded. */
.woocommerce .single_add_to_cart_button,
.woocommerce .add_to_cart_button,
.storefront-sticky-add-to-cart .button {
    background: transparent !important;
    color: #3a5c3a !important;
    border: 1px solid #3a5c3a !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em !important;
}

.woocommerce .single_add_to_cart_button:hover,
.woocommerce .add_to_cart_button:hover,
.storefront-sticky-add-to-cart .button:hover {
    background: #3a5c3a !important;
    color: #fff !important;
}

/* =============================================================================
   POST META — Hide date, author, comments, footer taxonomy links
   ============================================================================= */

.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.4 !important;
    font-weight: 400 !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; products appearing here indicate a category
   assignment failure in the sync and serve as a canary */
.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 — Archive and product grid
   ============================================================================= */

/* 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;
}

/* =============================================================================
   FULL-WIDTH PAGES — Single product, cart, checkout (no sidebar)
   The Product Categories sidebar is a browsing aid. Once a customer is on a
   product page, in the cart, or at checkout, it adds no value — the focus
   narrows to the item or transaction at hand.
   ============================================================================= */

body.single-product #secondary.widget-area,
body.woocommerce-cart #secondary.widget-area,
body.woocommerce-checkout #secondary.widget-area {
    display: none !important;
}

body.single-product #primary.content-area,
body.woocommerce-cart #primary.content-area,
body.woocommerce-checkout #primary.content-area {
    width: 100% !important;
    float: none !important;
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

/* =============================================================================
   PRODUCT PAGE TABS — Horizontal layout
   Tab bar uses a shared border-bottom baseline that the active tab opens into.
   Color matches the attribute table outer border (#ddd6c8) so the two frames
   join cleanly at the active tab corners.
   ============================================================================= */

/* Reduce Storefront's excessive padding above tabs */
.woocommerce-tabs.wc-tabs-wrapper {
    padding-top: 1rem !important;
}

/* Tab bar */
.woocommerce-tabs ul.tabs {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    display: flex;
    flex-direction: row;
    border: none !important;
    border-bottom: 1px solid #ddd6c8 !important;
    padding: 0;
    list-style: none;
    gap: 4px;
}

/* Inactive tabs — fully bordered, recessed background and muted text.
   margin-bottom: -1px straddles the ul baseline so the active-tab trick works. */
.woocommerce-tabs ul.tabs li {
    display: block;
    float: none;
    border-top: 1px solid #c8bfb0;
    border-left: 1px solid #c8bfb0;
    border-right: 1px solid #c8bfb0;
    border-bottom: 1px solid #c8bfb0;
    margin: 0;
    margin-bottom: -1px;
    border-radius: 0;
    background: #ece7dc;
    white-space: nowrap;
    position: relative;
}

.woocommerce-tabs ul.tabs li a {
    padding: 0.5rem 1.5rem;
    display: block;
    font-family: 'Lora', Georgia, serif;
    font-size: 0.875rem;
    color: #7a7068;
    text-decoration: none;
}

/* Active tab — page background flush with content, dark bold text, bottom border
   erases the ul baseline. z-index: 1 sits above the line. */
.woocommerce-tabs ul.tabs li.active {
    background: #f5f0e8;
    border-bottom-color: #f5f0e8;
    z-index: 1;
}

.woocommerce-tabs ul.tabs li.active a {
    color: #1c1a16;
    font-weight: bold;
}

.woocommerce-tabs ul.tabs li a:focus {
    outline: none;
}

.woocommerce-tabs ul.tabs li::after {
    display: none;
}

/* Panel — zero top padding so the attribute table's border frame starts
   immediately at the ul baseline */
.woocommerce-tabs .panel {
    width: 100% !important;
    float: none !important;
    clear: both;
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
}

/* Description tab panel — padding and border to match attribute table baseline */
.woocommerce-tabs .woocommerce-Tabs-panel--fe_details {
    padding: 1.5em 2em !important;
    border: 1px solid #ddd6c8;
    border-top: none;
}

/* Responsive — wrap tabs at narrow widths */
@media (max-width: 600px) {
    .woocommerce-tabs ul.tabs {
        flex-wrap: wrap;
    }
    .woocommerce-tabs ul.tabs li {
        flex: 1 1 auto;
        text-align: center;
    }
}

/* =============================================================================
   PRODUCT ATTRIBUTE TABLE — fe-attr-* classes generated by Access and rendered
   via fe_render_attribute_table_tab() in functions.php
   ============================================================================= */

/* Table — full width, outer border except top (ul.tabs bottom border serves as
   top edge), collapse */
.woocommerce-product-attributes.shop_attributes {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border: 1px solid #ddd6c8;
    border-top: none;
}

/* Section headers — page background, bold, larger, bottom border */
.fe-attr-section-header th {
    font-weight: bold;
    text-align: center !important;
    font-size: 1.2em;
    letter-spacing: 0.04em;
    background-color: #f5f0e8 !important;
    padding: 10px 0 8px 0;
    border: none !important;
    border-top: 1px solid #ddd6c8 !important;
    border-bottom: 1px solid #ddd6c8 !important;
}

/* First section header — no top border */
.fe-attr-section-header:first-child th {
    border-top: none !important;
}

/* Title image embedded inside MAP DETAILS section header */
.fe-attr-section-header th img.fe-attr-title-img {
    max-width: 260px !important;
    width: 100%;
    height: auto;
    display: block;
    margin: 4px auto 8px auto;
}

/* Section header subtitle */
.fe-attr-section-header th em.fe-attr-section-subtitle {
    display: block;
    font-style: italic;
    color: #777;
    font-size: 0.75em !important;
    font-weight: normal;
    letter-spacing: normal;
    margin-top: -0.6em;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    text-align: center;
}

/* Data rows — vertical divider between columns, horizontal lines, tight padding */
.woocommerce-product-attributes-item__label,
.woocommerce-product-attributes-item__value {
    text-align: center !important;
    vertical-align: middle !important;
    font-weight: normal;
    border-top: none !important;
    border-left: none !important;
    border-bottom: 1px solid #ddd6c8 !important;
    padding: 0.3rem 0.75rem !important;
    background-color: transparent !important;
}

/* Vertical divider between label and value columns */
.woocommerce-product-attributes-item__label {
    border-right: 1px solid #ddd6c8 !important;
}

.woocommerce-product-attributes-item__value {
    border-right: none !important;
}

/* Remove bottom border from last data row */
.woocommerce-product-attributes-item:last-child .woocommerce-product-attributes-item__label,
.woocommerce-product-attributes-item:last-child .woocommerce-product-attributes-item__value {
    border-bottom: none !important;
}

/* Image rows — no border, transparent background, centered */
.fe-attr-image-row td {
    text-align: center;
    padding: 0;
    border: none !important;
    background-color: transparent !important;
}

/* Wrapper div inside image row td — declared as container so the @container
   query can apply vertical margin to images when there is horizontal room.
   div is block-level so container-type works, unlike td which is table-level
   and ignores containment. Horizontal padding provides minimum 8px clearance. */
.fe-attr-img-wrap {
    container-type: inline-size;
    padding: 0 8px;
}

/* All images in table — 700px hard cap, fills available width below that.
   Vertical margin scales with available horizontal space: 8px minimum when
   tight, growing proportionally as room increases, capped at 20px. */
.fe-attr-image-row img {
    max-width: 700px;
    width: 100%;
    height: auto;
    display: block;
    margin: clamp(8px, calc((100cqw - 700px) * 0.05), 20px) auto;
}

/* Condition images — portrait-aware sizing. width/height: auto lets the browser
   fit within both max-width and max-height while preserving aspect ratio.
   min(700px, 100%) respects both the hard cap and the container edge on narrow
   viewports. Overrides width: 100% from the general rule. max-height tunable
   if 500px proves too tall or short for typical condition photo dimensions. */
.fe-attr-image-row img.fe-attr-condition-img {
    width: auto;
    max-width: min(700px, 100%);
    max-height: 500px;
    height: auto;
}

/* =============================================================================
   CART / CHECKOUT
   ============================================================================= */

/* --- Quantity suppression ---
   Maps are unique one-of-a-kind items — qty > 1 is never valid. All quantity
   inputs and displays are hidden site-wide. In-stock / out-of-stock indicators
   are unaffected. */

/* Product page — qty input next to Add to Cart */
.woocommerce form.cart .quantity { display: none !important; }

/* Classic cart — quantity column header and cells */
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart th.product-quantity { display: none !important; }

/* Classic cart — Update Cart button (redundant with no qty input) */
.woocommerce-cart button[name="update_cart"] { display: none !important; }

/* Mini cart — quantity display in cart flyout */
.woocommerce-mini-cart-item .quantity { display: none !important; }

/* Block checkout — quantity badge on product thumbnail in order summary */
.wc-block-components-order-summary-item__quantity { display: none !important; }

/* Block cart — +/- quantity widget */
.wc-block-components-quantity-selector { display: none !important; }

/* --- Cross-sell suppression ---
   Hidden pending geographically-aware implementation. Planned replacement:
   maps of nearby areas and same area at different scales. Post-launch item. */
.cross-sells { display: none !important; }

/* --- Empty cart ---
   Crying emoji icon removed — overly dramatic for a routine empty state. */
.with-empty-cart-icon::before { display: none !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;
    }
}
