/*
Theme Name: Villa Selvatico Blocks
Theme URI: https://villa-selvatico.local
Author: Villa Selvatico
Description: Child block theme for Villa Selvatico, built on Twenty Twenty-Five and the WordPress Site Editor.
Template: twentytwentyfive
Version: 0.1.5
Text Domain: villa-selvatico-blocks
*/

/* Browser-ready global layer ported from the Next.js src/app/globals.css. */
:root,
.editor-styles-wrapper {
    --black: #000;
    --background: #000;
    --text: #fff;
    --white: #fff;
    --font-sans: "Carmen Sans", sans-serif;
    --font-carmen-sans: "Carmen Sans", sans-serif;
    --text-h1: clamp(3rem, 5.5vw, 5.5rem);
    --text-h2: clamp(2.5rem, 4.5vw, 4.5rem);
    --text-h3: clamp(2rem, 3.5vw, 3.5rem);
    --text-h4: clamp(1.625rem, 2.5vw, 2.5rem);
    --text-h5: clamp(1.375rem, 1.8vw, 1.75rem);
    --text-h6: clamp(1.125rem, 1.35vw, 1.375rem);
    --text-p: 1rem;
    --text-small: 0.889rem;
    --text-caption: 0.79rem;
    --text-display: clamp(3.5rem, 9vw, 8.25rem);
    --text-hero: clamp(3rem, 7.2vw, 6.5rem);
    --text-section: clamp(2.35rem, 5.2vw, 4.9rem);
    --text-title: clamp(1.95rem, 3.6vw, 3.35rem);
    --text-lead: clamp(1.35rem, 2.35vw, 2.25rem);
    --text-body-lg: clamp(1.08rem, 1.35vw, 1.35rem);
    --animation-delay: 0;
    font-size: 16px;
}

html {
    scroll-behavior: smooth;
}

body,
.editor-styles-wrapper,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
div,
a,
input,
textarea,
button {
    font-family: var(--font-carmen-sans);
}

* {
    text-box-trim: trim-end;
    trim-text-box: end;
}

*:where(:not(svg, svg *)) {
    border-radius: 0 !important;
}

button,
[role="button"],
input[type="button"],
input[type="reset"],
input[type="submit"],
.btn,
.wp-element-button,
.wp-block-button,
.wp-block-button__link,
.wp-block-button[class*="is-style-"] .wp-block-button__link {
    border-radius: 0 !important;
}

:where(a, button, input, textarea, select) {
    outline: none;
}

:where(a, button, input, textarea, select):focus-visible {
    border-radius: 0;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35);
    outline: 2px solid #fff;
    outline-offset: 4px;
}

.skip-link {
    background: #fff;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
    color: #000;
    font-weight: 600;
    left: 50%;
    padding: 0.75rem 1.25rem;
    position: fixed;
    top: -100%;
    transform: translateX(-50%);
    transition: top 180ms ease, box-shadow 180ms ease;
    z-index: 100000;
}

.skip-link:focus-visible {
    top: 1rem;
}

.builder-rich-text {
    font-size: 1rem;
    line-height: 1.75;
}

.builder-rich-text > * + * {
    margin-top: 1rem;
}

.builder-rich-text h2,
.builder-rich-text h3,
.builder-rich-text h4 {
    font-family: var(--font-carmen-sans);
    font-weight: 300;
    line-height: 1.25;
}

.builder-rich-text h2 {
    font-size: clamp(2.25rem, 4vw, 3rem);
}

.builder-rich-text h3 {
    font-size: clamp(1.875rem, 3vw, 2.25rem);
}

.builder-rich-text h4 {
    font-size: clamp(1.5rem, 2.5vw, 1.875rem);
}

.builder-rich-text ul,
.builder-rich-text ol {
    padding-left: 1.25rem;
}

.builder-rich-text ul {
    list-style: disc;
}

.builder-rich-text ol {
    list-style: decimal;
}

.builder-rich-text a {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.circle-reveal-banner {
    min-height: 100vh;
}

@media (min-width: 541px) {
    .circle-reveal-banner {
        min-height: var(--circle-reveal-min-height, 70vh);
    }
}

@media (max-width: 540px) {
    :root,
    .editor-styles-wrapper {
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .reactbits-shiny-text,
    .experience-orbit {
        animation: none !important;
    }

    .pixel-reveal-layer {
        display: none !important;
    }
}
