/**
 * Theme Name:        Gavin For Royal
 * Theme URI:         https://gjgo.uk
 * Description:       Custom theme for GJGo
 * Version:           1.0.0
 * Author:            Gavin Simpson
 * Author URI:        https://simcoder.co.za
 * Tags:              block-patterns
 * Text Domain:       gjgo
 * Domain Path:       /assets/lang
 * Tested up to:      5.7
 * Requires at least: 5.7
 * Requires PHP:      8.1
 * License:           GNU General Public License v2.0 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 */
a
{
  color: var(--standard-link-color);
}
a:hover
{
  color: var(--standard-link-hover-color);
}
input:focus,
textarea:focus,
select:focus
{
  border-color: var(--coral);
}
body, 
body p, 
body span, 
body div, 
body li, 
body h1, body h2, body h3, body h4, body h5, body h6
{
    cursor: default;
    /*user-select: none;*/
}
p:hover,span:hover,h1:hover,h2:hover,h3:hover,h4:hover,h5:hover,h6:hover
{
  cursor:default;
}
:root {
    --button-color: rgb(140,140,140);
    --button-background-color: rgb(240,200,190);
    --button-hover-color: rgb(200,220,190);

  --standard-input-color: rgb(171, 160, 155);
  --standard-text-color: rgb(201, 190, 185);
  --standard-text-hover-color: rgb(161, 150, 145);
  --standard-text-background: rgb(255,255,255);

  --standard-link-color: rgb(170, 180, 195);
  --standard-link-hovercolor: rgb(121, 110, 115);
  --standard-link-hover-color: rgb(140, 150, 165);

  --wp--preset--font-size--small: 1.04vw;

  --button-blue: #1188AA;
  --button-blue-hover: #1188AAAF;
  --button-blue-font: var(--standard-text-color);

  /* Charcoal */
  --charcoal: #030303;
  --charcoal-hover: #161616;
  --charcoal-rgba: rgba(30, 30, 30, 1);
  --charcoal-font: var(--standard-text-color);

  /* Lavender */
  --lavender: #E6E6FA;
  --lavender-rgba: rgba(230, 230, 250, 1);
  --lavender-font: var(--standard-text-color);

  /* Peach */
  --peach: rgba(255, 228, 195, 0.5);
  --peach-rgba: rgba(255, 228, 195, 1);
  --peach-font: var(--standard-text-color);

  /* Mint */
  --mint: #98FF98;
  --mint-rgba: rgba(152, 255, 152, 1);
  --mint-font: var(--standard-text-color);

  /* Coral */
  --coral: rgba(255, 127, 80, .3);
  --coral-rgba: rgba(255, 127, 80, 1);
  --coral-font: var(--standard-text-color);

  /* Baby Blue */
  --baby-blue: #89CFF0;
  --baby-blue-hover: #89CFF0EF;
  --baby-blue-rgba: rgba(137, 207, 240, 1);
  --baby-blue-font: var(--standard-text-color);

  /* Rose Gold */
  --rose-gold: #B76E791A;
  --rose-gold-rgba: rgba(183, 110, 121, 1);
  --rose-gold-font: var(--standard-text-color);

  /* Light Pink */
  --pink: rgba(205, 188, 185,1.0);
  --light-pink: rgba(255, 228, 225,0.2);
  --light-pink-rgba: rgba(255, 228, 225,0.2);
  --light-pink-font: var(--standard-text-color);  

  --font-size-standard:.1vw;
}
*
{
    box-sizing: border-box;
}
.site-footer
{
  /*background-color: var(--peach);*/
  background-color: rgba(0,0,0,0.8);
}
.user-profile
{

}
.site-content
{
  background-color: var(--light-pink);  
}


body, .site-header, .main-navigation, .menu-item a {
  font-family: 'Montserrat', sans-serif;
  color: var(--standard-text-color);
}
strong
{
  font-weight:600;
}
h1, h2, h3, h4, h5, h6 {
  /*font-family: 'Marcellus SC', serif;*/
  /*font-family: "Niconne", cursive;*/
  font-family: "Baskervville", serif;
  font-weight: 500;
  color: var(--standard-text-color);
}

.footer-menu ul {
  list-style: none;
}

.mini-cart-toggle {
  position: relative;
}

