/*
 Theme Name:   Atlas Nomad Child
 Theme URI:    https://atlasnomad.co
 Description:  Flatsome Child Theme for Atlas Nomad - Moroccan Artisan & Vintage
 Author:       Atlas Nomad Team
 Author URI:   https://atlasnomad.co
 Template:     flatsome
 Version:      2.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  atlasnomad
*/

/* ============================================
   ATLAS NOMAD - BRAND COLORS
   ============================================ */
:root {
  --an-cream: #E8D8C3;
  --an-cream-light: #F0E6DA;
  --an-cream-warm: #D4C4B0;
  --an-brown: #3A2A22;
  --an-brown-soft: #4A3A32;
  --an-black: #1C1C1C;
  --an-gold: #C6A769;
  --an-gold-hover: #B8943A;
  --an-gold-light: #DCC9A0;
  --an-terracotta: #C4705A;
  --an-terracotta-dark: #A85D48;
  --an-olive: #8B9A6D;
  --an-olive-muted: #A3B08A;
  --an-text: #2A1F1A;
  --an-text-secondary: #5C5C5C;
  --an-text-muted: #9A9A9A;
  --an-border: #C8B8A4;
  --an-border-light: #E5E0D6;
  --an-success: #4A7C59;
  --an-error: #B54242;
  --an-overlay: rgba(28, 28, 28, 0.45);
}

/* ============================================
   TRAJAN PRO + LATO FONT IMPORT
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap');

/* Trajan Pro 3 via Adobe Fonts or fallback to Cinzel */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap');

/* ============================================
   GLOBAL RESET & BASE
   ============================================ */
body {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: var(--an-text);
  background-color: var(--an-cream);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.flatsome-accordion-title,
.accordion-title,
.tabbed-title,
.nav > li > a,
.nav-column > li > a,
.product-title,
.product-name,
.product-info .product-title,
.widget-title,
.title-wrapper,
.section-title,
.page-title,
.entry-title,
.archive-title,
.blog-title,
.category-title,
.woocommerce-loop-category__title,
.woocommerce-loop-product__title,
.woocommerce-Reviews-title,
.woocommerce-Address-title,
.woocommerce-column__title,
.woocommerce-order-downloads__title,
.woocommerce-order-details__title,
.woocommerce-thankyou-order-received,
.woocommerce-checkout-review-order-table thead th,
.shop_table thead th,
.cart_totals h2,
.woocommerce-cart-form h2,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-checkout-payment h3,
.woocommerce-order-details h2,
.woocommerce-customer-details h2,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-address-fields h3,
.woocommerce-EditAccountForm legend,
.woocommerce-form-login h2,
.woocommerce-form-register h2,
.comment-reply-title,
.comments-title,
.related.products > h2,
.upsells.products > h2,
.cross-sells > h2 {
  font-family: 'Cinzel', 'Trajan Pro 3', 'Trajan Pro', serif;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
}

h1 { font-size: 48px; line-height: 1.15; letter-spacing: 0.08em; }
h2 { font-size: 36px; line-height: 1.2; letter-spacing: 0.06em; }
h3 { font-size: 24px; line-height: 1.3; letter-spacing: 0.04em; }
h4 { font-size: 20px; line-height: 1.3; letter-spacing: 0.04em; }
h5 { font-size: 16px; line-height: 1.4; letter-spacing: 0.06em; }
h6 { font-size: 14px; line-height: 1.4; letter-spacing: 0.08em; }

@media (max-width: 768px) {
  h1 { font-size: 32px; }
  h2 { font-size: 26px; }
  h3 { font-size: 20px; }
}

/* ============================================
   HEADER & NAVIGATION
   ============================================ */
.header {
  background: transparent;
  transition: background 0.4s ease, box-shadow 0.4s ease;
}

.header.sticky.is-sticky,
.header.scrolled {
  background: var(--an-cream) !important;
  box-shadow: 0 2px 20px rgba(28, 28, 28, 0.08);
}

.header.sticky.is-sticky .nav > li > a,
.header.scrolled .nav > li > a {
  color: var(--an-text) !important;
}

.header.sticky.is-sticky .logo a,
.header.scrolled .logo a {
  color: var(--an-text) !important;
}

.nav > li > a {
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--an-cream);
  padding: 15px 18px;
  transition: color 0.3s ease;
}

