:root{--primary:#1b7a4f;--primary-dark:#0f5a3a;--accent:#f2b705;--text:#1f2a1f;--muted:#667;--bg:#ffffff;--surface:#f7faf7}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.65}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e3e8e4;backdrop-filter:saturate(1.2) blur(4px)}
.topbar{background:var(--primary);color:#fff;font-size:13px}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding:6px 20px}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand .logo{width:34px;height:34px;border-radius:50%;background:var(--primary);display:inline-block}
.brand .name{font-weight:800;color:var(--primary);font-size:22px;letter-spacing:.2px}
.nav a{margin:0 10px;text-decoration:none;color:var(--text);font-weight:600}
.nav a:hover{color:var(--primary)}
.site-footer{margin-top:64px;padding:40px 0;background:var(--surface);border-top:1px solid #e5e8e7}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.copy{text-align:center;color:var(--muted);margin-top:18px}
.hero{padding:84px 0;background:linear-gradient(135deg,#eaf6ef,#ffffff)}
.hero .hero-content{max-width:760px}
.eyebrow{color:var(--primary-dark);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.hero h1{margin:6px 0 12px 0;font-size:44px;line-height:1.15}
.subhead{color:#4b5;max-width:720px}
.cta-row{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--primary);color:#fff;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;box-shadow:0 2px 0 var(--primary-dark)}
.btn.secondary{background:#0e5a44}
.btn.alt{background:#fff;color:var(--primary);border:1px solid #cfe5db}
.section{padding:48px 0}
.section h2{margin:0 0 16px 0;font-size:28px}
.feature-grid,.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.feature{padding:16px;border:1px solid #e5e8e7;border-radius:12px;background:#fff}
.card{display:block;padding:16px;border:1px solid #e5e8e7;border-radius:12px;background:#fff;color:inherit;text-decoration:none;transition:transform .12s ease}
.card:hover{transform:translateY(-2px)}
.card img{width:100%;height:180px;object-fit:cover;border-radius:8px;margin-bottom:8px;background:#f2f2f2}
.badge{display:inline-block;background:var(--accent);color:#1a1a1a;font-weight:800;font-size:12px;padding:4px 8px;border-radius:999px}
.messages{list-style:none;padding:0}
.msg{padding:8px 12px;border-radius:8px;background:#eef7f3;margin:8px 0;border:1px solid #d8efe6}
.cols{display:grid;grid-template-columns:280px 1fr;gap:28px}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.product-detail .media{display:flex;align-items:center;justify-content:center}
.product-detail .media img{width:auto!important;max-width:400px!important;height:auto;max-height:600px;border-radius:10px;background:#f2f2f2;object-fit:contain;display:block;margin:0 auto}
.price{font-size:20px;font-weight:800}
.kv{display:flex;align-items:center;gap:8px}
.kv .k{font-weight:700;color:var(--primary-dark)}
.cart-table{width:100%;border-collapse:collapse;margin:16px 0}
.cart-table th,.cart-table td{border-bottom:1px solid #e5e8e7;padding:10px}
.small{padding:6px 10px;font-size:12px}
.map-embed iframe{width:100%;height:360px;border:0}
.full-bleed{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.hero.full-bleed>.container{padding:0 20px}

/* Stretch main content to full viewport width */
.stretch{max-width:100%}

/* Mobile Menu */
.mobile-menu-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text);padding:8px}
.nav{display:flex;align-items:center;flex-wrap:wrap}
.nav a{white-space:nowrap}

/* Responsive Design */
@media (max-width: 768px){
	.container{padding:0 16px}
	.topbar .container{flex-direction:column;gap:4px;text-align:center;font-size:11px;padding:8px 16px}
	.site-header .container{padding:12px 16px}
	.mobile-menu-toggle{display:block}
	.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #e3e8e4;flex-direction:column;align-items:stretch;padding:16px;box-shadow:0 4px 6px rgba(0,0,0,.1)}
	.nav.active{display:flex}
	.nav a{margin:8px 0;padding:8px 0;border-bottom:1px solid #f0f0f0}
	.hero{padding:48px 0}
	.hero h1{font-size:32px;line-height:1.2}
	.subhead{font-size:16px}
	.cta-row{flex-direction:column}
	.btn{width:100%;text-align:center}
	.section{padding:32px 0}
	.section h2{font-size:24px}
	.feature-grid,.card-grid{grid-template-columns:1fr;gap:16px}
	.cols{grid-template-columns:1fr;gap:20px}
	.product-detail{grid-template-columns:1fr;gap:20px}
	.product-detail .media img{max-width:100%!important;width:auto!important}
	.site-footer{padding:32px 0;margin-top:48px}
	.site-footer .cols{grid-template-columns:1fr;gap:24px}
	.cart-table{font-size:14px}
	.cart-table th,.cart-table td{padding:8px 4px}
	.map-embed iframe{height:240px}
	.carousel-slide img{height:225px}
	.carousel-btn{width:40px;height:40px;font-size:24px}
	.carousel-btn-prev{left:10px}
	.carousel-btn-next{right:10px}
	.catalog-grid{grid-template-columns:1fr;gap:16px}
	.catalog-item img{height:250px}
}

@media (max-width: 480px){
	.hero h1{font-size:26px}
	.hero{padding:32px 0}
	.section{padding:24px 0}
	.feature{padding:12px}
	.card{padding:12px}
	.card img{height:140px}
	.brand .name{font-size:18px}
	.topbar{font-size:10px}
}

@media (min-width: 769px) and (max-width: 1024px){
	.container{max-width:960px;padding:0 24px}
	.feature-grid,.card-grid{grid-template-columns:repeat(2,1fr)}
	.product-detail{grid-template-columns:1fr 1fr;gap:24px}
}

/* Carousel Styles */
.carousel-section {
	padding: 48px 0;
}

.carousel-wrapper {
	position: relative;
	max-width: 100%;
	margin: 0 auto;
}

.carousel-container {
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.carousel-track {
	display: flex;
	transition: transform 0.5s ease-in-out;
	will-change: transform;
}

.carousel-slide {
	min-width: 100%;
	flex-shrink: 0;
}

.carousel-slide img {
	width: 100%;
	height: 375px;
	object-fit: cover;
	display: block;
}

.carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.9);
	border: none;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	font-size: 32px;
	cursor: pointer;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	color: var(--primary);
	font-weight: bold;
}

.carousel-btn:hover {
	background: white;
	transform: translateY(-50%) scale(1.1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.carousel-btn-prev {
	left: 20px;
}

.carousel-btn-next {
	right: 20px;
}

.carousel-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
}

.carousel-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ccc;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
}

.carousel-dot.active {
	background: var(--primary);
	transform: scale(1.2);
}

.carousel-dot:hover {
	background: var(--primary-dark);
}

/* Catalog Styles */
.catalog-section {
	padding: 48px 0;
}

.catalog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
	margin-top: 24px;
}

.catalog-item {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background: #fff;
}

.catalog-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.catalog-item img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	display: block;
}

@media (min-width: 1025px){
	.feature-grid{grid-template-columns:repeat(4,1fr)}
	.card-grid{grid-template-columns:repeat(3,1fr)}
}

/* Image Responsive */
img{max-width:100%;height:auto;display:block}
.card img{width:100%}
.product-detail .media img{width:auto;max-width:400px;height:auto;max-height:600px;object-fit:contain}



