/*
Theme Name:   Aitrixa Child
Theme URI:    https://aitrixa.com
Description:  Aitrixa child theme for Astra. Carries all visual customisation,
              custom page templates, and WooCommerce template overrides for the
              Aitrixa storefront. Product meta, custom tabs, and shortcodes live
              in the companion `aitrixa-core` plugin (theme-independent).
Author:       Aitrixa
Author URI:   https://aitrixa.com
Template:     astra
Version:      1.4.45
Requires at least: 6.0
Tested up to:      6.6
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:  aitrixa-child
*/

/* -----------------------------------------------------------------------------
   This file is intentionally near-empty.

   The shared design tokens (colors, type scale, spacing, button primitives,
   .fade-up, etc.) are loaded from `assets/css/aitrixa.css`, which is enqueued
   as a hard dependency before this file in functions.php.

   Per-template visual rules live in:
     assets/css/home.css
     assets/css/shop.css
     assets/css/single-product.css
     assets/css/about.css
     assets/css/faq.css
     assets/css/contact.css

   Use this file ONLY for tiny site-wide overrides that don't fit anywhere
   else (e.g. small header/footer rules that can't go in a per-template
   sheet, or one-line Astra shim fixes).

   Per docs/01-design-system.md:
   - border-radius: 0 everywhere. Sharp corners are intentional.
   - No card shadows. Only the sticky header gets a shadow on scroll.
   - Never hardcode hex values, font sizes, or spacing units. Reference
     the variables defined in assets/css/aitrixa.css.
   --------------------------------------------------------------------------- */

/* Body base — design system specifies 14.5px / 1.55. */
body {
  background: var(--page);
  color: var(--body);
  font-family: var(--font-sans);
  font-size: 14.5px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Sharp corners, site-wide. */
*,
*::before,
*::after {
  border-radius: 0;
}
/* ============================================================
   Astra overrides — hide third-party UI not in our design spec
   ============================================================ */

/* Hide Astra's scroll-to-top widget (not in design spec). */
.ast-scroll-top-icon,
#ast-scroll-top {
	display: none !important;
}
/* Strip WP's default menu bullets — design system uses bare flex layout. */
.nav ul,
.nav ol,
header .menu,
header nav ul {
	list-style: none !important;
	margin: 0;
	padding: 0;
}
.nav ul li,
.nav ol li,
header .menu li,
header nav ul li {
	list-style: none !important;
	margin: 0;
	padding: 0;
}
.nav ul li::before,
header .menu li::before,
header nav ul li::before {
	content: none !important;
}
/* The Astra primary-menu walker can emit bare <li> children directly inside
   <nav class="nav"> (no <ul> wrapper). Bullets/markers still render on
   orphaned <li>, so we kill them at the marker level and force list-item
   off so the layout is purely flex-driven. */
.nav > li,
.nav li,
header nav > li,
header nav li {
	list-style: none !important;
	display: list-item;
	display: inline-flex !important;
	align-items: center;
	margin: 0;
	padding: 0;
}

.nav > li::marker,
.nav li::marker,
header nav > li::marker,
header nav li::marker {
	content: '' !important;
}

.nav > li::before,
.nav li::before,
header nav > li::before,
header nav li::before {
	content: none !important;
}
/* Restore the design's cart-button padding when it's rendered as <a> rather
   than <button>. The .nav a rule has higher specificity (class+element)
   than .nav__cart (class only), so we need a more specific selector here. */
.nav a.nav__cart,
header nav a.nav__cart {
	padding: 10px 18px !important;
}
/* ---- HEADER SIZE OVERRIDES (matches reference v13) ---- */
/* Bumps nav links slightly bigger and cart slightly smaller for better
   visual hierarchy. Reference: top of Aitrixa_Home_Page.html. */
.nav {
	font-size: 13px !important;
}
.nav a.nav__cart,
header nav a.nav__cart {
	font-size: 12px !important;
}


/* ---- v74 MOBILE NAV: remove disc bullets from menu items ---- */
/* The mobile slide-down nav renders Shop/About/FAQ/Contact as <li>
   elements without a wrapping <ul>, so they inherit the browser's
   default list-style: disc. Strip the marker and revert display so
   they render as plain block links. */
#mobile-nav,
#mobile-nav li {
  list-style: none !important;
}
#mobile-nav li {
  display: block !important;
}
#mobile-nav li::marker { content: none !important; }


/* ---- v78 MOBILE: compact upsell-strip into a single tight line on phones ---- */
/* The global .upsell-strip (FREE SHIPPING / SAME-DAY / FAST / PURITY) is a 4-item
   flex row that wraps to 4 lines on narrow viewports, blowing up the bar height to ~200px.
   On phones, force it to a single horizontal row with smaller text + tighter gap,
   and allow touch-scroll if the content still doesn't fit. */
@media (max-width: 768px) {
  body .upsell-strip {
    flex-wrap: nowrap !important;
    gap: 16px !important;
    padding: 9px 16px !important;
    font-size: 9.5px !important;
    line-height: 1.4 !important;
    letter-spacing: .14em !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    white-space: nowrap;
    justify-content: flex-start !important;
  }
  body .upsell-strip::-webkit-scrollbar { display: none; }
  body .upsell-strip > * {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}
