/* ══════════════════════════════════════════════════════════
   TopCasting.it — Global Stylesheet v3.0
   Modern blue theme · Bootstrap 5 · 2025
══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&family=Nunito:wght@400;500;600;700;800&display=swap');

:root {
    --tc-navy:       #0A2557;
    --tc-navy-2:     #0E2E6A;
    --tc-blue:       #1E73BE;
    --tc-sky:        #42A8F5;
    --tc-sky-light:  #7EC8FA;
    --tc-white:      #FFFFFF;
    --tc-off-white:  #F3F7FD;
    --tc-ice:        #EBF4FE;
    --tc-gray-100:   #F8FAFC;
    --tc-gray-200:   #E2EBF4;
    --tc-gray-300:   #C8D9EC;
    --tc-gray-400:   #8DA5BF;
    --tc-gray-500:   #5E7A94;
    --tc-gray-600:   #3C556A;
    --tc-gray-700:   #1E3346;
    --tc-dark:       #0A1929;
    --tc-gold:       #F5A623;
    --tc-success:    #22C55E;
    --tc-danger:     #EF4444;
    --tc-warning:    #F59E0B;
    --font-heading:  'Plus Jakarta Sans', sans-serif;
    --font-body:     'Nunito', sans-serif;
    --shadow-xs:     0 1px 4px rgba(10,37,87,.07);
    --shadow-sm:     0 3px 14px rgba(10,37,87,.10);
    --shadow-md:     0 8px 30px rgba(10,37,87,.14);
    --shadow-lg:     0 16px 50px rgba(10,37,87,.20);
    --shadow-blue:   0 6px 22px rgba(30,115,190,.35);
    --radius-xs:     4px;
    --radius-sm:     8px;
    --radius:        14px;
    --radius-lg:     22px;
    --radius-pill:   50px;
    --grad-blue:     linear-gradient(135deg, #0A2557 0%, #1E73BE 100%);
    --grad-sky:      linear-gradient(135deg, #1E73BE 0%, #42A8F5 100%);
    --grad-light:    linear-gradient(135deg, #EBF4FE 0%, #DAEEFB 100%);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--tc-off-white);color:var(--tc-gray-600);line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;color:var(--tc-navy);line-height:1.2}
img{max-width:100%;display:block}
a{color:var(--tc-blue);transition:color .2s;text-decoration:none}
a:hover{color:var(--tc-sky)}

.text-blue{color:var(--tc-blue)!important}.text-sky{color:var(--tc-sky)!important}.text-navy{color:var(--tc-navy)!important}.text-gold{color:var(--tc-gold)!important}
.bg-navy{background:var(--tc-navy)!important}.fw-black{font-weight:900!important}.font-heading{font-family:var(--font-heading)!important}

.section-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-heading);font-size:.72rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--tc-blue);margin-bottom:.6rem}
.section-eyebrow::before{content:'';display:block;width:18px;height:2px;background:var(--tc-sky);border-radius:2px}
.section-title{font-family:var(--font-heading);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:900;color:var(--tc-navy);line-height:1.15}
.section-title-light{color:var(--tc-white)!important}
.section-subtitle{font-size:1.05rem;color:var(--tc-gray-500);max-width:540px;line-height:1.85}
.section-subtitle-light{color:rgba(255,255,255,.65)!important}

/* BUTTONS */
.btn-tc-gold{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--grad-sky);color:var(--tc-white)!important;border:none;font-family:var(--font-heading);font-weight:800;font-size:.9rem;padding:.72rem 1.9rem;border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;transition:all .22s;box-shadow:var(--shadow-blue)}
.btn-tc-gold:hover{background:var(--grad-blue);color:var(--tc-white)!important;transform:translateY(-2px);box-shadow:0 8px 28px rgba(30,115,190,.45)}
.btn-tc-outline{display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:var(--tc-white)!important;border:2px solid rgba(255,255,255,.5);font-family:var(--font-heading);font-weight:800;font-size:.9rem;padding:.72rem 1.9rem;border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;transition:all .22s}
.btn-tc-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.9);color:var(--tc-white)!important;transform:translateY(-2px)}
.btn-tc-dark{display:inline-flex;align-items:center;gap:.4rem;background:var(--tc-navy);color:var(--tc-white)!important;border:2px solid var(--tc-navy);font-family:var(--font-heading);font-weight:800;font-size:.9rem;padding:.72rem 1.9rem;border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;transition:all .22s}
.btn-tc-dark:hover{background:var(--tc-blue);border-color:var(--tc-blue);transform:translateY(-2px);box-shadow:var(--shadow-blue)}
.btn-tc-blue{display:inline-flex;align-items:center;gap:.4rem;background:var(--tc-blue);color:var(--tc-white)!important;border:none;font-family:var(--font-heading);font-weight:800;font-size:.9rem;padding:.72rem 1.9rem;border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;transition:all .22s}
.btn-tc-blue:hover{background:var(--tc-navy);transform:translateY(-2px);box-shadow:var(--shadow-blue)}

/* NAVBAR */
.tc-navbar{background:var(--tc-white);padding:.55rem 0;position:sticky;top:0;z-index:1050;border-bottom:1px solid var(--tc-gray-200);box-shadow:0 2px 16px rgba(10,37,87,.07)}
.logo-topcasting{height:78px;width:auto;object-fit:contain;transition:transform .2s}
.tc-navbar .navbar-brand:hover .logo-topcasting{transform:scale(1.02)}
.tc-navbar .nav-link{font-family:var(--font-heading);font-weight:700;font-size:.84rem;letter-spacing:.15px;color:var(--tc-navy)!important;padding:.5rem .95rem!important;border-radius:var(--radius-sm);transition:all .18s}
.tc-navbar .nav-link:hover,.tc-navbar .nav-link.active{color:var(--tc-blue)!important;background:rgba(30,115,190,.08)}
.tc-navbar .nav-link.btn-tc-gold{background:var(--grad-sky);color:var(--tc-white)!important;padding:.45rem 1.3rem!important;border-radius:var(--radius-pill);margin-left:.5rem;box-shadow:var(--shadow-blue)}
.tc-navbar .nav-link.btn-tc-gold:hover{background:var(--grad-blue);color:var(--tc-white)!important;transform:translateY(-1px)}
.navbar-toggler{border-color:var(--tc-gray-300)!important}.navbar-toggler:focus{box-shadow:none}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2810%2c37%2c87%2c0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")!important}
@media(max-width:991px){
    .logo-topcasting{height:56px}
    .tc-navbar .navbar-collapse{background:var(--tc-white);padding:1rem;margin-top:.6rem;border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--tc-gray-200)}
}

