
/* =========================================================
   FAPPORNSTARS — CROWN JEWEL TEMPLATE
   Deep Navy • Rich Gold • Stars • Crown Jewel
========================================================= */

:root{
    --bg:#050914;
    --bg2:#0b1424;

    --accent:#d6a83f;
    --accent2:#ffd76a;

    --text:#f5f3ed;
    --muted:#929aaa;

    --glow-soft:rgba(214,168,63,.42);
    --glow:rgba(240,201,106,.72);
    --glow-strong:rgba(255,220,110,.96);
}

*{
    box-sizing:border-box;
}

html{
    background:var(--bg);
}

body{

    margin:0;

    background:
        radial-gradient(circle at top,#101a2b 0%,transparent 32%),
        linear-gradient(
            180deg,
            #050914 0%,
            #030711 45%,
            #01040a 100%
        );

    color:var(--text);

    font-family:Verdana,Arial,sans-serif;
}

/* ==========================================
   Global Links
   ========================================== */

a,
a:visited {
    color: #c99a35;
    text-decoration: none;
}

a:hover,
a:focus {
    color: #f0c96a;
    text-decoration: none;
}

/* =========================================================
   HEADER
========================================================= */

.xf-header{

    border-bottom:1px solid rgba(255,255,255,.08);

    background:
        linear-gradient(
            180deg,
            rgba(13,22,38,.98),
            rgba(4,8,16,.98)
        );

    padding:18px 20px 10px;
}

/* --------------------------------------------------------- */

.xf-top{

    max-width:1700px;

    margin:auto;

    display:flex;

    align-items:center;

    gap:28px;

}

/* =========================================================
   LOGO
========================================================= */

.xf-logo{

    display:flex;

    align-items:flex-start;

    text-decoration:none;

    white-space:nowrap;

    min-width:max-content;

    font-family:Impact,"Arial Black",sans-serif;

    font-size:52px;

    letter-spacing:2px;

    line-height:.85;

}

.xf-logo-left,
.xf-logo-middle,
.xf-logo-right{
    display:inline-block;
}

.xf-logo-left{
    color:#d6a83f;

    text-shadow:
        0 1px 0 #765014,
        0 2px 0 #4f350d,
        0 0 5px rgba(255,215,110,.48),
        0 0 12px rgba(214,168,63,.40);
}

.xf-logo-middle{
    color:#f5cf68;

    text-shadow:
        0 1px 0 #8a6018,
        0 2px 0 #5e400f,
        0 0 4px rgba(255,248,215,.78),
        0 0 11px rgba(240,201,106,.72),
        0 0 22px rgba(214,168,63,.48);
}

.xf-logo-right{
    color:#fff1a8;

    text-shadow:
        0 1px 0 #94681c,
        0 2px 0 #63430f,
        0 0 4px #fff6cf,
        0 0 10px rgba(255,220,110,.92),
        0 0 22px rgba(240,201,106,.74),
        0 0 38px rgba(214,168,63,.50);
}

/* Extra crown-jewel shine without changing the HTML */
.xf-logo{
    filter:
        drop-shadow(0 0 5px rgba(214,168,63,.18))
        drop-shadow(0 0 12px rgba(240,201,106,.10));
}

/* =========================================================
   SEARCH
========================================================= */

.xf-search{

    flex:1;

    display:flex;

    align-items:center;

    min-width:0;

    height:38px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.05);

    border-radius:3px;

}

.xf-search input{

    flex:1;

    min-width:0;

    border:0;

    outline:0;

    background:transparent;

    color:white;

    padding:0 14px;

    font-size:14px;

    font-family:Verdana,sans-serif;

}

.xf-search input::placeholder{
    color:#9f8c60;
}

.xf-search button{

    width:44px;

    height:100%;

    border:0;

    background:transparent;

    color:#cbb77f;

    cursor:pointer;

    font-size:24px;

}

/* =========================================================
   SLOGAN
========================================================= */

.xf-slogan{

    max-width:1700px;

    margin:14px auto 10px;

    text-align:center;

    font-family:"Courier New",monospace;

    font-size:13px;

    letter-spacing:2px;

    color:#bca873;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;

}

/* =========================================================
   MENU
========================================================= */

.xf-menu{

    max-width:1700px;

    margin:auto;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:28px;

    padding-top:6px;

}

.xf-menu a{

    font-family:"Trebuchet MS",Verdana,sans-serif;

    font-size:13px;

    letter-spacing:1px;

    color:#d3c18d;

    text-decoration:none;

}

.xf-menu a:hover{
    color:white;
}

.xf-menu .live{
    color:#d6a842;
}

/* =========================================================
   GRID
========================================================= */

