/*
Theme Name: Switch Flavours
Description: A small Storefront child theme matching the Switch Flavours custom homepage.
Author: Switch Flavours
Template: storefront
Version: 1.1.4
Text Domain: switch-flavours
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* The shared homepage stylesheet (home.css at the domain root) loads first and
   brings the palette, font stacks, header, pill buttons, contact cards and
   footer. This file is only the shop layer: Storefront + WooCommerce markup
   that the homepage never has. Vars like --cream/--ink/--raspberry come from
   home.css :root. */

.switch-flavours-shop {
	background: var(--cream);
	color: var(--ink);
	font-family: var(--font-body);
	line-height: 1.6;
}

.switch-flavours-shop h1,
.switch-flavours-shop h2,
.switch-flavours-shop h3,
.switch-flavours-shop h4 {
	font-family: var(--font-display);
	color: var(--ink);
	letter-spacing: -0.02em;
}

/* masthead: Storefront chrome off, homepage .site-header (home.css) on */
.switch-flavours-shop #masthead {
	padding: 0;
	margin: 0;
	border: 0;
}
.admin-bar .switch-flavours-shop #masthead { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .switch-flavours-shop #masthead { top: 46px; }
}

.switch-flavours-shop button.menu-toggle {
	float: none;
	max-width: none;
	box-shadow: none;
	background: none;
	border: 0;
}
.switch-flavours-shop button.menu-toggle::before,
.switch-flavours-shop button.menu-toggle::after,
.switch-flavours-shop button.menu-toggle span::before,
.switch-flavours-shop button.menu-toggle span::after {
	display: none;
}

/* content frame */
.switch-flavours-shop #content {
	min-height: 55vh;
	padding-bottom: 4rem;
	background: transparent;
}
.switch-flavours-shop #content > .col-full,
.switch-flavours-shop .storefront-breadcrumb > .col-full {
	width: min(1160px, 92vw);
	max-width: none;
	padding: 0;
	margin-right: auto;
	margin-left: auto;
}
.switch-flavours-shop .content-area {
	float: none;
	width: 100%;
	margin-right: 0;
}
.switch-flavours-shop .storefront-breadcrumb {
	margin: 0;
	padding: 1.4rem 0 0;
	background: transparent;
	border: 0;
	color: var(--ink-soft);
}
.switch-flavours-shop .woocommerce-breadcrumb a,
.switch-flavours-shop #content a:not(.button):not(.add_to_cart_button):not(.page-numbers) {
	color: var(--raspberry);
}

/* archive header */
.switch-flavours-shop .woocommerce-products-header {
	padding: 1.5rem 0 2rem;
	text-align: left;
}
.switch-flavours-shop #content h1 {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 1.05;
	letter-spacing: -0.045em;
}

/* every button gets the homepage pill */
.switch-flavours-shop .button,
.switch-flavours-shop button:not(.menu-toggle),
.switch-flavours-shop input[type="submit"],
.switch-flavours-shop #respond input#submit {
	border-radius: 999px;
	background: var(--raspberry);
	border: 2px solid var(--raspberry);
	color: #fff;
	font-family: var(--font-body);
	font-weight: 700;
	padding: 0.7rem 1.5rem;
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.switch-flavours-shop .button:hover,
.switch-flavours-shop button:not(.menu-toggle):hover,
.switch-flavours-shop input[type="submit"]:hover,
.switch-flavours-shop #respond input#submit:hover {
	background: var(--raspberry-bright);
	border-color: var(--raspberry-bright);
	color: #fff;
	transform: translateY(-2px);
}
.switch-flavours-shop .button.alt,
.switch-flavours-shop button.single_add_to_cart_button {
	background: var(--raspberry);
	border-color: var(--raspberry);
}
.switch-flavours-shop .button.alt:hover,
.switch-flavours-shop button.single_add_to_cart_button:hover {
	background: var(--raspberry-bright);
	border-color: var(--raspberry-bright);
}
.switch-flavours-shop :focus-visible {
	outline: 3px solid var(--raspberry-bright);
	outline-offset: 3px;
}

/* product cards */
.switch-flavours-shop ul.products li.product {
	background: #fff;
	border: 1px solid rgb(34 28 21 / 0.08);
	border-radius: var(--radius);
	padding: 1rem;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.switch-flavours-shop ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 44px -18px rgb(34 28 21 / 0.3);
}
.switch-flavours-shop ul.products li.product a { text-decoration: none; }
.switch-flavours-shop ul.products li.product img {
	border-radius: calc(var(--radius) - 8px);
	margin-bottom: 0.8rem;
}
.switch-flavours-shop ul.products li.product .woocommerce-loop-product__title,
.switch-flavours-shop ul.products li.product .woocommerce-loop-category__title {
	font-family: var(--font-display);
	font-size: 1.2rem;
	letter-spacing: -0.02em;
	color: var(--ink);
	padding: 0;
}
.switch-flavours-shop .price {
	color: var(--ink);
	font-weight: 700;
}
.switch-flavours-shop .price del {
	color: var(--ink-soft);
	font-weight: 400;
}
.switch-flavours-shop .price ins {
	text-decoration: none;
	color: var(--raspberry);
}
.switch-flavours-shop span.onsale {
	background: var(--raspberry);
	color: #fff;
	border-radius: 999px;
	border: 0;
	padding: 0.35rem 0.9rem;
	font-weight: 700;
	min-height: 0;
	min-width: 0;
	line-height: 1.4;
}
.switch-flavours-shop .star-rating span::before { color: var(--orange); }

