/* =============================================
 *    PRISM REAL ESTATE SOLUTIONS - GLOBAL STYLES
 *    Brand Colors: Deep Navy #201450 | Vivid Purple #4b24e4
 *    Medium Purple #9581ed | Gold #af8852 | White #ffffff
 *    Light Lavender #e1d9ff | Warm Cream #fffcdc
 *    ============================================= */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* CSS Variables */
:root {
	  --prism-navy: #201450;
	  --prism-purple: #4b24e4;
	  --prism-purple-mid: #9581ed;
	  --prism-gold: #af8852;
	  --prism-white: #ffffff;
	  --prism-lavender: #e1d9ff;
	  --prism-cream: #fffcdc;
	  --prism-dark-purple: #1b0291;
	  --prism-light-purple: #edeafd;
	  --font-heading: 'Playfair Display', Georgia, serif;
	  --font-body: 'Inter', -apple-system, sans-serif;
	  --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	  --shadow-card: 0 4px 24px rgba(32, 20, 80, 0.12);
	  --shadow-hover: 0 8px 40px rgba(75, 36, 228, 0.2);
	  --radius-card: 12px;
	  --radius-btn: 8px;
}

/* Base Typography */
body {
	  font-family: var(--font-body) !important;
	  color: var(--prism-navy) !important;
	  line-height: 1.7;
	  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
	  font-family: var(--font-heading) !important;
	  color: var(--prism-navy) !important;
	  font-weight: 600;
}

h4, h5, h6 {
	  font-family: var(--font-body) !important;
	  font-weight: 600;
}

/* Navigation Styles */
.site-header {
	  background: var(--prism-navy) !important;
	  backdrop-filter: blur(10px);
	  border-bottom: 2px solid var(--prism-gold);
	  position: sticky !important;
	  top: 0;
	  z-index: 1000;
	  box-shadow: 0 2px 20px rgba(32,20,80,0.3);
}

/* Smooth scroll */
html {
	  scroll-behavior: smooth;
}

/* Hide default "Home" title on pages */
.page-title-area {
	  display: none !important;
}

.elementor-page-title {
	  display: none !important;
}

/* Prism Button Styles */
.prism-btn-primary {
	  background: linear-gradient(135deg, var(--prism-purple), var(--prism-dark-purple)) !important;
	  color: var(--prism-white) !important;
	  border: none !important;
	  padding: 14px 32px !important;
	  border-radius: var(--radius-btn) !important;
	  font-family: var(--font-body) !important;
	  font-weight: 600 !important;
	  font-size: 15px !important;
	  letter-spacing: 0.5px !important;
	  transition: var(--transition-smooth) !important;
	  text-decoration: none !important;
	  display: inline-block !important;
	  cursor: pointer;
}

.prism-btn-primary:hover {
	  transform: translateY(-2px) !important;
	  box-shadow: var(--shadow-hover) !important;
	  color: var(--prism-white) !important;
}

