/*
Theme Name: PartPurple Child 3.0
Template: partpurple
Theme URI: https://partpurple.com
Author: PartPurple
Author URI: https://partpurple.com
Description: PartPurple child theme, based on skltn
Version: 3.0
Text Domain: partpurple-child
Tags: blog,right-sidebar,two-columns,custom-colors,custom-menu,footer-widgets,full-width-template,threaded-comments,translation-ready
*/


/* ----------- */
/* ROOT STYLES */
/* ----------- */

/* CUSTOM FONTS! Whee! */
@import url('https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&family=Roboto+Slab:wght@100..900&family=Style+Script&family=BenchNine:wght@300;400;700&family=Comfortaa:wght@300..700&family=Antonio:wght@100..700&family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Satisfy&family=Sofia&display=swap');
@font-face { /*
    font-family: "WhiteFestiveShadow";
    src: url('../images/White-Festive-Shadow.otf') format("truetype");
    font-family: "NeogreyRegular";
    src: url('../images/NeogreyRegular.otf') format("truetype");
    font-family: "LucidaGrande";
    src: url('fonts/LucidaGrande.ttf') format("truetype");
    font-family: "NeogreyMedium";
    src: url('../images/NeogreyMedium.otf') format("truetype");
    font-family: "Berner";
    src: url('../images/BernerBasisschrift1.ttf') format("truetype"); */
    font-family: "BookJacket";
    src: url('../images/BOOKJACK.TTF') format("truetype");
    font-family: "Alesandra";
    src: url('../images/Alesandra.ttf') format("truetype");
}

/*
ATTRIBUTE ORDER
background-color
background-image
background-repeat
background-attachment
background-position
*/

:root {
  --black: #000000; /*rgb(0, 0, 0);*/
  --charcoal: #444444; /*rgb(68, 68, 68);*/
  --med-grey: #666666; /*rgb(102, 102, 102);*/
  --mid-grey: #aaaaaa; /*rgb(170, 170, 170);*/
  --light-grey: #f0f0f0; /*rgb(240, 240, 240);*/
  --pale-grey: #dddddd; /*rgb(221, 221, 221);*/
  --dark-white: #f4f4f4; /*rgb(244, 244, 244);*/
  --white: #ffffff; /*rgb(255, 255, 255);*/
  --deep-purple: #210054; /*rgb(39, 17, 68);*/
  --purple: #9a65db; /*rgb(154, 101, 219);*/
  --light-purple: #f1eef4; /*rgb(241, 238, 244);*/
  --aqua: #00a5c0; /*rgb(0, 165, 192);*/
  --cyan: #8bdfed; /*rgb(139, 223, 237);*/
  --blue: #5b71b3; /*rgb(91, 113, 179);*/

  --white-fade: linear-gradient(to bottom, rgba(255, 255, 255, 0.25), transparent);
  --purple-fade: linear-gradient(to left, rgba(154, 101, 219, 0.5), transparent);
  --aqua-fade: linear-gradient(to right, rgba(0, 165, 192, 0.5), transparent);
  --blue-fade: linear-gradient(to bottom, rgba(91, 113, 179, 0.5), transparent);
  --bar-fade: linear-gradient(to left, transparent, rgba(241, 238, 244, 1), transparent);
  --bar-fade-reverse: linear-gradient(to left, rgba(241, 238, 244, 1), transparent, rgba(241, 238, 244, 1));
  --px45-down: 45px;
  --bkgd-repeat: no-repeat;
  --bkgd-size: auto 300px;
  --fade-down-bkgd: transparent var(--white-fade) var(--bkgd-repeat) center var(--px45-down);
  --required: #cc0000; /*rgb(204, 0, 0);*/
}

/* SCROLLBAR */

/* ===== Scrollbar CSS ===== */
  /* Firefox */
  * {
    scrollbar-width: thin;
    scrollbar-color: var(--charcoal) var(--light-grey);
  }

  /* Chrome, Edge, and Safari */
  *::-webkit-scrollbar {
    width: 15px;
  }

  *::-webkit-scrollbar-track {
    background: var(--light-grey);
  }

  *::-webkit-scrollbar-thumb {
    background-color: var(--aqua);
    border-radius: 10px;
    border: 3px none var(--white);
  }

  @property --offset {
    syntax: '<length>';
    inherits: false;
    initial-value: 0;
  }


/* ------------- */
/* GLOBAL STYLES */
/* ------------- */

a {
  color: var(--blue);
  cursor: pointer;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-style: solid;
  text-decoration-thickness: 0.15em;
  transition: text-decoration-color 300ms;
}

a:hover {
  text-decoration-color: rgba(91, 113, 179, 1);
}

article > div.pp-horizontal {
  margin-top: -5px;
}

/* also see css/grid.css x */
body {
  background-color: var(--white);
  background-image: url('../images/newcolors-nologo.png');
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center top;
  font-weight: normal;
  font-size: 16px;
  font-family: 'Roboto Slab', serif;
  color: var(--charcoal);
  text-align: left;
  min-width: 350px !important;
  position: relative;
  
  display: grid;
  justify-items: center;
  grid-template-areas:
    "page-wrapper"
    "page-footer";
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}

/* THIS IS FOR ANNOUNCEMENT BANNER */
/* also see css/grid.css x */
div.page-wrapper:not(:has(p.woocommerce-store-notice)) {
  margin-top: 0px;
}

body {
  background-position: center 45px, center bottom;
}

body:not(:has(p.woocommerce-store-notice)) {
  background-position: center top, center bottom;
}

.woocommerce-store-notice,
.chw-widget-area {
  line-height: 45px;
  padding: 0px !important;
  background-color: var(--light-purple) !important;
  /*border-top: 3px solid var(--required);
  border-bottom: 3px solid var(--required);*/
  border-top: 3px solid var(--aqua);
  border-bottom: 3px solid var(--aqua);
  color: inherit !important;
  width: 100%;
  text-align: center;
  position: relative;
  top: 0px !important;
  box-shadow: none !important;

  a {
    color: var(--purple) !important;
  }

  p {
    margin: 0px;
  }
}

.notice-grid {
  display: grid;
  grid-template-rows: repeat(9, auto);
  grid-template-columns: 1fr;
  gap: 0.5em;
  position: absolute; /* or fixed */
  top: 1em;
  right: 1em;
  width: 300px;
  z-index: 1000;
}

.store-notice {
  background: #f0f0ff;
  border: 1px solid #ccc;
  padding: 0.75em;
  font-size: 0.9em;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.pp-ann-title {
  display: none;
}

code {
  padding: 2px 6px;
  color: var(--charcoal);
}

pre {
  display: flex;
  flex-wrap: wrap;
  width: auto; 
  max-width: 100%; /* Ensure the parent does not exceed its container's width */
  padding: 20px;
  font-size: 14px !important;
  -webkit-overflow-scrolling: touch !important;
}

pre::after {
  box-shadow: -10px 0px var(--blue) inset !important;
}

pre > code {
  flex: 1 1 100%; /* Flex-grow, flex-shrink, and flex-basis */
  max-width: 100%; /* Ensure the code block doesn't exceed the parent's width */
  width: 100%; /* Make the code block take full width of the parent element */
  overflow-x: auto; /* Add a scrollbar if the content overflows horizontally */
  word-wrap: break-word; /* Break long words to fit within the container */
}

pre.debug {
  background-color: var(--light-purple);
}

body > div[style="color: white"] {
  background-color: rgba(255, 255, 255, 0.5);
  height: 0px;
}

/* also see css/grid.css x */
footer {
  background-image: url('../images/newcolors-foot-2.png');
  background-color: rgba(91, 113, 179, 0.3);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  min-height: 325px;
  padding: 100px 25px 0px 25px;
  font-size: 14px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0px;
  position: relative; /* creates stacking context */
  /* z-index: 1; ensure content sits above the underlay */
  background-color: rgba(255, 255, 255, 0.5);
  
  grid-area: page-footer;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  grid-template-areas:
    "fcol1 fcol2 fcol3"
    "copyright copyright copyright";
  gap: 25px;

  .footer1 {
    grid-area: fcol1;
  }

  .footer2 {
    grid-area: fcol2;
  }

  .footer3 {
    grid-area: fcol3;
  }

  h3 {
    font-weight: 600;
    font-size: 30px;
    font-family: 'BenchNine', sans-serif !important;
    letter-spacing: 1px;
    color: var(--deep-purple);
    text-align: left;
    padding: 0 30px;
    margin-bottom: 0;
  }

  .widget-meta a {
    transition: underline 0.5s ease-in-out 1s;
  }
  
  .widget-meta a:hover {
    text-decoration: underline;
  }

  .copyright {
    /*line-height: 25px;
    height: 25px;
    margin-bottom: 10px;
    position: relative;
    top: -10px;*/
    text-align: center;
    
    grid-area: copyright;
  }

  .widget_block {
    align-self: stretch;
    order: 1;
  }

  #block-6 {
    grid-area: fcol1head;
  }

  #block-8 {
    grid-area: fcol1con;
  }

  #block-15 {
    grid-area: fcol3head;
  }

  #block-16 {
    grid-area: fcol3con;
  }
}

h2 {
  /*margin-top: 35px !important;
  margin-bottom: 10px !important;*/
}

.tnp-widget-minimal {
  margin-top: 15px !important;
}

.tnp-widget-minimal input.tnp-submit {
  all: initial;
}

input,
button {
  font-family: 'Roboto Slab', serif !important;
}

input[type='submit'],
button[type='submit'],
.tnp-submit,
.tnp-subscription-popup .tnp-submit,
.wp-block-search__button.wp-element-button {
  width: 100% !important;
  min-width: 100px;
  background-color: var(--charcoal) !important;
  color: var(--white) !important;
  border: none;
  padding: 10px;
  margin-top: 5px !important;
  font-size: larger !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: all 0.3s ease-out !important;
  text-decoration: none !important;
}

input[type='submit']:hover,
button[type='submit']:hover,
.tnp-submit:hover,
.wc-block-cart-item__remove-link:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.button.wc-forward:hover,
.checkout-button:hover,
.square-gift-card-apply-btn:hover,
.wp-block-search__button.wp-element-button:hover {
  color: var(--white) !important;
  font-weight: normal !important;
  background-color: var(--med-grey) !important;
}

input[type="text"],
input[type="search"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"]
textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  display: inline-block;
  border: 1px solid var(--pale-grey) !important;
  background-color: var(--dark-white);
  color: var(--charcoal);
  font-size: 14px;
}

.cky-btn-revisit,
.cky-btn-revisit:hover {
  background: none !important;
  box-shadow: none !important;
}

select {
  padding: 10px;
  display: inline-block;
  border: 1px solid var(--pale-grey);
  background-color: var(--dark-white);
  color: var(--charcoal);
  font-size: 14px;
  font-family: inherit;
}



input[type="number"] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none;
}

section.widget {
  margin-bottom: 15px;

  .textwidget p:first-child,
  div.tnp,
  ul {
    /*margin-top: 0px;*/
  }
}

.sidebar section form:nth-child(2) {
  padding: 5px 10px;
}

table {
  width: 100%;
}



/* ------------- */
/* PLUGIN STYLES */
/* ------------- */

.mega-menu-description {
  display: none;
}

.akismet_comment_form_privacy_notice {
  font-size: 14px;
  text-align: center;
}

figure.aligncenter * {
  text-align: center !important;
  display: block !important;

  img {
    margin: 0px auto;
  }
}

.wpmenucart-contents span {
  font-size: 75% !important;
}

.aligncenter {
  text-align: center !important;
}
      
.article__attachment-nav img {
  /*background: rgba(154, 101, 219, 0.05);
  padding: 10px;*/
}

/* also see css/grid.css x */
.article__attachment-nav,
.article__post-nav {
  margin-top: 25px !important;
  padding-top: 10px !important;
  background-image: var(--bar-fade-reverse);

  .article__attachment-nav-prev,
  .article__post-nav-prev {
    text-align: right;
    padding-right: 10px;
  }

  .nav-prev-image,
  .nav-prev-image {
    display: inline-block;
  }

  .nav-prev-image img {
    background-color: rgba(255, 255, 255, 0.25) !important;
  }

  .nav-prev-text {
    margin-bottom: 10px;
  }
}

/* also see css/grid.css x */
.article__attachment-nav-next,
.article__post-nav-next {
  text-align: left;
  padding-left: 10px;

  .nav-next-image img {
    background-color: rgba(255, 255, 255, 0.25) !important;
  }

  .nav-next-text {
    margin-bottom: 10px;
  } 
  
  .UNKNOWN {
    /*background: rgba(154, 101, 219, 0.05);
    padding: 10px;*/
  }
}

/* also see css/grid.css x */
.article__body {
  img,
  .product-category a {
    /*padding: 10px;*/
  }
  
  ul {
    padding: 0px;
  }

  .pp-noimg-body {
    padding: 0px 25px;
  }
}

.pp-full:has(.pp-search) {
}

/* also see css/grid.css x */
.pp-search {  
  .pp-content {
    padding: 0px 25px;
  }

  .pp-meta,
  .pp-time,
  .pp-editlink {
    background: none !important;
  }
}

.article__header {
  display: block;
  white-space: nowrap; 
  text-overflow: ellipsis;
  
  h1 {
    margin-bottom: 0 !important;
  }
}

/* also see css/grid.css x */
.article__meta.pp-meta {
}

.article__timestamp,
.eb-post-metadata-date,
.pp-meta {
  margin: 0;
  color: var(--med-grey);  
}

header .article__title,
.comments-title,
.pp-banner,
.cform-reply-title,
.archive-title,
.woocommerce-products-header__title,
.woo-single-product .entry-title {
  padding: 0 10px !important;
  height: 45px;
  line-height: 45px;
  font-weight: 900;
  font-size: 30px;
  font-family: 'BenchNine', sans-serif !important;
  letter-spacing: 1px;
  /*border-bottom: 5px solid var(--purple);*/
  background-color: transparent !important;
  color: var(--deep-purple);
  text-align: left;
  margin-bottom: 0px;
  position: relative;
  text-align: left !important;
  min-width: 300px;
  white-space: nowrap; 
  text-overflow: ellipsis;

  a {
    color: var(--black);
    text-decoration: none !important;
  }

  a:hover {
    text-decoration: underline;
  }
}

