/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/


/* -------
Index
----------
- ANIMATION
- COOKIE BANNER
- BUG FIXES / STYLE RESET
- HEADER
- CUSTOM GRAVITY FORM STYLING
 */


/* ANIMATION */

@keyframes gm-left-to-right {
    0% { transform: translateX(-120%);}
    100% { transform: translateX(0);}
  }

  @keyframes gm-slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

/* COOKIE BANNER */
#csconsentlink,
.csconsentlink {
    cursor: pointer;
    color: var(--link-color);
    transition: color var(--transition);
}

#csconsentlink:hover,
.csconsentlink:hover {
    color: var(--link-color-hover);
}

/* BUG FIXES / STYLE RESET */

/* debordement lorsque le dropdown menu est ouvert*/
.brxe-nav-nested:not(.brx-open) .brx-nav-nested-items > .brxe-dropdown:not([data-toggle="click"]):hover::before {
    width: auto!important; /* default: width:100% */
}

/* safari mobile menu bug */
.gm-main-header__nav-nested.brx-open ul.gm-main-header__nav-items li {
    height: auto;
}

/* Reset */

:root {
    --blanc: var(neutral-ultra-light);
}

ul {
    margin: 0;
}

address {
    font-style: normal;
}

/* --------------------
HEADER
-------------------- */

/* safari mobile menu bug */
.gm-main-header-1__nav-nested.brx-open ul.gm-main-header-1__nav-items li {
    height: auto;
}

.gm-main-header-1 {
    --mobile-item-min-height: 4.4rem;
}

/* NAVIGATION */

.brxe-nav-nested:not(.brx-open) .brx-nav-nested-items>.brxe-dropdown:not([data-toggle="click"]):hover::before {
    width: auto!important
}

/* MOBILE NAVIGATION OPENED */

.gm-main-header-1__nav-nested.brx-open ul.gm-main-header-1__nav-items {
    /* open under header*/
    position: absolute;
    top: 100%;
    height: fit-content;    
    min-height: 100%;
    /* -------------- */
    padding: var(--space-m) var(--section-padding-x) 0;
    box-shadow: 0 4px 6px -3px var(--neutral-trans-20);gap: 0;
    /* Slide down animation  */
    display: flex;
    animation: gm-slideDown 0.15s ease-out forwards;
    isolation: isolate;
    z-index: -2;
}

/* .gm-main-header-1__nav-nested.brx-open ul > li:has(ul) ul {
    transform: translateX(-120%);
    animation: gm-left-to-right 0.2s linear forwards;
  } */

.gm-main-header-1__nav-nested.brx-open .gm-main-header-1__nav-items .menu-item a {
    /* justify-content: flex-start; */
    margin-block: auto;
    width: fit-content;
}

.gm-main-header-1__nav-nested.brx-open ul.gm-main-header-1__nav-items > li {    
    border-bottom: 0.05rem solid var(--base);
    padding-inline: var(--gutter);
}

.gm-main-header-1__nav-nested.brx-open ul.gm-main-header-1__nav-items > li:last-child {
    border: none;
}

.gm-main-header-1__nav-nested.brx-open ul.gm-main-header-1__nav-items li {
    display: flex;
    min-height: var(--mobile-item-min-height);
}
/* 


/* Mobile Dropdown */

.gm-main-header-1__nav-nested.brx-open .gm-main-header-1__dropdown .brx-submenu-toggle button[aria-expanded="true"] {
    transform: rotateZ(180deg);
}

.gm-main-header-1__nav-nested.brx-open .brx-submenu-toggle{
    min-height: var(--mobile-item-min-height);
}

.gm-main-header-1__nav-nested.brx-open .gm-main-header-1__dropdown.open ul {
    position: static;
}

.gm-main-header-1__nav-nested.brx-open .gm-main-header-1__dropdown__content {
    min-height: var(--mobile-item-min-height);
    padding-bottom: 1rem;
}

