/* FRQR — outils du site. Utilise les couleurs du thème FRQR (variables WordPress), avec valeurs de repli. */
.frqr-tool{
  --t-ink:var(--wp--preset--color--ink,#0f172a);
  --t-muted:var(--wp--preset--color--muted,#64748b);
  --t-line:var(--wp--preset--color--line,#e2e8f0);
  --t-base:var(--wp--preset--color--base,#fff);
  --t-surface:var(--wp--preset--color--surface,#f8fafc);
  --t-action:var(--wp--preset--color--action,#4f46e5);
  --t-on-action:var(--wp--preset--color--on-action,#fff);
  --t-link:var(--wp--preset--color--link,#4338ca);
  --t-err:#b42318;
  display:flex;flex-direction:column;gap:1rem;color:var(--t-ink);font-size:1rem;margin:0
}
.frqr-tool *{box-sizing:border-box}
.frqr-tool [hidden],.pf-pricing [hidden]{display:none!important}
.frqr-tool-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1rem,3vw,2rem);align-items:start}
.frqr-tool-form{display:flex;flex-direction:column;gap:1rem;min-width:0}
.frqr-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.frqr-inline{display:flex;gap:.6rem;align-items:stretch}
.frqr-grow{flex:1;min-width:0}
.frqr-field{display:flex;flex-direction:column;gap:.35rem;margin:0;font-size:.875rem;font-weight:600}
.frqr-field>span{display:flex;gap:.4rem;align-items:baseline;flex-wrap:wrap}
.frqr-field small{font-weight:400;color:var(--t-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}
.frqr-field em{font-style:normal;color:var(--t-link)}
.frqr-tool input[type=text],.frqr-tool input[type=url],.frqr-tool input[type=email],.frqr-tool input[type=tel],.frqr-tool select,.frqr-tool textarea{
  width:100%;padding:.8rem 1rem;border:1px solid var(--t-line);border-radius:12px;background:var(--t-base);color:var(--t-ink);font:inherit;font-weight:400;font-size:1rem;min-height:48px
}
.frqr-tool textarea{resize:vertical;min-height:auto}
.frqr-tool textarea[readonly],.frqr-tool input[readonly]{background:var(--t-surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;word-break:break-all}
.frqr-tool input:focus,.frqr-tool select:focus,.frqr-tool textarea:focus{outline:2px solid var(--t-action);outline-offset:1px;border-color:transparent}
.frqr-tool input[type=file]{font-size:.8125rem;font-weight:400;padding:.5rem 0}
.frqr-color input[type=color]{width:100%;height:48px;padding:.25rem;border:1px solid var(--t-line);border-radius:12px;background:var(--t-base);cursor:pointer}
.frqr-checkbox{display:flex;gap:.5rem;align-items:flex-start;font-size:.875rem;color:var(--t-muted)}
.frqr-checkbox input{margin-top:.2rem;accent-color:var(--t-action)}
.frqr-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem 1.4rem;min-height:48px;border:1.5px solid var(--t-action);border-radius:999px;background:var(--t-action);color:var(--t-on-action);font:600 .9375rem var(--wp--preset--font-family--display,inherit);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .15s,background .15s}
.frqr-btn:hover{transform:translateY(-1px);background:var(--t-link);border-color:var(--t-link);color:var(--t-on-action)}
.frqr-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.frqr-btn-ghost{background:transparent;color:var(--t-ink);border-color:var(--t-line)}
.frqr-btn-ghost:hover{background:var(--t-surface);color:var(--t-ink);border-color:var(--t-ink)}
.frqr-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.frqr-msg{margin:0;font-size:.875rem;color:var(--t-muted);min-height:1.2em}
.frqr-msg.is-err,.frqr-warn{color:var(--t-err)}
.frqr-warn{margin:0;font-size:.875rem}
.frqr-hint,.frqr-foot{margin:0;font-size:.8125rem;color:var(--t-muted)}
.frqr-foot{padding-top:1rem;border-top:1px solid var(--t-line)}
.frqr-foot a,.frqr-hint a{color:var(--t-link);font-weight:600}
.frqr-tool .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.frqr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.frqr-result{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--t-line);border-radius:16px;background:var(--t-surface)}

/* Onglets du générateur QR */
.frqr-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.3rem;border:1px solid var(--t-line);border-radius:999px;background:var(--t-surface);align-self:flex-start;max-width:100%}
.frqr-tabs button{border:0;background:transparent;color:var(--t-ink);font:600 .875rem var(--wp--preset--font-family--display,inherit);padding:.5rem .95rem;border-radius:999px;cursor:pointer;min-height:40px}
.frqr-tabs button[aria-selected=true]{background:var(--t-ink);color:var(--t-base)}
.frqr-panel{display:flex;flex-direction:column;gap:.75rem}
.frqr-more{border:1px solid var(--t-line);border-radius:16px;padding:.25rem 1rem}
.frqr-more[open]{padding-bottom:1rem}
.frqr-more>summary{cursor:pointer;font-weight:600;padding:.75rem 0;list-style:none}
.frqr-more>summary::-webkit-details-marker{display:none}
.frqr-more>summary::after{content:"+";float:right;color:var(--t-muted)}
.frqr-more[open]>summary::after{content:"–"}
.frqr-more .frqr-row+.frqr-row{margin-top:.75rem}
.frqr-tool-out{display:flex;flex-direction:column;gap:.75rem;align-items:stretch;position:sticky;top:6rem}
.frqr-qr-box{aspect-ratio:1;border:1px solid var(--t-line);border-radius:20px;background:#fff;padding:clamp(.75rem,2vw,1.25rem);display:flex;align-items:center;justify-content:center}
.frqr-qr-box canvas{width:100%;height:auto;max-width:100%;image-rendering:pixelated}
.frqr-tool-out .frqr-actions .frqr-btn{flex:1}

/* Vérificateur */
.frqr-verdict{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:1rem;border:1px solid var(--t-line);border-radius:16px;background:var(--t-surface)}
.frqr-verdict>div{min-width:0}
.frqr-verdict>div:first-child{grid-column:1/-1}
.frqr-verdict dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--t-muted);margin:0}
.frqr-verdict dd{margin:.15rem 0 0;font-weight:600;word-break:break-all}

/* Responsive : tablettes, mobiles, écrans pliables fermés (≤ 360 px) */
@media (max-width:781px){
  .frqr-tool-grid{grid-template-columns:1fr}
  .frqr-tool-out{position:static;order:-1}
  .frqr-qr-box{max-width:320px;margin:0 auto;width:100%}
  .frqr-row{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .frqr-row{grid-template-columns:1fr}
  .frqr-inline{flex-direction:column}
  .frqr-btn{width:100%}
  .frqr-verdict{grid-template-columns:1fr}
}
@media (max-width:360px){
  .frqr-tabs button{padding:.45rem .7rem;font-size:.8125rem}
}
@media (prefers-reduced-motion:reduce){.frqr-btn{transition:none}.frqr-btn:hover{transform:none}}