.article__tags {
  margin: 0;
  font-size: 14px !important;
}

.archive-title {}

.bellows-nav {
  font-family: 'Roboto Slab', serif;
}

.comment {
}

/* also see css/grid.css x */
.comment-form {
    padding: 0px 25px;

  .cform-notes {
    width: 100%;
  }

  .cform-comment .cform-cont-div {
    height: 100%;
  }

  .cform-comment textarea.cform-content {
    width: 100%;
    height: 100%;
    margin-bottom: 0px;
  }

  .cform-submit {
    width: 100%;
  }

  .comment-form-comment {
    display: none;
  }
}

.comment-reply-title {
  margin-top: 35px;
}

.comment-list {
  padding: 0px 25px;
}

.comment-respond p {
  margin-top: 0px;
  margin-bottom: 0px;
}

/* also see css/grid.css x */
.comment-wrap {
  margin-bottom: 15px;
  position: relative;
  border: 1px solid var(--light-grey);
  overflow: clip;

  .comment-author {
    line-height: 15px;
    height: 35px;
    position: relative;
    bottom: 0px;
    left: 0px;
  }

  .comment-date {
    line-height: 50px;
    font-size: 14px;
    height: 35px;
    color: var(--med-grey);
  }

  .comment-date a {
    text-decoration: none;
  }

  .comment-moderated {
    text-align: center;
    background: var(--cyan);
    margin: auto 15px;
  }

  .comment-reply {
    position: absolute;
    bottom: 15px;
    right: 15px;
  }

  .comment-text {
    padding: 5px 20px;
    margin-bottom: 10px;
  }

  .comment-text p:first-child {
    margin-top: 0px;
  }

  .comment-text p:last-child {
    margin-bottom: 0px;
  }
}

.comments-title {
  margin-bottom: 10px;
}

/* also see css/grid.css x */
.comments-logged-in {
  .comment-form {
    padding: 0px 25px;
  }
    
  .comment-form .cform-logged-in-as {
  }

  .comment-form .cform-comment {
    min-height: 150%;
  }
}

.depth-1 {
}

.depth-2 {
  margin-left: 35px;
  background: var(--light-grey);

}

.depth-3 {
  margin-left: 70px;
}

.depth-4 {
  margin-left: 105px;
  background: var(--light-grey);

}

.depth-5 {
  margin-left: 140px;

  .comment-reply {
    display: none;
  }
}

.disabled {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

.fancybox-toolbar {
  width: 100px;
}

.footer2 .sub-menu {
  padding-left: 10px;
}

.has-text-align-center {
  text-align: center;
}

.heateorSssClear {
  margin-top: 50px;
  opacity: 0.5;
}

.heateorSssClear:hover {
  opacity: 1;
}

.heateor_sss_horizontal_sharing .heateor_sss_svg,
.heateor_sss_standard_follow_icons_container .heateor_sss_svg {
  background-color: var(--aqua) !important;
}

.heateor_sss_sharing_ul,
div.heateor_sss_follow_ul {
  border-radius: 25px;
  opacity: 1;
  text-align: center;
  margin-left: 10px !important;

  a {
    padding-left: 5px;
  }
}

footer .heateor_sss_sharing_ul,
footer div.heateor_sss_follow_ul {
  border-radius: 25px;
  opacity: 1;
  text-align: center;
  margin: 0px auto !important;
  padding-left: 10px !important;
}

.include-mastodon-feed {
  padding: 0px !important;
  max-height: 500px;
  overflow-x: clip;
  overflow-y: scroll;
  margin-top: 10px;

  img.avatar {
    display: inline;
  }
}

.include-mastodon-feed .status,
.contentWrapper.boosted,
.include-mastodon-feed .card .meta {
  background: rgba(255, 255, 255, 0.25) !important;
}

.status .contentWrapper {
  padding: 5px 0px !important;
}

.include-mastodon-feed .status {
  margin: 0px;
  margin-bottom: 15px;
  padding: 0px;
}

#menu-header-menu .sub-menu {
  display: none !important;
  visibility: hidden !important;
  height: 0px !important;
}

.no-comments {
  font-size: larger;
  content: "Sorry, but this post is closed to new comments!"
}

.no-image {
  
}

.woocommerce nav.woocommerce-pagination ul {
  border: none;
  
  li {
    border: none;
    padding: 10px;
  }
}

ul.page-numbers {
  display: flex;
  justify-content: center;
  column-gap: 15px;
  padding: 5px 35px !important;
  background-image: var(--bar-fade);
  line-height: 35px;
  margin: 0px;
  height: max-content;

  li {
    align-self: flex-start;
  }

  li span.page-numbers {
    padding: 0px 10px;
  }

  li span.current {
    background-color: white !important;
    border-radius: 10px;
  }
}

.wc-block-featured-product .wc-block-featured-product__description p {
  margin: 30px 50px 0px 50px !important;
  line-height: 1.25em !important;
}

.wc-block-featured-product__wrapper {
  align-content: center;
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  justify-content: center;
  overflow: hidden;
  width: 100%;
}

.wc-block-featured-product.wc-block-featured-product__background-image {
  bottom: 0;
  height: 100%;
  left: 0;
  margin: 0;
  object-fit: none;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.wc-block-featured-product__description,
.wc-block-featured-product__inner-blocks,
.wc-block-featured-product__link,
.wc-block-featured-product__price,
.wc-block-featured-product__title,
.wc-block-featured-product__variation {
  color: inherit;
  padding: 0 48px 16px;
  width: 100%;
  z-index: 1;
}

.wp-block-button {
  text-align: center;
  margin-top: 15px;
}

.wp-block-table-of-content-block-table-of-content {
  background-color: var(--fade-down-bkgd);
}

.pp-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh; 
}

/* also see css/grid.css x */
div.page-wrapper {
  width: 1280px;
  max-width: 1280px !important;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
  position: relative; /* creates stacking context */
  z-index: 1; /* ensure content sits above the underlay */
  /*grid-area: page-wrapper;
  justify-self: center;*/
  display: grid;
  /*grid-template-columns: auto 100% auto;*/
  grid-template-columns: 1fr minmax(0, 1280px) 1fr;
  grid-template-rows: 225px auto;
  grid-template-areas:
    ". page-head ."
    ". page-body .";
}

.page-wrapper > * {
  min-width: 0;
  width: 100%;
}

/*body::before {
  content: '';
  position: absolute;
  top: 225px;
  left: 0;
  width: 100%;
  height: calc(100% - 225px);
  background: rgba(255, 255, 255, 0.75);
  z-index: -100; /* sits behind content inside .page-wrapper 
  pointer-events: none;
}*/

/* also see css/grid.css x */
.site-main:not(.full-width) {
}

/* also see css/grid.css x */
.site-main.full-width {
}

/* also see css/grid.css x */
#primary {
  .main {
      margin-top: -50px;
  }
}

.pp-body {
  padding: 15px 25px 0px 25px;
  h1, h2, h3, h4, h5, h6 {
    padding: 0px;
  }
}

.pp-no-tooltip .tooltipsincontent {
  border: none;
}

/* also see css/grid.css x */
.pp-horizontal,
.pp-vcontainer,
.pp-attachment,
.ppp-container,
.pp-search {
}

.pp-horizontal.pp-search {
  /*background: var(--fade-down-bkgd);
  background-position: center top;*/
  img {
    max-width: 150px;
    height: auto;
  }
}

/* also see css/grid.css x */
.pp-attachment {
  .pp-meta {
  }

  .pp-meta .pp-time {
    padding: 0 5px !important;
  }

  .pp-meta .pp-editlink {
    padding: 0 5px !important;
  }

  .pp-header a {
    text-decoration: none;
  }

  .pp-header a:hover {
    text-decoration: underline;
  }
}

/* also see css/grid.css x */
.pp-wrapper {
  background: var(--white-fade);

  .pp-content {
    padding-top: 5px !important;
  }
  
  .pp-image {
    margin-right: 20px;
  }

  .pp-meta {
    width: 100%;
  }
  
  .pp-time {
    color: var(--med-grey) !important;
    font-size: 14px !important;
    margin: 0px;
  }
}

/* also see css/grid.css x */
.pp-wrapper-noimg {
  height: max-content;

  .pp-body,
  .pp-noimg-body {
    width: 100%;
  }

  .pp-content {
    padding-top: 5px !important;
  }

  .pp-meta {
    width: 100%;
  }

  .pp-editlink {
    text-align: right;
    font-size: 14px;
    color: var(--grey) !important;
  }
  
  .pp-time {
    color: var(--med-grey) !important;
    font-size: 14px !important;
    margin: 0px;
  }
}

.pp-meta .pp-time {
  background: none;
  font-size: medium;
}

.pp-meta .pp-editlink {
  background: none;
  font-size: medium;
}

.pp-meta,
.pp-time,
.pp-editlink {
  font-size: 14px !important;
  color: var(--med-grey) !important;
}

/* also see css/grid.css x */
.pp-horizontal {
  background-position: unset;
}

.pp-full /*.pp-content*/ {
}

.pp-full .pp-body:has(.pp-search) {
  
}

.pp-infopage {
  /*background: var(--fade-down-bkgd);*/
}

.pp-noimg-body .pp-body {
  background-image: none !important;
  padding: 15px 25px 0px 25px;
}

.pp-thumb {
  text-align: center;
}



/* also see css/grid.css x */
.pp-search {
}

.pp-search .pp-tags {
  margin-bottom: 35px;
}

.pp-cats {
  font-size: 14px;
  color: grey;
}

/* also see css/grid.css x */
.pp-vertical {
  margin-bottom: 25px;
  margin-top: 0px;
  padding: 10px 25px 0px 25px;
  background: var(--white-fade);
  
  .pp-vcontainer,
  .ppp-container {
  }

  .pp-editlink {
    display: none;
    margin-top: 10px;
    background-image: none;
  }

  .pp-meta {
    display: block !important;
    margin-bottom: 0px;
  }

  .pp-tags {
    margin-top: 5px;
  }
}

/* also see css/grid.css x */
.pp-body-nopad {
}

.pp-body p:first-child,
.pp-body-nopad p:first-child {
  margin-top: 0px;
}

/* also see css/grid.css x */
.pp-editlink,
.wp-block-post-date__modified-date {
  text-align: right;
  padding: 0px 5px;

  a {
    color: var(--med-grey) !important;
    text-decoration: none !important;
  }

  a:hover {
    text-decoration: underline !important;
  }
}

.pp-meta .pp-editlink {
  background: none;
}

.pp-fppost {
}

/* also see css/grid.css x */
.pp-header {
}

/* also see css/grid.css x */
.pp-image {
  display: block;
  margin: 0px;
  width: 100%;
  /*padding: 10px;
  background: rgba(255, 255, 255, 0.25) !important;*/
}

.type-badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.type-badge.product {
  background: linear-gradient(135deg, #27ae60, #2ecc71);
}

.type-badge.post {
  background: linear-gradient(135deg, #3498db, #9b59b6);
}

.pp-plainhead {
  line-height: 100%;
}

.pp-readmore {
  margin-top: 10px;
  font-size: 14px;
  text-align: right !important;
}

/* also see css/grid.css x */
.pp-tags {
}

/* also see css/grid.css x */
.pp-time {
  display: block;

  time {
    padding: 0 5px;
  }
}

.pp-vcontainer {
  time {
    padding: 0px;
  }
}

.required {
  font-size: larger;
  color: var(--required);
}

.site-header,
.site-nav,
.site-main {
  padding: 0 !important;
  position: relative;
}

.site-header__tagline {
  font-family: 'Comfortaa', sans-serif;
  text-transform: uppercase;
  letter-spacing: 10px;
  font-size: 30px;
  font-weight: bold;
  line-height: 50px;
  text-align: center;
  padding-top: 25px;
  margin-top: 50px;
}

.sub-tagline {
  font-family: 'Comfortaa', sans-serif;
  text-transform: uppercase;
  letter-spacing: 20px;
  font-size: 15px;
  font-weight: bold;
  line-height: 30px;
  text-align: center;
  margin-bottom: 50px;
  margin-top: 25px;
}

.script,
div.script,
p.script,
.has-text-align-center.script {
  font-family: 'Alesandra', cursive !important;
  font-size: 75px !important;
  letter-spacing: normal !important;
  text-transform: lowercase !important;
  font-weight: normal !important;
}

.tiny {
  font-size: 12px;
  color: var(--mid-grey);
  position: relative;
  top: 10px;
}

/* Front page three-column layout */
.front-page-columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  grid-template-areas:
    "new hero hero hot"
    "sold-left sold-mid1 sold-mid2 sold-right";
  gap: 20px;
  margin-bottom: 25px;
}

.front-page-columns img {
  width: 100%;
  height: auto;
}

.front-page-columns > * {
  margin-bottom: 15px;
}

.ppc3-badge {
  font-size: 0.8rem;
  padding: 3px 6px;
}

.fp-products {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  margin-top: 25px;
}
/*
.fp-products-sold {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  width: 100%;
}*/

.fp-product {
  width: auto;
  max-width: 300px;
  padding: 0px;
  position: relative;
}

.fp-product img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  background: none;
}

.column {
  /* No flex needed with grid */
  position: relative;
}

.row {
  /* No flex needed with grid */
  position: relative;
}

.left-column,
.right-column,
.middle-column,
.sold-row {
  padding: 0px;
}

.left-column {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  align-content: stretch;
  overflow: hidden;
  grid-area: new;
  gap: 20px;
}

.middle-column {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  grid-area: hero;
  margin-bottom: 15px;
}

.right-column {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  grid-area: hot;
  gap: 20px;
}

.sold-row {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  overflow: hidden;
/*  grid-area: sold;
  display: grid;
  grid-template-areas:
    "sold-left sold-mid1 sold-mid2 sold-right";
  gap: 20px;
*/
}

.sold-left {
  grid-area: sold-left;
  display: flex;
  align-content: center;
  justify-content: center;
}

.sold-mid1 {
  grid-area: sold-mid1;
  display: flex;
  justify-content: start;
}

.sold-mid2 {
  grid-area: sold-mid2;
  display: flex;
  justify-content: end;
}

.sold-right {
  grid-area: sold-right;
  justify-content: center;
  align-content: center;
  display: flex;
}

.hero-product,
.hero-swiper {
  position: relative;
  top: 25px;
  width: 100%;
  height: 100%;
  background: none;
  overflow: hidden;
}