.nav > li > a:hover {
  color: var(--an-gold);
}

.nav-dropdown {
  background: var(--an-cream-light);
  border: 1px solid var(--an-border);
  box-shadow: 0 8px 32px rgba(28, 28, 28, 0.12);
}

.nav-dropdown > li > a {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--an-text);
  padding: 12px 20px;
  border-bottom: 1px solid var(--an-border-light);
  transition: all 0.3s ease;
}

.nav-dropdown > li > a:hover {
  background: var(--an-cream);
  color: var(--an-gold);
  padding-left: 24px;
}

/* Logo */
.logo a {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--an-cream);
}

.logo img {
  max-height: 50px;
}

/* Header icons (cart, search, wishlist) */
.header-icons .icon-box .icon-box-img,
.header-icons .cart-icon,
.header-icons .account-icon,
.header-icons .wishlist-icon {
  color: var(--an-cream);
  transition: color 0.3s ease;
}

.header-icons .icon-box:hover .icon-box-img,
.header-icons .cart-icon:hover,
.header-icons .account-icon:hover,
.header-icons .wishlist-icon:hover {
  color: var(--an-gold);
}

.header.sticky.is-sticky .header-icons .icon-box .icon-box-img,
.header.sticky.is-sticky .header-icons .cart-icon,
.header.scrolled .header-icons .icon-box .icon-box-img,
.header.scrolled .header-icons .cart-icon {
  color: var(--an-text);
}

/* ============================================
   BUTTONS
   ============================================ */
.button {
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 0;
  padding: 16px 36px;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.button.primary {
  background: var(--an-gold);
  color: var(--an-black);
  border: 2px solid var(--an-gold);
}

.button.primary:hover {
  background: var(--an-gold-hover);
  border-color: var(--an-gold-hover);
  color: var(--an-black);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(198, 167, 105, 0.35);
}

.button.secondary {
  background: transparent;
  color: var(--an-gold);
  border: 2px solid var(--an-gold);
}

.button.secondary:hover {
  background: var(--an-gold);
  color: var(--an-black);
  transform: translateY(-2px);
}

.button.alt {
  background: var(--an-brown);
  color: var(--an-cream);
  border: 2px solid var(--an-brown);
}

.button.alt:hover {
  background: var(--an-black);
  border-color: var(--an-black);
}

.button.white {
  background: var(--an-cream);
  color: var(--an-text);
  border: 2px solid var(--an-cream);
}

.button.white:hover {
  background: transparent;
  color: var(--an-cream);
}

/* ============================================
   HERO SECTION
   ============================================ */
.atlas-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.atlas-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  animation: heroZoom 25s ease-in-out infinite alternate;
}

.atlas-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--an-overlay);
  z-index: 2;
}

.atlas-hero__content {
  position: relative;
  z-index: 3;
  text-align: center;
  max-width: 800px;
  padding: 0 20px;
}

.atlas-hero__symbol {
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
  opacity: 0;
  animation: fadeInUp 1s ease 0.3s forwards;
}

.atlas-hero__symbol img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.atlas-hero__headline {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 56px;
  line-height: 1.15;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--an-cream-light);
  margin-bottom: 20px;
  opacity: 0;
  animation: fadeInUp 1s ease 0.6s forwards;
}

@media (max-width: 768px) {
  .atlas-hero__headline {
    font-size: 36px;
  }
}

.atlas-hero__subheadline {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: rgba(240, 230, 218, 0.85);
  margin-bottom: 36px;
  opacity: 0;
  animation: fadeInUp 1s ease 0.9s forwards;
}

.atlas-hero__cta {
  opacity: 0;
  animation: fadeInUp 1s ease 1.2s forwards;
}

