/* FOTO RATTS V31 — menu inspirado no layout creme/dourado */
.fr-navbar {
    position: sticky;
    top: 0;
    z-index: 1040;
    min-height: 86px;
    padding: 10px 0;
    background: rgba(248, 245, 237, .95) !important;
    border-bottom: 1px solid rgba(190, 144, 67, .16);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 1px 0 rgba(0,0,0,.02);
    transition: box-shadow .25s ease, background .25s ease;
}
.fr-navbar__container { position: relative; gap: 18px; }
.fr-navbar__brand { margin-right: 20px; padding: 0; flex: 0 0 auto; }
.fr-navbar__logo { display: block; width: clamp(175px, 18vw, 255px) !important; height: auto; max-height: 64px; object-fit: contain; }
.fr-navbar__brand-fallback { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 30px; font-weight: 700; color: #2d2b28; }
.fr-navbar__collapse { position: relative; align-items: center; }
.fr-navbar__links { align-items: center; gap: 2px; }
.fr-navbar .navbar-nav .nav-link {
    position: relative;
    padding: 13px 11px !important;
    color: #595650 !important;
    font-family: 'Outfit', Arial, sans-serif;
    font-size: 14px !important;
    font-weight: 500;
    letter-spacing: .025em;
    white-space: nowrap;
    transition: color .22s ease;
}
.fr-navbar .navbar-nav .nav-link::after { transition: transform .2s ease; }
.fr-navbar .navbar-nav .nav-link:not(.dropdown-toggle)::before {
    content: '';
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 7px;
    height: 1px;
    background: #c9953f;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .24s ease;
}
.fr-navbar .navbar-nav .nav-link:hover,
.fr-navbar .navbar-nav .nav-link.active { color: #b77d24 !important; }
.fr-navbar .navbar-nav .nav-link:hover::before,
.fr-navbar .navbar-nav .nav-link.active::before { transform: scaleX(1); }
.fr-navbar__actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.fr-navbar__search-toggle {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(50, 48, 45, .14);
    border-radius: 50%;
    background: rgba(255,255,255,.56);
    color: #494640;
    transition: all .22s ease;
}
.fr-navbar__search-toggle:hover { color: #b77d24; border-color: rgba(201,149,63,.45); background: #fff; }
.fr-navbar__cta {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border: 1px solid #c9953f;
    border-radius: 2px;
    background: linear-gradient(135deg, #d4a14b, #ba8128);
    color: #fff !important;
    text-decoration: none;
    font-family: 'Outfit', Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    box-shadow: 0 8px 24px rgba(169,115,31,.13);
    transition: transform .22s ease, box-shadow .22s ease;
}
.fr-navbar__cta:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(169,115,31,.22); }
.fr-navbar__dropdown {
    min-width: 220px;
    padding: 9px;
    border: 1px solid rgba(190,144,67,.18) !important;
    border-radius: 6px !important;
    background: rgba(250,248,242,.99) !important;
    box-shadow: 0 18px 40px rgba(45,42,36,.12);
}
.fr-navbar__dropdown .dropdown-item {
    padding: 9px 11px;
    border-radius: 4px;
    color: #56514a;
    font-family: 'Outfit', Arial, sans-serif;
    font-size: 13px !important;
}
.fr-navbar__dropdown .dropdown-item:hover { color: #9d6c1f; background: rgba(201,149,63,.09); }
.fr-navbar__search-panel { position: absolute; top: calc(100% + 16px); right: 0; width: min(560px, 92vw); z-index: 1050; }
.fr-navbar__search-form {
    display: flex;
    gap: 8px;
    padding: 12px;
    border: 1px solid rgba(190,144,67,.18);
    border-radius: 6px;
    background: rgba(250,248,242,.98);
    box-shadow: 0 18px 40px rgba(45,42,36,.14);
}
.fr-navbar__search-form .form-control {
    min-height: 44px;
    border: 1px solid rgba(50,48,45,.14);
    border-radius: 3px;
    background: #fff;
    font-family: 'Outfit', Arial, sans-serif;
}
.fr-navbar__search-form button {
    min-width: 92px;
    border: 0;
    border-radius: 3px;
    background: #2f2d2a;
    color: #fff;
    font-family: 'Outfit', Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.fr-navbar__toggler { border-color: rgba(50,48,45,.16) !important; box-shadow: none !important; }

@media (max-width: 1199.98px) {
    .fr-navbar { min-height: 76px; }
    .fr-navbar__collapse { margin-top: 14px; padding: 14px 0 5px; border-top: 1px solid rgba(190,144,67,.16); }
    .fr-navbar__links { align-items: stretch; }
    .fr-navbar .navbar-nav .nav-link { padding: 11px 4px !important; font-size: 15px !important; }
    .fr-navbar .navbar-nav .nav-link:not(.dropdown-toggle)::before { left: 4px; right: auto; width: 34px; bottom: 6px; }
    .fr-navbar__actions { margin-top: 10px; }
    .fr-navbar__cta { flex: 1 1 auto; }
    .fr-navbar__search-panel { position: static; width: 100%; margin-top: 10px; }
}
@media (max-width: 575.98px) {
    .fr-navbar { padding: 8px 0; }
    .fr-navbar__logo { width: 178px !important; max-height: 52px; }
    .fr-navbar__search-form { flex-direction: column; }
    .fr-navbar__search-form button { min-height: 42px; width: 100%; }
}

/* FOTO RATTS V32 — logo/menu maiores + busca fixa no topo */
@media (min-width: 1200px) {
    .fr-navbar {
        min-height: 104px;
        padding: 12px 0;
    }
    .fr-navbar__container {
        max-width: 1540px;
        gap: 20px;
    }
    .fr-navbar__brand {
        margin-right: 22px;
    }
    .fr-navbar__logo {
        width: clamp(270px, 22vw, 330px) !important;
        max-height: 82px;
    }
    .fr-navbar__links {
        gap: 4px;
    }
    .fr-navbar .navbar-nav .nav-link {
        padding: 14px 12px !important;
        font-size: 16px !important;
        font-weight: 500;
        letter-spacing: .018em;
    }
    .fr-navbar__dropdown .dropdown-item {
        font-size: 14px !important;
    }
    .fr-navbar__actions {
        gap: 10px;
    }
    .fr-navbar__search-inline {
        width: 230px;
    }
}

.fr-navbar__search-inline {
    position: relative;
    display: flex;
    align-items: center;
    width: clamp(190px, 17vw, 250px);
    min-width: 0;
}
.fr-navbar__search-inline .form-control {
    width: 100%;
    height: 44px;
    padding: 0 44px 0 15px;
    border: 1px solid rgba(50,48,45,.15);
    border-radius: 3px;
    background: rgba(255,255,255,.72);
    color: #494640;
    font-family: 'Outfit', Arial, sans-serif;
    font-size: 13px;
    box-shadow: none !important;
}
.fr-navbar__search-inline .form-control:focus {
    border-color: rgba(201,149,63,.60);
    background: #fff;
}
.fr-navbar__search-inline button {
    position: absolute;
    right: 4px;
    top: 4px;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: #85652f;
}
.fr-navbar__search-inline button:hover {
    background: rgba(201,149,63,.09);
    color: #b77d24;
}

@media (max-width: 1399.98px) and (min-width: 1200px) {
    .fr-navbar__logo { width: 275px !important; }
    .fr-navbar .navbar-nav .nav-link { padding-left: 9px !important; padding-right: 9px !important; font-size: 15px !important; }
    .fr-navbar__search-inline { width: 190px; }
    .fr-navbar__cta { padding-left: 14px; padding-right: 14px; }
}

@media (max-width: 1199.98px) {
    .fr-navbar__logo {
        width: 245px !important;
        max-height: 68px;
    }
    .fr-navbar__search-inline {
        width: 100%;
        flex: 1 1 100%;
    }
    .fr-navbar__actions {
        flex-wrap: wrap;
    }
}

@media (max-width: 575.98px) {
    .fr-navbar__logo {
        width: 210px !important;
        max-height: 58px;
    }
}

/* FOTO RATTS V33 — logo maior */
@media (min-width: 1400px) {
    .fr-navbar__logo {
        width: 360px !important;
        max-height: 90px;
    }
}
@media (max-width: 1399.98px) and (min-width: 1200px) {
    .fr-navbar__logo {
        width: 305px !important;
        max-height: 82px;
    }
}
@media (max-width: 1199.98px) {
    .fr-navbar__logo {
        width: 265px !important;
        max-height: 72px;
    }
}
@media (max-width: 575.98px) {
    .fr-navbar__logo {
        width: 225px !important;
        max-height: 62px;
    }
}


/* V35 - logo maior, busca maior, sem botão orçamento no topo */
@media (min-width: 1200px) {
    .fr-navbar__container { max-width: 1660px; }
    .fr-navbar__logo { width: clamp(310px, 24vw, 380px) !important; max-height: 92px; }
    .fr-navbar__actions { min-width: 360px; justify-content: flex-end; }
    .fr-navbar__search-inline { width: 320px; }
    .fr-navbar__search-inline .form-control { height: 48px; font-size: 14px; padding-left: 16px; padding-right: 46px; }
}
@media (max-width: 1199.98px) {
    .fr-navbar__actions { width: 100%; }
    .fr-navbar__search-inline { width: 100%; }
}



/* V38 - logo e menu maiores */
@media (min-width: 1400px) {
    .fr-navbar__container {
        max-width: 1760px;
    }

    .fr-navbar__logo {
        width: 420px !important;
        max-height: 102px !important;
    }

    .fr-navbar .navbar-nav .nav-link {
        font-size: 18px !important;
        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    .fr-navbar__dropdown .dropdown-item {
        font-size: 16px !important;
    }
}

@media (max-width: 1399.98px) and (min-width: 1200px) {
    .fr-navbar__logo {
        width: 345px !important;
        max-height: 90px !important;
    }

    .fr-navbar .navbar-nav .nav-link {
        font-size: 16.5px !important;
    }

    .fr-navbar__dropdown .dropdown-item {
        font-size: 15px !important;
    }
}

@media (max-width: 1199.98px) {
    .fr-navbar__logo {
        width: 285px !important;
        max-height: 78px !important;
    }

    .fr-navbar .navbar-nav .nav-link {
        font-size: 17px !important;
    }
}

@media (max-width: 575.98px) {
    .fr-navbar__logo {
        width: 240px !important;
        max-height: 66px !important;
    }
}



/* V43 - logo Foto Ratts um pouco maior */
@media (min-width: 1400px) {
    .fr-navbar__logo {
        width: 445px !important;
        max-height: 108px !important;
    }
}

@media (max-width: 1399.98px) and (min-width: 1200px) {
    .fr-navbar__logo {
        width: 365px !important;
        max-height: 94px !important;
    }
}

@media (max-width: 1199.98px) and (min-width: 576px) {
    .fr-navbar__logo {
        width: 300px !important;
        max-height: 82px !important;
    }
}



/* V44 - logo maior e elementos do topo mais próximos */
@media (min-width: 1400px) {
    .fr-navbar__container {
        max-width: 1780px !important;
        gap: 8px !important;
    }

    .fr-navbar__brand {
        margin-right: 6px !important;
    }

    .fr-navbar__logo {
        width: 470px !important;
        max-height: 112px !important;
    }

    /* Remove o grande espaço automático entre logo, menu e busca */
    .fr-navbar__links.mx-xl-auto {
        margin-left: 0 !important;
        margin-right: 10px !important;
    }

    .fr-navbar__links {
        gap: 0 !important;
    }

    .fr-navbar .navbar-nav .nav-link {
        padding-left: 11px !important;
        padding-right: 11px !important;
    }

    .fr-navbar__actions {
        min-width: 0 !important;
        margin-left: 2px !important;
        gap: 4px !important;
    }

    .fr-navbar__search-inline {
        width: 320px !important;
    }
}

@media (max-width: 1399.98px) and (min-width: 1200px) {
    .fr-navbar__container {
        gap: 6px !important;
    }

    .fr-navbar__brand {
        margin-right: 4px !important;
    }

    .fr-navbar__logo {
        width: 385px !important;
        max-height: 98px !important;
    }

    .fr-navbar__links.mx-xl-auto {
        margin-left: 0 !important;
        margin-right: 8px !important;
    }

    .fr-navbar .navbar-nav .nav-link {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .fr-navbar__actions {
        min-width: 0 !important;
        margin-left: 0 !important;
    }

    .fr-navbar__search-inline {
        width: 230px !important;
    }
}


/* =========================================================
   FOTO RATTS V151 — MENU IGUAL EM TODAS AS PÁGINAS
   Referência visual: menu da página Contato.
   Força a mesma fonte, peso e tamanho no site inteiro.
   ========================================================= */

@media (min-width: 1200px) {
    .fr-navbar .navbar-nav .nav-link,
    .fr-navbar .navbar-nav .nav-item > .nav-link,
    body .fr-navbar .navbar-nav .nav-link {
        font-family: 'Outfit', Arial, sans-serif !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        letter-spacing: .018em !important;
        text-transform: none !important;
    }

    .fr-navbar__dropdown .dropdown-item,
    body .fr-navbar__dropdown .dropdown-item {
        font-family: 'Outfit', Arial, sans-serif !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
    }

    .fr-navbar__search-inline .form-control,
    body .fr-navbar__search-inline .form-control {
        font-family: 'Outfit', Arial, sans-serif !important;
        font-size: 14px !important;
        font-weight: 400 !important;
    }
}

/* Tablet / celular: mantém o mesmo estilo tipográfico,
   apenas reduz o tamanho para caber corretamente no menu aberto. */
@media (max-width: 1199.98px) {
    .fr-navbar .navbar-nav .nav-link,
    .fr-navbar .navbar-nav .nav-item > .nav-link,
    body .fr-navbar .navbar-nav .nav-link {
        font-family: 'Outfit', Arial, sans-serif !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        letter-spacing: .018em !important;
        text-transform: none !important;
    }

    .fr-navbar__dropdown .dropdown-item,
    body .fr-navbar__dropdown .dropdown-item {
        font-family: 'Outfit', Arial, sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
    }
}
