/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.1
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* Heading colors - softer than pure white */
h1, h2, h3, h4, h5, h6,
.section-title-main,
.entry-title,
.product-title,
.page-title {
    color: #f0f0f0 !important;
}

/* WooCommerce loop buttons - force correct styling in .box-text context */
.box-text .add-to-cart-button a.fp-latest-btn,
.box-text .add-to-cart-button a.fp-latest-btn:hover,
.box-text a.fp-latest-btn,
.box-text a.fp-latest-btn:hover {
    color: #fff !important;
}

/* Owned state in .box-text - same size as fp-latest-btn */
.box-text span.fp-latest-btn.fp-video.fp-owned {
    background: rgba(39, 174, 96, 0.7) !important;
    color: #fff !important;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.9), 0 0 15px rgba(255, 255, 255, 0.6), 0 0 30px rgba(255, 255, 255, 0.4), 0 0 50px rgba(255, 255, 255, 0.2);
}
.box-text span.fp-latest-btn.fp-photos.fp-owned {
    background: rgba(120, 160, 60, 0.7) !important;
    color: #fff !important;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.9), 0 0 15px rgba(255, 255, 255, 0.6), 0 0 30px rgba(255, 255, 255, 0.4), 0 0 50px rgba(255, 255, 255, 0.2);
}

/* Sticky header - more transparent background (was 0.9) */
.stuck .header-bg-color {
    background-color: rgba(2, 2, 2, 0.8) !important;
}

#logo a {
    font-family: 'Teko', sans-serif;
    color: #cccccc;
    font-weight: 600;
    font-size: 28px;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1;
    position: relative;
    top: 2px;
}

/* Mini-cart overlay styles (desktop dropdown + mobile popup) */
.nav-dropdown .woocommerce-mini-cart .ux-mini-cart-qty .quantity,
#cart-popup .woocommerce-mini-cart .ux-mini-cart-qty .quantity {
    font-size: 0;
}
.nav-dropdown .woocommerce-mini-cart .ux-mini-cart-qty .quantity .woocommerce-Price-amount,
#cart-popup .woocommerce-mini-cart .ux-mini-cart-qty .quantity .woocommerce-Price-amount {
    font-size: 14px !important;
    color: #e8e8e8 !important;
}
/* Change "Subtotal:" to "Total:" in mini-cart overlay */
.nav-dropdown .woocommerce-mini-cart__total strong,
#cart-popup .woocommerce-mini-cart__total strong {
    font-size: 0;
}
.nav-dropdown .woocommerce-mini-cart__total strong::before,
#cart-popup .woocommerce-mini-cart__total strong::before {
    content: "Total:";
    font-size: 14px;
    color: #e8e8e8;
}
.nav-dropdown .woocommerce-mini-cart__total .woocommerce-Price-amount,
#cart-popup .woocommerce-mini-cart__total .woocommerce-Price-amount {
    color: #e8e8e8;
}
/* Mini-cart item hover - entire row highlights */
.nav-dropdown .woocommerce-mini-cart-item:hover,
.nav-dropdown .mini_cart_item:hover,
#cart-popup .woocommerce-mini-cart-item:hover,
#cart-popup .mini_cart_item:hover {
    background-color: #1a1d24 !important;
}
.nav-dropdown .woocommerce-mini-cart-item:hover *,
.nav-dropdown .mini_cart_item:hover *,
#cart-popup .woocommerce-mini-cart-item:hover *,
#cart-popup .mini_cart_item:hover * {
    background-color: transparent !important;
}
/* Mini-cart buttons */
.nav-dropdown .woocommerce-mini-cart__buttons .button,
#cart-popup .woocommerce-mini-cart__buttons .button {
    border-radius: 5px !important;
}
.nav-dropdown .woocommerce-mini-cart__buttons .button.checkout,
#cart-popup .woocommerce-mini-cart__buttons .button.checkout {
    background-color: #3D8BD3 !important;
    border: none !important;
    color: #fff !important;
}
.nav-dropdown .woocommerce-mini-cart__buttons .button.checkout:hover,
#cart-popup .woocommerce-mini-cart__buttons .button.checkout:hover {
    background-color: #2d6aa3 !important;
    color: #fff !important;
}
.nav-dropdown .woocommerce-mini-cart__buttons .button:not(.checkout),
#cart-popup .woocommerce-mini-cart__buttons .button:not(.checkout) {
    background-color: transparent !important;
    border: 1px solid #666 !important;
    color: #ccc !important;
}
.nav-dropdown .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
#cart-popup .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
    background-color: rgba(0, 0, 0, 0.3) !important;
    border-color: #888 !important;
    color: #ccc !important;
}
/* Site background - darker grey with subtle hatch pattern */
body, .page-wrapper, #wrapper, .main-content, #main {
    background-color: #0c0e12 !important;
    background-image: url('/wp-content/themes/flatsome-child/images/hatch.png');
    background-repeat: repeat;
}

@media (max-width: 849px) {
    body, .page-wrapper, #wrapper, .main-content, #main {
        background-image: url('/wp-content/themes/flatsome-child/images/hatch-mobile.png');
    }
}

/* Global dark input focus override (Flatsome sets white background on focus) */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
    background-color: inherit !important;
    color: inherit !important;
}

/* Tone down bold text in excerpts - darker color to reduce contrast */
.entry-summary strong, .entry-summary b {
    color: #aaa;
}

/* Category label overlay - top left, transparent */
.entry-image {
    position: relative;
    display: block;
}
.entry-image .cat-link {
    position: absolute;
    top: 0;
    left: 0;
    padding: 5px 10px;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    z-index: 5;
    color: #fff !important;
    text-decoration: none !important;
    background: rgba(59, 125, 210, 0.55); /* default blue/mixed */
}
/* Category-specific colors by class */
.entry-image .cat-link.cat-mixed { background: rgba(59, 125, 210, 0.55); }
.entry-image .cat-link.cat-female { background: rgba(200, 50, 80, 0.55); }
.entry-image .cat-link.cat-unreal { background: rgba(128, 90, 180, 0.55); }
.entry-image .cat-link.cat-h2h { background: rgba(46, 160, 130, 0.55); }
.entry-image .cat-link.cat-short { background: rgba(210, 130, 50, 0.55); }

/* Hide the default entry-category on archives (we show overlay instead) */
.archive .entry-category,
.search-results .entry-category {
    display: none !important;
}

/* Remove top padding on home page */
.home .page-wrapper,
.home #content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Remove gap from hidden Flatsome banner on mobile */
@media (max-width: 849px) {
    .home .slider-wrapper:first-child,
    .home .banner-wrapper:first-child,
    .home .section:first-child .banner,
    .home .banner.hide-for-medium,
    .home .ux-banner.hide-for-medium,
    .home [data-visibility="hide-for-medium"] {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    /* Pull up home page content to eliminate gap */
    .home #main {
        margin-top: -20px !important;
    }
}
/* Exclude banner text box from dark background */
.banner .text-box, .banner .text-box-content {
    background-color: transparent !important;
}

/* Spoiler shortcode styling */
.fp-spoiler {
    margin: 1em 0;
    border: 1px solid #444;
    border-radius: 4px;
    background: #141619;
}
.fp-spoiler summary {
    padding: 8px 12px;
    cursor: pointer;
    font-weight: bold;
    color: #e0e0e0;
    background: #252830;
    border-radius: 4px;
    list-style: none;
}
.fp-spoiler summary::-webkit-details-marker {
    display: none;
}
.fp-spoiler summary::before {
    content: "+ ";
    font-weight: bold;
}
.fp-spoiler[open] summary::before {
    content: "− ";
}
.fp-spoiler[open] summary {
    border-bottom: 1px solid #444;
    border-radius: 4px 4px 0 0;
}
.fp-spoiler-content {
    padding: 15px;
}

/* Table shortcode styling */
.fp-table-wrap {
    overflow-x: hidden;
    margin: 1em 0;
}
.fp-table-wrap table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    background: #141619;
}
.fp-table-wrap td {
    overflow: hidden;
    word-wrap: break-word;
}
/* Constrain polls inside tables */
.fp-table-wrap .yop-poll-container,
.fp-table-wrap .basic-yop-poll-container {
    max-width: 100%;
    overflow: hidden;
}
.fp-table-wrap th,
.fp-table-wrap td {
    padding: 11px 12px !important;
    border: 1px solid #444;
    text-align: left;
    vertical-align: middle;
}
/* Cells with centered text - ensure proper alignment */
.fp-table-wrap td[style*="text-align: center"] {
    vertical-align: middle;
}
.fp-table-wrap th {
    background: #252830;
    font-weight: bold;
}
.fp-table-wrap tr:nth-child(even) {
    background: #1f2229;
}

/* Text color - softer grey for content areas */
.article-inner .entry-content,
.article-inner .entry-content p,
.article-inner .entry-summary,
.article-inner .entry-summary p,
#fp-releases-list .entry-summary,
#fp-releases-list .entry-summary p,
#fp-releases-list .entry-content,
#fp-releases-list .entry-content p,
#post-list .entry-summary,
#post-list .entry-summary p,
.single-post .entry-content,
.single-post .entry-content p,
.product-short-description,
.product-short-description p {
    color: #b8b8b8 !important;
}

/* Link colors - only in post/page content areas */
.entry-content a:not(.button),
.entry-summary p a,
.single-page a:not(.button),
.page-inner a:not(.button) {
    color: #5dade2 !important;
}
.entry-content a:not(.button):hover,
.entry-summary p a:hover,
.single-page a:not(.button):hover,
.page-inner a:not(.button):hover {
    color: #7ec8e8 !important;
}

/* Page content pre tags (wrestler names) - visible on dark background */
.page-inner pre {
    color: #e0e0e0;
    background: transparent;
}

/* Gap spacers for wrestler pages */
.fp-gap-15 {
    height: 15px;
    font-size: 1px;
    line-height: 1px;
}
.fp-gap-30 {
    height: 30px;
    font-size: 1px;
    line-height: 1px;
}

/* Image captions - visible on dark background */
.wp-caption-text,
figcaption,
.gallery-caption {
    color: #b0b0b0 !important;
    text-align: center;
}

/* Gallery responsive columns - Flatsome defaults to 1 column below 850px */
/* Medium screens (tablets 550px-849px) */
@media screen and (min-width: 550px) and (max-width: 849px) {
    .gallery-columns-3 .gallery-item,
    .gallery-columns-4 .gallery-item,
    .gallery-columns-5 .gallery-item,
    .gallery-columns-6 .gallery-item {
        flex-basis: 33.333% !important;
        max-width: 33.333% !important;
    }
    .gallery-columns-2 .gallery-item {
        flex-basis: 50% !important;
        max-width: 50% !important;
    }
}

/* Small screens (phones below 550px) */
@media screen and (max-width: 549px) {
    .gallery-columns-3 .gallery-item,
    .gallery-columns-4 .gallery-item,
    .gallery-columns-5 .gallery-item,
    .gallery-columns-6 .gallery-item,
    .gallery-columns-2 .gallery-item {
        flex-basis: 50% !important;
        max-width: 50% !important;
    }
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
}

/* Archive listing styles */

/* Smaller release date */
.entry-meta .release-date {
    font-size: 12px;
    color: #888;
}

/* Remove gap between header and content */
.article-inner .entry-header {
    margin-bottom: 0.5em;
}
.article-inner .entry-content {
    margin-top: 0;
    padding-top: 0;
}
.article-inner .entry-summary {
    margin-top: 0.5em;
}

/* Table borders for product buttons */
.entry-summary table,
.entry-content table,
.fp-wv-excerpt table {
    border-collapse: collapse;
    margin-top: 0.5em;
}
.entry-summary table td,
.entry-content table td,
.fp-wv-excerpt table td {
    border: 1px solid #444;
    padding: 10px 15px;
    vertical-align: top;
}

/* Tighten archive listing spacing */
.article-inner .entry-header-text .entry-title {
    margin-bottom: 0;
}
.article-inner .entry-header-text .entry-meta {
    margin-top: 2px;
}
.article-inner .entry-content {
    margin-top: -10px;
}
.article-inner .entry-summary {
    margin-top: 0;
    padding-top: 0;
}
.article-inner .entry-summary p {
    margin-top: 0;
}

/* Remove all borders/lines from archive posts */
#post-list article {
    border: none !important;
    box-shadow: none !important;
}
#post-list article::before,
#post-list article::after {
    display: none !important;
}
#post-list .article-inner {
    border: none !important;
}
#post-list .article-inner::before,
#post-list .article-inner::after {
    display: none !important;
}
#post-list .entry-meta.clearfix {
    border: none !important;
}
#post-list footer.entry-meta {
    display: none;
}

/* Divider only in list view, not grid */
#post-list article {
    border-bottom: none !important;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
#post-list.row article {
    border-bottom: none !important;
}
#post-list:not(.row) > article {
    border-bottom: 1px solid #ddd !important;
}
#post-list:not(.row) > article:last-child {
    border-bottom: none !important;
}

/* Balance spacing around divider */
#post-list:not(.row) > article {
    padding-bottom: 25px !important;
    margin-bottom: 25px !important;
}
#post-list .entry-content {
    margin-bottom: 0;
}
#post-list .entry-summary {
    margin-bottom: 0;
}
#post-list .entry-summary table {
    margin-bottom: 0;
}

/* Category badge font - match site body font */
.entry-image .cat-link {
    font-family: 'Lato', sans-serif !important;
}

/* Table text color - match site light text */
.entry-summary table td,
.entry-content table td {
    color: #b8b8b8;
}

/* Sidebar width - archives (match old site 362px) */
.archive .row .large-3,
.home .row .large-3 {
    width: 30.75% !important;
    flex: 0 0 30.75% !important;
    max-width: 30.75% !important;
}
.archive .row .large-9,
.home .row .large-9 {
    width: 69.25% !important;
    flex: 0 0 69.25% !important;
    max-width: 69.25% !important;
}

/* Single post/page - content ~750px, sidebar ~360px */
.single-post .row .large-9,
.page .row .large-9 {
    width: 70% !important;
    flex: 0 0 70% !important;
    max-width: 70% !important;
}
.single-post .row .large-3,
.page .row .large-3 {
    width: 30% !important;
    flex: 0 0 30% !important;
    max-width: 30% !important;
}

/* Homepage releases - smaller title */
#fp-releases-list .box-image,
#fp-releases-list .entry-image {
    margin-bottom: 5px !important;
}
#fp-releases-list .entry-title {
    font-size: 1.6em;
    line-height: 1.1;
}
#fp-releases-list .entry-title a {
    color: #5dade2 !important;
}
#fp-releases-list .entry-title a:hover {
    color: #7ec8e8 !important;
}

/* Reduce gap between release date and excerpt */
#fp-releases-list .entry-header-text {
    margin-bottom: 0;
}
#fp-releases-list .entry-meta {
    margin-bottom: 0;
}
#fp-releases-list .article-inner .entry-content {
    margin-top: 5px;
}
#fp-releases-list .entry-summary {
    margin-top: 0;
}
#fp-releases-list .entry-summary p:first-child {
    margin-top: 0;
}

/* Force remove gaps in releases list */
#fp-releases-list .entry-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
#fp-releases-list .entry-header-text {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
#fp-releases-list .entry-meta {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
#fp-releases-list .entry-content {
    margin-top: 5px !important;
    padding-top: 0 !important;
}
#fp-releases-list .entry-summary {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Article blocks - lighter background and border */
#fp-releases-list .article-inner,
#post-list .article-inner {
    background-color: #141619;
    border: 1px solid #444;
    padding: 15px;
    border-radius: 3px;
    margin-bottom: 20px;
}

/* Remove divider line between category posts */
#post-list:not(.row) > article {
    border-bottom: none !important;
}

/* Single post/page content - match excerpt block styling */
.single-post .article-inner,
.page .article-inner,
.page .page-inner {
    background-color: #141619;
    border: 1px solid #444;
    padding: 20px;
    border-radius: 3px;
}

/* Page content text color */
.page .page-inner,
.page .page-inner p {
    color: #b8b8b8 !important;
}

/* Word spacing for readability */
.page-inner,
.entry-content {
    word-spacing: 0.06em;
}

/* Inline images - vertical align middle */
.page-inner p img,
.page-inner pre img,
.entry-content p img {
    vertical-align: middle !important;
    display: inline !important;
}

/* Single post/page featured image - full width */
.single-featured-image {
    margin: -20px -20px 10px -20px;  /* Offset parent padding, small gap to title */
}
.single-featured-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px 3px 0 0;  /* Match top corners */
}

/* Single post/page title block - gap before content */
.single-title-block {
    margin-bottom: 35px;
}
.single-title-block .entry-title {
    margin-bottom: 5px;
}
.single-title-block .entry-date {
    margin: 0;
    color: #888;
}
.single-product .product-container {
    background-color: #141619;
    border: 1px solid #444;
    padding: 20px;
    border-radius: 3px;
}

/* Banner button styling */
.banner .button {
    background-color: rgba(61, 139, 211, 0.8) !important;
    color: #f0f0f0 !important;
    font-size: 0.9em !important;
    transform: none !important;
    box-shadow: none !important;
}
.banner .button:hover {
    background-color: rgba(61, 139, 211, 0.95) !important;
    transform: none !important;
}

/* Recent Reviews widget */
.fp-recent-reviews {
    background: #141619;
    border: 1px solid #444;
    border-radius: 3px;
    padding: 15px;
}
.fp-reviews-title {
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #444;
    color: #e0e0e0;
    font-size: 1.1em;
}
.fp-review-item {
    display: flex;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid #2a2a2a;
}
.fp-review-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.fp-review-avatar {
    flex-shrink: 0;
    margin-right: 10px;
}
.fp-review-avatar img {
    border-radius: 50%;
    width: 32px;
    height: 32px;
}
.fp-review-content {
    flex: 1;
    min-width: 0;
}
.fp-review-thumbnail {
    float: right;
    margin-left: 8px;
    margin-bottom: 4px;
}
.fp-review-thumbnail img {
    width: 50px;
    height: auto;
    border-radius: 2px;
}
.fp-review-header {
    font-size: 0.85em;
    margin-bottom: 4px;
    line-height: 1.3;
}
.fp-review-author {
    font-weight: bold;
    color: #e0e0e0;
}
.fp-review-header a {
    color: #5dade2 !important;
}
.fp-review-header a:hover {
    color: #7ec8e8 !important;
}
.fp-review-text {
    font-size: 0.85em;
    color: #aaa;
    font-style: italic;
    margin-bottom: 4px;
    line-height: 1.4;
}
.fp-review-date {
    font-size: 0.75em;
    color: #777;
}

/* Search block fix - prevent button overflow */
.widget .wp-block-search {
    max-width: 100%;
}
.widget .wp-block-search__inside-wrapper {
    display: flex;
    flex-wrap: nowrap;
    max-width: 100%;
}
.widget .wp-block-search__input {
    flex: 1;
    min-width: 0;
}
.widget .wp-block-search__button {
    flex-shrink: 0;
    padding: 8px 12px;
    font-size: 14px;
}

