@media (prefers-reduced-motion: no-preference) {
    @view-transition {
        navigation: auto;
    }
}

:root {
    --eg-white: #ffffff;
    --eg-blue: #10263b;
    --eg-light-blue: #14b3b4;
    --eg-black: #333333;
    --eg-gray-light: #f9f9f9;
    --eg-gray-medium: #d1d1d1;
    --eg-gray-dark: #707070;
    --eg-red: #ae1414;
    --eg-green: #1f8f5f;
    --eg-azure-light: #e3f1f3;

    --eg-container-columns: 12;
    --eg-container-gap: 1rem;
    --eg-container-column-width: 4.85rem;
    --eg-container-x-padding: 1rem;

    --form-gap-row: 1.5rem;
    --form-gap-col: var(--eg-container-gap);
    --form-field-min-width: 14.375rem;
    --form-checkbox-size: 0.8125rem;
    --form-checkbox-bg: #ebebeb;
    --form-checkbox-checked-bg: var(--accent);
    --form-input-bg: var(--eg-gray-light);
    --form-input-border: var(--eg-gray-medium);
    --form-input-font-size: 0.8rem;
    --form-input-weight: 400;
    --form-input-padding-block: 0.8rem;
    --form-input-padding-inline: 1rem;
    --form-label-weight: 500;
    --form-border-radius-input: 9999px;
    --form-border-radius-checkbox: 0.125rem;
    --form-border-radius-radio: 50%;
    --form-label-field-gap: 0.625rem;
    --form-icon-check: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC44NzUiIGhlaWdodD0iNy4xOTciIHZpZXdCb3g9IjAgMCAxMC44NzUgNy4xOTciPgogIDxwYXRoIGlkPSJUcmFjY2lhdG9fMjA4ODUiIGRhdGEtbmFtZT0iVHJhY2NpYXRvIDIwODg1IiBkPSJNLTE1NjA2LjA3Niw2ODc4LjMwN2wzLjI2MywzLjI2Myw0Ljc4NC00Ljc4NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU2MDcuNDkgLTY4NzUuMzczKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4K");
    --form-icon-file: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNSAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC4yODkwNiAyNC42MDAzTDQuMDg2OTEgMjQuNTk0NUMzLjA3Njc4IDI0LjU0MjggMi4xMTg5NyAyNC4xMTg3IDEuNDAwMzkgMjMuNDAwMUMwLjYzNDAyNiAyMi42MzM4IDAuMjAyMDkxIDIxLjU5NTMgMC4yMDAxOTYgMjAuNTExNUwwLjIwMDE5NiAxMS40NjI2QzAuMjAwMjExIDExLjIyOTUgMC4yOTMxMTkgMTEuMDA1NSAwLjQ1ODAwOSAxMC44NDA2QzAuNjIyODkxIDEwLjY3NTggMC44NDY5NzQgMTAuNTgzNyAxLjA4MDA4IDEwLjU4MzdDMS4zMTMgMTAuNTgzOCAxLjUzNjM5IDEwLjY3NiAxLjcwMTE3IDEwLjg0MDZDMS44NjYwNiAxMS4wMDU1IDEuOTU4OTcgMTEuMjI5NSAxLjk1ODk5IDExLjQ2MjZMMS45NTg5OCAyMC41MTA1TDEuOTcwNyAyMC43NDFDMi4wMjQyNiAyMS4yNzQzIDIuMjYwMjUgMjEuNzc1NiAyLjY0MjU4IDIyLjE1OEMzLjA3OTQ5IDIyLjU5NDkgMy42NzIxNiAyMi44NDA3IDQuMjkwMDQgMjIuODQxNkwyMC41MTA3IDIyLjg0MTZMMjAuNzQxMiAyMi44Mjk4QzIxLjI3NDUgMjIuNzc2MyAyMS43NzU5IDIyLjU0MDMgMjIuMTU4MiAyMi4xNThDMjIuNTk1MSAyMS43MjEgMjIuODQxIDIxLjEyODQgMjIuODQxOCAyMC41MTA1TDIyLjg0MTggMTEuNDYyNkMyMi44NDE4IDExLjIyOTUgMjIuOTM0NyAxMS4wMDU1IDIzLjA5OTYgMTAuODQwNkMyMy4yNjQ0IDEwLjY3NiAyMy40ODc4IDEwLjU4MzggMjMuNzIwNyAxMC41ODM3QzIzLjk1MzggMTAuNTgzNyAyNC4xNzc5IDEwLjY3NTggMjQuMzQyOCAxMC44NDA2QzI0LjUwNzcgMTEuMDA1NSAyNC42MDA2IDExLjIyOTUgMjQuNjAwNiAxMS40NjI2TDI0LjYwMDYgMjAuNTExNUMyNC41OTg3IDIxLjU5NTMgMjQuMTY2OCAyMi42MzM4IDIzLjQwMDQgMjMuNDAwMUMyMi42MzQgMjQuMTY2NSAyMS41OTU1IDI0LjU5ODQgMjAuNTExNyAyNC42MDAzTDQuMjg5MDYgMjQuNjAwM1oiIGZpbGw9IiMxMDI2M0IiIHN0cm9rZT0iIzEwMjYzQiIgc3Ryb2tlLXdpZHRoPSIwLjQiLz48cGF0aCBkPSJNMTIuMzgyOCAxNy42MzRDMTIuMTQ5OCAxNy42MzM5IDExLjkyNjUgMTcuNTQxIDExLjc2MTcgMTcuMzc2MkMxMS41OTY4IDE3LjIxMTMgMTEuNTAzOSAxNi45ODc0IDExLjUwMzkgMTYuNzU0MkwxMS41MDM5IDIuMjUxMjJDMTEuNTAzOSAyLjAxODAzIDExLjU5NjggMS43OTQwNCAxMS43NjE3IDEuNjI5MTVDMTEuOTI2NSAxLjQ2NDU0IDEyLjE0OTkgMS4zNzI0MSAxMi4zODI4IDEuMzcyMzFDMTIuNjE1OSAxLjM3MjMxIDEyLjg0IDEuNDY0MzggMTMuMDA0OSAxLjYyOTE1QzEzLjE2OTggMS43OTQwNCAxMy4yNjI3IDIuMDE4MDMgMTMuMjYyNyAyLjI1MTIyTDEzLjI2MjcgMTYuNzU0MkMxMy4yNjI3IDE2Ljk4NzQgMTMuMTY5OCAxNy4yMTEzIDEzLjAwNDkgMTcuMzc2MkMxMi44NCAxNy41NDExIDEyLjYxNiAxNy42MzQgMTIuMzgyOCAxNy42MzRaIiBmaWxsPSIjMTAyNjNCIiBzdHJva2U9IiMxMDI2M0IiIHN0cm9rZS13aWR0aD0iMC40Ii8+PHBhdGggZD0iTTE3LjgxMzUgNy4zNjQwMUMxNy41Nzk1IDcuMzY0ODQgMTcuMzU0NSA3LjI3MjAyIDE3LjE4ODUgNy4xMDcxOEwxNy4xODc1IDcuMTA3MThMMTIuNDA4MiAyLjMyMDA3TDcuNjE0MjYgNy4wOTA1OEw3LjYxMzI4IDcuMDkwNThDNy41MzEzMyA3LjE3MTkxIDcuNDMzOTggNy4yMzYyMiA3LjMyNzE1IDcuMjgwMDNDNy4yMjAzMyA3LjMyMzc5IDcuMTA1NjcgNy4zNDY4NCA2Ljk5MDIzIDcuMzQ2NDNDNi44NzQ4OCA3LjM0NTk3IDYuNzYwNzIgNy4zMjI1OSA2LjY1NDMgNy4yNzgwOEM2LjU0NzczIDcuMjMzNDkgNi40NTA1NCA3LjE2ODY0IDYuMzY5MTQgNy4wODY2N0M2LjI4NzggNy4wMDQ3NSA2LjIyMzUyIDYuOTA3MzMgNi4xNzk2OSA2LjgwMDU0QzYuMTM1ODkgNi42OTM3NCA2LjExMzg5IDYuNTc5MDUgNi4xMTQyNiA2LjQ2MzYyQzYuMTE0NjcgNi4zNDgxIDYuMTM4MDMgNi4yMzMyOCA2LjE4MjYyIDYuMTI2NzFDNi4yMTYwMyA2LjA0Njk0IDYuMjYwNTUgNS45NzI0NCA2LjMxNTQzIDUuOTA2TDYuMzc0MDIgNS44NDI1M0wxMS44MDg2IDAuNDU0ODMzQzExLjk2OCAwLjI5Njc4NSAxMi4xODE5IDAuMjA1NDgzIDEyLjQwNjMgMC4xOTk5NTFMMTIuNDEyMSAwLjE5OTk1MUMxMi42NDQ2IDAuMjAwOTMgMTIuODY3MiAwLjI5NDEzIDEzLjAzMTMgMC40NTg3NEwxOC40MzE2IDUuODU2MkMxOC41OTc0IDYuMDIwOTQgMTguNjkxNSA2LjI0NDU1IDE4LjY5MjQgNi40NzgyN0MxOC42OTMyIDYuNzEyMjIgMTguNjAwNCA2LjkzNzI3IDE4LjQzNTUgNy4xMDMyN0MxOC4yNzA4IDcuMjY5MDYgMTguMDQ3MiA3LjM2MzEyIDE3LjgxMzUgNy4zNjQwMVoiIGZpbGw9IiMxMDI2M0IiIHN0cm9rZT0iIzEwMjYzQiIgc3Ryb2tlLXdpZHRoPSIwLjQiLz48L3N2Zz4=");
    --form-icon-select: url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.02359 2.04426C3.41412 2.43477 4.04727 2.43476 4.43779 2.04424L6.27879 0.203241C6.54961 -0.0675785 6.98869 -0.067596 7.25953 0.203202C7.5304 0.47403 7.53042 0.91317 7.25957 1.18402L4.43781 4.00578C4.04728 4.39631 3.41412 4.39631 3.02359 4.00578L0.201758 1.18395C-0.069058 0.913131 -0.0690589 0.474051 0.201757 0.203234C0.472569 -0.0675773 0.911639 -0.0675829 1.18246 0.203222L3.02359 2.04426Z' fill='%23181818'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
    :root {
        --form-input-font-size: 0.75rem;
        --form-input-padding-block: 0.6rem;
    }
}

.eg-container {
    inline-size: 100%;
    max-inline-size: calc((var(--eg-container-x-padding) * 2) + ((var(--eg-container-columns) - 1) * var(--eg-container-gap)) + (var(--eg-container-columns) * var(--eg-container-column-width)));
    margin-inline: auto;
    padding-inline: var(--eg-container-x-padding);
}
.eg-container.eg-container-10 {
    --eg-container-columns: 10;
}
.eg-container.eg-container-8 {
    --eg-container-columns: 8;
}
.eg-container.eg-container-6 {
    --eg-container-columns: 6;
}
.eg-container.eg-container-5 {
    --eg-container-columns: 5;
}
.eg-container.eg-container-4 {
    --eg-container-columns: 4;
}

.eg-container strong {
    font-family: "museo-sans-display", "Mulish", sans-serif;
}

.layers {
    display: grid;
}

.layers > .layer {
    grid-column: -1/1;
    grid-row: -1/1;
}

.layers > .layer.layer-bg {
    position: relative;
}

.layers > .layer.layer-bg > .img-wrapper.img-wrapper-ratio:only-child {
    block-size: 100%;
}

.layers > .layer.layer-bg::before,
.layers > .layer.layer-bg::after {
    content: "";
    pointer-events: none;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 100%;
    position: absolute;
}

.layers > .layer.layer-fg {
    position: relative;
    z-index: 1;
}

.img-wrapper.img-wrapper-ratio > picture,
.img-wrapper.img-wrapper-ratio {
    overflow: hidden;
    position: relative;
}

.img-wrapper.img-wrapper-ratio > picture {
    block-size: 100%;
    display: block;
}

.img-wrapper.img-wrapper-ratio > video,
.img-wrapper.img-wrapper-ratio > picture > video,
.img-wrapper.img-wrapper-ratio > picture > img,
.img-wrapper.img-wrapper-ratio > img {
    inline-size: 100%;
    block-size: 100%;
    position: absolute;
    object-fit: cover;
    inset: 0;
}

/* ======================================== */
/* WPCF7 */
/* ======================================== */

.wpcf7-styled input[type="search"]::-webkit-search-decoration,
.wpcf7-styled input[type="search"]::-webkit-search-cancel-button,
.wpcf7-styled input[type="search"]::-webkit-search-results-button,
.wpcf7-styled input[type="search"]::-webkit-search-results-decoration,
.wpcf7-styled input[type="number"]::-webkit-outer-spin-button,
.wpcf7-styled input[type="number"]::-webkit-inner-spin-button {
    display: none;
}

.wpcf7-styled input[type="checkbox"],
.wpcf7-styled input[type="radio"] {
    appearance: none;
    inline-size: var(--form-checkbox-size);
    block-size: var(--form-checkbox-size);
    background-color: var(--form-checkbox-bg);
    flex-shrink: 0;
    cursor: pointer;
}

.wpcf7-styled input[type="checkbox"] {
    inline-size: 1rem !important;
    block-size: 1rem !important;
    background-color: transparent !important;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    transition: none !important;
}

.wpcf7-styled input[type="checkbox"]:checked {
    background-color: #000 !important;
}

.wpcf7-styled input[type="radio"] {
    border-radius: var(--form-border-radius-radio);
}

.wpcf7-styled input[type="checkbox"]:checked,
.wpcf7-styled input[type="radio"]:checked {
    background-color: var(--form-checkbox-checked-bg);
    background-image: var(--form-icon-check);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 72%;
}

.wpcf7-styled input[type="checkbox"]:checked {
    background-color: #000;
    background-image: none;
    border-color: #000;
}

.wpcf7-styled input[type="checkbox"]:focus-visible,
.wpcf7-styled input[type="radio"]:focus-visible {
    outline: 2px solid var(--on-surface);
    outline-offset: 2px;
}

.wpcf7-styled form.wpcf7-form input:not([type="checkbox"]) {
    block-size: auto;
}

.wpcf7-styled form.wpcf7-form input:not([type="submit"]),
.wpcf7-styled form.wpcf7-form textarea,
.wpcf7-styled input:is([type="text"], [type="number"], [type="email"], [type="tel"]),
.wpcf7-styled select,
.wpcf7-styled textarea {
    inline-size: 100%;
    padding-block: var(--form-input-padding-block);
    padding-inline: var(--form-input-padding-inline);
    border: 1px solid var(--form-input-border);
    background-color: var(--form-input-bg);
    border-radius: var(--form-border-radius-input);
    font-size: var(--form-input-font-size);
    font-weight: var(--form-input-weight);
    outline: none;
    line-height: 1.6;
}

.wpcf7-styled select {
    appearance: none;
    background-image: var(--form-icon-select);
    background-repeat: no-repeat;
    background-position: calc(100% - var(--form-input-padding-inline)) center;
    padding-inline-end: calc(var(--form-input-padding-inline) + 1.5rem);
}

