/*
 Theme Name:   Pure Caritas Hub Child
 Theme URI:    https://purecaritashub.com
 Description:  Premium redesigned child theme for Pure Caritas Hub — built on Hello Elementor
 Author:       Pure Caritas Hub
 Author URI:   https://purecaritashub.com
 Template:     hello-elementor
 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:  purecaritas-child
*/

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

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --clr-green:        #0D3B22;
  --clr-green-mid:    #1A5C36;
  --clr-green-light:  #2A7A4B;
  --clr-green-pale:   #EAF3EE;
  --clr-green-tint:   #F0F7F3;
  --clr-gold:         #C9922A;
  --clr-gold-light:   #F7EDD8;
  --clr-gold-hover:   #A97520;
  --clr-gold-bright:  #E8A830;
  --clr-cream:        #FAF8F3;
  --clr-white:        #ffffff;
  --clr-text:         #1E2A1F;
  --clr-text-mid:     #4A5550;
  --clr-text-light:   #7A8880;
  --clr-border:       #DDE8E2;
  --clr-border-light: #EDF2EF;
  --font-heading: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --font-body:    'DM Sans', 'Inter', system-ui, sans-serif;
  --shadow-xs:  0 1px 4px rgba(13,59,34,0.06);
  --shadow-sm:  0 2px 12px rgba(13,59,34,0.09);
  --shadow-md:  0 8px 32px rgba(13,59,34,0.14);
  --shadow-lg:  0 20px 60px rgba(13,59,34,0.20);
  --shadow-xl:  0 32px 80px rgba(13,59,34,0.26);
  --shadow-gold: 0 6px 28px rgba(201,146,42,0.30);
  --transition:      0.28s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  --grad-green:      linear-gradient(135deg, #0D3B22 0%, #1A5C36 60%, #2A7A4B 100%);
  --grad-green-dark: linear-gradient(160deg, #091F13 0%, #0D3B22 100%);
  --grad-gold:       linear-gradient(135deg, #C9922A 0%, #E8A830 100%);
  --radius-sm:   8px;
  --radius-md:   14px;
  --radius-lg:   22px;
  --radius-full: 9999px;
}

/* ============================================================
   BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  color: var(--clr-text);
  background-color: var(--clr-cream);
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

::selection {
  background: var(--clr-green);
  color: var(--clr-white);
}

/* ============================================================
   TYPOGRAPHY — override Elementor widget text, headings
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--clr-green);
  line-height: 1.2;
}

.elementor-heading-title {
  font-family: var(--font-heading) !important;
  color: var(--clr-green);
  line-height: 1.2;
}

.elementor-heading-title.elementor-size-xxl { font-size: clamp(2.4rem, 5.5vw, 4.2rem) !important; font-weight: 700 !important; }
.elementor-heading-title.elementor-size-xl  { font-size: clamp(1.9rem, 4vw, 3.2rem) !important;   font-weight: 600 !important; }
.elementor-heading-title.elementor-size-large { font-size: clamp(1.4rem, 2.8vw, 2.2rem) !important; font-weight: 600 !important; }
.elementor-heading-title.elementor-size-medium { font-size: clamp(1.15rem, 2vw, 1.65rem) !important; }

.elementor-widget-text-editor p,
.elementor-widget-text-editor {
  font-family: var(--font-body) !important;
  color: var(--clr-text-mid);
  line-height: 1.8;
}

a {
  color: var(--clr-green-mid);
  text-decoration: none;
  transition: color var(--transition);
}
a:hover { color: var(--clr-gold); }

/* ============================================================
   HEADER — sticky glass
   ============================================================ */
.elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: rgba(250, 248, 243, 0.97) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  box-shadow: 0 1px 0 var(--clr-border-light), var(--shadow-xs) !important;
  transition: box-shadow var(--transition);
}

/* Logo height */
.elementor-location-header .elementor-widget-image img {
  height: 52px !important;
  width: auto !important;
  object-fit: contain;
}

/* ============================================================
   NAV LINKS
   ============================================================ */
.elementor-nav-menu__item a.elementor-item {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 0.88rem !important;
  color: var(--clr-text) !important;
  padding: 0.5rem 0.9rem !important;
  border-radius: var(--radius-sm) !important;
  transition: color var(--transition), background var(--transition) !important;
  position: relative;
}

.elementor-nav-menu__item a.elementor-item::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 55%;
  height: 2px;
  background: var(--clr-gold);
  border-radius: var(--radius-full);
  transition: transform var(--transition);
}

