/*
Theme Name: Pro Fotocasa
Author: ganesha produccions & OMITSIS
Author URI: https://pro.fotocasa.es/
Description: Custom Block Theme for "Pro Fotocasa"
Requires at least: 6.8
Requires PHP: 8.1
Version: 1.0
License: GNU General Public License version 2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pro-fotocasa
*/


/* ---------------------------------------------------------------------------------------------
   RESETS
--------------------------------------------------------------------------------------------- */
html,
html:focus-within{
    scroll-behavior: smooth;
    scroll-padding-top: 2ex;
}
@media screen and (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    min-height: 0vw;
}
.wp-block-columns {
    flex-wrap: wrap !important;
}
input, textarea {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
}

@media screen and (min-width: 75.063em) {
    .wp-block-columns {
        flex-wrap: nowrap !important;
    }
}
@media screen and (max-width: 80em) and (min-width: 64.063em) {
    .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media screen and (max-width: 64em) {
    .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
        grid-template-columns: 1fr;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{
        flex-basis: 100% !important;
    }
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
    }
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
    }
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
    }
    .wp-block-media-text > .wp-block-media-text__content{
        padding: 0 var(--wp--preset--spacing--50);
    }
}
@media screen and (max-width: 48em) {
    .wp-block-media-text > .wp-block-media-text__content{
        padding: 0 var(--wp--preset--spacing--40);
    }
}


/*--------------------------------------------------------------
GENERAL
--------------------------------------------------------------*/
h1 {
    text-wrap: balance;
}
strong {
    font-weight: 700;
}
p{
    text-wrap: pretty;
}
a,
a:visited{
    text-decoration-thickness: calc(1ch / 8) !important;
    text-underline-offset: calc(1ch / 3);
    transition: var(--wp--custom--transition-global);
    touch-action: manipulation;
}
:where(h1,h2,h3) a,
:where(h1,h2,h3) a:visited{
   text-underline-offset: calc(1ch / 5);
}
a:hover,
a:active{
    cursor: pointer;
}
:focus:not(:focus-visible){
    outline-color: var(--wp--preset--color--transparent);
    box-shadow: none;
}
:focus-visible,
a:not(.button):focus-visible{
    outline: 1px solid var(--wp--preset--color--70);
    outline-offset: 1px;
    transition: none;
}
small{
    font-size: var(--wp--preset--font-size--small);
}
p:has(small){
    line-height: 1.2;
}
main .wp-block-list{
    padding-left: var(--wp--preset--spacing--50);
}
.wp-block-list li{
    margin-block-start: var(--wp--preset--spacing--30);
}
main .wp-block-columns:not(.unlimited) :where(p,li, h1, h2, h3, h4, h5, h6),
main .limited-characters :where(p,li, h1, h2, h3, h4, h5, h6){
    max-width: 80ch;
}
:root :where(.wp-block-embed) {
    margin-top: var(--wp--preset--spacing--70);
    margin-bottom: var(--wp--preset--spacing--70);
}


@media screen and (max-width: 48rem) {
    :where(h1, h2){
        word-break: break-word;
    }
    :where(h1, h2) br{
        display: none;
    }
}

/* ---------------------------------------------------------------------------------------------
  HELPERS
--------------------------------------------------------------------------------------------- */
.hide-empty:empty {
    display: none !important;
}
.hidden {
    display: none !important;
}
.inline-list{
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    gap: 0 var(--break-m);
}
.inline-list li{
    list-style-type: none;
    margin-block-start: 0;
}
.no-bullets{
    list-style: none
}
.uppercase-text{
    text-transform: uppercase;
}
.desaturated {
    mix-blend-mode: luminosity;
}

@media screen and (min-width: 64.063em) {
    .show-large{
        display: inherit !important;
    }
    .show-small{
        display: none !important;
    }
    .text-in-columns{
        column-count: 2;
        column-gap: var(--wp--preset--spacing--60);
    }
}
@media screen and (max-width: 64em) {
    .show-large{
        display: none !important;
    }
    .show-small{
        display: inherit !important;
    }
}


