/* =========================================================
   ROOMSTYLE — page-product-detail.css
   Styles de la fiche produit (single-product.php).
   ========================================================= */

/* ── BREADCRUMB ── */
.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.08);flex-wrap:wrap;}
.breadcrumb a{color:#aaa;text-decoration:none;}
.breadcrumb a:hover{color:#000;}

/* ── LAYOUT ── */
.product-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:calc(100vh - 100px);}

/* ── LEFT: IMAGES ── */
.img-panel{position:sticky;top:64px;height:calc(100vh - 64px);background:#f7f7f5;display:flex;flex-direction:column;overflow:hidden;}
.main-img{flex:1;position:relative;overflow:hidden;cursor:zoom-in;display:flex;align-items:center;justify-content:center;}
.main-img img{width:100%;height:100%;object-fit:contain;transition:transform 0.6s ease;}
.main-img-badge{position:absolute;top:20px;left:20px;background:#000;color:#fff;font-size:10px;font-weight:500;padding:5px 12px;border-radius:12px;letter-spacing:1.5px;z-index:2;}
.main-img-zoom{position:absolute;bottom:20px;right:20px;width:36px;height:36px;background:rgba(255,255,255,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:2;}
.thumb-row{display:flex;gap:8px;padding:12px 16px;background:#eee;overflow-x:auto;}
.thumb{width:64px;height:64px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color 0.2s;flex-shrink:0;}
.thumb.active{border-color:#000;}
.thumb img{width:100%;height:100%;object-fit:cover;}

/* ── RIGHT: INFO ── */
.info-panel{padding:48px 52px;overflow-y:auto;}
.product-top{margin-bottom:28px;}
.product-category{font-size:11px;letter-spacing:3px;color:#aaa;margin-bottom:10px;text-transform:uppercase;}
.product-name{font-family:'Playfair Display',serif;font-size:38px;font-weight:700;color:#0a0a0a;line-height:1.15;margin-bottom:14px;}
.rating-row{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.rating-row .star-rating{font-size:15px;color:#f5a623;}
.rating-count{font-size:13px;color:#aaa;}
.price-row{font-size:32px;font-weight:500;color:#0a0a0a;font-family:'Playfair Display',serif;display:flex;align-items:baseline;gap:12px;}
.price-row del{font-size:18px;color:#bbb;font-weight:400;}
.price-row ins{text-decoration:none;}

.divider{width:100%;height:0.5px;background:rgba(0,0,0,0.08);margin:24px 0;}

.product-caption{font-size:15px;color:#555;line-height:1.8;font-style:italic;}

/* Payment / delivery */
.payment-section{margin-bottom:0;}
.payment-label{font-size:11px;letter-spacing:2px;color:#aaa;margin-bottom:12px;text-transform:uppercase;}
.payment-icons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pay-badge{background:#f7f7f5;border:0.5px solid #e0e0e0;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:500;color:#555;letter-spacing:0.5px;}
.secure-badge{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11px;color:#aaa;}

.delivery-info{display:flex;flex-direction:column;gap:10px;}
.delivery-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#f7f7f5;border-radius:8px;}
.delivery-icon{color:#555;display:flex;align-items:center;justify-content:center;}
.delivery-text{font-size:13px;color:#555;line-height:1.5;}
.delivery-text strong{color:#0a0a0a;font-weight:500;display:block;margin-bottom:1px;}

/* Accordion */
.accordion{margin-bottom:4px;border-bottom:0.5px solid rgba(0,0,0,0.08);}
.accordion-btn{width:100%;background:none;border:none;padding:16px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;color:#0a0a0a;letter-spacing:0.5px;}
.accordion-arrow{font-size:18px;color:#aaa;transition:transform 0.3s;}
.accordion-btn.open .accordion-arrow{transform:rotate(45deg);}
.accordion-body{font-size:13px;color:#666;line-height:1.8;padding-bottom:16px;display:none;}
.accordion-body.open{display:block;}

/* ── ROOM VISUALIZER ── */
.room-viz{background:#0a0a0a;padding:64px 40px;}
.viz-label{font-size:11px;letter-spacing:3px;color:#666;margin-bottom:8px;text-align:center;}
.viz-title{font-family:'Playfair Display',serif;font-size:36px;color:#fff;text-align:center;margin-bottom:6px;font-weight:700;}
.viz-sub{font-size:14px;color:#666;margin-bottom:40px;text-align:center;max-width:500px;margin-left:auto;margin-right:auto;}
.viz-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.viz-room{display:block;border-radius:12px;overflow:hidden;position:relative;cursor:pointer;background:#1a1a1a;}
.viz-room img{width:100%;height:220px;object-fit:cover;transition:transform 0.4s;display:block;}
.viz-room:hover img{transform:scale(1.04);}
.viz-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.75) 0%,transparent 55%);}
.viz-caption{position:absolute;bottom:14px;left:14px;right:14px;color:#fff;font-size:14px;font-weight:500;}
.viz-caption span{display:block;font-size:10px;letter-spacing:2px;color:rgba(255,255,255,0.6);margin-bottom:4px;font-weight:400;}

/* ── REVIEWS ── */
.reviews-section{padding:64px 40px;background:#f7f7f5;}
.reviews-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:12px;}
.reviews-eyebrow{font-size:11px;letter-spacing:3px;color:#aaa;margin-bottom:6px;}
.reviews-title{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;}

.reviews-summary{display:flex;align-items:center;gap:24px;margin-bottom:40px;padding:24px;background:#fff;border-radius:12px;border:0.5px solid rgba(0,0,0,0.08);flex-wrap:wrap;}
.reviews-big-score{text-align:center;flex-shrink:0;}
.reviews-big-num{font-family:'Playfair Display',serif;font-size:56px;font-weight:700;line-height:1;color:#0a0a0a;}
.reviews-big-stars{display:flex;gap:3px;justify-content:center;margin:6px 0;}
.reviews-big-stars .star-rating{font-size:14px;}
.reviews-big-count{font-size:12px;color:#aaa;}
.reviews-bars{flex:1;min-width:200px;}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.bar-label{font-size:12px;color:#555;min-width:30px;}
.bar-track{flex:1;height:6px;background:#eee;border-radius:3px;overflow:hidden;}
.bar-fill{height:100%;background:#0a0a0a;border-radius:3px;}
.bar-count{font-size:12px;color:#aaa;min-width:24px;text-align:right;}

.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;}
.review-card{background:#fff;border-radius:12px;padding:20px;border:0.5px solid rgba(0,0,0,0.08);}
.review-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px;}
.reviewer{display:flex;align-items:center;gap:10px;}
.reviewer-avatar{width:36px;height:36px;border-radius:50%;background:#eee;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:#555;flex-shrink:0;}
.reviewer-name{font-size:13px;font-weight:500;color:#0a0a0a;}
.reviewer-date{font-size:11px;color:#aaa;}
.review-stars .star-rating{font-size:12px;}
.review-text{font-size:13px;color:#555;line-height:1.7;margin-bottom:10px;}
.review-verified{font-size:10px;color:#22aa55;letter-spacing:0.5px;display:flex;align-items:center;gap:4px;}
.no-reviews-yet{font-size:14px;color:#888;margin-bottom:32px;}

/* Formulaire "Write a Review" (comment_form() natif, sans style par défaut) */
#respond.comment-respond{margin-top:8px;}
#reply-title.comment-reply-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#0a0a0a;margin-bottom:18px;display:block;}
#reply-title small{display:block;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;color:#888;margin-top:4px;}
.roomstyle-comment-form{max-width:520px;}
.roomstyle-comment-form p{margin-bottom:16px;}
.roomstyle-comment-form label{display:block;font-size:12px;font-weight:500;color:#0a0a0a;margin-bottom:8px;letter-spacing:.3px;}
.roomstyle-comment-form input[type="text"],
.roomstyle-comment-form input[type="email"],
.roomstyle-comment-form input[type="url"],
.roomstyle-comment-form textarea,
.roomstyle-comment-form select{
  width:100%;padding:13px 16px;background:#f7f7f5;border:0.5px solid rgba(0,0,0,0.1);border-radius:8px;
  font-size:14px;font-family:'DM Sans',sans-serif;color:#0a0a0a;outline:none;transition:all .2s;
}
.roomstyle-comment-form textarea{min-height:120px;resize:vertical;}
.roomstyle-comment-form input:focus,
.roomstyle-comment-form textarea:focus,
.roomstyle-comment-form select:focus{border-color:#0a0a0a;background:#fff;box-shadow:0 0 0 3px rgba(10,10,10,0.05);}
.roomstyle-comment-form .comment-form-cookies-consent{display:flex;align-items:center;gap:8px;}
.roomstyle-comment-form .comment-form-cookies-consent label{margin-bottom:0;font-weight:400;}

/* Étoiles de notation (WooCommerce injecte ce champ automatiquement avant
   le texte de l'avis). Certaines installs améliorent ce champ en JS pour
   afficher des étoiles cliquables (auquel cas les règles p.stars ci-dessous
   s'appliquent) ; sinon, c'est le simple menu déroulant qui reste utilisé
   — on le stylise directement plutôt que de le masquer, pour être sûr
   qu'il reste toujours visible et utilisable dans les deux cas. */
.comment-form-rating{margin-bottom:20px;}
.comment-form-rating label{display:block;font-size:12px;font-weight:500;color:#0a0a0a;margin-bottom:8px;}
.comment-form-rating select{
  width:auto;min-width:160px;padding:11px 14px;background:#f7f7f5;border:0.5px solid rgba(0,0,0,0.1);
  border-radius:8px;font-size:13px;font-family:'DM Sans',sans-serif;color:#0a0a0a;outline:none;cursor:pointer;
}
p.stars{margin:0;}
p.stars a{position:relative;height:22px;width:22px;text-indent:-999em;display:inline-block;margin-right:2px;}
p.stars a::before{content:"\2606";position:absolute;left:0;top:0;width:22px;height:22px;line-height:22px;text-indent:0;font-size:20px;color:#ccc;}
p.stars a:hover::before,
p.stars a.active::before{content:"\2605";color:#0a0a0a;}
p.stars.selected a.active::before{content:"\2605";color:#0a0a0a;}
p.stars.selected a:not(.active)::before{content:"\2606";color:#ccc;}
.comment-reply-title #cancel-comment-reply-link{font-size:12px;color:#888;font-weight:400;margin-left:10px;}
.roomstyle-comment-submit{
  background:#0a0a0a;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:13px;font-weight:500;
  letter-spacing:.5px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s;
}
.roomstyle-comment-submit:hover{background:#222;}

@media(max-width:768px){
  .reviews-summary{flex-direction:column;}
  .reviews-grid{grid-template-columns:1fr;}
}

/* ── RELATED ── */
.related-section{padding:64px 40px;}
.related-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:12px;}
.related-eyebrow{font-size:11px;letter-spacing:3px;color:#aaa;margin-bottom:6px;}
.related-title{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;}
.related-view-all{font-size:13px;color:#0a0a0a;border-bottom:1px solid #0a0a0a;text-decoration:none;padding-bottom:2px;}

/* Cartes produit — même système que Products/Homepage (198px, badge, wish, etc.) */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.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;display:block;overflow:hidden;height:198px;background-color:#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{font-size:10px;letter-spacing:2px;color:#888;margin-bottom:4px;text-transform:uppercase;}
.card-name{font-size:13px;font-weight:500;color:#0a0a0a;margin-bottom:8px;display:block;}
.card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:auto;}
.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{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{background:#333;}
.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;}

/* ── STICKY BOTTOM BAR (mobile) ── */
/* STICKY BAR — même modèle que Bundle/World pour la cohérence,
   apparaît au scroll sur toutes les tailles d'écran (pas juste mobile) */
.sticky-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:0.5px solid rgba(0,0,0,0.08);padding:16px 20px;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(100%);transition:transform 0.4s;}
.sticky-bar.show{transform:translateY(0);}
.sticky-info-name{font-size:13px;font-weight:500;color:#0a0a0a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;}
.sticky-info-sub{font-size:12px;color:#888;}
.sticky-ctas{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.sticky-btn-sec{width:38px;height:38px;border-radius:8px;background:#f7f7f5;border:0.5px solid #ddd;color:#555;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sticky-btn-sec:hover{color:#ff4444;border-color:#ff4444;}
.sticky-btn{background:#0a0a0a;color:#fff;border:none;padding:13px 25px;border-radius:8px;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:400;white-space:nowrap;display:flex;align-items:center;gap:7px;}
.sticky-btn:hover{background:#333;}
.sticky-buy.show{display:flex;}

/* ── 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;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── LIGHTBOX ── */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:500;display:none;align-items:center;justify-content:center;}
.lightbox.show{display:flex;}
.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;}
.lightbox-close{position:absolute;top:20px;right:28px;color:#fff;font-size:28px;cursor:pointer;background:none;border:none;}

/* =========================================================
   OVERRIDES — habillage du formulaire WooCommerce natif
   (woocommerce_template_single_add_to_cart) pour matcher le design
   du prototype sans perdre la logique variantes/stock/prix réelle.

   Technique : les <select> natifs de WooCommerce restent dans le DOM
   et fonctionnels (WooCommerce écoute leurs évènements "change" pour
   recalculer prix/stock/variation), mais sont masqués visuellement.
   Le JS (page-product-detail.js) génère par-dessus des boutons pill
   (taille) ou des pastilles de couleur (couleur), qui pilotent le
   <select> caché en changeant sa valeur + en déclenchant "change".
   ========================================================= */
.cta-stack{display:flex;flex-direction:column;gap:10px;}
.roomstyle-add-to-cart form.cart{display:flex;flex-direction:column;gap:16px;}

/* Le <select> natif est masqué visuellement mais garde sa taille/focus
   pour rester accessible au clavier et fonctionnel pour WooCommerce */
.roomstyle-add-to-cart table.variations{width:100%;border:none;}
.roomstyle-add-to-cart table.variations tbody,
.roomstyle-add-to-cart table.variations tr{display:block;}
.roomstyle-add-to-cart table.variations td,
.roomstyle-add-to-cart table.variations th{display:block;padding:0;border:none;text-align:left;font-weight:normal;}
.roomstyle-add-to-cart table.variations tr{margin-bottom:20px;}
.roomstyle-add-to-cart table.variations label{font-size:11px;letter-spacing:2px;color:#aaa;text-transform:uppercase;display:block;margin-bottom:10px;text-align:left;font-weight:normal;}
.roomstyle-add-to-cart table.variations select{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.roomstyle-add-to-cart .reset_variations{font-size:11px;color:#aaa;margin-left:10px;text-decoration:underline;}

/* Pills générées par JS pour les attributs "texte" (taille, style, etc.) */
.variation-pills{display:flex;gap:8px;flex-wrap:wrap;}
.variation-pill{padding:9px 18px;border:0.5px solid #ddd;border-radius:8px;font-size:13px;cursor:pointer;font-family:'DM Sans',sans-serif;color:#555;background:#fff;transition:all 0.2s;}
.variation-pill:hover{border-color:#000;color:#000;}
.variation-pill.active{background:#000;color:#fff;border-color:#000;}
.variation-pill:disabled{opacity:0.35;cursor:not-allowed;text-decoration:line-through;}

/* Pastilles générées par JS pour les attributs "couleur" */
.variation-swatches{display:flex;gap:10px;flex-wrap:wrap;}
.variation-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color 0.2s;position:relative;}
.variation-swatch::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid transparent;transition:border-color 0.2s;}
.variation-swatch.active::after{border-color:#000;}
.variation-swatch:disabled{opacity:0.3;cursor:not-allowed;}

/* Ligne quantité complète : label + stepper + message de stock, alignés comme le prototype */
.qty-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:8px;}
.qty-row .qty-label{font-size:11px;letter-spacing:2px;color:#aaa;text-transform:uppercase;}
.roomstyle-add-to-cart .quantity{display:inline-flex;align-items:center;border:0.5px solid #ddd;border-radius:8px;overflow:hidden;position:relative;margin:0;}
.roomstyle-add-to-cart .quantity .qty{width:40px;height:36px;text-align:center;border:none;border-left:0.5px solid #ddd;border-right:0.5px solid #ddd;font-size:14px;font-weight:500;color:#0a0a0a;font-family:'DM Sans',sans-serif;-moz-appearance:textfield;}
.roomstyle-add-to-cart .quantity .qty::-webkit-inner-spin-button,
.roomstyle-add-to-cart .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.roomstyle-qty-btn{width:36px;height:36px;background:#f7f7f5;border:none;font-size:16px;cursor:pointer;color:#555;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;}
.roomstyle-qty-btn:hover{background:#eee;}

/* Bouton add to cart */
.roomstyle-add-to-cart .single_add_to_cart_button{
  background:#0a0a0a !important;color:#fff !important;border:none!important;padding:23px 36px!important;border-radius:8px!important;
  font-size:13px!important;font-weight:400!important;text-transform:none!important;cursor:pointer;font-family:'DM Sans',sans-serif!important;
  transition:background 0.2s;width:100%;display:flex!important;align-items:center;justify-content:center;gap:8px;
}
.roomstyle-add-to-cart .single_add_to_cart_button::before{
  content:'';width:14px;height:14px;flex-shrink:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;
}
.roomstyle-add-to-cart .single_add_to_cart_button:hover{background:#222 !important;}
.roomstyle-add-to-cart .atc-price-suffix{white-space:nowrap;}
.roomstyle-add-to-cart .woocommerce-variation-price{margin-bottom:8px;font-size:18px;}
.roomstyle-add-to-cart p.stock{font-size:12px;color:#22aa55;margin:0;}
.roomstyle-add-to-cart p.stock.out-of-stock{color:#cc3333;}

/* Boutons secondaires (WhatsApp / wishlist), hors form WooCommerce */
.btn-secondary{background:#fff;color:#0a0a0a;border:0.5px solid #ddd;padding:23px 36px;border-radius:8px;font-size:13px;cursor:pointer;font-family:'DM Sans',sans-serif;letter-spacing:0.5px;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;}
.btn-secondary:hover{background:#f7f7f5;border-color:#aaa;}
.btn-wishlist{background:transparent;color:#aaa;border:none;font-size:13px;cursor:pointer;font-family:'DM Sans',sans-serif;display:flex;align-items:center;gap:6px;align-self:center;}
.btn-wishlist:hover{color:#ff4444;}
.btn-wishlist.active{color:#ff4444;}

@media(max-width:768px){
  .product-wrap{grid-template-columns:1fr;}
  .img-panel{position:relative;height:auto;margin-bottom:20px;}
  .main-img{height:auto;}
  .main-img img{height:auto;}
  .info-panel{padding:28px 20px;}
  .product-name{font-size:28px;margin-top:14px;}
  .reviews-grid{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .breadcrumb{padding:10px 20px;}
  .reviews-section,.related-section{padding:40px 20px;}
  .room-viz{padding:40px 20px;}
  .viz-rooms{grid-template-columns:1fr 1fr;}
  .sticky-bar{display:flex;flex-wrap:nowrap;padding:10px 14px;gap:8px;}
  .sticky-bar .sticky-btn-sec{display:none;}
  .sticky-bar > div:first-child{display:flex;align-items:baseline;gap:6px;min-width:0;flex:1;}
  .sticky-info-name{max-width:none;font-size:12px;}
  .sticky-info-sub{font-size:12px;white-space:nowrap;flex-shrink:0;}
  .sticky-ctas{flex-shrink:0;}
  .sticky-btn{padding:9px 14px;font-size:11px;}
  .sticky-btn svg{width:11px;height:11px;}
  .sticky-btn-price{display:none;}
}
.card-footer > :first-child{flex-basis:100%;}
