.ph-video-grid-container { 
    max-width:1400px; 
    margin:auto; 
    padding:2em 1em;
}
/* Breadcrumb */
.ph-breadcrumb {
    margin-bottom:0.5em;
    font-size:0.9em;
    color:#aaa;
    display:flex;
    align-items:center;
    gap:8px;
}
.ph-breadcrumb a {
    color:#ffd500 !important;
    text-decoration:none;
    transition:color 0.2s;
}
.ph-breadcrumb a:hover {
    color:#fff200 !important;
    text-decoration:underline;
}
.ph-breadcrumb-separator {
    color:#888 !important;
}
.ph-breadcrumb-current {
    color:#ffd500 !important;
    font-weight:500;
    text-decoration:none;
}

.ph-heading { 
    font-size:2.3em; 
    font-weight:bold; 
    margin-bottom:0.8em;
    margin-top:0;
    color:#fff;
}

/* Pornhub-style Category Bar */
.ph-category-bar {
    margin-bottom:1.5em;
    padding-bottom:1em;
    border-bottom:1px solid rgba(255,255,255,0.1);
    clear:both;
}
.ph-category-scroll {
    display:flex !important;
    flex-wrap:wrap;
    gap:6px;
    padding:8px 0;
    list-style:none;
    margin:0;
}
.ph-category-btn,
.ph-category-scroll a,
.ph-category-scroll .ph-category-btn {
    display:inline-flex !important;
    align-items:center;
    gap:4px;
    padding:5px 12px !important;
    background:#2a2a2a !important;
    color:#ccc !important;
    text-decoration:none !important;
    border-radius:16px !important;
    font-size:0.85em !important;
    font-weight:500 !important;
    white-space:nowrap;
    transition:all 0.2s ease;
    border:1px solid transparent !important;
    outline:none;
    box-shadow:none;
    cursor:pointer;
    margin:0;
    line-height:1.3;
}
.ph-category-btn:hover,
.ph-category-scroll a:hover,
.ph-category-scroll .ph-category-btn:hover {
    background:#333 !important;
    color:#fff !important;
    border-color:rgba(255,255,255,0.2) !important;
    transform:translateY(-1px);
    text-decoration:none !important;
}
.ph-category-btn.active,
.ph-category-scroll a.active,
.ph-category-scroll .ph-category-btn.active {
    background:#ffd500 !important;
    color:#000 !important;
    font-weight:600 !important;
    border-color:#ffd500 !important;
}
.ph-cat-count {
    font-size:0.75em;
    opacity:0.7;
    font-weight:normal;
    margin-left:2px;
}
.ph-category-btn.active .ph-cat-count,
.ph-category-scroll a.active .ph-cat-count {
    opacity:0.8;
    color:#000 !important;
}

/* Search and Sort Bar */
.ph-filter-bar { 
    margin-bottom:2em; 
    display:flex; 
    gap:12px; 
    align-items:center;
    flex-wrap:wrap;
}
.ph-search-input {
    flex:1;
    min-width:200px;
    padding:10px 16px;
    font-size:0.95em;
    background:#2a2a2a;
    border:1px solid rgba(255,255,255,0.1);
    border-radius:8px;
    color:#fff;
    outline:none;
    transition:border-color 0.2s;
}
.ph-search-input:focus {
    border-color:#ffd500;
}
.ph-search-input::placeholder {
    color:#888;
}
.ph-sort-select {
    padding:10px 16px;
    font-size:0.95em;
    background:#2a2a2a;
    border:1px solid rgba(255,255,255,0.1);
    border-radius:8px;
    color:#fff;
    outline:none;
    cursor:pointer;
    transition:border-color 0.2s;
}
.ph-sort-select:focus {
    border-color:#ffd500;
}
.ph-filter-submit {
    padding:10px 24px;
    font-size:0.95em;
    background:#ffd500;
    color:#000;
    border:none;
    border-radius:8px;
    font-weight:600;
    cursor:pointer;
    transition:background 0.2s, transform 0.1s;
}
.ph-filter-submit:hover {
    background:#fff200;
    transform:translateY(-1px);
}
.ph-filter-submit:active {
    transform:translateY(0);
}

