/*
Theme Name: Woodworks by Dave
Template: twentytwentyfive
Version: 1.0
Author: GrayWolf WebDesign
Description: A child theme for Twenty Twenty-Five made for Woodworks by Dave
*/

@import url("../twentytwentyfive/style.css");

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUpCards {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body {
    overflow-x: hidden;
}

.site-header {
    background-color: #3A2A1C;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px; /* Optional: controls space between rows */
}

@media (max-width: 768px) {
    .site-header {
        padding: 12px 16px;
    }

    .wp-block-navigation__responsive-container-open {
        margin-left: 12px;
    }
}

.logo-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px; /* Handles spacing instead of margin-left */
}

.nav-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px; /* Handles spacing instead of margin-left */
}

.site-logo {
    height: 48px !important;
    max-height: 48px !important;
    max-width: 48px !important;
    width: auto !important;
    object-fit: contain;
    border-radius: 50%;
}

.site-title {
    color: #F8F5F2;
    font-family: 'Georgia', serif;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.site-nav a {
    color: #F8F5F2;
    text-decoration: none;
    margin: 0 12px;
    font-size: 1.1rem;
    font-weight: 400;
}

.site-nav a:hover {
    text-decoration: underline;
}

/* Typography */
.custom-hero-text {
    color: #f8f5f2;
    text-align: center;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.6);
    font-family: 'GT Walsheim', serif;
    font-size: 5rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 60px 20px !important;
}

.custom-hero-text span:last-child {
    margin-bottom: 1.5rem;
    display: block;
}

.custom-hero-text br + br {
    line-height: 2.2rem;
    display: block;
    margin-top: 1rem;
}

@media (max-width: 768px) {
    .custom-hero-text {
        font-size: 3rem !important;
    }
}

.hero-subtext {
    color: #f8f5f2;
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    margin-top: 25px;
    line-height: 1.4;
     text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.95);
    background: none;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 1s ease-out 0.7s forwards;
    backdrop-filter: none;
}

.hero-cta {
    display: inline-block !important;
    margin-top: 30px !important;
    padding: 12px 24px !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    color: #f8f5f2 !important;
    background-color: #704225 !important;
    text-decoration: none !important;
    transition: background 0.3s ease, transform 0.3s ease !important;
    box-shadow: 0px 4px 10px rgba(0,0,0,0.2);
}

.hero-cta:hover {
    background-color: #8a5434;
    transform: scale(1.05);
}

.about-heading,
.about-paragraph,
.button-shop-now,
.wp-block-button__link,
.wc-block-featured-category .wc-block-featured-category__title {
    font-family: 'Inter', sans-serif;
}

.about-section {
    max-width: 720px;
    margin: 24px auto !important;
    text-align: center !important;
    padding: 24px 20px !important; /* top 80px, sides 20px, bottom 60px */
}

.about-section h2 {
    margin-bottom: 20px;
}

.about-section h2::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    margin: 14px auto 0;
    background-color: #704225; /* Warm, crafted tone */
    opacity: 0.85; /* increase from 0.5 */
    border-radius: 1px;
}

.about-heading {
    font-size: 2.25rem;
    font-weight: 600;
    color: #3a2a1c;
    margin-bottom: 20px;
    font-family: 'Playfair Display', serif;
}

.about-paragraph {
    font-size: 1.07rem;
    line-height: 1.7;
    color: #4a433e;
    margin-top: 28px;
}

.explore-heading {
    font-family: 'Playfair Display', serif !important;
    font-size: 2.25rem !important; /* Matches your about-heading */
    font-weight: 600 !important;   /* More authoritative than 500 */
    letter-spacing: 0.5px !important;
    text-align: center !important;
    margin-top: 24px !important;   /* Balanced against hero section */
    margin-bottom: 32px !important;
    color: #4b2e17;
    position: relative;
    display: inline-block;
}

.explore-heading::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    margin: 14px auto 0;
    background-color: #704225;
    opacity: 0.85;
    border-radius: 1px;
}

/* Fix spacing between category cards */
.category-cards {
    gap: 1.5rem !important; /* 5-4 .2rem */
    justify-content: center !important;
    max-width: 860px; /* Try reducing from 960px */
    margin: 0 auto 80px;
    animation: fadeInUp 0.9s ease-out both;
    animation-delay: 0.2s;
}

/* card fade */
.fade-in-up-card {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.9s ease-out, transform 0.9s ease-out;
}

.fade-in-up-card.visible {
    opacity: 1;
    transform: translateY(0);
}
/* end card fade */

