/*
Theme Name: FansPaysite
Theme URI: https://fanspaysite.com/theme
Author: videowhisper
Author URI: https://videowhisper.com
Contributors: videowhisper
Description: FansPaysite is a theme designed for digital content creators. Features: vertical hierarchical menus with configurable icons on left side, dark/light mode, vertically scrollable content area, right sidebar and widgets only on wide screens, responsive, optimized for mobile screens.
Version: 1.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fanspaysite
Tags: custom-logo, custom-menu, theme-options, translation-ready, three-columns, left-sidebar, right-sidebar
Requires PHP: 7.3
Requires at least: 5.0
Tested up to: 6.4

FansPaysite WordPress Theme, Copyright 2024 VideoWhisper.com .
FansPaysite is distributed under the terms of the GNU GPL.

*/ 

/* Layout */
/* Reset default margins and paddings */

body, html {
  margin: 0;
  padding: 0;
  height: 100%; /* Ensures the full height of the viewport */

  color: var(--text-color, #000);
  background-color: var(
    --background-color,
    #ffffff) 
}

a,
a:visited,
{
  color: var(--link-color, #173e2a); /* Use the link color defined in the Customizer */
  transition: opacity 0.3s ease; /* Smooth transition for the opacity change */
}

a:hover,
a:focus, 
{
  opacity: 0.8; /* Slightly reduce the opacity on hover/focus */
}


.site-wrapper { 
  display: flex;
  flex-direction: row; /* Keeps the layout horizontal */
  height: 100vh; /* Ensures the site wrapper is full viewport height */
  color: var(--text-color, #000);
  background-color: var(
    --background-color,
    #ffffff) 
}

.site-sidebar {
  /* Site sidebar contains menu and site-sidebar-left */
  overflow-y: auto; /* Allows scrolling within the sidebar if content overflows */  
  display: flex; /* Establishes a flex container */
  flex-direction: column; /* Stacks flex items vertically */
  align-items: center; /* Centers flex items horizontally in the container */
  min-width: 200px; /* Minimum width for the sidebar */
  width: 5%;
}

.site-content {
  flex-grow: 1; /* Allows content area to grow and fill available space */
  overflow-y: auto; /* Enables vertical scrolling for site-content */
  background: no-repeat center center;
  background-size: cover; /* Ensure the background covers the entire content area */
  padding: 8px;
  margin-bottom: 50px; /* Scroll space */
  padding-bottom: 50px; /* Space below the content */
}

.site-sidebar-left {
  padding: 8px; /* Padding around the content inside the sidebar */
  width: 200px; /* Example fixed width for sidebars */
}


.site-sidebar-right {
  display: none; /* Hide the sidebar on small screens */
  width: 200px;
  padding: 8px; /* Padding around the content inside the sidebar */
  overflow-y: auto; /* Makes the sidebar scrollable vertically if content overflows */
}

@media (min-width: 1210px) {
  .site-sidebar-right {
    display: block; /* Show the sidebar on screens wider than 992px */
    flex: 1; /* Allows the sidebar to grow and fill available space */
    order: 2; /* Position the sidebar to the right of the content if using flexbox layout */
  }
}

.site-footer {
   /* Footer styles */
   width: 100%; /* Ensures footer spans the entire width of the viewport */
   padding: 10px;
   text-align: center; /* Center the text in the footer */
  }

  /* Left sidebar adjustments for narrow screens */
@media (max-width: 768px) {
  /* Make sidebar narrower */
  .site-sidebar {
    min-width: 70px; /* Adjust the sidebar's width */
  }

  /* Make logo smaller */ 
  .custom-logo-link img {
    max-width: 65px; /* Adjust the logo's height */
    padding: 4px;
    padding-top: 20px;
  }

  /*Hide menu text */
  .menu-item-title {
    display: none;
  }

  .site-sidebar-left {
    display: none; /* Hide the left sidebar on small screens */
  }


 #primary-menu i, #primary-menu .menu-item-icon-letter
 {
  font-size: 24px;
  width: 32px;
  height: 32px;
 }

}

/* Fix for the  Semantic UI dropdown menu levels, to fit on left sidebar*/
.ui.dropdown.fpsDropdown .menu {
  left: 4px !important;
  right: 100% !important; /* This makes the menu open to the left */
  top: 0 !important; /* Aligns the menu at the top of the dropdown */
}

#fanspaysiteMode {
  padding: 4px;
}

/*Title & Logo*/

.site-title {
  font-size: clamp(
    5px,
    1vw,
    32px
  ); /* Adjust min, value, and max sizes as needed */
  padding: 4px;
}

.custom-logo-link img {
  /* Logo shows inside side-sidebar */
  padding: 8px;
  max-height: 80px; /* Adjust the logo's height */
  width: auto;
  /* Add any additional styling you need */
}

.site-header,
.site-footer {
  color: var(--text-color, #000);
  background-color: var(
    --background-color,
    #ffffff
  ); /* Fallback for light mode */
}


/*  Sidebar Widget Styling */
 .widget {
  display: block; /* Stacks widgets vertically */
  font-size: 10px; /* Size of the widget content */
  margin-bottom: 8px; /* Space between widgets */
}

.widget .wp-block-heading {
  display: block;
  font-size: 12px; /* Size of the widget title */
  margin-bottom: 8px; /* Space below the widget title */
}

/* Targeting ul within widget_block class specifically */
.widget_block ul, .wp-block-archives-list {
  display: block; /* Stacks lists vertically */
  list-style-type: none; /* Removes bullets from lists */
  padding-left: 0; /* Removes indentation/padding from lists */
  margin-left: 0; /* Ensures lists start from the very edge */
}

/* Targeting li within wp-block-archives-list specifically */
.wp-block-archives-list li {
  padding-left: 0; /* Removes indentation/padding from list items */
}

/* Ensure sections within sidebar widgets are displayed as blocks and not inline */
 section{
  display: block; /* This will stack sections vertically */
  padding-bottom: 8px; /* Space below each section */
}

/* Target the widget area and remove padding from the list */
.widget_recent_comments .wp-block-latest-comments {
  padding-left: 0; /* Removes indentation for the list */
}

.ui.comments .comment-list {
  list-style: none; /* Removes bullets */
}

/* Themes */

/* Default styles (can be considered light theme) */
:root {
  --background-color: #fff;
  --text-color: #333;

  --link-color: #173e2a; /* Adjust the color to fit your theme */

  --menu-text-color: #333; /* Light text color for dark mode */
  
  --menu-bg-color: #fff; /* Dark background color for dark mode */
  --menu-open-bg-color: #f0f0f0; /* Dark background color for dark mode */

  --menu-hover-bg-color: #d9e6f2; /* Slightly lighter bg color on hover in dark mode */
  --menu-hover-text-color: #173e2a; /* Light text color for hover state in dark mode */
  --menu-icon-bg-color: #686868; /* Background color for icons in dark mode */
  --menu-current-item-bg-color: #d9e6f2; /* Background color for the current menu item */

  --caption-bg-color: #f3f3f3;
  --caption-text-color: #666;
  --highlight-bg-color: #f9f9f9;
  --highlight-border-color: #ccc;
}

/* Light theme styles */
[data-theme="light"] {
  --background-color: #fff;
  --text-color: #333;

  --link-color: #173e2a; /* Adjust the color to fit your theme */

  --menu-text-color: #333; /* Light text color for dark mode */
  
  --menu-bg-color: #fff; /* Dark background color for dark mode */
  --menu-open-bg-color: #f0f0f0; /* Dark background color for dark mode */

  --menu-hover-bg-color: #d9e6f2; /* Slightly lighter bg color on hover in dark mode */
  --menu-hover-text-color: #173e2a; /* Light text color for hover state in dark mode */
  --menu-icon-bg-color: #686868; /* Background color for icons in dark mode */
  --menu-current-item-bg-color: #d9e6f2; /* Background color for the current menu item */

  --caption-bg-color: #f3f3f3;
  --caption-text-color: #666;
  --highlight-bg-color: #f9f9f9;
  --highlight-border-color: #ccc;
}

/* Dark theme styles */
[data-theme="dark"] {
  --background-color: #333333;
  --text-color: #ffffff;

  --link-color: #77c09a; /* Adjust the color to fit your theme */

  --menu-text-color: #ffffff; /* Light text color for dark mode */

  --menu-bg-color: #333333; /* Dark background color for dark mode */
  --menu-open-bg-color: #3c3c3c; /* Dark background color for dark mode */

  --menu-hover-bg-color: #555555; /* Slightly lighter bg color on hover in dark mode */
  --menu-hover-text-color: #dddddd; /* Light text color for hover state in dark mode */
  --menu-icon-bg-color: #555555; /* Background color for icons in dark mode */
  --menu-current-item-bg-color: #555555; /* Background color for the current menu item */

  --caption-bg-color: #2c2c2c;
  --caption-text-color: #ccc;
  --highlight-bg-color: #424242;
  --highlight-border-color: #666;
}


/* Listing Styling */
.row.mb-3:not(:last-child) {
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.col-9 h2 a {
  color: #003366; /* Adjust the color to fit your theme */
  text-decoration: none; /* Optional: removes underline from links */
}

.col-9 p {
  margin-bottom: 0.5rem;
}

.badge.bg-secondary {
  margin-right: 5px; /* Space between tags */
}

/* Sticky Post */
.sticky {
  background-color: var(--menu-current-item-bg-color, #f0f0f0);
  color: var(--text-color, #000);
  border-left: 4px solid #003366; /* Blue border on the left */
  padding: 12px;
  margin-bottom: 16px;
  border-radius: 4px;
}

.sticky h2 {
  color: #003366; /* Blue text for titles */
}



/* Blocks */
.mode-text-block {
  background-color: var(--background-color);
  color: var(--text-color);
  padding: 20px;
  border-radius: 5px;
}

/* Handle wide and full alignments */
.alignwide {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px; /* Adjust as needed */
}

.alignfull {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* Make embeds responsive */
.wp-embed-responsive iframe,
.wp-embed-responsive video,
.wp-embed-responsive embed,
.wp-embed-responsive object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.wp-embed-responsive {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}


/* Ensure nav-links flex container is properly styled for inline display */
.nav-links {
  display: flex; /* This ensures flex display */
  justify-content: space-between; /* This spreads the items apart */
  width: 100%; /* Ensure the container takes full width */
}

/* Caption styles */
.wp-caption {
  padding: 4px;
  margin-bottom: 20px;
  background-color: var(--caption-bg-color);
  max-width: 100%;
  text-align: center;
  box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.2);
}

.wp-caption-text,
.gallery-caption {
  font-size: 14px;
  line-height: 1.6;
  color: var(--caption-text-color);
  margin: 0;
}

/* Styles to highlight comments by the post author */
.bypostauthor {
  background-color: var(--highlight-bg-color);
  border-left: 4px solid var(--highlight-border-color);
  padding-left: 16px;
}

/* Alignment classes */
.alignright {
  float: right;
  margin: 0 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 0 20px 20px 0;
}

.aligncenter {
  display: block;
  margin: 0 auto 20px auto;
}

/* Clearfix for floated elements */
.alignright:after,
.alignleft:after,
.aligncenter:after {
  content: "";
  display: table;
  clear: both;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above most things */
}
