/*
 Theme Name:   Proatly Child
 Template:     astra
 Version:      4.0
*/

/* ═══════════════════════════════════════════════════
   DESIGN TOKENS — from Phase 1 Build Spec Section 2
   ═══════════════════════════════════════════════════ */
:root {
  --bg:          #F5F0E8;
  --bg-alt:      #EDEAE2;
  --bg-dark:     #1A1410;
  --dark:        #1A1410;
  --mid:         #6A6058;
  --cta:         #C4622D;
  --cta-h:       #A34E23;
  --border:      #D4CDC4;
  --save:        #2A6A3A;
  --coming:      #9A9A8A;
  --f-choc:      #5B3A7A;
  --f-coffee:    #B05A28;
  --f-pist:      #4A7050;
  --f-mango:     #C89A14;
  --f-van:       #A89070;
}

/* ═══════════════════════════════════════════════════
   GLOBAL RESETS
   ═══════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; }
body {
  background: var(--bg) !important;
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ═══════════════════════════════════════════════════
   ANNOUNCEMENT BAR
   ═══════════════════════════════════════════════════ */
.p-ann {
  height: 44px;
  background: var(--bg-dark);
  color: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  z-index: 200;
}
.ann-msg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  opacity: 0;
  white-space: nowrap;
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.ann-msg.active {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ═══════════════════════════════════════════════════
   HEADER — STICKY, LOGO, NAV
   ═══════════════════════════════════════════════════ */
#masthead, .site-header {
  background: var(--bg) !important;
  border-bottom: 1px solid var(--border) !important;
  transition: box-shadow 0.2s ease !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}
#masthead.p-scrolled, .site-header.p-scrolled {
  box-shadow: 0 2px 20px rgba(0,0,0,.08) !important;
}
.ast-primary-header-bar { min-height: 72px !important; background: var(--bg) !important; }

/* Logo — text only, Bebas Neue */
.ast-site-identity .custom-logo-link,
.ast-site-identity .custom-logo,
.ast-site-identity img { display: none !important; }
.ast-site-name-text,
.site-title a,
.site-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  color: var(--dark) !important;
  text-decoration: none !important;
}

/* Nav links */
.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu > .menu-item > .menu-link {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--mid) !important;
  transition: color 0.15s ease !important;
  text-decoration: none !important;
}
.ast-builder-menu-1 .menu-item > .menu-link:hover,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.main-header-menu > .menu-item > .menu-link:hover { color: var(--dark) !important; }

/* Cart icon */
.ast-header-woo-cart { display: flex !important; align-items: center !important; }
.ast-cart-menu-wrap { display: flex !important; position: relative !important; }
.ast-cart-menu-wrap i.astra-icon:after { background: var(--cta) !important; color: #fff !important; }

/* Hide above-header bar — we have our own */
.ast-above-header-bar, #ast-above-header, .ast-above-header-wrap { display: none !important; }

/* No sidebar anywhere */
#secondary, .widget-area, .ast-sidebar-wrap,
.ast-right-sidebar #secondary, .ast-left-sidebar #secondary { display: none !important; }
#primary, .ast-article-single, .ast-woocommerce-container {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
.site-content .ast-container { display: block !important; }
@media (min-width: 922px) {
  #primary { width: 100% !important; }
}

/* ═══════════════════════════════════════════════════
   BUTTONS — GLOBAL WooCommerce
   ═══════════════════════════════════════════════════ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order {
  background: var(--cta) !important;
  color: #fff !important;
  border-radius: 4px !important;
  border: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 14px 24px !important;
  line-height: 1 !important;
  transition: background 0.2s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover {
  background: var(--cta-h) !important;
  color: #fff !important;
}

/* Single ATC full width */
.woocommerce .single_add_to_cart_button {
  width: 100% !important;
  height: 56px !important;
  font-size: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Remove Sale! badge */
.woocommerce span.onsale { display: none !important; }

/* Remove "Uncategorized" category on product cards */
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .posted_in { display: none !important; }

/* Remove Guaranteed Safe Checkout widget */
.trust-badge-widget, .ast-trust-badge-wrapper,
[class*="trust-badge"], [class*="checkout-badge"] { display: none !important; }

/* ═══════════════════════════════════════════════════
   SHOP PAGE — /shop
   ═══════════════════════════════════════════════════ */
.woocommerce-shop #primary,
.woocommerce-shop .entry-content { width: 100% !important; padding: 0 !important; }
.woocommerce-shop .woocommerce {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 80px;
  display: block !important;
}
@media (max-width: 768px) { .woocommerce-shop .woocommerce { padding: 24px 20px; } }

/* Shop heading */
.woocommerce-shop .page-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  color: var(--dark) !important;
  text-align: center !important;
  margin-bottom: 8px !important;
}

/* Product grid */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 32px 0 0 !important;
  width: 100% !important;
  float: none !important;
}
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px)  { .woocommerce ul.products { grid-template-columns: 1fr !important; } }

