/* +P
  __      ____
 /\ \    /\  _`\  
 \_\ \___\ \ \L\ \
/\___  __\\ \ ,__/
\/__/\ \_/ \ \ \/ 
    \ \_\   \ \_\ 
     \/_/    \/_/ 
     plusproduit.com
     
     plusb theme 2025.08.29
*/

:root {
    scroll-behavior: auto;
    /* Typo --------- */
    --bs-body-font-family: 'Aftika', sans-serif;
    --bs-body-font-size: 18px;
    /* --bs-body-line-height: 1.5; */
    --bs-body-font-weight: 300;
    --p-body-font-strong-weight: 600;
    --p-alt-font-family: 'Aftika', sans-serif;
    --p-alt-font-weight: 600;

    /* Colors --------- */
    --bs-body-color: #23211e;
    --bs-body-color-rgb: 35, 33, 30;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-primary: #008165;
    --bs-primary-rgb: 0, 129, 101;
    --bs-secondary: #002425;
    --bs-secondary-rgb: 0, 36, 37;
    --bs-dark: #002425;
    --bs-dark-rgb: 0, 36, 37;
    --bs-light: #fff;
    --bs-light-rgb: 255, 255, 255;



    /* Link */
    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --bs-link-hover-color: var(--bs-body-color);
    --bs-link-hover-color-rgb: var(--bs-body-color-rgb);
    --bs-link-decoration: none;

    /* taille du header mobile */
    --p-header-height: 72px;
    /* taille du logo mobile */
    --p-logo-width: 90px;
    /* Toolbar admin */
    --p-toolbar-height: 0px;

    /* Max width as a variable */
    --p-mw: 1320px;

    /* Borders */
    --bs-border-width: 2px;
    --bs-border-color: var(--bs-body-color);
    --bs-border-radius: 0;
    /* --bs-border-radius: 0; */

    /* Swiper JS */
    --swiper-navigation-size: 30px;
    --swiper-theme-color: var(--bs-primary);
}

@media (min-width: 992px) {
    :root {
        /* taille du header desktop */
        --p-header-height: 118px;
        /* taille du logo desktop */
        --p-logo-width: 160px;
    }
}

/* #region STRUCTURE ---------- */


/* >>>>>>>>>> Gouttières !!!!! */
:root,
.row,
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: 3rem;
    --bs-gutter-y: 1.5rem;
}

/* classe max-width */
.max-width {
    max-width: var(--p-mw);
}

.page-node-type-page-contact main {
    background: var(--bs-secondary);
    padding-bottom: 0;
}

/* #endregion */

#map {
    height: 50dvh;
}

/* #region FOOTER -------- */
.site-footer {
    background-image: url(images/logo-footer.svg);
    background-size: contain;
    background-position: right top;
    background-repeat: no-repeat;

    font-size: 13px;
    line-height: 1.8;
}

.site-footer .nav-link {
    padding: 0;
    text-transform: uppercase;
}

.site-footer .nav-link:hover,
.site-footer a:hover {
    color: var(--bs-secondary);
}

/* #endregion footer */

/* #region LINKS + CTA ---------- */

a {
    text-decoration: var(--bs-link-decoration);
}

.text-light {
    --bs-link-hover-color: var(--bs-white);
    --bs-link-hover-color-rgb: var(--bs-white-rgb);
}

.text-light p a {
    color: var(--bs-white);
}

.bg-primary {
    --bs-link-color: var(--bs-light);
    --bs-link-color-rgb: var(--bs-light-rgb);
}

.btn {
    --bs-border-radius: 0;
    --bs-btn-padding-x: 1em;
    --bs-btn-padding-y: .5em;
    --bs-btn-font-size: .8rem;
    --bs-btn-font-weight: var(--bs-body-font-weight);
    --bs-btn-line-height: 1;
    margin-bottom: .5rem;
}

.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-color: var(--bs-body-bg);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-body-color);
    --bs-btn-hover-color: var(--bs-body-bg);
    --bs-btn-hover-border-color: var(--bs-body-color);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
}

.text-light .btn-primary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-bg: var(--bs-light);
    --bs-btn-border-color: var(--bs-light);
}

.text-light .btn-primary:hover {
    --bs-btn-color: var(--bs-light);
    background-color: var(--bs-primary);
    border-color: var(--bs-secondary);
}


.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-body-bg);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
}

/* #endregion */

/* #region PAGINATION */
.pagination {
    --bs-pagination-active-color: var(--bs-light);
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
}

/* #endregion */

.form-item label {
    font-size: .8;
    margin-bottom: .15rem;
}


/* #region NAVBAR et OFFCANVAS ---------- */
/* OffCanvas */
.toolbar-fixed {
    --p-toolbar-height: 39px;
}

.toolbar-tray-open.toolbar-horizontal {
    --p-toolbar-height: 79px;
}

#ocCustomClose {
    position: fixed;
    top: calc(var(--p-toolbar-height) + 1rem);
    right: calc(var(--p-toolbar-height) + 1rem);
}

.region-offcanvas {
    max-width: 246px;
    margin: auto;
}

.p-nav .nav-link {
    font-size: 1.2rem;
    line-height: 1.2;
    padding: .75rem 0;
    text-transform: uppercase;
}

.p-nav .nav-link:hover {
    color: var(--bs-secondary);
}

/* Header */
.site-header {
    border-bottom: 1px solid var(--bs-primary);
    background-color: var(--bs-secondary);
}

.region-header,
.site-logo {
    transition: all .5s ease-in-out;
}

.region-header {
    align-items: flex-start;
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
}

#block-plusb-offcanvasbtn {
    /* 50px btn height - 15px empty */
    transform: translateY(-20px);

}

.p-scrolled .site-logo {
    width: 90px;
}

