/* =============================================================
   Greenberg Co. — shop / ecommerce styles (loads after style.css)
   ============================================================= */

/* ---- header icons ---- */
.nav-cta{gap:14px;}
.icon-btn{position:relative;width:40px;height:40px;border-radius:50%;background:var(--bg-light);
  display:flex;align-items:center;justify-content:center;color:var(--dark-green);font-size:16px;}
.icon-btn:hover{background:#e7f4dd;}
.cart-count{position:absolute;top:-4px;right:-4px;background:var(--brand-green);color:#fff;
  font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;padding:0 3px;}
nav.main-nav a.active-link{color:var(--brand-green-dark);}

/* ---- page banner ---- */
.page-banner{background:linear-gradient(135deg,var(--dark-green),var(--navy));color:#fff;padding:46px 0;text-align:center;}
.page-banner h1{color:#fff;font-size:clamp(24px,3.4vw,34px);margin-bottom:8px;}
.page-banner .crumb{font-size:13.5px;color:#c9dccf;}
.page-banner .crumb a{color:#fff;font-weight:600;}

/* ---- shop layout ---- */
.shop-wrap{padding:50px 0 80px;}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px;}
.shop-search{display:flex;flex:1;max-width:420px;border:1px solid var(--border);border-radius:50px;overflow:hidden;background:#fff;}
.shop-search input{flex:1;border:0;padding:12px 18px;font-family:var(--ff);font-size:14px;outline:none;}
.shop-search button{border:0;background:var(--brand-green);color:#fff;padding:0 20px;cursor:pointer;font-size:15px;}
.shop-filters{display:flex;gap:8px;flex-wrap:wrap;}
.shop-filters a{padding:9px 18px;border-radius:50px;border:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--text-dark);}
.shop-filters a.active,.shop-filters a:hover{background:var(--dark-green);border-color:var(--dark-green);color:#fff;}

.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.product-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:.25s;position:relative;}
.product-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.product-card .pc-img{aspect-ratio:1/1;overflow:hidden;background:#f5f8f6;position:relative;}
.product-card .pc-img img{width:100%;height:100%;object-fit:cover;}
.product-card .pc-badge{position:absolute;top:10px;left:10px;background:#e14b3c;color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;}
.product-card .pc-body{padding:16px 18px 18px;}
.product-card .pc-cat{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-green-dark);font-weight:700;margin-bottom:6px;display:block;}
.product-card h3{font-size:15px;margin:0 0 8px;line-height:1.35;}
.product-card h3 a{color:var(--dark-green);}
.product-card .pc-price{display:flex;align-items:baseline;gap:8px;margin-bottom:12px;}
.product-card .pc-price .now{font-weight:700;font-size:17px;color:var(--dark-green);}
.product-card .pc-price .was{font-size:13px;color:#a0a0a0;text-decoration:line-through;}
.product-card .btn{width:100%;justify-content:center;padding:10px;font-size:13.5px;}
.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);}

.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;}
.pagination a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;font-size:13.5px;font-weight:600;}
.pagination a.active{background:var(--dark-green);color:#fff;border-color:var(--dark-green);}

/* ---- product detail ---- */
.product-detail{padding:50px 0 80px;}
.product-detail .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:flex-start;}
.gallery-main{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);height:420px;margin-bottom:14px;}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap;}
.gallery-thumbs img{width:70px;height:70px;object-fit:cover;border-radius:8px;border:2px solid transparent;cursor:pointer;}
.gallery-thumbs img.active{border-color:var(--brand-green);}
.product-video{margin-top:18px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);}
.product-video iframe,.product-video video{width:100%;height:280px;display:block;border:0;}

.pd-cat{color:var(--brand-green-dark);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;}
.pd-title{font-size:clamp(22px,3vw,30px);margin:8px 0 14px;}
.pd-price{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;}
.pd-price .now{font-size:26px;font-weight:700;color:var(--dark-green);}
.pd-price .was{font-size:16px;color:#a0a0a0;text-decoration:line-through;}
.pd-price .save{background:#e6f6ea;color:#1e7d3a;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;}
.pd-sku{font-size:13px;color:var(--text-muted);margin-bottom:18px;}
.pd-desc{font-size:14.5px;color:var(--text-muted);margin-bottom:22px;}
.qty-box{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:130px;margin-bottom:18px;}
.qty-box button{width:38px;height:42px;border:0;background:var(--bg-light);font-size:16px;cursor:pointer;}
.qty-box input{width:54px;text-align:center;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);height:42px;font-size:15px;}
.pd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
.pd-trust{display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--text-muted);border-top:1px solid var(--border);padding-top:18px;}
.pd-trust div{display:flex;gap:10px;align-items:center;}
.pd-trust i{color:var(--brand-green);}
.related-heading{margin:60px 0 24px;}

