/* =============================================
   PyroMaster Pro — enhance.css
   All enhancement feature styles:
   Theme Switcher, i18n, CS Widget, Social Share,
   Reviews, Promotions, Platform Badges, Watermark,
   Enquiry Modal, Platform Import/Traffic
   ============================================= */

/* ── THEME SWITCHER WIDGET ── */
#theme-switcher-widget {
  position: fixed;
  bottom: 200px;
  right: 20px;
  z-index: 9990;
}

.theme-trigger {
  width: 46px; height: 46px;
  border-radius: 50%;
  background: var(--color-bg-elevated, #1C1C2E);
  border: 1px solid var(--color-border, rgba(255,255,255,0.1));
  color: var(--color-text-secondary, #B0B0C3);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
  transition: all 0.2s;
}
.theme-trigger:hover {
  color: var(--color-primary, #FF6B1A);
  border-color: var(--color-primary, #FF6B1A);
  transform: rotate(20deg);
}

.theme-panel {
  position: absolute;
  bottom: 56px; right: 0;
  background: var(--color-bg-surface, #12121A);
  border: 1px solid var(--color-border, rgba(255,255,255,0.1));
  border-radius: 14px;
  padding: 1rem;
  min-width: 200px;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5);
  transition: all 0.2s;
}
.theme-panel[aria-hidden="true"] { opacity: 0; pointer-events: none; transform: translateY(8px) scale(0.97); }
.theme-panel[aria-hidden="false"] { opacity: 1; pointer-events: all; transform: translateY(0) scale(1); }

.theme-panel-title {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--color-text-muted, #6B6B80);
  margin-bottom: 0.75rem;
}
.theme-swatches { display: flex; flex-direction: column; gap: 0.5rem; }

.theme-swatch {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-text-secondary, #B0B0C3);
  cursor: pointer;
  font-size: 0.875rem;
  transition: all 0.15s;
  text-align: left;
}
.theme-swatch:hover { background: var(--color-bg-elevated, #1C1C2E); color: var(--color-text-primary, #fff); }
.theme-swatch.active {
  background: var(--color-bg-elevated, #1C1C2E);
  border-color: var(--color-primary, #FF6B1A);
  color: var(--color-text-primary, #fff);
}
.swatch-dot {
  width: 14px; height: 14px; border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 8px currentColor;
}
.swatch-icon { font-size: 1rem; }
.swatch-label { font-weight: 600; }

/* ── LANGUAGE SWITCHER (injected into header) ── */
.lang-switcher {
  display: flex; align-items: center; gap: 4px;
  margin-left: 0.5rem;
}
.lang-btn {
  padding: 2px 7px;
  border-radius: 4px;
  border: 1px solid var(--color-border, rgba(255,255,255,0.1));
  background: transparent;
  color: var(--color-text-muted, #6B6B80);
  font-size: 0.7rem; font-weight: 700;
  cursor: pointer; letter-spacing: 0.04em;
  transition: all 0.15s;
}
.lang-btn:hover, .lang-btn.active {
  border-color: var(--color-primary, #FF6B1A);
  color: var(--color-primary, #FF6B1A);
  background: rgba(255,107,26,0.08);
}


/* ── CUSTOMER SERVICE WIDGET ── */
#cs-widget {
  position: fixed;
  bottom: 24px; right: 20px;
  z-index: 9980;
}

.cs-trigger {
  width: 54px; height: 54px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary, #FF6B1A), var(--color-primary-dark, #FF4500));
  border: none;
  color: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 24px var(--color-primary-glow, rgba(255,107,26,0.4));
  position: relative;
  transition: all 0.2s;
}
.cs-trigger:hover { transform: scale(1.08); }

.cs-badge {
  position: absolute;
  top: -3px; right: -3px;
  background: #22C55E;
  color: #fff;
  font-size: 0.6rem; font-weight: 800;
  padding: 1px 5px; border-radius: 10px;
  letter-spacing: 0.04em;
  animation: csBadgePulse 2s infinite;
}
@keyframes csBadgePulse { 0%,100%{opacity:1} 50%{opacity:0.7} }

.cs-panel {
  position: absolute;
  bottom: 64px; right: 0;
  background: var(--color-bg-surface, #12121A);
  border: 1px solid var(--color-border, rgba(255,255,255,0.08));
  border-radius: 16px;
  width: 300px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.6);
  overflow: hidden;
  transition: all 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
.cs-panel[aria-hidden="true"]  { opacity: 0; pointer-events: none; transform: translateY(12px) scale(0.95); }
.cs-panel[aria-hidden="false"] { opacity: 1; pointer-events: all; transform: translateY(0) scale(1); }

.cs-panel-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(255,107,26,0.12), rgba(255,69,0,0.06));
  border-bottom: 1px solid var(--color-border, rgba(255,255,255,0.06));
}
.cs-panel-title  { font-weight: 800; font-size: 1rem; }
.cs-panel-sub    { font-size: 0.75rem; color: var(--color-text-muted, #6B6B80); margin-top: 2px; }
.cs-close { background: none; border: none; color: var(--color-text-muted, #6B6B80); cursor: pointer; padding: 4px; }
.cs-close:hover { color: var(--color-text-primary, #fff); }

.cs-channels { display: flex; flex-direction: column; gap: 2px; padding: 0.5rem; }

.cs-channel {
  display: flex; align-items: center; gap: 0.875rem;
  padding: 0.75rem;
  border-radius: 10px;
  text-decoration: none;
  color: var(--color-text-secondary, #B0B0C3);
  transition: all 0.15s;
  cursor: pointer;
}
.cs-channel:hover { background: var(--color-bg-elevated, #1C1C2E); color: var(--color-text-primary, #fff); }

.cs-ch-icon {
  width: 36px; height: 36px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; flex-shrink: 0;
}
.cs-wa .cs-ch-icon  { background: rgba(37,211,102,0.15); color: #25D366; }
.cs-fb .cs-ch-icon  { background: rgba(24,119,242,0.15); color: #1877F2; }
.cs-wc .cs-ch-icon  { background: rgba(9,194,68,0.15);   color: #09C244; }
.cs-em .cs-ch-icon  { background: rgba(59,130,246,0.15); color: #3B82F6; }
.cs-tm .cs-ch-icon  { background: rgba(255,107,26,0.15); color: #FF6B1A; font-size: 1.25rem; }

.cs-ch-info strong { display: block; font-size: 0.875rem; font-weight: 700; color: var(--color-text-primary, #fff); }
.cs-ch-info span   { font-size: 0.75rem; color: var(--color-text-muted, #6B6B80); }


/* ── SOCIAL SHARE BAR ── */
.social-share-bar {
  display: flex; align-items: center; gap: 0.5rem;
  flex-wrap: wrap;
}
.share-label {
  font-size: 0.8rem; font-weight: 700;
  color: var(--color-text-muted, #6B6B80);
  text-transform: uppercase; letter-spacing: 0.08em;
}
.share-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border-radius: 8px;
  border: 1px solid var(--color-border, rgba(255,255,255,0.1));
  background: var(--color-bg-elevated, #1C1C2E);
  color: var(--color-text-secondary, #B0B0C3);
  cursor: pointer; text-decoration: none;
  transition: all 0.15s;
  font-size: 0.875rem;
}
.share-btn:hover { transform: translateY(-2px); }
.share-fb:hover  { background: #1877F2; border-color: #1877F2; color: #fff; }
.share-tw:hover  { background: #000; border-color: #000; color: #fff; }
.share-li:hover  { background: #0A66C2; border-color: #0A66C2; color: #fff; }
.share-wa:hover  { background: #25D366; border-color: #25D366; color: #fff; }
.share-copy:hover { background: var(--color-primary, #FF6B1A); border-color: var(--color-primary); color: #fff; }


/* ── PLATFORM TRAFFIC BADGES ── */
.platform-traffic { padding: 1rem 0; }
.platform-label {
  font-size: 0.75rem; font-weight: 700;
  color: var(--color-text-muted, #6B6B80);
  text-transform: uppercase; letter-spacing: 0.08em;
  margin-bottom: 0.75rem;
}
.platform-badges { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.platform-badge {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.375rem 0.875rem;
  border-radius: 6px;
  border: 1px solid var(--color-border, rgba(255,255,255,0.1));
  background: var(--color-bg-elevated, #1C1C2E);
  color: var(--color-text-secondary, #B0B0C3);
  font-size: 0.8rem; font-weight: 600;
  text-decoration: none;
  transition: all 0.15s;
}
.platform-badge:hover {
  border-color: var(--color-primary, #FF6B1A);
  color: var(--color-primary, #FF6B1A);
  transform: translateY(-1px);
}
.plat-icon { font-size: 0.9rem; }


/* ── FLASH SALE BANNER ── */
.flash-banner {
  display: flex; align-items: center; gap: 1rem;
  background: linear-gradient(135deg, rgba(255,107,26,0.15), rgba(255,69,0,0.08));
  border: 1px solid rgba(255,107,26,0.3);
  border-radius: 12px; padding: 0.875rem 1.25rem;
  flex-wrap: wrap;
}
.flash-icon  { font-size: 1.25rem; }
.flash-label { font-weight: 700; font-size: 0.9375rem; color: var(--color-text-primary,#fff); flex: 1; min-width: 140px; }
.flash-timer { display: flex; align-items: center; gap: 0.25rem; }
.flash-unit  { display: flex; flex-direction: column; align-items: center; }
.flash-digit {
  font-size: 1.375rem; font-weight: 900; line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--color-primary, #FF6B1A);
  background: var(--color-bg-elevated, #1C1C2E);
  padding: 0.25rem 0.5rem;
  border-radius: 6px; min-width: 44px; text-align: center;
}
.flash-unit small { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.08em; color: var(--color-text-muted,#6B6B80); margin-top: 3px; }
.flash-colon { font-size: 1.375rem; font-weight: 900; color: var(--color-primary,#FF6B1A); margin: 0 2px; align-self: flex-start; padding-top: 4px; }
.flash-code  { font-size: 0.875rem; color: var(--color-text-secondary,#B0B0C3); }
.flash-code strong { color: var(--color-primary,#FF6B1A); }
.flash-expired { color: var(--color-text-muted,#6B6B80); font-size: 0.875rem; }


/* ── PROMO BANNERS ── */
.promo-banners { display: flex; flex-direction: column; gap: 0.5rem; }
.promo-banner-card {
  padding: 0.75rem 1rem;
  background: var(--color-bg-elevated,#1C1C2E);
  border: 1px solid var(--color-border,rgba(255,255,255,0.08));
  border-radius: 10px;
}
.promo-banner-label { font-weight: 700; font-size: 0.9rem; color: var(--color-text-primary,#fff); }
.promo-banner-desc  { font-size: 0.8rem; color: var(--color-text-muted,#6B6B80); margin-top: 3px; }
.promo-badge {
  display: inline-block; margin-top: 6px;
  background: rgba(255,107,26,0.12); border: 1px solid rgba(255,107,26,0.25);
  border-radius: 4px; padding: 2px 8px;
  font-size: 0.75rem; font-weight: 700; color: var(--color-primary,#FF6B1A);
  letter-spacing: 0.08em;
}


/* ── COUPON INPUT ── */
.coupon-row { display: flex; gap: 0.5rem; }
.coupon-input {
  flex: 1;
  background: var(--color-bg-elevated,#1C1C2E);
  border: 1px solid var(--color-border,rgba(255,255,255,0.1));
  border-radius: 8px; padding: 0.625rem 0.875rem;
  color: var(--color-text-primary,#fff);
  font-family: inherit; font-size: 0.875rem; font-weight: 600;
  letter-spacing: 0.08em;
  outline: none; transition: border-color 0.15s;
}
.coupon-input:focus { border-color: var(--color-primary,#FF6B1A); }
.coupon-message { margin-top: 0.5rem; font-size: 0.8rem; padding: 0.5rem 0.75rem; border-radius: 6px; }
.coupon-success { background: rgba(34,197,94,0.1); color: #22C55E; }
.coupon-error   { background: rgba(239,68,68,0.1);  color: #EF4444; }


/* ── REVIEWS SECTION ── */
.reviews-wrap {
  padding: 3rem 0;
  border-top: 1px solid var(--color-border,rgba(255,255,255,0.06));
}
.rv-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.5rem;
}
.rv-title { font-size: 1.375rem; font-weight: 800; }

.rv-summary {
  display: flex; gap: 2rem; align-items: flex-start;
  margin-bottom: 1.5rem; flex-wrap: wrap;
}
.rv-avg-block { text-align: center; min-width: 80px; }
.rv-avg-num { font-size: 3rem; font-weight: 900; line-height: 1; color: var(--color-primary,#FF6B1A); }
.rv-stars-big { font-size: 1.25rem; color: #F59E0B; margin: 4px 0; }
.rv-avg-count { font-size: 0.75rem; color: var(--color-text-muted,#6B6B80); }

.rv-bars { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 0.375rem; }
.rv-bar-row {
  display: flex; align-items: center; gap: 0.75rem;
  background: none; border: none; cursor: pointer; padding: 3px 6px; border-radius: 6px;
  transition: background 0.12s;
}
.rv-bar-row:hover, .rv-bar-row.active { background: var(--color-bg-elevated,#1C1C2E); }
.rv-bar-label { font-size: 0.8rem; font-weight: 700; color: var(--color-text-secondary,#B0B0C3); min-width: 28px; }
.rv-bar-track { flex: 1; height: 8px; background: var(--color-bg-elevated,#1C1C2E); border-radius: 4px; overflow: hidden; }
.rv-bar-fill  { height: 100%; background: #F59E0B; border-radius: 4px; transition: width 0.4s; }
.rv-bar-count { font-size: 0.75rem; color: var(--color-text-muted,#6B6B80); min-width: 20px; text-align: right; }

.rv-controls {
  display: flex; align-items: center; gap: 0.75rem;
  margin-bottom: 1.25rem; flex-wrap: wrap;
}
.rv-sort-select {
  background: var(--color-bg-elevated,#1C1C2E);
  border: 1px solid var(--color-border,rgba(255,255,255,0.1));
  border-radius: 6px; padding: 0.375rem 0.75rem;
  color: var(--color-text-secondary,#B0B0C3);
  font-family: inherit; font-size: 0.875rem; cursor: pointer;
}

.rv-list { display: flex; flex-direction: column; gap: 1rem; }
.rv-empty { padding: 2rem; text-align: center; color: var(--color-text-muted,#6B6B80); }

.rv-card {
  background: var(--color-bg-surface,#12121A);
  border: 1px solid var(--color-border,rgba(255,255,255,0.06));
  border-radius: 12px; padding: 1.25rem;
}
.rv-card-header { display: flex; align-items: flex-start; gap: 0.875rem; margin-bottom: 0.75rem; }
.rv-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary,#FF6B1A), var(--color-primary-dark,#FF4500));
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 1rem; color: #fff; flex-shrink: 0;
}
.rv-card-meta { flex: 1; }
.rv-author { font-weight: 700; font-size: 0.9rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.rv-verified {
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em;
  background: rgba(34,197,94,0.12); color: #22C55E;
  border-radius: 4px; padding: 1px 6px;
}
.rv-date { font-size: 0.75rem; color: var(--color-text-muted,#6B6B80); margin-top: 2px; }
.rv-rating-stars { font-size: 1rem; color: #F59E0B; margin-left: auto; white-space: nowrap; }
.rv-star.filled { color: #F59E0B; }
.rv-star { color: rgba(255,255,255,0.2); }
.rv-review-title { font-weight: 700; font-size: 0.9375rem; margin-bottom: 0.5rem; }
.rv-body { font-size: 0.875rem; color: var(--color-text-secondary,#B0B0C3); line-height: 1.7; }

.rv-images { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.75rem; }
.rv-img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; cursor: zoom-in; }

.rv-card-footer { margin-top: 0.75rem; }
.rv-helpful-btn {
  background: none; border: 1px solid var(--color-border,rgba(255,255,255,0.1));
  border-radius: 6px; padding: 0.25rem 0.75rem;
  color: var(--color-text-muted,#6B6B80); font-size: 0.8rem; cursor: pointer;
  transition: all 0.15s;
}
.rv-helpful-btn:hover { border-color: var(--color-primary,#FF6B1A); color: var(--color-primary,#FF6B1A); }

.rv-pagination {
  display: flex; align-items: center; justify-content: center; gap: 1rem;
  margin-top: 1.5rem;
}
.rv-page-btn {
  background: var(--color-bg-elevated,#1C1C2E);
  border: 1px solid var(--color-border,rgba(255,255,255,0.1));
  border-radius: 8px; padding: 0.5rem 1rem;
  color: var(--color-text-secondary,#B0B0C3); font-size: 0.875rem; cursor: pointer;
  transition: all 0.15s;
}
.rv-page-btn:hover:not(:disabled) { border-color: var(--color-primary,#FF6B1A); color: var(--color-primary,#FF6B1A); }
.rv-page-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.rv-page-info { font-size: 0.875rem; color: var(--color-text-muted,#6B6B80); }

/* Review form */
.rv-form-wrap {
  border-top: 1px solid var(--color-border,rgba(255,255,255,0.06));
  margin-top: 2rem; padding-top: 2rem;
}
.rv-form { max-width: 640px; }
.rv-form-title { font-size: 1.25rem; font-weight: 800; margin-bottom: 1.5rem; }
.rv-field { margin-bottom: 1.25rem; }
.rv-label { display: block; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.04em; color: var(--color-text-muted,#6B6B80); margin-bottom: 0.5rem; }
.rv-input {
  width: 100%;
  background: var(--color-bg-elevated,#1C1C2E);
  border: 1px solid var(--color-border,rgba(255,255,255,0.1));
  border-radius: 8px; padding: 0.75rem 1rem;
  color: var(--color-text-primary,#fff);
  font-family: inherit; font-size: 0.9rem;
  outline: none; transition: border-color 0.15s;
}
.rv-input:focus { border-color: var(--color-primary,#FF6B1A); }
.rv-textarea { resize: vertical; min-height: 110px; }

/* Star rating input (CSS-only reverse trick) */
.rv-star-input {
  display: flex; flex-direction: row-reverse; justify-content: flex-end;
  gap: 4px;
}
.rv-star-input input[type="radio"] { display: none; }
.rv-star-input label {
  font-size: 1.75rem; color: rgba(255,255,255,0.2);
  cursor: pointer; transition: color 0.12s;
}
.rv-star-input input:checked ~ label,
.rv-star-input label:hover,
.rv-star-input label:hover ~ label { color: #F59E0B; }

.rv-upload-area {
  border: 2px dashed var(--color-border,rgba(255,255,255,0.1));
  border-radius: 10px; padding: 1.5rem;
  text-align: center; cursor: pointer;
  color: var(--color-text-muted,#6B6B80); font-size: 0.875rem;
  transition: border-color 0.15s;
}
.rv-upload-area:hover, .rv-upload-area.drag-over {
  border-color: var(--color-primary,#FF6B1A);
  background: rgba(255,107,26,0.04);
}
.rv-image-previews { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.75rem; }
.rv-preview-thumb { position: relative; }

.rv-actions { display: flex; gap: 0.75rem; margin-top: 1.25rem; }
.rv-disclaimer { font-size: 0.75rem; color: var(--color-text-muted,#6B6B80); margin-top: 0.75rem; }


/* ── ENQUIRY MODALS ── */
.enquiry-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.75); backdrop-filter: blur(4px);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s;
}
.enquiry-modal-overlay.open { opacity: 1; pointer-events: all; }
.enquiry-modal {
  background: var(--color-bg-surface,#12121A);
  border: 1px solid var(--color-border,rgba(255,255,255,0.1));
  border-radius: 20px; padding: 2rem;
  max-width: 560px; width: 100%;
  max-height: 90vh; overflow-y: auto;
  transform: translateY(16px) scale(0.98);
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow: 0 32px 80px rgba(0,0,0,0.7);
}
.enquiry-modal-overlay.open .enquiry-modal { transform: translateY(0) scale(1); }
.enquiry-modal-header {
  display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1.5rem;
}
.enquiry-modal-title { font-size: 1.25rem; font-weight: 800; }
.enquiry-modal-close {
  background: none; border: none; color: var(--color-text-muted,#6B6B80);
  cursor: pointer; padding: 4px; font-size: 1.25rem;
}
.enquiry-modal-close:hover { color: var(--color-text-primary,#fff); }

/* Multi-enquiry basket */
.multi-enquiry-items {
  display: flex; flex-direction: column; gap: 0.5rem;
  max-height: 200px; overflow-y: auto; margin-bottom: 1.25rem;
}
.multi-enquiry-item {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  background: var(--color-bg-elevated,#1C1C2E); border-radius: 8px;
  font-size: 0.875rem;
}
.multi-enquiry-item img { width: 40px; height: 40px; object-fit: cover; border-radius: 6px; }
.multi-enquiry-item-name { flex: 1; font-weight: 600; }
.multi-enquiry-remove { background: none; border: none; color: var(--color-error,#EF4444); cursor: pointer; font-size: 1rem; }

/* Enquiry add-to-basket button */
.btn-enquire {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: transparent;
  border: 1px solid var(--color-border,rgba(255,255,255,0.15));
  border-radius: 8px; color: var(--color-text-secondary,#B0B0C3);
  font-family: inherit; font-size: 0.9rem; font-weight: 700;
  cursor: pointer; transition: all 0.15s;
}
.btn-enquire:hover {
  border-color: var(--color-primary,#FF6B1A);
  color: var(--color-primary,#FF6B1A);
  background: rgba(255,107,26,0.06);
}
.btn-enquire.in-basket { border-color: #22C55E; color: #22C55E; background: rgba(34,197,94,0.08); }

/* Floating multi-enquiry basket button */
#multi-enquiry-trigger {
  position: fixed; bottom: 88px; right: 20px;
  background: var(--color-bg-elevated,#1C1C2E);
  border: 1px solid var(--color-border,rgba(255,255,255,0.12));
  border-radius: 50px; padding: 0.5rem 1rem;
  display: flex; align-items: center; gap: 0.5rem;
  color: var(--color-text-secondary,#B0B0C3);
  font-size: 0.875rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 4px 20px rgba(0,0,0,0.4);
  z-index: 9970;
  transition: all 0.2s; display: none;
}
#multi-enquiry-trigger.visible { display: flex; }
#multi-enquiry-trigger:hover { border-color: var(--color-primary,#FF6B1A); color: var(--color-primary,#FF6B1A); }
.meq-count {
  background: var(--color-primary,#FF6B1A);
  color: #fff; border-radius: 50%;
  width: 20px; height: 20px;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.7rem; font-weight: 800;
}


/* ── KEYWORD SUGGESTIONS ── */
.kw-suggestions {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  margin-top: 0.5rem;
}
.kw-suggestion {
  background: var(--color-bg-elevated,#1C1C2E);
  border: 1px solid var(--color-border,rgba(255,255,255,0.1));
  border-radius: 20px; padding: 0.25rem 0.875rem;
  color: var(--color-text-secondary,#B0B0C3);
  font-size: 0.8rem; cursor: pointer;
  transition: all 0.12s;
}
.kw-suggestion:hover {
  border-color: var(--color-primary,#FF6B1A);
  color: var(--color-primary,#FF6B1A);
}


/* ── REGION BLOCK OVERLAY ── */
#region-block-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: #050508;
  display: flex; align-items: center; justify-content: center;
}
.rbo-card {
  text-align: center; padding: 3rem; max-width: 480px;
  background: #0F0F18; border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.06);
}
.rbo-icon { font-size: 4rem; margin-bottom: 1rem; }
.rbo-card h2 { font-size: 1.5rem; font-weight: 800; margin-bottom: 0.75rem; }
.rbo-card p  { color: #888; margin-bottom: 0.5rem; }
.rbo-sub     { font-size: 0.875rem; }


/* ── NEWSLETTER ENHANCED ── */
.newsletter-enhanced {
  background: var(--color-bg-elevated,#1C1C2E);
  border: 1px solid var(--color-border,rgba(255,255,255,0.08));
  border-radius: 14px; padding: 1.5rem; margin-top: 1.5rem;
}
.newsletter-title { font-weight: 800; margin-bottom: 0.25rem; }
.newsletter-desc  { font-size: 0.8rem; color: var(--color-text-muted,#6B6B80); margin-bottom: 1rem; }
.newsletter-row   { display: flex; gap: 0.5rem; }
.newsletter-row input {
  flex: 1;
  background: var(--color-bg-base,#0A0A0F);
  border: 1px solid var(--color-border,rgba(255,255,255,0.1));
  border-radius: 8px; padding: 0.75rem 1rem;
  color: var(--color-text-primary,#fff);
  font-family: inherit; font-size: 0.875rem; outline: none;
}
.newsletter-row input:focus { border-color: var(--color-primary,#FF6B1A); }
.newsletter-gdpr {
  font-size: 0.7rem; color: var(--color-text-muted,#6B6B80); margin-top: 0.625rem;
}
.newsletter-gdpr a { color: var(--color-primary,#FF6B1A); text-decoration: none; }

/* ── RESPONSIVE ── */
@media (max-width: 640px) {
  #theme-switcher-widget { bottom: 180px; right: 12px; }
  #cs-widget { bottom: 16px; right: 12px; }
  .cs-panel { width: 280px; }
  .rv-summary { flex-direction: column; }
  .flash-banner { flex-direction: column; gap: 0.75rem; }
  .rv-actions { flex-direction: column; }
  .multi-enquiry-trigger { display: none; } /* hidden on mobile, use contact form instead */
  #multi-enquiry-trigger { bottom: 80px; right: 12px; }

  /* Auth modal — full-screen on mobile */
  .auth-modal-box {
    width: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
    padding: 1.5rem !important;
  }
  .auth-social-grid { grid-template-columns: 1fr !important; }

  /* Platform badges — scroll horizontally */
  .platform-badges { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 0.5rem; }
  .platform-badge  { flex-shrink: 0; }

  /* Language switcher — hide DE/FR on very small screens */
  .lang-switcher .lang-btn:nth-child(n+4) { display: none; }

  /* Social share bar — icon only */
  .share-bar { gap: 0.4rem; }
  .share-btn span { display: none; }

  /* Enquiry modal */
  .enquiry-modal { padding: 1.25rem !important; }
  .enq-grid { grid-template-columns: 1fr !important; }

  /* Coupon row */
  .coupon-row { flex-direction: column; }
  .coupon-row .coupon-input { border-radius: 8px !important; }
  .coupon-row .coupon-apply-btn { border-radius: 8px !important; width: 100%; }

  /* Flash banner */
  .flash-timer-digits { font-size: 1rem !important; }
}

@media (max-width: 480px) {
  /* Review form — stack columns */
  .rv-form-grid { grid-template-columns: 1fr !important; }
  /* Keyword suggestions */
  .kw-suggestions { grid-template-columns: 1fr 1fr !important; }
}

/* ── Print ── */
@media print {
  #theme-switcher-widget, #cs-widget, #multi-enquiry-trigger,
  .share-bar, .region-block-overlay { display: none !important; }
}