/* FOOTER */
.tc-footer{background:var(--tc-navy);color:rgba(255,255,255,.65);padding:4.5rem 0 0}
.tc-footer .footer-desc{font-size:.88rem;line-height:1.85;color:rgba(255,255,255,.5);margin-top:.9rem}
.tc-footer .footer-heading{font-family:var(--font-heading);font-size:.72rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tc-sky);margin-bottom:1.1rem}
.tc-footer .footer-links{list-style:none;padding:0;margin:0}
.tc-footer .footer-links li{margin-bottom:.5rem}
.tc-footer .footer-links a{color:rgba(255,255,255,.5);font-size:.88rem;text-decoration:none;transition:color .18s,padding-left .18s}
.tc-footer .footer-links a:hover{color:var(--tc-sky);padding-left:5px}
.tc-footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6);margin-right:.35rem;text-decoration:none;transition:all .22s}
.tc-footer .footer-social a:hover{background:var(--tc-sky);border-color:var(--tc-sky);color:var(--tc-white);transform:translateY(-3px)}
.tc-footer .footer-bottom{margin-top:3rem;padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.08);font-size:.8rem;color:rgba(255,255,255,.35)}
.tc-footer .footer-bottom a{color:rgba(255,255,255,.4);text-decoration:none}
.tc-footer .footer-bottom a:hover{color:var(--tc-sky)}
#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--tc-navy);border-top:3px solid var(--tc-sky);padding:1.1rem 0;z-index:9999;animation:slideUp .35s ease}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* HERO */
.tc-hero{background:var(--tc-navy);padding:5rem 0 4rem;position:relative;overflow:hidden;min-height:88vh;display:flex;align-items:center}
.tc-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 85% 30%,rgba(66,168,245,.15) 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 10% 90%,rgba(30,115,190,.12) 0%,transparent 65%);pointer-events:none}
.tc-hero .orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:.3}
.tc-hero .orb-1{width:400px;height:400px;background:var(--tc-blue);top:-100px;right:-80px}
.tc-hero .orb-2{width:260px;height:260px;background:var(--tc-sky);bottom:-60px;left:5%}
.tc-hero .hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:rgba(66,168,245,.15);border:1px solid rgba(66,168,245,.35);color:var(--tc-sky);font-family:var(--font-heading);font-size:.75rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;padding:.38rem 1.1rem;border-radius:var(--radius-pill);margin-bottom:1.5rem}
.tc-hero h1{font-family:var(--font-heading);font-size:clamp(2.6rem,6vw,4.5rem);color:var(--tc-white);line-height:1.08;font-weight:900;margin-bottom:1.3rem}
.tc-hero h1 em{color:var(--tc-sky);font-style:normal}
.tc-hero .hero-sub{font-size:1.08rem;color:rgba(255,255,255,.65);max-width:480px;line-height:1.85;margin-bottom:2.2rem}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.07);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:.65rem 1.1rem;color:var(--tc-white);font-size:.82rem;font-family:var(--font-heading);font-weight:600}
.hero-badge i{color:var(--tc-sky);font-size:1.1rem}
.hero-mosaic{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:.75rem}
.hero-mosaic-img{border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;background:rgba(255,255,255,.05);border:1px solid rgba(66,168,245,.2);position:relative}
.hero-mosaic-img:first-child{grid-row:span 2;aspect-ratio:auto;min-height:420px}
.hero-mosaic-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.hero-mosaic-img:hover img{transform:scale(1.04)}
.hero-mosaic-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,37,87,.75) 0%,transparent 55%)}
.hero-mosaic-label{position:absolute;bottom:.75rem;left:.75rem;z-index:1;color:var(--tc-white);font-family:var(--font-heading);font-size:.75rem;font-weight:700}
.hero-mosaic-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--tc-sky);opacity:.2}

/* STATS BAR */
.tc-stats-bar{background:var(--tc-white);padding:1.8rem 0;border-bottom:1px solid var(--tc-gray-200)}
.tc-stats-bar .stat-icon{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--tc-ice);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--tc-blue);margin-right:1rem;flex-shrink:0}
.tc-stats-bar .stat-num{font-family:var(--font-heading);font-size:2.3rem;font-weight:900;color:var(--tc-navy);line-height:1}
.tc-stats-bar .stat-lbl{font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--tc-gray-400);margin-top:.15rem}
.tc-stats-bar .stat-div{width:1px;height:48px;background:var(--tc-gray-200);align-self:center}

/* SECTIONS */
.tc-section{padding:5.5rem 0}.tc-section-sm{padding:3.5rem 0}
.tc-section-navy{background:var(--tc-navy)}.tc-section-dark{background:var(--tc-dark)}
.tc-section-ice{background:var(--tc-ice)}.tc-section-white{background:var(--tc-white)}
.tc-section-blue{background:var(--grad-blue)}

/* MEMBER CHIPS */
.member-chip{display:flex;align-items:center;gap:.75rem;background:var(--tc-white);border:1px solid var(--tc-gray-200);border-radius:var(--radius-pill);padding:.5rem 1rem .5rem .5rem;box-shadow:var(--shadow-xs);transition:all .2s;text-decoration:none}
.member-chip:hover{border-color:var(--tc-sky);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.member-chip-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--tc-ice);border:2px solid var(--tc-sky-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--tc-blue);font-size:.95rem;overflow:hidden}
.member-chip-name{font-family:var(--font-heading);font-size:.82rem;font-weight:700;color:var(--tc-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.member-chip-meta{font-size:.72rem;color:var(--tc-gray-400);display:flex;align-items:center;gap:.3rem}
.member-chip-live{width:7px;height:7px;border-radius:50%;background:var(--tc-success);animation:pulse 1.8s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.25)}50%{box-shadow:0 0 0 5px rgba(34,197,94,.08)}}

