/*
 Theme Name:   Artistic Apricity by Cam
 Theme URI:    https://artisticapricity.com
 Description:  Custom child theme for Artistic Apricity art store. Built on Astra.
 Author:       Cam
 Template:     astra
 Version:      1.0.0
 Text Domain:  artistic-apricity
*/

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

/* ---- COLOR VARIABLES ---- */
:root {
  --ap-pink: #E8A0BF;
  --ap-pink-light: #F5D5E0;
  --ap-pink-dark: #D4789C;
  --ap-yellow: #F2D388;
  --ap-yellow-light: #FFF4D6;
  --ap-yellow-dark: #E6B84F;
  --ap-blue: #A8D8EA;
  --ap-blue-light: #D6EEF5;
  --ap-blue-dark: #7BC0D4;
  --ap-cream: #FFF9F0;
  --ap-warm-white: #FFFDFB;
  --ap-text: #3D2C2C;
  --ap-text-light: #7A6565;
  --ap-text-muted: #B8A0A0;
}

/* ---- GLOBAL STYLES ---- */
body,
body.flavor-flavor {
  font-family: 'DM Sans', 'Helvetica Neue', sans-serif !important;
  background-color: var(--ap-cream) !important;
  color: var(--ap-text) !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title,
.woocommerce div.product .product_title,
.woocommerce .products .product .woocommerce-loop-product__title,
.page-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--ap-text) !important;
}

a { color: var(--ap-pink-dark); }
a:hover { color: var(--ap-text); }

/* Smooth scroll & scrollbar */
html { scroll-behavior: smooth; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--ap-pink-light); border-radius: 3px; }

/* ---- ANIMATIONS ---- */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes slideIn {
  from { opacity: 0; transform: translateX(-12px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ============================================
   HEADER
   ============================================ */
.site-header,
.ast-primary-header,
#masthead {
  background-color: var(--ap-warm-white) !important;
  border-bottom: 1px solid var(--ap-pink-light) !important;
  box-shadow: none !important;
}

/* Site title */
.site-title,
.site-title a,
.ast-site-identity .site-title a {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  color: var(--ap-text) !important;
  text-decoration: none !important;
  letter-spacing: -0.5px !important;
}

/* Tagline */
.site-description {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  color: var(--ap-pink-dark) !important;
  font-size: 15px !important;
}

/* Nav links */
.main-navigation a,
.ast-header-sections-navigation a,
.primary-menu > li > a,
.ast-nav-menu a,
.ast-header-break-point .ast-header-sections-navigation a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ap-text) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: color 0.2s ease !important;
}
.main-navigation a:hover,
.ast-nav-menu a:hover,
.primary-menu > li > a:hover {
  color: var(--ap-pink-dark) !important;
}
.current-menu-item > a,
.current-menu-ancestor > a {
  color: var(--ap-pink-dark) !important;
}

/* ============================================
   WOOCOMMERCE CART IN HEADER
   ============================================ */
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart a,
.ast-site-header-cart .count,
.ast-woo-header-cart-info-wrap {
  font-family: 'DM Sans', sans-serif !important;
}
.ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-site-header-cart-wrap {
  background: var(--ap-pink-light) !important;
  border: 1.5px solid var(--ap-pink) !important;
  border-radius: 24px !important;
  color: var(--ap-text) !important;
  padding: 6px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon {
  color: var(--ap-text) !important;
}

/* ============================================
   SIDEBAR
   ============================================ */
.widget-area,
#secondary,
aside.sidebar,
.ast-separate-container #secondary {
  background-color: var(--ap-warm-white) !important;
  border-right: 1px solid var(--ap-pink-light) !important;
  padding-top: 28px !important;
}

/* Widget titles */
.widget-title,
.widget-area h2,
.sidebar .widget h2,
.widget .wp-block-heading {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.8px !important;
  color: var(--ap-text-muted) !important;
  margin-bottom: 14px !important;
}

/* Product category list in sidebar */
.woocommerce .widget_product_categories ul,
.widget_product_categories ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.woocommerce .widget_product_categories ul li,
.widget_product_categories ul li {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce .widget_product_categories ul li a,
.widget_product_categories ul li a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--ap-text) !important;
  padding: 9px 12px !important;
  display: block !important;
  border-radius: 10px !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.woocommerce .widget_product_categories ul li a:hover,
.widget_product_categories ul li a:hover {
  background-color: var(--ap-pink-light) !important;
  color: var(--ap-pink-dark) !important;
}

.widget_product_categories ul li.current-cat > a,
.widget_product_categories ul li.current-cat > a:hover {
  background-color: var(--ap-pink-light) !important;
  color: var(--ap-pink-dark) !important;
  font-weight: 600 !important;
}

