/*
Theme Name: Maison Noer
Template: astra
Version: 0.1.0
Description: Maison Noer child theme for Astra.
Text Domain: maison-noer
*/

:root {
  /* Brand tokens, sampled from logo (bg #221409, mark #F9F2E7) */
  --mn-espresso: #221409;
  --mn-espresso-soft: #4a3628;
  --mn-cream: #f9f2e7;
  --mn-paper: #fcf9f2;
  --mn-surface: #f3ece0; /* tinted cream for cards + bands */
  --mn-amber: #8a4a17;   /* amber glass accent, used sparingly */
  --mn-line: rgba(34, 20, 9, 0.14);
  --mn-font-display: "Libre Caslon Text", Georgia, "Times New Roman", serif;
  --mn-font-body: "Jost", "Helvetica Neue", Arial, sans-serif;
  --mn-input-font: 16px; /* iOS Safari zooms inputs below 16px */
  --mn-radius: 2px;
  --mn-duration: 200ms;

  /* Map Astra globals onto brand */
  --ast-global-color-0: var(--mn-espresso);
  --ast-global-color-1: var(--mn-espresso-soft);
  --ast-global-color-2: var(--mn-espresso);
  --ast-global-color-3: var(--mn-espresso-soft);
  --ast-global-color-4: var(--mn-cream);
  --ast-global-color-5: var(--mn-paper);
}

body {
  background: var(--mn-paper);
  color: var(--mn-espresso-soft);
  font-family: var(--mn-font-body);
}

h1, h2, h3, h4, .entry-title, .woocommerce-loop-product__title, .product_title {
  font-family: var(--mn-font-display);
  color: var(--mn-espresso);
  font-weight: 400;
  letter-spacing: 0.01em;
}

a { color: var(--mn-espresso); }

/* Header: announcement bar, centered logo, centered menu row */
.site-header, .main-header-bar, .ast-primary-header-bar, .ast-below-header-bar {
  background: var(--mn-paper);
  border-bottom: 0;
}
.ast-above-header-bar, .ast-above-header-bar .ast-builder-html-element {
  background: var(--mn-espresso) !important;
  color: var(--mn-cream);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  min-height: 0;
}
.ast-above-header-bar .ast-builder-html-element p { margin: 0; padding: 0.45rem 0; }
.ast-below-header-bar { border-bottom: 1px solid var(--mn-line) !important; }
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link {
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  color: var(--mn-espresso);
}
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link:hover { color: var(--mn-amber); }
.ast-site-header-cart .ast-cart-menu-wrap, .ast-site-header-cart i.astra-icon { color: var(--mn-espresso); }
.site-footer, .site-below-footer-wrap, .ast-small-footer {
  background: var(--mn-espresso) !important;
  color: var(--mn-cream);
}
.site-footer a { color: var(--mn-cream); }

/* Buttons */
.button, button, input[type="submit"], .wp-element-button,
.woocommerce a.button, .woocommerce button.button, #place_order {
  background: var(--mn-espresso);
  color: var(--mn-cream);
  border: 1px solid var(--mn-espresso);
  border-radius: var(--mn-radius);
  font-family: var(--mn-font-body);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background-color var(--mn-duration), color var(--mn-duration);
}
.button:hover, button:hover, input[type="submit"]:hover, .wp-element-button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, #place_order:hover {
  background: var(--mn-cream);
  color: var(--mn-espresso);
}
.button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 2px solid var(--mn-espresso);
  outline-offset: 2px;
}

/* Prices */
.woocommerce .price, .woocommerce-Price-amount { color: var(--mn-espresso); }

/* Form fields */
.woocommerce form .input-text, .woocommerce form select {
  border: 1px solid var(--mn-line);
  border-radius: var(--mn-radius);
  background: #fff;
}

/* Checkout: stop iOS auto-zoom on focus */
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  font-size: var(--mn-input-font);
}

/* Single-country store: hide the fixed "Bangladesh" country row */
#billing_country_field {
  display: none !important; /* Woo address-i18n JS sets inline display */
}

.ast-footer-copyright, .ast-footer-copyright p { color: var(--mn-cream); }

/* Product card button: one line, full width */
.woocommerce ul.products li.product .button {
  width: 100%;
  text-align: center;
  white-space: nowrap;
  font-size: 12px;
  letter-spacing: 0.06em;
  padding: 0.85em 0.75em;
}

/* ==========================================================================
   READABILITY RULES (owner 2026-11-16: no unreadable font or text)
   - Fixed px base so mobile never shrinks text.
   - Min 14px for any text, 16px for body copy.
   - Display serif ONLY for headings >= 24px; everything smaller uses Jost.
   - No italics, no faded text, contrast >= 4.5:1.
   ========================================================================== */
