/* ============================================
   ENO CONFIGURATEUR — app.css v1.2
   Groupe ENO | Variables CSS JOUR/NUIT
   ============================================ */

/* ---- CSS VARIABLES — MODE JOUR (défaut) ---- */
:root {
  --eno-bg:#f8f9fa;
  --eno-bg-header:#f0f1f3;
  --eno-bg-panel:#e8e9eb;
  --eno-bg-canvas:#eef0f2;
  --eno-bg-warn:#fffbe6;
  --eno-bg-warn-dark:#fff3cd;
  --eno-bg-ok:#eafaf0;
  --eno-border:#d0d1d3;
  --eno-border-panel:#c0c1c3;
  --eno-border-soft:#cccccc;
  --eno-text:#1a1a1a;
  --eno-text-muted:#444444;
  --eno-text-dim:#666666;
  --eno-accent:#B29B62;
  --eno-accent-hover:#c9b47e;
  --eno-success-bg:#d1fae5;
  --eno-success-text:#065f46;
  --eno-success-border:#6ee7b7;
  --eno-danger-bg:#fee2e2;
  --eno-danger-text:#991b1b;
  --eno-danger-border:#fca5a5;
}

/* ---- CSS VARIABLES — MODE NUIT ---- */
[data-theme="dark"] {
  --eno-bg:#0a0a0a;
  --eno-bg-header:#111111;
  --eno-bg-panel:#1a1a1a;
  --eno-bg-canvas:#151515;
  --eno-bg-warn:#1c1800;
  --eno-bg-warn-dark:#141400;
  --eno-bg-ok:#0e2e0e;
  --eno-border:#1e1e1e;
  --eno-border-panel:#2e2e2e;
  --eno-border-soft:#333333;
  --eno-text:#e0e0e0;
  --eno-text-muted:#bbbbbb;
  --eno-text-dim:#888888;
  --eno-accent:#B29B62;
  --eno-accent-hover:#c9b47e;
  --eno-success-bg:#064e3b;
  --eno-success-text:#6ee7b7;
  --eno-success-border:#059669;
  --eno-danger-bg:#7f1d1d;
  --eno-danger-text:#fca5a5;
  --eno-danger-border:#dc2626;
}

/* ---- BOUTON THÈME ---- */
.eno-btn-theme{font-size:18px;}

/* ---- RESET & ROOT ---- */
#eno-app *{box-sizing:border-box;margin:0;padding:0;}
#eno-app{
  font-family:'Segoe UI',Arial,sans-serif;
  font-size:14px;
  color:var(--eno-text);
  background:var(--eno-bg);
}

/* ---- MAIN WRAPPER ---- */
.eno-app{
  display:flex;
  flex-direction:column;
  width:100%;
  height:calc(100vh - 160px);
  min-height:520px;
  background:var(--eno-bg);
  border:1px solid var(--eno-border);
  border-radius:4px;
  overflow:hidden;
}

/* ---- HEADER ---- */
.eno-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--eno-bg-header);
  border-bottom:2px solid var(--eno-accent);
  padding:10px 16px;
  flex-shrink:0;
  flex-wrap:wrap;
  gap:8px;
  z-index:10;
}

.eno-logo{
  font-size:17px;
  font-weight:700;
  letter-spacing:3px;
  color:var(--eno-accent);
  text-transform:uppercase;
  white-space:nowrap;
}

/* Mode toggle */
.eno-mode-toggle{display:flex;gap:4px;}
.eno-mode-toggle button{
  background:var(--eno-bg-panel);
  border:1px solid var(--eno-border-soft);
  color:var(--eno-text-dim);
  padding:6px 14px;
  cursor:pointer;
  border-radius:3px;
  font-size:13px;
  transition:all 0.2s;
}
.eno-mode-toggle button.active{
  background:var(--eno-accent);
  border-color:var(--eno-accent);
  color:#000;
  font-weight:700;
}
.eno-mode-toggle button:hover:not(.active){
  border-color:var(--eno-accent);
  color:var(--eno-accent);
}

/* Header action buttons */
.eno-header-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