/* Remove category count parentheses styling */
.widget_product_categories ul li .count {
  float: right;
  font-size: 11px;
  color: var(--ap-text-muted);
  font-weight: 400;
}

/* Remove default list bullets everywhere in sidebar */
.widget ul,
#secondary ul {
  list-style: none !important;
  padding-left: 0 !important;
}

/* ============================================
   CUSTOM SIDEBAR WIDGETS (tagline + socials)
   ============================================ */
.ap-tagline-widget {
  background: linear-gradient(135deg, var(--ap-yellow-light), var(--ap-pink-light));
  border-radius: 12px;
  padding: 16px;
  margin-top: 24px;
}
.ap-tagline-widget p {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--ap-text);
  opacity: 0.8;
  margin: 0;
}

.ap-social-links {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}
.ap-social-dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ap-blue-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: var(--ap-blue-dark);
  text-decoration: none;
  transition: all 0.2s ease;
}
.ap-social-dot:hover {
  background: var(--ap-blue);
  color: #fff;
  transform: translateY(-2px);
}

/* ============================================
   SHOP PAGE TITLE
   ============================================ */
.woocommerce-products-header .page-title,
.ast-woocommerce-container .page-title,
.woocommerce-page .page-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  color: var(--ap-text) !important;
}

.woocommerce-result-count {
  font-size: 13px !important;
  color: var(--ap-text-muted) !important;
}

.woocommerce-ordering select {
  border: 1.5px solid var(--ap-pink-light) !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
}

/* ============================================
   PRODUCT CARDS
   ============================================ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #fff !important;
  border-radius: 14px !important;
  border: 1px solid var(--ap-pink-light) !important;
  overflow: hidden !important;
  padding: 8px !important;
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.3s ease !important;
  animation: fadeUp 0.5s ease both;
  text-align: left !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(61, 44, 44, 0.1) !important;
}

/* Stagger animation */
.woocommerce ul.products li.product:nth-child(1) { animation-delay: 0s; }
.woocommerce ul.products li.product:nth-child(2) { animation-delay: 0.07s; }
.woocommerce ul.products li.product:nth-child(3) { animation-delay: 0.14s; }
.woocommerce ul.products li.product:nth-child(4) { animation-delay: 0.21s; }
.woocommerce ul.products li.product:nth-child(5) { animation-delay: 0.28s; }
.woocommerce ul.products li.product:nth-child(6) { animation-delay: 0.35s; }

/* Product images */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
  border-radius: 8px !important;
  margin-bottom: 8px !important;
}

/* Product titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 6px 6px 2px !important;
  color: var(--ap-text) !important;
  line-height: 1.35 !important;
}

/* Product prices */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--ap-pink-dark) !important;
  padding: 0 6px !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background-color: var(--ap-yellow) !important;
  color: var(--ap-text) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  border-radius: 20px !important;
  padding: 5px 12px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.5 !important;
  top: 16px !important;
  left: 16px !important;
  right: auto !important;
}

/* Star ratings */
.woocommerce .star-rating {
  color: var(--ap-yellow-dark) !important;
  font-size: 12px !important;
}

/* ============================================
   ADD TO CART BUTTONS
   ============================================ */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.ajax_add_to_cart {
  background-color: var(--ap-yellow-light) !important;
  color: var(--ap-text) !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 7px 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: all 0.2s ease !important;
  margin-top: 6px !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover {
  background-color: var(--ap-pink) !important;
  color: #fff !important;
  transform: scale(1.05) !important;
}

/* "View Cart" link after adding */
.woocommerce ul.products li.product .added_to_cart {
  font-size: 11px !important;
  color: var(--ap-pink-dark) !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Single product page button */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce .cart .button,
.woocommerce .checkout-button,
.woocommerce #place_order {
  background-color: var(--ap-pink) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 24px !important;
  padding: 13px 30px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: all 0.2s ease !important;
}

.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover {
  background-color: var(--ap-pink-dark) !important;
}

/* Quantity input */
.woocommerce .quantity .qty {
  border: 1.5px solid var(--ap-pink-light) !important;
  border-radius: 8px !important;
  padding: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  width: 60px !important;
}

/* ============================================
   SINGLE PRODUCT PAGE
   ============================================ */
.woocommerce div.product .product_title {
  font-size: 28px !important;
  font-weight: 400 !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 14px !important;
  color: var(--ap-text-light) !important;
  line-height: 1.7 !important;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom-color: var(--ap-pink-light) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-color: var(--ap-pink-light) !important;
  border-radius: 8px 8px 0 0 !important;
  background: var(--ap-warm-white) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #fff !important;
  border-bottom-color: #fff !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ap-text) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--ap-pink-dark) !important;
}

/* Related products heading */
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
  font-size: 22px !important;
  font-weight: 400 !important;
}