/* Remove padding/margin from each column */
.category-cards > .wp-block-column {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Container styling for each category card */
.signature-category.has-background {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); /* Slightly more pop */
    border-radius: 8px; /* Subtle curve boost */
    aspect-ratio: 5 / 8;
    max-height: 474px;
    min-width: 260px;
    max-width: 280px;
    margin: 0 auto;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding: 0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Optional: subtle dark overlay for text readability */
.signature-category.has-background::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    transition: background 0.3s ease;
    z-index: 1;

}

.signature-category.has-background:hover {
    cursor: pointer;
    transform: scale(1.015);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}

/* Stack overlay block inside the card */
.signature-category.has-background > .wp-block-group.is-vertical.is-layout-flex {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 24px; /* 5-4 20px */
    z-index: 2;
    text-align: center;
    margin-bottom: 40px;
}

.signature-category.has-background h3 {
    color: #fdfdfd;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.2;
    word-break: break-word;
    max-width: 95%;
    letter-spacing: .25px;
    text-transform: uppercase;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.55);
    margin-bottom: 12px;
    text-align: center;
}

/* Buttons only */
.signature-category a.wp-element-button,
.signature-category .wp-block-button__link {
    background-color: #5C2E0D;
    color: #fff;
    padding: 8px 16px;
    border-radius: 24px;
    font-size: 0.875rem;
    text-shadow: none;
    margin-top: 0.75rem; /* 5-4 .5rem */
    display: inline-block;
    transition: background-color 0.2s ease;
}

.signature-category a.wp-element-button:hover,
.signature-category .wp-block-button__link:hover {
    background-color: #3e1f08;
}

.signature-category.has-background::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.15);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 0;
}

.signature-category.has-background:hover::after {
    opacity: 1;
}

.signature-category .wp-block-button__link {
    background-color: #4e2e1f !important; /* Your theme’s button color */
    color: #f7f2ec !important;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 0.9rem;
    transition: background-color 0.3s ease;
}

.signature-category .wp-block-button__link:hover {
    background-color: #3c2415 !important; /* Slightly darker on hover */
}

/* Button Styling */
.signature-category a.wp-element-button {
    background-color: #5C2E0D;
    color: #fff;
    padding: 8px 16px;
    border-radius: 24px;
    font-size: 0.875rem;
    text-shadow: none;
    margin-top: 0.5rem;
    display: inline-block;
    transition: background-color 0.2s ease;
}

/* Button hover state */
.signature-category a.wp-element-button:hover {
    background-color: #3e1f08;
}

/* button mobile */

@media (max-width: 600px) {
    .signature-category a {
        font-size: 14px;
        padding: 6px 12px;
    }
}

@media (max-width: 1400px) {
    .signature-category.has-background {
        aspect-ratio: 5 / 6.5;
    }
}
.product-showcase-section {
    background: linear-gradient(to right, #fff 0%, #fdf8f4 20%, #fdf8f4 80%, #fff 100%);
    padding-top: 60px;
    padding-bottom: 80px;
}

.use-section {
    padding: 100px 20px 60px 20px; /* 5-4 was 100px 0; */
    width: 100%;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);

}

.use-section .use-inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
    max-width: 860px;
    margin: 0 auto;
    padding: 0;
}

.use-inner-wrapper {
    max-width: 860px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
    margin: 0 auto !important;
    padding-left: 0 !important;
}

.use-section .wp-block-columns {
    gap: 0;
}

.use-section .wp-block-column {
    flex: 1 1 50% !important;
}

.use-section .wp-block-column:first-child {
    max-width: 600px;
    display: flex;
    justify-content: flex-end;
    padding-left: 0 !important;
    margin-left: 0 !important;
    padding-right: 3.5vw !important; /* Adjusts alignment */ /* 5-4 was 5.5vw */
}

.use-section .wp-block-column:first-child .wp-block-stack {
    max-width: 600px;
    text-align: left;
    margin-left: 0 !important;
    padding-left: 0 !important;
    margin-top: 2.5rem;
}

.use-section .wp-block-column:last-child {
    flex: 0 0 auto;
    max-width: 280px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin-right: 10px; /** ADDED BY ME TO LINE PICTURE UP WITH CATRGORY CARD **/
    /* NEW: center vertically */
    align-self: center;
    margin-top: 6px;
}

.use-section p {
    font-size: 1.05rem;
    line-height: 1.65;
    max-width: 500px;
    color: #3a2a1c;
    margin-top: 0.75rem;
    margin-bottom: 1.5rem;
    font-family: 'Inter', sans-serif;
}

