/*
Theme Name: Schiofix Theme
Theme URI: https://schiofix.local
Author: Codex
Description: Tema custom per Schiofix, pensato per il pronto intervento locale.
Version: 0.1.0
Text Domain: schiofix-theme
*/

:root {
    --sf-cream: #f7f2ea;
    --sf-paper: #fffdf9;
    --sf-white: #ffffff;
    --sf-ink: #111114;
    --sf-muted: #5d5d63;
    --sf-line: rgba(17, 17, 20, 0.1);
    --sf-red: #ff5630;
    --sf-red-deep: #d7351a;
    --sf-yellow: #ffc72c;
    --sf-gold: #ffdf76;
    --sf-blue: #dceaff;
    --sf-sky: #f1f6ff;
    --sf-green: #e6fff0;
    --sf-shadow: 0 28px 70px rgba(19, 21, 30, 0.11);
    --sf-shadow-soft: 0 18px 48px rgba(19, 21, 30, 0.07);
    --sf-radius-xl: 32px;
    --sf-radius-lg: 24px;
    --sf-radius-md: 18px;
    --sf-radius-sm: 14px;
    --sf-max: 1220px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--sf-ink);
    background:
        radial-gradient(circle at 12% 12%, rgba(255, 199, 44, 0.42), transparent 24%),
        radial-gradient(circle at 84% 16%, rgba(255, 86, 48, 0.22), transparent 26%),
        linear-gradient(180deg, #f8f4ee 0%, #eef5ff 56%, #fff7eb 100%);
    font-family: "Manrope", "Trebuchet MS", sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

body.home,
body.page-accedi,
body.post-type-archive-schx_professional,
body.error404 {
    background:
        radial-gradient(circle at 14% 10%, rgba(255, 216, 70, 0.72) 0%, rgba(255, 194, 62, 0.28) 22%, transparent 42%),
        radial-gradient(circle at 88% 8%, rgba(255, 72, 58, 0.76) 0%, rgba(255, 72, 58, 0.26) 24%, transparent 48%),
        radial-gradient(circle at 76% 78%, rgba(255, 209, 72, 0.28) 0%, transparent 30%),
        linear-gradient(135deg, #ffd84b 0%, #ffb34a 36%, #ff7b3f 66%, #ff4338 100%);
    background-attachment: fixed;
}

body.home .sf-site-header,
body.page-accedi .sf-site-header,
body.post-type-archive-schx_professional .sf-site-header,
body.error404 .sf-site-header {
    position: relative;
    background: rgba(16, 22, 33, 0.18);
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti),
body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti),
body.page-eliminazione-dati-meta:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) {
    background:
        radial-gradient(circle at 14% 10%, rgba(255, 216, 70, 0.72) 0%, rgba(255, 194, 62, 0.28) 22%, transparent 42%),
        radial-gradient(circle at 88% 8%, rgba(255, 72, 58, 0.76) 0%, rgba(255, 72, 58, 0.26) 24%, transparent 48%),
        radial-gradient(circle at 76% 78%, rgba(255, 209, 72, 0.28) 0%, transparent 30%),
        linear-gradient(135deg, #ffd84b 0%, #ffb34a 36%, #ff7b3f 66%, #ff4338 100%);
    background-attachment: fixed;
}

body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-site-header,
body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-site-header,
body.page-eliminazione-dati-meta:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-site-header {
    position: relative;
    background: rgba(16, 22, 33, 0.18);
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-header-inner,
body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-header-inner,
body.page-eliminazione-dati-meta:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-header-inner {
    padding: 10px 0 8px;
    min-height: auto;
}

body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-brand-logo,
body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-brand-logo,
body.page-eliminazione-dati-meta:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-brand-logo {
    width: clamp(320px, 26vw, 420px);
    height: 96px;
    object-fit: cover;
    object-position: center 42%;
}

body.home .sf-header-inner,
body.page-accedi .sf-header-inner,
body.post-type-archive-schx_professional .sf-header-inner,
body.error404 .sf-header-inner {
    padding: 10px 0 8px;
    min-height: auto;
}

body.home .sf-brand-logo,
body.page-accedi .sf-brand-logo,
body.post-type-archive-schx_professional .sf-brand-logo,
body.error404 .sf-brand-logo {
    width: clamp(320px, 26vw, 420px);
    height: 96px;
    object-fit: cover;
    object-position: center 42%;
}

body.home .sf-device-logo {
    width: clamp(228px, 22vw, 310px);
}

#accesso {
    scroll-margin-top: 110px;
}

body.home .sf-footer-logo,
body.page-accedi .sf-footer-logo {
    width: clamp(196px, 19vw, 250px);
}

body.home .sf-content-panel,
body.home .sf-service-card,
body.home .sf-step-card,
body.home .sf-directory-card,
body.post-type-archive-schx_professional .sf-content-panel,
body.post-type-archive-schx_professional .sf-directory-panel,
body.post-type-archive-schx_professional .sf-directory-card,
body.error404 .sf-content-panel,
body.error404 .sf-content-block,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-content-panel,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-content-block,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .schiofix-empty {
    color: rgba(255, 255, 255, 0.98);
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.12), transparent 24%),
        radial-gradient(circle at left center, rgba(255, 86, 48, 0.09), transparent 28%),
        linear-gradient(180deg, rgba(20, 26, 38, 0.96) 0%, rgba(27, 34, 49, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 28px 70px rgba(9, 12, 20, 0.24);
}

body.home .sf-service-card p,
body.home .sf-step-card p,
body.home .sf-card-role,
body.home .sf-directory-card-copy,
body.home .sf-directory-card-score,
body.post-type-archive-schx_professional .sf-content-lead,
body.post-type-archive-schx_professional .sf-card-role,
body.post-type-archive-schx_professional .sf-directory-card-copy,
body.post-type-archive-schx_professional .sf-directory-card-score,
body.error404 .sf-content-lead,
body.error404 .sf-content-block p,
body.error404 .sf-content-block li,
body.error404 .sf-entry-content p,
body.error404 .sf-entry-content li,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-content-lead,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-content-block p,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-content-block li,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-entry-content p,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-entry-content li,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .schiofix-empty {
    color: rgba(255, 255, 255, 0.74);
}

body.home .sf-service-card h3,
body.home .sf-step-card h3,
body.home .sf-directory-card-body h2,
body.home .sf-directory-card-body h3,
body.home .sf-directory-card-score strong,
body.post-type-archive-schx_professional .sf-content-title,
body.post-type-archive-schx_professional .sf-directory-card-body h2,
body.post-type-archive-schx_professional .sf-directory-card-body h3,
body.post-type-archive-schx_professional .sf-directory-card-score strong,
body.error404 .sf-content-title,
body.error404 .sf-content-block h1,
body.error404 .sf-content-block h2,
body.error404 .sf-entry-content h1,
body.error404 .sf-entry-content h2,
body.error404 .sf-entry-content h3,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-content-title,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-content-block h2,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .entry-title,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-entry-content h1,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-entry-content h2,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-entry-content h3 {
    color: rgba(255, 255, 255, 0.98);
}

body.home .sf-service-meta,
body.post-type-archive-schx_professional .sf-directory-total,
body.error404 .sf-eyebrow,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-eyebrow {
    color: rgba(255, 255, 255, 0.76);
}

body.home .sf-service-cta,
body.post-type-archive-schx_professional .sf-chip-link,
body.error404 .sf-nav-link,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-nav-link {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
}

body.error404 .sf-profile-link {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.92);
}

body.home .sf-service-cta .sf-service-copy span,
body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-entry-content a {
    color: rgba(255, 255, 255, 0.78);
}

body.home .sf-directory-card-media,
body.post-type-archive-schx_professional .sf-directory-card-media {
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.16), rgba(255, 199, 44, 0.22));
}

body.home .sf-hero-actions-services .sf-service-cta {
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.14), transparent 28%),
        linear-gradient(180deg, rgba(20, 26, 38, 0.96) 0%, rgba(27, 34, 49, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 36px rgba(11, 14, 23, 0.18);
}

body.home .sf-hero-actions-services .sf-service-cta strong,
body.home .sf-hero-actions-services .sf-service-cta .sf-service-copy span {
    color: rgba(255, 255, 255, 0.9);
}

body.home .sf-metric-card,
body.home .sf-device-search,
body.home .sf-mini-service,
body.home .sf-available-card {
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.12), transparent 32%),
        linear-gradient(180deg, rgba(20, 26, 38, 0.96) 0%, rgba(27, 34, 49, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 36px rgba(11, 14, 23, 0.16);
    color: rgba(255, 255, 255, 0.92);
}

body.home .sf-metric-card span,
body.home .sf-device-search,
body.home .sf-device-headline span,
body.home .sf-mini-service span,
body.home .sf-available-copy span {
    color: rgba(255, 255, 255, 0.74);
}

body.home .sf-device-search-badge {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
}

body.home .sf-device-search .sf-app-search-label {
    color: rgba(255, 255, 255, 0.58);
}

body.home .sf-device-search-items span {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.84);
}

body.home .sf-device {
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 199, 44, 0.16), transparent 20%),
        linear-gradient(180deg, rgba(20, 26, 38, 0.94) 0%, rgba(27, 34, 49, 0.98) 100%);
}

body.home .sf-hero-copy {
    color: rgba(255, 255, 255, 0.96);
    background:
        radial-gradient(circle at top right, rgba(255, 86, 48, 0.18), transparent 30%),
        radial-gradient(circle at left center, rgba(255, 199, 44, 0.14), transparent 32%),
        linear-gradient(180deg, rgba(20, 26, 38, 0.96) 0%, rgba(27, 34, 49, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 28px 70px rgba(9, 12, 20, 0.24);
}

body.home .sf-hero-title,
body.home .sf-hero-lead {
    color: rgba(255, 255, 255, 0.96);
}

body.home .sf-hero-lead {
    color: rgba(255, 255, 255, 0.74);
}

.sf-stage-note {
    position: relative;
    margin-top: 18px;
    padding: 18px 20px;
    border-radius: 24px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.16), transparent 28%),
        linear-gradient(180deg, rgba(22, 29, 41, 0.98) 0%, rgba(16, 22, 33, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 40px rgba(11, 14, 23, 0.16);
}

.sf-stage-note::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, rgba(255, 199, 44, 0.98) 0%, rgba(255, 106, 64, 0.98) 100%);
}

.sf-stage-note strong {
    display: block;
    color: rgba(255, 255, 255, 0.96);
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.sf-stage-note p {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.96rem;
    line-height: 1.58;
}

.sf-stage-note-hero {
    margin-bottom: 4px;
}

.sf-stage-note-inline {
    margin-top: 16px;
}

body.home .sf-metric-card .sf-metric-copy-label {
    font-size: clamp(1.14rem, 1.7vw, 1.48rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

body.home .sf-device-shell {
    background:
        radial-gradient(circle at top right, rgba(255, 92, 72, 0.12), transparent 28%),
        radial-gradient(circle at bottom left, rgba(255, 199, 44, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(22, 29, 41, 0.98) 0%, rgba(16, 22, 33, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), var(--sf-shadow-soft);
}

body.home .sf-device-time,
body.home .sf-device-headline strong,
body.home .sf-device-available h3,
body.home .sf-device-search strong,
body.home .sf-mini-service strong,
body.home .sf-available-copy strong {
    color: rgba(255, 255, 255, 0.94);
}

body.home .sf-device-dots span {
    background: rgba(255, 255, 255, 0.18);
}

body.home .sf-directory-card .sf-profile-link,
body.post-type-archive-schx_professional .sf-directory-card .sf-profile-link {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.88);
}

body.home .sf-hero-copy > .sf-hero-actions .sf-nav-link {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(17, 17, 20, 0.08);
    color: var(--sf-text) !important;
    box-shadow: 0 16px 28px rgba(11, 14, 23, 0.08);
}

body.home .sf-hero-copy > .sf-hero-actions .sf-nav-link:hover {
    background: rgba(255, 255, 255, 0.92);
}

body.page:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-site-header .sf-nav-link {
    background: rgba(255, 255, 255, 0.62);
    border-color: transparent;
    color: var(--sf-muted);
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

button,
input,
select,
textarea {
    font: inherit;
}

.sf-site-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.sf-site-shell > main {
    flex: 1 0 auto;
}

.sf-site-header {
    position: sticky;
    top: 0;
    z-index: 30;
    backdrop-filter: blur(18px);
    background: rgba(255, 253, 249, 0.76);
    border-bottom: 1px solid rgba(17, 17, 20, 0.06);
}

.sf-header-inner,
.sf-footer-inner,
.sf-page-shell,
.sf-section,
.sf-content-shell {
    width: min(calc(100% - 32px), var(--sf-max));
    margin: 0 auto;
}

.sf-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 16px 0;
}

.sf-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.sf-brand-logo {
    width: clamp(190px, 20vw, 290px);
    height: auto;
    display: block;
    filter: drop-shadow(0 12px 24px rgba(255, 86, 48, 0.14));
}

.sf-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sf-brand-title {
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1;
}

.sf-brand-subtitle {
    color: var(--sf-muted);
    font-size: 0.88rem;
    line-height: 1.1;
}

.sf-header-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.sf-nav-link,
.sf-nav-button,
.sf-service-cta,
.sf-chip-link,
.sf-button,
.sf-profile-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    border-radius: 999px;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.sf-nav-link {
    padding: 0 16px;
    color: var(--sf-muted);
    background: rgba(255, 255, 255, 0.6);
}

.sf-nav-button,
.sf-button-primary {
    padding: 0 18px;
    background: linear-gradient(135deg, var(--sf-red) 0%, #ff7e38 100%);
    color: var(--sf-white);
    box-shadow: 0 18px 32px rgba(255, 86, 48, 0.2);
}

.sf-button-secondary {
    padding: 0 18px;
    background: rgba(17, 17, 20, 0.9);
    color: var(--sf-white);
    box-shadow: 0 18px 32px rgba(17, 17, 20, 0.18);
}

.sf-nav-link:hover,
.sf-nav-button:hover,
.sf-service-cta:hover,
.sf-chip-link:hover,
.sf-button:hover,
.sf-profile-link:hover {
    transform: translateY(-2px);
}

.sf-page-shell {
    padding: 34px 0 80px;
}

body.home .sf-page-shell {
    padding-top: 24px;
}

.sf-home-verify {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    margin-bottom: 24px;
    padding: 28px 30px;
    border-radius: var(--sf-radius-xl);
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.18), transparent 26%),
        radial-gradient(circle at left center, rgba(255, 86, 48, 0.12), transparent 28%),
        rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.72);
    box-shadow: var(--sf-shadow);
}

.sf-home-verify-invalid {
    background:
        radial-gradient(circle at top right, rgba(255, 183, 171, 0.2), transparent 24%),
        radial-gradient(circle at left center, rgba(255, 86, 48, 0.12), transparent 28%),
        rgba(255, 248, 246, 0.92);
}

.sf-home-verify-copy {
    display: grid;
    gap: 12px;
}

.sf-home-verify-site {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    max-width: 100%;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(20, 26, 40, 0.08);
    color: var(--sf-ink);
    font-size: 0.92rem;
    font-weight: 600;
}

.sf-home-verify-site strong {
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.02em;
}

.sf-home-verify-title {
    margin: 0;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
    color: var(--sf-ink);
}

.sf-home-verify-text {
    margin: 0;
    max-width: 760px;
    color: var(--sf-muted);
    font-size: 1.02rem;
    line-height: 1.7;
}

.sf-home-verify-guide {
    display: grid;
    gap: 12px;
    margin: 6px 0 0;
    max-width: 760px;
}

.sf-home-verify-guide[hidden] {
    display: none !important;
}

.sf-home-verify-guide-note {
    margin: 0;
    color: var(--sf-ink);
    font-size: 0.96rem;
    line-height: 1.65;
}

.sf-home-verify-guide .sx-gate-tutorial {
    display: grid;
    gap: 14px;
}

.sf-home-verify-guide .sx-gate-tutorial-step {
    display: grid;
    gap: 14px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(20, 26, 40, 0.08);
    background: rgba(255, 255, 255, 0.62);
    box-shadow: 0 14px 28px rgba(20, 26, 40, 0.08);
}

.sf-home-verify-guide .sx-gate-tutorial-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.sf-home-verify-guide .sx-gate-tutorial-index {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #ffd652 0%, #ff9d38 58%, #ff583d 100%);
    color: #18130f;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.sf-home-verify-guide .sx-gate-tutorial-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.sf-home-verify-guide .sx-gate-tutorial-copy strong {
    color: var(--sf-ink);
    font-size: 1rem;
}

.sf-home-verify-guide .sx-gate-tutorial-copy span {
    color: var(--sf-muted);
    line-height: 1.55;
}

.sf-home-verify-guide .sx-gate-tutorial-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 16px;
    border-radius: 18px;
    border: 1px solid rgba(255, 163, 72, 0.18);
    background: rgba(255, 214, 132, 0.16);
    color: var(--sf-ink);
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.sf-home-verify-guide .sx-gate-tutorial-media {
    margin: 0;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(20, 26, 40, 0.08);
    background: rgba(255, 255, 255, 0.82);
}

.sf-home-verify-guide .sx-gate-tutorial-media img {
    display: block;
    width: 100%;
    height: auto;
}

.sf-home-verify-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.sf-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
    gap: 34px;
    align-items: stretch;
}

.sf-hero-copy,
.sf-device,
.sf-panel,
.sf-content-panel,
.sf-service-card,
.sf-step-card,
.sf-beta-card,
.sf-dark-panel,
.sf-related-card {
    border-radius: var(--sf-radius-xl);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: var(--sf-shadow);
}

.sf-hero-copy {
    padding: 40px;
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.14), transparent 24%),
        radial-gradient(circle at left center, rgba(255, 86, 48, 0.08), transparent 28%),
        rgba(255, 255, 255, 0.84);
}

.sf-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.06);
    color: var(--sf-muted);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sf-eyebrow::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--sf-red) 0%, var(--sf-yellow) 100%);
    box-shadow: 0 0 0 8px rgba(255, 86, 48, 0.08);
}

.sf-hero-title,
.sf-section-title,
.sf-content-title,
.sf-profile-name {
    margin: 18px 0 0;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.03em;
}

.sf-hero-title {
    font-size: clamp(2.8rem, 5vw, 4.85rem);
}

.sf-hero-lead {
    max-width: 640px;
    margin: 18px 0 0;
    font-size: 1.08rem;
    color: var(--sf-muted);
}

.sf-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.sf-service-cta {
    padding: 14px 18px;
    background: rgba(17, 17, 20, 0.06);
    border: 1px solid rgba(17, 17, 20, 0.08);
    min-height: 54px;
}

.sf-service-icon {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.16), rgba(255, 199, 44, 0.36));
    color: var(--sf-red-deep);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    text-align: center;
    line-height: 1;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    padding: 0;
}

.sf-service-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.15;
}

.sf-service-copy strong {
    font-size: 0.98rem;
}

.sf-service-copy span {
    color: var(--sf-muted);
    font-size: 0.85rem;
}

.sf-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}

.sf-metric-card {
    padding: 16px 18px;
    border-radius: var(--sf-radius-md);
    background: rgba(17, 17, 20, 0.04);
    border: 1px solid rgba(17, 17, 20, 0.06);
}

.sf-metric-card strong {
    display: block;
    font-size: 1.45rem;
    font-weight: 800;
}

.sf-metric-card span {
    color: var(--sf-muted);
    font-size: 0.9rem;
}

.sf-device {
    padding: 18px;
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.95), transparent 20%),
        linear-gradient(180deg, rgba(234, 242, 255, 0.95) 0%, rgba(255, 242, 232, 0.96) 100%);
}

.sf-device-shell {
    position: relative;
    min-height: 100%;
    padding: 24px;
    border-radius: 40px;
    background: linear-gradient(180deg, rgba(250, 253, 255, 0.98) 0%, rgba(246, 247, 250, 0.98) 100%);
    border: 10px solid rgba(255, 255, 255, 0.85);
    box-shadow: inset 0 0 0 1px rgba(17, 17, 20, 0.06), var(--sf-shadow-soft);
    overflow: hidden;
}

.sf-device-shell::before,
.sf-device-shell::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    filter: blur(2px);
}

.sf-device-shell::before {
    width: 180px;
    height: 180px;
    top: -42px;
    right: -48px;
    background: radial-gradient(circle, rgba(255, 86, 48, 0.2) 0%, transparent 68%);
}

.sf-device-shell::after {
    width: 200px;
    height: 200px;
    left: -56px;
    bottom: -48px;
    background: radial-gradient(circle, rgba(66, 142, 255, 0.16) 0%, transparent 70%);
}

.sf-device-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: relative;
    z-index: 1;
}

.sf-device-time {
    font-weight: 800;
    font-size: 0.96rem;
}

.sf-device-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.sf-device-logo {
    width: clamp(206px, 20vw, 268px);
    height: auto;
    display: block;
}

.sf-device-dots {
    display: flex;
    gap: 6px;
}

.sf-device-dots span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.14);
}

.sf-device-search {
    position: relative;
    z-index: 1;
    margin-top: 26px;
    padding: 16px 18px;
    border-radius: 20px;
    border: 2px solid rgba(255, 86, 48, 0.18);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 30px rgba(255, 86, 48, 0.08);
    color: var(--sf-muted);
    display: grid;
    gap: 10px;
}

