/*
Theme Name: Kadence Child
Template: kadence
Theme URI: https://wordpress.org/themes/kadence-child/
Author: sven
Author URI: https://wordpress.org
Description: Custom theme for IPYU
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kadence-child
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/
 
/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */

/* ------PUNKROCKER ROUGH -------*/
@font-face {
  font-family: 'PunkRocker Rough';
  src: url('/wp-content/themes/kadence-child/fonts/PunkRockerRough-Regular.woff2') format('woff2'),
       url('/wp-content/themes/kadence-child/fonts/PunkRockerRough-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Brand and Categories page */
.grid-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* or 4 */
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0 auto; /* 👈 centers the grid horizontally */
  max-width: 100%; /* ensure grid doesn't overflow */
}

/* All Brands Page "/brands" */
.brand-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.brand-list li {
  padding: 0; /* Remove padding from <li> */
  margin: 0;
}

.brand-list li a {
  display: flex;             /* Enable flex for vertical centering */
  align-items: center;       /* Center text vertically */
  justify-content: center;   /* Center text horizontally */
  text-align: center;
  min-height: 60px;          /* Adjust height as needed */
  padding: 0.65rem 0.9rem;   /* Slightly increased padding for visual balance */
  background-color: #f0f0f0;
  border-radius: 5px;
  text-decoration: none;
  color: #333;
  font-size: 0.85rem;        /* Increased from 0.75rem */
  font-weight: 600;          /* Increased boldness */
  transition: background 0.2s ease, color 0.2s ease;
  box-sizing: border-box;    /* Ensures padding doesn't increase size */
}

.brand-list li a:hover {
  background-color: #e0e0e0;
  color: #000;
}

/*All Categories page*/
.category-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.category-grid li {
  padding: 0;
  margin: 0;
}

.category-grid li a {
  display: flex;             /* Enable flex for vertical centering */
  align-items: center;       /* Center text vertically */
  justify-content: center;   /* Center text horizontally */
  text-align: center;
  min-height: 60px;          /* Adjust height as needed */
  padding: 0.65rem 0.9rem;   /* Slightly increased padding for visual balance */
  background-color: #f0f0f0;
  border-radius: 5px;
  text-decoration: none;
  color: #333;
  font-size: 0.85rem;        /* Increased from 0.75rem */
  font-weight: 600;          /* Increased boldness */
  transition: background 0.2s ease, color 0.2s ease;
  box-sizing: border-box;    /* Ensures padding doesn't increase size */
}

.category-grid li a:hover {
  background-color: #e0e0e0;
  color: #000;
}




/* Make "See more reviews on Shopper Approved" link white */
.SA__more_review,
.SA__more_review a {
  color: #ffffff !important;
}

/* ============================  
   ============================ */	
/* ===========================
   AIC Promo Modal + Sticky Tab
   (full replacement CSS)
   =========================== */

/* Brand variables (edit if needed) */
:root{
  --aic-brand: #3296FF;   /* blue */
  --aic-accent: #dc3545;  /* modal button color */
  --aic-bg: #1f2937;      /* modal bg */
  --aic-text: #ffffff;
}

/* ------- Sticky tab (right edge) ------- */
#aic-sticky-tab{
  position: fixed;
  top: 35vh; 
  right: 0;
  z-index: 99998;

  /* size / visibility */
  font-size: 18px !important;
  line-height: 1.1 !important;
  padding: 18px 16px !important;      /* how long the tab is */
  min-width: 78px !important;         /* how thick the tab is (bigger = more visible) */
  border: 3px solid var(--aic-brand) !important;
  border-right: 0 !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.22) !important;

  /* look / behavior */
  background: #fff !important;
  color: #111827 !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
  cursor: pointer !important;
  transition: background .15s ease !important;
}
#aic-sticky-tab:hover{ background:#F6F7F9 !important; }