.p-scrolled .region-header {
    padding-top: 1rem;
    padding-bottom: 0rem;
}

#gsc-logo path {
    fill: var(--bs-light);
}

/* #region HEADER colors */
.page-node-type-page .site-header {
    background-color: var(--bs-white);
}

body:not(.page-node-type-page) .button-caption {
    color: var(--bs-white);
}

.page-node-type-page #gsc-logo path {
    fill: var(--bs-primary);
}

/* #endregion */
#p-offcanvasbtn {
    display: flex;
    align-items: center;
}

#p-offcanvasbtn .p-btn::after,
#p-offcanvasbtn .p-btn::before {
    background-color: var(--bs-primary);
}

.button-caption {
    margin-left: 1rem;
    font-size: 16px;
    text-transform: uppercase;
}

#gsc-fullname {
    max-width: 347px;
}

#gsc-fullname path {
    fill: #008165;
}

#p-offcanvas {
    background-color: rgba(var(--bs-primary-rgb), .9);
}

/* #endregion */
/* #region TYPOGRAPHY ---------- */
html {
    font-size: var(--bs-body-font-size);
}

h1,
h2,
h3,
h4,
h5,
h6,
.font2 {
    font-family: var(--p-alt-font-family);
    font-weight: var(--p-alt-font-weight);
    color: var(--bs-primary);
}

h2,
h3,
h4 {
    font-weight: var(--p-body-font-strong-weight);
}

h1,
h2,
h3 {
    font-size: 1.5rem;
}

h4,
h5 {
    font-size: 1rem;
}

h5 {
    color: var(--bs-primary);
    font-weight: normal;
}

b,
strong {
    font-weight: var(--p-body-font-strong-weight);
}

ul li::marker,
ol li::marker {
    color: var(--bs-primary);
}

.dark {
    color: var(--bs-dark);
}

.light {
    font-weight: var(--bs-body-font-weight);
}

.lead {
    font-size: 1.25rem;
}

.small,
.gsc-pole-legende,
.rea-texte {
    /* 20 x 0.65 = 13 */
    font-size: .65rem;
    font-size: .875rem;
}

.uppercase {
    text-transform: uppercase;
}

.text-justify {
    text-align: justify;
}

/* #endregion */


.gsc-col-border {
    border-left: 2px solid rgba(var(--bs-primary-rgb), 1);
}

.gsc-col-border:first-child {
    border: 0;
}

/* #region HOME ------ */

/* 3 tiers BG */
@media (min-width: 768px) {
    .path-frontpage main {
        background-repeat: repeat-y;
        background-position: 33.33% top, 66.66% top;
        background-size: 2px;
        background-image: url(images/grid-line.png), url(images/grid-line.png);
    }


}

.path-frontpage .main-content {
    background-color: rgba(var(--bs-body-bg-rgb), .7);
}


/* #region POLES PAGE TOP */
.gsc-pole-item {
    position: relative;
}

.gsc-pole-item>div {
    border-right: 1px solid #ddd;

}

.gsc-pole-item:last-child>div {
    border-color: transparent;
}

.gsc-pole-item img {
    transition: all .5s linear;
    max-height: calc((100dvh - var(--p-header-height)));
    object-fit: cover;
}

.gsc-pole-item:hover img {
    filter: contrast(120%) saturate(40%);
}

.gsc-pole-item h2 {
    width: 100%;
    margin: 0;
    font-weight: var(--bs-body-font-weight);
}

.gsc-full-link {
    color: var(--bs-white);
    font-weight: 300;
    text-transform: uppercase;
    justify-content: space-around;

    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 30px;
    height: 100%;
}

/* #endregion POLES PAGE TOP */


/* #region POLES PAGE BOTTOM */


.gsc-more a {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    border-radius: 2rem;
    overflow: hidden;
    text-indent: -500px;

    background: var(--bs-primary) url(images/arrow-more_neg.svg) no-repeat center center;
    background-size: 1rem;
}

.gsc-pole-legende {
    min-height: 60px;
}

@media (min-width: 768px) {
    .gsc-pole-accueil-item {
        border-left: 1.5px solid #e0e0e1;
    }

    .gsc-pole-accueil-item:first-child {
        border-left: 0;
    }

    .row.mx-0 {
        display: flex;
        flex-wrap: wrap;
    }

    .gsc-pole-accueil-item {
        display: flex;
        flex-direction: column;
    }

    .paragraph--type-pole-accueil {
        display: flex;
        flex-direction: column;
        flex: 1;
    }

    .gsc-pole-accueil-texte {
        flex: 1;
        /* this makes them equal height */
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }
}

/* #endregion */
/* #endregion HOME */

.paragraph--type-realisation {
    background-color: #e6e6e6;
}

.rea-texte p {
    margin: .15rem 0;
}

/* #region @media DESKTTOP 1st ------ */
@media (max-width:576px) {
    :root {
        --bs-body-font-size: 16px;

    }

    .sm-nopad {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    h3 {
        font-size: 1.2rem;
    }

    p.lead {
        font-size: 1.15rem;
    }

    .region-header {
        padding-top: 1rem;
        padding-bottom: .15rem;
    }

    #block-plusb-offcanvasbtn {
        transform: translateY(-13px);
    }

    .path-frontpage .region-highlighted .row {
        margin-top: 0;
    }

    .gsc-pole-item {
        margin-top: 0;
        max-height: calc((100dvh - var(--p-header-height)) / 3);
        border: 0;
        margin-bottom: .5px;
    }

    .gsc-pole-item img {
        max-height: calc((100dvh - var(--p-header-height)) / 3);
        object-fit: cover;
    }


    .gsc-col-border {
        border-top: 2px solid rgba(var(--bs-primary-rgb), 1);
        border-left: 0;
    }


}


/* #endregion */