/* Product gallery */
.woocommerce div.product div.images img {
  border-radius: 12px !important;
}

/* ============================================
   BREADCRUMBS
   ============================================ */
.woocommerce .woocommerce-breadcrumb,
.ast-woocommerce-container .woocommerce-breadcrumb {
  font-size: 12px !important;
  color: var(--ap-text-muted) !important;
  font-family: 'DM Sans', sans-serif !important;
  margin-bottom: 16px !important;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--ap-pink-dark) !important;
  text-decoration: none !important;
}
.woocommerce .woocommerce-breadcrumb a:hover {
  text-decoration: underline !important;
}

/* ============================================
   CART PAGE
   ============================================ */
.woocommerce-cart table.cart {
  border-color: var(--ap-pink-light) !important;
}
.woocommerce-cart table.cart td {
  border-top-color: var(--ap-pink-light) !important;
}
.woocommerce-cart table.cart img {
  border-radius: 8px !important;
}
.woocommerce a.remove {
  color: var(--ap-text-muted) !important;
}
.woocommerce a.remove:hover {
  color: #ff6b6b !important;
  background: transparent !important;
}

/* Cart totals */
.woocommerce .cart_totals h2 {
  font-size: 20px !important;
  font-weight: 400 !important;
}
.woocommerce-cart .cart_totals table {
  border-color: var(--ap-pink-light) !important;
}

/* Coupon */
.woocommerce .coupon .input-text {
  border: 1.5px solid var(--ap-pink-light) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
}
.woocommerce .coupon .button {
  border-radius: 20px !important;
}

/* ============================================
   CHECKOUT PAGE
   ============================================ */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1.5px solid var(--ap-pink-light) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: var(--ap-text) !important;
  background: #fff !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--ap-pink) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(232, 160, 191, 0.15) !important;
}

.woocommerce form .form-row label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ap-text) !important;
}

/* Checkout sections */
.woocommerce-checkout #payment {
  background: var(--ap-warm-white) !important;
  border-radius: 12px !important;
  border-color: var(--ap-pink-light) !important;
}

/* ============================================
   NOTICES & MESSAGES
   ============================================ */
.woocommerce-message {
  border-top-color: var(--ap-pink) !important;
  background: var(--ap-warm-white) !important;
}
.woocommerce-message::before {
  color: var(--ap-pink-dark) !important;
}
.woocommerce-info {
  border-top-color: var(--ap-blue) !important;
  background: var(--ap-blue-light) !important;
}
.woocommerce-error {
  border-top-color: #ff6b6b !important;
}

/* ============================================
   PAGINATION
   ============================================ */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: 8px !important;
  border-color: var(--ap-pink-light) !important;
  color: var(--ap-text) !important;
  font-family: 'DM Sans', sans-serif !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--ap-pink) !important;
  border-color: var(--ap-pink) !important;
  color: #fff !important;
}

/* ============================================
   FORMS (search, etc.)
   ============================================ */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="password"],
textarea,
select {
  border: 1.5px solid var(--ap-pink-light) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: var(--ap-text) !important;
  background: #fff !important;
  transition: border-color 0.2s ease !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--ap-pink) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(232, 160, 191, 0.15) !important;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer,
footer.entry-footer,
.ast-footer-overlay,
.ast-small-footer,
.site-below-footer-wrap,
.ast-footer-copyright {
  background-color: var(--ap-warm-white) !important;
  border-top: 1px solid var(--ap-pink-light) !important;
  color: var(--ap-text-muted) !important;
  font-size: 13px !important;
  font-family: 'DM Sans', sans-serif !important;
}
.site-footer a, .ast-small-footer a {
  color: var(--ap-pink-dark) !important;
}

/* ============================================
   ASTRA CONTAINER OVERRIDES
   ============================================ */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-comment-list li,
.ast-separate-container .ast-woocommerce-container {
  background-color: transparent !important;
  padding: 0 !important;
}

/* Remove Astra's default content box shadow */
.ast-separate-container .site-content > .ast-container {
  background: transparent !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 921px) {
  .site-title, .site-title a {
    font-size: 20px !important;
  }
  .woocommerce ul.products li.product {
    margin-bottom: 14px !important;
  }
  .woocommerce div.product .product_title {
    font-size: 22px !important;
  }
}

@media (max-width: 544px) {
  .woocommerce ul.products[class*="columns-"] li.product {
    width: 48% !important;
    margin-right: 4% !important;
  }
  .woocommerce ul.products[class*="columns-"] li.product:nth-child(2n) {
    margin-right: 0 !important;
  }
}