/* Custom search form */
.fp-search-form {
    background: #141619;
    border: 1px solid #444;
    border-radius: 3px;
    padding: 15px;
}
.fp-search-field {
    margin-bottom: 10px;
}
.fp-search-field:last-child {
    margin-bottom: 0;
}
.fp-search-form input[type="text"],
.fp-search-form select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #444;
    border-radius: 3px;
    background: #141619;
    color: #e0e0e0;
    font-size: 14px;
}
.fp-search-form input[type="text"]:focus,
.fp-search-form select:focus {
    border-color: #5dade2;
    outline: none;
}
.fp-search-form select {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e0e0e0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 30px;
}
.fp-search-form button {
    width: 100%;
    padding: 10px;
    background-color: rgba(52, 152, 219, 0.4) !important;
    border: 1px solid rgba(52, 152, 219, 0.6) !important;
    transition: none !important;
    transform: none !important;
    box-shadow: none !important;
}
.fp-search-form button:hover {
    background-color: rgba(52, 152, 219, 0.6) !important;
    transform: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

/* Dark theme dropdowns */
.nav-dropdown,
.cart-sidebar {
    border: 1px solid #444 !important;
    color: #e0e0e0 !important;
}
/* Dropdown font - Barlow 700, uppercase */
.nav-dropdown>li>a,
.nav-column>li>a {
    font-family: 'Barlow', sans-serif !important;
    font-weight: 700 !important;
}

/* Mobile sidebar menu - match desktop dropdown style */
.sidebar-menu li>a,
.off-canvas-center .nav-sidebar>li>a {
    font-family: 'Barlow', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.85em !important;
    letter-spacing: 0.02em !important;
}
.nav-dropdown a,
.nav-dropdown .product-title,
.nav-dropdown .cart-item-details,
.nav-dropdown .quantity,
.nav-dropdown .amount,
.nav-dropdown strong,
.nav-dropdown li,
.cart-sidebar a,
.cart-sidebar .product-title,
.cart-sidebar .quantity,
.cart-sidebar .amount {
    color: #e0e0e0 !important;
}
.nav-dropdown .woocommerce-Price-amount,
.cart-sidebar .woocommerce-Price-amount {
    color: #e0e0e0 !important;
}
/* Override #ececec borders with dark grey */
.nav-dropdown,
.nav-dropdown *,
.sidebar,
.sidebar *,
.is-divider,
.divider {
    border-color: #444 !important;
}
hr {
    border: none !important;
    border-top-width: 1px !important;
    border-top-style: solid !important;
    border-top-color: #444 !important;
    background: transparent !important;
    opacity: 1 !important;
    margin: 20px 0;
    height: 0;
}

/* Pulse heartbeat divider */
.hr-pulse {
    display: flex;
    align-items: center;
    margin: 24px 0;
    height: 20px;
}
.hr-pulse::before,
.hr-pulse::after {
    content: '';
    flex: 1;
    height: 1px;
}
.hr-pulse::before {
    background: linear-gradient(to right, transparent, rgba(0, 188, 212, 0.5));
}
.hr-pulse::after {
    background: linear-gradient(to left, transparent, rgba(0, 188, 212, 0.5));
}
.hr-pulse-icon {
    width: 40px;
    height: 20px;
    margin: 0 12px;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 40 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 10 L8 10 L11 6 L14 10 L17 1 L20 18 L23 10 L26 6 L29 10 L40 10' stroke='%2300bcd4' stroke-opacity='0.7' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
}
@media (max-width: 549px) {
    .hr-pulse {
        margin: 16px 0;
        height: 14px;
    }
    .hr-pulse-icon {
        width: 28px;
        height: 14px;
        margin: 0 8px;
    }
}

/* Row divider between content and sidebar */
.row-divided > .col {
    border-color: #444 !important;
}

/* Post footer meta - align left */
.single-post footer.entry-meta {
    text-align: left !important;
}

/* Hide divider above entry-meta */
.single-post .blog-share .is-divider {
    display: none !important;
}

/* Next/prev navigation - separate section */
.single-post #nav-below {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #444;
}
/* Menu item hover */
.nav-dropdown a:hover,
.nav-dropdown li:hover > a {
    color: #5dade2 !important;
    background-color: #252830 !important;
}
.nav-dropdown .nav-column-links > li > a {
    border-color: #444 !important;
}
/* Cart dropdown buttons */
.nav-dropdown .button,
.cart-sidebar .button {
    background-color: #3498db !important;
    color: #fff !important;
}
.nav-dropdown .button.checkout,
.cart-sidebar .button.checkout {
    background-color: #252830 !important;
}
/* Remove item X button */
.nav-dropdown .remove,
.cart-sidebar .remove {
    color: #888 !important;
}
.nav-dropdown .remove:hover,
.cart-sidebar .remove:hover {
    color: #e74c3c !important;
}
/* Subtotal row */
.nav-dropdown .total,
.cart-sidebar .total {
    border-color: #444 !important;
}

/* Mobile off-canvas cart popup - dark theme */
#cart-popup,
.cart-popup-inner,
.off-canvas-cart .mfp-content,
.off-canvas-cart .cart-popup-inner {
    background-color: #141619 !important;
    color: #e0e0e0 !important;
}
.cart-popup-inner--sticky .ux-mini-cart-footer {
    background-color: #141619 !important;
    border-top: 2px solid #24272D !important;
}
.cart-popup-title,
.cart-popup-title .heading-font {
    color: #e0e0e0 !important;
}
#cart-popup .widget_shopping_cart,
#cart-popup .widget_shopping_cart_content {
    background-color: #141619 !important;
}
#cart-popup .woocommerce-mini-cart,
#cart-popup .product_list_widget {
    background-color: #141619 !important;
}
#cart-popup .woocommerce-mini-cart-item,
#cart-popup .mini_cart_item {
    background-color: #141619 !important;
    border-color: #444 !important;
}
#cart-popup a,
#cart-popup .product-title,
#cart-popup .quantity,
#cart-popup .amount,
#cart-popup .woocommerce-Price-amount {
    color: #e0e0e0 !important;
}
#cart-popup .is-divider {
    background-color: #444 !important;
    border-color: #444 !important;
}
#cart-popup .woocommerce-mini-cart__total,
#cart-popup .total {
    color: #e0e0e0 !important;
    border-color: #444 !important;
}
#cart-popup .button.checkout {
    background-color: #3D8BD3 !important;
    border: none !important;
    color: #fff !important;
    border-radius: 5px !important;
}
#cart-popup .button.checkout:hover {
    background-color: #2d6aa3 !important;
}
#cart-popup .button:not(.checkout) {
    background-color: transparent !important;
    border: 1px solid #666 !important;
    color: #ccc !important;
    border-radius: 5px !important;
}
#cart-popup .button:not(.checkout):hover {
    background-color: rgba(0, 0, 0, 0.3) !important;
    border-color: #888 !important;
}
#cart-popup .remove {
    color: #888 !important;
}
#cart-popup .remove:hover {
    color: #e74c3c !important;
}
/* Empty cart message */
#cart-popup .ux-mini-cart-empty,
#cart-popup .woocommerce-mini-cart__empty-message {
    color: #888 !important;
}
/* Mini-cart "See catalogue" button */
#cart-popup .ux-mini-cart-empty .wc-backward {
    background-color: #3D8BD3 !important;
    border: none !important;
    border-radius: 5px !important;
    color: #fff !important;
    padding: 10px 20px !important;
}
#cart-popup .ux-mini-cart-empty .wc-backward:hover {
    background-color: #2d7bc3 !important;
    color: #fff !important;
}

/* fp_search widget - rounded button */
.fp-search-form button[type="submit"] {
    border-radius: 5px !important;
}

/* ==========================================================================
   MASONRY GRID - Front page releases (Masonry.js with horizontalOrder)
   ========================================================================== */

/* Container - position relative for Masonry absolute positioning */
#fp-releases-list.fp-masonry-grid {
    position: relative;
    width: 100%;
    opacity: 0;
    transition: opacity 0.3s ease;
}
#fp-releases-list.fp-masonry-grid.masonry-ready {
    opacity: 1;
}

/* Grid sizer - invisible element that defines column width */
#fp-releases-list .fp-grid-sizer,
#fp-releases-list .fp-grid-item {
    width: calc(50% - 10px);  /* 2 columns with 20px gutter (10px each side) */
    box-sizing: border-box;
}

/* Grid sizer is invisible */
#fp-releases-list .fp-grid-sizer {
    position: absolute !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Grid items - Masonry will position these absolutely */
#fp-releases-list .fp-grid-item {
    margin-bottom: 30px;
}

/* Article styling within grid items */
#fp-releases-list .fp-grid-item .article-inner {
    background-color: #141619;
    border: 1px solid #444;
    padding: 15px;
    border-radius: 3px;
    margin-bottom: 0;  /* Remove extra margin since .fp-grid-item has margin-bottom */
}

/* Featured image styling */
#fp-releases-list .fp-grid-item .entry-image {
    display: block;
    margin: -15px -15px 15px -15px;  /* Offset padding to make image full-width */
    position: relative;
}
#fp-releases-list .fp-grid-item .entry-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px 3px 0 0;
}

/* Mobile: single column */
@media (max-width: 849px) {
    #fp-releases-list .fp-grid-sizer,
    #fp-releases-list .fp-grid-item {
        width: 100%;
    }
}

/* ==========================================================================
   COMMENTS - Dark theme styling
   ========================================================================== */

/* Comments area container */
.comments-area {
    background-color: transparent;
}

/* Comments title */
.comments-title {
    color: #e0e0e0;
}

/* Individual comment styling */
.comment-list .comment,
.comment-list .comment .comment-inner {
    background-color: #141619 !important;
    color: #b8b8b8;
}

/* Comment content */
.comment-content,
.comment-content p {
    color: #b8b8b8 !important;
    background-color: transparent !important;
}

/* Comment author name */
.comment-author,
.comment-author a,
.comment-author .fn {
    color: #e0e0e0 !important;
}

/* Comment metadata (date, reply link) */
.comment-meta,
.comment-meta a,
.commentmetadata,
.commentmetadata a {
    color: #888 !important;
}
.comment-meta a:hover,
.commentmetadata a:hover {
    color: #3b7dd2 !important;
}

/* Reply link */
.comment-reply-link {
    color: #3b7dd2 !important;
}

/* Comment form */
#respond,
.comment-respond {
    background-color: #141619;
    padding: 20px;
    border-radius: 4px;
}

#respond label,
.comment-respond label {
    color: #e0e0e0;
}

#respond input[type="text"],
#respond input[type="email"],
#respond input[type="url"],
#respond textarea,
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea {
    background-color: #252830 !important;
    border: 1px solid #444 !important;
    color: #e0e0e0 !important;
}

#respond input[type="text"]::placeholder,
#respond textarea::placeholder,
.comment-respond input[type="text"]::placeholder,
.comment-respond textarea::placeholder {
    color: #666;
}

/* Reply title */
#reply-title,
.comment-reply-title {
    color: #e0e0e0;
}

/* ==========================================================================
   CATEGORY SHOWCASE - Front page category blocks (banner style)
   ========================================================================== */

/* Container - constrained to site width */
.fp-category-showcase {
    margin: 40px auto;
    max-width: 1080px;
    padding: 0 15px;
}

/* Individual category block - banner style */
.fp-cat-block {
    display: block;
    position: relative;
    height: 150px;
    margin-bottom: 40px;
    border-radius: 4px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(255,255,255,0.15);
}

/* Image strip - positioned as background */
.fp-cat-images {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    gap: 0;
}

/* Individual thumbnail - fill banner height */
.fp-cat-images img {
    width: 20%;
    height: 100%;
    object-fit: cover;
    flex-shrink: 0;
}

/* Darkening overlay */
.fp-cat-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.55);
    transition: background 0.3s ease;
}
.fp-cat-block:hover .fp-cat-overlay {
    background: rgba(0,0,0,0.4);
}

/* Text container - centered overlay */
.fp-cat-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
    width: 90%;
}