.use-section h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    color: #3a2a1c;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.use-image {
    aspect-ratio: 1 / 1;
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.07);
    background: linear-gradient(to bottom, #f6f6f6, #e9e9e9);
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.use-image::after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.18); /* adjust opacity to match card overlay */
    pointer-events: none;
}

.use-image img {
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.site-footer {
    padding: 40px 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    text-align: center;
}


.footer-tagline {
    color: #f0e6de;
    font-size: 0.875rem;
    letter-spacing: 0.5px;
}

@media (max-width: 768px) {
    .use-section .wp-block-column {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        justify-content: center;
        text-align: center;
    }

    .use-section .wp-block-column:first-child {
        padding-right: 0 !important;
        text-align: center;
    }

    .use-section h2 {
        margin-left: auto;
        margin-right: auto;
    }

    .use-section p {
        margin-left: auto;
        margin-right: auto;
    }

    .use-section .wp-block-column:last-child {
        margin-right: auto;
        margin-left: auto;
    }
}

@media (max-width: 768px) {
    .site-footer {
        padding: 40px 20px 60px 20px !important; /* adds bottom padding */
    }
}

@media (max-width: 768px) {
    .site-logo {
        height: 40px !important;
        max-height: 40px !important;
        max-width: 40px !important;
    }
}

@media (max-width: 768px) {
    .site-header .mini-cart-icon {
        display: none;
    }
}

.cart-link {
    display: none !important;
}

@media (max-width: 768px) {
    .cart-link {
        display: block !important;
    }
}

/** hamburger **/
.wp-block-navigation__responsive-container-open {
    position: relative;
    width: 28px;
    height: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    padding: 0;
}

.wp-block-navigation__responsive-container-open .custom-hamburger-bar {
    display: block;
    width: 100%;
    height: 2px;
    background-color: white;
    transition: all 0.3s ease;
}

/* hide original hamburger bars */
.wp-block-navigation__responsive-container-open svg {
    display: none;
}

/* align X over where hamburger is */
@media (max-width: 768px) {
    .wp-block-navigation__responsive-close {
        position: fixed; /* Ensure it follows viewport, like the hamburger */
        top: 1.25rem;     /* Adjust as needed to match hamburger's vertical alignment */
        right: 1.35rem;   /* Adjust to match horizontal spacing */
        font-size: 2rem;
        background: none;
        border: none;
        cursor: pointer;
        z-index: 1100; /* Make sure it’s above everything else */
    }

    /* spacing between all links on mobile */
    .wp-block-navigation__responsive-container a {
        margin-bottom: 0.75rem;
    }

    .wp-block-navigation__responsive-container.has-background.has-base-background-color {
        background: linear-gradient(to bottom, rgba(46, 26, 15, 0.95) 0%, rgba(46, 26, 15, 0.5) 50%, rgba(46, 26, 15, 0) 100%) !important;
        backdrop-filter: blur(5px);
        color: #f8f5f2 !important;
    }

    .wp-block-navigation__responsive-container.has-background.has-base-background-color a:active {
        opacity: 0.7;
        transform: scale(0.98);
        transition: transform 0.1s ease;
    }
}

* {
    -webkit-tap-highlight-color: transparent;
    -webkit-focus-ring-color: transparent;
    outline: none;
}


/* remove black box for selected link on mobile */
.wp-block-navigation__responsive-container a:focus,
.wp-block-navigation__responsive-container a:focus-visible,
.wp-block-navigation__responsive-container a:active {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Remove black underline from all nav links */
.wp-block-navigation-item__content {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Optional: refine for current/active links too */
.wp-block-navigation-item__content[aria-current="page"] {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* custom line under link on mobile */
@media (max-width: 768px) {
    .wp-block-navigation__responsive-container .current-menu-item > a {
        border-bottom: 2px solid #a15c2f !important; /* Or whatever style you want */
        padding-bottom: .25rem !important;
        margin-bottom: 0.75rem !important; /* Pushes it away from the next item */
    }
}

/** STORE ***/

/* CATEGORY OVERVIEW PAGE */
.category-hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(34, 24, 18, 0.4); /* warm brownish-black overlay */
    z-index: 1;
    margin-bottom: 2.5rem;
}

.category-hero .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 4rem 1rem;
}

.woocommerce .wp-block-query-title {
     margin-top: 4rem !important;
    font-size: clamp(2rem, 5vw, 3rem); /* responsive scaling */
     text-align: center;
    font-family: 'Playfair Display', serif;
    color: #f8f5f2;
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.45);
    letter-spacing: 0.3px;
    font-weight: 700;
 }

.woocommerce .wp-block-term-description {
    text-align: center;
    font-size: clamp(1.1rem, 1.25vw, 1.35rem); /* scales gracefully */
    text-shadow: 0px 1px 3px rgba(0, 0, 0, 0.35);
    font-family: 'Inter', sans-serif;
    color: #e7e1db;
    margin-bottom: 48px;
    font-weight: 500;
}

.category-hero .wp-block-cover__inner-container {
    padding-bottom: 5rem; /* slight lift */
}

/* result count and sort */
.wp-block-group.alignwide.is-content-justification-space-between {
    margin-top: 2.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 24px;
    margin-bottom: 40px;
    font-family: 'Inter', sans-serif;
}

.woocommerce-result-count {
    color: #4a3a2a;
    font-size: 0.95rem;
}

.woocommerce-ordering select.orderby {
    padding: 6px 10px;
    font-size: 1rem;
    border: 1px solid #d2b49c;
    background: #fdf8f4;
    outline: none !important;
    box-shadow: 0 0 0 2px #d8c0a8 !important;
    color: #3a2a1c;
    border-radius: 4px;
}

/******* LETS HIDE THE PRODUCT COUNT AND SORTING FOR NOW ******/
.woocommerce-result-count,
.woocommerce-ordering {
    display: none !important;
}

/* === CATEGORY PRODUCT GRID CARDS === */
/* custom button to match functions.php to bring to product instead of adding to cart from this page */
.custom-view-button {
    background-color: #4a2f1a !important;
    color: #fff;
    border-radius: 20px;
    padding: 0.5em 1em;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none !important;
    display: inline-block;
    line-height: 1.2;
}

.custom-view-button:hover {
    background-color: #5f3d23;
    color: #fff;
    text-decoration: none !important;
}

.wc-block-product-template {
    max-width: 1200px;
    margin: 0 auto 80px auto !important; /* added bottom margin */
    padding: 0 20px !important;
    justify-content: center;
    gap: 2rem !important;
    display: flex;
    flex-wrap: wrap;
}

.wc-block-product {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    padding: 16px;
    margin: 16px;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
}

.wc-block-product:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
}