/* Mobile pill version */
@media (max-width: 480px){
  #aic-sticky-tab{
    top: auto !important;
    bottom: 24px !important;
    right: 12px !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
    border-right: 3px solid var(--aic-brand) !important;
    border-radius: 999px !important;
    font-size: 17px !important;
    padding: 14px 18px !important;
    min-width: 0 !important;
    min-height: 52px !important;
  }
}

/* ------- Modal wrapper + overlay ------- */
#aic-promo-modal{ position: fixed; inset: 0; display: none; z-index: 99999; }
#aic-promo-modal.is-open{ display: block; }
#aic-promo-modal .aic-overlay{ position: absolute; inset: 0; background: rgba(0,0,0,.55); }

/* ------- Modal dialog ------- */
#aic-promo-modal .aic-dialog{
  position: relative;
  margin: 8vh auto 0;
  width: min(560px, calc(100% - 32px));
  background: var(--aic-bg);
  color: var(--aic-text);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  padding: 26px 22px 24px;
  outline: none;
  overflow: visible; /* so the corner close button isn't clipped */
}

#aic-promo-modal .aic-logo{ display:block; margin: 8px auto 10px; max-width:120px; }
#aic-promo-modal h2{ margin:8px 0 0; font-size:15px; font-weight:500; opacity:.9; text-align:center; }
#aic-promo-modal .aic-big{ margin:6px 0 14px; font-size:44px; line-height:1.05; text-align:center; font-weight:800; }
#aic-promo-modal p{ margin:0 0 16px; text-align:center; opacity:.95; }

#aic-promo-modal .aic-grid{ display:grid; gap:12px; grid-template-columns:repeat(2,1fr); }
#aic-promo-modal input[type="text"],
#aic-promo-modal input[type="email"]{
  width:100%; padding:12px 12px; border-radius:10px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.05); color:#fff;
}
#aic-promo-modal .aic-grid input[type="email"]{ grid-column:1 / -1; }

#aic-promo-modal .aic-cta{
  display:block; width:100%;
  margin-top:6px; padding:14px 16px;
  border-radius:12px; border:0;
  background:var(--aic-accent); color:#fff; font-weight:800; cursor:pointer;
}
#aic-promo-modal .aic-no-thanks{ display:block; text-align:center; margin-top:12px; opacity:.8; text-decoration:underline; cursor:pointer; }

/* Mobile modal tweaks */
@media (max-width:480px){
  #aic-promo-modal .aic-dialog{ padding:22px 16px 20px; }
  #aic-promo-modal .aic-big{ font-size:36px; }
}

/* ------- Close button (centered circle on corner) ------- */
#aic-promo-modal .aic-close{
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  transform: translate(50%, -50%) !important; /* center circle on top-right corner */
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  border: 3px solid #fff !important;
  background: var(--aic-brand) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  line-height: 1 !important;
  padding: 0 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
  cursor: pointer !important;
}

/* Lock page scroll when modal is open */
body.aic-noscroll{ overflow: hidden; }

/* ============================  
   ============================ */	

/* ===========================
   Filter/Sidebar Shop Page
   =========================== */
/* Hide 'see all products' in search */
.dgwt-wcas-suggestion-more{ display:none; }

/* Put Sidebar 1 ABOVE the product feed on mobile */
@media (max-width: 1024px) {
  /* Make the wrapper a vertical flex stack */
  .content-container.site-container {
    display: flex;
    flex-direction: column;
  }

  /* Sidebar first, products after */
  #secondary.primary-sidebar { order: -1; }
  #main.site-main           { order: 0; }
}