.wpcf7-styled input::placeholder,
.wpcf7-styled textarea::placeholder {
    color: rgb(from var(--eg-black) r g b / 0.45);
}

.wpcf7-styled form.wpcf7-form textarea,
.wpcf7-styled textarea {
    border-radius: 0.5rem;
    min-block-size: 6.875rem;
    field-sizing: content;
    resize: vertical;
}

.wpcf7-styled input:is([type="text"], [type="number"], [type="email"], [type="tel"], [type="file"]):focus-visible,
.wpcf7-styled select:focus-visible,
.wpcf7-styled textarea:focus-visible {
    border-color: var(--accent);
    outline: 1px solid var(--accent);
    outline-offset: 0;
}

.wpcf7-styled label {
    font-size: 0.875rem;
    line-height: 1.571;
    letter-spacing: -0.01em;
    font-weight: var(--form-label-weight);
    display: flex;
    flex-direction: column;
    gap: var(--form-label-field-gap);
}

.wpcf7-styled .align-center {
    text-align: center;
}

.wpcf7-styled input[type="file"] {
    background-image: var(--form-icon-file);
    background-repeat: no-repeat;
    background-position: calc(100% - 1.25rem) center;
    padding-inline-end: 3rem;
}

@media only screen and (max-width: 768px) {
    .wpcf7-styled input[type="file"] {
        background-image: none;
    }
}

.wpcf7-styled input[type="file"]::file-selector-button {
    margin-inline-end: 0.75rem;
    padding: 0;
    border: 0;
    background-color: transparent;
    font-weight: 600;
    color: inherit;
    cursor: pointer;
}

.wpcf7-styled .eg-newsletter-field .label-title,
.wpcf7-styled .eg-interest .label-title,
.wpcf7-styled label .label-title {
    text-transform: uppercase;
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 700;
}

.wpcf7-styled .eg-newsletter-field .label-title,
.wpcf7-styled .eg-interest .label-title {
    margin-block-end: var(--form-label-field-gap);
    display: block;
}

.wpcf7-styled .eg-newsletter-field br,
.wpcf7-styled .eg-interest br {
    display: none;
}

.wpcf7-styled .label-title.label-title-optional::after {
    content: " (Opzionale)";
    color: var(--eg-light-blue);
    text-transform: none;
}

.wpcf7-styled label:has([aria-required="true"]) .label-title::after {
    content: " *";
    color: var(--eg-light-blue);
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) > p {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(var(--form-field-min-width), 100%), 1fr));
    row-gap: var(--form-gap-row);
    column-gap: var(--form-gap-col);
}

