/* ==========================================================================
   Herbal Medical Centre Store — main stylesheet
   Warm herbal-apothecary: deep green, earth, gold on cream.
   ========================================================================== */

:root {
	--hmc-green-900: #14351f;
	--hmc-green-800: #1d4a2a;
	--hmc-green-700: #256b38;
	--hmc-green-100: #e7f0e6;
	--hmc-earth-700: #7a4f22;
	--hmc-earth-500: #a9713a;
	--hmc-gold: #c9a227;
	--hmc-gold-light: #f3e6b8;
	--hmc-cream: #faf7ef;
	--hmc-paper: #ffffff;
	--hmc-ink: #2b2a24;
	--hmc-ink-soft: #5c594d;
	--hmc-line: #e5ddc9;
	--hmc-radius: 10px;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--hmc-cream);
	color: var(--hmc-ink);
	font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

h1, h2, h3, h4 { color: var(--hmc-green-900); line-height: 1.25; margin: 0 0 .6em; }
p { margin: 0 0 1em; }
a { color: var(--hmc-green-700); }
a:hover { color: var(--hmc-green-900); }
img { max-width: 100%; height: auto; }

.hmc-wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Buttons */
.hmc-btn {
	display: inline-block;
	padding: 12px 26px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	border: 2px solid transparent;
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.hmc-btn-primary { background: var(--hmc-green-700); color: #fff; }
.hmc-btn-primary:hover { background: var(--hmc-green-900); color: #fff; }
.hmc-btn-outline { border-color: var(--hmc-green-700); color: var(--hmc-green-800); background: transparent; }
.hmc-btn-outline:hover { background: var(--hmc-green-700); color: #fff; }
.hmc-btn-whatsapp { background: #1fa855; color: #fff; }
.hmc-btn-whatsapp:hover { background: #178041; color: #fff; }
button.hmc-btn { font-size: 16px; }

/* ---------------------------------------------------------------- header */
.hmc-topbar { background: var(--hmc-green-900); color: #eef3ea; font-size: 13px; }
.hmc-topbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 7px; padding-bottom: 7px; }
.hmc-topbar-actions { display: flex; align-items: center; gap: 14px; }
.hmc-whatsapp-link { color: var(--hmc-gold-light); font-weight: 700; text-decoration: none; }
.hmc-whatsapp-link:hover { color: #fff; }

.hmc-currency-toggle { display: inline-flex; background: rgba(255,255,255,.14); border-radius: 999px; padding: 2px; }
.hmc-cur-btn {
	border: 0; background: transparent; color: #eef3ea; font-weight: 700; font-size: 12px;
	padding: 4px 12px; border-radius: 999px; cursor: pointer;
}
.hmc-cur-btn.is-active { background: var(--hmc-gold); color: var(--hmc-green-900); }

.hmc-mainbar { background: var(--hmc-paper); border-bottom: 1px solid var(--hmc-line); position: sticky; top: 0; z-index: 50; }
.hmc-mainbar-inner { display: flex; align-items: center; gap: 24px; padding-top: 12px; padding-bottom: 12px; }
.hmc-branding { flex: 0 0 auto; }
.hmc-site-title { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--hmc-green-900); }
.hmc-leaf { color: var(--hmc-green-700); display: inline-flex; }
.hmc-site-name { font-size: 24px; font-weight: 800; letter-spacing: .2px; line-height: 1.1; }
.hmc-site-name small { display: block; font-size: 11px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--hmc-earth-500); }

.hmc-search { flex: 1 1 auto; max-width: 480px; margin-left: auto; }
.hmc-search .woocommerce-product-search,
.hmc-search .search-form { display: flex; }
.hmc-search input[type="search"] {
	flex: 1; padding: 10px 14px; border: 2px solid var(--hmc-line); border-right: 0;
	border-radius: 999px 0 0 999px; font-size: 15px; background: var(--hmc-cream);
}
.hmc-search button[type="submit"] {
	padding: 10px 20px; border: 2px solid var(--hmc-green-700); background: var(--hmc-green-700); color: #fff;
	border-radius: 0 999px 999px 0; font-weight: 700; cursor: pointer;
}
.hmc-search button[type="submit"]:hover { background: var(--hmc-green-900); border-color: var(--hmc-green-900); }

.hmc-header-actions { display: flex; align-items: center; gap: 12px; }
.hmc-cart-link { position: relative; color: var(--hmc-green-900); text-decoration: none; display: inline-flex; padding: 6px; }
.hmc-cart-count {
	position: absolute; top: -2px; right: -4px; background: var(--hmc-gold); color: var(--hmc-green-900);
	font-size: 11px; font-weight: 800; min-width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 999px;
}
.hmc-menu-toggle { display: none; background: none; border: 2px solid var(--hmc-line); border-radius: 8px; font-size: 20px; padding: 4px 10px; cursor: pointer; color: var(--hmc-green-900); }

.hmc-nav { background: var(--hmc-green-800); }
.hmc-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.hmc-menu a { display: block; padding: 12px 18px; color: #f2f6f0; text-decoration: none; font-weight: 600; }
.hmc-menu a:hover, .hmc-menu .current-menu-item a { background: var(--hmc-green-900); color: var(--hmc-gold-light); }

/* ---------------------------------------------------------------- hero */
.hmc-hero {
	background:
		radial-gradient(1200px 400px at 85% -50px, rgba(201,162,39,.28), transparent 60%),
		linear-gradient(135deg, var(--hmc-green-900) 0%, var(--hmc-green-700) 70%, #2f7d44 100%);
	color: #f4f7f1;
	padding: 64px 0;
}
.hmc-hero-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.hmc-hero h1 { color: #fff; font-size: 42px; margin-bottom: .4em; }
.hmc-hero-sub { font-size: 18px; color: #e6efe2; max-width: 560px; }
.hmc-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.hmc-hero .hmc-btn-outline { border-color: var(--hmc-gold-light); color: #fff; }
.hmc-hero .hmc-btn-outline:hover { background: var(--hmc-gold); border-color: var(--hmc-gold); color: var(--hmc-green-900); }
.hmc-hero-search { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); border-radius: var(--hmc-radius); padding: 22px; }
.hmc-hero-search-label { font-weight: 700; color: var(--hmc-gold-light); margin-bottom: 10px; }
.hmc-hero-search input[type="search"] { background: #fff; }
.hmc-hero-search .search-field { width: 100%; }
.hmc-hero-search .woocommerce-product-search { display: flex; gap: 10px; }
.hmc-hero-search .woocommerce-product-search .search-field {
	flex: 1 1 auto;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: var(--hmc-radius);
	background: #fff;
	color: var(--hmc-ink);
	font-size: 16px;
}
.hmc-hero-search .woocommerce-product-search button[type="submit"] {
	flex: 0 0 auto;
	padding: 12px 22px;
	border: 0;
	border-radius: var(--hmc-radius);
	background: var(--hmc-gold);
	color: #1d2b1f;
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
}
.hmc-hero-search .woocommerce-product-search button[type="submit"]:hover { background: var(--hmc-gold-light); }
.hmc-category-tile-img {
	display: block;
	height: 150px;
	margin: -6px -6px 14px;
	border-radius: calc(var(--hmc-radius) - 6px);
	overflow: hidden;
	background: rgba(20,53,31,.06);
}
.hmc-category-tile-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ---------------------------------------------------------------- sections */
.hmc-section-title { font-size: 28px; }
.hmc-section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.hmc-section-more { font-weight: 700; text-decoration: none; }

.hmc-categories { padding: 56px 0 8px; }
.hmc-category-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 24px; margin-top: 18px; }
.hmc-category-tile {
	position: relative; display: block; text-decoration: none; color: var(--hmc-ink);
	background: var(--hmc-paper); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius);
	padding: 30px; overflow: hidden;
	transition: transform .18s, box-shadow .18s;
}
.hmc-category-tile::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 6px;
	background: linear-gradient(90deg, var(--hmc-green-700), var(--hmc-gold));
}
.hmc-category-tile:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(20,53,31,.14); color: var(--hmc-ink); }
.hmc-category-tile h3 { font-size: 24px; margin-bottom: .3em; }
.hmc-category-tile p { color: var(--hmc-ink-soft); }
.hmc-category-tile-badge {
	display: inline-block; background: var(--hmc-green-100); color: var(--hmc-green-800);
	font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px;
	padding: 4px 12px; border-radius: 999px; margin-bottom: 12px;
}
.hmc-tile-link { font-weight: 800; color: var(--hmc-earth-700); }

.hmc-amazon { padding: 40px 0 8px; }
.hmc-amazon-inner {
	display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap;
	background: var(--hmc-green-100); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius);
	padding: 28px 30px;
}
.hmc-amazon-inner p { color: var(--hmc-ink-soft); margin: 6px 0 0; max-width: 640px; }
.hmc-amazon-inner .hmc-btn { flex-shrink: 0; }

.hmc-amazon-cats { list-style: none; margin: 24px 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.hmc-amazon-cats li { margin: 0; }
.hmc-amazon-cats a {
	display: block; padding: 12px 16px; background: var(--hmc-paper);
	border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius);
	text-decoration: none; font-weight: 700; color: var(--hmc-green-800);
	transition: transform .15s, box-shadow .15s;
}
.hmc-amazon-cats a:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(20,53,31,.12); color: var(--hmc-green-900); }
.hmc-amazon-disclosure { color: var(--hmc-ink-soft); font-size: 14px; }

.hmc-featured { padding: 44px 0 8px; }
.hmc-featured--latest { padding-bottom: 56px; }

.hmc-trust { background: var(--hmc-green-900); color: #eef3ea; padding: 44px 0; margin-top: 20px; }
.hmc-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.hmc-trust-item h3 { color: var(--hmc-gold-light); font-size: 17px; margin-bottom: .3em; }
.hmc-trust-item p { margin: 0; font-size: 14px; color: #d8e2d4; }

.hmc-about-store { padding: 56px 0; }
.hmc-about-store-inner { max-width: 760px; }
.hmc-about-store p { color: var(--hmc-ink-soft); }

/* ---------------------------------------------------------------- pages */
.hmc-content { min-height: 40vh; }
.hmc-page-wrap { padding: 40px 20px 64px; }
.hmc-page-header { margin-bottom: 24px; border-bottom: 3px solid var(--hmc-gold); padding-bottom: 12px; }
.hmc-page-title { font-size: 34px; margin: 0; }
.hmc-page-content { max-width: 820px; }
.hmc-page-content h2 { font-size: 24px; margin-top: 1.6em; }
.hmc-page-content h3 { font-size: 19px; margin-top: 1.4em; }
.hmc-post-meta { color: var(--hmc-ink-soft); font-size: 14px; }
.hmc-post-card { background: var(--hmc-paper); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius); padding: 24px; margin-bottom: 20px; }
.hmc-post-card h2 { font-size: 22px; margin-bottom: .2em; }
.hmc-post-card h2 a { text-decoration: none; color: var(--hmc-green-900); }
.hmc-404 { text-align: center; max-width: 560px; margin: 0 auto; }

/* ---------------------------------------------------------------- footer */
.hmc-footer { background: var(--hmc-green-900); color: #dfe8da; margin-top: 0; }
.hmc-footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1.2fr 1fr; gap: 32px; padding: 52px 20px 36px; }
.hmc-footer h3 { color: var(--hmc-gold-light); font-size: 16px; text-transform: uppercase; letter-spacing: 1px; }
.hmc-footer a { color: #f0e9cf; }
.hmc-footer a:hover { color: #fff; }
.hmc-footer ul { list-style: none; margin: 0 0 1.4em; padding: 0; }
.hmc-footer ul li { margin-bottom: 6px; }
.hmc-footer p { font-size: 14px; }
.hmc-footer-bottom { border-top: 1px solid rgba(255,255,255,.15); }
.hmc-footer-bottom p { margin: 0; padding: 16px 0; font-size: 13px; text-align: center; color: #b9c8b3; }

/* ---------------------------------------------------------------- contact form */
.hmc-contact-form { background: var(--hmc-paper); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius); padding: 28px; margin-top: 20px; }
.hmc-contact-form label { font-weight: 600; display: block; }
.hmc-contact-form input[type="text"],
.hmc-contact-form input[type="email"],
.hmc-contact-form textarea {
	width: 100%; padding: 11px 13px; border: 2px solid var(--hmc-line); border-radius: 8px; font-size: 15px; margin-top: 6px; background: #fff;
}
.hmc-contact-form input:focus, .hmc-contact-form textarea:focus { border-color: var(--hmc-green-700); outline: none; }
.hmc-honeypot { position: absolute; left: -9999px; }
.hmc-form-notice { border-radius: 8px; padding: 12px 16px; font-weight: 600; }
.hmc-form-notice--ok { background: var(--hmc-green-100); color: var(--hmc-green-900); }
.hmc-form-notice--error, .hmc-form-notice--fail { background: #fbe7e7; color: #8f1d1d; }

/* ================================================================
   WooCommerce
   ================================================================ */
.hmc-woo-wrap { padding: 36px 20px 64px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top: 3px solid var(--hmc-green-700); background: var(--hmc-paper); border-radius: 0 8px 8px 0;
}
.woocommerce-error { border-top-color: #b3261e; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--hmc-green-700); color: #fff; border-radius: 999px; font-weight: 700; padding: 12px 24px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover { background: var(--hmc-green-900); color: #fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: var(--hmc-earth-700); color: #fff;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--hmc-green-900); }

/* Product cards */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	background: var(--hmc-paper); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius);
	padding: 16px; margin: 0 !important; width: auto !important; float: none !important;
	display: flex; flex-direction: column;
	transition: transform .16s, box-shadow .16s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(20,53,31,.12); }
.woocommerce ul.products li.product a img { border-radius: 6px; margin-bottom: 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; color: var(--hmc-green-900); font-weight: 700; }
.woocommerce ul.products li.product .price { color: var(--hmc-earth-700); font-weight: 800; font-size: 17px; }
.woocommerce ul.products li.product .price del { color: #999; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin-top: auto; text-align: center; }
.woocommerce span.onsale {
	background: var(--hmc-gold); color: var(--hmc-green-900); font-weight: 800; min-height: 0; line-height: 2.4; border-radius: 999px; padding: 0 12px;
}

/* Single product */
.woocommerce div.product { background: var(--hmc-paper); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius); padding: 32px; }
.woocommerce div.product .product_title { font-size: 30px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--hmc-earth-700); font-size: 26px; font-weight: 800; }
.woocommerce div.product form.cart .button { vertical-align: middle; }
.woocommerce .quantity .qty { padding: 9px; border: 2px solid var(--hmc-line); border-radius: 8px; }
.product_meta { font-size: 14px; color: var(--hmc-ink-soft); }
.woocommerce-tabs ul.tabs li.active { background: var(--hmc-paper); }
.woocommerce-tabs .panel { background: var(--hmc-paper); }

/* Cart / checkout */
.woocommerce table.shop_table { background: var(--hmc-paper); border-radius: var(--hmc-radius); overflow: hidden; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { background: var(--hmc-paper); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius); padding: 24px; }
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { background: var(--hmc-paper); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
	border: 2px solid var(--hmc-line); border-radius: 8px; padding: 10px 12px;
}

/* My account */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; background: var(--hmc-paper); border: 1px solid var(--hmc-line); border-radius: var(--hmc-radius); overflow: hidden; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 12px 18px; text-decoration: none; color: var(--hmc-green-900); font-weight: 600; }
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover { background: var(--hmc-green-100); }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--hmc-line); border-radius: 8px; margin: 0 3px; padding: 8px 14px;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--hmc-green-700); color: #fff; border-color: var(--hmc-green-700); }

/* Result count / ordering */
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 20px; }
.woocommerce .woocommerce-ordering select { padding: 8px 12px; border: 2px solid var(--hmc-line); border-radius: 8px; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 960px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
	.hmc-trust-grid { grid-template-columns: repeat(2, 1fr); }
	.hmc-footer-grid { grid-template-columns: 1fr 1fr; }
	.hmc-hero-inner { grid-template-columns: 1fr; }
	.hmc-hero h1 { font-size: 32px; }
	.hmc-search { display: none; }
}
@media (max-width: 720px) {
	.hmc-menu-toggle { display: inline-block; }
	.hmc-nav { display: none; }
	.hmc-nav.is-open { display: block; }
	.hmc-menu { flex-direction: column; }
	.hmc-category-tiles { grid-template-columns: 1fr; }
	.hmc-footer-grid { grid-template-columns: 1fr; }
	.hmc-topbar-text { display: none; }
	.woocommerce ul.products { grid-template-columns: 1fr 1fr; gap: 14px; }
	.woocommerce div.product { padding: 20px; }
}
