/*
Theme Name: The Artisanal Curator
Theme URI: https://mumari.webcozumleri.com/
Author: Antigravity IDE
Author URI: https://mumari.webcozumleri.com/
Description: Custom WooCommerce theme for The Artisanal Curator inspired by Mumari
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: artisanal-curator
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, woocommerce
*/

/* ─── Base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background-color: #fbf9f4;
  color: #1b1c19;
  margin: 0;
  overflow-x: hidden;
}
.font-serif { font-family: 'Noto Serif', serif; }
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle;
}

/* ─── Utility ───────────────────────────────────────── */
.glass-nav      { backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.ambient-shadow { box-shadow: 0 32px 48px -12px rgba(27,28,25,0.08); }
.card-shadow    { box-shadow: 0 4px 24px rgba(27,28,25,0.06); }
.tonal-section  { background-color: #f5f3ee; }

/* ─── Animations ────────────────────────────────────── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}
.anim-fade-up   { animation: fadeUp .8s cubic-bezier(.22,1,.36,1) both; }
.anim-delay-1   { animation-delay:.15s; }
.anim-delay-2   { animation-delay:.30s; }
.anim-delay-3   { animation-delay:.45s; }

/* ─── Mini Cart Drawer ──────────────────────────────── */
#cart-drawer {
  position: fixed; right: 0; top: 0; height: 100vh; width: 400px; max-width: 95vw;
  background: #fbf9f4;
  box-shadow: -8px 0 48px rgba(27,28,25,0.12);
  transform: translateX(110%);
  transition: transform .45s cubic-bezier(.22,1,.36,1);
  z-index: 200;
  display: flex; flex-direction: column;
}
#cart-drawer.open { transform: translateX(0); }
#cart-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.35);
  opacity: 0; pointer-events: none;
  transition: opacity .4s ease; z-index: 190;
}
#cart-overlay.open { opacity:1; pointer-events: all; }

/* ─── Sticky Add-to-Cart bar ────────────────────────── */
#sticky-atc {
  position: fixed; bottom: -80px; left:0; right:0;
  background: #fbf9f4; border-top: 1px solid #e4e2dd;
  padding: 12px 24px;
  display: flex; justify-content: center; gap:16px; align-items:center;
  transition: bottom .4s cubic-bezier(.22,1,.36,1); z-index: 100;
}
#sticky-atc.visible { bottom:0; }

/* ─── Product Card ──────────────────────────────────── */
.product-card { transition: transform .4s ease, box-shadow .4s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(27,28,25,0.1); }
.product-card .quick-add {
  position: absolute; bottom: 0; left:0; right:0;
  background: #795437; color:#fff; padding:12px; text-align:center;
  transform: translateY(100%); transition: transform .35s ease;
  font-size:.85rem; font-weight:600; letter-spacing:.05em; cursor:pointer;
}
.product-card:hover .quick-add { transform: translateY(0); }

/* ─── Quantity Stepper ──────────────────────────────── */
.qty-stepper { display:flex; align-items:center; gap:0; border:1px solid #d4c3b9; border-radius:99px; overflow:hidden; }
.qty-stepper button {
  background:none; border:none; width:36px; height:36px; cursor:pointer;
  font-size:1.1rem; color:#795437; display:flex; align-items:center; justify-content:center;
  transition: background .2s;
}
.qty-stepper button:hover { background:#f5f3ee; }
.qty-stepper input {
  border:none; width:40px; text-align:center; background:none;
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:#1b1c19; outline:none;
}

/* ─── Filter Chips ──────────────────────────────────── */
.filter-chip {
  padding: 6px 18px; border-radius:99px; border: 1px solid #d4c3b9;
  font-size:.82rem; cursor:pointer; transition: all .2s; white-space:nowrap;
  background:#fff; color:#50443d;
}
.filter-chip.active, .filter-chip:hover {
  background:#795437; color:#fff; border-color:#795437;
}

/* ─── Star rating ───────────────────────────────────── */
.stars { color:#d4a26a; letter-spacing:1px; }

/* ─── Toast ─────────────────────────────────────────── */
#toast {
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px);
  background:#1b1c19; color:#fff; padding:12px 28px; border-radius:99px;
  font-size:.85rem; opacity:0; pointer-events:none;
  transition: opacity .3s, transform .3s; z-index:300;
}
#toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* ─── Responsive ────────────────────────────────────── */
@media(max-width:640px) {
  #cart-drawer { width:100vw; }
}

/* WooCommerce Overrides */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  margin-bottom: 2rem !important;
}
.woocommerce-loop-product__title {
  font-family: 'Noto Serif', serif !important;
  font-size: 1.125rem !important;
  color: #1b1c19 !important;
}
.price {
  color: #795437 !important;
  font-weight: 700 !important;
}

