/*
Theme Name: Meranz Organic Skin
Theme URI: https://example.com
Description: Child theme that restyles WooCommerce + Dokan to the Meranz "Organic" look — cream & terracotta palette, Caprasimo/Figtree type, pill buttons, rounded product cards. Set the Template line below to YOUR active parent theme folder name.
Author: Meranz
Version: 1.0.0
Template: hello-elementor
*/

/* ============================================================================
   IMPORTANT: change the "Template:" line above to your parent theme's FOLDER
   name (e.g. astra, storefront, hello-elementor, kadence, oceanwp). Find it
   under Appearance > Themes, or in wp-content/themes/.
   ============================================================================ */

/* ---- Design tokens (the Organic system) ------------------------------- */
:root{
  --mz-bg:#f5ead8;          /* page ground (cream) */
  --mz-surface:#ebddc5;     /* card / panel */
  --mz-text:#201e1d;        /* ink */
  --mz-accent:#c67139;      /* terracotta */
  --mz-accent-600:#b2622d;
  --mz-accent-700:#8c491a;
  --mz-accent-100:#fff2eb;
  --mz-accent-800:#643312;
  --mz-sage:#7a8a5e;        /* second accent */
  --mz-sage-100:#f0fae1;
  --mz-sage-700:#56633f;
  --mz-divider:rgba(32,30,29,.16);
  --mz-radius:16px;
  --mz-radius-lg:28px;
  --mz-shadow-sm:0 1px 2px rgba(46,43,37,.14);
  --mz-shadow-md:0 3px 10px rgba(46,43,37,.16);
  --mz-heading:"Caprasimo", Georgia, serif;
  --mz-body:"Figtree", system-ui, -apple-system, sans-serif;
}

/* ---- Base type & ground ----------------------------------------------- */
body,
.woocommerce,
.woocommerce-page{
  background:var(--mz-bg);
  color:var(--mz-text);
  font-family:var(--mz-body);
}
h1,h2,h3,h4,h5,h6,
.woocommerce div.product .product_title,
.wp-block-post-title,
.site-title,
.dokan-store-info h3,
.entry-title{
  font-family:var(--mz-heading);
  font-weight:400;
  letter-spacing:-.015em;
}

a{ color:var(--mz-accent-700); text-underline-offset:3px; }
a:hover{ color:var(--mz-accent); }

::selection{ background:rgba(198,113,57,.3); }
:focus-visible{ outline:2px solid var(--mz-accent); outline-offset:2px; }

/* ---- Buttons (WooCommerce + generic) ---------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wp-element-button,
.dokan-btn,
.dokan-btn-theme,
button[type="submit"]{
  background:var(--mz-accent)!important;
  color:var(--mz-bg)!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  font-family:var(--mz-heading)!important;
  font-weight:400!important;
  letter-spacing:.01em;
  padding:.7em 1.6em!important;
  text-shadow:none!important;
  transition:background .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wp-element-button:hover,
.dokan-btn-theme:hover,
button[type="submit"]:hover{
  background:var(--mz-accent-600)!important;
}
/* secondary / outline buttons */
.woocommerce a.button.wc-backward,
.woocommerce .button.wp-element-button.wc-block-cart__submit-button--secondary,
.dokan-btn-default{
  background:transparent!important;
  color:var(--mz-text)!important;
  border:1px solid var(--mz-divider)!important;
  border-radius:999px!important;
}

/* ---- Prices & sale badges --------------------------------------------- */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.price ins,
.price{
  color:var(--mz-accent-700)!important;
  font-weight:600;
}
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale{
  background:var(--mz-accent-100)!important;
  color:var(--mz-accent-800)!important;
  border-radius:999px!important;
  font-family:var(--mz-body)!important;
  font-weight:600;
  min-height:auto;
  min-width:auto;
  padding:4px 12px;
  line-height:1.4;
  top:12px; left:12px; right:auto; margin:0;
}

