/* Colors */
#device-wrapper {
    --background-color: #ecefed;
    --text-color: #4b4f58;
    --accent-color: #e63e53;
    --background-color-secondary: #ffffff;
    --text-color-secondary: #3a3a3a;
    --accent-color-secondary: #bf444e;
    --bg-color-secondary: #ffffff;
}

#device-wrapper body {
    background-color: #ecefed;
    color: var(--text-color);
}

#device-wrapper a {
    color: var(--accent-color);
}

/* Typography */
:root, #device-wrapper {
    --h1-font-family: Besley;
    --h1-font-size-value: 2.6rem;
    --h1-line-height: 1.2;
    --h1-font-weight: 700;
    --h1-font-style: normal;
    --h1-text-transform: none;
    --h1-letter-spacing: 0px;
    --h1-color: var(--accent-color);
    --h2-font-family: Besley;
    --h2-size: 1.6rem;
    --h2-line-height: 1.3;
    --h2-font-weight: 600;
    --h2-font-style: normal;
    --h2-text-transform: none;
    --h2-letter-spacing: 0px;
    --h2-color: var(--accent-color);
    --h3-font-family: Besley;
    --h3-size: 1.15rem;
    --h3-line-height: 1.4;
    --h3-font-weight: 600;
    --h3-font-style: normal;
    --h3-text-transform: none;
    --h3-letter-spacing: 0px;
    --h3-color: var(--text-color);
    --h4-font-family: Raleway;
    --h4-size: 1.25rem;
    --h4-line-height: 1.4;
    --h4-font-weight: 400;
    --h4-font-style: normal;
    --h4-text-transform: none;
    --h4-letter-spacing: 0px;
    --h4-color: var(--text-color);
    --p-font-family: Raleway;
    --p-size: 1rem;
    --p-line-height: 1.5;
    --p-font-weight: 300;
    --p-font-style: normal;
    --p-text-transform: none;
    --p-letter-spacing: 0px;
    --p-color: var(--text-color);
    --p2-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --p2-size: 1rem;
    --p2-line-height: 1.5;
    --p2-font-weight: 400;
    --p2-font-style: normal;
    --p2-text-transform: none;
    --p2-letter-spacing: 0px;
    --p2-color: var(--text-color);
    --p3-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --p3-size: 1rem;
    --p3-line-height: 1.5;
    --p3-font-weight: 400;
    --p3-font-style: normal;
    --p3-text-transform: none;
    --p3-letter-spacing: 0px;
    --p3-color: var(--text-color);
    --p4-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --p4-size: 1rem;
    --p4-line-height: 1.5;
    --p4-font-weight: 400;
    --p4-font-style: normal;
    --p4-text-transform: none;
    --p4-letter-spacing: 0px;
    --p4-color: var(--text-color);
    --button-font-family: Raleway;
    --button-font-size: 0.9rem;
    --button-line-height: 1.5;
    --button-font-weight: 500;
    --button-font-style: normal;
    --button-text-transform: none;
    --button-letter-spacing: 0px;
    --button-color: var(--background-color);
    --link-color: var(--accent-color);
    --link-underline: none;
    --link-hover-color: var(--accent-color);
    --link-hover-underline: none;
}

#device-wrapper body {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    text-transform: var(--p-text-transform);
    letter-spacing: var(--p-letter-spacing);
}

#device-wrapper h1 {
    font-family: var(--h1-font-family);
    font-size: var(--h1-font-size-value);
    line-height: var(--h1-line-height);
    font-weight: var(--h1-font-weight);
    font-style: var(--h1-font-style);
    text-transform: var(--h1-text-transform);
    letter-spacing: var(--h1-letter-spacing);
    color: var(--h1-color);
}

#device-wrapper h2 {
    font-family: var(--h2-font-family);
    font-size: var(--h2-size);
    line-height: var(--h2-line-height);
    font-weight: var(--h2-font-weight);
    font-style: var(--h2-font-style);
    text-transform: var(--h2-text-transform);
    letter-spacing: var(--h2-letter-spacing);
    color: var(--h2-color);
}

