:root {
    --primary:#5FB847;
    --dark:#0b1220;
    --muted:#64748b;
    --bg:#f8fafc;
    --card:#fff;
    --border:#e2e8f0;
    --radius:16px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    background:var(--bg);
    color:#2F2F2F;
    text-rendering:optimizeSpeed
}

a {
    text-decoration:none;
    color:inherit
}

button,input,textarea,select {
    font:inherit
}

.container {
    width:min(1180px,calc(100% - 28px));
    margin:auto
}

.top {
    background:#5FB847;
    color:#000;
    font-size:13px
}

.top .container {
    display:flex;
    justify-content:space-between;
    padding:8px 0
}

.header{
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    min-height:80px;
}

.logo{
    flex:0 0 auto;
}


.search {
    flex:1;
    display:flex;
    max-width:600px;
    margin:auto
}

.search input {
    width:100%;
    border:1px solid var(--border);
    border-right:0;
    border-radius:12px 0 0 12px;
    padding:12px 15px;
    outline:0
}

.search button,.btn {
    border:0;
    background:#EF1628;
    color:#fff;
    padding:12px 18px;
    border-radius:0 12px 12px 0;
    cursor:pointer;
    font-weight:700
}

.btn {
    border-radius:10px;
    display:inline-block
}

.btn.secondary {
    background:#eaf2fb;
    color:#EF1628
}

.cart {
    font-weight:800;
    white-space:nowrap
}

.hero {
    padding:52px 0;
    background:linear-gradient(135deg,#eaf4ff,#fff)
}

.hero h1 {
    font-size:clamp(32px,5vw,58px);
    line-height:1.05;
    margin:0 0 14px
}

.hero p {
    color:var(--muted);
    max-width:650px;
    font-size:18px
}

.section {
    padding:38px 0
}

.section-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px
}

.section h2 {
    margin:0;
    font-size:28px
}

.grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}

.cat,.product {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
    contain:content
}

.cat img {
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    background:#eef2f7
}

.cat-body,.product-body {
    padding:14px
}

.cat h3,.product h3 {
    font-size:16px;
    margin:0 0 7px
}

.muted {
    color:var(--muted);
    font-size:14px
}

.product img {
    width:100%;
    aspect-ratio:1/1;
    object-fit:contain;
    background:#fff
}

.price {
    font-size:20px;
    font-weight:900;
    margin:9px 0
}

.product-actions {
    display:flex;
    gap:8px
}

.product-actions .btn {
    flex:1;
    text-align:center
}

.filters {
    display:flex;
    gap:10px;
    margin-bottom:20px
}

.filters input,.filters select,.form input,.form textarea {
    border:1px solid var(--border);
    border-radius:10px;
    padding:12px;
    background:#fff;
    outline:0
}

.filters input {
    flex:1
}

.footer {
    margin-top:40px;
    background:#2F2F2F;
    color:#fff;
    padding:40px 0
}

.footer p {
    color:#cbd5e1
}

.detail {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:36px;
    padding:35px 0
}

.detail-image {
    background:#fff;
    border-radius:18px;
    border:1px solid var(--border);
    padding:20px
}

.detail-image img {
    width:100%;
    max-height:560px;
    object-fit:contain
}

.detail h1 {
    font-size:clamp(28px,4vw,44px);
    margin-top:0
}

.description {
    white-space:pre-line;
    color:#475569;
    line-height:1.7
}

.qty {
    width:80px;
    padding:11px;
    border:1px solid var(--border);
    border-radius:10px
}

.cart-table {
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:15px;
    overflow:hidden
}

.cart-table th,.cart-table td {
    padding:13px;
    border-bottom:1px solid var(--border);
    text-align:left
}

.checkout {
    display:grid;
    grid-template-columns:1fr 380px;
    gap:24px
}

.panel {
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:20px
}

.form {
    display:grid;
    gap:12px
}

.form textarea {
    min-height:110px;
    resize:vertical
}

.notice {
    padding:14px;
    border-radius:10px;
    background:#ecfdf5;
    color:#166534;
    margin-bottom:16px
}