/* ---- Product cards (shop / archive grids) ----------------------------- */
.woocommerce ul.products li.product,
.wc-block-grid__product{
  text-align:left;
}
.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img,
.woocommerce div.product div.images img{
  border-radius:20px;
  box-shadow:var(--mz-shadow-sm);
  /* the Organic "washed" photo treatment */
  filter:saturate(.72) contrast(.9) brightness(1.05);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title{
  font-family:var(--mz-heading)!important;
  font-size:1.05rem;
  padding-top:.5em;
}

/* ---- Panels, cards, checkout & cart surfaces -------------------------- */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce table.shop_table,
.woocommerce .woocommerce-info,
.dokan-dashboard .dokan-dash-sidebar,
.dokan-panel,
.dokan-store-sidebar{
  background:var(--mz-surface)!important;
  border:1px solid var(--mz-divider)!important;
  border-radius:var(--mz-radius-lg)!important;
  box-shadow:var(--mz-shadow-sm);
}
.woocommerce table.shop_table{ border-collapse:separate; border-spacing:0; overflow:hidden; }
.woocommerce table.shop_table th{
  text-transform:uppercase; letter-spacing:.08em; font-size:.72rem;
}

/* ---- Form fields ------------------------------------------------------ */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection,
.dokan-form-control,
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="search"], input[type="number"], textarea{
  background:var(--mz-surface)!important;
  border:1px solid var(--mz-divider)!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  color:var(--mz-text)!important;
}
textarea{ border-radius:var(--mz-radius)!important; }
input:focus, textarea:focus, select:focus{
  border-color:var(--mz-accent)!important; outline:none;
}

/* ---- Notices / messages ----------------------------------------------- */
.woocommerce-message,
.woocommerce-info{
  border-top-color:var(--mz-accent)!important;
  background:var(--mz-accent-100);
  border-radius:var(--mz-radius);
}
.woocommerce-message::before,
.woocommerce-info::before{ color:var(--mz-accent)!important; }

/* ---- Dokan vendor storefront ------------------------------------------ */
.dokan-store-tabs ul li a{ color:var(--mz-text); }
.dokan-store-tabs ul li.active a,
.dokan-store-tabs ul li a:hover{
  color:var(--mz-accent)!important;
  border-bottom-color:var(--mz-accent)!important;
}
.dokan-single-store .profile-frame .profile-info-box{
  background:var(--mz-surface);
  border-radius:var(--mz-radius-lg);
}
.dokan-verified-icon, .dokan-store-rating .fa-star{ color:var(--mz-accent); }

/* ---- Header / nav ------------------------------------------------------ */
.site-header, header.woocommerce-breadcrumb{ background:var(--mz-bg); }
.woocommerce-breadcrumb{ color:rgba(32,30,29,.55); font-size:.85rem; }
.woocommerce-breadcrumb a{ color:rgba(32,30,29,.55); }
.woocommerce-breadcrumb a:hover{ color:var(--mz-accent); }

/* ============================================================================
   Folded in from meranz-shop.css / meranz-trust.css (now retired — see the
   wp_dequeue_style() calls in functions.php). Retokenized to the Organic
   system so there is a single source of truth for shop/store styling.
   ============================================================================ */

/* ---- Shop / category archive two-column layout ------------------------ */
.mz-shop-layout{ display:flex; gap:32px; align-items:flex-start; margin-top:8px; }
.mz-shop-aside{ width:240px; flex:0 0 240px; }
.mz-shop-main{ flex:1 1 auto; min-width:0; }
.mz-shop-main .woocommerce-result-count{ font-size:.8rem; color:rgba(32,30,29,.55); margin-bottom:8px; }
.mz-shop-main .woocommerce-ordering{ margin-bottom:18px; }
.mz-shop-main .woocommerce-ordering select{
  background:var(--mz-surface); border:1px solid var(--mz-divider);
  border-radius:999px; padding:8px 16px; font-size:.85rem; color:var(--mz-text);
}
@media (max-width:782px){
  .mz-shop-layout{ flex-direction:column; }
  .mz-shop-aside{ width:100%; flex-basis:auto; }
}

