/*
Theme Name:   Cedar Agate Child
Theme URI:    https://cedaragate.com
Description:  Cedar Agate — Lebanese Natural Stones. Luxury WooCommerce child theme for Astra. Targeting USA, Europe & Australia.
Author:       Cedar Agate
Author URI:   https://cedaragate.com
Template:     astra
Version:      2.0.0
Text Domain:  cedar-agate-child
Tags: woocommerce, ecommerce, stones, minerals, lebanon
*/

/* ============================================
   CEDAR AGATE v2 — DESIGN TOKENS
   ============================================ */
:root {
  --ca-stone:    #1C1609;
  --ca-earth:    #4A3520;
  --ca-sand:     #C9A96E;
  --ca-gold:     #A67C3A;
  --ca-cream:    #F8F4EE;
  --ca-white:    #FFFFFF;
  --ca-accent:   #7B3318;
  --ca-cedar:    #2D5016;
  --ca-border:   rgba(74,53,32,0.12);
  --ca-shadow:   0 4px 24px rgba(28,22,9,0.09);
  --ca-shadow-lg:0 16px 56px rgba(28,22,9,0.14);
  --ca-r:        6px;
  --ca-r-lg:     10px;
  --font-d:      'Playfair Display', Georgia, serif;
  --font-b:      'Lato', 'Helvetica Neue', sans-serif;
  --ease:        cubic-bezier(0.4,0,0.2,1);
}

/* ============================================
   BASE
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }
body { font-family: var(--font-b); color: var(--ca-stone); -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-d); }
a { color: var(--ca-earth); transition: color 0.3s var(--ease); }
a:hover { color: var(--ca-gold); }

/* ============================================
   HEADER
   ============================================ */
.site-header, #masthead, .ast-primary-header-bar {
  background: var(--ca-stone) !important;
  border-bottom: 2px solid var(--ca-sand) !important;
}
.site-title a, .custom-logo-link {
  color: var(--ca-cream) !important;
  font-family: var(--font-d) !important;
  font-size: 1.5rem !important;
  letter-spacing: 0.04em;
}
.ast-main-menu > li > a, .main-header-menu > li > a {
  color: var(--ca-cream) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  transition: color 0.3s var(--ease) !important;
}
.ast-main-menu > li > a:hover { color: var(--ca-sand) !important; }
.ast-cart-menu-wrap .count { background: var(--ca-accent) !important; color: #fff !important; }

/* ============================================
   SHOP PAGE — NO SIDEBAR / FULL WIDTH
   ============================================ */
.woocommerce-page .site-main,
.woocommerce-shop .site-main { background: var(--ca-cream); }

body.woocommerce #primary,
body.woocommerce-page #primary { width: 100% !important; float: none !important; }
body.woocommerce #secondary,
body.woocommerce-page #secondary { display: none !important; }

/* Shop title */
.woocommerce h1.page-title, .woocommerce-page h1.page-title {
  font-family: var(--font-d) !important;
  font-size: 2.4rem !important;
  color: var(--ca-stone) !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 48px 0 12px !important;
  letter-spacing: 0.02em !important;
}
.woocommerce-result-count {
  font-size: 0.8rem !important;
  color: var(--ca-earth) !important;
  letter-spacing: 0.06em !important;
}

/* ============================================
   PRODUCT CARD
   ============================================ */
ul.products li.product,
.woocommerce ul.products li.product {
  background: var(--ca-white) !important;
  border: 1px solid var(--ca-border) !important;
  border-radius: var(--ca-r-lg) !important;
  overflow: hidden;
  transition: all 0.35s var(--ease);
  box-shadow: 0 2px 12px rgba(28,22,9,0.05);
  position: relative;
}
ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
  box-shadow: var(--ca-shadow-lg) !important;
  transform: translateY(-5px);
  border-color: rgba(201,169,110,0.35) !important;
}
ul.products li.product a img {
  width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block;
  transition: transform 0.65s var(--ease);
}
ul.products li.product:hover a img { transform: scale(1.07); }
ul.products li.product .woocommerce-loop-product__link { display: block; overflow: hidden; }