/* TALENT CARDS */
.talent-card{background:var(--tc-white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--tc-gray-200);box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;cursor:pointer;position:relative}
.talent-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.talent-card-img-wrap{overflow:hidden;position:relative}
.talent-card-img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;background:var(--tc-ice);transition:transform .35s}
.talent-card:hover .talent-card-img{transform:scale(1.05)}
.talent-card-img-wrap::after{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(10,37,87,.85) 0%,transparent 100%)}
.talent-card-over{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.1rem;z-index:1}
.talent-card-name{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--tc-white);line-height:1.2;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.talent-card-meta{font-size:.75rem;color:rgba(255,255,255,.75);display:flex;flex-wrap:wrap;gap:.5rem}
.talent-card-meta i{color:var(--tc-sky)}
.talent-card-premium{position:absolute;top:.75rem;right:.75rem;background:var(--tc-gold);color:#fff;font-family:var(--font-heading);font-size:.62rem;font-weight:800;letter-spacing:.6px;padding:.2rem .65rem;border-radius:50px;z-index:2}
.talent-card-placeholder{width:100%;aspect-ratio:3/4;background:var(--grad-blue);display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:rgba(255,255,255,.15)}
.talent-card-body{padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:center}
.talent-score{background:var(--tc-ice);color:var(--tc-blue);font-family:var(--font-heading);font-size:.7rem;font-weight:800;padding:.22rem .65rem;border-radius:50px;display:flex;align-items:center;gap:.3rem}
.talent-link{color:var(--tc-blue);font-family:var(--font-heading);font-size:.78rem;font-weight:700;display:flex;align-items:center;gap:.2rem;transition:gap .18s}
.talent-link:hover{gap:.5rem;color:var(--tc-navy)}

/* CASTING CARDS */
.casting-card{background:var(--tc-white);border-radius:var(--radius);border:1px solid var(--tc-gray-200);box-shadow:var(--shadow-xs);overflow:hidden;transition:transform .22s,box-shadow .22s;display:flex;flex-direction:column;height:100%}
.casting-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.casting-card-head{background:var(--grad-blue);padding:1.3rem 1.5rem;position:relative;overflow:hidden}
.casting-card-head::before{content:'';position:absolute;top:-30px;right:-30px;width:100px;height:100px;background:rgba(255,255,255,.06);border-radius:50%}
.casting-cat-badge{font-family:var(--font-heading);font-size:.65rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--tc-sky-light);margin-bottom:.4rem}
.casting-card-title{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--tc-white);line-height:1.3;margin:0}
.casting-card-body{padding:1.2rem 1.5rem;flex:1;display:flex;flex-direction:column}
.casting-meta-row{display:flex;align-items:center;gap:.4rem;font-size:.83rem;color:var(--tc-gray-400);margin-bottom:.45rem}
.casting-meta-row i{color:var(--tc-blue)}
.casting-desc{font-size:.87rem;color:var(--tc-gray-600);line-height:1.65;flex:1;margin:.5rem 0 1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.casting-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.85rem;border-top:1px solid var(--tc-gray-200);font-size:.78rem}
.casting-age{color:var(--tc-gray-400)}
.casting-cta{color:var(--tc-blue);font-family:var(--font-heading);font-weight:700;display:flex;align-items:center;gap:.25rem;text-decoration:none;transition:gap .18s}
.casting-cta:hover{gap:.5rem;color:var(--tc-navy)}
.cat-cinema{border-top:3px solid #E74C3C}.cat-tv{border-top:3px solid var(--tc-blue)}.cat-teatro{border-top:3px solid #9B59B6}.cat-pubblicita{border-top:3px solid var(--tc-gold)}.cat-moda{border-top:3px solid #E91E63}.cat-altro{border-top:3px solid var(--tc-sky)}

/* CATEGORY PILLS */
.cat-pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:.75rem 1.25rem;color:rgba(255,255,255,.8);font-family:var(--font-heading);font-size:.88rem;font-weight:700;text-decoration:none;transition:all .22s}
.cat-pill:hover{background:rgba(66,168,245,.18);border-color:var(--tc-sky);color:var(--tc-white);transform:translateY(-3px)}
.cat-pill .cat-icon{font-size:1.5rem}

/* SEARCH BOX */
.search-box{background:var(--tc-navy);border-radius:var(--radius-lg);padding:2rem 2.5rem}
.search-box .search-input-wrap{display:flex;gap:.75rem;flex-wrap:wrap}
.search-box input,.search-box select{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);color:var(--tc-white);font-family:var(--font-body);font-size:.9rem;padding:.75rem 1.1rem;flex:1;min-width:160px;transition:border-color .2s}
.search-box input::placeholder{color:rgba(255,255,255,.4)}
.search-box input:focus,.search-box select:focus{outline:none;border-color:var(--tc-sky);background:rgba(255,255,255,.12)}
.search-box select option{background:var(--tc-navy);color:var(--tc-white)}

/* FEATURE CARDS */
.feature-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;height:100%;transition:transform .22s,border-color .22s,background .22s}
.feature-card:hover{transform:translateY(-5px);border-color:rgba(66,168,245,.35);background:rgba(66,168,245,.07)}
.feature-card .icon-wrap{width:62px;height:62px;border-radius:var(--radius);background:rgba(66,168,245,.12);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.75rem;color:var(--tc-sky);transition:background .22s}
.feature-card:hover .icon-wrap{background:rgba(66,168,245,.22)}
.feature-card h4{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--tc-white);margin-bottom:.6rem}
.feature-card p{font-size:.88rem;color:rgba(255,255,255,.5);line-height:1.75;margin:0}

/* BLOG CARDS */
.blog-card{background:var(--tc-white);border-radius:var(--radius);border:1px solid var(--tc-gray-200);box-shadow:var(--shadow-xs);overflow:hidden;transition:transform .22s,box-shadow .22s;height:100%;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.blog-card-img-wrap{overflow:hidden}
.blog-card-img{width:100%;height:185px;object-fit:cover;background:var(--tc-ice);transition:transform .35s}
.blog-card:hover .blog-card-img{transform:scale(1.04)}
.blog-card-img-placeholder{width:100%;height:185px;background:var(--grad-blue);display:flex;align-items:center;justify-content:center;font-size:3rem}
.blog-card-body{padding:1.4rem 1.5rem;flex:1;display:flex;flex-direction:column}
.blog-cat{font-family:var(--font-heading);font-size:.65rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--tc-blue);margin-bottom:.5rem}
.blog-title{font-family:var(--font-heading);font-size:.98rem;font-weight:800;color:var(--tc-navy);line-height:1.35;margin-bottom:.5rem;text-decoration:none;display:block}
.blog-title:hover{color:var(--tc-blue)}
.blog-excerpt{font-size:.85rem;color:var(--tc-gray-500);line-height:1.65;flex:1}
.blog-card-footer{padding:.85rem 1.5rem 1.2rem;border-top:1px solid var(--tc-gray-200);display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--tc-gray-400)}

