/*
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.7
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.1
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) 
}

.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;
  min-width: 200px; /* Minimum width for the sidebar */
  padding: 8px; /* Padding around the content inside the sidebar */
  overflow-y: auto; /* Makes the sidebar scrollable vertically if content overflows */
}

@media (min-width: 1000px) {
  .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: 3; /* 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 */
  }

}

/* 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 */
  position: absolute;
}

.ui.menu .item a {
  color: var(--text-color, #333);
}


#fanspaysiteMode {
  padding: 4px;
}

/*Title & Logo*/

.site-title {
  font-size: clamp(
    5px,
    1vw,
    32px
  ); /* centered */
  padding: 4px;
  font: sans-serif;
  text-align: center;
}

.site-title a {
  color: var(--text-color, #000);
  text-decoration: none;
}

.site-tagline
{
  font-size: clamp(
    5px,
    0.9vw,
    24px
  );
  color: var(--text-color, #000);
  text-align: center;
}

.custom-logo-link img {
  /* Logo shows inside side-sidebar, centered */
  padding: 4px;
  max-height: 128px; /* Adjust the logo's height */
  max-width: 128px; /* Adjust the logo's height */
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.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 {
  --text-color: #333;
  --background-color: #fff;

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

  --link-color: #77145d; /* Adjust the color to fit your theme */
}

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

  --link-color: #77145d; /* Adjust the color to fit your theme */
}

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

  --link-color: #d39ed8; /* Adjust the color to fit your theme */
}


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


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

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

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

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

/* Link styles */
a,
a:visited,
h2 a,
h2 a:visited
{
  color: var(--link-color, #173e2a); /* Use the link color defined in the Customizer */
}

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


/* Ensure all links within block-level content are underlined */
.post-content a,
.entry-content a,
.entry-summary a,
.comment-content a,
.widget_text a,
.widget a,
.text a,
.custom-content a {
    text-decoration: underline;
    color: var(--link-color);
}



/* 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%;
    max-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(--background-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(--text-color);
  margin: 0;
}

/* Styles to highlight comments by the post author */
.bypostauthor {
  background-color: var(--background-color);
  border-left: 4px solid;
  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;
}


/* Accessibility */
/* Text meant only for screen readers. */

.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 !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  right: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}
