/* Marketplace page specific styles */

/* Hero section */
.marketplace-hero{text-align:center; padding:50px 0 25px 0;}
.marketplace-hero h1{font-family:var(--font-serif); font-size:60px; line-height:1.3; margin-bottom:20px;}
.marketplace-hero h1 em{color:var(--laire-primary); font-style:italic;}
.marketplace-hero p{font-size:22px; color:var(--laire-text); margin-bottom:0;}

/* Reduce padding between hero and marketplace content */
.marketplace-hero + section.section-y-md{padding-top:25px;}

/* Filters sidebar */
.filters-sidebar{background:#fff; border:1px solid var(--laire-grey-2); border-radius:10px; padding:20px; position:sticky; top:20px; max-height:calc(100vh - 40px); overflow-y:auto;}
.filters-sidebar h3{font-size:24px; font-weight:600; margin-bottom:20px;}
.filter-section{margin-bottom:30px; padding-bottom:25px; border-bottom:1px solid #e5e5e5;}
.filter-section:last-child{border-bottom:0; margin-bottom:0; padding-bottom:0;}
.filter-section-title{font-size:18px; font-weight:600; margin-bottom:15px; display:flex; justify-content:space-between; align-items:center;}
.filter-checkbox{display:flex; align-items:center; gap:10px; margin-bottom:12px; cursor:pointer;}
.filter-checkbox input[type="checkbox"]{width:16px; height:16px; cursor:pointer;}
.filter-checkbox label{font-size:16px; cursor:pointer; user-select:none;}
.filter-tag{display:inline-block; background:var(--laire-light-bg); border:1px solid var(--laire-grey-2); border-radius:8px; padding:6px 12px; margin:4px; font-size:14px; cursor:pointer; transition:.2s;}
.filter-tag.active{background:var(--laire-primary); color:#fff; border-color:var(--laire-primary);}
.filter-tag:hover{border-color:var(--laire-primary);}

/* Search & sort bar */
.marketplace-toolbar{display:flex; gap:15px; margin-bottom:30px; flex-wrap:wrap; justify-content:flex-end;}
.toolbar-search{flex:0 1 auto; min-width:280px;}
.toolbar-search input{width:100%; padding:15px 20px; border:1px solid var(--laire-grey-2); border-radius:10px; font-size:16px;}
.toolbar-sort{min-width:200px;}
.toolbar-sort select{width:100%; padding:15px 20px; border:1px solid var(--laire-grey-2); border-radius:10px; font-size:16px; cursor:pointer; background:#fff;}

/* Product cards grid */
.products-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:25px;}
.product-card{background:#fff; border:1px solid var(--laire-grey-2); border-radius:10px; padding:20px; display:flex; flex-direction:column; gap:15px; transition:.25s;}
.product-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08); transform:translateY(-2px);}
.product-title{font-size:24px; font-weight:600; line-height:1.3; margin-bottom:10px;}
.product-tags{display:flex; flex-wrap:wrap; gap:6px;}
.product-tag{background:var(--laire-light-bg); border:1px solid var(--laire-grey-2); border-radius:6px; padding:4px 10px; font-size:14px;}
.product-separator{height:1px; background:var(--laire-grey-2); margin:10px 0;}
.product-description{font-size:16px; line-height:1.5; color:#666; flex-grow:1;}
.product-pricing{display:flex; gap:15px; align-items:center; margin-top:5px;}
.product-price{font-size:16px; font-weight:600;}
.product-price-sub{font-size:16px; color:var(--laire-primary); font-weight:600;}
.product-actions{display:flex; gap:10px;}
.product-actions .btn{flex:1; padding:10px; font-size:16px; font-weight:600; border-radius:8px; text-align:center; cursor:pointer; transition:.2s;}
.btn-view{background:#fff; border:1px solid var(--laire-grey-2); color:var(--laire-text);}
.btn-view:hover{border-color:var(--laire-primary); color:var(--laire-primary);}
.btn-cart{background:var(--laire-primary); color:#fff; border:1px solid var(--laire-primary);}
.btn-cart:hover{background:#cf5f44; color:#fff;}

/* Pagination */
.marketplace-pagination{display:flex; justify-content:center; align-items:center; gap:10px; margin:50px 0 30px;}
.pagination-btn{padding:10px 15px; border:1px solid var(--laire-grey-2); background:#fff; border-radius:8px; cursor:pointer; font-size:16px; display:flex; align-items:center; gap:8px; transition:.2s;}
.pagination-btn:hover:not(:disabled){border-color:var(--laire-primary); color:var(--laire-primary);}
.pagination-btn:disabled{opacity:.5; cursor:not-allowed;}
.pagination-numbers{display:flex; gap:5px;}
.pagination-number{width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:8px; cursor:pointer; font-size:16px; font-weight:600; transition:.2s;}
.pagination-number:hover{background:var(--laire-light-bg);}
.pagination-number.active{background:var(--laire-primary); color:#fff;}

/* Product type badges */
.product-type-badge{display:inline-block; padding:4px 12px; border-radius:6px; font-size:12px; font-weight:600; text-transform:uppercase;}
.badge-panel{background:var(--laire-primary); color:#fff;}
.badge-test{background:var(--laire-primary-100); color:#fff;}

/* Product pricing variations */
.product-price-original{text-decoration:line-through; color:#999; font-size:14px;}
.product-price-sale{color:var(--laire-primary); font-size:18px; font-weight:700;}

/* Cart button states */
.btn-cart.in-cart{background:#28a745; border-color:#28a745; color:#fff;}
.btn-cart.in-cart:hover{background:#218838; border-color:#1e7e34; color:#fff;}
.btn-cart.in-cart i{margin-right:5px;}

/* Modal customizations */
.product-modal-content{border:none; border-radius:var(--radius-md); box-shadow:0 4px 20px rgba(0,0,0,.15);}
.product-modal-header{background:var(--laire-light-bg); border-bottom:2px solid var(--laire-grey-2); padding:20px 25px; border-radius:var(--radius-md) var(--radius-md) 0 0;}
.product-modal-title{font-size:28px; font-weight:700; color:var(--laire-text); margin-bottom:0; margin-top:8px;}
.product-modal-header .badge{font-size:12px; padding:6px 12px; border-radius:6px; text-transform:uppercase; font-weight:600; display:block; width:fit-content; margin-bottom:8px; margin-left:0;}
.badge-panel-modal{background:var(--laire-primary); color:#fff;}
.badge-test-modal{background:var(--laire-primary-100); color:#fff;}
.product-modal-body{padding:25px;}
.product-modal-section-title{font-size:20px; font-weight:600; margin-bottom:12px; color:var(--laire-text);}
.product-modal-text{font-size:16px; line-height:1.6; color:#666;}
.product-modal-body .list-group{border-radius:8px; overflow:hidden;}
.product-modal-body .list-group-item{border-color:var(--laire-grey-2); padding:12px 16px; font-size:15px;}
.product-modal-pricing{background:var(--laire-light-bg); border:1px solid var(--laire-grey-2); border-radius:8px; padding:18px 20px; margin-top:25px;}
.product-modal-section-title{margin-bottom:10px;}
.product-modal-pricing .d-flex{margin-top:5px;}
.product-modal-price{font-size:32px; font-weight:700; color:var(--laire-text);}
.product-modal-price-original{text-decoration:line-through; color:#999; font-size:24px;}
.product-modal-price-sale{color:var(--laire-primary); font-size:32px; font-weight:700;}
.product-modal-footer{border-top:2px solid var(--laire-grey-2); padding:20px 25px; background:var(--laire-light-bg); border-radius:0 0 var(--radius-md) var(--radius-md);}
.product-modal-footer .btn{padding:12px 24px; font-size:16px; font-weight:600; border-radius:8px;}
.btn-cart-modal.in-cart{background:#28a745; border:1px solid #28a745; color:#fff;}
.btn-cart-modal.in-cart:hover{background:#218838; border-color:#1e7e34; color:#fff;}
.btn-cart-modal.in-cart i{margin-right:5px;}

/* Loading and notifications */
.marketplace-notification{position:fixed; top:20px; left:50%; transform:translateX(-50%); z-index:9999; min-width:300px; max-width:500px; padding:16px 24px; border-radius:8px; font-size:16px; font-weight:600; text-align:center; box-shadow:0 4px 12px rgba(0,0,0,.15); animation:slideDown 0.3s ease-out; transition:opacity 0.3s ease;}
.notification-success{background:var(--laire-primary); color:#fff; border:2px solid var(--laire-primary);}
.notification-error{background:var(--laire-red-300); color:#fff; border:2px solid var(--laire-red-300);}
.notification-info{background:var(--laire-primary-100); color:#fff; border:2px solid var(--laire-primary-100);}
@keyframes slideDown{from{transform:translate(-50%, -100%); opacity:0;} to{transform:translate(-50%, 0); opacity:1;}}

/* Quiz CTA banner styles moved to global style.css */

/* Responsive */
@media(max-width:991.98px){
  .marketplace-hero h1{font-size:44px;}
  .filters-sidebar{position:static; max-height:none; margin-bottom:30px;}
  .products-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
}
@media(max-width:575.98px){
  .marketplace-hero h1{font-size:36px;}
  .marketplace-toolbar{flex-direction:column; justify-content:flex-start;}
  .products-grid{grid-template-columns:1fr;}
  .pagination-numbers{flex-wrap:wrap;}
  .marketplace-notification{min-width:280px; max-width:90%; padding:14px 20px; font-size:14px; top:15px;}
}