/* Product cards */
.woocommerce ul.products li.product {
  display: block !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--dark) !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--dark) !important;
  padding: 2px 16px 10px !important;
  display: block !important;
}
.woocommerce ul.products li.product .price ins { text-decoration: none !important; }
.woocommerce ul.products li.product .price del { font-size: 13px !important; color: var(--mid) !important; font-weight: 400 !important; opacity: 1 !important; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  margin: 4px 16px 16px !important;
  width: calc(100% - 32px) !important;
  text-align: center !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  border-radius: 4px !important;
}

/* ═══════════════════════════════════════════════════
   SINGLE PRODUCT PAGE
   ═══════════════════════════════════════════════════ */
.single-product #primary { width: 100% !important; padding: 0 !important; }
.single-product .woocommerce,
.single-product .woocommerce-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 80px;
}
@media (max-width: 768px) { .single-product .woocommerce, .single-product .woocommerce-container { padding: 24px 20px; } }

/* 2-column product layout */
@media (min-width: 769px) {
  .woocommerce div.product {
    display: grid !important;
    grid-template-columns: 55% 43% !important;
    column-gap: 48px !important;
    align-items: start !important;
  }
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary {
    float: none !important;
    width: 100% !important;
  }
  .woocommerce div.product .woocommerce-product-gallery { grid-column: 1; }
  .woocommerce div.product .summary { grid-column: 2; }
  .woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary { float: none !important; width: 100% !important; }
}

.woocommerce div.product .product_title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--dark) !important;
  line-height: 1.2 !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  color: var(--dark) !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--mid) !important;
  opacity: 1 !important;
  margin-right: 8px !important;
}

/* ═══════════════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════════════ */
.woocommerce-cart #primary { width: 100% !important; padding: 0 !important; }
.woocommerce-cart .woocommerce {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 80px;
}
@media (max-width: 768px) { .woocommerce-cart .woocommerce { padding: 24px 20px; } }

/* Cart table styling */
.woocommerce table.cart { font-family: 'DM Sans', sans-serif; width: 100%; }
.woocommerce table.cart th { font-family: 'Montserrat', sans-serif; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--dark); }
.woocommerce-cart-form__cart-item .wc-forward:not(.checkout-button) { background: transparent !important; color: var(--cta) !important; border: 1px solid var(--cta) !important; font-size: 12px !important; padding: 8px 14px !important; }

/* Proceed to checkout button */
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  height: 56px !important;
  line-height: 56px !important;
  padding: 0 !important;
  font-size: 16px !important;
}

/* ═══════════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════════ */
.woocommerce-checkout #primary { width: 100% !important; padding: 0 !important; }
.woocommerce-checkout .woocommerce {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 80px;
}
@media (max-width: 768px) { .woocommerce-checkout .woocommerce { padding: 24px 20px; } }

