/*
Theme Name: Nove Immo 2026
Theme URI: https://noveimmobilier.com
Version: 2.0.0
Author: Greg GRG Bertrand
Template: genesis
Text Domain: nove-immo-2026
Description: Thème personnalisé pour Nove Immobilier basé sur Genesis Framework
*/

/* A SUPPRIMER PLUS TARD / DISPLAY NONE FOOTER WIDGET
***********************/

/* html {
    display: none !important;
} */

.footer-widgets {
    display: none !important;
}

.gb-profile-text>p>a {
    font-size: 11px;
}

/* FONTS
***********************/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@100;200;300;400;500;600;700;800;900&display=swap');

.sub-font {
    font-family: 'Montserrat', sans-serif;
}

/* GLOBAL STYLES
***********************/

body {
    position: relative;
}

html,
body,
.site-container {
    height: 100% !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Montserrat', sans-serif;
}

body,
p,
ul {
    font-family: 'Montserrat', sans-serif !important;
}

a {
    font-family: 'Montserrat', sans-serif;
}

a:hover {
    color: #bd934c !important;
}

.wrap {
    padding: 15px 35px;
}

/* HEADER 
***********************/
/* Header styles are managed by lib/header-customizer.php */

/* HEADER HERO FRONT PAGE
***********************/

.hero-btns-container>div>div {
    flex-wrap: wrap;
    width: 100%;
}

.hero-btns-container>div>div>div {
    flex-basis: 45%;
}

#hero-header svg {
    height: 100vh !important;
}

.hero-slider .hero-btn a,
.mobile_hero_button {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    border: 2px outset #dbaa58 !important;
    font-size: 16px !important;
    background-color: unset !important;
}

.hero-btn--right a,
.hero-btn--left a,
.mobile_hero_button--right,
.mobile_hero_button--left {
    background-position: center !important;
    background-size: cover !important;
}

.hero-btn--right a,
.mobile_hero_button--right {
    background-image: url('http://noveimmobilier.fr/wp-content/uploads/2023/03/fond-concept-2.jpg') !important;
}

.hero-btn--left a,
.mobile_hero_button--left {
    background-image: url('http://noveimmobilier.fr/wp-content/uploads/2023/03/fond-concept.jpg') !important;
}

.hero-slider .hero-btn a:hover,
.pre-footer-btn a:hover {
    transition: border ease-out;
    transition-duration: .1s;
    border: 2px inset #fff !important;
    color: #fff;
}

.slider-hero--title>div {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: bold !important;
}

.slider-hero--text p {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
}


/* HOME CONTENT
***********************/

.story-section {
    position: relative;
}

.home-list li {
    list-style: none;
}

.home-list li::before {
    content: " \15CC ";
    color: #dbaa58;
    padding-right: 10px;
}

/* PRE-FOOTER 
***********************/

.footer-widgets>.wrap {
    display: flex;
    width: 100%;
    padding: 0 20%;
    background-color: #0e1726;
    align-items: center;
    min-height: 400px;
}

.footer-widgets>.wrap>div {
    flex: 1;
}

#nav_menu-4 h1,
#nav_menu-4 h2,
#nav_menu-4 h3 {
    color: #fff;
}

#menu-header-left-1 {
    display: flex;
    flex-direction: column;
}

#menu-header-left-1 a {
    text-decoration: none;
    color: #fff;
}

#media_image-2 img {
    display: block;
    margin-left: auto;
    max-width: 200px !important;
    height: auto;
}

.pre-footer-btn {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-weight: 400;
    color: #212529;
    user-select: none;
    text-align: left;
    visibility: visible;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    box-sizing: content-box;
    display: block;
    white-space: nowrap;
}

.pre-footer-btn a {
    white-space: nowrap;
    background-position: center !important;
    background-size: cover !important;
    box-sizing: content-box;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    border: 2px outset #dbaa58 !important;
    font-size: 16px !important;
    background-color: unset !important;
    hyphens: manual;
    outline: 0 !important;
    transition: none 0s;
    background: #55aa39;
    opacity: 1;
    padding: 15px 30px 15px 30px;
    box-shadow: none;
    border-radius: 5px;
    display: block;
    color: #ffffff;
    text-shadow: none;
    line-height: 1.5;
    font-style: normal;
    text-decoration: none;
    text-align: center;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
}

/* FOOTER 
***********************/