#device-wrapper h3 {
    font-family: var(--h3-font-family);
    font-size: var(--h3-size);
    line-height: var(--h3-line-height);
    font-weight: var(--h3-font-weight);
    font-style: var(--h3-font-style);
    text-transform: var(--h3-text-transform);
    letter-spacing: var(--h3-letter-spacing);
    color: var(--h3-color);
}

#device-wrapper h4 {
    font-family: var(--h4-font-family);
    font-size: var(--h4-size);
    line-height: var(--h4-line-height);
    font-weight: var(--h4-font-weight);
    font-style: var(--h4-font-style);
    text-transform: var(--h4-text-transform);
    letter-spacing: var(--h4-letter-spacing);
    color: var(--h4-color);
}

#device-wrapper p {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    text-transform: var(--p-text-transform);
    letter-spacing: var(--p-letter-spacing);
    color: var(--p-color);
}

#device-wrapper .p2 {
    font-family: var(--p2-font-family);
    font-size: var(--p2-size);
    line-height: var(--p2-line-height);
    font-weight: var(--p2-font-weight);
    font-style: var(--p2-font-style);
    text-transform: var(--p2-text-transform);
    letter-spacing: var(--p2-letter-spacing);
    color: var(--p2-color);
}

#device-wrapper .p3 {
    font-family: var(--p3-font-family);
    font-size: var(--p3-size);
    line-height: var(--p3-line-height);
    font-weight: var(--p3-font-weight);
    font-style: var(--p3-font-style);
    text-transform: var(--p3-text-transform);
    letter-spacing: var(--p3-letter-spacing);
    color: var(--p3-color);
}

#device-wrapper .p4 {
    font-family: var(--p4-font-family);
    font-size: var(--p4-size);
    line-height: var(--p4-line-height);
    font-weight: var(--p4-font-weight);
    font-style: var(--p4-font-style);
    text-transform: var(--p4-text-transform);
    letter-spacing: var(--p4-letter-spacing);
    color: var(--p4-color);
}

#device-wrapper button, #device-wrapper .btn, #device-wrapper .btn-primary, #device-wrapper .btn-secondary, #device-wrapper input[type="submit"], #device-wrapper input[type="button"] {
    font-family: var(--button-font-family);
    font-size: var(--button-font-size);
    line-height: var(--button-line-height);
    font-weight: var(--button-font-weight);
    font-style: var(--button-font-style);
    text-transform: var(--button-text-transform);
    letter-spacing: var(--button-letter-spacing);
    color: var(--button-color);
}

#device-wrapper #page a:not([class*="btn"]):not([class*="button"]) {
    color: var(--link-color) !important;
    text-decoration: var(--link-underline) !important;
}

#device-wrapper #page a:not([class*="btn"]):not([class*="button"]):hover {
    color: var(--link-hover-color) !important;
    text-decoration: var(--link-hover-underline) !important;
}

@container device (max-width: 768px) {
    #device-wrapper h1 {
        font-size: calc(var(--h1-font-size-value) * 0.65);
    }
}