.elementor-nav-menu__item a.elementor-item:hover,
.elementor-nav-menu__item a.elementor-item-active {
  color: var(--clr-green) !important;
  background: var(--clr-green-pale) !important;
}

.elementor-nav-menu__item a.elementor-item:hover::after,
.elementor-nav-menu__item a.elementor-item-active::after {
  transform: translateX(-50%) scaleX(1);
}

/* Selar CTA pill in nav */
.elementor-nav-menu a[href*="selar"],
.elementor-nav-menu a[href*="Selar"] {
  background: var(--clr-gold) !important;
  color: var(--clr-white) !important;
  border-radius: var(--radius-full) !important;
  padding: 0.48rem 1.25rem !important;
  font-weight: 600 !important;
  box-shadow: var(--shadow-gold) !important;
}
.elementor-nav-menu a[href*="selar"]:hover,
.elementor-nav-menu a[href*="Selar"]:hover {
  background: var(--clr-gold-hover) !important;
  transform: translateY(-1px) !important;
}
.elementor-nav-menu a[href*="selar"]::after,
.elementor-nav-menu a[href*="Selar"]::after { display: none !important; }

/* Mobile hamburger colour */
.elementor-menu-toggle { color: var(--clr-green) !important; }

/* ============================================================
   BUTTONS
   ============================================================ */
.elementor-button {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius-full) !important;
  padding: 0.82rem 2rem !important;
  transition: all var(--transition) !important;
  border: none !important;
  cursor: pointer !important;
}

/* Gold primary */
.elementor-button.elementor-button-warning,
.elementor-button[style*="background-color: #D9A726"],
.elementor-button[style*="background-color:#D9A726"],
.elementor-button[style*="background-color: #d9a726"],
.elementor-button[style*="background-color: #C9922A"],
.elementor-button[style*="background-color: #c9922a"],
.elementor-button[style*="background-color: rgb(217, 167, 38)"],
.elementor-button[style*="background-color: rgb(201, 146, 42)"] {
  background: var(--grad-gold) !important;
  color: var(--clr-white) !important;
  box-shadow: var(--shadow-gold) !important;
}
.elementor-button.elementor-button-warning:hover,
.elementor-button[style*="background-color: #D9A726"]:hover,
.elementor-button[style*="background-color: #C9922A"]:hover,
.elementor-button[style*="background-color: rgb(217, 167, 38)"]:hover {
  background: linear-gradient(135deg, #A97520 0%, #C9922A 100%) !important;
  box-shadow: 0 10px 40px rgba(201,146,42,0.45) !important;
  transform: translateY(-3px) !important;
}

/* Dark/green secondary */
.elementor-button[style*="background-color: #111111"],
.elementor-button[style*="background-color: #000000"],
.elementor-button[style*="background-color: rgb(17, 17, 17)"],
.elementor-button[style*="background-color: rgb(0, 0, 0)"] {
  background: var(--grad-green) !important;
  color: var(--clr-white) !important;
  box-shadow: var(--shadow-md) !important;
}
.elementor-button[style*="background-color: #111111"]:hover,
.elementor-button[style*="background-color: #000000"]:hover {
  background: linear-gradient(135deg, #1A5C36 0%, #2A7A4B 100%) !important;
  transform: translateY(-3px) !important;
  box-shadow: var(--shadow-lg) !important;
}

/* WooCommerce buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius-full) !important;
  padding: 0.75rem 1.75rem !important;
  transition: all var(--transition) !important;
  border: none !important;
  background: var(--clr-green) !important;
  color: var(--clr-white) !important;
  cursor: pointer !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--clr-gold) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-gold) !important;
}
.woocommerce .single_add_to_cart_button {
  background: var(--grad-gold) !important;
  color: var(--clr-white) !important;
  box-shadow: var(--shadow-gold) !important;
  border-radius: var(--radius-full) !important;
}
.woocommerce .single_add_to_cart_button:hover {
  background: linear-gradient(135deg, #A97520 0%, #C9922A 100%) !important;
  transform: translateY(-3px) !important;
}
.woocommerce button.button.alt,
.woocommerce-cart .checkout-button,
.woocommerce button.checkout-button {
  background: var(--grad-green) !important;
  color: var(--clr-white) !important;
  box-shadow: var(--shadow-md) !important;
  border-radius: var(--radius-full) !important;
}

/* ============================================================
   WooCommerce PRODUCT CARDS
   — ONLY style visuals, never touch layout
   ============================================================ */
.woocommerce ul.products li.product {
  background: var(--clr-white) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
  border: 1px solid var(--clr-border-light) !important;
  transition: transform var(--transition-slow), box-shadow var(--transition-slow) !important;
  position: relative;
}

.woocommerce ul.products li.product::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--grad-gold);
  opacity: 0;
  transition: opacity var(--transition);
  z-index: 2;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-7px) !important;
  box-shadow: var(--shadow-xl) !important;
}
.woocommerce ul.products li.product:hover::before { opacity: 1; }