/* Video Grid - Uniform Card Sizes */
.ph-video-grid {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
}
@media (min-width: 768px) {
    .ph-video-grid {
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: 24px;
    }
}
@media (min-width: 1200px) {
    .ph-video-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }
}
.ph-video-card {
    background:#232323;
    border-radius:12px;
    box-shadow:0 2px 12px rgba(0,0,0,0.25);
    overflow:hidden;
    position:relative;
    transition:transform 0.2s ease, box-shadow 0.2s ease;
    display:flex;
    flex-direction:column;
    height:100%;
}
.ph-video-card:hover { 
    transform:translateY(-4px);
    box-shadow:0 6px 20px rgba(0,0,0,0.35);
}
.ph-thumb-wrap { 
    position:relative;
    width:100%;
    padding-top:56.25%; /* 16:9 aspect ratio */
    overflow:hidden;
    background:#1a1a1a;
}
.ph-thumb {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.ph-play-overlay {
    position:absolute; 
    right:10px; 
    bottom:10px;
    font-size:1.8em; 
    color:#fff;
    background:rgba(0,0,0,0.6); 
    padding:6px 12px; 
    border-radius:50%;
    pointer-events:none;
    transition:opacity 0.2s;
}
.ph-video-card:hover .ph-play-overlay {
    opacity:0.9;
}
.ph-duration {
    position:absolute; 
    left:10px; 
    bottom:10px;
    background:rgba(0,0,0,0.75);
    color:#fff; 
    font-size:0.85em;
    font-weight:600;
    padding:4px 8px; 
    border-radius:4px;
    backdrop-filter:blur(4px);
}
.ph-video-info { 
    padding:12px;
    flex-grow:1;
    display:flex;
    flex-direction:column;
}
.ph-title {
    color:#ffd500; 
    font-weight:500; 
    font-size:0.9em; 
    text-decoration:none;
    display:block; 
    line-height:1.4;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    transition:color 0.2s;
}
.ph-title:hover { 
    color:#fff200;
}
/* Pagination */
.ph-pagination { 
    margin-top:3em; 
    text-align:center;
    padding:1em 0;
}
.ph-pagination .page-numbers {
    display:inline-block;
    padding:8px 16px;
    margin:0 4px;
    background:#2a2a2a;
    color:#fff;
    text-decoration:none;
    border-radius:6px;
    transition:all 0.2s;
    border:1px solid transparent;
}
.ph-pagination .page-numbers:hover {
    background:#333;
    border-color:rgba(255,255,255,0.2);
}
.ph-pagination .page-numbers.current {
    background:#ffd500;
    color:#000;
    font-weight:600;
    border-color:#ffd500;
}
.ph-pagination .page-numbers.dots {
    background:transparent;
    border:none;
    cursor:default;
}
/* Category bar at bottom */
.ph-category-bar-bottom {
    margin-top:3em;
    margin-bottom:1.5em;
    max-width:1400px;
    margin-left:auto;
    margin-right:auto;
    padding:0 1em;
}

/* Suggested carousel */
.ph-suggested-bar { 
    max-width:1400px; 
    margin:auto; 
    margin-top:0;
    padding:0 1em;
}
.ph-suggested-bar h2 { 
    margin-bottom:1.2em; 
    color:#ffd500;
    font-size:1.8em;
}
.ph-suggested-carousel { 
    display:flex; 
    gap:16px; 
    overflow-x:auto; 
    padding:8px 0;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,0.3) transparent;
    -webkit-overflow-scrolling:touch;
}
.ph-suggested-carousel::-webkit-scrollbar {
    height:6px;
}
.ph-suggested-carousel::-webkit-scrollbar-track {
    background:transparent;
}
.ph-suggested-carousel::-webkit-scrollbar-thumb {
    background:rgba(255,255,255,0.3);
    border-radius:3px;
}
.ph-suggested-card { 
    background:#1d1d1d; 
    border-radius:10px; 
    min-width:180px; 
    max-width:180px;
    padding:0;
    transition:transform 0.2s;
    flex-shrink:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.ph-suggested-card:hover {
    transform:translateY(-2px);
}
.ph-sugg-thumb { 
    width:100%; 
    height:auto;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:10px 10px 0 0;
    display:block;
}
.ph-sugg-title { 
    display:block; 
    text-align:center; 
    color:#ffd500; 
    font-size:0.85em; 
    margin:8px;
    padding:0;
    line-height:1.3;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    min-height:2.6em;
    text-decoration:none;
}
.ph-sugg-title:hover {
    color:#fff200;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .ph-video-grid-container {
        padding:1em 0.5em;
    }
    .ph-heading {
        font-size:1.8em;
    }
    .ph-category-scroll {
        gap:5px;
    }
    .ph-category-btn,
    .ph-category-scroll a,
    .ph-category-scroll .ph-category-btn {
        padding:4px 10px !important;
        font-size:0.8em !important;
    }
    .ph-filter-bar {
        flex-direction:column;
    }
    .ph-search-input,
    .ph-sort-select,
    .ph-filter-submit {
        width:100%;
    }
    .ph-video-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 16px;
    }
}