/* Checkout fields */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout textarea {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  background: #fff !important;
  padding: 12px !important;
}
.woocommerce form .form-row label { font-family: 'DM Sans', sans-serif; font-size: 14px; color: var(--dark); font-weight: 500; }
.woocommerce form .required { color: var(--cta) !important; }

/* Place order button */
#place_order {
  width: 100% !important;
  height: 56px !important;
  font-size: 16px !important;
  display: block !important;
}

/* ═══════════════════════════════════════════════════
   FOOTER — NON-HOMEPAGE (homepage has custom footer in page-home.php)
   ═══════════════════════════════════════════════════ */
.site-footer, #colophon {
  background: var(--bg-dark) !important;
  color: #C4BEAE !important;
  border-top: none !important;
}
.site-footer .ast-footer-copyright,
#colophon .ast-footer-copyright { color: #6A6058 !important; font-size: 12px !important; font-family: 'DM Sans', sans-serif !important; }
.site-footer a { color: #C4BEAE !important; transition: color 0.15s !important; }
.site-footer a:hover { color: var(--cta) !important; }

/* Hide custom footer on homepage — page-home.php has its own */
.page-template-page-home .site-footer,
.page-template-page-home #colophon { display: none !important; }

/* ═══════════════════════════════════════════════════
   WC MESSAGES
   ═══════════════════════════════════════════════════ */
.woocommerce-message, .woocommerce-info { border-top-color: var(--cta) !important; font-family: 'DM Sans', sans-serif !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--cta) !important; }
.woocommerce-error { border-top-color: #8A1A1A !important; }

/* ═══════════════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════════════ */
.page-id-3212 .entry-content { padding: 0 !important; }
.page-id-3212 .entry-title { display: none; }

/* ═══════════════════════════════════════════════════
   BLOG / ARCHIVE
   ═══════════════════════════════════════════════════ */
.blog .entry-title a,
.archive .entry-title a {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  color: var(--dark) !important;
  text-decoration: none !important;
}
.blog .entry-title a:hover,
.archive .entry-title a:hover { color: var(--cta) !important; }

/* ═══════════════════════════════════════════════════
   RESPONSIVE — MOBILE
   ═══════════════════════════════════════════════════ */
@media (max-width: 921px) {
  body { font-size: 16px; }
  .ast-primary-header-bar { min-height: 64px !important; }
}

/* ── CART ICON — force visible with badge ── */
.ast-header-woo-cart,
.ast-site-header-cart,
li.woocommerce-custom-menu-item { display: flex !important; align-items: center !important; }

.ast-cart-menu-wrap { display: flex !important; position: relative !important; cursor: pointer !important; }

.ast-cart-menu-wrap i.astra-icon { font-size: 22px !important; color: #1A1410 !important; }

/* Cart count badge */
.ast-cart-menu-wrap i.astra-icon:after {
  content: attr(data-cart-total) !important;
  position: absolute !important;
  top: -8px !important;
  right: -10px !important;
  background: #C4622D !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', sans-serif !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 3px !important;
}

/* Move JS-injected cart into correct header position */
#p-cart-icon {
  position: fixed !important;
  top: 56px !important;
  right: 24px !important;
  z-index: 200 !important;
  margin-left: 0 !important;
}
#p-cart-count { right: -8px !important; }

/* Remove Sale! badge */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale { display: none !important; }

/* Remove Guaranteed Safe Checkout */
.woocommerce-product-details__short-description + .woocommerce-variation-add-to-cart ~ *,
.trust-badge-widget,
[class*="trust_badge"],
[class*="checkout_badge"],
.woocommerce div.product form.cart ~ .woo-trust-badge,
#trust-badge-container { display: none !important; }

/* Force nav visible on all pages */
.ast-primary-header-bar .ast-builder-menu-1,
.ast-primary-header-bar .main-navigation,
#ast-desktop-header .ast-builder-menu-1 { display: flex !important; }

/* Sale badge — nuclear removal */
.woocommerce span.onsale { display: none !important; visibility: hidden !important; opacity: 0 !important; }
.onsale { display: none !important; }

/* Cart icon position fix — sit inside header row */
#p-cart-icon {
  position: fixed !important;
  top: 60px !important;
  right: 20px !important;
  z-index: 9999 !important;
  background: var(--bg) !important;
  padding: 4px !important;
}

