/* ============================= */
/* RESET / BASE */
/* ============================= */

*,
*::before,
*::after{
box-sizing:border-box;
}

body{
margin:0;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
background:#f7f8fa;
color:#222;
line-height:1.5;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
color:#2563eb;
}

a:hover{
text-decoration:none;
}


/* ============================= */
/* CONTAINER */
/* ============================= */

.container{
max-width:1400px;
margin:auto;
padding:20px;
}


/* ============================= */
/* HEADER */
/* ============================= */

.site-header{
background:white;
border-bottom:1px solid #e5e7eb;
}

.nav-container{
max-width:1400px;
margin:auto;
padding:15px 20px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
row-gap:12px;
}

.logo a{
font-size:20px;
font-weight:700;
color:#111;
display:inline-flex;
align-items:center;
white-space:nowrap;
}

.site-logo-img{
max-height:36px;
width:auto;
display:block;
}

/* HEADER MENU */

.main-nav{
display:flex;
gap:12px;
flex-wrap:wrap;
}

.main-nav a{
display:inline-flex;
align-items:center;
gap:7px;
min-height:36px;
padding:0 12px;
border:1px solid #e5e7eb;
background:#fff;
border-radius:8px;
font-size:14px;
color:#444;
transition:0.15s;
}

.main-nav a:hover{
background:#2563eb;
border-color:#2563eb;
color:#fff;
}

/* ============================= */
/* NAV ACTIVE */
/* ============================= */

.main-nav a.nav-active,
.main-nav a.nav-link.is-active{
background:linear-gradient(135deg, rgba(37,99,235,0.14), rgba(37,99,235,0.08));
color:#1d4ed8;
border-color:#93c5fd;
border-radius:8px;
padding:0 12px;
font-weight:600;
box-shadow:inset 0 -2px 0 #2563eb;
}

.nav-item-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:16px;
height:16px;
opacity:1;
color:inherit;
flex-shrink:0;
}

.icon,
.ui-icon{
display:inline-block;
width:1em;
height:1em;
vertical-align:-0.125em;
flex-shrink:0;
}

.icon-sm{width:0.875em;height:0.875em;}
.icon-md{width:1em;height:1em;}
.icon-lg{width:1.25em;height:1.25em;}

.footer-heading-icon,
.menu-icon,
.theme-toggle-svg{
color:inherit;
}

.header-tools{
display:flex;
align-items:center;
gap:10px;
margin-left:auto;
min-width:0;
}


/* ============================= */
/* SEARCH */
/* ============================= */

.site-search{
display:flex;
align-items:center;
justify-content:flex-end;
min-width:0;
flex:1 1 auto;
}

.theme-toggle{
height:36px;
min-width:36px;
padding:0 10px;
border:1px solid #e5e7eb;
border-radius:8px;
background:#ffffff;
color:#333;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
font-size:16px;
flex-shrink:0;
transition:background .15s ease, border-color .15s ease, color .15s ease;
}

.theme-toggle:hover{
background:#f3f4f6;
}

.search-group{
display:flex;
align-items:stretch;
max-width:320px;
width:100%;
}

.search-group input{

height:36px;
padding:0 12px;

border:1px solid #e5e7eb;
border-right:none;

border-radius:8px 0 0 8px;

background:white;

font-size:14px;
width:220px;

}

.search-group input:focus{
outline:none;
border-color:#2563eb;
}

.search-btn{

height:36px;
padding:0 14px;

border:1px solid #e5e7eb;
border-left:none;

background:#f9fafb;

border-radius:0 8px 8px 0;

cursor:pointer;

font-size:14px;

display:flex;
align-items:center;
justify-content:center;

transition:background .15s ease;

}

.search-icon{
width:16px;
height:16px;
}

.search-btn:hover{
background:#f3f4f6;
}




/* ============================= */
/* BREADCRUMBS */
/* ============================= */

.breadcrumbs{
font-size:13px;
color:#666;
margin-bottom:15px;
}

.breadcrumbs a{
color:#666;
}

.breadcrumbs span[aria-current="page"]{
color:#111827;
font-weight:500;
}

.breadcrumb-separator{
color:#9ca3af;
display:inline-flex;
align-items:center;
margin:0 4px;
}


/* ============================= */
/* GLOBAL BUTTONS */
/* ============================= */

.btn-primary,
.btn-secondary{
display:inline-block;
padding:10px 18px;
border-radius:8px;
font-size:14px;
font-weight:500;
text-align:center;
transition:0.15s;
}

.btn-primary{
background:#2563eb;
color:white;
}

.btn-primary:hover{
background:#1d4ed8;
}

.btn-secondary{
background:#f3f4f6;
color:#333;
border:1px solid #e5e7eb;
}

.btn-secondary:hover{
background:#e5e7eb;
}


/* ============================= */
/* SECTION HEADERS */
/* ============================= */

.home-main h2{

margin-bottom:15px;
font-size:20px;
font-weight:600;
border-bottom:1px solid #e5e7eb;
padding-bottom:6px;
}


/* ============================= */
/* STICKY HEADER */
/* ============================= */

.site-header{
position:sticky;
top:0;
z-index:100;
background:white;
}


/* ============================= */
/* VIDEO GRID RESPONSIVE */
/* ============================= */

.video-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:18px;
}

/* tablet */

@media (max-width:1100px){

.video-grid{
grid-template-columns:repeat(3,1fr);
}

}

/* small tablet */

@media (max-width:800px){

.video-grid{
grid-template-columns:repeat(2,1fr);
}

}

/* mobile */

@media (max-width:500px){

.video-grid{
grid-template-columns:repeat(2,1fr);
gap:12px;
}

}

