/* =========================================================
   ROOMSTYLE — page-home.css
   ========================================================= */

/* RECHERCHE GLOBALE — résultats groupés (mêmes classes que la page Wishlist,
   dupliquées ici car ce fichier CSS est chargé indépendamment) */
.page-hero{background:#0a0a0a;padding:60px 40px;text-align:center;}
.page-hero-label{font-size:11px;letter-spacing:4px;color:#666;margin-bottom:10px;}
.page-hero-title{font-family:'Playfair Display',serif;font-size:44px;font-weight:700;color:#fff;margin-bottom:14px;}
.page-hero-sub{font-size:14px;color:#888;}
.search-results-wrap{padding:48px 40px;max-width:1200px;margin:0 auto;}
.wishlist-empty{text-align:center;padding:80px 20px;}
.wishlist-empty p{color:#888;font-size:15px;margin-bottom:20px;}
.wishlist-empty-cta{display:inline-block;background:#0a0a0a;color:#fff;padding:12px 28px;border-radius:8px;font-size:13px;text-decoration:none;font-family:'DM Sans',sans-serif;}
.wishlist-section{margin-bottom:48px;}
.wishlist-section-title{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:#0a0a0a;margin-bottom:20px;padding-bottom:10px;border-bottom:0.5px solid rgba(0,0,0,0.08);}
.wishlist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.wishlist-card{background:#fff;border:0.5px solid rgba(0,0,0,0.08);border-radius:12px;overflow:hidden;transition:transform 0.2s,border-color 0.2s;display:block;}
.wishlist-card:hover{transform:translateY(-3px);border-color:#ccc;}
.wishlist-card-img{display:block;height:180px;overflow:hidden;background:#f5f5f3;}
.wishlist-card-img img{width:100%;height:100%;object-fit:cover;}
.wishlist-card-body{padding:14px 16px;}
.wishlist-card-name{font-size:13px;font-weight:500;color:#0a0a0a;margin-bottom:4px;}
.wishlist-card-price{font-size:13px;color:#555;}

/* Résultats de recherche — chaque type reprend le style exact de sa
   propre page (au lieu d'une carte générique unique pour tout) */

/* Products (comme page-products.php) */
.sr-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.sr-card{background:#fff;border:0.5px solid rgba(0,0,0,0.08);border-radius:12px;overflow:hidden;transition:transform 0.2s,border-color 0.2s;display:flex;flex-direction:column;}
.sr-card:hover{transform:translateY(-4px);border-color:#ccc;}
.sr-card-img-fixed{position:relative;display:block;overflow:hidden;height:198px;background-size:cover;background-position:center;background-color:#f0f0f0;}
.sr-card-body{padding:14px 16px;display:flex;flex-direction:column;flex:1;}
.sr-card-name{font-size:14px;font-weight:500;color:#0a0a0a;margin-bottom:8px;text-decoration:none;display:block;}
.sr-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:auto;}
.sr-card-price{font-size:15px;font-weight:500;color:#0a0a0a;display:flex;align-items:baseline;gap:6px;}
.sr-card-price del{font-size:0.85em;color:#999;text-decoration:line-through;font-weight:400;}
.sr-card-price ins{text-decoration:none;font-weight:500;color:#0a0a0a;}
.sr-card-btn{background:#0a0a0a;color:#fff;border:none;padding:7px 16px;border-radius:6px;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;letter-spacing:0.5px;text-decoration:none;display:inline-block;flex-shrink:0;}

/* Worlds / Spaces (comme page-worlds.php / page-spaces.php) */
.sr-worlds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.sr-world-card{position:relative;display:block;height:340px;overflow:hidden;border-radius:14px;cursor:pointer;text-decoration:none;color:inherit;background:#222;}
.sr-world-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.sr-world-card-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#161616);}
.sr-world-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.88) 0%,rgba(0,0,0,0.1) 60%,transparent 100%);}
.sr-world-card-badge{position:absolute;top:14px;left:14px;font-size:10px;letter-spacing:1px;color:#fff;background:#000;padding:4px 12px;border-radius:10px;z-index:2;}
.sr-world-card-wish{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,0.15);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:2;backdrop-filter:blur(4px);}
.sr-world-card-wish.active{color:#ff4444;}
.sr-world-card-body{position:absolute;bottom:0;left:0;right:0;padding:22px;z-index:2;}
.sr-world-card-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#fff;margin-bottom:10px;}
.sr-world-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.sr-world-card-meta{font-size:12px;color:rgba(255,255,255,0.6);min-width:0;}
.sr-world-card-enter{background:#fff;color:#000;border:none;padding:8px 18px;border-radius:20px;font-size:11px;font-family:'DM Sans',sans-serif;font-weight:500;white-space:nowrap;flex-shrink:0;}

/* Bundles (comme page-bundles.php — vraie masonry Pinterest, moteur JS commun) */
.masonry-item-wish{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,0.85);border:none;color:#0a0a0a;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:3;backdrop-filter:blur(4px);}
.masonry-item-wish.active{color:#ff4444;}
.m-title{font-size:13px;font-weight:500;color:#fff;margin-bottom:3px;}
.m-price{font-size:12px;color:rgba(255,255,255,0.8);margin-bottom:10px;}
.m-btn{background:#fff;color:#000;border:none;padding:7px 16px;border-radius:20px;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;font-weight:500;align-self:flex-start;}

/* Suggestions live sous la barre de recherche du header */
.nav-search-form{position:relative;}
.nav-search-suggestions{position:absolute;top:calc(100% + 8px);left:0;width:320px;background:#fff;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,0.15);z-index:200;overflow:hidden;display:none;max-height:400px;overflow-y:auto;}
.nav-search-suggestions.show{display:block;}
.nss-group{padding:10px 14px 4px;}
.nss-group-title{font-size:10px;letter-spacing:2px;color:#999;text-transform:uppercase;margin-bottom:4px;}
.nss-item{display:flex;align-items:center;gap:10px;padding:8px 14px;text-decoration:none;color:inherit;}
.nss-item:hover{background:#f5f5f3;}
.nss-item img{width:36px;height:36px;object-fit:cover;border-radius:6px;background:#eee;flex-shrink:0;}
.nss-item-name{font-size:13px;color:#0a0a0a;}
.nss-item-price{font-size:11px;color:#888;}
.nss-empty{padding:16px;font-size:12px;color:#999;text-align:center;}
.nss-see-all{display:block;text-align:center;padding:10px;font-size:12px;color:#0a0a0a;font-weight:500;border-top:0.5px solid rgba(0,0,0,0.06);text-decoration:none;}

@media(max-width:1024px){
  .wishlist-grid{grid-template-columns:repeat(2,1fr);}
  .sr-products-grid{grid-template-columns:repeat(2,1fr);}
  .sr-worlds-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .search-results-wrap{padding:32px 20px;}
  .nav-search-suggestions{width:260px;}
  .sr-worlds-grid{grid-template-columns:1fr;}
}

.home-spaces-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

/* HERO SLIDER */
.hero{position:relative;height:90vh;overflow:hidden;background:var(--black);}
.hero-slides{display:flex;height:100%;transition:transform 0.9s cubic-bezier(0.77,0,0.175,1);cursor:grab;user-select:none;touch-action:pan-y;}
.hero-slides:active{cursor:grabbing;}
.hero-slide{min-width:100%;height:100%;position:relative;display:flex;align-items:flex-end;padding:80px;padding-bottom:100px;}
.hs-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.hs-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.88) 0%,rgba(0,0,0,0.35) 50%,rgba(0,0,0,0.15) 100%);}
.hs-content{position:relative;z-index:2;max-width:560px;}
.hs-subtitle{font-size:16px;color:rgba(255,255,255,0.75);line-height:1.6;margin-bottom:24px;max-width:480px;}
.hs-world{font-size:11px;letter-spacing:4px;color:rgba(255,255,255,0.6);margin-bottom:12px;text-transform:uppercase;}
.hs-title{font-family:'Playfair Display',serif;font-size:62px;font-weight:700;color:#fff;line-height:0.95;margin-bottom:20px;text-shadow:0 2px 30px rgba(0,0,0,0.6);letter-spacing:-1px;}
.hs-tag{font-size:16px;color:rgba(255,255,255,0.7);margin-bottom:32px;line-height:1.6;}
.hs-cta{display:inline-block;background:#fff;color:#000;padding:15px 16px;border-radius:4px;font-size:10px;font-weight:500;text-decoration:none;letter-spacing:2.5px;text-transform:uppercase;}
.hs-cta:hover{background:#eee;}
.hero-nav{position:absolute;bottom:40px;right:80px;display:flex;gap:8px;z-index:10;}
.hero-dot{width:32px;height:3px;background:rgba(255,255,255,0.3);border-radius:2px;cursor:pointer;transition:all 0.3s;}
.hero-dot.active{background:#fff;width:48px;}
.hero-arrows{position:absolute;bottom:40px;left:80px;display:flex;gap:8px;z-index:10;}
.hero-arrow{width:40px;height:40px;border:0.5px solid rgba(255,255,255,0.3);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:16px;}
.hero-arrow:hover{background:rgba(255,255,255,0.1);}

/* SECTION COMMON */
.section{padding:80px 40px;}
.section-label{font-size:11px;letter-spacing:4px;color:var(--mid);margin-bottom:8px;text-transform:uppercase;}
.section-title{font-family:'Playfair Display',serif;font-size:38px;font-weight:700;color:var(--black);margin-bottom:40px;}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;}
.view-all{font-size:13px;color:var(--black);text-decoration:none;border-bottom:1px solid var(--black);padding-bottom:2px;letter-spacing:0.5px;}

/* FEATURED PRODUCTS */
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.product-card{background:var(--white);border:0.5px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform 0.2s,border-color 0.2s;display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.product-card:hover{transform:translateY(-4px);border-color:#ccc;}
.product-img{height:198px;display:flex;align-items:center;justify-content:center;position:relative;}
.product-badge{position:absolute;top:12px;left:12px;font-size:10px;font-weight:500;padding:4px 10px;border-radius:12px;letter-spacing:1px;color:#fff;z-index:2;}
.badge{position:absolute;top:12px;left:12px;font-size:10px;font-weight:500;padding:4px 10px;border-radius:10px;letter-spacing:1px;z-index:2;text-transform:uppercase;color:#fff;}
.badge-new{background:#000;}
.badge-hot{background:#ff4444;}
.badge-sale{background:#1a1a1a;}
.badge-trending{background:#000;}
.product-wishlist{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#fff;border:0.5px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:2;padding:0;}
.product-wishlist.active{color:#ff4444;}
.product-body{padding:14px 16px;display:flex;flex-direction:column;flex:1;}
.product-name{font-size:14px;font-weight:500;color:var(--black);margin-bottom:4px;}
.product-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:auto;}
.product-price{font-size:15px;font-weight:500;color:var(--black);display:flex;align-items:baseline;gap:6px;}
.product-price del{font-size:0.85em;color:#999;text-decoration:line-through;font-weight:400;}
.product-price ins{text-decoration:none;font-weight:500;color:var(--black);}
.product-footer > div{min-width:0;}
.product-add{background:var(--black);color:#fff;border:none;padding:7px 14px;border-radius:6px;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;letter-spacing:0.5px;flex-shrink:0;margin-left:auto;}

/* WORLDS SECTION */
.worlds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.world-card{border-radius:16px;overflow:hidden;position:relative;height:320px;cursor:pointer;display:block;text-decoration:none;color:inherit;}
.world-card:first-child{grid-row:span 2;height:660px;}
.world-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.8) 0%,rgba(0,0,0,0.1) 60%,transparent 100%);}
.world-content{position:absolute;bottom:0;left:0;right:0;padding:28px;}
.world-tag{font-size:10px;letter-spacing:3px;color:rgba(255,255,255,0.6);margin-bottom:6px;}
.world-name{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:#fff;margin-bottom:6px;}
.world-desc{font-size:13px;color:rgba(255,255,255,0.7);margin-bottom:16px;line-height:1.5;}
.world-btn{display:inline-block;background:rgba(255,255,255,0.15);border:0.5px solid rgba(255,255,255,0.4);color:#fff;padding:9px 20px;border-radius:4px;font-size:12px;text-decoration:none;backdrop-filter:blur(4px);letter-spacing:0.5px;}
.world-btn:hover{background:rgba(255,255,255,0.25);}

/* SPACES SECTION — reprend maintenant exactement le même système .card
   que Products/Homepage Featured/World (repris à l'identique du
   prototype fourni par le client), au lieu de l'ancien .scard custom. */
.card{background:#fff;border:0.5px solid rgba(0,0,0,0.08);border-radius:12px;overflow:hidden;transition:transform 0.2s,border-color 0.2s;cursor:pointer;display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.card:hover{transform:translateY(-3px);border-color:#aaa;}
.card-img-fixed{position:relative;overflow:hidden;height:320px;background:#f7f7f5;}
.card-img-fixed img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s;}
.card:hover .card-img-fixed img{transform:scale(1.05);}
.card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.65) 0%,transparent 55%);}
.card-body{padding:14px 16px;display:flex;flex-direction:column;flex:1;}
.card-tag{font-size:10px;letter-spacing:2px;color:#888;margin-bottom:4px;text-transform:uppercase;}
.card-name{font-size:14px;font-weight:500;color:#0a0a0a;margin-bottom:8px;display:block;}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:auto;}
.card-footer .price-now{font-size:15px;font-weight:500;color:#0a0a0a;}
.card-footer .price-was{font-size:12px;color:#aaa;text-decoration:line-through;margin-left:6px;}
.card-btn{background:#0a0a0a;color:#fff;border:none;padding:7px 16px;border-radius:6px;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;letter-spacing:0.5px;text-decoration:none;display:inline-block;margin-left:auto;}
.card-btn:hover{background:#333;}
.badge{position:absolute;top:12px;left:12px;font-size:10px;font-weight:500;padding:4px 10px;border-radius:10px;letter-spacing:1px;z-index:2;text-transform:uppercase;}
.badge-new{background:#111;color:#fff;}
.wish{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;background:#fff;border:0.5px solid rgba(0,0,0,0.1);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:2;}
.wish.active{color:#ff4444;}
.world-card-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#161616);}
.world-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.88) 0%,rgba(0,0,0,0.1) 60%,transparent 100%);}
.world-card-badge{position:absolute;top:14px;left:14px;font-size:10px;letter-spacing:2px;color:#fff;background:#000;padding:4px 12px;border-radius:12px;z-index:2;text-transform:uppercase;}
.world-card-wish{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,0.15);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:2;backdrop-filter:blur(4px);}
.world-card-wish.active{color:#ff4444;}
.world-card-body{position:absolute;bottom:0;left:0;right:0;padding:24px;z-index:2;}
.world-card-title{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:#fff;margin-bottom:6px;}
.world-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.world-card-meta{font-size:12px;color:rgba(255,255,255,0.5);min-width:0;}
.world-card-enter{background:#fff;color:#000;border:none;padding:9px 20px;border-radius:20px;font-size:12px;font-family:'DM Sans',sans-serif;font-weight:500;white-space:nowrap;flex-shrink:0;}

/* MASONRY BUNDLES */
.masonry{position:relative;}
.masonry-item{border-radius:12px;overflow:hidden;position:absolute;cursor:pointer;display:block;text-decoration:none;color:inherit;background:#eee;margin:0;transition:top 0.3s,left 0.3s,width 0.3s;}
.masonry-item:hover .masonry-overlay{opacity:1;}
.masonry-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.4);opacity:0;transition:opacity 0.2s;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;}

/* FILTERS (Spaces + Bundles sur la homepage) */
.filters{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap;}
.filter-btn{padding:8px 18px;border-radius:20px;font-size:12px;cursor:pointer;border:0.5px solid var(--border);background:var(--white);color:#555;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.filter-btn.active{background:var(--black);color:#fff;border-color:var(--black);}
.hidden{display:none!important;}

/* BRAND SECTION */
.brand-section{background:var(--black);padding:100px 40px;text-align:center;}
.brand-title{font-family:'Playfair Display',serif;font-size:52px;font-weight:700;color:#fff;line-height:1.15;margin-bottom:20px;max-width:700px;margin-left:auto;margin-right:auto;}
.brand-title span{font-style:italic;color:rgba(255,255,255,0.5);}
.brand-body{font-size:16px;color:rgba(255,255,255,0.5);line-height:1.8;max-width:480px;margin:0 auto 40px;}
.brand-cta{display:inline-block;background:#fff;color:#000;padding:14px 36px;border-radius:4px;font-size:13px;font-weight:500;text-decoration:none;letter-spacing:1px;}

@media(max-width:1024px){
  .products-grid{grid-template-columns:repeat(2,1fr);}
  .worlds-grid{grid-template-columns:1fr;}
  .world-card:first-child{grid-row:span 1;height:320px;}
  .home-spaces-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .hero{height:70vh;}
  .hero-slide{padding:32px 24px;padding-bottom:48px;}
  .hs-title{font-size:32px;}
  .hs-subtitle{font-size:13px;margin-bottom:18px;}
  .hs-tag{font-size:14px;margin-bottom:20px;}
  .hero-arrows{display:none;}
  .hero-nav{right:24px;bottom:20px;}
  .section{padding:48px 20px;}
  .section-title{font-size:28px;}
  .products-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .home-spaces-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .card-img-fixed{height:260px;}
  .card-body{padding:12px 14px;}
  .card-name{font-size:12px;margin-bottom:6px;}
  .wish{width:26px;height:26px;font-size:12px;top:10px;right:10px;}
  .brand-section{padding:60px 24px;}
  .brand-title{font-size:32px;}
}
@media(max-width:480px){
  .card-img-fixed{height:280px;}
}
@media(min-width:1200px){
  .card-img-fixed{height:400px;}
}
.product-footer > :first-child{flex-basis:100%;}
.card-footer > :first-child{flex-basis:100%;}
