/*
Theme Name:   Soura Child
Theme URI:    https://sourafashions.com
Description:  Child theme for Soura By Sonu G — Bridal Boutique, Indiranagar Bengaluru
Author:       Sonu Gowda
Author URI:   https://sourafashions.com
Template:     astra
Version:      1.0.0
License:      GNU General Public License v2 or later
Text Domain:  soura-child
*/

/* ============================================================
   SOURA BY SONU G — BRAND DESIGN SYSTEM
   Primary:    #20433c  (Deep Forest Green)
   Secondary:  #e9b337  (Gold)
   Background: #faf8f4  (Warm Off-White)
   Fonts:      Cormorant Garamond (display) + Jost (body)
   ============================================================ */

/* ----- CSS Variables ----- */
:root {
  --primary:        #20433c;
  --primary-light:  #2a5a51;
  --primary-dark:   #162e29;
  --secondary:      #e9b337;
  --secondary-light:#f0c55a;
  --secondary-dark: #c99520;
  --bg:             #faf8f4;
  --bg-warm:        #f5f0e8;
  --text-dark:      #1a1a1a;
  --text-mid:       #4a4a4a;
  --text-light:     #888888;
  --border:         rgba(32,67,60,0.15);
  --font-display:   'Cormorant Garamond', Georgia, serif;
  --font-body:      'Jost', sans-serif;
}

/* ----- Global Reset & Base ----- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: var(--font-body) !important;
  background-color: var(--bg) !important;
  color: var(--text-dark) !important;
  font-size: 15px;
  line-height: 1.6;
}

/* ----- Override Astra defaults ----- */
.ast-container { max-width: 100% !important; padding: 0 !important; }
.site-header { display: none !important; }         /* Hide Astra header — we use custom nav */
.site-footer { display: none !important; }         /* Hide Astra footer — we use custom footer */
.entry-content { padding: 0 !important; }
.ast-page-builder-template .entry-content { margin: 0 !important; }

/* ----- WooCommerce — match brand colours ----- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background-color: var(--primary) !important;
  color: #ffffff !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 12px 28px !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background-color: var(--primary-light) !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background-color: var(--secondary) !important;
  color: var(--primary) !important;
  font-weight: 600 !important;
}
.woocommerce a.button.alt:hover {
  background-color: var(--secondary-dark) !important;
}

/* WooCommerce form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(32,67,60,0.06) !important;
  outline: none !important;
}

/* WooCommerce notices */
.woocommerce-message {
  border-top-color: var(--primary) !important;
  background: rgba(32,67,60,0.04) !important;
}
.woocommerce-error { border-top-color: #c0392b !important; }

/* WooCommerce My Account navigation */
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 16px;
  color: var(--text-mid);
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: all 0.2s;
  font-size: 13px;
  letter-spacing: 0.04em;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--primary);
  border-left-color: var(--secondary);
  background: rgba(32,67,60,0.04);
  font-weight: 500;
}

/* WooCommerce product cards */
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--primary) !important;
}
ul.products li.product:hover { box-shadow: 0 8px 32px rgba(32,67,60,0.08); }
.price { color: var(--primary) !important; font-weight: 600 !important; }
.price ins { text-decoration: none !important; }
.price del { color: var(--text-light) !important; font-weight: 400 !important; }

/* Star ratings */
.star-rating span::before { color: var(--secondary) !important; }

/* Checkout & cart tables */
.shop_table th {
  background: var(--primary) !important;
  color: #ffffff !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
.woocommerce-checkout #payment { border-radius: 0 !important; }

/* ----- Typography ----- */
h1, h2, h3, h4, h5 {
  font-family: var(--font-display) !important;
  color: var(--primary) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
}
h1 { font-size: 56px !important; }
h2 { font-size: 44px !important; }
h3 { font-size: 32px !important; }
h4 { font-size: 24px !important; }
h5 { font-size: 18px !important; }

p { line-height: 1.75; }

a { color: var(--primary); transition: color 0.2s; }
a:hover { color: var(--secondary); }

/* ----- Utility classes ----- */
.soura-btn-primary {
  display: inline-block;
  background: var(--primary);
  color: #ffffff;
  border: none;
  padding: 13px 32px;
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}
.soura-btn-primary:hover { background: var(--primary-light); color: #fff; }

.soura-btn-secondary {
  display: inline-block;
  background: var(--secondary);
  color: var(--primary);
  border: none;
  padding: 13px 32px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}
.soura-btn-secondary:hover { background: var(--secondary-dark); }

.soura-btn-outline {
  display: inline-block;
  border: 1px solid var(--primary);
  background: transparent;
  color: var(--primary);
  padding: 12px 28px;
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
}
.soura-btn-outline:hover { background: var(--primary); color: #fff; }

.soura-divider {
  width: 48px;
  height: 2px;
  background: var(--secondary);
  margin: 20px 0;
}

.soura-section-label {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--secondary);
  margin-bottom: 12px;
  display: block;
}

/* ----- Measurement form grid (used in My Account template) ----- */
.soura-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 8px;
}
.soura-field { display: flex; flex-direction: column; }
.soura-field label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 5px;
}
.soura-field input[type="number"],
.soura-field input[type="text"],
.soura-field select,
.soura-field textarea {
  border: 1px solid var(--border);
  padding: 9px 12px;
  font-size: 14px;
  font-family: var(--font-body);
  outline: none;
  transition: border-color 0.2s;
  width: 100%;
  border-radius: 0;
}
.soura-field input:focus,
.soura-field select:focus,
.soura-field textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(32,67,60,0.06);
}
.soura-field input.required-field { border-left: 2px solid var(--secondary); }

/* ----- Mobile responsiveness ----- */
@media (max-width: 768px) {
  h1 { font-size: 38px !important; }
  h2 { font-size: 32px !important; }
  h3 { font-size: 26px !important; }
  .soura-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 480px) {
  .soura-grid { grid-template-columns: 1fr !important; }
}
