/** * TOEMCASA - Components CSS * Botoes, cards, forms, badges e outros componentes */*,*::before,*::after{ -webkit-tap-highlight-color:transparent; -webkit-touch-callout:none;}.btn{ display:inline-flex; align-items:center; justify-content:center; gap:var(--spacing-sm); padding:0.75rem 1.5rem; font-family:var(--font-family); font-size:var(--font-size-base); font-weight:500; line-height:1; text-align:center; text-decoration:none; border:2px solid transparent; border-radius:var(--radius-md); cursor:pointer; transition:all var(--transition-base); white-space:nowrap;}.btn:disabled{ opacity:0.6; cursor:not-allowed;}.btn-primary{ background:var(--btn-primary-bg, var(--gradient-primary)); color:var(--btn-primary-text, #ffffff); border-color:transparent;}a.btn-primary{ color:var(--btn-primary-text, #ffffff);}.btn-primary:hover:not(:disabled){ background:var(--btn-primary-hover, var(--gradient-primary)); border-color:transparent; transform:translateY(-1px); box-shadow:var(--shadow-md); filter:brightness(1.05);}.btn-gradient{ background:var(--gradient-primary) !important; color:var(--btn-primary-text, white); border-color:transparent;}.btn-gradient:hover:not(:disabled){ filter:brightness(1.1); transform:translateY(-1px); box-shadow:0 4px 12px rgba(var(--cor-primaria-rgb), 0.35);}.btn-secondary,.btn-outline{ background:transparent; color:var(--cor-primaria); border-color:var(--cor-primaria);}.btn-secondary:hover:not(:disabled),.btn-outline:hover:not(:disabled){ background:var(--cor-primaria); color:white;}.btn-light{ background:white; color:var(--text-primary); border-color:var(--border-color);}.btn-light:hover:not(:disabled){ background:var(--bg-input); border-color:var(--border-color-hover);}.btn-white{ background:white; color:var(--text-primary); border-color:white;}.btn-white:hover:not(:disabled){ background:var(--bg-input);}.btn-sm{ padding:0.5rem 1rem; font-size:var(--font-size-sm);}.btn-lg{ padding:1rem 2rem; font-size:var(--font-size-lg);}.btn-icon{ padding:0.75rem; width:44px; height:44px;}.btn-icon.btn-sm{ padding:0.5rem; width:36px; height:36px;}.btn-block{ display:flex; width:100%;}.card{ background:var(--bg-card); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); overflow:hidden; transition:all var(--transition-base);}.card:hover{ box-shadow:var(--shadow-card-hover);}.card-img{ position:relative; overflow:hidden; aspect-ratio:16/10;}.card-img img{ width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow);}.card:hover .card-img img{ transform:scale(1.05);}.card-body{ padding:var(--spacing-md);}.card-title{ font-size:var(--font-size-lg); font-weight:600; margin-bottom:var(--spacing-xs); color:var(--text-primary); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}.card-text{ color:var(--text-secondary); font-size:var(--font-size-sm);}.card-vertical-v2{ position:relative; display:flex; flex-direction:column; height:100%; background:var(--bg-card); border-radius:var(--radius-2xl); box-shadow:var(--shadow-card); overflow:hidden; transition:all var(--transition-base);}.card-vertical-v2:hover{ box-shadow:var(--shadow-card-hover); transform:translateY(-4px);}.card-vertical-v2-link{ display:flex; flex-direction:column; height:100%; text-decoration:none; color:inherit;}.card-vertical-v2-img{ position:relative; aspect-ratio:16/10; overflow:hidden;}.card-vertical-v2-img img{ width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow);}.card-vertical-v2:hover .card-vertical-v2-img img{ transform:scale(1.05);}.card-vertical-v2-body{ padding:var(--spacing-md);}.card-vertical-v2-count{ position:absolute; bottom:var(--spacing-sm); right:var(--spacing-sm); display:flex; align-items:center; gap:4px; padding:4px 8px; background:rgba(0,0,0,0.7); color:white; font-size:var(--font-size-xs); border-radius:var(--radius-sm);}.card-vertical-v2 img.lazy{ opacity:0; transition:opacity var(--transition-base);}.card-vertical-v2 img.lazy.loaded{ opacity:1;}.card-vertical-v2-badges{ position:absolute; top:var(--spacing-sm); left:var(--spacing-sm); display:flex; flex-wrap:wrap; gap:var(--spacing-xs); z-index:2;}.card-vertical-v2-favorite{ position:absolute; top:var(--spacing-sm); right:var(--spacing-sm); width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.9); border-radius:var(--radius-full); border:none; cursor:pointer; z-index:2; transition:all var(--transition-fast);}.card-vertical-v2-favorite:hover{ background:white; transform:scale(1.1);}.card-vertical-v2-favorite svg{ transition:all var(--transition-fast);}.card-vertical-v2-favorite:hover svg,.card-vertical-v2-favorite.active svg{ fill:#ef4444; stroke:#ef4444;}.card-vertical-v2-title{ font-size:var(--font-size-base); font-weight:600; color:var(--text-primary); margin:0 0 var(--spacing-xs);}.card-vertical-v2-price{ font-size:var(--font-size-xl); font-weight:700; color:var(--cor-primaria); margin-bottom:var(--spacing-xs);}.card-vertical-v2-price small{ font-size:var(--font-size-sm); font-weight:400; color:var(--text-muted);}.card-vertical-v2-features{ display:flex; flex-wrap:wrap; gap:var(--spacing-md); padding-top:var(--spacing-md); border-top:1px solid var(--border-color); margin-top:auto;}.card-vertical-v2-feature{ display:flex; align-items:center; gap:var(--spacing-xs); font-size:var(--font-size-sm); color:var(--text-secondary);}.card-vertical-v2-feature svg{ width:16px; height:16px; color:var(--text-muted);}.badge{ display:inline-flex; align-items:center; padding:0.25rem 0.625rem; font-size:var(--font-size-xs); font-weight:600; text-transform:uppercase; letter-spacing:0.025em; border-radius:var(--radius-sm); white-space:nowrap;}.badge-primary{ background:var(--cor-primaria); color:white;}.badge-success{ background:#10b981; color:white;}.badge-warning{ background:#f59e0b; color:white;}.badge-danger{ background:#ef4444; color:white;}.badge-dark{ background:rgba(0,0,0,0.7); color:white;}.badge-light{ background:rgba(255,255,255,0.9); color:var(--text-primary);}.form-group{ margin-bottom:var(--spacing-md);}.form-label{ display:block; font-size:var(--font-size-sm); font-weight:500; color:var(--text-primary); margin-bottom:var(--spacing-xs);}.form-control{ display:block; width:100%; padding:0.75rem 1rem; font-family:var(--font-family); font-size:var(--font-size-base); color:var(--text-primary); background:var(--bg-input); border:1px solid var(--border-color); border-radius:var(--radius-md); transition:all var(--transition-fast);}.form-control:focus{ outline:none; border-color:var(--cor-primaria); box-shadow:0 0 0 3px rgba(var(--cor-primaria-rgb), 0.1);}.form-control::placeholder{ color:var(--text-muted);}.form-control-lg{ padding:1rem 1.25rem; font-size:var(--font-size-lg);}.form-select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem;}textarea.form-control{ min-height:120px; resize:vertical;}.input-group{ display:flex; position:relative;}.input-group .form-control{ flex:1;}.input-group .form-control:not(:last-child){ border-top-right-radius:0; border-bottom-right-radius:0;}.input-group .btn:last-child{ border-top-left-radius:0; border-bottom-left-radius:0; margin-left:-1px;}.search-box{ background:white; border-radius:var(--radius-xl); padding:var(--spacing-md); box-shadow:var(--shadow-lg);}.search-box-hero{ background:transparent; padding:0; box-shadow:none; border-radius:0;}.search-box-row{ display:flex; flex-wrap:wrap; gap:var(--spacing-md); align-items:flex-end;}.search-box-field{ flex:1; min-width:150px;}.search-box-field label{ display:block; font-size:var(--font-size-xs); font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-secondary); margin-bottom:var(--spacing-xs);}.search-box-field .form-control,.search-box-field .form-select{ background:var(--bg-input); border:none;}.search-box .btn-primary{ padding:0.875rem 2rem;}@media (max-width:767px){ .search-box-field{ flex:1 1 100%;}}.pills{ display:flex; flex-wrap:wrap; gap:var(--spacing-sm);}.pill{ display:inline-flex; align-items:center; gap:var(--spacing-xs); padding:0.5rem 1rem; font-size:var(--font-size-sm); font-weight:500; color:var(--text-secondary); background:white; border:1px solid var(--border-color); border-radius:var(--radius-full); cursor:pointer; transition:all var(--transition-fast); text-decoration:none;}.pill:hover{ border-color:var(--cor-primaria); color:var(--cor-primaria);}.pill.active,.pill:active{ background:var(--gradient-primary); border-color:var(--cor-primaria); color:white;}.pill svg{ width:16px; height:16px;}.skeleton{ background:linear-gradient(90deg, var(--bg-input) 25%, #e2e8f0 50%, var(--bg-input) 75%); background-size:200% 100%; animation:skeleton-loading 1.5s infinite; border-radius:var(--radius-md);}@keyframes skeleton-loading{ 0%{background-position:200% 0} 100%{background-position:-200% 0}}.skeleton-text{ height:1em; margin-bottom:var(--spacing-xs);}.skeleton-title{ height:1.5em; width:80%;}.skeleton-img{ aspect-ratio:16/10;}.spinner{ width:24px; height:24px; border:3px solid var(--border-color); border-top-color:var(--cor-primaria); border-radius:50%; animation:spin 0.8s linear infinite;}@keyframes spin{ to{transform:rotate(360deg)}}.overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0, 0, 0, 0.5);}.overlay-gradient{ background:linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);}.img-placeholder{ background:var(--bg-input); display:flex; align-items:center; justify-content:center; color:var(--text-muted);}.divider{ height:1px; background:var(--border-color); margin:var(--spacing-lg) 0;}.social-icons{ display:flex; gap:var(--spacing-sm);}.social-icon{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.1); border-radius:var(--radius-md); color:inherit; transition:all var(--transition-fast);}.social-icon:hover{ background:var(--cor-primaria); color:white; transform:translateY(-2px);}.card-horizontal-v1{ position:relative; background:var(--bg-card); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); overflow:visible; transition:all var(--transition-base); cursor:pointer;}.card-horizontal-v1-favorito{ position:absolute; top:var(--spacing-sm); right:var(--spacing-sm); width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.85); border-radius:var(--radius-full); border:none; cursor:pointer; z-index:10; transition:all var(--transition-fast);}.card-horizontal-v1-favorito:hover{ background:white; transform:scale(1.1);}.card-horizontal-v1-favorito svg{ transition:all var(--transition-fast); stroke:#9ca3af;}.card-horizontal-v1-favorito:hover svg{ stroke:#ef4444;}.card-horizontal-v1-favorito.active svg{ fill:#ef4444; stroke:#ef4444;}.card-horizontal-v1:hover{ box-shadow:var(--shadow-card-hover);}.card-horizontal-v1-inner{ display:flex; flex-direction:row; min-height:300px; overflow:hidden; border-radius:var(--radius-lg);}.card-horizontal-v1-img{ position:relative; width:50%; min-width:350px; max-width:480px; height:300px; flex-shrink:0; overflow:hidden; border-radius:var(--radius-lg) 0 0 var(--radius-lg);}.card-horizontal-v1-img > a{ display:block; width:100%; height:100%;}.card-horizontal-v1-img img{ width:100%; height:100%; object-fit:cover; display:block;}.card-horizontal-v1-img .img-placeholder{ width:100%; height:100%; background:var(--bg-input); display:flex; align-items:center; justify-content:center; color:var(--text-muted);}.card-horizontal-v1 .card-swiper{ width:100%; height:100%;}.card-horizontal-v1 .swiper-slide{ width:100%; height:100%;}.card-horizontal-v1 .swiper-slide img{ width:100%; height:100%; object-fit:cover; border-radius:15px;}.card-horizontal-v1 .swiper-button-prev,.card-horizontal-v1 .swiper-button-next{ width:42px; height:42px; background:linear-gradient(145deg, rgba(0, 0, 0, 0.5), rgba(33, 33, 33, 0.6)); border-radius:var(--radius-full); backdrop-filter:blur(4px); border:1px solid rgba(255, 255, 255, 0.1); box-shadow:0 2px 8px rgba(0, 0, 0, 0.15); opacity:1; transition:all 0.25s ease; z-index:10;}.card-horizontal-v1 .swiper-button-prev::after,.card-horizontal-v1 .swiper-button-next::after{ font-size:12px; font-weight:bold; color:white;}.card-horizontal-v1 .swiper-button-prev:hover,.card-horizontal-v1 .swiper-button-next:hover{ background:linear-gradient(145deg, rgba(40, 40, 40, 0.85), rgba(0, 0, 0, 0.9)); transform:scale(1.08);}.card-horizontal-v1 .swiper-button-disabled,.swiper-button-disabled{ opacity:0.25 !important; pointer-events:auto !important; cursor:default !important;}.card-horizontal-v1 .more-images-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.6); display:flex; align-items:center; justify-content:center;}.card-horizontal-v1 .more-images-overlay span{ color:white; font-size:var(--font-size-2xl); font-weight:600;}.card-horizontal-v1-gradient{ position:absolute; bottom:0; left:0; right:0; height:40%; background:linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.15) 60%, transparent 100%); pointer-events:none; z-index:2;}.card-horizontal-v1-price-overlay{ position:absolute; bottom:0; left:0; right:0; padding:var(--spacing-sm) var(--spacing-md); color:white; text-align:right; z-index:3;}.card-horizontal-v1-price-main{ font-size:var(--font-size-lg); font-weight:600;}.card-horizontal-v1-price-main small{ font-size:var(--font-size-sm); font-weight:400; opacity:0.8;}.card-horizontal-v1-price-extras{ display:flex; justify-content:flex-end; gap:var(--spacing-md); font-size:var(--font-size-sm); opacity:0.9; margin-top:var(--spacing-xs);}.card-horizontal-v1-badges{ position:absolute; top:var(--spacing-md); left:var(--spacing-md); display:flex; flex-wrap:wrap; gap:var(--spacing-xs); z-index:2;}.card-horizontal-v1-content{ flex:1; display:flex; flex-direction:column; padding:var(--spacing-md); padding-top:12px; min-width:0; overflow:hidden;}.visually-hidden{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0;}.card-horizontal-v1-edificio{ font-size:var(--font-size-sm); font-weight:600; color:var(--text-secondary);}.card-horizontal-v1-edificio:hover{ color:var(--cor-primaria);}.card-horizontal-v1-titulo{ font-size:var(--font-size-lg); font-weight:700; margin:0 0 var(--spacing-xs); display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}.card-horizontal-v1-titulo a{ color:var(--cor-primaria); text-decoration:none; transition:color var(--transition-fast);}.card-horizontal-v1-titulo a:hover{ color:var(--cor-primaria-hover, var(--cor-primaria)); text-decoration:underline;}.card-horizontal-v1-location{ display:flex; align-items:center; gap:var(--spacing-xs); font-size:var(--font-size-sm); color:var(--text-secondary); margin-bottom:var(--spacing-sm);}.card-horizontal-v1-location svg{ flex-shrink:0; color:var(--cor-primaria);}.card-horizontal-v1-descricao{ font-size:var(--font-size-sm); color:var(--text-secondary); line-height:1.5; margin:0 0 var(--spacing-sm); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}.card-horizontal-v1-specs{ display:grid; grid-template-columns:repeat(4, auto); gap:var(--spacing-xs) var(--spacing-md); padding-top:var(--spacing-sm); border-top:1px solid var(--border-color); flex-shrink:0; justify-content:start; padding-top:15px;}.card-horizontal-v1-specs[data-cols="3"]{ grid-template-columns:repeat(3, auto);}.card-horizontal-v1-specs[data-cols="2"]{ grid-template-columns:repeat(2, auto);}.card-horizontal-v1-specs[data-cols="1"]{ grid-template-columns:auto;}.spec-item{ display:flex; align-items:center; gap:6px;}.spec-icon{ width:18px; height:18px; color:var(--cor-primaria); flex-shrink:0;}.spec-text{ font-size:var(--font-size-sm); font-weight:500; color:var(--text-secondary); white-space:nowrap;}.card-horizontal-v1-footer{ display:flex; align-items:center; justify-content:space-between; padding-top:var(--spacing-sm); margin-top:auto; margin-bottom:7px; border-top:1px solid var(--border-color); flex-shrink:0;}.card-horizontal-v1-codigo{ font-size:var(--font-size-sm); color:var(--text-muted);}.card-horizontal-v1-footer .btn-interesse{ padding:0.625rem 1.5rem;}@media (max-width:991px){ .card-horizontal-v1-img{ width:40%; min-width:280px;} .card-horizontal-v1-specs{ gap:var(--spacing-xs) var(--spacing-sm);}}@media (max-width:767px){ .card-horizontal-v1-inner{ flex-direction:column; height:auto;} .card-horizontal-v1-img{ width:100%; min-width:unset; max-width:unset; height:auto; aspect-ratio:16/10;} .card-horizontal-v1-content{ padding:var(--spacing-md);} .card-horizontal-v1-titulo{ font-size:var(--font-size-base);} .card-horizontal-v1-descricao{ display:none;} .card-horizontal-v1-specs{ display:flex; flex-wrap:wrap; gap:var(--spacing-xs) var(--spacing-md); justify-content:flex-start;} .spec-icon{ width:16px; height:16px;} .spec-text{ font-size:var(--font-size-xs);}}.list-horizontal{ display:flex; flex-direction:column; gap:var(--spacing-md);}.card-vertical-v1{ position:relative; background:var(--bg-card); border-radius:var(--radius-xl); box-shadow:var(--shadow-card); overflow:hidden; transition:all var(--transition-base);}.card-vertical-v1-favorito{ position:absolute; top:var(--spacing-sm); right:var(--spacing-sm); width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.85); border-radius:var(--radius-full); border:none; cursor:pointer; z-index:5; transition:all var(--transition-fast);}.card-vertical-v1-favorito:hover{ background:white; transform:scale(1.1);}.card-vertical-v1-favorito svg{ transition:all var(--transition-fast); stroke:#9ca3af;}.card-vertical-v1-favorito:hover svg{ stroke:#ef4444;}.card-vertical-v1-favorito.active{ background:white;}.card-vertical-v1-favorito.active svg{ fill:#ef4444; stroke:#ef4444;}.card-vertical-v1:hover{ box-shadow:var(--shadow-card-hover); transform:translateY(-4px);}.card-vertical-v1-link{ display:block; text-decoration:none; color:inherit;}.card-vertical-v1-preco-body{ display:none;}.card-vertical-v1-img{ position:relative; aspect-ratio:16/10; overflow:hidden;}.card-vertical-v1-img img{ width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow);}.card-vertical-v1:hover .card-vertical-v1-img img{ transform:scale(1.05);}.card-vertical-v1-img .img-placeholder{ width:100%; height:100%; background:var(--bg-input); display:flex; align-items:center; justify-content:center; color:var(--text-muted);}.card-vertical-v1-img::after{ content:''; position:absolute; bottom:0; left:0; right:0; height:50%; background:linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%); pointer-events:none;}.card-vertical-v1-preco{ position:absolute; bottom:var(--spacing-md); left:var(--spacing-md); font-size:var(--font-size-lg); font-weight:700; color:white; z-index:1; text-shadow:0 1px 3px rgba(0, 0, 0, 0.3);}.card-vertical-v1-preco small{ font-size:var(--font-size-sm); font-weight:400;}.card-vertical-v1-body{ padding:var(--spacing-md);}.card-vertical-v1-tipo{ display:inline-block; font-size:var(--font-size-xs); font-weight:600; color:var(--text-secondary); letter-spacing:0.05em; margin-bottom:var(--spacing-xs);}.card-vertical-v1-endereco{ font-size:var(--font-size-base); font-weight:600; color:var(--text-primary); margin:0 0 var(--spacing-sm); display:-webkit-box; -webkit-line-clamp:1; line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}.card-vertical-v1-features{ display:flex; flex-wrap:wrap; align-items:center; gap:0; font-size:var(--font-size-sm); color:var(--text-secondary);}.card-vertical-v1-features span{ display:flex; align-items:center;}.card-vertical-v1-features span:not(:last-child)::after{ content:''; display:inline-block; width:1px; height:12px; background:var(--border-color); margin:0 var(--spacing-sm);}.card-vertical-v1-features .feat-icon{ display:none; flex-shrink:0;}.grid-cols-1 .card-vertical-v1-features .feat-icon,.grid-cols-2 .card-vertical-v1-features .feat-icon{ display:inline-block;}.card-vertical-v1-edificio,.card-vertical-v1-descricao,.card-vertical-v1-codigo,.card-vertical-v1-card-footer{ display:none;}.card-vertical-v1-preco-body{ display:none;}.card-vertical-v1 img.lazy{ opacity:0; transition:opacity var(--transition-base);}.card-vertical-v1 img.lazy.loaded{ opacity:1;}.grid-vertical{ display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--spacing-lg);}.grid-vertical.grid-cols-1{grid-template-columns:1fr}.grid-vertical.grid-cols-2{grid-template-columns:repeat(2, 1fr)}.grid-vertical.grid-cols-3{grid-template-columns:repeat(3, 1fr)}.grid-vertical.grid-cols-4{grid-template-columns:repeat(4, 1fr)}.grid-vertical-3{ grid-template-columns:repeat(3, 1fr);}@media (max-width:1199px){ .grid-vertical.grid-cols-3, .grid-vertical.grid-cols-4{ grid-template-columns:repeat(3, 1fr);} .grid-vertical-3{ grid-template-columns:repeat(3, 1fr);}}@media (max-width:991px){ .grid-vertical.grid-cols-2, .grid-vertical.grid-cols-3, .grid-vertical.grid-cols-4{ grid-template-columns:repeat(2, 1fr);} .grid-vertical-3{ grid-template-columns:repeat(2, 1fr);}}@media (max-width:767px){ .grid-vertical.grid-cols-2, .grid-vertical.grid-cols-3, .grid-vertical.grid-cols-4{ grid-template-columns:1fr;} .grid-vertical-3{ grid-template-columns:1fr;} .card-vertical-v1-preco{ font-size:var(--font-size-sm); padding:0.375rem 0.75rem;}}.grid-cols-1 .card-vertical-v1{ position:relative;}.grid-cols-1 .card-vertical-v1-link{ display:flex; flex-direction:row; min-height:280px;}.grid-cols-1 .card-vertical-v1-img{ order:1; width:50%; flex-shrink:0; aspect-ratio:auto; clip-path:polygon(0 0, 100% 0, 88% 100%, 0% 100%); margin-right:-20px; margin-left:0;}.grid-cols-1 .card-vertical-v1-img::after{ display:none;}.grid-cols-1 .card-vertical-v1-preco-img{ display:none;}.grid-cols-1 .card-vertical-v1-body{ order:2; flex:1; padding:24px 32px 24px 20px; display:flex; flex-direction:column; justify-content:center; min-width:0; z-index:2;}.grid-cols-1 .card-vertical-v1-edificio{ display:block; font-size:0.8125rem; font-weight:600; color:var(--cor-primaria); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:2px;}.grid-cols-1 .card-vertical-v1-tipo{ font-size:0.75rem; color:var(--text-muted); font-weight:600; letter-spacing:0.5px; text-transform:uppercase; margin-bottom:6px;}.grid-cols-1 .card-vertical-v1-endereco{ font-size:1.375rem; font-weight:700; color:var(--text-primary); -webkit-line-clamp:2; line-clamp:2; margin-bottom:12px;}.grid-cols-1 .card-vertical-v1-descricao{ display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:0.9rem; color:var(--text-secondary); line-height:1.6; margin:0 0 16px;}.grid-cols-1 .card-vertical-v1-features{ display:grid; grid-template-columns:repeat(3, 1fr); gap:12px 16px; font-size:0.9rem; color:var(--text-primary); margin-top:auto; padding:16px 0; border-top:1px solid var(--border-color, #e2e8f0);}.grid-cols-1 .card-vertical-v1-features span{ display:flex; align-items:center; gap:8px; font-weight:600;}.grid-cols-1 .card-vertical-v1-features .feat-icon{ width:20px; height:20px; color:var(--cor-primaria, #2563eb);}.grid-cols-1 .card-vertical-v1-features span:not(:last-child)::after{ display:none;}.grid-cols-1 .card-vertical-v1-card-footer{ display:flex; align-items:center; justify-content:space-between; padding-top:12px;}.grid-cols-1 .card-vertical-v1-preco-body{ display:block; font-size:1.5rem; font-weight:700; color:var(--cor-preco, #059669);}.grid-cols-1 .card-vertical-v1-preco-body small{ font-size:0.875rem; font-weight:400; color:var(--text-muted);}.grid-cols-1 .card-vertical-v1-codigo{ display:inline-block; font-size:0.8125rem; color:var(--text-muted); font-weight:500;}@media (max-width:767px){ .grid-cols-1 .card-vertical-v1-link{ flex-direction:column; min-height:auto;} .grid-cols-1 .card-vertical-v1-img{ order:0; width:100%; aspect-ratio:16/10; clip-path:none; margin-right:0;} .grid-cols-1 .card-vertical-v1-img::after{ display:block; height:50%; background:linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%);}  .grid-cols-1 .card-vertical-v1-preco-img{ display:block;} .grid-cols-1 .card-vertical-v1-preco-body{ display:none;} .grid-cols-1 .card-vertical-v1-card-footer{ display:none;} .grid-cols-1 .card-vertical-v1-body{ order:1; padding:var(--spacing-md); margin-left:0;} .grid-cols-1 .card-vertical-v1-endereco{ font-size:var(--font-size-base);} .grid-cols-1 .card-vertical-v1-tipo{ color:var(--text-secondary);}  .grid-cols-1 .card-vertical-v1-edificio, .grid-cols-1 .card-vertical-v1-descricao, .grid-cols-1 .card-vertical-v1-codigo{ display:none;} .grid-cols-1 .card-vertical-v1-features span:not(:last-child)::after{ display:inline-block;} .grid-cols-1 .card-vertical-v1-features{ gap:0; border:none; padding:0;}}.grid-cols-2 .card-vertical-v1{ position:relative;}.grid-cols-2 .card-vertical-v1-link{ position:relative; display:block;}.grid-cols-2 .card-vertical-v1-img{ aspect-ratio:16/10;}.grid-cols-2 .card-vertical-v1-img::after{ height:75%; background:linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.35) 50%, transparent 100%);}.grid-cols-2 .card-vertical-v1-body{ position:absolute; bottom:0; left:0; right:0; padding:var(--spacing-lg); z-index:1;}.grid-cols-2 .card-vertical-v1-preco{ font-size:var(--font-size-xl); bottom:auto; top:var(--spacing-md); left:var(--spacing-md);}.grid-cols-2 .card-vertical-v1-tipo{ color:rgba(255, 255, 255, 0.85);}.grid-cols-2 .card-vertical-v1-endereco{ color:white; font-size:var(--font-size-lg); text-shadow:0 1px 3px rgba(0, 0, 0, 0.3);}.grid-cols-2 .card-vertical-v1-features{ color:rgba(255, 255, 255, 0.85);}.grid-cols-2 .card-vertical-v1-features span:not(:last-child)::after{ background:rgba(255, 255, 255, 0.4);}@media (max-width:575px){ .grid-cols-2 .card-vertical-v1-img{ aspect-ratio:16/10;} .grid-cols-2 .card-vertical-v1-img::after{ height:50%; background:linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%);} .grid-cols-2 .card-vertical-v1-body{ position:static; padding:var(--spacing-md);} .grid-cols-2 .card-vertical-v1-tipo{ color:var(--text-secondary);} .grid-cols-2 .card-vertical-v1-endereco{ color:var(--text-primary); font-size:var(--font-size-base); text-shadow:none;} .grid-cols-2 .card-vertical-v1-features{ color:var(--text-secondary);} .grid-cols-2 .card-vertical-v1-features span:not(:last-child)::after{ background:var(--border-color);} .grid-cols-2 .card-vertical-v1-preco{ font-size:var(--font-size-sm); top:auto; bottom:var(--spacing-md);}}.card-h2{ position:relative; display:flex; background:var(--bg-card); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); overflow:visible; transition:box-shadow 0.2s ease; cursor:pointer;}.card-h2-link{ position:absolute; inset:0; z-index:5;}.card-h2-favorito{ position:absolute; top:var(--spacing-sm); right:var(--spacing-sm); width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.85); border-radius:var(--radius-full); border:none; cursor:pointer; z-index:15; transition:all var(--transition-fast);}.card-h2-favorito:hover{ background:white; transform:scale(1.1);}.card-h2-favorito svg{ transition:all var(--transition-fast); stroke:#9ca3af;}.card-h2-favorito:hover svg{ stroke:#ef4444;}.card-h2-favorito.active svg{ fill:#ef4444; stroke:#ef4444;}.card-h2:hover{ box-shadow:var(--shadow-card-hover);}.card-h2-img{ position:relative; width:50%; min-width:320px; max-width:480px; height:300px; flex-shrink:0; overflow:hidden; background:var(--bg-input); border-radius:var(--radius-lg) 0 0 var(--radius-lg);}.card-h2-img img{ width:100%; height:100%; object-fit:cover;}.card-h2-placeholder{ display:flex; align-items:center; justify-content:center; color:var(--text-muted); min-height:240px;}.card-h2-gradient{ position:absolute; bottom:0; left:0; right:0; height:50%; background:linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.2) 60%, transparent 100%); pointer-events:none; z-index:2;}.card-h2-price-overlay{ position:absolute; bottom:12px; right:12px; font-size:18px; font-weight:600; color:white; z-index:3; text-shadow:0 1px 3px rgba(0,0,0,0.3);}.card-h2-price-overlay small{ font-size:13px; font-weight:400; opacity:0.9;}.card-h2-swiper{ width:100%; height:100%;}.card-h2-swiper .swiper-slide{ width:100%; height:100%;}.card-h2-swiper .swiper-slide img{ width:100%; height:100%; object-fit:cover;}.card-h2-swiper .swiper-button-prev,.card-h2-swiper .swiper-button-next{ width:42px; height:42px; background:linear-gradient(145deg, rgba(0, 0, 0, 0.5), rgba(33, 33, 33, 0.6)); border-radius:50%; backdrop-filter:blur(4px); border:1px solid rgba(255, 255, 255, 0.1); box-shadow:0 2px 8px rgba(0, 0, 0, 0.15); opacity:1; transition:all 0.2s ease; z-index:10;  -webkit-tap-highlight-color:transparent !important; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; outline:none !important;}.card-h2-swiper .swiper-button-prev:focus,.card-h2-swiper .swiper-button-next:focus,.card-h2-swiper .swiper-button-prev:focus-visible,.card-h2-swiper .swiper-button-next:focus-visible{ outline:none !important; box-shadow:0 2px 8px rgba(0, 0, 0, 0.15) !important; -webkit-tap-highlight-color:transparent !important;}.card-h2-swiper .swiper-button-prev:active,.card-h2-swiper .swiper-button-next:active{ outline:none !important; box-shadow:0 2px 8px rgba(0, 0, 0, 0.15) !important; -webkit-tap-highlight-color:transparent !important; transform:scale(0.95);}.card-h2-swiper .swiper-button-prev:hover,.card-h2-swiper .swiper-button-next:hover{ background:linear-gradient(145deg, rgba(40, 40, 40, 0.85), rgba(0, 0, 0, 0.9)); transform:scale(1.08);}.card-h2-swiper .swiper-button-prev::after,.card-h2-swiper .swiper-button-next::after{ font-size:12px; font-weight:bold; color:white;}.card-h2-swiper .swiper-button-disabled{ opacity:0.25 !important;}.card-h2-photos-count{ position:absolute; bottom:12px; left:12px; display:flex; align-items:center; gap:4px; padding:5px 10px; background:rgba(0, 0, 0, 0.7); color:white; font-size:12px; font-weight:500; border-radius:6px; z-index:5;}.card-h2-badges{ position:absolute; top:12px; left:12px; display:flex; gap:6px; z-index:5;}.card-h2-badge{ padding:5px 10px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.03em; border-radius:6px;}.card-h2-badge--lancamento{ background:linear-gradient(135deg, #f59e0b 0%, #d97706 100%); color:white;}.card-h2-badge--exclusivo{ background:linear-gradient(135deg, var(--cor-primaria) 0%, var(--cor-secundaria) 100%); color:white;}.card-h2-badge--novo{ background:linear-gradient(135deg, #10b981 0%, #059669 100%); color:white;}.card-h2-content{ flex:1; display:flex; flex-direction:column; justify-content:space-between; padding:16px 24px; min-width:0;}.card-h2-header{ display:flex; flex-direction:column; gap:4px;}.card-h2-titulo{ font-size:17px; font-weight:600; margin:0; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}.card-h2-titulo a{ color:var(--text-primary); text-decoration:none; transition:color 0.2s ease;}.card-h2-titulo a:hover{ color:var(--cor-primaria);}.card-h2-condominio{ display:inline-block; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.03em; color:var(--cor-primaria); text-decoration:none; transition:all 0.2s ease;}.card-h2-condominio:hover{ color:var(--btn-primary-hover); text-decoration:underline;}.card-h2-local{ display:flex; align-items:center; gap:5px; font-size:13px; color:var(--text-secondary);}.card-h2-local svg{ flex-shrink:0; color:var(--cor-primaria); opacity:0.7;}.card-h2-descricao{ font-size:13px; color:var(--text-secondary); line-height:1.5; margin:5px 0 0 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}.card-h2-specs{ display:flex; flex-wrap:wrap; gap:10px 16px; padding:12px 0; border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color);}.card-h2-spec{ display:flex; align-items:center; gap:6px;}.card-h2-spec svg{ width:20px; height:20px; flex-shrink:0; color:var(--cor-primaria); opacity:0.85;}.card-h2-spec span{ font-size:14px; font-weight:500; color:var(--text-primary);}.card-h2-footer{ display:flex; align-items:center; justify-content:space-between;}.card-h2-codigo{ font-size:12px; color:var(--text-secondary);}.card-h2-btn{ position:absolute; right:-10px; bottom:14px; display:inline-flex; align-items:center; gap:8px; padding:10px 22px 10px 18px; background:linear-gradient(135deg, var(--cor-primaria) 0%, var(--cor-secundaria) 100%); color:white; font-size:13px; font-weight:600; border:none; border-radius:2px 0 0 2px; cursor:pointer; transition:all 0.25s ease; box-shadow:-2px 3px 10px rgba(var(--cor-primaria-rgb), 0.3); z-index:10; opacity:0.8;}.card-h2-btn::before{ content:''; position:absolute; top:-7px; right:0; border:4px solid transparent; border-bottom-color:var(--cor-secundaria); border-left-color:var(--cor-secundaria);}.card-h2-btn:hover{ right:-14px; padding-right:26px; box-shadow:-4px 5px 16px rgba(var(--cor-primaria-rgb), 0.4); opacity:1;}.card-h2-btn svg{ transition:transform 0.2s ease;}.card-h2-btn:hover svg{ transform:scale(1.1);}@media (max-width:991px){ .card-h2-img{ width:40%; min-width:280px;} .card-h2-content{ padding:14px 16px;}}@media (max-width:767px){ .card-h2{ flex-direction:column; border-radius:var(--radius-xl); overflow:hidden;} .card-h2-img{ width:100%; min-width:unset; max-width:unset; aspect-ratio:16/10; border-radius:var(--radius-lg) var(--radius-lg) 0 0; overflow:hidden;} .card-h2-img img, .card-h2-swiper, .card-h2-swiper .swiper-slide img{ border-radius:var(--radius-lg) var(--radius-lg) 0 0;} .card-h2-content{ padding:16px; padding-bottom:70px;} .card-h2-header{ margin-bottom:var(--spacing-sm);} .card-h2-titulo{ font-size:15px; margin-bottom:4px;} .card-h2-local{ margin-bottom:var(--spacing-sm);} .card-h2-descricao{ display:none;} .card-h2-specs{ gap:8px 12px; padding:12px 0; margin-bottom:var(--spacing-xs);} .card-h2-spec span{ font-size:12px;} .card-h2-footer{ padding-top:var(--spacing-sm);} .card-h2-btn{ position:absolute; bottom:16px; right:16px; padding:10px 16px; font-size:12px; gap:6px;} .card-h2-btn::before{ display:none;}  .card-h2-swiper .swiper-button-prev, .card-h2-swiper .swiper-button-next, .card-h2-favorito, .card-h2-btn{ -webkit-tap-highlight-color:transparent;}}@media (min-width:1400px){ .card-h2-img{ max-width:500px;}}@media (min-width:1600px){ .card-h2-img{ max-width:520px;}}.hero{ position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden;}#hero-particles{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; pointer-events:none;}#hero-particles canvas{ display:block;}.hero-wave{ position:absolute; bottom:-1px; left:0; width:100%; z-index:3; line-height:0; overflow:hidden; background:transparent; border:none;}.hero-wave svg{ width:100%; height:60px; display:block; border:none; outline:none;}.hero-wave svg path{ shape-rendering:geometricPrecision; fill:var(--bg-input, #f8fafc); stroke:var(--bg-input, #f8fafc); stroke-width:1;}@media (min-width:576px){ .hero-wave svg{ height:80px;}}@media (min-width:768px){ .hero-wave svg{ height:100px;}}@media (min-width:992px){ .hero-wave svg{ height:120px;}}.hero-bg{ position:absolute; top:0; left:0; right:0; bottom:0; z-index:1;}.hero-bg img{ width:100%; height:100%; object-fit:cover;}.hero-poster-with-video{ position:absolute; top:0; left:0; z-index:1; transition:opacity 1s ease;}.hero-media-loading{ opacity:0 !important;}.hero-youtube-container,.hero-video-bg{ transition:opacity 0.8s ease;}.hero-video-bg{ position:absolute; top:50%; left:50%; width:100vw; height:56.25vw; min-height:100%; min-width:177.77vh; transform:translate(-50%, -50%); object-fit:cover;}.hero-youtube-container{ position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; pointer-events:none;}.hero-youtube-iframe{ position:absolute; top:50%; left:50%; width:100vw; height:56.25vw; min-height:100%; min-width:177.77vh; transform:translate(-50%, -50%); border:0;}.hero.hero-video .hero-overlay{ background:linear-gradient( 180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 100% );}.hero-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient( 180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.6) 100% );}.hero.hero-gradient .hero-bg{ background:linear-gradient(135deg, var(--cor-primaria, #3b82f6) 0%, var(--cor-secundaria, #1e3a5f) 100%); background-size:cover;}.hero.hero-gradient .hero-overlay{ background:linear-gradient( 180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.3) 100% );}.hero-content{ position:relative; z-index:2; width:100%; padding:var(--spacing-xl) var(--spacing-md); text-align:center; margin-top:0;}@media (min-width:576px){ .hero-content{ padding:var(--spacing-2xl) var(--spacing-md);}}@media (min-width:768px){ .hero-content{ padding:var(--spacing-3xl) var(--spacing-md); margin-top:-5vh;}}@media (min-width:992px){ .hero-content{ margin-top:-10vh;}}@media (min-width:768px){ .hero-content.hero-content-compact{ margin-top:0;}}.hero-logo{ max-height:80px; margin:0 auto var(--spacing-lg);}.hero-center-logo-wrap{ margin-bottom:var(--spacing-lg); text-align:center;}.hero-center-logo{ display:block; margin:0 auto; width:auto; object-fit:contain; animation:heroLogoFadeIn 0.8s ease-out;}.hero-center-logo-P{max-height:80px}.hero-center-logo-M{max-height:130px}.hero-center-logo-G{max-height:180px}.hero-center-logo-XG{max-height:240px}@media (max-width:767px){ .hero-center-logo-P{max-height:55px} .hero-center-logo-M{max-height:80px} .hero-center-logo-G{max-height:110px} .hero-center-logo-XG{max-height:140px}}.hero-center-logo-wrap.logo-destaque-sombra img{ filter:drop-shadow(0 4px 12px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 30px rgba(0, 0, 0, 0.3));}.hero-center-logo-wrap.logo-destaque-vidro{ display:inline-block; background:rgba(255, 255, 255, 0.12); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255, 255, 255, 0.2); border-radius:16px; padding:16px 32px;}.hero-center-logo-wrap.logo-destaque-escuro{ display:inline-block; background:rgba(0, 0, 0, 0.4); border-radius:14px; padding:16px 32px;}.hero-center-logo-wrap.logo-destaque-claro{ display:inline-block; background:rgba(255, 255, 255, 0.8); border-radius:14px; padding:16px 32px;}.hero-content.hero-content-with-logo{ margin-top:0;}@keyframes heroLogoFadeIn{ from{opacity:0;transform:translateY(-15px)} to{opacity:1;transform:translateY(0)}}.hero-badge{ display:inline-block; padding:0.5rem 1.25rem; background:rgba(255,255,255,0.15); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.25); border-radius:var(--radius-full); color:white; font-size:var(--font-size-sm); font-weight:500; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:var(--spacing-md);}.hero-title{ font-size:clamp(2rem, 6vw, 3.5rem); font-weight:700; color:white; margin-bottom:var(--spacing-md); text-shadow:0 2px 4px rgba(0,0,0,0.3); line-height:1.2;}.hero-title-extra-grande{font-size:clamp(2.5rem, 7vw, 4.5rem)}.hero-title-medio{font-size:clamp(1.75rem, 5vw, 2.75rem)}.hero-title-pequeno{font-size:clamp(1.5rem, 4vw, 2.25rem)}.hero-title-extra-pequeno{font-size:clamp(1.25rem, 3.5vw, 1.85rem)}.hero-subtitle-extra-grande{font-size:clamp(1.5rem, 3.5vw, 2rem)}.hero-subtitle-grande{font-size:clamp(1.25rem, 3vw, 1.65rem)}.hero-subtitle-pequeno{font-size:clamp(0.9rem, 2vw, 1.1rem)}.hero-subtitle-extra-pequeno{font-size:clamp(0.8rem, 1.5vw, 0.95rem)}.hero-title .text-brand-light{ color:var(--cor-primaria); text-shadow:0 2px 4px rgba(0,0,0,0.2);}.hero-subtitle{ font-size:clamp(1.1rem, 2.5vw, 1.35rem); color:white; margin-bottom:var(--spacing-xl); font-weight:500; text-shadow:0 2px 8px rgba(0,0,0,0.5); letter-spacing:0.02em;}.section-about{ padding:var(--spacing-xl) 0; background:white;}@media (min-width:768px){ .section-about{ padding:var(--spacing-2xl) 0;}}@media (min-width:992px){ .section-about{ padding:var(--spacing-3xl) 0;}}.about-grid{ display:grid; grid-template-columns:1fr; gap:var(--spacing-xl); align-items:center;}@media (min-width:768px){ .about-grid{ grid-template-columns:1fr 1fr; gap:var(--spacing-3xl);}}.about-badge{ display:inline-block; width:fit-content; padding:0.4rem 1rem; background:var(--cor-primaria); color:white; font-size:var(--font-size-xs); font-weight:600; text-transform:uppercase; letter-spacing:0.1em; border-radius:var(--radius-full); margin-bottom:var(--spacing-md);}.about-title{ font-size:clamp(1.75rem, 4vw, 2.75rem); font-weight:700; line-height:1.2; color:var(--text-primary); margin:0;}.about-title h1{ font-size:inherit; font-weight:inherit; line-height:inherit; color:inherit; margin:0;}.about-title-line1{ display:block;}.about-title-extra-grande{font-size:clamp(2.25rem, 5.5vw, 3.75rem)}.about-title-medio{font-size:clamp(1.5rem, 3.5vw, 2.25rem)}.about-title-pequeno{font-size:clamp(1.25rem, 3vw, 1.85rem)}.about-title-extra-pequeno{font-size:clamp(1.1rem, 2.5vw, 1.5rem)}.about-text p{ font-size:var(--font-size-lg); color:var(--text-secondary); line-height:1.7; margin-bottom:var(--spacing-md);}.about-text p strong{ color:var(--text-primary); font-weight:600;}.about-text a:not(.btn){ color:var(--cor-primaria); text-decoration:none; transition:color 0.2s;}.about-text a:not(.btn):hover{ color:var(--cor-secundaria); text-decoration:underline;}.about-content{ display:flex; flex-direction:column; gap:var(--spacing-sm);}.about-title{ margin-bottom:var(--spacing-lg);}.about-grid-img{ display:grid; grid-template-columns:1fr; gap:var(--spacing-xl); align-items:center;}@media (min-width:768px){ .about-grid-img{ grid-template-columns:1fr 1fr; gap:var(--spacing-3xl);}}.about-image{ border-radius:var(--radius-lg); overflow:hidden; display:flex; align-items:center; justify-content:center;}.about-image img{ width:100%; height:auto; max-height:400px; display:block; object-fit:contain; border-radius:var(--radius-lg);}.about-image.img-sm img{max-height:250px}.about-image.img-md img{max-height:400px}.about-image.img-lg img{max-height:550px}.about-image.img-auto img{max-height:none}.about-content-single{ display:flex; flex-direction:column;}.about-content-single .about-title{ margin-bottom:var(--spacing-lg);}.about-text-single p{ font-size:var(--font-size-lg); color:var(--text-secondary); line-height:1.7; margin-bottom:var(--spacing-md);}.about-text-single p strong{ color:var(--text-primary); font-weight:600;}.about-centered{ max-width:720px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:var(--spacing-sm);}.about-centered .about-title{ margin-bottom:var(--spacing-lg);}.about-centered .about-text p{ text-align:center;}.about-grid-circular{ display:grid; grid-template-columns:320px 1fr; gap:var(--spacing-3xl); align-items:center;}.about-image-circular{ display:flex; justify-content:center; border-radius:0; overflow:visible;}.about-image-circular img{ width:300px; height:300px; border-radius:50%; object-fit:cover; object-position:top; border:4px solid var(--cor-primaria); box-shadow:0 20px 60px rgba(0,0,0,0.12); max-height:none;}@media (max-width:767px){ .about-grid-circular{ grid-template-columns:1fr; gap:var(--spacing-xl);} .about-image-circular img{ width:220px; height:220px;}}.about-grid-blob{ display:grid; grid-template-columns:380px 1fr; gap:var(--spacing-3xl); align-items:center;}.about-image-blob{ border-radius:0; overflow:visible;}.about-image-blob img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top; border-radius:30% 70% 70% 30% / 30% 30% 70% 70%; box-shadow:0 20px 60px rgba(0,0,0,0.1); max-height:none;}@media (max-width:767px){ .about-grid-blob{ grid-template-columns:1fr; gap:var(--spacing-xl);} .about-image-blob img{ max-width:320px; margin:0 auto; display:block;}}.about-card{ max-width:960px; margin:0 auto; background:var(--bg-card, white); border-radius:24px; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.06); display:grid; grid-template-columns:340px 1fr;}.about-image-card{ border-radius:0; overflow:hidden;}.about-image-card img{ width:100%; height:100%; object-fit:cover; object-position:top; max-height:none; border-radius:0;}.about-content-card{ padding:48px 40px; display:flex; flex-direction:column; justify-content:center;}.about-content-card .about-text p{ font-size:var(--font-size-base);}@media (max-width:767px){ .about-card{ grid-template-columns:1fr;} .about-image-card{ max-height:300px;} .about-content-card{ padding:32px 24px;}}.about-grid-img-right{ display:grid; grid-template-columns:1fr 380px; gap:var(--spacing-3xl); align-items:center;}.about-image-rounded{ border-radius:0; overflow:visible;}.about-image-rounded img{ width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top; border-radius:100px 100px 20px 20px; box-shadow:0 20px 60px rgba(0,0,0,0.1); max-height:none;}@media (max-width:767px){ .about-grid-img-right{ grid-template-columns:1fr; gap:var(--spacing-xl);} .about-image-rounded{ order:-1;} .about-image-rounded img{ max-width:320px; margin:0 auto; display:block;}}.about-grid-square{ display:grid; grid-template-columns:360px 1fr; gap:var(--spacing-3xl); align-items:start;}.about-image-wrap{ position:relative;}.about-image-wrap::before{ content:''; position:absolute; top:-12px; left:-12px; width:100%; height:100%; border:3px solid var(--cor-primaria); border-radius:16px; z-index:0;}.about-image-square{ position:relative; z-index:1; border-radius:16px; overflow:hidden;}.about-image-square img{ width:100%; aspect-ratio:1/1; object-fit:cover; object-position:top; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,0.1); max-height:none;}.about-stat{ position:absolute; bottom:-20px; right:-20px; z-index:2; background:var(--cor-primaria); color:white; padding:16px 24px; border-radius:12px; text-align:center; box-shadow:0 10px 30px rgba(0,0,0,0.15);}.about-stat-num{ font-size:1.75rem; font-weight:700; display:block; line-height:1.1;}.about-stat-label{ font-size:0.75rem; opacity:0.85; display:block;}@media (max-width:767px){ .about-grid-square{ grid-template-columns:1fr; gap:var(--spacing-xl);} .about-image-wrap{ max-width:300px; margin:0 auto 20px;}}.about-image-centered{ display:flex; justify-content:center; margin-bottom:var(--spacing-lg); border-radius:0; overflow:visible;}.about-image-centered img{ width:200px; height:200px; border-radius:50%; object-fit:cover; object-position:top; border:4px solid var(--cor-primaria); max-height:none;}.grid-imoveis{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:var(--spacing-lg);}.grid-imoveis-4{ grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));}@media (min-width:992px){ .grid-imoveis{ grid-template-columns:repeat(3, 1fr);} .grid-imoveis-4{ grid-template-columns:repeat(4, 1fr);}}.grid-cidades{ display:grid; grid-template-columns:1fr; gap:var(--spacing-md);}@media (min-width:576px){ .grid-cidades{ grid-template-columns:repeat(2, 1fr);}}@media (min-width:992px){ .grid-cidades{ grid-template-columns:repeat(3, 1fr);}}.card-cidade{ position:relative; display:block; aspect-ratio:16/9; border-radius:var(--radius-xl); overflow:hidden; text-decoration:none; box-shadow:var(--shadow-md); transition:all 0.3s ease;}.card-cidade:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg);}.card-cidade-img{ position:absolute; top:0; left:0; right:0; bottom:0;}.card-cidade-img img{ width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease;}.card-cidade:hover .card-cidade-img img{ transform:scale(1.08);}.card-cidade-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient( to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 40%, rgba(0, 0, 0, 0.1) 100% );}.card-cidade-content{ position:absolute; bottom:0; left:0; right:0; padding:var(--spacing-lg); color:#ffffff;}.card-cidade-title{ font-size:var(--font-size-2xl); font-weight:700; margin:0; color:#ffffff; text-shadow:0 2px 8px rgba(0,0,0,0.8), 0 1px 3px rgba(0,0,0,0.9);}.grid-regioes{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:var(--spacing-md);}@media (min-width:768px){ .grid-regioes{ grid-template-columns:repeat(4, 1fr);}}.card-regiao{ position:relative; display:block; aspect-ratio:1; border-radius:var(--radius-lg); overflow:hidden; text-decoration:none;}.card-regiao-img{ position:absolute; top:0; left:0; right:0; bottom:0;}.card-regiao-img img{ width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow);}.card-regiao:hover .card-regiao-img img{ transform:scale(1.1);}.card-regiao-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 60%);}.card-regiao-content{ position:absolute; bottom:0; left:0; right:0; padding:var(--spacing-md); color:white;}.card-regiao-label{ font-size:var(--font-size-xs); text-transform:uppercase; letter-spacing:0.1em; opacity:0.8;}.card-regiao-title{ font-size:var(--font-size-xl); font-weight:700; margin:0; text-shadow:0 1px 3px rgba(0,0,0,0.3);}.section-cta{ background:var(--cor-primaria);}.cta-content{ flex:1; min-width:280px;}.cta-title{ font-size:var(--font-size-2xl); font-weight:700; margin-bottom:var(--spacing-xs);}.cta-text{ font-size:var(--font-size-lg); margin:0;}.btn-cta{ padding:14px 32px; font-size:1rem; font-weight:600; border-radius:var(--radius-lg); border:none; text-decoration:none; transition:all 0.3s ease; white-space:nowrap;}.btn-cta:hover{ opacity:0.9; transform:translateY(-2px); box-shadow:0 4px 15px rgba(0,0,0,0.15);}.cta-classico .cta-box{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--spacing-xl); padding:var(--spacing-xl); background:rgba(0,0,0,0.1); border-radius:var(--radius-xl);}.cta-centralizado .cta-center{ text-align:center; max-width:700px; margin:0 auto;}.cta-centralizado .cta-title{ font-size:var(--font-size-3xl); margin-bottom:var(--spacing-sm);}.cta-centralizado .cta-text{ margin-bottom:var(--spacing-lg); opacity:0.9;}.cta-minimalista .cta-minimal-box{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--spacing-xl); padding:var(--spacing-xl); background:#ffffff; border-radius:var(--radius-xl); border-left:4px solid var(--cor-primaria); box-shadow:0 2px 16px rgba(0,0,0,0.06);}@media (max-width:767px){ .cta-classico .cta-box, .cta-minimalista .cta-minimal-box{ flex-direction:column; text-align:center;} .cta-classico .btn-cta, .cta-centralizado .btn-cta, .cta-minimalista .btn-cta{ width:100%;}}.section-banner{ overflow:hidden;}.banner-wrapper{ position:relative; min-height:320px; display:flex; align-items:center; border-radius:var(--radius-xl); overflow:hidden;}.banner-bg{ position:absolute; inset:0; z-index:0;}.banner-bg img{ width:100%; height:100%; object-fit:cover;}.banner-overlay{ position:absolute; inset:0; background:#000; z-index:1;}.banner-content{ position:relative; z-index:2; width:100%; padding:var(--spacing-2xl) 0; color:white; text-align:center;}.banner-title{ font-size:clamp(1.5rem, 3.5vw, 2.5rem); font-weight:700; color:white; margin-bottom:var(--spacing-sm);}.banner-subtitle{ font-size:var(--font-size-lg); color:rgba(255,255,255,0.9); margin-bottom:var(--spacing-lg); max-width:600px; margin-left:auto; margin-right:auto;}@media (max-width:767px){ .banner-wrapper{ min-height:240px;} .banner-content{ padding:var(--spacing-xl) 0;} .banner-subtitle{ font-size:var(--font-size-base);}}.section-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--spacing-xl);}.section-header .section-title{ margin-bottom:0;}.section-link{ display:inline-flex; align-items:center; gap:var(--spacing-xs); color:var(--cor-primaria); font-weight:500; text-decoration:none; transition:gap var(--transition-fast);}.section-link:hover{ gap:var(--spacing-sm);}@media (max-width:767px){ .hero{ min-height:100svh;} .hero-title, .hero-title.hero-title-medio, .hero-title.hero-title-pequeno, .hero-title.hero-title-extra-pequeno{ font-size:1.5rem; line-height:1.3; margin-bottom:var(--spacing-sm); text-wrap:balance;} .hero-title.hero-title-extra-grande{ font-size:1.85rem; line-height:1.2; margin-bottom:var(--spacing-sm); text-wrap:balance;} .hero-subtitle, .hero-subtitle-grande, .hero-subtitle-extra-grande{ font-size:0.95rem; margin-bottom:var(--spacing-md); text-wrap:balance;} .section{ padding:var(--spacing-xl) 0;} .section-title{ font-size:var(--font-size-xl); text-align:left;} .section-header{ flex-direction:column; align-items:flex-start; gap:var(--spacing-xs); margin-bottom:var(--spacing-md);} .section-link{ font-size:var(--font-size-sm);}  .about-badge{ font-size:10px; padding:0.3rem 0.75rem;} .about-title{ font-size:1.5rem; text-wrap:balance;} .about-title.about-title-extra-grande{ font-size:1.85rem;} .about-title.about-title-medio{ font-size:1.3rem;} .about-title.about-title-pequeno, .about-title.about-title-extra-pequeno{ font-size:1.1rem;} .about-text p{ font-size:var(--font-size-base); text-wrap:balance;}  .grid-cidades{ gap:var(--spacing-sm);} .card-cidade{ aspect-ratio:16/10;} .card-cidade-content{ padding:var(--spacing-md);} .card-cidade-title{ font-size:var(--font-size-xl);}  .grid-vertical{ gap:var(--spacing-md);}  hr{ margin:var(--spacing-sm) var(--container-padding);}}@media (max-width:374px){ .hero-title{ font-size:1.25rem;} .hero-subtitle{ font-size:0.875rem;}}.footer-seo-promo{ background:var(--cor-secundaria, var(--bg-footer, #1c1c1c)); padding:16px 0;}.footer-seo-promo-links{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px;}.footer-seo-promo-links a{ color:rgba(255,255,255,0.5); font-size:14px; text-decoration:none; transition:color var(--transition-fast);}.footer-seo-promo-links a:hover{ color:rgba(255,255,255,0.9);}.footer-seo-promo-links .sep{ color:rgba(255,255,255,0.25); margin:0 8px;}.footer-seo-hr{ border:none; border-top:1px solid rgba(255,255,255,0.15); margin:0; background:var(--cor-secundaria, var(--bg-footer, #1c1c1c));}.footer-seo{ background:var(--cor-secundaria, var(--bg-footer, #1c1c1c)); padding:var(--spacing-sm) 0;}.footer-seo-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--spacing-lg); padding:4px 0;}.footer-seo-col{ min-width:0;}.footer-seo-toggle{ display:flex; align-items:center; justify-content:space-between; width:100%; padding:8px 0; background:none; border:none; color:rgba(255,255,255,0.5); font-size:11px; font-weight:600; letter-spacing:0.05em; cursor:pointer; text-align:left; transition:color var(--transition-fast);}.footer-seo-toggle:hover{ color:rgba(255,255,255,0.8);}.footer-seo-toggle svg{ transition:transform var(--transition-fast); opacity:0.6;}.footer-seo-toggle.open svg{ transform:rotate(180deg);}.footer-seo-links{ display:none; flex-direction:column; gap:2px; padding-bottom:var(--spacing-sm);}.footer-seo-links.open{ display:flex;}.footer-seo-links a{ display:block; padding:3px 0; color:rgba(255,255,255,0.5); font-size:13px; font-weight:500; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color var(--transition-fast);}.footer-seo-links a:hover{ color:rgba(255,255,255,0.9);}@media (max-width:991px){ .footer-seo-grid{ grid-template-columns:repeat(2, 1fr);}}@media (max-width:575px){ .footer-seo-grid{ grid-template-columns:1fr;} .footer-seo-promo-links{ flex-direction:column; gap:6px;} .footer-seo-promo-links .sep{ display:none;}}hr{ border:none; border-top:1px solid #ddd; margin:0; background:#1c1c1c; margin-top:10px; margin-bottom:10px;}.card-h2-btn.has-user{ background:linear-gradient(135deg, #10b981 0%, #059669 100%);}.card-h2-btn.has-user::before{ border-bottom-color:#047857; border-left-color:#059669;}.modal-interesse-overlay{ position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0, 0, 0, 0.7); z-index:9999; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:all 0.3s ease;}.modal-interesse-overlay.active{ opacity:1; visibility:visible;}body.modal-interesse-open{ overflow:hidden;}.modal-interesse{ width:calc(100% - 32px); max-width:400px; background:linear-gradient(135deg, var(--cor-primaria) 0%, #1087b9 100%); border-radius:20px; overflow:hidden; transform:scale(0.9) translateY(20px); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); position:relative;}.modal-interesse-overlay.active .modal-interesse{ transform:scale(1) translateY(0);}.modal-interesse-close{ position:absolute; top:12px; right:12px; width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:rgba(0, 0, 0, 0.2); border:none; border-radius:50%; color:white; cursor:pointer; transition:all 0.2s ease; z-index:10;}.modal-interesse-close:hover{ background:rgba(0, 0, 0, 0.35); transform:scale(1.1);}.modal-interesse-close svg{ width:14px; height:14px;}.modal-interesse-inner{ padding:28px 24px; display:flex; flex-direction:column; gap:16px;}.modal-interesse-header{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; margin-bottom:8px;}.modal-interesse-icon{ width:48px; height:48px; background:rgba(255, 255, 255, 0.15); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:4px;}.modal-interesse-icon svg{ width:26px; height:26px; color:white;}.modal-interesse-title{ font-size:18px; font-weight:700; color:white; margin:0; line-height:1.2;}.modal-interesse-subtitle{ font-size:13px; color:rgba(255, 255, 255, 0.9); margin:0; display:flex; align-items:center; gap:6px;}.modal-interesse-subtitle::before{ content:''; width:6px; height:6px; background:#4ade80; border-radius:50%; animation:pulse-dot 1.5s ease-in-out infinite;}.modal-interesse-form{ display:flex; flex-direction:column; gap:12px;}.modal-interesse .form-input{ width:100%; padding:14px 16px; font-size:14px; color:var(--text-primary); background:white; border:none; border-radius:10px; transition:box-shadow 0.2s ease; box-sizing:border-box;}.modal-interesse .form-input:focus{ outline:none; box-shadow:0 0 0 3px rgba(255, 255, 255, 0.3);}.modal-interesse .form-input::placeholder{ color:#9ca3af;}.modal-interesse-row{ display:flex; gap:10px;}.modal-interesse-row .form-input{ flex:1; min-width:0;}.modal-interesse-save{ display:flex; align-items:center; gap:10px; font-size:12px; color:rgba(255, 255, 255, 0.85); cursor:pointer; user-select:none; padding:4px 0;}.modal-interesse-save input{ display:none;}.modal-interesse-save .checkbox-custom{ width:18px; height:18px; border:2px solid rgba(255, 255, 255, 0.5); border-radius:4px; display:flex; align-items:center; justify-content:center; transition:all 0.2s ease; flex-shrink:0;}.modal-interesse-save input:checked + .checkbox-custom{ background:white; border-color:white;}.modal-interesse-save input:checked + .checkbox-custom::after{ content:''; width:8px; height:5px; border-left:2px solid var(--cor-primaria); border-bottom:2px solid var(--cor-primaria); transform:rotate(-45deg) translateY(-1px);}.modal-interesse .btn-enviar{ padding:14px 20px; font-size:14px; font-weight:700; color:var(--cor-primaria); background:white; border:none; border-radius:10px; cursor:pointer; transition:all 0.2s ease; margin-top:4px;}.modal-interesse .btn-enviar:hover{ background:#f0f9ff; transform:translateY(-1px);}.modal-interesse .btn-enviar:disabled{ opacity:0.7; cursor:not-allowed; transform:none;}.modal-interesse-quick{ display:none; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:white; padding:20px 0; gap:16px;}.modal-interesse-quick.show{ display:flex;}.modal-interesse-quick .quick-avatar{ width:56px; height:56px; background:rgba(255, 255, 255, 0.15); border-radius:50%; display:flex; align-items:center; justify-content:center;}.modal-interesse-quick .quick-avatar svg{ width:32px; height:32px; color:white;}.modal-interesse-quick p{ font-size:15px; margin:0; line-height:1.4;}.modal-interesse-quick strong{ color:#fef08a; font-size:16px;}.modal-interesse-quick .btn-group{ display:flex; gap:10px; width:100%;}.modal-interesse-quick .btn-confirm{ flex:1; padding:12px; font-size:14px; font-weight:700; background:white; color:var(--cor-primaria); border:none; border-radius:10px; cursor:pointer; transition:all 0.2s ease;}.modal-interesse-quick .btn-confirm:hover{ background:#f0f9ff;}.modal-interesse-quick .btn-edit{ padding:12px 16px; font-size:13px; font-weight:600; background:rgba(255, 255, 255, 0.15); color:white; border:none; border-radius:10px; cursor:pointer; transition:all 0.2s ease;}.modal-interesse-quick .btn-edit:hover{ background:rgba(255, 255, 255, 0.25);}.modal-interesse-success{ display:none; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:white; padding:24px 0; gap:10px;}.modal-interesse-success.show{ display:flex;}.modal-interesse-success .success-icon{ width:56px; height:56px; background:rgba(74, 222, 128, 0.2); border:2px solid #4ade80; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:6px; animation:success-pop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);}.modal-interesse-success .success-icon svg{ width:28px; height:28px; color:#4ade80;}.modal-interesse-success-title{ font-size:16px; font-weight:700; margin:0;}.modal-interesse-success p{ font-size:13px; opacity:0.9; margin:0;}.modal-interesse-ref{ display:block; text-align:center; font-size:12px; color:rgba(255, 255, 255, 0.7); margin-top:8px; padding-top:16px; border-top:1px solid rgba(255, 255, 255, 0.15);}.modal-interesse-ref strong{ color:rgba(255, 255, 255, 0.9);}.badge-destaque{ position:absolute; top:10px; left:10px; padding:4px 12px; border-radius:20px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; z-index:10; pointer-events:none;}.badge-destaque-premium{ background:linear-gradient(135deg, #f59e0b, #d97706); color:white; box-shadow:0 2px 8px rgba(245, 158, 11, 0.4);}.badge-destaque-premium::before{ content:''; display:inline-block; width:6px; height:6px; background:white; border-radius:50%; margin-right:6px; animation:badge-pulse 2s infinite;}@keyframes badge-pulse{ 0%, 100%{opacity:1;transform:scale(1)} 50%{opacity:0.6;transform:scale(0.9)}}.card-h2 .badge-destaque{ top:12px; left:12px;}.card-vertical-v1 .badge-destaque{ top:8px; left:8px;}.section-padding-sm{ padding-top:var(--spacing-lg) !important; padding-bottom:var(--spacing-lg) !important;}.section-padding-md{ padding-top:var(--spacing-xl) !important; padding-bottom:var(--spacing-xl) !important;}.section-padding-lg{ padding-top:var(--spacing-2xl) !important; padding-bottom:var(--spacing-2xl) !important;}@media (min-width:768px){ .section-padding-sm{ padding-top:var(--spacing-xl) !important; padding-bottom:var(--spacing-xl) !important;} .section-padding-md{ padding-top:var(--spacing-2xl) !important; padding-bottom:var(--spacing-2xl) !important;} .section-padding-lg{ padding-top:var(--spacing-3xl) !important; padding-bottom:var(--spacing-3xl) !important;}}@media (min-width:992px){ .section-padding-sm{ padding-top:var(--spacing-xl) !important; padding-bottom:var(--spacing-xl) !important;} .section-padding-md{ padding-top:var(--spacing-3xl) !important; padding-bottom:var(--spacing-3xl) !important;} .section-padding-lg{ padding-top:5rem !important; padding-bottom:5rem !important;}}