/*
Theme Name: Extravox
Theme URI: https://wp.extravox.ai
Author: Extravox
Author URI: https://wp.extravox.ai
Description: Standalone custom theme for Extravox. WooCommerce compatible. Tailwind CDN, Newsreader + Manrope.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: extravox
*/

/* ================================================
   WOOCOMMERCE NATIVE ELEMENTS — MATCH STITCH DESIGN
   ================================================ */

/* Primary action buttons (add to cart, checkout, update cart, place order) */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page button.button,
.woocommerce-page a.button,
.woocommerce-page input.button,
.single_add_to_cart_button,
.checkout-button,
.wc-block-components-button,
.wc-proceed-to-checkout a.checkout-button,
button[name="update_cart"],
button[name="apply_coupon"],
.woocommerce-MyAccount-content .button,
.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
    background-color: #082717 !important;
    color: #ffffff !important;
    padding: 1rem 2.25rem !important;
    border-radius: 0.25rem !important;
    font-family: 'Manrope', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.01em !important;
    transition: transform 0.4s ease, background-color 0.3s ease !important;
    border: 0 !important;
    cursor: pointer !important;
    box-shadow: 0 10px 25px -10px rgba(8, 39, 23, 0.25) !important;
    text-transform: none !important;
    line-height: 1.2 !important;
    display: inline-block !important;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
button[name="update_cart"]:hover {
    transform: scale(1.03);
    background-color: #1f3d2b !important;
}

.woocommerce .button.alt,
.woocommerce .button.alt.disabled {
    background-color: #082717 !important;
    color: #ffffff !important;
}

/* Add to cart form layout */
.extravox-atc .cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

/* Quantity input */
.woocommerce .quantity input.qty,
.quantity input.qty {
    width: 72px !important;
    padding: 1rem 0.75rem !important;
    border: 1px solid #c2c8c1 !important;
    border-radius: 0.25rem !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 1rem !important;
    background: #fdf9f2 !important;
    color: #1c1c18 !important;
    text-align: center;
}

/* Form inputs across checkout / account */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.select2-container--default .select2-selection--single {
    border: 1px solid #c2c8c1 !important;
    border-radius: 0.25rem !important;
    padding: 0.875rem 1rem !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.95rem !important;
    background: #fdf9f2 !important;
    color: #1c1c18 !important;
    width: 100%;
    box-sizing: border-box;
    height: auto !important;
}
.select2-container--default .select2-selection--single {
    height: 48px !important;
    display: flex;
    align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    padding-left: 0 !important;
}

.woocommerce form .form-row label {
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #56642b !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

/* Cart table */
.woocommerce table.shop_table,
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
    font-family: 'Manrope', sans-serif !important;
}
.woocommerce table.shop_table th {
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #56642b !important;
    background: transparent !important;
    border-bottom: 1px solid #c2c8c1 !important;
    padding: 1.25rem 1rem !important;
}
.woocommerce table.shop_table td {
    border-top: 1px solid rgba(194, 200, 193, 0.3) !important;
    padding: 1.5rem 1rem !important;
    color: #1c1c18 !important;
    font-size: 0.95rem !important;
}
.woocommerce table.shop_table .product-name a {
    color: #082717 !important;
    font-family: 'Newsreader', serif !important;
    font-style: italic !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
.woocommerce table.shop_table .product-thumbnail img,
.woocommerce table.shop_table img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    border-radius: 0.5rem !important;
}
.woocommerce .woocommerce-Price-amount {
    font-family: 'Newsreader', serif !important;
    font-style: italic !important;
    color: #082717 !important;
}

/* Cart totals box */
.cart_totals, .cart-collaterals {
    background: #f7f3ec;
    padding: 2rem;
    border-radius: 0.75rem;
}
.cart_totals h2 {
    font-family: 'Newsreader', serif !important;
    font-style: italic !important;
    color: #082717 !important;
    font-size: 2rem !important;
    margin-bottom: 1.5rem !important;
}

/* Checkout sections */
.woocommerce-checkout h3,
#order_review_heading {
    font-family: 'Newsreader', serif !important;
    font-style: italic !important;
    color: #082717 !important;
    font-size: 1.75rem !important;
    margin: 2rem 0 1.25rem !important;
}