.sf-device-search-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.sf-device-search-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.06);
    color: var(--sf-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sf-device-search strong {
    display: block;
    font-size: 1rem;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.sf-device-search-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sf-device-search-items span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.05);
    color: var(--sf-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.sf-device-headline {
    position: relative;
    z-index: 1;
    margin-top: 24px;
}

.sf-device-headline strong {
    display: block;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 2rem;
    line-height: 1.05;
}

.sf-device-headline span {
    display: block;
    margin-top: 8px;
    color: var(--sf-muted);
}

.sf-device-services,
.sf-service-grid,
.sf-steps-grid,
.sf-content-grid,
.sf-profile-stats,
.sf-related-grid {
    display: grid;
    gap: 16px;
}

.sf-device-services {
    position: relative;
    z-index: 1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}

.sf-mini-service {
    padding: 16px 14px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(17, 17, 20, 0.06);
    box-shadow: 0 18px 28px rgba(17, 17, 20, 0.06);
}

.sf-device-services .sf-mini-service {
    display: grid;
    grid-template-rows: auto minmax(calc(1.14em * 2), auto) auto;
    justify-items: stretch;
    align-content: start;
    text-align: center;
    gap: 10px;
    padding: 18px 10px 16px;
}

.sf-device-services .sf-mini-service .sf-service-icon {
    display: grid;
    place-items: center;
    justify-self: center;
    margin: 0 auto;
}

.sf-device-services .sf-mini-service > strong,
.sf-device-services .sf-mini-service > span:not(.sf-service-icon) {
    width: 100%;
    min-width: 0;
    text-align: center;
}

body.home .sf-device-services .sf-mini-service strong,
body.home .sf-device-services .sf-mini-service span {
    margin-top: 0;
    color: rgba(255, 255, 255, 0.9);
}

body.home .sf-device-services .sf-mini-service strong {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-size: 0.98rem;
    line-height: 1.14;
    letter-spacing: -0.02em;
}

body.home .sf-device-services .sf-mini-service span {
    font-size: 0.86rem;
    line-height: 1.18;
}

body.home .sf-device-services .sf-mini-service .sf-service-icon {
    color: var(--sf-red-deep);
}

.sf-mini-service strong {
    display: block;
    margin-top: 14px;
    font-size: 0.98rem;
    line-height: 1.15;
}

.sf-mini-service span {
    display: block;
    margin-top: 6px;
    color: var(--sf-muted);
    font-size: 0.85rem;
    line-height: 1.2;
}

.sf-device-available {
    position: relative;
    z-index: 1;
    margin-top: 28px;
}

.sf-device-available h3 {
    margin: 0 0 14px;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.2rem;
}

.sf-available-list {
    display: grid;
    gap: 14px;
}

.sf-available-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(17, 17, 20, 0.06);
}

.sf-avatar-pill,
.sf-avatar,
.sf-profile-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.sf-avatar-pill {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.16), rgba(66, 142, 255, 0.24));
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.02rem;
    font-weight: 700;
}

.sf-avatar {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.16), rgba(66, 142, 255, 0.24));
    flex-shrink: 0;
}

.sf-available-copy strong {
    display: block;
    font-size: 0.95rem;
}

.sf-available-copy span {
    display: block;
    color: var(--sf-muted);
    font-size: 0.83rem;
}

.sf-section {
    padding: 72px 0 0;
}

.sf-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.sf-section-title {
    font-size: clamp(2rem, 3vw, 3rem);
}

.sf-section-subtitle {
    margin: 0;
    max-width: 560px;
    color: var(--sf-muted);
}

.sf-panel,
.sf-content-panel {
    padding: 32px;
}

.sf-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-service-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 248, 244, 0.98) 100%);
}

.sf-service-card p {
    margin: 12px 0 0;
    color: var(--sf-muted);
}

.sf-service-meta {
    display: inline-flex;
    margin-top: auto;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.06);
    color: var(--sf-muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.sf-service-card .sf-hero-actions {
    margin-top: 18px;
}

.sf-steps-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-step-card {
    padding: 28px;
}

.sf-step-number {
    display: inline-flex;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    align-items: center;
    justify-content: center;
    background: rgba(255, 86, 48, 0.12);
    color: var(--sf-red-deep);
    font-weight: 800;
}

.sf-step-card h3,
.sf-beta-card h3,
.sf-content-block h2,
.sf-related-card h3 {
    margin: 18px 0 0;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.3rem;
}

.sf-step-card p,
.sf-beta-card p,
.sf-content-block p,
.sf-content-block li,
.sf-related-card p {
    color: var(--sf-muted);
}

.sf-beta-card {
    padding: 34px;
    background: linear-gradient(135deg, rgba(17, 17, 20, 0.95) 0%, rgba(42, 45, 60, 0.98) 100%);
    color: var(--sf-white);
    overflow: hidden;
    position: relative;
}

.sf-beta-card::before {
    content: "";
    position: absolute;
    inset: auto -40px -40px auto;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 199, 44, 0.24) 0%, transparent 68%);
}

.sf-beta-card p,
.sf-beta-card li {
    color: rgba(255, 255, 255, 0.74);
}

.sf-beta-card ul {
    margin: 18px 0 0;
    padding-left: 18px;
}

.sf-beta-actions {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 16px;
    margin-top: 26px;
}

.sf-beta-follow,
.sf-beta-support {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 20px 22px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.sf-beta-follow {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(24, 119, 242, 0.16) 100%),
        rgba(17, 17, 20, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.sf-beta-support {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(37, 211, 102, 0.14) 100%),
        rgba(17, 17, 20, 0.24);
}

.sf-beta-follow-copy,
.sf-beta-support-copy {
    display: grid;
    gap: 6px;
}

.sf-beta-follow-copy strong,
.sf-beta-support-copy strong {
    display: block;
    color: var(--sf-white);
    font-size: 1rem;
}

.sf-beta-follow-copy span,
.sf-beta-support-copy span {
    color: rgba(255, 255, 255, 0.72);
}

.sf-beta-follow-button,
.sf-beta-support-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 20px;
    border-radius: 999px;
    color: #ffffff;
    font-weight: 800;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.sf-beta-follow-button {
    background: linear-gradient(135deg, #1877f2 0%, #4f8dff 100%);
    box-shadow: 0 18px 30px rgba(24, 119, 242, 0.24);
}

.sf-beta-support-button {
    background: linear-gradient(135deg, #1ea952 0%, #25d366 100%);
    box-shadow: 0 18px 30px rgba(37, 211, 102, 0.24);
}

.sf-beta-follow-button:hover,
.sf-beta-support-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
}

.sf-beta-follow-button:hover {
    box-shadow: 0 22px 34px rgba(24, 119, 242, 0.28);
}

.sf-beta-support-button:hover {
    box-shadow: 0 22px 34px rgba(37, 211, 102, 0.28);
}

.sf-beta-follow-button-icon,
.sf-beta-support-button-icon {
    position: relative;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
}

.sf-beta-follow-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1rem;
    line-height: 1;
    text-transform: lowercase;
}

.sf-beta-support-button-icon {
    display: block;
}

.sf-beta-support-button-icon::before {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 999px;
    background: #ffffff;
}

.sf-beta-support-button-icon::after {
    content: "";
    position: absolute;
    left: 4px;
    bottom: 2px;
    width: 8px;
    height: 8px;
    background: #ffffff;
    clip-path: polygon(0 0, 100% 18%, 34% 100%);
    transform: rotate(8deg);
}

@media (max-width: 720px) {
    .sf-beta-actions {
        gap: 14px;
    }

    .sf-beta-follow,
    .sf-beta-support {
        grid-template-columns: minmax(0, 1fr);
        padding: 18px;
    }

    .sf-beta-follow-button,
    .sf-beta-support-button {
        width: 100%;
    }
}

.sf-content-shell {
    padding: 34px 0 80px;
}

.sf-content-panel {
    padding: 34px;
}

.sf-content-title {
    font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.sf-content-lead {
    max-width: 760px;
    margin-top: 14px;
    color: var(--sf-muted);
}

.sf-content-grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
    align-items: start;
    margin-top: 28px;
}

.sf-content-block {
    padding: 30px;
    border-radius: var(--sf-radius-lg);
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(17, 17, 20, 0.08);
    box-shadow: var(--sf-shadow-soft);
}

.sf-content-block + .sf-content-block {
    margin-top: 18px;
}

.sf-content-grid > .sf-content-block + .sf-content-block {
    margin-top: 0;
}

.sf-content-block ul {
    padding-left: 18px;
}

.sf-profile-shell {
    position: relative;
    padding: 44px 0 84px;
}

.sf-profile-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 520px;
    background:
        radial-gradient(circle at 22% 18%, rgba(255, 86, 48, 0.22), transparent 24%),
        radial-gradient(circle at 82% 12%, rgba(255, 199, 44, 0.18), transparent 20%),
        linear-gradient(180deg, #0f1320 0%, #171d2b 58%, rgba(23, 29, 43, 0) 100%);
    z-index: 0;
}

.sf-profile-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    width: min(calc(100% - 32px), var(--sf-max));
    margin: 0 auto;
}

.sf-dark-panel {
    position: relative;
    padding: 34px;
    color: var(--sf-white);
    background:
        linear-gradient(180deg, rgba(22, 26, 38, 0.96) 0%, rgba(27, 33, 48, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    overflow: hidden;
}

.sf-dark-panel::before {
    content: "";
    position: absolute;
    top: -50px;
    right: -60px;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 86, 48, 0.26) 0%, transparent 68%);
}

.sf-profile-card {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    align-items: center;
}

.sf-profile-avatar {
    width: 144px;
    height: 144px;
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(255, 86, 48, 0.22), rgba(255, 199, 44, 0.42));
    box-shadow: 0 0 0 8px rgba(255, 86, 48, 0.08), 0 0 0 14px rgba(255, 199, 44, 0.08);
}

.sf-profile-avatar img,
.sf-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-available-card-real .sf-avatar img {
    filter: blur(22px);
    transform: scale(1.12);
    transform-origin: center;
}

.sf-available-card-demo .sf-avatar img {
    filter: none;
    transform: none;
}

.sf-profile-fallback,
.sf-avatar-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-weight: 700;
}

.sf-profile-fallback {
    font-size: 2rem;
}

.sf-profile-head {
    display: grid;
    gap: 12px;
}

.sf-profile-chip-row,
.sf-chip-list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.sf-profile-chip,
.sf-chip-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1;
}

.sf-chip-link {
    background: rgba(17, 17, 20, 0.06);
    color: var(--sf-ink);
}

.sf-profile-name {
    font-size: clamp(2.3rem, 4vw, 3.6rem);
}

.sf-profile-role {
    color: rgba(255, 255, 255, 0.74);
    font-size: 1.03rem;
}

.sf-profile-actions,
.sf-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.sf-button,
.sf-profile-link {
    padding: 0 18px;
}

.sf-profile-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: relative;
    z-index: 1;
    margin-top: 28px;
}

.sf-profile-stat {
    padding: 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.sf-profile-stat strong {
    display: block;
    font-size: 1.35rem;
    font-weight: 800;
}

.sf-profile-stat span {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.88rem;
}

.sf-profile-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}

.sf-profile-panel {
    padding: 28px;
    border-radius: var(--sf-radius-lg);
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(17, 17, 20, 0.08);
    box-shadow: var(--sf-shadow-soft);
}

.sf-profile-panel h2 {
    margin: 0 0 14px;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.4rem;
}

.sf-profile-panel p,
.sf-profile-panel li {
    color: var(--sf-muted);
}

.sf-profile-panel ul {
    padding-left: 18px;
}

.sf-side-stack {
    display: grid;
    gap: 18px;
}

.sf-side-card {
    padding: 24px;
    border-radius: var(--sf-radius-lg);
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(17, 17, 20, 0.08);
    box-shadow: var(--sf-shadow-soft);
}

.sf-side-card h3 {
    margin: 0 0 14px;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.2rem;
}

.sf-side-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

.sf-side-list li {
    display: grid;
    gap: 4px;
}

.sf-side-list strong {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sf-muted);
}

.sf-side-list span {
    font-weight: 700;
}

.sf-related-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.sf-related-card {
    padding: 24px;
}

.sf-related-card .sf-avatar-pill {
    margin-bottom: 18px;
}

.sf-related-card h3 {
    margin-top: 0;
}

.sf-related-card .sf-card-actions {
    margin-top: 16px;
}

.sf-profile-link {
    background: rgba(17, 17, 20, 0.06);
    color: var(--sf-ink);
}

.schiofix-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.schiofix-card {
    padding: 24px;
    border-radius: var(--sf-radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 247, 242, 0.98) 100%);
    border: 1px solid rgba(17, 17, 20, 0.08);
    box-shadow: var(--sf-shadow-soft);
}

.sf-card-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-bottom: 18px;
}

.sf-card-top-copy h3 {
    margin: 10px 0 0;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.2rem;
}

.sf-card-role {
    margin: 6px 0 0;
    color: var(--sf-muted);
    font-size: 0.9rem;
}

.schiofix-badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.schiofix-badge-now {
    background: var(--sf-green);
    color: #0d6f38;
}

.schiofix-badge-today {
    background: #fff2d7;
    color: #8f5800;
}

.schiofix-meta {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.schiofix-meta li {
    color: var(--sf-muted);
}

.schiofix-meta strong {
    color: var(--sf-ink);
}

.schiofix-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.schiofix-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 16px;
    border-radius: 999px;
    font-weight: 700;
}

.schiofix-button-call {
    background: linear-gradient(135deg, var(--sf-red) 0%, #ff7e38 100%);
    color: var(--sf-white);
}

.schiofix-button-wa {
    background: rgba(17, 17, 20, 0.92);
    color: var(--sf-white);
}

.schiofix-empty {
    padding: 24px;
    border-radius: var(--sf-radius-lg);
    background: rgba(255, 255, 255, 0.84);
    border: 1px dashed rgba(17, 17, 20, 0.18);
    color: var(--sf-muted);
}

.sf-entry-content > *:first-child {
    margin-top: 0;
}

.sf-entry-content > *:last-child {
    margin-bottom: 0;
}

.sf-site-footer {
    margin-top: 60px;
    padding: 28px 0 44px;
    color: var(--sf-muted);
}

.sf-footer-brand {
    display: inline-flex;
    flex-direction: column;
    gap: 10px;
}

.sf-footer-logo {
    width: clamp(188px, 18vw, 244px);
    height: auto;
    display: block;
}

.sf-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 24px;
    border-top: 1px solid rgba(17, 17, 20, 0.08);
}

body:not(.sf-is-standalone) .sf-site-footer:not(.sf-site-footer-app) .sf-footer-inner {
    padding: 24px 28px;
    border-top: 0;
    border-radius: 30px;
    color: rgba(255, 255, 255, 0.8);
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 199, 44, 0.12), transparent 22%),
        radial-gradient(circle at 88% 20%, rgba(255, 86, 48, 0.16), transparent 22%),
        linear-gradient(180deg, rgba(20, 26, 38, 0.96) 0%, rgba(27, 34, 49, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 40px rgba(10, 14, 22, 0.16);
}

body:not(.sf-is-standalone) .sf-site-footer:not(.sf-site-footer-app) .sf-footer-brand,
body:not(.sf-is-standalone) .sf-site-footer:not(.sf-site-footer-app) a {
    color: rgba(255, 255, 255, 0.82);
}

.sf-site-footer-app {
    margin-top: 24px;
    padding: 0 0 24px;
}

.sf-header-compact {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.sf-header-status,
.sf-header-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 800;
}

.sf-header-status {
    background: rgba(17, 17, 20, 0.06);
    color: var(--sf-muted);
}

.sf-header-action {
    background: linear-gradient(135deg, var(--sf-red) 0%, #ff7e38 100%);
    color: var(--sf-white);
    box-shadow: 0 14px 24px rgba(255, 86, 48, 0.18);
}

.sf-app-page {
    padding: 20px 0 34px;
}

.sf-app-frame,
.sf-app-frame-account,
.sf-pro-frame {
    width: min(100%, 640px);
    margin: 0 auto;
    padding: 20px 18px 28px;
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 255, 0.96) 100%);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: var(--sf-shadow);
}

.sf-app-frame-account {
    width: min(100%, 760px);
}

.sf-pro-frame {
    width: min(100%, 720px);
    background:
        linear-gradient(180deg, rgba(21, 25, 37, 0.98) 0%, rgba(28, 34, 49, 0.98) 100%);
    color: var(--sf-white);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-app-top,
.sf-portal-hero,
.sf-dashboard-head {
    display: grid;
    gap: 16px;
}

.sf-app-top {
    grid-template-columns: minmax(0, 1fr) 160px;
    align-items: end;
}

.sf-app-badge,
.sf-app-mini-label {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.08);
    color: var(--sf-muted);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sf-app-mini-label {
    min-height: 30px;
    font-size: 0.69rem;
}

.sf-app-title,
.sf-portal-title,
.sf-dashboard-title,
.sf-pro-title {
    margin: 10px 0 0;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: clamp(2rem, 6vw, 3.1rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.sf-app-subtitle,
.sf-portal-lead,
.sf-dashboard-lead,
.sf-panel-copy,
.sf-auth-note span,
.sf-dashboard-empty,
.sf-dashboard-item p,
.sf-pro-subtitle {
    margin: 0;
    color: var(--sf-muted);
}

.sf-pro-subtitle,
.sf-pro-frame .sf-panel-copy,
.sf-pro-frame .sf-dashboard-empty,
.sf-pro-frame .sf-auth-note span,
.sf-pro-frame .sf-dashboard-item p {
    color: rgba(255, 255, 255, 0.72);
}

.sf-app-search {
    padding: 16px 18px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.12), rgba(255, 199, 44, 0.16));
    border: 1px solid rgba(255, 86, 48, 0.16);
    display: grid;
    gap: 6px;
    min-height: 100%;
}

.sf-app-search strong {
    font-size: 1rem;
}

.sf-app-search-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sf-muted);
    font-weight: 800;
}

.sf-app-top-actions,
.sf-portal-actions,
.sf-pro-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.sf-app-quick-link,
.sf-app-bottom-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.06);
    font-weight: 700;
}

.sf-app-quick-link.is-secondary,
.sf-app-bottom-link.is-secondary {
    background: rgba(17, 17, 20, 0.9);
    color: var(--sf-white);
}

.sf-app-categories,
.sf-app-list,
.sf-dashboard-list,
.sf-pro-gallery {
    display: grid;
    gap: 14px;
}

.sf-dashboard-anchor {
    scroll-margin-top: 110px;
}

.sf-app-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
}

.sf-app-category,
.sf-app-card,
.sf-app-panel,
.sf-portal-card,
.sf-dashboard-card,
.sf-pro-panel {
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(17, 17, 20, 0.08);
    box-shadow: var(--sf-shadow-soft);
}

.sf-app-category {
    padding: 14px;
    display: grid;
    gap: 12px;
    min-height: 130px;
}

.sf-app-category.is-active {
    border-color: rgba(255, 86, 48, 0.34);
    box-shadow: 0 22px 34px rgba(255, 86, 48, 0.14);
    transform: translateY(-1px);
}

.sf-app-category-icon {
    width: 50px;
    height: 50px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.18), rgba(255, 199, 44, 0.26));
    color: var(--sf-red-deep);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-weight: 700;
}

.sf-app-category-copy {
    display: grid;
    gap: 4px;
}

.sf-app-category-copy strong {
    font-size: 0.95rem;
}

.sf-app-category-copy span {
    color: var(--sf-muted);
    font-size: 0.82rem;
}

.sf-app-panel,
.sf-portal-card,
.sf-dashboard-card,
.sf-pro-panel {
    padding: 18px;
}

.sf-panel-heading,
.sf-app-panel-head,
.sf-dashboard-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sf-panel-heading h2,
.sf-app-panel-head h2,
.sf-pro-panel h2 {
    margin: 8px 0 0;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.2rem;
}

.sf-app-count,
.sf-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 86, 48, 0.12);
    color: var(--sf-red-deep);
    font-size: 0.82rem;
    font-weight: 800;
}

.sf-status-pill {
    min-height: 34px;
    min-width: 0;
    background: rgba(17, 17, 20, 0.08);
    color: var(--sf-muted);
}

.sf-app-card {
    padding: 16px;
}

.sf-app-card-top,
.sf-pro-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.sf-app-card-copy,
.sf-pro-copy {
    display: grid;
    gap: 4px;
}

.sf-app-card-copy strong {
    font-size: 1rem;
}

.sf-app-card-copy span,
.sf-dashboard-item-meta,
.sf-pro-detail span {
    color: var(--sf-muted);
    font-size: 0.84rem;
}

.sf-app-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--sf-green);
    color: #0d6f38;
    font-size: 0.75rem;
    font-weight: 800;
}

.sf-app-card-meta,
.sf-pro-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.sf-app-card-meta span,
.sf-pro-detail {
    display: grid;
    gap: 4px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(17, 17, 20, 0.05);
    font-size: 0.88rem;
}

.sf-app-card-meta strong,
.sf-pro-detail strong {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sf-muted);
}

.sf-app-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.sf-app-empty,
.sf-dashboard-empty {
    padding: 18px;
    border-radius: 20px;
    background: rgba(17, 17, 20, 0.04);
    border: 1px dashed rgba(17, 17, 20, 0.14);
}

.sf-app-drawer {
    margin-top: 16px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(17, 17, 20, 0.08);
    box-shadow: var(--sf-shadow-soft);
    overflow: hidden;
}

.sf-app-drawer-toggle {
    padding: 18px 20px;
    cursor: pointer;
    font-weight: 800;
    list-style: none;
}

.sf-app-drawer-toggle::-webkit-details-marker {
    display: none;
}

.sf-app-drawer-body {
    padding: 0 18px 18px;
}