.hero-product img,
.hero-swiper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: none;
}

.swiper-button-prev,
.swiper-button-next {
  color: var(--white) !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
  border-radius: 0%;
  width: 40px;
  height: 100%;
  position: absolute;
  top: 22px;
}

.swiper-slide {
  position: relative;
}

.swiper-button-prev {
  left: 0px;
}

.swiper-button-next {
  right: 0px;
}


.ppc3-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 10px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  border-radius: 4px;
  z-index: 10;
  text-transform: uppercase;
  font-family: 'comfortaa', sans-serif;
  letter-spacing: 0.5px;
  pointer-events: none;
  text-shadow: 0px 0px 10px var(--black);
}

/* Colors */
.ppc3-badge-featured {
  /*background: #6a4bc3;  purple */
  left: 50px;
}

.ppc3-badge-new {
  /*background: #2ecc71;  green */
}

.ppc3-badge-hot {
  /*background: #e74c3c;  red */
}

.social-icons,
.admin-icons {
  display: grid;
  grid-template-columns: 32px auto;
  gap: 10px;
  grid-template-areas:
    "icon text";
  margin-bottom: 5px;
}

.admin-icons {
  grid-template-columns: auto 32px;
  grid-template-areas:
    "text icon";
}

.social-icons .social-icon,
.admin-icons .admin-icon {
  grid-area: icon;
  width: 32px;
  height: 32px;
}

.social-icons .social-icon img,
.admin-icons .admin-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: grayscale(1) brightness(1.0);
}

.social-icons .social-icon img:hover,
.admin-icons .admin-icon img:hover {
  filter: none;
}

.social-icons .social-text,
.admin-icons .admin-text {
  grid-area: text;
  font-size: 14px;
  color: var(--charcoal);
  line-height: 32px;
  font-family: "comfortaa", sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.admin-icons .admin-text {
  text-align: right;
}



/* Ensure product card is positioned */
ul.products li.product,
.woocommerce ul.products li.product {
  position: relative;
}



/* also see css/grid.css x */
div.site-main.full-width {
  sidebar {
    display: none;
  }
}

.site-main h3:first-child:not(.pp-plainhead) {
  /*margin-top: 30px; !important*/
}

h3.tbcn-content-table-title {
  margin-top: 5px !important;
  font-size: x-large;
}

div.tbcn-accordion-title {
  padding: 10px 20px !important;
}

div#tbcnbBlock-1 ol > li > a.tbcn-table-content-anchor-list:hover, 
div#tbcnbBlock-1 ol > li > a.tbcn-table-content-anchor-list:active {
  color: var(--blue) !important;
}

.sidebar h3:first-child {
  margin-top: 25px !important;
}

.sidebar section {
  background-image: none;
  background-position: 0px 45px;
  
  div:not(.variation),
  ul {
    padding: 5px 15px !important;
  }

  div:not(.custom-product-grid) {
    padding: 5px !important
  }
}

/* also see css/grid.css x */
.sidebar {
  padding: 0 !important;

  a {
    color: var(--blue);
    text-decoration: none;
    cursor: pointer;
  }
}

/* also see css/grid.css x */
.site-header__logo {
  height: 175px;

  img {
    max-width: 100%;
    max-height: 150px;
    width: auto;
    margin: 10px auto;
  }
}

/* also see css/grid.css x */
.site-header {
  padding-top: 150px;
}

.site-fade {
  background-color: rgba(255, 255, 255, 0.5);
  padding: 0px 25px 50px 25px;
}

/* also see css/grid.css x */
.site-nav,
#mega-menu-wrap-top-banner {
  margin-top: 0px !important;
  text-align: center !important;
  font-family: 'BenchNine', sans-serif !important;;
  font-weight: 700 !important;
  text-transform: uppercase;
  font-size: 40px !important;
  line-height: 50px !important;
  color: var(--deep-purple);

  a {
    padding: 0px 10px;
    transition: color, 0.5s, ease-out, 1s;
  }
  
  a:hover {
    background-color: rgba(0, 165, 192, 0.5); /* #15e7b5 */
    text-decoration: none;
    color: var(--white);
    text-shadow: none;
  }

  ul#mega-menu-top-banner {
    margin-bottom: 0 !important;
    padding-left: 0;
    list-style-type: none;
    line-height: 25px !important;
    background-position: 20px center;
    background-repeat: no-repeat;
    background-size: auto 40px;
    height: 50px;
  }
}

.nav-image-link {
  position: absolute;
  top: 175px;
  left: 0px;
  width: 366px; /* or whatever fits your layout */
  height: 50px;
  background-color: var(--white) !important;
  background-image: url('../images/banner-m-02.png') !important;
}

.nav-image-link .home-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -9999px; /* hides text if needed */
  z-index: 2;
}

#mega-menu-wrap-top-banner {
  position: relative;
  overflow: visible !important;
}

#mega-menutop-banner > li.mega-menu-item,
#mega-menu-top-banner > li.menu-item {
  padding: 0px;
  transition: color, 0.5s, ease-out, 1s;
  line-height: 50px !important;
  height: 50px;
  color: var(--charcoal) !important;
  z-index: 10;
  position: relative;
}

#mega-menu-top-banner > li.mega-menu-item > a.mega-menu-link,
#mega-menu-top-banner > li.menu-item > a.wpmenucart-contents {
  font-size: 25px !important;
  color: var(--charcoal) !important;
  padding: 0px 15px !important;
  display: block;
  font-weight: 700 !important;
  height: 50px;
}

#mega-menu-top-banner > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-top-banner li.menu-item > a.wpmenucart-contents:hover {
  background-color: var(--aqua) !important;
  text-decoration: none;
  color: var(--white) !important;
  text-shadow: none;
  font-weight: normal !important;
}

#mega-menu-wrap-top-banner #mega-menu-top-banner ul.mega-sub-menu {
  font-family: 'Roboto Slab', serif;
}

#mega-menu-wrap-top-banner #mega-menu-top-banner ul.mega-sub-menu a.mega-menu-link {
  background-image: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  padding-left: 25px;
  font-size: 16px;
}

#mega-menu-wrap-top-banner.mega-menu-wrap {
    background-image: url('../images/banner-m-02.png');
    background-position: 20px center;
    background-repeat: no-repeat;
    background-size: auto 40px;
    background-color: var(--white);
}

.fade-in {
  opacity: 0;
  animation: fadeInEffect 1s ease-in forwards;
}

@keyframes fadeInEffect {
  to {
    opacity: 1;
  }
}

.sticky-pin {
  float: right;
  width: 20px;
  height: 35px;
  position: absolute;
  right: 10px;
  top: -8px;
  padding: 0px !important;
  background-color: transparent !important;
  filter: drop-shadow(0px 0px 10px var(--deep-purple));
}

.site-nav__list {
  margin-bottom: 0 !important;
}

.tnp-field {
  margin-bottom: 5px !important;
}

.tnp-subscription {
}

.widget__heading,
.cart_totals h2,
.cross-sells > h2,
.woocommerce-cart-form > h2,
.woocommerce-billing-fields h3,
h3#order_review_heading {
  font-weight: 900;
  font-size: 30px;
  font-family: 'BenchNine', sans-serif !important;
  letter-spacing: 1px;
  border-bottom: 5px solid var(--aqua);
  color: var(--deep-purple);
  padding: 0 15px;
  margin: 0;
  width: 100%;
}

.cart_totals h2 {
  margin-top: 0px;
}

.pp-carticon {
  background: url('../images/cart01w.png') no-repeat;
  background-size: 50px 40px;
  background-position: center;
}

.widget ul {
  list-style-position: outside;
}

.widget_categories ul {
  padding-left: 25px !important;
  margin-left: 25px;
}

.wp-block-post-date,
.eb-post-metadata-value {
  color: var(--med-grey) !important;
  font-size: 14px !important;
}

.wp-block-gallery {
  justify-content: space-between;
  row-gap: 10px;
  margin-bottom: 10px;
}

div.wp-block-image {
}

.widget_recent_entries {

  ul {
    margin-left: 25px;
  }

  .post-date {
    display: block;
    margin-left: 10px;
    font-size: 14px;
    color: var(--med-grey) !important;
  }

  a {
    font-weight: bold;
  }
}

.wp-block-social-links {
  list-style-type: none;
  display: inline !important;
  margin: 0;
  padding: 0;
}

li.wp-social-link {
  display: inline;
  padding-right: 10px;
}

.__wp-uploader-id-2 {
  position: absolute;
  top: 200px;
  left: 151px;
  background: var(--white);
  width: 80%;
  height: 500px;
  overflow: scroll;
}

.wp-block-list {
  margin: 5px 20px;
}

/* also see css/grid.css x */
.pp-404-search .wp-block-search__inside-wrapper,
.pp-body .wp-block-search__button-outside .wp-block-search__inside-wrapper {
  margin: 0 auto !important;

  wp-block-search__input {    
  }
  
  .wp-block-search__button.wp-element-button {
    width: 50%;
  }
}


/* TOGGLE STYLES */

/* also see css/grid.css x */
div.pp-toggles {
  padding: 10px 25px;
}

/* also see css/grid.css x */
#pp-search-toggle {
  position: relative;
  width: 300px;

  .search-form {
    text-align: right;
  }

  input[type="text"] {
    height: 40px;
    display: inline-block;
    outline: none;
    width: 0px;
    position: absolute;
    top: 0;
    right: 0px;
    z-index: 3;
    transition: width 1s cubic-bezier(0.000, 0.795, 0.000, 1.000), background-color 1s ease-in-out;
    cursor: pointer;
    padding: 10px;
    padding-right: 40px;
    border: none !important;
    background-color: transparent;
    color: var(--charcoal);
    font-size: 14px;
  }

  ::-webkit-input-placeholder {
    color: var(--med-grey);
  }

  :-moz-placeholder {
    /* Firefox 18- */
    color: var(--med-grey);
  }

  ::-moz-placeholder {
    /* Firefox 19+ */
    color: var(--med-grey);
  }

  :-ms-input-placeholder {
    color: var(--med-grey);
  }

  input[type="text"]:focus:hover {
    border: 1px solid var(--med-grey);
    background-color: var(--white);
  }

  input[type="text"]:focus {
    width: 300px;
    z-index: 1;
    border: 1px solid var(--med-grey);
    cursor: text;
    background-color: var(--white);
  }


  /* Change Autocomplete styles in Chrome*/

  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus input:-webkit-autofill,
  textarea:-webkit-autofill,
  textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
  select:-webkit-autofill,
  select:-webkit-autofill:hover,
  select:-webkit-autofill:focus {
    border: 0 solid transparent;
    -webkit-text-fill-color: var(--charcoal);
    -webkit-box-shadow: 0 0 0 0 transparent inset;
    transition: background-color 5000s ease-in-out 0s;
  }

  input, textarea {
    outline: none;
  }

  .search-icon {
    background-color: transparent;
    background-image: url('../images/search01w.png');
    filter: drop-shadow(0px 0px 10px var(--deep-purple));
    background-position: 5px center;
    background-repeat: no-repeat;
    background-size: 35px 35px;
    border: none;
    cursor: pointer;
    height: 35px;
    width: 35px;
    margin: 3px 0;
    padding: 0 0 0 45px;
    position: relative;
    top: 0px;
    right: 0px;
    display: inline-block;
    z-index: 100;
    pointer-events: none;
  }

  #search_submit {
    display: none;
  }
}

.pp-menu-toggle {
  position: relative;
  width: max-content;
  justify-self: start;
  align-self: start;

  .submenu-div {
    height: max-content;
    display: inline-block;
    outline: none;
    width: 0px;
    position: absolute;
    top: 0;
    left: 0px;
    z-index: 3;
    transition: height 1s cubic-bezier(0.000, 0.795, 0.000, 1.000), background-color 1s ease-in-out;
    cursor: pointer;
    padding: 10px;
    padding-top: 40px;
    border: none !important;
    background-color: transparent;
    color: var(--charcoal);
    font-size: 14px;
  }

  ::-webkit-submenu-placeholder {
    color: var(--med-grey);
  }

  :-moz-placeholder {
    /* Firefox 18- */
    color: var(--med-grey);
  }

  ::-moz-placeholder {
    /* Firefox 19+ */
    color: var(--med-grey);
  }

  :-ms-submenu-div-placeholder {
    color: var(--med-grey);
  }

  .submenu-div:focus:hover {
    border: 1px solid var(--med-grey);
    background-color: var(--white);
  }

  .submenu-div:focus {
    height: 300px;
    z-index: 1;
    border: 1px solid var(--med-grey);
    cursor: text;
    background-color: var(--white);
  }

  div {
    outline: none;
  }
}

.site-footer {
  background-color: rgba(91, 113, 179, 0.3);
  /*width: 1280px;*/
  max-width: 1280px !important;
  margin-left: auto;
  margin-right: auto;
  /*margin-top: 25px;*/
  color: var(--charcoal) !important;

  .sub-menu {
    display: none;
  }

  section h3.widget__heading {
    border-bottom: 5px solid var(--blue) !important;
    margin-top: 0px !important;
    display: none;
  }

  h3 + div {
    padding: 10px 25px !important;
  }
}

#wpforms-801 {
  margin: 0px auto;
  text-align: center;

  #wpforms-801-field_1 {
    margin: 0px auto;
  }
}

.tdf_bundle.tdf_container .tdf_bundle_style_5 .tdf_bundle_img {
  background-position-y: 15px;
}



/* ----------------- */
/* END PARENT STYLES */
/* ----------------- */



body {
}

h3:not(.no-banner),
header .article__title,
.comments-title,
.pp-banner,
.cform-reply-title,
.archive-title,
.woocommerce-products-header__title,
.woo-single-product .entry-title,
.site-nav,
#mega-menu-wrap-top-banner,
.widget__heading,
.cart_totals h2,
.cross-sells > h2,
h2.pp-plainhead,
.woocommerce-cart-form h2 {
  font-weight: 400;
  font-family: 'BenchNine', sans-serif !important;
  color: var(--deep-purple);
}

.alignright {
  text-align: right !important;
  float: right !important;
}

.alignleft {
  text-align: left !important;
  float: left !important;
}

h2.pp-plainhead {
  font-size: 30px;
  margin-top: 0px !important;
}