/* ---- cart page ---- */
.cart-page{padding:50px 0 80px;}
.cart-table{width:100%;border-collapse:collapse;margin-bottom:30px;}
.cart-table th{text-align:left;font-size:12.5px;text-transform:uppercase;color:var(--text-muted);padding:10px;border-bottom:2px solid var(--border);}
.cart-table td{padding:16px 10px;border-bottom:1px solid var(--border);vertical-align:middle;}
.cart-prod{display:flex;align-items:center;gap:14px;}
.cart-prod img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--border);}
.cart-prod strong{font-size:14.5px;color:var(--dark-green);}
.cart-qty{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:110px;}
.cart-qty input{width:100%;border:0;text-align:center;padding:8px 0;}
.cart-qty button{background:var(--bg-light);border:0;width:32px;cursor:pointer;}
.cart-remove{color:#e14b3c;font-size:13px;font-weight:600;}
.cart-summary{max-width:360px;margin-left:auto;background:var(--bg-light);border-radius:var(--radius);padding:24px;}
.cart-summary .row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14.5px;}
.cart-summary .row.total{font-weight:700;font-size:17px;color:var(--dark-green);border-top:1px solid var(--border);padding-top:14px;margin-top:8px;}
.cart-summary .btn{width:100%;justify-content:center;margin-top:14px;}

/* ---- checkout ---- */
.checkout-page{padding:50px 0 80px;}
.checkout-page .container{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:flex-start;}
.checkout-form{background:var(--bg-light);border-radius:var(--radius);padding:30px;}
.checkout-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.checkout-form label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:var(--dark-green);}
.checkout-form input,.checkout-form textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--border);font-family:var(--ff);font-size:14.5px;}
.order-summary-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;}
.order-summary-box .oi{display:flex;justify-content:space-between;font-size:13.8px;margin-bottom:10px;color:var(--text-muted);}
.order-success-box{max-width:560px;margin:0 auto;text-align:center;padding:70px 20px;}
.order-success-box i{font-size:60px;color:var(--brand-green);margin-bottom:18px;}
.order-success-box h2{margin-bottom:10px;}
.order-success-box .order-no{background:var(--bg-light);display:inline-block;padding:10px 22px;border-radius:50px;font-weight:700;color:var(--dark-green);margin:14px 0 26px;}

/* ---- account ---- */
.account-page{padding:60px 0 90px;}
.account-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:30px;}
.account-tabs button{padding:10px 24px;border-radius:50px;border:1px solid var(--border);background:#fff;font-weight:600;cursor:pointer;}
.account-tabs button.active{background:var(--dark-green);color:#fff;border-color:var(--dark-green);}
.account-box{max-width:420px;margin:0 auto;background:var(--bg-light);border-radius:var(--radius);padding:34px;}
.account-box h2{text-align:center;margin-bottom:22px;font-size:20px;}
.account-box label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--dark-green);}
.account-box input{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--border);margin-bottom:16px;font-family:var(--ff);font-size:14.5px;}
.account-box .btn{width:100%;justify-content:center;}
.account-orders table{width:100%;border-collapse:collapse;}
.account-orders th,.account-orders td{padding:12px 10px;border-bottom:1px solid var(--border);font-size:13.8px;text-align:left;}
.status-pill{padding:4px 12px;border-radius:20px;font-size:11.5px;font-weight:700;text-transform:capitalize;}
.status-pending{background:#fff3d6;color:#8a6100;}
.status-confirmed{background:#dbeafe;color:#1d4ed8;}
.status-shipped{background:#e0e7ff;color:#4338ca;}
.status-delivered{background:#e6f6ea;color:#1e7d3a;}
.status-cancelled{background:#fdeceb;color:#b3261e;}

/* ---- sale popup toast ---- */
.sale-popup{position:fixed;left:20px;bottom:20px;z-index:1300;max-width:320px;opacity:0;transform:translateY(20px);
  pointer-events:none;transition:opacity .35s ease, transform .35s ease;}
.sale-popup.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.sale-popup-inner{background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.18);padding:14px 16px;
  display:flex;gap:12px;align-items:flex-start;border-left:4px solid var(--brand-green);position:relative;}
.sale-popup-inner i{color:var(--brand-green);font-size:20px;margin-top:2px;}
.sale-popup-inner strong{font-size:13.5px;color:var(--dark-green);}
.sp-product{font-size:12.8px;color:var(--text-muted);margin-top:2px;}
.sp-time{font-size:11px;color:#a3b0a8;margin-top:4px;}
.sp-close{position:absolute;top:6px;right:10px;background:none;border:0;font-size:16px;color:#bbb;cursor:pointer;}

/* =============================================================
   Responsive
   ============================================================= */
@media (max-width:1024px){
  .product-grid{grid-template-columns:repeat(3,1fr);}
  .product-detail .container{grid-template-columns:1fr;}
  .checkout-page .container{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .product-card .pc-body{padding:12px 12px 14px;}
  .product-card h3{font-size:13.5px;}
  .product-card .pc-price .now{font-size:15px;}
  .shop-toolbar{flex-direction:column;align-items:stretch;}
  .shop-search{max-width:100%;}
  .cart-table thead{display:none;}
  .cart-table tr{display:flex;flex-wrap:wrap;padding:14px 0;}
  .cart-table td{border:0;padding:6px 0;width:100%;}
  .checkout-form .row{grid-template-columns:1fr;}
  .gallery-main{height:280px;}
  .sale-popup{left:10px;right:10px;max-width:none;bottom:90px;}
}
@media (max-width:480px){
  .product-grid{gap:10px;}
}