/* Messages / notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
    background: #f1ede6 !important;
    border-top: 3px solid #56642b !important;
    color: #082717 !important;
    padding: 1rem 1.25rem !important;
    border-radius: 0.5rem !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.95rem !important;
}
.woocommerce-error {
    border-top-color: #ba1a1a !important;
}

/* My Account navigation */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 2rem 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    border-bottom: 1px solid rgba(194, 200, 193, 0.4);
    padding-bottom: 1rem !important;
}
.woocommerce-MyAccount-navigation ul li a {
    font-family: 'Newsreader', serif !important;
    font-style: italic !important;
    color: rgba(8, 39, 23, 0.7) !important;
    padding: 0.5rem 1rem;
    text-decoration: none !important;
    transition: color 0.3s;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    color: #440e00 !important;
    border-bottom: 2px solid #440e00 !important;
}

/* Breadcrumb */
.woocommerce-breadcrumb,
.extravox-breadcrumb {
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: rgba(66, 72, 67, 0.7) !important;
}
.woocommerce-breadcrumb a,
.extravox-breadcrumb a {
    color: #082717 !important;
    text-decoration: none !important;
}
.woocommerce-breadcrumb a:hover {
    color: #440e00 !important;
}

/* Pagination */
.extravox-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 0.75rem;
    margin: 0 0.15rem;
    font-family: 'Manrope', sans-serif;
    font-size: 0.9rem;
    color: #082717;
    text-decoration: none;
    border-radius: 9999px;
    transition: background 0.3s;
}
.extravox-pagination .page-numbers.current {
    background: #082717;
    color: #fdf9f2;
}
.extravox-pagination .page-numbers:hover:not(.current) {
    background: rgba(8, 39, 23, 0.08);
}

/* Variation select wrapper */
.woocommerce div.product form.cart .variations {
    margin-bottom: 1.5rem !important;
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
    padding: 0.5rem 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* Reviews */
.extravox-reviews #reviews {
    border-top: 1px solid rgba(194, 200, 193, 0.4);
    padding-top: 2rem;
}
.extravox-reviews #reviews h2,
.extravox-reviews #reviews h3 {
    font-family: 'Newsreader', serif !important;
    font-style: italic !important;
    color: #082717 !important;
}

/* Long description typography */
.extravox-long-desc p { margin-bottom: 1rem; }
.extravox-long-desc h1, .extravox-long-desc h2, .extravox-long-desc h3 {
    color: #082717;
    font-family: 'Newsreader', serif;
    font-style: italic;
    margin: 2rem 0 1rem;
}

/* Category links in product meta */
.extravox-product-cats a,
.extravox-product-tags a {
    color: inherit !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s;
}
.extravox-product-cats a:hover,
.extravox-product-tags a:hover {
    border-bottom-color: currentColor;
}

/* Hide default WC gallery (we render our own) on single product */
.single-product div.product .woocommerce-product-gallery {
    display: none !important;
}
.single-product div.product {
    overflow: visible !important;
}

/* Hide default WC result count / ordering on archive (we render our own) */
.single-product .product_meta { display: none; }