/* WOOCOMMERCE */

.wc-block-cart-item__remove-link,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.button.wc-forward,
.tnp-submit,
.pp-empty-rts.button.wc-backward,
.checkout-button,
.square-gift-card-apply-btn,
.pp-add-payment.button,
.add_to_cart_button {
  width: 100%;
  min-width: 100px;
  background: var(--charcoal) !important;
  color: var(--white) !important;
  border: none;
  padding: 10px;
  margin-top: 5px !important;
  font-size: larger !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: all 0.3s ease-out !important;
  text-decoration: none !important;
}

.sidebar .button.wc-forward {
  width: 45% !important;
  font-size: 1em !important;
}

button.wc-block-cart-item__remove-link {
  width: max-content !important;
  min-width: 100px !important;
  background: var(--charcoal) !important;
  color: var(--white) !important;
  border: none !important;
  padding: 5px 10px !important;
  margin-top: 0px !important;
  font-size: larger !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: all 0.3s ease-out !important;
  font-size: smaller !important;
}

.wc-block-components-quantity-selector__button {
  margin-top: 0px !important;
}

.wc-block-components-totals-coupon__button span {
  position: relative;
  top: -2px;
}

.woocommerce-mini-cart__buttons.buttons {
  text-align: center;
}

.woocommerce-mini-cart__total {
  text-align: left;
  padding: 0 25px !important;
}

.woocommerce-mini-cart__total.total {
  border-top: 1px solid var(--blue) !important;
  padding-top: 15px !important;

  .woocommerce-Price-amount.amount {
    float: right !important;
  }
}

#wc-square-credit-card-container {
  border: none;
}

.wc-block-components-checkout-place-order-button span,
.coupon#coupon_code {
  position: relative;
  top: -2px;
}

/* also see css/grid.css x */
.actions .coupon {
  float: none !important;
}

/* also see css/grid.css x */
.actions .coupon #coupon_code,
.woocommerce-validated #coupon_code {
  width: 100%;
  padding: 10px;
  margin: 6px 4px 0 0;
  outline: 0;
  height: 42px;
}

/* also see css/grid.css x */
.actions .coupon button {
  width: 100%;
}

input[type='submit']:hover,
button[type='submit']:hover,
.tnp-submit:hover,
.wc-block-cart-item__remove-link:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.button.wc-forward:hover,
.pp-empty-rts.button.wc-backward:hover,
.checkout-button:hover,
.square-gift-card-apply-btn:hover,
.pp-add-payment.button:hover,
.add_to_cart_button:hover {
  color: var(--white) !important;
  font-weight: normal !important;
  background-color: var(--med-grey) !important;
}

.add_to_cart_button {
  font-size: medium !important;
}

.button.wc-backward {

}

#wc-block-components-totals-coupon__input-coupon,
#wc-block-components-totals-coupon__input-coupon:focus-visible,
#wc-block-components-totals-coupon__input-coupon:focus,
#wc-block-components-totals-coupon__input-coupon:active,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  display: inline-block;
  border: 1px solid var(--pale-grey) !important;
  background-color: var(--dark-white);
  color: var(--charcoal);
  font-size: 14px;
}

.quantity {
  white-space-collapse: collapse;
}

/* also see css/grid.css x */
.woocommerce-MyAccount-content .pp-payment-methods {
  margin: 0px auto;
  width: 100%;
}

.quantity button.pp-qty-down,
.quantity button.pp-qty-up {
  background-color: var(--white);
  border: solid var(--light-grey);
  align-items: center;
  justify-content: center;
  width: 15px;
  padding: 3px 0px;
  height: 25px;
  cursor: pointer;
  margin: 0;
  font-size: larger;
  line-height: 15px;
  font-weight: bold;
}

.quantity button.pp-qty-down {
  top: 0px;
  left: 10px;
  border-width: 2px 0px 2px 2px;
}

.quantity button.pp-qty-up {
  top: 0px;
  right: 10px;
  border-width: 2px 2px 2px 0px;
}

.quantity button.pp-qty-down.hidden,
.quantity button.pp-qty-up.hidden {
  visibility: hidden;
  display: none;
  height: 0px;
}

.quantity .pp-qty-field {
  font-family: sans-serif;
  width: 50px !important;
  padding: 3px 10px;
  height: 30px;
  font-weight: bold;
  text-align: center;
  vertical-align: top !important;
  line-height: 30px;
}

.woo-single-product .quantity {
  float: none !important;
  display: block;
  width: 100%;
  text-align: left;

  .pp-qty-field {
    font-size: larger;
  }
}

/* it will support chrome and firefox */
.quantity input[type=number]::-webkit-inner-spin-button,
.quantity input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.quantity input,
.quantity button {
  width: 30px;
  padding: 5px 0px 5px 5px;
  height: 25px;
  font-size: medium;
  text-align: center;
  background: var(--white);
  border: 1px solid var(--pale-grey)t;
}

.quantity input {
  border-left: none;
  border-right: none;
}

.product-thumbnail img {
  padding: 5px !important
}

.woocommerce-products-header__title,
.woo-single-product .entry-title {
  display: block;

  h1 {
    margin-bottom: 0 !important;
  }
}

.wp-caption-text {
  font-style: italic;
  padding: 5px;
  margin: 0;
  color: var(--med-grey);
}

.woocommerce-products-header__title,
.woo-single-product .entry-title,
.related.products > h2 {
  height: 45px;
  line-height: 45px;
  font-weight: 400;
  font-size: 30px;
  font-family: 'BenchNine', sans-serif;
  letter-spacing: 1px;
  background-color: transparent;
  color: var(--black);
  text-align: left;
  margin-bottom: 0px;
  position: relative;
  text-align: left !important;
}

.related.products > h2 {
  /*border-bottom: 5px solid var(--purple);*/
}

/* also see css/grid.css x */
section.related.products {
}

.related.products > h2 {
  clear: both;
  float: none;
  width: 100%;
}

.pp-body .wp-block-heading.no-banner,
.pp-body-nopad .wp-block-heading.no-banner {
  /*all: revert;*/
}

.pp-body .wp-block-heading,
.pp-body-nopad .wp-block-heading {
  margin-left: -25px;
  margin-right: -25px;
}

/* also see css/grid.css x */
.pp-body .woocommerce {
  .woocommerce-MyAccount-navigation {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    padding: 10px 15px;
  }
}

.pp-editlink {
  display: none !important;
  height: 0px !important;
  margin: 0px !important;
  width: 0px !important;
  padding: 0px !important;
  visibility: hidden !important;
}

.woocommerce-MyAccount-navigation ul {
  margin-top: 0px;
  padding: 0px;
  list-style: none;
  width: 100%;
}

.woocommerce-MyAccount-navigation {
  ul {
    margin-top: -5px;
    padding: 5px 10px;
  }
}

.back-to-cart {
  position: absolute;
  right: 25px;
  font-size: 20px;
}

.site-main .wp-block-heading,
.woo-site-main .wp-block-heading {
  margin-bottom: 0px;
}

.woocommerce-order-downloads__title,
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-Address-title h2,
.pp-edit-address h2 {
  font-weight: 900;
  font-size: 30px;
  font-family: 'BenchNine', sans-serif !important;
  letter-spacing: 1px;
  /*border-bottom: 5px solid var(--aqua);*/
  color: var(--deep-purple);
  padding: 0;
  margin: 0;
  width: 100%;
}

.woocommerce-Address-title h2,
.pp-edit-address h2 {
  margin-top: 0px;
}

.pp-order-price {
  font-weight: bold;
}

.product-quantity {
  font-weight: normal;
  display: table-cell;
  padding-left: 10px;
  vertical-align: middle;
  text-align: center !important;
}

.woocommerce-MyAccount-content h2 {
  padding: 0px;
}

.menu-account-menu-container {
}

.pp-vertical {
  margin-top: 0px !important;
}

/* also see css/grid.css x */
.pp-header {
}

.woocommerce-order-details__title {
  margin-top: 0px;
}

.woocommerce-account .woocommerce-MyAccount-content {
  width: 100% !important;
  float: none !important;
}

/* also see css/grid.css x */
.woocommerce-order,
.woocommerce-MyAccount-content {
  margin-top: 0px;

  .woocommerce-notice,
  .woocommerce-notices-wrapper {
    /*display: none;
    opacity: 0;*/
    transition: opacity 0.5s ease;
    width: 100%;
    padding: 15px 25px;
    margin-bottom: 25px;
  }
  
  .woocommerce-notice {
    display: contents; /* removes the box but keeps children */
  }
  
  .woocommerce-notices-wrapper.visible {
    display: contents; /* removes the box but keeps children */
  }

  .woocommerce-order-overview {
    padding: 15px 25px;
    margin-top: -16px !important;
    margin-bottom: 25px;
  }

  .woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    margin-bottom: 0px;
  }

  .woocommerce-table--order-downloads td {
    text-align: left !important;

    .download-product,
    .download-remaining,
    .download-expires,
    .download-file {
      text-align: left !important;
    }
  }

  .woocommerce-customer-details address {
    border: none !important;
    border-width: 0px !important;
    margin-bottom: 25px !important;
  }

  .wc-item-meta {
    font-size: smaller;
    color: var(--med-grey);
    list-style: none;
    padding-left: 20px;
    white-space: nowrap;
    overflow: visible;
    margin-top: 0px;
    line-height: 20px;
  }

  .wc-item-meta li p {
    display: inline;
    padding: 0px !important;
    margin: 0px;
  }

  .wc-item-meta li p:not(:first-child) {
    margin-top: 0px;
  }

  .woocommerce-table.woocommerce-table--order-details td {
    white-space: nowrap;
    text-align: right;
  }

  th.woocommerce-table__product-table.product-total {
    text-align: right;
  }

  .woocommerce-column.woocommerce-column--1.woocommerce-column--billing-address.col-1,
  .woocommerce-column.woocommerce-column--2.woocommerce-column--shipping-address.col-2 {
    width: 100% !important;
  }
}

#customer_details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  grid-template-rows: auto;
  grid-template-areas: 
    "billing shipping";
}

#customer_details .col-1 {
  grid-area: billing;
}

#customer_details .col-2 {
  grid-area: shipping;
}

.cart_totals h2 {}

.ppcp-messages {
  display: none !important;
}

.woocommerce:not(.sidebar) {
  padding: 0px 25px;
}

.woocommerce div.product .product_title {
  margin-top: 20px;
  font-size: 35px;
  padding: 25px;
  min-width: 300px;
  overflow: hidden; 
  white-space: nowrap; 
  text-overflow: ellipsis;
}

.woocommerce div.product div.summary {
  margin-bottom: 0px;
}

.pp-toggle-container {
  overflow: hidden;
  position: relative;
  transition: height 0.5s ease-in-out;
  height: 0; /* Collapsed state */
  margin-top: -20px;
}

#pp-toggle-more {
  position: relative;
  display: block; /* Ensure the content is visible */
  border: 1px solid transparent;
  background-color: var(--light-purple);
  padding: 0px 15px;
  margin-top: -10px;
}

#pp-toggle-more.expanded {
  display: block;
}

#shipping_address {
  display: block;
}

/* also see css/grid.css x */
.pp-toggles {
}

.expander {
  cursor: pointer;
  font-size: xx-large;
}

.count {
  background-color: var(--cyan);
  padding: 0px 4px 3px 4px;
  border-radius: 5px;
}

.custom-count {
  display: block;
  font-size: 0.9em;
  color: var(--dark-purple);
  background: none;
  font-weight: normal;
}

.product-category img {
  /*padding: 10px;
  display: block;
  background-color: rgba(255, 255, 255, 0.25);*/
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1) !important;
}

/* also see css/grid.css x */
.site-main {
}

/* also see css/grid.css x */
.woo-site-main {
  margin-top: 10px;

  .term-description p {
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 10px 20px;
  }
}

ul.products {
  padding: 10px 20px !important;
  list-style-type: none;
}

ul.products li.product {
  padding: 5px !important;
  text-align: center;
}

ul.products li img,
.woocommerce-page img {
  padding: 0px;
  display: block;
  /*box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1) !important;*/
}

/* also see css/grid.css x */
.pp-results {
  padding: 10px 25px;
  grid-area: results;
  width: 100%;
}

.woo-site-main {
  padding: 0;
  margin-top: 5px !important;
}

.wc-block-product {
  padding: 10px;
  display: block;
  background-color: rgba(255, 255, 255, 0.25);

  img {
    padding: 0px;
    background: none;
  }
}

.woocommerce-error li,
.woocommerce-message,
.woocommerce-info,
.woocommerce-notice--success {
  padding: 10px 20px !important;
  /*width: 100% !important;
  margin: 0px !important;*/
  line-height: 20px !important;
  background: none;
  border: 2px solid var(--aqua) !important;
  color: var(--charcoal) !important;
  font-size: medium !important;
  background-color: rgba(0, 165, 192, 0.25) !important;
}

.woocommerce-notices-wrapper,
.woocommerce-no-products-found {
  /* display: contents; removes the box but keeps children */
  padding: 0px 20px;
  background: none;
  font-size: 1.25em;
  padding: 10px;
}

.woocommerce-error li::before,
.woocommerce-message::before,
.woocommerce-info::before {
  left: 15px;
  width: 0px;
  content: "" !important;

}

.woocommerce-info {
}

.woocommerce-info:before {
  top: 5px;
}

.woocommerce-error {
  border: none;
  margin: 0px;
}

/* product simple listing */

