/**
Theme Name: Cookehouse
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.03
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cookehouse
Template: astra
*/

/* WOOCOMMERCE ALERTS */
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
  font-family: "Font Awesome 6 Free";
  content: "\f06a";
  font-weight: 900;
  color: var(--ast-global-color-3);
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1.5em;
}
.woocommerce-info {
  border-top-color: var(--ast-global-color-0);
  background-color: var(--ast-global-color-0);
}
.woocommerce-info a {
  color: var(--ast-global-color-3);
	font-weight: 600;
}


/* MY ACCOUNT */
.woocommerce-register-link {display: none;}
.woocommerce-MyAccount-content .ast-orders-table__cell, div.woocommerce-MyAccount-content, div.woocommerce-MyAccount-content a {
	color: var(--ast-global-color-3);
}
div.woocommerce-MyAccount-content a {
	font-weight: 600;
}
.woocommerce-ResetPassword , .woocommerce .col2-set, .woocommerce-page .col2-set {
  width: 100%;
  background-color: var(--ast-global-color-6);
  padding: 1em;
  border-radius: 8px;
}
.woocommerce form .form-row.ast-animate-input select {
	padding: .45em .8em .35em !important;
}
.woocommerce-Address {
	background-color: var(--ast-global-color-4);
}
.woocommerce .addresses .title .edit, .woocommerce-account .addresses .title .edit {
  float: left;
  padding: 0.4em 0.4em;
}

/* ARCHIVE PAGES */
.ast-separate-container .ast-article-inner {
  background-color: #333333;
}

/* LIST STYLES */
/* COOKEHOUSE: Custom list with Font Awesome flag bullets */
.ggclist {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.ggclist li {
  position: relative;
  padding-left: 28px; /* space for icon */
  margin-bottom: 8px;
}

.ggclist li::before {
  content: "\f058"; /* Font Awesome flag */
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* required for solid icons */
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--ast-global-color-1); /* adjust to suit */
  font-size: 14px;
}


/* SINGLE PRODUCT PAGE */
/* .single-product .ast-article-single {
	background-color: var(--ast-global-color-4) !important;
	padding: 2em !important;
	border-radius: 10px;
} */
.woocommerce-js div.product .product_title {
  margin: 0 0 0em 0;
}
.woocommerce-js div.product p.price {
  margin: 0 0 .75em;	
}
.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
  padding: 15px 15px 10px 15px;
}
.ast-variation-button-group .ast-single-variation {
	background-color: var(--ast-global-color-0);
	color: var(--ast-global-color-3);
  	border: none;
	border-radius: 5px;
	font-weight: 600;
}
.ast-variation-button-group .ast-single-variation:hover {
	background-color: var(--ast-global-color-1);
	color: var(--ast-global-color-4);
  	border: none;
	border-radius: 5px;
}
.ast-variation-button-group .ast-single-variation.active {
  color: var(--ast-global-color-8);
  background: var(--ast-global-color-1);
  border: 1px solid var(--ast-global-color-4);
}
.ast-article-single figure, .ast-article-single img:not(figure img) {
  box-shadow: 0 0 0px 0 rgba(0,0,0,.15);
  -webkit-box-shadow: 0 0 0px 0 rgba(0,0,0,.15);
  -moz-box-shadow: 0 0 0px 0 rgba(0,0,0,.15);
}
.woocommerce-js .product:has(.quantity input[type="hidden"]) .button.single_add_to_cart_button, .woocommerce-js .sold-individually .button.single_add_to_cart_button {
  margin-left: 0em;
}

/* CHECKOUT */
.wc_payment_methods {
		background-color: var(--ast-global-color-3);
}
.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method label {
  color: var(--ast-global-color-4);
}


/* BASKET */
.astra-cart-drawer {
	background-color: #494949;
	border: 1px solid #494949;
}
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-cart .cart-collaterals .cross-sells {
	background-color: var(--ast-global-color-3);
}
.woocommerce-cart .cart-collaterals .cart_totals > h2 {
  background-color: var(--ast-global-color-3);
}
.woocommerce-cart table.shop_table thead {
    background-color: var(--ast-global-color-3);
}
.woocommerce-js a.remove::before {
  border: 2px solid #fff;
}
.woocommerce-js a.remove {
  color: var(--ast-global-color-4);
}

/* ORDER CONFIRMATION PAGE */
.woocommerce-checkout.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview {
  color: inherit;
  padding: 1em;
  background: #474747;
  margin: 2.5em auto 3em;
}
.woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.shop_table tr td a {
  color: #ffc516;
}
/* Only on WooCommerce order received / thank you page */
body.woocommerce-order-received .menu-item-my-courses > a {
    position: relative;
    animation: myCoursesPulse 2s ease-in-out infinite;
}