.site-footer {
    background-color: #0E1726;
    color: #fff;
    font-size: 14px !important;
}

.site-footer p {
    margin: initial;
    text-align: center;
    /* color: #fff; */
}

.site-footer a {
    text-decoration: none;
    color: #dbaa58;
}

/* Footer menu styles managed by lib/footer-customizer.php */

.footer-logo {
    width: 120px;
    height: auto;
    display: flex;
    margin: 25px auto;
}

.footer-logo img {
    width: 100%;
    height: auto;
}

/* HEADER HERO SIMPLE PAGE
***********************/

.page-title {
    width: 100%;
    min-height: 100%;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    padding: 10% 5%;
    text-align: center;
}

.page-title>* {
    height: 100% !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-title>*:first-child {
    width: 40%;
    flex-direction: column;
}

.page-title>*:last-child {
    width: 50%;
}

.page-title .my-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: normal;
}

#wpcf7-f206-o1 {
    height: 100%;
    width: 100%;
}

/* GRAPHIC MODULES
***********************/

.wppsac-carousel-slides {
    position: relative;
}

.wppsac-carousel-slides .exclu {
    font-family: "Montserrat", sans-serif;
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    height: auto;
    margin: 15px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    padding: 10px;
    color: #fff;
    border-radius: 3px;
    font-weight: bold;
    background: #dbaa58;
}

.wppsac-post-slider .slick-arrow,
.wppsac-post-carousel .slick-arrow {
    border-radius: 100%;
}

.wppsac-sub-content {
    height: 80px;
}

a.wppsac-readmorebtn {
    color: #dbaa58 !important;
    border-color: #dbaa58 !important;
    padding: 10px 15px !important;
}

.wppsac-post-title a {
    color: #dbaa58 !important;
}

.ad-details-container {
    display: flex;
    justify-content: space-between;
    margin: 15px 0;
}

.ad-price {
    font-size: 20px;
    margin-bottom: 5px;
}

.ad-details-item>div span,
.ad-price span {
    color: #dbaa58;
    font-weight: bold;
}

.wppsac-post-image-bg {
    max-height: 205px !important;
    overflow: hidden;
}

.wppsac-post-image-bg>a {
    height: 205px !important;
    display: flex;
}

.wppsac-post-categories,
.wppsac-post-date {
    display: none !important;
}

.wppsac-post-image-bg img {
    object-fit: cover;
    width: 100%;
}

.wpcf7-form.init {
    max-height: 100% !important;
}

.contact-form {
    display: flex;
    flex-direction: column;
    width: 100%;
}

#wpcf7-f206-o1 {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.contact-form p {
    margin-bottom: 0 !important;
}

.contact-form__item {
    display: flex;
    width: 100%;
    margin-bottom: 2%;
}

.contact-form__item p:not(.contact-form__item.group),
.contact-form__item p input,
.contact-form__item p textarea {
    width: 100%;
    justify-content: space-between;
}

.contact-form__item p textarea {
    height: 150px !important;
}

.contact-form__item.group>* {
    display: flex;
    gap: 2%;
}

[placeholder]:hover::-webkit-input-placeholder {
    transition: all ease-out;
    transition-duration: .5s;
    opacity: 0;
    font-size: 11px;
}

.contact-form p textarea::placeholder,
.contact-form p input::placeholder {
    padding: 15px;
    font-size: 16px;
}

.contact-form p input:not(.contact-form p input[type='submit']) {
    height: 40px;
    border: none !important;
    border-radius: 5px;
}

.contact-form p input:not(.contact-form p input[type='submit']):focus,
.contact-form p textarea:focus {
    outline-color: #0E1726 !important;
    outline-offset: 3px;
    outline-width: 3px;
    outline-style: double !important;
}

.contact-form__item.submit {
    position: relative;
    margin: 0 !important;
}