/* also see css/grid.css x */
.woo-single-product {
  grid-area: header;

  .woocommerce-notices-wrapper a.button {
    display: none;
    visibility: hidden;
  }

  .woocommerce-error,
  .woocommerce-message {
    display: block !important;
  }

  .entry-summary {
    width: 100% !important;
    padding: 10px 10px 10px 25px !important;
  }

  .entry-summary p {
    margin-top: 0px;
    padding-top: 15px !important;
  }

  .woocommerce-variation-description p {
    padding-top: 0px !important;
  }

  .woocommerce-product-gallery {
    width: 100% !important;
    padding: 10px !important;
    /*margin: 0px !important;
    margin-top: 20px !important;*/
  }

  .woocommerce-mini-cart-item.mini_cart_item {
    padding-left: 0px;
  }

  .wpr-mini-cart-image {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0px !important;
    height: 0px !important;
  }

  .single_add_to_cart_button,
  a.button.wc-forward {
    background-color: var(--charcoal) !important;
    color: var(--white) !important;
    font-weight: normal !important;
  }

  .single_add_to_cart_button:hover,
  a.button.wc-forward:hover {
    background-color: var(--med-grey) !important;
    color: var(--white) !important;
    font-weight: normal !important;
    /*box-shadow: 0px 0px 10px var(--deep-purple) !important;*/
  }

  .row {
    font-size: 95%;
    line-height: 120%;
    margin-bottom: 10px;
  }

  .row h3 {
    font-size: xx-large;
  }

  .row h4 {
    margin-bottom: 5px;
    font-weight: bold !important;
    text-decoration: underline;
  }

  .woo-meta-value {
    padding-left: 25px;
    margin-bottom: 10px;
  }

  .woo-meta-value .woo-meta-key {
    font-style: normal !important;
    font-weight: normal !important;
  }

  .ppcp-messages {
    display: none !important;
  }
}

.woocommerce-breadcrumb {
  margin-bottom: 0px !important;
  padding: 0px 10px !important;
  color: var(--med-grey) !important;
}

.woocommerce-breadcrumb a {
  color: var(--blue) !important;
}

.woocommerce-notices-wrapper {
  padding-top: 10px !important;
}

.entry-summary {
  .price,
  .in-stock {
    color: var(--blue) !important;
  }

  .StripeElement {
    display: none;
  }
}

p.price {
    font-size: 1.25em !important;

  span.price {
    font-size: inherit !important;
  }

  .woocommerce-Price-amount {
    font-size: inherit !important;
  }
}

p.price bdi {
  text-align: left !important;
  margin-bottom: 0px !important;
  font-size: inherit !important;
}

div.single_variation_wrap div.woocommerce-variation-price {
  display: none !important;
}

.theme--stripe label::before,
.theme--stripe label::after {
  content: "TESTING";
}

ul.products {
  border-radius: 0px;
}

ul.products li.product a img {
  margin: 0;
}

.woocommerce-loop-category__title {
  margin: 0;
  text-align: center;

  a:hover {
    text-decoration: underline !important;
  }
}

.woocommerce-products-header {
  order: 1;
}

.woocommerce-breadcrumb {
  order: 2;
  font-family: "BenchNine", sans-serif !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  color: var(--deep-purple);
}

.wp-block-woocommerce-product-categories {
  display: none;
}

.woocommerce-result-count {
  order: 3;
}

.woocommerce-ordering {
  order: 4;
  margin: auto 25px;
}

.woocommerce-remove-coupon {
  font-size: smaller;
  border: none;
}

.product-remove {
  width: 48px;
}

.product-thumbnail {
  width: 125px;
}

.product-price {
  width: 40px;
}

.product-quantity {
  width: 55px;
}

.product-subtotal {
  width: 60px;
}

.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
  font-weight: 500 !important;
}

/* also see css/grid.css x */
.product_list_widget li {
  font-size: small !important;

  a {
    font-weight: 500 !important;
    line-height: 20px;
  }

  .attachment-woocommerce_thumbnail {
    display: none;
    float: none !important;
    width: 50px !important;
    height: 50px !important;
  }

  .product-title {
    line-height: 15px !important;
    display: block;
  }

  ins {
    margin-top: 3px;
    color: var(--purple) !important;
    font-weight: bold;
  }

  del {
    margin-top: -10px;
    color: var(--med-grey)
  }
}

.attachment-woocommerce_thumbnail img {
  /*padding: 10px;
  background: rgba(255, 255, 255, 0.25) !important;*/
}

.widget_product_categories .product-categories {
  padding: 15px 25px 5px 25px !important;

  .count {
    background: none;
    color: var(--aqua) !important;
  }

  .children {
    margin-top: -5px;
  }
}

ul.products {
  order: 5;
}

.u-columns {
  clear: both !important;
}

.pay_with_amazon_express {
  margin: 0px auto;
}

.wc-block-components-express-payment__event-buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  column-gap: 10px;

  li {
    flex-basis: 30%;
  }
}

.wc-block-components-product-badge {
  background: var(--light-grey);
}

.wc-block-components-product-metadata__description {
  display: none;
}

.wc-block-components-product-metadata {
  font-size: 0.85em !important;
  color: var(--med-grey);
}

.wc-block-cart-item__image img {
  padding: 5px;
}

/* also see css/grid.css x */
.wc-block-cart-items__row {
  background-color: rgba(255, 255, 255, 0.25);
  padding: 0px 10px 35px 10px !important;
}

.wc-block-components-product-details,
.wc-block-cart-item__remove-link {
  margin-top: 0px !important
}

.wc-block-components-product-name {
  font-size: large;
  font-weight: bold;
}

.wc-block-components-button__text {
  position: relative;
  top: 3px;
}

.wc-block-components-totals-coupon__form {
  position: relative;
  top: -5px;
}

.product-name {
  width: 100%;
}


/* SHORTCODES */
/* also see css/grid.css x */
.custom-product-grid {
  padding: 5px !important;
}

.custom-product-grid .product-thumb {
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.custom-product-grid .product-thumb:hover {
  transform: scale(1.05);
}


/* WOO SHORTCODE CART / CHECKOUT */
.woocommerce table.shop_table {
  border: none;
  position: relative;
}

/* also see css/grid.css x */
#add_payment_method {
}

#add_payment_method table.cart td,
#add_payment_method table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th,
.woocommerce-checkout table.cart td,
.woocommerce-checkout table.cart th {
  vertical-align: top;
}

#add_payment_method table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img {
  width: 100px;
}

/* also see css/grid.css x */
.edit-account {
}

.payment_method_square_cash_app_pay br {
  visibility: hidden;
  display: none;
  height: 0px;
}

#wc-square-credit-card-credit-card-form {
  border: none !important;
  margin-bottom: -20px;
}

.sq-card-iframe-container {
  padding: 0px 5px;
  width: 95%;
}

.sq-card-message {
  display: block !important;
  margin: 5px auto 0px 4px !important;
}

.variation {
  color: var(--med-grey);
  font-size: smaller;
  line-height: 10px;
  white-space: nowrap;
}

.variation dd {
  margin-bottom: 10px;
}

.variation dt {
  margin-bottom: -5px;
  font-weight: bold;
}

.variation dd ul {
  padding: 0px 15px !important;
  margin-bottom: 10px;
  list-style-type: none !important
}

h2.woocommerce-loop-category__title,
h2.woocommerce-loop-product__title {
  margin-top: 10px !important;
}



#place_order {
  margin: 30px auto 15px auto;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
  width: 100%;
  float: none;
  clear: both;
}

.woocommerce-page .cart-collaterals .cross-sells {
  width: 100%;
  float: none;
  clear: both;
}

.woocommerce-terms-and-conditions-wrapper {
  .form-row.validate-required {
    margin-bottom: 25px;
  }
}

.form-row-first,
.form-row-last,
.form-row-wide {
  align-self: end;
}

/* also see css/grid.css x */
.site-main.full-width .woocommerce:not(.checkout) {
  padding: 0px 25px;

  .woocommerce-cart-form {
    width: 100%;
  }

  .woocommerce-form-coupon-toggle {
    display: none !important;
  }

  .return-to-shop {
    text-align: center;
    margin: 0px auto 25px auto;
  }
}

.woocommerce-notices-wrapper:first-child:not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:nth-child(2):not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:nth-child(3):not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:nth-child(4):not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:nth-child(5):not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:nth-child(6):not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:nth-child(7):not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:nth-child(8):not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:nth-child(9):not(:empty) {
  width: 100%;
}

.woocommerce-notices-wrapper:empty::before {
  content: none;
}

.woocommerce-notices-wrapper:empty {
  display: none !important;
  height: 0px !important;
  visibility: hidden !important;
  background: none !important;
}

.woocommerce-form-coupon button {
  position: relative;
  left: -25px;
}

.wc-square-credit-card-container div:not(:first-child) {
  display: none;
}

#square-gift-card-application {
}

tr.coupon-row {
  position: relative;
  width: 100%;
}

tr.coupon-row > td {
  width: 100%;
  height: 100px;
}

#woocommerce-checkout-form-coupon {
  position: absolute;
  width: 100%;

  p:first-child {
    display: none;
  }
}

.form_row#coupon_code {
  padding: 10px;
  top: 5px;
  position: relative;
}

.woocommerce-validated > button[name='apply_coupon'] {
  left: -25px !important;
}

/* also see css/grid.css x */
.pp-add-payment-button-wrap {
  width: max-content;
  margin: 0px auto;
}

/* also see css/grid.css x */
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  input {
    margin-top: 4px !important;
  }

  span {
    line-height: 20px;
  }

  abbr {
    vertical-align: top;
    margin-top: -10px;
  }
}

.woocommerce table.shop_table_responsive thead,
.woocommerce-page table.shop_table_responsive thead {
  display: table-header-group;
}

.woocommerce table.shop_table_responsive tr,
.woocommerce-page table.shop_table_responsive tr {
  display: table-row
}

.pp-cart-order .cart-subtotal td,
.pp-cart-order .cart-discount td,
.pp-cart-order .tax-total td,
.pp-cart-order .order-total td {
  text-align: right !important;
}

bdi {
  width: 100%;
  display: inline;
  text-align: right;
}

.woocommerce table.shop_table_responsive tr td,
.woocommerce-page table.shop_table_responsive tr td,
.woocommerce table.shop_table_responsive tr th,
.woocommerce-page table.shop_table_responsive tr th,
.woocommerce-shipping-destination {
  display: table-cell;
  text-align: left;
}

.order-total {
  th {
    text-align: left !important;
  }

  td {
    text-align: right !important;
    ;
  }
}

.woocommerce-cart-form__cart-item.cart_item td::before {
  content: "" !important;
}

.product-thumbnail {
  display: block !important;
}

.pp-checkout .checkout_coupon.woocommerce-form-coupon {
  border: none !important;
  margin: 0;
  padding: 0 !important;
}

/* also see css/grid.css x */
.pp-checkout.pp-checkout-coupon {
  width: 100%;

  .input-text {
    width: 100% !important;
    font-size: small;
    height: 45px;
    padding: 5px 15px !important;
    margin: 5px 0 0 0 !important;
  }

  button {
    width: 100%;
    font-size: medium !important;
  }
}

.input-text.qty {
  width: 50%;
  margin: 0px auto 15px auto;
  padding: 10px;
  display: inline-block;
  border: 1px solid var(--pale-grey) !important;
  background-color: var(--dark-white);
  color: var(--charcoal);
}

.pp-quantity {
  padding-top: 3px;
  font-weight: bold;
  margin-right: 5px;
}

div.quantity:not(:has(input[type="number"])) {
  span.pp-quantity {
    display: none;
  }
}

.wapf-field-input input[type="checkbox"],
.wapf-field-input input[type="radio"] {
  margin-top: 7px;
}

.wapf-field-label {
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 5px;

  span::after {
    content: ": ";
  }
}

.pp-wapf-indent {
  margin-left: 20px;
}

input.wapf-input {
  cursor: pointer;
}

.wapf-wrapper {
  margin-top: 15px;
}

.wapf-edit-cartitem {
  text-transform: uppercase;
  font-size: small;
  font-weight: bold;
  color: var(--blue);
  padding: 3px 5px;
  background-color: var(--light-purple);
}

.woocommerce div.product form.cart .variations {
  margin-bottom: 5px;
}

.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
  margin-top: 15px;
}


/* also see css/grid.css x */
.pp-checkout .pp-coupon {
  width: 100%;

  .coupleft {
    width: 100% !important;
    font-size: medium;
    height: 45px;
    padding: 5px 15px !important;
    margin: 5px 0 0 0 !important;
  }

  .coupright {
    width: 100% !important;
    font-size: medium;
    height: 45px;
    padding: 5px 15px !important;
    margin: 5px 0 0 0 !important;
  }

  button {
    width: 100%;
    font-size: medium;
  }
}

.woocommerce ul#shipping_method li {
  text-align: right;
}

.woocommerce ul#shipping_method li input {
  margin-top: 6px;
}

.form-row p {
  line-height: 15px;
}

/* also see css/grid.css x */
.woocommerce-SavedPaymentMethods-saveNew {
  line-height: 15px;

  input {
    width: 14px !important;
    vertical-align: top;
  }

  label {
    line-height: 15px !important;
    vertical-align: top;
    margin-bottom: 20px;
  }
}

.sv-wc-payment-gateway-icon {
  text-align: right;
  margin-top: 15px;
}

.payment_method_square_credit_card img:first-of-type::before {
  white-space: pre;
  content: "\A";
}

.wc-payment-form {
  border: none;
  margin-top: -20px;
  margin-bottom: 20px;
  font-family: "Roboto Slab", serif !important;
}

.payment_method_woocommerce_payments_affirm .wcpay-upe-form {
  margin-top: 10px;
  margin-bottom: -40px;
}

.testmode-info {
}

.pp-checkout #apply_coupon {
  font-size: medium !important;
}

.woocommerce-form__label-for-checkbox.checkbox {
  line-height: 30px;
}

.woopayments-inner-label {
  font-family: "Roboto Slab", serif !important;
  line-height: 30px;
}

.payment_method_ppcp-applepay img {
}

.woocommerce-thankyou-order-received {
  display: block !important;
}

.woocommerce-thankyou-order-details {
  margin-top: 25px;
}