/* Category title - text shadow for readability */
.fp-cat-text h3 {
    margin: 0;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* Category description - text shadow for readability */
.fp-cat-text h4 {
    margin: 0;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

/* Mobile adjustments */
@media (max-width: 849px) {
    .fp-cat-block {
        height: 120px;
    }
    .fp-cat-text h3 {
        font-size: 0.7em;
    }
    .fp-cat-text h4 {
        font-size: 0.7em;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    /* Home page banner title */
    .home .banner .text-box h1 span {
        font-size: 120% !important;  /* Override inline 180% */
    }
    .home .banner .text-box h4 {
        font-size: 1.05em;
    }
}

/* Homepage banner text color */
.home .banner .text-box h1,
.home .banner .text-box h1 a {
    color: #f0f0f0 !important;
}

/* ==========================================================================
   SITE BANNER - Full width banner on all pages
   ========================================================================== */

.fp-site-banner {
    position: relative;
    width: 100%;
    max-width: 2680px;
    margin: 0 auto 20px auto;
    height: 200px;
    overflow: hidden;
}

/* Image grid - 2 rows of 150x100 images (3:2 ratio) */
.fp-banner-images {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    grid-template-rows: 100px 100px;
    grid-auto-flow: column;
    grid-auto-columns: 150px;
}

.fp-banner-images img {
    width: 150px;
    height: 100px;
    object-fit: cover;
}

/* Darkening overlay */
.fp-banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.65);
}

/* Text container - centered, slightly raised */
.fp-banner-text {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
    width: 90%;
}

.fp-banner-text h1 {
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.fp-banner-text h4 {
    margin: 0;
    font-size: 0.85em;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* Mobile adjustments */
@media (max-width: 849px) {
    .fp-site-banner {
        height: 150px;
    }
    .fp-banner-images {
        grid-template-rows: 75px 75px;
        grid-auto-columns: 112px;
    }
    .fp-banner-images img {
        width: 112px;
        height: 75px;
    }
    .fp-banner-text h1 span {
        font-size: 140% !important;
    }
}

/* Hide sidebar on mobile/tablet */
@media (max-width: 849px) {
    #secondary,
    .sidebar,
    .large-3 {
        display: none;
    }
    /* Make main content full width when sidebar hidden */
    .archive .row .large-9,
    .home .row .large-9,
    .single-post .row .large-9,
    .page .row .large-9,
    .large-9,
    .large-8 {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Category archive - left align title and description */
.category .page-title,
.category .taxonomy-description {
    text-align: left;
}

/* Page featured image - inside content container, edge to edge */
.page-featured-image {
    margin: -20px -20px 30px -20px;
}
.page-featured-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px 3px 0 0;
}

/* Wrestler grid - responsive */
.fp-wrestler-grid {
  display: grid;
  grid-template-columns: repeat(4, 150px);
  gap: 15px;
  justify-content: center;
}

@media (max-width: 900px) {
  .fp-wrestler-grid {
    grid-template-columns: repeat(3, 150px);
  }
}

@media (max-width: 600px) {
  .fp-wrestler-grid {
    grid-template-columns: repeat(2, 150px);
  }
}

@media (max-width: 350px) {
  .fp-wrestler-grid {
    grid-template-columns: 150px;
  }
}

.fp-wrestler-grid .fp-wrestler-item {
  border: 1px solid #444;
}

.fp-wrestler-grid .fp-wrestler-link {
  all: unset !important;
  cursor: pointer !important;
  display: block !important;
}

.fp-wrestler-grid .fp-wrestler-link img {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fp-wrestler-grid .fp-wrestler-caption {
  text-align: center !important;
  border-top: 1px solid #444 !important;
  padding: 0 5px !important;
  margin: 0 !important;
  height: 36px !important;
  line-height: 36px !important;
  display: block !important;
  color: #e0e0e0 !important;
}

.fp-wrestler-grid .fp-wrestler-link:hover .fp-wrestler-caption {
  color: #7ec8e8 !important;
}

.fp-wrestler-grid .fp-wrestler-caption b {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 36px !important;
  color: inherit !important;
}

/* Fix long names */
.fp-wrestler-grid .fp-wrestler-caption {
  text-align: center !important;
  border-top: 1px solid #444 !important;
  padding: 0 5px !important;
  margin: 0 !important;
  min-height: 36px !important;
  line-height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #e0e0e0 !important;
}

/* New wrestler highlight */
.fp-wrestler-item.fp-new {
  border: 1px solid rgba(0, 200, 255, 0.4) !important;
  box-shadow: 0 0 5px rgba(0, 200, 255, 0.9), 0 0 15px rgba(0, 200, 255, 0.6), 0 0 30px rgba(0, 200, 255, 0.4), 0 0 50px rgba(0, 200, 255, 0.2);
}

/* Wrestler videos shortcode */
.fp-wrestler-videos {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.fp-wv-item {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 15px;
    background: #141619;
    border: 1px solid #444;
    border-radius: 3px;
    padding: 12px;
}
.fp-wv-image {
    flex-shrink: 0;
}
.fp-wv-image img {
    width: 150px;
    height: auto;
    border-radius: 2px;
    display: block;
}
.fp-wv-content {
    flex: 1;
}
.fp-wv-title {
    margin: 0;
    font-size: 1.4em;
}
.fp-wv-title a {
    color: #5dade2 !important;
    text-decoration: none;
}
.fp-wv-title a:hover {
    color: #7ec8e8 !important;
}
.fp-wv-meta {
    font-size: 0.9em;
    color: #888;
}
.fp-wv-excerpt {
    color: #b8b8b8;
    font-size: 0.95em;
    line-height: 1.5;
}
.fp-wv-cart .button {
    font-size: 0.85em;
    padding: 6px 12px;
}

/* Mobile: stack vertically */
@media (max-width: 600px) {
    .fp-wv-item {
        flex-direction: column;
    }
    .fp-wv-image img {
        width: 100%;
        max-width: 200px;
    }
}

/* Wrestler videos Load More button */
.fp-wv-load-more {
    padding: 12px 30px !important;
    background: linear-gradient(to bottom, #3498db 0%, #5a6fad 100%) !important;
    border: none !important;
}

/* Add to Cart buttons - Blue with rounded corners */
.button.add_to_cart_button,
.button.product_type_simple,
.single_add_to_cart_button,
.add_to_cart_button,
.button.ajax_add_to_cart {
    background-color: #3D8BD3 !important;
    border-radius: 5px !important;
}
.button.add_to_cart_button:hover,
.button.product_type_simple:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.button.ajax_add_to_cart:hover {
    background-color: #2d7bc3 !important;
}

/* ==========================================================================
   WRESTLER SIDEBAR WIDGETS
   ========================================================================== */

.fp-sidebar-widget {
    background: #141619;
    border: 1px solid #444;
    border-radius: 3px;
    padding: 15px;
    margin-bottom: 20px;
}

/* Mobile/Desktop visibility for stats */
.fp-mobile-only {
    display: none;
}
.fp-desktop-only {
    display: block;
}

@media (max-width: 849px) {
    .fp-mobile-only {
        display: block;
    }
    .fp-desktop-only {
        display: none;
    }
}
.fp-sidebar-widget .widget-title {
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #444;
    color: #e0e0e0;
    font-size: 1.4em;
}

/* Stats Widget */
.fp-wrestler-stats .fp-stats-table {
    width: 100%;
    border-collapse: collapse;
}
.fp-wrestler-stats .fp-stats-table td {
    padding: 8px 0;
    border-bottom: 1px solid #333;
    color: #b8b8b8;
    font-size: 0.9em;
}
.fp-wrestler-stats .fp-stats-table tr:last-child td {
    border-bottom: none;
    padding-bottom: 0;
}
.fp-wrestler-stats .fp-stats-table td:first-child {
    color: #888;
    width: 40%;
}
.fp-wrestler-stats .fp-stats-table td:first-child strong {
    font-weight: 600;
    color: #aaa;
}

/* Owned count styling in stats table */
.fp-owned-count,
.fp-none-owned {
    float: right;
    font-size: 0.85em;
    position: relative;
}
.fp-owned-count {
    color: #27ae60;
}
.fp-none-owned {
    color: #b8b8b8;
}
.fp-owned-count:hover::after,
.fp-none-owned:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    right: 0;
    background: #222;
    color: #ccc;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.85em;
    white-space: nowrap;
    z-index: 10;
    margin-bottom: 4px;
}

/* Wrestler page column widths - 68/32 split */
.wrestler-layout > .col.large-8 {
    max-width: 68% !important;
    flex-basis: 68% !important;
}
.wrestler-layout > .col.large-4 {
    max-width: 32% !important;
    flex-basis: 32% !important;
}

/* Mobile: full width when sidebar hidden */
@media (max-width: 849px) {
    .wrestler-layout > .col.large-8 {
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
}

/* ==========================================================================
   WRESTLER PROFILE PAGE - Hero block (inside column)
   ========================================================================== */

/* Hero block container */
.fp-wrestler-hero-block {
    margin-bottom: 1.5rem;
}

/* Hero image container - rounded corners */
.fp-hero-image-container {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #444;
    background: #141619;
}

/* Hero image */
.fp-hero-image {
    width: 100%;
    height: auto;
    display: block;
}

/* Name overlay - gradient at bottom */
.fp-wrestler-name-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 3rem 1.5rem 1.25rem;
    background: linear-gradient(to top, rgba(12,14,18,0.98) 0%, transparent 100%);
}

/* Wrestler name - large, uses site heading font (Teko) */
.fp-wrestler-name {
    font-family: 'Teko', sans-serif;
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
}

/* Tagline below name */
.fp-wrestler-tagline {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.85rem;
    margin: 0.35rem 0 0 0;
}

/* Mobile adjustments */
@media (max-width: 700px) {
    .fp-wrestler-name {
        font-size: 1.75rem;
        letter-spacing: 2px;
    }
    .fp-wrestler-tagline {
        font-size: 0.7rem;
    }
    .fp-wrestler-name-overlay {
        padding: 2rem 1rem 1rem;
    }
}

/* Bio section - card style */
.fp-bio-section {
    background: #141619;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}
.fp-bio-section p {
    line-height: 1.7;
    margin: 0;
    color: #b8b8b8;
}

/* Gallery section - expandable */
.fp-gallery-section {
    margin-bottom: 1.5rem;
}

/* Gallery wrapper - collapsible */
.fp-gallery-wrapper {
    position: relative;
    background: #141619;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 15px;
    padding-bottom: 55px;
}

/* Gallery inner content */
.fp-gallery-inner {
    position: relative;
}

/* Collapsed state - show ~1.5 rows */
.fp-gallery-wrapper[data-collapsed="true"] .fp-gallery-inner {
    max-height: 240px;
    overflow: hidden;
}

/* Expanded state */
.fp-gallery-wrapper[data-collapsed="false"] .fp-gallery-inner {
    max-height: none;
    padding-bottom: 10px;
}

/* Fade overlay - gradient darkening */
.fp-gallery-fade {
    position: absolute;
    bottom: 55px;
    left: 15px;
    right: 15px;
    height: 100px;
    background: linear-gradient(to bottom, transparent 0%, #141619 90%);
    pointer-events: none;
    transition: opacity 0.3s;
}
.fp-gallery-wrapper[data-collapsed="false"] .fp-gallery-fade {
    opacity: 0;
}

/* Toggle button - blue tint */
.fp-gallery-toggle {
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    padding: 10px;
    background: transparent;
    border: 1px solid #3b7dd2;
    border-radius: 4px;
    color: #5dade2;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}
.fp-gallery-toggle:hover {
    background-color: rgba(59, 125, 210, 0.15);
    color: #7ec8e8;
}

/* Toggle text visibility */
.fp-gallery-wrapper[data-collapsed="true"] .fp-hide-text {
    display: none;
}
.fp-gallery-wrapper[data-collapsed="false"] .fp-show-text {
    display: none;
}

/* Featured Videos Section */
.fp-featured-videos {
    margin-bottom: 1.5rem;
}

/* Shared section header style */
.fp-featured-header,
.fp-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #444;
}

.fp-featured-header .fp-featured-title,
.fp-section-header .fp-section-title {
    margin: 0;
    font-family: 'Teko', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
}

/* "See all" button-style link */
.fp-featured-header .fp-see-all-link {
    display: inline-block;
    padding: 6px 14px;
    background: transparent;
    border: 1px solid #3D8BD3;
    border-radius: 4px;
    color: #888;
    text-decoration: none;
    font-size: 0.9rem;
    white-space: nowrap;
    transition: all 0.2s;
}

.fp-featured-header .fp-see-all-link:hover {
    border-color: #5dade2;
    color: #5dade2;
    background: rgba(61, 139, 211, 0.15);
}

.fp-featured-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.fp-featured-card {
    display: flex;
    flex-direction: column;
    background: #141619;
    border: 1px solid #444;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.2s;
}

.fp-featured-card:hover {
    border-color: #5dade2;
}

.fp-featured-card a {
    text-decoration: none;
    color: inherit;
}

.fp-featured-card .fp-featured-thumb {
    display: block;
    overflow: hidden;
}

.fp-featured-card .fp-featured-thumb img {
    width: 100%;
    height: auto;
    display: block;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.3s ease;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.fp-featured-card:hover .fp-featured-thumb img {
    transform: scale(1.05);
}

.fp-featured-card .fp-featured-info {
    padding: 12px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.fp-featured-card .fp-featured-meta {
    margin-top: auto;
}

.fp-featured-card .fp-featured-card-title {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.fp-featured-card .fp-featured-card-title a {
    color: #5dade2;
}

.fp-featured-card .fp-featured-card-title a:hover {
    color: #7ec8e8;
}

.fp-featured-card .fp-featured-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
}

.fp-featured-card .fp-featured-category {
    color: #888;
}

.fp-featured-card .fp-featured-price {
    color: #5dade2;
    font-weight: 600;
}

/* Responsive - 2 columns on tablet, 1 on mobile */
@media (max-width: 849px) {
    .fp-featured-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 549px) {
    .fp-featured-grid {
        grid-template-columns: 1fr;
    }

    .fp-featured-header .fp-featured-title {
        font-size: 1.5rem;
    }
}

/* Cart button - small blue square */
.fp-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #3D8BD3;
    border-radius: 4px;
    color: #fff;
    text-decoration: none;
    flex-shrink: 0;
    transition: background-color 0.2s;
}

.fp-cart-btn:hover {
    background: #5dade2;
    color: #fff;
}

.fp-cart-btn.added {
    background: #27ae60;
}

/* Photoset cart button - orange */
.fp-cart-btn.fp-cart-btn-photo {
    background-color: rgba(243, 156, 18, 0.75) !important;
}
.fp-cart-btn.fp-cart-btn-photo:hover {
    background-color: rgba(243, 156, 18, 0.9) !important;
}

.fp-cart-btn svg {
    width: 16px;
    height: 16px;
}

/* Owned checkmark */
.fp-owned-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #27ae60;
    flex-shrink: 0;
}

.fp-owned-btn svg {
    width: 24px;
    height: 24px;
    stroke-width: 3;
}

/* In cart icon - clickable, opens cart sidebar */
.fp-incart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border: 1px solid #555;
    border-radius: 5px;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}
.fp-incart-btn:hover {
    border-color: #888;
    background: rgba(255, 255, 255, 0.05);
}

/* Purchased items - green border */
.fp-featured-card.fp-purchased {
    border-color: #27ae60;
}

.fp-top-seller-item.fp-purchased {
    border-color: #27ae60;
}

/* Featured videos - meta row with cart button */
.fp-featured-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 8px;
    position: relative;
    min-height: 32px;
}

.fp-featured-meta-left {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 0.85rem;
    color: #888;
}

.fp-featured-date {
    color: #999;
    order: 1;
}

.fp-featured-meta-row2 {
    display: flex;
    gap: 8px;
    order: 2;
}

.fp-featured-category {
    color: #888;
}

.fp-featured-duration {
    color: #666;
}

.fp-featured-duration::before {
    content: "⏱ ";
}

/* Bestsellers widget - 2-row layout */
.fp-top-sellers-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fp-top-seller-item {
    background: #141619;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 10px;
}

/* Row 1: Title + cart button */
.fp-ts-row1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}

.fp-top-seller-item a.fp-ts-title {
    flex: 1;
    font-size: 0.95rem;
    font-weight: 600;
    color: #5dade2 !important;
    text-decoration: none;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fp-top-seller-item a.fp-ts-title:hover {
    color: #7ec8e8 !important;
}

/* Row 2: Thumbnail + meta + cart */
.fp-ts-row2 {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.fp-ts-thumb {
    flex-shrink: 0;
    width: 100px;
    border-radius: 4px;
    overflow: hidden;
}

.fp-ts-thumb img {
    width: 100%;
    display: block;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.fp-ts-meta {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 0.8rem;
    color: #999;
}

.fp-ts-category {
    color: #999;
}

.fp-ts-date {
    color: #888;
}

.fp-ts-duration {
    color: #888;
}

.fp-ts-duration::before {
    content: "⏱ ";
}

/* Price + Action Column (shared by multiple shortcodes) */
.fp-action-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.fp-price {
    font-size: 0.8rem;
    white-space: nowrap;
    color: #888 !important;
    font-weight: 400 !important;
}

.fp-price .woocommerce-Price-amount,
.fp-price .amount,
.fp-price bdi {
    font-weight: 400 !important;
    color: #888 !important;
}

.fp-price del {
    color: #666;
    font-weight: 400;
    font-size: 0.75rem;
}

.fp-price ins {
    text-decoration: none;
}

/* ==========================================================================
   SIDEBAR BESTSELLERS - Vertical stacked layout with hover description
   ========================================================================== */

.fp-sidebar-bestsellers {
    background: #141619;
    border: 1px solid #444;
    border-radius: 3px;
    padding: 15px;
    margin-bottom: 20px;
}

.fp-sidebar-bestsellers .widget-title {
    font-size: 1.1em;
}

/* Flatsome custom HTML widgets with titles - match our sidebar style */
/* Only target widgets that have span.widget-title (not our shortcode widgets) */
.widget.widget_custom_html:has(> span.widget-title) {
    background: #141619;
    border: 1px solid #444;
    border-radius: 3px;
    padding: 15px;
    margin-bottom: 20px;
}

.widget.widget_custom_html > span.widget-title {
    display: block;
    margin: 0 0 10px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #444;
}

.widget.widget_custom_html > span.widget-title,
.widget.widget_custom_html > span.widget-title span {
    color: #f0f0f0 !important;
    font-family: Teko, sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.widget.widget_custom_html > .is-divider {
    display: none;
}

.widget.widget_custom_html:has(> span.widget-title) .textwidget {
    color: #b8b8b8;
    font-size: 0.85rem;
    line-height: 1.5;
}

.widget.widget_custom_html:has(> span.widget-title) .textwidget blockquote,
.widget.widget_custom_html:has(> span.widget-title) .textwidget dl,
.widget.widget_custom_html:has(> span.widget-title) .textwidget figure,
.widget.widget_custom_html:has(> span.widget-title) .textwidget form,
.widget.widget_custom_html:has(> span.widget-title) .textwidget ol,
.widget.widget_custom_html:has(> span.widget-title) .textwidget p,
.widget.widget_custom_html:has(> span.widget-title) .textwidget pre,
.widget.widget_custom_html:has(> span.widget-title) .textwidget ul {
    margin-bottom: 0;
}

.widget.widget_custom_html:has(> span.widget-title) .textwidget a {
    color: #5dade2;
}

.widget.widget_custom_html:has(> span.widget-title) .textwidget a:hover {
    color: #7ec8e8;
}

/* Sidebar newsletter form - match homepage style */
.widget.widget_custom_html .mc4wp-form input[type="email"] {
    width: 100%;
    padding: 10px 12px;
    font-size: 0.85rem;
    border-radius: 5px;
    border: 1px solid #444;
    background: #1a1d24;
    color: #cfcfcf;
    margin-bottom: 8px;
}

.widget.widget_custom_html .mc4wp-form input[type="email"]::placeholder {
    color: #888;
}

.widget.widget_custom_html .mc4wp-form input[type="email"]:focus {
    outline: none;
    border-color: #5dade2;
}

.widget.widget_custom_html .mc4wp-form input[type="submit"] {
    width: 100%;
    padding: 10px 20px;
    font-size: 0.85rem;
    border-radius: 5px;
    background: rgba(39, 174, 96, 0.8) !important;
    border: 1px solid rgba(39, 174, 96, 0.6);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
}

.widget.widget_custom_html .mc4wp-form input[type="submit"]:hover {
    background: rgba(46, 204, 113, 0.95) !important;
}

/* Sidebar Newsletter Shortcode Widget */
.fp-sidebar-newsletter {
    background: #141619;
    border: 1px solid #444;
    border-radius: 3px;
    padding: 15px;
    margin-bottom: 20px;
}

.fp-sidebar-newsletter .widget-title {
    display: block;
    margin: 0 0 10px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #444;
    color: #f0f0f0;
    font-family: Teko, sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
}

.fp-sidebar-newsletter p {
    color: #b8b8b8;
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 10px;
}

.fp-sidebar-newsletter blockquote,
.fp-sidebar-newsletter dl,
.fp-sidebar-newsletter figure,
.fp-sidebar-newsletter form,
.fp-sidebar-newsletter ol,
.fp-sidebar-newsletter p,
.fp-sidebar-newsletter pre,
.fp-sidebar-newsletter ul {
    margin-bottom: 0;
}

.fp-sidebar-newsletter .mc4wp-form input[type="email"] {
    width: 100%;
    padding: 10px 12px;
    font-size: 0.85rem;
    border-radius: 5px;
    border: 1px solid #444;
    background: #1a1d24;
    color: #cfcfcf;
    margin-bottom: 8px;
}

.fp-sidebar-newsletter .mc4wp-form input[type="email"]::placeholder {
    color: #888;
}

.fp-sidebar-newsletter .mc4wp-form input[type="email"]:focus {
    outline: none;
    border-color: #5dade2;
}

.fp-sidebar-newsletter .mc4wp-form input[type="submit"] {
    width: 100%;
    padding: 10px 20px;
    font-size: 0.85rem;
    border-radius: 5px;
    background: rgba(39, 174, 96, 0.8) !important;
    border: 1px solid rgba(39, 174, 96, 0.6);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
}

.fp-sidebar-newsletter .mc4wp-form input[type="submit"]:hover {
    background: rgba(46, 204, 113, 0.95) !important;
}

/* Hide empty shortcode widgets */
.widget:has(.shortcode:empty),
.widget .shortcode:empty {
    display: none;
}

.fp-sb-list {
    display: flex;
    flex-direction: column;
}

.fp-sb-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 15px 0;
    border-bottom: 1px solid #333;
}

.fp-sb-item:first-child {
    padding-top: 0;
}

.fp-sb-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Row 1: Title */
.fp-sb-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #5dade2 !important;
    text-decoration: none;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fp-sb-title:hover {
    color: #7ec8e8 !important;
}

/* Row 2: Thumbnail */
.fp-sb-thumb-wrap {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    display: block;
}

.fp-sb-thumb img {
    width: 100%;
    display: block;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.fp-sb-duration {
    position: absolute;
    bottom: 6px;
    right: 6px;
    background: rgba(0, 0, 0, 0.5);
    color: #ddd;
    padding: 2px 6px;
    font-size: 0.7rem;
    border-radius: 3px;
}

.fp-sb-rank {
    position: absolute;
    top: 0;
    right: 0;
    width: 22px;
    height: 22px;
    background: rgba(243, 156, 18, 0.5);
    color: #d0d0d0;
    font-weight: 600;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    z-index: 3;
}

.fp-sb-owned {
    position: absolute;
    top: 0;
    left: 0;
    width: 22px;
    height: 22px;
    background: rgba(39, 174, 96, 0.6);
    color: #d0d0d0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    z-index: 3;
}

.fp-sb-description {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 50px 10px 10px;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.8) 60%, transparent 100%);
    color: #cfcfcf;
    font-size: 0.8rem;
    line-height: 1.4;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s, transform 0.3s;
}

.fp-sb-thumb-wrap:hover .fp-sb-description {
    opacity: 1;
    transform: translateY(0);
}

/* Row 3: Category (left) + Date (right) */
.fp-sb-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.75rem;
}

.fp-sb-category {
    color: #999;
}

.fp-sb-date {
    color: #777;
}

/* ==========================================================================
   VIDEO GRID - Universal video listing with filters
   ========================================================================== */

.fp-videos-grid-wrap {
    /* No max-width - inherits from page container */
}

#fp-all-videos {
    margin-top: -25px;
}

/* Remove gap from section header inside video grid */
.fp-videos-grid-wrap .fp-section-header {
    margin-bottom: 1rem;
}

/* Title count badge (inline with section title) */
.fp-vg-title-count {
    background: #5dade2;
    color: #fff;
    font-family: 'Barlow', sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    padding: 0.15rem 0.4rem;
    border-radius: 3px;
    margin-left: 0.5rem;
    vertical-align: middle;
}

/* Filter bar - two-part layout */
.fp-vg-filters {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: #141619;
    border: 1px solid #444;
    border-radius: 6px;
}

.fp-vg-left {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.fp-vg-right {
    display: flex;
    align-items: center;
}

/* Labels */
.fp-vg-label {
    color: #888 !important;
    font-size: 0.75rem;
    font-weight: 400;
}

.fp-vg-label-cat {
    margin-left: 1rem;
}

/* Dropdowns - minimum width */
.fp-vg-sort,
.fp-vg-category {
    padding: 0.35rem 1.5rem 0.35rem 0.5rem;
    margin: 0;
    min-width: 140px;
    background-color: #141619 !important;
    border: 1px solid #444;
    border-radius: 3px;
    color: #e0e0e0 !important;
    font-size: 0.8rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.4rem center !important;
    transition: none !important;
}

.fp-vg-sort:focus,
.fp-vg-category:focus,
.fp-vg-sort:active,
.fp-vg-category:active {
    outline: none;
    border-color: #5dade2;
    background-color: #141619 !important;
    color: #e0e0e0 !important;
}

.fp-vg-sort option,
.fp-vg-category option {
    background-color: #141619 !important;
    color: #e0e0e0 !important;
}

/* Search - right side, fixed width */
.fp-vg-search {
    width: 150px;
    padding: 0.35rem 0.5rem;
    margin: 0;
    background-color: #141619 !important;
    border: 1px solid #444;
    border-radius: 3px;
    color: #e0e0e0 !important;
    font-size: 0.8rem;
    transition: none !important;
}

.fp-vg-search:focus {
    outline: none;
    border-color: #5dade2;
    background-color: #141619 !important;
}

.fp-vg-search::placeholder {
    color: #555;
}

/* Grid layout - 4 columns */
.fp-vg-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 1100px) {
    .fp-vg-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 800px) {
    .fp-vg-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .fp-vg-grid {
        grid-template-columns: 1fr;
    }
}

/* Video card */
.fp-vg-card {
    background: #141619;
    border: 1px solid #444;
    border-radius: 6px;
    overflow: hidden;
    transition: border-color 0.2s, transform 0.2s;
    display: flex;
    flex-direction: column;
}

.fp-vg-card:hover {
    border-color: #5dade2;
}

.fp-vg-card.fp-purchased {
    border-color: #27ae60;
}

/* Thumbnail wrapper */
.fp-vg-thumb-wrap {
    display: block;
    position: relative;
    overflow: hidden;
}

.fp-vg-thumb {
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.fp-vg-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

/* Image zoom on hover removed - kept static */

/* Duration badge */
.fp-vg-duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 400;
    padding: 3px 8px;
    border-radius: 3px;
}

/* Description overlay on hover */
.fp-vg-description {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 60px 12px 12px;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.8) 60%, transparent 100%);
    color: #cfcfcf;
    font-size: 0.8rem;
    line-height: 1.4;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s, transform 0.3s;
}

.fp-vg-card:hover .fp-vg-description {
    opacity: 1;
    transform: translateY(0);
}

/* Card info section */
.fp-vg-info {
    padding: 12px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.fp-vg-title {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.fp-vg-title a {
    color: #5dade2;
    text-decoration: none;
}

.fp-vg-title a:hover {
    color: #7ec8e8;
}

table.fp-vg-meta {
    font-size: 0.8rem;
    color: #888;
    margin-bottom: 10px;
    border-collapse: collapse;
    border: none;
}

table.fp-vg-meta tr,
table.fp-vg-meta td {
    border: none !important;
    padding: 1px 0;
}

table.fp-vg-meta td:first-child {
    width: 30%;
    padding-right: 8px;
    color: #888;
}

table.fp-vg-meta td:last-child {
    color: #cfcfcf;
}

/* Product rows */
.fp-vg-products {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 10px;
    border-top: 1px solid #333;
    margin-top: auto;
}

.fp-vg-product-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fp-vg-product-row + .fp-vg-product-row {
    margin-top: 6px;
}

/* Photoset (second row) add to cart button - orange */
.fp-vg-product-row + .fp-vg-product-row .add_to_cart_button {
    background-color: rgba(243, 156, 18, 0.75) !important;
}
.fp-vg-product-row + .fp-vg-product-row .add_to_cart_button:hover {
    background-color: rgba(243, 156, 18, 0.9) !important;
}

/* View cart link - consistent color site-wide */
a.added_to_cart {
    color: #5dade2 !important;
}
a.added_to_cart:hover {
    color: #7ec8e8 !important;
}

/* Video grid: smaller View cart, prevent row shift */
.fp-vg-product-row {
    position: relative;
    min-height: 32px;
}
/* Hide View cart on all grids - we swap to in-cart icon via JS */
.fp-vg-product-row a.added_to_cart,
.fp-featured-meta a.added_to_cart,
.fp-ts-row2 a.added_to_cart {
    display: none !important;
}

.fp-vg-icon {
    opacity: 0.6;
    vertical-align: -2px;
    margin-right: 2px;
}

.fp-vg-product-row.fp-purchased {
    opacity: 0.7;
}

.fp-vg-product-row.fp-vg-na {
    opacity: 0.5;
}

.fp-vg-placeholder {
    display: inline-block;
    width: 32px;
    height: 32px;
}

.fp-vg-product-label {
    font-size: 0.8rem;
    color: #888;
    min-width: 27%;
}

.fp-vg-product-price {
    flex: 1;
    font-size: 0.85rem;
    color: #cfcfcf;
}

.fp-vg-product-price .woocommerce-Price-amount,
.fp-vg-product-price .amount,
.fp-vg-product-price bdi {
    font-weight: 400 !important;
    color: #cfcfcf !important;
}

/* Footer with load more */
.fp-vg-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #333;
}

.fp-vg-load-more {
    padding: 12px 40px;
    background: transparent;
    border: 2px solid #444;
    border-radius: 4px;
    color: #cfcfcf;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.fp-vg-load-more:hover {
    border-color: #5dade2;
    color: #5dade2;
}

.fp-vg-count {
    font-size: 0.85rem;
    color: #666;
}

.fp-vg-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 2rem;
    color: #666;
}

/* ============================================================================
   BROWSE VIDEOS PAGE
   ============================================================================ */

.fp-browse-wrap {
    max-width: 95%;
    margin: 0 auto;
}

/* Filter Form */
.fp-browse-filters {
    background: #141619;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 20px;
}

.fp-browse-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
}

.fp-browse-filter-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.fp-browse-filter-item label {
    font-size: 0.75rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.fp-browse-select,
.fp-browse-input {
    background: #141619;
    border: 1px solid #444;
    border-radius: 4px;
    color: #cfcfcf;
    padding: 10px 12px;
    font-size: 0.9rem;
    min-width: 180px;
}

.fp-browse-tag-select {
    min-width: 250px;
}

.fp-browse-input {
    min-width: 150px;
}

.fp-browse-select:focus,
.fp-browse-input:focus {
    outline: none;
    border-color: #5dade2;
}

.fp-browse-submit-item {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
}

.fp-browse-btn {
    background: #3D8BD3;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.fp-browse-btn:hover {
    background: #5dade2;
}

.fp-browse-clear {
    color: #888;
    font-size: 0.85rem;
    text-decoration: none;
}

.fp-browse-clear:hover {
    color: #cfcfcf;
}

/* Results Summary */
.fp-browse-summary {
    margin-bottom: 20px;
    padding: 10px 0;
    border-bottom: 1px solid #333;
    color: #888;
    font-size: 0.9rem;
}

.fp-browse-count {
    color: #cfcfcf;
}

.fp-browse-active-filters strong {
    color: #5dade2;
}

/* Video Grid */
.fp-browse-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

@media (max-width: 1100px) {
    .fp-browse-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .fp-browse-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .fp-browse-filter-row {
        flex-direction: column;
    }
    .fp-browse-select,
    .fp-browse-input,
    .fp-browse-tag-select {
        min-width: 100%;
        width: 100%;
    }
}

@media (max-width: 500px) {
    .fp-browse-grid {
        grid-template-columns: 1fr;
    }
}

/* Video Card */
.fp-browse-card {
    background: #141619;
    border: 1px solid #444;
    border-radius: 6px;
    overflow: hidden;
    transition: border-color 0.2s;
}

.fp-browse-card:hover {
    border-color: #5dade2;
}

.fp-browse-thumb {
    position: relative;
    overflow: hidden;
}

.fp-browse-thumb img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s;
}

.fp-browse-card:hover .fp-browse-thumb img {
    transform: scale(1.05);
}

.fp-browse-duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 0.75rem;
}

.fp-browse-info {
    padding: 12px;
}

.fp-browse-title {
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.fp-browse-title a {
    color: #5dade2;
    text-decoration: none;
}

.fp-browse-title a:hover {
    color: #7ec8e8;
}

.fp-browse-meta {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: #888;
}

.fp-browse-cat {
    color: #666;
}

/* Pagination */
.fp-browse-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 20px 0;
}

.fp-browse-page-link {
    display: inline-block;
    padding: 8px 12px;
    background: #141619;
    border: 1px solid #444;
    border-radius: 4px;
    color: #cfcfcf;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.2s;
}

.fp-browse-page-link:hover {
    border-color: #5dade2;
    color: #5dade2;
}

.fp-browse-page-link.fp-browse-current {
    background: #5dade2;
    border-color: #5dade2;
    color: #fff;
}

.fp-browse-ellipsis {
    color: #666;
    padding: 0 5px;
}

.fp-browse-prev,
.fp-browse-next {
    font-weight: 600;
}

/* Empty State */
.fp-browse-empty {
    text-align: center;
    padding: 40px 20px;
    color: #888;
}

.fp-browse-empty a {
    color: #5dade2;
}

/* Video grid pagination */
.fp-vg-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 25px 0;
    flex-wrap: wrap;
}