html { font-size: 100%; }
body, p, li, td, th, label, input, select, textarea { font-size: 16px; line-height: 1.6; }
body { color: var(--mn-espresso-soft); }

em, i, .woocommerce-product-details__short-description em { font-style: normal; }

/* Headings: serif only when large */
h1, .product_title, .entry-title { font-size: clamp(28px, 24px + 1.5vw, 40px) !important; }
h2 { font-size: clamp(26px, 22px + 1vw, 34px); }
h3, h4, .woocommerce-loop-product__title, .woocommerce-checkout h3, .cart_totals h2 {
  font-family: var(--mn-font-body) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  letter-spacing: 0;
  color: var(--mn-espresso);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; }

/* Small UI text: never below 14px, never faded */
.woocommerce-breadcrumb, .woocommerce-breadcrumb a,
.ast-woo-product-category, .product_meta, .product_meta a,
.reset_variations, .woocommerce-result-count, .woocommerce-ordering select,
.woocommerce form .form-row label, .optional, .woocommerce-privacy-policy-text p,
.wc_payment_method p, .payment_box p {
  font-size: 15px !important;
  opacity: 1 !important;
  color: var(--mn-espresso-soft) !important;
}
.woocommerce form .form-row .required { color: var(--mn-amber); text-decoration: none; }

/* Prices */
.woocommerce .price, .woocommerce-Price-amount, .woocommerce .price bdi { font-size: 16px; font-weight: 500; }
.single-product .summary .price, .single-product .summary .price bdi { font-size: 22px; }

/* Buttons: 14px min, 44px tap height */
.button, button, input[type="submit"], .wp-element-button,
.woocommerce a.button, .woocommerce button.button, #place_order,
.woocommerce ul.products li.product .button {
  font-size: 14px !important;
  min-height: 44px;
  letter-spacing: 0.06em !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#place_order { width: 100%; }

/* Announcement bar + nav */
.ast-above-header-bar, .ast-above-header-bar .ast-builder-html-element { font-size: 13.5px; }
.ast-above-header-bar .ast-builder-html-element p { font-size: 14px; letter-spacing: 0.06em; }
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link { font-size: 15px; letter-spacing: 0.02em; }
.ast-header-break-point .main-header-menu .menu-link { font-size: 17px; }

/* Cart count badge: readable */
.ast-site-header-cart .ast-count-text, .ast-cart-menu-wrap .count {
  background: var(--mn-espresso) !important;
  color: var(--mn-cream) !important;
  border-color: var(--mn-espresso) !important;
  font-size: 14px !important;
  font-weight: 600;
  min-width: 22px;
  min-height: 22px;
  line-height: 22px !important;
}

/* Footer */
.ast-footer-copyright, .ast-footer-copyright p { font-size: 15px; }

/* ==========================================================================
   MOBILE TAP TARGETS (>= 44px), owner 2026-11-16: perfect mobile
   ========================================================================== */
.ast-site-header-cart .cart-container,
.ast-header-woo-cart .cart-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}
.custom-logo-link { display: inline-flex; align-items: center; min-height: 44px; }
.woocommerce ul.products li.product .ast-loop-product__link,
.mn-card__name a {
  display: block;
  padding-block: 0.5rem;
  min-height: 44px;
}
.single-product .ast-woo-product-category a,
.single-product .summary > .ast-woo-product-category,
.posted_in a {
  display: inline-block;
  padding-block: 0.6rem;
}
.reset_variations { display: inline-block; padding: 0.7rem 0.5rem; }
.woocommerce-product-gallery__trigger {
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
/* Delivery choice: bigger radio, whole row tappable */
#shipping_method li { margin-bottom: 0.4rem; }
#shipping_method input[type="radio"],
.wc_payment_methods input[type="radio"] {
  width: 20px;
  height: 20px;
  accent-color: var(--mn-espresso);
  vertical-align: middle;
}
#shipping_method li label { display: inline-block; padding-block: 0.6rem; padding-left: 0.4rem; }
.single-product-category a { display: inline-block !important; padding-block: 0.8rem !important; }
.woocommerce .reset_variations, a.reset_variations { display: inline-block !important; padding: 0.75rem 0.5rem !important; line-height: 1.2 !important; }
.woocommerce-form-coupon-toggle .showcoupon { display: inline-block; padding-block: 0.6rem; }

/* Mobile menu: roomy rows with dividers */
.ast-header-break-point .main-header-menu .menu-item .menu-link {
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--mn-line) !important;
  color: var(--mn-espresso);
}
.ast-header-break-point .main-header-menu { border-top: 0 !important; background: var(--mn-paper); }
