/* Mirate al sito esistente: livelli, navigazione e contatti. */
:root {
    --contact-bar-offset: 0px;
    --menu-top: 76px;
}
html { scroll-padding-top: var(--anchor-offset, 108px) !important; }
body > main { position: relative; z-index: 0; min-width: 0; }
.site-header { z-index: 1100 !important; transform: none !important; isolation: isolate; }
body.home-page .site-header { background: rgba(18,18,22,.94); }
body:not(.home-page) .site-header { background: rgba(4,4,6,.98); }
.mobile-menu {
    top: var(--menu-top);
    z-index: 1050;
    background: rgba(4,4,6,.98);
    visibility: hidden;
    pointer-events: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: calc(24px + var(--contact-bar-offset));
}
.mobile-menu.active { visibility: visible; pointer-events: auto; }
body.menu-open .mobile-contact-bar { visibility: hidden; }
.mobile-menu-btn { min-width: 44px; min-height: 44px; }
.mobile-menu a { min-height: 44px; }
.video-modal, .image-modal { z-index: 1200; }
.whatsapp-container { left: 24px; right: auto; z-index: 900; }
.whatsapp-float { flex: 0 0 72px; }
.whatsapp-float svg {
    width: 38px;
    height: 38px;
    min-width: 38px;
    flex: 0 0 38px;
    display: block;
    fill: #fff;
}
.mobile-contact-bar { z-index: 900; }
.mobile-contact-bar svg {
    display: block;
    width: 20px;
    height: 20px;
    min-width: 20px;
    flex: 0 0 20px;
    fill: currentColor;
}
.hero-role { margin-bottom: 18px; font-size: .875rem; letter-spacing: .08em; }
.form-help { font-size: .95rem; margin-bottom: 24px; }
.form-help strong { color: var(--text-main); }
.form-control, .contact-card { scroll-margin-top: 0; }
.form-footer button[disabled] { cursor: wait; opacity: .7; }
#form-error a { text-decoration: underline; }
.article-header { position: static; height: auto; z-index: auto; display: block; }
.article-content { overflow-wrap: anywhere; }
.article-cta { margin-top: 48px; padding: 28px; border: 1px solid rgba(232,28,255,.2); border-radius: 20px; background: var(--glass-bg-base); }
.article-cta h2 { margin-top: 0; font-size: 1.5rem; }
.article-cta p { font-size: 1rem; }
.blog-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%,320px),1fr)); }
.nav-desktop { gap: clamp(12px,1.8vw,26px); }
.nav-desktop a:not(.btn-animated) { font-size: 1rem; }
.rec-indicator { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Una superficie di vetro trasparente identifica la posizione nel sito. */
.nav-desktop a:not(.btn-animated), .mobile-menu a:not(.btn-animated) {
    position: relative;
    isolation: isolate;
}
.nav-desktop a:not(.btn-animated)::before, .mobile-menu a:not(.btn-animated)::before {
    content: "";
    position: absolute;
    inset: -8px -10px;
    z-index: -1;
    border: 1px solid transparent;
    border-radius: 100px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s ease;
}
.nav-desktop a.active:not(.btn-animated), .mobile-menu a.active:not(.btn-animated) {
    color: var(--text-main);
    text-shadow: none;
}
.nav-desktop a.active:not(.btn-animated)::before, .mobile-menu a.active:not(.btn-animated)::before {
    opacity: 1;
    background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
    border-color: rgba(255,255,255,.14);
    backdrop-filter: blur(12px) saturate(150%);
    -webkit-backdrop-filter: blur(12px) saturate(150%);
    box-shadow: inset 0 1px 1px rgba(255,255,255,.20), 0 3px 12px rgba(0,0,0,.15);
}
.mobile-menu a:not(.btn-animated) { align-self: flex-start; max-width: 100%; }
.header-inner > div { min-width: 0; }
.logo { min-width: 0; overflow-wrap: anywhere; }
.mobile-menu-btn { flex-shrink: 0; }
.about-image-wrapper { width: 100%; min-width: 0; }
.about-image { width: 100%; }
main h1, main h2, main h3 { overflow-wrap: anywhere; }
.google-badge-clean { flex-wrap: wrap; max-width: 100%; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .nav-desktop a::before, .mobile-menu a::before { transition: none; }
}

@media (min-width: 1025px) and (max-width: 1200px) {
    .rec-indicator { display: none; }
    .header-inner { gap: 16px; }
}
@media (max-width: 1024px) {
    .nav-desktop { display: none; }
    .mobile-menu-btn { display: block; }
    .site-header { height: auto; min-height: var(--header-height, 76px); }
    .header-inner { gap: 12px; padding-block: 10px; }
}
@media (max-width: 768px) {
    :root { --contact-bar-offset: calc(78px + env(safe-area-inset-bottom,0px)); }
    .mobile-contact-bar {
        padding: 12px max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
        gap: 10px;
        background: rgba(18,18,22,.97);
    }
    .mobile-contact-bar a { min-width: 0; min-height: 48px; font-size: .9375rem; }
    .mobile-contact-bar .btn-wa, .mobile-contact-bar .btn-wa-mobile { color: #071b10; }
    body { padding-bottom: var(--contact-bar-offset); }
    .links-page { padding-bottom: calc(96px + var(--contact-bar-offset)); }
    .hero { padding-top: calc(var(--menu-top, 92px) + 24px); }
    .hero-grid { gap: 28px; }
    .hero-content h1 { font-size: clamp(2.2rem,9.5vw,3rem); line-height: 1.12; margin-bottom: 18px; }
    .hero-content p { font-size: 1.0625rem; line-height: 1.6; margin-bottom: 24px; }
    .hero-actions { gap: 12px; }
    .hero-actions a { min-height: 50px; }
    .hero-role { max-width: 100%; font-size: .875rem; letter-spacing: .035em; }
    .article-title { font-size: clamp(2rem,8.5vw,3rem); line-height: 1.16; }
    .article-content h2 { font-size: 1.6rem; }
    .article-content blockquote { font-size: 1.1rem; padding-left: 16px; }
    .contact-headline h2 { font-size: clamp(2rem,8vw,3rem); }
    .micro-label, .form-group label, .blog-meta, .service-tags span { font-size: .875rem; }
    .process-compact { flex-wrap: wrap; gap: 18px; }
    .process-compact::before { display: none; }
    main > section:not(.hero):not(.creator-experience) { padding-block: 48px; }
    .section-header { margin-bottom: 28px; }
    .hero { padding-bottom: 32px; }
    .hero-content h1 { font-size: clamp(2.1rem, 8.8vw, 2.9rem); }
    .about-grid { gap: 24px; margin-bottom: 32px; }
    .about-image-wrapper { width: min(100%, 22rem); justify-self: center; }
    .stats-grid { gap: 20px; padding: 24px; }
    .process-compact-wrapper { padding-block: 32px; }
    .contact-grid { gap: 24px; }
    .contact-card { padding: 24px 20px; }
    .accordion-header { padding: 20px; }
    .service-title-acc { font-size: clamp(1.2rem, 5vw, 1.4rem); }
    .portfolio-grid, .reviews-carousel { padding-bottom: 12px; }
    .mobile-menu { gap: 22px; }
    .mobile-menu a:not(.btn-animated) { font-size: clamp(1.5rem, 6.5vw, 2rem); }
    html body .iubenda-tp-btn {
        position: fixed !important;
        bottom: calc(var(--contact-bar-offset) + 16px) !important;
        right: max(16px,env(safe-area-inset-right,0px)) !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
    }
    html body div#iubenda-cs-banner { bottom: var(--contact-bar-offset) !important; }
}
@media (max-width: 380px) {
    .rec-indicator { display: none; }
    .header-inner { padding-inline: 16px; }
    .logo { font-size: 1.15rem; }
    .mobile-contact-bar a { font-size: .875rem; gap: 6px; padding-inline: 8px; }
}
@media (max-width: 480px) {
    .rec-indicator { display: none; }
}
@media (max-height: 560px) and (max-width: 1024px) {
    .mobile-menu { gap: 12px; padding-top: 16px; }
    .mobile-menu a:not(.btn-animated) { font-size: 1.5rem; }
}

/* Palette perla e lavanda; vetro condiviso su tutte le pagine. */
:root {
    --bg-main: #08090e; --bg-alt: #0d0f18;
    --accent-magenta: #b5a8ed; --accent-blue: #8daeea;
    --accent-magenta-glow: rgba(181,168,237,.12);
    --accent-blue-glow: rgba(141,174,234,.10);
    --glass-bg-base: linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));
    --glass-bg-hover: linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
    --glass-shadow-hover: 0 16px 40px rgba(0,0,0,.3);
}
body { background-color: var(--bg-main); background-image: radial-gradient(ellipse at 0% 0%,rgba(133,103,205,.12),transparent 45%),radial-gradient(ellipse at 100% 65%,rgba(86,119,180,.08),transparent 45%); }
body .site-header {
    position: fixed !important; top: 16px !important; left: 0; right: 0;
    width: 92% !important; max-width: 1200px; margin: 0 auto;
    height: 76px; border-radius: 100px;
    background: linear-gradient(115deg,rgba(42,35,65,.84),rgba(19,20,31,.88)) !important;
    border: 1px solid rgba(225,220,255,.23);
    backdrop-filter: blur(24px) saturate(135%); -webkit-backdrop-filter: blur(24px) saturate(135%);
    box-shadow: inset 0 2px 5px rgba(235,228,255,.17),inset 0 -1px 3px rgba(255,255,255,.035),0 12px 35px rgba(0,0,0,.28);
}
body .header-inner { width: 100%; max-width: none; padding: 0 24px; gap: 20px; }
body .logo { display: inline-flex; align-items: baseline; gap: 0; color: #f5f3fb; background: none; -webkit-text-fill-color: currentColor; animation: none; letter-spacing: -.035em; white-space: nowrap; }
.logo-at { color: #beb2ea; }
.rec-indicator { display: none; }
body:not(.home-page) .page-hero { padding-top: 144px; }
body:not(.home-page) .article-wrapper { padding-top: 136px; }
.nav-desktop a:not(.btn-animated):hover::before,
.nav-desktop a:not(.btn-animated):focus-visible::before,
.mobile-menu a:not(.btn-animated):hover::before,
.mobile-menu a:not(.btn-animated):focus-visible::before {
    opacity: 1; background: linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
    border-color: rgba(255,255,255,.16); box-shadow: inset 0 1px 2px rgba(255,255,255,.18);
}
.nav-desktop a.active:not(.btn-animated)::before,.mobile-menu a.active:not(.btn-animated)::before { background: linear-gradient(135deg,rgba(215,205,255,.22),rgba(255,255,255,.065)); border-color: rgba(225,218,255,.28); }
body .btn-animated, body .btn-lavora-mobile, body .btn-lavora {
    background: linear-gradient(180deg,#fff,#e9e6f0); color: #181522 !important;
    animation: none; box-shadow: inset 0 1px 1px #fff,0 4px 16px rgba(0,0,0,.16); text-shadow: none;
}
body .btn-animated:hover { box-shadow: 0 5px 22px rgba(204,194,240,.18); }
body .text-gradient { background: none; -webkit-text-fill-color: currentColor; color: #bcb1e6; text-shadow: none; }
.tech-badge { animation: none; }
.gear-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.gear-filter { padding: 12px 20px; min-height: 44px; border-radius: 100px; border: 1px solid rgba(255,255,255,.16); background: var(--glass-bg-base); box-shadow: inset 0 1px 2px rgba(255,255,255,.12); font-size: .95rem; transition: background .2s,color .2s; }
.gear-filter:hover { background: rgba(255,255,255,.12); }
.gear-filter[aria-pressed="true"] { color: #181522; background: #eeebf5; border-color: #eeebf5; }
.gear-tile[hidden] { display: none !important; }
.affiliate-note { font-size: .875rem; max-width: 750px; }
.gear-count { margin-top: 18px; font-size: .875rem; }
.gear-description { font-size: .95rem; line-height: 1.55; margin: 8px 0 18px; }
.gear-info { display: flex; flex-direction: column; flex: 1; }
.btn-amazon { margin-top: auto; }
@media (max-width:1024px) { body .site-header { height:auto; min-height:76px; } body .header-inner { padding: 12px 20px; } }
@media (max-width:768px) {
    body .hero-visual img { max-height: 350px; width: 100%; object-fit: cover; object-position: center 35%; }
    body .hero-grid { gap: 24px; }
    body .gear-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body .btn-amazon { font-size: .85rem; padding-inline: 8px; }
    body .gear-description { font-size:.875rem; }
    body .mobile-contact-bar { background: rgba(22,21,32,.94); border-top:1px solid rgba(255,255,255,.12); }
}
@media (max-width:360px) { body .gear-grid { grid-template-columns: 1fr; } body .logo { font-size: 1.1rem; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } }
/* Riserva spazio alla navbar anche con le spaziature compatte mobile. */
body:not(.home-page) main > section.page-hero { padding-top: 144px; }
@media (max-width:768px) { body:not(.home-page) main > section.page-hero { padding-top: 124px; } }

/* Identità originale: magenta sulle parole chiave, vetro e logo perla. */
:root { --accent-magenta: #E81CFF; --accent-magenta-glow: rgba(232,28,255,.18); }
body .text-gradient { color: var(--accent-magenta); text-shadow: 0 0 22px rgba(232,28,255,.10); }
body .portfolio-category { color: var(--accent-magenta); }
.nav-desktop a:not(.btn-animated):hover::before,
.mobile-menu a:not(.btn-animated):hover::before { border-color: rgba(232,28,255,.35); box-shadow: inset 0 1px 2px rgba(255,255,255,.18),0 0 16px rgba(232,28,255,.08); }
body .brand-section { padding: 32px 0; }
.brand-section h2 { text-align:center; font-size:clamp(1.25rem,2.5vw,1.65rem); margin-bottom:24px; }
.brand-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:12px; }
.brand-logo { display:flex; align-items:center; justify-content:center; min-width:0; height:80px; padding:14px; border-radius:16px; background:linear-gradient(145deg,#fff,#eeedf3); border:1px solid rgba(255,255,255,.6); box-shadow:inset 0 1px 2px #fff,0 5px 16px rgba(0,0,0,.12); }
.brand-logo img { display:block; width:100%; height:100%; object-fit:contain; }
@media(max-width:1024px) { .brand-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:480px) { .brand-grid { gap:8px; } .brand-logo { height:62px; padding:9px; border-radius:12px; } }

/* Riflessi colorati e inviti al contatto, revisione 2. */
body .text-gradient { color:#E81CFF; background:none; -webkit-text-fill-color:currentColor; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
    body h1.text-gradient, body h2.text-gradient,
    body h1 .text-gradient, body h2 .text-gradient {
        background:linear-gradient(115deg,#E81CFF 5%,#bf5dff 48%,#719bff 100%);
        background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent;
        text-shadow:none;
    }
}
body .site-header {
    background:linear-gradient(115deg,rgba(49,35,69,.72),rgba(22,25,39,.80)) !important;
    border-color:rgba(227,216,255,.3);
    box-shadow:inset 0 2px 3px rgba(255,255,255,.24),inset 1px 0 2px rgba(232,28,255,.12),inset -1px 0 2px rgba(113,155,255,.16),inset 0 -1px 1px rgba(255,255,255,.05),0 12px 32px rgba(0,0,0,.28);
    backdrop-filter:blur(28px) saturate(150%); -webkit-backdrop-filter:blur(28px) saturate(150%);
}
body .btn-animated,body .btn-lavora-mobile,body .btn-lavora {
    background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(236,231,248,.86));
    border:1px solid rgba(255,255,255,.65);
    box-shadow:inset 0 2px 3px rgba(255,255,255,.9),inset 0 -1px 2px rgba(151,133,190,.15),0 5px 18px rgba(0,0,0,.18);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    transition:transform .2s ease,box-shadow .2s ease;
}
body .btn-animated:hover { box-shadow:inset 0 2px 3px #fff,0 6px 22px rgba(232,28,255,.13); }
.btn-animated:active,.btn-glass:active,.gear-filter:active,.btn-amazon:active { transform:scale(.97); }
.nav-desktop a:not(.btn-animated),.mobile-menu a:not(.btn-animated) { transition:color .2s ease,transform .2s ease; }
.nav-desktop a:not(.btn-animated):active,.mobile-menu a:not(.btn-animated):active { transform:scale(.97); }
body .brand-section { background:linear-gradient(130deg,rgba(232,28,255,.035),rgba(255,255,255,.035) 45%,rgba(113,155,255,.04)); border-block:1px solid rgba(255,255,255,.09); box-shadow:inset 0 1px 1px rgba(255,255,255,.05); }
.brand-logo { background:linear-gradient(145deg,rgba(247,244,252,.94),rgba(224,223,235,.91)); border-color:rgba(255,255,255,.32); box-shadow:inset 0 1px 2px rgba(255,255,255,.65),0 3px 10px rgba(0,0,0,.08); }
@media(max-width:768px) {
    body .mobile-contact-bar {
        left:max(10px,env(safe-area-inset-left,0px)); right:max(10px,env(safe-area-inset-right,0px));
        bottom:calc(10px + env(safe-area-inset-bottom,0px)); border-radius:100px;
        padding:8px; gap:8px; border:1px solid rgba(230,220,255,.25);
        background:linear-gradient(115deg,rgba(42,32,61,.78),rgba(22,25,39,.86));
        backdrop-filter:blur(28px) saturate(150%); -webkit-backdrop-filter:blur(28px) saturate(150%);
        box-shadow:inset 0 2px 3px rgba(255,255,255,.19),0 8px 26px rgba(0,0,0,.3);
    }
    body .mobile-contact-bar a { min-height:46px; padding:10px 8px; }
}
@media(prefers-reduced-motion:reduce) {
    body .btn-animated,body .btn-lavora-mobile,body .btn-lavora,.nav-desktop a,.mobile-menu a { transition:none; }
}

/* Tema, controlli e interazioni glass. */
.header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.header-actions .mobile-menu-btn { padding:6px; }
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; border-radius:50%; color:var(--text-main); border:1px solid rgba(255,255,255,.22); background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.035)); box-shadow:inset 0 1px 2px rgba(255,255,255,.22); }
.theme-toggle svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.theme-moon { display:none; }
[data-theme="light"] .theme-sun { display:none; }
[data-theme="light"] .theme-moon { display:block; }
.links-theme-control { position:absolute; top:20px; right:24px; z-index:10; }
body .btn-animated,body .btn-lavora-mobile,body .btn-lavora,body .link-hero {
    color:#fff !important; background:linear-gradient(115deg,#b80dcc 0%,#8b38dc 52%,#356ad6 100%);
    border:1px solid rgba(255,255,255,.38); text-shadow:0 1px 2px rgba(0,0,0,.15);
    box-shadow:inset 0 2px 3px rgba(255,255,255,.35),inset 0 -1px 2px rgba(26,0,54,.2),0 5px 22px rgba(232,28,255,.22); animation:none;
}
body .btn-animated:hover,body .link-hero:hover { box-shadow:inset 0 2px 3px rgba(255,255,255,.5),0 7px 28px rgba(232,28,255,.32); }
.site-header::after,.btn-animated::after,.link-hero::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:radial-gradient(180px circle at var(--shine-x,50%) var(--shine-y,0%),rgba(255,255,255,.18),transparent 75%); opacity:0; transition:opacity .2s; }
.glass-reflection::after { opacity:1; }
.gear-filters { position:relative; isolation:isolate; }
.filter-indicator { position:absolute; top:0; left:0; z-index:-1; pointer-events:none; border-radius:100px; background:linear-gradient(145deg,#fbf8ff,#d9d1e9); border:1px solid rgba(255,255,255,.65); box-shadow:inset 0 2px 2px #fff,0 4px 14px rgba(0,0,0,.16); transition:transform .32s cubic-bezier(.2,.8,.2,1),width .32s,height .32s; opacity:0; }
.has-indicator .gear-filter[aria-pressed="true"] { background:transparent; border-color:transparent; box-shadow:none; }
.has-indicator .gear-filter { transition:color .2s,transform .2s; }
.cursor-glow { position:fixed; left:0; top:0; width:0; height:0; z-index:2000; pointer-events:none; opacity:0; transition:opacity .15s; }
.cursor-glow::before { content:""; position:absolute; width:64px; height:64px; left:-32px; top:-32px; border-radius:50%; background:radial-gradient(circle,rgba(232,28,255,.23),rgba(232,28,255,.08) 40%,transparent 72%); transition:scale .2s; }
.cursor-glow.visible { opacity:1; }
.cursor-glow.over-control::before { scale:1.35; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    body,body a,body button { cursor:url('cursor-glass.svg') 5 5,auto; }
    body input,body textarea,body [contenteditable="true"] { cursor:text; }
    body select,body video { cursor:auto; }
}
.video-modal { background:rgba(3,3,8,.78); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.video-modal .modal-content { transform:translateY(12px) scale(.96); opacity:0; transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .28s; }
.video-modal.active .modal-content { transform:translateY(0) scale(1); opacity:1; }
.modal-close { border:1px solid rgba(255,255,255,.25); background:rgba(35,30,48,.65); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-radius:50%; box-shadow:inset 0 1px 2px rgba(255,255,255,.2); }
:root[data-theme="light"] {
    --bg-main:#f5f3f9; --bg-alt:#eceaf3; --text-main:#211c2e; --text-muted:#5c536b;
    --glass-bg-base:linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,255,255,.48));
    --glass-bg-hover:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,255,255,.7));
    --glass-inset-highlight:inset 0 1px 2px #fff,inset 0 0 0 1px rgba(91,70,126,.1);
    --glass-inset-highlight-hover:inset 0 1px 2px #fff,inset 0 0 0 1px rgba(91,70,126,.18);
    --glass-shadow:0 10px 28px rgba(48,33,75,.08); --glass-shadow-hover:0 14px 35px rgba(48,33,75,.13);
}
[data-theme="light"] body { background-color:var(--bg-main); background-image:radial-gradient(ellipse at 0 0,rgba(232,28,255,.065),transparent 45%),radial-gradient(ellipse at 100% 65%,rgba(84,125,245,.08),transparent 45%); }
[data-theme="light"] body .site-header { background:linear-gradient(115deg,rgba(255,250,255,.8),rgba(239,241,255,.82)) !important; border-color:rgba(255,255,255,.9); box-shadow:inset 0 2px 3px #fff,0 10px 30px rgba(55,37,81,.12); }
[data-theme="light"] body .logo { color:#292033; }
[data-theme="light"] .logo-at { color:#8c24a3; }
[data-theme="light"] .theme-toggle { border-color:rgba(76,47,104,.18); background:rgba(255,255,255,.55); }
[data-theme="light"] .mobile-menu { background:rgba(247,245,252,.97); }
[data-theme="light"] .mobile-menu a:not(.btn-animated) { text-shadow:none; }
[data-theme="light"] body .btn-glass,[data-theme="light"] body .link-btn { color:var(--text-main); background:rgba(255,255,255,.65); border-color:rgba(90,67,120,.16); box-shadow:inset 0 1px 2px #fff,0 4px 14px rgba(48,33,75,.09); }
[data-theme="light"] body .btn-glass:hover,[data-theme="light"] body .link-btn:hover { background:rgba(255,255,255,.95); color:var(--text-main); }
[data-theme="light"] .nav-desktop a.active:not(.btn-animated)::before,[data-theme="light"] .mobile-menu a.active:not(.btn-animated)::before { background:rgba(165,128,213,.14); border-color:rgba(117,72,162,.2); }
[data-theme="light"] .gear-filter { border-color:rgba(90,67,120,.18); background:rgba(255,255,255,.5); }
[data-theme="light"] .has-indicator .gear-filter[aria-pressed="true"] { background:transparent; }
[data-theme="light"] body .contact-card,[data-theme="light"] body .stats-grid,[data-theme="light"] body .article-cta { background:var(--glass-bg-base); border-color:rgba(90,67,120,.12); box-shadow:var(--glass-shadow); }
[data-theme="light"] body .form-control { background:rgba(255,255,255,.72); color:var(--text-main); border-color:rgba(90,67,120,.2); }
[data-theme="light"] .form-control::placeholder { color:#756b81; }
[data-theme="light"] .form-control:focus { border-color:#b80dcc; }
[data-theme="light"] .service-tags span { color:var(--text-muted); background:rgba(104,80,138,.065); border-color:rgba(90,67,120,.13); }
[data-theme="light"] .portfolio-meta { border-color:rgba(90,67,120,.1); }
[data-theme="light"] .portfolio-media { background:#17131f; }
[data-theme="light"] .brand-section { border-color:rgba(90,67,120,.1); }
[data-theme="light"] footer { background:rgba(229,225,239,.55); border-color:rgba(90,67,120,.13); }
[data-theme="light"] .footer-bottom,[data-theme="light"] .links-footer { border-color:rgba(90,67,120,.13); }
[data-theme="light"] .social-pill { background:rgba(255,255,255,.65); color:var(--text-main); border-color:rgba(90,67,120,.15); }
[data-theme="light"] .social-pill svg { fill:currentColor; }
[data-theme="light"] body .mobile-contact-bar { background:linear-gradient(115deg,rgba(255,250,255,.84),rgba(232,236,250,.9)); border-color:rgba(255,255,255,.95); box-shadow:inset 0 2px 3px #fff,0 8px 26px rgba(55,37,81,.16); }
[data-theme="light"] .google-badge-clean { color:var(--text-main); }
[data-theme="light"] body .text-gradient,[data-theme="light"] body .portfolio-category { color:#a50aba; text-shadow:none; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
    [data-theme="light"] body h1.text-gradient,[data-theme="light"] body h2.text-gradient,[data-theme="light"] body h1 .text-gradient,[data-theme="light"] body h2 .text-gradient { background-image:linear-gradient(115deg,#b40ccc,#9434cf 48%,#3567cb); }
}
@media(min-width:1025px) and (max-width:1180px) { .nav-desktop { display:none; } .mobile-menu-btn { display:block; } }
@media(max-width:480px) { body .header-inner { padding-inline:14px; gap:8px; } body .logo { font-size:1.08rem; } .header-actions { gap:3px; } .theme-toggle { width:40px; height:40px; } }
@media(prefers-reduced-motion:reduce) { .cursor-glow { display:none; } .filter-indicator,.video-modal .modal-content { transition:none; } }
@media(forced-colors:active) { .cursor-glow { display:none; } body h1 .text-gradient,body h2 .text-gradient,body h1.text-gradient { background:none; -webkit-text-fill-color:currentColor; } }
[data-theme="light"] #form-success span:first-of-type { color:var(--text-main) !important; }
[data-theme="light"] .gear-image { background:rgba(233,230,242,.45); }
[data-theme="light"] .gear-image::before { opacity:.08; }
[data-theme="light"] .hero-visual img { filter:drop-shadow(0 12px 24px rgba(48,33,75,.14)); }
@media(max-width:1180px) { body .site-header { height:auto; min-height:76px; } body .header-inner { padding-block:10px; } }
@media(max-width:360px) { body .header-inner { padding-inline:12px; gap:4px; } body .logo { font-size:.94rem; } .header-actions { gap:0; } }

/* Rifiniture dopo il controllo dei due temi. */
body .site-header > .container:not(.header-inner) { max-width:none; padding:0; }
body .btn-amazon { color:#211c2e; background:#f5f2fa; text-shadow:none; }
body .btn-amazon:hover { color:#211c2e; background:#fff; box-shadow:inset 0 1px 2px #fff,0 6px 18px rgba(138,74,185,.2); }
body .btn-amazon:focus-visible { outline:3px solid #a50aba; outline-offset:4px; }
body .whatsapp-tooltip { opacity:0; visibility:hidden; pointer-events:none; animation:none; transition:opacity .18s,visibility .18s; }
body .whatsapp-container:hover .whatsapp-tooltip,
body .whatsapp-container:focus-within .whatsapp-tooltip { opacity:1; visibility:visible; }
[data-theme="light"] .article-meta,
[data-theme="light"] .blog-meta,
[data-theme="light"] .process-compact-step span { color:#a50aba; }
[data-theme="light"] .google-stars { color:#946400; }
[data-theme="light"] .gear-title { text-shadow:none; }
[data-theme="light"] .gear-image { background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(230,225,242,.42)); box-shadow:inset 0 1px 3px rgba(255,255,255,.9),inset 0 0 0 1px rgba(91,70,126,.08); }
[data-theme="light"] .gear-image img { filter:drop-shadow(0 8px 14px rgba(48,33,75,.15)); }
[data-theme="light"] .process-compact-step { box-shadow:0 4px 12px rgba(48,33,75,.08); border-color:rgba(90,67,120,.14); }
[data-theme="light"] .nav-desktop a:not(.btn-animated):hover::before,
[data-theme="light"] .nav-desktop a:not(.btn-animated):focus-visible::before,
[data-theme="light"] .mobile-menu a:not(.btn-animated):hover::before,
[data-theme="light"] .mobile-menu a:not(.btn-animated):focus-visible::before { background:rgba(165,128,213,.12); border-color:rgba(117,72,162,.22); }
body.blog-page main > section.container { padding-block:0; }
body.blog-page .blog-grid { padding-top:24px; }
.blog-grid:has(> .blog-card:only-child) { grid-template-columns:minmax(0,820px); justify-content:center; }
@media(min-width:769px) {
    body.home-page #servizi,body.home-page #chi-sono { padding-block:72px; }
    .blog-card:only-child { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .blog-card:only-child .blog-image { height:100%; aspect-ratio:auto; min-height:320px; border-bottom:0; }
    .blog-card:only-child .blog-content { justify-content:center; padding:32px; }
}
@media(prefers-reduced-motion:reduce) { body .whatsapp-tooltip { transition:none; } }

/* Il logo resta fermo: la capsula compare senza occupare nuovo spazio. */
body .site-header .logo { position:relative; isolation:isolate; border-radius:100px; }
body .site-header .logo::before {
    content:""; position:absolute; inset:-10px -12px; z-index:-1; pointer-events:none;
    border-radius:100px; opacity:0;
    background:linear-gradient(125deg,rgba(232,28,255,.14),rgba(255,255,255,.09) 48%,rgba(121,157,255,.1));
    border:1px solid rgba(238,218,255,.3);
    box-shadow:inset 0 1px 2px rgba(255,255,255,.25),0 3px 14px rgba(232,28,255,.1);
    transition:opacity .2s ease;
}
@media(hover:hover) {
    body .site-header .logo:hover::before { opacity:1; }
}
body .site-header .logo:focus-visible::before,
body .site-header .logo:active::before { opacity:1; }
body .site-header .logo:focus-visible { outline:2px solid #bf65d1; outline-offset:13px; }
[data-theme="light"] body .site-header .logo::before {
    background:linear-gradient(125deg,rgba(232,28,255,.09),rgba(255,255,255,.64) 48%,rgba(121,157,255,.12));
    border-color:rgba(144,80,174,.23);
    box-shadow:inset 0 1px 2px #fff,0 3px 14px rgba(126,59,159,.1);
}
@media(max-width:480px) { body .site-header .logo::before { inset:-9px -7px; } body .site-header .logo:focus-visible { outline-offset:9px; } }
@media(prefers-reduced-motion:reduce) { body .site-header .logo::before { transition:none; } }

/* Navigazione più leggibile sulle superfici chiare. */
[data-theme="light"] body .nav-desktop a:not(.btn-animated),
[data-theme="light"] body .mobile-menu a:not(.btn-animated) { color:#17131f; font-weight:700; text-shadow:none; }

.gear-category { display:block; color:var(--text-muted); font-size:.75rem; font-weight:600; letter-spacing:.04em; margin-bottom:10px; }
body .gear-title { overflow-wrap:anywhere; margin-bottom:10px; }

.article-byline { color:var(--text-muted); font-size:.9rem; }
.article-toc { margin:32px 0; padding:24px; border:1px solid rgba(177,119,211,.25); border-radius:20px; background:var(--glass-bg-base); }
.article-toc ul { margin:14px 0 0 20px; }
.article-content a:not(.btn-animated) { color:#eaa4f4; text-decoration:underline; text-underline-offset:3px; }
[data-theme="light"] .article-content a:not(.btn-animated) { color:#8e129f; }
.article-content a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.article-sources { padding-top:16px; margin-top:40px; border-top:1px solid rgba(177,119,211,.25); font-size:.95rem; }
body .article-cover { height:auto; aspect-ratio:1672/941; object-fit:cover; }

/* Footer condiviso: identità, social glass e fascia legale. */
body .site-footer { position:relative; margin-top:0; padding:48px 0 28px; background:transparent; border-top:0; }
.site-footer::before { content:""; position:absolute; top:0; left:6%; right:6%; height:1px; background:linear-gradient(90deg,transparent,rgba(232,28,255,.26),rgba(126,155,244,.22),transparent); }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-bottom:32px; }
.footer-brand { display:inline-flex; color:var(--text-main); font-family:'Space Grotesk',sans-serif; font-size:1.5rem; font-weight:700; letter-spacing:-.04em; line-height:1.3; }
.footer-brand span { color:#c4a5e9; }
.footer-identity p { margin:10px 0 0; color:var(--text-muted); font-size:.875rem; }
.footer-identity p span { margin-inline:5px; }
.footer-socials { display:flex; flex-wrap:nowrap; gap:14px; }
.footer-social { position:relative; display:flex; align-items:center; justify-content:center; flex:0 0 60px; width:60px; height:60px; border-radius:20px; color:#f3edf9; border:1px solid rgba(239,225,255,.2); background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035)); box-shadow:inset 0 1px 2px rgba(255,255,255,.18),0 6px 18px rgba(0,0,0,.12); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.footer-social svg { display:block; width:28px; height:28px; fill:currentColor; }
.footer-social::after { content:attr(data-label); position:absolute; bottom:calc(100% + 9px); left:50%; transform:translateX(-50%); padding:5px 9px; border-radius:8px; background:var(--text-main); color:var(--bg-main); font-size:.75rem; white-space:nowrap; opacity:0; visibility:hidden; pointer-events:none; }
.footer-social:focus-visible::after { opacity:1; visibility:visible; }
.footer-brand:focus-visible,.footer-social:focus-visible,.footer-legal-links a:focus-visible { outline:2px solid #c26bda; outline-offset:5px; }
@media(hover:hover) { .footer-social:hover { transform:translateY(-3px); border-color:rgba(232,28,255,.5); background:linear-gradient(135deg,rgba(232,28,255,.16),rgba(130,150,255,.1)); box-shadow:inset 0 1px 2px rgba(255,255,255,.24),0 6px 20px rgba(232,28,255,.12); } .footer-social:hover::after { opacity:1; visibility:visible; } }
.footer-social:active { transform:scale(.96); }
.footer-legal { display:grid; grid-template-columns:1fr auto; gap:16px 24px; padding-top:24px; border-top:1px solid rgba(154,139,180,.16); }
.footer-legal-links { display:flex; flex-wrap:wrap; gap:12px 24px; }
.footer-legal-links a,.footer-copyright { font-size:.8rem; color:var(--text-muted); line-height:1.6; }
.footer-legal-links a:hover { color:var(--text-main); text-decoration:underline; text-underline-offset:3px; }
.footer-copyright { margin:0; }
.footer-affiliate { grid-column:1/-1; color:var(--text-muted); font-size:.75rem; line-height:1.6; margin:0; }
[data-theme="light"] .footer-brand span { color:#8c24a3; }
[data-theme="light"] .footer-social { color:#211c2e; border-color:rgba(107,74,140,.17); background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(245,238,255,.55)); box-shadow:inset 0 1px 2px #fff,0 6px 18px rgba(48,33,75,.07); }
[data-theme="light"] .footer-social:hover { border-color:rgba(165,10,186,.35); background:linear-gradient(135deg,rgba(232,28,255,.09),rgba(130,150,255,.12)); }
@media(max-width:768px) {
 body .site-footer { padding-top:36px; }
 .footer-main { flex-direction:column; text-align:center; gap:24px; padding-bottom:28px; }
 .footer-socials { gap:12px; }
 .footer-social { width:54px; height:54px; flex-basis:54px; border-radius:18px; }
 .footer-social svg { width:26px; height:26px; }
 .footer-legal { grid-template-columns:1fr; text-align:center; gap:16px; }
 .footer-legal-links { justify-content:center; gap:10px 18px; }
 .footer-affiliate { grid-column:auto; max-width:38rem; margin-inline:auto; }
 .footer-brand { font-size:1.35rem; }
}
@media(prefers-reduced-motion:reduce) { .footer-social { transition:none; } }
/* Keep footer links clear of the floating WhatsApp control. */
@media(min-width:769px) { .footer-legal { padding-left:44px; } }

/* Acquisto primario, approfondimento editoriale — ottobre 2026. */
body .gear-info { align-items:stretch; text-align:left; justify-content:flex-start; padding:24px; }
body .gear-title { line-height:1.25; text-shadow:none; }
body .gear-description { margin:4px 0 24px; }
.gear-actions { display:flex; flex-direction:column; gap:18px; margin-top:auto; width:100%; }
body .btn-amazon, body .btn-animated.btn-amazon { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:14px 20px; color:#34200c !important; background:linear-gradient(120deg,#ffda9d,#ffb963); border:1px solid rgba(255,205,140,.7); border-radius:100px; font-size:.95rem; font-weight:700; line-height:1.4; text-align:center; text-decoration:none; text-shadow:none; box-shadow:inset 0 1px 1px #fff5df,0 5px 18px rgba(174,96,22,.16); animation:none; margin-top:0; transition:transform .2s,box-shadow .2s; }
body .btn-amazon::before, body .btn-amazon::after { display:none; }
body .btn-amazon:hover { background:linear-gradient(120deg,#ffe3b5,#ffc37b); box-shadow:inset 0 1px 1px #fff5df,0 8px 22px rgba(174,96,22,.24); transform:translateY(-2px); }
body .btn-amazon:focus-visible { outline:3px solid #bd63d4; outline-offset:4px; }
.gear-article-link { display:flex; align-items:center; gap:12px; padding:14px 0 14px 14px; border-left:2px solid #d567e6; border-radius:0 12px 12px 0; background:linear-gradient(90deg,rgba(208,67,230,.08),transparent); color:var(--text-main); text-decoration:none; min-height:66px; transition:background .2s; }
.gear-article-copy { display:grid; gap:6px; flex:1; }
.gear-article-kicker { font-size:.62rem; font-weight:700; letter-spacing:.08em; color:#eaa4f4; }
.gear-article-title { font-family:'Space Grotesk',sans-serif; font-size:.95rem; line-height:1.35; font-weight:600; }
.gear-article-arrow { font-size:1.3rem; margin-right:10px; }
.gear-article-link:hover { background:rgba(208,67,230,.12); }
.gear-article-link:focus-visible { outline:2px solid #c76bd8; outline-offset:4px; }
[data-theme="light"] .gear-article-kicker { color:#8b159c; }
[data-theme="light"] .gear-article-link { border-color:#b22bc5; }
@media(max-width:600px) {
 body .gear-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 body .gear-info { padding:22px; }
 body .gear-title { font-size:1.4rem; }
 body .gear-description { font-size:1rem; line-height:1.6; }
 body .gear-image { aspect-ratio:4/3; padding:20px; }
 body .gear-image img { width:100%; height:100%; object-fit:contain; }
 body .gear-actions .btn-amazon { font-size:1rem; }
}
@media(prefers-reduced-motion:reduce) { body .btn-amazon,.gear-article-link { transition:none; } }

.seo-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; font-size:.85rem; color:var(--text-muted); }
.seo-breadcrumb a { color:var(--text-main); text-decoration:underline; text-underline-offset:3px; }

/* Rifinitura vetro 25 ottobre: menu leggibile e filtri raccolti. */
body .site-header {
    background: linear-gradient(115deg,rgba(40,35,48,.94),rgba(19,21,30,.94)) !important;
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: inset 0 2px 2px rgba(255,255,255,.24), inset 0 -1px 1px rgba(255,255,255,.04), 0 12px 32px rgba(0,0,0,.24);
    backdrop-filter: blur(24px) saturate(125%);
    -webkit-backdrop-filter: blur(24px) saturate(125%);
}
body .nav-desktop a:not(.btn-animated), body .mobile-menu a:not(.btn-animated) {
    color: #f8f8fc; font-weight: 600; text-shadow: none;
}
body .nav-desktop a:not(.btn-animated):is(:hover,:focus-visible,.active)::before {
    background: linear-gradient(150deg,rgba(255,255,255,.17),rgba(255,255,255,.045));
    border-color: rgba(255,255,255,.29);
    box-shadow: inset 0 1px 1px rgba(255,255,255,.3),0 3px 10px rgba(0,0,0,.1);
}
[data-theme="light"] body .site-header {
    background: linear-gradient(115deg,rgba(255,252,255,.95),rgba(237,240,250,.94)) !important;
    border-color: rgba(255,255,255,.95);
    box-shadow: inset 0 2px 2px #fff, inset 0 -1px 1px rgba(75,55,95,.08), 0 10px 28px rgba(38,27,60,.12);
}
[data-theme="light"] body .nav-desktop a:not(.btn-animated),
[data-theme="light"] body .mobile-menu a:not(.btn-animated) {color:#211b2b;font-weight:600;}
[data-theme="light"] body .nav-desktop a:not(.btn-animated):is(:hover,:focus-visible,.active)::before {
    background:linear-gradient(150deg,rgba(255,255,255,.95),rgba(126,100,175,.12));
    border-color:rgba(103,77,138,.22);box-shadow:inset 0 1px 1px #fff,0 3px 10px rgba(40,25,60,.08);
}
body .portfolio-filters {
    width:fit-content;max-width:100%;padding:8px;gap:6px;border-radius:32px;
    background:linear-gradient(135deg,rgba(61,54,70,.85),rgba(26,29,40,.91));
    border:1px solid rgba(255,255,255,.22);
    box-shadow:inset 0 2px 2px rgba(255,255,255,.23),0 8px 24px rgba(0,0,0,.16);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
body .portfolio-filters button {color:#f8f8fc;background:transparent;border:1px solid transparent;box-shadow:none;padding:11px 18px;}
body .portfolio-filters button:hover {background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);}
body .portfolio-filters button[aria-pressed="true"] {
    color:#fff;background:linear-gradient(120deg,#940a96,#4939ab);border-color:rgba(255,255,255,.35);
    box-shadow:inset 0 1px 2px rgba(255,255,255,.35),0 3px 10px rgba(0,0,0,.18);
}
[data-theme="light"] body .portfolio-filters {
    background:linear-gradient(130deg,rgba(255,255,255,.94),rgba(230,230,243,.88));
    border-color:rgba(255,255,255,.98);box-shadow:inset 0 2px 2px #fff,0 7px 22px rgba(45,29,67,.10);
}
[data-theme="light"] body .portfolio-filters button {color:#211b2b;}
[data-theme="light"] body .portfolio-filters button:hover {background:rgba(80,55,120,.06);border-color:rgba(90,60,130,.18);}
[data-theme="light"] body .portfolio-filters button[aria-pressed="true"] {color:#fff;background:linear-gradient(120deg,#940a96,#4939ab);}
@media(max-width:600px) {
    body .portfolio-filters {width:100%;border-radius:26px;}
    body .portfolio-filters button {flex:1 1 auto;padding:10px 14px;}
    body .portfolio-filters button[data-portfolio-filter="organic"] {flex-basis:100%;}
}