.xf-main{

    max-width:1900px;

    margin:auto;

    padding:18px;

}

.grid{

    display:grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap:14px;

}

/* =========================================================
   VIDEO CARD
========================================================= */

.video-card{

    min-width:0;

}

.thumb-link{

    display:block;

    text-decoration:none;

}

.thumb-wrapper{

    position:relative;

    overflow:hidden;

    background:#000;

    aspect-ratio:16/9;

}

.thumb-wrapper img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:transform .25s ease;

}

.video-card:hover img{
    transform:scale(1.035);
}

/* --------------------------------------------------------- */

.duration{

    position:absolute;

    top:6px;

    right:6px;

    background:rgba(0,0,0,.82);

    color:white;

    font-size:11px;

    padding:3px 6px;

    border-radius:2px;

    font-weight:bold;

}

/* --------------------------------------------------------- */

.thumb-title{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    padding:22px 8px 7px;

    font-size:12px;

    line-height:1.35;

    color:white;

    background:
        linear-gradient(
            transparent,
            rgba(0,0,0,.9)
        );

    opacity:0;

    transition:.2s;

}

.video-card:hover .thumb-title{
    opacity:1;
}

/* =========================================================
   KEYWORDS
========================================================= */

.keywords{

    display:flex;

    flex-wrap:wrap;

    gap:6px 11px;

    padding:9px 1px 7px;

}

.keywords a{

    color:#b89a58;

    font-size:11px;

    text-decoration:none;

}

.keywords a:hover{
    color:#fff;
}

/* =========================================================
   PAGINATION
========================================================= */

.xf-pagination{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    padding:35px 15px;

    flex-wrap:wrap;

}

.xf-pagination a,
.xf-pagination span{

    min-width:36px;

    text-align:center;

    padding:9px 12px;

    border:1px solid rgba(255,255,255,.12);

    color:#d5c394;

    text-decoration:none;

    font-size:13px;

}

.xf-pagination span{

    background:var(--accent);

    border-color:var(--accent);

    color:white;

}

/* =========================================================
   TOPLIST
========================================================= */

.xf-toplist{

    max-width:1700px;

    margin:0 auto 25px;

    padding:10px 18px;

}

/* =========================================================
   NETWORK FOOTER
========================================================= */

.network-footer{
    margin-top:30px;
    border-top:1px solid rgba(255,255,255,.08);
    background:#020611;
    color:#9f9f9f;
}

.network-footer-inner{
    max-width:1700px;
    margin:auto;
    padding:28px 18px 24px;
    text-align:center;
}

.network-footer-brand{
    margin-bottom:14px;

    font-family:Impact,"Arial Black",sans-serif;
    font-size:22px;
    letter-spacing:2px;

    color:#c1ad79;
}

.footer-x{
    color:#d2a13b;

    text-shadow:
        0 0 6px var(--glow),
        0 0 12px var(--glow-soft);
}

.network-footer-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px 11px;

    font-size:11px;
}

.network-footer-links a{
    color:#9f8a5c;
    text-decoration:none;
}

.network-footer-links a:hover{
    color:#fff;
    text-shadow:0 0 6px var(--accent);
}

.network-footer-links span{
    color:#5b4d30;
}

.network-footer p{
    margin:14px 0 0;

    color:#74613d;
    font-size:10px;
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

    .xf-header{
        padding:14px 12px 8px;
    }

    .xf-top{

        flex-direction:column;

        align-items:stretch;

        gap:12px;

    }

    .xf-logo{
        justify-content:center;
    }

    .xf-logo{
        font-size:44px;
    }

    .xf-search{
        width:100%;
    }

    .xf-slogan{

        font-size:10px;

        letter-spacing:1px;

    }

    .xf-menu{

        gap:15px;

    }

    .xf-menu a{
        font-size:11px;
    }

    .grid{

        grid-template-columns:
            repeat(2,1fr);

        gap:8px;

    }

    .xf-main{
        padding:10px;
    }

    .keywords a{
        font-size:10px;
    }

}

/* =========================================================
   TOUCH
========================================================= */

@media(hover:none){

    .thumb-title{
        opacity:1;
    }

}

/* =========================================================
   TAG CLOUD
========================================================= */

.xf-tagcloud {
    max-width: 1900px;
    margin: 24px auto 18px;
    padding: 18px;
    text-align: center;
}

.tagcloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 8px 14px;
    line-height: 1.4;
}

.tagcloud a {
    color: #c3b17d;
    text-decoration: none;
    transition: color .15s ease, text-shadow .15s ease;
}

.tagcloud a:hover {
    color: #fff;
    text-shadow:
        0 0 5px var(--accent),
        0 0 10px var(--accent);
}