.fp-vg-page-link {
    display: inline-block;
    padding: 8px 14px;
    background: #252830;
    color: #cfcfcf;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #444;
    transition: all 0.2s ease;
    font-size: 14px;
}

.fp-vg-page-link:hover {
    background: #3D8BD3;
    border-color: #3D8BD3;
    color: #fff;
}

.fp-vg-page-link.fp-vg-current {
    background: #3D8BD3;
    border-color: #3D8BD3;
    color: #fff;
    cursor: default;
}

.fp-vg-ellipsis {
    color: #666;
    padding: 0 5px;
}

/* Video grid tag dropdown - exact match to sort/category */
.fp-vg-tag {
    padding: 0.35rem 1.5rem 0.35rem 0.5rem;
    margin: 0;
    min-width: 140px;
    background-color: #141619 !important;
    border: 1px solid #444;
    border-radius: 3px;
    color: #e0e0e0 !important;
    font-size: 0.8rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.4rem center !important;
}

.fp-vg-tag:focus,
.fp-vg-tag:active {
    outline: none;
    border-color: #5dade2;
    background-color: #141619 !important;
    color: #e0e0e0 !important;
}

.fp-vg-tag option {
    background-color: #141619 !important;
    color: #e0e0e0 !important;
}

.fp-vg-label-tag {
    margin-left: 15px;
}

/* Browse page search input */
#fp-browse-search-input {
    padding: 0.35rem 0.5rem;
    margin: 0;
    width: 220px;
    background-color: #141619 !important;
    border: 1px solid #777;
    border-radius: 3px;
    color: #e0e0e0 !important;
    font-size: 0.8rem;
    box-sizing: border-box;
    vertical-align: middle;
}

#fp-browse-search-input:focus {
    outline: none;
    border-color: #5dade2;
}

/* Video grid search button */
.fp-vg-search-btn {
    padding: 0 1.2rem;
    margin: 0 0 0 8px;
    height: 28px;
    background-color: rgba(52, 152, 219, 0.4) !important;
    border: 1px solid rgba(52, 152, 219, 0.6) !important;
    color: #fff;
    border-radius: 3px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 26px;
    transition: background-color 0.2s;
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
}

.fp-vg-search-btn:hover {
    background-color: rgba(52, 152, 219, 0.6) !important;
}

.fp-vg-label-sort {
    margin-left: 15px;
}

/* Browse page title - larger */
.fp-browse-wrap .fp-vg-title {
    font-size: 1.2rem;
}

/* Browse page clear filters button - purple */
h3 .fp-browse-clear-btn,
.fp-section-title .fp-browse-clear-btn,
.fp-browse-clear-btn {
    color: #e67e22 !important;
    text-decoration: none !important;
    font-size: 0.75em !important;
    font-weight: 300 !important;
    font-style: normal !important;
    letter-spacing: normal !important;
    margin-left: 10px;
}

h3 .fp-browse-clear-btn:hover,
.fp-section-title .fp-browse-clear-btn:hover,
.fp-browse-clear-btn:hover {
    color: #f39c12 !important;
}

/* Browse page active filters indicator */
.fp-browse-active {
    font-weight: normal;
    font-size: 0.85em;
    color: #888;
}

.fp-filter-cat {
    color: rgba(126, 200, 232, 0.85) !important;
}

.fp-filter-tag {
    color: rgba(125, 206, 160, 0.85) !important;
}

.fp-filter-search {
    color: rgba(232, 168, 124, 0.85) !important;
}

/* Section header for browse page */
.fp-section-header {
    margin-bottom: 15px;
}

.fp-section-title {
    font-size: 1.4em;
    color: #cfcfcf;
    margin: 0;
}

/* Responsive adjustments for browse page and video grid headers */
@media (max-width: 768px) {
    .fp-browse-wrap .fp-section-header .fp-section-title,
    .fp-videos-grid-wrap .fp-section-header .fp-section-title {
        font-size: 1.3rem;
    }

    .fp-vg-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .fp-vg-left {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 8px;
    }

    .fp-vg-right {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
        padding-top: 12px;
        border-top: 1px solid #333;
    }

    .fp-vg-right #fp-browse-search-input {
        flex: 1;
        min-width: 0;
    }

    .fp-vg-label-sort {
        width: 100%;
        margin-left: 0;
        margin-top: 4px;
    }

    .fp-vg-label-cat,
    .fp-vg-label-tag {
        margin-left: 0;
    }

    .fp-vg-tag {
        min-width: 100%;
    }

    .fp-vg-pagination {
        gap: 5px;
    }

    .fp-vg-page-link {
        padding: 6px 10px;
        font-size: 13px;
    }
}

/* Very small screens - fix Add to Cart button line height when wrapping */
@media (max-width: 400px) {
    .button.add_to_cart_button,
    .button.product_type_simple,
    .single_add_to_cart_button,
    .add_to_cart_button,
    .button.ajax_add_to_cart {
        line-height: 1.3 !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
}

/* Very small screens - stack search button below input */
@media (max-width: 380px) {
    .fp-vg-right {
        flex-wrap: wrap;
        gap: 8px;
    }

    .fp-vg-right #fp-browse-search-input {
        width: 100%;
        flex: none;
    }

    .fp-vg-search-btn {
        width: 100%;
        margin-left: 0;
    }
}

/* YOP Poll message styling - fix for dark theme */
.basic-yop-poll-container .basic-message {
    background-color: #141619 !important;
    color: #cfcfcf !important;
    border-left-color: #27ae60 !important;
}
.basic-yop-poll-container .basic-message p,
.basic-yop-poll-container .basic-message-text {
    color: #cfcfcf !important;
}

/* Contact Form 7 - Dark theme styling */
.wpcf7 {
    max-width: 600px;
}
.wpcf7 label {
    display: block;
    margin-bottom: 15px;
    color: #cfcfcf;
    font-size: 14px;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea,
.wpcf7 select {
    width: 100%;
    padding: 10px 12px;
    background-color: #141619;
    border: 1px solid #444;
    border-radius: 4px;
    color: #cfcfcf;
    font-family: "Barlow", sans-serif;
    font-size: 14px;
    margin-top: 5px;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    background-color: #141619 !important;
    border-color: #3D8BD3;
    color: #cfcfcf !important;
    outline: none;
}
.wpcf7 textarea {
    min-height: 120px;
    resize: vertical;
}
.wpcf7 select {
    cursor: pointer;
    min-height: 42px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 35px;
}
.wpcf7 input[type="submit"] {
    background-color: #3D8BD3;
    color: #ffffff;
    border: none;
    padding: 12px 30px;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.wpcf7 input[type="submit"]:hover {
    background-color: #2d6aa3;
}
.wpcf7-response-output {
    margin: 15px 0 !important;
    padding: 12px 15px !important;
    border-radius: 4px !important;
}
.wpcf7-mail-sent-ok {
    background-color: #141619 !important;
    border-color: #27ae60 !important;
    color: #cfcfcf !important;
}
.wpcf7-validation-errors,
.wpcf7-spam-blocked {
    background-color: #141619 !important;
    border-color: #c0392b !important;
    color: #cfcfcf !important;
}
.wpcf7-not-valid-tip {
    color: #e74c3c !important;
    font-size: 12px;
    margin-top: 5px;
}

/* Cart and Checkout - lighter body background */
body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart .page-wrapper,
.woocommerce-cart #wrapper,
.woocommerce-cart .main-content,
.woocommerce-cart #main,
.woocommerce-checkout .page-wrapper,
.woocommerce-checkout #wrapper,
.woocommerce-checkout .main-content,
.woocommerce-checkout #main {
    background-color: #141619 !important;
}

/* Hide price and quantity columns in cart */
.woocommerce-cart .product-price,
.woocommerce-cart .product-quantity {
    display: none !important;
}
/* Hide "1 x" on mobile cart */
.woocommerce-cart .mobile-product-price__qty {
    display: none !important;
}

/* Hide update cart button */
.woocommerce-cart button[name="update_cart"] {
    display: none !important;
}

/* Cart buttons - match Add to Cart styling */
.woocommerce-cart .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a,
.woocommerce-checkout #place_order {
    background-color: #3D8BD3 !important;
    border-radius: 5px !important;
}

/* Checkout order review - remove bold from product prices */
.woocommerce-checkout .product-total,
.woocommerce-checkout .product-total .amount,
.woocommerce-checkout .product-total bdi {
    font-weight: normal !important;
}

/* Hide quantity in checkout order review */
.woocommerce-checkout .product-quantity {
    display: none !important;
}

/* Remove bold from checkout form labels */
.woocommerce-checkout form label,
.woocommerce-checkout .woocommerce-form__label,
.woocommerce-checkout .form-row label {
    font-weight: normal !important;
}

/* Underline terms and privacy policy links */
.woocommerce-checkout .privacy a {
    text-decoration: underline;
}

/* Privacy policy text under payment button */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    color: #888;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
    text-decoration: underline;
}

/* Checkout text fields - slight roundness */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection {
    border-radius: 4px !important;
}

/* Order review panel - rounded blue border */
.woocommerce-checkout .col-inner.has-border {
    border-radius: 7px;
}

/* Checkout coupon notice - smaller text */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    font-size: 0.85em;
}

/* Payment method icons */
.payment_method_ccbill .payment_box img,
.payment_method_epoch .payment_box img {
    height: 28px;
    width: auto;
    margin: 4px;
    vertical-align: middle;
}

/* Apply coupon button */
.woocommerce-cart .coupon button,
.woocommerce-cart .coupon .button,
.woocommerce-cart button.is-form,
button[name="apply_coupon"],
.coupon button[type="submit"] {
    background: transparent !important;
    border: 1px solid #666 !important;
    color: #999 !important;
}

.woocommerce-cart .coupon button:hover,
.woocommerce-cart .coupon .button:hover,
.woocommerce-cart button.is-form:hover,
button[name="apply_coupon"]:hover,
.coupon button[type="submit"]:hover {
    border-color: #999 !important;
    color: #fff !important;
}

/* Collapsible coupon toggle */
.fp-coupon-toggle {
    display: inline-block;
    color: #888;
    font-size: 0.9em;
    margin-bottom: 10px;
    cursor: pointer;
}

.fp-coupon-toggle:hover {
    color: #5dade2;
}

/* Cart totals padding */
.woocommerce-cart .cart_totals {
    padding: 20px;
}

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
    padding: 12px 15px;
}

/* Coupon area padding */
.woocommerce-cart .coupon,
.woocommerce-cart .fp-coupon-toggle {
    padding: 20px;
}

.woocommerce-cart .coupon {
    padding-top: 10px;
}

/* Cart remove button */
.cart .remove,
.product-remove a {
    font-size: 0 !important;
    color: transparent !important;
    text-indent: -9999px !important;
    width: 24px !important;
    height: 24px !important;
    border: 1px solid #444 !important;
    border-radius: 50% !important;
    position: relative !important;
    display: inline-block !important;
    overflow: hidden !important;
}

.cart .remove::before,
.cart .remove::after,
.product-remove a::before,
.product-remove a::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 10px !important;
    height: 2px !important;
    background: #666 !important;
}

.cart .remove::before,
.product-remove a::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.cart .remove::after,
.product-remove a::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.cart .remove:hover,
.product-remove a:hover {
    border-color: #c0392b !important;
}