.eg-consulenza,
.eg-interest > p,
.eg-newsletter-field,
.wpcf7-styled :is([data-class="wpcf7cf_group"], form) > p:has(+ .wide, + p) {
    margin-block-end: var(--form-gap-row);
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) > p .wide {
    grid-column: 1 / -1;
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) .wpcf7-submit {
    inline-size: 100%;
    margin-inline: auto;
    border-radius: var(--form-border-radius-input);
    grid-column: -1/1;
    text-wrap: wrap;
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) > p br,
.wpcf7-styled :is([data-class="wpcf7cf_group"], form) .wpcf7-spinner {
    display: none;
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) .wpcf7-not-valid-tip {
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.wpcf7-styled .wpcf7-acceptance label {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.5rem;
}

.wpcf7-styled .wpcf7-acceptance label span {
    text-box: trim-both cap alphabetic;
}

.wpcf7-styled .wpcf7-acceptance label span a {
    text-decoration: underline;
}

.wpcf7-styled .wide [data-name="acceptance"] {
    display: block;
    margin-block: var(--form-gap-row);
}

.wpcf7-styled [data-name="acceptance"] .wpcf7-list-item {
    margin-inline-start: 0;
}

.wpcf7-styled .wpcf7-response-output {
    padding: 1rem;
    text-wrap: balance;
    font-size: 0.875rem;
    inline-size: 100%;
    border: 1px solid transparent;
    margin-block-start: 3rem;
    border-radius: var(--form-border-radius-input);
}

.wpcf7-styled form.sent .wpcf7-response-output {
    background-color: #5ad66521;
    border-color: #5ad6659e;
}

.wpcf7-styled form.invalid .wpcf7-response-output {
    border-color: #ffb900cc;
}

.wpcf7-styled [data-name="usertype"] {
    grid-column: -1/1;
}

.wpcf7-styled .radio-toggle {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid var(--form-input-border);
    background-color: var(--form-input-bg);
    border-radius: var(--form-border-radius-input);
    padding: 0.1em;
    text-align: center;
}

.wpcf7-styled .wpcf7-list-item {
    border-radius: 99999px;
    padding-block: var(--form-input-padding-block);
    padding-inline: var(--form-input-padding-inline);
    text-transform: uppercase;
    position: relative;
}

.wpcf7-styled .wpcf7-list-item:has(input[type="checkbox"]) {
    padding: 0 !important;
}

.wpcf7-styled .eg-call .wpcf7-list-item,
.wpcf7-styled .wpcf7-acceptance label span {
    margin-block-start: 0.25em;
    font-size: 0.8rem;
    font-weight: 300;
    line-height: 1.6;
    text-transform: none;
}

.wpcf7-styled .radio-toggle input:not([type="submit"]) {
    position: absolute;
    inset: 0;
    appearance: none;
    opacity: 0;
}

.wpcf7-styled .radio-toggle .wpcf7-list-item {
    flex-basis: 0;
    flex-grow: 1;
    min-width: fit-content;
}

.wpcf7-styled .radio-toggle .wpcf7-list-item:has(input:checked) {
    background-color: var(--eg-light-blue);
    color: var(--eg-white);
}

.wpcf7-styled .radio-toggle .wpcf7-list-item-label::before,
.wpcf7-styled .radio-toggle .wpcf7-list-item-label::after {
    content: initial;
}

.wpcf7-styled .post-text {
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 300;
    text-align: center;
}

/* ======================================== */
/* ARCHIVIO PRODOTTI: nascondi header originale del plugin (sostituito dalla hero) */
/* ======================================== */

.eg-pc-archive {
    max-inline-size: unset;
    padding: 0;
}

.eg-pc-archive > .eg-pc-archive-header {
    margin-block-end: 0;
}

.eg-pc-archive > .eg-pc-archive-header > .eg-pc-archive-title {
    display: none;
}

/* Layout 2 colonne: sidebar filtri a sinistra, risultati (griglia + paginazione) a destra */
.catalog-wrapper {
    grid-column: 1 / -1;
    margin-block-end: 6rem;
}

.catalog-layout {
    display: grid;
    grid-template-columns: 1fr 3fr;
    column-gap: 3.4rem;
    row-gap: 1.5rem;
    align-items: start;
}

.catalog-header-row {
    grid-column: 2;
    grid-row: 1;
}

.catalog-layout .sidebar-filters {
    grid-column: 1;
    grid-row: 2;
}

.catalog-layout .catalog-results {
    grid-column: 2;
    grid-row: 2;
}

@media (min-width: 769px) {
    .catalog-layout .sidebar-filters {
        position: sticky;
        inset-block-start: calc(var(--eg-header-height, 4.5rem) + 2rem);
        max-block-size: calc(100vh - var(--eg-header-height, 4.5rem) - 3rem);
        overflow-y: auto;
        scrollbar-width: none;
    }
}

@media (max-width: 768px) {
    .catalog-wrapper {
        margin-block-end: 4rem;
    }

    .catalog-layout {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 2rem;
    }

    .catalog-header-row,
    .catalog-layout .sidebar-filters,
    .catalog-layout .catalog-results {
        grid-column: 1;
        grid-row: auto;
    }

    .catalog-header-row {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }
}

@media (max-width: 768px) {
    .catalog-wrapper {
        margin-block-end: 3rem;
    }
}

.wpcf7-styled input[type="submit"],
.eg-btn {
    text-align: center;
    border: 1.5px solid transparent;
    padding: 0.85rem;
    padding-block: 0.8rem;
    border-radius: 99999px;
    text-transform: uppercase;
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 600;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.eg-btn.eg-btn-outline {
    background-color: transparent;
    color: var(--eg-blue);
    border-color: var(--eg-blue);
}

.eg-btn.eg-btn-outline:where(.eg-btn-outline-white) {
    background-color: transparent;
    color: var(--eg-white);
    border-color: var(--eg-white);
}

.eg-btn.eg-btn-outline:where(:hover, :focus-visible) {
    color: var(--eg-white);
    background-color: var(--eg-blue);
    border-color: var(--eg-blue);
}

.eg-btn.eg-btn-outline:where(.eg-btn-outline-white):where(:hover, :focus-visible) {
    background-color: var(--eg-white);
    color: var(--eg-blue);
    border-color: var(--eg-white);
}

.eg-btn.eg-btn-neutral {
    color: var(--eg-white);
    background-color: var(--eg-blue);
    border-color: var(--eg-blue);
}

.eg-btn.eg-btn-neutral:where(:hover, :focus-visible) {
    color: var(--eg-blue);
    background-color: var(--eg-white);
}

.wpcf7-styled input[type="submit"],
.eg-btn.eg-btn-primary {
    color: var(--eg-white);
    background-color: var(--eg-light-blue);
    border-color: var(--eg-light-blue);
}

.eg-btn.eg-btn-primary:where(:hover, :focus-visible) {
    color: var(--eg-light-blue);
    background-color: var(--eg-white);
}

.eg-btn.eg-btn-primary:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    color: var(--eg-white);
    background-color: var(--eg-light-blue);
}
/* ======================================== */
/* HERO */
/* ======================================== */

section.hero.hero-gradient .container {
    text-align: center;
    padding-block: 4rem;
}

section.hero.hero-gradient .container h1 {
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    color: var(--eg-white);
}

@media (max-width: 768px) {
    section.hero.hero-gradient .container {
        padding-block: 2.5rem;
    }

    section.hero.hero-gradient .container h1 {
        font-size: 1.7rem;
        line-height: 1.1;
    }
}

/* ======================================== */
/* SIDEBAR FILTERS */
/* ======================================== */

.sidebar-filters form {
    display: flex;
    flex-direction: column;
}

.sidebar-filters-head {
    order: -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-block-end: 1.5rem;
}

.sidebar-filters-head h2 {
    font-size: 1.2rem;
    line-height: 1;
    font-weight: 900;
    margin-block-end: 0;
}

.catalog-filters-toggle,
.sidebar-filters .filters-backdrop,
.sidebar-filters .filters-close {
    display: none;
}

.sidebar-filters .filter-accordion {
    border-block-start: 1px solid var(--eg-gray-medium);
}

.sidebar-filters .filter-accordion:last-child {
    border-block-end: 1px solid var(--eg-gray-medium);
}

.sidebar-filters .filter-accordion-head {
    background-color: transparent;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding-block: 1.5rem;
    text-transform: uppercase;
    font-size: 0.9rem;
    line-height: 1;
    font-weight: 700;
    inline-size: 100%;
}

.sidebar-filters .filter-accordion-icon::before {
    content: "+";
}

.sidebar-filters .filter-accordion-head[aria-expanded="true"] .filter-accordion-icon::before {
    content: "-";
}

.sidebar-filters .filter-accordion-body {
    display: grid;
    grid-template-rows: 1fr;
    overflow: hidden;
    transition: grid-template-rows 0.3s ease;
}

.sidebar-filters .filter-accordion-body[inert] {
    grid-template-rows: 0fr;
}

.sidebar-filters .filter-accordion-body > div {
    min-block-size: 0;
}

.sidebar-filters .filter-accordion-body > div > :last-child {
    padding-block-end: 1.5rem;
}

.sidebar-filters .filter-accordion-body ul {
    list-style-type: none;
    padding: 0;
    margin-block-end: 0;
}

.sidebar-filters .filter-accordion-body ul li:last-child:not(:only-child) > label {
    margin-block-end: 0;
}

.sidebar-filters .filter-accordion-body ul ul {
    padding-inline-start: 2rem;
}

.sidebar-filters .single-checkbox {
    display: flex;
    align-items: start;
    gap: 0.75rem;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.6;
    margin: 0;
}

.sidebar-filters .single-checkbox input[type="checkbox"] {
    block-size: 1.25rem;
    inline-size: 1.25rem;
    border: 1px solid var(--eg-blue);
    appearance: none;
    cursor: pointer;
}

.sidebar-filters .single-checkbox input[type="checkbox"]:checked {
    background-color: var(--eg-blue);
}

.sidebar-filters ul li:where(:has(ul), :not(:last-child)) .single-checkbox {
    margin-block-end: 1.1rem;
}

.sidebar-filters .swatches {
    display: grid;
    padding: 0.2rem;
    --grid-item-width: 1.2rem;
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: 1rem 1.4rem;
}

.sidebar-filters .swatches label {
    margin-bottom: 0;
}

.sidebar-filters .swatches input[type="checkbox"] {
    aspect-ratio: 1/1;
    block-size: 1.2rem;
    inline-size: 1.2rem;
    border-radius: 50%;
    border: 1px solid #a7a7a7;
    appearance: none;
    background-color: var(--swatch);
    cursor: pointer;
}

.sidebar-filters .swatches input[type="checkbox"]:checked {
    outline: 2px solid var(--eg-blue);
    outline-offset: 2px;
}

.swatch-tooltip {
    position: fixed;
    z-index: 1000;
    inset-block-start: 0;
    inset-inline-start: 0;
    padding: 0.3rem 0.6rem;
    border-radius: 0.4rem;
    background-color: #1a1a1a;
    color: #fff;
    font-size: 0.65rem;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transform-origin: bottom center;
    transform: translate(-50%, calc(-100% - 0.5rem)) scale(0.8);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.swatch-tooltip.is-visible {
    opacity: 1;
    transform: translate(-50%, calc(-100% - 0.5rem)) scale(1);
}

.swatch-tooltip::after {
    content: "";
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: 50%;
    transform: translateX(-50%);
    border: 0.35rem solid transparent;
    border-block-start-color: #1a1a1a;
}

.sidebar-filters .price-filter {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.sidebar-filters .price-filter-inputs {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.sidebar-filters .currency-input {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin-bottom: 0rem;
}

.sidebar-filters .currency-input span {
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 500;
}

.sidebar-filters .currency-input .eg-field-input {
    border: 1px solid var(--eg-gray-medium);
    border-radius: 99999px;
    background-color: var(--eg-gray-light);
    text-align: center;
    display: flex;
    align-items: center;
    padding-inline: 1.125rem;
}

.sidebar-filters .currency-input .eg-field-input:has(input:focus-visible) {
    outline: none;
}

.sidebar-filters .currency-input .eg-field-input input {
    padding-block: 0.85rem;
    padding-inline: 0;
    background-color: transparent;
    border: 0;
    inline-size: 100%;
}

.sidebar-filters .currency-input .eg-field-input input:focus-visible {
    outline: none;
}

.sidebar-filters .active-filters {
    padding-block: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.sidebar-filters .active-filters-title {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    color: var(--eg-light-blue);
    margin-block-end: 0;
}

.sidebar-filters .active-filter {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.sidebar-filters .active-filter-title {
    font-size: 0.7rem;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    margin-block-end: 0;
}

.sidebar-filters .active-filter-items {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.2rem 1rem;
}

.sidebar-filters .active-filter-item {
    background-color: transparent;
    border: none;
    color: inherit;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.6;
}

.sidebar-filters .filters-apply {
    display: block;
    inline-size: 100%;
    margin-block-start: 1.5rem;
}

.sidebar-filters .filters-reset {
    border: none;
    background-color: transparent;
    color: inherit;
    font-size: 0.9rem;
    text-decoration: underline;
    line-height: 1;
    font-weight: 700;
    padding-block-start: 1.5rem;
    text-align: start;
}

@media (max-width: 768px) {
    .catalog-filters-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
    }

    .sidebar-filters {
        position: fixed;
        inset: 0;
        z-index: 1000;
        visibility: hidden;
        transition: visibility 0.3s ease;
    }

    .sidebar-filters .filters-backdrop {
        display: block;
        position: absolute;
        inset: 0;
        inline-size: 100%;
        padding: 0;
        border: none;
        background-color: rgb(from var(--eg-blue) r g b / 0.45);
        opacity: 0;
        transition: opacity 0.3s ease;
        cursor: pointer;
    }

    .sidebar-filters form {
        position: absolute;
        inset-block: 0;
        inset-inline-end: 0;
        inline-size: min(85vw, 22rem);
        max-inline-size: 100%;
        padding: 1.5rem;
        overflow-y: auto;
        overscroll-behavior: contain;
        background-color: var(--eg-white);
        box-shadow: -0.5rem 0 1.5rem rgb(from var(--eg-blue) r g b / 0.2);
        translate: 100% 0;
        transition: translate 0.3s ease;
    }

    .sidebar-filters-head {
        position: sticky;
        inset-block-start: 0;
        margin-block: -1.5rem 1rem;
        padding-block: 1.5rem 1rem;
        background-color: var(--eg-white);
        z-index: 1;
    }

    .sidebar-filters .filters-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: none;
        background-color: transparent;
        color: inherit;
        cursor: pointer;
    }

    body.filters-open {
        overflow: hidden;
    }

    body.filters-open .sidebar-filters {
        visibility: visible;
    }

    body.filters-open .sidebar-filters .filters-backdrop {
        opacity: 1;
    }

    body.filters-open .sidebar-filters form {
        translate: 0 0;
    }
}

/* ======================================== */
/* SEARCH */
/* ======================================== */

.catalog-search {
    padding-block: 4rem;
}

.catalog-search label {
    display: block;
    margin-block-end: 0;
}

.catalog-search .eg-field-input {
    border: 1px solid var(--eg-gray-medium);
    border-radius: 99999px;
    background-color: var(--eg-gray-light);
    text-align: center;
    display: flex;
    align-items: center;
    padding-inline: 1.2rem 1rem;
    gap: 1rem;
}

.catalog-search .eg-field-input input {
    inline-size: 100%;
    background-color: transparent;
    border: none;
    padding-block: 1rem;
    outline: none;
}

.catalog-search .eg-field-input input::placeholder,
.catalog-search .eg-field-input input {
    font-size: 0.75rem;
    line-height: 1.4;
    font-weight: 400;
    color: var(--eg-black);
}

.catalog-search .eg-field-input:has(:focus-visible) {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

@media (max-width: 768px) {
    .catalog-search {
        padding-block: 2rem 1rem;
    }
}

/* ======================================== */
/* RESULTS HEADER */
/* ======================================== */

.catalog-results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.4;
}

.catalog-results-count {
    margin-block-end: 0;
}

.catalog-sort {
    margin-block-end: 0;
}

eg-select {
    position: relative;
    display: inline-block;
}

eg-select:not(:defined) {
    visibility: hidden;
}

.eg-select-native {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    border: 0;
}

.eg-select-button {
    appearance: none;
    cursor: pointer;
    font: inherit;
    color: inherit;
    text-align: start;
}

.eg-select-button[disabled] {
    cursor: not-allowed;
    opacity: 0.55;
}

.eg-select-list {
    position: fixed;
    z-index: 9999;
    min-inline-size: 100%;
    margin: 0;
    padding: 0;
    padding-block: 0.4rem;
    list-style: none;
    border-radius: 0.5rem;
    background-color: var(--eg-gray-light);
    border: 1px solid var(--eg-gray-medium);
}

.eg-select-list[hidden] {
    display: none;
}

.eg-select-list [role="option"] {
    padding-block: 0.45rem;
    padding-inline: 1rem;
    color: var(--eg-black);
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
}

.eg-select-list [role="option"].is-active,
.eg-select-list [role="option"]:not([aria-disabled="true"], [aria-selected="true"]):hover {
    background-color: #ebebeb;
}

.eg-select-list [role="option"][aria-selected="true"] {
    background-color: var(--eg-light-blue);
    color: var(--eg-white);
}

.eg-select-list [role="option"][aria-disabled="true"] {
    color: #999999;
    cursor: not-allowed;
}

.catalog-sort-select .eg-select-button {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0;
    border: none;
    background-color: transparent;
}

section.eg-single .customization-option eg-select {
    display: block;
}

section.eg-single .customization-option .eg-select-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    inline-size: 100%;
    padding-block: 0.85rem;
    padding-inline: 1rem 0.8rem;
    border: 1px solid var(--eg-gray-medium);
    border-radius: 999px;
    background-color: var(--eg-gray-light);
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 400;
}

section.eg-single .customization-option .eg-select-button::after {
    content: "";
    flex-shrink: 0;
    inline-size: 0.625rem;
    block-size: 0.625rem;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 1.41L10.59 0L6 4.58L1.41 0L0 1.41L6 7.41L12 1.41Z' fill='%2310263B'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media (max-width: 768px) {
    .catalog-results-header {
        flex-wrap: wrap;
        gap: 0.5rem 1rem;
    }
}

/* ======================================== */
/* PRODUCT CARD */
/* ======================================== */

article.eg-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

article.eg-product-card .eg-card-title a {
    color: inherit;
    text-decoration: none;
}

article.eg-product-card .eg-card-title a::after {
    content: "";
    position: absolute;
    inset: 0;
}

article.eg-product-card .img-wrapper {
    aspect-ratio: 330/438;
    background-color: var(--eg-gray-light);
    display: grid;
    place-items: center;
    overflow: hidden;
}

article.eg-product-card .img-wrapper img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

article.eg-product-card .eg-card-title {
    font-size: 1.1rem;
    line-height: 1;
    font-weight: 700;
    margin-block-end: 0;
}

article.eg-product-card .eg-card-description {
    color: var(--eg-gray-dark);
    font-weight: 300;
    font-size: 0.8rem;
    line-height: 1.4;
    margin-block-end: 0;
}

article.eg-product-card .eg-card-price {
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
}

article.eg-product-card .eg-card-swatches {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

article.eg-product-card .eg-card-swatch {
    inline-size: 1.2rem;
    block-size: 1.2rem;
    border-radius: 50%;
    border: 1px solid #a7a7a7;
}

article.eg-estimate-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

article.eg-estimate-card .img-wrapper {
    aspect-ratio: 330/438;
    background-color: var(--eg-gray-light);
    display: grid;
    place-items: center;
    overflow: hidden;
}

article.eg-estimate-card .img-wrapper img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

article.eg-estimate-card .eg-estimate-card-media,
article.eg-estimate-card .eg-estimate-card-titlelink {
    color: inherit;
    text-decoration: none;
}

article.eg-estimate-card .eg-estimate-card-title {
    font-size: 1.1rem;
    line-height: 1;
    font-weight: 700;
    margin-block-end: 0;
}

article.eg-estimate-card .eg-estimate-card-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-block: 1rem 0.8rem;
}

article.eg-estimate-card .eg-estimate-card-info div {
    font-size: 0.8rem;
    line-height: 1.2;
    color: var(--eg-gray-dark);
}

article.eg-estimate-card .eg-estimate-card-info dt {
    display: inline;
    font-weight: inherit;
}

article.eg-estimate-card .eg-estimate-card-info dd {
    display: inline;
    margin-inline-start: 0.25rem;
    color: var(--eg-black);
    font-weight: 700;
}

article.eg-estimate-card .eg-estimate-card-remove {
    padding: 0;
    position: absolute;
    inset-block-start: 0.5rem;
    inset-inline-end: 0.5rem;
    background-color: transparent;
    border: none;
    color: inherit;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.6;
    text-transform: uppercase;
    text-decoration: underline;
}

article.eg-estimate-card .eg-estimate-card-view {
    inline-size: 100%;
}

@media (max-width: 768px) {
    article.eg-product-card .eg-card-title,
    article.eg-estimate-card .eg-estimate-card-title {
        font-size: 1rem;
    }
}

.eg-estimate-min-notice {
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-block: 0.5rem 0;
    padding: 0.6rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--eg-light-blue) 35%, transparent);
    border-radius: 999px;
    background-color: var(--eg-azure-light);
    color: var(--eg-blue);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.4;
}

.eg-estimate-min-notice strong {
    font-weight: 800;
    color: var(--eg-light-blue);
}

.eg-estimate-min-notice-icon {
    flex: none;
    inline-size: 1.1rem;
    block-size: 1.1rem;
    background-color: var(--eg-light-blue);
    -webkit-mask: var(--eg-min-notice-icon) center / contain no-repeat;
    mask: var(--eg-min-notice-icon) center / contain no-repeat;
    --eg-min-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}

.eg-estimate-min-notice[hidden] {
    display: none;
}

.wpcf7-submit.is-disabled,
.wpcf7-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* ======================================== */
/* SINGLE CUSTOM */
/* ======================================== */

.eg-pc-single {
    max-width: none;
    margin: 0;
    padding: 0;
}

section.eg-single {
    padding-block: 4rem 5rem;
}

section.eg-single .eg-container {
    display: flex;
    align-items: start;
    flex-direction: row-reverse;
}

section.eg-single .gallery {
    flex-grow: 1;
    max-inline-size: 29.15rem;
    display: grid;
    grid-template-columns: 1fr 3.75rem;
    gap: 1rem;
    position: relative;
}

@media (min-width: 769px) {
    section.eg-single .gallery {
        position: sticky;
        inset-block-start: calc(var(--eg-header-height, 4.5rem) + 2rem);
    }
}

section.eg-single .gallery .scroll-arrow {
    position: absolute;
    inset-block-end: 0;
    inset-inline-end: 0;
    inline-size: 3.75rem;
    block-size: 1.75rem;
    display: grid;
    place-items: center;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
    color: #1a1a1a;
    z-index: 1;
}

section.eg-single .gallery .scroll-arrow svg {
    inline-size: 1rem;
    block-size: 1rem;
    animation: eg-scroll-hint 1.4s ease-in-out infinite;
}

section.eg-single .gallery .other-images.can-scroll-down ~ .scroll-arrow {
    opacity: 1;
}

@keyframes eg-scroll-hint {
    0%,
    100% {
        translate: 0 0;
    }
    50% {
        translate: 0 0.25rem;
    }
}

@keyframes eg-scroll-hint-x {
    0%,
    100% {
        translate: 0 0;
    }
    50% {
        translate: 0.25rem 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    section.eg-single .gallery .scroll-arrow svg {
        animation: none;
    }
}

section.eg-single .gallery .other-images {
    display: flex;
    flex-direction: column;
    block-size: 0;
    overflow: auto;
    min-block-size: 100%;
    scrollbar-width: none;
    --thumb-gap: 1rem;
    --fade-size: 2rem;
    gap: var(--thumb-gap);
}

section.eg-single .gallery .other-images::before,
section.eg-single .gallery .other-images::after {
    content: "";
    position: sticky;
    z-index: 1;
    flex-shrink: 0;
    block-size: var(--fade-size);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}

section.eg-single .gallery .other-images::before {
    inset-block-start: 0;
    margin-block-end: -3rem;
    background: linear-gradient(to bottom, var(--eg-white), transparent);
}

section.eg-single .gallery .other-images::after {
    inset-block-end: 0;
    margin-block-start: calc(-1 * (var(--fade-size) + var(--thumb-gap)) - var(--thumb-gap));
    background: linear-gradient(to top, var(--eg-white), transparent);
}

section.eg-single .gallery .other-images.can-scroll-up::before {
    opacity: 1;
}

section.eg-single .gallery .other-images.can-scroll-down::after {
    opacity: 1;
}

section.eg-single .gallery .img-wrapper {
    background-color: var(--eg-gray-light);
    aspect-ratio: 488/648;
    display: grid;
    place-items: center;
    inline-size: 0;
    min-inline-size: 100%;
}

section.eg-single .gallery img {
    mix-blend-mode: multiply;
}

section.eg-single .gallery .current-img > img {
    grid-area: 1 / 1;
}

section.eg-single .gallery .current-img [data-role="tronlogo-stage"] {
    opacity: 0;
    pointer-events: none;
}

section.eg-single .gallery .current-img.logo-active [data-role="tronlogo-stage"] {
    opacity: 1;
}

section.eg-single .gallery .current-img.logo-active [data-role="main-image"] {
    opacity: 0;
}

section.eg-single .gallery button {
    border: 1px solid transparent;
}

section.eg-single .gallery button[aria-selected="true"] {
    border-color: var(--eg-gray-medium);
}

section.eg-single .gallery button:focus-visible {
    border-style: dashed;
    border-color: currentColor;
}

section.eg-single .variant,
section.eg-single .description,
section.eg-single .title {
    padding-block-end: 1.5rem;
}

section.eg-single .variant,
section.eg-single .description {
    padding-block-start: 1.5rem;
}

section.eg-single .rif,
section.eg-single .variant,
section.eg-single .description,
section.eg-single .title {
    border-block-end: 1px solid var(--eg-gray-medium);
}

section.eg-single .rif-stock {
    font-size: 0.7rem;
    line-height: 1.6;
    font-weight: 600;
    padding-block: 0.4rem;
    padding-inline: 0.95rem;
    border: 1px solid var(--eg-light-blue);
    border-radius: 99999px;
    color: var(--eg-light-blue);
    text-transform: uppercase;
}

section.eg-single .text {
    margin-inline: auto;
    max-inline-size: 28.15rem;
}

section.eg-single .title {
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 700;
    margin-block-end: 0;
}

section.eg-single .rif {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-block-size: 3.75rem;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
    margin-block-end: 0;
    padding-block: 0.9rem;
}

section.eg-single .rif-codes {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

section.eg-single .rif-variant {
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--eg-gray-dark);
}

section.eg-single .description {
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 300;
    color: var(--eg-gray-dark);
}

section.eg-single .description > p:last-child {
    margin-block-end: 0;
}

section.eg-single .variant-head {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

section.eg-single .variant-subtitle {
    font-weight: 300;
    margin-block-end: 0;
}

section.eg-single .variant-subtitle strong {
    font-weight: 700;
}

section.eg-single .variant-title {
    margin-block-end: 0;
    text-transform: uppercase;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
}

section.eg-single .variant-layout-swatches {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

section.eg-single .variant-content {
    display: flex;
    flex-direction: column;
}

section.eg-single .variant-family--accordion {
    border-block-start: 1px solid var(--eg-gray-medium);
}

section.eg-single .variant-family--accordion:last-of-type {
    border-block-end: 1px solid var(--eg-gray-medium);
}

section.eg-single .variant-family-head {
    background-color: transparent;
    border: none;
    margin: 0;
    font: inherit;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    inline-size: 100%;
    padding: 0;
    padding-block: 1rem;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 0.8rem;
    line-height: 1;
    font-weight: 700;
}

section.eg-single .variant-family-icon::before {
    content: "+";
}

section.eg-single .variant-family-head[aria-expanded="true"] .variant-family-icon::before {
    content: "-";
}

section.eg-single .variant-family-body {
    display: grid;
    grid-template-rows: 1fr;
    overflow: hidden;
    transition: grid-template-rows 0.3s ease;
}

section.eg-single .variant-family-body[inert] {
    grid-template-rows: 0fr;
}

section.eg-single .variant-family-body-inner {
    min-block-size: 0;
}

section.eg-single .variant-family--accordion .variant-swatches {
    padding-block-end: 1rem;
}

section.eg-single .variant-swatches {
    display: grid;
    --grid-item-width: 4.85rem;
    grid-template-columns: repeat(auto-fill, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fill, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: 1.2rem;
    padding: 0.2rem;
    text-align: center;
}

section.eg-single .variant-swatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: transparent;
    gap: 0.7rem;
    font-size: 0.75rem;
    line-height: 1.2;
    font-weight: 700;
    padding: 0;
    border: none;
}

section.eg-single .variant-swatch[aria-selected="true"] .variant-swatch-icon {
    outline: 1px solid var(--eg-gray-dark);
    outline-offset: 3px;
}

section.eg-single .variant-swatch-icon {
    border-radius: 50%;
    border: 1px solid #a7a7a7;
    inline-size: 1.2rem;
    block-size: 1.2rem;
}

section.eg-single .variant-current-swatch p {
    margin-block-end: 0;
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--eg-gray-dark);
    text-align: end;
    margin-block-start: 1.5rem;
}

section.eg-single .variant-current-swatch p strong {
    color: var(--eg-black);
    text-transform: uppercase;
    font-weight: 700;
}

section.eg-single .variant-layout-counters {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

section.eg-single .variant-counters-info {
    margin-block-start: 1.5rem;
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 300;
}

section.eg-single .variant-counters-info strong {
    font-weight: 600;
}

section.eg-single .variant-counters-info p {
    margin-block-end: 0;
}

section.eg-single .variant-counters-info .error {
    color: var(--eg-red);
}

section.eg-single .variant-counters {
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: start;
    align-items: center;
    gap: 1rem 1.5rem;
}

section.eg-single .variant-counter {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
    align-items: center;
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 700;
}

section.eg-single .counter {
    padding-block: 0.35rem;
    padding-inline: 0.45rem;
    background-color: var(--eg-gray-light);
    border-radius: 999px;
    display: grid;
    align-items: center;
    grid-template-columns: 2.3rem 1fr 2.3rem;
    border: 1px solid var(--eg-gray-medium);
    text-align: center;
}

section.eg-single .counter.is-unavailable {
    opacity: 0.4;
    pointer-events: none;
}

section.eg-single .variant-counter :is(label, p) {
    margin-block-end: 0;
}

section.eg-single .counter button {
    display: grid;
    place-items: center;
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 700;
    border: 1px solid transparent;
    aspect-ratio: 1/1;
    border-radius: 50%;
    color: var(--eg-white);
    background-color: var(--eg-black);
    transition: transform 0.08s ease;
}

section.eg-single .counter button:active {
    transform: scale(0.95);
}

section.eg-single .counter button:disabled {
    opacity: 0.4;
    pointer-events: none;
}

section.eg-single .counter button.plus {
    background-color: var(--eg-light-blue);
}

section.eg-single .counter input {
    background-color: transparent;
    outline: none;
    border: none;
    text-align: center;
    inline-size: 4.2rem;
}

section.eg-single .customization-head button {
    background-color: transparent;
    border: none;
    padding: 0;
    padding-block: 1.5rem;
    font: inherit;
    color: var(--eg-black);
    font-size: 0.9rem;
    line-height: 1;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    inline-size: 100%;
    gap: 1rem;
}

section.eg-single .eg-switch {
    --_switch-padding: 0.15rem;
    position: relative;
    border: 1px solid var(--eg-gray-medium);
    block-size: 1.9rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.6;
    align-items: center;
    border-radius: 99999px;
    padding: var(--_switch-padding);
    min-inline-size: 3.5rem;
    background-color: var(--eg-gray-medium);
    color: #6b6b6b;
    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

section.eg-single .eg-switch span {
    display: inline-block;
    padding-inline: 0.4em;
}

section.eg-single .eg-switch::after {
    content: "";
    position: absolute;
    inset-block-start: var(--_switch-padding);
    inset-inline-start: var(--_switch-padding);
    inline-size: calc(50% - var(--_switch-padding));
    block-size: calc(100% - (2 * var(--_switch-padding)));
    border-radius: 99999px;
    background-color: var(--eg-white);
    transition: translate 0.2s ease;
}

section.eg-single .eg-switch:where([aria-pressed="true"], [aria-expanded="true"], button[aria-pressed="true"] .eg-switch, button[aria-expanded="true"] .eg-switch) {
    background-color: var(--eg-light-blue);
    color: var(--eg-white);
}

section.eg-single .eg-switch:where([aria-pressed="true"], [aria-expanded="true"], button[aria-pressed="true"] .eg-switch, button[aria-expanded="true"] .eg-switch)::after {
    translate: 100%;
}

section.eg-single .customization-options {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

section.eg-single .customization-option {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-block-end: 0;
}

section.eg-single .customization-option-title {
    font-size: 0.8rem;
    line-height: 1.6;
    font-weight: 700;
}

section.eg-single .titled-checkbox {
    margin-block-start: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

section.eg-single .titled-checkbox-title {
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 700;
    color: var(--eg-light-blue);
    margin-block-end: 0;
}

section.eg-single .titled-checkbox label {
    display: flex;
    align-items: start;
    gap: 0.65rem;
    font-size: 0.9rem;
    font-weight: 300;
    line-height: 1.4;
    margin-block-end: 0;
}

section.eg-single .titled-checkbox input[type="checkbox"] {
    inline-size: 0.9rem;
    block-size: 0.9rem;
    border: 1px solid var(--eg-blue);
    margin-block-start: 0.15em;
    border-radius: 0;
    appearance: none;
    flex-shrink: 0;
}

section.eg-single .titled-checkbox input[type="checkbox"]:checked {
    background-color: var(--eg-blue);
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.77246 9.43371L8.63574 13.297L15.2271 6.70264' stroke='white' stroke-width='2'/%3E%3C/svg%3E%0A");
    background-size: 100%;
    background-position: center;
}

section.eg-single .submit-buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
}

section.eg-single .text:not(:has(.customization)) .submit-buttons {
    margin-block-start: 1.5rem;
}

section.eg-single .submit-buttons button {
    flex-grow: 1;
    flex-basis: 0;
    min-width: fit-content;
}

.eg-toasts {
    position: fixed;
    inset-block-end: 1.5rem;
    inset-inline-end: 1.5rem;
    z-index: 9999;
    display: flex;
    flex-direction: column-reverse;
    gap: 0.5rem;
    max-inline-size: min(22rem, calc(100vw - 2rem));
    pointer-events: none;
}

.eg-toast {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-block: 0.75rem;
    padding-inline: 1rem;
    border-radius: 0.625rem;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--eg-white);
    background-color: var(--eg-blue);
    box-shadow: 0 6px 20px rgba(16, 38, 59, 0.25);
    cursor: pointer;
    opacity: 0;
    transform: translateX(0.75rem);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.eg-toast.is-visible {
    opacity: 1;
    transform: translateX(0);
}

.eg-toast-success {
    background-color: var(--eg-green);
}

.eg-toast-error {
    background-color: var(--eg-red);
}

.eg-toast-msg {
    flex: 1 1 auto;
}

.eg-toast-cta {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding-block: 0.3rem;
    padding-inline: 0.7rem;
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.16);
    font-weight: 600;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.eg-toast-cta::after {
    content: "→";
    transition: transform 0.2s ease;
}

.eg-toast-link:hover .eg-toast-cta,
.eg-toast-link:focus-visible .eg-toast-cta {
    background-color: rgba(255, 255, 255, 0.28);
}

.eg-toast-link:hover .eg-toast-cta::after {
    transform: translateX(0.15rem);
}

@media (prefers-reduced-motion: reduce) {
    .eg-toast {
        transition: opacity 0.25s ease;
        transform: none;
    }
}

section.eg-single .customization-body-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
}

section.eg-single .customization:has(.customization-head button[aria-expanded="true"]) .customization-body-wrapper {
    grid-template-rows: 1fr;
}

section.eg-single .customization-body-wrapper > div {
    overflow: hidden;
    min-block-size: 0;
}

section.eg-single .customization-body {
    padding-block-end: 1.5rem;
}

@media (max-width: 768px) {
    section.eg-single {
        padding-block: 7rem 4rem;
    }

    section.eg-single .eg-container {
        flex-direction: column-reverse;
        gap: 2.5rem;
    }

    section.eg-single .customization-head button {
        text-align: start;
    }

    section.eg-single .gallery {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        overflow: hidden;
        inline-size: 100%;
    }

    section.eg-single .gallery .img-wrapper {
        inline-size: auto;
        min-inline-size: unset;
    }

    section.eg-single .gallery .other-images {
        flex-direction: row;
        block-size: auto;
        padding-block-end: 0.25rem;
    }

    section.eg-single .gallery .other-images::before,
    section.eg-single .gallery .other-images::after {
        content: "";
        inline-size: var(--fade-size);
        block-size: auto;
        align-self: stretch;
        margin-block: 0;
    }

    section.eg-single .gallery .other-images::before {
        inset-block-start: auto;
        inset-inline-start: 0;
        margin-inline-end: -3rem;
        background: linear-gradient(to right, var(--eg-white), transparent);
    }

    section.eg-single .gallery .other-images::after {
        inset-block-end: auto;
        inset-inline-end: 0;
        margin-inline-start: -3rem;
        background: linear-gradient(to left, var(--eg-white), transparent);
    }

    section.eg-single .gallery .other-images.can-scroll-start::before {
        opacity: 1;
    }

    section.eg-single .gallery .other-images.can-scroll-end::after {
        opacity: 1;
    }

    section.eg-single .gallery .other-images .img-wrapper {
        inline-size: 4.5rem;
        min-inline-size: 4.5rem;
        aspect-ratio: 488/648;
    }

    section.eg-single .gallery .scroll-arrow {
        display: none;
    }
}

@media (max-width: 768px) {
    section.eg-single {
        padding-block: 0rem 3rem;
    }

    section.eg-single .title {
        font-size: 1.8rem;
    }

    section.eg-single .variant-counter {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: [all-start text-start] auto [text-end qty-start] auto [ qty-end all-end];
        gap: 0rem 1rem;
        inline-size: 100%;
    }

    section.eg-single .variant-counter > label {
        grid-row: text;
        grid-column: 1;
    }

    section.eg-single .variant-counter > p {
        grid-row: qty;
        grid-column: 1;
    }

    section.eg-single .variant-counter > .counter {
        grid-row: all;
        grid-column: 2;
        justify-self: end;
    }

    section.eg-single .submit-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    section.eg-single .submit-buttons button {
        inline-size: 100%;
    }
}

/* ======================================== */
/* CTA BANNER */
/* ======================================== */

section.eg-cta-banner {
    background-color: var(--eg-light-blue);
    padding-block: 5rem;
}

section.eg-cta-banner .eg-container {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

section.eg-cta-banner .title {
    margin-block-end: 0;
}

section.eg-cta-banner .title h2 {
    max-inline-size: 16.5rem;
    font-size: 2.4rem;
    line-height: 1.1;
    margin-block-end: 0;
    font-weight: 700;
}

section.eg-cta-banner .title strong {
    color: var(--eg-white);
    font-weight: 900;
}

section.eg-cta-banner .text {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    max-inline-size: 22.3rem;
}

section.eg-cta-banner .description {
    line-height: 1.4;
    font-weight: 700;
}

section.eg-cta-banner .description p:last-child {
    margin-block-end: 0;
}

@media (max-width: 768px) {
    section.eg-cta-banner {
        padding-block: 2.5rem;
    }

    section.eg-cta-banner .eg-container {
        flex-direction: column;
        gap: 1rem;
    }

    section.eg-cta-banner .title h2 {
        max-inline-size: none;
        font-size: 1.9rem;
        line-height: 1.1;
    }

    section.eg-cta-banner .text {
        max-inline-size: none;
    }
}

/* ======================================== */
/* HERO SIMPLE */
/* ======================================== */

section.hero.hero-simple hgroup {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    padding-block: 5rem;
}

section.hero.hero-simple .title {
    color: var(--eg-blue);
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 600;
    margin-block-end: 0;
}

section.hero.hero-simple .title strong {
    font-weight: 900;
    color: var(--eg-light-blue);
}

section.hero.hero-simple .subtitle {
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 700;
    margin-block-end: 0;
}

@media (max-width: 768px) {
    section.hero.hero-simple hgroup {
        padding-block: 3rem;
    }

    section.hero.hero-simple .title {
        font-size: 1.8rem;
        line-height: 1.1;
    }
}

/* ======================================== */
/* ESTIMATE LIST */
/* ======================================== */

.eg-estimate-list {
    display: grid;
    --grid-item-width: 15rem;
    grid-template-columns: repeat(auto-fill, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fill, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: 2rem 1rem;
    padding-block-end: 5rem;
}

.eg-estimate-card {
    view-transition-class: eg-estimate-card;
}

html:has(.eg-estimate-list) {
    view-transition-name: none;
}

::view-transition-group(.eg-estimate-card) {
    animation-duration: 0.32s;
    animation-timing-function: ease;
}

::view-transition-old(.eg-estimate-card):only-child {
    animation-name: eg-estimate-card-out;
}

@keyframes eg-estimate-card-out {
    to {
        opacity: 0;
        transform: scale(0.92);
    }
}

@media (prefers-reduced-motion: reduce) {
    ::view-transition-group(*),
    ::view-transition-old(*),
    ::view-transition-new(*) {
        animation: none !important;
    }
}

@media (max-width: 768px) {
    .eg-estimate-list {
        gap: 1.5rem;
        padding-block-end: 3rem;
    }
}

/* ======================================== */
/* FORM WRAPPER */
/* ======================================== */

section.form-wrapper {
    background-color: var(--eg-light-blue);
    padding-block: 4rem 6rem;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

section.form-wrapper hgroup {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

section.form-wrapper hgroup h2 {
    margin-block-end: 0;
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 600;
    margin-block-end: 0;
}

section.form-wrapper .title strong {
    font-weight: 700;
    color: var(--eg-white);
}

section.form-wrapper hgroup h2 strong {
    color: var(--eg-white);
}

section.form-wrapper hgroup .description {
    margin-block-end: 0;
}

section.form-wrapper hgroup .description.rich-text p:last-child {
    margin-block-end: 0;
}

section.form-wrapper--light {
    background-color: #f3f4f5;
}

section.form-wrapper--light hgroup h2 {
    color: var(--eg-light-blue);
}

section.form-wrapper--light hgroup h2 strong {
    color: var(--eg-black);
}

section.form-wrapper--light.form-wrapper--accent hgroup h2 {
    color: var(--eg-black);
}

section.form-wrapper--light.form-wrapper--accent hgroup h2 strong {
    color: var(--eg-light-blue);
}

section.form-wrapper--accent {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

section.form-wrapper--accent::after {
    content: "";
    z-index: -1;
    position: absolute;
    inset-block-end: 0;
    inset-inline-end: 0;
    inline-size: auto;
    block-size: 56.65rem;
    background-image: url("../images/ask-estimate-packaging.png");
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: contain;
    pointer-events: none;
    max-block-size: 80%;
    max-inline-size: 80%;
    translate: 28%;
    aspect-ratio: 711 / 1133;
}

@media (max-width: 768px) {
    section.form-wrapper--accent::after {
        display: none;
    }
}

section.form-wrapper .subtitle {
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 700;
    margin-block-end: 0;
}

section.form-wrapper .subtitle p:last-child {
    margin-block-end: 0;
}

section.form-wrapper .wpcf7-styled {
    margin-inline: auto;
    background-color: var(--eg-white);
    max-inline-size: 39rem;
    inline-size: 100%;
    border-radius: 0.5rem;
    padding: 2.5rem;
}

section.form-wrapper .result {
    margin-inline: auto;
    background-color: white;
    text-align: center;
    display: none;
    flex-direction: column;
    gap: 3.125rem;
    inline-size: 100%;
    max-inline-size: 39rem;
    border-radius: 0.5rem;
    padding-block: 3.125rem;
    border: 1px solid #d1d1d1;
    font-weight: 700;
}

section.form-wrapper .result strong {
    color: var(--eg-light-blue);
    font-weight: 900;
    font-family: "museo-sans-display", "Mulish", sans-serif;
}

section.form-wrapper .result p {
    font-size: 1.6rem;
    line-height: 1;
}

section.form-wrapper.is-sent .wpcf7-styled {
    display: none;
}

section.form-wrapper.is-sent .result {
    display: flex;
}

@media (max-width: 768px) {
    section.form-wrapper {
        padding-block: 3rem 4rem;
        gap: 2rem;
    }

    section.form-wrapper hgroup h2 {
        font-size: 1.9rem;
    }

    section.form-wrapper .wpcf7-styled {
        padding: 1.5rem;
    }
}

.hero-slider .swiper,
.hero-slider .swiper-slide,
.hero-slider .layers {
    block-size: 22.5rem;
}

.hero-slider .layer-fg {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero-slider-content {
    inline-size: 100%;
    max-inline-size: 28rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.hero-slider .title {
    margin: 0;
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
    font-size: 4rem;
    line-height: 1;
    color: var(--eg-white);
}

.hero-slider .subtitle {
    margin: 0;
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 2.1rem;
    line-height: 1.1;
    color: var(--eg-white);
}

.hero-slider .swiper-pagination {
    inset-block-end: 0.9rem;
}

.hero-slider .swiper-pagination .swiper-pagination-bullet {
    inline-size: 0.5rem;
    block-size: 0.5rem;
    margin-inline: 0.15rem;
    background-color: var(--eg-white);
    opacity: 0.5;
}

.hero-slider .swiper-pagination .swiper-pagination-bullet-active {
    opacity: 1;
}

@media (max-width: 768px) {
    .hero-slider .swiper,
    .hero-slider .swiper-slide,
    .hero-slider .layers {
        block-size: 16rem;
    }

    .hero-slider .title {
        font-size: 2.2rem;
    }

    .hero-slider .subtitle {
        font-size: 1.3rem;
    }
}

.eg-categories {
    padding-block: 4rem 5rem;
}

.eg-categories > .eg-container {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.eg-categories > .eg-container > .title {
    margin: 0;
    text-align: center;
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
    font-size: 2.4rem;
    line-height: 1;
    color: var(--eg-blue);
}

.eg-categories-grid {
    inline-size: 100%;
    max-inline-size: 51.5rem;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 4rem 1rem;
}

.eg-category-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.eg-category-card .img-wrapper {
    aspect-ratio: 330 / 438;
}

.eg-category-card .title {
    margin: 0;
    text-align: center;
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
    font-size: 1.2rem;
    line-height: 1;
    color: var(--eg-blue);
}

.eg-category-card .title a {
    color: inherit;
    text-decoration: none;
}

.eg-category-card .title a::after {
    content: "";
    position: absolute;
    inset: 0;
}

@media (max-width: 768px) {
    .eg-categories {
        padding-block: 3rem;
    }

    .eg-categories > .eg-container {
        gap: 2.5rem;
    }

    .eg-categories > .eg-container > .title {
        font-size: 1.9rem;
    }

    .eg-categories-grid {
        grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr));
        gap: 2.5rem 1rem;
    }
}

.eg-ptypes {
    padding-block: 3rem 5rem;
}

.eg-ptypes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    gap: 1rem;
}

.eg-ptype-card {
    position: relative;
    overflow: hidden;
}

.eg-ptype-card .layers > .layer.layer-bg > .img-wrapper.img-wrapper-ratio {
    aspect-ratio: 680 / 450;
}

.eg-ptype-card .layer-fg {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.5rem;
    padding-block: 2.45rem;
    padding-inline: 2.5rem;
}

.eg-ptype-card-title {
    margin: 0;
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
    font-size: 2.4rem;
    line-height: 1.1;
    max-inline-size: 12ch;
}

.eg-ptype-card-foot {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
}

.eg-ptype-card-desc {
    margin: 0;
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.4;
    max-inline-size: 14rem;
}

.eg-ptype-card-link {
    flex: none;
    padding-inline: 2rem;
}

.eg-ptype-card-link::after {
    content: "";
    position: absolute;
    inset: 0;
}

.eg-ptype-card--dark .eg-ptype-card-title,
.eg-ptype-card--dark .eg-ptype-card-desc {
    color: var(--eg-white);
}

.eg-ptype-card--light {
    background-color: var(--eg-azure-light);
}

.eg-ptype-card--light .eg-ptype-card-title {
    color: var(--eg-blue);
}

.eg-ptype-card--light .eg-ptype-card-desc {
    color: var(--eg-light-blue);
}

@media (max-width: 768px) {
    .eg-ptypes {
        padding-block: 2rem 3rem;
    }

    .eg-ptypes-grid {
        grid-template-columns: 1fr;
    }

    .eg-ptype-card .layer-fg {
        padding-block: 2rem;
        padding-inline: 1.5rem;
        gap: 1rem;
    }

    .eg-ptype-card-title {
        font-size: 1.9rem;
    }

    .eg-ptype-card-foot {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}

.eg-estimate-empty {
    padding-block: 5rem 6rem;
}

.eg-estimate-empty-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
    text-align: center;
}

.eg-estimate-empty-text {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.eg-estimate-empty-button {
    padding-inline: 1.8rem;
}

.eg-estimate-empty-title {
    margin: 0;
    font-size: 2.4rem;
    line-height: 1;
}

.eg-estimate-empty-pretitle {
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    color: var(--eg-blue);
}

.eg-estimate-empty-accent {
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
    color: var(--eg-light-blue);
}

.eg-estimate-empty-subtitle {
    margin: 0;
    inline-size: 100%;
    max-inline-size: 34rem;
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--eg-black);
}

.eg-estimate-empty-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

@media (max-width: 768px) {
    .eg-estimate-empty {
        padding-block: 3rem 4rem;
    }

    .eg-estimate-empty-title {
        font-size: 1.9rem;
    }

    .eg-estimate-empty-actions {
        inline-size: 100%;
        align-items: stretch;
    }
}

.eg-ask-hero {
    background-color: var(--eg-azure-light);
    padding-block: 5rem;
}

.eg-ask-hero > .eg-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: center;
}

.eg-ask-hero-title {
    margin: 0;
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.1;
    color: var(--eg-blue);
    max-inline-size: 57rem;
}

.eg-ask-hero-title .accent {
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
    color: var(--eg-light-blue);
}

.eg-ask-hero-subtitle {
    margin: 0;
    font-family: "museo-sans", sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.4;
    color: var(--eg-black);
    max-inline-size: 58rem;
}

.eg-ask-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

.eg-ask-hero-actions .eg-btn {
    padding-inline: 2rem;
}

.eg-ask-hero-features {
    list-style: none;
    margin: 0;
    padding: 0;
    inline-size: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 2rem 1rem;
    margin-block-start: 5rem;
}

.eg-ask-hero-feature {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.eg-ask-hero-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 3rem;
    block-size: 3rem;
    border-radius: 50%;
    background-color: var(--eg-white);
}

.eg-ask-hero-feature-icon img {
    inline-size: 1.5rem;
    block-size: 1.5rem;
}

.eg-ask-hero-feature-label {
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--eg-blue);
}

@media (max-width: 768px) {
    .eg-ask-hero {
        padding-block: 3rem;
    }

    .eg-ask-hero-title {
        font-size: 1.7rem;
    }

    .eg-ask-hero-subtitle {
        font-size: 1rem;
    }

    .eg-ask-hero-actions {
        inline-size: 100%;
        flex-direction: column;
        gap: 0.6rem;
    }

    .eg-ask-hero-actions .eg-btn {
        inline-size: 100%;
    }

    .eg-ask-hero-features {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem 1rem;
        margin-block-start: 1rem;
    }
}

.eg-ask-ideas {
    padding-block: 5rem 2.5rem;
}

.eg-ask-ideas-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    text-align: center;
}

.eg-ask-ideas-pretitle {
    margin: 0;
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
    font-size: 2.4rem;
    line-height: 1.4;
    color: var(--eg-light-blue);
}

.eg-ask-ideas-title {
    margin: 0;
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.1;
    color: var(--eg-blue);
}

.eg-ask-ideas-subtitle {
    margin-block: 1.15rem 0;
    inline-size: 100%;
    max-inline-size: 34rem;
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--eg-black);
}

@media (max-width: 768px) {
    .eg-ask-ideas {
        padding-block: 3rem 2rem;
    }

    .eg-ask-ideas-pretitle,
    .eg-ask-ideas-title {
        font-size: 1.5rem;
    }
}

.eg-ask-list {
    padding-block: 2.5rem 5rem;
}

.eg-ask-list-filters {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    max-inline-size: 69rem;
    margin-inline: auto;
    margin-block-end: 2.5rem;
}

.eg-ask-list-search {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    inline-size: 100%;
    max-inline-size: 29.15rem;
    flex-shrink: 0;
    block-size: 2.5rem;
    padding-inline: 1.25rem;
    margin-block-end: 0;
    border-radius: 5rem;
    background-color: var(--eg-white);
    border: 1px solid var(--eg-gray-medium);
}

.eg-ask-list-search input {
    flex: 1;
    inline-size: 100%;
    max-inline-size: none;
    min-inline-size: 0;
    margin: 0;
    border: 0;
    background: none;
    outline: none;
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--eg-black);
}

.eg-ask-list-search svg {
    flex: none;
    inline-size: 1.05rem;
    block-size: 1.05rem;
    color: var(--eg-gray-dark);
}

.eg-ask-list-filter-pills {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.7rem;
}

.eg-ask-list-filter {
    display: flex;
    align-items: center;
    block-size: 2.5rem;
    padding-inline: 1.5rem;
    border-radius: 5rem;
    border: 1px solid var(--eg-light-blue);
    background: none;
    cursor: pointer;
    color: var(--eg-light-blue);
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 0.8rem;
    white-space: nowrap;
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.eg-ask-list-filter.is-active {
    background-color: var(--eg-light-blue);
    color: var(--eg-white);
}

.eg-ask-list .eg-ask-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    gap: 1rem;
    max-inline-size: 69rem;
    margin-inline: auto;
}

.eg-ask-list-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: var(--eg-white);
    border: 1px solid var(--eg-gray-medium);
    border-radius: 0.5rem;
    overflow: hidden;
}

.eg-ask-list-card-media {
    aspect-ratio: 447 / 264;
}

.eg-ask-list-card-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
}

.eg-ask-list-card-title {
    margin: 0;
    font-family: museo-sans-display, sans-serif;
    font-weight: 900;
    font-size: 1.1rem;
    line-height: 1.1;
    color: var(--eg-black);
}

.eg-ask-list-card-date {
    margin: 0;
    font-family: "museo-sans", sans-serif;
    font-weight: 300;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--eg-gray-dark);
}

.eg-ask-list-card-text {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--eg-black);
}

.eg-ask-list-card-link {
    margin-block-start: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.eg-ask-list-card-link svg {
    flex: none;
    inline-size: 1rem;
    block-size: 1rem;
}

.eg-ask-list-card-link::after {
    content: "";
    position: absolute;
    inset: 0;
}

.eg-ask-list-cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-block-start: 3.9rem;
}

.eg-ask-list-cta .eg-btn {
    flex: 0 1 22rem;
    padding-block: 1rem;
}

@media (max-width: 768px) {
    .eg-ask-list {
        padding-block: 2rem 3rem;
    }

    .eg-ask-list-search {
        max-inline-size: none;
    }

    .eg-ask-list-filter-pills {
        flex-shrink: 0;
        flex-basis: unset;
        flex-wrap: nowrap;
        overflow-x: auto;
        position: relative;
        inset-inline-start: calc(-1 * var(--eg-container-x-padding));
        inline-size: calc(100% + (2 * var(--eg-container-x-padding)));
        padding-inline: var(--eg-container-x-padding);
        scrollbar-width: none;
    }

    .eg-ask-list-filter {
        flex: none;
    }

    .eg-ask-list .eg-ask-list-grid {
        grid-template-columns: 1fr;
    }

    .eg-ask-list-cta {
        flex-direction: column;
        align-items: stretch;
        margin-block-start: 2.5rem;
    }

    .eg-ask-list-cta .eg-btn {
        flex: 1;
    }
}

.eg-ask-faq {
    background-color: var(--eg-light-blue);
    padding-block: 5rem;
}

.eg-ask-faq .eg-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
}