/* also see css/grid.css x */
.pp-checkout {
  .woocommerce-notice--success {
    margin-top: 0px;
  }

  .pp-goback {
    text-align: center;
    font-weight: normal;
    font-family: 'BenchNine', sans-serif;
    font-size: 20px;
    color: var(--deep-purple);
  }

  .pp-goback a {
    color: var(--black) !important;
    text-decoration: none !important;
    cursor: pointer;
  };

  .pp-shipnote {
    font-size: x-small;
    color: var(--med-grey);
  }

  .woocommerce-page table.shop_table_responsive tr td::before {
    content: "";
  }

  .wc-amazon-payments-advanced-info {
    display: none;
  }

  .woocommerce-checkout,
  .woocommerce-billing-fields {
    line-height: 40px;
    h3 {
      margin-top: 0px;
    }
  }

  .woocommerce-checkout-payment {
    margin-top: -25px;
  }

  .woocommerce-checkout-payment label img,
  .payment_method_ppcp-applepay img,
  .payment_method_ppcp-googlepay img {
    margin-top: 10px;
    text-align: right;
    display: inline-block;
    height: 25px;
  }

  .payment_method_ppcp-applepay img {
    border-radius: 0px;
  }

  .woocommerce-SavedPaymentMethods-saveNew {
    margin-top: 10px;
    line-height: 15px;
    margin-bottom: 50px;
  }

  #square-gift-card-wrapper {
    padding: 10px !important;
    min-height: 0px !important;
    top: 25px;
    margin: 30px 0px;
  }

  td.product-name,
  dl.variation {
    text-align: left !important;
  }

  #shipping_method label {
    font-weight: normal;
  }

  #shipping_method span {
    font-weight: bold;
  }

  .woocommerce ul#shipping_method {
    margin: 0px;
    top: 3px;
    overflow: hidden;
    transition: height 0.5s ease-in-out;
    top: -28px;
    /*position: absolute;*/
    text-align: right;
    right: 0px;
  }

  #customer_details .col-1,
  #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
  }
}

.wcpay-upe-form,
.wcpay-upe-form *,
.p-CardForm,
.p-CartForm *,
.p-FieldLabel {
  font-family: "Roboto Slab", serif !important;
}

.testmode-info {
  line-height: 15px;
}

table {
  border-spacing: 0px;
}

.pi-condition-fees {
  strong {
    display: none;
  }
  background: var(--light-purple);
  column-span: all !important;
  position: absolute;
  width: 100%;
  padding: 0px 10px;
}

.wc_payment_method.payment_method_square_credit_card::before {
  border: none !important;
}

.wc_payment_method.payment_method_square_credit_card img {
  display: inline-block;
  margin-left: 5px;
}

.wc_payment_method.payment_method_square_credit_card img:first-child::before {
}

.cart-discount .discount_label {
  font-weight: bold;
  border-top: 0px;
}

.cart-discount .discount_code {
  font-weight: normal;
  border-top: 0px;
}

.cart-discount td,
.tax-total {
  font-weight: normal !important;
}

.cart-discount {
  background-color: var(--light-purple);
}

.woocommerce-checkout-review-order-table .woocommerce table.shop_table tbody .cart-subtotal th,
.woocommerce-checkout-review-order-table .woocommerce table.shop_table tfoot .cart-subtotal td,
.woocommerce-checkout-review-order-table .woocommerce table.shop_table tfoot .cart-subtotal th,
.woocommerce-checkout-review-order-table .woocommerce table.shop_table tbody .order-total th,
.woocommerce-checkout-review-order-table .woocommerce table.shop_table tfoot .order-total td,
.woocommerce-checkout-review-order-table .woocommerce table.shop_table tfoot .order-total th {
  border-top-width: 3px;
}

/* also see css/grid.css x */
.back-to-cart {
}

/* also see css/grid.css x */
.checkout.woocommerce-checkout {
  .woocommerce-form-coupon-toggle {
    display: none !important;
  }
}

.pp-ship-cell {
  text-align: right;
  display: table-cell;
  width: 100%;
  position: relative;
  
  bdi {
    display: inline;
    text-align: right;
  }
}

.coupon button {
  padding: 12px 10px;
  font-size: medium !important;
}

/* also see css/grid.css x */
.pp-info-block {
  width: 100%;
  opacity: 1.0;
  border-width: 3px;
  border-style: solid;
  padding: 5px 10px;
  font-size: small;

  h3 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    text-align: center;
    font-size: x-large;
  }

  h4 {
    margin-top: 0px;
    margin-bottom: 0px !important;
    font-style: italic;
    text-align: center;
  }

  p {
    margin-top: 0px;
    margin-bottom: 0px !important;
  }

  i {
    height: 25px;
    width: auto;
    display: inline-block;
  }

  i img {
    height: 25px !important;
    width: auto;
  }
}

.article__body img {
  display: block !important;
}

.article__body li.wc_payment_method img {
  display: inline-block !important;
}

/* also see css/grid.css x */
.article__post-nav {
  margin: 0px auto;
  padding: 0px 10px;
  text-align: center;
  font-size: 14px;
  width: 100%;
}

.woocommerce-js .article__body {
  margin-top: -5px;
}

.ppcp-messages {
  width: 100%;
  display: block;
  margin: 3px auto;
  white-space: nowrap;
  text-align: center;
  top: -25px;
  left: 15px;
  position: relative;
}

div.woocommerce-products-header div.ppcp-messages,
div.wp-proceed-to-checkout div.ppcp-messages,
div.wp-proceed-to-checkout #payment-method-message.StripeElement.ready,
div.wp-proceed-to-checkout .__PrivateStripeElement,
div.wp-proceed-to-checkout iframe {
  display: none !important;
  visibility: hidden !important;
  height: 0px !important;
  opacity: 0;
}

.wc-amazon-checkout-message {
  display: none;
  height: 0px;
  visibility: hidden;
}

.wp-proceed-to-checkout {

  .ppcp-messages,
  .wc-apa-button-separator,
  #pay_with_amazon {
    display: none !important;
    height: 0px !important;
    visibility: hidden !important;
  }
}

#pp-toggle-more {
  position: relative;
  display: block; /* Ensure the content is visible */
  border: 1px solid transparent;
  background-color: var(--light-purple);
  padding: 0px 15px;
  margin-top: -10px;
}

.woo-meta-no-info {
}

.wpcuv-edit {
  display: none !important;
}

.woocommerce-variation-description {
  position: relative;
  display: block; /* Ensure the content is visible */
  border: 1px solid transparent;
  background-color: var(--light-purple);
  padding: 10px 15px;
  margin-top: 0px;
  font-size: small;
}

.woocommerce-variation-description p {
  margin-bottom: 0px !important;
}

.woocommerce-variation-availability {
  margin-top: 5px;
}

.pp-checkout #shipping_address {
  overflow: hidden;
  position: relative;
  transition: height 0.5s ease-in-out;
  max-height: 0px; /* Collapsed state */
}

.pp-checkout #shipping_address.collapsed {
  height: 0px;
  position: relative;
}

.pp-checkout #shipping_address.expanded {
  display: block;
  clear: both;
  max-height: 1000px;
  overflow: visible;
}

.pp-checkout #ship-to-different-address {
  float: none !important;
  line-height: 15px;
  font-size: 24px;
}

.woocommerce-form__label-for-checkbox {
  pointer-events: none;
}

#ship-to-different-address-checkbox {
  cursor: pointer;
}

.pp-checkout .woocommerce-additional-fields {
  display: block;
}

/* also see css/grid.css x */
.pp-checkout .woocommerce-shipping-fields__field-wrapper,
.pp-checkout .woocommerce-billing-fields__field-wrapper,
.pp-edit-address .woocommerce-address-fields__field-wrapper {
  position: relative;

  #shipping_country_field,
  #billing_country_field {
    margin: -15px 0px 0px 0px;
    display: inline;
    line-height: 15px;
  }

  #shipping_country_field .required,
  #billing_country_field .required {
    padding-right: 5px;
  }

  #shipping_address_1_field,
  #billing_address_1_field {
    margin-bottom: 0px;
  }

  #shipping_address_2_field,
  #billing_address_2_field {
    margin-bottom: 0px;
  }

  #shipping_city_field,
  #billing_city_field {
    margin-bottom: 0px;
  }

  #shipping_state_field,
  #billing_state_field {
    margin-bottom: 0px;
  }

  #shipping_postcode_field,
  #billing_postcode_field {
    margin-bottom: 0px;
  }

  #shipping_phone_field,
  #billing_phone_field {
    margin-bottom: 0px;
  }

  #billing_email_field {
    margin-bottom: 0px;
  }

  #order_comments_field {
    margin-bottom: 0px;
    display: block;
    width: 100%;
    min-height: 150px;
  }
  
  .form-row-first,
  .form-row-last {
    width: 100% !important;
  }
}

button[name="update_cart"] {
  width: 100%;
  margin-top: 10px !important;
}

.woocommerce-shipping-fields {
  height: unset !important;
  display: block;
}

#order_comments {
  width: 100%;
  height: 150px;
  display: block;
}

.order-total {
  text-align: right;
}


.woocommerce-checkout-review-order {
  .woocommerce-cart-form__contents {
    table-layout: fixed;
  }

  .product-remove {
    width: 35px;
  }

  .product-thumbnail {
    width: 100px;
  }

  .product-price {
    width: 100px;
  }

  .product-quantity {
    width: 100px;
    vertical-align: middle;
    text-align: center;
  }

  .product-subtotal {
    width: 100px;
  }
}

.woocommerce-cart-form .pp-quantity {
  display: none;
}

.old-price {
  text-decoration: line-through;
  color: var(--med-grey) !important;
}

.sale-price {
  color: var(--purple) !important;
  font-weight: bold;
}

.sale-price span:first-child {
  font-size: medium;
}

.on-sale-badge-sm {
  display: inline-block;
  padding: 0px 3px;
  margin-left: 10px;
  margin-top: 2px;
  width: 50px;
  height: 20px;
  background-color: var(--purple);
  color: var(--white);
  font-size: small;
  font-weight: bold;
  text-align: center;
  line-height: 20px;
}

#wcpay-express-checkout-button-separator {
  display: none !important;
}

.checkout-button.button.alt.wc-forward {
  margin-top: 15px;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  /*padding: 5px 50px !important;
  min-width: 100% !important;
  margin-bottom: 10px !important;
  line-height: 20px !important;*/

  border: none;
  background: none;
}

.woocommerce-error li {
  padding: 0px;
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
  display: none;
  left: 15px !important;
  top: 5px !important;
}

.woocommerce-info {
  /*border-top-color: var(--cyan) !important;*/
  color: var(--charcoal) !important;
  /*width: 100%;*/
  margin: 25px;
}

.woocommerce-info::before {
  /*color: var(--cyan) !important;*/
  display: none;
}

.woocommerce-message {
  /*border-top-color: var(--purple) !important;
  color: var(--purple) !important;*/
}

.woocommerce-message::before {
  /*color: var(--purple) !important;*/
  display: none;
}

.woocommerce-error a.button.wc-forward,
.woocommerce-message a.button.wc-forward,
.woocommerce-info a.button.wc-forward {
  display: none !important;
}

.woocommerce .col2-set::after,
.woocommerce .col2-set::before,
.woocommerce-page .col2-set::after,
.woocommerce-page .col2-set::before {
  display: block;
  content: none;
}

.pp-empty-cart-wrap {
  text-align: right;
  margin: 0px !important;
}

.zzz.price bdi {
  text-align: center !important;
}

.pp-checkout .woocommerce-form__label-for-checkbox span,
.pp-checkout .woocommerce-form__label-for-checkbox input {
  cursor: pointer;
}

.pp-checkout .payment_box p {
  margin-top: 0px;
}

.pp-checkout .ppc-button-wrapper {
  margin-bottom: 10px !important;
}

.site-main.ppshop .article__title {
  margin-top: 15px;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  display: none;
}

.wc-block-components-product-image img {
}

.woocommerce-remove-coupon {
  display: block;
  text-align: right;
}

td.product-name,
dl.variation {
  text-align: left !important;
  padding-left: 15px;
}

.woocommerce div.product div.images {
  margin-bottom: 55px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  column-gap: 10px;
  row-gap: 10px;
  justify-content: center;
  text-align: center;
}

.woocommerce-product-gallery__wrapper div:first-child {
  width: 100%;
  flex-shrink: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:not(:first-child) {
  /*flex-grow: 1;*/
  padding: 0px;
  flex: 1 1 130px; /* minimum size */
  max-width: 300px;
  aspect-ratio: 1 / 1;
}

.woocommerce-product-gallery__wrapper div:nth-child(n+2),
.woocommerce-product-gallery__wrapper:not(:has(.wapf-layers)) {
  /*max-width: 135px !important;*/
  overflow: hidden;
  text-align: center;
} 

.widget_shopping_cart {
  .widget_shopping_cart_content {
    padding: 10px 10px 0px 10px;
    margin-top: 15px !important;
  }

  .woocommerce .widget_shopping_cart .total,
  .woocommerce.widget_shopping_cart .total {
    border-top: 3px solid var(--blue);
    padding: 4px 10px 0px 10px !important;
  }

  bdi {
    display: inline;
    text-align: left;
  }

  .quantity {
    margin-top: -5px;
    margin-bottom: 10px;
  }
}

.new-badge {
  background-color: #000;
  color: #fff;
  font-size: 0.75rem;
  padding: 4px 8px;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 10;
  border-radius: 3px;
  text-transform: uppercase;
}

.woocommerce-product-gallery__wrapper div:nth-child(n+2)
.woocommerce-product-gallery__wrapper:not(:has(.wapf-layers)) {
  /*max-width: 135px !important;*/
  overflow: hidden;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
} 

.variation {
  position: relative;
}

dl.variation {
  margin-top: 3px;
}

.variation ul {
  margin-bottom: 3px;
}

.pp-mc-item {
  display: block;
  margin-bottom: 5px;
  clear: both;

  .pp-addons {
    color: var(--mid-grey);
  }

  .pp-mc-total {
    float: right;
    font-size: medium;
    position: absolute;
    right: 0px;
  }

  .pp-mc-math {
    font-size: medium !important;
  }

  .pp-mc-total {}
}

/* also see css/grid.css x */
.pp-my-address {
  width: 100%;

  .u-column1.col-1.woocommerce-Address {
    width: 100%;
    margin-top: 0px;
  }

  .u-column2.col-2.woocommerce-Address {
    width: 100%;
    margin-top: 0px;
  }

  .edit {
    font-size: small;
  }

  address {
    font-style: normal;
  }
}

/* also see css/grid.css x */
.woocommerce-MyAccount-content {
  width: 100%;

  p {
    display: block;
    height: auto;
    visibility: visible;
  }

  #billing_first_name_field {
    background: none;
  }
}

.woocommerce-address-fields {
  #billing_first_name_field {
    padding: 0px;
    margin-bottom: 0px;
  }
}

.woocommerce-address-fields__field-wrapper {
  padding: 0px 25px;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
  padding: 0px 15px;
  margin-top: 0px;
  margin-bottom: 0px !important;
}

.woocommerce-customer-details--email {
}

/* also see css/grid.css x */
.pp-checkout > .woocommerce {
}