.admin-nav {
    background:#2F2F2F;
    color:#fff;
    padding:15px
}

.admin-nav .container {
    display:flex;
    justify-content:space-between;
    align-items:center
}

.table-wrap {
    overflow:auto
}

.admin-table {
    width:100%;
    border-collapse:collapse;
    background:#fff
}

.admin-table th,.admin-table td {
    padding:11px;
    border-bottom:1px solid var(--border);
    white-space:nowrap
}

.badge {
    padding:5px 9px;
    border-radius:20px;
    background:#fef3c7;
    font-size:12px
}

.empty {
    text-align:center;
    padding:50px;
    color:var(--muted)
}

.toast {
    position:fixed;
    right:18px;
    bottom:18px;
    background:#0b1220;
    color:#fff;
    padding:13px 18px;
    border-radius:10px;
    z-index:99;
    box-shadow:0 10px 30px #0003
}


@media(max-width:900px) {
    .grid {
        grid-template-columns:repeat(3,1fr)
    }

    .checkout {
        grid-template-columns:1fr
    }

    .detail {
        grid-template-columns:1fr
    }

    .nav {
        gap:10px
    }

    .search {
        order:3;
        flex-basis:100%;
        max-width:none
    }

    .nav {
        height:auto;
        flex-wrap:wrap;
        padding:12px 0
    }

    .header {
        position:relative
    }

    .logo {
        flex:1
    }

    .top .container {
        display:block;
        text-align:center
    }

    .top .container span+span {
        display:none
    }

    
}

@media(max-width:600px) {
    .container {
        width:min(100% - 20px,1180px)
    }

    .grid {
        grid-template-columns:repeat(2,1fr);
        gap:10px
    }

    .hero {
        padding:35px 0
    }

    .hero p {
        font-size:15px
    }

    .section {
        padding:28px 0
    }

    .section h2 {
        font-size:23px
    }

   .product h3{
    font-size:13px;
    font-weight:600;
    line-height:1.4;
    margin:0 0 12px;
    min-height:46px;
}

    .product-body {
        padding:10px
    }

  .price{
    font-size:15px;
    font-weight:700;
    color:#000;
    margin-bottom:18px;
}

    .product-actions {
        flex-direction:column
    }

    .product-actions .btn {
        width:100%
    }

    .filters {
        flex-direction:column
    }

    .detail {
        gap:18px
    }

    .cart-table th:nth-child(2),.cart-table td:nth-child(2) {
        display:none
    }

    .top {
        display:none
    }

    
}


.main-menu{
    display:flex;
    gap:35px;
    align-items:center;
    margin-left:auto;
}

.main-menu a:hover {
    color:#EF1628
}

.menu-toggle {
    display:none;
    border:0;
    background:transparent;
    font-size:25px;
    cursor:pointer
}

.slider {
    position:relative;
    background:#0b1220;
    overflow:hidden
}

.slides {
    position:relative;
    min-height:clamp(330px,42vw,620px)
}

.slide {
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .45s ease
}

.slide.active {
    opacity:1;
    visibility:visible;
    z-index:1
}

.slide>img {
    width:100%;
    height:100%;
    min-height:clamp(330px,42vw,620px);
    object-fit:cover
}

.slide:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.12) 70%)
}

.slide-content {
    position:absolute;
    z-index:2;
    left:max(20px,calc((100% - 1180px)/2));
    top:50%;
    transform:translateY(-50%);
    max-width:620px;
    color:#fff
}

.slide-content h1 {
    font-size:clamp(30px,5vw,64px);
    line-height:1.05;
    margin:0 0 14px
}

.slide-content p {
    font-size:clamp(15px,2vw,20px);
    line-height:1.5;
    margin:0 0 22px
}

.slider-prev,.slider-next {
    position:absolute;
    z-index:4;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border:0;
    border-radius:50%;
    background:#fff9;
    color:#0b1220;
    font-size:30px;
    cursor:pointer
}

.slider-prev {
    left:18px
}

.slider-next {
    right:18px
}

.dots {
    position:absolute;
    z-index:4;
    bottom:18px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:8px
}

