/*
Theme Name: Organic Growers Shop
Theme URI: https://organicgrowers.online
Author: Organic Growers
Description: A WooCommerce storefront for farm-sourced groceries and wellness products.
Version: 1.0.0
Text Domain: organicgrowers-shop
*/

:root { --ink:#183b2d; --forest:#1d563b; --leaf:#5b8135; --lime:#dce9b9; --cream:#f8f4e8; --paper:#fffdf6; --gold:#d69635; --line:#dce2cc; --muted:#607061; --shadow:0 18px 45px rgba(28,64,42,.12); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Arial,Helvetica,sans-serif; line-height:1.65; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--forest); }
.site-shell { min-height:100vh; display:flex; flex-direction:column; }
.container { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,253,246,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.header-row { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.brand { display:flex; align-items:center; gap:11px; font-weight:800; letter-spacing:.02em; }
.brand-mark { display:grid; place-items:center; width:43px; height:43px; border-radius:50% 50% 45% 45%; background:var(--forest); color:#fff; font-family:Georgia,serif; font-size:18px; box-shadow:inset 0 0 0 5px #bfd28d; }
.brand-logo { display:block; width:64px; height:64px; margin:-8px; border-radius:50%; object-fit:cover; }
.brand-copy { display:grid; line-height:1.05; }
.brand-copy strong { font-family:Georgia,serif; font-size:20px; }
.brand-copy small { margin-top:4px; font-size:10px; color:var(--muted); letter-spacing:.09em; text-transform:uppercase; }
.site-nav .menu { display:flex; align-items:center; gap:23px; padding:0; margin:0; list-style:none; }
.site-nav a { font-size:14px; font-weight:700; color:#42604f; }
.site-nav .current-menu-item a, .site-nav a:hover { color:var(--forest); }
.header-actions, .header-account-actions { display:flex; align-items:center; gap:12px; }
.mobile-account-actions { display:none; }
.cart-link, .button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:999px; font-weight:800; transition:transform .18s ease, background .18s ease; }
.cart-link { min-height:42px; padding:0 15px; border:1px solid #aabf8d; background:#f4f8e9; font-size:13px; }
.button { min-height:48px; padding:0 22px; border:1px solid transparent; cursor:pointer; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#fff; background:var(--forest); box-shadow:0 9px 22px rgba(29,86,59,.2); }
.button-primary:hover { color:#fff; background:#15442e; }
.button-secondary { color:var(--forest); background:transparent; border-color:#99af7e; }
.menu-toggle { display:none; border:0; background:none; color:var(--forest); font-weight:800; }
.hero { overflow:hidden; padding:80px 0 68px; background:radial-gradient(circle at 88% 5%,#dae8b9 0 13%,transparent 35%),linear-gradient(130deg,#f6f1df 0%,#fffdf6 58%,#e8efd0 100%); }
.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:55px; align-items:center; }
.eyebrow { margin:0 0 13px; color:#6d843d; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:Georgia,'Times New Roman',serif; line-height:1.12; }
h1 { max-width:730px; font-size:clamp(42px,5.4vw,72px); letter-spacing:-.045em; }
h2 { font-size:clamp(29px,3vw,43px); }
h3 { font-size:22px; }
.lead { max-width:640px; margin:24px 0 30px; color:#4e6357; font-size:18px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-note { margin-top:25px; color:#63725f; font-size:13px; }
.hero-art { position:relative; min-height:390px; border-radius:34px; background:linear-gradient(145deg,#1c5439,#315f35); box-shadow:var(--shadow); overflow:hidden; }
.hero-art::before, .hero-art::after { content:""; position:absolute; border-radius:50%; background:#d8e9ac; opacity:.85; }
.hero-art::before { width:255px; height:255px; right:-70px; top:-58px; }
.hero-art::after { width:165px; height:165px; left:-58px; bottom:-48px; background:#d99b3c; }
.farm-card { position:absolute; inset:55px 48px 48px; padding:30px; border:1px solid rgba(255,255,255,.42); border-radius:25px; background:rgba(255,255,255,.12); color:#fff; backdrop-filter:blur(4px); }
.farm-card small { letter-spacing:.13em; text-transform:uppercase; color:#e2f1bd; font-weight:800; }
.farm-card h2 { margin:18px 0 12px; font-size:36px; }
.farm-card p { margin:0; color:#ecf4dd; font-size:15px; line-height:1.45; }
.farm-dots { position:absolute; right:40px; bottom:36px; display:flex; gap:8px; }
.farm-dots span { width:12px; height:12px; border-radius:50%; background:#d9b159; }
.section { padding:85px 0; }
.section-soft { background:#eef3de; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:32px; }
.section-heading p { max-width:550px; margin:0; color:var(--muted); }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:19px; }
.product-card { display:flex; flex-direction:column; min-height:310px; padding:21px; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 25px rgba(33,61,39,.06); }
.product-visual { display:grid; place-items:center; min-height:142px; margin-bottom:19px; border-radius:13px; background:linear-gradient(135deg,#dcebb6,#f7f1dc); color:#54703c; font-family:Georgia,serif; font-size:25px; font-weight:700; text-align:center; }
.product-card .product-visual img { width:100%; height:142px; object-fit:cover; border-radius:13px; }
.product-card .product-visual:has(img.woocommerce-placeholder), .woocommerce ul.products li.product .woocommerce-LoopProduct-link:has(img.woocommerce-placeholder) { position:relative; overflow:hidden; background:linear-gradient(135deg,#dcebb6,#f7f1dc); }
.product-card .product-visual:has(img.woocommerce-placeholder) img.woocommerce-placeholder, .woocommerce ul.products li.product .woocommerce-LoopProduct-link:has(img.woocommerce-placeholder) img.woocommerce-placeholder { display:none; }
.product-card .product-visual:has(img.woocommerce-placeholder)::before, .woocommerce ul.products li.product .woocommerce-LoopProduct-link:has(img.woocommerce-placeholder)::before { content:"OG\A FARM TO HOME"; display:grid; place-content:center; width:100%; height:142px; border-radius:13px; color:#3d693b; background:radial-gradient(circle at 72% 22%,#bed48b 0 12%,transparent 12.5%),radial-gradient(circle at 27% 80%,#e8c366 0 10%,transparent 10.5%); font-family:Georgia,serif; font-size:19px; font-weight:700; line-height:1.7; letter-spacing:.04em; text-align:center; white-space:pre; }
.product-card .category { color:#708345; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.product-card h3 { margin:8px 0 9px; font-size:21px; }
.product-card .price { margin-top:auto; color:var(--forest); font-size:18px; font-weight:800; }
.product-card .price del { color:#829083; font-size:13px; font-weight:400; }
.product-card .add-to-cart { margin-top:14px; font-size:13px; font-weight:800; color:var(--forest); }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pillar { padding:30px; background:var(--paper); border-radius:18px; border:1px solid var(--line); }
.pillar .number { display:grid; place-items:center; width:36px; height:36px; margin-bottom:18px; border-radius:50%; color:#fff; background:var(--forest); font-weight:800; }
.pillar p { color:var(--muted); }
.commerce-shell { padding:60px 0 85px; }
.commerce-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:32px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom:23px; color:#788579; font-size:13px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:28px; color:var(--muted); }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto; margin:0; padding:18px; border:1px solid var(--line); border-radius:17px; background:var(--paper); box-shadow:0 10px 25px rgba(33,61,39,.05); }
.woocommerce ul.products li.product img { width:100%; height:175px; object-fit:contain; padding:8px; border-radius:12px; background:#f0f5dd; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:has(img.woocommerce-placeholder) { display:block; padding-top:183px; background:transparent; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:has(img.woocommerce-placeholder)::before { position:absolute; top:0; left:0; height:175px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:51px; padding:.6em 0 .35em; font-family:Georgia,serif; color:var(--ink); font-size:19px; }
.woocommerce ul.products li.product .price { color:var(--forest); font-weight:800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-proceed-to-checkout a.checkout-button { border-radius:999px; color:#fff; background:var(--forest); font-weight:800; }
.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt { border:0; border-radius:999px; color:#fff !important; background:var(--forest) !important; font-weight:800; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { color:#fff; background:#15442e; }
.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt:hover { color:#fff !important; background:#15442e !important; }
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:45px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float:none; width:auto; }
.woocommerce div.product .woocommerce-tabs { grid-column:1; }
.woocommerce div.product .related { grid-column:1 / -1; }
.woocommerce div.product .related ul.products { grid-template-columns:repeat(4,1fr); }
.woocommerce div.product .product_title { font-size:40px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--forest); font-size:24px; font-weight:800; }
.woocommerce table.shop_table { border:1px solid var(--line); border-radius:15px; background:var(--paper); }
.woocommerce-checkout #payment { background:#eff4df; border-radius:16px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single { min-height:46px; border:1px solid #bdc8ad; border-radius:9px; background:#fff; padding:8px 12px; }
.content-paper { max-width:900px; padding:46px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 13px 30px rgba(33,61,39,.05); }
.content-paper h1 { margin-bottom:25px; font-size:47px; }
.content-paper h2 { margin:35px 0 14px; font-size:29px; }
.content-paper h3 { margin:25px 0 10px; }
.content-paper p, .content-paper li { color:#4c6155; }
.content-paper a { color:var(--forest); text-decoration:underline; }
.og-contact-form { display:grid; gap:15px; max-width:680px; margin-top:25px; }
.og-contact-form label { display:grid; gap:6px; color:var(--ink); font-weight:800; font-size:14px; }
.og-contact-form input, .og-contact-form textarea { width:100%; border:1px solid #bdc8ad; border-radius:9px; background:#fff; padding:12px; font:inherit; }
.og-contact-form textarea { min-height:130px; resize:vertical; }
.notice-success { padding:14px 16px; border-radius:10px; background:#e4f0c8; color:#35522c; font-weight:700; }
.site-footer { margin-top:auto; padding:55px 0 28px; color:#dce9d1; background:#173f2d; }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:35px; }
.site-footer h3 { color:#fff; font-size:20px; }
.site-footer p, .site-footer li { color:#c2d3c0; font-size:14px; }
.site-footer ul { padding:0; margin:12px 0 0; list-style:none; }
.site-footer li { margin:7px 0; }
.footer-bottom { margin-top:38px; padding-top:20px; border-top:1px solid rgba(255,255,255,.16); color:#b1c6b1; font-size:12px; }
@media (max-width:900px) { .site-nav { display:none; } .site-nav.is-open { display:block; position:absolute; top:80px; left:0; right:0; padding:18px 20px; background:var(--paper); border-bottom:1px solid var(--line); } .site-nav.is-open .menu { display:grid; gap:13px; } .site-nav.is-open .mobile-account-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line); } .site-nav.is-open .mobile-account-actions .button { flex:1 1 145px; } .header-account-actions, .header-actions .shop-now { display:none; } .menu-toggle { display:block; } .hero-grid { grid-template-columns:1fr; } .product-grid,.woocommerce ul.products { grid-template-columns:repeat(2,1fr); } .pillars { grid-template-columns:1fr; } .header-actions { margin-left:auto; } .hero { padding-top:55px; } }
@media (max-width:600px) { .container { width:min(100% - 28px,1160px); } .brand-copy small { display:none; } .cart-link { padding:0 10px; } .header-row { gap:10px; min-height:68px; } .header-actions .button { display:none; } .site-nav.is-open { top:68px; } .hero-art { min-height:315px; } .farm-card { inset:35px 28px 30px; padding:22px; } .farm-card h2 { font-size:34px; } .section { padding:60px 0; } .section-heading,.commerce-head { display:block; } .section-heading p { margin-top:15px; } .product-grid,.woocommerce ul.products { grid-template-columns:1fr !important; } .woocommerce ul.products li.product { width:100% !important; margin:0 !important; } .woocommerce ul.products li.product .woocommerce-LoopProduct-link:has(img.woocommerce-placeholder) { width:100%; } .woocommerce div.product { display:block; } .content-paper { padding:28px 22px; } .content-paper h1 { font-size:37px; } .footer-grid { grid-template-columns:1fr; gap:18px; } }

/* Botanical hair-oil artwork accent layer: additive to the core storefront theme. */
:root { --hibiscus:#a72c49; --blush:#fff0f1; --botanical-gold:#b77a31; --soft-leaf:#e7f0cf; }
.brand .custom-logo { display:block; width:64px; height:64px; margin:-8px; border-radius:50%; object-fit:cover; }
.hero { position:relative; background:radial-gradient(circle at 90% 12%,rgba(213,66,105,.14) 0 8%,transparent 8.5%),radial-gradient(circle at 4% 83%,rgba(91,129,53,.17) 0 10%,transparent 10.5%),linear-gradient(132deg,#fff9e8 0%,var(--blush) 52%,#e7f0cf 100%); }
.hero::before,.hero::after { position:absolute; z-index:0; width:125px; height:125px; border-radius:50%; content:""; pointer-events:none; opacity:.32; }
.hero::before { top:-48px; left:15%; background:radial-gradient(circle at 50% 8%,var(--hibiscus) 0 16%,transparent 17%),radial-gradient(circle at 88% 48%,var(--hibiscus) 0 16%,transparent 17%),radial-gradient(circle at 64% 88%,var(--hibiscus) 0 16%,transparent 17%),radial-gradient(circle at 18% 76%,var(--hibiscus) 0 16%,transparent 17%),radial-gradient(circle at 12% 30%,var(--hibiscus) 0 16%,transparent 17%),radial-gradient(circle at center,var(--botanical-gold) 0 14%,transparent 15%); transform:rotate(-16deg); }
.hero::after { right:37%; bottom:-74px; background:radial-gradient(ellipse at 25% 50%,var(--leaf) 0 22%,transparent 23%),radial-gradient(ellipse at 75% 50%,#365c36 0 22%,transparent 23%),radial-gradient(circle at center,var(--botanical-gold) 0 11%,transparent 12%); }
.hero-grid { position:relative; z-index:1; }
.hero .eyebrow,.section-heading .eyebrow { color:var(--hibiscus); }
.hero-note { color:#76525c; }
.section-soft { background:linear-gradient(135deg,#f9e8eb 0%,#fff8e7 50%,var(--soft-leaf) 100%); }
.section-heading h2::after,.commerce-head h1::after { display:block; width:82px; height:3px; margin-top:15px; background:linear-gradient(90deg,var(--hibiscus),var(--botanical-gold),var(--leaf)); border-radius:99px; content:""; }
.product-card,.woocommerce ul.products li.product,.content-paper { border-color:#ead3c2; background:linear-gradient(145deg,#fffefa 0%,#fff9f2 100%); }
.product-card:hover,.woocommerce ul.products li.product:hover { transform:translateY(-4px); border-color:#dca7a9; box-shadow:0 17px 34px rgba(116,60,62,.13); }
.woocommerce ul.products li.product img,.product-visual { background:linear-gradient(135deg,#e6efd2,#fff1ef); }
.button-primary,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-proceed-to-checkout a.checkout-button { background:linear-gradient(135deg,var(--forest),#2e6a45); }
.button-primary:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { background:linear-gradient(135deg,#15442e,#235a3a); }
.button-secondary { border-color:#d5989f; color:var(--hibiscus); background:#fffafb; }
.button-secondary:hover { color:#851d39; background:var(--blush); }
.profile-avatar { display:inline-flex; align-items:center; max-width:178px; min-height:42px; gap:8px; padding:4px 11px 4px 4px; border:1px solid #d9b2a5; border-radius:999px; color:var(--forest); background:#fffafa; font-size:13px; font-weight:800; }
.profile-avatar:hover { color:var(--forest); background:var(--blush); }
.profile-avatar-image-wrap,.profile-avatar-image { display:block; width:34px; height:34px; overflow:hidden; border-radius:50%; }
.profile-avatar-image { border:2px solid #b8ce8e; object-fit:cover; }
.profile-avatar-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { border-radius:16px; }
.woocommerce-account .woocommerce-MyAccount-navigation { background:#edf3db; padding:14px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { color:var(--forest); font-weight:800; }
.site-footer { background:linear-gradient(135deg,#173f2d,#315b38); }
@media (max-width:900px) { .mobile-account-actions .profile-avatar { flex:1 1 100%; max-width:none; } }