/* ============================= */
/* VIDEO GRID SPACING */
/* ============================= */

.video-grid,
.video-grid-4{
margin-top:15px;
}


/* ============================= */
/* VIDEO CARD */
/* ============================= */

.video-card{
background:white;
border:1px solid #e5e7eb;
border-radius:10px;
overflow:hidden;
position:relative;
transition:transform .12s ease, box-shadow .12s ease;
}

.video-card:hover{
transform:translateY(-2px);
box-shadow:0 3px 8px rgba(0,0,0,0.06);
}

.video-thumb{
position:relative;
aspect-ratio:16/9;
overflow:hidden;
}

.video-thumb img{
width:100%;
height:100%;
object-fit:cover;
}

.video-duration{
position:absolute;
bottom:6px;
right:6px;
background:rgba(0,0,0,0.72);
color:white;
font-size:12px;
padding:3px 6px;
border-radius:4px;
display:inline-flex;
align-items:center;
gap:4px;
}

.video-trending{
position:absolute;
top:8px;
left:8px;
background:#ef4444;
color:white;
font-size:12px;
padding:3px 6px;
border-radius:4px;
display:inline-flex;
align-items:center;
gap:4px;
}

.video-info{
padding:10px 12px;
}

.video-title{
font-size:14px;
font-weight:500;
color:#111;
line-height:1.3;
margin-bottom:4px;

display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

.video-card-favorite-indicator{
display:inline-block;
margin-right:6px;
color:#f59e0b;
font-size:12px;
vertical-align:1px;
}

.video-card-favorite-indicator[hidden]{
display:none !important;
}

.video-studio{
font-size:12px;
color:#666;
}

.video-studio a{
color:#64748b;
text-decoration:none;
}

.video-studio a:hover{
color:#2563eb;
}

.favorite-card{
position:relative;
}

.favorite-card-remove{
position:absolute;
top:8px;
right:8px;
z-index:3;
width:34px;
height:34px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid rgba(15,23,42,0.18);
border-radius:999px;
background:rgba(15,23,42,0.78);
color:#fff;
font-size:22px;
line-height:1;
font-weight:700;
cursor:pointer;
box-shadow:0 4px 12px rgba(0,0,0,0.18);
}

.favorite-card-remove:hover,
.favorite-card-remove:focus-visible{
background:#dc2626;
border-color:#dc2626;
outline:none;
}


/* ============================= */
/* VIDEO CARD OVERLAY */
/* ============================= */

.video-thumb{
position:relative;
aspect-ratio:16/9;
overflow:hidden;
}

.video-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.0);
display:flex;
align-items:flex-end;
padding:6px;
transition:background .2s ease;
}

.video-card:hover .video-overlay{
background:rgba(0,0,0,0.25);
}

.video-stats{
display:flex;
justify-content:space-between;
gap:6px;
flex-wrap:wrap;
width:100%;
font-size:12px;
color:white;
}

.video-duration{
background:rgba(0,0,0,0.72);
padding:2px 6px;
border-radius:4px;
display:inline-flex;
align-items:center;
gap:4px;
}

.video-views{
background:rgba(0,0,0,0.72);
padding:2px 6px;
border-radius:4px;
display:inline-flex;
align-items:center;
gap:4px;
}

.video-likes{
background:rgba(0,0,0,0.72);
padding:2px 6px;
border-radius:4px;
display:inline-flex;
align-items:center;
gap:4px;
}

.public-empty-state{
background:#fff;
border:1px solid #e5e7eb;
border-radius:10px;
padding:22px;
display:grid;
gap:6px;
color:#64748b;
margin:15px 0;
}

.public-empty-state strong{
color:#111827;
font-size:16px;
}


/* ============================= */
/* VIDEO HOVER EFFECT */
/* ============================= */



.video-thumb img{
filter: contrast(1.05) brightness(1.03);
transition: transform .2s ease, filter .2s ease;
}

.video-card:hover img{
filter: contrast(1.1) brightness(1.05);
}

.video-thumb::after{
content:'';
position:absolute;
bottom:0;
left:0;
right:0;
height:40%;
background:linear-gradient(to top, rgba(0,0,0,0.5), transparent);
}


/* ============================= */
/* CARD */
/* ============================= */

.card{
background:white;
border:1px solid #e5e7eb;
border-radius:12px;
padding:20px;
padding-top: 5px;
padding-bottom: 5px;
margin-bottom:20px;
}


/* ============================= */
/* ENTITY BLOCKS */
/* ============================= */

.entity-card{
background:white;
border:1px solid #e5e7eb;
border-radius:12px;
padding:18px;
margin-top:20px;
display:flex;
align-items:flex-start;
gap:12px;
flex-wrap:wrap;
}

.entity-card strong{
display:inline-block;
margin-bottom:0;
font-size:13px;
letter-spacing:0.5px;
text-transform:uppercase;
color:#555;
padding-top:6px;
}

.entity-links{
display:flex;
flex-wrap:wrap;
gap:8px;
flex:1 1 0;
min-width:0;
}

.entity-links a{
padding:6px 12px;
background:#f3f4f6;
border:1px solid #e5e7eb;
border-radius:20px;
font-size:13px;
color:#333;
transition:0.15s;
}

.entity-links a:hover{
background:#2563eb;
border-color:#2563eb;
color:#fff;
}

.entity-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:25px;
}


/* ============================= */
/* ENTITY BLOCKS (STUDIO/TAG/MODEL PAGES) */
/* ============================= */

.card h3{
margin-top:0;
margin-bottom:10px;
font-size:15px;
font-weight:600;
}