/* Dark Mode Header on Transparent Backgrounds */
.header-dark-mode .menu-1-container a,
.header-dark-mode .main-nav-link {
    color: #ffffff !important;
}
.header-dark-mode .menu-1-container a:hover,
.header-dark-mode .main-nav-link:hover {
    color: #e4e2dd !important;
}
.header-dark-mode #header-logo {
    filter: brightness(0) invert(1);
}
.header-dark-mode .header-icon {
    color: #ffffff !important;
}

/* YITH Wishlist Custom Style Integration */
.yith-wcwl-add-to-wishlist,
.yith-add-to-wishlist-button-block {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 20;
    margin: 0 !important;
}
.yith-wcwl-add-button > a,
.yith-wcwl-wishlistaddedbrowse > a,
.yith-wcwl-wishlistexistsbrowse > a {
    width: 32px !important;
    height: 32px !important;
    background-color: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(4px) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.3s ease !important;
    text-decoration: none !important;
    padding: 0 !important;
}
.yith-wcwl-add-button > a:hover,
.yith-wcwl-wishlistaddedbrowse > a:hover,
.yith-wcwl-wishlistexistsbrowse > a:hover {
    background-color: white !important;
}
/* Hide the text */
.yith-wcwl-add-button > a span,
.yith-wcwl-wishlistaddedbrowse > a span,
.yith-wcwl-wishlistexistsbrowse > a span {
    display: none !important;
}
/* Show the heart icon via CSS */
.yith-wcwl-add-button > a::before,
.yith-wcwl-wishlistaddedbrowse > a::before,
.yith-wcwl-wishlistexistsbrowse > a::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231c1a17' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* Filled heart for added */
.yith-wcwl-wishlistaddedbrowse > a::before,
.yith-wcwl-wishlistexistsbrowse > a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='%231c1a17' stroke='%231c1a17' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'%3E%3C/path%3E%3C/svg%3E");
}
/* Hide other elements of YITH */
.yith-wcwl-add-to-wishlist img.ajax-loading {
    display: none !important;
}
.yith-wcwl-add-to-wishlist .feedback {
    display: none !important;
}