.cart-count {
  display: block;
  width: 1.6em;
  height: 1.6em;
  position: absolute;
  left: 0.5em;
  top: -50%;
  background-color: #AF3431DF;
  z-index:500;
  color: white;
  border-radius: 1.6em;
  text-align: center;
  line-height: 1.6em;
  font-weight: 500;
  padding: .1em;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
  color: var(--standard-text-color);
}

.product img {
  border-radius: 0.31vw 0.31vw 0 0;
  width:100%;
}



.custom-qty
{
  color: var(--standard-text-color);
}

.custom-qty input::-webkit-outer-spin-button,
.custom-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.custom-qty input[type=number] {
  -moz-appearance: textfield;
}

.custom-qty span:hover {
  cursor: pointer;
}

.add_to_cart_button i {
  margin-right: 0.52vw;
  color: var(--standard-text-color);
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
  color: var(--standard-text-color);
}

.product .posted_in
{
  padding-left:1.04vw;
}
.product .posted_in a
{
  font-weight:500;
}
.woocommerce div.product p.stock:not(p.stock.out-of-stock) {
  color: var(--standard-text-color);
}

.woocommerce .related.products {
  /*background-color: var(--standard-text-background);*/
  padding: 0.52vw;
  margin-bottom: 1.04vw;
}

.woocommerce ul.products li.product {
  width: 100% !important;
  display: grid;
  grid-row: auto / span 4;
  grid-template-rows: subgrid;
  grid-gap: 0;
  float: unset;
  margin: 0;
  border-radius: 0.63vw;
  overflow: hidden;
  box-shadow: 0.10vw 0.10vw 0.47vw rgba(0,0,0,0.2);
}
.woocommerce ul.products li.product:hover
{
    opacity:0.8;
}
/*
.wp-block-button .wp-block-button__link {
  background-color: var(--button-blue);
  color: var(--standard-text-color);
}

.woocommerce ul.products li .button.product_type_simple {
  width: 100%;
  text-align: center;
  background-color:rgba(240,240,240,1.0);
  color: var(--standard-text-color);
  padding-top: 16px;
  padding-bottom: 16px;
  margin-top: 0;
  font-family: Montserrat, "Helvetica Neue", sans-serif;
  font-weight:500;
}

.woocommerce ul.products li .button.product_type_simple:hover {
    background-color:rgba(220,220,220,1.0);
    color:rgba(0,0,0,0.8);
    cursor:pointer;
}
*/
.woocommerce ul.products li .price {
  padding-left: 1.04vw !important;
  color: var(--standard-text-color);
}
.gavin_add_to_cart_button.added:after
{
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  content: "\f00c"; 
  margin-left: .53em;
  vertical-align: bottom;
}
.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce.product-template-default ul.products::after,
.woocommerce ul.products::before {
  content: unset;
}

a.added_to_cart {
  display: none !important;
}

.add_to_cart_button.loading {
  position: relative;
  color: transparent;
}

.add_to_cart_button.loading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.94vw;
  height: 0.94vw;
  margin: -0.47vw 0 0 -0.47vw;
  border: 0.10vw solid #fff;
  border-top: 0.10vw solid #555;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  pointer-events: none;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

[class*="wp-image-"] {
  filter: grayscale(0.9)  brightness(0.7) contrast(0.85);
}
.site-branding
{
    align-self:center;
    justify-self:center;
    opacity:0.8;
}

.content-area
{
    /*background-color:var(--light-pink);*/
}
.woocommerce .products li
{
    background-color:white;
}
.wc-block-components-product-name
{
  color:var(--button-color)!important; 
}
button,.button,.gavin-slider-button,.add_to_cart_button,.cuf_newsletter_submit,input[type="submit"],.mini-cart-button,.wc-block-components-button,.wp-block-woocommerce-product-button a,.wp-block-button__link,.checkout-button
{
    background-color:var(--button-background-color)!important;
    color:var(--button-color)!important; 
    height:unset;
}
button:hover,.button:hover,.gavin-slider-button:hover,.add_to_cart_button:hover,.cuf_newsletter_submit:hover,input[type="submit"]:hover,.mini-cart-button:hover,.wc-block-components-button:hover,.wp-block-woocommerce-product-button a:hover,.wp-block-button__link:hover,.checkout-button:hover
{
    background-color:var(--button-hover-color)!important;
}
p.stock.out-of-stock
{
  color:red;
}
.wc-block-components-button__text:hover
{
  cursor:pointer;
}
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before
{
    height: 3em!important;
    mask-size: 3em!important;
    width: 3em!important;
}
.wp-block-button span:hover
{
  cursor: pointer;
}

