 /* ══════════════════════════════
           HERO SECTION
        ══════════════════════════════ */
 .products-hero {
     position: relative;
     height: 480px;
     overflow: hidden;
     display: flex;
     align-items: center;
 }

 .products-hero .hero-bg {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center 30%;
 }

 .products-hero .hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.30) 100%);
 }

 .products-hero .hero-inner {
     position: relative;
     z-index: 2;
     color: #fff;
     max-width: 620px;
 }

 .products-hero .hero-eyebrow {
     font-size: 12px;
     font-weight: 600;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.75);
     margin-bottom: 14px;
 }

 .products-hero .hero-title {
     font-family: 'Kulim Park', serif;
     font-size: clamp(32px, 5vw, 54px);
     font-weight: 700;
     line-height: 1.12;
     margin-bottom: 16px;
 }

 .products-hero .hero-title em {
     font-style: italic;
     color: #c9a96e;
 }

 .products-hero .hero-desc {
     font-size: 15px;
     color: rgba(255, 255, 255, 0.80);
     line-height: 1.65;
     margin-bottom: 28px;
     max-width: 480px;
 }

 .products-hero .hero-btns {
     display: flex;
     gap: 12px;
     flex-wrap: wrap;
 }

 .btn-hprimary {
     background: #c9a96e;
     color: #fff;
     border: none;
     padding: 13px 26px;
     border-radius: 50px;
     font-size: 14px;
     font-weight: 600;
     cursor: pointer;
     display: flex;
     align-items: center;
     gap: 8px;
     transition: background 0.2s, transform 0.15s;
 }

 .btn-hprimary:hover {
     background: #b8945a;
     transform: translateY(-1px);
 }

 .btn-houtline {
     background: transparent;
     color: #fff;
     border: 1.5px solid rgba(255, 255, 255, 0.55);
     padding: 13px 26px;
     border-radius: 50px;
     font-size: 14px;
     font-weight: 500;
     cursor: pointer;
     transition: border-color 0.2s, background 0.2s;
 }

 .btn-houtline:hover {
     border-color: #fff;
     background: rgba(255, 255, 255, 0.08);
 }

 /* ══════════════════════════════
           FILTER BAR
        ══════════════════════════════ */
 .filter-bar {
     position: sticky;
     top: 70px;
     z-index: 100;
     background: #fff;
     border-bottom: 1px solid #f0ede8;
     padding: 12px 0;
     box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
 }

 .filter-bar-inner {
     display: flex;
     flex-direction: column;
     gap: 10px;
 }

 .search-row {
     display: flex;
     align-items: center;
     gap: 10px;
     background: #f8f6f3;
     border: 1px solid #ede9e2;
     border-radius: 50px;
     padding: 9px 18px;
 }

 .search-row input {
     flex: 1;
     border: none;
     background: transparent;
     outline: none;
     font-size: 14px;
     color: #222;
 }

 .search-row input::placeholder {
     color: #aaa;
 }

 .filter-btn-inline {
     display: flex;
     align-items: center;
     gap: 6px;
     font-size: 13px;
     font-weight: 500;
     color: #666;
     cursor: pointer;
     padding-left: 12px;
     border-left: 1px solid #ddd;
 }

 .pills-row {
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .pills-scroll {
     display: flex;
     gap: 6px;
     overflow-x: auto;
     flex: 1;
     scrollbar-width: none;
     -ms-overflow-style: none;
 }

 .pills-scroll::-webkit-scrollbar {
     display: none;
 }

 .pill {
     flex-shrink: 0;
     padding: 7px 16px;
     border-radius: 50px;
     border: 1.5px solid #e5e0d8;
     background: #fff;
     font-size: 13px;
     font-weight: 500;
     color: #555;
     cursor: pointer;
     white-space: nowrap;
     transition: all 0.2s;
 }

 .pill:hover {
     border-color: #c9a96e;
     color: #c9a96e;
 }

 .pill.active {
     background: #1a1a1a;
     border-color: #1a1a1a;
     color: #fff;
 }

 .pill-nav {
     width: 30px;
     height: 30px;
     border-radius: 50%;
     border: 1.5px solid #e5e0d8;
     background: #fff;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     flex-shrink: 0;
     transition: border-color 0.2s;
 }

 .pill-nav:hover {
     border-color: #c9a96e;
 }

 .filter-bar-spacer {
     height: 0;
 }

 /* ══════════════════════════════
           PRODUCT CARDS  — shop UI
        ══════════════════════════════ */
 .prod-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 20px;
 }

 /* Cat section headings — same as treatment */
 .cat-section-prod {
     margin-bottom: 20px;
 }

 .cat-header-prod {
     display: flex;
     align-items: baseline;
     gap: 10px;
     margin-bottom: 24px;
     padding-bottom: 14px;
     border-bottom: 1px solid #f0ede8;
     justify-content: center;
 }

 .cat-title-prod {
     font-size: 28px;
     font-weight: 700;
     color: #1a1a1a;
 }

 .cat-count-prod {
     font-size: 13px;
     color: #999;
     font-weight: 400;
 }

 .section-divider-prod {
     border: none;
     border-top: 1px solid #f0ede8;
     /* margin: 0 0 48px; */
 }

 /* Card */
 .p-card {
     background: #fff;
     border-radius: 16px;
     border: 1px solid #f0ede8;
     overflow: hidden;
     display: flex;
     flex-direction: column;
     transition: box-shadow 0.25s, transform 0.25s;
     position: relative;
 }

 .p-card:hover {
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.10);
     transform: translateY(-3px);
 }

 /* Badge */
 .p-badge {
     position: absolute;
     top: 12px;
     left: 12px;
     z-index: 2;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.8px;
     text-transform: uppercase;
     padding: 4px 10px;
     border-radius: 50px;
 }

 .p-badge-bestseller {
     background: #1a1a1a;
     color: #fff;
 }

 .p-badge-new {
     background: #c9a96e;
     color: #fff;
 }

 .p-badge-sale {
     background: #e74c3c;
     color: #fff;
 }

 /* Image area */
 .p-card-img-wrap {
     position: relative;
     width: 100%;
     aspect-ratio: 1 / 1;
     background: #f8f6f2;
     overflow: hidden;
 }

 .p-card-img-wrap img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.4s ease;
 }

 .p-card:hover .p-card-img-wrap img {
     transform: scale(1.05);
 }

 /* Quick-add overlay on image hover */
 .p-card-overlay {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     padding: 12px;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, transparent 100%);
     display: flex;
     gap: 8px;
     opacity: 0;
     transform: translateY(6px);
     transition: opacity 0.25s, transform 0.25s;
 }

 .p-card:hover .p-card-overlay {
     opacity: 1;
     transform: translateY(0);
 }

 .p-overlay-btn {
     flex: 1;
     padding: 9px 0;
     border-radius: 50px;
     font-size: 12px;
     font-weight: 600;
     border: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 5px;
     transition: opacity 0.15s;
 }

 .p-overlay-btn:hover {
     opacity: 0.88;
 }

 .p-overlay-btn-cart {
     background: #fff;
     color: #1a1a1a;
 }

 .p-overlay-btn-wish {
     background: rgba(255, 255, 255, 0.22);
     color: #fff;
     border: 1.5px solid rgba(255, 255, 255, 0.55);
     flex: 0;
     padding: 9px 12px;
 }

 /* Card body */
 .p-card-body {
     padding: 14px 16px 16px;
     display: flex;
     flex-direction: column;
     gap: 5px;
     flex: 1;
 }

 .p-card-category {
     font-size: 10px;
     font-weight: 600;
     letter-spacing: 1.2px;
     text-transform: uppercase;
     color: #c9a96e;
 }

 .p-card-name {
     font-size: 15px;
     font-weight: 700;
     color: #1a1a1a;
     line-height: 1.3;
 }

 .p-card-desc {
     font-size: 12px;
     color: #888;
     line-height: 1.55;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
 }

 .p-card-stars {
     display: flex;
     align-items: center;
     gap: 4px;
     margin-top: 2px;
 }

 .p-card-stars .stars-row {
     color: #f5a623;
     font-size: 11px;
     letter-spacing: 1px;
 }

 .p-card-stars .review-count {
     font-size: 11px;
     color: #aaa;
 }

 /* Price + CTA row */
 .p-card-footer {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-top: 8px;
     padding-top: 10px;
     border-top: 1px solid #f5f2ee;
 }

 .p-card-price {
     display: flex;
     flex-direction: column;
     line-height: 1;
 }

 .p-card-price .price-current {
     font-size: 22px;
     font-weight: 800;
     color: #1a1a1a;
 }

 .p-card-price .price-original {
     font-size: 15px;
     color: #bbb;
     text-decoration: line-through;
     margin-top: 2px;
 }

 .p-card-cta {
     background: #1a1a1a;
     color: #fff;
     border: none;
     padding: 9px 16px;
     border-radius: 50px;
     font-size: 13px;
     font-weight: 600;
     cursor: pointer;
     display: flex;
     align-items: center;
     gap: 6px;
     transition: background 0.2s;
 }

 .p-card-cta:hover {
     background: #c9a96e;
 }

 /* ── Responsive ── */
 @media (max-width: 991px) {
     .menu-sidebar {
         display: none;
     }

     .filter-bar {
         top: 0;
         position: fixed;
         left: 0;
         right: 0;
     }

     .filter-bar-spacer {
         height: 120px;
         display: block;
     }

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

 @media (max-width: 575px) {
     .prod-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 12px;
     }

     .products-hero {
         height: 360px;
     }

     .p-card-cta {
         padding: 8px 12px;
         font-size: 12px;
     }
 }