.eno-btn-icon{
  background:var(--eno-bg-panel);
  border:1px solid var(--eno-border-panel);
  color:var(--eno-text-dim);
  width:34px;
  height:34px;
  border-radius:3px;
  cursor:pointer;
  font-size:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all 0.2s;
  flex-shrink:0;
}
.eno-btn-icon:hover{border-color:var(--eno-accent);color:var(--eno-accent);}
.eno-btn-icon.eno-btn-reset:hover{border-color:#e74c3c;color:#e74c3c;}

.eno-btn-sm{
  background:var(--eno-bg-panel);
  border:1px solid var(--eno-border-soft);
  color:var(--eno-text-muted);
  padding:5px 12px;
  border-radius:3px;
  cursor:pointer;
  font-size:12px;
  transition:all 0.2s;
  white-space:nowrap;
}
.eno-btn-sm:hover{border-color:var(--eno-accent);color:var(--eno-accent);}

.eno-btn-devis{
  background:var(--eno-accent);
  border:none;
  color:#000;
  padding:7px 18px;
  border-radius:3px;
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.5px;
  white-space:nowrap;
  transition:background 0.2s;
}
.eno-btn-devis:hover{background:var(--eno-accent-hover);}

/* ---- PARAMS PANEL (toggle) ---- */
.eno-panel-params{
  background:var(--eno-bg-panel);
  border-bottom:1px solid var(--eno-border);
  padding:8px 16px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  flex-shrink:0;
}
.eno-param-row{
  display:flex;
  align-items:center;
  gap:6px;
}
.eno-param-row label{
  font-size:12px;
  color:var(--eno-text-dim);
  white-space:nowrap;
}
.eno-param-row input,
.eno-param-row select{
  background:var(--eno-bg-panel);
  border:1px solid var(--eno-border-panel);
  color:var(--eno-text-muted);
  padding:4px 8px;
  border-radius:3px;
  font-size:12px;
  outline:none;
  transition:border-color 0.2s;
}
.eno-param-row input:focus,
.eno-param-row select:focus{border-color:var(--eno-accent);}
.eno-param-row input[type="number"]{width:78px;}
.eno-param-row input[type="text"]{width:160px;}
.eno-param-row select{max-width:180px;}

/* ---- MAIN FLEX AREA ---- */
.eno-main{
  display:flex;
  flex:1;
  overflow:hidden;
  min-height:0;
}

/* ---- LEFT TOOLBAR ---- */
.eno-toolbar{
  width:52px;
  background:var(--eno-bg);
  border-right:1px solid var(--eno-bg-panel);
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:8px 4px;
  gap:3px;
  flex-shrink:0;
  overflow-y:auto;
  overflow-x:hidden;
}

.eno-tool-sep{
  font-size:8px;
  color:var(--eno-text-dim);
  text-align:center;
  letter-spacing:0.5px;
  text-transform:uppercase;
  margin-top:8px;
  width:44px;
  border-top:1px solid var(--eno-border);
  padding-top:6px;
}
.eno-tool-sep:first-child{margin-top:0;border-top:none;padding-top:0;}

.eno-tool-btn{
  width:40px;
  height:40px;
  background:var(--eno-bg-panel);
  border:1px solid var(--eno-border-panel);
  color:var(--eno-text-dim);
  border-radius:4px;
  cursor:pointer;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:all 0.15s;
}
.eno-tool-btn:hover{
  background:var(--eno-bg-canvas);
  border-color:var(--eno-accent);
  color:var(--eno-accent);
}
.eno-tool-btn.active{
  background:var(--eno-accent);
  border-color:var(--eno-accent);
  color:#000;
}
.eno-tool-btn[id="et-porte_simple"],
.eno-tool-btn[id="et-porte_double"]{
  font-size:11px;
  font-weight:700;
}

/* ---- CANVAS WRAPPER ---- */
.eno-canvas-wrapper{
  flex:1;
  position:relative;
  overflow:hidden;
  background:var(--eno-bg);
  min-width:0;
  min-height:0;
}

#ec{
  display:block;
  position:absolute;
  top:0;left:0;
  width:100%;
  height:100%;
}

.eno-zoom-display{
  position:absolute;
  top:8px;
  left:8px;
  background:rgba(0,0,0,0.7);
  color:var(--eno-accent);
  font-size:11px;
  padding:3px 8px;
  border-radius:3px;
  pointer-events:none;
  user-select:none;
  z-index:5;
}

