/* ================================================================
   RESIML.INK — HOME REDESIGN v2
   ================================================================ */

/* ─── NAVBAR override (home page only) ─── */
nav.navbar {
    background: rgba(255,255,255,.9) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(226,232,240,.8) !important;
    box-shadow: none !important;
}

/* Rimuovi l'indicatore underline del main.css sui pill link */
ul.rh-pill-nav .nav-link.rh-pill-link::after {
    display: none !important;
    content: none !important;
}

/* ─── Navbar login button ─── */
nav.navbar a.btn.btn-header.d-none.d-lg-inline-flex {
    font-size: .82rem !important;
    font-weight: 600 !important;
    color: #475569 !important;
    padding: 7px 14px !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 10px !important;
    background: white !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center;
    transition: all .18s;
    text-decoration: none;
}
nav.navbar a.btn.btn-header.d-none.d-lg-inline-flex:hover {
    border-color: #4F46E5 !important;
    color: #4F46E5 !important;
    background: white !important;
}

/* ─── Navbar register button ─── */
nav.navbar a.btn-color-1 {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%) !important;
    box-shadow: 0 2px 12px rgba(79,70,229,.35) !important;
    border-radius: 10px !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    padding: 8px 18px !important;
    border: none !important;
    color: white !important;
    transition: all .18s !important;
}
nav.navbar a.btn-color-1:hover {
    box-shadow: 0 4px 20px rgba(79,70,229,.5) !important;
    transform: translateY(-1px);
    color: white !important;
}

/* ─── Pill nav ─── */
ul.rh-pill-nav {
    background: #F1F5F9 !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 100px !important;
    padding: .28rem .3rem !important;
    gap: 2px !important;
    align-items: center;
}
ul.rh-pill-nav .nav-link.rh-pill-link {
    color: #64748B !important;
    font-weight: 600 !important;
    font-size: .82rem !important;
    padding: .38rem .9rem !important;
    border-radius: 100px !important;
    transition: all .18s !important;
    line-height: 1.5;
    position: relative;
}
ul.rh-pill-nav .nav-link.rh-pill-link:hover {
    background: white !important;
    color: #0F172A !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.08) !important;
}
ul.rh-pill-nav .nav-link.rh-pill-link.active {
    background: white !important;
    color: #4F46E5 !important;
    box-shadow: 0 1px 4px rgba(79,70,229,.2) !important;
}

/* ─── Navbar badge ─── */
.rh-nav-badge {
    display: inline-flex !important; align-items: center; gap: 5px;
    background: #FEF9C3 !important; color: #854D0E !important;
    border: 1px solid #FDE68A !important;
    font-size: .72rem; font-weight: 700;
    padding: 4px 10px !important; border-radius: 100px !important;
    letter-spacing: .03em;
    white-space: nowrap;
    text-decoration: none;
}

/* ─── HERO ─── */
.rh-hero {
    background: #F8F9FF;
    position: relative;
    overflow: hidden;
    min-height: calc(100vh - 83px);
}

/* Rimuovi padding del main.css su .home-header-area */
.home-header-area.rh-hero {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Grid with mask */
.rh-grid-bg {
    position: absolute; inset: 0; pointer-events: none; z-index: 0;
    background-image:
        linear-gradient(rgba(99,102,241,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(99,102,241,.05) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
}

/* Blob decorations */
.rh-geo {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    z-index: 0;
    filter: blur(80px);
    animation: none !important;
}
.rh-geo-1 {
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(99,102,241,.18) 0%, transparent 70%);
    top: -100px; right: -150px;
    opacity: 1;
}
.rh-geo-2 {
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(168,85,247,.14) 0%, transparent 70%);
    bottom: -80px; left: -100px;
    opacity: 1;
}
.rh-geo-3 {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    z-index: 0;
    filter: blur(80px);
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(59,130,246,.1) 0%, transparent 70%);
    top: 40%; left: 35%;
    opacity: 1;
}

.rh-hero-inner {
    position: relative; z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    padding: 4rem 2rem;
    min-height: calc(100vh - 83px);
}

