/* Custom Colors for Shine Bright Cleaning 
   Colors from the logo:
   Primary Green: #5b9a8b (verde médio para contraste)
   Secondary Green: #cceae4 (verde claro principal da logo)
   Tertiary Beige: #faf7f6 (bege muito claro)
   Quaternary Green: #e4f7f3 (verde muito claro para backgrounds)
   Additional: #d4ede8, #dbefea (tons complementares da logo)
*/

/* Header background - verde escuro para destacar a logo */
header.header-light {
    background: linear-gradient(135deg, #5b9a8b 0%, #4a8577 100%);
    box-shadow: 0 2px 20px rgba(91, 154, 139, 0.15);
    transition: all 0.3s ease;
    padding: 18px 0; /* Aumentando 15% a altura da barra */
}

/* Header sticky (quando rola a página) */
header.header-light.smaller {
    background: linear-gradient(135deg, #5b9a8b 0%, #4a8577 100%);
    box-shadow: 0 4px 25px rgba(91, 154, 139, 0.25);
    backdrop-filter: blur(10px);
    padding: 12px 0; /* Altura reduzida no sticky, mas ainda mais generosa */
}

/* Ajustes de tamanho da logo */
header #logo img.logo-main,
header #logo img.logo-scroll,
header #logo img.logo-mobile {
    max-height: 60px; /* Aumentando para melhor destaque no fundo escuro */
    width: auto;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
    transition: all 0.3s ease;
}

/* Logo na versão sticky do header */
header.smaller #logo img.logo-main,
header.smaller #logo img.logo-scroll {
    max-height: 55px; /* Mantendo proporção com header maior */
    width: auto;
    transition: all 0.3s ease;
}

/* Logo na versão mobile do header */
header.header-mobile #logo img.logo-mobile {
    max-height: 45px;
    width: auto;
}

/* Menu principal links de texto */
.header-light #mainmenu a.menu-item {
    color: #ffffff; /* Texto branco para contraste com fundo escuro */
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    padding: 8px 16px;
    border-radius: 25px;
    position: relative;
}

.header-light #mainmenu>li>a {
    color: #ffffff;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

/* Links do menu ao passar o mouse */
.header-light #mainmenu a.menu-item:hover {
    color: #cceae4; /* Verde claro da logo no hover */
    background: rgba(204, 234, 228, 0.15);
    transform: translateY(-1px);
}

/* Item ativo no menu */
header.header-light #mainmenu a.menu-item.active {
    color: #cceae4; /* Verde claro para o item ativo */
    background: rgba(204, 234, 228, 0.2);
}

/* Texto "Need Help?" no header */
.header-light .h-phone span {
    color: #cceae4 !important; /* Verde claro para destaque */
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

/* Número de telefone no header */
.header-light .h-phone h5 a {
    color: #ffffff; /* Branco para o número de telefone */
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.header-light .h-phone h5 a:hover {
    color: #cceae4; /* Verde claro ao passar o mouse */
    transform: scale(1.05);
}

/* Botão principal no header - design moderno */
.menu_side_area a.btn-main {
    background: linear-gradient(135deg, #cceae4 0%, #d4ede8 100%);
    color: #5b9a8b; /* Verde escuro para texto */
    font-weight: 700;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    padding: 12px 24px;
    border-radius: 30px;
    box-shadow: 0 4px 15px rgba(204, 234, 228, 0.3);
    text-shadow: none;
    position: relative;
    overflow: hidden;
}

.menu_side_area a.btn-main::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.6s ease;
}

.menu_side_area a.btn-main:hover::before {
    left: 100%;
}

.menu_side_area a.btn-main:hover {
    background: linear-gradient(135deg, #ffffff 0%, #cceae4 100%);
    color: #4a8577;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(204, 234, 228, 0.4);
    border-color: #cceae4;
}

/* Cores do submenu - design moderno */
#mainmenu li li a.menu-item {
    color: #5b9a8b !important;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 8px;
    margin: 2px;
    transition: all 0.3s ease;
}

#mainmenu li li a.menu-item:hover {
    background: #cceae4 !important;
    color: #4a8577 !important;
    transform: translateX(5px);
}

/* Menu mobile - mantendo funcionalidade */
header.header-mobile {
    background: linear-gradient(135deg, #5b9a8b 0%, #4a8577 100%) !important;
    box-shadow: 0 2px 20px rgba(91, 154, 139, 0.2);
}

/* Menu mobile toggle button */
#menu-btn:before {
    color: #cceae4;
    font-size: 24px;
    transition: all 0.3s ease;
}

#menu-btn:hover:before {
    color: #ffffff;
    transform: scale(1.1);
}