.eno-canvas-hint{
  position:absolute;
  bottom:10px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(0,0,0,0.7);
  color:var(--eno-text-dim);
  font-size:11px;
  padding:4px 14px;
  border-radius:12px;
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
  max-width:92%;
  overflow:hidden;
  text-overflow:ellipsis;
  z-index:5;
}

/* ---- RIGHT PANELS ---- */
.eno-right-panels{
  width:230px;
  flex-shrink:0;
  background:var(--eno-bg);
  border-left:1px solid var(--eno-bg-panel);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:0;
}

/* Panel tabs */
.eno-panel-tabs{
  display:flex;
  border-bottom:1px solid var(--eno-bg-panel);
  flex-shrink:0;
}
.eno-panel-tabs button{
  flex:1;
  background:var(--eno-bg);
  border:none;
  border-right:1px solid var(--eno-bg-panel);
  color:var(--eno-text-dim);
  padding:8px 4px;
  cursor:pointer;
  font-size:11px;
  transition:all 0.2s;
  white-space:nowrap;
}
.eno-panel-tabs button:last-child{border-right:none;}
.eno-panel-tabs button.active{
  background:var(--eno-bg-header);
  color:var(--eno-accent);
  border-bottom:2px solid var(--eno-accent);
}
.eno-panel-tabs button:hover:not(.active){color:var(--eno-accent);}

/* Panel content */
.eno-panel-content{
  display:none;
  flex:1;
  overflow-y:auto;
  padding:10px;
}
.eno-panel-content.active{display:block;}

/* Scrollbar styling */
.eno-panel-content::-webkit-scrollbar{width:4px;}
.eno-panel-content::-webkit-scrollbar-track{background:var(--eno-bg);}
.eno-panel-content::-webkit-scrollbar-thumb{background:var(--eno-border-soft);border-radius:2px;}
.eno-panel-content::-webkit-scrollbar-thumb:hover{background:var(--eno-accent);}

/* ---- INFO PANEL ---- */
.eno-info-section{margin-bottom:14px;}

.eno-info-title{
  font-size:10px;
  font-weight:700;
  color:var(--eno-accent);
  letter-spacing:1.5px;
  text-transform:uppercase;
  margin-bottom:7px;
  padding-bottom:4px;
  border-bottom:1px solid var(--eno-border);
}

