:root{
  --pd-green:#5b8c3e;
  --pd-green-dark:#3f6b27;
  --pd-yellow:#f9a826;
  --pd-yellow-dark:#e89009;
  --pd-cream:#fdf6e9;
  --pd-cream-2:#f8efd9;
  --pd-text:#2b2b2b;
  --pd-muted:#6c6c6c;
  --pd-border:#e8e2d2;
}
*{box-sizing:border-box}
html,body{font-family:'Poppins',sans-serif;color:var(--pd-text);background:#fff}
h1,h2,h3,h4,h5{font-family:'Playfair Display',serif;font-weight:700}
a{text-decoration:none}

/* BUTTONS */
.btn-pd{background:var(--pd-yellow);color:#fff;border:none;border-radius:30px;padding:.6rem 1.6rem;font-weight:600;letter-spacing:.5px;transition:.25s;display:inline-block}
.btn-pd:hover{background:var(--pd-yellow-dark);color:#fff;transform:translateY(-2px)}
.btn-pd-outline{border:2px solid var(--pd-green);color:var(--pd-green);background:transparent;border-radius:30px;padding:.5rem 1.5rem;font-weight:600;transition:.25s;display:inline-block}
.btn-pd-outline:hover{background:var(--pd-green);color:#fff}
.btn-pd-green{background:var(--pd-green);color:#fff;border:none;border-radius:30px;padding:.6rem 1.6rem;font-weight:600;letter-spacing:.5px;transition:.25s;display:inline-block}
.btn-pd-green:hover{background:var(--pd-green-dark);color:#fff;transform:translateY(-2px)}

/* TOP BAR */
.top-bar{background:var(--pd-green);color:#fff;font-size:.85rem;padding:.5rem 0}
.top-bar a{color:#fff;opacity:.9}
.top-bar a:hover{opacity:1;color:var(--pd-yellow)}

/* HEADER */
.pd-header{background:#fff;border-bottom:1px solid var(--pd-border);padding:1rem 0}
.pd-logo{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:800;color:var(--pd-green);line-height:1}
.pd-logo small{display:block;font-family:'Poppins',sans-serif;font-size:.65rem;letter-spacing:3px;color:var(--pd-muted);font-weight:500;margin-top:4px}
.pd-search{display:flex;border:2px solid var(--pd-green);border-radius:40px;overflow:hidden;background:#fff}
.pd-search select{border:none;background:var(--pd-cream);padding:.6rem 1rem;color:var(--pd-text);font-size:.85rem;outline:none;border-right:1px solid var(--pd-border)}
.pd-search input{border:none;flex:1;padding:.6rem 1rem;outline:none;font-size:.9rem}
.pd-search button{background:var(--pd-green);color:#fff;border:none;padding:0 1.4rem;font-size:1.1rem}
.pd-utility a{color:var(--pd-text);font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem;margin-left:1.2rem;font-weight:500}
.pd-utility a:hover{color:var(--pd-green)}
.pd-utility i{font-size:1.3rem;color:var(--pd-green)}
.cart-badge{background:var(--pd-yellow);color:#fff;font-size:.7rem;border-radius:50%;padding:2px 6px;margin-left:4px}

/* NAVBAR */
.pd-nav{background:var(--pd-cream);border-bottom:1px solid var(--pd-border)}
.pd-nav .nav-link{color:var(--pd-text);font-weight:600;font-size:.9rem;letter-spacing:.5px;padding:1rem 1.2rem;text-transform:uppercase;position:relative}
.pd-nav .nav-link:hover,.pd-nav .nav-link.active{color:var(--pd-green)}
.pd-nav .nav-link.active::after{content:"";position:absolute;bottom:0;left:1.2rem;right:1.2rem;height:3px;background:var(--pd-yellow);border-radius:3px 3px 0 0}
.cat-btn{background:var(--pd-green);color:#fff;border:none;font-weight:600;padding:.7rem 1.4rem;font-size:.85rem;text-transform:uppercase;border-radius:0;display:flex;align-items:center;gap:.6rem}
.cat-btn:hover{background:var(--pd-green-dark);color:#fff}

/* HERO */
.pd-hero{background:linear-gradient(135deg,#fdf6e9 0%,#f0e4c4 100%);position:relative;overflow:hidden;padding:4rem 0}
.pd-hero::before{content:"";position:absolute;top:-50px;right:-50px;width:300px;height:300px;background:radial-gradient(circle,var(--pd-yellow) 0%,transparent 70%);opacity:.2;border-radius:50%}
.pd-hero h1{font-size:3rem;color:var(--pd-green-dark);line-height:1.15;margin-bottom:1rem}
.pd-hero .lead{color:var(--pd-muted);font-size:1.05rem;margin-bottom:1.5rem}
.pd-hero .badge-pd{background:var(--pd-yellow);color:#fff;padding:.4rem 1rem;border-radius:30px;font-size:.8rem;font-weight:600;display:inline-block;margin-bottom:1rem;letter-spacing:1px}
.pd-hero img{max-width:100%;border-radius:20px}

/* PAGE BANNER (used on inner pages) */
.page-banner{background:linear-gradient(135deg,var(--pd-cream) 0%,var(--pd-cream-2) 100%);padding:3.5rem 0;position:relative;overflow:hidden;border-bottom:1px solid var(--pd-border)}
.page-banner::before{content:"";position:absolute;top:-30px;right:-30px;width:200px;height:200px;background:radial-gradient(circle,var(--pd-yellow) 0%,transparent 70%);opacity:.2;border-radius:50%}
.page-banner h1{color:var(--pd-green-dark);font-size:2.5rem;margin-bottom:.6rem}
.breadcrumb-pd{display:flex;justify-content:center;gap:.5rem;font-size:.9rem;color:var(--pd-muted)}
.breadcrumb-pd a{color:var(--pd-green)}
.breadcrumb-pd a:hover{color:var(--pd-yellow-dark)}
.breadcrumb-pd .sep{color:var(--pd-muted)}

/* SECTIONS */
.pd-section{padding:4rem 0}
.pd-section-title{text-align:center;margin-bottom:.5rem;color:var(--pd-green-dark);font-size:2.2rem}
.pd-section-sub{text-align:center;color:var(--pd-muted);margin-bottom:3rem;font-size:.95rem}
.pd-section-title::after{content:"";display:block;width:60px;height:3px;background:var(--pd-yellow);margin:1rem auto 0;border-radius:3px}
.pd-section-title.left{text-align:left}
.pd-section-title.left::after{margin:1rem 0 0}

/* CATEGORY CARDS */
.cat-card{background:var(--pd-cream);border-radius:20px;overflow:hidden;text-align:center;transition:.3s;border:1px solid transparent;height:100%}
.cat-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px rgba(0,0,0,.1);border-color:var(--pd-yellow)}
.cat-card img{width:100%;height:220px;object-fit:cover}
.cat-card .body{padding:1.5rem 1rem}
.cat-card h4{color:var(--pd-green-dark);margin-bottom:1rem;font-size:1.4rem}
.cat-card .shop-link{color:var(--pd-yellow-dark);font-weight:600;font-size:.85rem;letter-spacing:1px}
.cat-card .shop-link i{transition:.25s}
.cat-card:hover .shop-link i{transform:translateX(5px)}

/* PRODUCT CARDS */
.product-card{background:#fff;border:1px solid var(--pd-border);border-radius:15px;overflow:hidden;position:relative;transition:.3s;height:100%}
.product-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.08);border-color:var(--pd-green)}
.product-card .img-wrap{position:relative;background:var(--pd-cream);padding:1.5rem;text-align:center}
.product-card .img-wrap img{height:180px;object-fit:contain;width:auto;max-width:100%}
.discount-badge{position:absolute;top:12px;left:12px;background:var(--pd-yellow);color:#fff;padding:.25rem .7rem;border-radius:20px;font-size:.75rem;font-weight:700;z-index:2}
.wishlist-btn{position:absolute;top:12px;right:12px;background:#fff;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--pd-muted);box-shadow:0 2px 6px rgba(0,0,0,.1);transition:.25s}
.wishlist-btn:hover{color:#e74c3c;transform:scale(1.1)}
.product-card .body{padding:1.2rem}
.product-card h6{font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;color:var(--pd-text);min-height:48px;margin-bottom:.5rem;line-height:1.3}
.product-card .stars{color:var(--pd-yellow);font-size:.85rem;margin-bottom:.5rem}
.product-card .stars span{color:#ccc}
.price{display:flex;gap:.6rem;align-items:baseline;margin-bottom:.8rem}
.price .now{color:var(--pd-green-dark);font-weight:700;font-size:1.15rem}
.price .was{color:var(--pd-muted);text-decoration:line-through;font-size:.85rem}
.add-cart{width:100%;background:var(--pd-green);color:#fff;border:none;border-radius:30px;padding:.55rem;font-weight:600;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase;transition:.25s}
.add-cart:hover{background:var(--pd-yellow);color:#fff}

/* PROMO BANNERS */
.promo{border-radius:20px;overflow:hidden;background:linear-gradient(100deg,var(--pd-green) 0%,var(--pd-green-dark) 100%);color:#fff;padding:3rem;position:relative;min-height:240px;display:flex;flex-direction:column;justify-content:center}
.promo.alt{background:linear-gradient(100deg,var(--pd-yellow) 0%,var(--pd-yellow-dark) 100%)}
.promo h3{font-size:2rem;margin-bottom:.6rem}
.promo p{margin-bottom:1.2rem;opacity:.95}

/* VALUES */
.values-section{background:var(--pd-cream-2);padding:4rem 0}
.value-card{text-align:center;padding:2rem 1rem}
.value-icon{width:90px;height:90px;background:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.2rem;box-shadow:0 4px 15px rgba(0,0,0,.06);font-size:2.2rem;color:var(--pd-yellow-dark)}
.value-card h5{color:var(--pd-green-dark);font-size:1.1rem;letter-spacing:1px;margin-bottom:.8rem;text-transform:uppercase}
.value-card p{color:var(--pd-muted);font-size:.9rem;line-height:1.6}

/* STORY */
.story-section{padding:4rem 0;background:#fff}
.story-section h2{color:var(--pd-green-dark);font-size:2.2rem;line-height:1.2;margin-bottom:1rem}
.story-section p{color:var(--pd-muted);font-size:1rem;line-height:1.7}
.story-img{border-radius:20px;width:100%}
.badge-pd{background:var(--pd-yellow);color:#fff;padding:.4rem 1rem;border-radius:30px;font-size:.78rem;font-weight:600;display:inline-block;margin-bottom:1rem;letter-spacing:1px}

/* BLOGS */
.blog-card{background:#fff;border-radius:15px;overflow:hidden;border:1px solid var(--pd-border);transition:.3s;height:100%}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px rgba(0,0,0,.08)}
.blog-card img{width:100%;height:200px;object-fit:cover}
.blog-card .body{padding:1.3rem}
.blog-meta{font-size:.78rem;color:var(--pd-muted);margin-bottom:.6rem}
.blog-meta i{color:var(--pd-yellow-dark);margin-right:4px}
.blog-card h5{color:var(--pd-green-dark);font-size:1.1rem;line-height:1.35;margin-bottom:.6rem}
.blog-card p{color:var(--pd-muted);font-size:.88rem;margin-bottom:.8rem}
.blog-card .more{color:var(--pd-yellow-dark);font-weight:600;font-size:.85rem}

/* CERTIFICATIONS */
.cert-section{background:var(--pd-cream);padding:3rem 0;text-align:center}
.cert-section h3{color:var(--pd-green-dark);margin-bottom:1.5rem}
.cert-logos img{height:70px;margin:0 1.5rem;filter:grayscale(.3);transition:.3s}
.cert-logos img:hover{filter:none}

/* SHOP PAGE */
.shop-toolbar{background:var(--pd-cream);border-radius:12px;padding:1rem 1.4rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.shop-toolbar select{border:1px solid var(--pd-border);background:#fff;padding:.5rem 1rem;border-radius:25px;font-size:.85rem;outline:none}
.view-toggle button{border:1px solid var(--pd-border);background:#fff;width:38px;height:38px;border-radius:8px;color:var(--pd-muted);margin-left:6px}
.view-toggle button.active{background:var(--pd-green);color:#fff;border-color:var(--pd-green)}

.filter-card{background:#fff;border:1px solid var(--pd-border);border-radius:12px;padding:1.4rem;margin-bottom:1.5rem}
.filter-card h6{font-family:'Poppins',sans-serif;font-weight:700;color:var(--pd-green-dark);text-transform:uppercase;font-size:.85rem;letter-spacing:1px;margin-bottom:1rem;padding-bottom:.7rem;border-bottom:2px solid var(--pd-yellow);display:inline-block}
.filter-card .form-check{margin-bottom:.5rem}
.filter-card .form-check-label{font-size:.9rem;color:var(--pd-text);cursor:pointer}
.filter-card .form-check-input:checked{background-color:var(--pd-green);border-color:var(--pd-green)}
.filter-card .count{color:var(--pd-muted);font-size:.8rem;float:right}
.price-range{margin:1rem 0}
.price-range input[type=range]{width:100%;accent-color:var(--pd-green)}
.price-display{display:flex;justify-content:space-between;font-size:.85rem;color:var(--pd-muted);font-weight:600;margin-top:.5rem}

/* PAGINATION */
.pd-pagination{display:flex;justify-content:center;gap:.4rem;margin-top:3rem}
.pd-pagination a,.pd-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:8px;background:#fff;border:1px solid var(--pd-border);color:var(--pd-text);font-weight:600;font-size:.9rem;padding:0 .8rem}
.pd-pagination a:hover{background:var(--pd-cream);border-color:var(--pd-yellow)}
.pd-pagination .active{background:var(--pd-green);color:#fff;border-color:var(--pd-green)}

/* CONTACT */
.contact-card{background:#fff;border:1px solid var(--pd-border);border-radius:15px;padding:2rem 1.5rem;text-align:center;height:100%;transition:.3s}
.contact-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px rgba(0,0,0,.08);border-color:var(--pd-yellow)}
.contact-card .icon{width:70px;height:70px;background:var(--pd-cream);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--pd-green);margin-bottom:1rem}
.contact-card h5{color:var(--pd-green-dark);font-size:1.1rem;margin-bottom:.6rem}
.contact-card p{color:var(--pd-muted);font-size:.92rem;margin:0;line-height:1.6}
.contact-card a{color:var(--pd-text)}
.contact-card a:hover{color:var(--pd-green)}

.contact-form-wrap{background:#fff;border-radius:20px;padding:2.5rem;border:1px solid var(--pd-border)}
.contact-form-wrap .form-control{border:1px solid var(--pd-border);border-radius:10px;padding:.75rem 1rem;font-size:.9rem;background:var(--pd-cream)}
.contact-form-wrap .form-control:focus{border-color:var(--pd-green);box-shadow:0 0 0 .2rem rgba(91,140,62,.15);background:#fff}
.contact-form-wrap label{font-weight:600;font-size:.85rem;color:var(--pd-text);margin-bottom:.4rem}

/* ABOUT */
.stats-section{background:var(--pd-green);color:#fff;padding:3rem 0}
.stat-item{text-align:center;padding:1rem}
.stat-item h2{color:var(--pd-yellow);font-size:2.8rem;margin-bottom:.3rem;font-family:'Playfair Display',serif}
.stat-item p{margin:0;font-size:.95rem;letter-spacing:1px;text-transform:uppercase;opacity:.9}

.team-card{text-align:center;background:#fff;border-radius:15px;overflow:hidden;border:1px solid var(--pd-border);transition:.3s}
.team-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px rgba(0,0,0,.08)}
.team-card img{width:100%;height:280px;object-fit:cover}
.team-card .body{padding:1.5rem}
.team-card h5{color:var(--pd-green-dark);margin-bottom:.3rem}
.team-card .role{color:var(--pd-yellow-dark);font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:.8rem}
.team-card .socials a{display:inline-flex;width:32px;height:32px;background:var(--pd-cream);border-radius:50%;align-items:center;justify-content:center;margin:0 3px;color:var(--pd-green)}
.team-card .socials a:hover{background:var(--pd-green);color:#fff}

/* BLOG */
.featured-post{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--pd-border);margin-bottom:3rem}
.featured-post .row{margin:0}
.featured-post img{height:100%;min-height:340px;width:100%;object-fit:cover}
.featured-post .body{padding:2.5rem}
.featured-post h2{color:var(--pd-green-dark);font-size:2rem;margin-bottom:.8rem}

.blog-sidebar{background:#fff;border:1px solid var(--pd-border);border-radius:15px;padding:1.5rem;margin-bottom:1.5rem}
.blog-sidebar h6{color:var(--pd-green-dark);font-family:'Poppins',sans-serif;text-transform:uppercase;font-size:.9rem;letter-spacing:1px;margin-bottom:1.2rem;padding-bottom:.7rem;border-bottom:2px solid var(--pd-yellow);display:inline-block}
.blog-sidebar .form-control{border-radius:25px;background:var(--pd-cream);border:1px solid var(--pd-border)}
.recent-post{display:flex;gap:.8rem;padding:.6rem 0;border-bottom:1px dashed var(--pd-border)}
.recent-post:last-child{border-bottom:none}
.recent-post img{width:65px;height:65px;border-radius:8px;object-fit:cover;flex-shrink:0}
.recent-post a{color:var(--pd-text);font-weight:600;font-size:.85rem;line-height:1.3;display:block}
.recent-post a:hover{color:var(--pd-green)}
.recent-post .d{color:var(--pd-muted);font-size:.75rem}
.tags-cloud a{display:inline-block;background:var(--pd-cream);color:var(--pd-text);padding:.3rem .8rem;border-radius:20px;font-size:.78rem;margin:0 4px 6px 0}
.tags-cloud a:hover{background:var(--pd-yellow);color:#fff}
.cat-list{list-style:none;padding:0;margin:0}
.cat-list li{padding:.5rem 0;border-bottom:1px dashed var(--pd-border);display:flex;justify-content:space-between}
.cat-list li:last-child{border-bottom:none}
.cat-list a{color:var(--pd-text);font-size:.9rem}
.cat-list a:hover{color:var(--pd-green)}
.cat-list span{background:var(--pd-cream);color:var(--pd-muted);font-size:.75rem;padding:.1rem .6rem;border-radius:12px}

/* MAP */
.map-container{border-radius:20px;overflow:hidden;border:1px solid var(--pd-border);height:450px;background:var(--pd-cream);display:flex;align-items:center;justify-content:center;color:var(--pd-muted);position:relative}
.map-container iframe{width:100%;height:100%;border:none}

/* FAQ */
.faq-section .accordion-item{background:#fff;border:1px solid var(--pd-border);border-radius:12px!important;margin-bottom:.8rem;overflow:hidden}
.faq-section .accordion-button{font-weight:600;color:var(--pd-text);background:#fff;padding:1.1rem 1.3rem;font-size:.95rem}
.faq-section .accordion-button:not(.collapsed){background:var(--pd-cream);color:var(--pd-green-dark);box-shadow:none}
.faq-section .accordion-button:focus{box-shadow:none;border-color:var(--pd-green)}
.faq-section .accordion-body{color:var(--pd-muted);font-size:.92rem;line-height:1.7}

/* NEWSLETTER */
.newsletter-section{background:linear-gradient(135deg,var(--pd-green) 0%,var(--pd-green-dark) 100%);color:#fff;padding:3.5rem 0;text-align:center}
.newsletter-section h2{color:#fff;margin-bottom:.5rem}
.newsletter-section p{opacity:.9;margin-bottom:1.5rem}
.newsletter-form{max-width:500px;margin:0 auto;display:flex;background:#fff;border-radius:50px;padding:6px;overflow:hidden}
.newsletter-form input{flex:1;border:none;outline:none;padding:.6rem 1.2rem;font-size:.9rem;color:var(--pd-text)}
.newsletter-form button{background:var(--pd-yellow);color:#fff;border:none;border-radius:50px;padding:.6rem 1.6rem;font-weight:600;font-size:.85rem;letter-spacing:1px}
.newsletter-form button:hover{background:var(--pd-yellow-dark)}

/* FOOTER */
footer{background:#222;color:#bbb;padding:3.5rem 0 0}
footer h5{color:#fff;letter-spacing:1px;font-size:1rem;margin-bottom:1.2rem;font-family:'Poppins',sans-serif;font-weight:600;text-transform:uppercase}
footer h5::after{content:"";display:block;width:35px;height:3px;background:var(--pd-yellow);margin-top:.6rem;border-radius:3px}
footer a{color:#bbb;font-size:.9rem;line-height:2.2}
footer a:hover{color:var(--pd-yellow)}
footer ul{list-style:none;padding:0}
.social-row a{display:inline-flex;width:36px;height:36px;background:#333;border-radius:50%;align-items:center;justify-content:center;margin-right:.5rem;color:#fff}
.social-row a:hover{background:var(--pd-yellow);color:#fff}
.copyright{background:#1a1a1a;padding:1.2rem 0;margin-top:3rem;font-size:.85rem;text-align:center;color:#888}
.copyright a{color:var(--pd-yellow)}

/* MOBILE */
@media (max-width: 767.98px){
  .pd-hero h1{font-size:2rem}
  .pd-section-title{font-size:1.6rem}
  .pd-utility a{margin-left:.6rem}
  .promo{padding:2rem;min-height:auto}
  .page-banner h1{font-size:1.8rem}
  .featured-post .body{padding:1.5rem}
  .featured-post h2{font-size:1.5rem}
}

/* ============================================
   CART, CHECKOUT, ADDRESS, PAYMENT, TOAST
   ============================================ */

/* CART PAGE */
.cart-table{background:#fff;border:1px solid var(--pd-border);border-radius:15px;overflow:hidden}
.cart-table table{width:100%;margin:0;border-collapse:collapse}
.cart-table thead{background:var(--pd-cream)}
.cart-table thead th{padding:1rem 1.2rem;text-align:left;font-weight:700;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;color:var(--pd-green-dark);border:none}
.cart-table tbody td{padding:1.2rem;vertical-align:middle;border-top:1px solid var(--pd-border)}
.cart-item-img{width:80px;height:80px;border-radius:10px;background:var(--pd-cream);object-fit:contain;padding:6px}
.cart-item-info h6{margin:0 0 4px 0;font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;color:var(--pd-text)}
.cart-item-info small{color:var(--pd-muted);font-size:.8rem}
.qty-control{display:inline-flex;align-items:center;border:1px solid var(--pd-border);border-radius:30px;overflow:hidden;background:#fff}
.qty-control button{background:transparent;border:none;width:34px;height:34px;color:var(--pd-text);font-size:1rem;font-weight:600;transition:.2s}
.qty-control button:hover{background:var(--pd-cream);color:var(--pd-green)}
.qty-control input{width:40px;border:none;text-align:center;outline:none;font-weight:600;color:var(--pd-text);background:transparent}
.qty-control input::-webkit-outer-spin-button,.qty-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart-remove{background:transparent;border:none;color:var(--pd-muted);width:34px;height:34px;border-radius:50%;transition:.2s}
.cart-remove:hover{background:#fee;color:#e74c3c}
.cart-empty{background:#fff;border:1px solid var(--pd-border);border-radius:20px;padding:4rem 2rem;text-align:center}
.cart-empty .icon{font-size:4rem;color:var(--pd-yellow);margin-bottom:1rem;opacity:.6}
.cart-empty h3{color:var(--pd-green-dark);margin-bottom:.6rem}
.cart-empty p{color:var(--pd-muted);margin-bottom:1.5rem}

.summary-card{background:#fff;border:1px solid var(--pd-border);border-radius:15px;padding:1.8rem;position:sticky;top:1rem}
.summary-card h5{color:var(--pd-green-dark);font-family:'Poppins',sans-serif;text-transform:uppercase;font-size:1rem;letter-spacing:1px;margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:2px solid var(--pd-yellow);display:inline-block}
.summary-row{display:flex;justify-content:space-between;padding:.6rem 0;font-size:.92rem;color:var(--pd-text)}
.summary-row.total{font-size:1.15rem;font-weight:700;color:var(--pd-green-dark);border-top:1px dashed var(--pd-border);margin-top:.8rem;padding-top:1rem}
.summary-row .free{color:var(--pd-green);font-weight:600}
.coupon-row{display:flex;gap:.5rem;margin:1rem 0}
.coupon-row input{flex:1;border:1px solid var(--pd-border);border-radius:25px;padding:.5rem 1rem;font-size:.85rem;background:var(--pd-cream)}
.coupon-row input:focus{outline:none;border-color:var(--pd-green);background:#fff}
.coupon-row button{background:var(--pd-green);color:#fff;border:none;border-radius:25px;padding:.5rem 1.2rem;font-weight:600;font-size:.8rem}

/* ADDRESS CARDS (CHECKOUT) */
.section-title-checkout{display:flex;align-items:center;gap:.7rem;margin-bottom:1.2rem}
.section-title-checkout .num{width:32px;height:32px;border-radius:50%;background:var(--pd-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}
.section-title-checkout h5{margin:0;color:var(--pd-green-dark);font-size:1.2rem}

.address-card{background:#fff;border:2px solid var(--pd-border);border-radius:12px;padding:1.2rem;cursor:pointer;transition:.25s;position:relative;height:100%}
.address-card:hover{border-color:var(--pd-yellow)}
.address-card.selected{border-color:var(--pd-green);background:var(--pd-cream)}
.address-card.selected::after{content:"\F26B";font-family:"bootstrap-icons";position:absolute;top:10px;right:12px;color:var(--pd-green);font-size:1.3rem}
.address-card .name{font-weight:700;color:var(--pd-text);margin-bottom:.2rem;font-size:.95rem}
.address-card .phone{color:var(--pd-muted);font-size:.85rem;margin-bottom:.5rem}
.address-card .line{color:var(--pd-text);font-size:.88rem;line-height:1.5}
.address-card .badge-default{background:var(--pd-yellow);color:#fff;font-size:.65rem;padding:.15rem .5rem;border-radius:10px;font-weight:600;margin-left:.5rem;letter-spacing:.5px}
.address-card .actions{display:flex;gap:.4rem;margin-top:.8rem;padding-top:.8rem;border-top:1px dashed var(--pd-border)}
.address-card .actions a{color:var(--pd-muted);font-size:.78rem;font-weight:600}
.address-card .actions a:hover{color:var(--pd-green)}
.address-card .actions a.del:hover{color:#e74c3c}

.add-address-card{border:2px dashed var(--pd-border);border-radius:12px;padding:1.5rem;text-align:center;background:transparent;cursor:pointer;transition:.25s;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--pd-muted);min-height:140px}
.add-address-card:hover{border-color:var(--pd-green);color:var(--pd-green);background:var(--pd-cream)}
.add-address-card i{font-size:1.8rem;margin-bottom:.4rem}
.add-address-card span{font-weight:600;font-size:.9rem}

.address-form{background:var(--pd-cream);border-radius:12px;padding:1.5rem;margin-top:1rem;border:1px solid var(--pd-border)}
.address-form .form-control{border:1px solid var(--pd-border);border-radius:8px;font-size:.9rem;padding:.6rem .9rem;background:#fff}
.address-form .form-control:focus{border-color:var(--pd-green);box-shadow:0 0 0 .2rem rgba(91,140,62,.15)}
.address-form label{font-size:.8rem;font-weight:600;color:var(--pd-text);margin-bottom:.3rem}

/* PAYMENT METHODS */
.payment-card{background:#fff;border:2px solid var(--pd-border);border-radius:12px;padding:1.2rem;cursor:pointer;transition:.25s;display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}
.payment-card:hover{border-color:var(--pd-yellow)}
.payment-card.selected{border-color:var(--pd-green);background:var(--pd-cream)}
.payment-card.disabled{opacity:.5;cursor:not-allowed}
.payment-card .pm-icon{width:48px;height:48px;border-radius:10px;background:var(--pd-cream);color:var(--pd-green);display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.payment-card.selected .pm-icon{background:var(--pd-green);color:#fff}
.payment-card .pm-info h6{margin:0 0 2px 0;font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;color:var(--pd-text)}
.payment-card .pm-info small{color:var(--pd-muted);font-size:.8rem}
.payment-card .pm-radio{margin-left:auto;width:22px;height:22px;border:2px solid var(--pd-border);border-radius:50%;display:flex;align-items:center;justify-content:center}
.payment-card.selected .pm-radio{border-color:var(--pd-green)}
.payment-card.selected .pm-radio::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--pd-green)}
.coming-soon{background:var(--pd-yellow);color:#fff;font-size:.65rem;padding:.15rem .5rem;border-radius:10px;font-weight:700;letter-spacing:.5px;margin-left:.5rem}

/* ORDER SUMMARY ITEMS */
.summary-item{display:flex;gap:.8rem;padding:.7rem 0;border-bottom:1px dashed var(--pd-border);align-items:center}
.summary-item:last-child{border-bottom:none}
.summary-item img{width:50px;height:50px;border-radius:8px;background:var(--pd-cream);object-fit:contain;padding:4px;flex-shrink:0}
.summary-item .info{flex:1;min-width:0}
.summary-item .info h6{margin:0 0 2px 0;font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;color:var(--pd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.summary-item .info small{color:var(--pd-muted);font-size:.75rem}
.summary-item .price-cell{font-weight:700;color:var(--pd-green-dark);font-size:.9rem;white-space:nowrap}

/* ORDER SUCCESS */
.success-section{padding:5rem 0;background:linear-gradient(135deg,var(--pd-cream) 0%,var(--pd-cream-2) 100%);min-height:60vh}
.success-card{background:#fff;border-radius:25px;padding:3rem 2.5rem;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.05);max-width:600px;margin:0 auto;border:1px solid var(--pd-border)}
.success-icon{width:100px;height:100px;background:linear-gradient(135deg,var(--pd-green) 0%,var(--pd-green-dark) 100%);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:#fff;font-size:3rem;animation:popIn .5s ease}
@keyframes popIn{0%{transform:scale(0)}60%{transform:scale(1.2)}100%{transform:scale(1)}}
.success-card h2{color:var(--pd-green-dark);margin-bottom:.6rem}
.success-card .order-id{background:var(--pd-cream);padding:.7rem 1.5rem;border-radius:30px;display:inline-block;margin:1rem 0;color:var(--pd-text);font-weight:600;letter-spacing:1px}
.success-card .order-id strong{color:var(--pd-green-dark)}
.success-card p{color:var(--pd-muted);margin-bottom:1.5rem;line-height:1.7}

/* TOAST */
.pd-toast{position:fixed;bottom:30px;right:30px;background:var(--pd-green);color:#fff;padding:.9rem 1.4rem;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);display:flex;align-items:center;gap:.7rem;font-weight:600;font-size:.9rem;z-index:9999;transform:translateY(100px);opacity:0;transition:.35s cubic-bezier(.5,0,.3,1.3)}
.pd-toast.show{transform:translateY(0);opacity:1}
.pd-toast i{font-size:1.3rem}
.pd-toast.error{background:#e74c3c}

/* RESPONSIVE */
@media (max-width:767.98px){
  .cart-table thead{display:none}
  .cart-table tbody td{display:block;padding:.6rem 1rem;border:none}
  .cart-table tbody tr{display:block;border-top:1px solid var(--pd-border);padding:1rem 0}
  .cart-table tbody tr:first-child{border-top:none}
  .summary-card{position:static}
  .pd-toast{left:20px;right:20px;bottom:20px}
}

/* ============================================
   AUTH PAGES (login, register, account)
   ============================================ */
.auth-section{padding:3rem 0 5rem;background:linear-gradient(135deg,var(--pd-cream) 0%,#fff 60%);min-height:70vh}
.auth-card{background:#fff;border-radius:20px;border:1px solid var(--pd-border);padding:2.5rem;max-width:480px;margin:0 auto;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.auth-card h2{color:var(--pd-green-dark);margin-bottom:.4rem;text-align:center;font-size:1.8rem}
.auth-card .sub{color:var(--pd-muted);text-align:center;font-size:.9rem;margin-bottom:1.8rem}
.auth-card label{font-size:.85rem;font-weight:600;color:var(--pd-text);margin-bottom:.4rem;display:block}
.auth-card .form-control{border:1px solid var(--pd-border);border-radius:10px;padding:.7rem 1rem;font-size:.92rem;background:var(--pd-cream);width:100%}
.auth-card .form-control:focus{outline:none;border-color:var(--pd-green);background:#fff;box-shadow:0 0 0 .2rem rgba(91,140,62,.15)}
.auth-card .input-group-icon{position:relative}
.auth-card .input-group-icon i.lead-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--pd-muted);font-size:1.05rem;pointer-events:none}
.auth-card .input-group-icon input{padding-left:42px}
.auth-card .input-group-icon button.toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--pd-muted);width:34px;height:34px;border-radius:50%}
.auth-card .input-group-icon button.toggle:hover{background:var(--pd-cream);color:var(--pd-green)}
.auth-card .btn-pd{width:100%;padding:.75rem;font-size:.95rem;margin-top:.5rem}
.auth-card .divider{display:flex;align-items:center;gap:.8rem;margin:1.4rem 0;color:var(--pd-muted);font-size:.78rem}
.auth-card .divider::before,.auth-card .divider::after{content:"";flex:1;height:1px;background:var(--pd-border)}
.auth-card .switch-link{text-align:center;color:var(--pd-muted);font-size:.9rem;margin-top:1rem}
.auth-card .switch-link a{color:var(--pd-green);font-weight:600}
.auth-card .switch-link a:hover{color:var(--pd-yellow-dark)}
.auth-info{background:var(--pd-cream);border-radius:10px;padding:.8rem 1rem;margin-bottom:1.2rem;font-size:.83rem;color:var(--pd-text);display:flex;gap:.6rem;align-items:center}
.auth-info i{color:var(--pd-green);font-size:1.1rem;flex-shrink:0}
.auth-error{background:#fee;border:1px solid #fcc;color:#c33;padding:.7rem 1rem;border-radius:10px;font-size:.85rem;margin-bottom:1rem;display:flex;gap:.6rem;align-items:center}
.auth-error i{color:#c33;font-size:1.1rem;flex-shrink:0}
.password-strength{height:4px;background:var(--pd-border);border-radius:2px;margin-top:.4rem;overflow:hidden}
.password-strength .bar{height:100%;width:0;transition:.25s;border-radius:2px}
.password-hint{font-size:.75rem;color:var(--pd-muted);margin-top:.3rem}

.checkout-blocked{text-align:center;background:#fff;border:1px solid var(--pd-border);border-radius:20px;padding:3rem 2rem;max-width:600px;margin:2rem auto}
.checkout-blocked .lock-icon{width:80px;height:80px;background:var(--pd-cream);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:2.2rem;color:var(--pd-yellow-dark);margin-bottom:1.2rem}
.checkout-blocked h3{color:var(--pd-green-dark);margin-bottom:.5rem}
.checkout-blocked p{color:var(--pd-muted);margin-bottom:1.5rem}

/* ACCOUNT PAGE */
.account-sidebar{background:#fff;border:1px solid var(--pd-border);border-radius:15px;padding:1.5rem;position:sticky;top:1rem}
.account-user{display:flex;align-items:center;gap:.9rem;padding-bottom:1.2rem;border-bottom:1px solid var(--pd-border);margin-bottom:1rem}
.account-user .avatar{width:50px;height:50px;background:var(--pd-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}
.account-user h6{margin:0 0 2px 0;color:var(--pd-text);font-family:'Poppins',sans-serif;font-weight:700;font-size:.95rem}
.account-user small{color:var(--pd-muted);font-size:.78rem;display:block;word-break:break-all}
.account-nav{list-style:none;padding:0;margin:0}
.account-nav li{margin:0}
.account-nav a{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;color:var(--pd-text);font-size:.9rem;font-weight:500;border-radius:8px;transition:.2s}
.account-nav a:hover{background:var(--pd-cream);color:var(--pd-green)}
.account-nav a.active{background:var(--pd-green);color:#fff}
.account-nav a.active i{color:#fff}
.account-nav i{color:var(--pd-green);font-size:1.1rem;width:20px;text-align:center}
.account-nav a.logout{color:#e74c3c;margin-top:.5rem;padding-top:.7rem;border-top:1px dashed var(--pd-border);border-radius:0}
.account-nav a.logout i{color:#e74c3c}
.account-nav a.logout:hover{background:#fee}

.account-content{background:#fff;border:1px solid var(--pd-border);border-radius:15px;padding:2rem}
.account-content h3{color:var(--pd-green-dark);margin-bottom:.3rem;font-size:1.4rem}
.account-content .lead-sub{color:var(--pd-muted);margin-bottom:2rem;font-size:.9rem}

.order-row{background:var(--pd-cream);border-radius:12px;padding:1.2rem;margin-bottom:1rem;border:1px solid transparent;transition:.25s}
.order-row:hover{border-color:var(--pd-yellow);background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.04)}
.order-row .order-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem;padding-bottom:.7rem;border-bottom:1px dashed var(--pd-border)}
.order-row .order-id{font-weight:700;color:var(--pd-green-dark);font-family:'Poppins',sans-serif;font-size:.9rem;letter-spacing:.5px}
.order-row .order-date{color:var(--pd-muted);font-size:.78rem;margin-top:2px}
.order-row .status-badge{background:var(--pd-yellow);color:#fff;font-size:.7rem;padding:.2rem .7rem;border-radius:20px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}
.order-row .status-badge.delivered{background:var(--pd-green)}
.order-row .order-items-mini{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}
.order-row .order-items-mini img{width:40px;height:40px;border-radius:6px;background:#fff;padding:3px;object-fit:contain;border:1px solid var(--pd-border)}
.order-row .order-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.85rem}
.order-row .order-meta strong{color:var(--pd-green-dark);font-size:1rem}
.order-row .view-btn{color:var(--pd-green);font-weight:600;font-size:.85rem;text-decoration:none}
.order-row .view-btn:hover{color:var(--pd-yellow-dark)}

.empty-state{text-align:center;padding:3rem 1rem}
.empty-state i{font-size:3.5rem;color:var(--pd-yellow);opacity:.5;margin-bottom:1rem}
.empty-state h4{color:var(--pd-green-dark);margin-bottom:.5rem}
.empty-state p{color:var(--pd-muted);margin-bottom:1.2rem}

@media (max-width:991.98px){
  .account-sidebar{position:static;margin-bottom:1.5rem}
  .auth-card{padding:1.8rem 1.4rem}
}

/* ============================================
   FIELD-LEVEL VALIDATION
   ============================================ */
.field-error{color:#e74c3c;font-size:.78rem;margin-top:.4rem;display:none;align-items:center;gap:.3rem;font-weight:500}
.field-error.show{display:flex}
.field-error i{font-size:.9rem}
.form-control.is-invalid{border-color:#e74c3c !important;background:#fff8f8 !important;box-shadow:none !important}
.form-control.is-invalid:focus{box-shadow:0 0 0 .2rem rgba(231,76,60,.15) !important}
.form-control.is-valid{border-color:var(--pd-green) !important}
.input-group-icon.is-invalid i.lead-icon{color:#e74c3c !important}