.eg-ask-faq-title {
    margin-block: 0;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.1;
    color: var(--eg-white);
}

.eg-ask-faq-title-base {
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
}

.eg-ask-faq-title-accent {
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
}

.eg-ask-faq-list {
    list-style: none;
    margin-block: 0;
    padding: 0;
    inline-size: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.eg-ask-faq-item {
    background-color: var(--eg-white);
    border-radius: 0.5rem;
    overflow: hidden;
}

.eg-ask-faq-question {
    inline-size: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding-block: 1.2rem;
    padding-inline: 1.5rem;
    background: none;
    border: 0;
    cursor: pointer;
    text-align: start;
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--eg-black);
    transition: padding-block-end 0.2s ease;
}

.eg-ask-faq-item.is-open .eg-ask-faq-question {
    padding-block-end: 1rem;
}

.eg-ask-faq-item.is-open .eg-ask-faq-question-text {
    color: var(--eg-light-blue);
}

.eg-ask-faq-toggle {
    flex-shrink: 0;
    position: relative;
    inline-size: 1.1rem;
    block-size: 1.1rem;
    border-radius: 50%;
    background-color: var(--eg-light-blue);
}

.eg-ask-faq-item.is-open .eg-ask-faq-toggle {
    background-color: var(--eg-blue);
}

