.shop-wrap{max-width:1100px;margin:0 auto;padding:1.5rem 5%}
.shop-card{position:relative;display:block;text-decoration:none;color:inherit}
.shop-card h3{font-size:1rem}
.shop-card .noimg,.detail-img .noimg{display:flex;align-items:center;justify-content:center;background:#e8efe8;color:#9aa89a;font-size:2.5rem;aspect-ratio:1/1;width:100%}
.shop-card img{width:100%;aspect-ratio:1/1;object-fit:cover;height:auto}
.price{color:#2e7d32;font-weight:600}.old{color:#999;font-size:.85em}
.off{background:#fff3e0;color:#b45309;border-radius:99px;padding:.1rem .5rem;font-size:.75rem}
.ribbon{position:absolute;top:.5rem;left:.5rem;background:#d9480f;color:#fff;font-size:.75rem;padding:.15rem .5rem;border-radius:99px;z-index:1}
.ins{color:#2e7d32}.oos{color:#c62828}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.detail-img img{width:100%;border-radius:16px;aspect-ratio:1/1;object-fit:cover}
.cat{letter-spacing:.1em;text-transform:uppercase;color:#8b5a2b;font-size:.8rem}
.care{background:#eef7e6;border:1px solid #b7d99b;border-radius:10px;padding:.8rem 1rem;margin:1rem 0}
.qty{display:inline-flex;align-items:center;border:1px solid #ccc;border-radius:99px;overflow:hidden}
.qty button{border:0;background:none;padding:.5rem .9rem;font-size:1.1rem;cursor:pointer}
.qty span{min-width:2rem;text-align:center}
.row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.btn-wa{display:block;text-align:center;margin-top:.8rem;padding:.8rem;border:2px solid #2e7d32;border-radius:99px;color:#2e7d32;text-decoration:none;font-weight:600}
.btn-wa:hover{background:#2e7d32;color:#fff}
.btn-wa.disabled{pointer-events:none;opacity:.4}
/* admin */
.admin-bar{display:flex;justify-content:space-between;align-items:center;background:#8b5a2b;color:#fff;padding:1rem 5%}
.admin-bar a,.admin-bar button{color:#fff;background:none;border:0;cursor:pointer;font:inherit}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
.stat{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 1px 4px #0001}.stat b{display:block;font-size:1.8rem;color:#2e7d32}
.item{display:flex;gap:1rem;align-items:center;background:#fff;border-radius:12px;padding:.8rem;margin-bottom:.8rem;box-shadow:0 1px 4px #0001;flex-wrap:wrap}
.item .thumb{width:64px;height:64px;border-radius:8px;object-fit:cover;background:#e8efe8;flex:none}
.item .info{flex:1;min-width:160px}.item .info small{color:#777}
.stock{display:flex;align-items:center;gap:.4rem}
.stock button,.icon{border:1px solid #ccc;background:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer}
.icon.del{color:#c62828}.icon.ed{color:#2e7d32}
.fab{position:fixed;right:1rem;bottom:1rem;background:#2e7d32;color:#fff;border:0;border-radius:99px;padding:.9rem 1.3rem;font-size:1rem;cursor:pointer;box-shadow:0 4px 12px #0004}
dialog{border:0;border-radius:16px;padding:1.2rem;width:min(480px,94vw)}
dialog::backdrop{background:#0006}
dialog label{display:block;margin:.6rem 0 .2rem;font-size:.85rem;color:#555}
dialog input,dialog textarea,dialog select{width:100%;padding:.55rem;border:1px solid #ccc;border-radius:8px;font:inherit}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.banner{background:#fff8e1;border:1px solid #f0d37a;padding:.6rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}
@media(max-width:700px){.detail{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)!important}}

.search,.field{width:100%;padding:.7rem 1rem;border:1px solid #ccc;border-radius:99px;font:inherit;margin-bottom:.8rem}
.field{border-radius:10px}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.8rem}
.chip{border:1px solid #2e7d32;background:#fff;color:#2e7d32;border-radius:99px;padding:.35rem .9rem;cursor:pointer;white-space:nowrap;font:inherit}
.chip.on{background:#2e7d32;color:#fff}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.shop-wrap label{display:block;margin:.6rem 0 .2rem;font-size:.9rem}

/* ---- footer always at the bottom + uniform images ---- */
body{min-height:100vh;display:flex;flex-direction:column}
body>*{flex-shrink:0}
body>footer{margin-top:auto}
.product-card img,.shop-card img,.service-card img,.gallery-grid img,.detail-img img,.about .about-image,.noimg{
 width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover;border:0!important;border-radius:12px;background:#e8efe8!important}
.about .about-image{max-width:640px;display:block;margin:0 auto 1.5rem}
.noimg{display:flex;align-items:center;justify-content:center;color:#9aa89a;font-size:2.5rem}
#services-grid p,#gallery-grid p{grid-column:1/-1;text-align:center}
footer#site-footer{background:linear-gradient(180deg,#2e7d32,#14401a);color:#e8f5e9;padding:0;text-align:left}
.f-in{max-width:1100px;margin:0 auto;padding:2.5rem 5% 1.2rem}
.f-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.f-top h4{color:#fff;margin-bottom:.8rem;font-family:'Playfair Display',serif;font-size:1.1rem;padding-bottom:.4rem;border-bottom:2px solid #ffffff44;display:inline-block}
.f-top a{display:block;color:#c8e6c9;text-decoration:none;font-size:.9rem;margin:.45rem 0}
.f-top a:hover{color:#fff}
.f-logo{font-family:'Playfair Display',serif;font-size:1.6rem!important;color:#fff!important;font-weight:700}
.f-brand p{font-size:.9rem;color:#c8e6c9;margin:.6rem 0}
.f-social{display:flex;gap:.6rem;margin-top:.8rem}
.f-social a{width:38px;height:38px;border-radius:50%;background:#ffffff22;display:flex!important;align-items:center;justify-content:center;margin:0!important;color:#fff!important}
.f-social a:hover{background:#ffffff44}
.f-biz{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem 2rem;border-top:1px solid #ffffff33;margin-top:1.8rem;padding-top:1.5rem}
.f-biz span{display:block;font-size:.8rem;color:#a5d6a7}.f-biz b{font-weight:400;font-size:.9rem;color:#fff}
.f-bot{border-top:1px solid #ffffff33;margin-top:1.5rem;padding-top:1rem;font-size:.85rem;text-align:center;color:#c8e6c9}
.wa-float{position:fixed;right:16px;bottom:16px;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;font-size:1.9rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0005;z-index:50;text-decoration:none}
@media(max-width:800px){.f-top{grid-template-columns:1fr 1fr}.f-biz{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.f-top,.f-biz{grid-template-columns:1fr}}
.tabs{display:flex;gap:.5rem;overflow-x:auto;padding:.8rem 5%;background:#fff;box-shadow:0 1px 4px #0002;position:sticky;top:0;z-index:5}
.tabs button{border:0;background:#eef2ee;border-radius:99px;padding:.5rem 1rem;cursor:pointer;white-space:nowrap;font:inherit}
.tabs button.on{background:#2e7d32;color:#fff}
.prev{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin:.3rem 0}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
.gal div{position:relative}.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.gal button{position:absolute;top:6px;right:6px;background:#fff;color:#c62828;border:0;border-radius:50%;width:30px;height:30px;cursor:pointer}
.card{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 4px #0001}
dialog{max-height:92vh;overflow:auto}