.card{
padding:16px 18px;
margin-top:14px;
}




/* ============================= */
/* ENTITY GRID */
/* ============================= */

.entity-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:12px;
margin-top:20px;
}

.entity-btn{
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:10px 12px;
background:#f3f4f6;
border:1px solid #e5e7eb;
border-radius:8px;
font-size:14px;
color:#333;
display:flex;
align-items:center;
gap:6px;
}

.entity-btn:hover{
background:#e5e7eb;
}

.studio-grid-card{
flex-direction:column;
justify-content:flex-start;
gap:8px;
padding:8px;
}

.studio-grid-thumb{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
border-radius:10px;
border:1px solid #e5e7eb;
background:#f8fafc;
}

.studio-grid-thumb-fallback{
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
position:relative;
overflow:hidden;
}

.studio-grid-thumb-fallback::before{
content:'';
width:38%;
height:38%;
border-radius:12px;
border:1px solid rgba(100, 116, 139, 0.22);
background:rgba(255,255,255,0.55);
box-shadow:0 8px 24px rgba(148, 163, 184, 0.18);
}

.studio-grid-name{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
width:100%;
line-height:1.3;
}

.studio-link-inline{
display:inline-flex;
align-items:center;
gap:8px;
}

.studio-favicon-wrap{
display:inline-flex;
align-items:center;
justify-content:center;
width:16px;
height:16px;
flex-shrink:0;
}

.studio-link-favicon{
width:16px;
height:16px;
flex-shrink:0;
border-radius:4px;
vertical-align:middle;
}

.studio-favicon-fallback{
display:inline-flex;
align-items:center;
justify-content:center;
width:16px;
height:16px;
border-radius:5px;
background:var(--studio-favicon-color, #64748b);
color:#fff;
font-size:10px;
font-weight:700;
line-height:1;
text-transform:uppercase;
}

/* ============================= */
/* ALPHABET TITLE */
/* ============================= */

.alphabet-title{
grid-column:1/-1;
margin-top:25px;
margin-bottom:10px;
font-size:20px;
font-weight:600;
border-bottom:1px solid #e5e7eb;
padding-bottom:5px;
}

/* ============================= */
/* ENTITY GRID RESPONSIVE */
/* ============================= */

@media (max-width:1100px){

.entity-grid{
grid-template-columns:repeat(4,1fr);
}

}

@media (max-width:800px){

.entity-grid{
grid-template-columns:repeat(3,1fr);
}

}

@media (max-width:500px){

.entity-grid{
grid-template-columns:repeat(2,1fr);
}

}


/* ============================= */
/* VIDEO PAGE LAYOUT */
/* ============================= */

.video-layout{
display:grid;
grid-template-columns: minmax(0,1fr) 300px;
gap:30px;
align-items:start;
}

.main-content{
min-width:0;
}

.sidebar{
position:sticky;
top:20px;
align-self:start;
}


/* ============================= */
/* VIDEO PAGE TITLE */
/* ============================= */

.main-content h1,
.main-content h2{
border-bottom:1px solid #e5e7eb;
padding-bottom:8px;
margin-bottom:10px;
}

/* ============================= */
/* VIDEO TITLE */
/* ============================= */

.video-page h1{
font-size:22px;
margin-top:4px;
margin-bottom:11px;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

.video-page-title{
margin-top:16px;
}


/* ============================= */
/* VIDEO PLAYER */
/* ============================= */

.video-wrapper{
position:relative;
aspect-ratio:16/9;
overflow:hidden;
background:black;
border-radius:12px;
}

.video-wrapper video{
width:100%;
height:100%;
object-fit:cover;
}

.video-play-overlay{
position:absolute;
left:50%;
top:50%;
transform:translate(-50%, -50%);
width:78px;
height:78px;
border:none;
border-radius:999px;
background:rgba(17, 24, 39, 0.78);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
z-index:2;
box-shadow:0 8px 24px rgba(0,0,0,0.25);
transition:transform .15s ease, background .15s ease, opacity .15s ease;
}

.video-play-overlay:hover{
transform:translate(-50%, -50%) scale(1.04);
background:rgba(37, 99, 235, 0.88);
}

.video-play-overlay[hidden]{
display:none;
}

.video-play-overlay-icon{
font-size:30px;
line-height:1;
margin-left:4px;
}

.video-player-fallback{
position:absolute;
left:16px;
right:16px;
bottom:16px;
z-index:3;
padding:16px;
background:rgba(15, 23, 42, 0.92);
border:1px solid rgba(255,255,255,0.16);
border-radius:8px;
color:#fff;
box-shadow:0 12px 32px rgba(0,0,0,0.28);
}

.video-player-fallback[hidden]{
display:none;
}

.video-player-fallback-title{
font-size:16px;
font-weight:700;
line-height:1.35;
margin-bottom:4px;
}

.video-player-fallback-text{
font-size:14px;
line-height:1.45;
color:#d1d5db;
margin-bottom:12px;
}

.video-player-fallback-actions{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
}

.video-player-retry-button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:42px;
padding:10px 14px;
border:1px solid rgba(255,255,255,0.28);
border-radius:6px;
background:rgba(255,255,255,0.08);
color:#fff;
font-weight:700;
cursor:pointer;
}

.video-player-retry-button:hover{
background:rgba(255,255,255,0.16);
}

.video-player-fallback-link{
min-height:42px;
padding:10px 14px;
}


/* ============================= */
/* VIDEO META */
/* ============================= */

.video-meta-shell{
display:flex;
justify-content:center;
margin:20px 0;
width:100%;
}

.video-meta{
display:flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;
gap:10px 12px;
margin:0;
font-size:14px;
color:#777;
text-align:center;
}

.video-meta-item{
display:inline-flex;
align-items:center;
gap:6px;
line-height:1.2;
}

.video-meta-chips{
justify-content:center;
gap:10px;
padding:10px;
background:#fff;
border:1px solid #e5e7eb;
border-radius:14px;
width:100%;
box-sizing:border-box;
}

.video-meta-chip{
display:inline-flex;
align-items:center;
min-height:32px;
height:32px;
padding:0 12px;
background:#fff;
border:1px solid #e5e7eb;
border-radius:10px;
color:#334155;
}

.video-meta-chip-button{
display:inline-flex;
align-items:center;
padding:0;
overflow:visible;
box-shadow:inset 0 0 0 1px #e5e7eb;
border-color:transparent;
}

.action-chip{
box-shadow:none;
border-color:#e5e7eb;
}

.favorite-chip{
box-shadow:none;
border-color:#e5e7eb;
}

.video-meta-chip-button .video-meta-button{
background:transparent;
border:none;
border-radius:10px;
min-height:32px;
height:32px;
padding:0 11px;
color:#334155;
}

.video-share-button{
background:transparent;
border:none;
color:#334155;
font-size:13px;
cursor:pointer;
}

.continue-browsing-group + .continue-browsing-group{
margin-top:16px;
}

.continue-browsing-group strong{
display:block;
margin-bottom:10px;
font-size:13px;
letter-spacing:.04em;
text-transform:uppercase;
color:#555;
}

.continue-browsing-actions{
margin-top:16px;
display:flex;
flex-wrap:wrap;
gap:10px;
}


/* ============================= */
/* VIDEO CTA */
/* ============================= */

.cta-wrapper{
margin-top:14px;
}

.cta-studio-inline{
display:inline-flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
justify-content:center;
}

.video-cta-row{
margin-top:14px;
display:flex;
justify-content:center;
}

.video-cta-link{
display:inline-flex;
align-items:center;
justify-content:center;
padding:12px 20px;
background:#2563eb;
border:1px solid #2563eb;
border-radius:999px;
font-size:15px;
font-weight:600;
color:#fff;
}

.video-cta-link:hover{
background:#1d4ed8;
border-color:#1d4ed8;
color:#fff;
}

.trending-badge{
color:#ef4444;
font-weight:600;
margin-bottom:10px;
}


/* ============================= */
/* SIDEBAR */
/* ============================= */

.sidebar h3{
font-size:14px;
font-weight:600;
margin-top:0;
margin-bottom:10px;
color:#444;
border-bottom:1px solid #eee;
padding-bottom:6px;
}

.sidebar-heading-with-icon{
display:flex;
align-items:center;
gap:8px;
}

.sidebar-heading-icon{
width:15px;
height:15px;
}


/* ============================= */
/* LIKE BUTTON */
/* ============================= */

.like-btn{
background:#ff2f6d;
border:none;
color:#fff;
font-size:13px;
padding:5px 12px;
border-radius:6px;
cursor:pointer;
margin-right:0;
}

.video-meta-chip .favorite-toggle{
background:transparent;
border:none;
color:#334155;
font-size:13px;
padding:0 11px;
height:32px;
border-radius:10px;
cursor:pointer;
transition:background .15s ease, border-color .15s ease, color .15s ease;
}

body.dark-mode .video-meta-chip .favorite-toggle{
background:transparent;
color:#e5e7eb;
}

.video-meta-chip .favorite-toggle:hover,
.video-meta-chip .favorite-toggle:focus-visible{
background:#f3f4f6;
color:#1f2937;
}

.favorite-toggle.is-favorite{
background:#fef3c7;
color:#92400e;
}

.video-meta-button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:5px;
min-height:32px;
line-height:1;
box-sizing:border-box;
}

