/*
Theme Name: NSFWallet
Description: Custom GeneratePress child theme for NSFWallet
Template: generatepress
Version: 1.0
*/

/* ========================================
   Global Backgrounds & Layout
======================================== */


body.blog,
body.archive,
body.search,
body.page,
body.error404,
body.single {
  background: rgb(51, 51, 51);
}

body.blog .site,
body.archive .site,
body.search .site,
body.page .site,
body.error404,
body.single .site {
  background: rgb(51, 51, 51);
}

.one-container .site-content {
  flex-wrap: wrap;
  padding-left: 25px;
  padding-right: 25px;
}

body.blog .site-content,
body.archive .site-content,
body.search .site-content {
  padding: 15px 20px;
}

body.blog .site-main,
body.archive .site-main,
body.search .site-main {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

body.search.search-no-results .site-main {
  grid-template-columns: 1fr;
}

body.blog .paging-navigation,
body.archive .paging-navigation,
body.search .paging-navigation {
  grid-column: 1 / -1;
}

/* ========================================
   Archive & Search Headers
======================================== */

body.archive .page-header,
body.search .page-header {
  grid-column: 1 / -1;
  margin: 0 0 20px;
  padding: 20px;
  border: 0;
}

body.archive .page-title,
body.search .page-title {
  margin: 0;
  color: #fff;
  font-size: 42px;
  font-weight: 800;
  line-height: 1.15;
}

body.search .page-title span {
  color: #339966;
}

.ctis-finished-notice .finish-text {
  color: #fff;
}

/* ========================================
   Header
======================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #000;
  border-bottom: 1px solid #111;
  box-shadow: 0 2px 2px 2px rgba(0, 0, 0, .6);
}

.site-header .inside-header {
  display: flex;
  align-items: center;
  padding: 1px 20px;
}

.site-logo {
  margin-right: 40px;
}

/* ========================================
   Header Navigation
======================================== */

.main-navigation,
.inside-navigation,
.main-navigation .main-nav,
.main-navigation .main-nav > ul {
  background: #000;
}

/* Top level */
.main-navigation .main-nav ul li a {
  padding-right: 15px;
  padding-left: 15px;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
}

.main-navigation .main-nav ul li > a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
  color: #fff;
  background: transparent;
}

/* Dropdown */
.main-navigation .main-nav ul ul {
  background: #2d2d2d;
  border-radius: 4px;
}

.main-navigation .main-nav ul ul li {
  background: transparent;
}

.main-navigation .main-nav ul ul a {
  color: #fff;
}

.main-navigation .main-nav ul ul a:hover {
  color: #FFFF99;
  background: #3b3b3b;

}

  .main-navigation .main-nav ul ul li a {
    font-size: 15px;
  }

/* ========================================
   Header Utilities
======================================== */

/* GeneratePress layout override */
.nav-float-right #site-navigation {
  margin-left: 0;
}

/* Search */
.menu-bar-items {
  margin-left: 30px;
}

.menu-bar-items .icon-search {
  color: #fff;
}

/* More menu */
.nsfw-header-more {
  position: relative;
  margin-left: auto;
}

.nsfw-more-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  color: #fff;
  cursor: pointer;
  background: transparent;
  border: 0;
}

.nsfw-more-toggle svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* More dropdown */
.header-secondary-nav {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 9999;
  display: none;
  min-width: 220px;
  padding: 10px 0;
  background: #2d2d2d;
  border-radius: 4px;
}

.header-secondary-nav.is-open {
  display: block;
}

.header-secondary-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-secondary-menu li {
  margin: 0;
}

.header-secondary-menu a {
  display: block;
  padding: 12px 20px;
  color: #fff;
  text-decoration: none;
}

.header-secondary-menu a:hover {
  background: #3b3b3b;
}


/* Category header */
.archive .page-header {
    background: #fff;
    border-radius: 16px;
    padding: 35px 40px;
    margin-bottom: 35px;
    box-shadow: 0 3px 12px rgba(0,0,0,.08);
}

/* Title */
.archive .page-header .page-title {
    color: #222;
    font-size: 46px;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 18px;
}

/* Description */
.archive .taxonomy-description {
    color: #555;
    font-size: 18px;
    line-height: 1.8;
}

.archive .taxonomy-description p {
    margin-bottom: 18px;
}

.archive .taxonomy-description p:last-child {
    margin-bottom: 0;
}

/* Links inside description */
.archive .taxonomy-description a {
    color: #1e73be;
}

.archive .taxonomy-description a:hover {
    color: #0b5fa5;
}


/* ========================================
   NSFWallet Post Cards
======================================== */

.nsfw-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 6px;
}

/* Featured image */
.nsfw-card-image {
  display: block;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 6 / 5;
}

