/*
 Theme Name:   Craftloo Child
 Theme URI:    https://craftloo.com
 Description:  Craftloo child theme for Astra. Handles typography, color palette,
               and layout overrides for the handmade art marketplace.
 Author:       Craftloo
 Author URI:   https://craftloo.com
 Template:     astra
 Version:      1.0.0
 Text Domain:  craftloo-child
*/

/* ── Design Tokens ─────────────────────────────────────────────────────────── */
:root {
  --craftloo-cream:      #FAF7F2;
  --craftloo-charcoal:   #1A1A1A;
  --craftloo-rose:       #C97B84;
  --craftloo-rose-light: #EDD5D8;
  --craftloo-sand:       #E8E0D5;
  --craftloo-warm-grey:  #6B6057;
  --craftloo-radius:     6px;

  /* Astra overrides */
  --ast-global-color-0: #1A1A1A;
  --ast-global-color-1: #C97B84;
  --ast-global-color-2: #FAF7F2;
}

/* ── Typography ─────────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

body {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 400;
  color: #3D3530;
  background-color: var(--craftloo-cream);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 400;
  color: var(--craftloo-charcoal);
  letter-spacing: -0.2px;
}

/* ── Header ─────────────────────────────────────────────────────────────────── */
.ast-header-break-point .ast-mobile-header-stack .ast-site-identity {
  padding: 16px 0;
}

.site-header,
.ast-primary-header-bar {
  background: #fff !important;
  border-bottom: 1px solid var(--craftloo-sand);
}

.site-title,
.site-title a {
  font-family: 'Playfair Display', serif;
  font-size: 26px;
  font-weight: 500;
  color: var(--craftloo-charcoal) !important;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Nav */
.main-navigation a,
.ast-header-break-point .main-navigation a {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--craftloo-charcoal);
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
  color: var(--craftloo-rose) !important;
}

/* Cart icon */
.ast-header-cart a,
.ast-header-cart .count {
  color: var(--craftloo-charcoal);
}

/* ── Buttons ────────────────────────────────────────────────────────────────── */
.ast-btn,
.button,
button[type="submit"],
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: 12px 28px;
  border-radius: var(--craftloo-radius);
  background: var(--craftloo-charcoal);
  color: var(--craftloo-cream);
  border: none;
  transition: background 0.2s, transform 0.15s;
}

.ast-btn:hover,
.button:hover,
button[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--craftloo-rose);
  color: #fff;
  transform: translateY(-1px);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt {
  background: var(--craftloo-rose);
  color: #fff;
}

.woocommerce a.button.alt:hover {
  background: #b56b74;
}

/* ── WooCommerce Product Grid ───────────────────────────────────────────────── */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Playfair Display', serif;
  font-size: 17px;
  font-weight: 400;
  color: var(--craftloo-charcoal);
}

.woocommerce ul.products li.product .price {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: var(--craftloo-rose);
  font-weight: 600;
}

.woocommerce ul.products li.product img {
  border-radius: var(--craftloo-radius);
  aspect-ratio: 1;
  object-fit: cover;
  transition: opacity 0.3s;
}

.woocommerce ul.products li.product:hover img {
  opacity: 0.88;
}

.woocommerce ul.products li.product {
  position: relative;
}

/* Artist tag below product image */
.craftloo-product-artist {
  font-size: 12px;
  color: var(--craftloo-warm-grey);
  margin: 4px 0;
  font-style: italic;
}

/* ── Single Product Page ────────────────────────────────────────────────────── */
.woocommerce div.product .product_title {
  font-size: 32px;
  line-height: 1.3;
}

.woocommerce div.product .woocommerce-product-gallery {
  border-radius: 10px;
  overflow: hidden;
}

.woocommerce div.product p.price {
  color: var(--craftloo-rose);
  font-size: 24px;
  font-weight: 700;
}

/* ── Dokan Store Page ──────────────────────────────────────────────────────── */
.dokan-store-header {
  background: linear-gradient(135deg, var(--craftloo-sand) 0%, var(--craftloo-cream) 100%);
  border-bottom: 1px solid var(--craftloo-sand);
}

.dokan-store-page .store-header {
  border-radius: 0;
}

.dokan-store-tabs .dokan-tab-list li a {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--craftloo-warm-grey);
}

.dokan-store-tabs .dokan-tab-list li.active a,
.dokan-store-tabs .dokan-tab-list li a:hover {
  color: var(--craftloo-charcoal);
  border-bottom-color: var(--craftloo-rose);
}

/* ── Category Archive ───────────────────────────────────────────────────────── */
.craftloo-category-hero {
  background: var(--craftloo-sand);
  padding: 60px 20px;
  text-align: center;
  margin-bottom: 48px;
}

.craftloo-category-hero h1 {
  font-size: 42px;
  margin-bottom: 12px;
}

.craftloo-category-hero p {
  color: var(--craftloo-warm-grey);
  font-size: 17px;
  max-width: 480px;
  margin: 0 auto;
}

/* ── Footer ─────────────────────────────────────────────────────────────────── */
.site-footer,
.ast-small-footer {
  background: var(--craftloo-charcoal) !important;
  color: #ccc;
}

.site-footer a,
.ast-footer-widget-area a {
  color: var(--craftloo-rose-light);
}

.site-footer a:hover {
  color: #fff;
}

.ast-footer-widget-area .widget-title {
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
}

/* ── Utilities ──────────────────────────────────────────────────────────────── */
.craftloo-rose-text  { color: var(--craftloo-rose) !important; }
.craftloo-serif      { font-family: 'Playfair Display', serif; }
.craftloo-divider    { border: none; border-top: 1px solid var(--craftloo-sand); margin: 40px 0; }

/* Section labels */
.craftloo-section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--craftloo-rose);
  margin-bottom: 12px;
  display: block;
}

/* Responsive */
@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .craftloo-category-hero h1 {
    font-size: 28px;
  }
}