.eno-info-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  padding:4px 0;
  color:var(--eno-text-dim);
  border-bottom:1px solid var(--eno-bg-header);
}
.eno-info-row span:first-child{color:var(--eno-text-dim);}
.eno-info-row span:last-child{color:#ddd;font-weight:500;}

/* ---- MATS TABLE ---- */
.eno-mats-table{
  width:100%;
  border-collapse:collapse;
  font-size:11px;
}
.eno-mats-table thead th{
  background:var(--eno-bg-panel);
  color:var(--eno-accent);
  padding:5px 4px;
  text-align:left;
  font-weight:600;
  font-size:10px;
  letter-spacing:0.5px;
}
.eno-mats-table tbody td{
  padding:5px 4px;
  border-bottom:1px solid var(--eno-bg-canvas);
  color:var(--eno-text-dim);
}
.eno-mats-table tbody tr:hover td{background:var(--eno-bg-warn-dark);color:#ddd;}
.eno-row-selected td{
  background:var(--eno-bg-warn) !important;
  color:var(--eno-accent) !important;
}

/* ---- PRIX PANEL ---- */
.eno-prix-badge{
  display:block;
  background:var(--eno-bg-ok);
  color:#4caf50;
  font-size:11px;
  padding:5px 8px;
  border-radius:3px;
  margin-bottom:8px;
  border-left:2px solid #4caf50;
}
.eno-prix-badge-rabais{
  background:#0e1e2e;
  color:#64b5f6;
  border-left-color:#64b5f6;
  margin-top:4px;
}

.eno-prix-table{
  width:100%;
  border-collapse:collapse;
  font-size:11px;
  margin-bottom:12px;
}
.eno-prix-table thead th{
  background:var(--eno-bg-panel);
  color:var(--eno-accent);
  padding:5px 4px;
  text-align:left;
  font-size:10px;
  letter-spacing:0.5px;
}
.eno-prix-table tbody td{
  padding:4px;
  border-bottom:1px solid var(--eno-bg-canvas);
  color:var(--eno-text-dim);
}
.eno-prix-table tbody td:last-child{text-align:right;color:var(--eno-text-muted);}

.eno-prix-totaux{
  border-top:1px solid var(--eno-border-panel);
  padding-top:10px;
}
.eno-prix-ligne{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  padding:3px 0;
  color:var(--eno-text-dim);
}
.eno-prix-ligne span:last-child{color:var(--eno-text-muted);}
.eno-prix-total{
  margin-top:6px;
  padding-top:8px;
  border-top:1px solid var(--eno-accent);
  font-size:15px !important;
  font-weight:700;
}
.eno-prix-total span{color:var(--eno-accent) !important;}

.eno-empty-msg{
  color:var(--eno-text-dim);
  font-size:12px;
  font-style:italic;
  text-align:center;
  padding:16px 8px;
  line-height:1.5;
}

/* ---- DEVIS MODAL ---- */
.eno-modal-overlay{
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,0.85);
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.eno-modal{
  background:var(--eno-bg-header);
  border:1px solid var(--eno-accent);
  border-radius:6px;
  width:100%;
  max-width:700px;
  max-height:92vh;
  overflow-y:auto;
  padding:28px 32px;
  position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,0.7);
}
.eno-modal::-webkit-scrollbar{width:4px;}
.eno-modal::-webkit-scrollbar-track{background:var(--eno-bg);}
.eno-modal::-webkit-scrollbar-thumb{background:var(--eno-border-soft);}

.eno-modal-close{
  position:absolute;
  top:14px;right:16px;
  background:transparent;
  border:1px solid var(--eno-border-soft);
  color:var(--eno-text-dim);
  width:28px;height:28px;
  border-radius:3px;
  cursor:pointer;
  font-size:13px;
  display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;
}
.eno-modal-close:hover{border-color:#e74c3c;color:#e74c3c;}

.eno-modal-title{
  color:var(--eno-accent);
  font-size:22px;
  font-weight:700;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--eno-border);
  padding-right:30px;
}

.eno-devis-note{
  padding:7px 12px;
  border-radius:3px;
  font-size:12px;
  margin-bottom:14px;
}
.eno-devis-note-contractor{
  background:var(--eno-bg-ok);
  color:#4caf50;
  border-left:3px solid #4caf50;
}

/* Devis summary table */
.eno-devis-resume{
  background:var(--eno-bg);
  border:1px solid var(--eno-border);
  border-radius:4px;
  padding:14px;
  margin-bottom:22px;
  max-height:220px;
  overflow-y:auto;
}
.eno-devis-resume-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
  margin-bottom:10px;
}
.eno-devis-resume-table thead th{
  background:var(--eno-bg-panel);
  color:var(--eno-accent);
  padding:6px 8px;
  text-align:left;
  font-size:11px;
  font-weight:600;
}
.eno-devis-resume-table tbody td{
  padding:5px 8px;
  border-bottom:1px solid var(--eno-bg-canvas);
  color:var(--eno-text-dim);
}
.eno-devis-resume-table tbody td:last-child{text-align:right;color:var(--eno-text-muted);}

.eno-devis-sous-totaux{
  border-top:1px solid var(--eno-border);
  padding-top:8px;
}
.eno-dt-ligne{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  padding:3px 8px;
  color:var(--eno-text-dim);
}
.eno-dt-ligne span:last-child{color:var(--eno-text-muted);}
.eno-dt-total{
  font-weight:700;
  font-size:15px;
  color:var(--eno-accent);
  padding-top:8px;
  margin-top:4px;
  border-top:1px solid var(--eno-accent);
}
.eno-dt-total span{color:var(--eno-accent) !important;}

/* Devis form */
.eno-devis-form{}
.eno-devis-form-row{
  display:flex;
  gap:14px;
  margin-bottom:0;
}
.eno-devis-form-row .eno-devis-field{flex:1;}

.eno-devis-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:14px;
}
.eno-devis-field label{
  font-size:12px;
  color:var(--eno-text-dim);
  font-weight:500;
}
.eno-devis-field input,
.eno-devis-field textarea{
  background:var(--eno-bg-panel);
  border:1px solid var(--eno-border-panel);
  color:#ddd;
  padding:9px 12px;
  border-radius:3px;
  font-size:13px;
  outline:none;
  font-family:inherit;
  transition:border-color 0.2s;
}
.eno-devis-field input:focus,
.eno-devis-field textarea:focus{
  border-color:var(--eno-accent);
  background:#1c1c1c;
}
.eno-devis-field textarea{
  resize:vertical;
  min-height:72px;
}