/* Buttons */
:root, #device-wrapper {
    /* Primary Button */
    --btn-primary-bg-color: #e63e53;
    --btn-primary-text-color: #ffffff;
    --btn-primary-border-color: #000000;
    --btn-primary-hover-bg-color: #e63e53;
    --btn-primary-hover-text-color: #ffffff;
    --btn-primary-hover-border-color: #ffffff;
    --btn-primary-selected-bg-color: #000000;
    --btn-primary-selected-text-color: #ffffff;
    --btn-primary-selected-border-color: #ffffff;
    --btn-primary-border-radius: 5px;
    --btn-primary-border-width: 0px;
    --btn-primary-box-shadow: none;
    --btn-primary-padding-vertical: 11px;
    --btn-primary-padding-horizontal: 38px;
    --btn-primary-min-width: 120px;
    --btn-primary-font-weight: 500;

    /* Secondary Button */
    --btn-secondary-bg-color: #ffffff;
    --btn-secondary-text-color: #e63e53;
    --btn-secondary-border-color: #000000;
    --btn-secondary-hover-bg-color: #ffffff;
    --btn-secondary-hover-text-color: #e63e53;
    --btn-secondary-hover-border-color: #000000;
    --btn-secondary-selected-bg-color: #ffffff;
    --btn-secondary-selected-text-color: #e63e53;
    --btn-secondary-selected-border-color: #98a2ac;
    --btn-secondary-border-radius: 5px;
    --btn-secondary-border-width: 0px;
    --btn-secondary-box-shadow: none;
    --btn-secondary-padding-vertical: 11px;
    --btn-secondary-padding-horizontal: 38px;
    --btn-secondary-min-width: 120px;
    --btn-secondary-font-weight: 600;

    /* Menu */
    --menu-bg-color: #ffffff;
    --menu-text-color: #4b4f58;
    --menu-border-color: #ffffff;
    --menu-hover-bg-color: #ffffff;
    --menu-hover-text-color: #c84053;
    --menu-hover-border-color: #ffffff;
    --menu-active-bg-color: #ffffff;
    --menu-active-text-color: #c84053;
    --menu-active-border-color: #ffffff;
    --menu-border-radius: 0px;
    --menu-border-width: 0px;
    --menu-box-shadow: none;
    --menu-font-size: 1rem;
    --menu-padding-vertical: 10px;
    --menu-padding-horizontal: 20px;
    --menu-font-weight: 300;
    --menu-text-transform: none;
}

#device-wrapper .btn-primary, #device-wrapper .button-primary,
.btn-primary, .button-primary {
    background-color: var(--btn-primary-bg-color) !important;
    color: var(--btn-primary-text-color) !important;
    border: var(--btn-primary-border-width) solid var(--btn-primary-border-color) !important;
    border-radius: var(--btn-primary-border-radius) !important;
    box-shadow: var(--btn-primary-box-shadow) !important;
    padding: var(--btn-primary-padding-vertical) var(--btn-primary-padding-horizontal) !important;
    min-width: var(--btn-primary-min-width) !important;
    font-weight: var(--btn-primary-font-weight) !important;
    transition: all 0.3s ease !important;
}
#device-wrapper .btn-primary:hover, #device-wrapper .button-primary:hover,
.btn-primary:hover, .button-primary:hover {
    background-color: var(--btn-primary-hover-bg-color) !important;
    color: var(--btn-primary-hover-text-color) !important;
    border-color: var(--btn-primary-hover-border-color) !important;
}
#device-wrapper .btn-primary:active, #device-wrapper .button-primary:active,
#device-wrapper .btn-primary.active, #device-wrapper .button-primary.active,
.btn-primary:active, .button-primary:active,
.btn-primary.active, .button-primary.active {
    background-color: var(--btn-primary-selected-bg-color) !important;
    color: var(--btn-primary-selected-text-color) !important;
    border-color: var(--btn-primary-selected-border-color) !important;
}

#device-wrapper .btn-secondary, #device-wrapper .button-secondary,
.btn-secondary, .button-secondary {
    background-color: var(--btn-secondary-bg-color) !important;
    color: var(--btn-secondary-text-color) !important;
    border: var(--btn-secondary-border-width) solid var(--btn-secondary-border-color) !important;
    border-radius: var(--btn-secondary-border-radius) !important;
    box-shadow: var(--btn-secondary-box-shadow) !important;
    padding: var(--btn-secondary-padding-vertical) var(--btn-secondary-padding-horizontal) !important;
    min-width: var(--btn-secondary-min-width) !important;
    font-weight: var(--btn-secondary-font-weight) !important;
    transition: all 0.3s ease !important;
}
#device-wrapper .btn-secondary:hover, #device-wrapper .button-secondary:hover,
.btn-secondary:hover, .button-secondary:hover {
    background-color: var(--btn-secondary-hover-bg-color) !important;
    color: var(--btn-secondary-hover-text-color) !important;
    border-color: var(--btn-secondary-hover-border-color) !important;
}
#device-wrapper .btn-secondary:active, #device-wrapper .button-secondary:active,
#device-wrapper .btn-secondary.active, #device-wrapper .button-secondary.active,
.btn-secondary:active, .button-secondary:active,
.btn-secondary.active, .button-secondary.active {
    background-color: var(--btn-secondary-selected-bg-color) !important;
    color: var(--btn-secondary-selected-text-color) !important;
    border-color: var(--btn-secondary-selected-border-color) !important;
}

