/* ============================================================
   PawLuxe Pro - WooCommerce Pet Store Custom Theme
   Site   : pawluxepro.com
   Base   : Astra Theme
   Updated: 2026-06-14
   ============================================================ */

/* 1. GOOGLE FONTS IMPORT */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

/* 2. CSS CUSTOM PROPERTIES (Design Tokens) */
:root {
  --color-bg:           #fdf6f0;
  --color-text:         #4a3028;
  --color-accent:       #e8836a;
  --color-accent-dark:  #c96a51;
  --color-accent-light: #f2a08c;
  --color-header-bg:    #fdf6f0;
  --color-footer-bg:    #3a2218;
  --color-footer-text:  #fdf6f0;
  --color-card-bg:      #ffffff;
  --color-border:       #e8ddd6;
  --color-shadow:       rgba(74,48,40,0.10);
  --color-link:         #4a3028;
  --color-muted:        #7a5c52;
  --font-heading:       'Outfit', sans-serif;
  --font-body:          -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  --radius-card:        8px;
  --radius-btn:         8px;
  --radius-input:       6px;
  --transition:         0.22s ease;
  --shadow-card:        0 2px 12px var(--color-shadow);
  --shadow-hover:       0 6px 24px rgba(74,48,40,0.16);
}

/* 3. GLOBAL RESET / BASE */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
  font-family: var(--font-body) !important;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; height: auto; display: block; }

/* 4. TYPOGRAPHY - HEADINGS */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading) !important;
  color: var(--color-text) !important;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.6em;
}
h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.65rem); }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }

/* 5. LINKS */
a {
  color: var(--color-link) !important;
  text-decoration: none;
  transition: color var(--transition), text-decoration var(--transition);
}
a:hover, a:focus {
  color: var(--color-accent) !important;
  text-decoration: underline;
}

/* 6. ANNOUNCEMENT BAR */
.ast-above-header-bar,
.announcement-bar,
.woocommerce-store-notice,
p.demo_store {
  background-color: var(--color-accent) !important;
  color: #ffffff !important;
  font-family: var(--font-heading) !important;
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding: 8px 20px;
  position: relative;
  z-index: 9999;
}
.ast-above-header-bar a,
.announcement-bar a,
.woocommerce-store-notice a,
p.demo_store a {
  color: #ffffff !important;
  text-decoration: underline;
}
p.demo_store a.woocommerce-store-notice__dismiss-link { margin-left: 12px; opacity: 0.85; }

/* 7. SITE HEADER */
#masthead,
.site-header,
.ast-header-break-point .main-header-bar,
.main-header-bar,
.ast-primary-header-bar {
  background-color: var(--color-header-bg) !important;
  border-bottom: 1px solid var(--color-border) !important;
  box-shadow: 0 1px 6px rgba(74,48,40,0.06) !important;
  transition: box-shadow var(--transition);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.ast-sticky-header-active .main-header-bar {
  box-shadow: 0 3px 14px rgba(74,48,40,0.13) !important;
}

/* 8. SITE TITLE / LOGO */
.ast-site-identity .site-title,
.site-title,
.ast-site-identity .site-title a {
  font-family: var(--font-heading) !important;
  color: var(--color-text) !important;
  font-weight: 800;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  text-decoration: none !important;
  transition: color var(--transition);
}
.ast-site-identity .site-title a:hover { color: var(--color-accent) !important; }
.ast-site-identity .site-description { color: var(--color-muted) !important; font-size: 0.78rem; }

/* 9. PRIMARY NAVIGATION */
.main-navigation,
.ast-main-navigation,
#site-navigation { background: transparent !important; }

.main-navigation ul li a,
.ast-main-navigation .menu-item > a,
.main-navigation .menu > li > a,
#site-navigation ul li a {
  font-family: var(--font-heading) !important;
  color: var(--color-text) !important;
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  padding: 8px 14px;
  border-radius: 6px;
  transition: color var(--transition), background-color var(--transition);
  text-decoration: none !important;
}
.main-navigation ul li a:hover,
.ast-main-navigation .menu-item > a:hover,
#site-navigation ul li a:hover {
  color: var(--color-accent) !important;
  background-color: rgba(232,131,106,0.08) !important;
}
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a,
.ast-main-navigation .menu-item.current-menu-item > a {
  color: var(--color-accent) !important;
  font-weight: 600;
}
.main-navigation ul ul,
.ast-main-navigation .sub-menu {
  background-color: #ffffff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-card) !important;
  min-width: 200px;
}
.main-navigation ul ul li a,
.ast-main-navigation .sub-menu .menu-item > a {
  color: var(--color-text) !important;
  border-radius: 4px;
  padding: 9px 16px;
}
.ast-mobile-menu-buttons .menu-toggle,
button.menu-toggle {
  background: transparent !important;
  color: var(--color-text) !important;
  border: 2px solid var(--color-border) !important;
  border-radius: var(--radius-btn) !important;
  padding: 6px 12px;
  transition: border-color var(--transition), color var(--transition);
}
button.menu-toggle:hover {
  border-color: var(--color-accent) !important;
  color: var(--color-accent) !important;
}