.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
  min-height: 35px !important;
  min-width: min-content !important;
  padding: 5px 10px !important;
  font-weight: 700 !important;
  position: absolute !important;
  text-align: center !important;
  line-height: 3.236 !important;
  top: 0px !important;
  left: 15px !important;
  margin: 0 !important;
  border: none !important;
  background-color: var(--aqua) !important;
  color: var(--white) !important;
  font-size: medium !important;
  z-index: 9 !important;
}

.type-product > .onsale {
  display: none;
}

li.type-product,
.woocommerce-product-gallery {
  /*border-radius: 10px;
  box-shadow: 0px 0px 10px var(--pale-grey);
  background-color: var(--white);*/
}

.woocommerce-LoopProduct-link > .onsale,
.wc-block-components-product-sale-badge {
  left: auto !important;
  margin: 0 !important;
  position: absolute !important;
  right: 5px !important;
  top: -5px !important;
  line-height: 1.5em !important;
  text-transform: none !important;
  font-size: small !important;
}

.woocommerce-LoopProduct-link > span.onsale {
  height: 45px !important;
  width: 45px !important;
  padding: 3px 7px 10px 7px !important;
  line-height: 40px !important;
  border: none !important;
  background-color: var(--aqua) !important;
  color: var(--white) !important;
  font-size: small !important;
  z-index: 9 !important;
}

.wcpay-express-checkout-wrapper {
  display: none;
}

.wc-proceed-to-checkout {
  #payment-method-message {
    display: none;
  }
}

.wc-forward.button.empty-button {
  content: "Let's go shopping!" !important;
}

.wlfmc-wishlist-table .wishlist-empty-row td {
  padding: 0px !important;
}

#wlfmc-wishlist-form * {
  border-radius: 0px !important;
}

div.wlfmc-counter-wrapper.wlfmc-products-counter-wrapper {
  padding-left: 0px !important;
}

.zzz.price {
  del {
    color: var(--med-grey) !important;
  }

  ins {
    color: var(--purple);
    font-weight: bold;
  }
}

.woocommerce-LoopProduct-link {
  .onsale {
    top: 0px;
  }
}

.related.products li.product {
  display: block !important;
}

.related.products span.onsale {
  min-height: 25px;
  padding: 2px 5px;
  line-height: 2.5;
}

.sq-card-wrapper .sq-card-iframe-container {
  width: calc(100% - 10px) !important;
}

.select2-container {
  width: auto !important
}
.select2-selection.select2-selection--single {
  padding: 3px 20px 3px 0px !important;
}

.select2-dropdown.select2-dropdown--below {
  border: 1px solid var(--purple) !important;
  width: 200px !important;
}

.select2-container.select2-container--default.select2-container--open {
  margin-top: -28px;
}

.woocommerce-cart .cart-collaterals .cross-sells ul.products {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
  text-align: left;
  column-gap: 20px;
}

.columns-2 > li {
  flex-basis: 25% !important;
}

.columns-4 {
  min-height: 25px;
  padding: 2px 5px;
  top: 10px !important;
  right: 10px !important;
}

.columns-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

ul.products li.product .price {
  color: var(--black) !important;
}

.wapf-checkable {
  clear: both;
}

.wapf-swatch-label {
  font-size: small;
}

.wapf-swatch--text.wapf-checked {
  background-color: var(--purple) !important;
  border-color: var(--purple) !important;
}

.wapf-disabled {
  position: relative;
  display: inline-block;
}

.wapf-disabled::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: black; /* or gray, or dashed */
  transform: rotate(-45deg); /* optional angle */
  z-index: 2;
}

#add_payment_method .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-checkout .cart-collaterals .cart_totals table th {
  width: 100% !important;
}

.wttw {
  pointer-events: none;

  div.wapf-ttp {
    position: relative;
    bottom: 25px;
    pointer-events: none;
  }
}

.pp-dashboard-wrapper {
  display: grid;
  grid-template-areas: "text menu";
  grid-template-columns: 1fr 200px;
  grid-template-rows: auto;
  gap: 20px;
  width: 100%;
  grid-area: deets;
  padding-bottom: 25px;
}

.pp-dashboard-address-wrapper {
  display: grid;
  grid-template-areas: "text menu";
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: 20px;
  width: 100%;
  grid-area: deets;
  padding-bottom: 25px;
}

.pp-dashboard-left-column {
  grid-area: text;
}

.pp-dashboard-right-column {
  grid-area: menu;
}

.pp-dashboard-box {
  padding: 5px 25px;
  background: var(--white);
}

.pp-dashboard-links {
  list-style-type: none;
  text-align: center;
}

a.edit {
  font-size: small;
}

.pp-dashboard-address-wrapper h2,
.pp-edit-address h2 {
  padding: 0px;
  margin: 100px 0px 0px 0px !important;
  border: none;
}

/* also see css/grid.css x */
#pp-cart-toggle {
  position: relative;
  width: 300px;
  padding: 25px 0px;
  text-align: left;

  .pp-cart-image img {
    filter: drop-shadow(0px 0px 10px var(--deep-purple));
    border: none;
    cursor: pointer;
    height: 45px;
    width: 45px;
    margin: 3px 0;
    padding: 0px;
    position: absolute;
    top: 0px;
    right: 0px;
    display: inline-block;
    z-index: 10;
  }

  .pp-mini-cart-info {
    width: 16px;
    height: 16px;
    position: absolute;
    top: 13px;
    right: 19px;
    color: var(--charcoal);
    font-size: small;
    line-height: 16px;
    text-align: center;
    z-index: 15;
    pointer-events: none;
  }
}

.wlfmc-counter-text.wishlist-products-counter-text:hover {
  text-decoration: underline;
}

.wlfmc-counter-wrapper {
  padding: 0px !important;
}


/* also see css/grid.css x */
li.woocommerce-mini-cart-item.mini_cart_item {
  font-size: medium !important;
  padding: 0px !important;

  .attachment-woocommerce_thumbnail {
    display: none;
    float: none !important;
    width: 50px !important;
    height: 50px !important;
  }

  a.remove_from_cart_button {
    line-height: 15px !important;
    display: block;
    font-size: large;
  }

  a:not(.remove_from_cart_button) {
    line-height: 15px !important;
    display: block;
  }

  div.variaton {
    padding: 5PX 0px !important;
  }
}


/* SEARCH IN NAV */
/* Container for search */
li.menu-search {
  width: 200px;
}  

.search-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  /*right: -237px;  Adjust to position search icon */
}

.nav-search-form {
  height: 50px !important
}

/* Search icon button */
.nav-search-form button.search-icon {
  background-color: var(--white) !important;
  color: var(--charcoal) !important;
  border: none;
  padding: 15px 12px 8px 8px;
  z-index: 2;
  cursor: pointer;
  min-width: 35px !important;
  width: 35px !important;
  height: 50px !important;
  text-align: center;
  margin-top: 0px !important
}

/* Search input field */
.nav-search-form .search-input {
  position: absolute;
  right: 37px; /* Start hidden to the left of the icon */
  width: 0;
  padding: 8px;
  opacity: 0;
  transition:
    width 0.3s ease,
    opacity 0.3s ease,
    right 0.3s ease;
  z-index: 1;
}

/* Hover or focus expands input */
.search-container:hover .search-input,
.search-input:focus {
  width: 200px;
  opacity: 1;
  /* right: 200px; Push left with spacing */
}

.dashicons.dashicons-search {
  font-size: x-large !important;
  position: relative;
  top: -2px;
}


.search-container {
  /*position: relative;
  display: inline-block;*/
}

.search-bar {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  overflow: hidden;
  transition: width 0.4s ease;
  background-color: var(--white);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  z-index: 999;
}

.search-bar form {
  display: flex;
  align-items: center;
  padding: 5px;
}

.search-bar input[type="search"] {
  font-size: 18px;
  padding: 5px 10px;
  border: 1px solid var(--charcoal);
  width: 100%;
}

.search-bar button {
  background-color: var(--aqua);
  color: var(--white);
  border: none;
  padding: 5px 10px;
  cursor: pointer;
}

.search-container.active .search-bar {
  width: 250px;
}



.wpmenucart-contents {
  position: relative;
  z-index: 1000;
  visibility: visible !important;
}

.wpmenucart-contents span.amount {
  position: absolute !important;
  left: -9999px !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px); /* legacy */
  clip-path: inset(50%) !important; /* modern */
  white-space: nowrap !important;
}

.custom-cart-flyout {
  font-family: 'Roboto Slab', serif !important;
  font-size: 14px !important;
  font-weight: normal !important;
  line-height: 25px;
  padding: 5px 10px;
  position: absolute;
  top: 100%;
  right: 0;
  width: 150px;
  background: var(--white);
  border: 1px solid (var(--light-grey));
  color: var(--charcoal);
  display: none;
  z-index: 999;

  span {
    display:block;
  }

  .cart-items {}

  .cart-subtotal {}

  .cart-view {
    text-align: right;
  }
}

.wpmenucart-contents span.cart-view a,
.wpmenucart-contents span.cart-view a:hover {
  transition: none !important;
  background: var(--white);
  color: var(--charcoal);
}

.wpmenucart-contents:hover + .custom-cart-flyout,
.custom-cart-flyout:hover {
  display: block;
  opacity: 1;
}

.wpmenucartli {
  line-height: 50px;
  height: 50px;
  vertical-align: middle;
  font-size: 25px;

  a.wpmenucart-contents {
    height: 50px !important;
    padding: 0px 10px !important;
    color: var(--charcoal);
  }

  a.wpmenucart-contents:hover {
    background-color: rgba(0, 165, 192, 0.5) !important; /* #15e7b5 */
    text-decoration: none;
    color: var(--white);
    text-shadow: none;
  }
}

.woocommerce-form-login {
  margin: 2em auto !important;
  width: 500px;
}

.pp-ship-cell {
}

.woocommerce-shipping-calculator {
  text-align: right;
}

.upsell-set {
  background: #f7f7f7;
  border: 1px solid #ddd;
  padding: 1.0em;
  margin-top: 2em;
  text-align: center;
  border-radius: 6px;
}

.upsell-set h3 {
  font-size: 30px;
  margin-bottom: 0.5em;
  margin-top: 0px;
}

.upsell-set .button {
  background-color: #333;
  color: #fff;
  padding: 0.6em 1.2em;
  border-radius: 4px;
  text-decoration: none;
}


.box,
.custom-sale-flash {
  position: relative;
  max-width: 600px;
  width: 90%;
  background: #fff;
  box-shadow: 0 0 15px rgba(0,0,0,.1);
}

/* common */
.ribbon {
  width: 150px;
  height: 150px;
  overflow: hidden;
  position: absolute;
  right: -67px;
  top: -10px;
}
.ribbon::before,
.ribbon::after {
  position: absolute;
  z-index: -1;
  content: '';
  display: block;
  border: 5px solid #006272;
}
.ribbon span {
  position: absolute;
  display: block;
  width: 225px;
  padding: 15px 0;
  background-color: var(--aqua);
  box-shadow: 0 5px 10px rgba(0,0,0,.5);
  color: #fff;
  font: 700 18px/1 'Lato', sans-serif;
  text-shadow: 0 1px 1px rgba(0,0,0,.5);
  text-transform: uppercase;
  text-align: center;
}

.ribbon.small {
  top: 5px;
  right: 5px;
  font-size: small;
}

.ribbon.small.onsale {
  top: 0px !important;
  right: 0px !important;
}

.ribbon-top-right::after {
  border-top-color: transparent;
  border-right-color: transparent;
}
.ribbon-top-right::before {
  top: 0;
  left: 0;
}
.ribbon-top-right::after {
  bottom: 0;
  right: 0;
}
.ribbon-top-right span {
  left: -25px;
  top: 30px;
  transform: rotate(45deg);
}

/*
.woocommerce-shipping-methods {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.woocommerce-shipping-methods input[type="radio"] {
  display: none;
}

.woocommerce-shipping-methods label {
  display: block;
  padding: 10px 14px;
  background: #f7f7f7;
  border: 1px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.woocommerce-shipping-methods input[type="radio"]:checked + label {
  background: #e0f0ff;
  border-color: #0073aa;
  font-weight: bold;


.shipping-option {
  display: block;
  padding: 10px 14px;
  background: #f7f7f7;
  border: 1px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

input[type="radio"]:checked + .shipping-option {
  background: #e0f0ff;
  border-color: #0073aa;
  font-weight: bold;
}}*/

.pi-cefw-optional-fees-list {
  margin: 0px;
}

.wt_sc_single_coupon {
  max-width: unset !important;
}

/*
.wt_sc_single_coupon {
  max-width: unset !important;
  border-color: var(--aqua) !important;
}

.wt-single-coupon.minimal_outline {
  font-family: inherit !important;
}

.wbte_sc_corner_circle {
  background-color: var(--aqua) !important;
}

.wt_sc_coupon_amount {
  color: var(--purple) !important;
}

.wt_sc_coupon_type.discount_type {
  color: var(--charcoal) !important;
  font-size: 16px !important;
}

.wt-single-coupon.minimal_outline .wbte_sc_coupon_desc {
  font-size: 16px !important;
}

.wt_sc_coupon_code.wt-coupon-code {
  color: var(--aqua) !important;
  background-color: rgba(0, 165, 192, 0.2) !important;

  code {
    color: var(--aqua) !important;
    font-size: 26px !important;
    padding: 10px auto !important;
  }
}*/


/* -----------------------------------------
   CLEANER QUICK EDIT LAYOUT
------------------------------------------ */

/* Make the whole Quick Edit panel breathe */
.inline-edit-row fieldset {
    padding: 8px 12px !important;
}

/* Normalize spacing between blocks */
.inline-edit-row .inline-edit-col {
    margin-bottom: 10px;
}

/* Section headers */
.inline-edit-row h4,
.inline-edit-row .title {
    margin-top: 12px;
    margin-bottom: 6px;
    font-weight: 600;
}

/* -----------------------------------------
   PP GROUPS SECTION
------------------------------------------ */

.pp-groups-wrapper {
    border: 1px solid #ddd;
    padding: 10px 12px;
    border-radius: 4px;
    background: #fafafa;
    margin-top: 12px;
}

/* Checkbox grid */
.pp-groups-wrapper .pp-group-checkbox {
    margin-right: 6px;
}