.cart .remove:hover::before,
.cart .remove:hover::after,
.product-remove a:hover::before,
.product-remove a:hover::after {
    background: #c0392b !important;
}

/* Align Product column header with product names */
.woocommerce-cart .shop_table th.product-name {
    padding-left: 32px;
}

/* Product titles in cart */
.woocommerce-cart .shop_table td.product-name a {
    font-weight: 600;
}

/* Linked post under product in cart */
.fp-cart-linked-post {
    color: #888;
    font-size: 0.85em;
    margin-top: 4px;
}

/* Continue shopping button */
a.button-continue-shopping,
.woocommerce a.button.wc-backward {
    background: transparent !important;
    border: 1px solid #444 !important;
    color: #888 !important;
}

a.button-continue-shopping:hover,
.woocommerce a.button.wc-backward:hover {
    border-color: #666 !important;
    color: #fff !important;
}

/* =============================================================================
   MY LIBRARY PAGE
   ============================================================================= */

.fp-my-library {
    padding: 0;
}

.fp-library-header h3 {
    margin: 0 0 20px 0;
    font-size: 1.4rem;
    font-weight: 600;
    color: #fff;
}

.fp-library-count {
    color: #888;
    font-weight: 400;
}

.fp-library-empty {
    text-align: center;
    padding: 40px 20px;
    background: #141619;
    border-radius: 8px;
}

.fp-library-empty p {
    color: #888;
    margin-bottom: 15px;
}

.fp-library-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (max-width: 849px) {
    .fp-library-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

@media (max-width: 549px) {
    .fp-library-grid {
        grid-template-columns: 1fr;
    }
}

.fp-library-card {
    background: #141619;
    border: 1px solid #333;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 0.2s;
}

.fp-library-card:hover {
    border-color: #5dade2;
}

.fp-library-thumb {
    display: block;
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #0c0e12;
}

.fp-library-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Duration badge - matches browse-videos styling */
.fp-library-duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    padding: 3px 8px;
    font-size: 0.75rem;
    font-weight: 400;
    border-radius: 3px;
}

.fp-library-info {
    padding: 12px 15px;
    flex: 1;
}

/* Title - smaller to match wrestler page */
.fp-library-title {
    display: block;
    color: #fff;
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1.3;
    margin-bottom: 8px;
    text-decoration: none;
}

.fp-library-title:hover {
    color: #5dade2;
}

.fp-library-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.8rem;
    color: #888;
}

.fp-library-category {
    color: inherit;
}

.fp-library-actions {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 0 15px 15px;
    width: 100%;
    box-sizing: border-box;
}

.fp-library-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 5px 15px;
    font-size: 0.8rem;
    border-radius: 5px;
    line-height: 1.4;
    white-space: nowrap;
    box-sizing: border-box;
    margin: 0;
    height: 32px;
}

.fp-watch-btn {
    background: rgba(61, 139, 211, 0.7) !important;
    color: #fff !important;
    border: 1px solid #3D8BD3 !important;
}

.fp-watch-btn:hover {
    background: #2c7ac0 !important;
}

/* Download button - dark */
.fp-download-btn {
    background: #1a1a1a !important;
    border: 1px solid #444 !important;
    color: #ccc !important;
    text-align: center !important;
    justify-content: center !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.fp-download-btn:hover {
    background: #2a2a2a !important;
    border-color: #666 !important;
    color: #fff !important;
}

/* Photos section - center the download button */
.fp-library-photos .fp-library-actions {
    justify-content: center;
}

.fp-library-photos .fp-library-actions .button {
    flex: 0 0 auto;
    min-width: 120px;
}

/* My Account navigation - highlight My Library */
.woocommerce-MyAccount-navigation-link--my-library a {
    color: #5dade2;
}

/* Orders list - button styling */
.woocommerce-orders-table .button.view,
.woocommerce-orders-table .button.pay,
.woocommerce-orders-table .button.cancel {
    background-color: #3D8BD3 !important;
    border-radius: 5px !important;
    display: block !important;
    margin-bottom: 5px !important;
}

.woocommerce-orders-table .button.pay {
    background-color: #27ae60 !important;
}

.woocommerce-orders-table .button.cancel {
    background-color: #8b3a3a !important;
}

.woocommerce-orders-table .button.view:last-child,
.woocommerce-orders-table .button.pay:last-child,
.woocommerce-orders-table .button.cancel:last-child {
    margin-bottom: 0 !important;
}

.woocommerce-orders-table .button.view:hover {
    background-color: #2d7bc3 !important;
}

.woocommerce-orders-table .button.pay:hover {
    background-color: #219a52 !important;
}

.woocommerce-orders-table .button.cancel:hover {
    background-color: #a04545 !important;
}

/* =============================================================================
   ORDER VIEW PAGE
   ============================================================================= */

/* Remove yellow highlight from order details, make bold instead */
.woocommerce-MyAccount-content mark,
.woocommerce-order-details mark {
    background: transparent !important;
    font-weight: 700 !important;
    color: inherit !important;
}

.fp-order-items-preview {
    margin-bottom: 25px;
}

.fp-order-item-preview {
    display: flex;
    gap: 20px;
    background: #141619;
    border: 1px solid #333;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 15px;
    position: relative;
}

.fp-order-item-release-link {
    position: absolute;
    bottom: 10px;
    right: 15px;
    font-size: 0.75rem;
    color: #888;
}

.fp-order-item-release-link a {
    color: #a8c8e0 !important;
    text-decoration: none !important;
}

.fp-order-item-release-link a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}

@media (max-width: 549px) {
    .fp-order-item-preview {
        flex-direction: column;
    }
}

.fp-order-item-thumb {
    position: relative;
    flex-shrink: 0;
    width: 280px;
    aspect-ratio: 16/9;
    background: #0c0e12;
}

@media (max-width: 549px) {
    .fp-order-item-thumb {
        width: 100%;
    }
}

.fp-order-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fp-order-item-duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    padding: 3px 8px;
    font-size: 0.75rem;
    font-weight: 400;
    border-radius: 3px;
}

.fp-order-item-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
}

.fp-order-item-title {
    margin: 0 0 8px 0;
    font-size: 1.4rem;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
}

.fp-order-item-category {
    font-size: 0.9rem;
}

.fp-order-quick-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 30px;
}

.fp-order-quick-actions .button {
    padding: 12px 24px;
    font-size: 0.95rem;
    border-radius: 5px;
}

.fp-quick-watch {
    background: rgba(61, 139, 211, 0.7) !important;
    color: #fff !important;
    border: 1px solid #3D8BD3 !important;
}

.fp-quick-watch:hover {
    background: #2c7ac0 !important;
}

.fp-quick-download {
    background: #1a1a1a !important;
    border: 1px solid #444 !important;
    color: #ccc !important;
}

.fp-quick-download:hover {
    background: #2a2a2a !important;
    border-color: #666 !important;
    color: #fff !important;
}

/* Hide Order Again button */
.woocommerce-order-details .order-again {
    display: none !important;
}

/* =============================================================================
   ORDER VIEW PAGE - SECTION WRAPPERS (consistent styling)
   ============================================================================= */

/* Common section wrapper styling */
.fp-stream-section,
.fp-downloads-section,
.fp-order-details-section {
    margin: 30px 0;
    padding: 20px;
    background: #141619;
    border: 1px solid #333;
    border-radius: 8px;
}

/* Common section h2 styling */
.fp-stream-section h2,
.fp-downloads-section h2,
.fp-order-details-section h2 {
    margin: 0 0 20px 0;
    font-size: 1.3rem;
    color: #fff;
}

/* Billing info section wrapper */
.fp-billing-section {
    margin: 30px 0;
    padding: 20px;
    background: #141619;
    border: 1px solid #333;
    border-radius: 8px;
}

.fp-billing-section h2 {
    margin: 0 0 20px 0;
    font-size: 1.3rem;
    color: #fff;
}

.fp-billing-section .woocommerce-customer-details {
    margin: 0;
}

/* Download file buttons */
.woocommerce-MyAccount-downloads-file.button {
    background-color: #3D8BD3 !important;
    border-radius: 5px !important;
}

.woocommerce-MyAccount-downloads-file.button:hover {
    background-color: #2d7bc3 !important;
}

/* Downloads grid layout */
.fp-downloads-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.fp-download-group {
    width: 100%;
}

.fp-download-group h4 {
    margin: 0 0 12px 0;
    font-size: 0.95rem;
    color: #888;
    font-weight: 600;
}

.fp-download-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    background: #0c0e12;
    border: 1px solid #333;
    border-radius: 6px;
    margin-bottom: 8px;
    text-decoration: none;
    transition: all 0.2s;
}

.fp-download-link:hover {
    border-color: #5dade2;
    background: #151820;
}

.fp-download-icon {
    font-size: 1.2rem;
}

.fp-download-video .fp-download-icon {
    color: #5dade2;
}

.fp-download-photos .fp-download-icon {
    color: #f39c12;
}

.fp-download-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.fp-download-name {
    color: #ccc;
    font-size: 0.9rem;
}

.fp-download-meta {
    color: #888;
    font-size: 0.75rem;
}

.fp-download-quality {
    background: #5dade2;
    color: #000;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: 600;
}

.fp-download-photo-count {
    background: rgba(243, 156, 18, 0.7);
    color: #fff;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Inactive download styling (view-order page) */
.fp-download-link.fp-download-inactive {
    background: rgba(139, 69, 19, 0.15);
    border-color: rgba(139, 69, 19, 0.4);
    cursor: not-allowed;
    opacity: 0.8;
}

.fp-download-link.fp-download-inactive:hover {
    background: rgba(139, 69, 19, 0.15);
    border-color: rgba(139, 69, 19, 0.4);
}

.fp-download-inactive .fp-download-icon {
    opacity: 0.5;
}

.fp-download-inactive-text {
    color: #c9a67a !important;
    font-style: italic;
}

.fp-download-status-badge {
    background: rgba(178, 80, 60, 0.7);
    color: #fff;
    padding: 3px 10px;
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Streaming player responsive */
iframe.fetPlayerEmbed {
    max-width: 100%;
    border-radius: 8px;
}

/* Responsive video embeds (mixedwrestling.video, etc) */
iframe[src*="mixedwrestling.video"] {
    width: 100% !important;
    max-width: 700px;
    height: auto !important;
    aspect-ratio: 7 / 4;
}

/* Order details table dark theme */
.woocommerce-order-details {
    margin-top: 40px;
}

.woocommerce-order-details__title {
    margin-bottom: 15px;
    font-size: 1.3rem;
}

.woocommerce-table--order-details {
    background: #141619 !important;
    border: 1px solid #333 !important;
    border-radius: 8px !important;
    overflow: hidden;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    border-color: #333 !important;
    color: #ccc !important;
    padding: 12px 15px !important;
}

.woocommerce-table--order-details thead th {
    background: #0c0e12 !important;
    color: #fff !important;
    font-weight: 600 !important;
}

.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
    background: #151820 !important;
}

/* Remove bold from order prices */
.woocommerce-table--order-details .product-total,
.woocommerce-table--order-details .amount {
    font-weight: normal !important;
}
.woocommerce-order-details tfoot .woocommerce-Price-amount {
    font-weight: bold !important;
}

/* Product name in order details */
.woocommerce-table--order-details .product-name a {
    color: #5dade2 !important;
}

.woocommerce-table--order-details .product-name a:hover {
    color: #7ec8e8 !important;
}

/* Hide quantity (x 1) after product name */
.woocommerce-table--order-details .product-name .product-quantity {
    display: none !important;
}

/* Hide subtotal row (same as total when no taxes) */
.woocommerce-table--order-details tfoot tr:first-child {
    display: none !important;
}

/* Make total row bold */
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-table--order-details tfoot tr:last-child .amount {
    font-weight: 700 !important;
}

/* =============================================================================
   MY ACCOUNT DASHBOARD
   ============================================================================= */

.fp-dashboard-recent {
    margin: 30px 0;
    padding: 20px;
    background: #141619;
    border: 1px solid #333;
    border-radius: 8px;
}

.fp-dashboard-recent h3 {
    margin: 0 0 15px 0;
    font-size: 1.2rem;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fp-view-all {
    font-size: 0.85rem;
    font-weight: 400;
    color: #5dade2;
    text-decoration: none;
}

.fp-view-all:hover {
    text-decoration: underline;
}

.fp-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

@media (max-width: 849px) {
    .fp-dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.fp-dashboard-item {
    display: block;
    text-decoration: none;
    border-radius: 6px;
    overflow: hidden;
    background: #0c0e12;
    border: 1px solid #333;
    transition: border-color 0.2s;
}

.fp-dashboard-item:hover {
    border-color: #5dade2;
}

.fp-dashboard-item img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.fp-dashboard-item-title {
    display: block;
    padding: 10px;
    font-size: 0.85rem;
    color: #ccc;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Dashboard Reviews section */
.fp-dashboard-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fp-dashboard-reviews-empty {
    color: #999;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

.fp-dashboard-reviews-empty a {
    color: #5dade2;
}

.fp-dashboard-reviews-empty-state {
    border-color: #a94442;
}

/* My Account general dark theme */
.woocommerce-MyAccount-content {
    color: #ccc;
}

.woocommerce-MyAccount-content p {
    color: #aaa;
}

.woocommerce-MyAccount-content a {
    color: #5dade2;
}

.woocommerce-MyAccount-navigation ul {
    background: #141619;
    border: 1px solid #333;
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #333;
}

.woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li a {
    color: #ccc;
    padding: 12px 20px;
    display: block;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
    background: #0c0e12;
    color: #5dade2;
}

/* =============================================================================
   DOWNLOADS PAGE
   ============================================================================= */

.fp-downloads-page {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fp-downloads-product {
    background: #141619;
    border: 1px solid #333;
    border-radius: 8px;
    overflow: hidden;
}

.fp-downloads-product-header {
    display: flex;
    gap: 20px;
    padding: 15px;
    border-bottom: 1px solid #333;
}

@media (max-width: 549px) {
    .fp-downloads-product-header {
        flex-direction: column;
    }
}

.fp-downloads-thumb {
    flex-shrink: 0;
    width: 160px;
    aspect-ratio: 16/9;
    border-radius: 6px;
    overflow: hidden;
}

@media (max-width: 549px) {
    .fp-downloads-thumb {
        width: 100%;
    }
}

.fp-downloads-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fp-downloads-product-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.fp-downloads-product-info h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
}

.fp-downloads-product-info h3 a {
    color: #fff;
    text-decoration: none;
}

.fp-downloads-product-info h3 a:hover {
    color: #5dade2;
}

.fp-downloads-links {
    font-size: 0.8rem;
    font-weight: 400;
    color: #888;
    line-height: 1.2;
    margin: 0 0 10px 0;
}

.fp-downloads-page .fp-downloads-links a,
.page-inner .fp-downloads-links a,
.entry-content .fp-downloads-links a {
    color: #a8c8e0 !important;
    text-decoration: none !important;
}

.fp-downloads-page .fp-downloads-links a:hover,
.page-inner .fp-downloads-links a:hover,
.entry-content .fp-downloads-links a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}

.fp-stream-btn {
    display: inline-block;
    width: fit-content;
    padding: 8px 16px !important;
    background: #3D8BD3 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    font-size: 0.85rem !important;
}

.fp-stream-btn:hover {
    background: #2c7ac0 !important;
}

.fp-downloads-load-more-wrap {
    text-align: center;
    margin: 30px 0;
}

.fp-downloads-load-more {
    background: #3D8BD3 !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 5px !important;
    cursor: pointer;
    font-size: 1rem;
}

.fp-downloads-load-more:hover {
    background: #2c7ac0 !important;
}

.fp-downloads-load-more:disabled {
    opacity: 0.7;
    cursor: wait;
}

.fp-downloads-files {
    padding: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/* =============================================================================
   EDIT ADDRESS PAGE - BILLING INFO
   ============================================================================= */

/* Remove bold from labels */
.woocommerce-address-fields label,
.woocommerce-EditAccountForm label,
.woocommerce-edit-address form label {
    font-weight: normal !important;
}

/* Match input styling to checkout */
.woocommerce-address-fields input[type="text"],
.woocommerce-address-fields input[type="email"],
.woocommerce-address-fields select,
.woocommerce-address-fields .select2-container .select2-selection {
    border-radius: 4px !important;
}

/* Save button - match checkout button */
.woocommerce-address-fields button[type="submit"],
.woocommerce-address-fields .button {
    background-color: #3D8BD3 !important;
    border-radius: 5px !important;
    border: none !important;
}

.woocommerce-address-fields button[type="submit"]:hover,
.woocommerce-address-fields .button:hover {
    background-color: #5dade2 !important;
}

/* Billing info view page */
.fp-billing-info-view h3 {
    margin-bottom: 15px;
}

.fp-billing-info-view address {
    font-style: normal;
    line-height: 1.8;
    margin-bottom: 20px;
    color: #ccc;
}

.fp-billing-info-view .button {
    background-color: #3D8BD3 !important;
    border-radius: 5px !important;
}

.fp-no-billing {
    color: #888;
    margin-bottom: 20px;
}

/* =============================================================================
   CUSTOMER ACCOUNT BREADCRUMB (in page title)
   ============================================================================= */

.fp-bc-link {
    color: #5dade2 !important;
    text-decoration: none;
}

.fp-bc-link:hover {
    color: #7ec8e8 !important;
    text-decoration: underline;
}

.fp-bc-sep {
    color: #666;
    margin: 0 8px;
}

.fp-bc-current {
    color: inherit;
}

/* Photo count badge - same style as duration but orange tint */
.fp-library-photos .fp-library-duration,
.fp-photo-count {
    background: rgba(243, 156, 18, 0.65) !important;
    font-weight: 400 !important;
}

/* Spacing between library sections */
.fp-library-section {
    margin-bottom: 40px;
}

.fp-library-section:last-child {
    margin-bottom: 0;
}

/* =============================================================================
   DOWNLOAD REACTIVATION FEATURE
   ============================================================================= */

/* Inactive download card styling */
.fp-library-card.fp-download-inactive {
    border-color: #8b4513 !important;
    background: #1f1815 !important;
}

.fp-library-card.fp-download-inactive .fp-library-thumb img {
    opacity: 0.6;
    filter: grayscale(30%);
}

/* Inactive badge on thumbnail */
.fp-inactive-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(139, 69, 19, 0.9);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Download status message */
.fp-download-status {
    margin-top: 8px;
}

.fp-status-text {
    color: #c9a67a;
    font-size: 0.75rem;
    font-style: italic;
}

/* Reactivate button */
.fp-reactivate-btn {
    background: #8b4513 !important;
    border: none !important;
    color: #fff !important;
    padding: 0 15px !important;
    font-size: 0.8rem !important;
    height: 32px !important;
    line-height: 32px !important;
    border-radius: 5px !important;
    cursor: pointer;
    transition: background 0.2s ease;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.fp-reactivate-btn:hover {
    background: #a0522d !important;
}

.fp-reactivate-btn.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Reactivations remaining count */
.fp-reactivations-remaining {
    color: #888;
    font-size: 0.75rem;
    margin-left: 8px;
    line-height: 32px;
}

/* No reactivations message */
.fp-no-reactivations {
    color: #888;
    font-size: 0.8rem;
    font-style: italic;
}

/* Success state after reactivation */
.fp-reactivated {
    background: #27ae60 !important;
    border: none !important;
    color: #fff !important;
    padding: 5px 15px !important;
    font-size: 0.8rem !important;
    height: 32px !important;
    border-radius: 5px !important;
    cursor: default;
}

.fp-reactivated .fp-check {
    margin-right: 5px;
}

/* Order page reactivation bar */
.fp-order-reactivation-bar {
    background: #1f1815;
    border: 1px solid #8b4513;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
}

.fp-reactivation-message {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #3a2a1a;
}

.fp-reactivation-icon {
    font-size: 1.5rem;
    color: #e67e22;
}

.fp-reactivation-text {
    color: #c9a67a;
    font-size: 1rem;
}

.fp-reactivation-products {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fp-reactivation-product {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 15px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 5px;
}

.fp-reactivation-product-name {
    flex: 1;
    color: #e0e0e0;
    font-weight: 600;
    min-width: 200px;
}

.fp-reactivation-status {
    color: #c9a67a;
    font-size: 0.85rem;
    font-style: italic;
    min-width: 120px;
}

.fp-contact-support {
    color: #5dade2;
    font-size: 0.85rem;
}

.fp-contact-support:hover {
    color: #7ec8e8;
    text-decoration: underline;
}

@media (max-width: 600px) {
    .fp-reactivation-product {
        flex-direction: column;
        align-items: flex-start;
    }

    .fp-reactivation-product-name {
        min-width: auto;
    }

    .fp-reactivation-status {
        min-width: auto;
    }
}

/* Guest reactivation prompt */
.fp-guest-reactivation-prompt {
    text-align: center;
    padding: 15px 20px;
}

.fp-guest-reactivation-prompt p {
    margin: 0 0 10px 0;
    color: #cfcfcf;
}

.fp-guest-email-hint {
    font-size: 0.9em;
    color: #888 !important;
}

.fp-guest-email-hint strong {
    color: #7ec8e8;
}

.fp-create-account-btn {
    background: #3D8BD3 !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 25px !important;
    border-radius: 5px !important;
    margin-top: 5px;
}

.fp-create-account-btn:hover {
    background: #2d6aa3 !important;
}

/* Library Load More button */
.fp-library-load-more-wrap {
    text-align: center;
    margin-top: 20px;
}

.fp-library-load-more {
    background: #333 !important;
    border: 1px solid #555 !important;
    color: #ccc !important;
    padding: 10px 30px !important;
    font-size: 0.9rem !important;
    border-radius: 5px !important;
    cursor: pointer;
    transition: all 0.2s;
}

.fp-library-load-more:hover {
    background: #444 !important;
    border-color: #666 !important;
    color: #fff !important;
}

.fp-library-load-more:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* =============================================================================
   AGE GATE POPUP
   ============================================================================= */

.fp-age-gate {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.fp-age-gate-visible {
    opacity: 1;
}

.fp-age-gate-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.fp-age-gate-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.fp-age-gate-content {
    width: 90%;
    max-width: 580px;
    max-height: 90vh;
    overflow-y: auto;
    background: linear-gradient(180deg, #141619 0%, #12151a 100%);
    border: 1px solid #333;
    border-radius: 12px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.6);
}

.fp-age-gate-logo {
    margin-bottom: 25px;
}

.fp-age-gate-logo img {
    max-width: 200px;
    height: auto;
}

.fp-age-gate-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 20px 0;
    letter-spacing: 0.02em;
}

.fp-age-gate-text {
    color: #b8b8b8;
    line-height: 1.7;
    margin-bottom: 30px;
}

.fp-age-gate-text p {
    margin: 0 0 15px 0;
}

.fp-age-gate-text p:first-child {
    font-size: 1.1rem;
    color: #e0e0e0;
    font-weight: 500;
}

.fp-age-gate-description {
    font-size: 0.9rem;
    color: #999;
    font-style: italic;
    padding: 15px 20px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 6px;
    border-left: 3px solid #3D8BD3;
}

.fp-age-gate-warning {
    font-size: 1rem;
    color: #e67e22 !important;
    font-weight: 600;
}

.fp-age-gate-buttons {
    display: block;
    text-align: center;
    margin-bottom: 25px;
}

.fp-age-gate-buttons button {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 0 auto 12px auto;
}

.fp-age-gate-enter {
    background: rgba(61, 139, 211, 0.85);
    color: #fff;
    border: none;
    padding: 16px 32px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.fp-age-gate-enter:hover {
    background: #2d6aa3;
}

.fp-age-gate-exit {
    background: rgba(0, 0, 0, 0.5);
    color: #b0b0b0;
    border: 1px solid #666;
    padding: 12px 24px;
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.fp-age-gate-exit:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #888;
    color: #ccc;
}

.fp-age-gate-legal {
    font-size: 0.75rem;
    color: #999;
    margin: 0;
    line-height: 1.5;
}

/* Mobile adjustments */
@media (max-width: 600px) {
    .fp-age-gate-content {
        padding: 30px 20px;
    }
    
    .fp-age-gate-title {
        font-size: 1.3rem;
    }
    
    .fp-age-gate-description {
        font-size: 0.85rem;
        padding: 12px 15px;
    }
    
    .fp-age-gate-enter {
        padding: 14px 24px;
        font-size: 1rem;
    }
}

/* =============================================================================
   PAGE CONTENT LISTS
   ============================================================================= */

.entry-content ul,
.entry-content ol {
    padding-left: 1em;
    margin-bottom: 1em;
}

.entry-content ul {
    list-style-type: disc;
}

.entry-content ol {
    list-style-type: decimal;
}

.entry-content li {
    margin-bottom: 0.5em;
}

/* =============================================================================
   GDPR DATA REQUEST FORM
   ============================================================================= */

#gdrf-form {
    max-width: 500px;
}

#gdrf-form label,
#gdrf-form #gdrf-radio-label {
    color: #e0e0e0;
}

#gdrf-form input[type="email"],
#gdrf-form input[type="text"] {
    background-color: #141619;
    border: 1px solid #444;
    color: #e0e0e0;
    padding: 10px 12px;
    width: 100%;
}

#gdrf-form input[type="email"]:focus,
#gdrf-form input[type="text"]:focus {
    background-color: #141619 !important;
    border-color: #5dade2;
    color: #e0e0e0 !important;
    outline: none;
}

#gdrf-form #gdrf-submit-button {
    background-color: #3D8BD3;
    border: none;
    color: #fff;
    padding: 12px 24px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 600;
}

#gdrf-form #gdrf-submit-button:hover {
    background-color: #2d6aa3;
}

#gdrf-form .gdrf-success {
    background-color: rgba(39, 174, 96, 0.2);
    border-left-color: #27ae60;
    color: #e0e0e0;
}

#gdrf-form .gdrf-errors {
    background-color: rgba(231, 76, 60, 0.2);
    border-left-color: #e74c3c;
    color: #e0e0e0;
}