@keyframes heroZoom {
  0% { transform: scale(1); }
  100% { transform: scale(1.08); }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================
   TRUST BAR
   ============================================ */
.atlas-trust-bar {
  background: var(--an-black);
  padding: 18px 0;
}

.atlas-trust-bar__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--an-cream);
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.atlas-trust-bar__item i {
  color: var(--an-gold);
  font-size: 18px;
}

/* ============================================
   COLLECTIONS GRID
   ============================================ */
.atlas-collections {
  padding: 80px 0;
  background: var(--an-cream);
}

.atlas-section-title {
  text-align: center;
  margin-bottom: 50px;
}

.atlas-section-title h2 {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 36px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 16px;
}

.atlas-section-title .divider {
  width: 60px;
  height: 2px;
  background: var(--an-gold);
  margin: 0 auto;
}

.atlas-collection-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  cursor: pointer;
}

.atlas-collection-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.atlas-collection-card:hover .atlas-collection-card__img {
  transform: scale(1.08);
}

.atlas-collection-card__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(28, 28, 28, 0.7) 0%, transparent 60%);
  transition: background 0.4s ease;
}

.atlas-collection-card:hover .atlas-collection-card__overlay {
  background: linear-gradient(to top, rgba(28, 28, 28, 0.85) 0%, rgba(28, 28, 28, 0.2) 100%);
}

.atlas-collection-card__title {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-cream);
  transform: translateY(10px);
  opacity: 0.9;
  transition: all 0.4s ease;
}

.atlas-collection-card:hover .atlas-collection-card__title {
  transform: translateY(0);
  opacity: 1;
}

.atlas-collection-card__subtitle {
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: rgba(240, 230, 218, 0.7);
  transform: translateY(20px);
  opacity: 0;
  transition: all 0.4s ease 0.1s;
}

.atlas-collection-card:hover .atlas-collection-card__subtitle {
  transform: translateY(0);
  opacity: 1;
  bottom: 56px;
}

/* ============================================
   BRAND PILLARS
   ============================================ */
.atlas-pillars {
  padding: 100px 0;
  background: var(--an-cream-light);
}

.atlas-pillar {
  text-align: center;
  padding: 40px 30px;
}

.atlas-pillar__icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 24px;
  color: var(--an-gold);
}

.atlas-pillar__icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.atlas-pillar__title {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 18px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 16px;
}

.atlas-pillar__text {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.7;
  color: var(--an-text-secondary);
  max-width: 300px;
  margin: 0 auto;
}

/* ============================================
   PRODUCTS
   ============================================ */
.product-small .product-title,
.product-title,
.woocommerce-loop-product__title {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-top: 12px;
}

.product-small .product-title a:hover,
.product-title a:hover,
.woocommerce-loop-product__title a:hover {
  color: var(--an-gold);
}

.price {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 18px;
  color: var(--an-gold);
}

.price del {
  color: var(--an-text-muted);
  font-size: 15px;
}

.price ins {
  text-decoration: none;
  color: var(--an-gold);
}

.product-small .box-image,
.product-gallery img,
.woocommerce-product-gallery__image img {
  border-radius: 0;
}

.product-small .box-image:hover img,
.product-gallery img:hover,
.woocommerce-product-gallery__image:hover img {
  transform: scale(1.03);
}

/* ============================================
   PRODUCT DETAIL PAGE
   ============================================ */
.single-product .product-title {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 32px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 12px;
}

.single-product .product-info .price {
  font-size: 28px;
  color: var(--an-gold);
  margin-bottom: 20px;
}

.product_meta {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--an-text-muted);
  border-top: 1px solid var(--an-border-light);
  border-bottom: 1px solid var(--an-border-light);
  padding: 16px 0;
  margin: 20px 0;
}

.product_meta span {
  display: block;
  margin-bottom: 6px;
}

.product_meta a {
  color: var(--an-terracotta);
}

.product_meta a:hover {
  color: var(--an-gold);
}

/* Shipping info on product page */
.atlas-shipping-info {
  background: var(--an-cream-light);
  border: 1px solid var(--an-border);
  padding: 18px 20px;
  margin: 20px 0;
  display: flex;
  align-items: center;
  gap: 14px;
}

