/* ============================================================
   Impressive Site CSS Enhancer — Luxury Liquor Brand
   Brand Palette:
     Primary  : #BF864F (Amber Gold)
     Tertiary : #EED186 (Light Gold)
     Highlight: #EB001B (Vivid Red)
     Dark     : #000000 (Black)
   ============================================================ */

/* ---------- CSS Custom Properties ---------- */
:root {
  --brand-gold:       #BF864F;
  --brand-gold-light: #EED186;
  --brand-red:        #EB001B;
  --brand-black:      #000000;
  --brand-text:       #505050;
  --brand-border:     #E2E2E2;
  --gold-gradient:    linear-gradient(135deg, #BF864F 0%, #EED186 50%, #BF864F 100%);
  --dark-gradient:    linear-gradient(135deg, #1a1a1a 0%, #2d2200 50%, #1a1a1a 100%);
  --glow-gold:        0 0 18px rgba(191,134,79,0.45), 0 4px 24px rgba(191,134,79,0.2);
  --shadow-card:      0 8px 32px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.10);
  --radius-card:      14px;
  --transition:       all 0.35s cubic-bezier(.4,0,.2,1);
}

/* ---------- Global Body Polish ---------- */
body {
  background-color: #0d0d0d;
  color: var(--brand-text);
}

/* ---------- Selection Color ---------- */
::selection {
  background: var(--brand-gold);
  color: #fff;
}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar { width: 7px; }
::-webkit-scrollbar-track { background: #111; }
::-webkit-scrollbar-thumb {
  background: var(--gold-gradient);
  border-radius: 8px;
}

/* ---------- Headings ---------- */
.elementor-widget-heading .elementor-heading-title {
  position: relative;
  display: inline-block;
}
.elementor-widget-heading .elementor-heading-title::after {
  content: '';
  display: block;
  height: 3px;
  width: 60px;
  background: var(--gold-gradient);
  border-radius: 4px;
  margin-top: 10px;
  transition: width 0.4s ease;
}
.elementor-widget-heading:hover .elementor-heading-title::after {
  width: 100%;
}

/* ---------- Elementor Sections / Containers ---------- */
.elementor-section,
.e-con {
  transition: var(--transition);
}

/* ---------- Buttons ---------- */
.elementor-button,
.elementor-button-wrapper .elementor-button {
  position: relative;
  overflow: hidden;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 50px !important;
  transition: var(--transition) !important;
  z-index: 1;
}
.elementor-button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gold-gradient);
  opacity: 0;
  z-index: -1;
  transition: opacity 0.35s ease;
  border-radius: 50px;
}
.elementor-button:hover::before { opacity: 1; }
.elementor-button:hover {
  color: #000 !important;
  box-shadow: var(--glow-gold) !important;
  transform: translateY(-2px);
}
.elementor-button:active { transform: translateY(0px); }

/* Filled / Primary Buttons */
.elementor-button-primary,
.elementor-button.elementor-button-primary {
  background: var(--gold-gradient) !important;
  color: #000 !important;
  box-shadow: var(--glow-gold);
}

/* ---------- Images ---------- */
.elementor-widget-image img,
.elementor-widget-image-box img {
  border-radius: var(--radius-card);
  transition: var(--transition);
  box-shadow: var(--shadow-card);
}
.elementor-widget-image:hover img,
.elementor-widget-image-box:hover img {
  transform: scale(1.03);
  box-shadow: var(--glow-gold);
}

/* ---------- Cards / Image Boxes ---------- */
.elementor-widget-image-box .elementor-image-box-wrapper {
  background: linear-gradient(160deg, #1a1200 0%, #2b1d00 100%);
  border: 1px solid rgba(191,134,79,0.2);
  border-radius: var(--radius-card);
  padding: 28px 24px;
  transition: var(--transition);
  box-shadow: var(--shadow-card);
}
.elementor-widget-image-box:hover .elementor-image-box-wrapper {
  border-color: var(--brand-gold);
  box-shadow: var(--glow-gold);
  transform: translateY(-4px);
}

/* ---------- Icon Boxes ---------- */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  background: linear-gradient(160deg, #1a1200 0%, #2b1d00 100%);
  border: 1px solid rgba(191,134,79,0.18);
  border-radius: var(--radius-card);
  padding: 32px 24px;
  transition: var(--transition);
  box-shadow: var(--shadow-card);
}
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
  border-color: var(--brand-gold);
  box-shadow: var(--glow-gold);
  transform: translateY(-4px);
}
.elementor-widget-icon-box .elementor-icon i,
.elementor-widget-icon-box .elementor-icon svg {
  color: var(--brand-gold) !important;
  fill: var(--brand-gold) !important;
  filter: drop-shadow(0 0 6px rgba(191,134,79,0.6));
  transition: var(--transition);
}
.elementor-widget-icon-box:hover .elementor-icon i,
.elementor-widget-icon-box:hover .elementor-icon svg {
  filter: drop-shadow(0 0 14px rgba(238,209,134,0.9));
  transform: scale(1.15) rotate(-5deg);
}