.video-share-button:hover,
.video-share-button:focus-visible{
background:#f3f4f6;
border-radius:10px;
color:#1f2937;
}

.meta-icon{
width:14px;
height:14px;
}

.page-actions{
display:flex;
align-items:center;
justify-content:flex-start;
flex-wrap:wrap;
gap:10px;
margin-top:10px;
}

.page-action-button{
padding:8px 14px;
}

.page-action-feedback{
display:none;
font-size:13px;
color:#2e7d32;
white-space:nowrap;
}

.like-hearts,
.share-wrap{
position:relative;
display:inline-flex;
align-items:center;
}

.like-hearts .like-btn,
.share-wrap .like-btn{
margin-right:0;
}

.share-feedback{
display:none;
position:absolute;
left:50%;
top:calc(100% + 8px);
transform:translateX(-50%);
margin-left:0;
font-size:13px;
color:#2e7d32;
white-space:nowrap;
z-index:2;
background:#fff;
border:1px solid #e5e7eb;
border-radius:999px;
padding:6px 10px;
}

.like-btn:hover{
background:#ff4c85;
}

.like-btn:disabled{
background:#aaa;
cursor:default;
}

#like-count{
display:inline-block;
transition:transform 0.25s ease;
}

#like-count.like-pop{
transform:scale(1.4);
}

.like-hearts{
position:relative;
}

.floating-heart{
position:absolute;
font-size:16px;
animation:floatHeart 1s ease forwards;
pointer-events:none;
}

@keyframes floatHeart{
0%{
opacity:1;
transform:translateY(0) scale(1);
}
100%{
opacity:0;
transform:translateY(-60px) scale(1.6);
}
}


/* ============================= */
/* FOOTER */
/* ============================= */