/* Menu mobile dropdown */
.header-mobile #mainmenu {
    background: linear-gradient(135deg, #5b9a8b 0%, #4a8577 100%);
    backdrop-filter: blur(10px);
    border-radius: 0 0 15px 15px;
}

.header-mobile #mainmenu > li {
    border-bottom: solid 1px rgba(204, 234, 228, 0.2);
}

.header-mobile #mainmenu li ul {
    background: rgba(212, 237, 232, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 10px;
    margin: 5px;
}

.header-mobile #mainmenu a.menu-item {
    color: #ffffff !important;
    font-weight: 600;
    padding: 12px 20px;
    transition: all 0.3s ease;
}

.header-mobile #mainmenu a.menu-item:hover {
    color: #cceae4 !important;
    background: rgba(204, 234, 228, 0.15) !important;
    transform: translateX(5px);
}

/* Textos destacados */
.slider-teaser, 
p.text-white,
.text-white,
.text-light p {
    color: #ffffff !important;
    font-weight: 600;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

/* Ajustes no texto do hero */
.bg-color-3 h1, .bg-color-3 p {
    color: #ffffff !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.4);
    font-weight: 600;
}

.bg-color-3 .lead {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}

/* Botões principais com nova paleta */
.btn-main {
    background: #5b9a8b;
    border-color: #5b9a8b;
    color: #ffffff;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-main:hover {
    background: #4a8577;
    border-color: #4a8577;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(91, 154, 139, 0.3);
}

.btn-main.bg-color-2 {
    background: #cceae4;
    border-color: #cceae4;
    color: #5b9a8b;
}

.btn-main.bg-color-2:hover {
    background: #b8e0d8;
    border-color: #b8e0d8;
    color: #4a8577;
}

/* Seções com fundo colorido */
.bg-color {
    background: #5b9a8b;
}

.bg-color-2 {
    background: #e4f7f3;
}

.bg-color-3 {
    background: linear-gradient(135deg, #5b9a8b 0%, #4a8577 100%);
}

/* Destaque para elementos importantes */
.id-color {
    color: #5b9a8b;
}

.id-color-2 {
    color: #cceae4;
}

/* Ícones e elementos gráficos */
i.id-color {
    color: #5b9a8b;
}

/* Cards e elementos de destaque */
.shadow-soft {
    box-shadow: 0 8px 30px rgba(91, 154, 139, 0.1);
}

/* Textos em seções escuras */
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark p {
    color: #ffffff;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

/* Destaque especial para ofertas */
.special-offer,
.discount-badge {
    background: #cceae4 !important;
    color: #5b9a8b !important;
    border: 2px solid #5b9a8b !important;
}

/* Footer com nova paleta */
footer {
    background: #5b9a8b;
    color: #ffffff;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

footer h5,
footer .widget h5 {
    color: #cceae4;
}

footer a {
    color: #e4f7f3;
}

footer a:hover {
    color: #cceae4;
}

/* Links sociais */
.social-icons a {
    background: rgba(204, 234, 228, 0.2);
    color: #e4f7f3;
    border: 1px solid rgba(204, 234, 228, 0.3);
}

.social-icons a:hover {
    background: #cceae4;
    color: #5b9a8b;
    border-color: #cceae4;
}

/* Eliminar qualquer espaçamento extra após o footer */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh;
    height: auto !important;
    overflow-x: hidden;
}

/* Garantir que o footer seja o último elemento visual */
footer,
footer .subfooter {
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
}

/* Remover espaçamento de elementos após o footer */
footer + *,
body::after,
html::after {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* Popup e elementos fixos não devem afetar layout */
.free-estimate-popup,
.cookie-consent,
.whatsapp_chat_support {
    position: fixed !important;
    margin: 0 !important;
    bottom: 0 !important;
}

/* Garantir que scripts inline não criem espaçamento visual */
script,
style {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}