:root {
  /* Corporate Colors */
  --primary: #00828a;          /* Deep Teal/Blue-Green */
  --primary-light: #e0f2f1;    /* Very soft primary background */
  --primary-hover: #005f64;
  --secondary: #10b981;        /* Emerald Green (nature, success) */
  --secondary-hover: #059669;
  --accent: #d97706;           /* Amber/Yellow (highlights, price badges) */
  --accent-light: #fef3c7;     /* Soft yellow badge background */
  --bg-main: #f4f8f8;          /* Light green-tinted background */
  --bg-card: #ffffff;
  
  /* Text & Borders */
  --text-main: #0f172a;        /* Deep Slate Navy */
  --text-muted: #4b5563;       /* Slate Gray */
  --border-color: #cbd5e1;     /* Slate-300 */
  --border-light: #e2e8f0;     /* Slate-200 */
  
  /* Layout Options */
  --radius-lg: 16px;
  --radius-md: 12px;
  --radius-sm: 8px;
  
  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 10px 15px -3px rgba(0, 130, 138, 0.05), 0 4px 6px -4px rgba(0, 130, 138, 0.05);
  --shadow-premium: 0 20px 40px -10px rgba(0, 130, 138, 0.08);
}
body {
  margin: 0;
  padding: 0;
  font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif;
  background-color: var(--bg-main);
  color: var(--text-main);
  -webkit-font-smoothing: antialiased;
}
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
/* Header */
header.main-header {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-light);
  padding: 1.25rem 0;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: var(--shadow-sm);
}
.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo-group h1 {
  font-size: 1.6rem;
  font-weight: 800;
  margin: 0;
  color: var(--primary);
  letter-spacing: -0.5px;
}
.logo-group h1 span {
  color: var(--secondary);
}
.header-back-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  font-weight: 600;
  color: var(--primary);
  font-size: 0.95rem;
  transition: transform 0.2s, color 0.2s;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-sm);
  background: var(--primary-light);
}
.header-back-link:hover {
  color: var(--primary-hover);
  transform: translateX(-4px);
}
/* Cotizador Main Layout */
.cotizador-section {
  padding: 2.5rem 0;
}
/* Selection Info Bar */
.selection-info-bar {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-light);
  padding: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: var(--shadow-premium);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  position: relative;
  overflow: hidden;
}
.selection-info-bar::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(to bottom, var(--primary), var(--secondary));
}
.info-block {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.info-block .label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  font-weight: 700;
}
.info-block .value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-main);
}
.info-block .sub-value {
  font-size: 0.9rem;
  color: var(--primary);
  font-weight: 600;
}
.change-parcela-btn-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#btn-change-parcela {
  background: #fee2e2;
  color: #ef4444;
  border: 1px solid #fecaca;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.6rem 1.2rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.2s, color 0.2s, transform 0.2s;
}
#btn-change-parcela:hover {
  background: #fecaca;
  color: #dc2626;
  transform: translateY(-1px);
}
#btn-change-parcela:active {
  transform: translateY(0);
}
/* Two-column layout */
.cotizador-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 992px) {
  .cotizador-layout {
    grid-template-columns: 1.6fr 1fr;
  }
}
.options-box {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-light);
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: var(--shadow-premium);
  transition: transform 0.3s ease;
}
.options-box h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--primary);
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.options-box h3 i {
  color: var(--secondary);
}
.options-box .box-description {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
}
/* Foundations Cards Grid */
.fundaciones-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 576px) {
  .fundaciones-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}