.prism-btn-gold {
	  background: linear-gradient(135deg, var(--prism-gold), #c9a06a) !important;
	  color: var(--prism-white) !important;
	  border: none !important;
	  padding: 14px 32px !important;
	  border-radius: var(--radius-btn) !important;
	  font-family: var(--font-body) !important;
	  font-weight: 600 !important;
	  transition: var(--transition-smooth) !important;
	  text-decoration: none !important;
	  display: inline-block !important;
}

.prism-btn-gold:hover {
	  transform: translateY(-2px) !important;
	  box-shadow: 0 8px 30px rgba(175,136,82,0.35) !important;
	  color: var(--prism-white) !important;
}

.prism-btn-outline {
	  background: transparent !important;
	  color: var(--prism-purple) !important;
	  border: 2px solid var(--prism-purple) !important;
	  padding: 12px 30px !important;
	  border-radius: var(--radius-btn) !important;
	  font-family: var(--font-body) !important;
	  font-weight: 600 !important;
	  transition: var(--transition-smooth) !important;
	  text-decoration: none !important;
	  display: inline-block !important;
}

.prism-btn-outline:hover {
	  background: var(--prism-purple) !important;
	  color: var(--prism-white) !important;
	  transform: translateY(-2px) !important;
}

/* Card Styles */
.prism-card {
	  background: var(--prism-white);
	  border-radius: var(--radius-card);
	  box-shadow: var(--shadow-card);
	  transition: var(--transition-smooth);
	  overflow: hidden;
}

.prism-card:hover {
	  transform: translateY(-6px);
	  box-shadow: var(--shadow-hover);
}

/* Section Styles */
.prism-section {
	  padding: 80px 0;
}

.prism-section-navy {
	  background: var(--prism-navy);
	  color: var(--prism-white) !important;
}

.prism-section-navy h1,
.prism-section-navy h2,
.prism-section-navy h3 {
	  color: var(--prism-white) !important;
}

.prism-section-lavender {
	  background: var(--prism-lavender);
}

.prism-section-cream {
	  background: var(--prism-cream);
}

/* Gradient Hero */
.prism-hero {
	  background: linear-gradient(135deg, var(--prism-navy) 0%, var(--prism-dark-purple) 50%, var(--prism-purple) 100%);
	  color: var(--prism-white);
	  min-height: 90vh;
	  display: flex;
	  align-items: center;
}

/* Gold accent line */
.prism-gold-line {
	  width: 60px;
	  height: 4px;
	  background: linear-gradient(90deg, var(--prism-gold), var(--prism-purple));
	  border-radius: 2px;
	  margin: 16px 0 24px;
}

/* Fade-in animation */
@keyframes fadeInUp {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
	from { opacity: 0; transform: translateX(-30px); }
	to { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
	from { opacity: 0; transform: translateX(30px); }
	to { opacity: 1; transform: translateX(0); }
}

.animate-fade-up {
	  animation: fadeInUp 0.7s ease forwards;
}

.animate-fade-left {
	  animation: fadeInLeft 0.7s ease forwards;
}

.animate-fade-right {
	  animation: fadeInRight 0.7s ease forwards;
}

/* Fair Housing Badge */
.fair-housing-badge {
	  display: inline-flex;
	  align-items: center;
	  gap: 8px;
	  font-size: 11px;
	  color: var(--prism-purple-mid);
	  font-weight: 500;
	  letter-spacing: 0.5px;
}

/* Lead Capture Widget */
.prism-lead-widget {
	  position: fixed;
	  bottom: 30px;
	  right: 30px;
	  z-index: 9999;
	  background: linear-gradient(135deg, var(--prism-navy), var(--prism-purple));
	  border-radius: 50px;
	  padding: 14px 24px;
	  color: white;
	  font-family: var(--font-body);
	  font-weight: 600;
	  font-size: 14px;
	  cursor: pointer;
	  box-shadow: 0 6px 30px rgba(75,36,228,0.4);
	  transition: var(--transition-smooth);
	  border: 2px solid var(--prism-gold);
	  text-decoration: none;
}

.prism-lead-widget:hover {
	  transform: translateY(-3px) scale(1.02);
	  box-shadow: 0 10px 40px rgba(75,36,228,0.5);
	  color: white;
}

/* Responsive */
@media (max-width: 768px) {
	.prism-section { padding: 50px 0; }
	.prism-lead-widget { bottom: 20px; right: 20px; font-size: 13px; padding: 12px 20px; }
}

/* Calculator Styles */
.prism-calculator {
	  background: var(--prism-white);
	  border-radius: 16px;
	  padding: 40px;
	  box-shadow: var(--shadow-card);
	  border-top: 4px solid var(--prism-purple);
}

.prism-calculator input[type="number"],
.prism-calculator input[type="text"],
.prism-calculator select {
	  width: 100%;
	  padding: 12px 16px;
	  border: 2px solid var(--prism-lavender);
	  border-radius: 8px;
	  font-family: var(--font-body);
	  font-size: 15px;
	  color: var(--prism-navy);
	  transition: var(--transition-smooth);
	  outline: none;
	  background: #fafafa;
}

.prism-calculator input:focus,
.prism-calculator select:focus {
	  border-color: var(--prism-purple);
	  background: white;
	  box-shadow: 0 0 0 3px rgba(75,36,228,0.1);
}

.prism-calc-result {
	  background: linear-gradient(135deg, var(--prism-navy), var(--prism-purple));
	  color: white;
	  border-radius: 12px;
	  padding: 24px;
	  text-align: center;
	  margin-top: 20px;
}

.prism-calc-result .result-amount {
	  font-family: var(--font-heading);
	  font-size: 2.5rem;
	  font-weight: 700;
	  color: var(--prism-gold);
}

/* Resource Card */
.prism-resource-card {
	  background: white;
	  border-radius: var(--radius-card);
	  padding: 28px;
	  box-shadow: var(--shadow-card);
	  border-left: 4px solid var(--prism-gold);
	  transition: var(--transition-smooth);
	  height: 100%;
}

.prism-resource-card:hover {
	  transform: translateY(-4px);
	  box-shadow: var(--shadow-hover);
	  border-left-color: var(--prism-purple);
}

/* Team Card */
.prism-team-card {
	  background: white;
	  border-radius: 16px;
	  overflow: hidden;
	  box-shadow: var(--shadow-card);
	  transition: var(--transition-smooth);
	  text-align: center;
}

.prism-team-card:hover {
	  transform: translateY(-6px);
	  box-shadow: var(--shadow-hover);
}

.prism-team-card .agent-photo {
	  width: 100%;
	  height: 280px;
	  object-fit: cover;
	  background: linear-gradient(135deg, var(--prism-lavender), var(--prism-light-purple));
}

.prism-team-card .agent-info {
	  padding: 24px;
}

/* Event Card */
.prism-event-card {
	  background: white;
	  border-radius: var(--radius-card);
	  overflow: hidden;
	  box-shadow: var(--shadow-card);
	  transition: var(--transition-smooth);
	  display: flex;
}

.prism-event-card:hover 
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}

/* Hide default WP page title (Elementor pages use custom headers) */
.entry-title { display: none !important; }


/* ===================================
   LARAMIE DETAILS PAGE (page-id-13)
   Layout Overrides & Styling
=================================== */

/* Enable flex layout on the elementor-13 container */
.page-id-13 .elementor.elementor-13 {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}

/* Hero - full width */
.page-id-13 .elementor-element-9fc3676 {
  order: 1 !important; width: 100% !important;
  flex: 0 0 100% !important; max-width: 100% !important;
}

/* Weather/Stats - LEFT 50% */
.page-id-13 .elementor-element-3f1384f {
  order: 2 !important; width: 50% !important;
  flex: 0 0 50% !important; max-width: 50% !important;
  background: #100828 !important; min-height: 0 !important; overflow: hidden !important;
  padding: 0 !important; align-self: stretch !important;
}

/* Events - RIGHT 50% */
.page-id-13 .elementor-element-cdf4b0f {
  order: 3 !important; width: 50% !important;
  flex: 0 0 50% !important; max-width: 50% !important;
  background: #100828 !important; padding: 0 !important;
  align-self: stretch !important;
}

/* Email Banner - full width */
.page-id-13 .elementor-element-de03d44 {
  order: 4 !important; width: 100% !important;
  flex: 0 0 100% !important; max-width: 100% !important;
  background: linear-gradient(135deg, #1a1a4e 0%, #4a3585 100%) !important;
  padding: 36px 80px !important; position: relative !important; overflow: hidden !important;
}



/* ── Weather + Calendar equal height ── */
.page-id-13 .elementor-element-3f1384f > .e-con-inner,
.page-id-13 .elementor-element-cdf4b0f > .e-con-inner {
  height: 100% !important;
}
.page-id-13 .elementor-element-3f1384f .plw-wrap,
.page-id-13 .elementor-element-3f1384f .elementor-widget-html {
  height: 100% !important;
}
.page-id-13 .elementor-element-cdf4b0f .elementor-widget-html {
  height: 100% !important;
}
.page-id-13 .elementor-element-cdf4b0f #lec-main {
  min-height: 100% !important;
}

/* ── Stay in Know: compact email banner ── */
.page-id-13 .elementor-element-8c69c24 {
  width: 100% !important; max-width: 100% !important;
  flex: 0 0 100% !important; padding: 0 !important;
  background: transparent !important;
}
.page-id-13 .elementor-element-d01937b {
  display: none !important;
}
/* Hide the eyebrow label - redundant with section heading */
.page-id-13 .elementor-element-ffb2a8e {
  display: none !important;
}
/* Compact the heading */
.page-id-13 .elementor-element-de03d44 .elementor-heading-title {
  font-size: 18px !important; line-height: 1.4 !important;
  font-weight: 500 !important; color: rgba(255,255,255,0.9) !important;
  text-align: left !important; white-space: nowrap !important;
}
/* Row layout: text on left, button on right */
.page-id-13 .elementor-element-de03d44 .e-con-full {
  flex-direction: row !important; align-items: center !important;
  justify-content: space-between !important; flex-wrap: nowrap !important;
  gap: 20px !important;
}
.page-id-13 .elementor-element-de03d44 {
  padding: 22px 80px !important;
}

/* Neighborhoods - full width */
.page-id-13 .elementor-element-d7ccdf1 {
  order: 5 !important; width: 100% !important;
  flex: 0 0 100% !important; max-width: 100% !important;
}

/* Reviews - full width, near bottom */
.page-id-13 .elementor-element-4322460 {
  order: 6 !important; width: 100% !important;
  flex: 0 0 100% !important; max-width: 100% !important;
  background: linear-gradient(180deg, #e8e4f8 0%, #f0eefb 100%) !important;
  padding: 80px 40px !important; position: relative !important;
}

/* Get In Touch - full width, last */
.page-id-13 .elementor-element-eafd79e {
  order: 7 !important; width: 100% !important;
  flex: 0 0 100% !important; max-width: 100% !important;
  background: linear-gradient(135deg, #f0eefb 0%, #e8e4f8 100%) !important; padding: 80px 40px !important;
}

/* Hide Discover Local Gems */
.page-id-13 .elementor-element-68ca773 { display: none !important; }

/* ===================================
   HERO STYLES
=================================== */
.page-id-13 .elementor-element-9fc3676 {
  background: linear-gradient(135deg, #1a1a4e 0%, #2d1f6e 40%, #4a3585 70%, #6b4fa0 100%) !important;
  padding: 120px 40px 100px !important; overflow: hidden !important; text-align: center !important;
}
.page-id-13 .elementor-element-9fc3676 .elementor-heading-title {
  font-size: clamp(2.8rem, 6vw, 5.5rem) !important; font-weight: 800 !important;
  color: #ffffff !important; line-height: 1.1 !important;
  text-shadow: 0 4px 30px rgba(0,0,0,0.4) !important;
}
.page-id-13 .elementor-element-9fc3676 .elementor-heading-title::after {
  content: "" !important; display: block !important;
  width: 80px !important; height: 4px !important;
  background: linear-gradient(90deg, #e5533d, #f5a58d) !important;
  margin: 16px auto 0 !important; border-radius: 2px !important;
}
.page-id-13 .elementor-element-9fc3676 p {
  color: rgba(255,255,255,0.85) !important; max-width: 700px !important; margin: 0 auto !important;
}

/* ===================================
   EVENTS SECTION CARDS
=================================== */
.page-id-13 .elementor-element-cdf4b0f .elementor-heading-title {
  color: #1a1a4e !important; font-weight: 800 !important;
}
.page-id-13 .elementor-element-cdf4b0f .e-con {
  background: #ffffff !important; border-radius: 16px !important;
  padding: 20px !important; margin-bottom: 16px !important;
  box-shadow: 0 2px 12px rgba(26,26,78,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.page-id-13 .elementor-element-cdf4b0f .e-con:hover {
  transform: translateY(-3px) !important; box-shadow: 0 8px 24px rgba(26,26,78,0.15) !important;
}
.page-id-13 .elementor-element-cdf4b0f .elementor-button {
  border: 2px solid #1a1a4e !important; color: #1a1a4e !important;
  background: transparent !important; border-radius: 30px !important;
  padding: 10px 24px !important; font-weight: 600 !important; transition: all 0.3s ease !important;
}

/* ===================================
   EMAIL BANNER
=================================== */
.page-id-13 .elementor-element-de03d44 .elementor-heading-title {
  color: #ffffff !important; font-weight: 700 !important; text-align: center !important;
}
.page-id-13 .elementor-element-de03d44 p { color: rgba(255,255,255,0.8) !important; text-align: center !important; }
.page-id-13 .elementor-element-de03d44 .elementor-button {
  background: #e5533d !important; color: #ffffff !important; border: none !important;
  border-radius: 30px !important; padding: 14px 36px !important; font-weight: 700 !important;
  box-shadow: 0 4px 20px rgba(229,83,61,0.4) !important; transition: all 0.3s ease !important;
}
.page-id-13 .elementor-element-de03d44 input[type="email"] {
  border-radius: 30px !important; border: 2px solid rgba(255,255,255,0.3) !important;
  background: rgba(255,255,255,0.12) !important; color: #ffffff !important; padding: 14px 24px !important;
}

/* ===================================
   REVIEWS SECTION
=================================== */
.page-id-13 .elementor-element-4322460::before {
  content: "" !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; height: 4px !important;
  background: linear-gradient(90deg, #1a1a4e, #4a3585, #e5533d) !important;
}
.page-id-13 .elementor-element-4322460 .e-con {
  background: #ffffff !important; border-radius: 16px !important;
  padding: 28px !important; box-shadow: 0 4px 20px rgba(26,26,78,0.08) !important;
  transition: transform 0.3s ease !important;
}

/* ===================================
   GET IN TOUCH CARD
=================================== */
.page-id-13 .elementor-element-7767f25,
.page-id-13 .elementor-element-535e939 {
  background: linear-gradient(145deg, #1a1a4e 0%, #4a3585 100%) !important;
  border-radius: 20px !important; padding: 40px !important;
}
.page-id-13 .elementor-element-7767f25 *,
.page-id-13 .elementor-element-535e939 * { color: rgba(255,255,255,0.92) !important; }
.page-id-13 .elementor-element-7767f25 h1,.page-id-13 .elementor-element-7767f25 h2,
.page-id-13 .elementor-element-7767f25 h3,.page-id-13 .elementor-element-7767f25 h4,
.page-id-13 .elementor-element-535e939 h1,.page-id-13 .elementor-element-535e939 h2,
.page-id-13 .elementor-element-535e939 h3,.page-id-13 .elementor-element-535e939 h4 {
  color: #ffffff !important; font-weight: 700 !important;
}
.page-id-13 .elementor-element-eb81859,
.page-id-13 .elementor-element-eb81859 a { color: #f5a58d !important; }

/* Responsive: stack on mobile */
@media (max-width: 768px) {
  .page-id-13 .elementor-element-3f1384f,
  .page-id-13 .elementor-element-cdf4b0f {
    width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important;
  }
}

/* Prism Layout Fix: Calendar container styling override */
.elementor-element.elementor-element-cdf4b0f,
.elementor-element.elementor-element-cdf4b0f:not(.elementor-motion-effects-element-type-background),
.elementor-13 .elementor-element.elementor-element-cdf4b0f:not(.elementor-motion-effects-element-type-background) {
  background-color: #0d0d1a !important;
  background: #0d0d1a !important;
  padding: 94px 40px !important;
  justify-content: center !important;
  align-items: center !important;
}


/* ── Fix global footer flex order so it renders at bottom ── */
.elementor.elementor-13 > footer.elementor-location-footer {
  order: 10 !important;
  flex-basis: 100% !important;
  width: 100% !important;
}