.eg-ask-faq-toggle::before,
.eg-ask-faq-toggle::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--eg-white);
    border-radius: 1px;
}

.eg-ask-faq-toggle::before {
    inline-size: 0.5rem;
    block-size: 2px;
}

.eg-ask-faq-toggle::after {
    inline-size: 2px;
    block-size: 0.5rem;
}

.eg-ask-faq-item.is-open .eg-ask-faq-toggle::after {
    block-size: 0;
}

.eg-ask-faq-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
}

.eg-ask-faq-item.is-open .eg-ask-faq-panel {
    grid-template-rows: 1fr;
}

.eg-ask-faq-answer {
    overflow: hidden;
    min-block-size: 0;
}

.eg-ask-faq-answer-content {
    padding-inline: 1.5rem;
    padding-block-end: 1.2rem;
    font-family: "museo-sans", sans-serif;
    font-weight: 500;
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--eg-gray-dark);
}

.eg-ask-faq-answer-content > :first-child {
    margin-block-start: 0;
}

.eg-ask-faq-answer-content > :last-child {
    margin-block-end: 0;
}

@media (max-width: 768px) {
    .eg-ask-faq {
        padding-block: 3rem;
    }

    .eg-ask-faq-title {
        font-size: 1.9rem;
    }

    .eg-ask-faq-question {
        padding-block: 1rem;
        padding-inline: 1rem;
    }

    .eg-ask-faq-item.is-open .eg-ask-faq-question {
        padding-block-end: 0.8rem;
    }

    .eg-ask-faq-answer-content {
        padding-inline: 1rem;
        padding-block-end: 1rem;
    }
}

