/*
Theme Name:   Sly Designs Store
Theme URI:    https://www.sly-designs.com
Description:  Storefront child theme that matches the header, footer, colours and font of sly-designs.com.
Author:       Sly Designs LLC
Template:     storefront
Version:      1.0.2
Requires PHP: 8.0
Text Domain:  sly-store
*/

/* ============================================================
   VARIABLES (same values as sly-designs.com)
   ============================================================ */

:root {
	--sly-font: 'Audiowide', Arial, sans-serif;
	--sly-fine: Arial, sans-serif;
	--sly-red: #620031;
	--sly-red-hover: #8a0045;
	--sly-red-dark: #450022;
	--sly-grey: #a3a3a3;
	--sly-width: 1300px;
}

/* ============================================================
   BASE
   ============================================================ */

body,
body.custom-background,
.site,
.site-content {
	background-color: #000 !important;
	color: #e6e6e6;
}

body,
button,
input,
select,
textarea {
	font-family: var(--sly-fine);
}

h1, h2, h3, h4, h5, h6,
.site-content .entry-title,
.woocommerce-loop-product__title,
.product_title,
.sly-nav,
.button,
button,
input[type="submit"] {
	font-family: var(--sly-font);
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
	color: #fff;
}

a {
	color: #fff;
}

a:hover,
a:focus {
	color: #ff4da6;
}

.site-content a:not(.button) {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.site-content .woocommerce-loop-product__link,
.site-content .woocommerce-LoopProduct-link {
	text-decoration: none;
}

/* Buttons */
.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.added_to_cart,
.wp-block-button__link,
.wc-block-components-button:not(.is-link) {
	background-color: var(--sly-red);
	border-color: var(--sly-red);
	color: #fff;
	border-radius: 10px;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.added_to_cart:hover,
.wp-block-button__link:hover,
.wc-block-components-button:not(.is-link):hover {
	background-color: var(--sly-red-hover);
	border-color: var(--sly-red-hover);
	color: #fff;
}

/* Form fields: light boxes with dark text so they read clearly on black */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="url"],
select,
textarea {
	background-color: #f2f2f2;
	color: #111;
	border-radius: 6px;
}

/* Tables (cart, order details, My account) */
table th,
table td,
table tbody td,
table tbody th {
	background-color: transparent;
	color: #e6e6e6;
}

table:not(.has-background) tbody tr:nth-child(2n) td {
	background-color: rgba(255, 255, 255, 0.04);
}

/* Prices and sale badges */
.price,
.amount,
ins .amount {
	color: #fff;
}

.onsale {
	color: #fff;
	border-color: var(--sly-red);
	background: var(--sly-red);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background-color: var(--sly-red);
	color: #fff;
}

.woocommerce-message a,
.woocommerce-info a {
	color: #fff;
}

/* Breadcrumb and small text */
.woocommerce-breadcrumb {
	background: rgba(255, 255, 255, 0.05);
	color: #b3b3b3;
}

.woocommerce-breadcrumb a {
	color: #fff;
}

/* Checkout and cart blocks */
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-checkout__sidebar,
.wc-block-components-panel {
	color: #e6e6e6;
}

/* Content lines up with the header, like the main site */
.site-content .col-full {
	max-width: var(--sly-width);
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

.woocommerce-products-header,
.woocommerce-products-header__title,
.entry-header,
.entry-title {
	text-align: left;
}

/* ============================================================
   HEADER (matches sly-designs.com: logo | menu | actions)
   ============================================================ */

.site-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	padding: 0;
	margin-bottom: 2.6em;
	border: 0;
	background: #000 !important;
}

.admin-bar .site-header {
	top: 32px;
}

.sly-header {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	height: 72px;
	max-width: var(--sly-width);
	margin: 0 auto;
	padding: 0 12px;
}

.sly-logo {
	display: flex;
	align-items: center;
	width: 150px;
	height: 72px;
}

.sly-logo img {
	display: block;
	height: auto;
	max-height: 60px;
	width: auto;
}

.sly-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sly-nav > ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

.sly-nav li {
	position: relative;
	margin: 0;
}

.sly-nav > ul > li > a {
	display: flex;
	align-items: center;
	height: 72px;
	padding: 0 22px;
	color: #fff;
	font-size: clamp(14px, 1.6vw, 24px);
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 1px;
	white-space: nowrap;
	text-decoration: none;
	transition: background 0.2s ease;
}

.sly-nav > ul > li > a:hover {
	background: var(--sly-red);
	color: #fff;
}

/* Dropdowns */
.sly-menu > ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	padding: 6px 0;
	background: var(--sly-red);
	z-index: 99999;
}

.sly-menu:hover > ul,
.sly-menu:focus-within > ul {
	display: block;
}

.sly-menu > ul a {
	display: block;
	padding: 10px 18px;
	color: #fff;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	white-space: nowrap;
}

.sly-menu > ul a:hover {
	background: var(--sly-red-dark);
	color: #fff;
}