/* Book cover image */
.woocommerce ul.products li.product img {
  background: linear-gradient(160deg, #F0F7F3 0%, #EAF3EE 100%) !important;
  padding: 1.25rem !important;
  height: 360px !important;
  width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1) !important;
}
.woocommerce ul.products li.product:hover img {
  transform: scale(1.05) !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-heading) !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--clr-green) !important;
  line-height: 1.3 !important;
  padding: 0.75rem 1rem 0.25rem !important;
}

/* Product price */
.woocommerce ul.products li.product .price {
  color: var(--clr-gold) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  font-family: var(--font-body) !important;
  padding: 0 1rem 0.75rem !important;
}

/* Product add-to-cart button */
.woocommerce ul.products li.product .button {
  margin: 0 1rem 1rem !important;
  width: calc(100% - 2rem) !important;
  text-align: center !important;
  background: var(--clr-green) !important;
  color: var(--clr-white) !important;
  border-radius: var(--radius-full) !important;
}
.woocommerce ul.products li.product .button:hover {
  background: var(--clr-gold) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-gold) !important;
}

/* Short description */
.woocommerce ul.products li.product .woocommerce-product-details__short-description {
  font-size: 0.85rem !important;
  color: var(--clr-text-light) !important;
  padding: 0 1rem !important;
  line-height: 1.6 !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--clr-gold) !important;
  border-radius: var(--radius-full) !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 0.3rem 0.85rem !important;
  line-height: 1.4 !important;
  box-shadow: var(--shadow-gold) !important;
}

/* ============================================================
   WOOCOMMERCE SHOP HEADER
   ============================================================ */
.woocommerce-products-header {
  background: var(--grad-green-dark) !important;
  padding: 4rem 1.5rem !important;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.woocommerce-products-header h1,
.woocommerce-products-header .page-title {
  color: var(--clr-white) !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-weight: 700 !important;
  position: relative;
}

.woocommerce-result-count {
  font-family: var(--font-body);
  color: var(--clr-text-light) !important;
  font-size: 0.875rem;
}
.woocommerce-ordering select {
  font-family: var(--font-body) !important;
  border: 1.5px solid var(--clr-border) !important;
  border-radius: var(--radius-full) !important;
  padding: 0.5rem 1rem !important;
  color: var(--clr-text) !important;
  background-color: var(--clr-white) !important;
  font-size: 0.875rem;
}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.woocommerce div.product div.images {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.woocommerce div.product .product_title {
  font-family: var(--font-heading) !important;
  color: var(--clr-green) !important;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}
.woocommerce div.product p.price {
  color: var(--clr-gold) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--clr-green) !important;
}

/* ============================================================
   CART & CHECKOUT
   ============================================================ */
.woocommerce-cart table.cart th,
.woocommerce-checkout table th {
  background: var(--clr-green) !important;
  color: var(--clr-white) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.04em !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid var(--clr-border) !important;
  border-radius: var(--radius-md) !important;
  padding: 0.85rem 1.1rem !important;
  font-family: var(--font-body) !important;
  transition: border-color var(--transition), box-shadow var(--transition) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--clr-green-mid) !important;
  box-shadow: 0 0 0 3px rgba(13,59,34,0.10) !important;
  outline: none !important;
}

/* ============================================================
   ELEMENTOR ICON LIST (Pillars / Features)
   ============================================================ */