/* === PRODUCT IMAGE === */
.wc-block-components-product-image img {
    border-radius: 8px;
    object-fit: cover;
    max-height: 260px;
    width: 100%;
}

/* === PRODUCT TITLE === */
.wc-block-post-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.15rem;
    font-weight: 600;
    color: #3a2a1c;
    margin: 12px 0 6px;
    text-align: center;
}

/* === PRICE === */
.wc-block-components-product-price {
    font-size: 1rem;
    font-weight: 500;
    color: #704225;
    text-align: center;
    margin-bottom: 0.75rem;
}

@media (max-width: 768px) {
    .wp-block-group.alignwide.is-content-justification-space-between {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/*** CLEAN UP UGLY BLACK / GRAY OUTLINE AROUND PRODUCT IMAGE, SORT AND BUTTON WHEN CLICKED ****/
.wc-block-components-product-image a:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px #d8c0a8 !important;
    border-radius: 8px;
}

.woocommerce-ordering select.orderby:focus {
    outline: none;
    box-shadow: 0 0 0 2px #d8c0a8;
}

.wc-block-components-product-button .wp-element-button:focus,
.wc-block-components-product-button .wp-block-button__link:focus {
    outline: none;
    box-shadow: 0 0 0 2px #d8c0a8;
}

/*** Category Subheading **/

.category-subheading {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.85rem !important;
    text-align: center !important;
    color: #3a2a1c !important;
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
}

.category-subheading::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    margin: 10px auto 0;
    background-color: #704225;
    opacity: 0.85;
    border-radius: 1px;
}

/************************** PRODUCT PAGE **/
.woocommerce-breadcrumb {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    color: #6b4a34;
    margin: 2rem 0 2.5rem !important;
    padding-left: 20px !important;
    display: block;
    letter-spacing: 0.25px !important;
}

.woocommerce-breadcrumb a {
    color: #a15c2f;
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

/** remove WooCommerce default sale tag **/
.woocommerce span.onsale {
    display: none !important;
}

.wc-block-grid__product-onsale {
    display: none !important;
}

.woocommerce del {
    color: #9c8371; /* original price */
    text-decoration: line-through;
    font-weight: 500;
}

.woocommerce ins {
    color: #704225; /* new price */
    font-weight: 600;
    text-decoration: none;
    margin-left: 0.5rem;
}

/* Optional subtle “On Sale” tag after price */
.woocommerce ins::after {
    content: " On Sale";
    font-size: 0.85rem;
    color: #a15c2f;
    font-style: italic;
    margin-left: 6px;
}

/** product image **/
.woocommerce-product-gallery__image img {
    border-radius: 8px !important;
}

.woocommerce div.product div.images {
    max-width: 420px;
    margin: 0 auto; /* center it */
    position: relative;
}

/* Make sure the image fills the container but doesn't overflow */
.woocommerce div.product div.images img {
    width: 100%;
    height: auto;
    display: block;
}

/* Optional: reposition or hide the zoom icon */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    right: 10px;
    top: 10px;
}