.sf-app-legal,
.sf-auth-note {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(17, 17, 20, 0.05);
    border: 1px solid rgba(17, 17, 20, 0.06);
}

.sf-app-bottom-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
}

.sf-app-nav {
    position: sticky;
    bottom: 12px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 8px;
    margin-top: 18px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(17, 17, 20, 0.08);
    box-shadow: 0 24px 40px rgba(19, 21, 30, 0.12);
}

.sf-app-nav-link {
    min-height: 52px;
    padding: 0 10px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--sf-muted);
}

.sf-app-nav-link.is-active {
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.14), rgba(255, 199, 44, 0.2));
    color: var(--sf-red-deep);
}

.sf-app-content-card {
    padding: 0;
    background: transparent;
    border: 0;
}

.sf-portal-shell,
.sf-dashboard-shell {
    display: grid;
    gap: 18px;
}

.sf-portal-registers {
    display: grid;
    gap: 16px;
}

.sf-portal-register-choice {
    gap: 24px;
}

.sf-portal-register-choice .sf-panel-heading {
    display: block;
}

.sf-portal-register-choice .sf-panel-heading h2 {
    margin: 10px auto 0;
    text-align: center;
}

.sf-portal-register-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.sf-portal-register-choice-grid .sf-button {
    width: 100%;
}

.sf-portal-detail {
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(17, 17, 20, 0.08);
    overflow: hidden;
}

.sf-portal-detail summary {
    padding: 18px 20px;
    cursor: pointer;
    font-weight: 800;
}

.sf-auth-form,
.sf-auth-grid,
.sf-dashboard-grid,
.sf-dashboard-stats,
.sf-checkbox-grid,
.sf-pro-stats {
    display: grid;
    gap: 14px;
}

.sf-auth-grid,
.sf-dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-dashboard-grid {
    grid-template-columns: minmax(0, 1fr) 280px;
}

.sf-dashboard-grid-pro {
    grid-template-columns: minmax(0, 1.1fr) 320px;
}

.sf-dashboard-shell:not(.sf-dashboard-shell-pro) #richieste .sf-panel-heading h2 {
    margin-top: 14px;
}

.sf-dashboard-shell:not(.sf-dashboard-shell-pro) #richieste .sf-panel-copy {
    margin-top: 10px;
}

.sf-dashboard-shell:not(.sf-dashboard-shell-pro) #richieste .sf-portal-actions {
    margin-top: 20px;
}

.sf-supporter-card {
    position: relative;
    overflow: hidden;
}

.sf-supporter-card::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -54px;
    width: 170px;
    height: 170px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 141, 61, 0.24) 0%, rgba(255, 141, 61, 0) 72%);
    pointer-events: none;
}

.sf-supporter-spot {
    position: relative;
    display: grid;
    gap: 12px;
    padding: 18px 20px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255, 192, 89, 0.22) 0%, rgba(255, 128, 83, 0.12) 55%, rgba(255, 255, 255, 0.24) 100%);
    border: 1px solid rgba(255, 137, 70, 0.18);
}

.sf-supporter-spot-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.sf-supporter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.08);
    color: #111114;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sf-supporter-rotate-note {
    font-size: 0.84rem;
    color: var(--sf-muted);
}

.sf-supporter-name {
    font-size: 1.08rem;
    line-height: 1.2;
}

.sf-supporter-text {
    margin: 0;
    max-width: 58ch;
    color: rgba(17, 17, 20, 0.76);
    line-height: 1.6;
}

.sf-dashboard-card-form {
    min-width: 0;
}

.sf-auth-field {
    display: grid;
    gap: 8px;
}

.sf-auth-field-full {
    grid-column: 1 / -1;
}

.sf-auth-fieldset {
    min-inline-size: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.sf-auth-fieldset legend {
    padding: 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: inherit;
}

.sf-auth-field label {
    font-size: 0.88rem;
    font-weight: 700;
}

.sf-auth-field input,
.sf-auth-field select,
.sf-auth-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(17, 17, 20, 0.12);
    background: rgba(255, 255, 255, 0.96);
}

.sf-auth-field textarea {
    min-height: 120px;
    resize: vertical;
}

.sf-file-input {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.sf-file-input-native {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
}

.sf-file-input-control {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 18px;
    border: 1px solid rgba(17, 17, 20, 0.12);
    background: rgba(255, 255, 255, 0.96);
    cursor: pointer;
    overflow: hidden;
}

.sf-file-input.is-disabled .sf-file-input-control,
.sf-file-input-control.is-disabled {
    border-color: rgba(17, 17, 20, 0.08);
    background: rgba(17, 17, 20, 0.04);
    color: rgba(17, 17, 20, 0.56);
    cursor: not-allowed;
    opacity: 0.78;
    user-select: none;
}

.sf-file-input-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 12px;
    background: rgba(17, 17, 20, 0.1);
    color: #111114;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.sf-file-input-name {
    min-width: 0;
    flex: 1 1 auto;
    color: var(--sf-muted);
    font-size: 0.92rem;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sf-file-input.is-disabled .sf-file-input-trigger,
.sf-file-input-control.is-disabled .sf-file-input-trigger {
    background: rgba(17, 17, 20, 0.06);
    color: rgba(17, 17, 20, 0.58);
}

.sf-file-input.is-disabled .sf-file-input-name,
.sf-file-input-control.is-disabled .sf-file-input-name {
    color: rgba(17, 17, 20, 0.48);
}

.sf-pro-frame .sf-file-input-control,
.sf-portal-registers .sf-file-input-control {
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-pro-frame .sf-file-input-trigger,
.sf-portal-registers .sf-file-input-trigger {
    background: rgba(17, 17, 20, 0.12);
}

.sf-auth-field-hint {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--sf-muted);
}

.sf-profile-photo-tip {
    display: inline-block;
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 124, 80, 0.22);
    background: linear-gradient(135deg, rgba(255, 240, 226, 0.96), rgba(255, 248, 230, 0.96));
    color: #b84a23;
    font-weight: 700;
    line-height: 1.5;
}

.sf-auth-live-hint {
    font-weight: 700;
}

.sf-auth-field.is-live-error input,
.sf-auth-field.is-live-error select,
.sf-auth-field.is-live-error textarea {
    border-color: #ff8b78;
    box-shadow: 0 0 0 3px rgba(255, 91, 71, 0.14);
}

.sf-auth-field.is-live-success input,
.sf-auth-field.is-live-success select,
.sf-auth-field.is-live-success textarea {
    border-color: #73cf99;
    box-shadow: 0 0 0 3px rgba(37, 167, 94, 0.12);
}

.sf-auth-field.is-live-error .sf-auth-live-hint {
    color: #b9311d;
}

.sf-auth-field.is-live-success .sf-auth-live-hint {
    color: #147a44;
}

.sf-auth-field-hint-placeholder {
    visibility: hidden;
}

.sf-auth-message {
    padding: 16px 18px;
    border-radius: 20px;
    font-weight: 700;
}

.sf-auth-message.is-success {
    background: #e8fff1;
    border: 1px solid #a7efc1;
    color: #0c6a35;
}

.sf-auth-message.is-error {
    background: #fff2f0;
    border: 1px solid #ffc0b8;
    color: #9f2a17;
}

.sf-dashboard-stat,
.sf-pro-stat {
    padding: 16px;
    border-radius: 22px;
    background: rgba(17, 17, 20, 0.05);
    border: 1px solid rgba(17, 17, 20, 0.06);
}

.sf-dashboard-stat strong,
.sf-pro-stat strong {
    display: block;
    font-size: 1.2rem;
    font-weight: 800;
}

.sf-dashboard-stat span,
.sf-pro-stat span {
    display: block;
    margin-top: 4px;
    color: var(--sf-muted);
    font-size: 0.84rem;
}

.sf-dashboard-item {
    padding: 16px;
    border-radius: 20px;
    background: rgba(17, 17, 20, 0.04);
    border: 1px solid rgba(17, 17, 20, 0.08);
}

.sf-dashboard-item p {
    margin: 10px 0 0;
}

.sf-dashboard-item-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.sf-dashboard-contact-link {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    max-width: 100%;
    color: #ff7a45;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.sf-dashboard-contact-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    opacity: 0.78;
    text-transform: uppercase;
}

.sf-dashboard-contact-value {
    overflow-wrap: anywhere;
}

.sf-dashboard-contact-link:hover,
.sf-dashboard-contact-link:focus-visible {
    color: #ffa56e;
    text-decoration: underline;
}

.sf-dashboard-gallery {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.sf-dashboard-gallery img {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    object-fit: cover;
}

.sf-pro-media-field {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.sf-pro-gallery-limit {
    display: grid;
    gap: 8px;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid rgba(17, 17, 20, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 248, 243, 0.96) 100%);
}

.sf-pro-gallery-limit-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.sf-pro-gallery-limit-count {
    color: #111114;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2;
}

.sf-pro-gallery-limit-remaining {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 86, 48, 0.1);
    color: #b3401f;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.sf-pro-gallery-limit-meter {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 10px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.08);
}

.sf-pro-gallery-limit-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ffcf44 0%, #ff7a45 58%, #ff5a36 100%);
    transition: width 0.2s ease, background 0.2s ease;
}

.sf-pro-gallery-limit-note {
    margin: 0;
}

.sf-pro-gallery-limit.is-full {
    border-color: rgba(255, 86, 48, 0.22);
    background: linear-gradient(180deg, rgba(255, 244, 240, 0.98) 0%, rgba(255, 235, 226, 0.98) 100%);
}

.sf-pro-gallery-limit.is-full .sf-pro-gallery-limit-remaining {
    background: rgba(185, 49, 29, 0.12);
    color: #9f2a17;
}

.sf-pro-gallery-limit.is-full .sf-pro-gallery-limit-meter span {
    background: linear-gradient(90deg, #ffb48f 0%, #ff6d45 100%);
}

.sf-pro-media-field.is-upload-limit-reached .sf-pro-upload-preview-list {
    border-color: rgba(255, 86, 48, 0.18);
    background: rgba(255, 86, 48, 0.05);
}

.sf-pro-upload-preview-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
    min-height: 96px;
    padding: 12px;
    border-radius: 22px;
    border: 1px dashed rgba(17, 17, 20, 0.14);
    background: rgba(17, 17, 20, 0.035);
    align-items: flex-start;
}

.sf-pro-upload-preview-list-single {
    min-height: 108px;
}

.sf-pro-upload-preview-list.is-empty::before {
    content: attr(data-empty-label);
    color: var(--sf-muted);
    font-size: 0.9rem;
    line-height: 1.45;
    align-self: center;
}

.sf-pro-upload-card {
    display: grid;
    gap: 8px;
    width: min(100%, 122px);
}

.sf-pro-upload-card-frame {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    aspect-ratio: 1 / 1;
    background: rgba(17, 17, 20, 0.08);
}

.sf-pro-upload-card-delete {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.82);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(6px);
    box-shadow: 0 10px 24px rgba(10, 12, 18, 0.22);
}

.sf-pro-upload-card-delete:hover {
    background: rgba(189, 49, 30, 0.94);
}

.sf-pro-upload-card-delete:disabled {
    opacity: 0.55;
    cursor: wait;
}

.sf-pro-upload-card-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sf-pro-upload-card-progress {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 7px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.1);
}

.sf-pro-upload-card-progress-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ffcf44 0%, #ff5a36 100%);
    transition: width 0.18s ease;
}

.sf-pro-upload-card-progress-label {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    color: var(--sf-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.sf-pro-upload-card-badge {
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(18, 20, 28, 0.78);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    backdrop-filter: blur(6px);
}

.sf-pro-upload-card-name,
.sf-pro-upload-card-note {
    display: block;
    margin: 0;
    line-height: 1.35;
}

.sf-pro-upload-card-name {
    color: #111114;
    font-size: 0.82rem;
    font-weight: 700;
    word-break: break-word;
}

.sf-pro-upload-card-note {
    color: var(--sf-muted);
    font-size: 0.76rem;
}

.sf-pro-upload-card.is-approved .sf-pro-upload-card-badge {
    background: rgba(20, 122, 68, 0.92);
}

.sf-pro-upload-card.is-review .sf-pro-upload-card-badge {
    background: rgba(203, 127, 16, 0.92);
}

.sf-pro-upload-card.is-rejected .sf-pro-upload-card-badge,
.sf-pro-upload-card.is-error .sf-pro-upload-card-badge {
    background: rgba(185, 49, 29, 0.94);
}

.sf-pro-upload-card.is-queued .sf-pro-upload-card-badge,
.sf-pro-upload-card.is-uploading .sf-pro-upload-card-badge {
    background: rgba(56, 71, 98, 0.92);
}

.sf-pro-upload-card.is-deleting .sf-pro-upload-card-badge {
    background: rgba(62, 72, 92, 0.94);
}

.sf-pro-upload-card.is-approved .sf-pro-upload-card-progress,
.sf-pro-upload-card.is-review .sf-pro-upload-card-progress,
.sf-pro-upload-card.is-rejected .sf-pro-upload-card-progress,
.sf-pro-upload-card.is-deleting .sf-pro-upload-card-progress,
.sf-pro-upload-card.is-approved .sf-pro-upload-card-progress-label,
.sf-pro-upload-card.is-review .sf-pro-upload-card-progress-label,
.sf-pro-upload-card.is-rejected .sf-pro-upload-card-progress-label,
.sf-pro-upload-card.is-deleting .sf-pro-upload-card-progress-label {
    display: none;
}

.sf-pro-upload-card.is-delete-armed .sf-pro-upload-card-delete {
    background: rgba(189, 49, 30, 0.96);
}

.sf-pro-company-form.is-upload-busy .sf-button[type="submit"] {
    opacity: 0.72;
    cursor: wait;
}

.sf-pro-upload-submit-hint {
    margin-top: 12px;
}

.sf-gallery-chip {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 86, 48, 0.1);
    color: var(--sf-red-deep);
    font-size: 0.8rem;
    font-weight: 800;
}

.sf-side-stack {
    display: grid;
    gap: 14px;
}

.sf-mini-list {
    margin: 0;
    padding-left: 18px;
    color: var(--sf-muted);
}

.sf-mini-list li + li {
    margin-top: 6px;
}

.sf-checkbox-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-service-area-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.sf-check-tile,
.sf-check-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(17, 17, 20, 0.05);
    border: 1px solid rgba(17, 17, 20, 0.08);
    font-weight: 700;
}

.sf-service-area-grid .sf-check-tile {
    min-height: 58px;
}

.sf-check-tile input,
.sf-check-toggle input {
    width: auto;
    min-height: auto;
    margin: 0;
    accent-color: #ff7043;
}

.sf-check-tile:has(input:checked),
.sf-check-toggle:has(input:checked) {
    background: rgba(255, 86, 48, 0.12);
    border-color: rgba(255, 86, 48, 0.24);
    box-shadow: 0 12px 24px rgba(255, 86, 48, 0.1);
}

.sf-pro-hero {
    padding: 20px;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(255, 86, 48, 0.18), transparent 22%),
        linear-gradient(180deg, rgba(29, 35, 50, 0.96) 0%, rgba(24, 30, 44, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.sf-pro-avatar {
    width: 118px;
    height: 118px;
    border-radius: 999px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.3), rgba(255, 199, 44, 0.36));
    box-shadow: 0 0 0 4px rgba(255, 86, 48, 0.18), 0 0 0 10px rgba(255, 199, 44, 0.08);
}

.sf-pro-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-pro-copy .sf-profile-chip {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
}

.sf-pro-frame .sf-profile-link {
    background: rgba(255, 255, 255, 0.1);
    color: var(--sf-white);
}

.sf-pro-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}

.sf-pro-frame .sf-pro-stat,
.sf-pro-frame .sf-pro-detail {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-pro-frame .sf-pro-stat span,
.sf-pro-frame .sf-pro-detail span,
.sf-pro-frame .sf-pro-detail strong {
    color: rgba(255, 255, 255, 0.7);
}

.sf-pro-panel {
    margin-top: 16px;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-pro-frame .sf-entry-content,
.sf-pro-frame .sf-entry-content p,
.sf-pro-frame .sf-entry-content li,
.sf-pro-frame .sf-panel-heading h2 {
    color: var(--sf-white);
}

.sf-pro-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-pro-gallery-item {
    border-radius: 22px;
    overflow: hidden;
    min-height: 120px;
    background: rgba(255, 255, 255, 0.08);
}

.sf-pro-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1100px) {
    .sf-hero-grid,
    .sf-content-grid,
    .sf-profile-content-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-content-grid > .sf-content-block + .sf-content-block {
        margin-top: 18px;
    }

    .sf-profile-stats,
    .sf-service-grid,
    .sf-steps-grid,
    .sf-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .sf-site-header {
        position: static;
        backdrop-filter: none;
        background: rgba(255, 253, 249, 0.94);
    }

    body.home .sf-site-header,
    body.page-accedi .sf-site-header,
    body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-site-header,
    body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-site-header {
        background: rgba(16, 22, 33, 0.18);
    }

    .sf-header-inner {
        flex-direction: row;
        align-items: center;
        gap: 12px;
        padding: 12px 0;
    }

    body.home .sf-header-inner,
    body.page-accedi .sf-header-inner,
    body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-header-inner,
    body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-header-inner {
        min-height: auto;
        padding: 10px 0 8px;
    }

    .sf-header-nav {
        justify-content: flex-end;
        gap: 8px;
    }

    .sf-brand {
        flex: 0 0 auto;
        align-items: center;
    }

    .sf-brand-logo {
        width: min(250px, 64vw);
    }

    .sf-nav-link,
    .sf-nav-button {
        min-height: 42px;
        padding: 0 14px;
        font-size: 0.92rem;
    }

    .sf-hero-copy,
    .sf-device,
    .sf-panel,
    .sf-content-panel,
    .sf-service-card,
    .sf-step-card,
    .sf-beta-card,
    .sf-dark-panel,
    .sf-profile-panel,
    .sf-side-card,
    .sf-related-card {
        padding: 22px;
    }

    .sf-hero-metrics,
    .sf-profile-stats,
    .sf-device-services,
    .sf-service-grid,
    .sf-steps-grid,
    .sf-related-grid,
    .schiofix-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-profile-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-profile-avatar {
        width: 120px;
        height: 120px;
    }
}

@media (max-width: 580px) {
    .sf-page-shell,
    .sf-content-shell {
        padding-top: 22px;
    }

    .sf-home-verify {
        grid-template-columns: minmax(0, 1fr);
        padding: 22px 20px;
        gap: 16px;
    }

    .sf-home-verify-actions {
        justify-content: stretch;
    }

    .sf-home-verify-actions .sf-button,
    .sf-home-verify-actions .sf-nav-button {
        width: 100%;
        justify-content: center;
    }

    .sf-home-verify-guide .sx-gate-tutorial-step {
        padding: 14px;
        border-radius: 20px;
    }

    .sf-home-verify-guide .sx-gate-tutorial-head {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 10px;
    }

    .sf-home-verify-guide .sx-gate-tutorial-index {
        width: 38px;
        height: 38px;
        border-radius: 14px;
        font-size: 0.9rem;
    }

    .sf-home-verify-guide .sx-gate-tutorial-copy strong {
        font-size: 0.96rem;
    }

    .sf-home-verify-guide .sx-gate-tutorial-code {
        min-height: 48px;
        padding-inline: 14px;
        font-size: 0.95rem;
    }

    .sf-hero-title,
    .sf-content-title,
    .sf-profile-name {
        letter-spacing: -0.04em;
    }

    .sf-section {
        padding-top: 54px;
    }

    .sf-brand {
        align-self: flex-start;
        justify-content: center;
        width: min(100%, 19rem);
    }

    body.home .sf-brand,
    body.page-accedi .sf-brand,
    body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-brand,
    body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-brand,
    body.post-type-archive-schx_professional .sf-brand,
    body.error404 .sf-brand {
        margin-left: -12px;
    }

    body.home .sf-brand-logo,
    body.page-accedi .sf-brand-logo,
    body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-brand-logo,
    body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-brand-logo,
    body.post-type-archive-schx_professional .sf-brand-logo,
    body.error404 .sf-brand-logo {
        width: min(100%, 320px);
        height: 96px;
        object-fit: cover;
        object-position: center 42%;
    }

    .sf-footer-logo,
    .sf-device-logo {
        width: min(100%, 210px);
    }

    body.home .sf-header-inner,
    body.page-accedi .sf-header-inner,
    body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-header-inner,
    body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti) .sf-header-inner,
    body.post-type-archive-schx_professional .sf-header-inner,
    body.error404 .sf-header-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        padding: 4px 0 6px;
    }

    .sf-header-nav {
        justify-content: flex-start;
    }

    .sf-nav-link,
    .sf-nav-button {
        min-height: 40px;
        font-size: 0.88rem;
    }

    .sf-section-header,
    .sf-footer-inner {
        display: grid;
        justify-content: stretch;
    }
}