section.eg-ask-trust {
    background-color: var(--eg-blue);
    padding-block: 2.5rem;
}

section.eg-ask-trust .eg-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.eg-ask-trust-stars {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.eg-ask-trust-star {
    inline-size: 2.2rem;
    block-size: 2.2rem;
    fill: var(--eg-light-blue);
}

.eg-ask-trust-text {
    margin-block-end: 0;
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 700;
    color: var(--eg-white);
    text-align: center;
}

@media (max-width: 768px) {
    section.eg-ask-trust {
        padding-block: 2.5rem;
    }
}

.eg-ask-features {
    padding-block: 5rem;
}

.eg-ask-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
    gap: 2rem 1rem;
    max-inline-size: 70rem;
    margin-inline: auto;
}

.eg-ask-feature {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    align-items: stretch;
}

.eg-ask-feature-card {
    background-color: var(--eg-gray-light);
    border-radius: 0.5rem;
    padding-block: 1.5rem 0;
    padding-inline: 2.5rem;
}

.eg-ask-feature-card .img-wrapper.img-wrapper-ratio {
    aspect-ratio: 348 / 232;
}

.eg-ask-feature-card .img-wrapper.img-wrapper-ratio img {
    object-fit: cover;
}

.eg-ask-feature-title {
    text-align: center;
    color: var(--eg-blue);
    font-family: "museo-sans-display", "Mulish", sans-serif;
    font-weight: 900;
    font-size: 1.1rem;
    line-height: 1.4;
    margin-block-end: 0;
}

@media (max-width: 768px) {
    .eg-ask-features {
        padding-block: 3rem;
    }

    .eg-ask-feature-title {
        font-size: 1rem;
    }
}

.eg-ask-tip {
    background-color: var(--eg-blue);
    padding-block: 0.75rem;
}

.eg-ask-tip-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: center;
}

.eg-ask-tip-star {
    flex: none;
    inline-size: 1.6rem;
    block-size: 1.6rem;
    color: var(--eg-light-blue);
}

.eg-ask-tip-text {
    margin: 0;
    font-family: "museo-sans", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--eg-white);
}

@media (max-width: 768px) {
    .eg-ask-tip-inner {
        flex-direction: column;
    }
}

.eg-bespoke-hero {
    background-color: var(--eg-azure-light);
    min-block-size: 28.45rem;
}

.eg-bespoke-hero > .layer-bg::after {
    background: linear-gradient(90deg, var(--eg-azure-light) 0%, rgba(227, 241, 243, 0.55) 32%, rgba(227, 241, 243, 0) 58%);
}

.eg-bespoke-hero > .layer-fg {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.eg-bespoke-hero-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
    padding-block: 3.95rem;
    max-inline-size: 28.15rem;
}

.eg-bespoke-hero-title {
    margin: 0;
    color: var(--eg-blue);
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.1;
}

.eg-bespoke-hero-title .accent {
    color: var(--eg-light-blue);
    font-weight: 900;
}

.eg-bespoke-hero-subtitle {
    margin: 0;
    color: var(--eg-black);
    font-size: 1.2rem;
    line-height: 1.4;
    max-inline-size: 28.15rem;
}

.eg-bespoke-hero-actions {
    display: flex;
    margin-block-start: 1rem;
}

.eg-bespoke-hero-actions .eg-btn {
    padding-inline: 2.5rem;
}

@media (max-width: 48rem) {
    .eg-bespoke-hero {
        min-block-size: 0;
    }

    .eg-bespoke-hero > .layer-bg::after {
        background: linear-gradient(90deg, var(--eg-azure-light) 0%, rgba(227, 241, 243, 0.75) 55%, rgba(227, 241, 243, 0.35) 100%);
    }

    .eg-bespoke-hero-title {
        font-size: 2.2rem;
    }

    .eg-bespoke-hero-content {
        padding-block: 2.5rem;
        max-inline-size: none;
    }
}

.eg-bespoke-marquee {
    --eg-marquee-duration: 30s;
    inline-size: 100%;
    overflow: hidden;
    background-color: var(--eg-blue);
    block-size: 4.1rem;
    display: flex;
    align-items: center;
}

.eg-bespoke-marquee-track {
    display: flex;
    inline-size: max-content;
    flex-wrap: nowrap;
    animation: eg-bespoke-marquee-scroll var(--eg-marquee-duration) linear infinite;
}

.eg-bespoke-marquee-item {
    padding-inline: 1.5rem;
    color: var(--eg-white);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

@media (max-width: 48rem) {
    .eg-bespoke-marquee {
        block-size: 3rem;
    }

    .eg-bespoke-marquee-item {
        font-size: 1.3rem;
    }
}

@keyframes eg-bespoke-marquee-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .eg-bespoke-marquee-track {
        animation: none;
    }
}

.eg-bespoke-timeline {
    background-color: var(--eg-light-blue);
    padding-block: 5rem 4.5rem;
}

.eg-bespoke-timeline .eg-container {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.eg-bespoke-timeline-title {
    margin: 0;
    text-align: center;
    color: var(--eg-blue);
    font-size: 2.2rem;
    line-height: 1.15;
    font-weight: 700;
}

.eg-bespoke-timeline-title strong {
    color: white;
    font-family: "museo-sans-display";
    font-weight: 800;
}

.eg-bespoke-timeline-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.eg-bespoke-timeline-steps::before {
    content: "";
    position: absolute;
    inset-block: 0rem;
    inset-inline-start: 50%;
    transform: translateX(-50%);
    inline-size: 1px;
    background-color: var(--eg-blue);
}

.eg-bespoke-timeline-step {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 254px;
    /* padding-block: 2.5rem; */
    align-items: center;
}

.eg-bespoke-timeline-step:last-child::after,
.eg-bespoke-timeline-step:first-child::after {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inline-size: 5px;
    background: var(--eg-light-blue);
    block-size: 50%;
    inset-inline-start: 50%;
    translate: -50%;
    z-index: 0;
    pointer-events: none;
}

.eg-bespoke-timeline-step:last-child::after {
    inset-block-end: 0;
    inset-block-start: auto;
}

.eg-bespoke-timeline-node {
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    transform: translate(-50%, -50%);
    inline-size: 1.6rem;
    block-size: 1.6rem;
    border-radius: 50%;
    background-color: var(--eg-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.eg-bespoke-timeline-node svg {
    inline-size: 0.9rem;
    block-size: 0.9rem;
}

.eg-bespoke-timeline-content {
    display: flex;
    flex-direction: column;
    max-inline-size: 22.3rem;
    inline-size: 100%;
}

.eg-bespoke-timeline-step--start .eg-bespoke-timeline-content {
    grid-column: 1;
}

.eg-bespoke-timeline-step--end .eg-bespoke-timeline-content {
    grid-column: 2;
    margin-inline: auto;
}

.eg-bespoke-timeline-number {
    font-size: 2.4rem;
    font-weight: 800;
    color: var(--eg-blue);
    line-height: 1.4;
    font-family: "museo-sans-display";
}

.eg-bespoke-timeline-step-title {
    margin: 0;
    color: var(--eg-white);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4;
}

.eg-bespoke-timeline-step-description {
    margin: 0;
    color: var(--eg-blue);
    font-size: 1.1rem;
    line-height: 1.4;
    margin-block-start: 0.5rem;
}

@media (max-width: 48rem) {
    .eg-bespoke-timeline {
        padding-block: 3rem;
    }

    .eg-bespoke-timeline-steps::before {
        inset-inline-start: 0.9rem;
    }

    .eg-bespoke-timeline-step {
        grid-template-columns: 1fr;
        padding-inline-start: 3rem;
    }

    .eg-bespoke-timeline-step--start .eg-bespoke-timeline-content,
    .eg-bespoke-timeline-step--end .eg-bespoke-timeline-content {
        grid-column: 1;
    }

    .eg-bespoke-timeline-node {
        inset-inline-start: 0.9rem;
    }
}

.eg-bespoke-logos {
    background-color: var(--eg-white);
    padding-block: 2.5rem;
}

.eg-bespoke-logos-viewport {
    overflow: hidden;
}

.eg-bespoke-logos-track {
    display: flex;
    inline-size: max-content;
    animation: eg-bespoke-logos-scroll 35s linear infinite;
}

.eg-bespoke-logos-set {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
    padding-inline-end: 3.5rem;
}

.eg-bespoke-logos-item {
    flex: none;
}

.eg-bespoke-logos-item img {
    display: block;
    block-size: 6.4rem;
    inline-size: auto;
    object-fit: contain;
    filter: grayscale(1);
    opacity: 0.7;
}

@keyframes eg-bespoke-logos-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .eg-bespoke-logos-track {
        animation: none;
    }
}

@media (max-width: 48rem) {
    .eg-bespoke-logos {
        padding-block: 1.5rem;
    }

    .eg-bespoke-logos-set {
        gap: 2rem;
        padding-inline-end: 2rem;
    }

    .eg-bespoke-logos-item img {
        block-size: 4rem;
    }
}

.eg-bespoke-contact {
    background-color: var(--eg-white);
    padding-block: 4.4rem 5rem;
}

.eg-bespoke-contact .eg-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.eg-bespoke-contact-title {
    margin: 0;
    text-align: center;
    color: var(--eg-blue);
    font-size: 1.6rem;
    line-height: 1.15;
    font-weight: 700;
}

.eg-bespoke-contact-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    inline-size: 100%;
    max-inline-size: 34rem;
}

.eg-bespoke-contact-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding-inline: 2.5rem;
    flex-grow: 1;
    justify-content: center;
    flex-basis: 0;
}

.eg-bespoke-contact-icon {
    inline-size: 1.1rem;
    block-size: 1.1rem;
    flex: none;
}

@media (max-width: 48rem) {
    .eg-bespoke-contact {
        padding-block: 3rem;
    }

    .eg-bespoke-contact-actions {
        flex-direction: column;
    }
}

.eg-bespoke-catalog .eg-cta-banner {
    background-color: var(--eg-blue);
}

.eg-bespoke-catalog .eg-cta-banner .title h2 {
    color: var(--eg-white);
}

.eg-bespoke-catalog .eg-cta-banner .title strong {
    color: var(--eg-light-blue);
}

.eg-bespoke-catalog .eg-cta-banner .text {
    color: var(--eg-white);
}

.eg-bespoke-catalog .eg-cta-banner .description {
    font-size: 0.9rem;
}

/* ======================================== */
/* EG BESPOKE SLIDER */
/* ======================================== */

section.eg-bespoke-slider {
    padding-block: 5rem;
    overflow: hidden;
    position: relative;
}

section.eg-bespoke-slider .swiper {
    overflow: visible;
}

section.eg-bespoke-slider .swiper {
    overflow: visible;
}

section.eg-bespoke-slider .swiper-slide {
    block-size: 14.25rem;
    inline-size: auto;
}

section.eg-bespoke-slider .img-wrapper {
    block-size: 100%;
}

section.eg-bespoke-slider .img-wrapper img {
    inline-size: auto;
    block-size: 100%;
}

section.eg-bespoke-slider .swiper-scrollbar {
    translate: -50% 50%;
    inset-block-end: 2.5rem;
    position: absolute;
    block-size: 0.4rem;
    inline-size: 100%;
    max-inline-size: 16.1rem;
    inset-inline-start: 50%;
}

section.eg-bespoke-slider .swiper-scrollbar-drag {
    background: var(--eg-light-blue);
}

@media (max-width: 48rem) {
    section.eg-bespoke-slider {
        padding-block: 3rem;
    }

    section.eg-bespoke-slider .swiper-scrollbar {
        inset-block-end: 1.5rem;
    }

    section.eg-bespoke-slider .swiper-slide {
        max-inline-size: 80vw;
    }
}

/* ======================================== */
/* HEADER EGLOO */
/* ======================================== */

header.egloo {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: 100;
}

#wrap {
    padding-block-start: var(--eg-header-height, 150px);
}

body:is(.home,
    .page-template-template-home,
    .page-template-template-vision,
    .page-template-template-servizi) #wrap {
    padding-block-start: 0;
}

@media (max-width: 991.98px) {
    #wrap {
        padding-block-start: var(--eg-header-height, 4.5rem);
    }
}

header.egloo ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

header.egloo ul a {
    color: inherit;
}

header.egloo .header-bar {
    position: relative;
    background-color: var(--eg-white);
    transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
}

body:is(.home, .page-template-template-home) header.egloo:not(.is-scrolled) .header-bar {
    background-color: rgb(255 255 255 / 0.6);
    backdrop-filter: blur(0.6rem);
}

body:is(.home, .page-template-template-home) header.egloo:not(.is-scrolled) .header-bar:where(:hover, :focus-within) {
    background-color: var(--eg-white);
}