.gm-main-header-1__nav-nested.brx-open .gm-main-header-1__dropdown__content li {
    min-height: var(--mobile-item-min-height);
    padding-left: var(--space-m);
}

.gm-main-header-1__nav-nested.brx-open .gm-main-header-1__dropdown.open li a.gm-main-header-1__dropdown-link {
    font-weight: inherit;    
    opacity: 0.75;
}

.gm-main-header-1__nav-nested.brx-open .gm-main-header-1__dropdown.open li:hover a {
    opacity: 1;
}

/* MOBILE BUTTON  */

.gm-main-header-1__nav-nested.brx-open li:has(.gm-main-header-1__btn) {
    justify-content: flex-start;
}

/* End mobile nav opened*/



/* CUSTOM GRAVITY FORM STYLING */

/* GFORM VARIABLES */

:root {
    /* Input */
    --gfield-min-height: 4.8rem;
    --gfield-placeholder-opacity: 0.60; 
    --textarea-height: 25rem; 
    --required-icn: url(/wp-content/themes/bricks-child/images/asterisk.svg);
    /* Submit button - Default = Acss btn*/
    --gfield-submit--align: flex-start; 
    --gfield-submit--min-width: var(--btn-min-width); 
}
/* ORBITAL MODIFICATION */
body .gform-theme--framework form {
        
    /* FORM */
    --gf-form-gap-x: var(--space-m); 
    --gf-form-gap-y: var(--space-m); 

    /* INPUT  */
    --gf-ctrl-size: auto; /* min-height */
    --gf-ctrl-padding-x: var(--space-m);  
    --gf-ctrl-padding-y: var(--space-m);  
    --gf-ctrl-textarea-padding-y: var(--space-m);  
    --gf-ctrl-bg-color: transparent; 
    /* --gf-ctrl-bg-color-hover: transparent; */
    /* --gf-ctrl-bg-color-focus: transparent;*/
    --gf-ctrl-radius: var(--radius); 
    --gf-ctrl-textarea-radius: var(--gf-ctrl-radius); 

    /*** font  */
    --gf-ctrl-font-size: var(--text-m); 
    --gf-ctrl-color: var(--base); 
    --gf-ctrl-color-hover: var(--gf-ctrl-color); 
    --gf-ctrl-color-focus: var(--gf-ctrl-color); 
    --gf-ctrl-line-height: 1; 
    --gf-ctrl-textarea-line-height: 1.2; 

    /*** border  */
    --gf-ctrl-border-color: var(--primary); 
    --gf-ctrl-border-color-hover: var(--primary-hover); 
    --gf-ctrl-border-color-focus: var(--gf-ctrl-border-color-hover); 
    --gf-ctrl-border-style: solid; 
    --gf-ctrl-border-width: 1px; 

    /* SUBMIT */
    --gf-form-footer-margin-y-start: var(--gf-form-gap-y);  
    --gf-ctrl-btn-bg-color-primary: var(--primary); 
    --gf-ctrl-btn-bg-color-hover-primary: var(--primary-hover); 
    --gf-ctrl-btn-padding-y: var(--btn-padding-block); /* submit button padding */
    --gf-ctrl-btn-padding-x: var(--btn-padding-inline); /* submit button padding */
    --gf-ctrl-btn-radius: var(--btn-radius);/* Submit-btn radius */
    --gf-ctrl-btn-font-size: var(--text-l); 
    --gf-ctrl-btn-text-transform: var(--btn-text-transform); 
    --gf-ctrl-btn-font-weight: var(--btn-font-weight); /* Submit font-weight */
    --gf-ctrl-btn-color-primary: var(--white);  
    --gf-ctrl-btn-color-hover-primary: var(--white); 

    --gf-ctrl-btn-border-color-primary: var(--gf-ctrl-btn-bg-color-primary); 
    --gf-ctrl-btn-border-color-hover-primary: var(--gf-ctrl-btn-bg-color-hover-primary); 
    --gf-ctrl-btn-border-width-primary: var(--btn-border-width); 

   /*** Submit focus*/
    --gf-ctrl-btn-color-focus-primary: var(--gf-ctrl-btn-color-hover-primary); 
    --gf-ctrl-btn-bg-color-focus-primary: var(--gf-ctrl-btn-bg-color-hover-primary); 
    --gf-ctrl-btn-border-color-focus-primary: var(--gf-ctrl-btn-bg-color-focus-primary); 
    --gf-ctrl-outline-color-focus: transparent; 

   /* OTHER */
    --gf-ctrl-radio-check-radius: 0; /* radio btn radius */
    --gf-ctrl-transition: all var(--transition); 
    --gf-ctrl-label-color-secondary: var(--gf-ctrl-color); 
    /* radio / checkbox */
    --gf-ctrl-choice-check-color: var(--gf-ctrl-border-color); 
    --gf-ctrl-multiselect-radius: var(--gf-ctrl-radius); 
    /* Liste  */
    --gf-field-list-btns-gap: 4px;
    --gf-field-list-btn-size: 0; 
    --gf-field-list-btn-radius: 50%;  
    --gf-field-list-btn-font-size: 0;  
    --gf-field-list-btn-padding-y: 6px; 
    --gf-field-list-btn-padding-x: 6px; 

    /* LABEL  */
    --gf-ctrl-label-color-primary: var(--base); 
    --gf-ctrl-label-font-size-primary: var(--text-l); 
    --gf-ctrl-label-font-style-primary: italic; 
    --gf-ctrl-label-font-weight-primary: 700; 
    --gf-ctrl-label-letter-spacing-primary: 2; 
    --gf-ctrl-label-line-height-primary: 1; 
}