.fundacion-card-premium {
  background: #f8fafc;
  border: 2px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
}
.fundacion-card-premium:hover {
  border-color: var(--primary);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  background: #fff;
}
.fundacion-card-premium.selected {
  border-color: var(--secondary);
  background-color: #ecfdf5; /* Emerald-50 tint */
}
.fundacion-card-premium input[type="radio"] {
  position: absolute;
  top: 1rem;
  right: 1rem;
  accent-color: var(--secondary);
  width: 1.2rem;
  height: 1.2rem;
  cursor: pointer;
}
.fundacion-card-title {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--text-main);
  padding-right: 1.5rem;
}
.fundacion-card-price {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--primary);
  margin-top: 0.5rem;
}
.fundacion-card-price span {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--text-muted);
}
/* Extras List */
.extras-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.extra-card-premium {
  background: #f8fafc;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
}
.extra-card-premium:hover {
  border-color: var(--primary);
  background: #fff;
}
.extra-card-premium.selected {
  border-color: var(--secondary);
  background-color: #ecfdf5;
}
.extra-card-premium input[type="checkbox"] {
  accent-color: var(--secondary);
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
}
.extra-info-group {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.extra-card-title {
  font-weight: 700;
  color: var(--text-main);
  font-size: 1rem;
}
.extra-card-desc {
  font-size: 0.8rem;
  color: var(--text-muted);
}
.extra-card-price {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--primary);
}
.extra-card-price span {
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 400;
}
/* Quantity Control */
.qty-control-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  padding: 0.25rem;
  box-shadow: var(--shadow-sm);
}
.qty-control-wrapper input[type="number"] {
  border: none;
  width: 45px;
  text-align: center;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--text-main);
  background: transparent;
  outline: none;
}
/* Remove default arrows for chrome/safari */
.qty-control-wrapper input[type="number"]::-webkit-outer-spin-button,
.qty-control-wrapper input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
.qty-control-wrapper input[type="number"] {
  -moz-appearance: textfield;
}
/* Sidebar Quote Summary */
.sticky-sidebar {
  position: sticky;
  top: 90px;
  z-index: 10;
}
.cotizacion-summary-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-light);
  padding: 2rem;
  box-shadow: var(--shadow-lg);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.summary-header h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--primary-light);
}
.summary-header h3 i {
  color: var(--secondary);
}
.summary-table {
  width: 100%;
  border-collapse: collapse;
}
.summary-table th {
  text-align: left;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border-light);
}
.summary-table td {
  padding: 0.85rem 0;
  font-size: 0.9rem;
  border-bottom: 1px dashed var(--border-light);
  color: var(--text-main);
}
.summary-table tr:last-child td {
  border-bottom: none;
}
.summary-item-name {
  font-weight: 600;
}
.summary-item-value {
  text-align: right;
  font-weight: 700;
  color: var(--primary);
}
.summary-total-box {
  background: var(--primary-light);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-left: 4px solid var(--primary);
  margin-top: 0.5rem;
}
.total-label {
  font-weight: 700;
  color: var(--primary-hover);
  font-size: 1rem;
}
.total-amount {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--primary-hover);
  text-shadow: 0 1px 1px rgba(0,0,0,0.05);
}
/* WhatsApp button styling */
.btn-whatsapp-quote {
  width: 100%;
  background: var(--secondary);
  color: #ffffff;
  border: none;
  padding: 1rem 1.5rem;
  border-radius: var(--radius-md);
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  box-shadow: 0 4px 10px rgba(16, 185, 129, 0.2);
}
.btn-whatsapp-quote:hover {
  background: var(--secondary-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(16, 185, 129, 0.3);
}
.btn-whatsapp-quote:active {
  transform: translateY(0);
}
/* Pulse animation */
.pulse {
  animation: shadowPulse 2s infinite;
}
@keyframes shadowPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}
/* Yellow Highlight Badge for features */
.badge-highlight {
  background-color: var(--accent-light);
  color: var(--accent);
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
/* Footer */
footer.main-footer {
  background: #0f172a;
  color: #94a3b8;
  padding: 2rem 0;
  margin-top: 4rem;
  font-size: 0.9rem;
  border-top: 1px solid #1e293b;
}
.footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
@media (min-width: 576px) {
  .footer-inner {
    flex-direction: row;
    justify-content: space-between;
  }
}


/* Mejoras activar proyecto */
.btn-activate-project{width:100%;border:0;border-radius:18px;padding:16px 18px;margin-top:12px;background:linear-gradient(135deg,#ffc107,#ffd447);color:#17324a;font-weight:900;cursor:pointer;box-shadow:0 16px 35px rgba(255,193,7,.32);display:flex;align-items:center;justify-content:center;gap:10px;}
.project-note{font-size:.78rem;color:var(--text-muted);text-align:center;line-height:1.35;margin:10px 0 0;}
.pdf-logo{font-weight:900;color:#004785;letter-spacing:.3px;}


/* ===== Ajustes v4 cotizador: marca y PDF ===== */
.logo-group-brand{display:flex;align-items:center;gap:14px;}
.cotizador-brand-logo{height:58px;width:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,71,133,.18));}
.btn-activate-project{background:linear-gradient(135deg,#004785,#00828a)!important;color:#fff!important;box-shadow:0 18px 36px rgba(0,71,133,.24)!important;}
.project-note{font-size:.86rem;color:#526376;line-height:1.35;margin-top:10px;font-weight:700;}
.lead-modal form input,.lead-modal form textarea{width:100%;box-sizing:border-box;border:1px solid #d8e3ed;border-radius:14px;padding:12px 14px;margin-bottom:10px;font:inherit;}
.lead-modal h3{color:#004785;font-size:1.45rem;}
@media(max-width:700px){.cotizador-brand-logo{height:46px}.logo-group-brand h1{font-size:1.25rem}}

/* =====================================================
   TU PARCELA LISTA 2.0 - COTIZADOR DISEÑO PROPIO
===================================================== */
.custom-designer-box{border:2px solid rgba(242,190,26,.45)!important;background:linear-gradient(180deg,#fffdf5,#fff)!important}.custom-designer-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.btn-own-design{border:0;border-radius:999px;background:linear-gradient(135deg,#f2be1a,#ffd85a);color:#102a43;font-weight:950;padding:14px 20px;cursor:pointer;box-shadow:0 12px 30px rgba(242,190,26,.25)}.custom-designer-panel{display:none;margin-top:22px}.custom-designer-panel.active{display:block}.custom-grid-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0}.custom-grid-inputs label{display:grid;gap:8px;font-weight:800;color:#0f2740}.custom-grid-inputs input,.custom-grid-inputs select{border:1px solid #dbe4ee;border-radius:16px;padding:12px 14px;font-weight:800;background:#fff}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 22px}.choice-card{border:1px solid #dbe4ee;border-radius:20px;padding:14px;background:#fff;cursor:pointer;display:grid;gap:6px}.choice-card:has(input:checked){border-color:#00828a;box-shadow:0 0 0 3px rgba(0,130,138,.12);background:#f2fbfb}.choice-card input{accent-color:#00828a}.choice-card strong{color:#003f7a}.choice-card span{font-weight:900;color:#00828a}.choice-card small{color:#64748b;line-height:1.35}.custom-live-total{display:flex;justify-content:space-between;align-items:center;background:#003f7a;color:#fff;border-radius:22px;padding:18px 20px;font-weight:900}.custom-live-total strong{font-size:1.45rem;color:#f2be1a}@media(max-width:900px){.custom-designer-head,.custom-grid-inputs,.choice-grid{grid-template-columns:1fr;display:grid}.custom-designer-head{align-items:stretch}}


/* Cotizador: flujo construcción + m² + habitaciones */
.construction-grid .fundacion-card-premium{min-height:122px;}
.build-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
.build-controls label{display:flex;flex-direction:column;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:14px;}
.build-controls span{font-weight:900;color:#003f7a;font-size:.92rem;}
.build-controls input{border:1px solid #dbe4ee;border-radius:14px;padding:13px 14px;font-size:1.1rem;font-weight:900;color:#0f2740;}
.progress-images{margin-top:18px;background:#fffdf4;border:1px solid rgba(242,190,26,.35);border-radius:20px;padding:14px;}
.progress-images h4{margin:0 0 12px;color:#003f7a;font-size:1rem;}
.progress-images-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.progress-images-grid img{width:100%;height:145px;object-fit:cover;border-radius:16px;box-shadow:0 10px 24px rgba(15,23,42,.12);}
@media(max-width:760px){.build-controls,.progress-images-grid{grid-template-columns:1fr}.progress-images-grid img{height:180px}}

/* =====================================================
   Cotizador diseño propio: visualizador arquitectónico
   ===================================================== */
.visualizer-box{
  margin-top:22px;
  background:linear-gradient(145deg,#ffffff,#f3faf9);
  border:1px solid rgba(0,130,138,.18);
  border-radius:24px;
  padding:18px;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.visualizer-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.visualizer-title-row h4{margin:0;color:#003f7a;font-size:1.1rem;font-weight:900;}
.visualizer-title-row p{margin:4px 0 0;color:#64748b;font-size:.86rem;line-height:1.35;}
.visualizer-badge{white-space:nowrap;background:rgba(242,190,26,.18);border:1px solid rgba(242,190,26,.45);color:#7a5300;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.78rem;}
.architecture-visualizer{position:relative;min-height:390px;border-radius:24px;overflow:hidden;background:linear-gradient(#9ed7ff 0 42%,#77ba62 42% 100%);isolation:isolate;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);}
.visual-sky span{position:absolute;width:95px;height:32px;border-radius:999px;background:rgba(255,255,255,.8);filter:blur(.2px);animation:cloudMove 18s linear infinite;}
.visual-sky span:nth-child(1){top:35px;left:10%;}.visual-sky span:nth-child(2){top:72px;left:52%;animation-duration:24s}.visual-sky span:nth-child(3){top:28px;left:78%;animation-duration:30s}
@keyframes cloudMove{0%{transform:translateX(-20px)}50%{transform:translateX(28px)}100%{transform:translateX(-20px)}}
.visual-mountains{position:absolute;left:0;right:0;top:118px;height:120px;background:linear-gradient(135deg,transparent 0 22%,rgba(38,92,118,.58) 22% 45%,transparent 45%),linear-gradient(225deg,transparent 0 25%,rgba(25,76,103,.52) 25% 48%,transparent 48%);opacity:.72;}
.visual-field{position:absolute;left:-8%;right:-8%;bottom:-15%;height:52%;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.2) 0 2px,transparent 3px),linear-gradient(160deg,#67ad48,#2f7b3f);transform:skewY(-3deg);}
.visual-house{position:absolute;left:50%;bottom:74px;width:260px;height:158px;transform:translateX(-50%);transition:all .45s ease;filter:drop-shadow(0 24px 22px rgba(15,23,42,.24));}
.house-small .visual-house{width:210px;height:136px}.house-medium .visual-house{width:280px;height:166px}.house-large .visual-house{width:352px;height:188px}
.visual-roof{position:absolute;left:5%;right:5%;top:0;height:66px;background:#182a3a;clip-path:polygon(8% 100%,50% 0,92% 100%);}
.visual-roof:after{content:"";position:absolute;left:18%;right:18%;bottom:5px;height:12px;background:rgba(255,255,255,.12);border-radius:999px;}
.visual-body{position:absolute;left:12%;right:12%;bottom:22px;height:102px;background:#d8a35c;border:3px solid rgba(85,54,24,.18);border-radius:10px 10px 4px 4px;box-shadow:inset 0 18px 0 rgba(255,255,255,.09);transition:background .35s ease;}
.madera_economica .visual-body{background:repeating-linear-gradient(0deg,#d79a4a 0 9px,#c9893d 10px 18px)}
.metalcon_simple .visual-body{background:linear-gradient(90deg,#dfe7ee,#b9c7d3)}
.premium_madera_metalcon .visual-body{background:linear-gradient(90deg,#b98043 0 45%,#dde5ec 45% 100%)}
.cemento .visual-body{background:linear-gradient(90deg,#b7bab9,#8f9695)}
.visual-body .window,.visual-body .door{position:absolute;bottom:23px;background:linear-gradient(145deg,#dff7ff,#557d96);border:3px solid rgba(14,42,67,.5);border-radius:6px;}
.visual-body .window{width:38px;height:38px}.visual-body .w1{left:13%}.visual-body .w2{right:13%}.visual-body .w3{display:none;left:43%}.house-large .visual-body .w3{display:block}.visual-body .door{left:50%;transform:translateX(-50%);width:34px;height:66px;background:linear-gradient(#71431e,#4a2a13);}
.visual-deck{position:absolute;left:18%;right:18%;bottom:4px;height:20px;background:repeating-linear-gradient(90deg,#ad7a3c 0 16px,#93642e 17px 30px);border-radius:4px;display:none}.has-terrace .visual-deck{display:block;animation:popIn .35s ease both}
.visual-pool{position:absolute;right:8%;bottom:35px;width:120px;height:46px;border-radius:50%;background:radial-gradient(circle,#9df4ff,#168bbb);border:8px solid rgba(255,255,255,.78);box-shadow:0 15px 20px rgba(0,0,0,.18);display:none}.has-pool .visual-pool{display:block;animation:popIn .35s ease both}
.visual-fence{position:absolute;left:0;right:0;bottom:42px;height:34px;background:repeating-linear-gradient(90deg,rgba(102,61,25,.92) 0 8px,transparent 8px 26px);display:none;opacity:.85}.has-fence .visual-fence{display:block}
.visual-terrace,.visual-quincho,.visual-parking,.visual-storage,.visual-landscape,.paint-roller,.light-bulb{position:absolute;display:none;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(0,63,122,.16);box-shadow:0 12px 26px rgba(15,23,42,.18);color:#003f7a;z-index:8}.visual-terrace{left:26%;bottom:40px;width:42px;height:42px}.visual-quincho{left:8%;bottom:92px;width:48px;height:48px;color:#b45309}.visual-parking{right:14%;bottom:88px;width:50px;height:50px}.visual-storage{left:12%;bottom:44px;width:48px;height:48px}.visual-landscape{right:29%;bottom:32px;width:46px;height:46px;color:#15803d}.paint-roller{right:-18px;top:68px;width:46px;height:46px;color:#be123c}.light-bulb{left:-18px;top:68px;width:46px;height:46px;color:#d97706}
.has-terrace .visual-terrace,.has-quincho .visual-quincho,.has-parking .visual-parking,.has-storage .visual-storage,.has-landscape .visual-landscape,.has-paint .paint-roller,.has-light .light-bulb{display:flex;animation:popIn .35s ease both}.has-paint .visual-body{box-shadow:inset 0 0 0 999px rgba(255,255,255,.18)}.has-light .window{box-shadow:0 0 18px #fde68a;background:#fff4b3}
@keyframes popIn{from{transform:scale(.65);opacity:0}to{transform:scale(1);opacity:1}}
.visual-info-card{position:absolute;left:18px;top:18px;z-index:10;display:flex;flex-direction:column;gap:3px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:18px;padding:12px 14px;box-shadow:0 14px 32px rgba(15,23,42,.12)}
.visual-info-card strong{color:#003f7a;font-size:.98rem}.visual-info-card span{color:#0f172a;font-weight:800;font-size:.83rem}.visual-info-card small{color:#64748b;font-size:.76rem}
.visual-tags{position:absolute;left:18px;right:18px;bottom:18px;z-index:12;display:flex;flex-wrap:wrap;gap:8px}.visual-tags span{display:inline-flex;align-items:center;gap:6px;background:rgba(0,63,122,.86);color:white;border-radius:999px;padding:8px 10px;font-size:.76rem;font-weight:800;backdrop-filter:blur(8px)}.visual-tags svg{width:15px;height:15px}
.construction-progress-box{background:linear-gradient(180deg,#fff,#f8fbfd)}
.construction-stages-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.stage-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:14px;min-height:150px;box-shadow:0 10px 24px rgba(15,23,42,.06);transition:transform .2s ease,border-color .2s ease;}
.stage-card:hover{transform:translateY(-3px);border-color:rgba(0,130,138,.45)}.stage-card.done{background:linear-gradient(180deg,#ffffff,#f0fdf4)}.stage-card.active{border-color:#00828a;box-shadow:0 16px 34px rgba(0,130,138,.14)}
.stage-number{position:absolute;right:12px;top:10px;font-weight:1000;color:#cbd5e1;font-size:1.2rem}.stage-icon{width:38px;height:38px;border-radius:14px;background:#edf7f7;color:#00828a;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.stage-icon svg{width:20px;height:20px}.stage-card h4{margin:0 0 6px;color:#0f2740;font-size:.9rem;line-height:1.15}.stage-card p{margin:0;color:#64748b;font-size:.75rem;line-height:1.28}.stage-bar{position:absolute;left:14px;right:14px;bottom:12px;height:6px;background:#edf2f7;border-radius:999px;overflow:hidden}.stage-bar span{display:block;height:100%;background:linear-gradient(90deg,#00828a,#5fa723);border-radius:inherit;transition:width .35s ease}
@media(max-width:980px){.architecture-visualizer{min-height:360px}.construction-stages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.house-large .visual-house{width:305px}.visual-pool{right:4%;width:92px}}
@media(max-width:620px){.visualizer-title-row{flex-direction:column}.architecture-visualizer{min-height:345px}.visual-house,.house-small .visual-house,.house-medium .visual-house,.house-large .visual-house{width:225px;height:142px;bottom:76px}.visual-body{height:88px}.visual-roof{height:58px}.visual-info-card{left:12px;right:12px;top:12px}.visual-tags{left:12px;right:12px;bottom:12px}.construction-stages-grid{grid-template-columns:1fr}.stage-card{min-height:132px}.build-controls{grid-template-columns:1fr!important}}

/* =====================================================
   MEJORA VISUALIZADOR DISEÑO PROPIO - JULIO 2026
===================================================== */
.architecture-visualizer{
  min-height:470px!important;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,246,190,.95) 0 42px, transparent 43px),
    linear-gradient(180deg,#8bd1ff 0 40%,#cdefff 40% 45%,#72b75b 45% 100%)!important;
  border:1px solid rgba(0,63,122,.12)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72), 0 24px 60px rgba(15,23,42,.10)!important;
}
.visual-mountains{top:132px!important;height:135px!important;opacity:.62!important;}
.visual-field{height:56%!important;bottom:-18%!important;background:radial-gradient(circle at 28% 58%,rgba(255,255,255,.24) 0 2px,transparent 3px),linear-gradient(150deg,#80c15d,#3f8d45 55%,#2f6b3a)!important;}
.visual-path{position:absolute;left:45%;bottom:-18px;width:220px;height:180px;background:linear-gradient(180deg,rgba(235,220,190,.92),rgba(160,126,83,.72));clip-path:polygon(42% 0,62% 0,100% 100%,0 100%);filter:blur(.2px);z-index:1;}
.visual-foundation{position:absolute;left:50%;bottom:86px;width:330px;height:26px;transform:translateX(-50%) perspective(200px) rotateX(50deg);background:linear-gradient(90deg,#d7d9d8,#9ca3af);border-radius:10px;box-shadow:0 18px 20px rgba(15,23,42,.22);z-index:3;}
.visual-house{bottom:112px!important;z-index:5!important;width:320px!important;height:205px!important;}
.house-small .visual-house{width:255px!important;height:170px!important;}
.house-medium .visual-house{width:340px!important;height:210px!important;}
.house-large .visual-house{width:430px!important;height:235px!important;}
.visual-roof{height:82px!important;filter:drop-shadow(0 10px 8px rgba(15,23,42,.18));}
.visual-roof span{position:absolute;left:50%;top:18px;width:46px;height:48px;background:#263849;border-radius:6px 6px 0 0;transform:translateX(-50%);clip-path:polygon(18% 100%,18% 20%,82% 20%,82% 100%);}
.visual-body{height:132px!important;bottom:24px!important;border-radius:14px 14px 6px 6px!important;overflow:hidden;}
.visual-body .siding-lines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(255,255,255,.22) 14px 15px);pointer-events:none;}
.visual-body .window{width:48px!important;height:48px!important;bottom:38px!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.28);}
.visual-body .door{height:84px!important;width:42px!important;bottom:0!important;border-radius:7px 7px 0 0!important;}
.visual-deck{bottom:0!important;height:28px!important;left:10%!important;right:10%!important;}
.visual-pool{right:7%!important;bottom:64px!important;width:150px!important;height:58px!important;z-index:6!important;}
.visual-fence{bottom:75px!important;z-index:2!important;}
.visual-terrace{left:29%!important;bottom:82px!important;}
.visual-quincho{left:8%!important;bottom:136px!important;}
.visual-parking{right:15%!important;bottom:136px!important;}
.visual-storage{left:13%!important;bottom:86px!important;}
.visual-landscape{right:32%!important;bottom:68px!important;}
.paint-roller{right:-28px!important;top:84px!important;}
.light-bulb{left:-28px!important;top:84px!important;}
.visual-info-card{max-width:min(420px,calc(100% - 32px))!important;}
.visual-tags{bottom:20px!important;z-index:20!important;}
.construction-stages-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
.stage-card{min-height:162px!important;border-radius:20px!important;}
.stage-card h4{font-size:.84rem!important;}
.stage-card p{font-size:.72rem!important;}
@media(max-width:1180px){.construction-stages-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.house-large .visual-house{width:380px!important}}
@media(max-width:900px){.construction-stages-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.architecture-visualizer{min-height:430px!important}.house-large .visual-house{width:330px!important}.visual-foundation{width:280px!important}.visual-pool{width:110px!important}}
@media(max-width:620px){.architecture-visualizer{min-height:400px!important}.visual-house,.house-small .visual-house,.house-medium .visual-house,.house-large .visual-house{width:235px!important;height:162px!important;bottom:108px!important}.visual-body{height:98px!important}.visual-roof{height:64px!important}.visual-foundation{bottom:88px!important;width:230px!important}.visual-pool{right:2%!important;bottom:60px!important;width:86px!important;height:42px!important}.visual-tags{max-height:86px;overflow:auto}.construction-stages-grid{grid-template-columns:1fr!important}}