/* ========== Shop: compact sidebar on mobile + tablet ========== */
@media (max-width: 1024px) {
  /* Sidebar block spacing + divider lines */
  #secondary.primary-sidebar .widget,
  #secondary.primary-sidebar .widget_block {
    margin: 0 0 .75rem;
    padding: .75rem 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  #secondary.primary-sidebar .widget:last-child,
  #secondary.primary-sidebar .widget_block:last-child {
    border-bottom: 0;
    margin-bottom: 0;
  }

  /* Heading size/spacing */
  #secondary.primary-sidebar .widget-title,
  #secondary.primary-sidebar .wp-block-heading {
    font-size: 0.95rem;
    line-height: 1.2;
    letter-spacing: .02em;
    margin: 0 0 .5rem;
  }

  /* Inputs: search + selects full-width, tighter height */
  #secondary.primary-sidebar input[type="search"],
  #secondary.primary-sidebar input[type="text"],
  #secondary.primary-sidebar select {
    width: 100%;
    height: 44px;
    padding: 0 .75rem;
  }

  /* Woo price filter amounts */
  #secondary.primary-sidebar .price_slider_amount input {
    height: 40px;
    padding: 0 .5rem;
    width: 84px;         /* keeps $ fields tidy */
  }
  #secondary.primary-sidebar .price_label {
    font-size: .85rem;
    opacity: .9;
  }

  /* Tighter vertical gap before results/grid */
  .woocommerce .woocommerce-result-count,
  .woocommerce .kad-shop-archive-wrap,
  .woocommerce ul.products {
    margin-top: .75rem !important;
  }

  /* Optional: trim sidebar's own outer margin */
  #secondary.primary-sidebar {
    margin-bottom: 1rem;
    padding-top: .25rem;
  }
}

/* Phone-only extra tightening */
@media (max-width: 480px) {
  #secondary.primary-sidebar .widget,
  #secondary.primary-sidebar .widget_block {
    padding: .5rem 0;
    margin-bottom: .5rem;
  }
  #secondary.primary-sidebar .widget-title,
  #secondary.primary-sidebar .wp-block-heading {
    font-size: .9rem;
  }
  #secondary.primary-sidebar input[type="search"],
  #secondary.primary-sidebar select {
    height: 40px;
  }
}


/* ============================  
   ============================ */	



/* ============================  
   ============================ */	

/* ===========================

   =========================== */

/* #carousel-test {
	position: fixed;
	top: 0;
	left: 50%;
	display: none;
}
 */

/* Sidebar dropdown text */
.woocommerce .widget select,
.woocommerce .widget select option {
    color: #ffffff !important; /* white text */
    background-color: #1e1e1e; /* optional: dark dropdown background */
}

/* Fix for select box placeholder text */
.woocommerce .widget select:focus,
.woocommerce .widget select:active {
    color: #ffffff !important;
}

/* Target only buttons inside the 3 CTA section */
#kt-layout-id_XXXXXXX .wp-block-kadence-advancedbtn a.kt-button {
    display: block;
    width: 100%;
    max-width: 100%;
    text-align: center;
    margin: 0 auto;
}

/* Ensure CTA images scale properly */
#kt-layout-id6432_1a8899-29 .wp-block-kadence-column img {
    display: block;
    width: 100%;
    height: auto;
}



/* Keep header always on top */
.site-header {
  position: relative;
  z-index: 9999;
}

/* Lower hero banner arrows so they don't overlap header */
.hero-banner .slick-arrow {
  z-index: 10;
}

/* Make product variation dropdown text white */
.variations_form select,
.variations_form select option {
  color: #ffffff !important;      /* white text */
  background-color: #1a1a1a;      /* dark background for contrast (optional) */
}

/* Container */
.variations_form {
  position: relative;
  z-index: 1;
}

/* Labels (Size / Flavor) */
.variations_form label {
  color: #fff !important;
  font-size: 13px;
  display: block;       /* label above dropdown */
  margin-bottom: 2px;   /* tighter spacing */
}