.site-footer{
margin-top:60px;
background:#f9fafb;
border-top:1px solid #e5e7eb;
}

.footer-container{
max-width:1400px;
margin:auto;
padding:35px 20px;

display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
}

.footer-column h3{
font-size:14px;
margin-bottom:12px;
color:#333;
}

.footer-column a{
display:block;
font-size:13px;
color:#666;
margin-bottom:6px;
}

.footer-column a:hover{
color:#111;
}

.footer-text{
font-size:13px;
color:#777;
line-height:1.5;
}

.footer-bottom{
border-top:1px solid #e5e7eb;
text-align:center;
padding:15px;
font-size:12px;
color:#777;
}


/* ============================= */
/* SEO FOOTER */
/* ============================= */

.footer-seo{
max-width:1400px;
margin:auto;
padding:30px 20px;

display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;

border-bottom:1px solid #e5e7eb;
}

.footer-seo-column h4{
font-size:13px;
margin-bottom:10px;
color:#333;
display:flex;
align-items:center;
gap:6px;
}

.footer-seo-column a{
display:inline-block;
font-size:12px;
color:#666;
margin:4px 6px 4px 0;
}

/* ============================= */
/* LEGAL FOOTER */
/* ============================= */

.site-footer{
margin-top:60px;
background:#f9fafb;
border-top:1px solid #e5e7eb;
}

.footer-container{
max-width:1400px;
margin:auto;
padding:35px 20px;

display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
}

.footer-column h3{
font-size:14px;
margin-bottom:12px;
}

.footer-column a{
display:block;
font-size:13px;
color:#666;
margin-bottom:6px;
}

.footer-text{
font-size:13px;
color:#777;
}

.footer-bottom{
text-align:center;
padding:20px;
border-top:1px solid #e5e7eb;
font-size:12px;
color:#777;
}


/* ============================= */
/* FOOTER ENTITY BUTTONS */
/* ============================= */

.footer-seo .entity-links{
display:flex;
flex-wrap:wrap;
gap:6px;
}

.footer-seo .entity-links a{
padding:5px 10px;
font-size:12px;
background:#f3f4f6;
border:1px solid #e5e7eb;
border-radius:16px;
color:#333;
}

.footer-seo .entity-links a:hover{
background:#e5e7eb;
}


/* ============================= */
/* PREMIUM FOOTER EFFECT */
/* ============================= */

.site-footer{
margin-top:70px;
background:#fafafa;
border-top:1px solid #e5e7eb;
box-shadow:0 -4px 20px rgba(0,0,0,0.03);
}

.footer-seo{
background:#f7f8fa;
padding:35px 20px;
border-bottom:1px solid #e5e7eb;
}


.footer-column a,
.footer-seo a{
transition:all .15s ease;
}

.footer-column a:hover{
color:#111;
transform:translateX(2px);
}

.footer-seo .entity-links a{
transition:all .15s ease;
}

.footer-seo .entity-links a:hover{
background:#e5e7eb;
transform:translateY(-1px);
}



/* ============================= */
/* HOME PAGE */
/* ============================= */

.home-layout{
display:grid;
grid-template-columns:minmax(0,1fr) 300px;
gap:25px;
max-width:1400px;
margin:auto;
align-items:start;
}

.video-grid-4{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:15px;
}

.home-main h2{

margin-bottom:15px;
font-size:20px;
}

/* ============================= */
/* SIDEBAR CARDS */
/* ============================= */

.sidebar .card{
padding:16px;
}

.recently-viewed-card[hidden]{
display:none;
}

.recently-viewed-list{
display:flex;
flex-direction:column;
gap:10px;
}

.recently-viewed-item{
display:flex;
align-items:center;
gap:12px;
color:inherit;
}

.recently-viewed-thumb{
width:92px;
height:52px;
flex:0 0 92px;
aspect-ratio:16/9;
object-fit:cover;
display:block;
flex-shrink:0;
border-radius:8px;
border:1px solid #e5e7eb;
background:#e5e7eb;
}

.recently-viewed-meta{
display:flex;
flex-direction:column;
gap:3px;
min-width:0;
}