/* Subtle text glow */
@keyframes myCoursesPulse {
    0%, 100% {
        text-shadow: 0 0 0 rgba(76, 217, 100, 0);
    }
    50% {
        text-shadow:
            0 0 6px rgba(76, 217, 100, 1),
            0 0 14px rgba(76, 217, 100, 0.7);
    }
}

/* SIDE MENU */
.menu-trigger {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
}

.menu-trigger::before,
.menu-trigger::after {
    content: "";
    position: absolute;
    width: 28px;
    height: 3px;
    background: var(--ast-global-color-0);
    left: 50%;
    transform: translateX(-50%);
}

.menu-trigger::before {
    top: 8px;
    box-shadow: 0 8px 0 var(--ast-global-color-0);
}

.menu-trigger::after {
    top: 25px;
}

.menu-item-lead a {
  position: relative;
  color: var(--ast-global-color-3) !important;
  font-size: 1.5rem !important;
  background: var(--ast-global-color-0) !important;
  padding: 15px 10px 7px 10px !important;
  text-align: center;
  line-height: 1.5rem !important;
  transform: rotate(-5deg);
  transform-origin: center;
  margin-bottom: 2rem;
  animation: ch-menu-shake 5s infinite;
}

/* Shake animation */
@keyframes ch-menu-shake {
  0% { transform: rotate(-5deg); }

  1% { transform: rotate(-7deg); }
  2% { transform: rotate(-3deg); }
  3% { transform: rotate(-6deg); }
  4% { transform: rotate(-4deg); }
  5% { transform: rotate(-5deg); }

  100% { transform: rotate(-5deg); }
}

/* SAVE badge */
.menu-item-lead a::after {
  content: "SAVE 20%";
  position: absolute;
  top: -34px;
  right: -38px;
  width: 64px;
  height: 64px;
  background: #e11d48;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  text-align: center;
  line-height: 1.1;
  transform: rotate(5deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
	  transform: rotate(-2deg);
}


.ch-seen-on {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 5px;
  margin: 0;
  line-height: 1;
}
.ch-seen-on__text {
  line-height: 1;
  display: inline;
}
.ch-seen-on__logo {
  display: inline-flex;
  align-items: baseline;
  text-decoration: none;
}

.ch-seen-on__logo img {
  display: inline-block;
  height: 20px;
  width: auto;
  max-width: none;
  vertical-align: baseline;
}

/* optional tiny optical nudges */
.ch-seen-on__logo--youtube img {
  transform: translateY(2px);
}

.ch-seen-on__logo--sky img {
  transform: translateY(1px);
}


/* SLIDER REVOLUTION */
 @media screen and (max-width: 778px) {
  .hide-mobile {
	  display: none;
  }
}
 @media screen and (min-width: 778px) {
  .hide-desktop {
	  display: none;
  }
}


/* REGISTRATION FORMS */

/* WOOCOMMERCE STEPPED REGISTER FORM */
.woocommerce-form-login, .woocommerce-form-register .ch-golf-registration-form {
  max-width: 720px !important;
  margin: 0 auto;
  background-color: var(--ast-global-color-3) !important;
  padding: 2em !important;
  border-radius: 12px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.woocommerce-form-register .ch-golf-registration-form h3 {
	margin-top: 0;
	margin-bottom: 1rem;
}

.woocommerce-form-register .ch-golf-registration-form .form-row,
.woocommerce-form-register .ch-golf-registration-form p {
	margin-bottom: 1rem;
}

.woocommerce-form-register .ch-golf-registration-form input[type="text"],
.woocommerce-form-register .ch-golf-registration-form input[type="email"],
.woocommerce-form-register .ch-golf-registration-form input[type="password"] {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #d7d7d7;
	border-radius: 6px;
	box-sizing: border-box;
}
.woocommerce-form-register .ch-golf-registration-form select,
.woocommerce-form-register .ch-golf-registration-form textarea {
	width: 100%;
	padding: 12px 14px !important;
	border: 1px solid #d7d7d7;
	border-radius: 6px;
	box-sizing: border-box;
}
.woocommerce-form-register .ch-golf-step {
	display: none;
}

.woocommerce-form-register .ch-golf-step.is-active {
	display: block;
}

.woocommerce-form-register .ch-golf-step-actions {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 1.5rem;
}

.woocommerce-form-register .ch-golf-step-actions button,
.woocommerce-form-register .ch-golf-step-actions .button {
	min-width: 120px;
}

.woocommerce-form-register .ch-woo-register-submit-target {
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
}

.woocommerce-form-register .ch-woo-register-submit-target .button {
	min-width: 140px;
}

.woocommerce-form-register .ch-field-label {
	display: block;
	margin-bottom: 8px;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.4;
}

.woocommerce-form-register .ch-field-wrap--select select {
	color: #39455a;
}

.woocommerce-form-register .ch-field-wrap--select label {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	position: static !important;
	transform: none !important;
}

.woocommerce-form-register .ch-field-wrap {
	margin-bottom: 1rem;
}

.woocommerce-form-register .ch-field-wrap select {
	color: #39455a;
}

/* CHECKBOX FIX */
.woocommerce-form-register .ch-golf-step input[type="checkbox"] {
	appearance: checkbox;
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	margin: 0 10px 0 0;
	padding: 0;
	border: 1px solid #d7d7d7;
	border-radius: 3px;
	background: #fff;
	display: inline-block;
	vertical-align: middle;
	position: static;
	opacity: 1;
	visibility: visible;
}

.woocommerce-form-register .ch-golf-step .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	line-height: 1.5;
}

/*
.woocommerce-form-register .ch-golf-step .woocommerce-form__label-for-checkbox span {
	display: inline-block;
}
*/

.woocommerce-form-register .ch-golf-step .input-checkbox {
	float: none;
}



.ch-golf-registration-form {
	max-width: 700px;
	margin: 0 auto;
}

.ch-golf-registration-form h3 {
	margin-top: 2rem;
	margin-bottom: 1rem;
}

.ch-golf-registration-form p {
	margin-bottom: 1rem;
}

.ch-golf-registration-form input[type="text"],
.ch-golf-registration-form input[type="email"],
.ch-golf-registration-form input[type="password"],
.ch-golf-registration-form select,
.ch-golf-registration-form textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}