/* ─── Hero Left ─── */
.rh-pill {
    display: inline-flex; align-items: center; gap: 6px;
    background: linear-gradient(135deg, #EEF2FF, #F5F3FF);
    border: 1px solid rgba(99,102,241,.2);
    color: #4F46E5;
    font-size: .72rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    padding: 5px 12px; border-radius: 100px;
    margin-bottom: 1.5rem;
}
.rh-pill i { font-size: .65rem; }

.rh-h1 {
    font-size: 3.75rem !important;
    font-weight: 900 !important;
    line-height: 1.07 !important;
    letter-spacing: -.04em !important;
    color: #0F172A !important;
    margin-bottom: 1.25rem !important;
}
.rh-h1 .rh-grad {
    background: linear-gradient(135deg, #4F46E5, #7C3AED 50%, #EC4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.rh-sub {
    font-size: 1rem !important;
    color: #64748B !important;
    line-height: 1.75 !important;
    max-width: 420px;
    margin-bottom: 2rem !important;
    font-weight: 400 !important;
}

/* ─── Hero tagline + feature list ─── */
.rh-tagline {
    font-size: .78rem !important;
    font-weight: 700 !important;
    color: #4F46E5 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: .75rem !important;
    margin-top: 0 !important;
}
.rh-feat-list {
    list-style: none;
    padding: 0; margin: 0 0 2rem 0;
    display: flex; flex-direction: column; gap: .3rem;
}
.rh-feat-list li {
    display: flex; align-items: baseline; gap: .65rem;
    font-size: 1rem; color: #64748B; font-weight: 400; line-height: 1.75;
}
.rh-feat-sym {
    font-size: 1rem; font-weight: 700;
    flex-shrink: 0;
    background: linear-gradient(135deg, #4F46E5, #7C3AED 50%, #EC4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

html.dark-mode .rh-tagline { color: #818CF8 !important; }
html.dark-mode .rh-feat-list li { color: #94A3B8; }

/* ─── Hero CTA buttons ─── */
.rh-hero-cta {
    display: flex; align-items: center; gap: .75rem;
    margin-bottom: 3rem;
    flex-wrap: wrap;
}
.rh-cta-main {
    display: inline-flex; align-items: center; gap: 8px;
    background: linear-gradient(135deg, #4F46E5, #7C3AED);
    color: white !important;
    padding: 13px 26px; border-radius: 12px;
    font-size: .95rem; font-weight: 700;
    box-shadow: 0 4px 20px rgba(79,70,229,.4);
    transition: all .2s;
    text-decoration: none;
}
.rh-cta-main:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(79,70,229,.55);
    color: white !important;
    text-decoration: none;
}
.rh-cta-secondary {
    display: inline-flex; align-items: center; gap: 8px;
    background: white; color: #475569 !important;
    border: 1px solid #E2E8F0;
    padding: 12px 22px; border-radius: 12px;
    font-size: .9rem; font-weight: 600;
    transition: all .2s;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    text-decoration: none;
}
.rh-cta-secondary:hover {
    border-color: #4F46E5;
    color: #4F46E5 !important;
    text-decoration: none;
}

/* ─── Stats row ─── */
.rh-stats-row {
    display: flex; gap: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #E2E8F0;
    flex-wrap: wrap;
}
.rh-stat strong {
    display: block; font-size: 1.6rem; font-weight: 900;
    color: #0F172A; letter-spacing: -.04em; line-height: 1;
}
.rh-stat strong em {
    font-style: normal;
    color: #4F46E5;
}
.rh-stat span { font-size: .78rem; color: #94A3B8; font-weight: 500; margin-top: 3px; display: block; }

/* ─── Hero Right ─── */
.rh-hero-right { position: relative; }

.rh-float {
    position: absolute;
    background: white;
    border-radius: 14px;
    padding: 10px 14px;
    box-shadow: 0 8px 30px rgba(0,0,0,.1);
    display: flex; align-items: center; gap: 8px;
    font-size: .8rem; font-weight: 600; color: #0F172A;
    border: 1px solid #E2E8F0;
    white-space: nowrap;
    z-index: 10;
}
.rh-float-top { top: -16px; left: -20px; animation: rh-float 4s ease-in-out infinite; }
.rh-float-bot { bottom: -16px; right: -16px; animation: rh-float 4s ease-in-out 2s infinite; }
@keyframes rh-float {
    0%,100% { transform: translateY(0); }
    50%      { transform: translateY(-7px); }
}

/* Green pulsing dot */
.rh-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #22C55E;
    flex-shrink: 0;
    box-shadow: 0 0 0 2px rgba(34,197,94,.2);
    animation: rh-pulse-dot 2s ease-in-out infinite;
}
@keyframes rh-pulse-dot {
    0%,100% { box-shadow: 0 0 0 2px rgba(34,197,94,.2); }
    50%      { box-shadow: 0 0 0 5px rgba(34,197,94,.15); }
}

/* ─── Upload card override ─── */
.rh-hero .uploader-card {
    border-radius: 24px !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow:
        0 0 0 1px rgba(99,102,241,.06),
        0 20px 60px rgba(99,102,241,.12),
        0 4px 16px rgba(0,0,0,.04) !important;
    transition: none !important;
    overflow: hidden;
}
.rh-hero .uploader-card:hover { transform: none !important; }

/* ─── Stats bar ─── */
.rh-stats-bar {
    background: white;
    border-top: 1px solid #E2E8F0;
    border-bottom: 1px solid #E2E8F0;
    padding: 1.25rem 2rem;
}
.rh-stats-bar-inner {
    max-width: 1280px; margin: 0 auto;
    display: flex; align-items: center; justify-content: center;
    gap: 3rem; flex-wrap: wrap;
}
.rh-stats-bar-item {
    display: flex; align-items: center; gap: 10px;
    font-size: .85rem;
}
.rh-stats-bar-item i { color: #4F46E5; font-size: 1rem; }
.rh-stats-bar-item strong { font-weight: 700; color: #0F172A; }
.rh-stats-bar-item span { color: #64748B; }
.rh-stats-sep { width: 1px; height: 24px; background: #E2E8F0; flex-shrink: 0; }

/* ─── Features ─── */
.rh-features {
    background: white;
    padding: 5rem 2rem;
}
.rh-section-head { text-align: center; margin-bottom: 3.5rem; }
.rh-kicker {
    display: inline-block;
    font-size: .72rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em;
    color: #4F46E5; margin-bottom: .75rem;
    background: #EEF2FF; padding: 4px 12px; border-radius: 100px;
}
.rh-section-head h2 {
    font-size: 2.25rem; font-weight: 900; letter-spacing: -.03em;
    color: #0F172A; margin-bottom: .65rem;
}
.rh-section-head p { font-size: .95rem; color: #64748B; max-width: 480px; margin: 0 auto; line-height: 1.7; }

.rh-feat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    max-width: 1280px; margin: 0 auto;
}
.rh-feat-card {
    padding: 1.75rem;
    border: 1px solid #F1F5F9;
    border-radius: 20px;
    background: #FAFBFF;
    transition: all .25s;
}
.rh-feat-card:hover {
    border-color: rgba(79,70,229,.2);
    box-shadow: 0 12px 40px rgba(79,70,229,.1);
    transform: translateY(-3px);
    background: white;
}
.rh-feat-icon {
    width: 46px; height: 46px;
    border-radius: 12px;
    background: linear-gradient(135deg, #EEF2FF, #EDE9FE);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1rem;
}
.rh-feat-icon i { font-size: 1.1rem; color: #4F46E5; }
.rh-feat-card h3 { font-size: .95rem; font-weight: 700; color: #0F172A; margin-bottom: .4rem; }
.rh-feat-card p { font-size: .85rem; color: #64748B; line-height: 1.65; margin: 0; }

/* ─── Dark mode ─── */
html.dark-mode nav.navbar {
    background: rgba(13,13,22,.92) !important;
    border-bottom-color: rgba(255,255,255,.06) !important;
}
html.dark-mode nav.navbar a.btn.btn-header.d-none.d-lg-inline-flex {
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: #94A3B8 !important;
}
html.dark-mode nav.navbar a.btn.btn-header.d-none.d-lg-inline-flex:hover {
    border-color: #818CF8 !important; color: #818CF8 !important; background: rgba(255,255,255,.06) !important;
}
html.dark-mode .rh-hero { background: #0c0c16; }
html.dark-mode .rh-grid-bg {
    background-image:
        linear-gradient(rgba(99,102,241,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(99,102,241,.08) 1px, transparent 1px);
}
html.dark-mode .rh-h1,
html.dark-mode .rh-section-head h2,
html.dark-mode .rh-feat-card h3 { color: #F1F5F9 !important; }
html.dark-mode .rh-stat strong { color: #F1F5F9 !important; }
html.dark-mode .rh-sub,
html.dark-mode .rh-stat span,
html.dark-mode .rh-feat-card p,
html.dark-mode .rh-section-head p { color: #94A3B8 !important; }
html.dark-mode .rh-stats-row { border-top-color: rgba(255,255,255,.08); }
html.dark-mode .rh-pill { background: rgba(79,70,229,.15); border-color: rgba(79,70,229,.3); }
html.dark-mode .rh-float { background: #1a1a2e; border-color: rgba(255,255,255,.08); color: #F1F5F9; }
html.dark-mode .rh-features { background: #0d0d18; }
html.dark-mode .rh-feat-card { background: #13132a; border-color: rgba(255,255,255,.06); }
html.dark-mode .rh-feat-card:hover { background: #1a1a38; border-color: rgba(79,70,229,.3); }
html.dark-mode .rh-stats-bar { background: #0d0d18; border-color: rgba(255,255,255,.06); }
html.dark-mode .rh-stats-bar-item strong { color: #F1F5F9; }
html.dark-mode .rh-stats-bar-item span { color: #94A3B8; }
html.dark-mode .rh-stats-bar-item i { color: #818CF8; }
html.dark-mode .rh-stats-sep { background: rgba(255,255,255,.08); }
html.dark-mode ul.rh-pill-nav { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.1) !important; }
html.dark-mode ul.rh-pill-nav .nav-link.rh-pill-link { color: #94A3B8 !important; }
html.dark-mode ul.rh-pill-nav .nav-link.rh-pill-link:hover { background: rgba(255,255,255,.08) !important; color: #F1F5F9 !important; box-shadow: none !important; }
html.dark-mode ul.rh-pill-nav .nav-link.rh-pill-link.active { background: rgba(79,70,229,.25) !important; color: #818CF8 !important; box-shadow: none !important; }
html.dark-mode .rh-nav-badge { background: rgba(254,249,195,.08) !important; border-color: rgba(253,230,138,.2) !important; color: #FCD34D !important; }
html.dark-mode .rh-hero .uploader-card { background: #13132a !important; border-color: rgba(255,255,255,.08) !important; }
html.dark-mode .rh-cta-secondary { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: #94A3B8 !important; }
html.dark-mode .rh-cta-secondary:hover { border-color: #818CF8; color: #818CF8 !important; }

/* ─── Responsive ─── */
@media (max-width: 1024px) {
    .rh-hero-inner {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 3rem 1.5rem;
        gap: 2.5rem;
    }
    .rh-h1 { font-size: 2.8rem !important; }
    .rh-float { display: none !important; }
    .rh-features { padding: 4rem 1.5rem; }
    .rh-feat-grid { grid-template-columns: 1fr 1fr; }
    ul.rh-pill-nav { display: none !important; }
    .rh-nav-badge { display: none !important; }
    .rh-stats-bar-inner { gap: 1.5rem; }
    .rh-stats-bar { padding: 1.25rem 1.5rem; }
}
@media (max-width: 640px) {
    .rh-feat-grid { grid-template-columns: 1fr; }
    .rh-h1 { font-size: 2.1rem !important; }
    .rh-stats-row { gap: 1.5rem; }
    .rh-hero-cta { gap: .5rem; }
}