/* Optional: prevent zoom from triggering outside image bounds */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
    overflow: hidden;
    position: relative;
}

/* product details */

/* Center and constrain layout */
.woocommerce.single-product .wp-block-column.is-layout-flow {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}
.woocommerce.single-product .wp-block-column.is-layout-flow > * {
    width: 100% !important;
    max-width: 640px;
    margin: 0 auto;
}

/* Product title color and underline */
.woocommerce.single-product .wp-block-post-title {
    color: #4b2e17;
}
.woocommerce.single-product .wp-block-post-title::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background-color: #704225;
    margin: 0.75rem auto 2rem auto !important;
    border-radius: 1px;
    opacity: 0.85;
}

/* Spacing between sections */
.woocommerce.single-product .wp-block-post-title,
.woocommerce.single-product .product .price,
.woocommerce.single-product .product .stock,
.woocommerce.single-product .product .cart,
.woocommerce.single-product .product .product_meta {
    margin-bottom: .75rem;
}

.woocommerce.single-product .product .product_meta {
    margin-top: 1.75rem !important;
}

/* SKU and meta block */
.woocommerce.single-product .wp-block-woocommerce-product-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 0.9rem;
    color: #6b4a34;
    font-family: 'Inter', sans-serif;
    margin-top: 0.5rem !important;
}

/* Stock styling */
.woocommerce.single-product .stock {
    margin-bottom: 1rem;
    text-align: center;
    display: block;
}

/* === Add to Cart Layout Fix === */

/* Quantity input + button on same row */
.woocommerce.single-product .wc-block-components-product-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.woocommerce.single-product .wc-block-components-product-form .wc-block-components-quantity-selector,
.woocommerce.single-product .wc-block-components-product-form .wp-block-woocommerce-product-button {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: center;
    margin-top: 1rem;
    flex-wrap: wrap;
}

/* Quantity input field */
.woocommerce.single-product .wc-block-components-quantity-selector input[type="number"] {
    padding: 8px 12px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    width: 60px;
    text-align: center;
    background: #fdf8f4;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Add to cart button */
.woocommerce.single-product .single_add_to_cart_button {
    background-color: #4a2f1a !important;
    color: white !important;
    padding: 10px 24px !important;
    border-radius: 6px !important;
    font-family: 'GT Walsheim', serif !important;
    font-size: 1rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
}

.woocommerce.single-product .single_add_to_cart_button:hover {
    background-color: #5f3d23 !important;
}

.woocommerce.single-product form.cart {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100%;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.25rem;
}

/* Ensure the wrapper is centered too */
.woocommerce.single-product .wc-block-components-product-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
}

/* stock count */
.woocommerce.single-product .product .stock {
    margin-top: 0.25rem;
    margin-bottom: 1.5rem;
    font-style: italic;
    color: #6b4a34;
    text-align: center;
    display: block;
}

/* Force it to appear as part of meta block */
.woocommerce.single-product .product_meta + .stock {
    margin-top: -0.5rem;
}

.woocommerce.single-product .stock,
.woocommerce.single-product .product .product_meta {
    font-family: 'Inter', sans-serif;
}

/* hide description and additional information tabs */
.woocommerce-tabs {
    display: none;
}

.woocommerce .wp-block-woocommerce-product-collection h2.wp-block-heading[style] {
    font-family: 'GT Walsheim', serif !important;
    font-size: 2rem !important;
    color: #4b2e17 !important;
    text-align: center !important;
    margin-top: 4rem !important;
    margin-bottom: 2rem !important;
    letter-spacing: 0.5px !important;
    border-bottom: 2px solid #c3a98b !important;
    display: inline-block !important;
    padding-bottom: 0.25rem !important;
}

.woocommerce .wp-block-woocommerce-product-collection {
    text-align: center !important;
}