.woocommerce-loop-product__title, ul.products li.product h2 {
  font-family: var(--font-d) !important;
  font-size: 1.05rem !important;
  color: var(--ca-stone) !important;
  font-weight: 600 !important;
  padding: 16px 16px 4px !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}
ul.products li.product .ast-product-category {
  font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--ca-sand); font-family: var(--font-b); font-weight: 700;
  padding: 14px 16px 0; display: block;
}
ul.products li.product .price {
  color: var(--ca-earth) !important; font-family: var(--font-b) !important;
  font-size: 1rem !important; font-weight: 700 !important;
  padding: 4px 16px 4px !important; display: block !important;
}
ul.products li.product .price del { color: var(--ca-sand) !important; font-weight: 300 !important; font-size: 0.85rem !important; }
ul.products li.product .price ins { color: var(--ca-accent) !important; text-decoration: none !important; }

/* Add to cart loop */
ul.products li.product .button,
.woocommerce ul.products li.product .button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 8px 16px 16px !important;
  padding: 11px 16px !important;
  background: var(--ca-stone) !important;
  color: var(--ca-cream) !important;
  font-family: var(--font-b) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border: 2px solid var(--ca-stone) !important;
  border-radius: var(--ca-r) !important;
  transition: all 0.3s var(--ease) !important;
  text-align: center !important;
  text-decoration: none !important;
}
ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:hover {
  background: transparent !important; color: var(--ca-stone) !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--ca-accent) !important; color: #fff !important;
  font-family: var(--font-b) !important; font-size: 0.65rem !important;
  font-weight: 900 !important; letter-spacing: 0.1em !important;
  text-transform: uppercase !important; border-radius: var(--ca-r) !important;
  min-width: auto !important; min-height: auto !important;
  width: auto !important; height: auto !important;
  line-height: 1 !important; padding: 5px 10px !important;
  top: 12px !important; left: 12px !important; right: auto !important;
}

/* ============================================
   SINGLE PRODUCT PAGE
   ============================================ */
.single-product h1.product_title {
  font-family: var(--font-d) !important;
  font-size: clamp(1.8rem,3.5vw,2.8rem) !important;
  color: var(--ca-stone) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
}
.single-product .price {
  font-size: 1.6rem !important; font-weight: 700 !important;
  color: var(--ca-earth) !important; margin-bottom: 20px !important;
}
.single-product .price del { color: var(--ca-sand) !important; font-size: 1.1rem !important; }
.single-product .price ins { color: var(--ca-accent) !important; text-decoration: none !important; }

.single-product .woocommerce-product-details__short-description {
  font-size: 0.95rem; line-height: 1.85; color: var(--ca-earth);
  margin-bottom: 24px; border-left: 3px solid var(--ca-sand);
  padding-left: 18px;
}
.single-product .quantity input {
  border: 1px solid var(--ca-border) !important; border-radius: var(--ca-r) !important;
  height: 50px !important; width: 76px !important; text-align: center !important;
  font-size: 1rem !important; color: var(--ca-stone) !important;
}
.single-product .single_add_to_cart_button {
  background: var(--ca-stone) !important; color: var(--ca-cream) !important;
  font-family: var(--font-b) !important; font-size: 0.78rem !important;
  font-weight: 900 !important; letter-spacing: 0.18em !important;
  text-transform: uppercase !important; padding: 16px 36px !important;
  border-radius: var(--ca-r) !important; border: 2px solid var(--ca-stone) !important;
  transition: all 0.3s var(--ease) !important; min-height: 50px !important;
}
.single-product .single_add_to_cart_button:hover {
  background: transparent !important; color: var(--ca-stone) !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--ca-border) !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: none !important; border-radius: 0 !important; margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-b) !important; font-size: 0.75rem !important;
  font-weight: 900 !important; letter-spacing: 0.14em !important;
  text-transform: uppercase !important; color: var(--ca-earth) !important;
  padding: 12px 20px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--ca-stone) !important; margin-bottom: -2px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ca-stone) !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  border: 1px solid var(--ca-border) !important; border-top: none !important;
  padding: 28px !important; border-radius: 0 0 var(--ca-r-lg) var(--ca-r-lg) !important;
}

