/*
Theme Name: Fan Creator Club
Theme URI: https://fancreatorclub.com/
Author: Fan Creator Club
Description: Fast SEO-first creator directory with CSV model import.
Version: 2.4.5
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: fancreatorclub
*/

:root{--blue:#0b55ed;--ink:#101522;--muted:#60697a;--line:#e7eaf0;--soft:#f6f8fc;--lav:#eeeaff;--radius:16px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:76px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;font-weight:900;font-size:19px;line-height:1;letter-spacing:-.6px;white-space:nowrap}.brand-mark{width:28px;height:34px;margin-right:9px;border:3px solid var(--blue);border-radius:7px;transform:skew(-8deg);position:relative}.brand-mark:after{content:"";position:absolute;inset:6px;border-left:3px solid var(--blue);border-right:3px solid var(--blue)}.nav{display:flex;gap:28px;margin-left:auto;font-size:14px;font-weight:650}.nav a:hover,.footer a:hover{color:var(--blue)}.header-search{position:relative;width:235px}.header-search input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 42px 0 14px}.header-search button{position:absolute;right:4px;top:4px;width:34px;height:34px;border:0;background:transparent;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:9px;background:var(--blue);color:#fff;font-weight:750;font-size:14px;border:1px solid var(--blue);transition:.2s}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(11,85,237,.22)}.button-outline{background:#fff;color:var(--blue)}.menu-toggle{display:none;margin-left:auto;background:none;border:0;font-size:25px}.hero{background:linear-gradient(120deg,#fff 30%,#f5f6ff);overflow:hidden}.hero-grid{min-height:520px;display:grid;grid-template-columns:1fr .94fr;align-items:center;gap:60px}.eyebrow{font-size:12px;color:var(--blue);font-weight:850;letter-spacing:.1em;text-transform:uppercase}.hero h1{font-family:Georgia,serif;font-size:clamp(48px,5vw,72px);line-height:1.02;letter-spacing:-.045em;margin:17px 0 22px;max-width:650px}.hero-copy{font-size:18px;color:var(--muted);max-width:580px}.hero-actions{display:flex;gap:13px;margin-top:30px}.hero-art{height:440px;align-self:end;position:relative;display:flex;align-items:flex-end;justify-content:center}.hero-art:before,.hero-art:after{content:"";position:absolute;border-radius:50%;z-index:0}.hero-art:before{width:330px;height:330px;background:#1759ea;right:0;top:25px}.hero-art:after{width:250px;height:250px;background:#e5dcff;left:5px;top:90px}.hero-frame{position:relative;z-index:1;width:390px;height:425px;border-radius:190px 190px 18px 18px;overflow:hidden;border:7px solid #fff;box-shadow:0 25px 70px rgba(25,42,92,.18);background:#eee}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center 33%}.search-panel{position:relative;margin-top:-25px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 45px rgba(22,38,75,.08);border-radius:15px;padding:18px 20px;z-index:3}.main-search{display:flex;gap:12px}.main-search input{flex:1;height:54px;border:0;padding:0 15px;font-size:17px;outline:none}.main-search .button{min-width:130px}.popular-searches{border-top:1px solid var(--line);margin-top:12px;padding-top:13px;font-size:13px;color:var(--muted)}.popular-searches a{color:var(--blue);font-weight:650;margin-left:18px}.section{padding:58px 0}.section-soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section h2,.content-card h2{font-family:Georgia,serif;font-size:34px;line-height:1.12;letter-spacing:-.02em;margin:0}.section-link{color:var(--blue);font-weight:750;font-size:14px}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.category-card,.model-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.2s}.category-card:hover,.model-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(34,49,82,.1)}.category-art{height:145px;background:linear-gradient(140deg,#e6dcff,#2b65ee);background-size:cover;background-position:center;position:relative;overflow:hidden}.category-art:before{content:"";position:absolute;width:130px;height:130px;border:28px solid rgba(255,255,255,.52);border-radius:50%;right:-40px;top:18px}.category-art.alt{background:linear-gradient(140deg,#f7d6c9,#bb6c4d)}.category-art.dark{background:linear-gradient(140deg,#25201d,#ad967d)}.category-body{padding:15px}.category-body h3{margin:0 0 5px;font-size:17px}.category-body p{font-size:13px;color:var(--muted);min-height:40px;margin:0 0 10px}.count{font-size:12px;color:#939aaa}.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.model-card-image{aspect-ratio:4/5;background:#eceef5;overflow:hidden}.model-card-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.model-card:hover img{transform:scale(1.025)}.model-body{padding:16px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.chip{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#eeeaff;color:#5841b4;border-radius:99px;padding:4px 8px}.model-body h3{font-size:20px;line-height:1.15;margin:0 0 2px}.handle{font-size:13px;color:#7a8290}.model-excerpt{font-size:14px;color:var(--muted);margin:10px 0;min-height:44px}.text-link{font-size:14px;color:var(--blue);font-weight:800}.pagination{display:flex;justify-content:center;gap:7px;margin-top:32px}.pagination .page-numbers{padding:8px 13px;border:1px solid var(--line);border-radius:8px}.pagination .current{background:var(--blue);color:#fff}.editorial{display:grid;grid-template-columns:1.5fr .8fr;gap:22px}.content-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:#fff}.content-card p{color:var(--muted)}.internal-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.internal-links a{color:var(--blue);font-weight:700}.faq{margin-top:28px}.faq details{border:1px solid var(--line);border-radius:10px;padding:15px 18px;margin-top:9px;background:#fff}.faq summary{font-weight:750;cursor:pointer}.breadcrumbs{font-size:13px;color:var(--muted);padding:22px 0}.archive-hero{padding:38px 0 30px}.archive-hero h1,.single-title{font-family:Georgia,serif;font-size:48px;line-height:1.05;margin:8px 0 16px}.archive-copy{max-width:760px;color:var(--muted)}.single-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;padding-bottom:55px}.gallery-main{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#eee}.gallery-main img{width:100%;height:100%;object-fit:cover}.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px}.gallery-thumbs img{aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer}.single-meta{position:sticky;top:100px;align-self:start}.single-description{color:var(--muted);font-size:16px}.profile-cta{width:100%;margin:22px 0}.disclosure{font-size:12px;color:#8b93a1}.site-footer{background:#0e1423;color:#d8deea;padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:35px}.site-footer .brand{color:#fff}.footer-title{font-weight:800;color:#fff;margin-bottom:12px}.footer a{display:block;color:#aeb7c8;font-size:14px;margin:7px 0}.footer-note{color:#8690a2;font-size:12px;margin-top:35px;border-top:1px solid #283044;padding-top:20px}.empty{padding:60px;text-align:center;background:var(--soft);border-radius:15px}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:1050px){.nav{display:none}.menu-toggle{display:block}.header-search{display:none}.category-grid{grid-template-columns:repeat(3,1fr)}.model-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.container{width:min(100% - 28px,var(--max))}.header-inner{height:66px}.header-inner>.button{display:none}.hero-grid{grid-template-columns:1fr;gap:10px;padding-top:55px}.hero h1{font-size:45px}.hero-copy{font-size:16px}.hero-art{height:390px}.hero-frame{height:375px;width:330px}.search-panel{margin-top:0}.main-search{flex-direction:column}.popular-searches{line-height:2}.popular-searches a{margin-left:8px}.category-grid{grid-template-columns:repeat(2,1fr)}.model-grid{grid-template-columns:repeat(2,1fr);gap:12px}.model-body{padding:12px}.section{padding:42px 0}.section h2{font-size:29px}.editorial,.single-grid{grid-template-columns:1fr}.single-meta{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:480px){.hero-actions{flex-direction:column}.category-grid{grid-template-columns:1fr 1fr}.category-art{height:110px}.model-grid{grid-template-columns:1fr 1fr}.model-body h3{font-size:16px}.model-excerpt{display:none}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
.brand small{display:block;margin-top:5px;font-size:8px;letter-spacing:.13em;color:var(--muted)}.site-footer .brand small{color:#8690a2}.all-categories{grid-template-columns:repeat(5,minmax(0,1fr));padding-bottom:55px}.all-categories .category-body h2{font-size:19px;margin:0 0 6px}.seo-content{font-size:16px}.seo-content h2,.seo-content h3{margin-top:24px}.seo-content a{color:var(--blue);text-decoration:underline}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.blog-card img,.blog-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover}.blog-placeholder{background:linear-gradient(135deg,#e8e2ff,#1f60ee)}.blog-body{padding:20px}.blog-body h2{font-family:Georgia,serif;font-size:24px;line-height:1.15;margin:6px 0 10px}.blog-body p{color:var(--muted)}.post-date{font-size:12px;color:#8a92a0;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){.all-categories{grid-template-columns:repeat(3,1fr)}.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.all-categories,.blog-grid{grid-template-columns:1fr 1fr}.brand{font-size:15px}.brand small{font-size:7px}}
.article-page{max-width:900px;padding-bottom:70px}.article-header{padding:48px 0 30px;text-align:center}.article-header h1{font-family:Georgia,serif;font-size:clamp(40px,6vw,64px);line-height:1.06;margin:12px 0}.article-header p{font-size:19px;color:var(--muted)}.article-image{border-radius:18px;overflow:hidden;margin-bottom:35px}.article-content{font-family:Georgia,serif;font-size:19px;line-height:1.8}.article-content h2,.article-content h3{font-family:Inter,sans-serif;line-height:1.25;margin-top:38px}.article-content a{color:var(--blue);text-decoration:underline}
.brand-image{display:block;max-width:220px;max-height:48px;width:auto;height:auto}.category-art img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.site-footer .footer-grid>div{min-width:0}.site-footer .footer-grid a:not(.brand){display:block;width:max-content;max-width:100%;margin:9px 0;color:#aeb7c8;line-height:1.35}.site-footer .footer-title{display:block;margin-bottom:16px}.site-footer .footer-grid p{max-width:290px}.site-footer .footer-note{display:block;clear:both}
.site-footer .footer-grid{grid-template-columns:1.35fr .65fr 1.65fr .7fr .7fr}.footer-categories-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;align-items:start}.site-footer .footer-categories-list a{width:auto;margin:7px 0}
@media(max-width:760px){.site-footer .footer-grid{grid-template-columns:1fr 1fr}.site-footer .footer-categories{grid-column:1/-1}.footer-categories-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-categories{grid-column:auto}}
.gallery-main{position:relative;outline:none}.gallery-main:focus-visible{box-shadow:0 0 0 4px rgba(11,85,237,.25)}.gallery-arrow{position:absolute;z-index:3;top:50%;width:50px;height:50px;margin-top:-25px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(10,16,32,.58);color:#fff;font-size:38px;line-height:42px;text-align:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:.2s;backdrop-filter:blur(5px)}.gallery-arrow:hover,.gallery-arrow:focus{background:var(--blue);transform:scale(1.06)}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-counter{position:absolute;z-index:3;right:16px;bottom:16px;padding:7px 11px;border-radius:99px;background:rgba(10,16,32,.65);color:#fff;font-size:12px;font-weight:750;backdrop-filter:blur(5px)}.gallery-thumbs{overflow-x:auto;scrollbar-width:thin}.gallery-thumbs img{border:3px solid transparent;opacity:.72;transition:.2s}.gallery-thumbs img:hover,.gallery-thumbs img.is-active{opacity:1;border-color:var(--blue)}
@media(max-width:600px){.gallery-arrow{width:42px;height:42px;margin-top:-21px;font-size:32px;line-height:34px}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-counter{right:10px;bottom:10px}}
.gallery-arrow{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.gallery-arrow span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;transform:translateY(-2px)}.model-seo-tags{margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.model-seo-tags-title{margin-bottom:12px;font-size:14px;font-weight:850}.model-seo-tags-list{display:flex;flex-wrap:wrap;gap:8px}.model-seo-tags-list a,.model-seo-tags-list span{display:inline-flex;padding:7px 11px;border:1px solid #dce2ed;border-radius:99px;background:#fff;color:#536078;font-size:12px;line-height:1.2;transition:.2s}.model-seo-tags-list a:hover{border-color:var(--blue);color:var(--blue)}

/* v1.8.0: unified modern US-friendly typography across the public theme. */
:root{--fcc-font:Inter,"Segoe UI","Helvetica Neue",Arial,ui-sans-serif,-apple-system,BlinkMacSystemFont,sans-serif}
html,body,button,input,select,textarea{font-family:var(--fcc-font)}
.hero h1,.section h2,.content-card h2,.archive-hero h1,.single-title,.blog-body h2,.article-header h1,.article-content,.article-content h2,.article-content h3{font-family:var(--fcc-font)}
.hero h1,.archive-hero h1,.single-title,.article-header h1{font-weight:800;letter-spacing:-.045em}
.section h2,.content-card h2,.blog-body h2,.article-content h2,.article-content h3{font-weight:750;letter-spacing:-.025em}

/* v1.8.2: taller, face-friendly model card crops. */
.model-card-image{aspect-ratio:3/4}
.model-card-image img{object-position:center 28%}

/* v1.8.1: keep homepage navigation aligned even when editable SEO HTML is malformed. */
.home-internal-links-wrap{margin-top:20px}.home-internal-links-wrap .internal-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.home-internal-links-wrap .internal-links a{display:block;min-width:0;color:var(--blue);font-weight:700}
@media(max-width:760px){.home-internal-links-wrap .internal-links{grid-template-columns:1fr;gap:12px;padding:18px}}

/* v2.4.4: functional and accessible mobile navigation. */
@media(max-width:1050px){
 .header-inner{position:relative}
 .menu-toggle{position:relative;z-index:2;width:44px;height:44px;padding:0;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);line-height:1;border-radius:8px}
 .menu-toggle:hover,.menu-toggle:focus-visible{background:var(--soft);outline:2px solid transparent}
 .menu-toggle.is-open{font-size:34px}
 .nav.is-open{display:flex;position:absolute;z-index:40;top:calc(100% + 1px);right:0;left:0;flex-direction:column;gap:0;margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;box-shadow:0 18px 35px rgba(16,21,34,.16)}
 .nav.is-open a{display:flex;align-items:center;min-height:50px;padding:10px 14px;border-radius:8px;font-size:16px;font-weight:750}
 .nav.is-open a:hover,.nav.is-open a:focus-visible{background:var(--soft);color:var(--blue)}
}
@media(max-width:760px){.nav.is-open{right:-14px;left:-14px}}

/* v2.4.5: square, responsive category artwork on every screen. */
.category-art{
 height:auto;
 aspect-ratio:1 / 1;
 width:100%;
}
.category-art img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center center;
}
@media(max-width:480px){.category-art{height:auto}}

/* v2.2.0: automatically updated public HTML sitemap. */
.html-sitemap{padding-bottom:70px}.html-sitemap-summary{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}.html-sitemap-summary span{display:inline-flex;padding:7px 12px;border:1px solid var(--line);border-radius:99px;background:var(--soft);color:var(--muted);font-size:13px;font-weight:700}.html-sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.html-sitemap-section{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff}.html-sitemap-section h2{margin:0 0 16px;font-size:25px}.html-sitemap-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0;padding:0;list-style:none}.html-sitemap-links li{min-width:0}.html-sitemap-links a{display:inline-block;color:var(--blue);font-size:14px;font-weight:700;overflow-wrap:anywhere}.html-sitemap-links a:hover{text-decoration:underline}.html-sitemap-empty{color:var(--muted);font-size:14px}
@media(max-width:760px){.html-sitemap-grid{grid-template-columns:1fr}.html-sitemap-links{grid-template-columns:1fr}}

/* v2.3.0: public contact page. */
.contact-page{padding-bottom:70px}.contact-card{max-width:760px;margin:36px auto 0;padding:48px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fff,#f6f8ff);box-shadow:0 18px 55px rgba(22,38,75,.08);text-align:center}.contact-card h1{margin:10px 0 14px;font-size:clamp(38px,6vw,56px);line-height:1.05;letter-spacing:-.04em}.contact-card p{margin:0 0 22px;color:var(--muted);font-size:18px}.contact-email{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:10px;background:var(--blue);color:#fff;font-size:17px;font-weight:800;overflow-wrap:anywhere}.contact-email:hover{box-shadow:0 10px 25px rgba(11,85,237,.24);transform:translateY(-1px)}
@media(max-width:600px){.contact-card{margin-top:18px;padding:34px 20px}.contact-card p{font-size:16px}.contact-email{width:100%;padding:12px;font-size:15px}}