.recently-viewed-title{
font-size:13px;
font-weight:600;
color:#111;
line-height:1.3;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

.recently-viewed-studio,
.recently-viewed-duration{
font-size:12px;
color:#666;
line-height:1.3;
}

.custom-sidebar-body{
font-size:13px;
color:#555;
line-height:1.6;
white-space:normal;
}

.custom-sidebar-html{
font-size:13px;
color:#555;
line-height:1.6;
}

.custom-sidebar-html p,
.custom-sidebar-html ul,
.custom-sidebar-html ol{
margin:0 0 10px;
}

.custom-sidebar-html ul,
.custom-sidebar-html ol{
padding-left:18px;
}

.custom-sidebar-html a{
color:#2563eb;
text-decoration:none;
}

.custom-sidebar-html a:hover{
text-decoration:underline;
}

.custom-sidebar-link-wrap{
margin-top:14px;
}

.custom-sidebar-link{
padding:8px 14px;
}


/* ============================= */
/* SIDEBAR CARD HOVER */
/* ============================= */

.sidebar .card{
transition:box-shadow .15s ease;
}

.sidebar .card:hover{
box-shadow:0 4px 12px rgba(0,0,0,0.08);
}


/* ============================= */
/* AD ZONES */
/* ============================= */

.ad-zone,
.ad-slot{
max-width:100%;
overflow:visible;
}

.content-ad-slot,
.inline-ad-slot,
.ad-slot-main,
.ad-zone-before-footer{
margin:24px 0 20px;
padding:10px 12px;
background:#ffffff;
border:1px solid #e5e7eb;
border-radius:10px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
max-width:100%;
overflow:visible;
}

.ad-slot-loading{
min-height:0;
}

.ad-slot-empty{
display:none !important;
height:0 !important;
min-height:0 !important;
max-height:0 !important;
margin:0 !important;
padding:0 !important;
border:0 !important;
pointer-events:none !important;
overflow:hidden !important;
}

.ad-slot-filled{
pointer-events:auto;
}

.sidebar-ad-slot,
.ad-slot-sidebar,
.ad-zone-sidebar{
width:100%;
height:auto;
min-height:0;
max-height:none;
margin:0 0 18px;
padding:8px;
display:block;
text-align:center;
overflow:visible;
}

.sidebar .ad-zone-sidebar{
margin-top:0;
}

.ad-zone > *:first-child{
margin-top:0;
}

.ad-zone > *:last-child{
margin-bottom:0;
}

.ad-zone iframe,
.ad-zone img,
.ad-zone script + *{
max-width:100%;
}

.ad-zone img,
.ad-zone iframe{
height:auto;
}

.sidebar-ad-slot iframe,
.sidebar-ad-slot img,
.ad-slot-sidebar iframe,
.ad-slot-sidebar img{
max-width:100%;
}

.ad-slot-main > *{
max-width:100%;
}

.ad-test-box{
border:1px dashed #999;
background:#f3f4f6;
color:#374151;
padding:16px;
text-align:center;
font-size:13px;
border-radius:8px;
width:100%;
}



/* ============================= */
/* PAGINATION */
/* ============================= */

.pagination{
display:flex;
justify-content:center;
gap:8px;
margin:40px 0;
flex-wrap:wrap;
}

.page-btn{
padding:8px 12px;
border:1px solid #e5e7eb;
border-radius:6px;
background:white;
font-size:14px;
color:#333;
min-width:42px;
text-align:center;
display:inline-flex;
align-items:center;
justify-content:center;
gap:4px;
}

.page-btn:hover{
background:#2563eb;
color:white;
border-color:#2563eb;
}

.page-current{
padding:8px 12px;
border-radius:6px;
background:#2563eb;
color:white;
font-weight:500;
min-width:42px;
text-align:center;
}

.page-summary{
padding:8px 10px;
font-size:13px;
color:#64748b;
}

/* ============================= */
/* PAGINATION DOTS */
/* ============================= */

.page-dots{
padding:8px 6px;
color:#888;
}


/* ============================= */
/* PAGE LAYOUT */
/* ============================= */

.page-layout{
display:grid;
grid-template-columns:1fr 300px;
gap:30px;
align-items:start;
}


/* ============================= */
/* VIDEOS HEADER */
/* ============================= */

.videos-header{
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
margin-bottom:5px;
gap:0px;
border-bottom:1px solid #e5e7eb;
padding-bottom:8px;
margin-bottom:5px;
}

.videos-header h1{
margin:0;
font-size:24px;
}

.studio-page-title{
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
}

.studio-page-title-main{
display:inline-flex;
align-items:center;
gap:8px;
min-width:0;
}




/* ============================= */
/* VIDEO SORT BUTTONS */
/* ============================= */

.video-sort{
display:flex;
gap:8px;
margin-bottom:14px;
flex-wrap:wrap;
}

.sort-btn{
padding:6px 10px;
border-radius:7px;
border:1px solid #e5e7eb;
background:#f3f4f6;
font-size:13px;
color:#333;
line-height:1;
}

.sort-btn:hover{
background:#2563eb;
border-color:#2563eb;
color:white;
}

.sort-btn.active{
background:#2563eb;
border-color:#2563eb;
color:white;
}



/* ============================= */
/* AGE VERIFICATION */
/* ============================= */

#age-gate{
position:fixed;
inset:0;
background:rgba(0,0,0,0.85);
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
}

.age-box{
background:white;
padding:40px;
border-radius:12px;
text-align:center;
max-width:420px;
}

.age-box h2{
margin-top:0;
}

.age-buttons{
margin-top:20px;
display:flex;
gap:15px;
justify-content:center;
}

#age-enter{
background:#2563eb;
color:white;
border:none;
padding:10px 20px;
border-radius:8px;
cursor:pointer;
}

.age-leave{
padding:10px 20px;
background:#eee;
border-radius:8px;
}




/* ============================= */
/* COOKIE CONSENT */
/* ============================= */

#cookie-consent{
position:fixed;
bottom:20px;
left:50%;
transform:translateX(-50%);
background:#ffffff;
border:1px solid #e5e7eb;
border-radius:10px;
box-shadow:0 6px 20px rgba(0,0,0,0.15);
padding:14px 18px;
max-width:520px;
width:90%;
z-index:9998;
}

.cookie-inner{
display:flex;
gap:15px;
align-items:center;
justify-content:space-between;
font-size:14px;
}

.cookie-inner a{
color:#2563eb;
}

#cookie-accept{
background:#2563eb;
color:white;
border:none;
padding:8px 16px;
border-radius:8px;
cursor:pointer;
}

#cookie-accept:hover{
background:#1d4ed8;
}



/* ============================= */
/* CONTACT FORM */
/* ============================= */

.contact-form{
display:flex;
flex-direction:column;
gap:12px;
margin-top:15px;
}

.contact-form-card{
max-width:640px;
width:60%;
margin:20px auto 0;
}

@media (max-width: 768px){
.contact-form-card{
width:100%;
margin-top:16px;
}

.favorite-card-remove{
width:38px;
height:38px;
font-size:24px;
}
}