/* 10. HEADER ICONS (cart, search, account) */
.ast-header-woo-cart .ast-cart-menu-wrap .count,
.woocommerce-cart-count {
  background-color: var(--color-accent) !important;
  color: #ffffff !important;
  font-family: var(--font-heading) !important;
}
.ast-header-woo-cart a,
.ast-search-menu-icon a,
.ast-header-account-wrap a { color: var(--color-text) !important; transition: color var(--transition); }
.ast-header-woo-cart a:hover,
.ast-search-menu-icon a:hover,
.ast-header-account-wrap a:hover { color: var(--color-accent) !important; }

/* 11. BUTTONS */
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
  cursor: pointer;
  font-family: var(--font-heading) !important;
  transition: background-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.button,
.wp-block-button__link,
.added_to_cart,
button.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.checkout-button,
.ast-btn,
.ast-button,
.elementor-button {
  background-color: var(--color-accent) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: var(--radius-btn) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em;
  padding: 11px 24px !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background-color var(--transition), box-shadow var(--transition), transform var(--transition) !important;
  box-shadow: 0 2px 8px rgba(232,131,106,0.30);
}

.button:hover,
.wp-block-button__link:hover,
.added_to_cart:hover,
button.single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.checkout-button:hover,
.ast-btn:hover,
.ast-button:hover {
  background-color: var(--color-accent-dark) !important;
  box-shadow: 0 4px 16px rgba(232,131,106,0.40) !important;
  transform: translateY(-1px);
  color: #ffffff !important;
  text-decoration: none !important;
}
.button:active,
button.single_add_to_cart_button:active,
.woocommerce a.button:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(232,131,106,0.30) !important;
}
.button-secondary,
.woocommerce a.button.button-secondary {
  background-color: transparent !important;
  color: var(--color-accent) !important;
  border: 2px solid var(--color-accent) !important;
}
.button-secondary:hover { background-color: var(--color-accent) !important; color: #ffffff !important; }
.button:disabled,
button.single_add_to_cart_button:disabled,
.woocommerce a.button:disabled {
  background-color: #c9b8b3 !important;
  box-shadow: none !important;
  cursor: not-allowed;
  transform: none;
  opacity: 0.7;
}
.added_to_cart { font-size: 0.85rem !important; padding: 8px 16px !important; }

/* 12. FORM INPUTS */
input[type='text'],
input[type='email'],
input[type='password'],
input[type='number'],
input[type='tel'],
input[type='search'],
input[type='url'],
textarea,
select,
.woocommerce-Input,
.input-text {
  background-color: #ffffff !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-input) !important;
  color: var(--color-text) !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem;
  padding: 10px 14px !important;
  width: 100%;
  transition: border-color var(--transition), box-shadow var(--transition);
  outline: none;
}
input:focus, textarea:focus, select:focus, .input-text:focus {
  border-color: var(--color-accent) !important;
  box-shadow: 0 0 0 3px rgba(232,131,106,0.18) !important;
}
input::placeholder, textarea::placeholder { color: var(--color-muted) !important; opacity: 0.75; }
label { font-weight: 500; color: var(--color-text); margin-bottom: 4px; display: block; font-size: 0.9rem; }

/* 13. WOOCOMMERCE - PRODUCT GRID */
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product,
ul.products li.product {
  background-color: var(--color-card-bg) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-card) !important;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column;
  transition: box-shadow var(--transition), transform var(--transition);
  position: relative;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
  box-shadow: var(--shadow-hover) !important;
  transform: translateY(-3px);
}
.woocommerce ul.products li.product img,
ul.products li.product img {
  width: 100% !important;
  height: 220px;
  object-fit: cover;
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  transition: transform 0.35s ease;
}
.woocommerce ul.products li.product:hover img { transform: scale(1.04); }

.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2.woocommerce-loop-product__title,
ul.products li.product h3 {
  font-family: var(--font-heading) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
  line-height: 1.35;
}