/* ---- Sidebar filters ---------------------------------------------------- */
.mz-filters{ font-size:.9rem; }
.mz-filters .mz-block{
  background:var(--mz-surface); border:1px solid var(--mz-divider);
  border-radius:var(--mz-radius); padding:18px 20px; margin-bottom:20px;
}
.mz-filters .mz-title{
  font-family:var(--mz-heading); font-size:.72rem; font-weight:400;
  letter-spacing:.1em; text-transform:uppercase; color:var(--mz-accent-700);
  margin:0 0 12px;
}
.mz-filters ul{ list-style:none; margin:0; padding:0; }
.mz-filters li{ margin:0 0 10px; }
.mz-filters a{ color:var(--mz-text); text-decoration:none; display:flex; justify-content:space-between; align-items:center; gap:8px; }
.mz-filters a:hover{ color:var(--mz-accent); }
.mz-filters .mz-count{ color:rgba(32,30,29,.4); font-size:.75rem; }
.mz-filters li.current > a{ color:var(--mz-accent-700); font-weight:600; }
.mz-filters ul.children{ margin:8px 0 8px 4px; padding-left:14px; border-left:1px solid var(--mz-divider); }
.mz-brand-search{
  width:100%; box-sizing:border-box; background:var(--mz-bg);
  border:1px solid var(--mz-divider); border-radius:999px; padding:9px 16px; font-size:.85rem; color:var(--mz-text);
}
.mz-brand-list{ max-height:180px; overflow:auto; }
.mz-empty{ font-size:.8rem; color:rgba(32,30,29,.5); margin:0; }
.mz-price-row{ display:flex; gap:8px; }
.mz-price-row input{
  width:100%; box-sizing:border-box; background:var(--mz-bg);
  border:1px solid var(--mz-divider); border-radius:999px; padding:9px 14px; font-size:.85rem;
}
.mz-price-btn{
  margin-top:10px; width:100%;
  background:var(--mz-accent)!important; color:var(--mz-bg)!important;
  border:0; border-radius:999px; padding:10px 12px;
  font-family:var(--mz-heading); font-size:.85rem; cursor:pointer;
}
.mz-price-btn:hover{ background:var(--mz-accent-600)!important; }
.mz-price-clear{ display:inline-block; margin-top:8px; font-size:.75rem; color:rgba(32,30,29,.5); }