@media (max-width: 900px) {
    .sf-dashboard-grid,
    .sf-dashboard-grid-pro,
    .sf-auth-grid,
    .sf-checkbox-grid,
    .sf-app-top,
    .sf-app-categories,
    .sf-pro-gallery {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-app-top {
        align-items: stretch;
    }

    .sf-pro-head {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-service-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 680px) {
    .sf-app-frame,
    .sf-app-frame-account,
    .sf-pro-frame {
        padding: 16px 14px 22px;
        border-radius: 28px;
    }

    .sf-app-card-top {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .sf-app-status {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .sf-app-card-meta,
    .sf-pro-detail-grid,
    .sf-dashboard-stats,
    .sf-pro-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-app-nav {
        gap: 6px;
        padding: 6px;
    }

    .sf-app-nav-link {
        min-height: 48px;
        font-size: 0.76rem;
    }

}

/* Mockup Alignment V2 */

body {
    background:
        radial-gradient(circle at 12% 10%, rgba(108, 154, 255, 0.92) 0%, rgba(108, 154, 255, 0.2) 16%, transparent 34%),
        radial-gradient(circle at 86% 12%, rgba(255, 87, 87, 0.94) 0%, rgba(255, 87, 87, 0.18) 18%, transparent 34%),
        radial-gradient(circle at 88% 88%, rgba(255, 215, 79, 0.94) 0%, rgba(255, 215, 79, 0.18) 16%, transparent 36%),
        radial-gradient(circle at 18% 78%, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.14) 18%, transparent 36%),
        linear-gradient(180deg, #eff4ff 0%, #fff6ea 52%, #fff1de 100%);
}

.sf-page-shell {
    width: min(calc(100% - 20px), 1240px);
}

.sf-app-page {
    padding: 18px 0 26px;
}

.sf-app-frame,
.sf-app-frame-account,
.sf-pro-frame {
    position: relative;
    overflow: hidden;
    border-radius: 38px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(26px);
    box-shadow: 0 34px 84px rgba(25, 33, 52, 0.16);
}

.sf-app-frame::before,
.sf-app-frame-account::before,
.sf-pro-frame::before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.54) 100%);
    border: 1px solid rgba(255, 255, 255, 0.6);
    z-index: 0;
}

.sf-pro-frame {
    background: rgba(17, 22, 34, 0.72);
    border-color: rgba(255, 255, 255, 0.14);
}

.sf-pro-frame::before {
    background:
        radial-gradient(circle at 70% 18%, rgba(255, 86, 48, 0.18), transparent 20%),
        linear-gradient(180deg, rgba(24, 30, 44, 0.96) 0%, rgba(17, 22, 34, 0.94) 100%);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-app-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.sf-app-main {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.sf-app-sidebar {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 18px;
    padding: 22px;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: 0 24px 46px rgba(27, 35, 56, 0.12);
    backdrop-filter: blur(24px);
}

.sf-app-shell-dark .sf-app-sidebar {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-app-sidebar-brand {
    display: inline-flex;
    align-items: center;
    padding: 4px 0 6px;
}

.sf-app-sidebar-logo {
    width: clamp(176px, 18vw, 228px);
    height: auto;
}

.sf-app-side-nav {
    display: grid;
    gap: 10px;
}

.sf-app-side-link,
.sf-app-side-card-link {
    display: inline-flex;
    align-items: center;
    min-height: 50px;
    padding: 0 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.74);
    color: var(--sf-ink);
    font-weight: 700;
    border: 1px solid rgba(17, 17, 20, 0.06);
}

.sf-app-shell-dark .sf-app-side-link,
.sf-app-shell-dark .sf-app-side-card-link {
    background: rgba(255, 255, 255, 0.08);
    color: var(--sf-white);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-app-side-link.is-active {
    background: linear-gradient(135deg, rgba(255, 99, 67, 0.12), rgba(255, 213, 79, 0.2));
    color: #d94122;
}

.sf-app-shell-dark .sf-app-side-link.is-active {
    background: linear-gradient(135deg, rgba(255, 99, 67, 0.24), rgba(255, 213, 79, 0.16));
    color: #fff0d5;
}

.sf-app-side-card {
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 248, 238, 0.96) 0%, rgba(255, 255, 255, 0.86) 100%);
    color: var(--sf-ink);
}

.sf-app-shell-dark .sf-app-side-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.04) 100%);
    color: var(--sf-white);
}

.sf-app-side-kicker {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sf-muted);
}

.sf-app-shell-dark .sf-app-side-kicker {
    color: rgba(255, 255, 255, 0.62);
}

.sf-app-sidebar-drawer {
    display: none;
}

.sf-app-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.sf-app-inline-brand {
    display: inline-flex;
    align-items: center;
    min-height: 72px;
    padding: 10px 18px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.7);
}

.sf-app-inline-logo {
    width: clamp(178px, 19vw, 244px);
    height: auto;
}

.sf-app-inline-brand-home {
    min-height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.sf-app-inline-logo-home {
    width: clamp(240px, 28vw, 360px);
}

.sf-app-topbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.sf-app-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.74);
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 12px 26px rgba(31, 35, 46, 0.08);
}

.sf-app-pill.is-primary {
    background: linear-gradient(135deg, #ff5a36 0%, #ff8c45 100%);
    color: var(--sf-white);
    border-color: rgba(255, 255, 255, 0.18);
}

.sf-app-pill.is-dark {
    background: rgba(255, 255, 255, 0.12);
    color: var(--sf-white);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-app-hero-card,
.sf-app-showcase-card,
.sf-app-panel,
.sf-app-content-card,
.sf-app-list-wrap,
.sf-portal-card,
.sf-dashboard-card,
.sf-portal-detail,
.sf-pro-panel {
    padding: 26px;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(255, 255, 255, 0.86);
    box-shadow: 0 24px 44px rgba(30, 38, 56, 0.1);
    backdrop-filter: blur(22px);
}

.sf-app-shell-dark .sf-pro-panel,
.sf-app-shell-dark .sf-app-content-card {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

.sf-app-content-card {
    padding: 0;
}

.sf-app-hero-card {
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.72) 42%),
        linear-gradient(135deg, rgba(255, 241, 236, 0.92) 0%, rgba(255, 249, 230, 0.86) 100%);
}

.sf-app-showcase-card {
    padding-bottom: 18px;
}

.sf-app-title,
.sf-portal-title,
.sf-dashboard-title {
    font-size: clamp(2.2rem, 4vw, 3.9rem);
}

.sf-app-subtitle,
.sf-portal-lead,
.sf-dashboard-lead {
    font-size: 1.08rem;
    max-width: 720px;
}

.sf-app-search-card {
    display: grid;
    gap: 6px;
    margin-top: 22px;
    padding: 18px 20px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255, 239, 238, 0.98) 0%, rgba(255, 250, 230, 0.96) 100%);
    border: 1px solid rgba(255, 136, 103, 0.26);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
}

.sf-app-top-actions {
    margin-top: 18px;
}

.sf-app-quick-link,
.sf-app-bottom-link,
.sf-button,
.sf-profile-link {
    min-height: 54px;
    padding: 0 22px;
    border-radius: 999px;
}

.sf-app-quick-link {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.84);
    font-size: 1rem;
    font-weight: 700;
    box-shadow: 0 12px 22px rgba(32, 36, 48, 0.08);
}

.sf-app-quick-link.is-secondary,
.sf-button-secondary {
    background: rgba(24, 26, 34, 0.94);
    color: var(--sf-white);
}

.sf-app-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.sf-app-category {
    min-height: 152px;
    padding: 18px 16px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.84);
}

.sf-app-category.is-active {
    background: linear-gradient(180deg, rgba(255, 244, 232, 0.98) 0%, rgba(255, 255, 255, 0.88) 100%);
    box-shadow: 0 24px 36px rgba(255, 111, 76, 0.12);
}

.sf-app-category-icon {
    width: 60px;
    height: 60px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 235, 227, 1) 0%, rgba(255, 249, 214, 1) 100%);
    color: #e65d3a;
    font-size: 1.35rem;
}

.sf-app-category-copy strong {
    font-size: 1rem;
}

.sf-app-category-copy span {
    font-size: 0.88rem;
}

.sf-app-panel-head {
    margin-bottom: 18px;
}

.sf-app-count {
    background: rgba(255, 255, 255, 0.78);
    color: var(--sf-ink);
    box-shadow: 0 10px 20px rgba(27, 35, 56, 0.08);
}

.sf-app-list-recommended {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-app-card-recommended {
    padding: 0;
    overflow: hidden;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.84);
}

.sf-app-card-cover {
    min-height: 158px;
    background: linear-gradient(135deg, rgba(255, 236, 228, 0.9), rgba(255, 250, 219, 0.9));
    display: flex;
    align-items: center;
    justify-content: center;
}

.sf-app-card-cover img {
    width: 100%;
    height: 158px;
    object-fit: cover;
}

.sf-app-card-cover .sf-avatar-pill {
    width: 88px;
    height: 88px;
    border-radius: 28px;
    font-size: 1.4rem;
}

.sf-app-card-body {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.sf-app-card-score {
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: var(--sf-ink);
}

.sf-app-card-score strong {
    font-size: 1.18rem;
}

.sf-app-card-score span {
    font-size: 0.82rem;
    color: var(--sf-muted);
}

.sf-app-card-body h3 {
    margin: 0;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.18rem;
}

.sf-app-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sf-app-tag {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 90, 54, 0.12);
    color: #d94223;
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.sf-app-tag.is-warm {
    background: rgba(255, 210, 107, 0.22);
    color: #8f6500;
}

.sf-app-drawer {
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.84);
}

.sf-app-drawer-toggle {
    font-size: 1rem;
}

.sf-app-nav {
    position: sticky;
    bottom: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 10px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: 0 18px 36px rgba(27, 35, 56, 0.12);
}

.sf-app-nav-link {
    min-height: 56px;
    border-radius: 18px;
    font-size: 0.88rem;
}

.sf-app-nav-link.is-active {
    background: linear-gradient(135deg, rgba(255, 234, 223, 0.98), rgba(255, 248, 212, 0.98));
    color: #d84824;
}

.sf-site-footer-app {
    margin-top: 14px;
    padding-bottom: 12px;
}

.sf-site-footer-app .sf-footer-inner {
    border-top: 0;
    color: rgba(17, 17, 20, 0.62);
}

.sf-app-page-account .sf-entry-content > * {
    margin-top: 0;
}

.sf-auth-form,
.sf-dashboard-shell,
.sf-dashboard-grid,
.sf-dashboard-stats,
.sf-pro-feedback {
    gap: 16px;
}