.atlas-shipping-info__icon {
  color: var(--an-gold);
  font-size: 24px;
  flex-shrink: 0;
}

.atlas-shipping-info__text {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--an-text-secondary);
}

.atlas-shipping-info__text strong {
  color: var(--an-text);
  font-weight: 700;
}

/* Trust badges under add to cart */
.atlas-trust-badges {
  display: flex;
  gap: 24px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--an-border-light);
}

.atlas-trust-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Lato', sans-serif;
  font-size: 12px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--an-text-muted);
}

.atlas-trust-badge i {
  color: var(--an-gold);
  font-size: 16px;
}

/* ============================================
   VARIATIONS & ADD TO CART
   ============================================ */
.variations td.label {
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--an-text);
}

.variations select {
  border: 1px solid var(--an-border);
  background: var(--an-cream-light);
  padding: 10px 14px;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  color: var(--an-text);
  border-radius: 0;
}

.woocommerce-variation-price .price {
  font-size: 24px;
}

.single_add_to_cart_button {
  background: var(--an-gold) !important;
  color: var(--an-black) !important;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 2px solid var(--an-gold) !important;
  border-radius: 0 !important;
  padding: 16px 40px !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.single_add_to_cart_button:hover {
  background: var(--an-gold-hover) !important;
  border-color: var(--an-gold-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(198, 167, 105, 0.35);
}

/* ============================================
   TABS (Product Description, Shipping, Reviews)
   ============================================ */
.tabbed-content .nav-tabs {
  border-bottom: 2px solid var(--an-border);
}

.tabbed-content .nav-tabs > li > a {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text-muted);
  padding: 14px 24px;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  transition: all 0.3s ease;
}

.tabbed-content .nav-tabs > li.active > a,
.tabbed-content .nav-tabs > li > a:hover {
  color: var(--an-text);
  border-bottom-color: var(--an-gold);
  background: transparent;
}

.tabbed-content .tab-panels {
  padding: 30px 0;
}

/* ============================================
   CART
   ============================================ */
.woocommerce-cart-form {
  background: var(--an-cream-light);
  padding: 30px;
  border: 1px solid var(--an-border);
}

.shop_table thead th {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  border-bottom: 2px solid var(--an-border);
  padding: 14px;
}

.shop_table td {
  padding: 20px 14px;
  border-bottom: 1px solid var(--an-border-light);
}

.product-name a {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--an-text);
}

.product-name a:hover {
  color: var(--an-gold);
}

.product-price,
.product-subtotal {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 16px;
  color: var(--an-gold);
}

/* Cart totals */
.cart_totals {
  background: var(--an-cream-light);
  padding: 30px;
  border: 1px solid var(--an-border);
}

.cart_totals h2 {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 24px;
}

.cart_totals .shop_table th {
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  color: var(--an-text);
  padding: 12px 0;
}

.cart_totals .shop_table td {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 16px;
  color: var(--an-text);
  text-align: right;
  padding: 12px 0;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
  font-size: 20px;
  color: var(--an-gold);
  border-top: 2px solid var(--an-border);
  padding-top: 16px;
}

/* Shipping calculator in cart */
.woocommerce-shipping-calculator .shipping-calculator-button {
  color: var(--an-terracotta);
  font-weight: 700;
  text-decoration: underline;
}

/* Free shipping progress bar */
.atlas-free-shipping-bar {
  background: var(--an-cream);
  border: 1px solid var(--an-border);
  padding: 16px 20px;
  margin-bottom: 24px;
  text-align: center;
}

.atlas-free-shipping-bar__text {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  color: var(--an-text-secondary);
  margin-bottom: 10px;
}

.atlas-free-shipping-bar__text strong {
  color: var(--an-gold);
}

.atlas-free-shipping-bar__progress {
  width: 100%;
  height: 6px;
  background: var(--an-border-light);
  border-radius: 3px;
  overflow: hidden;
}

