/* FreshMart template visual adaptation for the existing Laravel storefront. */
:root {
    --primary: #18733f !important;
    --primary-dark: #0b5935 !important;
    --primary-light: #62a96c !important;
    --primary-rgb: 24, 115, 63 !important;
    --footer-bg: #083f2a;
}

body.app-home { background: #fff; color: #24352a; }
.app-home .site-header { background: #fff; }
.app-home .hero-banner { padding-top: 22px; }
.app-home .hero-slider { overflow: hidden; border-radius: 22px; box-shadow: 0 12px 34px rgba(22, 74, 39, .09); }
.app-home .hero-nav { background: #fff; color: #18733f; box-shadow: 0 4px 16px rgba(17, 57, 31, .12); }
.app-home .category-menu-section { margin-top: 22px; }
.app-home .category-menu-card { border: 1px solid #e6eee5; border-radius: 16px; background: #fff; transition: transform .2s, box-shadow .2s; }
.app-home .category-menu-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(17, 57, 31, .09); }
.app-home .category-menu-thumb { border-radius: 12px; background: #f2f8ec; }
.app-home .hot-deal-section, .app-home .flash-sale-section { border-radius: 20px; }
.app-home .flash-sale-section { background: linear-gradient(110deg, #0b6639, #16834b 58%, #2a9453); }
.app-home .flash-sale-head, .app-home .hot-deal-head { border-radius: 16px; }
.app-home .product-section { padding-top: 38px; }
.app-home .section-head { border-bottom-color: #dce9dc; }
.app-home .section-head h2 { color: #193d29; font-weight: 750; }
.app-home .product-grid { gap: 16px; }
.app-home .product-card { border: 1px solid #e6eee5; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 3px 14px rgba(17, 57, 31, .035); transition: transform .2s, box-shadow .2s, border-color .2s; }
.app-home .product-card:hover { transform: translateY(-3px); border-color: #c7ddc7; box-shadow: 0 12px 28px rgba(17, 57, 31, .09); }
.app-home .product-thumb { background: #f7faf4; }
.app-home .product-body { padding: 14px; }
.app-home .product-title a { color: #23362a; }
.app-home .product-title a:hover { color: #18733f; }
.app-home .product-price { color: #18733f; font-weight: 750; }
.app-home .deal-badge { background: #e4f2dc; color: #176c3c; border-radius: 6px; }
.app-home .promo-banner { border-radius: 18px; overflow: hidden; }
.app-home .brand-card, .app-home .vendor-card, .app-home .blog-card { border-radius: 16px; border-color: #e6eee5; overflow: hidden; }
.app-home .brand-card:hover, .app-home .vendor-card:hover, .app-home .blog-card:hover { box-shadow: 0 10px 25px rgba(17, 57, 31, .08); }
.app-home .site-footer { background: #083f2a; }

@media (max-width: 700px) {
    .app-home .hero-banner { padding-top: 12px; }
    .app-home .hero-slider { border-radius: 15px; }
    .app-home .product-grid { gap: 10px; }
    .app-home .product-card { border-radius: 13px; }
    .app-home .product-body { padding: 10px; }
}

/* =====================================================================
   FreshMart redesign layer (structure + components)
   Loaded after style.css. Scoped to body.app-home (set in master layout).
   ===================================================================== */
:root{
    --fm-green:#117a43; --fm-green-2:#075b32; --fm-lime:#eaf5df; --fm-ink:#14251b;
    --fm-muted:#718078; --fm-line:#e7eee8; --fm-cream:#f8fbf6; --fm-sale:#d65a30;
    --fm-display:'Manrope','Hind Siliguri',sans-serif; --fm-body:'DM Sans','Hind Siliguri',sans-serif;
    --container:1200px;
}
body.app-home{font-family:var(--fm-body);color:var(--fm-ink);background:#fff}
.app-home .container{width:min(var(--container),calc(100% - 48px))}
.fm-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--fm-green);font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}
.fm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;padding:13px 20px;font-weight:700;font-size:13px;background:var(--fm-green);color:#fff;box-shadow:0 7px 15px #0d78301a;transition:background .2s}
.fm-btn:hover{background:var(--fm-green-2)}
.fm-btn-light{background:#f5f9f0;color:var(--fm-green)}
.fm-btn-light:hover{background:#fff;color:var(--fm-green-2)}

/* ---------- Top bar ---------- */
.fm-topbar{background:var(--fm-green-2);color:#e8f7ec;font-size:12px}
.fm-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
.fm-topbar a{color:#e8f7ec;margin-left:18px;opacity:.92}.fm-topbar a:hover{opacity:1;text-decoration:underline}
.fm-topbar i{margin-right:6px;font-size:11px}
.fm-topbar-mid:empty{display:none}

/* ---------- Header ---------- */
.app-home .site-header{background:#fff;border-bottom:1px solid #eff3ef}
.app-home .logo img{height:50px;max-width:210px;object-fit:contain}
.app-home .mobile-search{position:relative}
.app-home .mobile-search input{width:100%;height:46px;border:1px solid var(--fm-line);border-radius:13px;background:#f9fbf8;padding:0 46px 0 16px;font:400 14px var(--fm-body);color:var(--fm-ink);outline:0;transition:border-color .2s,box-shadow .2s}
.app-home .mobile-search input:focus{border-color:var(--fm-green);box-shadow:0 0 0 3px #117a4318;background:#fff}
.app-home .mobile-search .search-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--fm-green);cursor:pointer}
.app-home .cart-btn{background:var(--fm-green);border-radius:12px;padding:10px 15px;font-weight:700;gap:9px;box-shadow:0 7px 15px #0d78301a}
.app-home .cart-btn:hover{background:var(--fm-green-2)}
.app-home .cart-count{background:#fff;color:var(--fm-green);border-radius:20px;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:11px;font-weight:800}
.app-home .profile-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--fm-line);border-radius:12px;color:#33453a;background:#fff}
.app-home .profile-btn:hover{border-color:var(--fm-green);color:var(--fm-green)}
.app-home .btn-track{background:var(--fm-lime);color:var(--fm-green);border-radius:12px;font-weight:700;padding:11px 16px}
.app-home .btn-track:hover{background:var(--fm-green);color:#fff}
.app-home .menu-toggle{background:var(--fm-lime);color:var(--fm-green)}
.app-home .cart-dropdown{border-radius:16px;border:1px solid var(--fm-line);box-shadow:0 18px 44px #143f1a22}
.app-home .mini-cart-checkout,.app-home .mini-cart-view{border-radius:10px}
.app-home .mini-cart-checkout{background:var(--fm-green);color:#fff}
.app-home .mini-cart-view{border:1px solid var(--fm-green);color:var(--fm-green)}

@media (min-width:901px){
    .app-home .header-inner{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;grid-template-areas:"logo search actions" "nav nav nav";gap:0 32px;padding:18px 0 0;align-items:center}
    .app-home .logo{grid-area:logo}
    .app-home .mobile-search{display:block;grid-area:search;width:100%;max-width:560px;justify-self:center}
    .app-home .header-actions{grid-area:actions;gap:12px}
    .app-home .menu-toggle,.app-home .drawer-head,.app-home .nav-cat-desktop,.app-home .nav-cat-mobile,.app-home .drawer-only,.app-home .drawer-only-block,.app-home .mobile-category-scroll{display:none!important}
    .app-home .main-nav{grid-area:nav;display:block;margin-top:16px;border-top:1px solid #edf2ec}
    .app-home .drawer-links{display:block}
    .fm-nav-desktop{display:flex;align-items:center;gap:34px;height:54px;font-size:14px}
    .fm-nav-link{color:#3c4a40;font-weight:500;position:relative;padding:6px 0}
    .fm-nav-link:hover,.fm-nav-link.active{color:var(--fm-green)}
    .fm-nav-link.active::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--fm-green);border-radius:2px}
    .fm-nav-note{margin-left:auto;color:var(--fm-green);font-size:12px;font-weight:600}.fm-nav-note i{margin-right:6px}
    .fm-allcat{position:relative;align-self:stretch;display:flex}
    .fm-allcat-btn{height:100%;padding:0 22px;border:0;background:var(--fm-green);color:#fff;display:flex;align-items:center;gap:10px;font:700 14px var(--fm-body);border-radius:0 0 12px 12px;cursor:pointer}
    .fm-allcat-btn:hover,.fm-allcat:focus-within .fm-allcat-btn{background:var(--fm-green-2)}
    .fm-allcat-menu{display:none;position:absolute;top:100%;left:0;min-width:280px;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid var(--fm-line);border-radius:14px;box-shadow:0 18px 44px #143f1a24;padding:8px;z-index:320}
    .fm-allcat:hover .fm-allcat-menu,.fm-allcat:focus-within .fm-allcat-menu{display:block}
    .fm-allcat-item{position:relative}
    .fm-allcat-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:14px;color:#2d3d33}
    .fm-allcat-link img{width:30px;height:30px;border-radius:8px;object-fit:cover;background:#f2f8ec}
    .fm-allcat-link>i:first-child{width:30px;height:30px;border-radius:8px;background:var(--fm-lime);color:var(--fm-green);display:grid;place-items:center;font-size:13px}
    .fm-allcat-link span{flex:1}.fm-allcat-arrow{font-size:11px;color:var(--fm-muted)}
    .fm-allcat-item:hover>.fm-allcat-link{background:var(--fm-lime);color:var(--fm-green)}
    .fm-allcat-sub{display:none;position:absolute;left:calc(100% + 4px);top:0;min-width:220px;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid var(--fm-line);border-radius:14px;box-shadow:0 18px 44px #143f1a24;padding:8px}
    .fm-allcat-item:hover>.fm-allcat-sub{display:block}
    .fm-allcat-sub a{display:block;padding:9px 12px;border-radius:9px;font-size:13px;color:#3c4a40}.fm-allcat-sub a:hover{background:var(--fm-lime);color:var(--fm-green)}
    .fm-allcat-empty{display:block;padding:12px;color:var(--fm-muted);font-size:13px}
}
@media (max-width:900px){
    .fm-nav-desktop{display:none}
    .fm-topbar-mid,.fm-topbar-right{display:none}
    .fm-topbar-inner{justify-content:center;min-height:32px}
    .app-home .container{width:calc(100% - 32px)}
    .app-home .mobile-search input{height:42px}
    .app-home .mobile-category-scroll .category-chip{border-radius:30px}
    .app-home .mobile-category-scroll .category-chip.active{background:var(--fm-green);border-color:var(--fm-green);color:#fff}
}

/* ---------- Hero ---------- */
.app-home .hero-banner{padding-top:26px}
.app-home .hero-slider{border-radius:24px;overflow:hidden;box-shadow:0 14px 38px #164a2717;background:#f2f8e8}
.app-home .hero-nav{background:#fff;color:var(--fm-green)}
.app-home .hero-dot.active,.app-home .hero-dots .active{background:var(--fm-green)}

/* ---------- Benefits strip ---------- */
.fm-benefits{margin-top:22px}
.fm-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--fm-line);border-radius:16px;padding:20px 12px;box-shadow:0 6px 24px #173c1605;background:#fff}
.fm-benefit{display:flex;align-items:center;gap:12px;padding:0 16px;border-right:1px solid var(--fm-line)}
.fm-benefit:last-child{border-right:0}
.fm-benefit-icon{width:44px;height:44px;border-radius:14px;background:var(--fm-lime);color:var(--fm-green);display:grid;place-items:center;flex-shrink:0;font-size:18px}
.fm-benefit p{margin:0}.fm-benefit b,.fm-benefit small{display:block}
.fm-benefit b{font-size:13px;font-weight:700}.fm-benefit small{font-size:11px;color:var(--fm-muted);margin-top:3px}

/* ---------- Sections / headings ---------- */
.fm-section{padding-top:56px}
.app-home .product-section,.app-home .brand-section,.app-home .vendor-section,.app-home .blog-section{padding-top:56px}
.app-home .section-head{border:0;border-radius:0;padding:0;margin-bottom:24px;align-items:flex-end}
.app-home .section-head h2{font-family:var(--fm-display);font-size:28px;font-weight:800;letter-spacing:-.8px;text-transform:none;color:var(--fm-ink);margin:8px 0 4px}
.fm-head-copy p{font-size:13px;color:var(--fm-muted);margin:0}
.app-home .btn-view-all{background:none;color:var(--fm-green);font:700 13px var(--fm-body);text-transform:none;padding:0 0 4px;display:inline-flex;align-items:center;gap:8px}
.app-home .btn-view-all:hover{color:var(--fm-green-2)}

/* ---------- Category cards ---------- */
.fm-category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.fm-category-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--fm-line);border-radius:16px;padding:14px;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.fm-category-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #143f1a14;border-color:#c7ddc7}
.fm-category-thumb{width:100%;height:96px;border-radius:12px;background:#f5f9f0;display:grid;place-items:center;overflow:hidden;margin-bottom:12px;color:var(--fm-green);font-size:34px}
.fm-category-thumb img{width:100%;height:100%;object-fit:cover}
.fm-category-card b{font-size:13px;font-weight:700;line-height:1.3}
.fm-category-card small{font-size:11px;color:var(--fm-muted);margin-top:4px}
.fm-category-arrow{position:absolute;right:12px;bottom:12px;width:26px;height:26px;border-radius:50%;background:var(--fm-lime);color:var(--fm-green);display:grid;place-items:center;font-size:11px;opacity:0;transform:translateX(-4px);transition:.2s}
.fm-category-card:hover .fm-category-arrow{opacity:1;transform:none}

/* ---------- Promo band ---------- */
.fm-promo-section{padding-top:56px}
.fm-promo{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(100deg,#0b6639,#13834a);color:#fff;padding:38px 46px;min-height:220px;display:flex;align-items:center}
.fm-promo .fm-eyebrow{color:#c8efc9}
.fm-promo h2{font:800 34px/1.15 var(--fm-display);letter-spacing:-1.3px;margin:12px 0}
.fm-promo h2 em{font-style:normal;color:#c9f0a7}
.fm-promo p{font-size:13px;color:#d0e8d7;margin:0 0 20px;max-width:360px}
.fm-promo-art{position:absolute;right:7%;top:50%;transform:translateY(-50%) rotate(-8deg);display:flex;gap:18px;font-size:74px;color:#ffffff30}
.fm-promo-art i:nth-child(2){font-size:96px;color:#ffffff40}

/* ---------- Flash / hot deal bands ---------- */
.app-home .flash-sale-section,.app-home .hot-deal-section{margin-top:56px;padding:26px 0;border-radius:22px}
.app-home .flash-sale-section{background:linear-gradient(110deg,#0b6639,#16834b 58%,#2a9453)}
.app-home .hot-deal-section{background:var(--fm-cream);border:1px solid var(--fm-line)}
.app-home .flash-sale-head,.app-home .hot-deal-head{border-radius:16px}
.app-home .flash-sale-viewall,.app-home .hot-deal-viewall{border-radius:10px;font-weight:700}

/* ---------- Product cards ---------- */
.app-home .product-grid{grid-template-columns:repeat(4,1fr);gap:16px}
.app-home .product-card{border:1px solid var(--fm-line);border-radius:16px;background:#fff;box-shadow:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.app-home .product-card:hover{transform:translateY(-3px);border-color:#c7ddc7;box-shadow:0 12px 30px #143f1a14}
.app-home .product-thumb{background:#f7faf4;aspect-ratio:1/.9}
.app-home .product-thumb img{border-radius:0;transition:transform .35s}
.app-home .product-card:hover .product-thumb img{transform:scale(1.04)}
.app-home .deal-badge{left:12px;top:12px;background:#fff0e9;color:var(--fm-sale);border-radius:6px;font-size:11px;font-weight:800;padding:5px 8px}
.app-home .deal-stockout{background:#14251bb0;font-size:13px}
.app-home .product-body{padding:15px;text-align:left}
.app-home .product-title{font:700 14px/1.35 var(--fm-display);min-height:38px;margin-bottom:6px;color:var(--fm-ink)}
.app-home .product-title a:hover{color:var(--fm-green)}
.fm-card-meta{margin:0 0 6px}.fm-card-unit{font-size:11px;color:var(--fm-muted);background:#f3f7f1;border-radius:6px;padding:2px 8px}
.app-home .product-rating{color:#efa923;font-size:12px;margin-bottom:6px}
.app-home .product-price{font:800 18px var(--fm-display);color:var(--fm-green);margin:8px 0 12px}
.app-home .product-price del{font:400 12px var(--fm-body);color:#a1aaa3;margin-right:6px}
.app-home .product-actions{gap:8px}
.app-home .btn-order{background:var(--fm-green);border-radius:10px;font:700 12px var(--fm-body);text-transform:none;padding:11px 0;cursor:pointer;border:0}
.app-home .btn-order:hover{background:var(--fm-green-2)}
.app-home .btn-cart{width:40px;height:40px;border:0;background:var(--fm-lime);color:var(--fm-green);border-radius:10px;cursor:pointer}
.app-home .btn-cart:hover{background:var(--fm-green);color:#fff}
.app-home .btn-load-more{background:var(--fm-green);color:#fff;border-radius:12px;padding:13px 30px;font-weight:700}
.app-home .btn-load-more:hover{background:var(--fm-green-2)}

/* ---------- Brand / vendor / blog ---------- */
.app-home .brand-card,.app-home .vendor-card,.app-home .blog-card{border:1px solid var(--fm-line);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.app-home .brand-card:hover,.app-home .vendor-card:hover,.app-home .blog-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #143f1a14}
.app-home .blog-read-more,.app-home .vendor-visit-btn{color:var(--fm-green)}
.app-home .blog-card-tag{background:var(--fm-lime);color:var(--fm-green)}

/* ---------- Empty state ---------- */
.fm-empty-state{text-align:center;border:1px dashed #cfe0cf;border-radius:20px;background:var(--fm-cream);padding:56px 20px}
.fm-empty-state>span{width:76px;height:76px;margin:0 auto 16px;border-radius:24px;background:var(--fm-lime);color:var(--fm-green);display:grid;place-items:center;font-size:32px}
.fm-empty-state h3{font:800 22px var(--fm-display);margin:0 0 6px}.fm-empty-state p{color:var(--fm-muted);font-size:14px;margin:0}

/* ---------- Newsletter ---------- */
.fm-newsletter{margin-top:70px;margin-bottom:56px}
.fm-newsletter-card{display:flex;align-items:center;gap:22px;border:1px solid var(--fm-line);background:var(--fm-cream);border-radius:20px;padding:28px 34px}
.fm-news-icon{width:56px;height:56px;border-radius:17px;background:#e2f0d7;color:var(--fm-green);display:grid;place-items:center;font-size:24px;flex-shrink:0}
.fm-news-copy h2{font:800 21px var(--fm-display);letter-spacing:-.6px;margin:6px 0 4px}
.fm-news-copy p{font-size:12px;color:var(--fm-muted);margin:0}
.fm-news-form{margin-left:auto;min-width:min(400px,100%)}
.fm-news-form .newsletter-form{display:flex;gap:8px;margin:0}
.fm-news-form .newsletter-form input[type=email]{flex:1;min-width:0;height:46px;border:1px solid var(--fm-line);border-radius:10px;padding:0 14px;background:#fff;color:var(--fm-ink);outline-color:var(--fm-green)}
.fm-news-form .newsletter-form button{height:46px;border:0;border-radius:10px;background:var(--fm-green);color:#fff;padding:0 18px;font-weight:700;cursor:pointer;white-space:nowrap}
.fm-news-form .newsletter-form button:hover{background:var(--fm-green-2)}
.fm-news-form .newsletter-note{margin-top:8px;font-size:12px}
.fm-news-form .newsletter-note.is-success{color:#117a43}.fm-news-form .newsletter-note.is-error{color:#c0392b}

/* ---------- Footer ---------- */
.app-home .site-footer{background:#083f2a;color:#e5f4e9}
.app-home .footer-grid{grid-template-columns:1.6fr 1fr 1.2fr 1.5fr;gap:44px;padding:50px 0 36px}
.app-home .footer-about p{font-size:13px;color:#b6d1c0;max-width:300px;opacity:1}
.app-home .footer-grid h4{font:800 14px var(--fm-display);color:#fff;margin-bottom:18px}
.app-home .footer-grid ul a,.footer-contact p{font-size:13px;color:#b6d1c0}
.app-home .footer-grid ul li{margin:10px 0}
.app-home .footer-grid ul a:hover{color:#fff}
.footer-contact p{display:flex;gap:10px;margin:0 0 12px;line-height:1.6}.footer-contact p i{margin-top:4px;color:#8fd1a8}
.app-home .social-links a{background:#1b6746;color:#fff;border-radius:50%}.app-home .social-links a:hover{background:var(--fm-green)}
.app-download-links{margin-top:22px}.app-download-links h4{margin-bottom:12px!important;font-size:13px!important}
.app-download-row{display:flex;gap:12px;flex-wrap:wrap}.app-download-row a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.28);border-radius:6px;color:#fff;font-size:12px;font-weight:700}.app-download-row a:hover{background:rgba(255,255,255,.1);color:#fff}
.app-home .footer-bottom{border-top:1px solid #ffffff20;background:#06301f;color:#a9c8b5;font-size:12px;padding:16px 0}
.app-home .features-bar{background:var(--fm-green);margin-top:40px}

/* ---------- Inner pages: banners, breadcrumb, toolbar ---------- */
.app-home .category-banner{background:linear-gradient(110deg,#f2f8e8,#e1f1cf);color:var(--fm-ink);padding:34px 0;margin-bottom:0}
.app-home .category-banner h1{font:800 clamp(1.5rem,3vw,2.1rem) var(--fm-display);letter-spacing:-1px;text-align:left}
.app-home .search-hero{background:linear-gradient(110deg,#f2f8e8,#e1f1cf);color:var(--fm-ink)}
.app-home .shop-page,.app-home .category-page{background:#fff;padding-top:22px}
.app-home .shop-breadcrumb{font-size:12px;color:var(--fm-muted)}.app-home .shop-breadcrumb a:hover{color:var(--fm-green)}
.app-home .shop-sidebar{border:1px solid var(--fm-line);border-radius:16px;box-shadow:none}
.app-home .shop-sidebar-title{font-family:var(--fm-display);font-weight:800}
.app-home .shop-filter-apply{background:var(--fm-green);border-radius:10px;border:0;color:#fff;font-weight:700}
.app-home .shop-filter-apply:hover{background:var(--fm-green-2)}
.app-home .shop-toolbar{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-cream);box-shadow:none}
.app-home .shop-sort select,.app-home .shop-price-inputs input{border:1px solid var(--fm-line);border-radius:10px}
.app-home .shop-filter-toggle{background:var(--fm-green);color:#fff;border-radius:10px}
.app-home .shop-page .page-link,.app-home .shop-pagination a,.app-home .shop-pagination span{border-radius:10px}
.app-home .shop-pagination .active>span,.app-home .shop-pagination .page-item.active .page-link{background:var(--fm-green);border-color:var(--fm-green);color:#fff}
.app-home .product-grid--shop{grid-template-columns:repeat(4,1fr);gap:16px}
.app-home .shop-empty{border:1px dashed #cfe0cf;border-radius:18px;background:var(--fm-cream)}

/* ---------- Product details ---------- */
.app-home .product-detail-page{background:#fff}
.app-home .breadcrumb a:hover{color:var(--fm-green)}
.app-home .product-gallery .gallery-main,.app-home .gallery-main{border-radius:18px;border:1px solid var(--fm-line);background:#f7faf4}
.app-home .gallery-thumb{border-radius:12px}.app-home .gallery-thumb.is-active{border-color:var(--fm-green)}
.app-home .product-detail-title{font-family:var(--fm-display);font-weight:800;letter-spacing:-.7px}
.app-home .product-detail-price,.app-home .product-detail-price .new{color:var(--fm-green);font-family:var(--fm-display);font-weight:800}
.app-home .weight-btn,.app-home .qty-selector,.app-home .qty-btn{border-radius:10px}
.app-home .weight-btn.is-active,.app-home .weight-btn.active{background:var(--fm-green);border-color:var(--fm-green);color:#fff}
.app-home .btn-add-cart{background:var(--fm-lime);color:var(--fm-green);border:1px solid var(--fm-green);border-radius:12px;font-weight:700}
.app-home .btn-add-cart:hover{background:var(--fm-green);color:#fff}
.app-home .btn-buy-now{background:var(--fm-green);color:#fff;border-radius:12px;font-weight:800;box-shadow:0 7px 15px #0d78301a}
.app-home .btn-buy-now:hover{background:var(--fm-green-2)}
.app-home .in-stock{color:var(--fm-green)}
.app-home .related-title,.app-home .pd-section-title{font-family:var(--fm-display);font-weight:800}
.app-home .product-reviews,.app-home .review-modal-box{border-radius:16px}
.app-home .btn-write-review,.app-home .btn-submit-review{background:var(--fm-green);border-radius:10px;color:#fff}

/* ---------- Cart / checkout ---------- */
.app-home .cart-page-card,.app-home .cart-page-summary{border:1px solid var(--fm-line);border-radius:18px;box-shadow:none;background:#fff}
.app-home .cart-page-card-head{background:var(--fm-cream);border-bottom:1px solid var(--fm-line)}
.app-home .cart-page-checkout-btn{background:var(--fm-green);border-radius:12px;font-weight:800;color:#fff}
.app-home .cart-page-checkout-btn:hover{background:var(--fm-green-2)}
.app-home .cart-page-coupon-btn{background:var(--fm-green);border-radius:10px;color:#fff}
.app-home .cart-page-line-total,.app-home .cart-page-summary-row.is-grand{color:var(--fm-green);font-family:var(--fm-display);font-weight:800}
.app-home .cart-page-thumb{border-radius:12px;background:#f7faf4}
.app-home .cart-page-trust-item i{color:var(--fm-green)}
.app-home .cart-page-empty{border:1px dashed #cfe0cf;border-radius:18px;background:var(--fm-cream)}
.app-home input:focus,.app-home select:focus,.app-home textarea:focus{border-color:var(--fm-green);outline-color:var(--fm-green)}
.app-home .btn-primary,.app-home .primary{background:var(--fm-green);border-color:var(--fm-green)}

/* ---------- Mobile bottom nav ---------- */
.app-home .mobile-bottom-nav a.active,.app-home .mobile-bottom-nav a:hover{color:var(--fm-green)}
.app-home .nav-badge{background:var(--fm-green)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
    .fm-category-grid{grid-template-columns:repeat(4,1fr)}
    .app-home .product-grid,.app-home .product-grid--shop{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
    .fm-benefits-grid{grid-template-columns:repeat(2,1fr);gap:16px 0;padding:16px 8px}
    .fm-benefit:nth-child(2){border-right:0}
    .fm-category-grid{grid-template-columns:repeat(3,1fr)}
    .fm-newsletter-card{flex-wrap:wrap}.fm-news-form{margin-left:0;width:100%}
    .app-home .footer-grid{grid-template-columns:repeat(2,1fr);gap:30px}
    .app-home .footer-about{grid-column:1/-1}
    .fm-promo{padding:30px 26px}.fm-promo h2{font-size:28px}
    .app-home .section-head h2{font-size:23px}
    .app-home .hero-banner{padding-top:14px}.app-home .hero-slider{border-radius:16px}
}
@media (max-width:640px){
    .app-home .product-grid,.app-home .product-grid--shop{grid-template-columns:repeat(2,1fr);gap:10px}
    .app-home .product-body{padding:11px}
    .app-home .product-title{font-size:12.5px;min-height:34px}
    .app-home .product-price{font-size:16px;margin:6px 0 10px}
    .app-home .btn-order{font-size:11px}.app-home .btn-cart{width:36px;height:36px}
    .fm-category-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .fm-category-thumb{height:80px}
    .fm-benefit{padding:0 6px;gap:9px;border-right:0}.fm-benefit-icon{width:36px;height:36px;font-size:15px}.fm-benefit b{font-size:12px}.fm-benefit small{font-size:10px}
    .fm-section,.app-home .product-section,.app-home .brand-section,.app-home .vendor-section,.app-home .blog-section,.fm-promo-section{padding-top:38px}
    .fm-promo{min-height:200px;padding:26px 22px;align-items:flex-start}.fm-promo h2{font-size:25px}.fm-promo p{max-width:230px}.fm-promo-art{opacity:.5;right:-4%;font-size:50px;top:auto;bottom:10px;transform:rotate(-8deg)}
    .fm-newsletter{margin-top:46px;margin-bottom:34px}.fm-newsletter-card{padding:20px;gap:14px}.fm-news-form .newsletter-form{flex-direction:column}
    .app-home .footer-grid{grid-template-columns:1fr 1fr;gap:26px 18px;padding:36px 0 26px}
    .app-home .container{width:calc(100% - 24px)}
    .app-home .category-banner{padding:24px 0}
}