/* Price - coral accent */
.woocommerce ul.products li.product .price,
ul.products li.product .price,
.woocommerce .price {
  color: var(--color-accent) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 2px 16px 12px !important;
  margin: 0 !important;
  display: block;
}
.woocommerce ul.products li.product .price del,
ul.products li.product .price del {
  color: var(--color-muted) !important;
  font-size: 0.88rem;
  opacity: 0.75;
  margin-right: 6px;
}
.woocommerce ul.products li.product .price ins,
ul.products li.product .price ins { text-decoration: none !important; color: var(--color-accent) !important; }

.woocommerce ul.products li.product .button,
ul.products li.product a.button {
  margin: 0 16px 16px !important;
  width: calc(100% - 32px) !important;
  text-align: center;
  font-size: 0.88rem !important;
  padding: 9px 16px !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background-color: var(--color-accent) !important;
  color: #ffffff !important;
  font-family: var(--font-heading) !important;
  font-size: 0.78rem;
  font-weight: 700;
  border-radius: 20px;
  min-width: auto;
  padding: 4px 10px;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

/* Star ratings */
.woocommerce .star-rating { color: var(--color-accent) !important; font-size: 0.85em; padding: 0 16px 8px; }
.woocommerce .star-rating span::before { color: var(--color-accent) !important; }

/* 14. WOOCOMMERCE - SINGLE PRODUCT */
.woocommerce div.product .product_title {
  font-family: var(--font-heading) !important;
  color: var(--color-text) !important;
  font-weight: 800;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--color-text);
  font-size: 0.97rem;
  line-height: 1.7;
  margin-bottom: 16px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--color-accent) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700;
  font-size: 1.6rem;
}
.woocommerce .quantity input.qty {
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-input) !important;
  color: var(--color-text) !important;
  font-family: var(--font-heading) !important;
  text-align: center;
  width: 72px !important;
  height: 44px;
  background-color: #ffffff !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--color-border) !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-heading) !important;
  color: var(--color-muted) !important;
  font-weight: 500;
  padding: 12px 20px;
  text-decoration: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--color-accent) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--color-accent) !important; font-weight: 600; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 24px 0 !important; border: none !important; background: transparent !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  border-radius: var(--radius-card);
  border: 1px solid var(--color-border);
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: var(--color-card-bg);
  padding: 16px;
}
.woocommerce .commentlist .star-rating { color: var(--color-accent) !important; }
.related.products > h2, .upsells.products > h2 {
  font-family: var(--font-heading) !important;
  color: var(--color-text) !important;
  font-size: 1.5rem;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-border);
}

/* 15. WOOCOMMERCE - CART PAGE */
table.cart,
.woocommerce table.shop_table {
  border-collapse: collapse;
  width: 100%;
  background-color: var(--color-card-bg);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--color-border) !important;
}
table.cart thead th,
.woocommerce table.shop_table thead th {
  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--color-border) !important;
}
table.cart tbody td,
.woocommerce table.shop_table tbody td {
  padding: 16px !important;
  border-bottom: 1px solid rgba(232,221,214,0.5) !important;
  vertical-align: middle;
  color: var(--color-text);
}
table.cart .product-name a,
.woocommerce table.shop_table .product-name a {
  font-family: var(--font-heading) !important;
  font-weight: 600;
  color: var(--color-text) !important;
  text-decoration: none !important;
}
table.cart .product-name a:hover,
.woocommerce table.shop_table .product-name a:hover { color: var(--color-accent) !important; }
.woocommerce table.shop_table td.product-subtotal {
  color: var(--color-accent) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700;
}
.woocommerce .cart_totals h2 { font-family: var(--font-heading) !important; color: var(--color-text) !important; font-size: 1.3rem; margin-bottom: 16px; }
.woocommerce .cart_totals table { background-color: var(--color-card-bg); border-radius: var(--radius-card); box-shadow: var(--shadow-card); border: 1px solid var(--color-border) !important; }
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td { font-family: var(--font-heading) !important; font-weight: 700; font-size: 1.1rem; color: var(--color-text) !important; }
.woocommerce .cart_totals .order-total td .amount { color: var(--color-accent) !important; }
.woocommerce table.cart a.remove {
  color: var(--color-muted) !important;
  font-size: 1.4rem;
  line-height: 1;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color var(--transition), background-color var(--transition);
}
.woocommerce table.cart a.remove:hover { color: #c0392b !important; background-color: #fde8e8 !important; }

/* 16. WOOCOMMERCE - CHECKOUT */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--font-heading) !important;
  color: var(--color-text) !important;
  font-size: 1.25rem;
  font-weight: 700;
  border-bottom: 2px solid var(--color-border);
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.woocommerce-checkout #order_review {
  background-color: var(--color-card-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 24px;
  box-shadow: var(--shadow-card);
}
.woocommerce-checkout #payment { background-color: var(--color-card-bg) !important; border-radius: var(--radius-card) !important; border: 1px solid var(--color-border) !important; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--color-border) !important; }
.woocommerce-checkout #payment div.payment_box { background-color: rgba(253,246,240,0.7) !important; color: var(--color-text) !important; }