.ch-golf-registration-form button {
	padding: 12px 20px;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
}

.ch-golf-registration-errors {
	background: #ffe5e5;
	color: #900;
	padding: 15px;
	margin-bottom: 20px;
	border-radius: 4px;
}

.ch-golf-registration-success {
	background: #e7f7e7;
	color: #155724;
	padding: 15px;
	margin-bottom: 20px;
	border-radius: 4px;
}

.ch-golf-registration-form {
	max-width: 720px;
	margin: 0 auto;
}

.ch-golf-registration-form p {
	margin-bottom: 1rem;
}

.ch-golf-registration-form input[type="text"],
.ch-golf-registration-form input[type="email"],
.ch-golf-registration-form input[type="password"],
.ch-golf-registration-form select,
.ch-golf-registration-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #d7d7d7;
	border-radius: 6px;
	box-sizing: border-box;
}

.ch-golf-registration-form button {
	padding: 12px 20px;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
}

.ch-golf-registration-errors {
	background: #ffe5e5;
	color: #900;
	padding: 15px;
	margin-bottom: 20px;
	border-radius: 6px;
}

.ch-golf-steps-progress {
	margin-bottom: 2rem;
}

.ch-golf-steps-progress__bar {
	height: 8px;
	background: #e5e5e5;
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 12px;
}

.ch-golf-steps-progress__fill {
	height: 100%;
	width: 25%;
	background: var(--ast-global-color-1);
	transition: width 0.25s ease;
}

.ch-golf-steps-progress__labels {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	font-size: 0.9rem;
}

.ch-golf-steps-progress__labels span {
	opacity: 0.5;
}

.ch-golf-steps-progress__labels span.is-active {
	opacity: 1;
	font-weight: 600;
}

.ch-golf-step {
	display: none;
}

.ch-golf-step.is-active {
	display: block;
}

.ch-golf-step-actions {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 1.5rem;
}

.ch-golf-step-actions button {
	min-width: 120px;
}

@media (max-width: 640px) {
	.ch-golf-steps-progress__labels {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* LOGIN */
.ch-golf-login-wrap {
	max-width: 480px;
	margin: 0 auto;
}

.ch-golf-login-form p {
	margin-bottom: 1rem;
}

.ch-golf-login-form input[type="text"],
.ch-golf-login-form input[type="password"] {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #d7d7d7;
	border-radius: 6px;
	box-sizing: border-box;
}

.ch-golf-login-form button {
	padding: 12px 20px;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
}

.ch-golf-login-errors {
	background: #ffe5e5;
	color: #900;
	padding: 15px;
	margin-bottom: 20px;
	border-radius: 6px;
}

.ch-golf-login-links {
	margin-bottom: 0.5rem;
}

.ch-golf-login-register {
	margin-top: 1rem;
}

/* FORUM */
#af-wrapper .error {
  background-color: #0d0606;
  border: 1px solid #9e0000;
  color: #e31717;
  text-align: center;
  padding: 12px;
  margin: 15px 0;
}


/* GENERAL */
body .ast-article-single img:not(figure img) {
  box-shadow: 0 0 0px 0 rgba(0,0,0,.15);
  -webkit-box-shadow: 0 0 0px 0 rgba(0,0,0,.15);
  -moz-box-shadow: 0 0 0px 0 rgba(0,0,0,.15);
}