/* category cards */
.switch-flavours-shop ul.products li.product-category .count {
	background: var(--cream-deep);
	color: var(--ink-soft);
	border-radius: 999px;
	border: 0;
	padding: 0.2rem 0.7rem;
}

/* pagination + sorting */
.switch-flavours-shop .woocommerce-pagination ul.page-numbers {
	border: 0;
}
.switch-flavours-shop .woocommerce-pagination ul.page-numbers li {
	border: 0;
}
.switch-flavours-shop .woocommerce-pagination ul.page-numbers li .page-numbers {
	border: 1px solid rgb(34 28 21 / 0.12);
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	padding: 0.4rem 0.95rem;
	text-decoration: none;
}
.switch-flavours-shop .woocommerce-pagination ul.page-numbers li .page-numbers.current,
.switch-flavours-shop .woocommerce-pagination ul.page-numbers li .page-numbers:hover {
	background: var(--raspberry);
	border-color: var(--raspberry);
	color: #fff;
}
.switch-flavours-shop .woocommerce-ordering select {
	border-radius: 999px;
	padding: 0.5rem 1rem;
}

/* single product */
.switch-flavours-shop div.product .product_title {
	font-size: clamp(2rem, 5vw, 3.4rem);
	line-height: 1.08;
	letter-spacing: -0.03em;
}
.switch-flavours-shop div.product p.price,
.switch-flavours-shop div.product span.price {
	font-size: 1.3rem;
	color: var(--raspberry);
}
.switch-flavours-shop div.product form.cart .variations select {
	border-radius: 0.7rem;
	padding: 0.6rem 0.9rem;
}
.switch-flavours-shop .quantity .qty {
	border-radius: 0.7rem;
	padding: 0.55rem 0.6rem;
}
.switch-flavours-shop .woocommerce-tabs ul.tabs {
	padding: 0;
}
.switch-flavours-shop .woocommerce-tabs ul.tabs::before {
	border-bottom-color: rgb(34 28 21 / 0.12);
}
.switch-flavours-shop .woocommerce-tabs ul.tabs li {
	background: var(--cream-deep);
	border-color: rgb(34 28 21 / 0.12);
	border-radius: 0.8rem 0.8rem 0 0;
}
.switch-flavours-shop .woocommerce-tabs ul.tabs li a {
	font-family: var(--font-body);
	font-weight: 600;
	color: var(--ink-soft);
}
.switch-flavours-shop .woocommerce-tabs ul.tabs li.active {
	background: #fff;
}
.switch-flavours-shop .woocommerce-tabs ul.tabs li.active a {
	color: var(--raspberry);
}
.switch-flavours-shop .woocommerce-tabs .panel {
	background: #fff;
	border: 1px solid rgb(34 28 21 / 0.08);
	border-top: 0;
	border-radius: 0 0 var(--radius) var(--radius);
	padding: 1.4rem;
}
.switch-flavours-shop .related.products > h2,
.switch-flavours-shop .up-sells > h2 {
	font-size: 1.8rem;
	margin-bottom: 1.2rem;
}

/* forms */
.switch-flavours-shop input[type="text"],
.switch-flavours-shop input[type="email"],
.switch-flavours-shop input[type="tel"],
.switch-flavours-shop input[type="password"],
.switch-flavours-shop input[type="number"],
.switch-flavours-shop input[type="search"],
.switch-flavours-shop select,
.switch-flavours-shop textarea {
	border: 1px solid #d9cfc3;
	border-radius: 0.7rem;
	background: #fffdf8;
	color: var(--ink);
	box-shadow: none;
	padding: 0.65rem 0.9rem;
}
.switch-flavours-shop input:focus,
.switch-flavours-shop select:focus,
.switch-flavours-shop textarea:focus {
	border-color: var(--raspberry);
	outline: none;
}
.switch-flavours-shop .woocommerce-form-login,
.switch-flavours-shop .woocommerce-form-register,
.switch-flavours-shop .lost_reset_password,
.switch-flavours-shop .woocommerce-ResetPassword {
	background: #fff;
	border: 1px solid rgb(34 28 21 / 0.08) !important;
	border-radius: var(--radius);
	padding: 1.6rem;
}
.switch-flavours-shop .woocommerce-privacy-policy-text {
	background: var(--cream-deep);
	border-radius: 0.8rem;
	padding: 1rem 1.2rem;
}