/* Hide label over gfields but kept for screen reader */

/* body .gform_wrapper .gfield_label,
body .gform_wrapper .gform_heading,
body .gform_wrapper .gform_required_legend,
body .gform_wrapper .gfield--type-name legend {
    visibility: hidden;
    position: absolute;
} */


/* Form with visible label  */
body .gform_wrapper .gform_required_legend {
    display: none;
}

body .gform_wrapper .gfield {
    position: relative;
}

body .gform_wrapper.gravity-theme .ginput_complex span{
    padding-left: 0!important;
    padding-right: 0!important;
    margin-bottom: 0px;
}


body .gform_wrapper .gfield label {
    font-size: var(--gf-ctrl-font-size);
    font-style: normal;
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    left: var(--gf-ctrl-padding-x);
    /* transition: var(--transition); */
}

body .gform_wrapper .gfield.gfield--type-textarea label{
    top: var(--gf-ctrl-padding-y);
    transform: translateY(0);
    font-style: normal;
    line-height: 1;
}

body .gform_wrapper .gfield label:has(+ .ginput_container input:focus),
body .gform_wrapper .gfield label:has(+ .ginput_container textarea:focus)
 {
    font-size: calc(var(--gf-ctrl-font-size) * .75);
    top: calc(0 - var(--gf-ctrl-font-size) * .5);
    transform: translateY(-50%);
    background-color: #fff;
    padding-inline: 8px;
}

/* Form with label END */