/* ---------- Icons (standalone) ---------- */
.elementor-widget-icon .elementor-icon i,
.elementor-widget-icon .elementor-icon svg {
  color: var(--brand-gold) !important;
  fill: var(--brand-gold) !important;
  transition: var(--transition);
}
.elementor-widget-icon:hover .elementor-icon i,
.elementor-widget-icon:hover .elementor-icon svg {
  filter: drop-shadow(0 0 10px rgba(191,134,79,0.7));
  transform: scale(1.2);
}

/* ---------- Dividers ---------- */
.elementor-widget-divider .elementor-divider-separator {
  border-top: 2px solid transparent;
  border-image: var(--gold-gradient) 1;
}

/* ---------- Text Editor ---------- */
.elementor-widget-text-editor a {
  color: var(--brand-gold);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: var(--transition);
}
.elementor-widget-text-editor a:hover {
  border-bottom-color: var(--brand-gold);
  color: var(--brand-gold-light);
}

/* ---------- WooCommerce Product Cards ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: linear-gradient(160deg, #1a1200 0%, #2b1d00 100%);
  border: 1px solid rgba(191,134,79,0.18);
  border-radius: var(--radius-card);
  padding: 18px;
  transition: var(--transition);
  box-shadow: var(--shadow-card);
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  border-color: var(--brand-gold);
  box-shadow: var(--glow-gold);
  transform: translateY(-5px);
}

/* WooCommerce Product Image Wrap - NEW STYLES */
.woocommerce ul.products li.product a img {
  border-radius: 10px;
  transition: var(--transition);
  /* Added specific styling for image area per request */
  background-color: #f5f5f5 !important;
  border: 2px solid #e0e0e0;
  padding: 10px;
  box-sizing: border-box;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05);
  border-color: var(--brand-gold);
}

/* WooCommerce Product Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--brand-gold-light) !important;
  font-weight: 700;
  transition: color 0.3s ease;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--brand-gold) !important;
}

/* WooCommerce Price */
.woocommerce .price,
.woocommerce ul.products li.product .price {
  color: var(--brand-gold) !important;
  font-weight: 800;
  font-size: 1.15em;
}
.woocommerce .price del { color: var(--brand-text) !important; }
.woocommerce .price ins {
  color: var(--brand-red) !important;
  text-decoration: none;
}

/* WooCommerce Badges */
.woocommerce span.onsale {
  background: var(--brand-red) !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(235,0,27,0.5);
}

/* WooCommerce Add to Cart Button */
.woocommerce ul.products li.product .button,
.woocommerce .single_add_to_cart_button.button {
  background: var(--gold-gradient) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 50px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 10px 28px !important;
  transition: var(--transition) !important;
  box-shadow: var(--glow-gold);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce .single_add_to_cart_button.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 28px rgba(191,134,79,0.7) !important;
}


/* ---------- Navigation / Menu ---------- */
.elementor-nav-menu .elementor-nav-menu > li > a {
  transition: var(--transition) !important;
  position: relative;
}
.elementor-nav-menu .elementor-nav-menu > li > a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -4px;
  width: 0;
  height: 2px;
  background: var(--gold-gradient);
  border-radius: 2px;
  transform: translateX(-50%);
  transition: width 0.35s ease;
}
.elementor-nav-menu .elementor-nav-menu > li:hover > a::after,
.elementor-nav-menu .elementor-nav-menu > li.current-menu-item > a::after {
  width: 80%;
}
.elementor-nav-menu .elementor-nav-menu > li > a:hover {
  color: var(--brand-gold) !important;
}