/* TESTIMONIALS */
.testimonial-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:2rem;height:100%;position:relative}
.testimonial-card::before{content:'\201C';position:absolute;top:.5rem;left:1.5rem;font-size:5rem;color:var(--tc-sky);opacity:.18;font-family:Georgia,serif;line-height:1}
.testimonial-stars{color:var(--tc-gold);font-size:.9rem;margin-bottom:.85rem}
.testimonial-text{font-size:.92rem;color:rgba(255,255,255,.75);line-height:1.85;font-style:italic;margin-bottom:1.2rem}
.testimonial-author{display:flex;align-items:center;gap:.85rem}
.testimonial-avatar{width:44px;height:44px;border-radius:50%;background:rgba(66,168,245,.2);border:2px solid rgba(66,168,245,.35);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--tc-sky);flex-shrink:0;overflow:hidden}
.testimonial-name{font-family:var(--font-heading);font-size:.9rem;font-weight:800;color:var(--tc-white)}
.testimonial-role{font-size:.78rem;color:rgba(255,255,255,.45)}

/* GUIDE */
.guide-step{display:flex;gap:1.5rem;margin-bottom:2.5rem;align-items:flex-start}
.guide-step-num{width:44px;height:44px;border-radius:50%;background:var(--grad-sky);color:var(--tc-white);font-family:var(--font-heading);font-size:1.1rem;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-blue)}
.guide-step-content h4{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--tc-navy);margin-bottom:.35rem}
.guide-step-content p{font-size:.9rem;color:var(--tc-gray-500);line-height:1.75;margin:0}
.guide-tip-card{background:var(--tc-ice);border:1px solid var(--tc-gray-200);border-radius:var(--radius);padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;margin-bottom:.9rem}
.guide-tip-card i{font-size:1.3rem;color:var(--tc-blue);flex-shrink:0;margin-top:.1rem}
.guide-tip-card p{font-size:.88rem;color:var(--tc-gray-600);margin:0;line-height:1.7}
.boost-badge{display:inline-flex;align-items:center;gap:.3rem;background:rgba(30,115,190,.1);border:1px solid rgba(30,115,190,.25);color:var(--tc-blue);font-family:var(--font-heading);font-size:.72rem;font-weight:700;padding:.25rem .75rem;border-radius:50px}

/* FAQ */
.faq-item{background:var(--tc-white);border:1px solid var(--tc-gray-200);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden;transition:box-shadow .2s}
.faq-item.active{box-shadow:var(--shadow-sm);border-color:var(--tc-sky)}
.faq-question{padding:1.1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--tc-navy);user-select:none;gap:1rem}
.faq-question:hover{color:var(--tc-blue)}
.faq-question i{color:var(--tc-blue);transition:transform .25s;font-size:1rem;flex-shrink:0}
.faq-item.active .faq-question i{transform:rotate(45deg)}
.faq-answer{display:none;padding:0 1.5rem 1.1rem;font-size:.9rem;color:var(--tc-gray-500);line-height:1.85}
.faq-item.active .faq-answer{display:block}

/* SIDEBAR NAV */
.sidebar-nav{background:var(--tc-white);border:1px solid var(--tc-gray-200);border-radius:var(--radius);padding:1.5rem;position:sticky;top:90px}
.sidebar-nav .sidebar-title{font-family:var(--font-heading);font-size:.72rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tc-blue);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--tc-ice)}
.sidebar-nav a{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:.86rem;font-weight:700;color:var(--tc-gray-500);text-decoration:none;transition:all .18s;margin-bottom:.25rem}
.sidebar-nav a:hover,.sidebar-nav a.active{background:var(--tc-ice);color:var(--tc-blue)}
.sidebar-nav a i{width:20px;text-align:center}

/* SKILL TAGS */
.skill-tag{display:inline-flex;align-items:center;gap:.4rem;background:var(--tc-ice);border:2px solid var(--tc-gray-200);border-radius:var(--radius-pill);padding:.38rem 1rem;font-family:var(--font-heading);font-size:.82rem;font-weight:700;color:var(--tc-gray-600);cursor:pointer;transition:all .18s;user-select:none;margin:.25rem}
.skill-tag:hover{border-color:var(--tc-blue);color:var(--tc-blue);background:rgba(30,115,190,.06)}
.skill-tag.active{background:var(--grad-sky);border-color:transparent;color:var(--tc-white);box-shadow:0 2px 10px rgba(30,115,190,.3)}
.skill-tag .skill-check{display:none}
.skill-tag.active .skill-check{display:inline}
.skill-level-btn{display:inline-flex;align-items:center;padding:.45rem 1.1rem;border:2px solid var(--tc-gray-200);border-radius:var(--radius-pill);font-family:var(--font-heading);font-size:.82rem;font-weight:700;color:var(--tc-gray-500);cursor:pointer;transition:all .18s;background:transparent}
.skill-level-btn:hover{border-color:var(--tc-blue);color:var(--tc-blue)}
.skill-level-btn.active{background:var(--tc-blue);border-color:var(--tc-blue);color:var(--tc-white)}

