/*
 * PRISM.EE LUXURY PREMIUM THEME v2.0
 * Maserati / Maybach Style
 * MAXIMUM SPECIFICITY VERSION
 */

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

:root {
  --gold: #C9A96E;
  --gold-light: #D4B878;
  --gold-dark: #A68B4B;
  --gold-glow: rgba(201, 169, 110, 0.4);
  --black: #0D0D0D;
  --charcoal: #1A1A1A;
  --graphite: #2D2D2D;
}

/* ===== GLOBAL OVERRIDES ===== */
body,
html {
  font-family: 'Montserrat', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--gold) !important;
  color: white !important;
}

/* ===== REPLACE ORANGE WITH GOLD EVERYWHERE ===== */
*[style*="ff9200"],
*[style*="FF9200"],
*[style*="color: rgb(255, 146, 0)"],
*[style*="background-color: rgb(255, 146, 0)"] {
  color: var(--gold) !important;
  background-color: transparent !important;
}

/* Elementor specific orange override */
.elementor-widget-heading .elementor-heading-title span[style*="color"],
.elementor-heading-title span,
.elementor em,
.elementor-widget-text-editor em,
h1 em, h2 em, h3 em {
  color: var(--gold) !important;
}

/* ===== HEADER STYLING ===== */
header#masthead,
.site-header,
.elementor-location-header,
.elementor-section[data-element_type="section"]:first-of-type {
  background: var(--charcoal) !important;
}

/* Navigation */
.navbar-nav > li > a,
.main-menu li a,
.elementor-nav-menu--main .elementor-item,
.elementor-nav-menu a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  transition: all 0.3s ease !important;
}

.navbar-nav > li > a:hover,
.elementor-nav-menu a:hover,
.elementor-item:hover {
  color: var(--gold) !important;
}

/* Phone in header */
header a[href^="tel:"],
.elementor-widget a[href^="tel:"] {
  color: var(--gold) !important;
  font-weight: 600 !important;
}

/* ===== HERO SECTION ===== */
h1.elementor-heading-title,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-element h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

/* Hero italic text - GOLD */
h1.elementor-heading-title em,
h1 em,
.elementor-heading-title em {
  color: var(--gold) !important;
  font-style: italic !important;
}

/* Section subtitles - small caps gold */
h2.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
}

h2 em,
h2.elementor-heading-title em {
  color: var(--gold) !important;
  font-style: italic !important;
}

/* Small label above title */
.elementor-widget-heading.elementor-widget-heading .elementor-heading-title[style*="font-size: 14"],
.elementor-widget-heading .elementor-heading-title[style*="font-size: 13"],
.elementor-widget-heading .elementor-heading-title[style*="font-size: 12"] {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  background: rgba(201, 169, 110, 0.12) !important;
  padding: 10px 20px !important;
  border-radius: 30px !important;
  display: inline-block !important;
  border: 1px solid rgba(201, 169, 110, 0.25) !important;
}

/* ===== BUTTONS - COMPLETE OVERHAUL ===== */
.elementor-button-wrapper .elementor-button,
.elementor-widget-button .elementor-button,
a.elementor-button,
button.elementor-button,
.elementor-button-link {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 50%, var(--gold) 100%) !important;
  background-size: 200% 200% !important;
  color: var(--black) !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 18px 40px !important;
  box-shadow: 0 8px 25px var(--gold-glow) !important;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.elementor-button-wrapper .elementor-button:hover,
.elementor-widget-button .elementor-button:hover,
a.elementor-button:hover {
  background-position: 100% 50% !important;
  transform: translateY(-4px) scale(1.02) !important;
  box-shadow: 0 15px 40px rgba(201, 169, 110, 0.5) !important;
  color: var(--black) !important;
}

/* Secondary/Outline button */
.elementor-button[style*="background-color: transparent"],
.elementor-button[style*="background: transparent"],
.elementor-button.elementor-button-text {
  background: transparent !important;
  border: 2px solid var(--gold) !important;
  color: var(--gold) !important;
  box-shadow: none !important;
}

.elementor-button[style*="background-color: transparent"]:hover,
.elementor-button[style*="background: transparent"]:hover {
  background: var(--gold) !important;
  color: var(--black) !important;
  box-shadow: 0 10px 30px var(--gold-glow) !important;
}

/* ===== SERVICE CARDS / ICON BOXES ===== */
.elementor-widget-icon-box,
.elementor-icon-box-wrapper {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 35px 30px !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  position: relative !important;
  overflow: hidden !important;
}

.elementor-widget-icon-box::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold)) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform 0.5s ease !important;
}

.elementor-widget-icon-box:hover {
  transform: translateY(-10px) !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12) !important;
  border-color: rgba(201, 169, 110, 0.2) !important;
}

.elementor-widget-icon-box:hover::before {
  transform: scaleX(1) !important;
}

/* Icon box titles - GOLD */
.elementor-icon-box-title,
.elementor-icon-box-content h3,
.elementor-icon-box-content h4,
.elementor-widget-icon-box h3,
.elementor-widget-icon-box h4,
.elementor-icon-box-wrapper h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: var(--gold) !important;
  margin: 1.2rem 0 0.8rem !important;
}

.elementor-icon-box-description,
.elementor-icon-box-content p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.95rem !important;
  color: #555 !important;
  line-height: 1.7 !important;
}

/* ===== FEATURE CARDS (4 columns) ===== */
.elementor-column .elementor-widget-icon-box {
  text-align: center !important;
}

/* ===== PRICING TABLE ===== */
.elementor-price-table,
.elementor-widget-price-table,
.elementor-widget-price-list {
  background: linear-gradient(180deg, var(--charcoal) 0%, var(--graphite) 100%) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25) !important;
}