.contact-form__item.submit span:last-child {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.wpcf7-response-output {
    color: #fff;
}

.contact-form__item.submit input {
    white-space: nowrap;
    font-family: "Montserrat", sans-serif !important;
    background: #dbaa58 !important;
    hyphens: manual;
    outline: 0 !important;
    transition: none 0s;
    opacity: 1;
    padding: 15px 30px 15px 30px;
    border: 0px solid RGBA(0, 0, 0, 1);
    border-radius: 5px;
    display: block;
    font-family: 'Montserrat', sans-serif;
    color: #ffffff;
    font-size: 112.5%;
    text-shadow: none;
    line-height: 1.5;
    font-style: normal;
    text-decoration: none;
    text-align: center;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    font-weight: 400;
    max-width: 100%;
}

/* MOBILE
***********************/

@media (max-width: 992px) {

    #hero-header {
        display: none;
    }

    .gb-has-parallax {
        background-attachment: unset;
        background-size: cover;
        background-position: center center;
    }

    .entry-title {
        background-color: unset !important;
        bottom: 50% !important;
        top: 50% !important;
    }

    .gb-profile-text>p>a {
        font-size: 11px;
    }

    .gb-block-layout-column-inner * {
        text-align: center !important;
    }

    .mobile_hero_container {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 35px;
        flex-wrap: wrap;
        color: #fff;
        position: absolute;
        top: 50%;
        width: 100%;
        transform: translateY(-50%);
        z-index: 1000;
    }

    .mobile_hero_container>.mobile_hero_container__btn {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 15px;
    }

    .mobile_hero_button {
        color: #fff;
        padding: 10px;
        width: 100%;
        background-image: unset !important;
    }

    /* Mobile header styles managed by lib/header-customizer.php */
    #smartslider3-2 {
        display: none;
    }

    .footer-btn>div {
        width: 100% !important;
    }
}





@media (max-width: 992px) {
    .check-column .gb-layout-column-wrap {
        grid-template-columns: 1fr;
        grid-template-areas:
            "col1"
            "col2"
            "col3";
    }
}

@media (min-width: 600px) and (max-width: 992px) {
    .card-column>.gb-block-layout-column-inner {
        padding-left: 30% !important;
        padding-right: 30% !important;
    }
}

@media (max-width: 600px) {
    body {
        position: static !important;
    }

    .pre-footer-btn.control-width {
        margin-top: 15% !important;
    }
}

/* DESKOP
***********************/

@media (min-width:768px) {
    .pre-footer-btn.control-width {
        max-width: 40%;
        margin: auto;
    }
}

/* ANIMATIONS
***********************/

@keyframes animTextLeft {
    from {
        /* Add starting values for animation */
        transform: translateX(-50px);
        opacity: 0;
    }

    to {
        /* Add Ending values for animation */
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes animTextRight {
    from {
        /* Add starting values for animation */
        transform: translateX(50px);
        opacity: 0;
    }

    to {
        /* Add Ending values for animation */
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes animTextTop {
    from {
        /* Add starting values for animation */
        transform: translateY(50px);
        opacity: 0;
    }

    to {
        /* Add Ending values for animation */
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes animElFade {
    from {
        /* Add starting values for animation */
        opacity: 0
    }

    to {
        /* Add Ending values for animation */
        opacity: 1;
    }
}

@keyframes animLogo {
    0% {
        width: 0;
    }

    80% {
        width: 80px;
    }

    100% {
        width: 70px;
    }
}

/* RESPONSIVE STYLES
***********************/

/* Tablet and below */
@media (max-width: 1024px) {
    .wrap {
        padding: 15px 25px;
    }
    
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.75rem;
    }
    
    h3 {
        font-size: 1.5rem;
    }
}

/* Mobile landscape and below */
@media (max-width: 768px) {
    .wrap {
        padding: 15px 20px;
    }
    
    h1 {
        font-size: 1.75rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    h3 {
        font-size: 1.25rem;
    }
    
    /* Ensure content is readable on mobile */
    body {
        font-size: 16px;
        line-height: 1.6;
    }
    
    /* Fix any overflow issues */
    .site-container {
        overflow-x: hidden;
    }
    
    /* Make images responsive */
    img {
        max-width: 100%;
        height: auto;
    }
    
    /* Hero buttons responsive */
    .hero-btns-container > div > div > div {
        flex-basis: 100%;
        margin-bottom: 15px;
    }
}

/* Mobile portrait */
@media (max-width: 600px) {
    .wrap {
        padding: 10px 15px;
    }
    
    h1 {
        font-size: 1.5rem;
    }
    
    h2 {
        font-size: 1.25rem;
    }
    
    h3 {
        font-size: 1.1rem;
    }
    
    /* Adjust spacing for mobile */
    .entry-content {
        padding: 15px 0;
    }
    
    /* Ensure buttons are touch-friendly */
    button,
    .button,
    a.button,
    input[type="submit"] {
        min-height: 44px;
        padding: 12px 20px;
    }
}