.tag-size-1 {
    font-size: 13px;
}

.tag-size-2 {
    font-size: 15px;
}

.tag-size-3 {
    font-size: 17px;
}

.tag-size-4 {
    font-size: 20px;
}

.all-tags-link {
    margin-top: 16px;
}

.all-tags-link a {
    color: #d4a23d;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 1.5px;
}

.all-tags-link a:hover {
    color: #fff;
    text-shadow: 0 0 8px var(--accent);
}

/* =========================================================
   WATCH PAGE
========================================================= */

.block{
    max-width:1900px;
    margin:0 auto;
    padding:18px;
}

.breadcrumb{
    font-size:12px;
    color:var(--muted);
}

.breadcrumb a{
    color:#bda36a;
    text-decoration:none;
}

.breadcrumb a:hover{
    color:#fff;
}


/* PLAYER */

.watch-container{
    max-width:1400px;
    margin:0 auto 30px;
    padding:0 18px;
}


/* =========================================================
   WATCH STAGE
   Main video + 6 random choices
========================================================= */

.watch-stage{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(360px,1fr);
    gap:12px;
    align-items:stretch;
}


/* ---------------------------------------------------------
   SIDE VIDEOS
--------------------------------------------------------- */

.watch-side-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(3,1fr);
    gap:8px;
    min-width:0;
}

.watch-side-card{
    min-width:0;
    min-height:0;
}

.watch-side-card .thumb-link{
    display:block;
    width:100%;
    height:100%;
}

.watch-side-card .thumb-wrapper{
    width:100%;
    height:100%;
    aspect-ratio:auto;
}

.watch-side-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.watch-side-card:hover .thumb-title{
    opacity:1;
}

.video-player{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:16/9;

    background-color:#000;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;

    overflow:hidden;
    text-decoration:none;
}

.player-overlay{
    position:absolute;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(0,0,0,.12);
}

.play-button{
    display:flex;
    align-items:center;
    justify-content:center;

    width:82px;
    height:82px;

    background:rgba(3,8,18,.82);

    border:2px solid rgba(255,255,255,.85);
    border-radius:50%;

    color:#fff;
    font-size:34px;

    padding-left:6px;

    box-shadow:
        0 0 12px var(--glow),
        0 0 28px var(--glow-soft);
}

.video-player:hover .play-button{
    box-shadow:
        0 0 16px var(--glow-strong),
        0 0 36px var(--glow);
}

.duration-badge{
    position:absolute;
    z-index:2;

    top:8px;
    right:8px;

    padding:4px 7px;

    background:rgba(0,0,0,.82);
    color:#fff;

    font-size:11px;
    font-weight:bold;

    border-radius:2px;
}


/* VIDEO INFO */

.watch-info{
    padding:18px 0 0;
}

.watch-info h1{
    margin:0 0 12px;

    color:var(--text);

    font-size:24px;
    line-height:1.3;
    font-weight:600;
}


/* WATCH TAGS */

.watch-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    padding:4px 0 8px;
}

.watch-tags a{
    color:#b89a58;
    text-decoration:none;
    font-size:12px;
}

.watch-tags a:hover{
    color:#fff;
    text-shadow:0 0 6px var(--accent);
}


/* DISCOVER MORE */

.block h2{
    margin:0 0 16px;

    color:var(--text);

    font-size:20px;
    font-weight:600;
}

.video-item{
    min-width:0;
}

.video-item .thumb-link{
    display:block;
}

.video-item:hover img{
    transform:scale(1.035);
}

.video-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px 11px;

    padding:9px 1px 7px;
}

.video-tags a{
    color:#b89a58;
    font-size:11px;
    text-decoration:none;
}

.video-tags a:hover{
    color:#fff;
}


/* MOBILE WATCH */

@media(max-width:700px){

    .block{
        padding:12px 10px;
    }

    .watch-container{
        padding:0 10px;
    }

    .watch-info h1{
        font-size:19px;
    }

    .play-button{
        width:62px;
        height:62px;
        font-size:27px;
    }

    .watch-stage{
        grid-template-columns:1fr;
    }

    .watch-side-grid{
        grid-template-columns:repeat(2,1fr);
        grid-template-rows:auto;
        gap:8px;
    }

    .watch-side-card .thumb-wrapper{
        height:auto;
        aspect-ratio:16/9;
    }

}

/* =========================================================
   PORNSTARS
========================================================= */

.pornstar-az{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;

    padding:8px 0 24px;
}

.pornstar-az a{
    min-width:28px;
    padding:6px 5px;

    color:#ad9155;
    text-align:center;
    text-decoration:none;

    font-size:12px;
}