.nsfw-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.nsfw-card-image:hover img {
    transform: scale(1.04);
}

/* Card content */
.nsfw-card-content {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  padding: 15px;
}

.one-container.archive .post.nsfw-card:not(:last-child):not(.is-loop-template-item),
.one-container.blog .post.nsfw-card:not(:last-child):not(.is-loop-template-item) {
  padding-bottom: 0;
}

/* Title */
.nsfw-card-title {
  margin: 0 0 15px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.nsfw-card-title a {
  color: #111;
  text-decoration: none;
}

.nsfw-card-title a:hover {
  color: #333;
}

/* Excerpt */
.nsfw-card-excerpt {
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 1.5;
}

.nsfw-card-excerpt p {
  margin: 0;
}

/* Button */
.nsfw-card-button {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: auto;
  padding: 12px 16px;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
  background: #339966;
  border-radius: 4px;
  transition: box-shadow 0.2s ease;
}

.nsfw-card-button:hover {
  color: #FFFF99;
  background: #339966;
  box-shadow: 0 4px 4px 0 rgba(0,0,0,0.6);
  
}

/* ========================================
   Sidebar
======================================== */

.widget .search-form button.search-submit {
    background-color: #B70004;
}


.inside-right-sidebar {
  padding: 0;
}

.inside-right-sidebar .widget:last-child {
  margin-bottom: 0;
}

/* Search Widget */
#right-sidebar .widget#search-2 {
  padding: 0;
  margin-bottom: 24px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}

#right-sidebar #search-2 .search-form label {
  flex-grow: 1;
}

/* Recent Posts Header */
#right-sidebar .widget#block-3 {
  margin: 0;
  padding: 16px 20px;
  background: #339966;
  border-radius: 10px 10px 0 0;
}

#right-sidebar #block-3 h2 {
  margin: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

/* Recent Posts List */
#right-sidebar .widget#block-2 {
  margin-top: 0;
  padding: 0 18px;
  background: #fff;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}

#right-sidebar #block-2 ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#right-sidebar #block-2 li {
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid #ececec;
}

#right-sidebar #block-2 li:last-child {
  border-bottom: none;
}

#right-sidebar #block-2 a {
  color: #222;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  transition: color .1s;
}

#right-sidebar #block-2 a:hover {
  color: #339966;
}

/* ========================================
   Single Post
======================================== */