/* Dropdown closed state */
.variations_form select {
  width: 150px;               /* consistent, smaller width */
  max-width: 100%;
  font-size: 13px;
  line-height: 1.4;
  border-radius: 6px;
  padding: 6px 28px 6px 10px; /* extra right padding for arrow */
  background-color: #1a1a1a;
  color: #fff;
  border: 1px solid #3a3a3a;
  margin-bottom: 8px;         /* spacing between Size and Flavor */
  display: block;
  position: relative;
  z-index: 1000;

  /* remove default browser arrows */
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;

  /* custom white arrow */
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D'10'%20height%3D'6'%20xmlns%3D'http://www.w3.org/2000/svg'%3E%3Cpath%20d%3D'M0%200l5%206%205-6z'%20fill%3D'%23ffffff'%2F%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 10px 6px;
}

/* Dropdown options (expanded menu) */
.variations_form select option {
  font-size: 13px;
  color: #fff;
  background-color: #1a1a1a;
}


/* ============================  
Hide Frequently Bought Together only on page ID 8308 
   ============================ */

/* Hide Frequently Bought Together only on page ID 8308 */
.page-id-8308 .bundle_sells_title,
.page-id-8308 .bundle_sells_form {
    display: none !important;
}

/* ============================
Shopper Approved Reviews

   ============================ */

/* Background color for both main review page + product reviews */
#sa-main.SA__review_container,
.SA__product_reviews {
  background-color: #252C39 !important;
}

/* Default text color (white) */
.SA__review_container *,
.SA__product_reviews * {
  color: #ffffff !important;
}

/* Keep review headings orange */
.SA__review_container .SA__h3,
.SA__product_reviews .SA__h3 {
  color: #EB7100 !important;
}

/* Force Verified Customer text (inside SVG) to white */
#Verified_Customer-2,
#Verified_Customer-2 tspan {
  fill: #ffffff !important;
}

/* Force SVG artwork (icon) to white in Review Page */
#Artwork_3,
#Artwork_3 path {
  fill: #ffffff !important;
}

/* Make the Shopper Approved bottom logo white */
.sa-bottom-logo svg path {
  fill: #ffffff !important;
}

/* === Shopper Approved Filter Dropdowns === */
.SA__review_container select,
.SA__product_reviews select {
  width: 150px;
  max-width: 100%;
  font-size: 13px;
  line-height: 1.4;
  border-radius: 6px;
  padding: 6px 10px;
  background-color: #1a1a1a !important;
  color: #fff !important;
  border: 1px solid #3a3a3a;
  margin-bottom: 8px;
  display: block;
  position: relative;
  z-index: 1000;

  -moz-appearance: menulist;
  -webkit-appearance: menulist;
  appearance: menulist;
}

/* Options inside dropdown */
.SA__review_container select option,
.SA__product_reviews select option {
  font-size: 13px;
  color: #fff !important;
  background-color: #1a1a1a !important;
}

/* Custom Shopper Approved "fake" selectbox wrapper */
.sa_selectbox_wrapper .sa_selectbox_input_value {
  color: #fff !important;
  background-color: #1a1a1a !important;
  border: 1px solid #3a3a3a !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
  font-size: 13px !important;
}

/* Dropdown list items */
.sa_selectbox_list li {
  color: #fff !important;
  background-color: #1a1a1a !important;
  font-size: 13px !important;
  padding: 6px 10px !important;
}

/* Hover + selected states */
.sa_selectbox_list li:hover,
.sa_selectbox_list li[aria-selected="true"] {
  background-color: #3296FF !important;
  color: #fff !important;
}

/* ============================  
Blogs & Workout Videos

   ============================ */

/* Equal height blog post cards */
.wp-block-kadence-posts.kb-posts .kb-post-list-item {
  display: flex;
}

.wp-block-kadence-posts.kb-posts .kb-post-list-item article {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Ensure inner content stretches */
.wp-block-kadence-posts.kb-posts .kb-post-list-item .entry-content-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}


/* Move comments above related posts */
#comments {
  order: -1;
}


/*   */