/* WooCommerce Cart Modernization */
.woocommerce-cart .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.woocommerce-cart .woocommerce-cart-form {
    flex: 1 1 65%;
}
.woocommerce-cart .cart-collaterals {
    flex: 1 1 30%;
    margin-top: 0 !important;
}
.woocommerce table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 2rem;
}
.woocommerce table.shop_table th {
    font-family: var(--font-label), sans-serif;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8e8579;
    border-top: none;
    border-bottom: 1px solid #e4e2dd !important;
    padding: 1rem 0;
}
.woocommerce table.shop_table td {
    border-top: none;
    border-bottom: 1px solid #e4e2dd !important;
    padding: 1.5rem 0 !important;
    vertical-align: middle;
}
.woocommerce table.shop_table td.product-thumbnail img {
    width: 80px;
    height: auto;
    border-radius: 2px;
}
.woocommerce table.shop_table td.product-name a {
    font-family: var(--font-serif), serif;
    font-size: 18px;
    color: #1c1a17;
    text-decoration: none;
}
.woocommerce table.shop_table td.product-name a:hover {
    color: #bfa36c;
}
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
    font-family: var(--font-body), sans-serif;
    font-size: 15px;
    color: #1c1a17;
}
.woocommerce .quantity .qty {
    width: 60px;
    height: 40px;
    border: 1px solid #e4e2dd !important;
    border-radius: 2px;
    text-align: center;
    font-family: var(--font-body);
}
.woocommerce a.remove {
    color: #8e8579 !important;
    font-size: 20px !important;
    font-weight: 300 !important;
}
.woocommerce a.remove:hover {
    color: #ff4d4d !important;
    background: transparent !important;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
    width: 200px;
    padding: 12px 16px;
    border: 1px solid #e4e2dd;
    border-radius: 2px;
    font-family: var(--font-body);
    font-size: 14px;
}
.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background-color: #111 !important;
    color: #fff !important;
    font-family: var(--font-label), sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding: 16px 32px !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
}
.woocommerce-cart table.cart td.actions .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #333 !important;
}
.woocommerce .cart-collaterals .cart_totals {
    width: 100% !important;
    background: #fbf9f4;
    padding: 32px;
    border-radius: 4px;
}
.woocommerce .cart-collaterals .cart_totals h2 {
    font-family: var(--font-serif), serif;
    font-size: 24px;
    color: #1c1a17;
    margin-bottom: 24px;
    border-bottom: 1px solid #e4e2dd;
    padding-bottom: 12px;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table {
    border: none !important;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table th,
.woocommerce .cart-collaterals .cart_totals table.shop_table td {
    border-bottom: 1px solid #e4e2dd !important;
    padding: 16px 0 !important;
}
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    border-top-color: #bfa36c !important;
    background-color: #fbf9f4 !important;
    color: #1c1a17 !important;
    font-family: var(--font-body);
    border-radius: 2px;
}
.woocommerce-message::before, .woocommerce-info::before {
    color: #bfa36c !important;
}

/* Responsive Cart */
@media (max-width: 768px) {
    .woocommerce-cart .woocommerce {
        flex-direction: column;
    }
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals {
        flex: 1 1 100%;
    }
}

/* WC Blocks My Account Navigation */
.wp-block-woocommerce-my-account-navigation {
    width: 250px !important;
    max-width: 100% !important;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 24px rgba(27,28,25,0.04);
    overflow: hidden;
    padding: 0 !important;
    margin-right: 40px !important;
}

.wc-block-components-my-account-navigation {
    display: flex;
    flex-direction: column;
}

.wc-block-components-my-account-navigation-link {
    display: block !important;
    padding: 16px 24px !important;
    border-bottom: 1px solid #f5f3ee;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    color: #50443d !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.wc-block-components-my-account-navigation-link:last-child {
    border-bottom: none;
}

.wc-block-components-my-account-navigation-link:hover,
.wc-block-components-my-account-navigation-link[aria-current="page"] {
    background: #fbf9f4 !important;
    color: #1c1a17 !important;
    font-weight: 600 !important;
    padding-left: 32px !important;
}

@media (max-width: 768px) {
    .wp-block-woocommerce-my-account-navigation {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 30px !important;
    }
}

/* WooCommerce My Account Modernization */
.woocommerce-account :has(> .woocommerce-MyAccount-navigation) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    max-width: 1200px !important;
    margin: 40px auto !important;
    padding: 0 20px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 250px !important;
    width: 250px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 24px rgba(27,28,25,0.04) !important;
    overflow: hidden !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #f5f3ee !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 16px 24px !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    color: #50443d !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #fbf9f4 !important;
    color: #1c1a17 !important;
    font-weight: 600 !important;
    padding-left: 32px !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 !important;
    background: #fff !important;
    padding: 40px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 24px rgba(27,28,25,0.04) !important;
    min-width: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
    font-family: var(--font-body);
    color: #50443d;
    line-height: 1.6;
}

.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content legend {
    font-family: var(--font-serif), serif;
    font-size: 24px;
    color: #1c1a17;
    margin-bottom: 24px;
    border-bottom: 1px solid #f5f3ee;
    padding-bottom: 12px;
    width: 100%;
}

.woocommerce-account table.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
}

.woocommerce-account table.shop_table th {
    font-family: var(--font-label);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #8e8579;
    padding: 12px 0;
    border-bottom: 1px solid #e4e2dd;
    text-align: left;
}

.woocommerce-account table.shop_table td {
    padding: 16px 0;
    border-bottom: 1px solid #f5f3ee;
    font-family: var(--font-body);
    font-size: 14px;
    color: #1c1a17;
}

.woocommerce-account .button {
    background-color: #111 !important;
    color: #fff !important;
    font-family: var(--font-label), sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding: 12px 24px !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
    display: inline-block;
    border: none;
    cursor: pointer;
}

.woocommerce-account .button:hover {
    background-color: #333 !important;
}

.woocommerce-account fieldset {
    margin-top: 32px;
    padding: 0;
    border: none;
}

.woocommerce-form-row {
    margin-bottom: 20px;
}

.woocommerce-form-row label {
    display: block;
    margin-bottom: 8px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    color: #1c1a17;
}

.woocommerce-form-row input.input-text {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #e4e2dd;
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 14px;
    transition: border-color 0.3s ease;
}

.woocommerce-form-row input.input-text:focus {
    outline: none;
    border-color: #bfa36c;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
        flex: 1 1 100%;
    }
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 24px;
    }
}
