* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #F7F5F0; color: #000000; font-family: 'Montserrat', sans-serif; line-height: 1.4; }
.grain-overlay {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 1000; opacity: 0.03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-repeat: repeat;
}
:root {
  --accent: #6B21D4;
  --accent-muted: #8B3FE8;
  --dark: #2A241E;
  --paper: #F7F5F0;
  --border-raw: #E2DCD2;
  --gray-mid: #6B6258;
}
h1, h2, h3, h4, .serif { font-family: 'Playfair Display', serif; font-weight: 500; letter-spacing: -0.01em; }
.section-tag {
  font-size: 12px; letter-spacing: 3px; text-transform: uppercase;
  color: var(--accent); font-weight: 500;
  border-left: 2px solid var(--accent); padding-left: 12px; margin-bottom: 20px;
}

/* NAV */
nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 24px 56px; position: fixed; width: 100%; top: 0; z-index: 500;
  background: rgba(247,245,240,0.92); backdrop-filter: blur(6px);
  border-bottom: 1px solid #E2DCD2;
}
.logo { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 600; color: var(--dark); letter-spacing: -0.5px; }
.logo span { font-weight: 300; color: var(--accent); font-style: italic; }
nav ul { display: flex; gap: 32px; list-style: none; }
nav ul a { text-decoration: none; color: #000000; font-size: 14px; font-weight: 450; transition: color 0.2s; }
nav ul a:hover { color: var(--accent); }
.nav-right { display: flex; align-items: center; gap: 16px; }
.nav-lang { font-size: 12px; color: #3A3430; border: 1px solid #D9D0C4; padding: 6px 12px; border-radius: 30px; cursor: pointer; transition: all 0.2s; }
.nav-lang:hover { border-color: var(--accent); color: var(--accent); }
.burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
.burger span { display: block; width: 24px; height: 2px; background: var(--dark); transition: all 0.3s; }
.mobile-menu {
  display: none; position: fixed; top: 85px; left: 0; width: 100%;
  background: rgba(247,245,240,0.98); backdrop-filter: blur(10px);
  border-bottom: 1px solid #E2DCD2; z-index: 499; padding: 24px 32px;
  flex-direction: column; gap: 20px;
}
.mobile-menu.open { display: flex; }
.mobile-menu a { text-decoration: none; color: #000000; font-size: 16px; font-weight: 500; padding: 8px 0; border-bottom: 1px solid #E2DCD2; }
.mobile-menu a:last-child { border-bottom: none; }

/* HERO */
.hero { min-height: 100vh; display: flex; align-items: center; padding: 120px 56px 80px; background: var(--paper); }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; width: 100%; max-width: 1400px; margin: 0 auto; }
.hero-tag { font-size: 13px; letter-spacing: 2px; color: var(--accent); text-transform: uppercase; margin-bottom: 24px; font-weight: 500; }
.hero h1 { font-size: 68px; font-weight: 600; line-height: 1.1; margin-bottom: 24px; color: #1F1A15; }
.hero h1 em { color: var(--accent); font-style: normal; border-bottom: 3px solid var(--accent); }
.hero p { font-size: 16px; line-height: 1.6; color: #000000; margin-bottom: 36px; }
.signature-line { display: flex; align-items: center; gap: 16px; margin-bottom: 32px; }
.hand-sign { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 18px; color: var(--accent); }
.line-dec { height: 1px; background: #D9D0C4; flex: 1; }
.btn-primary { background: var(--accent); color: white; border: none; padding: 14px 32px; font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; transition: all 0.3s; position: relative; overflow: hidden; }
.btn-primary::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255,255,255,0.2); transform: translate(-50%, -50%); transition: width 0.6s, height 0.6s; }
.btn-primary:hover::before { width: 300px; height: 300px; }
.btn-primary:hover { background: #5A1AB8; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(184,92,26,0.3); }
.btn-outline { background: transparent; border: 1px solid #CEC3B6; color: #000000; padding: 14px 28px; font-size: 12px; font-weight: 500; letter-spacing: 1px; cursor: pointer; transition: all 0.3s; text-transform: uppercase; position: relative; overflow: hidden; }
.btn-outline::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: var(--accent); transition: left 0.3s; z-index: -1; }
.btn-outline:hover::before { left: 0; }
.btn-outline:hover { border-color: var(--accent); color: white; transform: translateY(-2px); }
.hero-media { position: relative; }
.main-img { width: 100%; height: auto; filter: grayscale(15%); box-shadow: 20px 20px 0 rgba(0,0,0,0.03); border: 1px solid #E2DCD2; }
.stamp { position: absolute; bottom: -24px; right: -20px; background: white; padding: 12px 16px; border: 1px solid var(--accent); font-size: 11px; letter-spacing: 1px; font-weight: 500; text-transform: uppercase; color: var(--accent); transform: rotate(-3deg); font-family: monospace; }

/* STATS */
.stats-raw { 
  display: flex; 
  flex-wrap: wrap; 
  border-top: 1px solid #E2DCD2; 
  border-bottom: 1px solid #E2DCD2; 
  background: #FDFBF7;
  max-width: 1400px;
  margin: 0 auto;
}
.stat-block { 
  flex: 1; 
  padding: 48px 40px; 
  border-right: 1px solid #E2DCD2;
  text-align: center;
}
.stat-block:last-child { border-right: none; }
.stat-number { font-family: 'Playfair Display', serif; font-size: 48px; font-weight: 600; color: var(--accent); line-height: 1; margin-bottom: 8px; }
.stat-desc { font-size: 13px; letter-spacing: 0.3px; color: #3A3430; text-transform: uppercase; font-weight: 500; }

/* CARDS */
.section { padding: 96px 56px; }
.section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 56px; flex-wrap: wrap; border-bottom: 1px solid #E2DCD2; padding-bottom: 20px; }
.section-header h2 { font-size: 48px; font-weight: 500; color: #1F1A15; }
.cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.card-raw { background: #FFFFFF; border: 1px solid #E2DCD2; transition: all 0.3s ease; position: relative; overflow: hidden; }
.card-raw::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(184,92,26,0.1), transparent); transition: left 0.5s; }
.card-raw:hover::before { left: 100%; }
.card-raw:hover { transform: translateY(-8px); border-color: var(--accent-muted); box-shadow: 0 12px 32px rgba(184,92,26,0.15); }
.card-img-raw { height: 260px; background-size: cover; background-position: center; position: relative; filter: contrast(1.02) brightness(0.97); transition: all 0.3s; }
.card-raw:hover .card-img-raw { filter: contrast(1.05) brightness(1); transform: scale(1.05); }
.card-badge-raw { position: absolute; bottom: 12px; left: 12px; background: rgba(42,36,30,0.85); backdrop-filter: blur(4px); padding: 4px 12px; font-size: 12px; font-weight: 500; color: white; letter-spacing: 0.5px; }
.card-body-raw { padding: 24px 24px 28px; }
.card-meta { font-size: 11px; text-transform: uppercase; letter-spacing: 2px; color: var(--accent); margin-bottom: 8px; }
.card-body-raw h3 { font-size: 18px; font-weight: 600; margin-bottom: 8px; transition: color 0.2s; font-family: 'Montserrat', sans-serif; letter-spacing: -0.3px; }
.card-raw:hover h3 { color: var(--accent); }
.price-raw { font-size: 15px; color: #000000; border-top: 1px dashed #E2DCD2; margin-top: 12px; padding-top: 12px; font-weight: 600; font-family: 'Montserrat', sans-serif; }
.price-raw strong { font-size: 18px; color: var(--dark); }

/* WHY */
.why-section { background: #F0ECE5; padding: 96px 56px; border-top: 1px solid #E2DCD2; border-bottom: 1px solid #E2DCD2; }
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.feature-item { 
  background: white; 
  padding: 32px 28px; 
  border: 1px solid #E2DCD2; 
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); 
  cursor: default;
  position: relative;
  overflow: hidden;
}
.feature-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(184,92,26,0.05), transparent);
  transition: left 0.6s;
}
.feature-item:hover::before {
  left: 100%;
}
.feature-item:hover { 
  transform: translateY(-8px) scale(1.02); 
  border-color: var(--accent); 
  box-shadow: 0 12px 32px rgba(184,92,26,0.15); 
}
.feature-icon { 
  font-size: 36px; 
  margin-bottom: 20px; 
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block;
}
.feature-item:hover .feature-icon { 
  transform: scale(1.15) rotate(5deg); 
}
.feature-item h4 { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 600; margin-bottom: 12px; transition: color 0.3s; color: #000000; }
.feature-item:hover h4 { color: var(--accent); }
.feature-item p { font-size: 15px; line-height: 1.6; color: #000000; font-weight: 450; }

/* FORM */
.form-raw { padding: 96px 56px; background: var(--paper); }
.form-container { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.form-left h2 { font-size: 44px; font-weight: 500; margin-bottom: 16px; }
.form-left p { color: #000000; line-height: 1.5; margin-bottom: 24px; }
.form-note { font-size: 12px; color: #000000; border-left: 2px solid var(--accent); padding-left: 14px; }
.styled-form { display: flex; flex-direction: column; gap: 16px; }
.styled-form input, .styled-form select {
  background: white; border: 1px solid #D9D0C4; padding: 14px 18px;
  font-size: 14px; font-family: 'Montserrat', sans-serif; transition: 0.2s; outline: none; color: #000000;
}
.styled-form input:focus, .styled-form select:focus { border-color: var(--accent); }
.styled-form select option { background: white; }
.row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.budget-group { display: none; }
.budget-group.active { display: block; }

/* FOOTER */
footer { background: #2A241E; padding: 56px 56px 40px; color: #CEC3B6; }
.footer-grid { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; border-bottom: 1px solid #4A3F36; padding-bottom: 32px; margin-bottom: 32px; }
.footer-logo { font-family: 'Playfair Display', serif; font-size: 28px; color: #E2DCD2; }
.footer-logo span { color: var(--accent-muted); }
.footer-links { display: flex; gap: 32px; flex-wrap: wrap; }
.footer-links a { color: #B8AA9A; text-decoration: none; font-size: 13px; transition: color 0.2s; }
.footer-links a:hover { color: var(--accent); }
.copyright { font-size: 12px; text-align: center; color: #000000; }
.raw-stamp { display: inline-block; border: 1px solid var(--accent); padding: 6px 16px; font-size: 10px; letter-spacing: 2px; }

/* FLOATING BUTTONS */
.float-cta { position: fixed; bottom: 28px; right: 28px; z-index: 400; display: flex; flex-direction: column; gap: 10px; align-items: flex-end; }
.float-btn { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; cursor: pointer; border: none; box-shadow: 0 4px 16px rgba(0,0,0,0.15); transition: transform 0.2s; text-decoration: none; }
.float-btn:hover { transform: scale(1.1); }
.float-wa { background: #25D366; }
.float-tg { background: #229ED9; }
.float-vb { background: #7360F2; }

/* MOBILE */
@media (max-width: 1000px) {
  nav { padding: 20px 24px; }
  nav ul { display: none; }
  .burger { display: flex; }
  .hero { padding: 130px 24px 60px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 44px; }
  .stamp { display: none; }
  .stats-raw { flex-direction: column; }
  .stat-block { border-right: none; border-bottom: 1px solid #E2DCD2; padding: 28px 24px; }
  .stat-block:last-child { border-bottom: none; }
  .section { padding: 56px 24px; }
  .cards-grid { grid-template-columns: 1fr; }
  .why-section { padding: 56px 24px; }
  .features-grid { grid-template-columns: 1fr 1fr; }
  .form-raw { padding: 56px 24px; }
  .form-container { grid-template-columns: 1fr; }
  .row-2 { grid-template-columns: 1fr; }
  footer { padding: 40px 24px 32px; }
  footer > div > div:first-child { grid-template-columns: 1fr !important; gap: 32px !important; }
  .float-cta { bottom: 20px; right: 16px; }
  
  /* Contacts page */
  .contacts-grid {
    grid-template-columns: 1fr !important;
  }
  
  /* Property detail page */
  section[style*="padding:120px"] {
    padding: 100px 24px 60px !important;
  }
  section[style*="padding:120px"] > div > div[style*="grid-template-columns:1.5fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  section[style*="padding:120px"] img[style*="height:500px"] {
    height: 300px !important;
  }
  section[style*="padding:120px"] img[style*="height:120px"] {
    height: 80px !important;
  }
  section[style*="padding:120px"] .thumb-img {
    height: 80px !important;
  }
}
@media (max-width: 600px) {
  .features-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 36px; }
}

/* ANIMATIONS */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(50px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes stamp {
  0% { transform: rotate(-3deg) scale(0); }
  50% { transform: rotate(-3deg) scale(1.1); }
  100% { transform: rotate(-3deg) scale(1); }
}

.hero-tag { animation: fadeInUp 0.6s ease; }
.hero h1 { animation: fadeInUp 0.8s ease; }
.hero p { animation: fadeInUp 1s ease; }
.signature-line { animation: fadeInUp 1.2s ease; }
.hero-media { animation: fadeInRight 1s ease; }
.stamp { animation: stamp 0.5s ease 1.5s both; }
.main-img:hover { filter: grayscale(0%); transform: translateY(-4px); box-shadow: 24px 24px 0 rgba(184,92,26,0.08); }

/* PRELOADER */
.preloader {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: #F7F5F0; z-index: 9999;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.preloader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.preloader-logo { font-family: 'Playfair Display', serif; font-size: 32px; font-weight: 600; color: #2A241E; letter-spacing: -0.5px; }
.preloader-logo span { color: #6B21D4; font-style: italic; font-weight: 400; }
.preloader-bar-wrap { width: 200px; height: 2px; background: #E2DCD2; overflow: hidden; }
.preloader-bar { height: 100%; background: #6B21D4; animation: preloaderAnim 1.2s ease forwards; }
@keyframes preloaderAnim { from { width: 0 } to { width: 100% } }

/* DARK THEME */
body.dark { background: #0F0D0B; color: #E2DCD2; }
body.dark nav { background: rgba(15,13,11,0.95); border-bottom-color: #2A241E; }
body.dark nav ul a { color: #E2DCD2; }
body.dark .logo { color: #F7F5F0 !important; }
body.dark .logo div { color: #F7F5F0 !important; }
/* Hero title responsive */
.hero h1 { font-size: clamp(2rem, 8vw, 4rem); line-height: 1.1; }
@media (max-width: 768px) {
  .hero h1 { font-size: clamp(1.5rem, 6vw, 2.5rem); }
}
@media (max-width: 480px) {
  .hero h1 { font-size: clamp(1.2rem, 5vw, 2rem); }
}

body.dark .mobile-menu { background: rgba(15,13,11,0.98); border-bottom-color: #2A241E; }
body.dark .mobile-menu a { color: #E2DCD2; border-bottom-color: #2A241E; }

/* Language menu dark theme */
body.dark #langMenu { background: #1A1611 !important; border-color: #2A241E !important; }
body.dark .lang-menu-item { color: #E2DCD2 !important; border-top-color: #2A241E !important; }
body.dark .lang-menu-item:hover { background: #2A241E !important; }
.lang-menu-item:hover { background: #f8f9fa; }
body.dark .hero { background-color: #0F0D0B; }

/* Stats */
body.dark .stats-raw { background: #141210; border-color: #2A241E; }
body.dark .stat-block { border-color: #2A241E; }
body.dark .stat-number { color: #A78BFA; }
body.dark .stat-desc { color: #B8AA9A; }

/* Catalog section */
body.dark .section { background: #0F0D0B; }
body.dark .section-header { border-color: #2A241E; }
body.dark .section-header h2 { color: #F7F5F0; }
body.dark .card-raw { background: #1A1612; border-color: #2A241E; }
body.dark .card-body-raw h3 { color: #F7F5F0; }
body.dark .card-meta { color: #A78BFA; }
body.dark .price-raw { color: #B8AA9A; border-color: #2A241E; }
body.dark .price-raw strong { color: #E2DCD2; }

/* Why section */
body.dark .why-section { background: #141210; border-color: #2A241E; }
body.dark .why-section h2 { color: #F7F5F0; }
body.dark .why-section .section-tag { color: #A78BFA; border-color: #A78BFA; }
body.dark .feature-item { background: #1A1612; border-color: #2A241E; }
body.dark .feature-item h4 { color: #F7F5F0; }
body.dark .feature-item p { color: #B8AA9A; }

/* Form */
body.dark .form-raw { background: #0F0D0B; }
body.dark .form-left h2 { color: #F7F5F0; }
body.dark .form-left p { color: #B8AA9A; }
body.dark .form-note { color: #B8AA9A; }
body.dark .section-tag { color: #A78BFA; border-color: #A78BFA; }
body.dark .styled-form input,
body.dark .styled-form select { background: #1A1612; border-color: #3A3028; color: #E2DCD2; }
body.dark .styled-form input::placeholder { color: #6B6258; }

/* Footer */
body.dark footer { background: #0A0806; }

/* Breadcrumbs */
body.dark .breadcrumbs a { color: #A78BFA; }
body.dark .breadcrumbs { color: #B8AA9A; }

/* Catalog page */
body.dark section[style*="background:#F7F5F0"],
body.dark section[style*="background:white"],
body.dark section[style*="background:#FAFAFA"] { background: #0F0D0B !important; }
body.dark [style*="background:white"] { background: #1A1612 !important; color: #E2DCD2 !important; }
body.dark [style*="background:#F7F5F0"] { background: #0F0D0B !important; }
body.dark [style*="color:#000"],
body.dark [style*="color: #000"],
body.dark [style*="color:#2A241E"],
body.dark [style*="color:#1F1A15"] { color: #E2DCD2 !important; }
body.dark [style*="color:#555"],
body.dark [style*="color:#666"],
body.dark [style*="color:#777"],
body.dark [style*="color:#888"] { color: #B8AA9A !important; }
body.dark [style*="border:1px solid #E2DCD2"] { border-color: #2A241E !important; }
body.dark [style*="border-bottom:1px solid #E2DCD2"] { border-color: #2A241E !important; }

/* About/Contacts hero sections */
body.dark section[style*="background:linear-gradient(135deg,#F7F5F0"] { background: linear-gradient(135deg,#0F0D0B 0%,#1A1020 50%,#0F0D0B 100%) !important; }
body.dark section[style*="background:linear-gradient(135deg,#F7F5F0"] h1 { color: #F7F5F0 !important; }
body.dark section[style*="background:linear-gradient(135deg,#F7F5F0"] p { color: #B8AA9A !important; }
body.dark section[style*="background:linear-gradient(135deg,#F7F5F0"] div[style*="color:#6B21D4"] { color: #A78BFA !important; }
body.dark section[style*="padding:80px 56px;background:#F7F5F0"] { background: #0F0D0B !important; }
body.dark section[style*="padding:48px 56px;background:#F7F5F0"] { background: #0F0D0B !important; }
body.dark section[style*="padding:0 56px 80px;background:#F7F5F0"] { background: #0F0D0B !important; }
body.dark section[style*="padding:72px 56px;background:#F7F5F0"] { background: #0F0D0B !important; }
body.dark section[style*="background:#F7F5F0"] { background: #0F0D0B !important; }
body.dark section[style*="background:white"] { background: #141210 !important; }
body.dark [style*="color:#555"] { color: #B8AA9A !important; }
body.dark [style*="background:white;padding"] { background: #1A1612 !important; }
body.dark [style*="background:#F7F5F0;padding"] { background: #141210 !important; }
body.dark #langMenu { background: #1A1612 !important; border-color: #2A241E !important; }
body.dark #langMenu a { color: #E2DCD2 !important; }
body.dark #langMenu a:hover { background: #2A241E !important; }
body.dark .nav-lang { color: #E2DCD2; border-color: #3A3028; }

/* Catalog filters */
body.dark section[style*="background:white"] { background: #141210 !important; }
body.dark section[style*="background:white"] label { color: #E2DCD2 !important; }
body.dark section[style*="background:white"] input,
body.dark section[style*="background:white"] select { background: #1A1612 !important; border-color: #3A3028 !important; color: #E2DCD2 !important; }
body.dark section[style*="background:white"] a[style*="background:#f8f9fa"] { background: #2A241E !important; color: #B8AA9A !important; border-color: #3A3028 !important; }

.hero .hero-content h1 { text-shadow: 0 2px 8px rgba(255,255,255,0.5); }
.hero .hero-content p { text-shadow: 0 1px 6px rgba(255,255,255,0.6); }
body.dark .hero .hero-content h1 { text-shadow: 0 2px 12px rgba(0,0,0,0.9), 0 0 40px rgba(0,0,0,0.7); }
body.dark .hero .hero-content p { text-shadow: 0 1px 8px rgba(0,0,0,0.95); }
.scroll-top {
  position: fixed; bottom: 100px; right: 24px; z-index: 400;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(107,33,212,0.9); border: none; color: white;
  cursor: pointer; opacity: 0; visibility: hidden;
  transition: all 0.3s ease; display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(4px);
}
.scroll-top.visible { opacity: 1; visibility: visible; }
.scroll-top:hover { background: #5A1AB8; transform: translateY(-2px); }

/* SMOOTH SCROLL */
html { scroll-behavior: smooth; }

/* ACTIVE NAV */
nav ul a.active { color: var(--accent); position: relative; }
nav ul a.active::after { content: ''; position: absolute; bottom: -8px; left: 0; width: 100%; height: 2px; background: var(--accent); }
/* Footer fixes */
footer {
  margin-top: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  clear: both !important;
}

/* Remove flex from body that was causing issues */
body {
  min-height: 100vh;
}

/* Ensure content doesn't overlap footer */
.content, main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Mobile footer adjustments */
@media (max-width: 768px) {
  footer {
    padding: 40px 24px 32px !important;
  }
  
  footer > div > div:first-child {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* Mobile menu fix */
.mobile-menu {
  z-index: 200 !important;
}

.mobile-menu.open {
  z-index: 200 !important;
}
/* Float CTA and scroll button fixes */
.float-cta {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 100 !important;
}

.scroll-top {
  position: fixed !important;
  bottom: 100px !important;
  right: 24px !important;
  z-index: 101 !important;
  width: 48px !important;
  height: 48px !important;
  background: #6B21D4 !important;
  border: none !important;
  border-radius: 50% !important;
  color: white !important;
  cursor: pointer !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.scroll-top.visible {
  opacity: 1 !important;
  visibility: visible !important;
}

.scroll-top:hover {
  background: #5A1AB8 !important;
  transform: translateY(-2px) !important;
}
/* Fix white space on catalog pages */
body, html {
  overflow-x: hidden !important;
}

section {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body.dark .installment-block{background:#1A1612!important;}
body.dark .installment-block div{color:#B8AA9A!important;}
body.dark .installment-block div:first-child{color:#E2DCD2!important;font-weight:600;}
.lang-option{display:block;padding:12px 16px;text-decoration:none;color:#2A241E;font-size:14px;transition:background 0.2s;}
.lang-option:hover{background:#F7F5F0;}
#langMenu{background:white;border:1px solid #E2DCD2;}
body.dark #langMenu{background:#1A1612;border-color:#2A241E;}
body.dark .lang-option{color:#E2DCD2;}
body.dark .lang-option:hover{background:#2A241E;}
body.dark select,
body.dark select option {
  background: #1A1612;
  color: #E2DCD2;
  color-scheme: dark;
}