.atlas-free-shipping-bar__progress-fill {
  height: 100%;
  background: var(--an-gold);
  transition: width 0.5s ease;
}

/* ============================================
   CHECKOUT
   ============================================ */
.woocommerce-checkout {
  background: var(--an-cream-light);
  padding: 40px;
  border: 1px solid var(--an-border);
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 24px;
}

.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-additional-fields label {
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 8px;
}

.woocommerce-billing-fields input,
.woocommerce-billing-fields select,
.woocommerce-billing-fields textarea,
.woocommerce-shipping-fields input,
.woocommerce-shipping-fields select,
.woocommerce-shipping-fields textarea,
.woocommerce-additional-fields input,
.woocommerce-additional-fields textarea {
  border: 1px solid var(--an-border);
  background: var(--an-cream);
  padding: 12px 16px;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  color: var(--an-text);
  border-radius: 0;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-billing-fields input:focus,
.woocommerce-billing-fields select:focus,
.woocommerce-billing-fields textarea:focus,
.woocommerce-shipping-fields input:focus,
.woocommerce-shipping-fields select:focus,
.woocommerce-shipping-fields textarea:focus,
.woocommerce-additional-fields input:focus,
.woocommerce-additional-fields textarea:focus {
  border-color: var(--an-gold);
  box-shadow: 0 0 0 3px rgba(198, 167, 105, 0.15);
  outline: none;
}

/* Shipping methods on checkout */
.woocommerce-shipping-methods {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-shipping-methods li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 8px;
  background: var(--an-cream);
  border: 1px solid var(--an-border);
  cursor: pointer;
  transition: all 0.3s ease;
}

.woocommerce-shipping-methods li:hover {
  border-color: var(--an-gold);
}

.woocommerce-shipping-methods li input[type="radio"] {
  accent-color: var(--an-gold);
  width: 18px;
  height: 18px;
}

.woocommerce-shipping-methods li label {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  color: var(--an-text);
  cursor: pointer;
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}

.woocommerce-shipping-methods .shipping-method__name {
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}

.woocommerce-shipping-methods .shipping-method__time {
  font-weight: 400;
  font-size: 13px;
  color: var(--an-text-muted);
}

.woocommerce-shipping-methods .shipping-method__price {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 16px;
  color: var(--an-gold);
}

/* Order review */
.woocommerce-checkout-review-order-table thead th {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  border-bottom: 2px solid var(--an-border);
  padding: 14px;
}

.woocommerce-checkout-review-order-table td {
  padding: 14px;
  border-bottom: 1px solid var(--an-border-light);
}

.woocommerce-checkout-review-order-table .product-name {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  color: var(--an-text);
}

.woocommerce-checkout-review-order-table .product-total {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 15px;
  color: var(--an-gold);
  text-align: right;
}

/* Payment section */
.woocommerce-checkout-payment {
  background: var(--an-cream);
  padding: 24px;
  border: 1px solid var(--an-border);
  margin-top: 24px;
}

.woocommerce-checkout-payment h3 {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 20px;
}

.payment_methods {
  list-style: none;
  padding: 0;
  margin: 0;
}

.payment_methods li {
  padding: 14px 16px;
  margin-bottom: 8px;
  background: var(--an-cream-light);
  border: 1px solid var(--an-border);
}

.payment_methods li label {
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--an-text);
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.payment_methods li label img {
  max-height: 24px;
  margin-left: auto;
}

/* Place order button */
#place_order {
  background: var(--an-gold) !important;
  color: var(--an-black) !important;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 2px solid var(--an-gold) !important;
  border-radius: 0 !important;
  padding: 18px 48px !important;
  width: 100%;
  margin-top: 24px;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

#place_order:hover {
  background: var(--an-gold-hover) !important;
  border-color: var(--an-gold-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(198, 167, 105, 0.35);
}

/* ============================================
   SHOP / ARCHIVE PAGES
   ============================================ */
.shop-page-title {
  background: var(--an-cream-light);
  padding: 60px 0;
  text-align: center;
  border-bottom: 1px solid var(--an-border);
}

.shop-page-title h1 {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 42px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 12px;
}

.shop-page-title .sub-title {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 18px;
  color: var(--an-text-secondary);
}

/* Filters sidebar */
.widget-area {
  background: var(--an-cream-light);
  padding: 24px;
  border: 1px solid var(--an-border);
}

.widget .widget-title {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  padding-bottom: 14px;
  border-bottom: 2px solid var(--an-gold);
  margin-bottom: 20px;
}

.woocommerce-widget-layered-nav-list li a,
.product-categories li a,
.widget_layered_nav_filters li a {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  color: var(--an-text-secondary);
  padding: 8px 0;
  display: block;
  transition: color 0.3s ease, padding-left 0.3s ease;
}

.woocommerce-widget-layered-nav-list li a:hover,
.product-categories li a:hover,
.widget_layered_nav_filters li a:hover {
  color: var(--an-gold);
  padding-left: 8px;
}

/* Price slider */
.price_slider_wrapper .ui-slider {
  background: var(--an-border);
  height: 4px;
}

.price_slider_wrapper .ui-slider-range {
  background: var(--an-gold);
}

.price_slider_wrapper .ui-slider-handle {
  background: var(--an-gold);
  border: 2px solid var(--an-cream);
  width: 16px;
  height: 16px;
  top: -6px;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(198, 167, 105, 0.4);
}

/* ============================================
   MY ACCOUNT
   ============================================ */
.woocommerce-MyAccount-navigation {
  background: var(--an-cream-light);
  border: 1px solid var(--an-border);
  padding: 0;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--an-border-light);
}