/* DASHBOARD */
.dashboard-header{background:var(--grad-blue);padding:2.5rem 0}
.tc-card{background:var(--tc-white);border-radius:var(--radius);border:1px solid var(--tc-gray-200);box-shadow:var(--shadow-xs);padding:1.75rem}
.tc-card-title{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--tc-navy);display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--tc-gray-200)}
.tc-card-title i{color:var(--tc-blue);font-size:1.1rem}
.score-ring{width:110px;height:110px;border-radius:50%;border:8px solid var(--tc-blue);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 0 0 4px rgba(30,115,190,.1)}
.score-num{font-family:var(--font-heading);font-size:1.8rem;font-weight:900;color:var(--tc-navy);line-height:1}
.score-pts{font-size:.7rem;color:var(--tc-gray-400);font-weight:700;margin-top:.1rem}
.level-chip{display:inline-flex;align-items:center;gap:.4rem;border-radius:var(--radius-pill);padding:.3rem 1rem;font-family:var(--font-heading);font-size:.8rem;font-weight:800}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--tc-gray-200)}
.stat-row:last-child{border-bottom:none}
.stat-label{font-size:.85rem;color:var(--tc-gray-500);font-weight:600}
.stat-val{font-family:var(--font-heading);font-size:.88rem;font-weight:800;color:var(--tc-navy)}
.tc-progress{background:var(--tc-gray-200);border-radius:50px;height:6px;overflow:hidden}
.tc-progress-fill{height:100%;background:var(--grad-sky);border-radius:50px;transition:width .4s}
.suggestion{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:.65rem;border-left:3px solid transparent}
.suggestion-high{background:rgba(239,68,68,.06);border-color:var(--tc-danger)}
.suggestion-medium{background:rgba(245,158,11,.06);border-color:var(--tc-warning)}
.suggestion-low{background:rgba(30,115,190,.06);border-color:var(--tc-blue)}
.suggestion strong{font-family:var(--font-heading);font-size:.82rem;font-weight:800;color:var(--tc-navy);display:block;margin-bottom:.2rem}
.suggestion p{font-size:.82rem;color:var(--tc-gray-500);margin:0;line-height:1.6}
.completion-strip{display:flex;gap:.4rem;flex-wrap:wrap;margin:.85rem 0 0}
.completion-chip{display:inline-flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:.28rem .75rem;font-family:var(--font-heading);font-size:.7rem;font-weight:700;color:rgba(255,255,255,.6)}
.completion-chip.done{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.4);color:#86efac}
.activity-feed{display:flex;flex-direction:column;gap:.5rem}
.activity-item{display:flex;align-items:flex-start;gap:.85rem;padding:.7rem 0;border-bottom:1px solid var(--tc-gray-200)}
.activity-item:last-child{border-bottom:none}
.activity-icon{width:34px;height:34px;border-radius:50%;background:var(--tc-ice);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--tc-blue);flex-shrink:0}
.activity-text{font-size:.85rem;color:var(--tc-gray-600);line-height:1.5}
.activity-text strong{color:var(--tc-navy);font-weight:700}
.activity-time{font-size:.75rem;color:var(--tc-gray-400);margin-top:.15rem}
.action-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--tc-ice);border:1px solid var(--tc-gray-200);border-radius:var(--radius-sm);padding:.55rem 1.1rem;font-family:var(--font-heading);font-size:.83rem;font-weight:700;color:var(--tc-navy);text-decoration:none;transition:all .18s}
.action-btn:hover{background:var(--tc-blue);border-color:var(--tc-blue);color:var(--tc-white);transform:translateY(-2px);box-shadow:var(--shadow-blue)}
.action-btn.locked{opacity:.6;cursor:not-allowed}
.action-btn.locked:hover{background:var(--tc-ice);border-color:var(--tc-gray-200);color:var(--tc-navy);transform:none;box-shadow:none}
.premium-banner{background:var(--grad-blue);border-radius:var(--radius);padding:1.5rem 2rem;margin-bottom:1.5rem;position:relative;overflow:hidden}
.premium-banner::before{content:'';position:absolute;right:-30px;top:-30px;width:160px;height:160px;background:rgba(66,168,245,.1);border-radius:50%}

/* PRO DASHBOARD */
.pro-stat-card{background:var(--tc-white);border-radius:var(--radius);border:1px solid var(--tc-gray-200);box-shadow:var(--shadow-xs);padding:1.5rem;display:flex;align-items:center;gap:1.2rem;transition:transform .2s,box-shadow .2s}
.pro-stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.pro-stat-icon{width:52px;height:52px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.pro-stat-num{font-family:var(--font-heading);font-size:1.85rem;font-weight:900;color:var(--tc-navy);line-height:1}
.pro-stat-label{font-size:.8rem;color:var(--tc-gray-400);font-weight:600;margin-top:.1rem}
.casting-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--tc-gray-200)}
.casting-row:last-child{border-bottom:none}
.casting-row-title{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--tc-navy)}
.casting-row-meta{font-size:.78rem;color:var(--tc-gray-400);margin-top:.2rem;display:flex;gap:.75rem}
.status-badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:50px;padding:.22rem .75rem;font-family:var(--font-heading);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.status-active{background:rgba(34,197,94,.1);color:#16a34a}
.status-closed{background:rgba(239,68,68,.1);color:#dc2626}
.status-pending{background:rgba(245,158,11,.1);color:#d97706}
.status-draft{background:rgba(94,122,148,.1);color:var(--tc-gray-500)}
.applicant-row{display:flex;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--tc-gray-200)}
.applicant-row:last-child{border-bottom:none}
.applicant-avatar{width:38px;height:38px;border-radius:50%;background:var(--tc-ice);border:2px solid var(--tc-gray-200);object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--tc-blue);font-size:.95rem;overflow:hidden}

/* SEARCH PAGE */
.search-layout{display:grid;grid-template-columns:260px 1fr;gap:1.75rem;align-items:start}
@media(max-width:991px){.search-layout{grid-template-columns:1fr}}
.search-sidebar{background:var(--tc-white);border-radius:var(--radius);border:1px solid var(--tc-gray-200);box-shadow:var(--shadow-xs);padding:1.5rem;position:sticky;top:90px}
.sidebar-title{font-family:var(--font-heading);font-size:.72rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tc-blue);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--tc-ice);display:flex;align-items:center;gap:.4rem}
.filter-group{margin-bottom:1rem}
.filter-group label{font-family:var(--font-heading);font-size:.78rem;font-weight:700;color:var(--tc-navy);margin-bottom:.35rem;display:block}
.filter-group input,.filter-group select{width:100%;border:2px solid var(--tc-gray-200);border-radius:var(--radius-sm);padding:.5rem .8rem;font-size:.87rem;transition:border-color .18s}
.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--tc-blue);box-shadow:0 0 0 .2rem rgba(30,115,190,.12)}
.btn-filter{width:100%;border:none;cursor:pointer;background:var(--grad-sky);color:var(--tc-white);font-family:var(--font-heading);font-weight:800;font-size:.88rem;padding:.65rem;border-radius:var(--radius-pill);transition:all .2s;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.4rem;box-shadow:var(--shadow-blue)}
.btn-filter:hover{background:var(--grad-blue);transform:translateY(-1px)}
.btn-reset{display:flex;align-items:center;justify-content:center;gap:.3rem;border:2px solid var(--tc-gray-200);color:var(--tc-gray-400);font-family:var(--font-heading);font-weight:700;font-size:.82rem;padding:.5rem;border-radius:var(--radius-pill);text-decoration:none;transition:all .2s}
.btn-reset:hover{border-color:var(--tc-blue);color:var(--tc-blue)}
.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.1rem}
.profile-card{background:var(--tc-white);border-radius:var(--radius);border:1px solid var(--tc-gray-200);box-shadow:var(--shadow-xs);overflow:hidden;cursor:pointer;transition:transform .22s,box-shadow .22s}
.profile-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.profile-card-img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--tc-ice)}
.profile-card-body{padding:.85rem 1rem}
.profile-card-name{font-family:var(--font-heading);font-weight:800;font-size:.92rem;color:var(--tc-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.3rem}
.score-chip{background:var(--tc-ice);color:var(--tc-blue);font-family:var(--font-heading);font-size:.68rem;font-weight:800;padding:.2rem .6rem;border-radius:50px}
.premium-chip{background:var(--tc-gold);color:var(--tc-white);font-family:var(--font-heading);font-size:.63rem;font-weight:800;padding:.15rem .55rem;border-radius:50px}

/* PAGE HERO */
.page-hero{background:var(--grad-blue);padding:3.5rem 0 2.75rem;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 90% 50%,rgba(66,168,245,.15) 0%,transparent 65%)}
.page-hero h1{font-family:var(--font-heading);font-size:clamp(1.85rem,5vw,3rem);font-weight:900;color:var(--tc-white);margin:.35rem 0 .5rem}
.page-hero p{color:rgba(255,255,255,.65);font-size:1rem}