header.egloo .header-bar .eg-container {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: center;
}

header.egloo .header-bar .logo {
    max-inline-size: 11.65rem;
}

header.egloo .header-bar .menu ul {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1;
}

header.egloo .header-bar .ctas {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

header.egloo .header-bar .btn-estimate {
    background-color: var(--eg-light-blue);
    border-radius: 999px;
    padding-block: 0.425rem;
    padding-inline: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    color: var(--eg-white);
    font-size: 0.8rem;
    line-height: 1.4;
    font-weight: 600;
    text-transform: uppercase;
}

header.egloo .header-bar .btn-estimate span.count[hidden] {
    display: none;
}

header.egloo .header-bar .btn-estimate span.count {
    position: absolute;
    inset-block-start: -0.7rem;
    inset-inline-end: 0;
    block-size: 1.2rem;
    min-inline-size: 1.2rem;
    background-color: var(--eg-blue);
    color: var(--eg-white);
    font-size: 0.6rem;
    line-height: 1.6;
    font-weight: 600;
    display: grid;
    place-items: center;
    border-radius: 999px;
}

header.egloo .header-bar .languages ul {
    display: flex;
}

header.egloo .header-bar .languages ul li:not(:last-child)::after {
    content: "|";
    margin-inline: 0.4em;
}

header.egloo .header-bar .submenu {
    position: absolute;
    inset-block-start: 100%;
    inset-inline: 0;
    background-color: var(--eg-white);
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows 0.3s ease;
    z-index: 1;
}

header.egloo .header-bar .submenu > div {
    min-block-size: 0;
}

header.egloo .header-bar .submenu:where(:hover, :focus-visible, :focus-within),
header.egloo .header-bar a:where(:hover, :focus-visible) + .submenu {
    grid-template-rows: 1fr;
}

header.egloo .header-bar .menu nav > ul > li > a {
    block-size: 5rem;
    display: grid;
    place-items: center;
    text-transform: uppercase;
}

header.egloo .header-bar .menu nav > ul > li > a:where(:hover, :focus-visible) {
    text-decoration: underline !important;
    text-decoration-color: #14B3B4 !important;
    text-underline-offset: 0.3em;
}

header.egloo .header-bar .submenu-content {
    border-block-start: 1px solid var(--eg-gray-medium);
}

header.egloo .header-bar .submenu-content .eg-container {
    padding-block: 2rem;
    display: grid;
    grid-template-columns: repeat(var(--submenu-cols, 2), 1fr);
    gap: 1rem;
}

header.egloo .header-bar .submenu-card {
    position: relative;
}

header.egloo .header-bar .submenu-card.submenu-card-dark .layer-bg::after {
    background-image: linear-gradient(to bottom, rgba(16, 38, 59, 0.8), rgba(16, 38, 59, 0.5));
}

header.egloo .header-bar .submenu-card.submenu-card-light .layer-bg::after {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.6));
}

header.egloo .header-bar .submenu-card-body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    min-block-size: 11.8rem;
}

header.egloo .header-bar .submenu-card-body p {
    margin-block-end: 0;
}

header.egloo .header-bar .submenu-card-title {
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 900;
    font-family: "museo-sans-display", "Mulish", sans-serif;
}

header.egloo .header-bar .eg-container[style*="--submenu-cols: 3"] .submenu-card-title,
header.egloo .header-bar .eg-container[style*="--submenu-cols: 4"] .submenu-card-title {
    font-size: 1.6rem;
}

header.egloo .header-bar .submenu-card-title::after {
    content: "";
    position: absolute;
    inset: 0;
}

header.egloo .header-bar .submenu-card-footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

header.egloo .header-bar .submenu-card-description {
    max-inline-size: 14rem;
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 700;
}

header.egloo .header-bar .submenu-card.submenu-card-dark {
    color: var(--eg-white);
}

header.egloo .header-bar .submenu-card.submenu-card-light {
    color: var(--eg-blue);
}

header.egloo .header-bar .submenu-card.submenu-card-light .submenu-card-description {
    color: var(--eg-light-blue);
}

header.egloo .header-bar .submenu-card.submenu-card-light .submenu-card-description p:last-child {
    margin-block-end: 0;
}

header.egloo .header-secondary {
    background-color: var(--eg-blue);
    color: var(--eg-white);
}

header.egloo .header-secondary ul.first-level {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.2rem;
    font-size: 0.7rem;
    line-height: 1;
    font-weight: 400;
}

header.egloo .header-secondary ul.first-level > li {
    padding-block: 0.9rem;
    position: relative;
}

header.egloo .header-secondary ul.first-level > li > a {
    padding-block: 0.9rem;
}

header.egloo .header-secondary ul a:where(:hover, :focus-visible) {
    text-decoration: underline !important;
}

header.egloo .header-secondary ul.second-level {
    text-wrap: nowrap;
    display: flex;
    flex-direction: column;
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: -1.15rem;
    background-color: #10263b;
    padding-block: 1rem;
    min-inline-size: calc(100% + 2.5rem);
}

header.egloo .header-secondary li:not(:has(a:hover), :focus-within, :hover) ul.second-level {
    display: none;
}

header.egloo .header-secondary ul.second-level a {
    padding-inline: 1.15rem;
    font-size: 0.7rem;
    line-height: 1.8;
}

header.egloo .header-breadcrumb {
    background-color: var(--eg-gray-light);
    font-size: 0.7rem;
    line-height: 1;
    padding-block: 0.9rem;
}

header.egloo .header-breadcrumb li {
    display: inline;
}

header.egloo .header-breadcrumb li:not(:last-child) ::after {
    content: "/";
    margin-inline: 0.5ch 0.4ch;
}

header.egloo .header-breadcrumb li:last-child {
    font-weight: 700;
}

.eg-preventivo .eg-interest .wpcf7-radio {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-block-start: 0.5rem;
}

.eg-preventivo .eg-interest .wpcf7-list-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
    padding: 0;
    border-radius: 0;
    text-transform: none;
}

.wpcf7-styled .eg-preventivo .eg-interest input[type="radio"],
.eg-preventivo .eg-interest input[type="radio"] {
    inline-size: 1.1rem;
    block-size: 1.1rem;
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    padding: 0;
    border-radius: 50%;
    background-color: var(--form-checkbox-bg);
}

.wpcf7-styled .eg-preventivo .eg-interest input[type="radio"]:checked {
    background-color: var(--eg-light-blue);
    background-image: var(--form-icon-check);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60%;
}

.eg-preventivo .eg-interest .wpcf7-list-item-label {
    font-weight: 600;
    font-size: 0.9rem;
}

.eg-preventivo .eg-interest .wpcf7-list-item-label::before,
.eg-preventivo .eg-interest .wpcf7-list-item-label::after {
    content: none;
}

.wpcf7-styled .eg-newsletter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.wpcf7-styled .eg-newsletter-pills .wpcf7-list-item {
    position: relative;
    margin: 0;
    padding: 0 !important;
    text-transform: none;
}

.wpcf7-styled .eg-newsletter-pills input {
    position: absolute !important;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    appearance: none;
}

.wpcf7-styled .eg-newsletter-pills .wpcf7-list-item-label {
    display: block;
    border: 1px solid var(--eg-gray-medium);
    border-radius: 9999px;
    padding-block: 0.4rem;
    padding-inline: 0.8rem;
    font-size: 0.8rem;
    transition: var(--transition-standard, 0.2s ease);
}

.wpcf7-styled .eg-newsletter-pills .wpcf7-list-item-label::before,
.wpcf7-styled .eg-newsletter-pills .wpcf7-list-item-label::after {
    content: none;
}

.wpcf7-styled .eg-newsletter-pills .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label {
    background-color: var(--eg-light-blue);
    border-color: var(--eg-light-blue);
    color: var(--eg-white);
}

.wpcf7-styled .eg-consulenza,
.wpcf7-styled .eg-call-scheduler {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.wpcf7-styled .eg-consulenza {
    position: relative;
}

.wpcf7-styled .eg-consulenza > p:has(.eg-btn[hidden]) {
    display: none;
}

.wpcf7-styled .eg-call-scheduler {
    padding-block-end: var(--form-gap-row);
}

.wpcf7-styled .eg-call-scheduler > p {
    margin-block-end: 0;
}

.wpcf7-styled .eg-consulenza-open {
    align-self: flex-start;
}

.wpcf7-styled .eg-consulenza-summary {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    background-color: var(--eg-azure-light);
    border-radius: 0.5rem;
    padding: 1rem;
    font-size: 0.8rem;
    line-height: 1.5;
}

.wpcf7-styled .eg-consulenza-summary p {
    margin-bottom: 0;
}

.wpcf7-styled .eg-consulenza-done {
    font-weight: 700;
    color: var(--eg-blue);
}

.wpcf7-styled .eg-consulenza-edit {
    align-self: flex-start;
    margin-block-start: 0.25rem;
    background: none;
    border: 0;
    padding: 0;
    color: var(--eg-light-blue);
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.wpcf7-styled .eg-call-days {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}

.wpcf7-styled .eg-call-slots {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
}

.wpcf7-styled .eg-call-slots-wrap {
    margin-block-start: 0.75rem;
}

.wpcf7-styled .eg-call-day,
.wpcf7-styled .eg-call-slot,
.eg-wizard .eg-pill {
    border: 1px solid var(--eg-gray-medium);
    background-color: var(--eg-white);
    border-radius: 0.5rem;
    padding-block: 0.5rem;
    padding-inline: 0.6rem;
    font-size: 0.8rem;
    color: var(--eg-blue);
    cursor: pointer;
    transition: var(--transition-standard, 0.2s ease);
}

.eg-wizard .eg-pill {
    padding-block: 0.3rem;
}

.wpcf7-styled .eg-call-day {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    text-align: center;
}

.wpcf7-styled .eg-call-day-name {
    font-weight: 700;
    text-transform: capitalize;
}

.wpcf7-styled .eg-call-day-date {
    font-size: 0.7rem;
    color: var(--eg-gray-dark);
}

.wpcf7-styled .eg-call-day:where(:hover, :focus-visible),
.wpcf7-styled .eg-call-slot:where(:hover, :focus-visible),
.eg-wizard .eg-pill:where(:hover, :focus-visible) {
    border-color: var(--eg-light-blue);
}

.wpcf7-styled .eg-call-day.is-active,
.wpcf7-styled .eg-call-slot.is-active,
.eg-wizard .eg-pill.is-active {
    background-color: var(--eg-light-blue);
    border-color: var(--eg-light-blue);
    color: var(--eg-white);
}

.wpcf7-styled .eg-call-day.is-active .eg-call-day-date {
    color: var(--eg-white);
}

@media (min-width: 576px) {
    .wpcf7-styled .eg-call-days {
        grid-template-columns: repeat(6, 1fr);
    }
    .wpcf7-styled .eg-call-slots {
        grid-template-columns: repeat(6, 1fr);
    }
}

.wpcf7-styled .eg-call .wpcf7-list-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.eg-wizard {
    flex-direction: column;
    border: 0;
    border-radius: 0.5rem;
    padding: 0;
    inline-size: min(92vw, 32rem);
    max-block-size: min(90dvh, 44rem);
    color: var(--eg-blue);
    background-color: var(--eg-white);
    box-shadow: 0 10px 40px rgba(16, 38, 59, 0.25);
    overflow: hidden;
}

.eg-wizard[open] {
    display: flex;
}

.eg-wizard::backdrop {
    background-color: rgba(16, 38, 59, 0.5);
    backdrop-filter: blur(2px);
}

.eg-wizard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 1rem;
    padding-inline: 1.5rem;
    border-block-end: 1px solid var(--eg-gray-medium);
}

.eg-wizard .eg-btn {
    padding-block: 0.5em;
    padding-inline: 1em;
}

.eg-wizard-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
}

.eg-wizard-close {
    flex-shrink: 0;
    inline-size: 1.6rem;
    block-size: 1.6rem;
    border: 0;
    border-radius: 50%;
    background-color: var(--eg-gray-light);
    font-size: 1.1rem;
    line-height: 1;
    color: var(--eg-blue);
    cursor: pointer;
}

.eg-wizard-body {
    padding-block: 1.25rem;
    padding-inline: 1.5rem;
    overflow-y: auto;
    flex-grow: 1;
}

.eg-wizard-q {
    margin: 0 0 0.5em;
    font-size: 1rem;
    font-weight: 700;
}

.eg-wizard-hint {
    margin: 0 0 0.75rem;
    font-size: 0.8rem;
    color: var(--eg-gray-dark);
}

.eg-wizard-input {
    inline-size: 100%;
    border: 1px solid var(--eg-gray-medium);
    border-radius: 0.5rem;
    background-color: var(--eg-gray-light);
    padding: 0.6rem;
    font-size: 0.85rem;
    color: var(--eg-blue);
}

.eg-wizard-input:disabled {
    opacity: 0.5;
}

.eg-wizard-step > .eg-pill {
    margin-block-start: 0.6rem;
}

.eg-wizard-cats {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.eg-wizard-cat-label {
    margin: 0 0 0.4rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--eg-gray-dark);
}

.eg-wizard-cat-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.eg-wizard-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 1rem;
    padding-inline: 1.5rem;
    border-block-start: 1px solid var(--eg-gray-medium);
}

.eg-wizard-next:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

header.egloo .header-toggle {
    display: none;
    justify-self: end;
    flex-direction: column;
    justify-content: center;
    gap: 0.3rem;
    inline-size: 2.2rem;
    block-size: 2.2rem;
    padding: 0.4rem;
    border: 0;
    background: none;
    cursor: pointer;
}

header.egloo .header-toggle span {
    display: block;
    block-size: 2px;
    inline-size: 100%;
    border-radius: 2px;
    background-color: var(--eg-blue);
}

header.egloo .header-actions {
    display: contents;
}

header.egloo .header-bar .btn-estimate-mobile {
    display: none;
}

.header-menu-dialog {
    margin: 0;
    max-inline-size: none;
    max-block-size: none;
    inline-size: 100%;
    block-size: 100dvh;
    border: 0;
    padding: 0;
    background-color: var(--eg-white);
    color: var(--eg-blue);
}

.header-menu-dialog[open] {
    display: flex;
    flex-direction: column;
    animation: header-menu-slide-in 0.3s ease;
}

.header-menu-dialog[open]::backdrop {
    animation: header-menu-backdrop-in 0.3s ease;
}

.header-menu-dialog[open].is-closing {
    animation: header-menu-slide-out 0.3s ease forwards;
}

.header-menu-dialog[open].is-closing::backdrop {
    animation: header-menu-backdrop-out 0.3s ease forwards;
}

.header-menu-dialog::backdrop {
    background-color: rgba(16, 38, 59, 0.5);
    backdrop-filter: blur(2px);
}

@keyframes header-menu-slide-in {
    from {
        transform: translateX(100%);
    }
}

@keyframes header-menu-backdrop-in {
    from {
        opacity: 0;
    }
}

@keyframes header-menu-slide-out {
    to {
        transform: translateX(100%);
    }
}