/* 17. WOOCOMMERCE - ACCOUNT PAGES */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: var(--color-card-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 18px;
  color: var(--color-text) !important;
  font-family: var(--font-heading) !important;
  font-weight: 500;
  border-bottom: 1px solid var(--color-border);
  text-decoration: none !important;
  transition: background-color var(--transition), color var(--transition);
}
.woocommerce-MyAccount-navigation ul li:last-child a { border-bottom: none; }
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: rgba(232,131,106,0.08) !important;
  color: var(--color-accent) !important;
}

/* 18. WOOCOMMERCE - NOTICES */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: var(--radius-card) !important;
  font-family: var(--font-body) !important;
  padding: 14px 20px !important;
  margin-bottom: 20px !important;
}
.woocommerce-message { background-color: #f0faf0 !important; border-top-color: #52a85e !important; color: #2d6a35 !important; }
.woocommerce-error { background-color: #fff2f2 !important; border-top-color: #c0392b !important; color: #922b21 !important; }
.woocommerce-info { background-color: rgba(232,131,106,0.10) !important; border-top-color: var(--color-accent) !important; color: var(--color-text) !important; }
.woocommerce-message a.button, .woocommerce-info a.button { font-size: 0.85rem !important; padding: 7px 16px !important; }

/* 19. PAGINATION & ORDERING */
.woocommerce nav.woocommerce-pagination ul { border: none !important; display: flex; gap: 6px; flex-wrap: wrap; }
.woocommerce nav.woocommerce-pagination ul li { border: none !important; }
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a {
  border: 1.5px solid var(--color-border) !important;
  border-radius: 6px !important;
  color: var(--color-text) !important;
  font-family: var(--font-heading) !important;
  font-weight: 500;
  background: var(--color-card-bg) !important;
  transition: all var(--transition);
  min-width: 38px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background-color: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: #ffffff !important;
}
.woocommerce-ordering select {
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-input) !important;
  color: var(--color-text) !important;
  font-size: 0.9rem;
  padding: 8px 12px !important;
  background-color: #ffffff !important;
}
.woocommerce-result-count { color: var(--color-muted); font-size: 0.9rem; }

/* 20. SIDEBAR WIDGETS */
.widget {
  background-color: var(--color-card-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 20px;
  margin-bottom: 24px;
}
.widget-title, .widgettitle {
  font-family: var(--font-heading) !important;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-accent);
}
.woocommerce .widget_price_filter .ui-slider { background-color: var(--color-border) !important; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background-color: var(--color-accent) !important; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--color-accent) !important; border-color: var(--color-accent) !important; }
.woocommerce .widget_price_filter .price_slider_amount .button { font-size: 0.82rem !important; padding: 7px 14px !important; }

/* 21. BREADCRUMBS */
.woocommerce .woocommerce-breadcrumb,
nav.woocommerce-breadcrumb {
  font-size: 0.84rem;
  color: var(--color-muted) !important;
  font-family: var(--font-body) !important;
  margin-bottom: 16px;
}
.woocommerce .woocommerce-breadcrumb a,
nav.woocommerce-breadcrumb a { color: var(--color-muted) !important; text-decoration: none !important; }
.woocommerce .woocommerce-breadcrumb a:hover,
nav.woocommerce-breadcrumb a:hover { color: var(--color-accent) !important; }