.nsfw-single {
  background: #fff;
  border-radius: 10px;
  padding: 35px;
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

/* Header */
.nsfw-entry-header {
  margin-bottom: 5px;
  padding-bottom: 15px;
}

.nsfw-entry-header .entry-title,
.nsfw-entry-header h1 {
  font-size: 48px;
  line-height: 1.15;
  font-weight: 800;
  color: #222;
  margin: 0 0 18px;
  letter-spacing: -.5px;
}

.nsfw-entry-header .entry-meta {
  font-size: 13px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
}

.nsfw-entry-header .entry-meta a {
  color: #888;
  text-decoration: none;
}

.nsfw-entry-header .entry-meta a:hover {
  color: #ff6a00;
}

/* Featured image */
.nsfw-featured-image {
  margin: 25px 0 35px;
}

.nsfw-featured-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

/* Content */
.nsfw-single .entry-content {
  font-size: 19px;
  line-height: 1.8;
  color: #333;
}

.nsfw-single .entry-content p {
  margin: 0 0 1.5em;
}

.nsfw-single .entry-content h2 {
  margin: 2em 0 .8em;
  font-size: 32px;
  line-height: 1.25;
}

.nsfw-single .entry-content h3 {
  margin: 1.7em 0 .7em;
  font-size: 24px;
  line-height: 1.3;
}

.nsfw-single .entry-content img {
  display: block;
  margin: 2em auto;
  border-radius: 8px;
}

.nsfw-single .entry-content a {
  color: #2d8cff;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s;
}

.nsfw-single .entry-content a:hover {
  color: #1c6fd8;
  text-decoration: underline;
}

.nsfw-single .entry-content ul,
.nsfw-single .entry-content ol {
  margin: 0 0 1.5em 1.5em;
}

.nsfw-single .entry-content li {
  margin-bottom: .5em;
  line-height: 1.7;
}

.nsfw-single .entry-content table {
  width: 100%;
  margin: 2em 0;
  border-collapse: collapse;
}

.nsfw-single .entry-content th,
.nsfw-single .entry-content td {
  padding: 12px 16px;
  border: 1px solid #e5e5e5;
  text-align: left;
}

.nsfw-single .entry-content th {
  background: #f8f8f8;
  font-weight: 700;
}

/* Product box */
.nsfw-product-box {
    margin: 45px 0;
    padding: 30px;
    background: #f7f7f7;
    border-radius: 10px;
    clear: both;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nsfw-price {
    font-size: 34px;
    font-weight: bold;
    flex: 1;
    text-align: left;
}

.nsfw-buy-button {
    display: inline-block;
    background: #ff6a00;
    color: #fff;
    text-decoration: none;
    padding: 16px 40px;
    border-radius: 8px;
    font-size: 20px;
    font-weight: 700;
    transition: .2s;
    flex-shrink: 0;
}

.nsfw-buy-button:hover {
  background: #e55f00;
  color: #fff;
}

/* Post Footer */
.nsfw-entry-footer {
  border-top: 1px solid #eee;
  padding-top: 25px;
  margin-top: 40px;
}

/* Single Post - Related Products */
.site-content {
  flex-wrap: wrap;
}

.nsfw-related-products {
  flex: 0 0 100%;
  width: 100%;
  padding: 30px 0 80px;
  background: rgb(51, 51, 51);
}

.nsfw-related-products .inside-container {
  max-width: 1400px;
  margin: 0 auto;
}

.nsfw-section-title {
  margin: 0 0 35px;
  color: #fff;
  font-size: 36px;
  font-weight: 800;
}

.related-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.yarpp {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}

/* ========================================
   Footer
======================================== */

.nsfw-footer {
  background: #111;
  color: #bbb;
  margin-top: 60px;
  border-top: 1px solid #333;
}

.inside-nsfw-footer {
  max-width: 1400px;
  margin: 0 auto;
  padding: 50px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 80px;
}

.footer-left {
  flex: 0 1 430px;
}

.footer-logo {
  font-size: 28px;
}

.footer-logo a {
  color: #fff;
  text-decoration: none;
}

.footer-description {
  color: #aaa;
  line-height: 1.8;
  margin: 0;
}

.footer-right {
  min-width: 220px;
}

.footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-menu li {
  margin-bottom: 8px;
}

.footer-menu a {
  color: #ddd;
  text-decoration: none;
  font-weight: 600;
}

.footer-menu a:hover {
  color: #e53935;
}

.footer-bottom {
  border-top: 1px solid #333;
  padding: 20px 30px;
  text-align: center;
  color: #777;
  font-size: 14px;
}

/* ========================================
   Responsive Media Queries
======================================== */

@media (min-width: 769px) {
  body.single #primary,
  body.page #primary,
  body.error404 #primary {
    width: 75%;
  }

  body.single #right-sidebar,
  body.page #right-sidebar,
  body.error404 #right-sidebar {
    width: 25%;
  }
}

@media (max-width: 1024px) {
  body.blog .site-main,
  body.archive .site-main,
  body.search .site-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.single .site-content {
    display: flex;
    flex-direction: column;
  }

  body.single #primary { order: 1; }
  body.single .nsfw-related-products { order: 2; }
  body.single #right-sidebar { order: 3; }

.archive .page-header .page-title { 
font-size: 24px;

}


  .nsfw-single .entry-title {
    font-size: 42px;
    line-height: 1.15;
    margin-bottom: 15px;
  }

  .nsfw-price {
    font-size: 24px;
}

.nsfw-buy-button {
    padding: 16px 16px;
    font-size: 20px;
}


  .nsfw-featured-image {
    margin: 20px 0 25px;
  }

  .nsfw-product-box {
    padding: 20px;
  }

  /* .nsfw-buy-button {
    width: 100%;
  } */

  .nsfw-single {
    padding: 20px 15px;
  }

  .related-posts-grid {
    grid-template-columns: 1fr;
  }

  .main-navigation .main-nav ul li a {
    padding-right: 5px;
    padding-left: 5px;
  }

  .main-navigation .main-nav ul ul li a {
    padding: 10px 10px;
    font-size: 14px;
  }

  .main-navigation ul ul {
    width: 150px;
  }

  .one-container .site-content {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 5px;
  }

  .container .site-content .content-area {
    margin-bottom: 20px;
  }

  body.blog .site-main,
  body.archive .site-main,
  body.search .site-main {
    grid-template-columns: 1fr;
  }

  .site-header .inside-header {
    flex-direction: row;
    align-items: center;
    text-align: left;
    padding: 5px 7px;
  }

  .nsfw-mobile-logo img {
    width: 60px;
    height: 60px;
    max-width: none;
  }

  /* Responsive Footer */
  .inside-nsfw-footer {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 25px;
  }

  .footer-left {
    flex: none;
    max-width: 100%;
  }

  .footer-right {
    min-width: auto;
    width: 100%;
  }

  .footer-menu {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .footer-menu li {
    margin: 0;
  }

  .footer-bottom {
    padding: 20px;
  }

  .site-logo {
    margin-right: 5px;
  }
}