#device-wrapper ul.menu li.item a {
    background-color: var(--menu-bg-color) !important;
    color: var(--menu-text-color) !important;
    border: var(--menu-border-width) solid var(--menu-border-color) !important;
    border-radius: var(--menu-border-radius) !important;
    padding: var(--menu-padding-vertical) var(--menu-padding-horizontal) !important;
    font-size: var(--menu-font-size) !important;
    font-weight: var(--menu-font-weight) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}
#device-wrapper ul.menu li.item a span {
    color: inherit !important;
}
#device-wrapper ul.menu li.item a:hover {
    background-color: var(--menu-hover-bg-color) !important;
    color: var(--menu-hover-text-color) !important;
    border-color: var(--menu-hover-border-color) !important;
}
#device-wrapper ul.menu li.item.selected a {
    background-color: var(--menu-active-bg-color) !important;
    color: var(--menu-active-text-color) !important;
    border-color: var(--menu-active-border-color) !important;
}

/* Layout */
:root, #device-wrapper {
    --container-width-value: 1200px;
    --spacing-value: 40px;
    --header-height: 80px;
    --logo-max-height: 52px;
    --page-side-padding-base: 20px;
    --page-side-padding: var(--page-side-padding-base);
    --header-fixed: 0;
    --header-position: static;
    --header-position-wrapper: static;
    --header-expandable: 0;
    --header-max-width: var(--container-width-value);
    --header-bg-color-select: var(--background-color-secondary);
    --header-bg-color-custom: #ffffff;
    --header-bg-color: var(--background-color-secondary);
    --page-bg-color-select: var(--background-color-secondary);
    --page-bg-color-custom: #ffffff;
    --page-bg-color: var(--background-color-secondary);
    --footer-bg-color-select: var(--background-color);
    --footer-bg-color-custom: #ffffff;
    --footer-bg-color: var(--background-color);
}

#device-wrapper .container {
    max-width: var(--container-width-value);
    padding-top: var(--spacing-value);
    padding-bottom: var(--spacing-value);
}

#device-wrapper header {
    background-color: var(--header-bg-color) !important;
    height: var(--header-height) !important;
    padding-left: var(--page-side-padding) !important;
    padding-right: var(--page-side-padding) !important;
}

#device-wrapper header .container,
#device-wrapper header .head,
#device-wrapper header .maxwidth,
#device-wrapper header > .block {
    max-width: var(--header-max-width) !important;
}

#device-wrapper #page, #device-wrapper main {
    background-color: var(--page-bg-color) !important;
}

#device-wrapper #page section,
#device-wrapper main section {
    padding-left: var(--page-side-padding);
    padding-right: var(--page-side-padding);
}

#device-wrapper footer {
    background-color: var(--footer-bg-color) !important;
    padding-left: var(--page-side-padding) !important;
    padding-right: var(--page-side-padding) !important;
}

/* En mòbil: meitat del page-side-padding */
@media (max-width: 768px) {
    :root, #device-wrapper {
        --page-side-padding: calc(var(--page-side-padding-base) / 2);
    }
}