/* =============================================================================
   FOOTER STYLES
   ============================================================================= */

/* Footer links row */
.fp-footer-links {
    padding-bottom: 10px;
    border-bottom: 1px solid #333;
    margin-bottom: 15px !important;
    font-size: 14px;
}

.fp-footer-links a {
    color: #b0b0b0;
    text-decoration: none;
    transition: color 0.2s ease;
}

.fp-footer-links a:hover {
    color: #5dade2;
}

/* Footer copyright */
.copyright-footer {
    color: #888;
    font-size: 14px;
}

.copyright-footer strong {
    color: #b0b0b0;
}

/* Footer background */
.absolute-footer.dark {
    background: #0a0c0f;
    border-top: 1px solid #222;
    padding: 20px 0;
}

/* Center footer content */
.absolute-footer .footer-primary {
    float: none !important;
    width: 100%;
    text-align: center;
}

.absolute-footer .footer-secondary {
    float: none !important;
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
}

/* Payment icons */
.payment-icons .payment-icon svg {
    fill: #888;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.payment-icons .payment-icon:hover svg {
    opacity: 1;
}

/* Affiliate Program form styling */
.fp-affiliate-table {
    border-collapse: collapse;
    margin: 15px 0;
}

.fp-affiliate-table td {
    padding: 8px 12px;
    background: #141619;
    border: 1px solid #333;
}

.fp-affiliate-table label {
    color: #cfcfcf;
    font-weight: 500;
}

.fp-affiliate-table input[type="text"],
.fp-affiliate-table input[type="password"] {
    background: #0c0e12;
    border: 1px solid #444;
    color: #cfcfcf;
    padding: 8px 10px;
    border-radius: 4px;
}

.fp-ccbill-form input[type="submit"],
.fp-ccbill-form input[type="reset"] {
    background: #3D8BD3;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 600;
    margin-right: 10px;
}

.fp-ccbill-form input[type="submit"]:hover {
    background: #2d6aa3;
}

.fp-ccbill-form input[type="reset"] {
    background: transparent;
    border: 1px solid #666;
    color: #b0b0b0;
}

.fp-ccbill-form input[type="reset"]:hover {
    border-color: #888;
    color: #cfcfcf;
}

/* =============================================================================
   ULTIMATE MEMBER - CUSTOM PROFILE TABS
   ============================================================================= */

/* Collection tab stats */
.fp-um-collection {
    padding: 20px 0;
}

.fp-um-stats {
    display: flex;
    gap: 30px;
    margin-bottom: 20px;
}

.fp-um-stat {
    text-align: center;
    padding: 20px 30px;
    background: #141619;
    border: 1px solid #333;
    border-radius: 8px;
}

.fp-um-stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #5dade2;
}

.fp-um-stat-label {
    display: block;
    font-size: 0.9rem;
    color: #888;
    margin-top: 5px;
}

.fp-um-info {
    color: #cfcfcf;
}

.fp-um-info p {
    margin: 8px 0;
}

.fp-um-info a {
    color: #5dade2;
}

.fp-um-info a:hover {
    color: #7ec8e8;
}

/* Reviews tab */
.fp-um-reviews {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.fp-um-review-item {
    display: flex;
    gap: 15px;
    padding: 15px;
    background: #141619;
    border: 1px solid #333;
    border-radius: 6px;
}

.fp-um-review-thumb {
    flex-shrink: 0;
    width: 80px;
}

.fp-um-review-thumb img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.fp-um-review-content {
    flex: 1;
}

.fp-um-review-post a {
    color: #5dade2;
    font-weight: 600;
    font-size: 15px;
}

.fp-um-review-post a:hover {
    color: #7ec8e8;
}

.fp-um-review-text {
    color: #aaa;
    font-style: italic;
    font-size: 15px;
    margin: 8px 0;
}

.fp-um-review-date {
    color: #666;
    font-size: 0.85rem;
}

/* Follow-up comments (replies on same release) */
.fp-um-review-followups {
    margin-top: 10px;
    padding-left: 20px;
    border-left: 2px solid #333;
}
.fp-um-review-followup {
    padding: 6px 0;
}
.fp-um-review-followup + .fp-um-review-followup {
    border-top: 1px solid #2a2a2a;
}
.fp-um-followup-text {
    font-size: 0.9rem;
    color: #888;
    font-style: italic;
}
.fp-um-followup-text a {
    color: #888;
}
.fp-um-followup-text a:hover {
    color: #5dade2;
}
.fp-um-followup-date {
    color: #555;
    font-size: 0.8rem;
    margin-top: 2px;
}

/* Hide UM "profile is empty" message */
.um-profile-note {
    display: none !important;
}

/* Main profile stats section */
.fp-um-profile-stats {
    padding: 15px 0;
}

.fp-um-stats-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}

.fp-um-stats-left {
    color: #aaa;
}

.fp-um-stats-right {
    color: #aaa;
}

.fp-um-stats-label {
    color: #888;
}

.fp-um-stats-value {
    color: #cfcfcf;
}

.fp-um-stats-count {
    color: #27ae60;
    font-size: 1.3rem;
    font-weight: 700;
}

.fp-um-library-link {
    color: #888 !important;
    font-size: 0.85rem;
    font-weight: 400 !important;
    margin-left: 8px;
}

.fp-um-library-link:hover {
    color: #5dade2 !important;
}

.fp-um-stats-left a {
    color: #5dade2;
    font-weight: 600;
}

.fp-um-stats-left a:hover {
    color: #7ec8e8;
}

.fp-um-fav-row {
    border-top: 1px solid #333;
}

.fp-um-fav-count {
    color: #666;
    font-size: 0.9rem;
}

.fp-um-wrestler-thumb {
    flex-shrink: 0;
}

.fp-um-wrestler-thumb img {
    width: auto;
    height: 100px;
    object-fit: cover;
    border-radius: 4px;
}

.fp-um-member-since {
    display: block;
    font-size: 0.85rem;
    font-weight: 400;
    color: #888;
    margin-top: 5px;
}

/* Reviews section on main profile */
.fp-um-reviews-section {
    padding-top: 20px;
    border-top: 1px solid #333;
}

.fp-um-section-title {
    color: #f0f0f0;
    font-size: 1.2rem;
    margin-bottom: 15px;
}

/* Responsive */
@media (max-width: 600px) {
    .fp-um-stats {
        flex-direction: column;
        gap: 15px;
    }

    .fp-um-profile-stats {
        gap: 20px;
    }

    .fp-um-pstat-num {
        font-size: 1.2rem;
    }

    .fp-um-review-item {
        flex-direction: column;
    }

    .fp-um-review-thumb {
        width: 100%;
        max-width: 120px;
    }
}

/* Login/Register Lightbox - Dark Theme */
#login-form-popup,
.account-container.lightbox-inner {
    background-color: #141619 !important;
    color: #cfcfcf !important;
}

#login-form-popup .account-login-inner,
#login-form-popup .account-register-inner {
    background-color: #141619 !important;
    padding: 30px !important;
}

#login-form-popup h3,
#login-form-popup .col-title {
    color: #f0f0f0 !important;
}

#login-form-popup label {
    color: #cfcfcf !important;
}

#login-form-popup input[type="text"],
#login-form-popup input[type="email"],
#login-form-popup input[type="password"] {
    background-color: #0c0e12 !important;
    border: 1px solid #444 !important;
    color: #e0e0e0 !important;
}

#login-form-popup input[type="text"]:focus,
#login-form-popup input[type="email"]:focus,
#login-form-popup input[type="password"]:focus {
    background-color: #0c0e12 !important;
    border-color: #5dade2 !important;
    color: #e0e0e0 !important;
    outline: none;
}

#login-form-popup .button,
#login-form-popup button[type="submit"] {
    background-color: #3D8BD3 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
}

#login-form-popup .button:hover,
#login-form-popup button[type="submit"]:hover {
    background-color: #2d6aa3 !important;
}

#login-form-popup a {
    color: #5dade2 !important;
}

#login-form-popup a:hover {
    color: #7ec8e8 !important;
}

#login-form-popup .woocommerce-form__label-for-checkbox {
    color: #999 !important;
}

#login-form-popup .divider-text {
    background-color: #141619 !important;
    color: #888 !important;
}

#login-form-popup .is-divider {
    background-color: #444 !important;
}

/* Lost password link */
#login-form-popup .lost_password a {
    color: #888 !important;
}

#login-form-popup .lost_password a:hover {
    color: #5dade2 !important;
}

/* Login lightbox - rounded corners */
#login-form-popup {
    border-radius: 8px !important;
    overflow: hidden;
}

#login-form-popup input[type="text"],
#login-form-popup input[type="email"],
#login-form-popup input[type="password"] {
    border-radius: 5px !important;
}

/* ========================================
   HOMEPAGE: Latest Releases Slider
   ======================================== */
.fp-latest-section {
    margin-bottom: 35px;
}

.fp-latest-section .title-divider {
    display: none;
}

.fp-latest-section .fp-latest-slider {
    width: 100%;
}

.fp-latest-section .fp-latest-slide {
    width: 100%;
    padding: 0 5px;
}

.fp-latest-section .fp-latest-card {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 0;
    background: #1a1d24;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #333;
}

@media (max-width: 849px) {
    .fp-latest-section .fp-latest-card {
        grid-template-columns: 1fr;
    }
}

.fp-latest-section .fp-latest-image {
    position: relative;
    min-height: 400px;
}

.fp-latest-section .fp-latest-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}

.fp-latest-section .fp-latest-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.fp-latest-section .fp-latest-badge {
    position: absolute;
    top: 0;
    left: 0;
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    z-index: 2;
}

.fp-latest-section .fp-latest-badge.mixed { background: rgba(59, 125, 210, 0.55); }
.fp-latest-section .fp-latest-badge.female { background: rgba(200, 50, 80, 0.55); }
.fp-latest-section .fp-latest-badge.unreal { background: rgba(128, 90, 180, 0.55); }
.fp-latest-section .fp-latest-badge.h2h { background: rgba(46, 160, 130, 0.55); }
.fp-latest-section .fp-latest-badge.films { background: rgba(210, 130, 50, 0.55); }

.fp-latest-section .fp-latest-duration {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 0.9em;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 4px;
    z-index: 2;
}

.fp-latest-section .fp-latest-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 400px;
    overflow: hidden;
}

@media (max-width: 849px) {
    .fp-latest-section .fp-latest-content {
        padding: 25px;
        height: auto;
        overflow: visible;
    }
    .fp-latest-section .fp-latest-image {
        height: auto !important;
        min-height: auto !important;
    }
    .fp-latest-section .fp-latest-image img {
        position: static;
        height: auto;
    }
}

@media (max-width: 499px) {
    .fp-latest-section .fp-latest-duration {
        bottom: 8px;
        right: 8px;
        background: rgba(0, 0, 0, 0.65);
        font-size: 0.75rem;
        font-weight: 400;
        padding: 3px 8px;
        border-radius: 3px;
    }
}

.fp-latest-section .fp-latest-date {
    font-size: 0.85rem;
    color: #888;
    margin-bottom: 8px;
}

.fp-latest-section .fp-latest-content h3 {
    font-size: 1.5rem;
    margin-bottom: 8px;
    line-height: 1.2;
}

.fp-latest-section .fp-latest-content h3 a {
    color: #fff;
}

.fp-latest-section .fp-latest-content h3 a:hover {
    color: #5dade2;
}

.fp-latest-section .fp-latest-description {
    color: #aaa;
    margin-bottom: 15px;
    line-height: 1.7;
    font-size: 0.9rem;
}

.fp-latest-section .fp-latest-description a {
    color: #5dade2 !important;
    text-decoration: none;
}

.fp-latest-section .fp-latest-description a:hover {
    color: #7ec8e8 !important;
}

.fp-latest-section .fp-latest-meta {
    margin-bottom: 12px;
}

.fp-latest-section .fp-latest-meta-row {
    font-size: 0.85rem;
    color: #cfcfcf;
    margin-bottom: 3px;
}

.fp-latest-section .fp-meta-label {
    color: #888;
}

.fp-latest-section .fp-latest-info {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.9rem;
    color: #999;
    margin-bottom: 15px;
}

.fp-latest-section .fp-info-left {
    flex: 1;
    text-align: right;
}

.fp-latest-section .fp-info-dot {
    padding: 0 10px;
}

.fp-latest-section .fp-info-right {
    flex: 1;
    text-align: left;
}