/* AUTH */
body:has(.auth-wrap) .tc-navbar{position:relative}
.auth-wrap{min-height:calc(100vh - 90px);display:flex;align-items:center;padding:3rem 1rem;background:var(--grad-light)}
.auth-card{background:var(--tc-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;width:100%;max-width:440px;margin:0 auto}
.auth-card .auth-logo{text-align:center;margin-bottom:1.75rem}
.auth-card .auth-logo img{height:56px;margin:0 auto .75rem}
.auth-card .auth-logo h2{font-family:var(--font-heading);font-size:1.2rem;font-weight:900;color:var(--tc-navy)}
.auth-card .auth-logo p{font-size:.88rem;color:var(--tc-gray-400);margin:0}
.form-group{margin-bottom:1.1rem}
.form-group label{font-family:var(--font-heading);font-size:.82rem;font-weight:700;color:var(--tc-navy);margin-bottom:.4rem;display:block}
.form-group input{width:100%;border:2px solid var(--tc-gray-200);border-radius:var(--radius-sm);padding:.72rem 1rem;font-family:var(--font-body);font-size:.93rem;transition:border-color .2s,box-shadow .2s;color:var(--tc-gray-600)}
.form-group input:focus{outline:none;border-color:var(--tc-blue);box-shadow:0 0 0 .25rem rgba(30,115,190,.12)}
.form-group input.is-invalid{border-color:var(--tc-danger)}
.alert-error{background:rgba(239,68,68,.08);color:#b91c1c;border-left:4px solid var(--tc-danger);border-radius:var(--radius-sm);padding:.85rem 1.1rem;font-size:.88rem;margin-bottom:1rem;font-weight:600}
.btn-auth{width:100%;border:none;cursor:pointer;background:var(--grad-sky);color:var(--tc-white);font-family:var(--font-heading);font-weight:800;font-size:.95rem;padding:.8rem;border-radius:var(--radius-sm);transition:all .22s;box-shadow:var(--shadow-blue)}
.btn-auth:hover{background:var(--grad-blue);transform:translateY(-1px);box-shadow:0 8px 25px rgba(30,115,190,.4)}
.auth-links{text-align:center;margin-top:1.25rem;font-size:.88rem;color:var(--tc-gray-400)}
.auth-links a{color:var(--tc-blue);font-weight:700}
.input-group-auth{position:relative}
.input-group-auth input{padding-right:2.8rem}
.input-group-auth .toggle-pwd{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--tc-gray-400);font-size:1rem;padding:0;transition:color .18s}
.input-group-auth .toggle-pwd:hover{color:var(--tc-blue)}
.pwd-strength{height:4px;border-radius:2px;background:var(--tc-gray-200);overflow:hidden;margin:.5rem 0 .25rem}
.pwd-strength-bar{height:100%;border-radius:2px;transition:width .3s,background .3s}
.pwd-req{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--tc-gray-400);margin-bottom:.2rem}
.pwd-req.met{color:var(--tc-success)}
.pwd-req i{font-size:.7rem}

/* ALERTS */
.alert-tc-success{background:rgba(34,197,94,.08);color:#166534;border-left:4px solid var(--tc-success);border-radius:var(--radius-sm);padding:.9rem 1.2rem;font-size:.9rem;font-weight:600}
.alert-tc-error{background:rgba(239,68,68,.08);color:#b91c1c;border-left:4px solid var(--tc-danger);border-radius:var(--radius-sm);padding:.9rem 1.2rem;font-size:.9rem;font-weight:600}
.alert-tc-info{background:rgba(30,115,190,.08);color:#1e3a5f;border-left:4px solid var(--tc-blue);border-radius:var(--radius-sm);padding:.9rem 1.2rem;font-size:.9rem;font-weight:600}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:991px){.tc-hero{min-height:auto;padding:4rem 0 3rem}.tc-section{padding:3.5rem 0}}
@media(max-width:767px){.tc-stats-bar .stat-div{display:none}.hero-mosaic{display:none}.results-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.results-grid{grid-template-columns:1fr}.search-box{padding:1.25rem}}

/* ══════════════════════════════════════════════════════════
   TopCasting.it — Additions v3.1
   Classi mancanti rilevate dall'analisi template:
   - Sezioni background (tc-section-alt, tc-section-dark-2)
   - Testimonials (testi-*)
   - Blog card inner (blog-category, blog-footer, ecc.)
   - Member chip badge
   - Upload foto (progress bar, drop zone, photo-card, ecc.)
   - Alert wrapper generico (.alert-tc)
══════════════════════════════════════════════════════════ */

/* SEZIONI BACKGROUND ──────────────────────────────────── */
/* tc-section-alt: sfondo bianco con bordi sezione */
.tc-section-alt{background:var(--tc-white);padding:5.5rem 0}
/* tc-section-dark-2: dark leggermente meno intenso di tc-section-dark */
.tc-section-dark-2{background:#0D2240;padding:5.5rem 0}

/* CARD TITOLO H2 (usato in upload_photos, add_skills) ─── */
.tc-card h2{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--tc-navy);display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--tc-gray-200)}
.tc-card h2 i{color:var(--tc-blue)}

/* ALERT BASE + WARNING ────────────────────────────────── */
/* Wrapper base (senza colore): usato come contenitore + alert-tc-success/error */
.alert-tc{border-radius:var(--radius-sm);padding:.9rem 1.2rem;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}
/* alert-warning: non era definito (solo alert-tc-success/error) */
.alert-warning{background:rgba(245,158,11,.09);color:#92400e;border-left:4px solid var(--tc-warning);border-radius:var(--radius-sm);padding:.85rem 1.2rem;font-size:.88rem;font-weight:600;margin-bottom:1rem}

/* MEMBER CHIP BADGE ───────────────────────────────────── */
.member-chip-badge{margin-left:auto;flex-shrink:0;font-family:var(--font-heading);font-size:.65rem;font-weight:800;padding:.18rem .65rem;border-radius:50px;background:var(--tc-gray-100);color:var(--tc-gray-500);border:1px solid var(--tc-gray-200)}
.member-chip-badge.premium{background:var(--tc-gold);color:#fff;border-color:transparent}
/* Avatar placeholder nei member-chip */
.placeholder-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--tc-blue);font-size:1.1rem}

/* TESTIMONIALS (testi-*) ─────────────────────────────── */
/* Index usa .testi-* invece di .testimonial-* → aggiungo alias */
.testi-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:2rem;height:100%;position:relative}
.testi-card::before{content:'\201C';position:absolute;top:.5rem;left:1.5rem;font-size:5rem;color:var(--tc-sky);opacity:.18;font-family:Georgia,serif;line-height:1}
.testi-stars{color:var(--tc-gold);font-size:1rem;margin-bottom:.85rem;letter-spacing:2px}
.testi-text{font-size:.92rem;color:rgba(255,255,255,.75);line-height:1.85;font-style:italic;margin-bottom:1.2rem}
.testi-author{display:flex;align-items:center;gap:.85rem}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:rgba(66,168,245,.2);border:2px solid rgba(66,168,245,.35);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--tc-sky);flex-shrink:0;font-family:var(--font-heading);font-weight:900}
.testi-name{font-family:var(--font-heading);font-size:.9rem;font-weight:800;color:var(--tc-white)}
.testi-role{font-size:.78rem;color:rgba(255,255,255,.45)}

