/** Variables */
:root {
    --color-pure-white: #FFFFFF;
    --color-pure-black: #000000;
    --color-white: #FBFAF6;
    --color-black: #0A0C06;
    --color-gray-100: #E5E4E2;
    --color-gray-200: #CAC9C5;
    --color-gray-300: #A8A7A0;
    --color-gray-400: #85847C;
    --color-gray-500: #6B6A61;
    --color-gray-600: #010101;
    --color-gray-700: #454540;
    --color-gray-800: #3A3935;
    --color-gray-900: #32322F;
    --color-sand: #A08E7A;
    --color-accent: #ED1C24;
    --color-primary: #ED1C24;
    --color-secondary: var(--color-sand);
    --color-success: var(--color-green);
    --color-info: var(--color-cyan);
    --color-warning: var(--color-yellow);
    --color-danger: var(--color-red);
    --color-light: var(--color-gray-100);
    --color-dark: var(--color-gray-800);

    --spacer-xxl: clamp(120px, calc(var(--navigation-height, 80px) * 1.05), 4.25em);
    --spacer-xl: clamp(100px, calc(var(--navigation-height, 80px) * 0.9), 4em);
    --spacer-lg: clamp(80px, calc(var(--navigation-height, 80px) * 0.75), 3em);
    --spacer-md: clamp(60px, calc(var(--navigation-height, 80px) * 0.5), 2.5em);
    --spacer-sm: clamp(40px, calc(var(--navigation-height, 80px) * 0.25), 2em);
    --spacer-xs: clamp(20px, calc(var(--navigation-height, 80px) * 0.15), 1.5em);
    --spacer-xxs: clamp(16px, calc(var(--navigation-height, 80px) * 0.05), 1em);
    --spacer-navigation: var(--navigation-height, 80px);
    --spacer-section: 1.6rem;

    --wp--preset--spacing--80: var(--spacer-xxl, 120px) !important;
    --wp--preset--spacing--70: var(--spacer-xl, 100px) !important;
    --wp--preset--spacing--60: var(--spacer-lg, 80px) !important;
    --wp--preset--spacing--50: var(--spacer-md, 60px) !important;
    --wp--preset--spacing--40: var(--spacer-sm, 40px) !important;
    --wp--preset--spacing--30: var(--spacer-xs, 20px) !important;
    --wp--preset--spacing--20: var(--spacer-xxs, 16px) !important;
}

/** Navigation */
body.block-builder nav.navigation--landing{
    position: sticky
}

body.block-builder nav.navigation--landing:not(:has([data-navigation-main])) .brand{
    top: unset;
    margin-top: 2rem
}

body.block-builder nav.navigation--landing .brand{
    display: block;
    position: relative;
    left: unset;
    translate: 0 0;
}

@media (min-width: 1200px) {
    body.block-builder nav.navigation--landing [data-navigation-main]{
        min-height: clamp(80px, 5vw, 90px);
    }
}

/* 
body.block-builder:has(nav[data-navigation] .navigation--landing) #app-viewport,
body.block-builder:not(:has(nav[data-navigation] nav[style*="position:fixed;"])) #app-viewport{
    padding-block-start: var(--navigation-height, 80px);
} */

/** Gutenberg Styles */
body .has-small-font-size{
    font-size: 14px !important;
}

@media (min-width: 768px) {
    body .has-small-font-size{
        font-size: clamp(14px, 3vw, 16px) !important;
    }
}

body .has-medium-font-size{
    font-size: 16px !important;
}

@media (min-width: 768px) {
    body .has-medium-font-size{
        font-size: clamp(18px, 5vw, 24px) !important;
    }
}

body .has-large-font-size{
    font-size: 24px !important;
}

@media (min-width: 768px) {
    body .has-large-font-size{
        font-size: clamp(24px, 10vw, 32px) !important;
    }
}

body .has-x-large-font-size{
    font-size: 32px !important;
}

@media (min-width: 768px) {
    body .has-x-large-font-size{
        font-size: clamp(32px, 15vw, 48px) !important;
    }
}

:root :where(.wp-element-button, .wp-block-button__link){
    font-size: clamp(16px, 1em, 48px) !important;
}

.is-horizontal-align-center{
    justify-content: center;
}

/** Core::Image */
body .is-layout-flow > figure.wp-block-image.size-full{
    width: 100%;
    max-width: 100%;
    margin-left: 0;
}

/** Core::Components */
.wp-block-list{
    font-size: 16px;
}

.wp-block-list.list.checklist{
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.wp-block-list.list.checklist > li{
    display: flex;
    align-items: flex-start;
    gap: .5ch;
    font-size: var(--font-size, 1em);
}

.wp-block-list.list.checklist > li:before{
    content: '✓';
}

@media (min-width: 768px) {
    .wp-block-list.list.checklist{
        flex-direction: row;
    }
}

@media (min-width: 768px) {
    .wp-block-list{
        font-size: clamp(14px, 1vw, 16px);
    }
}

.wp-block-table{
    font-size: 16px;
}

@media (min-width: 768px) {
    .wp-block-table{
        font-size: clamp(14px, 1vw, 16px);
    }
}

/** Core::Image */
figure.wp-block-image.size-full{
    margin-left: 0;
    width: 100%;
    max-width: 100%;
}

figure.wp-block-image.size-full img{
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

figure.wp-block-image.feb-has-aspect-ratio{
    display: block;
}

figure.wp-block-image.feb-has-aspect-ratio > a{
    display: block;
    width: 100%;
    height: 100%;
}

figure.wp-block-image.feb-has-aspect-ratio img{
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-position: center;
}

/** Core::Columns */
.wp-block-columns.is-style-columns-reverse-mobile{
    @media (max-width: 768px) {
        flex-direction: column-reverse !important;
    }
}

/** Core::Details (accordion FAQ — allineato a components/_accordions.scss) */
.wp-block-details {
    box-sizing: border-box;
    margin: 0;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--color-gray-200, #cac9c5);
    border-radius: 0;
    color: currentColor;
}

.wp-block-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5ch;
    padding-block: 1.5em;
    padding-inline: 1em;
    color: currentColor;
    font-size: clamp(14px, 1vw, 16px);
    font-weight: 300;
    letter-spacing: 0;
    line-height: 1.4;
    text-transform: none;
    list-style: none;
    cursor: pointer;
    transition: font-weight 0.2s ease;
}

.wp-block-details summary::-webkit-details-marker {
    display: none;
}

.wp-block-details summary::marker {
    content: '';
}

.wp-block-details summary::after {
    content: '';
    display: block;
    flex-shrink: 0;
    aspect-ratio: 1 / 1;
    margin-left: 0.5ch;
    height: 1.25em;
    width: 1.25em;
    translate: 0 0.1em;
    rotate: 0deg;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3E%3C/svg%3E") center / contain no-repeat;
    transition:
        translate 0.3s cubic-bezier(0.86, 0, 0.07, 1),
        rotate 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}

.wp-block-details[open] > summary {
    font-weight: 500;
}

.wp-block-details[open] > summary::after {
    translate: 0 0.1em;
    rotate: 45deg;
}

.wp-block-details > :not(summary) {
    padding-block: 1em;
    padding-inline: 1em 0;
    color: currentColor;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.5;
}

.wp-block-details > :not(summary) p {
    margin: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/** Bug Fix **/
a:where(:not(.wp-element-button)){
    text-decoration: none;
    cursor: pointer;
}