@keyframes header-menu-backdrop-out {
    to {
        opacity: 0;
    }
}

.header-menu-dialog-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 1rem;
    padding-inline: 1.25rem;
    border-block-end: 1px solid var(--eg-gray-medium);
}

.header-menu-dialog-bar .logo {
    max-inline-size: 9rem;
}

.header-menu-dialog-bar .logo svg {
    display: block;
    inline-size: 100%;
    block-size: auto;
}

.header-menu-close {
    inline-size: 2rem;
    block-size: 2rem;
    border: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background-color: var(--eg-gray-light);
    color: var(--eg-blue);
    cursor: pointer;
}

.header-menu-dialog-nav {
    flex-grow: 1;
    overflow-y: auto;
    padding-block: 1rem;
    padding-inline: 1.25rem;
}

.header-menu-dialog-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-menu-list > li > a,
.header-menu-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    inline-size: 100%;
    padding-block: 0.6rem;
    padding-inline: 0;
    border: 0;
    background: none;
    text-align: start;
    color: inherit;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
}

.header-menu-dialog .header-menu-list-secondary {
    margin-block-start: 0.8rem;
    padding-block-start: 0.8rem;
    border-block-start: 1px solid var(--eg-gray-medium);
}

.header-menu-list-secondary > li > a,
.header-menu-list-secondary .header-menu-trigger {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: none;
}

.header-menu-plus {
    position: relative;
    flex-shrink: 0;
    inline-size: 0.85rem;
    block-size: 0.85rem;
}

.header-menu-plus::before,
.header-menu-plus::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    background-color: currentColor;
    transform: translate(-50%, -50%);
}

.header-menu-plus::before {
    inline-size: 100%;
    block-size: 2px;
}

.header-menu-plus::after {
    inline-size: 2px;
    block-size: 100%;
    transition: transform 0.3s ease;
}

.header-menu-trigger[aria-expanded="true"] .header-menu-plus::after {
    transform: translate(-50%, -50%) scaleY(0);
}

.header-menu-collapse {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows 0.3s ease;
}

.header-menu-collapse > div {
    min-block-size: 0;
    overflow: hidden;
}

.header-menu-trigger[aria-expanded="true"] + .header-menu-collapse {
    grid-template-rows: 1fr;
}

.header-menu-sublist {
    padding-inline-start: 0.75rem !important;
    padding-block: 0.25rem 0.75rem;
    border-inline-start: 2px solid var(--eg-gray-medium);
}

.header-menu-sublist > li > a {
    display: block;
    padding-block: 0.35rem;
    color: var(--eg-light-blue);
    font-size: 0.85rem;
    font-weight: 600;
}

.header-menu-dialog-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 1rem;
    padding-inline: 1.25rem;
    border-block-start: 1px solid var(--eg-gray-medium);
}

.header-menu-dialog-footer .languages ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-menu-dialog-footer .languages li:not(:last-child)::after {
    content: "|";
    margin-inline: 0.4em;
}

@media (max-width: 991.98px) {
    header.egloo .header-bar .eg-container {
        grid-template-columns: 1fr auto;
    }

    header.egloo .header-bar .menu,
    header.egloo .header-bar .ctas,
    header.egloo .header-secondary,
    header.egloo .header-breadcrumb {
        display: none;
    }

    header.egloo .header-toggle {
        display: flex;
    }

    header.egloo .header-actions {
        display: flex;
        align-items: center;
        gap: 1rem;
        justify-self: end;
    }

    header.egloo .header-bar .btn-estimate-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        inline-size: 2rem;
        block-size: 2rem;
    }

    header.egloo .header-bar .btn-estimate-mobile svg {
        display: block;
        inline-size: 1rem;
        block-size: 1rem;
        translate: 10% 4%;
    }

    header.egloo .header-bar .btn-estimate-mobile span.count {
        translate: 31% 25%;
        scale: 0.8;
    }

    header.egloo .header-bar {
        padding-block: 1.2rem;
    }

    header.egloo .header-bar .logo {
        max-inline-size: 9rem;
    }

    header.egloo .header-bar .logo svg {
        display: block;
        inline-size: 100%;
        block-size: auto;
    }

    header.egloo .header-toggle {
        block-size: 1.6rem;
        inline-size: 1.6rem;
        padding: 0;
    }
}

section.eg-single .variant-counters.is-single {
    grid-template-columns: auto auto;
}

@media (max-width: 575.98px) {
    body.home .slider_05 .bottom-responsive {
        inset-block-start: calc(var(--eg-header-height, 4.5rem) + 1.5rem);
        inset-block-end: auto;
    }
}

@media (max-width: 991.98px) {
    body.home .first-section {
        min-block-size: 0;
        padding-block-end: calc(49vw + 3rem) !important;
        background-size: 100% auto;
        background-position: center bottom;
    }
}

.horizontal-scrolling-items {
    inline-size: max-content;
}

@media (max-width: 767.98px) {
    body.home .first-section {
        padding-block-end: calc(49vw + 3rem) !important;
        background-position: center bottom 1.5rem;
    }

    body.home .first-section .title-sub {
        font-size: 1.1rem;
        line-height: 1.35;
    }

    body.home .header-home::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.75) 45%, rgba(255, 255, 255, 0) 70%);
        pointer-events: none;
    }

    body.home .header-home .bottom-responsive,
    body.home .header-home .sub-intro {
        z-index: 2;
    }

    body.home .horizontal-scrolling-items {
        font-size: 1.6rem;
    }

    body.home #merchandise .title-sub {
        margin-block-end: 1.5rem !important;
    }

    body.home .home-clients {
        padding: 4rem 1rem !important;
    }

    body.home .home-clients .title-wrap {
        padding-block: 0 !important;
        margin-block-end: 1.5rem;
    }

    .big-title {
        font-size: 1.8rem !important;
        letter-spacing: 0 !important;
    }

    body.home .home-clients .cta-wrap {
        margin-block-start: 1.5rem !important;
    }
}

@media (max-width: 767.98px) {
    body.tax-categoria-solution #wrap > section:not(.p-0) {
        padding: 4rem 1rem !important;
        margin: 0 !important;
    }

    body.tax-categoria-solution #wrap > section :is(.container, .container-fluid, .row, [class*="col-"], .service-card, .service-card > .row > div) {
        padding-inline: 0 !important;
        margin-inline: 0 !important;
    }

    body.tax-categoria-solution #wrap > section :is(.container, .container-fluid, .row, [class*="col-"]):not(.case-box, .div-product, .prima-colonna, .seconda-colonna) {
        padding-block: 0 !important;
    }

    body.tax-categoria-solution .slider-intro img {
        display: block;
        margin: 0 auto 1.5rem;
        padding: 0 !important;
    }

    body.tax-categoria-solution .slider-intro h1 {
        font-size: 1.6rem !important;
        line-height: 1.1 !important;
    }

    body.tax-categoria-solution .slider-intro :is(.small-title, h1, .text-intro) {
        margin-block-end: 1.5rem !important;
    }

    body.tax-categoria-solution .slider-intro .text-intro:last-child {
        margin-block-end: 0 !important;
    }

    body.tax-categoria-solution .case-box + .case-box {
        margin-block-start: 1.5rem;
    }

    body.tax-categoria-solution .section-product .col-12.mb-5 {
        margin-block-end: 1.5rem !important;
    }

    body.tax-categoria-solution .section-product .medium-title {
        font-size: 1.3rem;
        margin: 0;
    }

    body.tax-categoria-solution .section-product .mb-5 + .div-product .prod {
        margin-block-start: -1.5rem;
    }

    body.tax-categoria-solution .section-product .div-product {
        margin-block-end: 1.5rem !important;
    }

    body.tax-categoria-solution .section-product .div-product:last-child {
        margin-block-end: 0 !important;
    }

    body.tax-categoria-solution .section-product .div-product .sub {
        margin-block-end: 0 !important;
    }

    body.tax-categoria-solution .section-intro-atlernative :is(img, .medium-title, .text-intro) {
        margin-block: 0 1.5rem !important;
    }

    body.tax-categoria-solution .section-intro-atlernative .btn-default {
        margin-block-start: 0 !important;
    }

    body.tax-categoria-solution .section-icon-list .big-title {
        margin-block-end: 1.5rem !important;
    }

    body.tax-categoria-solution .section-icon .bord-icon {
        margin-block-end: 1.5rem !important;
    }

    body.tax-categoria-solution .section-icon .text-intro {
        margin-block-end: 0 !important;
    }

    body.tax-categoria-solution .section-icon .row > [class*="col-"] {
        margin-block: 0 1.5rem !important;
    }

    body.tax-categoria-solution .section-icon .row > [class*="col-"]:last-child {
        margin-block-end: 0 !important;
    }

    body.tax-categoria-solution #wrap > section.p-0 .row > :is(.prima-colonna, .seconda-colonna) {
        padding: 4rem 1rem !important;
    }

    body.tax-categoria-solution #wrap > section.p-0 .medium-title {
        margin-block-end: 1.5rem !important;
    }

    body.tax-categoria-solution .section-contact .medium-title {
        margin-block-end: 1.5rem !important;
    }

    body.tax-categoria-solution .section-contact .font-weight-bold {
        margin-block-end: 0 !important;
    }
}

@media (max-width: 767.98px) {
    body:is(.page-template-template-clienti, .page-template-template-contatti) #wrap > section {
        padding: 4rem 1rem !important;
        margin: 0 !important;
    }

    body:is(.page-template-template-clienti, .page-template-template-contatti) #wrap > section :is(.container, .row, [class*="col-"]) {
        padding: 0 !important;
        margin-inline: 0 !important;
    }

    body:is(.page-template-template-clienti, .page-template-template-contatti) .slider-intro .small-title {
        margin-block-end: 1.5rem !important;
    }

    body.page-template-template-clienti #wrap > section:not(.slider-intro) .row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }

    body.page-template-template-clienti #wrap > section:not(.slider-intro) .row > [class*="col-"] {
        inline-size: auto;
        max-inline-size: none;
        margin: 0 !important;
    }

    body.page-template-template-clienti #wrap > section:not(.slider-intro) .row p {
        margin: 0;
    }

    body.page-template-template-contatti .section-icon .row > [class*="col-"] {
        margin-block: 0 1.5rem !important;
    }

    body.page-template-template-contatti .section-icon .row > [class*="col-"]:last-child {
        margin-block-end: 0 !important;
    }

    body.page-template-template-contatti .section-icon .bord-icon {
        margin-block-end: 1.5rem !important;
    }

    body.page-template-template-contatti .section-icon .text-intro {
        margin-block-end: 0 !important;
    }

    body.page-template-template-contatti #wrap > section .mb-2 {
        margin-block-end: 1.5rem !important;
    }

    body.page-template-template-contatti .section-contact .medium-title {
        margin-block-end: 1.5rem !important;
    }

    body.page-template-template-contatti .section-contact .mt-4 {
        margin-block-start: 0 !important;
    }
}

@media (max-width: 767.98px) {
    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro:not(.bg-gradient) {
        padding-block: 4rem !important;
        padding-inline: 1rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro:not(.bg-gradient) > .container {
        padding: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro:not(.bg-gradient) .row {
        margin-inline: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro:not(.bg-gradient) .row > [class*="col-"] {
        padding-inline: 0 !important;
        padding-block: 0 !important;
        min-block-size: 0 !important;
        block-size: auto !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro:not(.bg-gradient) .small-title,
    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro:not(.bg-gradient) .medium-title,
    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro:not(.bg-gradient) .text-intro {
        margin-block-end: 1.5rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro.py-7:not(.bg-gradient) .text-intro {
        margin-block-end: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro:not(.bg-gradient) .col-12.pb-4x {
        margin-block-end: 1.5rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .slider-intro.pt-6.pb-7 .col-12.text-center.pt-3 a.btn-default {
        margin-block-start: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-icon {
        padding-block: 4rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-icon .row > [class*="col-"] {
        margin-block-end: 1.5rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-icon .row > [class*="col-"]:last-child {
        margin-block-end: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .container:has(.swiper-brand) {
        padding-block: 4rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .container:has(.swiper-brand) .medium-title {
        margin-block-end: 1.5rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .container:has(.swiper-brand) .col-12.mt-3 {
        margin-block-start: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .container:has(.swiper-brand) .col-12.mt-5 {
        margin-block-start: 1.5rem !important;
        margin-block-end: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-contact {
        padding-block: 4rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-contact .medium-title {
        margin-block-end: 1.5rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-contact .small-title {
        margin-block-end: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-contact .col-lg-8 {
        margin-block-start: 1.5rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-icon .bord-icon {
        margin-block-end: 1.5rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-icon .text-intro {
        margin-block-end: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-contact .col-lg-8 {
        padding-inline: 1rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-intro-atlernative {
        padding: 4rem 1rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-intro-atlernative :is(.container, .row, [class*="col-"]) {
        padding: 0 !important;
        margin-inline: 0 !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-intro-atlernative :is(.medium-title, .text-intro) {
        margin-block: 0 1.5rem !important;
    }

    body:is(.page-template-template-alisei-php, .page-template-template-irtex-php, .page-template-template-promogift-php, .page-template-template-promoline-php) .section-intro-atlernative .btn-default {
        margin-block-start: 0 !important;
    }

    footer {
        padding-block: 3rem !important;
    }

    footer .ccontainer-fluid {
        padding-block: 0 !important;
    }

    footer .row.align-items-center {
        padding-block: 0 !important;
    }
}

/* ======================================== */
/* SU MISURA - MOBILE SPACING */
/* ======================================== */

@media (max-width: 767.98px) {
    body.page-template-bespoke .eg-bespoke-hero-content {
        padding-block: 4rem;
    }

    body.page-template-bespoke .eg-bespoke-hero-actions {
        margin-block-start: 0;
    }

    body.page-template-bespoke section.eg-bespoke-slider {
        padding-block: 4rem;
    }

    body.page-template-bespoke section.eg-bespoke-timeline {
        padding-block: 4rem;
    }

    body.page-template-bespoke .eg-bespoke-timeline .eg-container {
        gap: 1.5rem;
    }

    body.page-template-bespoke .eg-bespoke-timeline-steps {
        gap: 1.5rem;
    }

    body.page-template-bespoke section.eg-bespoke-contact {
        padding-block: 4rem;
    }

    body.page-template-bespoke .eg-bespoke-contact-actions {
        gap: 1.5rem;
    }

    body.page-template-bespoke section.form-wrapper {
        padding-block: 4rem;
        gap: 1.5rem;
    }

    body.page-template-bespoke section.form-wrapper hgroup {
        gap: 1.5rem;
    }

    body.page-template-bespoke .eg-bespoke-catalog section.eg-cta-banner {
        padding-block: 4rem;
    }

    body.page-template-bespoke .eg-bespoke-catalog section.eg-cta-banner .eg-container {
        gap: 1.5rem;
    }

    body.page-template-bespoke .eg-bespoke-catalog section.eg-cta-banner .text {
        gap: 1.5rem;
    }
}
