/* =========================================================
   ROOMSTYLE — page-bundle-detail.css
   ========================================================= */

.breadcrumb{padding:14px 40px;font-size:12px;color:#aaa;display:flex;align-items:center;gap:8px;border-bottom:0.5px solid rgba(0,0,0,0.06);flex-wrap:wrap;}
.breadcrumb a{color:#aaa;text-decoration:none;}
.breadcrumb a:hover{color:#0a0a0a;}

/* HERO */
.bundle-hero{display:grid;grid-template-columns:1fr 420px;gap:0;min-height:calc(100vh - 64px);background:#0a0a0a;}
.bundle-img-side{position:sticky;top:64px;height:calc(100vh - 64px);overflow:visible;background:#111;display:flex;align-items:center;justify-content:center;}
.bundle-main-img{width:100%;height:100%;object-fit:contain;display:block;}
.bundle-img-overlay{position:absolute;inset:0;background:linear-gradient(to right,transparent 60%,rgba(0,0,0,0.4) 100%);pointer-events:none;}
.bundle-img-badge{position:absolute;top:24px;left:24px;background:rgba(0,0,0,0.7);backdrop-filter:blur(8px);border:0.5px solid rgba(255,255,255,0.15);color:#fff;padding:8px 16px;border-radius:24px;font-size:11px;letter-spacing:2px;z-index:5;}
.bundle-hotspot-hint{position:absolute;bottom:24px;left:24px;background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);color:rgba(255,255,255,0.8);padding:8px 16px;border-radius:20px;font-size:11px;z-index:5;}

/* HOTSPOTS (public) */
.hotspot{position:absolute;width:24px;height:24px;cursor:pointer;z-index:10;transform:translate(-50%,-50%);}
.hotspot-ring{width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,0.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;transition:all 0.3s;animation:rs-pulse-ring 2s infinite;}
.hotspot:hover .hotspot-ring, .hotspot.active .hotspot-ring{background:rgba(255,255,255,0.7);transform:scale(1.15);}
@keyframes rs-pulse-ring{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0.4);}50%{box-shadow:0 0 0 10px rgba(255,255,255,0);}}
.hotspot-tip{position:absolute;background:#fff;border-radius:12px;padding:14px;width:220px;max-width:calc(100vw - 24px);box-shadow:0 8px 40px rgba(0,0,0,0.3);z-index:500;pointer-events:none;opacity:0;transition:all 0.25s;transform:translateY(6px);}
.hotspot-tip.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.hotspot-tip.tip-right{left:calc(100% + 12px);top:50%;transform:translateY(-50%);}
.hotspot-tip.tip-left{right:calc(100% + 12px);top:50%;transform:translateY(-50%);}
.hotspot-tip.tip-bottom{top:calc(100% + 12px);left:50%;transform:translateX(-50%);}
.hotspot-tip.tip-top{bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);}
.hotspot-tip.show.tip-right,.hotspot-tip.show.tip-left{transform:translateY(-50%);}
.hotspot-tip.show.tip-bottom,.hotspot-tip.show.tip-top{transform:translateX(-50%);}
.tip-img{width:100%;height:100px;object-fit:cover;border-radius:8px;margin-bottom:10px;}
.tip-bundle-tag{display:inline-block;background:#8c46dc;color:#fff;font-size:9px;letter-spacing:1px;padding:2px 8px;border-radius:8px;margin-bottom:6px;}
.tip-name{font-size:13px;font-weight:500;color:#0a0a0a;margin-bottom:4px;}
.tip-price{font-size:12px;color:#888;margin-bottom:10px;}
.tip-btn{display:block;text-align:center;width:100%;background:#0a0a0a;color:#fff;border:none;padding:9px;border-radius:8px;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;text-decoration:none;}
.tip-btn:hover{background:#333;}

/* INFO PANEL */
.bundle-info{background:#0a0a0a;padding:48px 44px;overflow-y:auto;}
.bundle-tag{font-size:10px;letter-spacing:3px;color:#555;margin-bottom:12px;text-transform:uppercase;}
.bundle-name{font-family:'Playfair Display',serif;font-size:36px;font-weight:700;color:#fff;line-height:1.15;margin-bottom:24px;}

.bundle-price-box{background:#111;border:0.5px solid #222;border-radius:12px;padding:20px;margin-bottom:24px;}
.bundle-price-label{font-size:10px;letter-spacing:2px;color:#555;margin-bottom:8px;}
.bundle-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:6px;flex-wrap:wrap;}
.bundle-price-main{font-family:'Playfair Display',serif;font-size:40px;font-weight:700;color:#fff;}
.bundle-price-old{font-size:18px;color:#444;text-decoration:line-through;}
.bundle-price-save{background:rgba(34,170,85,0.15);border:0.5px solid rgba(34,170,85,0.3);color:#22aa55;font-size:12px;padding:4px 12px;border-radius:10px;font-weight:500;}
.bundle-price-breakdown{font-size:12px;color:#555;margin-top:4px;}

.bundle-items-summary{margin-bottom:24px;}
.items-label{font-size:10px;letter-spacing:2px;color:#555;margin-bottom:10px;}
.items-chips{display:flex;gap:6px;flex-wrap:wrap;}
.item-chip{background:#111;border:0.5px solid #222;color:#888;font-size:11px;padding:5px 12px;border-radius:20px;}

.bundle-ctas{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.btn-bundle-primary{background:linear-gradient(135deg,#fff 0%,#e8e8e8 100%);color:#0a0a0a;border:none;padding:21px 32px;border-radius:10px;font-size:14px;font-weight:400;cursor:pointer;font-family:'DM Sans',sans-serif;letter-spacing:0.5px;display:flex;align-items:center;justify-content:space-between;transition:all 0.2s;width:100%;}
.btn-bundle-primary:hover{background:#fff;transform:translateY(-1px);}
.btn-bundle-price-tag{font-size:16px;font-weight:400;}
.btn-whatsapp{background:rgba(37,211,102,0.1);border:0.5px solid rgba(37,211,102,0.3);color:#25d366;padding:14px 28px;border-radius:10px;font-size:13px;cursor:pointer;font-family:'DM Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;transition:all 0.2s;width:100%;}
.btn-whatsapp:hover{background:rgba(37,211,102,0.2);}
.btn-bundle-secondary{background:transparent;border:0.5px solid #333;color:#888;padding:13px 28px;border-radius:10px;font-size:13px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;width:100%;}
.btn-bundle-secondary:hover{border-color:#666;color:#fff;}
.btn-wishlist-bundle{background:transparent;border:none;color:#666;padding:8px;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;}
.btn-wishlist-bundle:hover,.btn-wishlist-bundle.active{color:#ff4444;}

.bundle-trust{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;}
.trust-row{display:flex;align-items:center;gap:10px;font-size:12px;color:#555;}
.trust-icon{width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#666;}

.b-divider{width:100%;height:0.5px;background:#1a1a1a;margin:16px 0;}

/* PRODUCTS IN BUNDLE */
.bundle-products-section{padding:64px 40px;background:#f7f7f5;}
.bp-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;flex-wrap:wrap;gap:12px;}
.bp-label{font-size:11px;letter-spacing:3px;color:#888;margin-bottom:6px;}
.bp-title{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:#0a0a0a;}
.bp-count{font-size:13px;color:#888;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.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;}
.card:hover{transform:translateY(-3px);border-color:#aaa;}
.card-img-fixed{position:relative;display:block;overflow:hidden;height:198px;background:#f0f0f0;}
.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-body{padding:14px 16px;display:flex;flex-direction:column;flex:1;}
.card-tag{display:inline-block;background:#0a0a0a;color:#fff;font-size:10px;letter-spacing:1px;padding:3px 10px;border-radius:10px;margin-bottom:6px;width:fit-content;}
.card-name{font-size:13px;font-weight:500;color:#0a0a0a;margin-bottom:8px;text-decoration:none;display:block;}
.card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:auto;}
.card-footer > div{min-width:0;}
.card-price{font-size:15px;font-weight:500;color:#0a0a0a;display:flex;align-items:baseline;gap:6px;}
.card-price del{font-size:0.85em;color:#999;text-decoration:line-through;font-weight:400;}
.card-price ins{text-decoration:none;font-weight:500;color:#0a0a0a;}
.card-btn,
.card-footer .add_to_cart_button,
.card-footer .button{flex-shrink:0;margin-left:auto;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;}
.card-btn:hover,
.card-footer .add_to_cart_button:hover,
.card-footer .button:hover{background:#333;}

/* FULL BUNDLE CTA BANNER */
.bundle-cta-banner{background:#0a0a0a;padding:64px 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.bcta-left .label{font-size:11px;letter-spacing:3px;color:#555;margin-bottom:10px;}
.bcta-left h2{font-family:'Playfair Display',serif;font-size:42px;font-weight:700;color:#fff;line-height:1.15;margin-bottom:14px;}
.bcta-left h2 em{font-style:normal;color:inherit;}
.bcta-left p{font-size:15px;color:#666;line-height:1.7;margin-bottom:28px;}
.bcta-pricing{background:#111;border:0.5px solid #222;border-radius:14px;padding:28px;}
.bcta-pricing-row{display:flex;align-items:baseline;gap:12px;margin-bottom:8px;flex-wrap:wrap;}
.bcta-price-main{font-family:'Playfair Display',serif;font-size:48px;font-weight:700;color:#fff;}
.bcta-price-old{font-size:20px;color:#333;text-decoration:line-through;}
.bcta-save-badge{background:rgba(34,170,85,0.15);border:0.5px solid rgba(34,170,85,0.3);color:#22aa55;font-size:14px;font-weight:500;padding:6px 16px;border-radius:20px;display:inline-block;margin-bottom:20px;}
.bcta-items{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;}
.bcta-item{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#555;gap:12px;}
.bcta-item-name{color:#888;}
.bcta-item-price{color:#555;white-space:nowrap;}
.bcta-total-line{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:0.5px solid #1a1a1a;font-size:14px;}
.bcta-total-label{color:#555;font-weight:500;}
.bcta-total-val{font-size:22px;font-weight:700;color:#fff;font-family:'Playfair Display',serif;}
.btn-bcta{width:100%;background:#fff;color:#000;border:none;padding:17px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;letter-spacing:0.5px;margin-top:14px;transition:background 0.2s;}
.btn-bcta:hover{background:#e8e8e8;}

/* RELATED BUNDLES — même moteur masonry en quinconce que la page Bundles */
.related-section{padding:64px 40px;background:#f7f7f5;}
.rel-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;}
.rel-title{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;}
.masonry-grid{position:relative;}
.masonry-item{display:block;margin-bottom:0;border-radius:12px;overflow:hidden;position:absolute;cursor:pointer;text-decoration:none;color:inherit;background:#eee;transition:top 0.3s,left 0.3s,width 0.3s;}
.masonry-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s;}
.masonry-item:hover img{transform:scale(1.03);}
.masonry-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.38);opacity:0;transition:opacity 0.25s;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;border-radius:12px;}
.masonry-item:hover .masonry-overlay{opacity:1;}
.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;cursor:pointer;font-weight:500;align-self:flex-start;}

/* STICKY BUY BAR */
.sticky-buy-bar{position:fixed;bottom:0;left:0;right:0;width:100%;box-sizing:border-box;background:#0a0a0a;border-top:0.5px solid #1a1a1a;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;z-index:90;transform:translateY(100%);transition:transform 0.4s;gap:12px;overflow:hidden;}
.sticky-buy-bar.show{transform:translateY(0);}
.sticky-bundle-name{font-size:13px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;}
.sticky-bundle-price{font-size:13px;color:#555;white-space:nowrap;}
.sticky-ctas{display:flex;gap:10px;flex-shrink:0;}
.sticky-btn-primary{background:#fff;color:#000;border:none;padding:13px 31px;border-radius:8px;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:400;display:flex;align-items:center;gap:7px;}
.sticky-btn-secondary{background:transparent;border:0.5px solid #333;color:#888;padding:11px 20px;border-radius:8px;font-size:13px;cursor:pointer;font-family:'DM Sans',sans-serif;}

/* TOAST */
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:#0a0a0a;color:#fff;padding:12px 24px;border-radius:24px;font-size:13px;opacity:0;transition:all 0.3s;pointer-events:none;z-index:200;white-space:nowrap;border:0.5px solid #222;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media(max-width:1024px){
  .bundle-hero{grid-template-columns:1fr;min-height:auto;}
  .bundle-img-side{position:relative;height:auto;overflow-x:clip;}
  .bundle-main-img{height:auto;}
  .bundle-info{padding:36px 28px;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .bundle-cta-banner{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .breadcrumb,.bundle-products-section,.related-section,.bundle-cta-banner{padding:40px 20px;}
  .bundle-hero{min-height:auto;}
  .bundle-info{padding-top:48px;}
  .bundle-name{font-size:26px;}
  .grid-4{grid-template-columns:1fr 1fr;}
  .sticky-buy-bar{padding:10px 14px;flex-wrap:nowrap;gap:8px;}
  .sticky-buy-bar .sticky-btn-secondary{display:none;}
  .sticky-buy-bar > div:first-child{display:flex;align-items:baseline;gap:6px;min-width:0;flex:1;}
  .sticky-bundle-name{max-width:none;font-size:12px;}
  .sticky-bundle-price{font-size:12px;white-space:nowrap;flex-shrink:0;}
  .sticky-ctas{flex-shrink:0;}
  .sticky-btn-primary{padding:9px 16px;font-size:11px;}
  .sticky-btn-primary svg{width:11px;height:11px;}
  .sticky-btn-price{display:none;}
  .bcta-left h2{font-size:28px;}
  .hotspot-tip.tip-right,
  .hotspot-tip.tip-left{left:50%;right:auto;top:calc(100% + 12px);transform:translateX(-50%);}
  .hotspot-tip.show.tip-right,
  .hotspot-tip.show.tip-left{transform:translateX(-50%);}
}
.card-footer > :first-child{flex-basis:100%;}