/* ---------- Testimonial Widgets ---------- */
.elementor-widget-testimonial .elementor-testimonial-wrapper,
.elementor-widget-testimonial-carousel .elementor-testimonial--content {
  background: linear-gradient(160deg, #1a1200 0%, #2b1d00 100%);
  border-left: 4px solid var(--brand-gold);
  border-radius: var(--radius-card);
  padding: 28px 24px;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.elementor-widget-testimonial:hover .elementor-testimonial-wrapper {
  box-shadow: var(--glow-gold);
}

/* ---------- Price Table ---------- */
.elementor-widget-price-table .elementor-price-table__header {
  background: var(--dark-gradient) !important;
  border-bottom: 2px solid var(--brand-gold);
}
.elementor-widget-price-table .elementor-price-table__price {
  color: var(--brand-gold) !important;
}
.elementor-widget-price-table .elementor-price-table__footer .elementor-price-table__button {
  background: var(--gold-gradient) !important;
  color: #000 !important;
  border-radius: 50px !important;
  font-weight: 800 !important;
}

/* ---------- Counter Widget ---------- */
.elementor-widget-counter .elementor-counter-number-wrapper .elementor-counter-number {
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 900;
}

/* ---------- Progress Bar ---------- */
.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar {
  background: var(--gold-gradient) !important;
  box-shadow: var(--glow-gold);
}

/* ---------- Alert Widget ---------- */
.elementor-widget-alert .elementor-alert {
  border-left: 5px solid var(--brand-gold);
  background: linear-gradient(135deg, #1a1200 0%, #2b1d00 100%);
  border-radius: var(--radius-card);
  color: var(--brand-gold-light);
}

/* ---------- Tabs / Accordion ---------- */
.elementor-widget-tabs .elementor-tab-title.elementor-active,
.elementor-widget-tabs .elementor-tab-title:hover {
  color: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
}
.elementor-widget-accordion .elementor-accordion-title {
  transition: color 0.3s ease;
}
.elementor-widget-accordion .elementor-active .elementor-accordion-title {
  color: var(--brand-gold) !important;
}
.elementor-widget-accordion .elementor-active .elementor-accordion-icon {
  color: var(--brand-gold) !important;
}

/* ---------- Search Form ---------- */
.elementor-search-form__input:focus {
  border-color: var(--brand-gold) !important;
  box-shadow: 0 0 0 3px rgba(191,134,79,0.25) !important;
  outline: none;
}
.elementor-search-form__submit {
  background: var(--gold-gradient) !important;
  color: #000 !important;
  transition: var(--transition) !important;
}

/* ---------- Forms (Contact / WPForms / CF7) ---------- */
.elementor-form .elementor-field-group input:focus,
.elementor-form .elementor-field-group textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: var(--brand-gold) !important;
  box-shadow: 0 0 0 3px rgba(191,134,79,0.2) !important;
  outline: none;
  transition: var(--transition);
}
.elementor-form .elementor-button[type="submit"] {
  background: var(--gold-gradient) !important;
  color: #000 !important;
  border-radius: 50px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ---------- Floating Gold Shimmer Keyframes ---------- */
@keyframes goldShimmer_819c3596 {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
@keyframes fadeInUp_819c3596 {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulseGlow_819c3596 {
  0%, 100% { box-shadow: var(--glow-gold); }
  50%       { box-shadow: 0 0 36px rgba(191,134,79,0.7), 0 8px 32px rgba(191,134,79,0.35); }
}

/* Shimmer effect on primary buttons */
.elementor-button-primary,
.woocommerce ul.products li.product .button,
.woocommerce .single_add_to_cart_button.button {
  background-size: 800px 100% !important;
}

/* Pulsing glow on featured/highlight elements */
.elementor-price-table.elementor-ribbon .elementor-price-table__wrapper {
  animation: pulseGlow_819c3596 2.5s ease-in-out infinite;
}

/* Fade-in for all Elementor widgets */
.elementor-widget {
  animation: fadeInUp_819c3596 0.55s ease both;
}

/* ---------- Horizontal Rule / HR ---------- */
hr {
  border: none;
  height: 2px;
  background: var(--gold-gradient);
  border-radius: 2px;
  margin: 20px 0;
  opacity: 0.6;
}

/* ---------- Blockquote ---------- */
blockquote {
  border-left: 5px solid var(--brand-gold);
  background: linear-gradient(135deg, rgba(191,134,79,0.08) 0%, transparent 100%);
  padding: 18px 24px;
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  color: var(--brand-gold-light);
  font-style: italic;
  margin: 20px 0;
}

/* ---------- Tooltip-style highlights on badges / tags ---------- */
.elementor-widget span.badge,
.product-badge,
.tag-badge {
  background: var(--gold-gradient);
  color: #000;
  padding: 3px 14px;
  border-radius: 50px;
  font-size: 0.78em;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ---------- Footer Area ---------- */
.site-footer,
.elementor-location-footer {
  border-top: 2px solid transparent;
  border-image: var(--gold-gradient) 1;
}

/* ---------- Responsive tweaks ---------- */
@media (max-width: 768px) {
  .elementor-widget-image img,
  .elementor-widget-image-box img { border-radius: 10px; }
  .elementor-widget-heading .elementor-heading-title::after { width: 40px; }
}