/* 22. SITE FOOTER */
#colophon, .site-footer, .ast-footer-area, footer.site-footer {
  background-color: var(--color-footer-bg) !important;
  color: var(--color-footer-text) !important;
}
.site-footer *, #colophon *, .ast-footer-area * { color: var(--color-footer-text) !important; }
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer h5,.site-footer h6,
#colophon h1,#colophon h2,#colophon h3,#colophon h4,#colophon h5,#colophon h6 {
  font-family: var(--font-heading) !important;
  color: var(--color-footer-text) !important;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(253,246,240,0.15);
}
.site-footer a, #colophon a, .ast-footer-area a {
  color: rgba(253,246,240,0.85) !important;
  text-decoration: none !important;
  transition: color var(--transition), opacity var(--transition);
}
.site-footer a:hover, #colophon a:hover, .ast-footer-area a:hover {
  color: var(--color-accent-light) !important;
  text-decoration: underline;
}
.site-footer ul li, #colophon ul li { margin-bottom: 6px; list-style: none; padding-left: 0; }
.site-footer ul { padding: 0; margin: 0; }
.ast-small-footer, .site-footer .ast-small-footer, #colophon .ast-small-footer {
  background-color: rgba(0,0,0,0.25) !important;
  border-top: 1px solid rgba(253,246,240,0.10) !important;
  padding: 14px 20px !important;
  text-align: center;
  font-size: 0.84rem;
}
.ast-footer-widget-area, .footer-widget-area { padding: 56px 20px 40px !important; }

/* 23. CONTENT AREA & GUTENBERG BLOCKS */
.site-content, #content { background-color: var(--color-bg); }
.entry-content { color: var(--color-text); line-height: 1.7; }
.entry-title { font-family: var(--font-heading) !important; color: var(--color-text) !important; }
.wp-block-image img { border-radius: var(--radius-card); }
.wp-block-quote { border-left: 4px solid var(--color-accent); padding-left: 20px; font-style: italic; color: var(--color-muted); }
.wp-block-separator { border-color: var(--color-border); }
.wp-block-cover { border-radius: var(--radius-card); overflow: hidden; }

/* 24. SMOOTH TRANSITIONS FOR INTERACTIVE ELEMENTS */
a, button, input, select, textarea, .button, .product, .widget {
  transition: all var(--transition);
}
img { transition: transform 0.35s ease, opacity 0.22s ease; }

/* 25. UTILITY CLASSES */
.text-accent  { color: var(--color-accent) !important; }
.text-brown   { color: var(--color-text) !important; }
.text-muted   { color: var(--color-muted) !important; }
.bg-cream     { background-color: var(--color-bg) !important; }
.bg-white     { background-color: var(--color-card-bg) !important; }
.bg-dark      { background-color: var(--color-footer-bg) !important; }
.rounded      { border-radius: var(--radius-card) !important; }
.shadow-card  { box-shadow: var(--shadow-card) !important; }

/* 26. MOBILE RESPONSIVE - max-width: 768px */
@media (max-width: 768px) {

  .woocommerce ul.products, ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .woocommerce ul.products li.product img, ul.products li.product img { height: 160px; }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    margin: 0 0 20px !important;
  }

  .woocommerce table.shop_table_responsive tr td::before {
    font-family: var(--font-heading) !important;
    font-weight: 600;
    color: var(--color-muted);
  }

  .main-navigation .menu { flex-direction: column !important; }
  .main-header-bar { padding: 12px 16px !important; }

  .ast-footer-widget-area .ast-grid-row,
  .footer-widget-area .columns { flex-direction: column !important; gap: 28px; }
  .ast-footer-widget-area, .footer-widget-area { padding: 36px 16px 24px !important; }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
  .woocommerce .cart-collaterals .cart_totals { float: none !important; width: 100% !important; }

  h1 { font-size: 1.7rem; }
  h2 { font-size: 1.4rem; }

  .woocommerce-store-notice, p.demo_store { font-size: 0.82rem; padding: 7px 12px; }
  .ast-sidebar-right .ast-primary-sidebar,
  .ast-sidebar-left .ast-primary-sidebar { margin-top: 32px; }
}

/* Extra small - max-width: 480px */
@media (max-width: 480px) {
  .woocommerce ul.products, ul.products { grid-template-columns: 1fr !important; }
  .woocommerce ul.products li.product img, ul.products li.product img { height: 200px; }
  .woocommerce a.button, .woocommerce button.button, button.single_add_to_cart_button {
    width: 100% !important;
    justify-content: center;
  }
}

/* 27. PRINT STYLES */
@media print {
  .site-header, .site-footer, .sidebar,
  .woocommerce-breadcrumb, .woocommerce-ordering,
  nav.woocommerce-pagination { display: none !important; }
  body { background: #ffffff !important; color: #000000 !important; }
  a::after { content: ' (' attr(href) ')'; font-size: 0.75em; color: #555; }
}

/* ============================================================
   END OF PAWLUXE PRO CUSTOM THEME CSS
   ============================================================ */