/* notices */
.switch-flavours-shop .woocommerce-info,
.switch-flavours-shop .woocommerce-message {
	border-top-color: var(--raspberry);
	background: var(--cream-deep);
	color: var(--ink);
	border-radius: 0.8rem;
}
.switch-flavours-shop .woocommerce-info::before,
.switch-flavours-shop .woocommerce-message::before {
	color: var(--raspberry);
}
.switch-flavours-shop .woocommerce-error {
	background: var(--raspberry);
	border-top-color: var(--raspberry);
	color: #fff;
	border-radius: 0.8rem;
}
.switch-flavours-shop .woocommerce-error a {
	color: #fff !important;
	text-decoration: underline;
}

/* basket + checkout */
.switch-flavours-shop .shop_table {
	border-radius: var(--radius);
	border: 1px solid rgb(34 28 21 / 0.08);
	background: #fff;
}
.switch-flavours-shop .shop_table th {
	font-family: var(--font-body);
	font-weight: 700;
	color: var(--ink);
}
.switch-flavours-shop .cart-collaterals .cart_totals h2,
.switch-flavours-shop #order_review_heading {
	font-size: 1.5rem;
}
.switch-flavours-shop .wc-proceed-to-checkout .checkout-button {
	font-size: 1.05rem;
	padding: 0.9rem 1.8rem;
}
.switch-flavours-shop .woocommerce-checkout-payment {
	background: #fff !important;
	border-radius: var(--radius);
	border: 1px solid rgb(34 28 21 / 0.08);
}
.switch-flavours-shop .woocommerce-checkout-payment .wc_payment_methods {
	border-bottom-color: rgb(34 28 21 / 0.08) !important;
}

/* my account */
.switch-flavours-shop .woocommerce-MyAccount-navigation {
	background: #fff;
	border: 1px solid rgb(34 28 21 / 0.08);
	border-radius: var(--radius);
	padding: 1rem;
}
.switch-flavours-shop .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
}
.switch-flavours-shop .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 0.55rem 0.85rem;
	border-radius: 0.7rem;
	text-decoration: none;
	color: var(--ink);
}
.switch-flavours-shop .woocommerce-MyAccount-navigation li a:hover {
	background: var(--cream-deep);
}
.switch-flavours-shop .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--cream-deep);
	color: var(--raspberry);
	font-weight: 700;
}
.switch-flavours-shop .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid rgb(34 28 21 / 0.08);
	border-radius: var(--radius);
	padding: 1.6rem;
}

/* footer: contact band on cream, then the homepage ink footer (home.css
   .site-footer styles #colophon itself) */
.switch-flavours-shop #colophon {
	padding: 0;
	background: var(--ink);
	color: var(--cream);
}
.switch-flavours-shop #colophon > .col-full {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}
.switch-flavours-shop .sf-footer-contact {
	background: var(--cream);
	color: var(--ink);
	padding: clamp(3rem, 7vw, 5rem) 0;
}
.switch-flavours-shop .sf-footer-contact h2 {
	font-size: clamp(2rem, 5vw, 3.2rem);
	letter-spacing: -0.03em;
}
.switch-flavours-shop .sf-footer-contact h2 em {
	color: var(--raspberry);
}
.switch-flavours-shop .sf-footer-contact .contact-card a {
	color: var(--raspberry);
}
.switch-flavours-shop #colophon .footer-inner {
	padding: 2.2rem 0;
}
.switch-flavours-shop #colophon .footer-inner a {
	color: var(--cream);
}

/* block cart/checkout buttons (WooCommerce blocks ignore .button) */
.switch-flavours-shop .wc-block-components-button:not(.is-link) {
	background: var(--raspberry) !important;
	border: 2px solid var(--raspberry) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-weight: 700;
}
.switch-flavours-shop .wc-block-components-button:not(.is-link):hover {
	background: var(--raspberry-bright) !important;
	border-color: var(--raspberry-bright) !important;
}

/* nav basket link with count bubble */
.switch-flavours-shop .nav-basket { position: relative; }.switch-flavours-shop .basket-count {
	position: absolute;
	top: -0.55rem;
	right: -0.9rem;
	background: var(--raspberry);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1;
	min-width: 1.25rem;
	height: 1.25rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.3rem;
}

/* mix-and-match deal pill on the product page */
.switch-flavours-shop .mix-match-pill {
	display: inline-block;
	background: var(--cream-deep);
	border: 1px solid rgb(34 28 21 / 0.1);
	border-left: 4px solid var(--raspberry);
	border-radius: 0.8rem;
	padding: 0.65rem 1rem;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--ink);
	margin: 0.4rem 0 0.9rem;
}

/* search + widgets leftovers */
.switch-flavours-shop .widget_search .search-field,
.switch-flavours-shop .widget_product_search .search-field {
	border-radius: 0.7rem 0 0 0.7rem;
}

@media (max-width: 800px) {
	.js .switch-flavours-shop button.menu-toggle {
		display: flex;
	}
	.switch-flavours-shop ul.products li.product {
		padding: 0.7rem;
	}
}