.fp-latest-section .fp-info-single {
    text-align: center;
}

.fp-latest-section .fp-latest-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Global fp-latest-btn styles - used on slider AND release posts */
a.fp-latest-btn,
span.fp-latest-btn,
.fp-latest-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none !important;
    transition: all 0.2s;
    cursor: pointer;
}

a.fp-latest-btn.fp-video,
a.button.fp-latest-btn.fp-video,
.fp-latest-btn.fp-video {
    background: #3D8BD3 !important;
    color: #fff !important;
}

a.fp-latest-btn.fp-video:hover,
a.button.fp-latest-btn.fp-video:hover,
.fp-latest-btn.fp-video:hover {
    background: #2d6aa3 !important;
    color: #fff !important;
}

a.fp-latest-btn.fp-photos,
a.button.fp-latest-btn.fp-photos,
.fp-latest-btn.fp-photos {
    background: rgba(243, 156, 18, 0.85) !important;
    color: #fff !important;
}

a.fp-latest-btn.fp-photos:hover,
a.button.fp-latest-btn.fp-photos:hover,
.fp-latest-btn.fp-photos:hover {
    background: rgba(200, 120, 10, 0.9) !important;
    color: #fff !important;
}

.fp-latest-btn.fp-photos.fp-owned {
    background: rgba(120, 160, 60, 0.7) !important;
    color: #fff !important;
    cursor: default;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.9), 0 0 15px rgba(255, 255, 255, 0.6), 0 0 30px rgba(255, 255, 255, 0.4), 0 0 50px rgba(255, 255, 255, 0.2);
}

.fp-latest-btn.fp-photos.fp-incart,
.fp-latest-btn.fp-video.fp-incart {
    background: transparent !important;
    border: 1px solid #555;
    color: #aaa !important;
}

.fp-latest-btn.fp-photos.fp-incart:hover,
.fp-latest-btn.fp-video.fp-incart:hover {
    border-color: #888;
    background: rgba(255, 255, 255, 0.05) !important;
    color: #ccc !important;
}

.fp-latest-btn.fp-video.fp-owned,
.fp-latest-btn.fp-video.fp-owned:hover {
    background: rgba(39, 174, 96, 0.7) !important;
    color: #fff !important;
    cursor: default;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.9), 0 0 15px rgba(255, 255, 255, 0.6), 0 0 30px rgba(255, 255, 255, 0.4), 0 0 50px rgba(255, 255, 255, 0.2);
}

.fp-latest-btn .fp-btn-icon {
    flex-shrink: 0;
}

.fp-latest-btn .fp-btn-price {
    opacity: 0.9;
}

/* Hide WooCommerce "View cart" link after add to cart */
.fp-latest-section .fp-latest-buttons a.added_to_cart,
.products .product a.added_to_cart {
    display: none !important;
}

/* Reset flickity buttons to Flatsome defaults */
.fp-latest-section .flickity-button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Latest releases slider - bullets only on mobile */
.fp-latest-section .flickity-page-dots {
    display: none;
}
@media (max-width: 549px) {
    .fp-latest-section .flickity-page-dots {
        display: block;
        position: relative;
        bottom: -12px;
        left: 0;
        right: 0;
        width: 100%;
        text-align: center;
    }
    .fp-latest-section .flickity-page-dots .dot {
        width: 8px;
        height: 8px;
        background: #444 !important;
        opacity: 1 !important;
        border: none !important;
        box-shadow: none !important;
    }
    .fp-latest-section .flickity-page-dots .dot.is-selected {
        background: #3b7dd2 !important;
    }
    .fp-latest-section .fp-latest-content h3 {
        font-size: 1.3rem;
    }
    /* Homepage section titles - larger on mobile */
    .fp-latest-section .section-title-main,
    .fp-categories-section .section-title-main,
    .fp-bestsellers-section .section-title-main {
        font-size: 1.5rem;
    }
}


/* ========================================
   HOMEPAGE: Categories Grid
   ======================================== */
.fp-categories-section {
    margin-bottom: 50px;
}

.fp-categories-section .title-divider {
    display: none;
}

.fp-categories-section .fp-categories-grid {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}

.fp-categories-section .fp-cat-row {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 25px;
}

.fp-categories-section .fp-cat-row-3 .fp-cat-card {
    flex: 1;
    max-width: calc(33.333% - 14px);
}

.fp-categories-section .fp-cat-row-2 .fp-cat-card {
    flex: 0 1 calc(33.333% - 14px);
}

.fp-categories-section .fp-cat-card {
    position: relative;
    height: 240px;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.fp-categories-section .fp-cat-images {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 0;
}

.fp-categories-section .fp-cat-images img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fp-categories-section .fp-cat-overlay {
    position: absolute;
    inset: 0;
    transition: all 0.3s;
}

/* Category overlays - black with opacity */
.fp-categories-section .fp-cat-card .fp-cat-overlay {
    background: rgba(0, 0, 0, 0.6);
}

/* Category color borders */
.fp-categories-section .fp-cat-card.mixed {
    border: 2px solid rgba(59, 125, 210, 0.4);
}
.fp-categories-section .fp-cat-card.female {
    border: 2px solid rgba(200, 50, 80, 0.4);
}
.fp-categories-section .fp-cat-card.unreal {
    border: 2px solid rgba(128, 90, 180, 0.4);
}
.fp-categories-section .fp-cat-card.h2h {
    border: 2px solid rgba(46, 160, 130, 0.4);
}
.fp-categories-section .fp-cat-card.films {
    border: 2px solid rgba(210, 130, 50, 0.4);
}

.fp-categories-section .fp-cat-card:hover .fp-cat-overlay {
    opacity: 0.85;
}

.fp-categories-section .fp-cat-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
    width: 90%;
    color: #ffffff;
}

.fp-categories-section .fp-cat-text h3 {
    font-size: 1.8rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: -8px;
    color: #ffffff;
}

.fp-categories-section .fp-cat-text p {
    color: #ffffff;
    font-size: 0.9rem;
    margin-bottom: 0;
}

.fp-categories-section .fp-cat-btn {
    display: none;
}

/* Mobile slider */
.fp-categories-section .fp-categories-slider {
    width: 100%;
}

.fp-categories-section .fp-cat-slide {
    width: 85%;
    margin: 0 10px;
}

.fp-categories-section .flickity-page-dots {
    bottom: -30px;
}

.fp-categories-section .flickity-page-dots .dot {
    width: 8px;
    height: 8px;
    background: #444 !important;
    opacity: 1 !important;
    border: none !important;
    box-shadow: none !important;
}

.fp-categories-section .flickity-page-dots .dot.is-selected {
    background: #3b7dd2 !important;
}

/* Homepage categories - desktop/mobile visibility */
.fp-categories-section .fp-hp-desktop {
    display: block;
}
.fp-categories-section .fp-hp-mobile {
    display: none;
}

@media (max-width: 849px) {
    .fp-categories-section .fp-hp-desktop {
        display: none;
    }
    .fp-categories-section .fp-hp-mobile {
        display: block;
    }
}

/* ========================================
   HOMEPAGE: Best-Selling Videos Grid
   Uses same fp-vg-* classes as browse-videos
   ======================================== */
.fp-bestsellers-section {
    margin-bottom: 35px;
}

.fp-bestsellers-section .fp-bestsellers-grid {
    grid-template-columns: repeat(3, 1fr);
}

.fp-bestsellers-section .fp-bestseller-rank {
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: rgba(243, 156, 18, 0.5);
    color: #f0f0f0;
    font-weight: 700;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
}

@media (max-width: 849px) {
    .fp-bestsellers-section .fp-bestsellers-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 549px) {
    .fp-bestsellers-section .fp-bestsellers-grid {
        grid-template-columns: 1fr;
    }
}

/* Homepage section divider */
.fp-section-divider {
    display: none;
}

/* ========================================
   HOMEPAGE: Newsletter Signup
   ======================================== */
.fp-newsletter-section {
    background: #1a1d24;
    border: 1px solid #333;
    border-radius: 10px;
    padding: 35px 20px;
    text-align: center;
    margin-bottom: 0;
}

.fp-newsletter-title {
    font-size: 1.6rem;
    color: #f0f0f0;
    margin: 0 0 8px 0;
}

.fp-newsletter-desc {
    color: #999;
    font-size: 0.95rem;
    margin: 0 0 18px 0;
}

.fp-newsletter-section .mc4wp-form {
    display: inline-block;
}

.fp-newsletter-section .mc4wp-form p {
    margin: 0;
    display: inline;
}

.fp-newsletter-section .mc4wp-form input[type="email"] {
    padding: 0 14px;
    font-size: 0.95rem;
    border-radius: 5px;
    background: #0c0e12;
    border: 1px solid #444;
    color: #e0e0e0;
    width: 260px;
    height: 40px;
}

.fp-newsletter-section .mc4wp-form input[type="email"]::placeholder {
    color: #666;
}

.fp-newsletter-section .mc4wp-form input[type="email"]:focus {
    background: #0c0e12 !important;
    border-color: #5dade2;
    color: #e0e0e0 !important;
    outline: none;
}

.fp-newsletter-section .mc4wp-form input[type="submit"] {
    padding: 0 20px;
    font-size: 0.95rem;
    border-radius: 5px;
    background: rgba(39, 174, 96, 0.8) !important;
    border: 1px solid rgba(39, 174, 96, 0.6);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    margin-left: 8px;
    text-transform: uppercase;
    height: 40px;
}

.fp-newsletter-section .mc4wp-form input[type="submit"]:hover {
    background: rgba(46, 204, 113, 0.95) !important;
}

.fp-newsletter-section .mc4wp-success {
    color: #27ae60;
    margin-top: 15px;
}

.fp-newsletter-section .mc4wp-error {
    color: #e74c3c;
    margin-top: 15px;
}

@media (max-width: 549px) {
    .fp-newsletter-section .mc4wp-form input[type="email"] {
        width: 100%;
        margin-bottom: 10px;
    }

    .fp-newsletter-section .mc4wp-form input[type="submit"] {
        width: 100%;
        margin-left: 0;
    }
}

/* ========================================
   RELEASE POST: Info Bar & Owned Bar
   ======================================== */

/* Remove margin from hero image so bars attach directly */
.single .entry-header .entry-image.single-featured-image {
    margin-bottom: 0;
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
}

.single .entry-header .entry-image.single-featured-image img {
    display: block;
    width: 100%;
}

/* Info Bar - Always visible on release posts */
.fp-release-info-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    background: #0c0e12;
    border: 1px solid #444;
    border-top: none;
    min-height: 40px;
    margin: 0 -20px;
    width: calc(100% + 40px);
}

/* "You Own This" Bar - Conditional */
.fp-release-owned-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 0 15px;
    background: rgba(39, 174, 96, 0.12);
    border: 1px solid #444;
    border-top: none;
    min-height: 40px;
    margin: 0 -20px;
    width: calc(100% + 40px);
    text-transform: uppercase;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #27ae60;
}

.fp-info-cell {
    display: flex;
    align-items: center;
    padding: 0 15px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #999;
    border-right: 1px solid #333;
    min-height: 40px;
}

.fp-info-cell:last-child {
    border-right: none;
}

.fp-info-value {
    color: #999;
}

.fp-info-icon {
    margin-right: 6px;
    opacity: 0.7;
}

.fp-owned-check {
    font-weight: bold;
}

.fp-owned-text {
    font-weight: 700;
}

.fp-owned-or {
    text-transform: lowercase;
    font-weight: 400;
    color: #27ae60;
}

.fp-release-owned-bar .fp-owned-link {
    color: #3D8BD3;
    text-decoration: none;
    font-weight: 700;
}

.fp-release-owned-bar .fp-owned-link:hover {
    color: #5ba3e0;
    text-decoration: underline;
}

/* Medium screens with sidebar: shrink to fit one line */
@media (min-width: 850px) and (max-width: 1050px) {
    .fp-info-cell {
        padding: 0 10px;
        font-size: 0.5rem;
    }
}

/* Smaller screens before grid: shrink again */
@media (min-width: 550px) and (max-width: 700px) {
    .fp-info-cell {
        padding: 0 10px;
        font-size: 0.5rem;
    }
}

/* Small screens: 2-column grid layout */
@media (max-width: 549px) {
    .fp-release-info-bar {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .fp-info-cell {
        padding: 8px 15px;
        font-size: 0.7rem;
        min-height: auto;
        border-bottom: 1px solid #333;
        border-right: none;
    }

    /* First row: date | category */
    .fp-info-cell:nth-child(1) {
        border-right: 1px solid #333;
    }

    /* Second row: rules (full width) */
    .fp-info-cell:nth-child(3) {
        grid-column: span 2;
    }

    /* Third row: duration | photos */
    .fp-info-cell:nth-child(4) {
        border-right: 1px solid #333;
    }

    .fp-info-cell:nth-child(4),
    .fp-info-cell:nth-child(5) {
        border-bottom: none;
    }
}

@media (max-width: 480px) {
    .fp-release-owned-bar {
        flex-wrap: wrap;
        text-align: center;
        gap: 5px;
        padding: 8px 10px;
    }

    .fp-owned-divider {
        display: none;
    }

    .fp-owned-text {
        width: 100%;
        margin-bottom: 5px;
    }

    .fp-owned-link {
        margin: 0 10px;
    }
}

/* =============================================================================
   CART CROSS-SELL - "You might also like" recommendations
   ============================================================================= */

.fp-cart-cross-sell {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #444;
}

.fp-cross-sell-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #f0f0f0;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.fp-cross-sell-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.fp-cross-sell-grid .fp-cs-hidden {
    display: none;
}

@media (max-width: 991px) {
    .fp-cross-sell-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 549px) {
    .fp-cross-sell-grid {
        grid-template-columns: 1fr;
    }
}

/* =============================================================================
   RELATED VIDEOS - Under release posts (uses fp-sb-* classes from sidebar)
   ============================================================================= */

.fp-related-videos {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #444;
}

.fp-related-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #f0f0f0;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.fp-related-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.fp-related-grid .fp-sb-item {
    padding: 0;
    border-bottom: none;
}

@media (max-width: 549px) {
    .fp-related-grid {
        grid-template-columns: 1fr;
    }
}

/* =============================================================================
   RECOMMENDATIONS - "NEW" HIGHLIGHTS
   ============================================================================= */

/* Dashboard button - gold dashed border */
.dashboard-links .woocommerce-MyAccount-navigation-link--recommendations a {
    border: 1px solid #d4a843 !important;
}

/* Dashboard section - gold dashed border */
.fp-dashboard-new {
    border: 1px solid #d4a843;
    border-radius: 6px;
    padding: 15px;
}

.fp-dashboard-new h3 {
    text-align: left;
}

/* Gold star */
.fp-new-star {
    color: #d4a843;
}

/* =============================================================================
   RECOMMENDATIONS PAGE
   ============================================================================= */

.fp-rec-intro {
    color: #aaa;
    margin-bottom: 20px;
    font-size: 0.95rem;
}

.fp-recommendations-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.fp-rec-hidden {
    display: none;
}

.fp-rec-match {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-weight: 700;
    padding: 2px 8px;
    font-size: 0.7rem;
    z-index: 3;
}

.fp-rec-top {
    background: rgba(39, 174, 96, 0.85);
}

.fp-rec-best {
    border: 1px solid #d4a843;
}

.fp-rec-strong {
    background: rgba(0, 128, 128, 0.8);
}

.fp-rec-good {
    background: rgba(0, 128, 128, 0.45);
}

.page-inner a.fp-cart-btn:not(.x),
.page-inner a.fp-cart-btn:not(.x):hover {
    color: #fff !important;
}

.fp-rec-load-more-wrap {
    text-align: center;
    margin-top: 25px;
}

.fp-rec-load-more {
    background: #3D8BD3 !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 30px !important;
    border-radius: 5px !important;
    cursor: pointer;
    font-weight: 600;
}

.fp-rec-load-more:hover {
    background: #5dade2 !important;
}

@media (max-width: 549px) {
    .fp-recommendations-grid {
        grid-template-columns: 1fr;
    }
}

/* =============================================================================
   SINGLE POST FOOTER META - Category/Tags section
   ============================================================================= */

.single-post footer.entry-meta {
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 6px;
    padding: 15px 20px;
}

/* Hide SKU on product pages */
.product_meta .sku_wrapper {
    display: none;
}

/* Hide standalone price in product shortcode on release posts (price is in button) */
.single-post .entry-content .product-small .box-text .price {
    display: none;
}

.fp-meta-row {
    display: flex;
    margin-bottom: 8px;
    font-size: 0.95rem;
    color: #cfcfcf;
}

.fp-meta-row:last-child {
    margin-bottom: 0;
}

.fp-meta-label {
    flex: 0 0 85px;
    color: #999;
}

.fp-meta-value {
    flex: 1;
}

.fp-meta-value a {
    color: #cfcfcf;
    text-decoration: none;
}

.fp-meta-value a:hover {
    color: #5dade2;
}