/* Account and cart */
.sly-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.sly-account,
.sly-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 40px;
	padding: 0 12px;
	border-radius: 10px;
	color: #fff;
	text-decoration: none;
}

.sly-account {
	background: rgba(255, 255, 255, 0.1);
}

.sly-cart {
	min-width: 72px;
	background: var(--sly-red);
	font-family: var(--sly-font);
}

.sly-account:hover,
.sly-cart:hover {
	background: var(--sly-red-hover);
	color: #fff;
}

/* Search (same as the main site's header search) */
.sly-search {
	margin: 0;
	display: flex;
	align-items: center;
	padding: 4px 12px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 20px;
}

.sly-search input[type="search"] {
	width: 120px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: #fff;
	font-family: var(--sly-font);
	font-size: 14px;
	outline: none;
}

.sly-search input[type="search"]::placeholder {
	color: rgba(255, 255, 255, 0.7);
}

.sly-search button {
	margin-left: 8px;
	padding: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
}

.sly-search button:hover {
	background: none;
}

/* Hamburger (small screens only) */
.sly-nav-toggle,
.sly-hamburger {
	display: none;
}

@media (max-width: 900px) {
	.sly-header {
		grid-template-columns: auto 1fr auto auto;
	}

	.sly-hamburger {
		display: flex;
		align-items: center;
		justify-content: center;
		grid-column: 4;
		grid-row: 1;
		width: 44px;
		height: 44px;
		margin-left: 8px;
		cursor: pointer;
	}

	.sly-hamburger span,
	.sly-hamburger span::before,
	.sly-hamburger span::after {
		display: block;
		position: relative;
		width: 26px;
		height: 3px;
		background: #fff;
		content: "";
	}

	.sly-hamburger span::before {
		position: absolute;
		top: -8px;
	}

	.sly-hamburger span::after {
		position: absolute;
		top: 8px;
	}

	.sly-actions {
		grid-column: 3;
		grid-row: 1;
	}

	.sly-nav {
		display: none;
		position: absolute;
		top: 72px;
		left: 0;
		right: 0;
		max-height: calc(100vh - 72px);
		overflow-y: auto;
		background: #000;
		border-top: 1px solid var(--sly-red);
	}

	.sly-nav-toggle:checked ~ .sly-nav {
		display: block;
	}

	.sly-nav > ul {
		display: block;
	}

	.sly-nav > ul > li > a {
		height: 52px;
		padding: 0 16px;
		font-size: 18px;
	}

	.sly-menu > ul {
		display: block;
		position: static;
		padding: 0 0 6px 16px;
		background: transparent;
	}

	.sly-menu > ul a {
		padding: 8px 16px;
		font-size: 14px;
		color: #ccc;
	}
}

@media (max-width: 600px) {
	.sly-search {
		display: none;
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

/* ============================================================
   FOOTER (matches sly-designs.com)
   ============================================================ */

.site-footer {
	padding: 0;
	background: transparent;
}

.site-footer .col-full {
	max-width: none;
	padding: 0;
	margin: 0;
}

.sly-footer-social {
	background: var(--sly-grey);
	padding: 8px 0 14px;
	text-align: center;
}

.sly-footer-social h2 {
	margin: 0 0 10px;
	font-family: var(--sly-font);
	font-size: 32px;
	line-height: 23px;
	color: #000;
	text-transform: uppercase;
}

.sly-social-icons a {
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 0 5px;
	background: url("https://www.sly-designs.com/images/icons.webp") no-repeat;
	text-indent: -99999px;
	overflow: hidden;
}

.sly-social-icons a.instagram { background-position: top 0 left -87px; }
.sly-social-icons a.youtube   { background-position: top 0 left -347px; }
.sly-social-icons a.patreon   { background-position: top 0 left -412px; }
.sly-social-icons a.facebook  { background-position: top 0 left -22px; }
.sly-social-icons a.tiktok    { background-position: top 0 left -282px; }

.sly-social-icons a.instagram:hover { background-position: bottom 10px left -87px; }
.sly-social-icons a.youtube:hover   { background-position: bottom 10px left -347px; }
.sly-social-icons a.patreon:hover   { background-position: bottom 10px left -412px; }
.sly-social-icons a.facebook:hover  { background-position: bottom 10px left -22px; }
.sly-social-icons a.tiktok:hover    { background-position: bottom 10px left -282px; }

.sly-footer-legal {
	background: #fff;
	padding: 18px 12px;
	text-align: center;
}

.sly-footer-legal p {
	margin: 0;
	font-family: var(--sly-font);
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #000;
	opacity: 0.85;
}

.sly-footer-legal .sly-policies {
	margin-bottom: 8px;
}

.sly-footer-legal .sly-policies a {
	margin: 0 10px;
	color: #000;
	text-decoration: none;
}

.sly-footer-legal .sly-policies a:hover {
	color: var(--sly-red);
	text-decoration: underline;
}