.elementor-price-table__header,
.elementor-price-list-header {
  background: var(--charcoal) !important;
  padding: 2rem !important;
}

.elementor-price-table__heading {
  font-family: 'Playfair Display', serif !important;
  color: #fff !important;
  font-size: 1.5rem !important;
}

/* Prices - GOLD */
.elementor-price-table__price,
.elementor-price-table__integer-part,
.elementor-price-list-price,
.elementor-price-list-item .elementor-price-list-text span:last-child {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
}

.elementor-price-table__currency {
  color: var(--gold) !important;
}

.elementor-price-table__features-list {
  background: var(--graphite) !important;
  padding: 1.5rem 2rem !important;
}

.elementor-price-table__feature-inner {
  color: rgba(255, 255, 255, 0.85) !important;
  font-family: 'Montserrat', sans-serif !important;
  padding: 0.8rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Price list style */
.elementor-price-list-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 1rem 0 !important;
}

.elementor-price-list-title,
.elementor-price-list-text {
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
}

.elementor-price-list-separator {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* ===== DARK SECTIONS ===== */
.elementor-section[style*="background-color: rgb(26"],
.elementor-section[style*="background-color:#1a1a1a"],
.elementor-section[style*="background-color:#2d2d2d"],
.elementor-section[style*="background-color: rgb(45"],
section[style*="background-color: rgb(26"],
section[data-settings*="1a1a1a"] {
  background: linear-gradient(180deg, var(--charcoal) 0%, var(--black) 100%) !important;
}

/* Text in dark sections */
.elementor-section[style*="background-color: rgb(26"] h1,
.elementor-section[style*="background-color: rgb(26"] h2,
.elementor-section[style*="background-color: rgb(26"] h3,
.elementor-section[style*="background-color: rgb(26"] p {
  color: #fff !important;
}

.elementor-section[style*="background-color: rgb(26"] em,
.elementor-section[style*="background-color: rgb(26"] h1 em,
.elementor-section[style*="background-color: rgb(26"] h2 em {
  color: var(--gold) !important;
}

/* ===== COUNTER / STATS WIDGETS ===== */
.elementor-counter-number-wrapper,
.elementor-counter-number {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
}

.elementor-counter-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.05em !important;
}

/* ===== FOOTER ===== */
footer,
.site-footer,
.elementor-location-footer,
footer.site-footer {
  background: var(--black) !important;
  border-top: 1px solid rgba(201, 169, 110, 0.15) !important;
}

footer h3,
footer h4,
footer .widget-title,
.site-footer h3 {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
  font-size: 1.15rem !important;
}

footer p,
footer a,
footer .textwidget,
.site-footer p,
.site-footer a {
  color: rgba(255, 255, 255, 0.7) !important;
}

footer a:hover,
.site-footer a:hover {
  color: var(--gold) !important;
}

/* ===== CONTACT BUTTONS ===== */
a[href^="tel:"].elementor-button,
.elementor-widget a[href^="tel:"] {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  color: var(--black) !important;
}

a[href^="mailto:"].elementor-button {
  background: transparent !important;
  border: 2px solid var(--gold) !important;
  color: var(--gold) !important;
}

/* ===== BACK TO TOP ===== */
.back-to-top,
#back-to-top,
a.back-to-top {
  background: var(--gold) !important;
  color: var(--black) !important;
  border-radius: 50% !important;
  box-shadow: 0 5px 20px var(--gold-glow) !important;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--charcoal); }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-light); }

/* ===== ACCESSIBILITY BUTTON ===== */
.pojo-a11y-toolbar-toggle {
  background: var(--gold) !important;
  border: none !important;
}

/* ===== CHAT/WHATSAPP WIDGET ===== */
.chaty-widget,
.chaty-channel {
  filter: hue-rotate(30deg) saturate(0.8) !important;
}

/* ===== FORMS ===== */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  font-family: 'Montserrat', sans-serif !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: 12px !important;
  padding: 1rem 1.5rem !important;
  transition: all 0.3s ease !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 4px rgba(201, 169, 110, 0.15) !important;
  outline: none !important;
}

input[type="submit"],
button[type="submit"] {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  color: var(--black) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  padding: 1rem 2.5rem !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
}

/* ===== SECTION SPACING ===== */
.elementor-section {
  padding: 80px 0 !important;
}

.elementor-section.elementor-section-height-min-height,
.elementor-section.elementor-section-height-full {
  padding: 0 !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  h1.elementor-heading-title { font-size: 2.5rem !important; }
  .elementor-section { padding: 60px 0 !important; }
}

@media (max-width: 767px) {
  h1.elementor-heading-title { font-size: 2rem !important; }
  h2.elementor-heading-title { font-size: 1.6rem !important; }
  .elementor-button { padding: 14px 28px !important; font-size: 13px !important; }
  .elementor-section { padding: 50px 0 !important; }
  .elementor-widget-icon-box { padding: 25px 20px !important; margin-bottom: 20px !important; }
}

/* ===== SPECIAL: Force italic em to gold ===== */
em, i, .italic {
  color: var(--gold) !important;
  font-style: italic !important;
}

/* Except in body text */
p em, p i, .elementor-text-editor p em {
  color: inherit !important;
}

/* ===== ANIMATIONS ===== */
@keyframes goldPulse {
  0%, 100% { box-shadow: 0 8px 25px var(--gold-glow); }
  50% { box-shadow: 0 12px 35px rgba(201, 169, 110, 0.55); }
}

.elementor-button:not(:hover) {
  animation: goldPulse 3s ease-in-out infinite;
}