.pornstar-az a:hover{
    color:#fff;
    text-shadow:0 0 6px var(--accent);
}

.pornstar-az a.active{
    color:#fff;
    background:var(--accent);
}

.pornstar-name{
    justify-content:center;
    padding-top:8px;
}

.pornstar-name a{
    color:#ccb983;
    font-size:12px;
    letter-spacing:.4px;
}

/* ==========================================================
   ALL TAGS — KLEP OPEN
========================================================== */

.tags-all {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 9px 15px;

    width: 100%;
    padding: 12px 0 30px;
}

.tags-all a {
    display: inline-block;

    /* Complete tag blijft altijd bij elkaar */
    white-space: nowrap;

    color: #ad9155;
    text-decoration: none;
    line-height: 1.25;
}

.tags-all a:hover {
    color: #fff;
    text-shadow: 0 0 6px var(--accent);
}

.tags-all .tag-size-1 {
    font-size: 12px;
}

.tags-all .tag-size-2 {
    font-size: 15px;
}

.tags-all .tag-size-3 {
    font-size: 18px;
}

.tags-all .tag-size-4 {
    font-size: 22px;
}


/* ==========================================================
   FAPPORNSTARS — CROWN JEWEL DETAILS
   ========================================================== */

/* Main navigation: restrained gold, brighter on hover */
.xf-menu a{
    color:#d9c58c;
}

.xf-menu a:hover{
    color:#fff3b0;
    text-shadow:
        0 0 5px rgba(255,245,200,.55),
        0 0 10px rgba(240,201,106,.48);
}

/* Existing .live item gets the star-treatment */
.xf-menu .live{
    color:#ffd76a;
    text-shadow:
        0 0 6px rgba(255,215,106,.55),
        0 0 14px rgba(214,168,63,.32);
}

/* Hall of Fame can use class="hall-of-fame" on its menu link */
.xf-menu a.hall-of-fame{
    color:#fff0a0;
    font-weight:700;
    text-shadow:
        0 0 5px rgba(255,245,200,.55),
        0 0 12px rgba(240,201,106,.55),
        0 0 20px rgba(214,168,63,.30);
}

.xf-menu a.hall-of-fame:hover{
    color:#fff8d4;
    text-shadow:
        0 0 5px #fff4c4,
        0 0 12px rgba(255,220,110,.85),
        0 0 24px rgba(214,168,63,.52);
}

/* Pagination: active page becomes a small gold plaque */
.xf-pagination span{
    background:
        linear-gradient(
            180deg,
            #e4b84f 0%,
            #a8751e 100%
        );

    border-color:#f0c96a;
    color:#090b12;

    box-shadow:
        inset 0 1px 0 rgba(255,248,210,.40),
        0 0 8px rgba(214,168,63,.25);
}

/* Search button gets a touch more jewellery */
.xf-search button{
    color:#e4c86f;
    text-shadow:
        0 0 7px rgba(214,168,63,.32);
}

.xf-search button:hover{
    color:#fff2ad;
    text-shadow:
        0 0 6px rgba(255,245,205,.60),
        0 0 13px rgba(240,201,106,.48);
}

/* Tag cloud remains readable, but gold on interaction */
.tagcloud a:hover,
.tags-all a:hover,
.watch-tags a:hover,
.video-tags a:hover,
.pornstar-az a:hover{
    color:#fff5c7;
    text-shadow:
        0 0 5px rgba(255,245,205,.45),
        0 0 10px rgba(214,168,63,.42);
}

/* Performer names get slightly richer gold */
.pornstar-name a{
    color:#d8c286;
}

.pornstar-name a:hover{
    color:#fff2ad;
    text-shadow:
        0 0 7px rgba(240,201,106,.45);
}

/* Footer X: richer gold signature */
.footer-x{
    color:#ffd76a;

    text-shadow:
        0 0 5px rgba(255,245,200,.55),
        0 0 12px rgba(240,201,106,.68),
        0 0 22px rgba(214,168,63,.34);
}

/* Optional reusable crown panel for Hall of Fame headings */
.crown-title{
    color:#fff1a8;
    text-align:center;
    letter-spacing:1px;

    text-shadow:
        0 1px 0 #765014,
        0 0 5px rgba(255,245,200,.65),
        0 0 12px rgba(240,201,106,.62),
        0 0 24px rgba(214,168,63,.36);
}

/* Gold divider — subtle, not a Christmas tree */
.gold-divider{
    height:1px;
    border:0;
    margin:20px auto;
    max-width:900px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(214,168,63,.25),
            rgba(255,220,110,.78),
            rgba(214,168,63,.25),
            transparent
        );

    box-shadow:
        0 0 8px rgba(214,168,63,.18);
}
