/* Reset e Base */
* {
    -webkit-tap-highlight-color: transparent;
}

/* Fix gallery diagonal artifacts */
.imovel-gallery {
    background: #000000 !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    will-change: auto !important;
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
}

.imovel-gallery::before,
.imovel-gallery::after,
.imovel-gallery *::before,
.imovel-gallery *::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    border: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.imovel-gallery *,
.imovel-gallery > * {
    clip-path: none !important;
    -webkit-clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    border-image: none !important;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
}

.imovel-gallery img,
.imovel-gallery video,
.imovel-gallery picture {
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    will-change: transform !important;
    box-shadow: none !important;
}

.imovel-gallery .container,
.imovel-gallery .grid,
.imovel-gallery .grid > * {
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
}

.imovel-gallery button,
.imovel-gallery .rounded-xl,
.imovel-gallery .rounded-lg {
    outline: none !important;
    box-shadow: none !important;
}

html, body {
    overflow-x: hidden;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Animações */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
}
@keyframes slideIn {
    from { opacity: 0; transform: translateX(-50px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}
/* Ken Burns Effect - Zoom suave nas imagens do hero */
@keyframes kenBurns {
    0% { 
        transform: scale(1) translate(0, 0); 
    }
    100% { 
        transform: scale(1.1) translate(-2%, -2%); 
    }
}
@keyframes kenBurnsAlt {
    0% { 
        transform: scale(1) translate(0, 0); 
    }
    100% { 
        transform: scale(1.1) translate(2%, 2%); 
    }
}
.float { animation: float 6s ease-in-out infinite; }
.slide-in { animation: slideIn 0.8s ease-out forwards; }
.scale-in { animation: scaleIn 0.6s ease-out forwards; }
.ken-burns { animation: kenBurns 15s ease-out infinite alternate; }
.ken-burns-alt { animation: kenBurnsAlt 15s ease-out infinite alternate; }

/* Estilos Glass */
.glass-modern { 
    background: rgba(255, 255, 255, 0.9); 
    backdrop-filter: blur(20px); 
    border: 1px solid rgba(212, 175, 55, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.glass-modern.no-shadow {
    box-shadow: none;
}
.glass-dark { 
    background: rgba(0, 0, 0, 0.6); 
    backdrop-filter: blur(20px); 
    border: 1px solid rgba(212, 175, 55, 0.3);
}

/* Gradientes */
.gradient-gold { background: linear-gradient(135deg, #D4AF37 0%, #F4E4B0 100%); }
.hero-overlay { background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 100%); }

/* Remove ALL diagonal patterns and background images */
html, body,
html::before, html::after,
body::before, body::after,
footer,
footer *,
footer *::before,
footer *::after,
.imovel-gallery,
.imovel-gallery *,
.imovel-gallery *::before,
.imovel-gallery *::after,
.bg-black,
.bg-black *,
.bg-black *::before,
.bg-black *::after,
.bg-gray-900,
.bg-gray-900 *,
.bg-gray-900 *::before,
.bg-gray-900 *::after,
section.bg-black,
section.bg-gray-900 {
    background-image: none !important;
    background-attachment: initial !important;
    background-size: initial !important;
    background-repeat: initial !important;
    background-position: initial !important;
}

/* Force solid backgrounds */
footer {
    background: #111827 !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    /* Fix subpixel rendering issues */
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    will-change: auto !important;
    /* Force sharp edges */
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    /* Ensure footer starts on a full pixel */
    margin-top: 0 !important;
    padding-top: 4rem !important;
}

/* Remove any pseudo-elements that might create diagonal lines */
footer::before,
footer::after,
footer *::before,
footer *::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    border: none !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.bg-black {
    background: #000000 !important;
}

.bg-gray-900 {
    background: #111827 !important;
}

/* Remove any diagonal lines or borders from footer elements */
footer,
footer *,
footer > *,
footer div,
footer section {
    border-image: none !important;
    border-image-source: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
}

/* Remove box-shadow and transform from footer elements except social icons */
footer *:not(.gradient-gold):not(.gradient-gold *):not(a[class*="gradient-gold"]) {
    box-shadow: none !important;
    transform: none !important;
}

/* Preserve transform capability for social icons */
footer a.gradient-gold,
footer .gradient-gold {
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
}

/* Restore only the border-t on footer */
footer.border-t {
    border-top: 1px solid rgba(212, 175, 55, 0.2) !important;
    box-shadow: none !important;
}

/* Restore only the border-t on the copyright section */
footer .border-t {
    border-top: 1px solid rgba(212, 175, 55, 0.2) !important;
    box-shadow: none !important;
}

/* Ensure footer container has clean background but preserve gradient-gold */
footer .container,
footer .container > *:not(.gradient-gold) {
    background-image: none !important;
    border-image: none !important;
}

/* Force pixel-perfect alignment */
footer .container {
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
}

/* Ensure grid elements are pixel-aligned */
footer .grid,
footer .grid > * {
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
}

/* Force clean state for footer children but exempt social icons */
footer > div,
footer > div > div:not(.gradient-gold) {
    background: transparent !important;
}

/* Ensure social icons keep gradient background - High Specificity */
footer .gradient-gold,
footer a.gradient-gold,
.gradient-gold {
    background: linear-gradient(135deg, #D4AF37 0%, #F4E4B0 100%) !important;
    background-image: linear-gradient(135deg, #D4AF37 0%, #F4E4B0 100%) !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure social icons SVG are visible and have correct color */
footer .gradient-gold svg,
footer a.gradient-gold svg {
    display: block !important;
    color: #000000 !important;
    fill: #000000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 24px !important;
    height: 24px !important;
}

/* Allow hover transform on social icons */
footer .gradient-gold:hover,
footer a.gradient-gold:hover {
    transform: scale(1.1) !important;
    -webkit-transform: scale(1.1) !important;
    transition: transform 0.3s ease !important;
}

/* Remove any SVG patterns or lines */
footer svg:not(.w-5):not(.w-6):not(.w-7):not([class*="w-"]) {
    display: none !important;
}

/* Remove any absolutely positioned elements that might be decorative */
footer > *:not(.container) {
    position: static !important;
}

/* Ensure no elements overflow or create visual artifacts */
footer * {
    outline: none !important;
    text-decoration: none !important;
    /* Fix subpixel rendering for all children */
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Remove any Tailwind decorative utilities */
footer .border-dashed,
footer .border-dotted,
footer .divide-x,
footer .divide-y {
    border-style: solid !important;
}

/* Force all borders to be straight (no angles) */
footer,
footer * {
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
}

/* Restore only the specific borders we want */
footer.border-t,
footer .border-t {
    border-top: 1px solid rgba(212, 175, 55, 0.2) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    /* Ensure border is rendered on full pixels */
    transform: translateY(0) !important;
    -webkit-transform: translateY(0) !important;
}

/* Remove any rotated or skewed elements */
footer *[style*="transform"],
footer *[style*="rotate"],
footer *[style*="skew"] {
    transform: none !important;
}

/* Hide any decorative dividers or lines */
footer hr,
footer .divider,
footer [class*="line"],
footer [class*="divider"] {
    display: none !important;
}

/* Ensure no visual artifacts from overflow */
footer,
footer * {
    overflow: visible !important;
}

footer {
    overflow: hidden !important;
}

/* Remove any mask or clip that might create lines */
footer,
footer * {
    mask: none !important;
    -webkit-mask: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
}

/* Ensure WhatsApp button shadow doesn't create lines */
a[href*="wa.me"].fixed {
    box-shadow: 0 10px 25px rgba(34, 197, 94, 0.3) !important;
    z-index: 9999 !important;
}

/* Chrome/Edge specific fix for subpixel rendering */
@supports (-webkit-appearance: none) {
    footer,
    footer * {
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }
    
    footer .container {
        -webkit-transform: translateZ(0) scale(1.0001) !important;
        transform: translateZ(0) scale(1.0001) !important;
    }
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    /* Header Mobile */
    header {
        display: block !important;
        padding: 0 !important;
        width: 100% !important;
    }
    
    header > div {
        margin: 0.5rem !important;
        padding: 0.5rem 1rem !important;
        width: auto !important;
        max-width: none !important;
    }
    
    header img {
        height: 1.75rem !important;
    }
    
    header button {
        padding: 0.25rem !important;
    }
    
    /* Hero Section Mobile Fix */
    #hero-section {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 100vh;
    }
    
    /* Garante que o slider ocupe tudo */
    #hero-section .absolute {
        width: 100% !important;
        height: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    /* Padding apenas no conteúdo interno do Hero */
    #hero-section > .relative.z-10 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
        width: 100% !important;
    }
    
    /* Ajustes Gerais de Tipografia Mobile */
    .text-6xl, .text-7xl { font-size: 3.5rem !important; line-height: 1.1 !important; }
    .text-5xl { font-size: 2.75rem !important; line-height: 1.1 !important; }
    .text-4xl { font-size: 2.25rem !important; line-height: 1.2 !important; }
    .text-3xl { font-size: 1.75rem !important; line-height: 1.3 !important; }
    
    /* Ajustes de Espaçamento Mobile */
    .py-32 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
    .mb-20 { margin-bottom: 3rem !important; }
    
    /* Grids Mobile */
    .grid:not(.grid-cols-2):not(.grid-cols-3) { grid-template-columns: 1fr !important; }
    
    /* Ajuste de containers gerais */
    .container { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
}

/* Google Translate Widget Customization */
#google_translate_element,
#google_translate_element_mobile {
    display: none !important;
}

/* Estilizar bandeira atual no header */
#current-flag {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    cursor: pointer;
}

#current-flag:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
}

/* Estilizar dropdown de idiomas */
.language-dropdown {
    min-width: 180px;
    background: white !important;
    backdrop-filter: none !important;
}

.language-dropdown button {
    text-align: left;
    color: #1f2937 !important;
    font-weight: 500;
}

.language-dropdown button:hover {
    background-color: rgba(212, 175, 55, 0.1) !important;
}

.language-dropdown button img {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.language-dropdown button:hover img {
    transform: scale(1.05);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

.language-dropdown button span {
    color: #1f2937 !important;
}

/* Esconder o logo "Powered by Google" e ícone */
.goog-logo-link {
    display: none !important;
}

.goog-te-gadget {
    color: transparent !important;
    font-size: 0 !important;
}

/* Esconder a imagem/ícone do Google */
.goog-te-gadget img {
    display: none !important;
}

.goog-te-gadget span {
    display: none !important;
}

/* Mostrar apenas o select */
.goog-te-gadget .goog-te-combo {
    display: inline-block !important;
}

/* Estilizar o select do Google Translate */
.goog-te-combo {
    padding: 0.5rem 0.75rem !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    border-radius: 9999px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(10px) !important;
    color: inherit !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    outline: none !important;
}

.goog-te-combo:hover {
    border-color: rgba(212, 175, 55, 0.6) !important;
    background: rgba(255, 255, 255, 0.15) !important;
}

.goog-te-combo:focus {
    border-color: #D4AF37 !important;
    box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.2) !important;
}

/* Estilo para quando o header está scrolled (fundo branco) */
.glass-modern .goog-te-combo {
    background: rgba(255, 255, 255, 0.8) !important;
    color: #111827 !important;
}

/* Estilo para quando o header está no topo (fundo escuro) */
.glass-dark .goog-te-combo {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

/* Mobile - Estilo para o menu mobile */
#google_translate_element_mobile .goog-te-combo {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #111827 !important;
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
}

/* Esconder a barra superior do Google Translate quando a página é traduzida */
.goog-te-banner-frame.skiptranslate {
    display: none !important;
}

body {
    top: 0 !important;
}

/* Ajustar o iframe do Google Translate */
.skiptranslate iframe {
    visibility: hidden !important;
    height: 0 !important;
    display: none !important;
}

/* Remover todos os elementos extras do widget */
#google_translate_element .skiptranslate,
#google_translate_element_mobile .skiptranslate {
    display: inline-block !important;
}

#google_translate_element .skiptranslate > div,
#google_translate_element_mobile .skiptranslate > div {
    display: inline-block !important;
}

/* Esconder qualquer texto ou elemento que não seja o select */
#google_translate_element .goog-te-gadget > span:first-child,
#google_translate_element_mobile .goog-te-gadget > span:first-child {
    display: none !important;
}

/* Garantir que apenas o dropdown seja visível */
.goog-te-gadget > div {
    display: inline-block !important;
}

.goog-te-gadget > div > div {
    display: none !important;
}

.goog-te-gadget > div > .goog-te-combo {
    display: inline-block !important;
}

/* Description Content - Summernote rich text styles */
.description-content {
    overflow-wrap: break-word;
    word-wrap: break-word;
    overflow: hidden;
}

.description-content iframe[width],
.description-content iframe {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    min-height: 200px;
    aspect-ratio: 16/9 !important;
    border-radius: 8px;
    margin: 1rem 0;
    display: block;
}

.description-content p {
    margin-bottom: 1rem;
}

.description-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* Force responsive container for videos */
.description-content p:has(iframe) {
    position: relative;
    width: 100%;
    overflow: hidden;
}