/* Product gallery */
.woocommerce-product-gallery figure img { border-radius: var(--ca-r-lg); }
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  border-radius: var(--ca-r-lg); overflow: hidden; border: 1px solid var(--ca-border);
}

/* ============================================
   CART & CHECKOUT
   ============================================ */
.woocommerce table.cart th {
  background: var(--ca-stone) !important; color: var(--ca-cream) !important;
  font-family: var(--font-b) !important; font-size: 0.72rem !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  padding: 14px 20px !important; border: none !important;
}
.woocommerce table.cart td { padding: 20px !important; border-color: var(--ca-border) !important; }
.woocommerce-cart .cart_totals {
  background: var(--ca-cream) !important; border-radius: var(--ca-r-lg) !important;
  border: 1px solid var(--ca-border) !important; padding: 28px !important;
}
.woocommerce .checkout-button, .woocommerce a.checkout-button,
#place_order, .woocommerce #payment #place_order {
  background: var(--ca-stone) !important; color: var(--ca-cream) !important;
  font-family: var(--font-b) !important; font-size: 0.78rem !important;
  font-weight: 900 !important; letter-spacing: 0.18em !important;
  text-transform: uppercase !important; padding: 16px 28px !important;
  border-radius: var(--ca-r) !important; border: 2px solid var(--ca-stone) !important;
  width: 100% !important; display: block !important; text-align: center !important;
  transition: all 0.3s var(--ease) !important;
}
.woocommerce .checkout-button:hover, #place_order:hover {
  background: transparent !important; color: var(--ca-stone) !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border: 1px solid var(--ca-border) !important; border-radius: var(--ca-r) !important;
  padding: 12px 14px !important; color: var(--ca-stone) !important;
  transition: border-color 0.3s var(--ease) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--ca-sand) !important;
  box-shadow: 0 0 0 3px rgba(201,169,110,0.15) !important;
  outline: none !important;
}

/* ============================================
   PAGINATION + STARS + NOTICES
   ============================================ */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid var(--ca-border) !important; border-radius: var(--ca-r) !important;
  color: var(--ca-stone) !important; transition: all 0.3s var(--ease) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--ca-stone) !important; color: var(--ca-cream) !important;
  border-color: var(--ca-stone) !important;
}
.star-rating span::before { color: var(--ca-gold) !important; }
.in-stock { color: var(--ca-cedar) !important; font-weight: 700 !important; font-size: 0.82rem !important; }
.out-of-stock { color: var(--ca-accent) !important; font-weight: 700 !important; font-size: 0.82rem !important; }
.woocommerce-message { background: var(--ca-cream) !important; border-top-color: var(--ca-sand) !important; }
.woocommerce-error { background: #fff5f5 !important; border-top-color: var(--ca-accent) !important; }

/* Related products */
.related.products h2, .upsells.products h2 {
  font-family: var(--font-d) !important; font-size: 1.5rem !important;
  font-weight: 700 !important; color: var(--ca-stone) !important;
  padding-bottom: 16px !important; border-bottom: 2px solid var(--ca-border) !important;
  position: relative;
}
.related.products h2::after {
  content: ''; position: absolute; bottom: -2px; left: 0;
  width: 60px; height: 2px; background: var(--ca-sand);
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer, #colophon {
  background: var(--ca-stone) !important;
  border-top: 2px solid var(--ca-sand) !important;
  color: var(--ca-cream) !important;
}
.site-footer a, #colophon a { color: var(--ca-sand) !important; }
.site-footer a:hover, #colophon a:hover { color: var(--ca-cream) !important; }
.site-footer .widget-title, #colophon .widget-title {
  color: var(--ca-cream) !important; border-bottom-color: rgba(201,169,110,0.25) !important;
}
.ast-small-footer-section { color: rgba(248,244,238,0.5) !important; font-size: 0.78rem !important; }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
  .woocommerce h1.page-title { font-size: 1.7rem !important; padding: 32px 0 8px !important; }
  .single-product h1.product_title { font-size: 1.6rem !important; }
  .single-product .price { font-size: 1.3rem !important; }
  .woocommerce table.cart th { font-size: 0.62rem !important; padding: 10px 12px !important; }
}