/* Login notice - yellowish to stand out */
.woocommerce-account .woocommerce-info {
    background: rgba(243, 156, 18, 0.15) !important;
    border-color: #f39c12 !important;
    color: #f5d69c !important;
    padding: 12px 18px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.fp-stats {
  color: #e07850;
  cursor: help;
  opacity: 0.9;
  font-size: 1.1em;
  position: relative;
}

.fp-stats:hover::after {
  content: attr(data-stats);
  position: absolute;
  bottom: 130%;
  left: 0;
  background: #1a1a1a;
  color: #b0b0b0;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  white-space: pre-line;
  width: max-content;
  border: 1px solid #e07850;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  z-index: 100000;
  pointer-events: none;
}

/* Allow tooltip to escape table cell */
table:has(.fp-stats),
td:has(.fp-stats),
th:has(.fp-stats) {
  overflow: visible !important;
}

/* Mobile: fixed center */
@media (max-width: 768px) {
  .fp-stats:hover::after {
    position: fixed;
    bottom: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 90vw;
  }
}

.sales-widget {
  margin: 0 !important;
}

/* Discount progress notice */
.fp-discount-notice {
  background: rgba(39, 174, 96, 0.15) !important;
  border-color: #27ae60 !important;
  color: #7dcea0 !important;
  text-align: center;
  margin-bottom: 20px !important;
}
.fp-discount-notice strong {
  color: #2ecc71;
}

.fp-discount-notice-mini {
  background: rgba(39, 174, 96, 0.2);
  color: #7dcea0;
  text-align: center;
  padding: 8px 10px;
  margin: 0 0 10px 0;
  border-radius: 4px;
  font-size: 0.85em;
  list-style: none !important;
}
.fp-discount-notice-mini strong {
  color: #2ecc71;
}

/* ==========================================================================
   Dark Form Styles - Ultimate Member, WooCommerce Account/Checkout
   ========================================================================== */

/* Ultimate Member forms */
.um-form input[type="text"],
.um-form input[type="email"],
.um-form input[type="password"],
.um-form input[type="tel"],
.um-form input[type="url"],
.um-form input[type="number"],
.um-form textarea,
.um-form select {
    background-color: #141619 !important;
    border: 1px solid #555 !important;
    color: #e0e0e0 !important;
    border-radius: 4px;
}
.um-form input[type="text"]:focus,
.um-form input[type="email"]:focus,
.um-form input[type="password"]:focus,
.um-form input[type="tel"]:focus,
.um-form input[type="url"]:focus,
.um-form input[type="number"]:focus,
.um-form textarea:focus,
.um-form select:focus {
    background-color: #141619 !important;
    border-color: #5dade2 !important;
    color: #e0e0e0 !important;
    outline: none;
}
.um-form input::placeholder,
.um-form textarea::placeholder {
    color: #888 !important;
}
.um-form label,
.um-form .um-field-label label {
    color: #cfcfcf !important;
}
/* UM post-registration message */
.um-postmessage {
    color: #e0e0e0;
    background: rgba(39, 174, 96, 0.15);
    border: 1px solid rgba(39, 174, 96, 0.4);
    padding: 15px 20px;
    border-radius: 5px;
    line-height: 1.6;
}
.um-form .um-button {
    background-color: #3D8BD3 !important;
    border: none !important;
    color: #fff !important;
    border-radius: 5px !important;
}
.um-form .um-button:hover {
    background-color: #2d6aa3 !important;
}
.um .um-tip,
.um .um-field-icon {
    color: #888 !important;
}
/* Hide UM honeypot field (label + hidden input) */
.um_request_name {
    display: none !important;
}
/* Hide UM's default login button, replace with text link via JS */
.um-register .um-button.um-alt {
    display: none !important;
}
.um-register .fp-login-link {
    display: block;
    text-align: center;
    margin-top: 15px;
    color: #cfcfcf;
}
.um-register .fp-login-link a {
    color: #5dade2;
}
.um-register .fp-login-link a:hover {
    color: #7ec8e8;
    text-decoration: underline;
}

/* WooCommerce account page forms */
.woocommerce-account .woocommerce-form input[type="text"],
.woocommerce-account .woocommerce-form input[type="email"],
.woocommerce-account .woocommerce-form input[type="password"],
.woocommerce-account .woocommerce-form input[type="tel"] {
    background-color: #141619 !important;
    border: 1px solid #555 !important;
    color: #e0e0e0 !important;
    border-radius: 4px;
}
.woocommerce-account .woocommerce-form input[type="text"]:focus,
.woocommerce-account .woocommerce-form input[type="email"]:focus,
.woocommerce-account .woocommerce-form input[type="password"]:focus,
.woocommerce-account .woocommerce-form input[type="tel"]:focus {
    background-color: #141619 !important;
    border-color: #5dade2 !important;
    color: #e0e0e0 !important;
    outline: none;
}
.woocommerce-account .woocommerce-form label {
    color: #cfcfcf !important;
}

/* WooCommerce Edit Account form */
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"] {
    background-color: #141619 !important;
    border: 1px solid #555 !important;
    color: #e0e0e0 !important;
    border-radius: 4px;
}
.woocommerce-EditAccountForm input[type="text"]:focus,
.woocommerce-EditAccountForm input[type="email"]:focus,
.woocommerce-EditAccountForm input[type="password"]:focus {
    background-color: #141619 !important;
    border-color: #5dade2 !important;
    color: #e0e0e0 !important;
    outline: none;
}
.woocommerce-EditAccountForm label {
    color: #cfcfcf !important;
}
.woocommerce-EditAccountForm .woocommerce-Button {
    background-color: #3D8BD3 !important;
    border: none !important;
    color: #fff !important;
    border-radius: 5px !important;
}
.woocommerce-EditAccountForm .woocommerce-Button:hover {
    background-color: #2d6aa3 !important;
}
/* Override browser autofill yellow background */
.woocommerce-EditAccountForm input:-webkit-autofill,
.woocommerce-EditAccountForm input:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0 1000px #141619 inset !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border: 1px solid #555 !important;
    caret-color: #e0e0e0 !important;
    transition: none !important;
}
.woocommerce-EditAccountForm input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #141619 inset !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border-color: #5dade2 !important;
    caret-color: #e0e0e0 !important;
    transition: none !important;
}

/* WooCommerce address/billing edit forms */
.woocommerce-address-fields input[type="text"],
.woocommerce-address-fields input[type="email"],
.woocommerce-address-fields input[type="tel"],
.woocommerce-address-fields select,
.woocommerce-address-fields .select2-selection {
    background-color: #141619 !important;
    border: 1px solid #555 !important;
    color: #e0e0e0 !important;
    border-radius: 4px;
}
.woocommerce-address-fields input[type="text"]:focus,
.woocommerce-address-fields input[type="email"]:focus,
.woocommerce-address-fields input[type="tel"]:focus,
.woocommerce-address-fields select:focus {
    background-color: #141619 !important;
    border-color: #5dade2 !important;
    color: #e0e0e0 !important;
    outline: none;
}
.woocommerce-address-fields label {
    color: #cfcfcf !important;
}
.woocommerce-address-fields .button {
    background-color: #3D8BD3 !important;
    border: none !important;
    color: #fff !important;
    border-radius: 5px !important;
}
.woocommerce-address-fields .button:hover {
    background-color: #2d6aa3 !important;
}
/* Select2 dropdown styling for address forms */
.woocommerce-address-fields .select2-selection--single {
    height: 45px !important;
    padding: 8px 12px !important;
    background-color: #141619 !important;
    border: 1px solid #444 !important;
}
.woocommerce-address-fields .select2-selection__rendered {
    color: #e0e0e0 !important;
    line-height: 28px !important;
    padding-left: 0 !important;
}
.woocommerce-address-fields .select2-selection__arrow {
    height: 43px !important;
}
/* Override browser autofill for billing address */
.woocommerce-address-fields input:-webkit-autofill,
.woocommerce-address-fields input:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0 1000px #141619 inset !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border: 1px solid #555 !important;
    caret-color: #e0e0e0 !important;
    transition: none !important;
}
.woocommerce-address-fields input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #141619 inset !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border-color: #5dade2 !important;
    caret-color: #e0e0e0 !important;
    transition: none !important;
}

/* WooCommerce checkout forms */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection {
    background-color: #141619 !important;
    border: 1px solid #555 !important;
    color: #e0e0e0 !important;
    border-radius: 4px;
}
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout input[type="number"]:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    background-color: #141619 !important;
    border-color: #5dade2 !important;
    color: #e0e0e0 !important;
    outline: none;
}
/* Override browser autofill for checkout */
.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0 1000px #141619 inset !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border: 1px solid #555 !important;
    caret-color: #e0e0e0 !important;
    transition: none !important;
}
.woocommerce-checkout input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #141619 inset !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    border-color: #5dade2 !important;
    caret-color: #e0e0e0 !important;
    transition: none !important;
}
.woocommerce-checkout label,
.woocommerce-checkout .form-row label {
    color: #cfcfcf !important;
}
/* Force country/postcode side by side (WooCommerce JS changes postcode to form-row-wide for some countries) */
#billing_country_field {
    width: 48% !important;
    float: left !important;
    margin-right: 4% !important;
    clear: left !important;
}
#billing_postcode_field {
    width: 48% !important;
    float: left !important;
    clear: none !important;
}
@media (max-width: 479px) {
    #billing_country_field,
    #billing_postcode_field {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }
}
/* Select2 dropdown (country selector) - dark theme styling */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    background-color: #141619 !important;
    border: 1px solid #555 !important;
    height: 2.507em !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-position: right .45em top 50% !important;
    background-repeat: no-repeat !important;
    background-size: auto 16px !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #e0e0e0 !important;
    line-height: 2.507em !important;
}
.select2-dropdown {
    background-color: #1a1d24 !important;
    border-color: #555 !important;
}
.select2-results__option {
    color: #e0e0e0 !important;
}
.select2-results__option--highlighted {
    background-color: #3D8BD3 !important;
}
.select2-search__field {
    background-color: #141619 !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

/* ========================================
   HOMEPAGE: Latest Reviews Slider
   ======================================== */
.fp-reviews-slider-section {
    margin-bottom: 35px;
}

.fp-rev-slide {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #1a1d24;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #333;
    min-height: 180px;
}

/* Thumbnail: fixed width, 3:2 crop */
.fp-rev-thumb {
    flex: 0 0 270px;
    position: relative;
    overflow: hidden;
}

.fp-rev-thumb a {
    display: block;
    width: 100%;
    height: 100%;
}

.fp-rev-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 3 / 2;
}

/* Text area - match main slider padding */
.fp-rev-text {
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

/* Header: bold author on linked title (matches sidebar reviews) */
.fp-rev-header {
    font-size: 0.9rem;
    color: #888;
    margin-bottom: 12px;
    line-height: 1.4;
}

.fp-rev-author {
    font-weight: 700;
    color: #e0e0e0;
}

.fp-rev-header a {
    color: #5dade2 !important;
}

.fp-rev-header a:hover {
    color: #7ec8e8 !important;
}

/* Review quote */
.fp-rev-quote {
    color: #aaa;
    font-size: 0.9rem;
    line-height: 1.7;
    font-style: italic;
    margin-bottom: 12px;
}

/* Date */
.fp-rev-date {
    font-size: 0.8rem;
    color: #777;
}

/* Dots: hidden on desktop, shown on mobile (matches Newest Releases slider) */
.fp-reviews-slider-section .flickity-page-dots {
    display: none;
}

/* Reset flickity buttons */
.fp-reviews-slider-section .flickity-button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

@media (max-width: 549px) {
    .fp-rev-slide {
        flex-direction: column-reverse;
    }

    .fp-rev-thumb {
        flex: 0 0 auto;
    }

    .fp-rev-text {
        padding: 25px;
    }
}

@media (max-width: 549px) {
    .fp-reviews-slider-section .flickity-page-dots {
        display: block;
        position: relative;
        bottom: -12px;
        left: 0;
        right: 0;
        width: 100%;
        text-align: center;
    }

    .fp-reviews-slider-section .flickity-page-dots .dot {
        width: 8px;
        height: 8px;
        background: #444 !important;
        opacity: 1 !important;
        border: none !important;
        box-shadow: none !important;
    }

    .fp-reviews-slider-section .flickity-page-dots .dot.is-selected {
        background: #3b7dd2 !important;
    }
}

/* Mini-cart footer on mobile */
@media (max-width: 849px) {
    .cart-popup-inner .woocommerce-mini-cart__buttons,
    #cart-popup .woocommerce-mini-cart__buttons,
    .ux-mini-cart .woocommerce-mini-cart__buttons {
        background-color: #141619 !important;
    }
}


/* ================================================================
 * REVIEWS PAGE — [fp_reviews_page]
 * All styles scoped under .fp-revpage to avoid conflict with
 * existing .fp-review-* (homepage slider) and .fp-um-review-*.
 * ================================================================ */

/* Reviews page — neutralize page-full-width.php wrapper + hide duplicate page title */
.page-id-127599 .page-inner {
    background: transparent;
    border: none;
    padding: 0;
}
.page-id-127599 .entry-header { display: none; }

.fp-revpage {
    --fp-rp-bg: #0c0e12;
    --fp-rp-card: #141619;
    --fp-rp-border: #444;
    --fp-rp-border-soft: #2a2d33;
    --fp-rp-heading: #f0f0f0;
    --fp-rp-text: #cfcfcf;
    --fp-rp-muted: #888;
    --fp-rp-dim: #777;
    --fp-rp-link: #5dade2;
    --fp-rp-gold: #d4af37;
    --fp-rp-silver: #c0c0c0;
    --fp-rp-bronze: #cd7f32;
    color: var(--fp-rp-text);
}
.fp-revpage * { box-sizing: border-box; }
.fp-revpage h1, .fp-revpage h2, .fp-revpage h3 {
    color: var(--fp-rp-heading);
    font-family: 'Teko', sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.1;
    margin: 0 0 16px 0;
}
.fp-revpage h1 { font-size: 44px; margin-bottom: 8px; }
.fp-revpage h2 {
    font-size: 30px;
    border-bottom: 1px solid var(--fp-rp-border);
    padding-bottom: 12px;
    margin-top: 48px;
    margin-bottom: 22px;
}

.fp-revpage .hero {
    background: var(--fp-rp-card);
    border: 1px solid var(--fp-rp-border);
    border-radius: 6px;
    padding: 28px 28px 26px;
    margin-bottom: 8px;
    text-align: center;
}
.fp-revpage .hero p {
    font-size: 16px;
    color: var(--fp-rp-text);
    margin: 0 auto;
    max-width: none;
}

.fp-revpage .section-intro {
    color: var(--fp-rp-muted);
    font-size: 14px;
    margin: -14px 0 20px 0;
}

.fp-revpage .panel {
    background: var(--fp-rp-card);
    border: 1px solid var(--fp-rp-border);
    border-radius: 5px;
    padding: 8px 22px;
}

.fp-revpage .panel-header {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 14px;
    padding: 16px 0 14px;
    border-bottom: 1px solid var(--fp-rp-border-soft);
    margin-bottom: 4px;
}
.fp-revpage .panel-header h3 {
    margin: 0;
    text-transform: uppercase;
    font-size: 19px;
    letter-spacing: 0.06em;
    flex: 0 0 auto;
    width: auto;
}
.fp-revpage .panel-header .panel-sub { flex: 0 0 auto; }
.fp-revpage .panel-header .panel-sub {
    color: var(--fp-rp-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ----- Reviewer leaderboard rows ----- */
.fp-revpage .rrow {
    display: grid;
    grid-template-columns: 36px 50px minmax(180px, 1.2fr) 90px 90px minmax(300px, 3fr);
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--fp-rp-border-soft);
}
.fp-revpage .rrow:last-child { border-bottom: none; }
.fp-revpage .rrow .pos {
    font-family: 'Teko', sans-serif;
    font-size: 26px;
    font-weight: 600;
    color: var(--fp-rp-muted);
    text-align: center;
    line-height: 1;
}
.fp-revpage .rrow.r1 .pos { color: var(--fp-rp-gold); }
.fp-revpage .rrow.r2 .pos { color: var(--fp-rp-silver); }
.fp-revpage .rrow.r3 .pos { color: var(--fp-rp-bronze); }
.fp-revpage .rrow .avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #2a2d33;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fp-rp-heading);
    font-weight: 700;
    font-size: 18px;
    border: 1px solid var(--fp-rp-border);
    overflow: hidden;
}
.fp-revpage .rrow .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fp-revpage .rrow .name {
    color: var(--fp-rp-heading);
    font-weight: 700;
    font-size: 16px;
}
.fp-revpage .rrow .name a { color: var(--fp-rp-heading); }
.fp-revpage .rrow .name a:hover { color: var(--fp-rp-link); }
.fp-revpage .rrow .stat {
    text-align: center;
    line-height: 1.1;
}
.fp-revpage .rrow .stat .num {
    display: block;
    font-family: 'Teko', sans-serif;
    font-size: 28px;
    font-weight: 600;
    color: var(--fp-rp-link);
}
.fp-revpage .rrow .stat.reviews .num { color: #d0d0d0; }
.fp-revpage .rrow .stat .label {
    display: block;
    font-size: 10px;
    color: var(--fp-rp-muted);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-top: 1px;
}
.fp-revpage .rrow .quote {
    font-size: 14px;
    color: #aaa;
    font-style: italic;
    line-height: 1.45;
}
.fp-revpage .rrow .quote a { font-style: normal; color: var(--fp-rp-link); }
.fp-revpage .rrow .quote .ref { font-style: normal; color: var(--fp-rp-muted); }
.fp-revpage .rrow .quote .label {
    display: inline-block;
    font-style: normal;
    font-size: 10px;
    font-weight: 700;
    color: var(--fp-rp-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-right: 6px;
    vertical-align: 1px;
}

@media (max-width: 900px) {
    .fp-revpage .rrow {
        grid-template-columns: 32px 42px 1fr auto;
        grid-template-rows: auto auto;
        gap: 10px 12px;
    }
    .fp-revpage .rrow .stat { grid-column: 4; grid-row: 1; }
    .fp-revpage .rrow .stat:nth-of-type(2) { display: none; }
    .fp-revpage .rrow .quote { grid-column: 1 / -1; grid-row: 2; padding-left: 86px; }
}

/* ----- Hall of Fame / Recent review rows ----- */
.fp-revpage .review-row {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 18px;
    padding: 16px 0;
    border-bottom: 1px solid var(--fp-rp-border-soft);
    align-items: start;
}
.fp-revpage .review-row.recent { grid-template-columns: 110px 1fr; }
.fp-revpage .review-row:last-child { border-bottom: none; }
.fp-revpage .review-row .thumb-wrap { position: relative; }
.fp-revpage .review-row .thumb-wrap img {
    width: 110px;
    height: 80px;
    object-fit: cover;
    border-radius: 3px;
    display: block;
}
.fp-revpage .review-row .rank-pill {
    position: absolute;
    top: -6px;
    left: -6px;
    background: rgba(0,0,0,0.85);
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    padding: 3px 7px;
    border-radius: 3px;
    border: 1px solid rgba(255,255,255,0.15);
}
.fp-revpage .review-row .rank-pill.r1 { background: var(--fp-rp-gold); color: #000; border-color: var(--fp-rp-gold); }
.fp-revpage .review-row .rank-pill.r2 { background: var(--fp-rp-silver); color: #000; border-color: var(--fp-rp-silver); }
.fp-revpage .review-row .rank-pill.r3 { background: var(--fp-rp-bronze); color: #fff; border-color: var(--fp-rp-bronze); }
.fp-revpage .review-row .body { min-width: 0; }
.fp-revpage .review-row .header {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 6px;
}
.fp-revpage .review-row .author { font-weight: 700; color: var(--fp-rp-heading); }
.fp-revpage .review-row .author a { color: var(--fp-rp-heading); }
.fp-revpage .review-row .author a:hover { color: var(--fp-rp-link); }
.fp-revpage .review-row .header a { color: var(--fp-rp-link); }
.fp-revpage .review-row .quote {
    font-size: 14px;
    color: #b8b8b8;
    font-style: italic;
    line-height: 1.5;
    margin: 0 0 6px 0;
}
.fp-revpage .review-row .quote .more {
    font-style: normal;
    font-size: 12px;
    color: var(--fp-rp-link);
    white-space: nowrap;
    margin-left: 4px;
}
.fp-revpage .review-row .meta {
    text-align: center;
    min-width: 90px;
    padding-top: 4px;
    line-height: 1.1;
}
.fp-revpage .review-row .meta .num {
    display: block;
    font-family: 'Teko', sans-serif;
    font-size: 36px;
    font-weight: 600;
    color: var(--fp-rp-link);
}
.fp-revpage .review-row .meta .label {
    display: block;
    font-size: 10px;
    color: var(--fp-rp-muted);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-top: 1px;
}
.fp-revpage .review-row .date {
    display: block;
    font-size: 11px;
    color: var(--fp-rp-dim);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.fp-revpage .review-row .date .likes-inline {
    text-transform: none;
    letter-spacing: 0;
}

@media (max-width: 700px) {
    .fp-revpage .review-row {
        grid-template-columns: 90px 1fr;
        gap: 12px;
    }
    .fp-revpage .review-row .thumb-wrap img { width: 90px; height: 65px; }
    .fp-revpage .review-row .meta { grid-column: 1 / -1; text-align: left; }
    .fp-revpage .review-row .meta .num { display: inline; font-size: 22px; margin-right: 6px; }
    .fp-revpage .review-row .meta .label { display: inline; }
}