.contact-form input,
.contact-form textarea{
padding:10px;
border:1px solid #e5e7eb;
border-radius:8px;
font-size:14px;
}

.contact-form textarea{
resize:vertical;
}

.contact-form button{
align-self:flex-start;
}

.contact-success{
background:#ecfdf5;
border:1px solid #10b981;
}

.contact-error{
background:#fef2f2;
border:1px solid #ef4444;
}

.contact-honeypot{
position:absolute;
left:-9999px;
width:1px;
height:1px;
overflow:hidden;
}


/* ============================= */
/* RESULT COUNTER */
/* ============================= */

.result-count{
color:#666;
font-size:14px;
margin-left:8px;
font-weight:normal;
}


/* ============================= */
/* BACK TO TOP BUTTON */
/* ============================= */

.back-to-top{

position:fixed;

right:25px;
bottom:25px;

width:42px;
height:42px;

border:none;
border-radius:10px;

background:#ffffff;
border:1px solid #e5e7eb;

font-size:18px;
font-weight:600;

cursor:pointer;

display:none;

align-items:center;
justify-content:center;

box-shadow:0 3px 8px rgba(0,0,0,0.08);

transition:all .2s ease;

}

.back-to-top:hover{

background:#f3f4f6;

transform:translateY(-2px);

}


/* ============================= */
/* DARK MODE */
/* ============================= */

body.dark-mode{
background:#0f172a;
color:#e5e7eb;
}

body.dark-mode a{
color:#93c5fd;
}

body.dark-mode .site-header{
background:#111827;
border-bottom-color:#263244;
}

body.dark-mode .logo a,
body.dark-mode .videos-header h1,
body.dark-mode .video-title,
body.dark-mode .footer-column h3,
body.dark-mode .footer-seo-column h4,
body.dark-mode .main-content h1,
body.dark-mode .main-content h2,
body.dark-mode .card h3{
color:#f8fafc;
}

body.dark-mode .main-nav a{
color:#d1d5db;
background:#0f172a;
border-color:#334155;
}

body.dark-mode .main-nav a:hover{
background:#2563eb;
border-color:#2563eb;
color:#fff;
}

body.dark-mode .main-nav a.nav-active,
body.dark-mode .main-nav a.nav-link.is-active{
background:rgba(37,99,235,0.22);
border-color:#60a5fa;
color:#eff6ff;
box-shadow:inset 0 -2px 0 #60a5fa;
font-weight:600;
}

body.dark-mode .menu-toggle{
color:#e5e7eb;
}

body.dark-mode .search-group input,
body.dark-mode .search-btn,
body.dark-mode .theme-toggle,
body.dark-mode .page-btn,
body.dark-mode .sort-btn,
body.dark-mode .btn-secondary,
body.dark-mode .favorite-toggle,
body.dark-mode .entity-links a,
body.dark-mode .entity-btn,
body.dark-mode #cookie-consent,
body.dark-mode .back-to-top{
background:#111827;
border-color:#334155;
color:#e5e7eb;
}

body.dark-mode .search-group input::placeholder{
color:#94a3b8;
}

body.dark-mode .search-btn:hover,
body.dark-mode .theme-toggle:hover,
body.dark-mode .btn-secondary:hover,
body.dark-mode .favorite-toggle:hover,
body.dark-mode .video-share-button:hover,
body.dark-mode .video-share-button:focus-visible,
body.dark-mode .entity-btn:hover,
body.dark-mode .footer-seo .entity-links a:hover{
background:#1f2937;
}

body.dark-mode .nav-item-icon{
color:inherit;
opacity:1;
}

body.dark-mode .sidebar-heading-icon,
body.dark-mode .meta-icon,
body.dark-mode .search-icon{
color:inherit;
}

body.dark-mode .video-card,
body.dark-mode .card,
body.dark-mode .entity-card,
body.dark-mode .public-empty-state,
body.dark-mode .age-box,
body.dark-mode .ad-zone-before-footer{
background:#111827;
border-color:#334155;
color:#e5e7eb;
}

body.dark-mode .ad-test-box{
background:#111827;
border-color:#64748b;
color:#e5e7eb;
}

body.dark-mode .video-play-overlay{
background:rgba(15, 23, 42, 0.82);
}

body.dark-mode .video-play-overlay:hover{
background:rgba(59, 130, 246, 0.9);
}

body.dark-mode .recently-viewed-thumb{
border-color:#334155;
}

body.dark-mode .recently-viewed-title{
color:#f8fafc;
}

body.dark-mode .recently-viewed-studio,
body.dark-mode .recently-viewed-duration,
body.dark-mode .custom-sidebar-body,
body.dark-mode .custom-sidebar-html{
color:#94a3b8;
}

body.dark-mode .favorite-toggle.is-favorite{
background:#78350f;
border-color:#f59e0b;
color:#fde68a;
}

body.dark-mode .studio-grid-thumb{
border-color:#334155;
background:#0f172a;
}

body.dark-mode .studio-grid-thumb-fallback{
background:linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
}

body.dark-mode .studio-grid-thumb-fallback::before{
border-color:rgba(148, 163, 184, 0.22);
background:rgba(30, 41, 59, 0.55);
box-shadow:none;
}

body.dark-mode .video-studio,
body.dark-mode .video-studio a,
body.dark-mode .breadcrumbs,
body.dark-mode .breadcrumbs a,
body.dark-mode .breadcrumbs span[aria-current="page"],
body.dark-mode .video-meta,
body.dark-mode .video-meta-chip,
body.dark-mode .result-count,
body.dark-mode .footer-column a,
body.dark-mode .footer-text,
body.dark-mode .footer-bottom,
body.dark-mode .page-dots,
body.dark-mode .page-summary,
body.dark-mode .sidebar h3,
body.dark-mode .entity-card strong,
body.dark-mode .continue-browsing-group strong{
color:#94a3b8;
}