/* Stock status */
.stock.in-stock { color: #56642b !important; font-family: 'Manrope', sans-serif; font-size: 0.875rem; }
.stock.out-of-stock { color: #ba1a1a !important; font-family: 'Manrope', sans-serif; font-size: 0.875rem; }

/* Admin bar offset */
body.admin-bar header.fixed { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar header.fixed { top: 46px; }
}

.zm-promo-badge{background:rgba(86,100,43,.10);color:#56642b;font-family:Manrope,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:4px 12px;border-radius:9999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:inline-block;line-height:1.4}
.zm-price-old{color:rgba(28,28,24,.45);text-decoration:line-through;font-family:Manrope,sans-serif}
.zm-price-old .woocommerce-Price-amount{color:rgba(28,28,24,.45)!important;font-family:Manrope,sans-serif!important;font-style:normal!important}

.zm-logo{display:block;height:auto;width:auto;object-fit:contain;transition:opacity .25s ease,transform .25s ease}
.zm-logo:hover{opacity:.92;transform:scale(1.015)}
.zm-logo-navbar{max-height:40px;width:auto}
@media(max-width:768px){.zm-logo-navbar{max-height:30px}}
.zm-logo-footer{max-height:48px;width:auto;border-radius:8px}

.zm-rating{display:inline-flex;align-items:center;gap:6px;font-family:Manrope,sans-serif;font-size:12px;line-height:1;margin-bottom:6px}
.zm-rating-stars{color:#56642b;letter-spacing:1px;font-size:13px}
.zm-rating-value{color:#1c1c18;font-weight:600}
.zm-rating-count{color:rgba(28,28,24,.55)}
.zm-card{transition:transform .25s ease,box-shadow .25s ease}
.zm-card:hover{transform:scale(1.02)}
.zm-promo-badge--strong{background:#440e00;color:#fdf9f2;font-family:Manrope,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:6px 14px;border-radius:9999px;display:inline-block;line-height:1.4;box-shadow:0 6px 16px -6px rgba(68,14,0,.45)}
.zm-cta-strong{display:inline-flex;align-items:center;gap:8px;background:#082717;color:#fff;font-family:Manrope,sans-serif;font-weight:600;font-size:13px;padding:10px 20px;border-radius:6px;margin-top:8px;transition:background .25s ease,transform .25s ease}
.group:hover .zm-cta-strong{background:#1f3d2b;transform:translateX(2px)}
.zm-logo-navbar{max-height:44px!important}
@media(max-width:768px){.zm-logo-navbar{max-height:34px!important}}
.zm-logo-footer{max-height:72px!important;opacity:.9;filter:brightness(1.55) saturate(.75)}

/* Logo size bump v2 */
.zm-logo-navbar{max-height:60px!important}
@media(max-width:768px){.zm-logo-navbar{max-height:44px!important}}
.zm-logo-footer{max-height:100px!important}

/* Logo size bump v3 */
.zm-logo-navbar{max-height:76px!important}
@media(max-width:768px){.zm-logo-navbar{max-height:54px!important}}
.zm-logo-footer{max-height:130px!important}
main.pt-24{padding-top:7.5rem!important}

.zm-pack-badge{background:rgba(8,39,23,.92);color:#fdf9f2;font-family:Manrope,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:6px 14px;border-radius:9999px;display:inline-block;line-height:1.4;backdrop-filter:blur(4px)}
.zm-cta-soft{transition:border-color .25s ease,transform .25s ease}
.group:hover .zm-cta-soft{transform:translateX(2px)}
.zm-flash-label{display:inline-flex;align-items:center;gap:6px;background:#440e00;color:#fdf9f2;font-family:Manrope,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;padding:7px 16px;border-radius:9999px;line-height:1;box-shadow:0 8px 20px -8px rgba(68,14,0,.45)}
.zm-urgency-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(68,14,0,.08);color:#440e00;font-family:Manrope,sans-serif;font-size:12px;font-weight:600;padding:6px 14px;border-radius:9999px;line-height:1.4}
.zm-urgency-text{font-family:Manrope,sans-serif;font-size:13px;color:#1c1c18}
.zm-urgency-text strong{color:#440e00;font-weight:700}

/* Logo size bump v4 */
.zm-logo-navbar{max-height:96px!important}
@media(max-width:768px){.zm-logo-navbar{max-height:64px!important}}
.zm-logo-footer{max-height:170px!important}
main.pt-24{padding-top:9rem!important}
@media(max-width:768px){main.pt-24{padding-top:6.5rem!important}}

/* Logo size bump v5 */
.zm-logo-navbar{max-height:120px!important}
@media(max-width:768px){.zm-logo-navbar{max-height:76px!important}}
.zm-logo-footer{max-height:220px!important}
main.pt-24{padding-top:11rem!important}
@media(max-width:768px){main.pt-24{padding-top:7.5rem!important}}

.zm-hero-video{object-position:center 45%;z-index:0}
@media(max-width:768px){.zm-hero-video{object-position:center center}}
.zm-hero-overlay{background:linear-gradient(90deg,rgba(246,239,224,.62) 0%,rgba(246,239,224,.38) 45%,rgba(0,43,25,.10) 100%);z-index:1;pointer-events:none}

/* FASTFIX 20260504 */
:root{--zm-header-h:64px}
@media(max-width:768px){:root{--zm-header-h:58px}}
.zm-header{height:var(--zm-header-h)!important;min-height:var(--zm-header-h)!important}
.zm-header>nav{height:100
/* FASTFIX 20260504 */
:root{--zm-header-h:64px}
@media(max-width:768px){:root{--zm-header-h:58px}}
.zm-header{height:var(--zm-header-h)!important;min-height:var(--zm-header-h)!important}
.zm-header>nav{height:100%!important;padding-top:0!important;padding-bottom:0!important;align-items:center!important}
.zm-logo-navbar{height:42px!important;max-height:42px!important;width:auto!important;object-fit:contain!important;display:block!important}
@media(max-width:768px){.zm-logo-navbar{height:34px!important;max-height:34px!important}}
.zm-main-offset{padding-top:var(--zm-header-h)!important}
.zm-hero{position:relative!important;overflow:hidden!important;height:calc(100vh - var(--zm-header-h))!important;min-height:560px!important;max-height:720px!important;background:#082717!important}
.zm-hero-media,.zm-hero-video,.zm-hero-overlay{position:absolute!important;inset:0!important}
.zm-hero-media{z-index:0!important;background:#082717!important}
.zm-hero-video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 42%!important;display:block!important;background:#082717!important}
.zm-hero-overlay{z-index:1!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(246,239,224,.78) 0%,rgba(246,239,224,.55) 42%,rgba(246,239,224,.12) 100%)!important}
@media(max-width:768px){.zm-hero-overlay{background:linear-gradient(180deg,rgba(246,239,224,.78) 0%,rgba(246,239,224,.55) 55%,rgba(246,239,224,.20) 100%)!important}}
.zm-hero>.relative{position:relative!important;z-index:2!important}

/* === REFINE 20260504 — premium first-screen, wins over FASTFIX === */
:root{--zm-header-h:88px}
@media(max-width:768px){:root{--zm-header-h:74px}}
.zm-header{height:var(--zm-header-h)!important;min-height:var(--zm-header-h)!important;border-bottom:1px solid rgba(8,39,23,.06)!important}
.zm-logo-navbar{height:58px!important;max-height:58px!important}
@media(max-width:768px){.zm-logo-navbar{height:44px!important;max-height:44px!important}}
.zm-main-offset{padding-top:var(--zm-header-h)!important}
.zm-hero{height:calc(100vh - var(--zm-header-h))!important;min-height:620px!important;max-height:780px!important;background:#082717!important}
.zm-hero-video{object-position:50% 42%!important}
.zm-hero-overlay{background:linear-gradient(90deg,rgba(246,239,224,.72) 0%,rgba(246,239,224,.48) 34%,rgba(246,239,224,.18) 62%,rgba(246,239,224,.06) 100%)!important}
@media(max-width:768px){.zm-hero-overlay{background:linear-gradient(180deg,rgba(246,239,224,.78) 0%,rgba(246,239,224,.55) 50%,rgba(246,239,224,.20) 100%)!important}}
.zm-hero-content{max-width:620px!important}
.zm-hero-eyebrow{letter-spacing:.32em!important;font-size:11px!important;text-transform:uppercase!important;color:#56642b!important;margin-bottom:22px!important;display:block!important}
.zm-hero-title{font-family:Newsreader,serif!important;font-style:italic!important;font-weight:600!important;color:#082717!important;line-height:1.02!important;letter-spacing:-.01em!important;font-size:clamp(44px,5.6vw,76px)!important;margin-bottom:26px!important}
.zm-hero-lede{font-family:Manrope,sans-serif!important;font-size:17px!important;line-height:1.65!important;color:#2f4d3a!important;max-width:480px!important;margin-bottom:36px!important}
.zm-hero-cta{display:inline-flex!important;align-items:center!important;gap:10px!important;padding:16px 32px!important;background:#082717!important;color:#fdf9f2!important;font-family:Manrope,sans-serif!important;font-weight:500!important;font-size:14px!important;letter-spacing:.04em!important;border-radius:2px!important;box-shadow:0 8px 24px -8px rgba(8,39,23,.35)!important;transition:transform .4s ease,box-shadow .4s ease!important}
.zm-hero-cta:hover{transform:translateY(-2px)!important;box-shadow:0 16px 32px -10px rgba(8,39,23,.5)!important}
@media(max-width:768px){.zm-hero-title{font-size:clamp(36px,9vw,52px)!important;margin-bottom:20px!important}.zm-hero-lede{font-size:15px!important;margin-bottom:28px!important}.zm-hero-cta{padding:14px 26px!important}}

/* === PREMIUM 20260504 — first-screen authority pass, wins over REFINE === */
:root{--zm-header-h:96px}
@media(max-width:768px){:root{--zm-header-h:78px}}
.zm-header{height:var(--zm-header-h)!important;min-height:var(--zm-header-h)!important;background:rgba(253,249,242,.86)!important;backdrop-filter:saturate(1.2) blur(14px)!important;-webkit-backdrop-filter:saturate(1.2) blur(14px)!important;border-bottom:1px solid rgba(8,39,23,.07)!important;box-shadow:0 1px 0 rgba(8,39,23,.02)!important}
.zm-header > nav{padding-left:48px!important;padding-right:48px!important;gap:48px!important}
@media(max-width:768px){.zm-header > nav{padding-left:20px!important;padding-right:20px!important}}
.zm-logo-navbar{height:64px!important;max-height:64px!important;width:auto!important;object-fit:contain!important;display:block!important}
@media(max-width:768px){.zm-logo-navbar{height:46px!important;max-height:46px!important}}
.zm-header nav a{font-size:15px!important;letter-spacing:.01em!important}
.zm-header nav .material-symbols-outlined{font-size:26px!important;font-variation-settings:'wght' 300!important}
.zm-main-offset{padding-top:var(--zm-header-h)!important}
.zm-hero{height:calc(100vh - var(--zm-header-h))!important;min-height:660px!important;max-height:820px!important;background:#082717!important}
.zm-hero-video{object-position:50% 40%!important;filter:saturate(1.06) contrast(1.04)!important}
.zm-hero-overlay{background:linear-gradient(90deg,rgba(246,239,224,.78) 0%,rgba(246,239,224,.58) 30%,rgba(246,239,224,.22) 58%,rgba(246,239,224,.06) 100%)!important}
@media(max-width:768px){.zm-hero-overlay{background:linear-gradient(180deg,rgba(246,239,224,.82) 0%,rgba(246,239,224,.6) 50%,rgba(246,239,224,.22) 100%)!important}}
.zm-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(180deg,transparent 0%,rgba(253,249,242,.55) 70%,#fdf9f2 100%);z-index:1;pointer-events:none}
.zm-hero-content{max-width:660px!important}
.zm-hero-eyebrow{letter-spacing:.36em!important;font-size:11px!important;font-weight:500!important;color:#56642b!important;margin-bottom:28px!important;display:inline-flex!important;align-items:center!important;gap:14px!important}
.zm-hero-eyebrow::before{content:"";display:block;width:36px;height:1px;background:#56642b;opacity:.6}
.zm-hero-title{font-family:Newsreader,serif!important;font-style:italic!important;font-weight:500!important;color:#082717!important;line-height:1.0!important;letter-spacing:-.015em!important;font-size:clamp(52px,6.6vw,92px)!important;margin-bottom:32px!important}
.zm-hero-lede{font-family:Manrope,sans-serif!important;font-size:18px!important;line-height:1.6!important;color:#1f3d2b!important;max-width:520px!important;margin-bottom:44px!important;font-weight:400!important}
.zm-hero-cta{display:inline-flex!important;align-items:center!important;gap:12px!important;padding:18px 38px!important;background:#082717!important;color:#fdf9f2!important;font-family:Manrope,sans-serif!important;font-weight:500!important;font-size:15px!important;letter-spacing:.06em!important;text-transform:uppercase!important;border-radius:2px!important;box-shadow:0 12px 32px -10px rgba(8,39,23,.4)!important;transition:transform .45s ease,box-shadow .45s ease,background .45s ease!important}
.zm-hero-cta:hover{transform:translateY(-2px)!important;box-shadow:0 20px 40px -12px rgba(8,39,23,.55)!important;background:#1f3d2b!important}
@media(max-width:768px){.zm-hero{min-height:580px!important;max-height:740px!important}.zm-hero-content{max-width:100%!important}.zm-hero-eyebrow{font-size:10px!important;letter-spacing:.3em!important;margin-bottom:20px!important}.zm-hero-eyebrow::before{width:24px!important}.zm-hero-title{font-size:clamp(40px,10vw,60px)!important;line-height:1.04!important;margin-bottom:22px!important}.zm-hero-lede{font-size:15px!important;margin-bottom:30px!important}.zm-hero-cta{padding:16px 30px!important;font-size:13px!important}}
