/* Shell visual da Maiopção para a página Favoritos.
   Replica o cabeçalho/rodapé de Propriedades.php sem carregar os estilos dos filtros. */

body, html, button, input, select, textarea {
    font-family: 'Inter', -apple-system, 'Segoe UI', sans-serif !important;
}
h1,h2,h3,h4,h5,h6,.titulo,.card-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600;
}
p,.descricao,.card-text,.footer { font-family:'Inter',sans-serif !important; font-weight:400; }
.btn,.nav-link { font-family:'Inter',sans-serif !important; }

html, body { width:100%; overflow-x:hidden; }
body { background:#fff; color:#1e293b; }
.nav-button-reset { background:transparent; border:0; }

/* Spinner */
#spinner { opacity:0; visibility:hidden; transition:opacity .8s ease-out,visibility 0s linear .5s; z-index:99999; background:#fff; }
#spinner.show { transition:opacity .8s ease-out,visibility 0s linear 0s; visibility:visible; opacity:1; }

/* Topbar */
.topbar-container {
    width:100%; background:#000; height:40px; display:flex; justify-content:center; align-items:center;
}
.topbar-container .container { max-width:75%; width:100%; padding:0 15px; margin:0 auto; }
.top-info { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.top-info-item { display:flex; align-items:center; font-size:12px; white-space:nowrap; }
.top-info-email { display:flex; align-items:center; }
.topbar-text { font-size:12px; color:#fff; }
#note { width:500px; overflow:hidden; }
#note small { position:relative; display:inline-block; animation:mymove 5s infinite; }
@keyframes mymove { from{left:-100%;} to{left:100%;} }

/* Menu principal */
#menu { width:100%; min-height:80px; background:rgba(255,255,255,.95); transition:all .3s ease; }
.menu { background:rgba(255,255,255,.8); margin-top:0; width:100%; display:flex; justify-content:center; }
.menu .container, #menu.menu-fixed .container { max-width:75%; width:100%; padding:0 15px; margin:0 auto; }
.logo { display:inline-block; min-width:180px; }
.logo img { height:70px; width:auto; display:block; }
#menu.menu-fixed { position:fixed; top:0; left:0; right:0; width:100%; z-index:1000; background:rgba(255,255,255,.98); box-shadow:0 2px 15px rgba(0,0,0,.08); animation:slideDown .3s ease; }
#menu.menu-fixed .menu { background:transparent; box-shadow:none; }
#menu.menu-fixed .logo img { height:55px; transition:height .3s ease; }
@keyframes slideDown { from{transform:translateY(-100%);} to{transform:translateY(0);} }

.navbar .navbar-nav { padding:15px 0; }
.navbar .navbar-nav .nav-link { padding:10px; color:#000103; font-size:16px; font-weight:500; outline:none; }
.navbar .navbar-nav .nav-link:hover,.navbar .navbar-nav .nav-link.active { color:#006ABA !important; }
.navbar .dropdown-toggle::after { border:none; content:"\f107"; font-family:"Font Awesome 5 Free"; font-weight:900; vertical-align:middle; margin-left:8px; }
.dropdown-menu { border:none !important; border-radius:12px !important; box-shadow:0 10px 30px rgba(0,0,0,.1) !important; padding:.5rem 0 !important; margin-top:.5rem !important; }
.dropdown-item { font-size:.9rem !important; padding:.5rem 1.5rem !important; transition:all .2s ease !important; }
.dropdown-item:hover { background:#f1f5f9 !important; color:#006ABA !important; padding-left:1.8rem !important; }
@media (min-width:992px) {
    .navbar .nav-item .dropdown-menu { display:block; visibility:hidden; top:100%; transform:rotateX(-75deg); transform-origin:0 0; transition:.5s; opacity:0; }
    .navbar .nav-item:hover .dropdown-menu, .navbar .nav-item .dropdown-menu.show { transform:rotateX(0); visibility:visible; opacity:1; }
}

.phone-info { display:flex !important; align-items:center !important; gap:10px !important; }
.phone-info i { font-size:1.3rem !important; width:38px !important; height:38px !important; display:flex !important; align-items:center !important; justify-content:center !important; background:#eef2ff !important; border-radius:50% !important; }
.phone-numbers { display:flex !important; flex-direction:column !important; line-height:1.3 !important; }
.phone-numbers span { font-size:.95rem !important; font-weight:600 !important; color:#1e293b !important; }
.phone-numbers small { font-size:.7rem !important; color:#64748b !important; }
.btn-outline-primary { border:1px solid #006ABA !important; color:#006ABA !important; font-size:.85rem !important; padding:7px 16px !important; border-radius:30px !important; font-weight:500 !important; transition:all .2s ease !important; }
.btn-outline-primary:hover { background:#006ABA !important; color:#fff !important; }
.navbar-toggler { border:none !important; padding:0 !important; }
.navbar-toggler:focus { box-shadow:none !important; }
.navbar-toggler-icon { background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23006ABA' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; }

/* Container principal */
.container { width:100% !important; padding:0 clamp(5px,3vw,15px) !important; margin:0 auto !important; max-width:min(75%,1200px) !important; }
@media (min-width:1201px) {
    .menu .container,#menu.menu-fixed .container,.topbar-container .container,.container,.footer-container { max-width:1320px !important; width:100% !important; padding:0 20px !important; }
}
@media (min-width:1600px) {
    .menu .container,#menu.menu-fixed .container,.topbar-container .container,.container,.footer-container { max-width:1400px !important; }
}
@media (max-width:1200px) {
    .topbar-container .container,.menu .container,#menu.menu-fixed .container { max-width:85%; }
    .container { max-width:min(85%,1100px) !important; }
}
@media (max-width:992px) {
    .topbar-container .container,.menu .container,#menu.menu-fixed .container { max-width:90%; }
    .container { max-width:min(90%,900px) !important; }
    .topbar-text { font-size:11px; }
}
@media (max-width:768px) {
    .container { max-width:min(95%,700px) !important; }
    .menu .container,#menu.menu-fixed .container,.topbar-container .container { max-width:95%; padding:0 10px; }
    #menu.menu-fixed .logo img { height:45px; }
}
@media (max-width:650px) { .topbar-container { display:none !important; } }
@media (max-width:576px) { .container { max-width:98% !important; padding:0 8px !important; } }
@media (max-width:480px) { .container { max-width:100% !important; padding:0 6px !important; } }
@media (max-width:360px) { .container { max-width:100% !important; padding:0 4px !important; } }

/* Mobile menu */
@media (max-width:991px) {
    #menu { min-height:64px; }
    #menu .logo img { height:45px !important; width:auto !important; }
    #menu .navbar-collapse { background:#fff !important; padding:10px !important; border-radius:8px !important; box-shadow:0 4px 12px rgba(0,0,0,.1) !important; margin-top:10px !important; }
    #menu .navbar-nav .nav-link { font-size:16px !important; padding:8px 15px !important; border-bottom:1px solid #f0f0f0 !important; }
    #menu .dropdown-menu { position:static !important; float:none !important; border:none !important; box-shadow:none !important; padding:0 0 0 15px !important; margin:0 !important; background:transparent !important; }
    #menu .dropdown-item { font-size:15px !important; padding:6px 15px !important; color:#333 !important; }
    #menu .dropdown-item:hover { background:#f8f9fa !important; padding-left:15px !important; }
}

/* Footer igual às restantes páginas */
.footer { background:#2c2c2c; color:#fff; padding:50px 0; width:100%; display:flex; justify-content:center; }
.footer-container { max-width:75% !important; width:100% !important; padding:0 15px !important; margin:0 auto !important; }
.footer h3 { color:dodgerblue; margin-bottom:20px; font-size:25px; text-transform:uppercase; }
.footer a { color:#bfbfbf; text-decoration:none; font-size:16px; transition:color .3s; }
.footer a:hover { color:dodgerblue; }
.footer .row { display:flex; flex-wrap:wrap; }
.footer .col { flex:1 1 20%; padding:10px; min-width:200px; }
.footer .short-link,.footer .help-link { display:flex; flex-direction:column; gap:10px; }
.footer hr { border:none; border-top:1px solid #444; margin:40px 0; }
.footer-bottom { display:flex; flex-direction:row; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; font-size:15px; }
.privacy-links { display:flex; gap:15px; }
.social-icons { display:flex; gap:10px; }
.social-icons a { color:#fff; font-size:1.5rem; text-decoration:none; }
.social-icons a:hover { color:#ddd; opacity:.8; }
@media (max-width:1200px) { .footer-container { max-width:85% !important; } }
@media (max-width:992px) { .footer-container { max-width:90% !important; } .footer .col{flex:1 1 50%;} }
@media (max-width:768px) { .footer-container{max-width:95% !important;padding:0 10px !important;} .footer .col{flex:1 1 50% !important;margin-bottom:30px !important;} }
@media (max-width:576px) { .footer-container{max-width:98% !important;padding:0 8px !important;} }
@media (max-width:480px) { .footer-container{max-width:100% !important;padding:0 6px !important;} .footer .row .col{flex:1 1 100% !important;text-align:center !important;} .short-link,.help-link{align-items:center !important;} .footer .col .social-icons{justify-content:center;align-items:center;flex-wrap:wrap;} }
@media (max-width:360px) { .footer-container{max-width:100% !important;padding:0 4px !important;} .footer{padding:30px 0 !important;} .footer h3{font-size:1rem !important;} .footer a{font-size:.7rem !important;} .social-icons a{font-size:1rem !important;} .footer-bottom{flex-direction:column !important;text-align:center !important;gap:10px !important;font-size:.65rem !important;} .privacy-links{flex-direction:column !important;gap:5px !important;} }

/* Login modal */
.modal-horizontal .modal-dialog { max-width:600px; width:90%; min-height:80vh; display:flex; align-items:center; justify-content:center; }
.modal-horizontal .modal-content { width:100%; }
.modal-header-crm { background:#006ABA; color:#fff; }
.customizado-input { width:100%; padding:10px 12px; border:1px solid #d6dde5; border-radius:6px; }

/* Cookies */
#cookieConsent { position:fixed; bottom:0; left:0; width:100%; background:#222; color:#fff; text-align:center; padding:20px; z-index:9999; display:none; box-sizing:border-box; }
#cookieConsent button { background:#0056b3; color:#fff; padding:10px 20px; border:none; cursor:pointer; font-weight:bold; margin-left:10px; border-radius:5px; transition:background-color .3s ease; }
#cookieConsent button.reject { background:#b02a37; }
#cookieConsent button:hover { background:#004085; }
#cookieConsent button.reject:hover { background:#842029; }
@media (max-width:600px) { #cookieConsent{padding:10px;} #cookieConsent button{padding:8px 15px;font-size:14px;margin-top:10px;margin-left:0;display:block;width:100%;} #cookieConsent button:first-child{margin-bottom:10px;} }

/* Botão subir V8.1 - centrado */
.subir-ao-topo { position:fixed !important; right:20px !important; bottom:20px !important; z-index:100 !important; width:50px !important; height:50px !important; padding:0 !important; border:0 !important; border-radius:50% !important; align-items:center !important; justify-content:center !important; line-height:1 !important; box-shadow:0 4px 12px rgba(0,0,0,.18); }
.subir-ao-topo i { margin:0 !important; padding:0 !important; line-height:1 !important; font-size:1.1rem !important; }
@media (max-width:767px) { .subir-ao-topo{width:44px !important;height:44px !important;right:14px !important;bottom:14px !important;} }

/* Conteúdo Favoritos */
.page-main { min-height:50vh; }
.favoritos-page-hero { padding:36px 0 22px; background:linear-gradient(180deg,#f8fbff 0%,#fff 100%); border-bottom:1px solid #e8eef5; }
.favoritos-page-title { color:#006ABA; margin:0; font-weight:700; }
.favoritos-page-subtitle { color:#64748b; margin:8px 0 0; }