body.dark-mode .public-empty-state strong{
color:#e5e7eb;
}

body.dark-mode .video-card-favorite-indicator{
color:#fbbf24;
}

body.dark-mode .page-action-feedback{
color:#86efac;
}

body.dark-mode .video-meta-chip{
background:#111827;
border-color:#334155;
color:#cbd5e1;
}

body.dark-mode .video-meta-chips{
background:#0f172a;
border-color:#334155;
}

body.dark-mode .video-meta-chip-button .video-meta-button,
body.dark-mode .video-share-button{
color:#e5e7eb;
}

body.dark-mode .video-meta-chip-button{
box-shadow:inset 0 0 0 1px #334155;
border-color:transparent;
}

body.dark-mode .action-chip{
box-shadow:none;
border-color:#475569;
}

body.dark-mode .favorite-chip{
box-shadow:none;
border-color:#475569;
}

body.dark-mode .video-meta-chip .favorite-toggle:hover,
body.dark-mode .video-meta-chip .favorite-toggle:focus-visible{
background:#1f2937;
color:#f8fafc;
}

body.dark-mode .video-cta-link{
background:#2563eb;
border-color:#2563eb;
color:#fff;
}

body.dark-mode .video-cta-link:hover{
background:#3b82f6;
border-color:#3b82f6;
color:#fff;
}

body.dark-mode .share-feedback{
background:#111827;
border-color:#334155;
color:#86efac;
}

body.dark-mode .site-footer,
body.dark-mode .footer-seo{
background:#0b1220;
border-color:#263244;
box-shadow:none;
}

body.dark-mode .footer-bottom,
body.dark-mode .footer-seo,
body.dark-mode .videos-header,
body.dark-mode .home-main h2,
body.dark-mode .main-content h1,
body.dark-mode .main-content h2,
body.dark-mode .sidebar h3,
body.dark-mode .alphabet-title{
border-color:#263244;
}

body.dark-mode .footer-seo .entity-links a{
background:#111827;
border-color:#334155;
color:#e5e7eb;
}

body.dark-mode .page-btn:hover,
body.dark-mode .sort-btn:hover,
body.dark-mode .entity-links a:hover{
background:#2563eb;
border-color:#2563eb;
color:#fff;
}

body.dark-mode .contact-form input,
body.dark-mode .contact-form textarea{
background:#111827;
border-color:#334155;
color:#e5e7eb;
}

body.dark-mode .age-leave{
background:#1f2937;
color:#e5e7eb;
}

body.dark-mode .cookie-inner a{
color:#93c5fd;
}

body.dark-mode .back-to-top svg path{
stroke:#e5e7eb;
}



/* ============================= */
/* MOBILE */
/* ============================= */

@media (max-width:1100px){
.video-grid-4{
grid-template-columns:repeat(3,1fr);
}
}

@media (max-width:900px){

.video-layout{
grid-template-columns:1fr;
}

.home-layout{
grid-template-columns:1fr;
}

.page-layout{
grid-template-columns:1fr;
}

.sidebar{
position:static;
margin-top:25px;
}

}

@media (max-width:700px){

.video-grid,
.video-grid-4{
grid-template-columns:repeat(2,1fr);
}

}

/* ============================= */
/* MOBILE MENU */
/* ============================= */

.menu-toggle{

display:none;

background:none;
border:none;
color:#334155;

font-size:22px;

cursor:pointer;

}

/* desktop nav */

.main-nav{

display:flex;
gap:12px;

}

/* MOBILE */

@media (max-width:900px){

.nav-container{

flex-wrap:wrap;

}

.menu-toggle{

display:block;

}

.main-nav{

display:none;

width:100%;
flex-direction:column;

margin-top:10px;

border-top:1px solid #eee;

padding-top:10px;

}

.main-nav a{

min-height:36px;
padding:0 12px;

}

.main-nav.active{

display:flex;

}

.header-tools{
width:100%;
margin-top:10px;
margin-left:0;
}

.site-search{
width:auto;
margin-top:0;
margin-left:0;
}

.search-group{
max-width:none;
}

.search-group input{

width:100%;

}

.theme-toggle{
margin-left:auto;
}

}

@media (max-width:768px){

.entity-card-stack-mobile{
display:block;
}

.entity-card-stack-mobile strong{
display:block;
padding-top:0;
margin-bottom:10px;
}

.entity-card-stack-mobile .entity-links{
width:100%;
}

}

@media (max-width:700px){

.video-meta{
gap:10px;
}

.share-feedback{
left:50%;
top:calc(100% + 6px);
transform:translateX(-50%);
margin-left:0;
}

.page-actions{
justify-content:flex-start;
}

.content-ad-slot,
.inline-ad-slot,
.ad-slot-main,
.ad-zone-before-footer{
margin:18px 0 0;
padding:8px 10px;
}

.recently-viewed-thumb{
width:92px;
height:52px;
flex-basis:92px;
}

.video-play-overlay{
width:68px;
height:68px;
}

.video-play-overlay-icon{
font-size:26px;
}

.video-player-fallback{
left:10px;
right:10px;
bottom:10px;
padding:12px;
}

.video-player-fallback-title{
font-size:14px;
}

.video-player-fallback-text{
font-size:13px;
margin-bottom:10px;
}

.video-player-fallback-actions{
gap:8px;
}

.video-player-retry-button,
.video-player-fallback-link{
width:100%;
}

}