.sf-auth-field input,
.sf-auth-field select,
.sf-auth-field textarea {
    border-radius: 20px;
    border-color: rgba(17, 17, 20, 0.08);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.sf-dashboard-item,
.sf-pro-feedback-card {
    padding: 18px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(255, 255, 255, 0.82);
}

.sf-pro-frame .sf-dashboard-item,
.sf-pro-frame .sf-pro-feedback-card {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-pro-hero {
    padding: 26px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 25% 0%, rgba(255, 87, 87, 0.22), transparent 22%),
        radial-gradient(circle at 82% 18%, rgba(255, 215, 79, 0.18), transparent 18%),
        linear-gradient(180deg, rgba(28, 35, 52, 0.98) 0%, rgba(22, 28, 40, 0.98) 100%);
}

.sf-pro-head {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
}

.sf-pro-avatar {
    width: 142px;
    height: 142px;
    box-shadow: 0 0 0 4px rgba(255, 94, 94, 0.38), 0 0 0 12px rgba(255, 203, 79, 0.22);
}

.sf-pro-title {
    color: var(--sf-white);
    font-size: clamp(2.2rem, 4.5vw, 3.6rem);
}

.sf-pro-rating {
    display: grid;
    gap: 4px;
    min-width: 96px;
    text-align: right;
}

.sf-pro-rating strong {
    color: var(--sf-white);
    font-size: 2rem;
    line-height: 1;
}

.sf-pro-rating span {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.86rem;
}

.sf-pro-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-pro-feedback {
    display: grid;
    gap: 14px;
}

.sf-pro-feedback-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.sf-pro-feedback-user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sf-pro-feedback-user strong {
    display: block;
}

.sf-pro-feedback-user span {
    color: var(--sf-muted);
    font-size: 0.82rem;
}

.sf-pro-frame .sf-pro-feedback-user span {
    color: rgba(255, 255, 255, 0.64);
}

.sf-pro-feedback-score {
    color: #ffd451;
    font-weight: 800;
    white-space: nowrap;
}

.sf-pro-frame .sf-entry-content,
.sf-pro-frame .sf-entry-content p,
.sf-pro-frame .sf-entry-content li,
.sf-pro-frame .sf-panel-heading h2,
.sf-pro-frame .sf-panel-copy,
.sf-pro-frame .sf-pro-detail span,
.sf-pro-frame .sf-pro-detail strong,
.sf-pro-frame .sf-app-mini-label {
    color: rgba(255, 255, 255, 0.88);
}

.sf-pro-frame .sf-app-mini-label,
.sf-pro-frame .sf-profile-chip {
    background: rgba(255, 255, 255, 0.08);
}

.sf-pro-frame .sf-pro-detail {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-pro-frame .sf-profile-link {
    background: rgba(255, 255, 255, 0.1);
    color: var(--sf-white);
}

.schiofix-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.schiofix-card {
    padding: 20px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.84);
}

.sf-card-top-copy h3 {
    font-size: 1.12rem;
}

@media (max-width: 1024px) {
    .sf-app-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-app-sidebar {
        display: none;
    }

    .sf-app-sidebar-drawer {
        display: block;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 60;
    }

    .sf-app-sidebar-drawer[open] {
        inset: 0;
        z-index: 90;
    }

    .sf-app-sidebar-drawer[open]::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(8, 11, 18, 0.72);
        backdrop-filter: blur(8px);
    }

    .sf-app-sidebar-toggle {
        width: 56px;
        height: 56px;
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.86);
        border: 1px solid rgba(255, 255, 255, 0.84);
        box-shadow: 0 18px 32px rgba(24, 32, 48, 0.14);
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        list-style: none;
        cursor: pointer;
    }

    .sf-app-sidebar-toggle::-webkit-details-marker {
        display: none;
    }

    .sf-app-sidebar-toggle span {
        width: 20px;
        height: 2px;
        border-radius: 999px;
        background: var(--sf-ink);
    }

    .sf-app-sidebar-drawer[open] .sf-app-sidebar-toggle {
        position: fixed;
        left: 16px;
        top: 16px;
        z-index: 96;
    }

    .sf-app-sidebar-drawer[open] .sf-app-sidebar-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .sf-app-sidebar-drawer[open] .sf-app-sidebar-toggle span:nth-child(2) {
        opacity: 0;
    }

    .sf-app-sidebar-drawer[open] .sf-app-sidebar-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .sf-app-sidebar-panel {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: min(88vw, 340px);
        padding: 88px 22px 22px;
        border-radius: 0 30px 30px 0;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid rgba(255, 255, 255, 0.84);
        box-shadow: 0 24px 44px rgba(24, 32, 48, 0.18);
        display: grid;
        align-content: start;
        gap: 16px;
        overflow-y: auto;
        z-index: 94;
    }

    .sf-app-sidebar-panel-head {
        display: inline-flex;
        align-items: center;
        min-height: 68px;
        padding: 2px 0 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    body.page-area-clienti .sf-page-shell.sf-app-page,
    body.sf-is-area-clienti .sf-page-shell.sf-app-page,
    body.page-id-17 .sf-page-shell.sf-app-page {
        width: 100%;
        padding: 0;
    }

    body.page-area-clienti .sf-app-frame-account,
    body.sf-is-area-clienti .sf-app-frame-account,
    body.page-id-17 .sf-app-frame-account {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    body.page-area-clienti .sf-app-frame-account::before,
    body.sf-is-area-clienti .sf-app-frame-account::before,
    body.page-id-17 .sf-app-frame-account::before {
        display: none;
    }
}

.sf-app-embed-shell {
    width: 100%;
    padding: 0;
    margin: 0;
}

.sf-app-embed-entry {
    width: 100%;
}

body.sf-is-standalone .sf-app-embed-shell,
body.sf-is-standalone .sf-app-embed-entry {
    background: transparent;
}

@media (max-width: 900px) {
    .sf-app-list-recommended,
    .schiofix-grid,
    .sf-pro-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-pro-head {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-pro-rating {
        text-align: left;
    }
}

@media (max-width: 680px) {
    .sf-app-frame,
    .sf-app-frame-account,
    .sf-pro-frame {
        padding: 14px;
        border-radius: 28px;
    }

    .sf-app-frame::before,
    .sf-app-frame-account::before,
    .sf-pro-frame::before {
        inset: 12px;
        border-radius: 24px;
    }

    .sf-app-topbar {
        padding-left: 68px;
        align-items: flex-start;
        flex-direction: column;
    }

    body.sf-is-area-clienti .sf-app-topbar-account {
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
    }

    .sf-app-inline-brand {
        min-height: 64px;
        padding: 8px 16px;
    }

    .sf-app-inline-logo {
        width: clamp(170px, 48vw, 216px);
    }

    .sf-app-topbar-actions {
        justify-content: flex-start;
    }

    body.sf-is-area-clienti .sf-app-topbar-actions {
        margin-left: 0;
    }

    .sf-app-hero-card,
    .sf-app-showcase-card,
    .sf-app-panel,
    .sf-app-content-card,
    .sf-app-list-wrap,
    .sf-portal-card,
    .sf-dashboard-card,
    .sf-portal-detail,
    .sf-pro-panel,
    .sf-pro-hero {
        padding: 20px;
        border-radius: 26px;
    }

    .sf-app-categories {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-app-nav {
        gap: 6px;
        padding: 8px;
    }

    .sf-app-nav-link {
        min-height: 48px;
        font-size: 0.75rem;
    }

    .sf-app-pill,
    .sf-app-quick-link,
    .sf-button,
    .sf-profile-link {
        min-height: 48px;
        padding: 0 18px;
    }
}

@media (min-width: 1025px) {
    .sf-page-shell.sf-app-page {
        width: min(calc(100% - 40px), 1560px);
        padding: 28px 0 42px;
    }

    .sf-app-frame,
    .sf-app-frame-account,
    .sf-pro-frame {
        width: 100%;
        max-width: none;
        padding: 24px;
        border-radius: 42px;
    }

    .sf-app-frame::before,
    .sf-app-frame-account::before,
    .sf-pro-frame::before {
        inset: 24px;
        border-radius: 36px;
    }

    .sf-app-shell {
        grid-template-columns: 290px minmax(0, 1fr);
        gap: 24px;
    }

    .sf-app-sidebar {
        top: 24px;
        min-height: calc(100vh - 72px);
    }

    body.admin-bar .sf-app-sidebar {
        top: 56px;
        min-height: calc(100vh - 104px);
    }

    .sf-app-nav {
        display: none;
    }

    .sf-app-topbar {
        justify-content: flex-end;
    }

    .sf-app-topbar-actions {
        margin-left: auto;
    }

    .sf-app-main-home {
        grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
        grid-template-areas:
            "topbar topbar"
            "hero showcase"
            "panel panel"
            "drawer drawer";
        align-items: start;
    }

    .sf-app-topbar-home {
        grid-area: topbar;
    }

    .sf-app-hero-card-home {
        grid-area: hero;
        min-height: 100%;
        padding: 34px;
    }

    .sf-app-showcase-card-home {
        grid-area: showcase;
        position: sticky;
        top: 24px;
        padding: 28px;
    }

    body.admin-bar .sf-app-showcase-card-home {
        top: 56px;
    }

    .sf-app-panel-recommended {
        grid-area: panel;
    }

    .sf-app-drawer-home {
        grid-area: drawer;
    }

    .sf-app-main-home .sf-app-categories {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-app-main-home .sf-app-search-card {
        max-width: 640px;
    }

    .sf-app-main-home .sf-app-list-recommended {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sf-app-main-home .sf-app-card-recommended,
    .sf-app-main-profile .sf-pro-panel {
        height: 100%;
    }

    .sf-app-main-home .sf-app-card-body {
        padding: 20px;
    }

    .sf-app-main-archive,
    .sf-app-main-account {
        gap: 22px;
    }

    .sf-app-main-profile {
        grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
        grid-template-areas:
            "topbar topbar"
            "hero hero"
            "about details"
            "feedback gallery"
            "cta cta";
        align-items: start;
    }

    .sf-app-topbar-profile {
        grid-area: topbar;
    }

    .sf-pro-hero-main {
        grid-area: hero;
        padding: 34px;
    }

    .sf-pro-panel-about {
        grid-area: about;
        margin-top: 0;
    }

    .sf-pro-panel-details {
        grid-area: details;
        margin-top: 0;
    }

    .sf-pro-panel-feedback {
        grid-area: feedback;
        margin-top: 0;
    }

    .sf-pro-panel-gallery {
        grid-area: gallery;
        margin-top: 0;
    }

    .sf-pro-cta-row-main {
        grid-area: cta;
    }

    .sf-pro-head {
        gap: 18px;
    }

    .sf-pro-avatar {
        width: 156px;
        height: 156px;
    }

    .schiofix-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sf-dashboard-grid {
        grid-template-columns: minmax(0, 1.18fr) 340px;
    }

    .sf-dashboard-grid-pro {
        grid-template-columns: minmax(0, 1.22fr) 360px;
    }
}

@media (min-width: 1280px) {
    .sf-app-main-home .sf-app-list-recommended {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sf-app-main-home .sf-app-title {
        max-width: 10ch;
    }

    .sf-app-main-profile {
        grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr);
    }
}

.sf-app-page:not(.sf-pro-page) .sf-app-frame,
.sf-app-page:not(.sf-pro-page) .sf-app-frame-account {
    background: rgba(17, 22, 34, 0.72);
    border-color: rgba(255, 255, 255, 0.14);
}

.sf-app-page:not(.sf-pro-page) .sf-app-frame::before,
.sf-app-page:not(.sf-pro-page) .sf-app-frame-account::before {
    background:
        radial-gradient(circle at 78% 16%, rgba(255, 86, 48, 0.16), transparent 20%),
        radial-gradient(circle at 14% 12%, rgba(255, 199, 44, 0.12), transparent 18%),
        linear-gradient(180deg, rgba(24, 30, 44, 0.96) 0%, rgba(17, 22, 34, 0.94) 100%);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-app-page:not(.sf-pro-page) .sf-app-sidebar,
.sf-app-page:not(.sf-pro-page) .sf-app-inline-brand,
.sf-app-page:not(.sf-pro-page) .sf-app-pill:not(.is-primary),
.sf-app-page:not(.sf-pro-page) .sf-app-side-link,
.sf-app-page:not(.sf-pro-page) .sf-app-side-card-link,
.sf-app-page:not(.sf-pro-page) .sf-app-category,
.sf-app-page:not(.sf-pro-page) .sf-app-card-recommended,
.sf-app-page:not(.sf-pro-page) .sf-app-panel,
.sf-app-page:not(.sf-pro-page) .sf-app-showcase-card,
.sf-app-page:not(.sf-pro-page) .sf-app-hero-card,
.sf-app-page:not(.sf-pro-page) .sf-app-drawer,
.sf-app-page:not(.sf-pro-page) .sf-app-list-wrap,
.sf-app-page:not(.sf-pro-page) .sf-app-content-card,
.sf-app-page:not(.sf-pro-page) .sf-portal-card,
.sf-app-page:not(.sf-pro-page) .sf-portal-detail,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-card,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-item,
.sf-app-page:not(.sf-pro-page) .sf-auth-note {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
    color: var(--sf-white);
}

.sf-app-page:not(.sf-pro-page) .sf-app-hero-card {
    background:
        radial-gradient(circle at 22% 0%, rgba(255, 86, 48, 0.18), transparent 24%),
        radial-gradient(circle at 84% 16%, rgba(255, 199, 44, 0.14), transparent 18%),
        linear-gradient(180deg, rgba(28, 35, 52, 0.98) 0%, rgba(22, 28, 40, 0.98) 100%);
}

.sf-app-page:not(.sf-pro-page) .sf-app-showcase-card,
.sf-app-page:not(.sf-pro-page) .sf-app-drawer,
.sf-app-page:not(.sf-pro-page) .sf-app-list-wrap,
.sf-app-page:not(.sf-pro-page) .sf-app-content-card,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-card,
.sf-app-page:not(.sf-pro-page) .sf-portal-card,
.sf-app-page:not(.sf-pro-page) .sf-portal-detail {
    background: rgba(255, 255, 255, 0.06);
}

.sf-app-page:not(.sf-pro-page) .sf-app-search-card {
    background: linear-gradient(135deg, rgba(255, 96, 72, 0.22), rgba(255, 205, 88, 0.18));
    border-color: rgba(255, 185, 132, 0.18);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.sf-app-page:not(.sf-pro-page) .sf-app-search-card strong,
.sf-app-page:not(.sf-pro-page) .sf-app-card-score,
.sf-app-page:not(.sf-pro-page) .sf-app-card-body h3,
.sf-app-page:not(.sf-pro-page) .sf-panel-heading h2,
.sf-app-page:not(.sf-pro-page) .sf-app-panel-head h2,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-title,
.sf-app-page:not(.sf-pro-page) .sf-portal-title,
.sf-app-page:not(.sf-pro-page) .sf-app-title,
.sf-app-page:not(.sf-pro-page) .sf-entry-content,
.sf-app-page:not(.sf-pro-page) .sf-entry-content p,
.sf-app-page:not(.sf-pro-page) .sf-entry-content li,
.sf-app-page:not(.sf-pro-page) .sf-auth-field label {
    color: var(--sf-white);
}

.sf-app-page:not(.sf-pro-page) .sf-app-subtitle,
.sf-app-page:not(.sf-pro-page) .sf-portal-lead,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-lead,
.sf-app-page:not(.sf-pro-page) .sf-panel-copy,
.sf-app-page:not(.sf-pro-page) .sf-app-category-copy span,
.sf-app-page:not(.sf-pro-page) .sf-app-card-score span,
.sf-app-page:not(.sf-pro-page) .sf-card-role,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-item p,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-item-meta,
.sf-app-page:not(.sf-pro-page) .sf-auth-note span,
.sf-app-page:not(.sf-pro-page) .sf-app-drawer-body,
.sf-app-page:not(.sf-pro-page) .sf-app-side-kicker,
.sf-app-page:not(.sf-pro-page) .sf-app-category-copy,
.sf-app-page:not(.sf-pro-page) .sf-app-search-label,
.sf-app-page:not(.sf-pro-page) .sf-app-mini-label {
    color: rgba(255, 255, 255, 0.72);
}

.sf-app-page:not(.sf-pro-page) .sf-dashboard-contact-link {
    color: #ffd36a;
}

.sf-app-page:not(.sf-pro-page) .sf-dashboard-contact-link:hover,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-contact-link:focus-visible {
    color: #fff1a8;
}

.sf-app-page:not(.sf-pro-page) .sf-dashboard-stat span {
    color: rgba(255, 255, 255, 0.82);
}

.sf-app-page:not(.sf-pro-page) .sf-dashboard-stat strong {
    color: var(--sf-white);
}

.sf-app-page:not(.sf-pro-page) .sf-app-mini-label,
.sf-app-page:not(.sf-pro-page) .sf-app-badge,
.sf-app-page:not(.sf-pro-page) .sf-profile-chip {
    background: rgba(255, 255, 255, 0.08);
}

.sf-app-page:not(.sf-pro-page) .sf-app-badge {
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.14);
}

.sf-app-page:not(.sf-pro-page) .sf-app-side-link.is-active,
.sf-app-page:not(.sf-pro-page) .sf-app-category.is-active,
.sf-app-page:not(.sf-pro-page) .sf-app-nav-link.is-active {
    background: linear-gradient(135deg, rgba(255, 96, 72, 0.24), rgba(255, 205, 88, 0.18));
    color: #fff0d5;
    box-shadow: none;
}

.sf-app-page:not(.sf-pro-page) .sf-app-category-icon,
.sf-app-page:not(.sf-pro-page) .sf-avatar-pill {
    background: linear-gradient(135deg, rgba(255, 96, 72, 0.18), rgba(255, 205, 88, 0.22));
    color: #fff0d5;
}

.sf-app-page:not(.sf-pro-page) .sf-app-tag {
    background: rgba(255, 96, 72, 0.16);
    color: #ffd7c7;
}

.sf-app-page:not(.sf-pro-page) .sf-app-tag.is-warm {
    background: rgba(255, 205, 88, 0.18);
    color: #ffe8a3;
}

.sf-app-page:not(.sf-pro-page) .sf-app-count,
.sf-app-page:not(.sf-pro-page) .sf-chip-link {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
    color: var(--sf-white);
    box-shadow: none;
}

.sf-app-page .sf-auth-field select,
.sf-app-page .schx-beta-form select {
    color-scheme: dark;
}

.sf-custom-select {
    position: relative;
    width: 100%;
    --sf-custom-select-bg: #ffffff;
    --sf-custom-select-panel-bg: #ffffff;
    --sf-custom-select-border: rgba(20, 24, 36, 0.14);
    --sf-custom-select-text: #171a24;
    --sf-custom-select-muted: rgba(23, 26, 36, 0.54);
    --sf-custom-select-highlight: rgba(255, 96, 72, 0.12);
    --sf-custom-select-highlight-strong: rgba(255, 96, 72, 0.18);
    --sf-custom-select-shadow: 0 20px 40px rgba(18, 22, 33, 0.16);
}

.sf-custom-select-native {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.sf-custom-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    border: 1px solid var(--sf-custom-select-border);
    border-radius: 16px;
    background: var(--sf-custom-select-bg);
    color: var(--sf-custom-select-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.sf-custom-select-trigger:hover {
    border-color: rgba(255, 96, 72, 0.32);
}

.sf-custom-select-trigger:disabled {
    opacity: 0.62;
    cursor: not-allowed;
}

.sf-custom-select-trigger:focus-visible {
    outline: none;
    border-color: rgba(255, 96, 72, 0.48);
    box-shadow: 0 0 0 4px rgba(255, 96, 72, 0.14);
}

.sf-custom-select-trigger.is-placeholder .sf-custom-select-value {
    color: var(--sf-custom-select-muted);
}

.sf-custom-select-value {
    min-width: 0;
    flex: 1 1 auto;
}

.sf-custom-select-chevron {
    position: relative;
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
}

.sf-custom-select-chevron::before,
.sf-custom-select-chevron::after {
    content: '';
    position: absolute;
    top: 4px;
    width: 7px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 160ms ease;
}

.sf-custom-select-chevron::before {
    left: 0;
    transform: rotate(45deg);
}

.sf-custom-select-chevron::after {
    right: 0;
    transform: rotate(-45deg);
}

.sf-custom-select.is-open .sf-custom-select-chevron::before {
    transform: rotate(-45deg);
}

.sf-custom-select.is-open .sf-custom-select-chevron::after {
    transform: rotate(45deg);
}

.sf-custom-select-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 60;
    border: 1px solid var(--sf-custom-select-border);
    border-radius: 18px;
    background: var(--sf-custom-select-panel-bg);
    box-shadow: var(--sf-custom-select-shadow);
    overflow: hidden;
}

.sf-custom-select-list {
    display: grid;
    gap: 4px;
    max-height: 260px;
    padding: 8px;
    overflow-y: auto;
}

.sf-custom-select-option {
    width: 100%;
    padding: 12px 14px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--sf-custom-select-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 160ms ease, color 160ms ease;
}

.sf-custom-select-option:hover,
.sf-custom-select-option:focus-visible {
    outline: none;
    background: var(--sf-custom-select-highlight);
}

.sf-custom-select-option.is-selected {
    background: var(--sf-custom-select-highlight-strong);
    font-weight: 700;
}

.sf-custom-select-option:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.sf-app-page .sf-auth-field .sf-custom-select,
.sf-app-page .schx-beta-form .sf-custom-select {
    --sf-custom-select-bg: rgba(255, 255, 255, 0.06);
    --sf-custom-select-panel-bg: #1b2232;
    --sf-custom-select-border: rgba(255, 255, 255, 0.08);
    --sf-custom-select-text: #f5f7fb;
    --sf-custom-select-muted: rgba(245, 247, 251, 0.54);
    --sf-custom-select-highlight: rgba(255, 255, 255, 0.08);
    --sf-custom-select-highlight-strong: rgba(255, 96, 72, 0.2);
    --sf-custom-select-shadow: 0 24px 42px rgba(4, 7, 14, 0.34);
}

.sf-app-page:not(.sf-pro-page) .sf-app-nav {
    background: rgba(17, 22, 34, 0.92);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 36px rgba(4, 7, 14, 0.34);
}

.sf-app-page:not(.sf-pro-page) .sf-app-nav-link {
    color: rgba(255, 255, 255, 0.72);
}

.sf-app-page:not(.sf-pro-page) .sf-app-sidebar-toggle,
.sf-app-page:not(.sf-pro-page) .sf-app-sidebar-panel {
    background: rgba(17, 22, 34, 0.96);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-app-page:not(.sf-pro-page) .sf-app-inline-brand {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
}

body.sf-is-area-clienti .sf-app-topbar-account {
    justify-content: flex-end;
}

.sf-app-page:not(.sf-pro-page) .sf-app-sidebar-panel-head {
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

.sf-app-page:not(.sf-pro-page) .sf-app-sidebar-toggle span {
    background: var(--sf-white);
}

.sf-app-page:not(.sf-pro-page) .sf-app-quick-link,
.sf-app-page:not(.sf-pro-page) .sf-profile-link {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--sf-white);
    box-shadow: none;
}

.sf-app-service-pills {
    margin-top: 16px;
}

.sf-chip-link.is-active {
    background: linear-gradient(135deg, rgba(255, 96, 72, 0.24), rgba(255, 205, 88, 0.18));
    color: #fff0d5;
}

.sf-app-tag-response.sf-app-tag-fast,
.schiofix-meta-response-fast {
    background: rgba(78, 214, 133, 0.18);
    color: #cffff4;
}

.sf-app-tag-response.sf-app-tag-medium,
.schiofix-meta-response-medium {
    background: rgba(255, 205, 88, 0.18);
    color: #ffe9a8;
}

.sf-app-tag-response.sf-app-tag-slow,
.schiofix-meta-response-slow {
    background: rgba(255, 96, 72, 0.18);
    color: #ffd0c7;
}

.sf-pro-stat-response-fast,
.sf-pro-detail-response-fast {
    background: rgba(78, 214, 133, 0.14);
    border-color: rgba(78, 214, 133, 0.28);
}

.sf-pro-stat-response-medium,
.sf-pro-detail-response-medium {
    background: rgba(255, 205, 88, 0.14);
    border-color: rgba(255, 205, 88, 0.28);
}

.sf-pro-stat-response-slow,
.sf-pro-detail-response-slow {
    background: rgba(255, 96, 72, 0.14);
    border-color: rgba(255, 96, 72, 0.28);
}

.schiofix-meta-response {
    padding: 10px 12px;
    border-radius: 16px;
    font-weight: 700;
}

.schiofix-meta-response strong {
    color: inherit;
}

.schx-beta-target {
    display: grid;
    gap: 8px;
}

.schx-beta-target-card {
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(17, 17, 20, 0.04);
    border: 1px solid rgba(17, 17, 20, 0.08);
}

.schx-beta-target-card strong {
    font-size: 1rem;
}

.schx-beta-target-card span {
    color: var(--sf-muted);
    font-size: 0.84rem;
}

.sf-dashboard-item-title {
    display: grid;
    gap: 4px;
}

.sf-dashboard-item-title span {
    color: var(--sf-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.sf-dashboard-item-note {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(17, 17, 20, 0.05);
    border: 1px solid rgba(17, 17, 20, 0.08);
    color: var(--sf-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.sf-request-feedback {
    margin-top: 12px;
    padding: 16px;
    border-radius: 20px;
    background: rgba(17, 17, 20, 0.04);
    border: 1px solid rgba(17, 17, 20, 0.08);
}

.sf-request-feedback-head {
    display: grid;
    gap: 4px;
}

.sf-request-feedback-head span {
    color: var(--sf-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.sf-request-feedback-grid {
    display: grid;
    grid-template-columns: minmax(160px, 190px) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.sf-request-feedback-signals-field {
    display: grid;
    gap: 10px;
}

.sf-feedback-signal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sf-request-feedback-signals-note {
    color: var(--sf-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.sf-feedback-signal-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.sf-feedback-signal-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(17, 17, 20, 0.08);
    background: rgba(17, 17, 20, 0.06);
    color: var(--sf-text);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
}

.sf-feedback-signal-chip small {
    font-size: 0.72rem;
    font-weight: 800;
    opacity: 0.84;
}

.sf-feedback-signal-chip-tone-positive {
    background: rgba(45, 173, 93, 0.12);
    border-color: rgba(45, 173, 93, 0.2);
    color: #1d6b40;
}

.sf-feedback-signal-chip-tone-warning {
    background: rgba(255, 112, 67, 0.12);
    border-color: rgba(255, 112, 67, 0.22);
    color: #9b3f1f;
}

.sf-request-feedback .sf-auth-field textarea {
    min-height: 104px;
}

.sf-request-feedback .sf-button {
    justify-self: start;
}

.sf-dashboard-item-actions {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.sf-dashboard-item-actions-compact {
    margin-top: 0;
}

.sf-request-rejection-form {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.sf-request-rejection-form .sf-auth-field textarea {
    min-height: 88px;
}

.sf-request-inline-note {
    color: var(--sf-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.sf-button[disabled] {
    opacity: 0.46;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.sf-status-pill-open {
    background: rgba(83, 168, 255, 0.16);
    color: #1d72c9;
}

.sf-status-pill-assigned,
.sf-status-pill-new {
    background: rgba(255, 205, 88, 0.16);
    color: #b67d08;
}

.sf-status-pill-in_progress,
.sf-status-pill-waiting_admin {
    background: rgba(83, 168, 255, 0.16);
    color: #1d72c9;
}

.sf-status-pill-waiting_user,
.sf-status-pill-resolved {
    background: rgba(78, 214, 133, 0.16);
    color: #1a8a4b;
}

.sf-status-pill-accepted {
    background: rgba(78, 214, 133, 0.16);
    color: #1a8a4b;
}

.sf-status-pill-rejected,
.sf-status-pill-ignored,
.sf-status-pill-closed {
    background: rgba(255, 96, 72, 0.16);
    color: #d14b32;
}

.sf-status-pill-cancelled {
    background: rgba(107, 114, 128, 0.18);
    color: #626d7f;
}

.sf-app-page:not(.sf-pro-page) .schx-beta-target-card,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-item-note,
.sf-app-page:not(.sf-pro-page) .sf-request-feedback {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
}

.sf-app-page:not(.sf-pro-page) .schx-beta-target-card span,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-item-title span,
.sf-app-page:not(.sf-pro-page) .sf-dashboard-item-note,
.sf-app-page:not(.sf-pro-page) .sf-request-feedback-head span,
.sf-app-page:not(.sf-pro-page) .sf-request-feedback-signals-note,
.sf-app-page:not(.sf-pro-page) .sf-request-inline-note {
    color: rgba(255, 255, 255, 0.74);
}

@media (max-width: 640px) {
    .sf-portal-register-choice-grid {
        grid-template-columns: 1fr;
    }

    .sf-request-feedback-grid {
        grid-template-columns: 1fr;
    }

    .sf-feedback-signal-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1025px) {
    .sf-app-main-home {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "topbar"
            "hero"
            "panel"
            "drawer";
    }

    .sf-app-topbar-home {
        grid-area: topbar;
        justify-content: flex-start;
        padding: 6px 0 4px;
    }
}

.sf-app-service-pills {
    margin-top: 24px;
}

.sf-app-drawer-home {
    margin-bottom: 24px;
}

body.single-schx_professional {
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 91, 71, 0.18), transparent 24%),
        radial-gradient(circle at 82% 78%, rgba(255, 211, 76, 0.16), transparent 24%),
        linear-gradient(180deg, #151923 0%, #1a1f2b 100%);
}

body.single-schx_professional .sf-site-footer-app {
    display: none;
}

body.single-schx_professional .sf-site-footer {
    display: none;
}

body.single-schx_professional .sf-page-shell {
    width: min(calc(100% - 24px), 1320px);
    padding: 28px 0 40px;
}

.sf-pro-page {
    min-height: 100vh;
}

.sf-pro-layout-shell {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.sf-pro-stage-wrap {
    min-width: 0;
    display: flex;
    justify-content: center;
}

.sf-pro-mock-stage {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: calc(100vh - 48px);
    padding: 10px 0 8px;
}

.sf-pro-mock-stage::before,
.sf-pro-mock-stage::after {
    content: "";
    position: absolute;
    top: 76px;
    width: 430px;
    height: min(980px, calc(100vh - 80px));
    border-radius: 42px;
    background:
        linear-gradient(180deg, rgba(110, 117, 133, 0.22) 0%, rgba(56, 61, 75, 0.2) 100%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
    opacity: 0.55;
    z-index: 0;
}

.sf-pro-mock-stage::before {
    transform: translateX(-285px) scale(0.96);
}

.sf-pro-mock-stage::after {
    transform: translateX(285px) scale(0.96);
}

.sf-pro-mock-device {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    width: min(442px, 100%);
    height: min(980px, calc(100vh - 72px));
    overflow: hidden;
    border-radius: 44px;
    background:
        linear-gradient(180deg, rgba(104, 111, 126, 0.2) 0%, rgba(61, 66, 80, 0.18) 100%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 34px 90px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(22px);
}

.sf-pro-mock-device::before {
    content: "";
    position: absolute;
    inset: 16px;
    border-radius: 38px;
    background:
        radial-gradient(circle at 18% 24%, rgba(255, 90, 72, 0.16), transparent 28%),
        radial-gradient(circle at 84% 18%, rgba(255, 210, 78, 0.16), transparent 26%),
        linear-gradient(180deg, rgba(71, 76, 92, 0.86) 0%, rgba(46, 50, 62, 0.94) 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    z-index: 0;
}

.sf-pro-mock-scroll,
.sf-pro-mock-bottom {
    position: relative;
    z-index: 1;
}

.sf-pro-mock-scroll {
    overflow-y: auto;
    padding: 1px 18px 10px;
    scrollbar-width: none;
}

.sf-pro-mock-scroll::-webkit-scrollbar {
    display: none;
}

.sf-pro-mock-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.sf-pro-mock-brand {
    display: inline-flex;
    align-items: center;
}

.sf-pro-mock-logo {
    width: 122px;
    height: auto;
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.18));
}

.sf-pro-mock-top-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.sf-pro-mock-icon-button {
    position: relative;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.92);
    background: transparent;
    border: 0;
}

.sf-pro-mock-top-actions .sf-pro-mock-icon-button:first-child::after {
    content: "";
    position: absolute;
    top: 3px;
    right: 4px;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #ff4b57;
    box-shadow: 0 0 0 2px rgba(34, 38, 48, 0.92);
}

.sf-pro-mock-icon-button svg {
    width: 18px;
    height: 18px;
}

.sf-pro-mock-meta {
    margin: 8px 0 8px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.84rem;
    line-height: 1.35;
}

.sf-pro-mock-meta span {
    color: rgba(255, 255, 255, 0.48);
    padding: 0 3px;
}

.sf-pro-mock-hero-card,
.sf-pro-mock-section,
.sf-pro-mock-review-card {
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.08) 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 18px 34px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(18px);
}

.sf-pro-mock-hero-card {
    overflow: hidden;
}

.sf-pro-mock-hero-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 14px 14px 7px;
}

.sf-pro-mock-avatar-ring {
    width: 136px;
    height: 136px;
    padding: 9px;
    border-radius: 999px;
    background:
        radial-gradient(circle at center, rgba(24, 27, 36, 0.84) 58%, transparent 59%),
        conic-gradient(from 210deg, #ff3a57 0deg, #ff5750 110deg, #ffce2e 260deg, #ff6c40 360deg);
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.05),
        0 0 24px rgba(255, 63, 84, 0.42),
        0 0 42px rgba(255, 205, 57, 0.18);
}

.sf-pro-mock-avatar {
    width: 100%;
    height: 100%;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.12);
    border: 4px solid rgba(255, 255, 255, 0.08);
}

.sf-pro-mock-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-pro-mock-avatar-fallback {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--sf-white);
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 2rem;
    font-weight: 700;
}

.sf-pro-mock-score {
    min-width: 110px;
    text-align: left;
}

.sf-pro-mock-score strong {
    display: block;
    color: var(--sf-white);
    font-size: 1.78rem;
    line-height: 0.92;
    font-weight: 800;
}

.sf-pro-mock-score strong span {
    color: #ffd73d;
    font-size: 1.2rem;
    vertical-align: 0.08em;
}

.sf-pro-mock-score > span {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.86rem;
    line-height: 1.25;
}

.sf-pro-mock-statbar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
}

.sf-pro-mock-stat {
    padding: 10px 7px 9px;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.sf-pro-mock-stat:last-child {
    border-right: 0;
}

.sf-pro-mock-stat strong {
    display: block;
    color: var(--sf-white);
    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1;
}

.sf-pro-mock-stat span {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.7rem;
    line-height: 1.15;
}

.sf-pro-mock-section {
    margin-top: 10px;
    padding: 10px 11px 11px;
}

.sf-pro-mock-section h2 {
    margin: 0 0 6px;
    color: rgba(255, 255, 255, 0.98);
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.sf-pro-mock-section p {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.86rem;
    line-height: 1.24;
}

.sf-pro-mock-about-copy {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.sf-pro-mock-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.sf-pro-mock-gallery-item {
    aspect-ratio: 1 / 0.72;
    overflow: hidden;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.sf-pro-mock-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-pro-mock-gallery-item-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.88);
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    background:
        radial-gradient(circle at 30% 28%, rgba(255, 96, 74, 0.26), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
}

.sf-pro-mock-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 7px;
}

.sf-pro-mock-section-head span {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.78rem;
    white-space: nowrap;
}

.sf-pro-mock-review-card {
    padding: 10px 10px 11px;
}

.sf-pro-mock-review-track {
    display: flex;
    gap: 10px;
    overflow: hidden;
}

.sf-pro-mock-review-track .sf-pro-mock-review-card {
    flex: 0 0 82%;
}

.sf-pro-mock-review-card-peek {
    flex-basis: 44%;
}

.sf-app-main-home .sf-app-panel-recommended {
    overflow: hidden;
}

.sf-app-main-home .sf-app-list-recommended {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.sf-app-main-home .sf-app-list-recommended::-webkit-scrollbar {
    display: none;
}

.sf-app-main-home .sf-app-card-recommended {
    flex: 0 0 min(320px, 78vw);
    scroll-snap-align: start;
}

.sf-pro-mock-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.sf-pro-mock-review-user {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.sf-pro-mock-review-avatar {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--sf-white);
    background: linear-gradient(135deg, rgba(255, 102, 80, 0.92), rgba(255, 213, 63, 0.96));
    font-size: 0.88rem;
    font-weight: 800;
}

.sf-pro-mock-review-user strong {
    display: block;
    color: rgba(255, 255, 255, 0.98);
    font-size: 0.9rem;
    line-height: 1.15;
}

.sf-pro-mock-review-user span {
    display: block;
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.72rem;
    line-height: 1.2;
}

.sf-pro-mock-stars {
    color: #ffd73d;
    font-size: 0.92rem;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.sf-pro-mock-review-card p {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.82rem;
    line-height: 1.2;
}

.sf-pro-mock-review-message {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.sf-pro-mock-see-all {
    display: block;
    margin-top: 8px;
    text-align: center;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.8rem;
    font-weight: 700;
}

.sf-pro-mock-bottom {
    padding: 9px 12px 11px;
    background:
        linear-gradient(180deg, rgba(44, 49, 62, 0) 0%, rgba(33, 37, 48, 0.86) 12%, rgba(33, 37, 48, 0.98) 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sf-pro-mock-cta-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
    gap: 12px;
}

.sf-pro-mock-cta {
    min-height: 54px;
    padding: 0 14px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 800;
    transition: transform 0.18s ease;
}

.sf-pro-mock-cta:hover {
    transform: translateY(-1px);
}

.sf-pro-mock-cta-secondary {
    color: rgba(255, 255, 255, 0.98);
    background: rgba(27, 31, 42, 0.94);
    border: 2px solid rgba(255, 75, 87, 0.86);
    box-shadow:
        0 0 0 1px rgba(255, 75, 87, 0.18),
        0 0 24px rgba(255, 75, 87, 0.24);
}

.sf-pro-mock-cta-primary {
    color: #191919;
    background: linear-gradient(180deg, #ffe44f 0%, #ffce1f 100%);
    box-shadow: 0 14px 28px rgba(255, 208, 37, 0.3);
}

.sf-pro-mock-cta-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sf-pro-mock-cta-icon svg {
    width: 20px;
    height: 20px;
}

.sf-pro-mock-cta-copy {
    display: grid;
    gap: 1px;
    text-align: left;
    line-height: 1.05;
}

.sf-pro-mock-cta-copy strong {
    font-size: 0.9rem;
}

.sf-pro-mock-cta-copy small {
    font-size: 0.68rem;
    font-weight: 700;
    opacity: 0.82;
}

.sf-pro-mock-cta-label {
    font-size: 0.92rem;
}

.sf-pro-mock-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-top: 6px;
    padding-top: 7px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sf-pro-mock-nav-item {
    display: grid;
    justify-items: center;
    gap: 4px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.64rem;
    line-height: 1.1;
    font-weight: 600;
    text-align: center;
}

.sf-pro-mock-nav-item.is-active {
    color: rgba(255, 255, 255, 0.98);
}

.sf-pro-mock-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sf-pro-mock-nav-icon svg {
    width: 19px;
    height: 19px;
}

@media (max-width: 1100px) {
    .sf-pro-mock-stage::before,
    .sf-pro-mock-stage::after {
        display: none;
    }
}

@media (max-width: 1024px) {
    .sf-pro-layout-shell {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    body.single-schx_professional .sf-page-shell {
        width: 100%;
        padding: 0;
    }

    .sf-pro-mock-stage {
        min-height: auto;
        padding: 0 0 20px;
    }

    .sf-pro-mock-device {
        width: 100%;
        display: block;
        height: auto;
        min-height: 100svh;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    .sf-pro-mock-device::before {
        inset: 0;
        border-radius: 0;
    }

    .sf-pro-mock-scroll {
        overflow: visible;
        padding-left: 18px;
        padding-right: 18px;
        padding-bottom: 18px;
    }

    .sf-pro-mock-hero-main {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        text-align: center;
    }

    .sf-pro-mock-score {
        text-align: center;
    }

    .sf-pro-mock-statbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sf-pro-mock-stat:nth-child(2) {
        border-right: 0;
    }

    .sf-pro-mock-stat:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .sf-pro-mock-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sf-pro-mock-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .sf-pro-mock-review-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .sf-pro-mock-cta-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.sf-home-page .sf-hero-actions-services {
    margin-top: 22px;
}

@media (max-width: 720px) {
    .sf-stage-note {
        padding: 16px 18px;
        border-radius: 22px;
    }

    .sf-stage-note strong {
        font-size: 0.98rem;
    }

    .sf-stage-note p {
        font-size: 0.93rem;
    }
}

.sf-directory-panel {
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.12), transparent 20%),
        radial-gradient(circle at left center, rgba(255, 86, 48, 0.08), transparent 22%),
        rgba(255, 255, 255, 0.84);
}

.sf-directory-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 26px;
}

.sf-directory-search {
    display: grid;
    gap: 12px;
    margin-top: 22px;
    padding: 18px 20px;
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(255, 236, 225, 0.96) 0%, rgba(247, 223, 209, 0.94) 100%);
    border: 1px solid rgba(255, 247, 240, 0.82);
    box-shadow: 0 18px 44px rgba(32, 36, 48, 0.1);
}

.sf-directory-search.is-loading {
    box-shadow:
        0 18px 44px rgba(32, 36, 48, 0.12),
        0 0 0 1px rgba(255, 106, 64, 0.12);
}

.sf-directory-search-label {
    color: #111114;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sf-directory-search-field {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.sf-directory-search-icon {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: rgba(17, 17, 20, 0.06);
    color: #111114;
    font-size: 1rem;
}

.sf-directory-search-input {
    width: 100%;
    min-height: 50px;
    padding: 0 16px;
    border: 1px solid rgba(17, 17, 20, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    color: #111114;
    font-size: 1rem;
    font-weight: 600;
    outline: none;
}

.sf-directory-search-input::placeholder {
    color: rgba(17, 17, 20, 0.46);
    font-weight: 500;
}

.sf-directory-search-input:focus {
    border-color: rgba(255, 106, 64, 0.58);
    box-shadow: 0 0 0 4px rgba(255, 106, 64, 0.14);
}

.sf-directory-search-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.sf-directory-search-help,
.sf-directory-search-summary {
    color: rgba(17, 17, 20, 0.64);
    font-size: 0.92rem;
    line-height: 1.45;
}

.sf-directory-search-help {
    margin: 0;
}

.sf-directory-search-help[data-state="hint"] {
    color: rgba(17, 17, 20, 0.78);
}

.sf-directory-search-help[data-state="loading"] {
    color: rgba(255, 106, 64, 0.92);
}

.sf-directory-search-help[data-state="error"] {
    color: #b02f1a;
}

.sf-directory-search-summary {
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.76);
}

.sf-directory-search-summary strong {
    color: #ffffff;
}

.sf-directory-panel .sf-stage-note-directory {
    margin-bottom: 6px;
}

.sf-directory-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.sf-directory-results-shell[aria-busy="true"] {
    opacity: 0.92;
}

.sf-directory-total {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(17, 17, 20, 0.06);
    color: var(--sf-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.sf-directory-privacy-note {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.92rem;
    line-height: 1.45;
}

.sf-directory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 28px;
}

.sf-directory-grid.sf-client-directory-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-top: 0;
}

.sf-directory-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border-radius: var(--sf-radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 246, 241, 0.96) 100%);
    border: 1px solid rgba(17, 17, 20, 0.08);
    box-shadow: var(--sf-shadow-soft);
}

.sf-directory-card-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 11;
    background: linear-gradient(135deg, rgba(255, 86, 48, 0.1), rgba(255, 199, 44, 0.18));
    overflow: hidden;
}

.sf-directory-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-directory-card-real .sf-directory-card-media img {
    filter: blur(26px);
    transform: scale(1.14);
    transform-origin: center;
}

.sf-directory-card-demo .sf-directory-card-media img {
    filter: none;
    transform: none;
}

.logged-in .sf-directory-card-real .sf-directory-card-media img {
    filter: none;
    transform: none;
}

.sf-directory-card-fallback {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--sf-red-deep);
}

.sf-directory-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 14px;
    padding: 22px;
}

.sf-directory-card-score {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--sf-muted);
    font-size: 0.88rem;
}

.sf-directory-card-score strong {
    color: var(--sf-ink);
    font-size: 1rem;
}

.sf-directory-card-body h2,
.sf-directory-card-body h3 {
    margin: 0;
    display: -webkit-box;
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 1.42rem;
    line-height: 1.06;
    letter-spacing: -0.03em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.sf-card-role {
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sf-directory-card-copy {
    margin: 0;
    display: -webkit-box;
    color: var(--sf-muted);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

.sf-profile-about {
    white-space: pre-line;
}

.sf-directory-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: auto;
    padding-top: 2px;
}

.sf-directory-pagination {
    margin-top: 28px;
}

.sf-directory-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sf-directory-pagination .page-numbers li {
    margin: 0;
}

.sf-directory-pagination .page-numbers a,
.sf-directory-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    min-height: 46px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(16, 22, 33, 0.24);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.sf-directory-pagination .page-numbers a:hover,
.sf-directory-pagination .page-numbers a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(16, 22, 33, 0.36);
}

.sf-directory-pagination .page-numbers .current {
    border-color: transparent;
    background: linear-gradient(135deg, var(--sf-yellow) 0%, #ffad34 52%, var(--sf-red) 100%);
    color: var(--sf-ink);
    box-shadow: 0 14px 30px rgba(255, 111, 58, 0.22);
}

.sf-directory-pagination .page-numbers .dots {
    min-width: auto;
    padding: 0 8px;
    border-color: transparent;
    background: transparent;
    color: rgba(255, 255, 255, 0.72);
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card {
    color: var(--sf-ink);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 246, 241, 0.96) 100%);
    border-color: rgba(17, 17, 20, 0.08);
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-media {
    aspect-ratio: 16 / 10;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-body {
    gap: 12px;
    padding: 20px;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-body h2,
body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-body h3 {
    color: var(--sf-ink);
    font-size: 1.08rem;
    line-height: 1.12;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-score {
    color: var(--sf-muted);
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-score strong {
    color: var(--sf-ink);
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-score span,
body.sf-is-area-clienti .sf-client-directory-grid .sf-card-role,
body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-copy {
    color: var(--sf-muted);
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-card-role {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-copy {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-actions {
    gap: 10px;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-actions .sf-button,
body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-actions .sf-profile-link {
    flex: 1 1 0;
    min-width: 0;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-profile-link {
    background: rgba(17, 17, 20, 0.06);
    border: 1px solid rgba(17, 17, 20, 0.08);
    color: var(--sf-ink);
    box-shadow: none;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-profile-link:hover {
    background: rgba(17, 17, 20, 0.09);
    color: var(--sf-ink);
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-app-tag-response {
    background: rgba(255, 96, 72, 0.16);
    color: #a33c23;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-app-tag-response.sf-app-tag-fast {
    background: rgba(78, 214, 133, 0.18);
    color: #0e6d3d;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-app-tag-response.sf-app-tag-medium {
    background: rgba(255, 205, 88, 0.22);
    color: #8b5f00;
}

body.sf-is-area-clienti .sf-client-directory-grid .sf-app-tag-response.sf-app-tag-slow {
    background: rgba(255, 96, 72, 0.18);
    color: #b13b22;
}

body.sf-is-area-clienti .sf-dashboard-empty {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(17, 17, 20, 0.08);
    color: var(--sf-ink);
}

body.sf-is-area-clienti .sf-dashboard-empty span,
body.sf-is-area-clienti .sf-dashboard-empty p {
    color: inherit;
}

@media (max-width: 1100px) {
    .sf-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .sf-directory-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-directory-search-field {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .sf-directory-search-field .sf-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .sf-directory-toolbar {
        align-items: stretch;
    }

    .sf-directory-toolbar-actions {
        justify-content: space-between;
    }
}

@media (max-width: 580px) {
    .sf-directory-search {
        padding: 16px;
        border-radius: 22px;
    }

    .sf-directory-search-input {
        min-height: 46px;
        font-size: 0.96rem;
    }

    .sf-directory-search-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .sf-directory-card-body {
        padding: 18px;
    }

    body.sf-is-area-clienti .sf-client-directory-grid {
        gap: 14px;
    }

    body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-media {
        aspect-ratio: 16 / 9;
    }

    body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-body {
        padding: 16px;
        gap: 10px;
    }

    body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-body h2,
    body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-body h3 {
        font-size: 1rem;
    }

    body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-copy {
        font-size: 0.92rem;
        line-height: 1.42;
    }

    body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-actions .sf-button,
    body.sf-is-area-clienti .sf-client-directory-grid .sf-directory-card-actions .sf-profile-link {
        width: 100%;
        min-height: 44px;
        padding: 0 12px;
        font-size: 0.88rem;
        white-space: nowrap;
    }

    body.sf-is-area-clienti .sf-client-directory-grid .sf-app-tag {
        min-height: 28px;
        padding: 0 10px;
        font-size: 0.78rem;
    }

.sf-directory-toolbar-actions {
    justify-content: flex-start;
}
}

.sf-pro-mobile-menu {
    display: none;
}

/* Profile mobile drawer + horizontal lanes */
@media (max-width: 1024px) {
    body.single-schx_professional .sf-app-sidebar-drawer {
        display: none !important;
    }

    body.single-schx_professional .sf-pro-mobile-menu {
        display: block;
        position: absolute;
        top: 14px;
        left: 14px;
        bottom: 14px;
        width: min(78vw, 292px);
        z-index: 5;
    }

    body.single-schx_professional .sf-pro-mobile-menu-toggle {
        position: relative;
        z-index: 3;
        width: 52px;
        height: 52px;
        border-radius: 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 5px;
        list-style: none;
        cursor: pointer;
        background:
            linear-gradient(180deg, rgba(60, 45, 186, 0.98) 0%, rgba(56, 70, 188, 0.96) 100%);
        border: 1px solid rgba(255, 255, 255, 0.18);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.16),
            0 18px 28px rgba(10, 16, 36, 0.28);
    }

    body.single-schx_professional .sf-pro-mobile-menu-toggle::-webkit-details-marker {
        display: none;
    }

    body.single-schx_professional .sf-pro-mobile-menu-toggle span {
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: #68f0ff;
    }

    body.single-schx_professional .sf-pro-mobile-menu-panel {
        position: absolute;
        inset: 0 auto 0 0;
        width: 100%;
        padding: 86px 20px 20px;
        display: grid;
        align-content: start;
        gap: 18px;
        border-radius: 30px;
        background:
            radial-gradient(circle at 12% 14%, rgba(255, 244, 164, 0.5), transparent 24%),
            radial-gradient(circle at 88% 26%, rgba(255, 95, 62, 0.26), transparent 28%),
            linear-gradient(135deg, #ffd652 0%, #ffb334 34%, #ff6d36 68%, #ff433e 100%);
        border: 1px solid rgba(96, 24, 22, 0.18);
        box-shadow: 0 30px 54px rgba(5, 8, 20, 0.34);
        opacity: 0;
        pointer-events: none;
        transform: translateX(-12px);
        transition: transform 0.28s ease, opacity 0.22s ease;
    }

    body.single-schx_professional .sf-pro-mobile-menu[open] .sf-pro-mobile-menu-panel {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(0);
    }

    body.single-schx_professional .sf-pro-mobile-menu[open] .sf-pro-mobile-menu-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    body.single-schx_professional .sf-pro-mobile-menu[open] .sf-pro-mobile-menu-toggle span:nth-child(2) {
        opacity: 0;
    }

    body.single-schx_professional .sf-pro-mobile-menu[open] .sf-pro-mobile-menu-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    body.single-schx_professional .sf-pro-mobile-menu-head {
        padding-bottom: 16px;
        border-bottom: 1px solid rgba(96, 24, 22, 0.18);
    }

    body.single-schx_professional .sf-pro-mobile-menu-profile {
        display: grid;
        grid-template-columns: 68px minmax(0, 1fr);
        gap: 14px;
        align-items: center;
    }

    body.single-schx_professional .sf-pro-mobile-menu-avatar {
        width: 68px;
        height: 68px;
        border-radius: 999px;
        overflow: hidden;
        border: 4px solid rgba(255, 255, 255, 0.96);
        background: rgba(255, 255, 255, 0.16);
        box-shadow: 0 10px 24px rgba(8, 12, 30, 0.22);
    }

    body.single-schx_professional .sf-pro-mobile-menu-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.single-schx_professional .sf-pro-mobile-menu-avatar span {
        width: 100%;
        height: 100%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        font-size: 1.1rem;
        font-weight: 800;
    }

    body.single-schx_professional .sf-pro-mobile-menu-copy strong {
        display: block;
        color: #241627;
        font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
        font-size: 1.52rem;
        line-height: 1.02;
    }

    body.single-schx_professional .sf-pro-mobile-menu-copy span {
        display: block;
        margin-top: 6px;
        color: rgba(69, 18, 25, 0.78);
        font-size: 0.82rem;
        line-height: 1.35;
    }

    body.single-schx_professional .sf-pro-mobile-menu-nav {
        display: grid;
        gap: 6px;
    }

    body.single-schx_professional .sf-pro-mobile-menu-link {
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 14px;
        align-items: center;
        min-height: 48px;
        padding: 0 12px;
        border-radius: 16px;
        color: #241627;
        background: transparent;
        border: 1px solid transparent;
    }

    body.single-schx_professional .sf-pro-mobile-menu-link-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #8f1222;
    }

    body.single-schx_professional .sf-pro-mobile-menu-link-icon svg {
        width: 20px;
        height: 20px;
    }

    body.single-schx_professional .sf-pro-mobile-menu-link-label {
        font-size: 0.98rem;
        font-weight: 700;
    }

    body.single-schx_professional .sf-pro-mobile-menu-link.is-active {
        background: rgba(255, 255, 255, 0.22);
        border-color: rgba(96, 24, 22, 0.12);
    }

    body.single-schx_professional .sf-pro-mobile-menu-link.is-logout {
        margin-top: 6px;
        padding-top: 16px;
        border-top: 1px solid rgba(96, 24, 22, 0.18);
        border-radius: 0;
    }

    body.single-schx_professional .sf-pro-mobile-menu-card {
        margin-top: 10px;
        padding: 14px 14px 0;
        border-top: 1px solid rgba(96, 24, 22, 0.18);
    }

    body.single-schx_professional .sf-pro-mobile-menu-kicker {
        display: block;
        color: rgba(65, 19, 24, 0.62);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    body.single-schx_professional .sf-pro-mobile-menu-card p {
        margin: 8px 0 0;
        color: rgba(36, 22, 39, 0.84);
        font-size: 0.84rem;
        line-height: 1.42;
    }

    body.single-schx_professional .sf-pro-mock-scroll,
    body.single-schx_professional .sf-pro-mock-bottom {
        transition: transform 0.28s ease;
    }

    body.single-schx_professional .sf-pro-mobile-menu[open] ~ .sf-pro-mock-scroll,
    body.single-schx_professional .sf-pro-mobile-menu[open] ~ .sf-pro-mock-bottom {
        transform: translateX(min(68vw, 248px));
    }
}

@media (max-width: 680px) {
    body.single-schx_professional .sf-pro-mock-gallery,
    body.single-schx_professional .sf-pro-mock-review-track {
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 8px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.single-schx_professional .sf-pro-mock-gallery::-webkit-scrollbar,
    body.single-schx_professional .sf-pro-mock-review-track::-webkit-scrollbar {
        display: none;
    }

    body.single-schx_professional .sf-pro-mock-gallery-item {
        flex: 0 0 112px;
        scroll-snap-align: start;
    }

    body.single-schx_professional .sf-pro-mock-review-track .sf-pro-mock-review-card,
    body.single-schx_professional .sf-pro-mock-review-card-peek {
        flex: 0 0 82%;
        scroll-snap-align: start;
    }

    body.single-schx_professional .sf-pro-mock-gallery::after,
    body.single-schx_professional .sf-pro-mock-review-track::after {
        content: "Scorri \2192";
        flex: 0 0 auto;
        align-self: stretch;
        min-width: 122px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 18px;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.1);
        border: 1px dashed rgba(255, 255, 255, 0.24);
        color: rgba(255, 255, 255, 0.92);
        font-size: 0.74rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        scroll-snap-align: start;
    }
}

/* Profile preview overlay */
body.sf-pro-preview-open {
    overflow: hidden;
}

.sf-pro-preview[hidden] {
    display: none;
}

.sf-pro-preview {
    position: fixed;
    inset: 0;
    z-index: 130;
    display: grid;
    place-items: center;
    padding: 24px 18px;
}

.sf-pro-preview-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(8, 10, 16, 0.76);
    backdrop-filter: blur(12px);
}

.sf-pro-preview-card {
    position: relative;
    z-index: 1;
    width: min(540px, 100%);
    max-height: min(82vh, 780px);
    overflow: auto;
    padding: 22px;
    border-radius: 30px;
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 90, 72, 0.16), transparent 24%),
        radial-gradient(circle at 84% 14%, rgba(255, 210, 78, 0.14), transparent 22%),
        linear-gradient(180deg, rgba(71, 76, 92, 0.96) 0%, rgba(46, 50, 62, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 32px 64px rgba(0, 0, 0, 0.42);
}

.sf-pro-preview-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    margin-bottom: 16px;
    border: 0;
    border-radius: 999px;
    background: rgba(18, 22, 31, 0.88);
    color: rgba(255, 255, 255, 0.94);
    font-size: 0.88rem;
    font-weight: 800;
    cursor: pointer;
}

.sf-pro-preview-body {
    display: grid;
    gap: 14px;
}

.sf-pro-preview-body .sf-pro-mock-gallery-item,
.sf-pro-preview-body .sf-pro-mock-review-card {
    cursor: default;
}

.sf-pro-preview-body .sf-pro-mock-gallery-item {
    width: 100%;
    min-height: 320px;
    aspect-ratio: auto;
    border-radius: 26px;
}

.sf-pro-preview-body .sf-pro-mock-gallery-item img {
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
}

.sf-pro-preview-body .sf-pro-mock-review-card {
    padding: 18px;
}

.sf-pro-preview-body .sf-pro-mock-review-message {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    line-height: 1.45;
}

/* Public access page */
.sf-portal-shell {
    width: min(100%, 1100px);
    margin: 0 auto;
    gap: 20px;
}

.sf-portal-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.94fr);
    gap: 20px;
    align-items: stretch;
}

.sf-portal-hero-minimal,
.sf-portal-card-login,
.sf-portal-registers .sf-portal-detail,
.sf-portal-shell > .sf-auth-note {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        radial-gradient(circle at 14% 14%, rgba(255, 199, 44, 0.14), transparent 26%),
        radial-gradient(circle at 88% 12%, rgba(255, 86, 48, 0.16), transparent 24%),
        linear-gradient(180deg, rgba(16, 21, 33, 0.98) 0%, rgba(21, 27, 42, 0.98) 100%);
    box-shadow: 0 28px 58px rgba(8, 12, 22, 0.24);
}

.sf-portal-hero-minimal::before,
.sf-portal-card-login::before,
.sf-portal-registers .sf-portal-detail::before,
.sf-portal-shell > .sf-auth-note::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 42%);
    pointer-events: none;
}

.sf-portal-hero-minimal {
    padding: 24px 32px 28px;
    color: var(--sf-white);
    min-height: 100%;
    display: grid;
    align-content: start;
    gap: 14px;
}

.sf-portal-brand {
    display: block;
    width: 100%;
    padding-top: 0;
}

.sf-portal-logo {
    display: none;
}

.sf-portal-hero-minimal .sf-app-badge {
    position: static;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.92);
}

.sf-portal-hero-minimal .sf-portal-title {
    margin-top: 2px;
    color: var(--sf-white);
    font-size: clamp(2.6rem, 5vw, 4.3rem);
}

.sf-portal-hero-minimal .sf-portal-lead {
    max-width: 580px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1rem;
    line-height: 1.7;
}

.sf-portal-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sf-portal-point {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 15px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.sf-portal-card-login {
    padding: 24px;
    display: grid;
    gap: 18px;
    color: var(--sf-white);
}

.sf-portal-card-login .sf-panel-heading {
    align-items: start;
}

.sf-portal-card-login .sf-panel-heading h2 {
    margin: 8px 0 0;
    color: var(--sf-white);
    font-size: 1.5rem;
    line-height: 1.05;
}

.sf-portal-card-login .sf-app-mini-label,
.sf-portal-card-login .sf-status-pill {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.76);
}

.sf-portal-card-login .sf-auth-form,
.sf-portal-registers .sf-auth-form {
    gap: 12px;
}

.sf-portal-card-login .sf-auth-field label,
.sf-portal-registers .sf-auth-field label,
.sf-portal-registers .sf-auth-fieldset legend,
.sf-dashboard-shell-pro .sf-auth-fieldset legend {
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.82rem;
    font-weight: 700;
}

.sf-portal-card-login .sf-auth-field input,
.sf-portal-registers .sf-auth-field input,
.sf-portal-registers .sf-auth-field select,
.sf-portal-registers .sf-auth-field textarea {
    min-height: 52px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.08);
    color: var(--sf-white);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.sf-portal-card-login .sf-auth-field input::placeholder,
.sf-portal-registers .sf-auth-field input::placeholder,
.sf-portal-registers .sf-auth-field textarea::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.sf-portal-card-login .sf-auth-field select option,
.sf-portal-registers .sf-auth-field select option,
.sf-portal-registers .sf-auth-field select optgroup {
    color: #121621;
    background: #f7f2ea;
}

.sf-app-page .sf-auth-form select option,
.sf-app-page .sf-auth-form select optgroup,
.sf-app-page .schx-beta-form select option,
.sf-app-page .schx-beta-form select optgroup {
    color: #121621;
    background: #f7f2ea;
}

.sf-portal-card-login .sf-button-primary,
.sf-portal-registers .sf-button-primary {
    min-height: 52px;
    justify-content: center;
    background: linear-gradient(135deg, #ffd04d 0%, #ff623b 100%);
    color: #171a24;
    box-shadow: 0 20px 36px rgba(255, 104, 55, 0.22);
}

.sf-portal-card-login .sf-button-primary:hover,
.sf-portal-registers .sf-button-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 24px 42px rgba(255, 104, 55, 0.28);
}

.sf-auth-note-login,
.sf-portal-shell > .sf-auth-note {
    position: relative;
    padding: 18px 18px 18px 20px;
    color: rgba(255, 255, 255, 0.72);
}

.sf-auth-note-login {
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
}

.sf-auth-note-login strong,
.sf-portal-shell > .sf-auth-note strong {
    display: block;
    margin-bottom: 4px;
    color: var(--sf-white);
}

.sf-auth-note-login span {
    color: rgba(255, 255, 255, 0.78);
}

.sf-portal-registers {
    display: grid;
    gap: 16px;
}

.sf-portal-registers .sf-portal-detail {
    background:
        radial-gradient(circle at 92% 12%, rgba(255, 199, 44, 0.1), transparent 22%),
        linear-gradient(180deg, rgba(18, 22, 35, 0.98) 0%, rgba(24, 29, 45, 0.98) 100%);
}

.sf-portal-registers .sf-portal-detail summary {
    position: relative;
    padding: 20px 62px 20px 22px;
    color: var(--sf-white);
    font-size: 1rem;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.02);
}

.sf-portal-registers .sf-portal-detail summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.08);
    color: var(--sf-white);
    font-size: 1.2rem;
    line-height: 1;
}

.sf-portal-registers .sf-portal-detail[open] summary::after {
    content: "−";
}

.sf-portal-registers .sf-portal-card {
    padding: 0 22px 22px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.sf-portal-registers .sf-panel-copy {
    margin-bottom: 18px;
    color: rgba(255, 255, 255, 0.72);
}

.sf-portal-registers .sf-auth-field-hint,
.sf-dashboard-shell-pro .sf-auth-field-hint {
    color: rgba(255, 255, 255, 0.7);
}

.sf-dashboard-shell-pro .sf-profile-photo-tip {
    border-color: rgba(255, 166, 98, 0.26);
    background: linear-gradient(135deg, rgba(255, 96, 72, 0.16), rgba(255, 190, 86, 0.14));
    color: #ffd8bf;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.sf-dashboard-shell-pro .sf-pro-upload-preview-list {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
}

.sf-dashboard-shell-pro .sf-pro-upload-preview-list.is-empty::before,
.sf-dashboard-shell-pro .sf-pro-upload-card-note {
    color: rgba(255, 255, 255, 0.68);
}

.sf-dashboard-shell-pro .sf-pro-upload-card-name {
    color: var(--sf-white);
}

.sf-dashboard-shell-pro .sf-pro-upload-card-frame {
    background: rgba(255, 255, 255, 0.06);
}

.sf-dashboard-shell-pro .sf-pro-upload-card-delete {
    background: rgba(18, 22, 30, 0.84);
}

.sf-dashboard-shell-pro .sf-pro-upload-card-progress {
    background: rgba(255, 255, 255, 0.12);
}

.sf-dashboard-shell-pro .sf-pro-upload-card-progress-label {
    color: rgba(255, 255, 255, 0.72);
}

.sf-portal-card-login .sf-auth-field.is-live-error input,
.sf-portal-registers .sf-auth-field.is-live-error input,
.sf-app-page .sf-auth-field.is-live-error input {
    border-color: rgba(255, 124, 107, 0.96);
    background: rgba(255, 98, 72, 0.12);
    box-shadow: 0 0 0 3px rgba(255, 98, 72, 0.18);
}

.sf-portal-card-login .sf-auth-field.is-live-success input,
.sf-portal-registers .sf-auth-field.is-live-success input,
.sf-app-page .sf-auth-field.is-live-success input {
    border-color: rgba(108, 227, 159, 0.92);
    background: rgba(82, 192, 127, 0.1);
    box-shadow: 0 0 0 3px rgba(82, 192, 127, 0.16);
}

.sf-portal-card-login .sf-auth-field.is-live-error .sf-auth-live-hint,
.sf-portal-registers .sf-auth-field.is-live-error .sf-auth-live-hint,
.sf-app-page .sf-auth-field.is-live-error .sf-auth-live-hint {
    color: #ffb7ab;
}

.sf-portal-card-login .sf-auth-field.is-live-success .sf-auth-live-hint,
.sf-portal-registers .sf-auth-field.is-live-success .sf-auth-live-hint,
.sf-app-page .sf-auth-field.is-live-success .sf-auth-live-hint {
    color: #96efba;
}

.sf-portal-registers .sf-auth-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-portal-registers .sf-check-tile,
.sf-dashboard-shell-pro .sf-check-tile,
.sf-dashboard-shell-pro .sf-check-toggle {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--sf-white);
}

.sf-portal-registers .sf-check-tile:has(input:checked),
.sf-dashboard-shell-pro .sf-check-tile:has(input:checked),
.sf-dashboard-shell-pro .sf-check-toggle:has(input:checked) {
    background: rgba(255, 112, 67, 0.18);
    border-color: rgba(255, 208, 77, 0.42);
    box-shadow: 0 18px 32px rgba(255, 104, 55, 0.16);
}

.sf-dashboard-shell-pro .sf-pro-sections {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.sf-app-page:not(.sf-pro-page) .sf-feedback-signal-chip,
.sf-dashboard-shell-pro .sf-feedback-signal-chip {
    color: var(--sf-white);
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
}

.sf-app-page:not(.sf-pro-page) .sf-feedback-signal-chip-tone-positive,
.sf-dashboard-shell-pro .sf-feedback-signal-chip-tone-positive {
    background: rgba(74, 196, 122, 0.2);
    border-color: rgba(138, 255, 182, 0.26);
    color: rgba(240, 255, 244, 0.96);
}

.sf-app-page:not(.sf-pro-page) .sf-feedback-signal-chip-tone-warning,
.sf-dashboard-shell-pro .sf-feedback-signal-chip-tone-warning {
    background: rgba(255, 112, 67, 0.2);
    border-color: rgba(255, 208, 77, 0.3);
    color: rgba(255, 241, 226, 0.96);
}

.sf-dashboard-shell-pro .sf-pro-section {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 184, 70, 0.1), transparent 32%),
        linear-gradient(180deg, rgba(18, 22, 35, 0.98) 0%, rgba(23, 28, 43, 0.98) 100%);
    box-shadow: 0 22px 44px rgba(8, 12, 22, 0.18);
}

.sf-dashboard-shell-pro .sf-pro-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.04), transparent 42%);
    pointer-events: none;
}

.sf-dashboard-shell-pro .sf-pro-section summary::-webkit-details-marker {
    display: none;
}

.sf-dashboard-shell-pro .sf-pro-section-summary {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 6px;
    padding: 20px 72px 20px 22px;
    list-style: none;
    cursor: pointer;
    user-select: none;
    color: var(--sf-white);
}

.sf-dashboard-shell-pro .sf-pro-section-summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 36px;
    height: 36px;
    margin-top: -18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: #ffd36a;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.sf-dashboard-shell-pro .sf-pro-section[open] .sf-pro-section-summary::after {
    content: "−";
    background: rgba(255, 112, 67, 0.14);
    border-color: rgba(255, 208, 77, 0.28);
}

.sf-dashboard-shell-pro .sf-pro-section-summary:hover::after {
    transform: scale(1.04);
}

.sf-dashboard-shell-pro .sf-pro-section-kicker {
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sf-dashboard-shell-pro .sf-pro-section-summary strong {
    display: block;
    color: var(--sf-white);
    font-size: 1.04rem;
    line-height: 1.22;
}

.sf-dashboard-shell-pro .sf-pro-section-summary small {
    display: block;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.88rem;
    line-height: 1.45;
}

.sf-dashboard-shell-pro .sf-pro-section-body {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 18px;
    padding: 0 22px 22px;
}

.sf-dashboard-shell-pro .sf-pro-section-body > * {
    margin-top: 0;
    margin-bottom: 0;
}

.sf-dashboard-shell-pro .sf-pro-form-actions {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sf-dashboard-shell-pro .sf-pro-form-actions .sf-button {
    justify-self: start;
}

.sf-dashboard-shell-pro .sf-pro-form-actions .sf-pro-upload-submit-hint {
    margin-top: 0;
}

@media (max-width: 900px) {
    .sf-dashboard-shell-pro .sf-pro-sections {
        gap: 12px;
    }

    .sf-dashboard-shell-pro .sf-pro-section {
        border-radius: 24px;
    }

    .sf-dashboard-shell-pro .sf-pro-section-summary {
        padding: 18px 62px 18px 18px;
    }

    .sf-dashboard-shell-pro .sf-pro-section-summary strong {
        font-size: 1rem;
    }

    .sf-dashboard-shell-pro .sf-pro-section-summary small {
        font-size: 0.83rem;
    }

    .sf-dashboard-shell-pro .sf-pro-section-body {
        gap: 16px;
        padding: 0 18px 18px;
    }
}

@media (max-width: 680px) {
    .sf-dashboard-shell-pro .sf-pro-form-actions .sf-button {
        width: 100%;
        justify-self: stretch;
    }
}

.sf-portal-shell > .sf-auth-note {
    background:
        radial-gradient(circle at 0% 50%, rgba(255, 86, 48, 0.14), transparent 20%),
        linear-gradient(180deg, rgba(17, 21, 32, 0.98) 0%, rgba(21, 25, 37, 0.98) 100%);
}

.sf-portal-shell > .sf-auth-note span {
    color: rgba(255, 255, 255, 0.74);
}

.sf-portal-shell > .sf-auth-message {
    border-radius: 24px;
}

.sf-auth-verify-panel {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 16px;
    padding: 24px;
    border-radius: 32px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 199, 44, 0.16), transparent 24%),
        radial-gradient(circle at 100% 0%, rgba(255, 86, 48, 0.18), transparent 28%),
        linear-gradient(180deg, rgba(16, 21, 33, 0.98) 0%, rgba(21, 27, 42, 0.98) 100%);
    box-shadow: 0 28px 58px rgba(8, 12, 22, 0.24);
    color: var(--sf-white);
}

.sf-auth-verify-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 42%);
    pointer-events: none;
}

.sf-auth-verify-mode {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 14px;
}

.sf-auth-verify-title {
    margin: 0;
    color: var(--sf-white);
    font-size: clamp(1.75rem, 2vw, 2.35rem);
    line-height: 1.04;
}

.sf-auth-verify-copy,
.sf-auth-verify-footnote {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.65;
}

.sf-auth-verify-steps {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: 10px;
    color: rgba(255, 255, 255, 0.9);
}

.sf-auth-verify-steps li::marker {
    color: #ffd36a;
    font-weight: 700;
}

.sf-auth-verify-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.sf-auth-note-login-lock {
    border-color: rgba(255, 206, 95, 0.26);
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 184, 70, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(33, 38, 58, 0.96) 0%, rgba(23, 28, 44, 0.98) 100%);
    box-shadow: 0 20px 42px rgba(10, 12, 22, 0.2);
}

.sf-portal-card-login.is-install-locked {
    opacity: 0.82;
}

.sf-portal-card-login.is-install-locked .sf-panel-heading h2::after {
    content: " (in pausa su iPhone browser)";
    display: inline;
    color: rgba(255, 211, 106, 0.92);
    font-size: 0.72em;
    font-weight: 600;
}

.sf-portal-card-login.is-install-locked .sf-auth-form {
    filter: saturate(0.82);
}

.sf-portal-card-login.is-install-locked .sf-auth-form input:disabled,
.sf-portal-card-login.is-install-locked .sf-auth-form select:disabled,
.sf-portal-card-login.is-install-locked .sf-auth-form button:disabled {
    cursor: not-allowed;
    opacity: 0.66;
}

.sf-request-alert-box {
    gap: 10px;
    margin-bottom: 18px;
    padding: 18px 18px 18px 20px;
    border-radius: 24px;
    border: 1px solid rgba(255, 206, 95, 0.26);
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 184, 70, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(33, 38, 58, 0.96) 0%, rgba(23, 28, 44, 0.98) 100%);
    box-shadow: 0 20px 42px rgba(10, 12, 22, 0.26);
}

.sf-request-alert-box strong {
    color: var(--sf-white);
}

.sf-request-alert-box span,
.sf-request-alert-box small {
    color: rgba(255, 255, 255, 0.8);
}

.sf-auth-inline-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 700;
    color: var(--sf-white);
}

.sf-auth-inline-check input {
    margin-top: 2px;
    flex-shrink: 0;
}

.sf-dashboard-card-alerts {
    position: relative;
    overflow: hidden;
}

.sf-dashboard-card-alerts::before {
    content: "";
    position: absolute;
    inset: -40px -40px auto auto;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 193, 78, 0.16) 0%, transparent 68%);
    pointer-events: none;
}

.sf-alert-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.sf-alert-metric {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.sf-alert-metric strong {
    font-size: 1.08rem;
}

.sf-alert-metric span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.84rem;
    line-height: 1.3;
}

.sf-request-alert-box-summary {
    margin: 18px 0 0;
}

.sf-dashboard-card-alerts .sf-portal-actions {
    margin-top: 18px;
}

.sf-request-alert-box-inline {
    margin-top: 10px;
}

.sf-request-alert-box-focus {
    margin-top: 14px;
    margin-bottom: 20px;
}

.sf-request-alert-box-focus-taken {
    border-color: rgba(255, 173, 77, 0.34);
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 152, 60, 0.18), transparent 34%),
        linear-gradient(180deg, rgba(38, 35, 45, 0.98) 0%, rgba(24, 28, 44, 0.98) 100%);
    box-shadow: 0 20px 42px rgba(16, 12, 20, 0.3);
}

.sf-request-alert-box-focus-muted {
    border-color: rgba(161, 177, 214, 0.18);
    background:
        radial-gradient(circle at 100% 0%, rgba(126, 153, 214, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(30, 34, 51, 0.96) 0%, rgba(21, 26, 42, 0.98) 100%);
}

.sf-pro-services-grid-locked {
    grid-template-columns: minmax(0, 1fr);
}

.sf-check-tile-static {
    justify-content: space-between;
    background: rgba(255, 112, 67, 0.14);
    border-color: rgba(255, 208, 77, 0.3);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.sf-dashboard-item-highlight {
    border-color: rgba(255, 208, 77, 0.35);
    box-shadow: 0 18px 34px rgba(255, 146, 73, 0.14);
}

@media (max-width: 920px) {
    .sf-portal-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-alert-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sf-portal-hero-minimal,
    .sf-portal-card-login {
        padding: 24px;
    }
}

@media (max-width: 680px) {
    .sf-portal-shell {
        gap: 16px;
    }

    .sf-auth-verify-panel,
    .sf-portal-hero-minimal,
    .sf-portal-card-login,
    .sf-portal-registers .sf-portal-detail,
    .sf-portal-shell > .sf-auth-note {
        border-radius: 26px;
    }

    .sf-portal-hero-minimal {
        padding: 20px 22px 22px;
        gap: 12px;
    }

    .sf-portal-card-login {
        padding: 20px;
    }

    .sf-auth-verify-panel {
        padding: 20px;
        gap: 14px;
    }

    .sf-portal-hero-minimal .sf-portal-title {
        font-size: 2.35rem;
    }

    .sf-portal-hero-minimal .sf-portal-lead {
        font-size: 0.96rem;
    }

    .sf-auth-verify-title {
        font-size: 1.9rem;
    }

    .sf-auth-verify-actions .sf-button {
        width: 100%;
        justify-content: center;
    }

    .sf-portal-registers .sf-portal-detail summary,
    .sf-portal-registers .sf-portal-card {
        padding-left: 18px;
        padding-right: 18px;
    }

    .sf-portal-registers .sf-auth-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 560px) {
    .sf-service-area-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Public professional profile */
body.single-schx_professional {
    background:
        radial-gradient(circle at 14% 10%, rgba(255, 216, 70, 0.72) 0%, rgba(255, 194, 62, 0.28) 22%, transparent 42%),
        radial-gradient(circle at 88% 8%, rgba(255, 72, 58, 0.76) 0%, rgba(255, 72, 58, 0.26) 24%, transparent 48%),
        radial-gradient(circle at 76% 78%, rgba(255, 209, 72, 0.28) 0%, transparent 30%),
        linear-gradient(135deg, #ffd84b 0%, #ffb34a 36%, #ff7b3f 66%, #ff4338 100%);
    background-attachment: fixed;
}

body.single-schx_professional .sf-site-header {
    position: relative;
    background: rgba(16, 22, 33, 0.18);
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

body.single-schx_professional .sf-header-inner {
    padding: 10px 0 8px;
    min-height: auto;
}

body.single-schx_professional .sf-site-header .sf-nav-link {
    background: rgba(255, 255, 255, 0.6);
    border-color: transparent;
    color: var(--sf-muted);
}

body.single-schx_professional .sf-brand-logo {
    width: clamp(320px, 26vw, 420px);
    height: 96px;
    object-fit: cover;
    object-position: center 42%;
}

body.single-schx_professional .sf-footer-logo {
    width: clamp(214px, 22vw, 320px);
}

body.single-schx_professional .sf-site-footer,
body.single-schx_professional .sf-site-footer-app {
    display: block;
}

body.single-schx_professional .sf-page-shell {
    width: min(calc(100% - 32px), var(--sf-max));
    padding: 34px 0 56px;
}

body.single-schx_professional .sf-public-profile-shell {
    width: 100%;
    margin: 0 auto;
    padding-top: 42px;
}

body.single-schx_professional .sf-profile-shell::before {
    content: none;
}

body.single-schx_professional .sf-profile-shell::after {
    content: none;
}

body.single-schx_professional .sf-profile-layout {
    gap: 24px;
}

body.single-schx_professional .sf-profile-content-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
    align-items: start;
}

body.single-schx_professional .sf-profile-content-grid > .sf-side-stack,
body.single-schx_professional .sf-profile-content-grid > aside.sf-side-stack,
body.single-schx_professional .sf-profile-content-grid .sf-profile-panel,
body.single-schx_professional .sf-profile-content-grid .sf-side-card,
body.single-schx_professional .sf-public-strip {
    min-width: 0;
}

body.single-schx_professional .sf-public-profile-hero {
    padding: clamp(24px, 3.4vw, 42px);
    background:
        radial-gradient(circle at top right, rgba(255, 86, 48, 0.2), transparent 28%),
        radial-gradient(circle at left center, rgba(255, 199, 44, 0.14), transparent 32%),
        linear-gradient(180deg, rgba(20, 26, 38, 0.96) 0%, rgba(27, 34, 49, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 28px 70px rgba(9, 12, 20, 0.28);
}

body.single-schx_professional .sf-public-profile-avatar {
    width: clamp(132px, 14vw, 164px);
    height: clamp(132px, 14vw, 164px);
    border-radius: 42px;
    overflow: hidden;
}

body.single-schx_professional .sf-profile-name {
    max-width: 820px;
    font-size: clamp(2.1rem, 4vw, 3.35rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: balance;
}

body.single-schx_professional .sf-profile-card {
    grid-template-areas:
        "avatar head"
        "avatar summary";
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(22px, 4vw, 42px);
    align-items: center;
}

body.single-schx_professional .sf-profile-avatar {
    grid-area: avatar;
}

body.single-schx_professional .sf-profile-head {
    grid-area: head;
    align-self: end;
}

body.single-schx_professional .sf-profile-summary {
    grid-area: summary;
    display: grid;
    gap: 16px;
    align-content: start;
}

body.single-schx_professional .sf-profile-summary .sf-profile-actions {
    margin-top: 0;
}

body.single-schx_professional .sf-profile-name.is-compact {
    max-width: min(100%, 16.5ch);
    font-size: clamp(1.92rem, 3.15vw, 2.78rem);
    line-height: 0.95;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.single-schx_professional .sf-profile-name.is-dense {
    max-width: min(100%, 17.5ch);
    font-size: clamp(1.7rem, 2.8vw, 2.36rem);
    line-height: 0.98;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

body.single-schx_professional .sf-profile-panel,
body.single-schx_professional .sf-side-card {
    color: rgba(255, 255, 255, 0.96);
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.1), transparent 24%),
        radial-gradient(circle at left center, rgba(255, 86, 48, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(22, 26, 38, 0.96) 0%, rgba(27, 33, 48, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: 0 22px 44px rgba(7, 10, 18, 0.18);
}

body.single-schx_professional .sf-profile-stat {
    background:
        radial-gradient(circle at top right, rgba(255, 199, 44, 0.12), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.06));
    border-color: rgba(255, 255, 255, 0.1);
}

body.single-schx_professional .sf-profile-panel h2,
body.single-schx_professional .sf-side-card h3,
body.single-schx_professional .sf-profile-panel .sf-panel-heading h2,
body.single-schx_professional .sf-profile-name,
body.single-schx_professional .sf-directory-card-score strong,
body.single-schx_professional .sf-public-review-head strong {
    color: rgba(255, 255, 255, 0.98);
}

body.single-schx_professional .sf-profile-panel p,
body.single-schx_professional .sf-profile-panel li,
body.single-schx_professional .sf-side-list strong,
body.single-schx_professional .sf-side-card p,
body.single-schx_professional .sf-directory-card-score span,
body.single-schx_professional .sf-public-review-head span,
body.single-schx_professional .sf-public-review-role,
body.single-schx_professional .sf-public-review-card p {
    color: rgba(255, 255, 255, 0.74);
}

body.single-schx_professional .sf-profile-panel .sf-app-mini-label,
body.single-schx_professional .sf-side-card .sf-app-mini-label {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.74);
}

body.single-schx_professional .sf-profile-link {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
}

body.single-schx_professional .sf-profile-link:hover,
body.single-schx_professional .sf-site-header .sf-nav-link:hover {
    background: rgba(255, 255, 255, 0.78);
    color: var(--sf-ink);
}

.sf-public-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(220px, 28vw, 320px);
    justify-content: start;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 10px;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.sf-public-gallery-controls {
    display: none;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    inset: 50% 0 auto;
    transform: translateY(-50%);
    z-index: 3;
    padding: 0 12px;
    pointer-events: none;
}

.sf-public-gallery-button {
    width: 72px;
    height: 136px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.08) 100%),
        linear-gradient(135deg, rgba(255, 122, 68, 0.22) 0%, rgba(255, 208, 90, 0.18) 100%);
    color: rgba(255, 255, 255, 0.98);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    transition: transform 0.18s ease, opacity 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
    box-shadow:
        0 20px 42px rgba(9, 12, 20, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.sf-public-gallery-button:hover {
    transform: scale(1.03);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.12) 100%),
        linear-gradient(135deg, rgba(255, 133, 72, 0.28) 0%, rgba(255, 214, 108, 0.2) 100%);
    box-shadow:
        0 24px 50px rgba(9, 12, 20, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.sf-public-gallery-button[disabled] {
    opacity: 0.42;
    cursor: default;
    transform: none;
}

.sf-public-gallery-button span {
    display: inline-flex;
    transform: translateY(-1px);
}

.sf-public-gallery-button-prev {
    justify-self: start;
}

.sf-public-gallery-button-next {
    justify-self: end;
}

.sf-public-gallery-frame {
    position: relative;
}

.sf-public-gallery-frame::before,
.sf-public-gallery-frame::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 10px;
    width: 36px;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.18s ease;
}

.sf-public-gallery-frame::before {
    left: 0;
    background: linear-gradient(90deg, rgba(27, 33, 48, 0.92) 0%, rgba(27, 33, 48, 0) 100%);
}

.sf-public-gallery-frame::after {
    right: 0;
    background: linear-gradient(270deg, rgba(27, 33, 48, 0.92) 0%, rgba(27, 33, 48, 0) 100%);
}

.sf-public-gallery-has-overflow .sf-public-gallery-controls {
    display: flex;
}

.sf-public-gallery-has-overflow .sf-public-strip {
    cursor: grab;
}

.sf-public-gallery-has-overflow:not(.sf-public-gallery-at-start) .sf-public-gallery-frame::before,
.sf-public-gallery-has-overflow:not(.sf-public-gallery-at-end) .sf-public-gallery-frame::after {
    opacity: 1;
}

.sf-public-strip::-webkit-scrollbar {
    display: none;
}

.sf-public-strip.is-dragging {
    cursor: grabbing;
    user-select: none;
    scroll-snap-type: none;
}

.sf-public-gallery-card {
    min-height: 240px;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.06);
    scroll-snap-align: start;
}

.sf-public-gallery-card[data-sf-public-lightbox-trigger] {
    cursor: zoom-in;
}

.sf-public-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sf-public-lightbox-open {
    overflow: hidden;
}

.sf-public-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
}

.sf-public-lightbox[hidden] {
    display: none;
}

.sf-public-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 10, 16, 0.82);
    backdrop-filter: blur(10px);
}

.sf-public-lightbox-dialog {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: min(92vw, 1180px);
    max-height: 90vh;
    padding: 18px;
    border-radius: 28px;
    background: rgba(19, 24, 35, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
}

.sf-public-lightbox-figure {
    margin: 0;
    display: grid;
    gap: 12px;
}

.sf-public-lightbox-image {
    display: block;
    max-width: min(100%, 880px);
    max-height: 74vh;
    width: auto;
    height: auto;
    border-radius: 20px;
    object-fit: contain;
    background: rgba(255, 255, 255, 0.04);
}

.sf-public-lightbox-caption {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.92rem;
    line-height: 1.45;
    text-align: center;
}

.sf-public-lightbox-close,
.sf-public-lightbox-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
}

.sf-public-lightbox-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 48px;
    height: 48px;
    font-size: 1.8rem;
    z-index: 2;
}

.sf-public-lightbox-nav span {
    font-size: 2rem;
    line-height: 1;
}

.sf-public-lightbox-close:hover,
.sf-public-lightbox-nav:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.2);
}

.sf-public-lightbox-nav:disabled {
    opacity: 0.34;
    cursor: default;
}

.sf-public-profile-real .sf-public-profile-avatar img,
.sf-public-profile-real .sf-pro-mobile-menu-avatar img {
    filter: blur(26px);
    transform: scale(1.14);
    transform-origin: center;
}

.sf-public-profile-demo .sf-public-profile-avatar img,
.sf-public-profile-demo .sf-public-gallery-card img,
.sf-public-profile-demo .sf-pro-mobile-menu-avatar img {
    filter: none;
    transform: none;
}

.sf-public-gallery-card-fallback {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, 0.9);
    font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
    font-size: 2rem;
    font-weight: 700;
}

.sf-public-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.sf-public-review-card {
    padding: 18px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.sf-public-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sf-public-review-role {
    display: block;
    margin-top: 6px;
    font-size: 0.84rem;
    font-weight: 700;
}

.sf-public-review-card p {
    margin: 12px 0 0;
}

@media (max-width: 820px) {
    body.single-schx_professional .sf-header-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 12px 0 10px;
    }

    body.single-schx_professional .sf-brand {
        justify-self: start;
    }

    body.single-schx_professional .sf-brand-logo {
        width: min(236px, 72vw);
        height: auto;
        object-fit: contain;
        object-position: center;
    }

    body.single-schx_professional .sf-header-nav {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        justify-content: stretch;
    }

    body.single-schx_professional .sf-header-nav > :nth-child(5):last-child {
        grid-column: 1 / -1;
    }

    body.single-schx_professional .sf-site-header .sf-nav-link,
    body.single-schx_professional .sf-site-header .sf-nav-button {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        padding: 0 12px;
        font-size: 0.95rem;
        text-align: center;
    }
}

@media (max-width: 900px) {
    body.single-schx_professional .sf-profile-content-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    body.single-schx_professional .sf-profile-content-grid > .sf-side-stack,
    body.single-schx_professional .sf-profile-content-grid > aside.sf-side-stack {
        width: 100%;
    }

    body.single-schx_professional .sf-side-card .sf-card-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    body.single-schx_professional .sf-side-card .sf-card-actions .sf-button,
    body.single-schx_professional .sf-side-card .sf-card-actions .sf-profile-link {
        width: 100%;
        min-height: 52px;
        text-align: center;
    }

    body.single-schx_professional .sf-public-profile-avatar {
        width: 138px;
        height: 138px;
    }

    .sf-public-gallery-controls {
        display: none !important;
    }

    .sf-public-gallery-frame::before,
    .sf-public-gallery-frame::after {
        content: none;
    }

    .sf-public-lightbox-dialog {
        width: min(94vw, 94vw);
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 16px;
    }

    .sf-public-lightbox-image {
        max-width: 100%;
        max-height: 68vh;
    }

    .sf-public-lightbox-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 44px;
        height: 44px;
        z-index: 2;
    }

    .sf-public-lightbox-nav-prev {
        left: 10px;
    }

    .sf-public-lightbox-nav-next {
        right: 10px;
    }

    .sf-public-review-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    body.home,
    body.page-accedi,
    body.post-type-archive-schx_professional,
    body.error404,
    body.page.page-id-8:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti),
    body.page.page-id-9:not(.page-accedi):not(.page-area-clienti):not(.page-area-professionisti),
    body.single-schx_professional {
        background:
            radial-gradient(circle at 10% 12%, rgba(255, 216, 70, 0.64) 0%, rgba(255, 194, 62, 0.22) 26%, transparent 44%),
            radial-gradient(circle at 92% 16%, rgba(255, 72, 58, 0.46) 0%, rgba(255, 72, 58, 0.14) 22%, transparent 40%),
            linear-gradient(90deg, #ffd84b 0%, #ffbf4d 42%, #ff8c40 74%, #ff4338 100%);
        background-attachment: scroll;
    }

    body.single-schx_professional .sf-page-shell,
    body.single-schx_professional .sf-public-profile-shell {
        width: min(calc(100% - 16px), var(--sf-max));
        padding-top: 18px;
    }

    body.single-schx_professional .sf-public-profile-avatar {
        width: 124px;
        height: 124px;
    }

    body.single-schx_professional .sf-page-shell {
        padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
    }

    body.single-schx_professional .sf-public-profile-shell {
        padding-top: calc(20px + env(safe-area-inset-top, 0px));
    }

    body.single-schx_professional .sf-public-profile-hero {
        padding: 22px 18px 24px;
        border-radius: 34px;
    }

    body.single-schx_professional .sf-profile-card {
        grid-template-areas:
            "head"
            "avatar"
            "summary";
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        align-items: start;
    }

    body.single-schx_professional .sf-profile-head {
        gap: 10px;
    }

    body.single-schx_professional .sf-public-profile-avatar {
        justify-self: start;
        width: min(118px, 32vw);
        height: min(118px, 32vw);
        border-radius: 30px;
    }

    body.single-schx_professional .sf-profile-chip-row {
        gap: 8px;
    }

    body.single-schx_professional .sf-profile-chip {
        min-height: 44px;
        padding: 10px 14px;
        line-height: 1.15;
    }

    body.single-schx_professional .sf-profile-name {
        max-width: none;
        font-size: clamp(2.3rem, 11vw, 3rem);
        line-height: 0.92;
        overflow-wrap: normal;
        word-break: normal;
        text-wrap: pretty;
    }

    body.single-schx_professional .sf-profile-name.is-compact {
        max-width: 100%;
        font-size: clamp(1.72rem, 7.75vw, 2.18rem);
        line-height: 0.98;
        letter-spacing: -0.022em;
        text-wrap: balance;
    }

    body.single-schx_professional .sf-profile-name.is-dense {
        max-width: 100%;
        font-size: clamp(1.54rem, 6.7vw, 1.94rem);
        line-height: 1;
        letter-spacing: -0.016em;
        text-wrap: balance;
    }

    body.single-schx_professional .sf-profile-role {
        max-width: 20ch;
        font-size: 0.98rem;
        line-height: 1.45;
    }

    body.single-schx_professional .sf-directory-card-score {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: baseline;
    }

    body.single-schx_professional .sf-profile-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-top: 14px;
    }

    body.single-schx_professional .sf-profile-actions .sf-button,
    body.single-schx_professional .sf-profile-actions .sf-profile-link {
        width: 100%;
        min-height: 54px;
        text-align: center;
    }

    body.single-schx_professional .sf-profile-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 22px;
    }

    body.single-schx_professional .sf-profile-stat {
        padding: 16px;
    }

    .sf-public-strip {
        grid-auto-columns: 84%;
    }

    .sf-public-gallery-card {
        min-height: 190px;
    }

    body.single-schx_professional .sf-side-card,
    body.single-schx_professional .sf-profile-panel {
        overflow: hidden;
    }
}

.sf-ticket-center {
    display: grid;
    gap: 18px;
}

.sf-ticket-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.sf-ticket-thread-list {
    display: grid;
    gap: 14px;
}

.sf-ticket-thread {
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    overflow: hidden;
}

.sf-ticket-thread-summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 20px;
    display: grid;
    gap: 10px;
}

.sf-ticket-thread-summary::-webkit-details-marker {
    display: none;
}

.sf-ticket-thread-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.sf-ticket-thread-head strong {
    display: block;
    color: var(--sf-ink);
}

.sf-ticket-thread-meta {
    display: block;
    margin-top: 6px;
    color: var(--sf-muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.sf-ticket-thread-pills {
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.sf-ticket-thread-preview {
    display: grid;
    gap: 6px;
    color: var(--sf-muted);
    font-size: 0.92rem;
}

.sf-ticket-thread-preview p {
    margin: 0;
    color: var(--sf-ink);
}

.sf-ticket-thread-body {
    display: grid;
    gap: 14px;
    padding: 0 20px 20px;
}

.sf-ticket-message-list {
    display: grid;
    gap: 10px;
}

.sf-ticket-message {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.86);
}

.sf-ticket-message.is-admin {
    background: linear-gradient(135deg, rgba(255, 216, 75, 0.22), rgba(255, 104, 58, 0.12));
    border-color: rgba(255, 166, 66, 0.26);
}

.sf-ticket-message.is-owner {
    background: rgba(255, 255, 255, 0.94);
}

.sf-ticket-message-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
    font-size: 0.84rem;
}

.sf-ticket-message-head strong {
    color: var(--sf-ink);
}

.sf-ticket-message-head span {
    color: var(--sf-muted);
}

.sf-ticket-message p {
    margin: 0;
    color: var(--sf-ink);
    white-space: normal;
}

.sf-ticket-priority {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sf-ticket-priority-low {
    background: rgba(125, 140, 165, 0.12);
    color: #58657b;
}

.sf-ticket-priority-normal {
    background: rgba(255, 205, 88, 0.16);
    color: #b67d08;
}

.sf-ticket-priority-urgent {
    background: rgba(255, 96, 72, 0.16);
    color: #d14b32;
}

.sf-ticket-form,
.sf-ticket-reply-form {
    gap: 14px;
}

.sf-ticket-reply-form {
    margin-top: 4px;
}

@media (max-width: 900px) {
    .sf-ticket-stats {
        grid-template-columns: 1fr;
    }

    .sf-ticket-thread-head {
        flex-direction: column;
    }

    .sf-ticket-thread-pills {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .sf-ticket-thread-summary,
    .sf-ticket-thread-body {
        padding-left: 16px;
        padding-right: 16px;
    }
}