/* ---- Product card shell (uniform height, cream surface) --------------- */
.woocommerce ul.products li.product{
  background:var(--mz-surface);
  border:1px solid var(--mz-divider);
  border-radius:var(--mz-radius-lg);
  overflow:hidden;
  padding:0 0 18px;
  transition:box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover{ box-shadow:var(--mz-shadow-md); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--mz-text);
  min-height:2.6em;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.woocommerce ul.products li.product a.button.add_to_cart_button{ display:block; margin:10px 16px 0; text-align:center; }

/* ---- Trust strip / checkout reassurance -------------------------------- */
.mz-trust-strip{
  display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; padding:16px 18px;
  background:var(--mz-surface); border:1px solid var(--mz-divider); border-radius:var(--mz-radius);
}
.mz-trust-item{ display:flex; align-items:flex-start; gap:9px; flex:1 1 200px; min-width:180px; font-size:.86rem; line-height:1.35; color:var(--mz-text); }
.mz-trust-item svg{ flex:0 0 20px; width:20px; height:20px; margin-top:1px; }
.mz-trust-item b{ display:block; font-weight:600; color:var(--mz-text); }
.mz-trust-item span{ color:rgba(32,30,29,.6); }
.mz-ico{ color:var(--mz-accent); }

#mz_delivery_directions_field{ margin-top:6px; }
#mz_delivery_directions_field label{ font-weight:600; color:var(--mz-text); }
.mz-field-hint{ display:block; font-size:.78rem; color:rgba(32,30,29,.55); margin:2px 0 6px; }
.mz-checkout-reassure{
  display:flex; gap:8px; align-items:center; margin:0 0 16px; padding:12px 14px;
  background:var(--mz-accent-100); border:1px solid var(--mz-divider); border-radius:var(--mz-radius);
  font-size:.85rem; color:var(--mz-accent-800);
}
.mz-checkout-reassure a{ color:var(--mz-accent-700); font-weight:600; }
.mz-checkout-reassure svg{ flex:0 0 18px; width:18px; height:18px; color:var(--mz-accent); }

/* ---- WhatsApp order button (brand green kept intentionally) ----------- */
.mz-wa-btn{
  display:inline-flex!important; align-items:center; gap:9px; margin:14px 0;
  padding:.7em 1.6em; background:#25D366!important; color:#fff!important;
  border:0!important; font-family:var(--mz-heading); font-weight:400;
  border-radius:999px; text-decoration:none!important; font-size:.95rem; transition:background .15s;
}
.mz-wa-btn:hover{ background:#1da851!important; }
.mz-wa-btn svg{ width:20px; height:20px; fill:#fff; }
.mz-wa-float{
  position:fixed; right:18px; bottom:18px; z-index:9999; width:56px; height:56px;
  border-radius:50%; background:#25D366!important; box-shadow:var(--mz-shadow-md);
  display:flex; align-items:center; justify-content:center;
}
.mz-wa-float svg{ width:30px; height:30px; fill:#fff; }
.mz-wa-float:hover{ background:#1da851; }
@media (max-width:600px){ .mz-trust-item{ flex:1 1 100%; } }

/* ---- Dokan store: default widgets + rating-icon fallback -------------- */
.dokan-store-sidebar .widget,
.dokan-store-widget{
  background:var(--mz-surface); border:1px solid var(--mz-divider);
  border-radius:var(--mz-radius); padding:18px 20px; margin-bottom:20px;
}
.dokan-store-sidebar .widget h2,
.dokan-store-widget h2{ font-family:var(--mz-heading); font-weight:400; font-size:1rem; margin:0 0 12px; }
.dokan-store-sidebar .widget ul,
.dokan-store-widget ul{ list-style:none; margin:0; padding:0; }
.dokan-store-sidebar .widget li,
.dokan-store-widget li{ margin:0 0 8px; }
.dokan-store-sidebar a,
.dokan-store-widget a{ color:var(--mz-text); }
.dokan-store-sidebar a:hover,
.dokan-store-widget a:hover{ color:var(--mz-accent); }
.dokan-vendor-rating .dashicons-star-filled,
.dokan-vendor-rating .dashicons-star-half,
.dokan-store-rating .dashicons-star-filled,
.dokan-store-rating .dashicons-star-half{ color:var(--mz-accent); }
.dokan-vendor-rating .dashicons-star-empty,
.dokan-store-rating .dashicons-star-empty{ color:rgba(32,30,29,.25); }
.dokan-vendor-image img,
.profile-info-img,
.profile-img img{
  border-radius:var(--mz-radius);
  filter:saturate(.72) contrast(.9) brightness(1.05);
}
.profile-img-circle img{ border-radius:50%; }
/* ============================================================================
   Header + promo bar (Task 3)
   ============================================================================ */
.mz-promo-strip{
  background:var(--mz-accent);
  color:var(--mz-bg);
  text-align:center;
  padding:8px 16px;
}
.mz-promo-strip p{
  margin:0;
  font-family:var(--mz-body);
  font-size:.78rem;
  letter-spacing:.02em;
}

.mz-site-header{
  background:var(--mz-bg);
  border-bottom:1px solid var(--mz-divider);
  position:sticky;
  top:0;
  z-index:100;
}
.mz-header-inner{
  max-width:1280px;
  margin:0 auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  gap:32px;
}
.mz-wordmark{
  font-family:var(--mz-heading);
  font-weight:400;
  font-size:1.5rem;
  letter-spacing:.14em;
  color:var(--mz-text);
  text-decoration:none;
  flex:0 0 auto;
}
.mz-wordmark:hover{ color:var(--mz-accent); }

.mz-nav{ flex:1 1 auto; min-width:0; overflow-x:auto; }
.mz-nav-list{
  display:flex;
  gap:24px;
  list-style:none;
  margin:0;
  padding:0;
  white-space:nowrap;
}
.mz-nav-list a{
  font-family:var(--mz-body);
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--mz-text);
  text-decoration:none;
  padding:8px 2px;
  display:inline-block;
}
.mz-nav-list a:hover{ color:var(--mz-accent); }

.mz-header-icons{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.mz-icon-link,
.mz-search-toggle summary{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  color:var(--mz-text);
  cursor:pointer;
  list-style:none;
  position:relative;
  transition:background .15s ease, color .15s ease;
}
.mz-search-toggle summary::-webkit-details-marker{ display:none; }
.mz-search-toggle summary::marker{ content:""; }
.mz-icon-link:hover,
.mz-search-toggle summary:hover{
  background:var(--mz-surface);
  color:var(--mz-accent);
}
.mz-icon-link svg,
.mz-search-toggle summary svg{ width:20px; height:20px; }

.mz-search-toggle{ position:relative; }
.mz-search-form{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  background:var(--mz-surface);
  border:1px solid var(--mz-divider);
  border-radius:var(--mz-radius);
  box-shadow:var(--mz-shadow-md);
  padding:10px;
  width:260px;
}
.mz-search-form input{
  width:100%;
  box-sizing:border-box;
  background:var(--mz-bg);
  border:1px solid var(--mz-divider);
  border-radius:999px;
  padding:9px 16px;
  font-size:.85rem;
  color:var(--mz-text);
}

.mz-cart-count{
  position:absolute;
  top:2px;
  right:2px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  background:var(--mz-accent);
  color:var(--mz-bg);
  font-size:.65rem;
  font-weight:700;
  line-height:16px;
  text-align:center;
}
.mz-wishlist-link{ opacity:.55; }

@media (max-width:900px){
  .mz-header-inner{ flex-wrap:wrap; gap:16px; padding:14px 20px; }
  .mz-nav{ order:3; flex-basis:100%; }
  .mz-wordmark{ font-size:1.25rem; }
  .mz-icon-link,
  .mz-search-toggle summary{ width:48px; height:48px; }
}
/* ---- Product card: New/Bestseller badge + wishlist heart (Task 4) ----- */
.woocommerce ul.products li.product{ position:relative; }
.woocommerce ul.products li.product .mz-card-badge{
  position:absolute;
  top:44px;
  left:12px;
  z-index:2;
  background:var(--mz-accent-100);
  color:var(--mz-accent-800);
  font-family:var(--mz-body);
  font-size:.72rem;
  font-weight:600;
  padding:4px 12px;
  border-radius:999px;
  line-height:1.4;
}
.woocommerce ul.products li.product:not(:has(.onsale)) .mz-card-badge{ top:12px; }
.woocommerce ul.products li.product .mz-card-wishlist{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--mz-bg);
  color:var(--mz-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .2s ease, transform .2s ease;
  box-shadow:var(--mz-shadow-sm);
}
.woocommerce ul.products li.product .mz-card-wishlist svg{ width:17px; height:17px; }
.woocommerce ul.products li.product:hover .mz-card-wishlist{ opacity:1; transform:translateY(0); }
/* ---- Dokan vendor storefront refinements (Task 5) ---------------------- */
/* Task 1 colored all .fa-star icons terracotta uniformly; split filled vs
   empty so a low/no-rating store doesn't visually read as 5 stars. */
.dokan-store-rating .fas.fa-star,
.dokan-vendor-rating .fas.fa-star{ color:var(--mz-accent); }
.dokan-store-rating .far.fa-star,
.dokan-vendor-rating .far.fa-star{ color:rgba(32,30,29,.25); }

.dokan-store-info li i,
.dokan-store-info li svg{ color:var(--mz-sage); margin-right:6px; }

.store-social-wrapper a{
  color:var(--mz-text);
  background:var(--mz-surface);
  border-radius:999px;
}
.store-social-wrapper a:hover{ color:var(--mz-bg); background:var(--mz-accent); }

#dokan-primary,
.dokan-single-store,
.store-page-wrap{ background:var(--mz-bg); }

.dokan-store-tabs{
  border-bottom:1px solid var(--mz-divider);
  margin-bottom:24px;
}
.dokan-store-tabs ul{
  display:flex;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
  flex-wrap:wrap;
}
.dokan-store-tabs ul li{ margin:0; }
.dokan-store-tabs ul li a{
  display:inline-block;
  padding:12px 18px;
  font-family:var(--mz-body);
  font-weight:600;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.02em;
  border-bottom:2px solid transparent;
}
.dokan-store-tabs ul li.active a,
.dokan-store-tabs ul li a:hover{
  border-bottom-color:var(--mz-accent)!important;
}

@media (max-width:600px){
  .dokan-store-tabs ul li a{ padding:14px 16px; }
}
/* ---- WooCommerce Cart block styling (Task 1b) -------------------------- */
/* The live Cart page uses the block-based cart (wp-block-woocommerce-cart),
   not the classic shortcode/table markup the earlier cart/checkout rules
   targeted — Checkout still uses the classic shortcode and was already
   covered. This fills the block-specific gap, same tokens throughout. */

.wc-block-cart-items{
  background:var(--mz-surface);
  border:1px solid var(--mz-divider);
  border-radius:var(--mz-radius-lg);
  padding:8px 20px;
}
.wc-block-cart-items__header{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  color:rgba(32,30,29,.55);
}
.wc-block-cart-items__row{
  border-bottom:1px solid var(--mz-divider);
}
.wc-block-cart-items__row:last-child{ border-bottom:none; }

.wc-block-components-product-image img,
.wc-block-cart-item__image img{
  border-radius:var(--mz-radius);
  box-shadow:var(--mz-shadow-sm);
  filter:saturate(.72) contrast(.9) brightness(1.05);
}
.wc-block-components-product-name{
  font-family:var(--mz-heading);
  font-weight:400;
  color:var(--mz-text);
  text-decoration:none;
}
.wc-block-components-product-price,
.wc-block-components-formatted-money-amount,
.wc-block-components-totals-item__value{
  color:var(--mz-accent-700);
  font-weight:600;
}
.wc-block-cart-item__remove-link{
  color:rgba(32,30,29,.5)!important;
  font-family:var(--mz-body)!important;
}
.wc-block-cart-item__remove-link:hover{ color:var(--mz-accent)!important; }

.wc-block-components-quantity-selector{
  border:1px solid var(--mz-divider);
  border-radius:999px;
  background:var(--mz-bg);
  overflow:hidden;
}
.wc-block-components-quantity-selector__button{
  color:var(--mz-text);
  background:transparent;
}
.wc-block-components-quantity-selector__button:hover{
  background:var(--mz-surface);
  color:var(--mz-accent);
}
.wc-block-components-quantity-selector__input{
  background:transparent;
  color:var(--mz-text);
  font-family:var(--mz-body);
}

.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-totals-wrapper,
.wc-block-cart__totals-title{
  background:var(--mz-surface);
}
.wc-block-components-sidebar{
  background:var(--mz-surface);
  border:1px solid var(--mz-divider);
  border-radius:var(--mz-radius-lg);
  padding:24px;
}
.wc-block-components-totals-item{
  border-color:var(--mz-divider)!important;
}
.wc-block-components-totals-item__label,
.wc-block-cart__totals-title{
  font-family:var(--mz-heading);
  font-weight:400;
  color:var(--mz-text);
}

.wc-block-components-totals-coupon-link,
.wc-block-components-panel__button{
  color:var(--mz-accent-700)!important;
  font-family:var(--mz-body)!important;
}
.wc-block-components-totals-coupon__input input,
.wc-block-components-text-input input{
  background:var(--mz-bg)!important;
  border:1px solid var(--mz-divider)!important;
  border-radius:999px!important;
  color:var(--mz-text)!important;
}

.wc-block-cart__submit-button,
.wc-block-components-button.wp-element-button{
  background:var(--mz-accent)!important;
  color:var(--mz-bg)!important;
  border-radius:999px!important;
  font-family:var(--mz-heading)!important;
  font-weight:400!important;
  border:1px solid transparent!important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-button.wp-element-button:hover{
  background:var(--mz-accent-600)!important;
}
.wc-block-components-quantity-selector__button.wc-block-components-button{
  background:transparent!important;
  color:var(--mz-text)!important;
  border-radius:0!important;
}

.wc-block-cart__empty-cart-wrapper h2,
.wc-block-cart__empty-cart-wrapper p{
  font-family:var(--mz-heading);
  color:var(--mz-text);
}

@media (max-width:782px){
  .wc-block-cart-items,
  .wc-block-components-sidebar{ padding:16px; }
}
/* ---- Logo sizing fix (Task 6) ------------------------------------------ */
/* The uploaded logo file is 1920x1920 with no width constraint anywhere,
   so it was rendering at native size. Footer only uses the image logo now
   (header uses the MERANZ text wordmark); constrain it to a sane brand-mark
   size and give the header wordmark a bit more presence. */
.custom-logo{
  width:120px !important;
  height:auto !important;
}
.site-footer .site-branding{
  margin-bottom:8px;
}
.mz-wordmark{
  font-size:1.75rem;
}
@media (max-width:900px){
  .mz-wordmark{ font-size:1.4rem; }
}
/* ---- Logo constraint, explicit selectors (Task 6b) --------------------- */
.site-logo img,
.custom-logo,
.custom-logo-link img,
.site-branding img,
header .logo img {
  max-width: 140px !important;
  max-height: 60px !important;
  width: auto !important;
  height: auto !important;
}