/* Gform input fields */

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel],
body .gform_wrapper .gform_body .gform_fields .gfield input[type='url'],
body .gform_wrapper .gform_body .gform_fields .gfield input[type='number'],
body .gform_wrapper .gform_body .gform_fields .gfield input[type='password'],
body .gform_wrapper .gform_body .gform_fields .gfield input[type='file'],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
body .gform_wrapper .gform_body .gform_fields .gfield select,
body .gform_wrapper .gform_body .gform_fields .gfield textarea {
    min-height: var(--gfield-min-height);
    outline: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield textarea {
    height: var(--textarea-height);
    width: 100%;
    resize: none;
}

body .gform_wrapper .gform_body .ginput_container_textarea {
    line-height: var(--gf-ctrl-textarea-line-height);
}


/*Styling actif*/

/* Required fields */

.gfield_contains_required .ginput_container input[aria-required="true"] {
	background-image: var(--required-icn);
	background-size: 1em;
	background-repeat: no-repeat;
    background-position: calc(100% - var(--space-s)) 50%;
}

.gfield_contains_required .ginput_container input[aria-required="true"]:focus,
.gfield_contains_required .ginput_container input[aria-required="true"]:not(:placeholder-shown) {
	background-image: none;
}



/* ----- END input fields----- */

/* Submit button style */

body .gform_wrapper .gform_footer {
    /* display: flex; */
    justify-content: var(--gfield-submit--align);
}

body .gform_wrapper .gform_footer input[type=submit] {
    inline-size: fit-content!important; 
    min-width: var(--gfield-submit--min-width)!important; 
}


/* ----- END Submit button ------ */


/* Placeholder */

.gform_fields .gfield input::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    /* font-size: var(--gfield-font-size)!important; */
    /* color: var(--gfield-color); */
    opacity: var(--gfield-placeholder-opacity);
}

.gform_fields .gfield input::-moz-placeholder {
    /* Firefox 19+ */
    /* font-size: var(--gfield-font-size); */
    /* color: var(--gfield-color); */
    opacity: var(--gfield-placeholder-opacity);
}

.gform_fields .gfield input:-ms-input-placeholder {
    /* IE 10+ */
    /* font-size: var(--gfield-font-size); */
    /* color: var(--gfield-color); */
    opacity: var(--gfield-placeholder-opacity);
}

.gform_fields .gfield input:-moz-placeholder {
    /* Firefox 18- */
    /* font-size: var(--gfield-font-size); */
    /* color: var(--gfield-color); */
    opacity: var(--gfield-placeholder-opacity);
}

.gform_fields .gfield textarea::placeholder,
.gform_fields .gfield textarea::-webkit-input-placeholder {
    /* font-size: var(--gfield-font-size); */
    /* color: var(--gfield-color); */
    opacity: var(--gfield-placeholder-opacity);
    line-height: var(--gf-ctrl-line-height);
}


/* ------ END placeholder ------ */


/* Error / validation message */

body .gform_wrapper .gform_validation_errors {
    border-radius: 0;
}

body .gform_wrapper .gform_validation_errors>h2 {
    /* color: blueviolet; */
}

body .gform_wrapper .gfield_validation_message,
body .gform_wrapper .validation_message {
    display: none;
}

/* Error fields style */

body .gform_wrapper .gform_validation_errors:focus {
    outline: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error input {
    color: #c02b0a;
    border-color: #c02b0a!important;
  }


/* END gravity form styling ====================================================================== */


/* Gform Container query */

/* GForm default reset */

body .gform-theme--foundation .gfield--width-half {
    grid-column: span 6;
}
body .gform-theme--foundation .gfield--width-third {
    grid-column: span 4;
}body .gform-theme--foundation .gfield--width-quarter {
    grid-column: span 3;
}
body .gform-theme--foundation .gform_fields {
    column-gap: var(--gf-form-gap-x);
}

/* End Reset*/

.gm-form-wrapper {
container-type: inline-size
}
/* //2 columns */

@container (max-width:55rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield--width-half:not(.gfield--type-select) {
    grid-column: span 12;
}
}

/* // 3 columns */
@container (max-width:50rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield.gfield--width-third {
    grid-column: span 12;
}

.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield.gfield--width-third ~ .gfield.gfield--width-third {
    grid-column: span 6;
}
}

@container (max-width:40rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield.gfield--width-third ~ .gfield.gfield--width-third {
    grid-column: span 12;
}
}

/* 4 columns */

@container (max-width:110rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield--width-quarter {
    grid-column: span 6;
}
}
@container (max-width:52rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield--width-quarter {
    grid-column: span 12;
}
.gm-form-wrapper .gform-theme--foundation .gfield select.medium {
    inline-size: 100%;
}
}