/* BLOG CARD INNER (nomi usati in index.php) ──────────── */
/* Il CSS aveva .blog-cat, .blog-title (come <a>), .blog-card-footer.
   Index usa: .blog-category (div), .blog-title (div), .blog-footer,
              .blog-card-thumb, .blog-date, .blog-read               */
.blog-card-thumb{width:100%;height:160px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:var(--tc-ice);border-bottom:1px solid var(--tc-gray-200)}
.blog-category{font-family:var(--font-heading);font-size:.65rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--tc-blue);margin-bottom:.5rem}
.blog-title{font-family:var(--font-heading);font-size:.98rem;font-weight:800;color:var(--tc-navy);line-height:1.35;margin-bottom:.5rem}
.blog-excerpt{font-size:.85rem;color:var(--tc-gray-500);line-height:1.65;flex:1}
.blog-footer{padding:.85rem 0 0;border-top:1px solid var(--tc-gray-200);display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--tc-gray-400);margin-top:auto}
.blog-date{color:var(--tc-gray-400)}
.blog-read{font-family:var(--font-heading);font-weight:700;font-size:.8rem;color:var(--tc-blue);text-decoration:none;display:inline-flex;align-items:center;gap:.2rem;transition:gap .18s}
.blog-read:hover{gap:.5rem;color:var(--tc-navy)}

/* UPLOAD FOTO ────────────────────────────────────────── */

/* Progress bar foto */
.photo-progress-wrap{background:var(--tc-white);border:1px solid var(--tc-gray-200);border-radius:var(--radius);padding:1.1rem 1.4rem;margin-bottom:1.5rem;box-shadow:var(--shadow-xs)}
.photo-progress-bar{height:8px;background:var(--tc-gray-200);border-radius:50px;overflow:hidden;margin-top:.75rem}
.photo-progress-fill{height:100%;background:var(--grad-sky);border-radius:50px;transition:width .4s ease}

/* Drop zone caricamento */
.upload-area{border:2px dashed var(--tc-gray-300);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .22s;background:var(--tc-gray-100);position:relative;overflow:hidden}
.upload-area:hover{border-color:var(--tc-blue);background:var(--tc-ice)}
.upload-area.dragover{border-color:var(--tc-sky);background:rgba(66,168,245,.08);transform:scale(1.01)}
.upload-area input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-icon{font-size:2.5rem;color:var(--tc-blue);margin-bottom:.6rem;opacity:.7}
.upload-text{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--tc-navy);margin-bottom:.3rem}
.upload-hint{font-size:.82rem;color:var(--tc-gray-400)}

/* Griglia e card foto */
.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}
.photo-card{background:var(--tc-white);border:1px solid var(--tc-gray-200);border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow-xs);transition:box-shadow .2s}
.photo-card:hover{box-shadow:var(--shadow-md)}
.photo-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;background:var(--tc-ice)}

/* Badge "Principale" sovrapposto alla foto */
.primary-badge{position:absolute;top:.5rem;left:.5rem;background:var(--tc-gold);color:#fff;font-family:var(--font-heading);font-size:.65rem;font-weight:800;padding:.2rem .7rem;border-radius:50px;display:flex;align-items:center;gap:.2rem;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.25)}

/* Azioni foto (hover overlay) */
.photo-actions{padding:.65rem;display:flex;flex-direction:column;gap:.4rem;background:var(--tc-gray-100);border-top:1px solid var(--tc-gray-200)}

/* Pulsanti azione foto */
.btn-photo{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;width:100%;border:none;border-radius:var(--radius-sm);padding:.42rem .75rem;font-family:var(--font-heading);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .18s;text-decoration:none}
.btn-photo-primary{background:var(--tc-ice);color:var(--tc-blue);border:1px solid var(--tc-gray-200)}
.btn-photo-primary:hover{background:var(--tc-blue);color:var(--tc-white);border-color:var(--tc-blue)}
.btn-photo-danger{background:rgba(239,68,68,.07);color:#dc2626;border:1px solid rgba(239,68,68,.2)}
.btn-photo-danger:hover{background:var(--tc-danger);color:var(--tc-white);border-color:var(--tc-danger)}

/* Placeholder nessuna foto */
.no-photos{text-align:center;padding:3rem 1rem;color:var(--tc-gray-400)}
.no-photos i{font-size:3rem;display:block;margin-bottom:.85rem;opacity:.35}
.no-photos .fw-bold{font-family:var(--font-heading);font-weight:800;color:var(--tc-navy);margin-bottom:.3rem}

/* RESPONSIVE ADDITIONS ──────────────────────────────── */
@media(max-width:991px){
    .tc-section-alt{padding:3.5rem 0}
    .tc-section-dark-2{padding:3.5rem 0}
    .photos-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
}
@media(max-width:575px){
    .photos-grid{grid-template-columns:repeat(2,1fr)}
    .upload-area{padding:1.75rem 1rem}
}

/* ══════════════════════════════════════════════════════════
   TopCasting.it — Additions v3.2 — Public Profile
   Classi mancanti rilevate dall'analisi di public_profile.php:
   - Hero profilo (avatar, nome, badge, stats)
   - Galleria foto (photo-item con lightbox)
   - Esperienze (exp-item, exp-title, exp-cat, exp-meta)
   - Sidebar info (info-row, info-label, info-value)
   - Competenze (skill-cat-title, skill-pill, skill-level)
   - Lightbox fullscreen
══════════════════════════════════════════════════════════ */

/* PROFILE HERO ─────────────────────────────────────────── */
.profile-hero{background:var(--grad-blue);padding:3rem 0;position:relative;overflow:hidden}
.profile-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 90% 50%,rgba(66,168,245,.15) 0%,transparent 65%);pointer-events:none}