.dot {
    width:10px;
    height:10px;
    border:0;
    border-radius:50%;
    padding:0;
    background:#fff8;
    cursor:pointer
}

.dot.active {
    background:#fff
}

.page-hero {
    padding:70px 0;
    background:linear-gradient(135deg,#eaf4ff,#fff)
}

.page-hero h1 {
    font-size:clamp(34px,5vw,58px);
    margin:0 0 10px
}

.page-hero p {
    font-size:18px;
    color:var(--muted);
    margin:0
}

.narrow {
    max-width:800px
}

.footer-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px
}

.footer a {
    color:#fff
}

.admin-preview {
    max-width:300px;
    height:auto;
    border-radius:10px
}

.admin-thumb {
    width:120px;
    height:60px;
    object-fit:cover;
    border-radius:8px
}

.btn.danger {
    background:#dc2626;
    color:#fff
}

.admin-nav nav a {
    color:#fff
}

@media(max-width:1000px) {
    .main-menu {
        gap:12px
    }

    .nav {
        gap:12px
    }

    .search {
        max-width:360px
    }

    
}

@media (max-width:800px){

.menu-toggle{
    display:block;
    order:3;
}

.logo{
    flex:1;
}

.search{
    display:none;
}

.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    position:relative;
}

.main-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    flex-direction:column;
    align-items:flex-start;
    padding:15px 20px;
    box-shadow:0 5px 20px rgba(0,0,0,.15);
    z-index:9999;
}

.main-menu.open{
    display:flex;
}

.main-menu a{
    width:100%;
    padding:12px 0;
    border-bottom:1px solid #eee;
}

}

    .header {
        position:relative
    }

    .footer-grid {
        grid-template-columns:1fr
    }

    
}

@media(max-width:600px) {
    .slide-content {
        left:20px;
        right:20px
    }

    .slide-content h1 {
        font-size:34px
    }

    .slide-content p {
        font-size:15px
    }

    .slider-prev,.slider-next {
        width:36px;
        height:36px;
        font-size:24px
    }

    .slider-prev {
        left:10px
    }

    .slider-next {
        right:10px
    }

    .page-hero {
        padding:45px 0
    }

    
}






.product-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.product-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(0,0,0,.12)}
.product-image{height:240px;display:flex;align-items:center;justify-content:center;padding:20px;background:#fff}
.product-image img{max-width:100%;max-height:200px;object-fit:contain;transition:.3s}
.product-card:hover .product-image img{transform:scale(1.08)}
.product-info{padding:16px;display:flex;flex-direction:column;flex:1}
.product-info h3{font-size:16px;min-height:52px;margin:0 0 12px}
.price{font-size:21px;font-weight:700;color:#000;margin:0 0 18px}
.product-actions{display:flex;gap:10px;margin-top:auto}
.product-actions .btn{flex:1;text-align:center}


.product-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:20px;
}

.product-actions .btn{

    flex:1;

    border-radius:50px;

    padding:13px 18px;

    font-size:15px;

    font-weight:600;

    transition:.3s;
}

.product-actions .btn:hover{

    transform:translateY(-2px);

    box-shadow:0 8px 20px rgba(11,92,171,.25);
}

.product-actions .view-link{

    color:#5FB847;

    font-weight:700;

    display:flex;

    align-items:center;

    gap:6px;

    white-space:nowrap;
}

.product-actions .view-link:hover{

    color:#08498a;
}










    .cat{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    transition:.3s;
    border:1px solid #ececec;
}

.cat:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 35px rgba(0,0,0,.12);
}

.cat img{
    width:110px;
    height:110px;
    object-fit:contain;
    display:block;
    margin:40px auto 25px;
}

.cat-body{
    text-align:center;
    padding:20px;
}

.cat h3{
    font-size:22px;
    margin-bottom:10px;
}

.cat .muted{
    color:#666;
    font-size:15px;
}



.about-home{

    padding:70px 0;

    background:#ffffff;
}

.about-grid{

    display:grid;

    grid-template-columns:1.2fr 1fr;

    gap:60px;

    align-items:center;
}

.about-tag{

    display:inline-block;

    background:#eaf4ff;

    color:#5FB847;

    padding:8px 18px;

    border-radius:50px;

    font-size:14px;

    font-weight:700;

    margin-bottom:20px;
}

