/*
Theme Name: Blackberry & Vine
Template: storefront
Description: Clean herbal apothecary design for Blackberry & Vine.
Version: 1.4
*/

:root {
    --bv-paper: #faf7f2;
    --bv-paper-deep: #f3eee5;
    --bv-ink: #1c1b18;
    --bv-ink-soft: #4a463f;
    --bv-green: #3d5a3c;
    --bv-green-dark: #2c432b;
    --bv-plum: #4a2b40;
    --bv-line: #e2dbce;
    --bv-serif: 'Cormorant Garamond', Georgia, serif;
    --bv-sans: 'Poppins', -apple-system, sans-serif;
}

/* ---------- base ---------- */
body {
    background: var(--bv-paper);
    color: var(--bv-ink-soft);
    font-family: var(--bv-sans);
    font-weight: 300;
    font-size: 16px;
}
h1, h2, h3, h4, h5, h6,
.woocommerce-loop-product__title,
.product_title {
    font-family: var(--bv-serif);
    font-weight: 500;
    color: var(--bv-ink);
    letter-spacing: .01em;
}
a { color: var(--bv-green); }
a:hover { color: var(--bv-green-dark); }

/* ---------- header ---------- */
.site-header,
.storefront-primary-navigation {
    background: var(--bv-paper);
    border-bottom: 1px solid var(--bv-line);
}
.site-header { padding-top: 1.2em; }
.custom-logo { max-height: 72px; width: auto; }
.main-navigation ul li a,
.secondary-navigation ul li a {
    font-family: var(--bv-sans);
    font-weight: 400;
    font-size: .82rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--bv-ink);
}
.main-navigation ul li a:hover { color: var(--bv-green); }
.site-header-cart .cart-contents { color: var(--bv-ink); }

/* text wordmark — the logo file never rendered well, so the header is typeset live */
.site-branding .site-title,
.site-branding h1.site-title {
    font-family: var(--bv-serif);
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .3em;
    text-transform: uppercase;
    margin-bottom: 0;
}
.site-branding .site-title a { color: var(--bv-ink); }
.site-branding .site-description {
    font-family: var(--bv-serif);
    font-style: italic;
    font-size: .95rem;
    letter-spacing: .08em;
    color: var(--bv-ink-soft);
    display: block;
    margin-top: .1em;
}

@media (max-width: 600px) {
    .site-branding .site-title,
    .site-branding h1.site-title {
        font-size: 1.02rem;
        letter-spacing: .12em;
        white-space: nowrap;
    }
    .site-branding .site-description { font-size: .8rem; }
    .bv-hero { padding: 3em 1.2em; }
    .bv-hero h1 { font-size: 2rem; }
}

/* preservative-free badge */
.bv-badge {
    display: inline-block;
    border: 1px solid var(--bv-green);
    color: var(--bv-green-dark);
    font-size: .62rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: .25em .7em;
    border-radius: 2em;
    margin: .2em 0 .4em;
    background: transparent;
}

/* front page: no page title */
.home .entry-title, .home .page-title { display: none; }

/* footer credit */
.site-info { color: #8b867c; }
.site-info a[href*="woocommerce"], .site-info .storefront-credit { display: none; }

/* announcement strip */
.bv-announce {
    background: var(--bv-green-dark);
    color: #f2efe6;
    text-align: center;
    font-size: .78rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    padding: .55em 1em;
}

/* ---------- buttons ---------- */
.button, button, input[type=submit],
.woocommerce #respond input#submit, .wc-block-components-button {
    background: var(--bv-green) !important;
    color: #f7f5ee !important;
    font-family: var(--bv-sans);
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .8rem;
    border-radius: 2px;
    border: none;
    padding: .9em 1.8em;
}
.button:hover, button:hover, input[type=submit]:hover {
    background: var(--bv-green-dark) !important;
    color: #fff !important;
}
.button.alt, .single_add_to_cart_button {
    background: var(--bv-ink) !important;
}
.button.alt:hover, .single_add_to_cart_button:hover {
    background: var(--bv-plum) !important;
}

/* ---------- shop grid ---------- */
ul.products li.product {
    text-align: center;
}
ul.products li.product img {
    border-radius: 3px;
    border: 1px solid var(--bv-line);
    background: #fff;
}
ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.15rem;
    margin-top: .6em;
}
ul.products li.product .price {
    color: var(--bv-green-dark);
    font-family: var(--bv-sans);
    font-weight: 400;
    font-size: .9rem;
}
.woocommerce-products-header__title.page-title {
    font-size: 2.6rem;
    text-align: center;
}

/* ---------- single product ---------- */
.single-product div.product .product_title { font-size: 2.2rem; }
.single-product div.product p.price {
    color: var(--bv-green-dark);
    font-size: 1.25rem;
    font-family: var(--bv-sans);
    font-weight: 400;
}
.single-product div.product .woocommerce-product-details__short-description,
.woocommerce-Tabs-panel { line-height: 1.75; }
table.variations label { font-weight: 400; color: var(--bv-ink); }
table.variations select {
    border: 1px solid var(--bv-line);
    background: #fff;
    padding: .5em .8em;
    border-radius: 2px;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--bv-green-dark); }

/* breadcrumb */
.woocommerce-breadcrumb {
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bv-ink-soft);
    background: transparent;
}

/* ---------- homepage ---------- */
.bv-hero {
    background: var(--bv-paper-deep);
    border: 1px solid var(--bv-line);
    border-radius: 4px;
    text-align: center;
    padding: 4.5em 2em;
    margin: 2.5em 0 3em;
}
.bv-hero h1 {
    font-size: 2.9rem;
    font-weight: 500;
    margin-bottom: .35em;
    font-style: italic;
}
.bv-hero p {
    font-size: 1rem;
    letter-spacing: .04em;
    max-width: 38em;
    margin: 0 auto 1.8em;
}
.bv-section-title {
    text-align: center;
    font-size: 2rem;
    margin: 2.2em 0 1.2em;
}
.bv-section-title:after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    background: var(--bv-green);
    margin: .55em auto 0;
}
.bv-values {
    display: flex;
    gap: 1.5em;
    text-align: center;
    margin: 3em 0;
    flex-wrap: wrap;
}
.bv-values > div {
    flex: 1 1 200px;
    border-top: 1px solid var(--bv-line);
    padding-top: 1.2em;
}
.bv-values h3 { font-size: 1.2rem; margin-bottom: .3em; }
.bv-values p { font-size: .88rem; }

/* ---------- footer ---------- */
.site-footer {
    background: var(--bv-ink);
    color: #b9b4a9;
}
.site-footer a { color: #e8e3d6; }
.site-footer .widget-title { color: #f2efe6; font-family: var(--bv-serif); }
.site-info { font-size: .8rem; letter-spacing: .06em; }

/* storefront cleanup */
.storefront-handheld-footer-bar { display: none; }
.site-branding h1.site-title { font-family: var(--bv-serif); }
.woocommerce-store-notice { background: var(--bv-plum); }
