/* ==========================================================
   SOMMAIRE — quote.css (système de devis "Mes devis" / Mon compte)
   ==========================================================
   1. Bouton "Demander un devis" + badge header + toast
   2. Page devis (shortcode) — barre de progression, état vide, ajout produit
   3. Page devis — layout 2 colonnes (table produits + formulaire)
   4. Mon Compte — liste devis
   5. Mon Compte — vue détail devis
========================================================== */

/* [1] BOUTON "DEMANDER UN DEVIS" + BADGE HEADER + TOAST */
.btn-add-to-quote{display:inline-flex;align-items:center;gap:7px;height:56px;padding:0 20px;background:#fff;color:var(--navy);border:2px solid var(--navy);border-radius:var(--r,6px);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-add-to-quote:hover{background:var(--navy);color:#fff}
.btn-add-to-quote.is-added{background:#16a34a;border-color:#16a34a;color:#fff}
.btn-add-to-quote.is-loading{opacity:.7;pointer-events:none}
.btn-add-to-quote--loop{padding:8px 14px;font-size:12px;width:100%;justify-content:center;margin-top:8px}

.devis-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--y,#FFD435);color:var(--navy,#0f1823);font-size:11px;font-weight:800;border-radius:10px;margin-left:5px}

/* ── Toast notification riche ───────────────────────────────── */
.cq-toast-rich{position:fixed;bottom:24px;right:24px;z-index:9999;width:320px;background:var(--navy,#0F1823);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.22);transform:translateY(20px);opacity:0;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .28s ease;pointer-events:none;overflow:hidden}
.cq-toast-rich.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.cq-toast-rich--success{background:#14532D}
.cq-toast-rich--error{background:#7F1D1D}
.cqtr-dismiss{position:absolute;top:10px;right:10px;width:22px;height:22px;background:rgba(255,255,255,.12);border:none;border-radius:50%;color:rgba(255,255,255,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}
.cqtr-dismiss:hover{background:rgba(255,255,255,.22)}
.cqtr-header{display:flex;align-items:center;gap:7px;padding:14px 40px 0 16px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.6)}
.cqtr-hicon{flex-shrink:0;color:var(--y,#FFD435)}
.cq-toast-rich--success .cqtr-hicon{color:#4ADE80}
.cq-toast-rich--error .cqtr-hicon{color:#FCA5A5}
.cqtr-body{padding:7px 16px 10px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.9);line-height:1.45}
.cqtr-actions{padding:0 16px 12px;display:flex;gap:8px}
.cqtr-btn{display:inline-flex;align-items:center;padding:7px 14px;background:var(--y,#FFD435);color:var(--navy,#0F1823);border-radius:6px;font-size:12.5px;font-weight:700;text-decoration:none;transition:background .15s}
.cqtr-btn:hover{background:var(--y-dark,#E6BC00);color:var(--navy,#0F1823)}
.cqtr-bar{height:3px;background:rgba(255,255,255,.1);overflow:hidden}
.cqtr-bar-fill{height:100%;background:var(--y,#FFD435);width:100%}
.cq-toast-rich--success .cqtr-bar-fill{background:#4ADE80}
.cq-toast-rich--error .cqtr-bar-fill{background:#F87171}

/* [2] PAGE DEVIS (SHORTCODE) */
.cq-page{padding:28px 0 64px}

.cq-steps-bar{display:flex;align-items:stretch;background:#fff;border:1px solid #E5E7EB;border-radius:12px;margin-bottom:22px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.cq-step{display:flex;align-items:center;gap:9px;padding:13px 0 13px 18px;flex:1;position:relative;font-size:13px;color:#6B7280}
.cq-step:not(:last-child)::after{content:'›';position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#D1D5DB;font-size:18px;line-height:1}
.cq-step-num{width:26px;height:26px;border-radius:50%;background:#E5E7EB;color:#6B7280;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cq-step-label{white-space:nowrap;font-size:12.5px}
.cq-step--active .cq-step-num{background:var(--y,#FFD435);color:var(--navy,#0F1823)}
.cq-step--active{color:#1F2937;font-weight:700}
.cq-step--done .cq-step-num{background:#10B981;color:#fff}
@media(max-width:600px){.cq-step-label{display:none}.cq-step{padding:12px 8px 12px 12px;justify-content:center}}

.cq-empty-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden;margin-bottom:14px}
.cq-empty-card__head{display:flex;align-items:center;gap:9px;padding:16px 22px;border-bottom:1px solid #E5E7EB;background:#F8FAFC;font-size:15px;font-weight:800;color:#1F2937}
.cq-empty-count{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--y,#FFD435);color:var(--navy,#0F1823);font-size:11px;font-weight:900}
.cq-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px;color:#6B7280}
.cq-empty svg{opacity:.13;margin-bottom:18px}
.cq-empty h3{font-size:19px;font-weight:800;color:#1F2937;margin-bottom:8px}
.cq-empty p{font-size:14px;max-width:360px;line-height:1.65;margin-bottom:24px;color:#6B7280}
.cq-empty-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--navy,#0F1823);color:#fff;border-radius:8px;font-size:13.5px;font-weight:700;transition:background .2s}
.cq-empty-cta:hover{background:#1C2B3A;color:#fff}

.cq-add-bar{display:flex;align-items:center;gap:14px;background:#FFFBEB;border:1.5px dashed #E6BC00;border-radius:8px;padding:14px 18px;margin-top:14px;cursor:pointer;transition:background .2s;text-decoration:none;color:inherit}
.cq-add-bar:hover{background:#FEF3C7;color:inherit}
.cq-add-bar svg{flex-shrink:0;color:var(--navy,#0F1823);opacity:.65}
.cq-add-bar p{font-size:13.5px;font-weight:700;color:var(--navy,#0F1823);margin-bottom:2px}
.cq-add-bar span{font-size:12.5px;color:#6B7280}
/* NB : la neutralisation de .entry-content a sur .cq-empty-cta / .cq-add-bar
   est faite dans main.css (toujours chargé avec la règle coupable). */

/* [3] PAGE DEVIS — LAYOUT 2 COLONNES */
.cq-layout{display:grid;grid-template-columns:1fr 390px;gap:28px;align-items:start}
@media(max-width:960px){.cq-layout{grid-template-columns:1fr}}

.cq-quote-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden}

.cq-card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #E5E7EB;background:#F8FAFC}
.cq-card-title{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:800;color:#1F2937;margin:0}
.cq-item-count{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--y,#FFD435);color:var(--navy,#0F1823);font-size:11px;font-weight:900}

.cq-table-cols{display:grid;grid-template-columns:72px 1fr 100px 110px 40px;gap:12px;padding:10px 22px;background:#F1F5F9;border-bottom:1px solid #E5E7EB;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#6B7280}
@media(max-width:640px){.cq-table-cols{display:none}}

.cq-items-wrap{}
.cq-table{width:100%;border-collapse:collapse}
.cq-table tbody tr{border-bottom:1px solid #F1F5F9;transition:background .12s}
.cq-table tbody tr:last-child{border-bottom:none}
.cq-table tbody tr:hover{background:#F8FAFC}
.cq-table td{padding:14px 12px;vertical-align:middle}

.cq-col-img{width:72px;padding-left:22px !important}
.cq-col-img img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid #E5E7EB;display:block}
.cq-img-placeholder{width:64px;height:64px;background:#F1F5F9;border-radius:8px;border:1px solid #E5E7EB}

.cq-col-name{min-width:0}
.cq-prod-name{font-size:13.5px;font-weight:700;color:#1F2937;line-height:1.35;margin-bottom:4px}
.cq-col-sku{width:100px}
.cq-prod-ref{font-size:12px;color:#6B7280;font-weight:500}

.cq-col-qty{width:110px}
.cq-qty-wrap{display:inline-flex;align-items:center;border:1.5px solid #E5E7EB;border-radius:8px;overflow:hidden;width:fit-content}
.cq-qty-btn{width:30px;height:32px;background:#F8FAFC;border:none;cursor:pointer;font-size:16px;font-weight:700;color:#1F2937;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}
.cq-qty-btn:hover{background:var(--y-soft,#FEF3C7)}
.cq-qty-input{width:36px;text-align:center;border:none;border-left:1.5px solid #E5E7EB;border-right:1.5px solid #E5E7EB;outline:none;font-size:13.5px;font-weight:700;color:#1F2937;height:32px;padding:0;-moz-appearance:textfield}
.cq-qty-input::-webkit-outer-spin-button,.cq-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.cq-col-remove{width:40px;padding-right:16px !important}
.cq-remove-btn{width:30px;height:30px;border-radius:6px;background:transparent;border:1px solid #E5E7EB;color:#CBD5E1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.cq-remove-btn:hover{background:#FEF2F2;border-color:#EF4444;color:#EF4444}

.cq-card-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:#F8FAFC;border-top:1px solid #E5E7EB;flex-wrap:wrap;gap:10px}
.cq-back-shop{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#6B7280;text-decoration:none;transition:color .2s}
.cq-back-shop:hover{color:#1F2937}
.cq-foot-note{font-size:12.5px;font-weight:600;color:#6B7280;font-style:italic}

.cq-form-col{}
.cq-form-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden;position:sticky;top:96px}

.cq-form-head{padding:18px 22px;background:var(--navy,#0F1823);color:#fff}
.cq-form-head__title{font-size:16px;font-weight:900;display:flex;align-items:center;gap:9px;margin:0 0 4px}
.cq-form-head__sub{font-size:12.5px;color:#94A3B8;margin:0}

.cq-form-body{padding:22px}
.cq-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}
@media(max-width:440px){.cq-form-row{grid-template-columns:1fr}}

.cq-field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}
.cq-field:last-child{margin-bottom:0}
.cq-form-row .cq-field{margin-bottom:0}
.cq-field label{font-size:12px;font-weight:700;color:#1F2937}
.cq-req{color:#EF4444}
.cq-field input,.cq-field textarea{padding:10px 13px;border:1.5px solid #E5E7EB;border-radius:7px;font-size:13.5px;color:#1F2937;background:#fff;transition:border-color .2s,box-shadow .2s;font-family:inherit;width:100%}
.cq-field input::placeholder,.cq-field textarea::placeholder{color:#9CA3AF}
.cq-field input:focus,.cq-field textarea:focus{outline:none;border-color:#E6BC00;box-shadow:0 0 0 3px rgba(255,212,53,.18)}
.cq-field textarea{resize:vertical;min-height:90px}

.cq-field--rgpd{margin-bottom:0}
.cq-check-label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:12.5px;color:#6B7280;line-height:1.55}
.cq-check-label input[type="checkbox"]{width:15px;height:15px;margin-top:2px;accent-color:var(--navy,#0F1823);flex-shrink:0;cursor:pointer}
.cq-check-label a{color:var(--navy,#0F1823);font-weight:700}

.cq-submit-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:15px;margin-top:16px;background:var(--y,#FFD435);color:var(--navy,#0F1823);border:none;border-radius:8px;font-size:15px;font-weight:900;cursor:pointer;transition:all .2s;letter-spacing:.1px}
.cq-submit-btn:hover{background:#E6BC00;transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,212,53,.4)}
.cq-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.cq-submit-btn.is-loading{opacity:.7;pointer-events:none}

.cq-form-trust{padding:14px 22px;background:#F8FAFC;border-top:1px solid #E5E7EB;display:flex;flex-direction:column;gap:8px}
.cq-trust-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#6B7280}
.cq-trust-item svg{color:#10B981;flex-shrink:0}

.cq-form-message{padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:16px}
.cq-msg-success{background:#f0fdf4;border:1px solid #86efac;color:#166534}
.cq-msg-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}

/* [4] MON COMPTE — LISTE DEVIS */
.cq-myaccount{padding:4px 0}
.cq-myaccount-title{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:800;color:var(--navy,#0f1823);margin-bottom:20px}
.cq-myaccount-empty{text-align:center;padding:48px 24px;color:var(--slate,#64748b)}
.cq-myaccount-empty p{margin-bottom:16px}

.cq-myaccount-table{width:100%;font-size:14px;border-collapse:collapse}
.cq-myaccount-table thead th{padding:10px 12px;text-align:left;font-size:12px;font-weight:700;color:var(--slate,#64748b);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}
.cq-myaccount-table tbody td{padding:12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}

.cq-status-pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600}
.cq-status--new{background:#dbeafe;color:#1e40af}
.cq-status--sent{background:#fef9c3;color:#854d0e}
.cq-status--accepted{background:#dcfce7;color:#166534}
.cq-status--refused{background:#fee2e2;color:#991b1b}
.cq-status--expired{background:#f1f5f9;color:#64748b}

.cq-actions-cell{white-space:nowrap}
.btn-sm{padding:6px 14px;font-size:12px}
.btn-outline{background:transparent;border:1.5px solid var(--navy,#0f1823);color:var(--navy,#0f1823);border-radius:var(--r,6px);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s}
.btn-outline:hover{background:var(--navy,#0f1823);color:#fff}

/* [5] MON COMPTE — VUE DÉTAIL DEVIS */
.cq-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.cq-view-title{font-size:22px;font-weight:900;color:var(--navy,#0f1823);letter-spacing:-.3px}
.cq-view-meta{font-size:13px;color:var(--slate,#64748b);margin-top:4px}
.cq-view-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.cq-view-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:24px}
.cq-view-table thead th{padding:10px 12px;text-align:left;font-size:12px;font-weight:700;color:var(--slate,#64748b);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}
.cq-view-table tbody td{padding:11px 12px;border-bottom:1px solid #f1f5f9}
.cq-view-table tfoot td{padding:11px 12px;background:#f8fafc}
.cq-total-row td{font-size:15px}

.cq-note-block{background:#f8fafc;border-left:3px solid var(--y,#FFD435);padding:14px 18px;border-radius:0 8px 8px 0;margin-bottom:16px}
.cq-note-block h3{font-size:13px;font-weight:700;color:var(--navy,#0f1823);margin-bottom:6px}
.cq-note-block p{font-size:13.5px;color:var(--slate,#64748b)}
.cq-note-client{border-color:#e2e8f0}
.cq-refuse-btn{border-color:#dc2626;color:#dc2626}
.cq-refuse-btn:hover{background:#dc2626;color:#fff}

.cq-back-link{margin-top:24px;font-size:13.5px}
.cq-back-link a{color:var(--navy,#0f1823);text-decoration:underline;text-underline-offset:3px}

/* [6] iOS — évite le zoom automatique de la page au focus d'un champ
   (tout input dont le font-size calculé est < 16px déclenche ce zoom sous
   Safari mobile). Même correctif que woocommerce.css, ce fichier étant
   chargé séparément (page devis + plugin comptoir-quote). */
@media(max-width:600px){
  .cq-field input,.cq-field textarea,.cq-qty-input{font-size:16px}
}