/* Modal action buttons */
.eno-devis-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--eno-border);
}
.eno-btn-primary{
  background:var(--eno-accent);
  border:none;
  color:#000;
  padding:10px 26px;
  border-radius:3px;
  cursor:pointer;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.5px;
  transition:background 0.2s;
}
.eno-btn-primary:hover{background:var(--eno-accent-hover);}
.eno-btn-primary:disabled{
  background:var(--eno-text-dim);
  color:var(--eno-text-dim);
  cursor:not-allowed;
}
.eno-btn-secondary{
  background:var(--eno-bg-panel);
  border:1px solid #3a3a3a;
  color:#aaa;
  padding:10px 20px;
  border-radius:3px;
  cursor:pointer;
  font-size:14px;
  transition:all 0.2s;
}
.eno-btn-secondary:hover{border-color:var(--eno-accent);color:var(--eno-accent);}

/* Message feedback */
.eno-msg-success{
  background:var(--eno-bg-ok);
  color:#66bb6a;
  border:1px solid #2e5e2e;
  padding:10px 14px;
  border-radius:3px;
  font-size:13px;
  margin-top:12px;
  line-height:1.5;
}
.eno-msg-error{
  background:#2e0e0e;
  color:#ef5350;
  border:1px solid #5e2e2e;
  padding:10px 14px;
  border-radius:3px;
  font-size:13px;
  margin-top:12px;
}

/* ---- RESPONSIVE ---- */
@media(max-width:900px){
  .eno-right-panels{width:190px;}
  .eno-modal{padding:20px;}
  .eno-devis-form-row{flex-direction:column;gap:0;}
}

@media(max-width:680px){
  .eno-app{height:calc(100vh - 100px);min-height:400px;}
  .eno-right-panels{display:none;}
  .eno-logo{font-size:14px;letter-spacing:2px;}
  .eno-btn-devis{padding:6px 12px;font-size:12px;}
  .eno-toolbar{width:44px;}
  .eno-tool-btn{width:36px;height:36px;font-size:16px;}
  .eno-modal{padding:16px;max-height:95vh;}
  .eno-modal-title{font-size:18px;}
}

@media(max-width:480px){
  .eno-header{padding:8px 10px;}
  .eno-mode-toggle button{padding:5px 10px;font-size:12px;}
  .eno-btn-icon{width:30px;height:30px;font-size:14px;}
}

/* ---- TOAST ---- */
.eno-toast{
position:fixed;
bottom:30px;
right:30px;
background:var(--eno-success-bg);
color:var(--eno-success-text);
border:1px solid var(--eno-success-border);
padding:12px 18px;
border-radius:6px;
font-size:13px;
font-weight:500;
box-shadow:0 4px 12px rgba(0,0,0,0.15);
z-index:1000000;
transform:translateY(20px);
opacity:0;
transition:transform 0.3s,opacity 0.3s;
max-width:320px;
}
.eno-toast.show{transform:translateY(0);opacity:1;}
.eno-toast-error{
background:var(--eno-danger-bg);
color:var(--eno-danger-text);
border-color:var(--eno-danger-border);
}

/* ============================================
   PAGE CONFIGURATEUR — Mode focus (V1.6.0)
   Masquer les doublons et parasites visuels
   sur la page /configurateur-2d/ uniquement
   ============================================ */

/* H1 "Configurateur 2D" du thème Hello Elementor */
body.page-id-3739 .page-header,
body.page-id-3739 .entry-title { 
  display: none !important; 
}

/* CAD/USD toggle du plugin eno-currency */
body.page-id-3739 #eno-currency-toggle { 
  display: none !important; 
}

/* Doublons du plugin eno-checkout-bridge 
   (le configurateur a déjà son badge prix et son bouton devis) */
body.page-id-3739 #eno-price-badge,
body.page-id-3739 #eno-bridge-checkout-btn { 
  display: none !important; 
}

/* Repositionner le bouton Spacing du patch-v2.1 
   en bas-droite (libéré par les masquages ci-dessus) */
body.page-id-3739 #eno-spacing-btn {
  top: auto !important;
  bottom: 30px !important;
  right: 30px !important;
}