.elementor-icon-list-item {
  transition: all var(--transition) !important;
}
.elementor-icon-list-item:hover {
  transform: translateY(-2px);
}
.elementor-icon-list-icon i { color: var(--clr-gold) !important; }
.elementor-icon-list-text {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
}

/* ============================================================
   ELEMENTOR ICON BOX (Feature cards)
   ============================================================ */
.elementor-widget-icon-box .elementor-icon-box-icon i {
  color: var(--clr-green-mid) !important;
  transition: color var(--transition), transform var(--transition) !important;
}
.elementor-widget-icon-box:hover .elementor-icon-box-icon i {
  color: var(--clr-gold) !important;
  transform: scale(1.1);
}
.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: var(--font-heading) !important;
  color: var(--clr-green) !important;
}
.elementor-widget-icon-box .elementor-icon-box-description {
  font-family: var(--font-body) !important;
  color: var(--clr-text-mid) !important;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.elementor-testimonial-content {
  font-family: var(--font-body) !important;
  color: var(--clr-text-mid) !important;
  line-height: 1.8 !important;
  font-style: italic !important;
}
.elementor-testimonial-name {
  font-family: var(--font-heading) !important;
  color: var(--clr-green) !important;
  font-weight: 600 !important;
}
.elementor-testimonial-job {
  color: var(--clr-gold) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.elementor-star-rating i { color: var(--clr-gold) !important; }

/* ============================================================
   FOOTER
   ============================================================ */
.elementor-location-footer {
  background: var(--grad-green-dark) !important;
  position: relative;
}
.elementor-location-footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--grad-gold);
  z-index: 1;
}
.elementor-location-footer .elementor-heading-title {
  color: var(--clr-white) !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
.elementor-location-footer p { color: rgba(255,255,255,0.62) !important; }
.elementor-location-footer a { color: rgba(255,255,255,0.72) !important; transition: color var(--transition) !important; }
.elementor-location-footer a:hover { color: var(--clr-gold-bright) !important; }
.elementor-location-footer .elementor-widget-image img {
  filter: brightness(0) invert(1);
  opacity: 0.88;
}

/* Footer buttons */
.elementor-location-footer .elementor-button {
  background: rgba(255,255,255,0.10) !important;
  color: var(--clr-white) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  font-size: 0.8rem !important;
  border-radius: var(--radius-full) !important;
}
.elementor-location-footer .elementor-button:hover {
  background: var(--clr-gold) !important;
  border-color: var(--clr-gold) !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   DARK SECTION TEXT CONTRAST
   ============================================================ */
.e-con[style*="background-color: #0D3B22"] .elementor-heading-title,
.e-con[style*="background-color: #0d3b22"] .elementor-heading-title,
.e-con[style*="background-color: #0B3C4D"] .elementor-heading-title,
.e-con[style*="background-color: #0b3c4d"] .elementor-heading-title,
.e-con[style*="background-color: #085764"] .elementor-heading-title,
.e-con[style*="background-color: rgb(13, 59, 34)"] .elementor-heading-title,
.e-con[style*="background-color: rgb(11, 60, 77)"] .elementor-heading-title,
.e-con[style*="background-color: rgb(8, 87, 100)"] .elementor-heading-title,
.elementor-section[style*="background-color: #0D3B22"] .elementor-heading-title,
.elementor-section[style*="background-color: #0d3b22"] .elementor-heading-title,
.elementor-section[style*="background-color: #0B3C4D"] .elementor-heading-title,
.elementor-section[style*="background-color: #085764"] .elementor-heading-title,
.elementor-section[style*="background-color: rgb(11, 60, 77)"] .elementor-heading-title,
.elementor-section[style*="background-color: rgb(13, 59, 34)"] .elementor-heading-title {
  color: var(--clr-white) !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.2) !important;
}

.e-con[style*="background-color: #0D3B22"] p,
.e-con[style*="background-color: #0d3b22"] p,
.e-con[style*="background-color: #0B3C4D"] p,
.e-con[style*="background-color: #0b3c4d"] p,
.e-con[style*="background-color: #085764"] p,
.e-con[style*="background-color: rgb(13, 59, 34)"] p,
.e-con[style*="background-color: rgb(11, 60, 77)"] p,
.elementor-section[style*="background-color: #0D3B22"] p,
.elementor-section[style*="background-color: #0d3b22"] p,
.elementor-section[style*="background-color: #0B3C4D"] p,
.elementor-section[style*="background-color: #085764"] p,
.elementor-section[style*="background-color: rgb(11, 60, 77)"] p,
.elementor-section[style*="background-color: rgb(13, 59, 34)"] p {
  color: rgba(255,255,255,0.85) !important;
}

/* ============================================================
   FLOATING CART
   ============================================================ */
.woo-cart-all-in-one,
#woo-float-cart,
[class*="float-cart"],
[class*="floating-cart"] {
  bottom: 28px !important;
  right: 28px !important;
  left: auto !important;
  background: var(--clr-green) !important;
  border-radius: var(--radius-full) !important;
  box-shadow: var(--shadow-md) !important;
  transition: transform var(--transition), background var(--transition) !important;
  z-index: 999 !important;
}
.woo-cart-all-in-one:hover,
#woo-float-cart:hover {
  transform: scale(1.1) !important;
  background: var(--clr-gold) !important;
  box-shadow: var(--shadow-gold) !important;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.woocommerce-breadcrumb {
  font-family: var(--font-body) !important;
  font-size: 0.8rem !important;
  color: var(--clr-text-light) !important;
}
.woocommerce-breadcrumb a { color: var(--clr-green-mid) !important; }
.woocommerce-breadcrumb a:hover { color: var(--clr-gold) !important; }

/* ============================================================
   WooCommerce NOTICES
   ============================================================ */
.woocommerce-message,
.woocommerce-info {
  border-radius: var(--radius-md) !important;
  font-family: var(--font-body) !important;
  border-left: 4px solid var(--clr-gold) !important;
  background: var(--clr-gold-light) !important;
  color: var(--clr-text) !important;
}
.woocommerce-error {
  border-radius: var(--radius-md) !important;
  font-family: var(--font-body) !important;
  border-left: 4px solid #c0392b !important;
  background: #fdf0ef !important;
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.elementor-button:focus-visible {
  outline: 3px solid var(--clr-gold) !important;
  outline-offset: 3px !important;
}

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.elementor-widget:not(.elementor-invisible) {
  animation: fadeInUp 0.5s cubic-bezier(0.4,0,0.2,1) both;
}

/* ============================================================
   IMAGE HOVER (non-hero, non-product)
   ============================================================ */
.elementor-widget-image .elementor-image img {
  border-radius: var(--radius-md);
  transition: transform 0.4s ease, box-shadow var(--transition);
}
.elementor-widget-image .elementor-image img:hover {
  transform: scale(1.02);
  box-shadow: var(--shadow-md);
}

/* Divider */
.elementor-widget-divider .elementor-divider-separator {
  border-color: var(--clr-border) !important;
}

/* ============================================================
   UTILITY CLASSES
   ============================================================ */
.pch-badge {
  display: inline-block;
  background: var(--clr-gold-light);
  color: var(--clr-gold-hover);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.28rem 0.85rem;
  border-radius: var(--radius-full);
  font-family: var(--font-body);
}
.pch-gold-text {
  background: var(--grad-gold);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media screen and (max-width: 1024px) {
  .woocommerce ul.products li.product img { height: 300px !important; }
}

@media screen and (max-width: 768px) {
  body { font-size: 15px; }
  .woocommerce ul.products li.product img { height: 260px !important; }
  h1, .elementor-heading-title.elementor-size-xxl { font-size: 2.1rem !important; }
  h2, .elementor-heading-title.elementor-size-xl  { font-size: 1.65rem !important; }
  .woo-cart-all-in-one, #woo-float-cart {
    width: 46px !important;
    height: 46px !important;
    bottom: 16px !important;
    right: 16px !important;
  }
  .woocommerce-checkout #customer_details .col2-set .col-1,
  .woocommerce-checkout #customer_details .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
  }
  .elementor-location-footer .elementor-icon-list-items {
    justify-content: center !important;
  }
}

@media screen and (max-width: 480px) {
  .elementor-button {
    padding: 0.7rem 1.35rem !important;
    font-size: 0.82rem !important;
  }
  .woocommerce ul.products li.product img { height: 240px !important; }
}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
  .elementor-location-header,
  .elementor-location-footer,
  .woo-cart-all-in-one,
  #woo-float-cart { display: none !important; }
  body { background: white; color: black; }
}