/* ---------------------------------------------------------------------------------------------
  ACCESSIBILITY
--------------------------------------------------------------------------------------------- */
/*Stopping all animations for user has the reduced motion preference activated*/
@media screen and (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
.sr-only:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}


/*--------------------------------------------------------------
RHYTHM
--------------------------------------------------------------*/
.entry-content h1 + p{
    margin-block-start: var(--wp--preset--spacing--50);
}
.entry-content h1 + h2{
    margin-block-start: var(--wp--preset--spacing--20);
}
.entry-content h2 + p,
.entry-content h3 + p{
    margin-block-start: var(--wp--preset--spacing--50);
}
.entry-content :where(p,ol,ul) + :where(h1, h2, h3, h4),
.entry-content :where(ol,ul) + :where(p),
.entry-content :where(p,ol,ul) + .wp-block-buttons{
    margin-block-start: var(--wp--preset--spacing--50);
}
.entry-content :where(h1, h2, h3, h4, h5, h6, p) + :where(ol,ul){
    margin-block-start: var(--wp--preset--spacing--50);
}
.entry-content li li + li{
    margin-block-start: var(--wp--preset--spacing--30);
}
.entry-content :where(p, ul, ol, h1, h2, h3, h4, h5) + :where(div, section, img, figure, embed, video, table, form, blockquote),
.entry-content :where(div, section, img, figure, embed, video, table, form, blockquote) + :where(p, ul, ol, h5, h6){
    margin-block-start: var(--wp--preset--spacing--60);
}
.entry-content :where(div, section, img, figure, embed, video, table, form, blockquote) + :where(h1, h2, h3, h4){
    margin-block-start: var(--wp--preset--spacing--50);
}


/* ---------------------------------------------------------------------------------------------
  ERROR 404
--------------------------------------------------------------------------------------------- */
@media screen and (min-width: 64.063em) {
   .error404 main{
        min-height: calc(100vh - 350px - var(--wp--preset--spacing--70));
    }
}


/* ---------------------------------------------------------------------------------------------
  SITE HEADER WITH NAVIGATION
--------------------------------------------------------------------------------------------- */
.site-with-navigation .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{
    color: var(--wp--preset--color--base);
    background-color: var(--wp--preset--color--transparent);
    border-radius: var(--wp--custom--radius);
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
}
.site-with-navigation .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:is(:hover, :focus-visible){
    background-color: var(--wp--preset--color--bleach);
    color: var(--wp--preset--color--base);
    text-decoration: none;
}
.site-with-navigation .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content.wp-block-navigation-item__content,
.site-with-navigation .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content{
    background-color: var(--wp--preset--color--bleach);
    color: var(--wp--preset--color--base);
    text-decoration: none;
}
.site-with-navigation .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,
.site-with-navigation .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container,
.site-with-navigation .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container,
.site-with-navigation .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container {
    width: max-content;;
    left: 0;
    right: initial;
    padding: var(--wp--preset--spacing--30);
    border: none;
    border-radius: var(--wp--custom--radius);
}
.site-with-navigation .wp-block-navigation .wp-block-navigation-item__label{
    width: max-content;
}
.site-with-navigation .wp-block-buttons .wp-block-button__link{
    margin-block-start: 0;
    margin-block-end: 0;
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

@media screen and (min-width: 75.063em) {
    .site-with-navigation .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation-item__content{
        padding-right: calc( var(--wp--preset--spacing--50) + 0.5ch);
    }
    .site-with-navigation .wp-block-navigation .wp-block-navigation__submenu-icon{
        position: absolute;
        right: 1.5ch ;
    }
    .site-with-navigation .wp-block-buttons{
        margin-left: var(--wp--preset--spacing--40);
    }
}
@media screen and (max-width: 64em) {
    .site-with-navigation .wp-block-button.icon-user{
        margin-top: 4px;
    }
    .site-with-navigation .wp-block-button.icon-user .wp-block-button__link::before{
        content: "";
        display: block;
        height: 21px;
        width: 21px;
        background: url("/assets/fotocasa-pro/img/icons/icon_user.svg") no-repeat center center;
        background-size: contain;
    }
    .site-with-navigation .wp-block-button.icon-user .wp-block-button__link span{
        display: none;
    }
    .site-with-navigation .wp-block-buttons .wp-block-button__link{
        padding: var(--wp--preset--spacing--30);
        line-height: 21px;
    }
}
@media screen and (max-width: 48em) {
    .site-with-navigation.has-global-padding{
        padding-left: var(--wp--preset--spacing--40);
        padding-right: var(--wp--preset--spacing--40);
    }
    .site-with-navigation .wp-block-buttons .wp-block-button__link{
        padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20);
    }
}
@media screen and (max-width: 32em) {
    .site-with-navigation.has-global-padding{
        padding-left: var(--wp--preset--spacing--30);
        padding-right: var(--wp--preset--spacing--30);
    }
    .site-with-navigation .main-logo .custom-logo{
        max-height: 20px;
    }
   .site-with-navigation .wp-block-buttons .wp-block-button__link{
        padding: var(--wp--preset--spacing--30) calc(var(--wp--preset--spacing--30) / 2);
    }
}
@media screen and (max-width: 25em) {
    .site-with-navigation .main-logo .custom-logo {
        max-height: 16px;
    }
}

