/*
Theme Name: Banglamms24
Theme URI: https://example.com/banglamms24
Author: Mir Rabbi Hossain
Author URI: https://example.com
Description: A YouTube and xHamster hybrid video theme for WordPress with Adsterra integration, embed support, and Search Console verification options.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.8
Text Domain: banglamms24
*/

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    background-color: #0f0f0f;
    color: #f1f1f1;
    font-family: 'Roboto', Arial, sans-serif;
    margin: 0;
    padding: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

/* Banglamms24 Phase 4 hardening */
.vx-embed-content,
.vx-embed-content iframe,
.vx-embed-content video,
.vx-embed-content embed,
.vx-embed-content object {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    border: 0;
}
.vx-player-empty {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aaa;
    padding: 20px;
    text-align: center;
}
.vx-comments-area {
    padding: 15px 0;
}
.vx-comments-area .comment-list {
    margin: 0 0 20px;
    padding-left: 20px;
}
.vx-comments-area .comment {
    margin-bottom: 15px;
}
.vx-comments-area textarea,
.vx-comments-area input[type="text"],
.vx-comments-area input[type="email"],
.vx-comments-area input[type="url"] {
    width: 100%;
    max-width: 100%;
    padding: 10px;
    border: 1px solid var(--border-color, #333);
    border-radius: 6px;
    background: var(--bg-secondary, #181818);
    color: var(--text-main, #fff);
}
.vx-comments-area .submit {
    border: 0;
    border-radius: 6px;
    padding: 10px 16px;
    cursor: pointer;
}


/* Performance / accessibility helpers */
.vx-thumbnail-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #121212;
    color: #555;
    position: absolute;
    inset: 0;
}
.vx-video-card {
    content-visibility: auto;
    contain-intrinsic-size: 0 280px;
}
.vx-player-wrapper iframe,
.vx-player-wrapper video {
    display: block;
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}


/* ==========================================================================
   Phase 5: Advanced Video Player
   ========================================================================== */
.vx-external-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #000;
    overflow: hidden;
}
.vx-external-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    border: 0;
    background: #000;
}
.vx-icon {
    width: 1.15em;
    height: 1.15em;
    flex: 0 0 auto;
    vertical-align: -0.2em;
}
.vx-icon-lg { width: 1.35em; height: 1.35em; }
.vx-icon-sm { width: 1em; height: 1em; }
.vx-icon-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.vx-native-player { position: absolute; inset: 0; background:#000; }
.vx-native-player .vx-native-video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000; }
.vx-player-tools {
    position:absolute;
    right:10px;
    bottom:10px;
    display:flex;
    gap:7px;
    opacity:0;
    transform:translateY(4px);
    transition:opacity .2s ease, transform .2s ease;
    z-index:3;
}
.vx-native-player:hover .vx-player-tools,
.vx-native-player:focus-within .vx-player-tools { opacity:1; transform:none; }
.vx-player-tools button { padding:7px 10px; font-size:11px; border:1px solid rgba(255,255,255,.2); background:rgba(0,0,0,.72); color:#fff; border-radius:999px; cursor:pointer; }
.vx-player-tools button:hover,
.vx-player-tools button:focus-visible { background:rgba(255,255,255,.16); outline:2px solid #fff; outline-offset:2px; }
.vx-player-tools button span { opacity:.8; }
.vx-player-loading { position:absolute; inset:0; display:grid; place-items:center; color:#fff; background:rgba(0,0,0,.45); z-index:4; font-size:13px; }
.vx-player-error { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; padding:20px; background:#080808; z-index:4; }
@media (max-width: 600px) {
    .vx-player-tools { left:8px; right:8px; justify-content:flex-end; opacity:1; transform:none; }
    .vx-player-tools button { padding:7px 8px; }
}

/* Phase 6: Analytics & interaction polish */
.vx-action-btn.active{background:var(--accent-color,#e50914);color:#fff;border-color:transparent}.vx-action-btn:disabled{opacity:.55;cursor:not-allowed}
.vx-search-sort{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin:0 0 18px}.vx-search-sort label{font-size:13px;color:var(--text-muted)}.vx-search-sort select{background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px}
@media(max-width:600px){.vx-search-sort{justify-content:stretch}.vx-search-sort select{flex:1}}


/* Professional inline SVG icon treatment */
.vx-icon-btn, .vx-action-btn, .vx-share-btn, .vx-tab-btn, .vx-menu-toggle, .theme-toggle-btn, .vx-search-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.vx-icon { width:1.1em; height:1.1em; flex:0 0 auto; }
.vx-menu-toggle .vx-icon, .vx-search-btn .vx-icon { width:20px; height:20px; }
.theme-toggle-btn .vx-icon { width:16px; height:16px; }
.dark-theme .theme-toggle-icon-sun { display:inline-flex; }
.dark-theme .theme-toggle-icon-moon { display:none; }
.theme-toggle-icon-sun { display:none; }
.theme-toggle-icon-moon { display:inline-flex; }
.vx-external-frame + * { position:relative; }

/* SVG icons are embedded as lightweight data images to prevent raw SVG source from being displayed. */
.vx-icon-img { display:inline-block; width:1.1em; height:1.1em; flex:0 0 auto; vertical-align:-0.16em; object-fit:contain; }
.vx-menu-toggle .vx-icon-img, .vx-search-btn .vx-icon-img { width:20px; height:20px; }
.theme-toggle-btn .vx-icon-img { width:16px; height:16px; }

/* ==========================================================================
   Phase 8: 404, Pages & Actor / Model Profiles
   ========================================================================== */
.vx-404-page,.vx-page-container,.vx-actor-page{max-width:1300px;margin:0 auto;padding:28px 15px;min-height:55vh}
.vx-404-hero{text-align:center;max-width:760px;margin:20px auto 45px;padding:48px 20px;background:var(--bg-secondary,#181818);border:1px solid var(--border-color,#2a2a2a);border-radius:14px}
.vx-404-code{font-size:clamp(72px,13vw,150px);line-height:.85;font-weight:900;letter-spacing:-.06em;color:var(--accent-color,#e50914);text-shadow:0 12px 40px rgba(229,9,20,.18)}
.vx-404-hero h1{margin:18px 0 10px;font-size:clamp(28px,5vw,42px);color:var(--text-main,#fff)}
.vx-404-hero p{margin:0 auto;max-width:620px;color:var(--text-muted,#999);line-height:1.7}
.vx-404-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:25px 0 16px}
.vx-404-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 16px;border-radius:8px;font-weight:700;border:1px solid var(--border-color,#333);cursor:pointer}
.vx-404-primary{background:var(--accent-color,#e50914);color:#fff;border-color:transparent}.vx-404-secondary{background:rgba(255,255,255,.06);color:var(--text-main,#fff)}
.vx-404-search{display:flex;max-width:600px;margin:16px auto 0;background:#101010;border:1px solid var(--border-color,#333);border-radius:9px;overflow:hidden}
.vx-404-search input{flex:1;min-width:0;background:transparent;color:#fff;border:0;padding:13px 14px;outline:none}.vx-404-search button{border:0;background:var(--accent-color,#e50914);color:#fff;padding:0 18px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px}
.vx-404-recommendations{margin-top:20px}.vx-404-section-heading,.vx-actor-section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:16px}.vx-404-section-heading h2,.vx-actor-section-heading h2{margin:0;color:var(--text-main,#fff)}.vx-404-section-heading a{color:var(--text-muted,#aaa);display:inline-flex;align-items:center;gap:4px}
.vx-page-card{background:var(--bg-secondary,#181818);border:1px solid var(--border-color,#2a2a2a);border-radius:12px;padding:25px;max-width:900px;margin:0 auto}.vx-page-title{margin:0 0 20px;font-size:clamp(26px,4vw,40px);color:var(--text-main,#fff)}.vx-page-meta{color:var(--text-muted,#999);font-size:13px;margin-bottom:18px}.vx-page-content{color:var(--text-main,#eee);line-height:1.8}.vx-page-content img,.vx-single-featured img{max-width:100%;height:auto;border-radius:8px}.vx-page-links{margin-top:25px}
.vx-actor-profile{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(230px,300px);gap:25px;align-items:start;background:var(--bg-secondary,#181818);border:1px solid var(--border-color,#2a2a2a);border-radius:14px;padding:22px;margin-bottom:32px}.vx-actor-avatar{width:180px;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#101010;display:grid;place-items:center;border:1px solid var(--border-color,#333)}.vx-actor-avatar img{width:100%;height:100%;object-fit:cover}.vx-actor-placeholder{width:70px;height:70px;opacity:.45}.vx-actor-main{min-width:0}.vx-actor-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-color,#e50914);font-weight:800}.vx-actor-main h1{font-size:clamp(28px,4vw,42px);line-height:1.05;margin:7px 0 10px;color:var(--text-main,#fff)}.vx-actor-stats{color:var(--text-muted,#aaa);font-size:13px}.vx-actor-stats strong{color:var(--text-main,#fff);font-size:18px}.vx-actor-bio{margin-top:17px;color:var(--text-muted,#bbb);line-height:1.7;font-size:14px}.vx-actor-bio p{margin:0 0 10px}.vx-actor-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.vx-actor-socials a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid var(--border-color,#333);border-radius:7px;color:var(--text-main,#eee);font-size:12px;background:rgba(255,255,255,.03)}.vx-actor-socials a:hover{border-color:var(--accent-color,#e50914)}
.vx-actor-details{background:#101010;border:1px solid var(--border-color,#2d2d2d);border-radius:10px;padding:16px}.vx-actor-details h2{font-size:15px;margin:0 0 12px}.vx-actor-details dl{margin:0}.vx-actor-details dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}.vx-actor-details dl>div:last-child{border-bottom:0}.vx-actor-details dt{color:var(--text-muted,#888);font-size:12px}.vx-actor-details dd{margin:0;text-align:right;color:var(--text-main,#eee);font-size:12px;font-weight:600}.vx-actor-section-heading{align-items:center}.vx-actor-section-heading h2{font-size:24px;margin-top:5px}.vx-actor-count{font-size:12px;color:var(--text-muted,#999);white-space:nowrap}.vx-actor-empty{padding:45px 20px;text-align:center;border:1px dashed var(--border-color,#333);border-radius:10px;color:var(--text-muted,#999)}
@media(max-width:900px){.vx-actor-profile{grid-template-columns:130px minmax(0,1fr)}.vx-actor-avatar{width:130px}.vx-actor-details{grid-column:1/-1}}
@media(max-width:600px){.vx-404-hero{padding:35px 15px}.vx-404-search button span{display:none}.vx-page-card{padding:18px}.vx-actor-page{padding-top:18px}.vx-actor-profile{grid-template-columns:1fr;text-align:center;padding:16px}.vx-actor-avatar{width:150px;margin:0 auto}.vx-actor-socials{justify-content:center}.vx-actor-details{text-align:left}.vx-actor-section-heading{align-items:flex-start;flex-direction:column}.vx-actor-count{display:none}}

/* Phase 8.1: Consistent video grid across homepage, search, 404 and actor pages. */
.vx-video-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 20px;
}
.vx-no-results {
    margin-top: 28px;
}
.vx-no-results-message {
    text-align: center;
    padding: 42px 20px;
    margin-bottom: 34px;
    background: var(--bg-secondary, #181818);
    border: 1px solid var(--border-color, #2a2a2a);
    border-radius: 12px;
}
.vx-no-results-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--accent-color, #e50914);
    background: rgba(255,255,255,.05);
}
.vx-no-results-icon .vx-icon { width: 25px; height: 25px; }
.vx-no-results-message h2 { margin: 0 0 8px; color: var(--text-main, #fff); font-size: 24px; }
.vx-no-results-message p { margin: 0; color: var(--text-muted, #999); line-height: 1.6; }
.vx-no-results-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 16px;
}
.vx-no-results-heading h2 { margin: 0; color: var(--text-main, #fff); font-size: 24px; }
.vx-no-results-heading a { color: var(--text-muted, #aaa); display: inline-flex; align-items: center; gap: 4px; }
@media (max-width: 1100px) {
    .vx-video-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .vx-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .vx-no-results-message { padding: 34px 16px; }
    .vx-no-results-heading h2 { font-size: 20px; }
}

/* Banglamms24 Phase 8.2 — app-like shell, restriction modal and interaction lock */
html, body { max-width:100%; }
body { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; overscroll-behavior-x:none; }
input, textarea, [contenteditable="true"] { -webkit-user-select:text; user-select:text; }
.vx-restriction { position:fixed; inset:0; z-index:2147483647; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(3,7,18,.88); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.vx-restriction[hidden] { display:none; }
.vx-restriction-card { width:min(460px,100%); padding:30px 24px; border:1px solid rgba(255,255,255,.12); border-radius:24px; background:#111827; color:#fff; box-shadow:0 24px 80px rgba(0,0,0,.45); text-align:center; }
.vx-restriction-icon { width:64px;height:64px;display:grid;place-items:center;margin:0 auto 16px;border-radius:18px;background:#ef4444;color:#fff;font-weight:800;font-size:20px; }
.vx-restriction-card h2 { margin:0 0 10px; font-size:24px; }
.vx-restriction-card p { margin:0; color:#cbd5e1; line-height:1.65; font-size:14px; }
.vx-restriction-actions { display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:22px; }
.vx-restriction-actions button { min-height:48px;border:0;border-radius:14px;font-weight:700;cursor:pointer; }
.vx-restriction-no { background:#374151;color:#fff; }
.vx-restriction-yes { background:#fff;color:#111827; }
body.vx-restricted { overflow:hidden; }
.vx-install-app { position:fixed; right:16px; bottom:16px; z-index:9999; display:none; border:0; border-radius:999px; padding:12px 16px; background:#fff; color:#111827; box-shadow:0 10px 30px rgba(0,0,0,.25); font-weight:800; }
.vx-install-app.is-visible { display:block; }
@media (display-mode: standalone) { .vx-install-app { display:none !important; } }