.woocommerce-MyAccount-navigation li:last-child {
  border-bottom: none;
}

.woocommerce-MyAccount-navigation li a {
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--an-text-secondary);
  padding: 14px 20px;
  display: block;
  transition: all 0.3s ease;
}

.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
  color: var(--an-gold);
  background: var(--an-cream);
  padding-left: 24px;
}

.woocommerce-MyAccount-content {
  background: var(--an-cream-light);
  border: 1px solid var(--an-border);
  padding: 30px;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  margin-bottom: 24px;
}

.woocommerce-orders-table thead th {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--an-text);
  border-bottom: 2px solid var(--an-border);
  padding: 12px;
}

.woocommerce-orders-table td {
  padding: 16px 12px;
  border-bottom: 1px solid var(--an-border-light);
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  color: var(--an-text);
}

.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
  color: var(--an-gold);
  font-weight: 700;
}

.woocommerce-button {
  background: var(--an-gold);
  color: var(--an-black);
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  border-radius: 0;
  padding: 10px 20px;
  transition: all 0.3s ease;
}

.woocommerce-button:hover {
  background: var(--an-gold-hover);
}

/* ============================================
   FOOTER
   ============================================ */
.footer {
  background: var(--an-black);
  color: var(--an-cream);
  padding: 80px 0 40px;
}

.footer .widget-title {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--an-cream);
  margin-bottom: 24px;
}

.footer a {
  color: var(--an-cream);
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  transition: color 0.3s ease;
}

.footer a:hover {
  color: var(--an-gold);
}

.footer .is-divider {
  background: var(--an-gold);
  height: 1px;
  opacity: 0.3;
}

.footer-1, .footer-2 {
  border-bottom: 1px solid rgba(232, 216, 195, 0.1);
  padding-bottom: 40px;
  margin-bottom: 40px;
}

/* Newsletter in footer */
.atlas-newsletter {
  background: var(--an-brown);
  padding: 60px 0;
  text-align: center;
}

.atlas-newsletter__title {
  font-family: 'Cinzel', 'Trajan Pro 3', serif;
  font-weight: 400;
  font-size: 32px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--an-gold);
  margin-bottom: 16px;
}

.atlas-newsletter__subtitle {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: rgba(232, 216, 195, 0.7);
  margin-bottom: 32px;
}

.atlas-newsletter__form {
  max-width: 500px;
  margin: 0 auto;
  display: flex;
  gap: 0;
}

