/* FansList Italia - visual polish layer */
:root{--surface:#fff;--surface-soft:#f7f9fb;--line-soft:#e8edf2;--shadow-soft:0 10px 30px rgba(15,23,42,.07)}

/* Header */
.site-header{box-shadow:0 1px 0 rgba(0,0,0,.02)}
.header-row{height:72px}
.logo-link img{height:38px}
.main-nav a{transition:color .16s ease}
.header-search button{transition:border-color .16s ease,color .16s ease,background .16s ease}

/* Hero + search */
.hero{max-width:940px;margin-left:auto;margin-right:auto;text-align:center;padding:38px 0 24px}
.hero .eyebrow{color:var(--blue);margin-bottom:7px}
.hero h1{font-size:34px;line-height:1.12;margin-bottom:10px}
.hero p{margin:0 auto;max-width:760px;font-size:14px;line-height:1.55}
.finder-zone{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);padding-bottom:22px}
.finder{background:#fff;border:1px solid var(--line-soft);padding:12px;border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.finder input,.finder select{border-color:#dfe4e8;transition:border-color .15s ease,box-shadow .15s ease}
.finder input:focus,.finder select:focus,.side-search input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,168,247,.11)}
.finder button,.side-search button,.contact-form button{border-radius:7px;cursor:pointer;transition:transform .12s ease,background .15s ease}
.finder button:hover,.side-search button:hover,.contact-form button:hover{background:#202020}
.finder button:active,.side-search button:active,.contact-form button:active{transform:translateY(1px)}
.chips{padding-top:12px;padding-bottom:2px}.chips a{border-radius:999px;padding:7px 11px;border-color:#e3e7eb;color:#555;transition:border-color .15s ease,color .15s ease,background .15s ease}.chips a:hover{border-color:#9edfff;color:#057bc1;background:#f4fbff}

/* Listing */
.page-grid{padding-top:38px;gap:42px}
.heading{border-bottom-color:#d9dde1}.heading h2{letter-spacing:-.45px}
.creator-card{border:1px solid #edf0f2;box-shadow:0 3px 14px rgba(15,23,42,.045);background:#fff}
.creator-card:hover{box-shadow:var(--shadow-soft)}
.photo img{transition:transform .28s ease}.creator-card:hover .photo img{transform:scale(1.015)}
.card-body h3{letter-spacing:-.2px}.card-body p{color:#60656b}
.mini a{color:#687078}.mini a:hover{color:var(--blue)}
.info{transition:color .15s ease}.info:hover{color:var(--blue)}
.empty-state{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;padding:28px;border:1px dashed #d9dfe4;border-radius:10px;color:#555}.empty-state b{color:#111;font-size:16px}.empty-state span{font-size:12px}

/* Sidebar / category images */
.side-block{border-top-width:2px}
.category-side-block{border-top-color:var(--blue)}
.side-cats{gap:4px}
.side-cats a{min-height:54px;padding:6px 7px;border-bottom:0;border-radius:10px;transition:background .14s ease,color .14s ease,transform .14s ease}
.side-cats a:hover{background:#f4f9fc;transform:translateX(2px)}
.side-cats .cat-icon{width:42px;height:42px;border-radius:11px;font-size:13px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.side-cats .cat-icon-photo{background:#eef1f3;overflow:hidden;box-shadow:none;border:1px solid #e6eaed}
.side-cats .cat-icon-photo img{width:100%;height:100%;object-fit:cover;display:block}
.side-cats a>span:nth-child(2){font-weight:700;flex:1;min-width:0}
.side-cat-arrow{margin-left:auto!important;flex:0 0 auto;color:#b7bdc4;font-size:20px!important;font-weight:400!important}
.side-cats a:hover .side-cat-arrow{color:var(--blue)}
.partner-box{background:#fbfdff;border-color:#e3e8ec;padding:14px;border-radius:10px}.partner-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin-bottom:12px}

/* Sponsor cards */
.sponsor-card{border-radius:10px;overflow:hidden;position:relative;background:#f5fbff;border-color:#cbeaff}.sponsor-card.has-image{background-size:cover;background-position:center;color:#fff}.sponsor-card.has-image>span,.sponsor-card.has-image h3,.sponsor-card.has-image p,.sponsor-card.has-image a{color:#fff}.sponsor-card.has-image a{border-bottom:1px solid rgba(255,255,255,.75);width:max-content}

/* Profile */
.profile-head{background:linear-gradient(180deg,#fbfcfd,#f8fafb)}
.profile-photo{box-shadow:0 12px 32px rgba(15,23,42,.08)}
.actions{display:flex;gap:8px;flex-wrap:wrap}.actions a{border-radius:7px;transition:transform .12s ease,background .15s ease}.actions a:hover{transform:translateY(-1px)}
.category-grid-public{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.category-grid-public a{display:flex;align-items:center;gap:10px;border:1px solid var(--line-soft);border-radius:10px;padding:9px 11px;background:#fff;font-size:13px;font-weight:700}.category-grid-public a:hover{border-color:#bfe7fb;background:#f7fcff}.category-grid-public .cat-icon{width:38px;height:38px;border-radius:9px}.category-grid-public .cat-icon-photo{overflow:hidden}.category-grid-public .cat-icon-photo img{width:100%;height:100%;object-fit:cover}

/* Blog + article */
.blog-band{background:#f7f8fa}.posts article{border-color:#e7eaed}.posts article:hover{box-shadow:var(--shadow-soft)}
.article-single{max-width:860px}.article-single>small{display:block;margin-top:18px;color:#777;font-size:10px;font-weight:800;letter-spacing:.4px}.back-link{font-size:12px;color:#666}.article-prose{font-size:16px;line-height:1.8}.article-prose h2{font-size:27px;line-height:1.25;margin:34px 0 12px}.article-prose h3{font-size:21px;margin:28px 0 10px}.article-prose p{margin:0 0 18px}.article-prose ul,.article-prose ol{padding-left:22px;margin:0 0 20px}.article-prose blockquote{margin:24px 0;padding:14px 18px;border-left:3px solid var(--blue);background:#f7fbfd;color:#555}

/* CTA */
.cta-band{background:#fff}.cta-grid{background:#111;color:#fff;border-radius:14px;padding:28px 32px}.cta-grid p{color:#c9c9c9}.cta-grid a{border-color:#fff;color:#fff}.cta-grid a:first-child{background:#fff;color:#111}.cta-grid a:hover{opacity:.86}

/* Footer */
.footer{background:#f7f8fa;border-top-color:#e4e7ea;padding-top:46px}
.footer-grid{align-items:start}.footer-logo{height:34px}
.footer-grid>div:first-child{max-width:520px}
.footer-grid strong{font-size:13px;letter-spacing:.1px}
.footer-grid a:not(.footer-logo-link):not(.social-btn){width:max-content;max-width:100%}
.footer-social{display:flex!important;align-items:center;gap:9px;margin-top:18px}
.footer-grid .social-btn{display:inline-flex!important;width:38px;height:38px;min-width:38px;margin:0!important;padding:0!important;border-radius:10px;align-items:center;justify-content:center;background:#fff;color:#0b98df;border:1px solid #dce5ea;line-height:1;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.footer-grid .social-btn svg{display:block;width:18px;height:18px;position:static;transform:none;flex:0 0 auto}
.footer-grid .social-btn:hover{background:#eef9ff;color:#0789ce;border-color:#bfe7fb}
.footer-grid .social-instagram{color:#333}
.copy{display:flex;align-items:center;gap:4px;flex-wrap:wrap}

/* Telegram popup */
.tg-popup{border:1px solid #eef1f3;box-shadow:0 18px 48px rgba(0,0,0,.16)}
.tg-popup-icon{overflow:hidden}.tg-popup-icon svg{display:block;position:static;transform:none}

/* Forms */
.form-page{background:#fff}.contact-form{background:#fff;border:1px solid #e7eaee;padding:22px;border-radius:12px;box-shadow:0 8px 28px rgba(15,23,42,.04)}

/* Focus accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

@media(max-width:930px){
  .hero{text-align:left;max-width:none;padding:32px 0 22px}.hero p{margin-left:0}.hero h1{font-size:31px}
  .cta-grid{padding:26px}.page-grid{padding-top:32px}
}
@media(max-width:650px){
  .header-row{height:60px}.logo-link img{height:31px}
  .hero{padding:26px 0 20px}.hero h1{font-size:26px}.hero p{font-size:13.5px}
  .finder{padding:10px;border-radius:10px}.chips{padding-top:10px}
  .cta-grid{padding:22px 18px;border-radius:10px}
  .footer{padding-top:38px}.footer-grid{gap:28px}.footer-logo{height:31px}
  .contact-form{padding:16px}.category-grid-public{grid-template-columns:1fr 1fr}.article-prose{font-size:15px}
}
@media(max-width:430px){.category-grid-public{grid-template-columns:1fr}}