.pp-groups-wrapper .pp-groups-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 12px;
}

/* Labels aligned nicely */
.pp-groups-wrapper label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
}


/* MEDIA QUERIES */

@media screen and (max-width: 1329px) {
  .page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-rows: auto !important;
  }
}

@media screen and (max-width: 1023px) {

  #mega-menu-wrap-top-banner li.mega-menu-item > a.mega-menu-link,
  #mega-menu-wrap-top-banner li.menu-item > a.wpmenucart-contents {
    height: auto;
  }

  #woocommerce-checkout-form-coupon {
    margin-top: 25px;
  }

  body {
    background-image: url('../images/newcolors-nologo.png');
    background-repeat: no-repeat;
    background-size: 200%;
    background-position: center top;
  }

  .mega-menu-wrap {
    margin-top: 0px !important;
  }

  .nav-image-link {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 366px; /* or whatever fits your layout */
    height: 50px;
    background-image: url('../images/banner-m-02.png');
    background-position: 20px center !important;
    background-repeat: no-repeat !important;
    background-size: auto 40px !important;
    z-index: 999999;
  }

  .nav-image-link .home-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px; /* hides text if needed */
    z-index: 2;
  }

  .site-header {
    padding-top: 50px;
    height: 50px;
      grid-template-rows: 0px 50px !important;
  }

  .site-nav {
    margin-top: 85px !important;
    font-size: 1.5em !important;
    line-height: 35px !important;
  }

  .site-fade {
    /*top: 100px;
    position: relative;*/
  }

  .checkout.woocommerce-checkout {
    margin-bottom: -75px;
  }

  .checkout_coupon.woocommerce-form-coupon {
    /*display: none !important;*/
  }

  footer {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0px 25px !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "footer1 footer3"
      "footer2 footer2"
      "copyright copyright";
    gap: 25px !important;
  }

  .footer1 {
    grid-area: footer1 !important;
  }

  .footer2 {
    grid-area: footer2 !important;
  }

  .footer3 {
    grid-area: footer3 !important;
  }

  .copyright {
    grid-area: copyright !important;
  }

  .footer1 section,
  .footer2 section,
  .footer3 section {
    margin-bottom: 0px;
  }

  .heateor_sss_vertical_sharing {
    display: none !important;
  }

  .page-wrapper {
    width: auto !important;
    padding-top: 50px;
    display: block;
  }

  .pp-body {
    max-width: 100%;
  }

  .pp-checkout > .woocommerce {
    display: block !important;
    padding: 0px;
  }

/* also see css/grid.css x */
  .pp-content {
  }

  .pp-editlink {
    display: none;
    margin-top: 10px;
    background-image: none;
  }

  .pp-meta {
    display: block !important;
    margin-bottom: 0px;
  }

/* also see css/grid.css x */
  .pp-plainhead {
  }

  .pp-tags {
    margin-top: 5px;
  }

/* also see css/grid.css x */
  .pp-vertical {
    margin-bottom: 25px;
    margin-top: 0px;
    padding: 10px 25px 0px 25px;
    background: var(--white-fade);
  }

  .product.type-product.status-publish>h1,
  .product.type-product.status-publish>nav,
  .product.type-product.status-publish>div {
    display: block !important;
  }

  .site-footer {
    /*padding: 0px 0px !important;*/
  }

  .site-footer > div {
    width: 100%;
  }

  .site-main,
  .sidebar {
    padding: 0px 0px !important;
  }

  .site-nav {
    margin-top: 85px;
    font-family: inherit;
    line-height: 25px;
  }

  .site-nav a {
    text-shadow: 0px 0px 10px var(--deep-purple);
  }

  .site-nav a:hover {
    text-shadow: none;
  }

  .site-nav,
  #mega-menu-wrap-top-banner {
    /*margin-top: 85px !important;*/
    font-size: 0.9em;
    margin-top: 0px;

    div {
      /*background-image: none !important;*/
    }
  }

  .textwidget {
    padding: 0px 10px;
    line-height: 20px;
  }

  .woocommerce {
    flex-direction: column;
    justify-content: stretch;
    align-content: stretch;
    align-items: start;
    column-gap: 20px;
  }

  #payment-method-message {
    display: none;
  }

  div.mega-menu-toggle {
    background-color: var(--white) !important;
    height: 50px !important;
    background-image: url('../images/banner-m-02.png');
    background-position: 20px center;
    background-repeat: no-repeat;
    background-size: auto 40px;
  }

  footer {
    display: grid;
    flex-direction: row;
    justify-content: stretch;
    align-content: stretch;
    align-items: start;
    row-gap: 20px;
    padding: 0px 25px;
  }

  li.menu-search .nav-search-button {
    width: 50px !important;
  }

  .site-header__logo {
    height: 0px;
    width: 0px;
    display: none;
    visibility: hidden;
  }

  .pp-body .woocommerce {
    display: block !important;
  }
  
  .woocommerce-notices-wrapper,
  .woocommerce-MyAccount-content,
  .woocommerce-cart-form__contents {
    display: block;
    grid-area: unset;
  }

  /* MAX MEGA MENU MOBILE */
  #mega-menu-wrap-top-banner {
    position: relative;
    overflow: visible !important;
  }

  #mega-menu-top-banner li.mega-menu-item,
  #mega-menu-top-banner li.menu-item {
    padding: 0px 10px;
    transition: color, 0.5s, ease-out, 1s;
    line-height: 50px !important;
    height: 50px;
    color: var(--charcoal) !important;
    z-index: 10;
    position: relative;
  }

  #mega-menu-top-banner > li.mega-menu-item > a.mega-menu-link,
  #mega-menu-top-banner > li.menu-item > a.wpmenucart-contents {
    font-size: 30px !important;
    color: var(--charcoal) !important;
    padding: 0px 10px;
    display: block;
    font-weight: 700 !important;
    height: 50px;
  }

  #mega-menu-top-banner li.mega-menu-item > a.mega-menu-link:hover,
  #mega-menu-top-banner li.menu-item > a.wpmenucart-contents:hover {
    background-color: var(--aqua) !important;
    text-decoration: none;
    color: var(--white) !important;
    text-shadow: none;
    font-weight: normal !important;
  }

  #mega-menu-wrap-top-banner #mega-menu-top-banner ul.mega-sub-menu {
    font-family: 'Roboto Slab', serif;
  }

  #mega-menu-wrap-top-banner #mega-menu-top-banner ul.mega-sub-menu a.mega-menu-link {
    background-image: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    padding-left: 25px;
  }

  #mega-menu-wrap-top-banner.mega-menu-wrap {
    background-image: url('../images/banner-m-02.png') !important;
    background-position: 20px center !important;
    background-repeat: no-repeat !important;
    background-size: auto 40px !important;
    background-color: var(--white) !important;
  }

  .mega-menu-toggle,
  .mega-toggle-blocks-left,
  .mega-toggle-blocks-center,
  .mega-toggle-blocks-right {
    background-color: var(--white) !important;
  }

  #mega-menu-wrap-top-banner #mega-menu-top-banner > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 18px !important;
    padding: 5px 10px 5px 20px !important;
    margin: 0px !important;
  }

  #mega-menu-wrap-top-banner {
    background-color: var(--white); /* fallback */
  }

  #mega-menu-wrap-top-banner {
    background: none !important;
  }

  #mega-menu-wrap-top-banner {
    background-color: var(--white) !important;
  }


  /* MOBILE SEARCH FORM */
  .search-container form {
    width: 0;
    overflow: hidden;
    transition: width 0.4s ease;
  }

  .search-container.active form {
    width: 250px;
  }

  .nav-search-form .search-input {
    display: block;
  }

  li.menu-search {
    width: 100%;
  }

  /* Search input field */
  .nav-search-form .search-input {
    position: absolute;
    left: 0px;
    width: 100%;
    padding: 8px;
    opacity: 1;
    transition: none;
    z-index: 1;
  }

  .nav-search-input.search-input {
    width: 80% !important;
  }

  #customer_details {
    display: block !important;
  }
}

@media screen and (max-width: 900px) {
  header {
      /*background: url('../images/banner-m-02.png') no-repeat center top !important;*/
  }
  .front-page-columns {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "new hot"
      "hero hero"
      "sold-left sold-right"
      "sold-mid1 sold-mid2";
  }

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


  .site-main {
    display: block !important;
  }
}

@media screen and (max-width: 801px) {
  /* .page-wrapper */
/* also see css/grid.css x */
  .page-wrapper {
    width: auto !important;
    max-width: auto !important;
  }

  .columns-5 {
    grid-template-columns: repeat(2, 1fr);
  }

  .site-nav,
  #mega-menu-wrap-top-banner {
    background-image: none !important;
  }

  /* .sidebar */
  .sidebar {
    margin-top: 0px;
    padding-right: 0px;
  }
  .sidebar section div:not(:first-child),
  .sidebar section ul,
  .sidebar section form:nth-child(2) {
    width: 100%;
  }

  /* div.pp-toggles */
  div.pp-toggles {
    position: absolute;
    top: -80px;
    right: 0px;
  }

  /* .pp-checkout */
  .pp-checkout .woocommerce,
  .checkout.woocommerce-checkout {
    display: block !important;
    padding: 0px;
  }
  .pp-checkout .woocommerce > * {
    display: block !important;
  }

  /* .checkout_coupon */
  .checkout_coupon.woocommerce-form-coupon {
    /*display: none !important;*/
  }

  /* .woocommerce table/shop_table_responsive */
  .woocommerce table.shop_table_responsive tr td::before,
  .woocommerce-page table.shop_table_responsive tr td::before {
    content: var(--tooltip-string) ": ";
  }
  .woocommerce table.shop_table_responsive tbody th,
  .woocommerce-page table.shop_table_responsive tbody th {
    display: block;
    width: max-content !important;
    width: 100% !important;
  }
  .woocommerce table.shop_table_responsive tbody tr,
  .woocommerce-page table.shop_table_responsive tbody tr {
    width: max-content !important;
  }
  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td {
    text-align: left !important;
  }
  .woocommerce-page table.shop_table_responsive tr td.product-quantity {
    text-align: center !important;
  }

  /* .woocommerce-shipping-destination */
  .woocommerce-shipping-destination {
    display: table-cell;
  }

  /* .woocommerce ul#shipping_method */
  .woocommerce ul#shipping_method {
    text-align: right;
  }

  /* .pp-cart-coupon, .woocommerce-Price-amount */
  .pp-cart-coupon,
  .woocommerce-Price-amount {
    text-align: right !important;
  }

  /* .woocommerce-cart-form__contents */
  .woocommerce-cart-form__contents td:not(.product-quantity) {
    text-align: left !important;
  }
  .woocommerce-cart-form__contents td.product-quantity {
    text-align: center !important;
  }

  /* .cart-discount */
  .cart-discount th {
    border-top: 1px solid rgba(0, 0, 0, .1);
  }
  .cart-discount td {
    text-align: right !important;
    background: none !important;
    border-top: 1px solid rgba(0, 0, 0, .1);
    text-align: top !important;
  }

  /* .woocommerce ul.order_details */
  .woocommerce ul.order_details li {
    margin-top: 15px;
  }
  .woocommerce ul.order_details li bdi {
    text-align: left;
  }

  /* .woocommerce-table--order-downloads */
  .woocommerce-table--order-downloads td {
    text-align: left !important;
  }

  /* .woocommerce td.product-quantity */
  .woocommerce td.product-quantity {
    text-align: center !important;
    min-width: 35px !important;
  }

  /* .wc-item-meta */
  .wc-item-meta li p {
    display: inline;
    padding: 0px !important;
    margin: 0px;
  }

  /* .product-quantity */
  .product-quantity {
    width: 35px !important;
  }

  /* .woocommerce-page table.cart td.actions .coupon .button */
  .woocommerce-page table.cart td.actions .coupon .button {
    width: 100%;
  }

  footer {
    display: block !important;
  }

  footer > div {
    margin-bottom: 35px;
  }

  .nav-image-link {
    /*display: none;
    width: 0px;
    height: 0px;
    visibility: hidden;*/
  }

  .woocommerce-store-notice, p.demo_store {
    line-height: 20px;
    height: 50px;
    font-size: 90%;
    padding: 0px 15px;
  }
}

@media screen and (max-width: 768px) {
  #mega-menu-wrap-top-banner li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
  #mega-menu-wrap-top-banner li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
  }

  .page-wrapper {
    margin-top: 46px;
  }

  .textwidget {
    font-size: .9em;
  }
}

@media screen and (max-width: 600px) {
  #wpadminbar {
    margin-top: -46px;
  }
  
  .search-input {
    position: static;
    width: 100%;
    opacity: 1;
  }
}

@media (max-width: 600px) {
  .front-page-columns {
    grid-template-columns: 1fr;
    grid-template-areas:
      "new"
      "hero"
      "hot"
      "sold-left"
      "sold-mid1"
      "sold-mid2"
      "sold-right";
  }
}

@media screen and (max-width: 551px) {
  .page-wrapper {
    margin-top: 46px;
    font-size: 85%;
    width: 100% !important;
  }

  .pp-noimg-body, .pp-body {
    padding: 0px !important;
  }

  td.product-thumbnail,
  th.product-thumbnail {
    display: none !important;
  }

  .woo-single-product .product {
    display: block !important;
  }
}

@media screen and (max-width: 460px) {
  .article__header h1.article__title {
  }
  .woo-single-product h1.product_title.entry-title {
  }
  .nav-image-link {
    position: absolute;
    top: 0;
    left: -15px;
    width: 50px; /* or whatever fits your layout */
    height: auto;
    background-image: url('../images/partpurple-logo-512.png');
    background-position: 0px center !important;
    background-repeat: no-repeat !important;
    background-size: auto 40px !important;
    z-index: 9;
    display: none !important;
    width: 0px !important;
    height: 0px !important;
    visibility: hidden !important;
  }
}

@media screen and (max-width: 400px) {

  .columns-5 {
    display: block;
    margin: 0px auto;
  }

  .nav-image-link .home-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px; /* hides text if needed */
    z-index: 2;
  }
/*
  .nav-image-link {
    position: absolute;
    width: 366px;
    height: 50px;
    background-image: url('../images/banner-m-02.png');
  }
  */
}

@media screen and (max-width: 350px) {
/* also see css/grid.css x */
  .pp-vertical {
  }
}