.wc-block-components-notices,
.wc-block-components-notice-banner
{
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,.wc-block-components-button__text,.gavin_add_to_cart_button,.add_to_cart_button,
.wp-block-button__link
{
  color: var(--button-color)!important;
}
.checkout-button
{
  display:block;
  width:100%;
  padding:0.6vw;
  text-align: center;
}
#searchsubmit
{
  text-align: center;
  color: var(--button-color)!important;
}

/* WooCommerce pagination - Twenty Sixteen style */
.woocommerce-pagination {
    text-align: center;
    margin: 3% 0;
}

.woocommerce-pagination ul {
  width:100%;
    display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-pagination li {
    display: inline-block;
    margin: 0 0.5%;
}

.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers {
    display: inline-block;
    padding: 0.5em 0.8em;
    border: 1px solid #ddd;
    background: #f7f7f7;
    color: #333;
    text-decoration: none;
    font-size: 0.9em;
    border-radius: 0.31vw; /* optional, similar to your other border-radius */
    transition: all 0.2s ease-in-out;
}

.woocommerce-pagination a.page-numbers:hover {
    background: #333;
    color: #fff;
    border-color: #333;
}

.woocommerce-pagination span.current {
    background: #333;
    color: #fff;
    border-color: #333;
    font-weight: bold;
}

.woocommerce-pagination a.next,
.woocommerce-pagination a.prev {
    font-weight: 500;
    padding: 0.5em 0.8em;
}



.gavin-product-wrapper {
  display: grid;
  grid-template-columns: auto 50%;
  gap: 1vw;
  margin-bottom: 3vw;
  align-items: start;
}

.product-images {
  width: 100%;
}

.product-summary {
  width: 100%;
  padding: 0 0 1vw 1vw;
}

.product-tabs {
  margin-top: 3vw;
  width: 100%;
}

.woocommerce-tabs {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 0;
  border-top: 0.1vw solid #ddd;
  padding-top: 2vw;
  margin-top: 3vw;
  width: 100%;
}

.woocommerce-tabs .tabs {
  display: grid;
  grid-auto-flow: column;
  justify-content: start;
  gap: 2vw;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 0.1vw solid #ccc;
}

.woocommerce-tabs .tabs li
{
  background-color: var(--button-background-color);
  border-radius: 6px 6px 0 0;
}
.woocommerce-tabs .tabs li a:hover,
.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li.active a:focus
{
  color: var(--button-color);
  border-bottom-color: var(--button-color);
}

.woocommerce-tabs .wc-tab h2
{
  margin:0;
}
.woocommerce-tabs .wc-tab {
  align-self:start;
  display: none;
  animation: fadeIn 0.3s ease-in;
  padding: 2vw 0;
  border: 0 solid #ccc;
  border-width: 0 0.1vw 0.1vw 0.1vw;
  font-family: 'Montserrat', sans-serif;
  border-radius: 0 0 6px 6px;
  color: var(--standard-text-color);
  padding: 1vw;
}

/* Show active tab */
.woocommerce-tabs .wc-tab[style*="display: block"],
.woocommerce-tabs .wc-tab.active {
  display: block;
}

.woocommerce-tabs table.shop_attributes {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.5vw;
}

.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td {
  border: 0.1vw solid #ddd;
  padding: 1vw;
  text-align: left;
  vertical-align: top;
}

.woocommerce-tabs table.shop_attributes th {
  width: 30%;
  font-weight: 600;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


::placeholder
{
  color: rgba(0,0,0,0.1)
}
#billing_country_field,#shipping_country_field
{
  display: none;
}

.desktop .button
{
  padding: .8vw 1vw .8vw 1vw;
  border-radius: .3vw;
  font-size: 1.2vw;
}
.mobile .button
{
  padding: 3vw 6vw 3vw 6vw;
  border-radius: 3vw;
}
.order-bacs-details .bacs-grid
{
  display: grid;
  grid-template-columns: 100%;
}

.site-header-last
{
  display: grid;
  grid-template-columns: 50% auto;
  align-items: center;
}
.shop-header
{
  display:grid;
  grid-template-columns: 80% auto;
  align-items:center;
}
.shop-header div:last-child
{
  justify-self:end;
}
.woocommerce-error li
{
  list-style: none;
}
ul.woocommerce-error
{
  padding-left: 0;
  margin-left: 0;
}
.gavin-error,.gavin-message,.coupon_errors
{
  display: inline-block;
  position: relative;
  width: 100%;
  padding: .5vw;
  margin: .5vw;
}
.gavin-message 
{
  background-color: rgba(0,0.5,0,0.5);
  border: 1px solid rgba(0,0.6,0.6);
}
.gavin-error
{
  background-color: rgba(0.5,0,0,0.5);
  background-color: rgba(0.6,0,0,0.6);
}
.desktop .gavin-error,.desktop .gavin-message,.desktop  .coupon_errors
{
  box-sizing: border-box;
  display: block;
  font-size: 1.1vw;
  padding: .5vw;
  border: 1px solid rgba(100,0,0,0.1);
  width: calc(100% - 1vw);
  border-radius: .3vw;
  display:block;
}
.mobile .gavin-error,.desktop .mobile-message,.mobile .coupon_errors 
{
  box-sizing: border-box;
  display: block;
  padding: 2vw;
  font-size: 5vw;
  border: 1px solid rgba(100,0,0,0.1);
  width: calc(100% - 4vw);
  border-radius: 1vw;
  display:block;
}
.mobile .gavin-coupon-errors
{

}
.mobile .gavin_apply_coupon_button
{
  padding-top: 2vw;
  padding-bottom: 2vw;
  text-align: center;
  display: block;
  width: 100%;
}
.button[disabled],
.button:disabled {
  opacity: 0.2;
  pointer-events: none;
  background-color: #ccc !important;
  color: #666 !important;
  border-color: #bbb !important;
  transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
.woocommerce-validated input
{
  border: 1px solid green!important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus
{
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: var(--standard-input-color)!important;
    font-family: inherit !important;
    transition-delay: 0.1s !important;
}

.toggle-password span::before, .show-password-input span::before {
    content: "\f06e";
    font-family: "FontAwesome";
    font-size:1.3vw;
    color: var(--standard-text-color);
}
.show-password-input.hide span::before
{
  content: "\f06e";
}

.show-password-input.display-password::before {
    content: "\f070";
    font-family: "FontAwesome";
}

.show-password-input::before {
    content: "\f06e";
    font-family: "FontAwesome";
}

.toggle-password span::before{
  display: block;
  text-align:center;
  aspect-ratio: 1 / 1;
  font-family: "FontAwesome";
  
  color: var(--standard-text-color);
}

.toggle-password span.hide::before, .show-password-input::before {
  content: "\f070";
}
.toggle-password span.show::before, .show-password-input::before {
  content: "\f06e";
}

.cuf-popup
{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    box-shadow: .2vw .2vw .6vw rgba(0,0,0,0.4);
}
.button:hover
{
  cursor:pointer;
}
.cuf-error
{
  padding: .5vw;
  font-size:1.2vw;
  border: 1px solid rgba(100,0,0,0.4);
  border-radius: .4vw;
  margin-top: 1vw;
}
.cuf-success
{
  padding: .5vw;
  font-size:1.2vw;
  border: 1px solid rgba(0,100,0,0.4);
  border-radius: .4vw;
  margin-top: 1vw;
}
.cuf-valid
{
  border: 1px solid rgba(0,0,0,0.6);
}
.cuf-popup-content
{
    background: white;
    max-width: 20.83vw;
    margin: 5.21vw auto;
    padding: 1.04vw;
    border-radius: 0.42vw;
    position: relative;
    text-align: center;
}
.cuf-popup-close:hover
{
  cursor: pointer;
  opacity: 0.7;
}
.cuf-popup-close
{
    position: absolute;
    top: 0.2vw;
    right: 0.5vw;
    font-size: 2vw;
    line-height: 2vw;
    font-weight: 300;
    text-align: center;
    cursor: pointer;
    padding:.3vw;
}
.cuf-overlay
{
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.7);
    display: none;
    place-items: center;
    z-index: 9999;
}
.cuf-overlay-text
{
    color: #fff;
    font-size: 1.8em;
    font-weight: 500;
    text-align: center;
}
.mobile .cuf-form input[type="submit"]
{
  width:100%;
  font-size:5vw;
}