/* Force the heading to obey that alignment */
.woocommerce .wp-block-woocommerce-product-collection h2.wp-block-heading[style] {
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/** Messages **/
.wc-block-components-notice-banner {
    background-color: #f8f5f2 !important;
    border: 1px solid #9d6a3c !important;
    color: #9d6a3c !important;
    font-family: 'GT Walsheim', serif !important;
    font-size: 1rem;
    padding: 1rem 1.5rem;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* fix for message border breaking on mobile */
@media (max-width: 768px) {
    .wc-block-components-notice-banner {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
        display: block !important;
        text-align: center !important;
    }

    .wc-block-components-notice-banner__content {
        display: block !important;
        width: 100% !important;
    }

    .wc-block-components-notice-banner a.button {
        display: inline-block !important;
        margin: .75rem 0 0 0 !important;
        text-align: center !important;
        float: none !important;
    }
}
/* 5f3d23  4a2f1a */
.wc-block-components-notice-banner__icon {
    color: #4a2f1a !important;
}

.wc-block-components-notice-banner__content a {
    color: #4a2f1a !important;
    text-decoration: underline;
}

.wc-block-components-notice-banner__content a:hover {
    color: #5f3d23 !important;
}

.wc-block-components-notice-banner svg {
    display: none !important;
}

/* view cart in messages */
.wc-block-components-notice-banner__content .button.wc-forward.wp-element-button {
    background-color: #4a2f1a !important; /* darker brown */
    color: #f8f5f2 !important;
    border: none !important;
    padding: 6px 16px !important;
    font-size: 0.75rem;
    font-family: 'GT Walsheim', sans-serif !important;
    border-radius: 9999px !important;
    font-weight: 500;
    box-shadow: none;
    text-align: center;
    display: inline-block;
    text-decoration: none !important;
    transition: background-color 0.3s ease;
    /* remove the shading over the "View Cart Button" preventing color from displaying correctly */
    filter: none !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
}



/* Optional: ensure full hover match */
.wc-block-components-notice-banner__content .button.wc-forward.wp-element-button:hover {
    background-color: #744826 !important;
    color: #fff !important;
}

/** Cart Page ***/

/** "Cart" at top **/
.wp-block-post-title {
    font-family: 'GT Walsheim', serif !important;
    color: #3a2a1c; /* your brand's orange-brown */
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

/* small line */
.wp-block-post-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 2px;
    background-color: #9d6a3c;
    margin: 0.5rem auto 2.5rem auto;
    border-radius: 1px;
}

/* mini cart table rows on left **/
.wc-block-cart-items {
    font-family: 'GT Walsheim', serif !important;
    font-size: 1.25rem;
    border-collapse: collapse;
    color: #3a2a1c;
    width: 100%;
    margin-bottom: 2rem;
}

.wc-block-cart-items__row {
    border-bottom: 1px solid #e0e0e0;
    padding: 1rem 0;
}

.wc-block-cart-items__product {
    color: #3a2a1c;
    font-weight: 500;
}
/* Remove Item link */
.wc-block-cart-item__remove-link {
    font-size: 1.25rem !important;
    color: #9d6a3c !important;
    font-weight: 500;
}

.wc-block-cart-item__prices {
    margin-top: 0.25rem;
    font-size: 1rem;
    color: #3a2a1c;
    text-align: left;
}

.wc-block-components-product-price {
    display: inline-block;
    font-weight: 600;
}

/* round product image corners **/
.wc-block-cart-item__image img {
    border-radius: 8px;
}

/*** RIGHT SIDE BAR - CART TOTALS ***/
.wc-block-cart__totals {
    font-family: 'GT Walsheim', serif !important;
    background-color: #f8f5f2;
    padding: 1.5rem;
    border: 1px solid #ddd;
    border-radius: 12px;
}

.wc-block-components-totals-header {
    font-size: 1.25rem;
    font-weight: 600;
    color: #3a2a1c;
    margin-bottom: 1rem;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
    font-size: 1rem;
    padding: 0.5rem 0;
    color: #3a2a1c;
}

/** coupon and totals header **/
.wc-block-components-panel__button {
    font-family: 'GT Walsheim', serif !important;
    font-size: 0.9rem;
    color: #9d6a3c;
}

/*** checkout button ***/
.wc-block-cart__submit-button {
    background-color: #3a2a1c !important;
    color: #f8f5f2 !important;
    border-radius: 9999px;
    font-family: 'GT Walsheim', sans-serif !important;
    font-weight: 500;
    padding: 0.75rem 2rem;
    transition: background-color 0.3s ease;
}

.wc-block-cart__submit-button:hover {
    background-color: #744826 !important;
    color: #ffffff !important;
}

/** Coupon fields **/

/* Input Field Styling */
.wc-block-components-totals-coupon__input input {
    font-family: 'GT Walsheim', serif !important;
    font-size: 0.9rem;
    padding: 0.5rem 0.75rem !important;
    border-radius: 8px !important;
    border: 1px solid #9d6a3c !important;
    width: 200px !important;
    max-width: 100%;
    box-shadow: none !important;
}

/* Coupon Form Container: prevent full-width expansion */
.wc-block-components-totals-coupon__form {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    max-width: 100%;
}

/* Apply Button Styling */
.wc-block-components-totals-coupon__button {
    background-color: #3a2a1c !important;
    color: #f8f5f2 !important;
    font-family: 'GT Walsheim', sans-serif !important;
    font-size: 0.9rem !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: 9999px !important;
    border: none !important;
    box-shadow: none !important;
    transition: background-color 0.3s ease;

}

.wc-block-components-totals-coupon__button:hover {
    background-color: #744826 !important;
    color: #ffffff !important;
}

/* delivery fields */
/* -----------------------------------
   Shared input + select field styling
----------------------------------- */
.wc-block-components-address-form input,
.wc-block-components-address-form select {
    font-family: 'GT Walsheim', serif !important;
    font-size: 1.15rem !important; /*slight increase to font size for legibility */
    padding: 0.5rem 0.75rem !important;
    border: 1px solid #9d6a3c !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    color: #3a2a1c !important;
    box-shadow: none !important;
    appearance: none;
}

/* Dropdown caret styling (optional) */
.wc-block-components-address-form select {
    background-image: none !important;
}

/* -----------------------------------
   'Check delivery options' button
----------------------------------- */
form.wc-block-components-shipping-calculator-address button.wc-block-components-shipping-calculator-address__button {
    all: unset;
    display: block !important;
    background-color: #3a2a1c !important;
    color: #f8f5f2 !important;
    font-family: 'GT Walsheim', sans-serif !important;
    font-size: 0.9rem !important;
    padding: 0.5rem 1.5rem !important;
    border-radius: 9999px !important;
    border: none !important;
    text-align: center !important;
    cursor: pointer;
    transition: background-color 0.3s ease;
    min-width: 220px !important;
    margin: 1rem auto 0 auto !important; /* top, right, bottom, left */

}

form.wc-block-components-shipping-calculator-address button.wc-block-components-shipping-calculator-address__button:hover {
    background-color: #744826 !important;
    color: #ffffff !important;
}

.wc-block-components-shipping-calculator__button {
    min-width: 220px;
    text-align: center;
}

/* give some padding to the whole cart page because otherwise it looks very cramped */
@media (max-width: 768px) {
    .wp-block-woocommerce-cart.alignwide {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/*** CHECK OUT PAGE **/
.checkout-site-title a {
    font-family: 'GT Walsheim', serif !important;
    font-size: 1.75rem !important;
    color: #3a2a1c !important;
    text-decoration: none !important;
    font-weight: 600;
}

.checkout-site-title a:hover {
    color: #744826 !important;
}

/** checkout padding prevent whole site cramped **/
@media (max-width: 768px) {
    body.woocommerce-checkout .wp-site-blocks {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
}

/* color the step titles */
.wc-block-components-checkout-step__title {
    color: #7b4a22; /* or your exact theme brown */
}

/* move $price on the right hand side, to the left instead of centered under desc. */
.wc-block-components-order-summary-item__individual-price {
    display: block;
    text-align: left;
    margin-left: 0; /* or adjust to your liking */
}

/** shipping border **/
label.wc-block-components-radio-control__option--checked-option-highlighted {
    border: 1px solid #9d6a3c !important; /* your brown */
    box-shadow: none !important;
    outline: none !important;
    background: #fff !important;
}
.wc-block-components-checkout-place-order-button {
    background-color: #3a2a1c !important;
    border-radius: 6px !important;
    color: #fff !important;
    border: none;
    font-weight: 600 !important;
}

.wc-block-components-checkout-place-order-button:hover {
    background-color: #744826 !important;
    color: #fff !important;
}

/** mini cart flyout  (desktop only )**/
/* View My Cart (outlined) */
a[class*="wc-block-mini-cart__footer-cart"].outlined {
    background-color: transparent !important;
    border: 2px solid #5f3d23 !important;
    border-radius: 6px !important;
    color: #5f3d23 !important;
    box-shadow: none !important;
}

a[class*="wc-block-mini-cart__footer-cart"].outlined:hover {
    background-color: #5f3d23 !important;
    color: #fff !important;
}

/* Go to Checkout (filled) */
a[class*="wc-block-mini-cart__footer-checkout"].contained {
    background-color: #5f3d23 !important;
    border-radius: 6px !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
}

a[class*="wc-block-mini-cart__footer-checkout"].contained:hover {
    background-color: #4a2f1a !important;
    color: #fff !important;
}

/* 404  */
.page-not-found-img img {
    border-radius: 8px;
    overflow: hidden;
    display: block;
}

.page-not-found-group {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

.page-not-found-content {
    text-align: center;
}

.page-not-found-content > h1 {
    color: #3a2a1c !important;
}

.wp-block-button.custom-not-found-button {
    background: none !important;
    padding: 0 !important;
    display: inline-block;
    margin: 1rem auto 0 auto; /* top auto bottom auto = horizontal centering */
    text-align: center;
}

.wp-block-button.custom-not-found-button a,
.wp-block-button.custom-not-found-button .wp-block-button__link,
.custom-not-found-button {
    background-color: #4a2f1a !important;
    color: #fff !important;
    border-radius: 20px;
    padding: 0.5em 1em;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none !important;
    display: inline-block;
    line-height: 1.2;
}

.wp-block-button.custom-not-found-button a:hover,
.wp-block-button.custom-not-found-button .wp-block-button__link:hover,
.custom-not-found-button:hover {
    background-color: #5f3d23 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* end page not found **/

.wpforms-submit-container {
    text-align: center;
}

.wpforms-submit-container button {
    margin: 0 auto;
    display: inline-block;
}

.get-in-touch-title {
    font-family: 'Playfair Display', serif !important;
    color: #5f3d23;
}

/*** SHOP DROPDOWN ***/

/* Anchor parent nav item */
.wp-block-navigation-item.has-child {
    position: relative;
}

/* Show submenu on hover */
.wp-block-navigation-item.has-child:hover .wp-block-navigation__submenu-container {
    display: block !important;
    visibility: visible;
    opacity: 1;
}

/* Style the dropdown itself */
.wp-block-navigation__submenu-container {
    position: absolute;
    top: calc(100% - 1px); /* ensures flush placement */

    z-index: 9999;
    display: none;
    margin: 0;
    padding: 0.5rem 0;
    background: #3A2A1C !important;
    box-shadow: none;
    pointer-events: auto;
    text-align: right; /* align all text to the right */
    right: 0;
    left: auto; /* override left alignment */
}

/* === Dropdown Item Styles === */

.wp-block-navigation__submenu-container li {
    padding: 0.6rem 1.2rem;
    white-space: nowrap;
}

.wp-block-navigation__submenu-container a {
    color: #f8f5f2 !important;
    text-decoration: none;
    font-family: 'Manrope', sans-serif;
    font-size: 1.1rem;; /* slightly increased for better match */
    font-weight: 400;    /* bump from 500 to 600 if needed */
    padding: 0.6rem 1.2rem;
    display: block;
    transition: background-color 0.2s ease, color 0.2s ease;
    justify-content: flex-end;
    text-align: right;
}

.wp-block-navigation__submenu-container a:hover,
.wp-block-navigation__submenu-container li:hover {
    background-color: #4a2f1a !important;
    color: #f8f5f2 !important;
    cursor: pointer;
}

/* === Category Page Specific Fix === */
body.archive.woocommerce .wp-block-navigation__submenu-container {
    z-index: 9999 !important;
    position: absolute !important;
    top: 100% !important;
    display: block;
    pointer-events: auto;
}

body.archive.woocommerce .wp-block-navigation-item.has-child:hover .wp-block-navigation__submenu-container {
    display: block !important;
    visibility: visible;
    opacity: 1;
}

body.archive.woocommerce .wp-block-navigation__submenu-container li:hover {
    background-color: #4a2f1a !important;
    cursor: pointer;
}

@media (max-width: 768px) {
    /* Force all submenus to hide by default */
    .wp-block-navigation__submenu-container {
        display: none !important;
        background-color: #3A2A1C;
        padding-left: 1rem;
    }

    /* Reveal only if submenu-open class is added via JS */
    .wp-block-navigation-item.has-child.submenu-open .wp-block-navigation__submenu-container {
        display: block !important;
    }

    .wp-block-navigation__submenu-container a {
        color: #f8f5f2;
        font-family: 'Playfair Display', serif;
        padding: 0.5rem 0;
        display: block;
        text-align: left;
        text-decoration: none;
    }

    .wp-block-navigation__submenu-container a:hover {
        /*background-color: #4a2f1a;*/
    }
}

/*.shop-dropdown-anchor {
    margin-right: .75rem !important;
} */