/* Custom */
@media (max-width: 768px) {
    #device-wrapper {
        --spacing-value: 10px;
    }

    #device-wrapper .container {
        padding: 8px !important;
    }

    #device-wrapper .page_container {
        max-width: 100%;
        padding: 0 10px;
    }

    #device-wrapper .page-center {
        max-width: 100%;
        padding: 0 10px;
    }

    #device-wrapper div#page .block {
        padding: 15px 8px !important;
    }

    #device-wrapper .block {
        max-width: 100%;
    }

    #device-wrapper .sidepad {
        padding: 0 10px !important;
    }

    #device-wrapper .sidepad100 {
        padding: 0 10px !important;
    }

    #device-wrapper .maxwidth,
    #device-wrapper .maxwidth-shorter {
        padding: 0 10px;
    }

    #device-wrapper .wrapper {
        margin-bottom: 40px;
    }

    #device-wrapper .margin_left_40_desktop {
        padding: 0 !important;
    }

    #device-wrapper .hero-section {
        padding: 20px 8px;
    }

    #device-wrapper .hero-content {
        padding: 0;
    }

    #device-wrapper .punts-section,
    #device-wrapper .metode-section,
    #device-wrapper .equip-section,
    #device-wrapper .cooperativa-section,
    #device-wrapper .testimonials-section,
    #device-wrapper .clients-section {
        padding: 30px 8px;
    }

    #device-wrapper .metode-content,
    #device-wrapper .cooperativa-content,
    #device-wrapper .equip-section .team-description {
        max-width: 100%;
        padding: 0;
    }

    #device-wrapper .pad30 {
        padding: 15px !important;
    }

    #device-wrapper .pad40 {
        padding: 15px !important;
    }

    body.presentacio .content {
        max-width: 100%;
        padding: 20px 10px;
    }

    body.about .about-content {
        max-width: 100%;
        padding: 40px 10px;
    }

    body.contact .contact-content {
        max-width: 100%;
        padding: 30px 10px;
    }

    body.blog .blog-content {
        max-width: 100%;
        padding: 30px 10px;
    }

    .product-detail-container {
        padding: 15px 8px;
    }

    .products-container {
        padding: 15px 8px;
    }

    .related-products-section {
        padding: 30px 10px 0 10px;
    }

    header .head {
        padding: 0 8px !important;
    }
}

@media (max-width: 480px) {
    #device-wrapper {
        --spacing-value: 8px;
    }

    #device-wrapper .page_container,
    #device-wrapper .page-center {
        padding: 0 8px;
    }

    body.presentacio .content,
    body.about .about-content,
    body.contact .contact-content,
    body.blog .blog-content {
        padding: 15px 8px;
    }

    #device-wrapper #page > section:nth-of-type(2) > div {
        max-width: var(--container-width-value) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

}

/* Spacing */
#device-wrapper #actualitat > div {
    padding-top: 60px !important;
    padding-bottom: 0px !important;
}

#device-wrapper div#page.actualitat {
    padding-top: 20px;
}

@container device (max-width: 1024px) {
    #device-wrapper div#page.actualitat {
        padding-top: 0;
    }
}

#device-wrapper #ws-nb6nxvnx {
    max-width: 100% !important;
}

#mySidebar a.level1 span {
    font-weight: 400 !important;
}

#mySidebar a {
    padding: 10px 30px;
}

#device-wrapper b, #device-wrapper strong {
    font-weight: 600;
}

@container device (max-width: 768px) {
    #device-wrapper h1 {
        font-size: calc(var(--h1-font-size-value) * 0.65);
    }
    #device-wrapper .projecte-intro {
        padding: 40px 30px 60px !important;
    }
    #device-wrapper .estudi-style div[name="logo"] {
        padding-top: 10px;
    }
    #device-wrapper .barris-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    #device-wrapper .nav-item {
        margin: 0 !important;
    }
}

@container device (max-width: 480px) {
    #device-wrapper .hero-section-barris {
        padding: 30px 30px !important;
    }
    #device-wrapper .barris-gallery {
        padding: 20px 10px 40px !important;
    }
}