.about-content h2{

    font-size:42px;

    margin-bottom:20px;

    line-height:1.2;
}

.about-content p{

    color:#64748b;

    line-height:1.8;

    margin-bottom:18px;

    font-size:16px;
}

.about-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin:30px 0;
}

.about-features div{

    background:#f8fafc;

    border:1px solid #e5e7eb;

    padding:15px;

    border-radius:12px;

    font-weight:600;
}

.about-image img{

    width:100%;

    border-radius:18px;

    display:block;
}

@media(max-width:900px){

.about-grid{

    grid-template-columns:1fr;

}

.about-content{

    text-align:center;

}

.about-features{

    grid-template-columns:1fr;

}

}






.footer{
    background:#0b1220;
    color:#fff;
    padding:70px 0 25px;
}

.footer-top{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.6fr;
    gap:50px;
    align-items:start;
}

.footer-col h3{
    margin:0 0 20px;
    font-size:22px;
    color:#fff;
}

.footer-col p{
    color:#b9c2d3;
    line-height:1.8;
    margin:0;
}

.footer-col ul{
    margin:0;
    padding:0;
    list-style:none;
}

.footer-col li{
    margin-bottom:12px;
}

.footer-col a{
    color:#d7dce7;
    transition:.3s;
}

.footer-col a:hover{
    color:#EF1628;
    padding-left:5px;
}

.contact-list i{
    width:22px;
    color:#EF1628;
}

.social-links{
    margin-top:25px;
    display:flex;
    gap:12px;
}

.social-links a{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#1d2940;
    color:#fff;
    transition:.3s;
}

.social-links a:hover{
    background:#5FB847;
    transform:translateY(-3px);
}

.footer-bottom{
    margin-top:50px;
    padding-top:25px;
    border-top:1px solid rgba(255,255,255,.08);

    display:flex;
    justify-content:space-between;
    align-items:center;

    color:#b9c2d3;
}

.footer-bottom a{
    color:#b9c2d3;
}

.footer-bottom a:hover{
    color:#fff;
}

@media(max-width:992px){

.footer-top{
    grid-template-columns:repeat(2,1fr);
    gap:40px;
}

}

@media(max-width:768px){

.footer-top{
    grid-template-columns:1fr;
}

.footer-bottom{
    flex-direction:column;
    gap:15px;
    text-align:center;
}

}















@media (max-width:768px){



.nav{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
        "logo menu"
        "search search";
    align-items:center;
    gap:15px;
    padding:15px 0;
    position:relative;
}

/* Logo */
.logo{
    grid-area:logo;
    margin:0;
}

.logo img{
    width:300px;      /* Increase if you want it bigger */
    max-width:100%;
    height:auto;
    display:block;
}

/* Menu icon */
.menu-toggle{
    grid-area:menu;
    display:flex;
    justify-self:end;
    align-items:center;
    font-size:32px;
    padding:6px;
    background:none;
    border:none;
    cursor:pointer;
}

/* Search bar */
.search{
    grid-area:search;
    display:flex;
    width:100%;
    max-width:100%;
    margin:0;
}

.search input{
    flex:1;
}

/* Cart beside menu */
.cart{
    position:absolute;
    right:60px;
    top:25px;
}

/* Mobile menu */
.main-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
    flex-direction:column;
    z-index:999;
}

.main-menu.open{
    display:flex;
}

.main-menu a{
    width:100%;
    padding:14px 20px;
    border-bottom:1px solid #eee;
}

}




/* =========================================================
   MOBILE HEADER SEARCH - FORCE SHOW
========================================================= */

@media (max-width: 700px) {

    .search-bar,
    .header-search,
    .search-form,
    form.search-form {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

}




/* Desktop */
.logo img{
    height:60px;
    width:auto;
    display:block;
}

/* Mobile */
@media (max-width:768px){

.logo{
    width:100%;
    text-align:center;
    margin-bottom:15px;
}

.logo img{
    width:300px;
    max-width:90%;
    height:auto;
    margin:0 auto;
}

}