/* Show nav on all pages */
.main-header-bar-navigation,
.main-navigation,
#ast-desktop-header .main-navigation,
.site-navigation { display: flex !important; }

.main-header-menu {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  gap: 32px !important;
}

.main-header-menu .menu-item > .menu-link {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #6A6058 !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}

.main-header-menu .menu-item > .menu-link:hover { color: #1A1410 !important; }

/* Hide on mobile — hamburger handles it */
@media (max-width: 921px) {
  .main-header-bar-navigation { display: none !important; }
}

/* Force nav visible — override Astra's display:none */
#ast-desktop-header { display: block !important; }
#ast-desktop-header .main-header-bar-navigation { display: flex !important; align-items: center !important; }
.ast-primary-header-bar .site-navigation { display: flex !important; }
.ast-primary-header-bar .main-navigation { display: flex !important; }

/* Remove breadcrumb on shop + product pages */
.woocommerce-breadcrumb { display: none !important; }

/* Remove Sale! badge — override everything */
span.onsale { display: none !important; }

/* Remove gap above products */
.woocommerce-shop .woocommerce-notices-wrapper,
.woocommerce-shop .ast-breadcrumbs-wrapper,
.woocommerce .ast-breadcrumbs-wrapper { display: none !important; }
.woocommerce-shop .woocommerce { padding-top: 40px !important; }

/* Remove white box around products */
.site-content { background: var(--bg) !important; }
.ast-article-single, .ast-woocommerce-container { background: transparent !important; box-shadow: none !important; border: none !important; padding: 0 !important; }

/* Nav — Astra uses JS to show #ast-desktop-header, force it always visible */
#ast-desktop-header,
#ast-desktop-header .ast-primary-header-bar,
#ast-desktop-header .main-header-bar { display: block !important; }

#ast-desktop-header .main-header-bar-navigation,
#ast-desktop-header nav.main-navigation { display: flex !important; align-items: center !important; }

#ast-desktop-header .main-header-menu {
  display: flex !important;
  gap: 32px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide mobile header on desktop */
@media (min-width: 922px) {
  #ast-mobile-header { display: none !important; }
}
@media (max-width: 921px) {
  #ast-desktop-header .main-header-bar-navigation { display: none !important; }
}

/* ── CUSTOM HEADER ── */
.p-header {
  height: 72px;
  background: #F5F0E8;
  border-bottom: 1px solid #D4CDC4;
  position: sticky;
  top: 0;
  z-index: 100;
  transition: box-shadow 0.2s ease;
}
.p-header.p-scrolled { box-shadow: 0 2px 20px rgba(0,0,0,.08); }
.p-header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px;
  height: 72px;
  display: flex;
  align-items: center;
  gap: 40px;
}
.p-logo {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 2px;
  color: #1A1410;
  text-decoration: none;
  flex-shrink: 0;
}
.p-nav {
  display: flex;
  align-items: center;
  gap: 32px;
  flex: 1;
  justify-content: center;
}
.p-nav a {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #6A6058;
  text-decoration: none;
  transition: color 0.15s;
}
.p-nav a:hover, .p-nav a.current { color: #1A1410; }
.p-cart-link {
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
  margin-left: auto;
}
.p-cart-count {
  position: absolute;
  top: -8px;
  right: -10px;
  background: #C4622D;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Sans', sans-serif;
}

/* Hide Astra's own header on non-home pages */
body:not(.home) #ast-desktop-header,
body:not(.home) #ast-mobile-header { display: none !important; }

@media(max-width: 768px) {
  .p-header-inner { padding: 0 20px; }
  .p-nav { display: none; }
}