.atlas-newsletter__form input[type="email"] {
  flex: 1;
  background: var(--an-cream);
  border: 2px solid var(--an-cream);
  padding: 16px 20px;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  color: var(--an-text);
  border-radius: 0;
}

.atlas-newsletter__form input[type="email"]::placeholder {
  color: var(--an-text-muted);
}

.atlas-newsletter__form input[type="email"]:focus {
  border-color: var(--an-gold);
  outline: none;
}

.atlas-newsletter__form button {
  background: var(--an-gold);
  color: var(--an-black);
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 2px solid var(--an-gold);
  padding: 16px 32px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.atlas-newsletter__form button:hover {
  background: var(--an-gold-hover);
  border-color: var(--an-gold-hover);
}

/* ============================================
   FORMS
   ============================================ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
textarea,
select {
  border: 1px solid var(--an-border);
  background: var(--an-cream);
  padding: 12px 16px;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  color: var(--an-text);
  border-radius: 0;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  border-color: var(--an-gold);
  box-shadow: 0 0 0 3px rgba(198, 167, 105, 0.15);
  outline: none;
}

/* ============================================
   BREADCRUMBS
   ============================================ */
.breadcrumbs {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--an-text-muted);
  padding: 16px 0;
}

.breadcrumbs a {
  color: var(--an-text-secondary);
}

.breadcrumbs a:hover {
  color: var(--an-gold);
}

.breadcrumbs .current {
  color: var(--an-gold);
}

/* ============================================
   PAGINATION
   ============================================ */
.page-numbers {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 40px 0;
  justify-content: center;
}

.page-numbers li {
  margin: 0;
}

.page-numbers a,
.page-numbers span {
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  font-size: 14px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--an-border);
  color: var(--an-text);
  background: var(--an-cream);
  transition: all 0.3s ease;
}

.page-numbers a:hover,
.page-numbers span.current {
  background: var(--an-gold);
  border-color: var(--an-gold);
  color: var(--an-black);
}

/* ============================================
   BADGES & LABELS
   ============================================ */
.onsale,
.sale-label {
  background: var(--an-terracotta) !important;
  color: var(--an-cream) !important;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 0;
}

.out-of-stock {
  background: var(--an-text-muted);
  color: var(--an-cream);
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 0;
}

/* New arrival badge */
.atlas-badge-new {
  background: var(--an-olive);
  color: var(--an-cream);
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 12px;
}

/* Best seller badge */
.atlas-badge-bestseller {
  background: var(--an-gold);
  color: var(--an-black);
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 12px;
}

/* ============================================
   MISC UTILITIES
   ============================================ */
.divider--gold {
  width: 60px;
  height: 2px;
  background: var(--an-gold);
  margin: 20px auto;
}

.text-gold { color: var(--an-gold); }
.text-cream { color: var(--an-cream); }
.text-brown { color: var(--an-brown); }
.text-terracotta { color: var(--an-terracotta); }
.text-muted { color: var(--an-text-muted); }

.bg-cream { background: var(--an-cream); }
.bg-cream-light { background: var(--an-cream-light); }
.bg-brown { background: var(--an-brown); }
.bg-black { background: var(--an-black); }

/* ============================================
   ANIMATIONS
   ============================================ */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
  .atlas-hero__headline {
    font-size: 32px;
  }
  
  .atlas-hero__subheadline {
    font-size: 16px;
  }
  
  .atlas-trust-bar__item {
    font-size: 11px;
    flex-direction: column;
    gap: 4px;
  }
  
  .atlas-newsletter__form {
    flex-direction: column;
  }
  
  .atlas-newsletter__form button {
    width: 100%;
  }
  
  .atlas-trust-badges {
    flex-wrap: wrap;
    gap: 12px;
  }
  
  .woocommerce-checkout {
    padding: 20px;
  }
  
  .woocommerce-cart-form,
  .cart_totals {
    padding: 20px;
  }
}

/* ============================================
   SCROLLBAR (Webkit)
   ============================================ */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--an-cream);
}

::-webkit-scrollbar-thumb {
  background: var(--an-border);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--an-gold);
}
