@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
	/* Adventure Apparel Color Palette */
	--adv-primary: #2d4a22; /* Forest Green */
	--adv-secondary: #8b5a2b; /* Earth Brown */
	--adv-dark: #1c1c1c; /* Almost Black */
	--adv-gray: #666666;
	--adv-light-gray: #e8e8e8;
	--adv-bg: #faf9f6; /* Off-white / Sand */
	--adv-white: #ffffff;
	--adv-border: #dcdcdc;
	
	--font-main: 'Outfit', sans-serif;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: var(--font-main);
	background-color: var(--adv-bg);
	color: var(--adv-dark);
	line-height: 1.6;
}

a {
	text-decoration: none;
	color: inherit;
	transition: all 0.3s ease;
}

ul {
	list-style: none;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Utilities */
.btn {
	display: inline-block;
	padding: 12px 30px;
	background-color: var(--adv-primary);
	color: var(--adv-white);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	border: none;
	cursor: pointer;
	transition: 0.3s;
}

.btn:hover {
	background-color: var(--adv-secondary);
}

.btn-outline {
	background-color: transparent;
	border: 2px solid var(--adv-primary);
	color: var(--adv-primary);
}

.btn-outline:hover {
	background-color: var(--adv-primary);
	color: var(--adv-white);
}

/* Header */
.header-top {
	background-color: var(--adv-primary);
	color: var(--adv-white);
	text-align: center;
	padding: 8px 0;
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 1px;
}

.site-header {
	background-color: var(--adv-white);
	border-bottom: 1px solid var(--adv-border);
	position: sticky;
	top: 0;
	z-index: 100;
}

.header-main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 80px;
}

.logo {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.main-nav ul {
	display: flex;
	gap: 30px;
}

.main-nav a {
	font-weight: 500;
	font-size: 0.95rem;
	position: relative;
}

.main-nav a.active::after, .main-nav a:hover::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: var(--adv-primary);
}

.header-actions {
	display: flex;
	gap: 20px;
	align-items: center;
}

.action-btn {
	font-size: 1.2rem;
	position: relative;
}

.cart-count {
	position: absolute;
	top: -8px;
	right: -8px;
	background-color: var(--adv-secondary);
	color: var(--adv-white);
	font-size: 0.7rem;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Product Grid */
.section-title {
	text-align: center;
	margin-bottom: 40px;
}

.section-title h2 {
	font-size: 2.2rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 30px;
}

.product-card {
	background-color: var(--adv-white);
	border: 1px solid var(--adv-border);
	padding-bottom: 15px;
	transition: transform 0.3s;
}

.product-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.product-img-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 4/5;
	background-color: var(--adv-light-gray);
	overflow: hidden;
}

.product-img-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 3rem;
	color: var(--adv-gray);
}

.product-img-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-info {
	padding: 15px;
	text-align: center;
}

.product-brand {
	font-size: 0.8rem;
	color: var(--adv-gray);
	margin-bottom: 5px;
	text-transform: uppercase;
}

.product-title {
	font-size: 1.1rem;
	font-weight: 500;
	margin-bottom: 10px;
}

.product-price {
	font-weight: 600;
	color: var(--adv-primary);
}

/* Footer */
.site-footer {
	background-color: var(--adv-dark);
	color: var(--adv-white);
	padding: 60px 0 20px;
}

.footer-top {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 40px;
	margin-bottom: 40px;
}

.footer-widget h4 {
	font-size: 1.2rem;
	margin-bottom: 20px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.footer-widget ul li {
	margin-bottom: 10px;
}

.footer-widget ul li a {
	color: rgba(255,255,255,0.7);
}

.footer-widget ul li a:hover {
	color: var(--adv-white);
	padding-left: 5px;
}

.newsletter-form {
	display: flex;
	margin-top: 15px;
}

.newsletter-form input {
	flex: 1;
	padding: 12px;
	border: none;
	outline: none;
}

.newsletter-form button {
	padding: 12px 20px;
	background-color: var(--adv-primary);
	color: white;
	border: none;
	cursor: pointer;
}

.footer-bottom {
	text-align: center;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,0.1);
	font-size: 0.9rem;
	color: rgba(255,255,255,0.5);
}

.footer-links {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 10px;
}

/* Page Layouts */
.page-header {
	background-color: var(--adv-light-gray);
	padding: 40px 0;
	text-align: center;
	margin-bottom: 40px;
}

.page-title {
	font-size: 2.5rem;
	font-weight: 600;
	text-transform: uppercase;
}

/* Form Styles */
.form-group {
	margin-bottom: 20px;
}
.form-group label {
	display: block;
	margin-bottom: 8px;
	font-weight: 500;
}
.form-control {
	width: 100%;
	padding: 12px;
	border: 1px solid var(--adv-border);
	font-family: inherit;
}
.form-control:focus {
	outline: none;
	border-color: var(--adv-primary);
}

/* Responsive */
@media (max-width: 768px) {
	.header-main {
		flex-direction: column;
		height: auto;
		padding: 15px 0;
		gap: 15px;
	}
	.hero-banner h1 {
		font-size: 2.5rem !important;
	}
}

/* ==========================================================================
   Mobile 2 Column Product Grid Override
   ========================================================================== */
@media (max-width: 480px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    .product-card {
        padding: 10px !important;
    }
    .product-img-wrapper {
        height: 150px !important;
        margin-bottom: 10px !important;
    }
    .product-title {
        font-size: 0.9rem !important;
    }
    .product-price {
        font-size: 1rem !important;
    }
    .btn {
        padding: 8px 15px !important;
        font-size: 0.85rem !important;
    }
}

/* ==========================================================================
   WooCommerce Mini Cart Override (Reference Design)
   ========================================================================== */
ul.woocommerce-mini-cart {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
    display: block !important;
    padding: 20px 30px 20px 105px !important; /* 20px gap + 70px img + 15px gap = 105px */
    border-bottom: 1px solid #eee !important;
    position: relative !important;
    min-height: 110px !important; /* 70px img + 40px padding */
}
ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a:not(.remove) {
    display: block !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: var(--adv-dark) !important;
    margin-bottom: 5px !important;
    text-decoration: none !important;
    padding-right: 15px !important;
}
ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a:not(.remove) img {
    position: absolute !important;
    left: 20px !important; 
    top: 20px !important;
    width: 70px !important;
    height: 70px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: 1px solid #eaeaea !important;
}
ul.woocommerce-mini-cart li.woocommerce-mini-cart-item .quantity {
    display: block !important;
    font-size: 0.9rem !important;
    color: var(--adv-gray) !important;
    font-weight: 400 !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
}
ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove {
    position: absolute !important;
    top: 20px !important;
    right: 15px !important;
    transform: none !important;
    width: 14px !important;
    height: 16px !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23999999' d='M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    color: transparent !important;
    font-size: 0 !important; /* Hide the default 'x' text */
    text-decoration: none !important;
    border: none !important;
}
ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23e74c3c' d='M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z'/%3E%3C/svg%3E") !important;
}