/* RESPONSIVE MENU */
@media screen and (min-width: 75.063em) {
    .wp-block-navigation.show-small{
        display: none !important;
    }
}
@media screen and (max-width: 75rem) {
    .wp-block-navigation.show-large{
        display: none !important;
    }
    .wp-block-navigation__responsive-close,
    .wp-block-navigation__responsive-dialog{
        height: 100%;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: auto;
        width: 100%;
        font-size: var(--wp--preset--font-size--x-large);
        padding-top: var(--wp--preset--spacing--70);
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
        flex-grow: initial;
        width: 100%;
        margin-bottom: var(--wp--preset--spacing--50);
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item{
        width: 100%;
        align-items: stretch;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content{
        background-color: var(--wp--preset--color--contrast);
        border: 1.5px solid var(--wp--preset--color--contrast);
        border-radius: var(--wp--custom--radius);
        padding: var(--wp--preset--spacing--30);
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .current-menu-item > .wp-block-navigation-item__content,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:is(:hover, :focus-visible){
        color: var(--wp--preset--color--contrast);
        background-color: var(--wp--preset--color--primary);
        border-color: var(--wp--preset--color--primary);
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .current-menu-ancestor > .wp-block-navigation-item__content{
        color: var(--wp--preset--color--base);
        background-color: var(--wp--preset--color--bleach);
        border-color: var(--wp--preset--color--bleach);
    }
    .wp-block-site-logo{
        position: relative;
        z-index: 100001;
    }
    .wp-block-navigation__responsive-container-close svg,
    .wp-block-navigation__responsive-container-open svg {
        height: 40px;
        width: 40px;
    }
    .wp-block-navigation__responsive-container-close:is(:hover, :focus-visible) svg {
        fill: var(--wp--preset--color--primary);
    }
    .wp-block-navigation__responsive-container-open:is(:hover, :focus-visible) svg {
        fill: var(--wp--preset--color--primary);
    }
    .wp-block-navigation__responsive-container-close {
        font-size: var(--wp--preset--font-size--base);
        top: var(--wp--preset--spacing--20);
        left: calc(var(--wp--preset--spacing--20) * -1);
    }
    .wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container{
        padding: var(--wp--preset--spacing--20);
    }


    /******** Responsive menu animation ********/
    .wp-block-navigation__responsive-container.is-menu-open {
        padding: var(--wp--preset--spacing--50) var(--wp--style--root--padding-right) var(--wp--preset--spacing--50) var(--wp--style--root--padding-left);
        animation: overlay-menu__fade-in-animation 0.35s ease-out;
    }

    @media screen and (max-width: 48em) {
         .wp-block-navigation__responsive-container.is-menu-open {
            padding: var(--wp--preset--spacing--50);
        }
    }


    @keyframes overlay-menu__fade-in-animation {
        from {
            opacity: 0;
            transform: translateY(-0.75em);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}


/* ---------------------------------------------------------------------------------------------
  SITE FOOTER
--------------------------------------------------------------------------------------------- */
.no-space-between + .site-footer > .wp-block-group {
    margin-block-start: 0;
}
.site-footer .footer-primary{
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--60);
}

@media screen and (min-width: 64.063em) {
    .site-footer .footer-primary{
        grid-template-columns: repeat(4, 1fr);
    }
}
@media screen and (max-width: 64em) and (min-width: 37.563em) {
    .site-footer .footer-primary{
        grid-template-columns: repeat(2, 1fr);
    }
    .site-footer .footer-primary .footer-social{
        grid-area: 1 / 2 / 2 / 3;
    }

}


/* ---------------------------------------------------------------------------------------------
  BUTTONS
--------------------------------------------------------------------------------------------- */
.wp-block-buttons,
.wp-block-buttons .wp-block-button__link{
    transition: var(--wp--custom--transition-global);
}
.wp-block-button.is-style-outline .wp-block-button__link:is(:hover, :focus-visible) {
    color: var(--wp--preset--color--contrast);
    background-color: var(--wp--preset--color--secondary);
    border-color: var(--wp--preset--color--secondary);
}


/* ---------------------------------------------------------------------------------------------
  SINGLE POST AS ACADEMY EVENT
--------------------------------------------------------------------------------------------- */
.event-hero .titles .avatar + h1{
    margin-block-start: var(--wp--preset--spacing--20);
}
.event-hero .titles h1 + h2{
    margin-block-start: calc(var(--wp--preset--spacing--20) / 2);
}
.event-content .intro{
    font-size: var(--wp--preset--font-size--x-large);
    font-weight: 700;
    line-height: 1.3;
}
.warning-message{
    font-size: var(--wp--preset--font-size--small);
    margin-top: var(--wp--preset--spacing--30);
    border-left:4px solid #f0be0c;
    padding: var(--wp--preset--spacing--30);
    border-radius: 0;
    color: #856404;
    background-color: #fff3cd;
}

@media screen and (max-width: 64em) {
    .event-hero .titles {
        margin-block-start: calc(var(--wp--preset--spacing--70) * -1.5);
        z-index: 100;
    }
    .event-hero .details{
        align-items: flex-start;
    }
}

@media screen and (max-width: 48em) {
    .event-hero .titles .avatar img{
        width: 80px !important;
    }
    .event-hero .titles h1{
        font-size: var(--wp--preset--font-size--huge) !important;
    }
    .event-hero .titles h2.has-xxx-large-font-size{
        font-size: var(--wp--preset--font-size--xx-large) !important;
    }
}



/* ---------------------------------------------------------------------------------------------
  FORMS
--------------------------------------------------------------------------------------------- */
/*--------------------------------------------------------------
  GENERIC
--------------------------------------------------------------*/
::placeholder {
    color: var(--wp--preset--color--ash);
    opacity: 1;
}
form{
    accent-color: var(--wp--preset--color--primary);
}
input,
textarea,
select,
fieldset {
    color: var(--wp--preset--color--base);
    margin-block-end: var(--wp--preset--spacing--50);
}
input,
textarea {
    margin-top: var(--wp--preset--spacing--10);
}
input:not([type="checkbox"], [type="radio"], [type="submit"]),
textarea,
select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="checkbox"],
input[type="radio"]{
    all: revert;
}
input:not([type="checkbox"], [type="radio"], [type="submit"]),
textarea,
select {
    width: 100%;
    line-height: 1;
    border-radius: var(--wp--custom--radius);
    border: 1px solid var(--wp--preset--color--gray);
    box-shadow: none;
    box-sizing: border-box;
    padding: var(--wp--preset--spacing--40);
    background-color: var(--wp--preset--color--contrast);
}
@media screen and (prefers-color-scheme: dark) {
    input:not([type="checkbox"], [type="radio"], [type="submit"]),
    textarea,
    select {
        background-color: var(--wp--preset--color--silver);
    }
}
select{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='1' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-down'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px top 55%;
}
select:user-invalid,
select [disabled] {
    color: var(--wp--preset--color--silver);
}
select option {
    color: var(--wp--preset--color--base);
}
textarea{
    min-height: 80px;
}
label,
legend {
    display: block;
    user-select: none;
    line-height: 1;
    font-weight: 600;
    margin-bottom: var(--wp--preset--spacing--20);
}
label + input{
    margin-top: 0;
}
label input{
    margin-top: var(--wp--preset--spacing--20);
}
fieldset {
    padding: 0;
    border-width: 0;
}
input:not([type="submit"]):is(:focus,:focus-visible),
textarea:is(:focus,:focus-visible),
select:is(:focus,:focus-visible) {
    outline: 3px solid var(--wp--preset--color--secondary);
    outline-offset: -3px;
    box-shadow: none;
}
input:not([type="checkbox"], [type="radio"], [type="submit"]):disabled,
textarea:disabled,
select:disabled {
    border-color: var(--wp--preset--color--silver);
    color: var(--wp--preset--color--silver);
    opacity: 1;
}
input[type="checkbox"],
input[type="radio"] {
    display: inline-block;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: var(--wp--preset--spacing--20);
}

/*--------------------------------------------------------------
  DYNAMIC
--------------------------------------------------------------*/
.lp-required{
    display: none;
}
.legal{
    margin-block-start: var(--wp--preset--spacing--40);
    margin-block-end: var(--wp--preset--spacing--50);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}
.legal p,
.legal span{
    line-height: 1;
    margin-top: -4px;
    font-weight: 400;
    color: var(--wp--preset--color--base);
}
.legal p:last-child{
    margin-block-end: 0;
}
.legal p small{
    font-size: var(--wp--preset--font-size--tiny);
}
.boxes-form input,
.boxes-form textarea,
.boxes-form select,
.boxes-form fieldset {
    width: 100%;
    margin-bottom: var(--wp--preset--spacing--20);
}
.boxes-form label,
.boxes-form legend{
    display: block;
    position: relative;
}
.boxes-form label span{
    font-size: 14px;
    position: absolute;
    top: 0.5rem;
    left: 0.75rem;
    font-weight: normal;
    z-index: 100;
}
.boxes-form input:where([type="email"],[type="number"],[type="search"],[type="text"],[type="tel"],[type="url"],[type="password"]),
.boxes-form textarea,
.boxes-form select{
    padding: 28px 0.75rem  0.5rem 0.75rem;
    border: 1px solid var(--wp--preset--color--ash);
}
.boxes-form .custom-select:is(:focus,:focus-visible),
.boxes-form input:where([type="email"],[type="number"],[type="search"],[type="text"],[type="tel"],[type="url"],[type="password"]):is(:focus,:focus-visible),
.boxes-form textarea:is(:focus,:focus-visible),
.boxes-form select:is(:focus,:focus-visible){
    border: 2px solid var(--wp--preset--secondary);
}
.boxes-form select{
    height: 64px;
}
.boxes-form div[data-form-block-id] .lookup-behavior{
    filter: none;
    background-position-x: calc(100% - 10px);
}
.form-container .onFormSubmittedFeedback{
    height: auto !important;
    width: auto !important;
    padding: 2em 0;
}
.form-container .onFormSubmittedFeedback .onFormSubmittedFeedbackMessage {
    font-size: var(--wp--preset--font-size--base);
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    color: var(--wp--preset--color--base);
    text-align: center;
    padding: 30px 10px 40px 10px;
}
.form-container .onFormSubmittedFeedback .onFormSubmittedFeedbackButton {
    min-width: auto;
    min-height: auto;
    border-radius: var(--wp--custom--radius);
    display: block;
    margin-left: auto;
    margin-right: auto;
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    color: var(--wp--preset--color--base);
    font-size: 1em;
    padding: calc(1em / 1.25) calc(1em * 1.5);
    font-weight: 400;
}
.form-container .onFormSubmittedFeedback .onFormSubmittedFeedbackButtonSuccess {
    color: var(--wp--preset--contrast);
    background-color: var(--wp--preset--primary);
    border: 1px solid var(--wp--preset--primary);
}
.lp-form-button.button-primary{
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-size: var(--wp--preset--font-size--base);
    color: var(--wp--preset--color--contrast);
    font-weight: 700;
    background-color: var(--wp--preset--color--primary);
    border: none;
    border-radius: var(--wp--custom--radius);
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
    transition: var(--wp--custom--transition-global);
    cursor: pointer;
}
.lp-form-button.button-primary:is(:hover, :focus-visible){
    background-color: var(--wp--preset--color--secondary);
}


/*--------------------------------------------------------------
  GRAVITY
--------------------------------------------------------------*/
.gform-theme--framework{
    --gf-color-danger: var(--wp--preset--color--error);
    --gf-color-success: var(--wp--preset--color--success);
}
.gform-theme--framework ::placeholder{
    color: var(--wp--preset--color--ash);
    opacity: 1;
}
.gfield_required{
    display: none !important
}
.gform-theme--framework .gform-grid-row{
    gap: var(--wp--preset--spacing--40);
    margin: 0;
}
.gform-theme--framework .gform-grid-col{
    padding: 0;
}
.gform-theme--framework .gform-grid-col.gform-grid-col--size-auto {
    flex: 1;
    inline-size: auto;
}
.gform-theme--framework .gfield_list_group_item::before:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
.gform-theme--framework .gform-field-label:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)){
    display: block;
    user-select: none;
    font-size: var(--wp--preset--font-size--base);
    font-weight: 600;
    line-height: 1;
    margin-bottom: 0;
}
.gform-theme--framework  .ginput_container_consent .gform-field-label:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)){
    font-weight: 400;
    font-size: var(--wp--preset--font-size--small);
    margin: 0;
}
.gform-theme--framework  .ginput_container_consent .gform-field-label a:not(:is(:hover, :focus-visible)){
    text-decoration: underline;
}
.gform-theme--framework .gfield input:not([type="checkbox"], [type="radio"], [type="submit"]){
    width: 100%;
    height: auto;
    font-size: var(--wp--preset--font-size--base);
    line-height: 1;
    border: none;
    border-bottom: 1px solid var(--wp--preset--color--gray);
    border-radius: 0;
    padding: var(--wp--preset--spacing--40);
    box-shadow: none;
}
.gform-theme--framework .gfield--type-choice .gchoice,
.gform-theme--framework .gfield--type-choice .ginput_container_consent{
    display: flex;
    align-items: center;
    gap: 1ch;
}
.gform-theme--framework .gfield.gfield--type-consent{
    margin-block-start: var(--wp--preset--spacing--40);
    margin-block-end: var(--wp--preset--spacing--50);
}
.gform-theme--framework .gform_footer .gform_button,
.gform-theme--framework .gform_page_footer .gform_button{
    width: fit-content;
    font-size: var(--wp--preset--font-size--base)  !important;
    font-weight: 700 !important;
    line-height: 1.5  !important;
    color: var(--wp--preset--color--contrast) !important;
    background-color: var(--wp--preset--color--primary) !important;
    border-radius: var(--wp--custom--radius) !important;
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50) !important;
    margin-block: var(--wp--preset--spacing--20) !important;
    transition: var(--wp--custom--transition-global) !important;
}
.gform-theme--framework .gform_footer .gform_button:is(:hover, :focus-visible),
.gform-theme--framework .gform_page_footer .gform_button:is(:hover, :focus-visible){
    background-color: var(--wp--preset--color--secondary) !important;
}
.gform-theme--framework .gfield_validation_message:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)){
    --gf-local-color: var(--wp--preset--color--error);
}
.gform-theme--framework .gform_validation_errors {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    border-radius: var(--wp--custom--radius);
    padding: var(--wp--preset--spacing--40);
    align-items: center;
    box-shadow: none;
}
.gform-theme--framework .gform_validation_errors .gform_submission_error{
    color: #721c24;
}
.gform-theme--framework .gform_validation_errors .gform-icon{
    display: none
}

@media screen and (max-width: 45em) {
    .gform-theme--framework .gform-grid-row{
        flex-direction: column;
    }
}