/* Avatar circolare */
.profile-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 28px rgba(0,0,0,.35);flex-shrink:0}
.profile-avatar-placeholder{width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.12);border:4px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:2.8rem;color:rgba(255,255,255,.55);flex-shrink:0}

/* Nome talento */
.profile-name{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;color:var(--tc-white);line-height:1.2;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}

/* Badge premium accanto al nome */
.profile-badge-premium{display:inline-flex;align-items:center;gap:.25rem;background:var(--tc-gold);color:var(--tc-white);font-family:var(--font-heading);font-size:.63rem;font-weight:800;letter-spacing:.5px;padding:.22rem .75rem;border-radius:50px;vertical-align:middle}

/* Badge livello profilo (colore dinamico inline) */
.profile-level-badge{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-heading);font-size:.8rem;font-weight:800;padding:.3rem .95rem;border-radius:50px}

/* Stat rapide nell'hero (età, altezza, città, punti, views) */
.profile-stat{display:flex;align-items:center;gap:.35rem;font-family:var(--font-heading);font-size:.87rem;font-weight:700;color:rgba(255,255,255,.78)}
.profile-stat i{color:var(--tc-sky);font-size:.95rem}
.profile-stat strong{color:var(--tc-white)}

/* GALLERIA FOTO (public_profile usa .photo-item, upload usa .photo-card) ── */
/* photos-grid è già definita, photo-item è il tile cliccabile del profilo pubblico */
.photo-item{border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;aspect-ratio:3/4;position:relative;background:var(--tc-ice)}
.photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .32s}
.photo-item:hover img{transform:scale(1.06)}
.photo-item::after{content:'';position:absolute;inset:0;background:rgba(10,37,87,0);transition:background .22s;pointer-events:none}
.photo-item:hover::after{background:rgba(10,37,87,.18)}
/* Icona zoom al centro all'hover */
.photo-item::before{content:'\F52A';font-family:'Bootstrap-icons';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.6);color:#fff;font-size:1.6rem;opacity:0;transition:all .22s;z-index:2;pointer-events:none}
.photo-item:hover::before{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* ESPERIENZE ───────────────────────────────────────────── */
.exp-item{padding:1.1rem 0;border-bottom:1px solid var(--tc-gray-200)}
.exp-item:last-child{border-bottom:none;padding-bottom:0}
.exp-title{font-family:var(--font-heading);font-size:.95rem;font-weight:800;color:var(--tc-navy);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;line-height:1.35}
/* Badge categoria (cinema, teatro, ecc.) */
.exp-cat{display:inline-flex;align-items:center;background:var(--tc-ice);color:var(--tc-blue);font-family:var(--font-heading);font-size:.62rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:.18rem .7rem;border-radius:50px;border:1px solid var(--tc-gray-200);white-space:nowrap}
.exp-meta{font-size:.82rem;color:var(--tc-gray-500);display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}
.exp-meta i{color:var(--tc-blue)}

/* SIDEBAR INFO (genere, peso, occhi, capelli…) ──────────── */
.info-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--tc-gray-200);gap:.75rem}
.info-row:last-child{border-bottom:none}
.info-label{font-size:.82rem;color:var(--tc-gray-500);font-weight:600;flex-shrink:0}
.info-value{font-family:var(--font-heading);font-size:.85rem;font-weight:700;color:var(--tc-navy);text-align:right}

/* COMPETENZE ────────────────────────────────────────────── */
/* Titolo gruppo (Lingue, Danza, Sport…) */
.skill-cat-title{font-family:var(--font-heading);font-size:.7rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tc-blue);margin:1rem 0 .5rem;display:flex;align-items:center;gap:.3rem}
.skill-cat-title:first-child{margin-top:0}

/* Pill competenza (read-only, distinto da .skill-tag interattivo) */
.skill-pill{display:inline-flex;align-items:center;gap:.3rem;background:var(--tc-ice);border:1px solid var(--tc-gray-200);border-radius:50px;padding:.28rem .85rem;font-family:var(--font-heading);font-size:.78rem;font-weight:700;color:var(--tc-navy);margin:.2rem .2rem .2rem 0;transition:border-color .18s}
.skill-pill:hover{border-color:var(--tc-sky)}
/* Livello dentro la pill */
.skill-level{color:var(--tc-gray-400);font-size:.72rem;font-weight:600}

/* LIGHTBOX ──────────────────────────────────────────────── */
.lightbox{display:none;position:fixed;inset:0;background:rgba(10,25,41,.94);z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lightbox img{max-width:90vw;max-height:88vh;border-radius:var(--radius);object-fit:contain;box-shadow:0 32px 80px rgba(0,0,0,.6);animation:lbIn .25s ease}
@keyframes lbIn{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}
.lightbox-close{position:absolute;top:1.25rem;right:1.25rem;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:var(--tc-white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.15rem;transition:background .2s,transform .2s;z-index:1}
.lightbox-close:hover{background:rgba(255,255,255,.28);transform:scale(1.1)}

/* RESPONSIVE ────────────────────────────────────────────── */
@media(max-width:767px){
    .profile-hero{padding:2rem 0}
    .profile-avatar,.profile-avatar-placeholder{width:80px;height:80px;font-size:2rem}
    .profile-name{font-size:1.35rem}
    .profile-stat{font-size:.8rem}
}
