/* Quiz PanamaImmo : tous les styles sont limités à #pq-card et #pq-results pour ne pas toucher au reste du site. */
.pq-card{background:#fff; border-radius:2px; padding:28px 28px 24px; box-shadow:0 18px 50px rgba(0,0,0,.35); color:#111; font-family:'Work Sans',-apple-system,sans-serif; line-height:1.5; min-height:200px;}

:is(#pq-card, #pq-results){
  --pq-red:#ed1c24; --pq-red-dark:#cc0000; --pq-cream:#f5f1e9; --pq-line:#e5ddd2; --pq-mute:#6b655d; --pq-ink:#111;
  --pq-serif:'Playfair Display',Georgia,serif;

  & button{font-family:inherit; cursor:pointer;}
  & .pq-kicker{font-size:.74rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--pq-mute); margin-bottom:6px;}
  & .pq-lead-in{font-size:.92rem; color:var(--pq-mute); margin-bottom:16px;}
  & .pq-progress{display:flex; gap:6px; margin-bottom:20px;}
  & .pq-progress i{flex:1; height:3px; background:var(--pq-line); border-radius:2px;}
  & .pq-progress i.on{background:var(--pq-red);}
  & h2.pq-q{font-family:var(--pq-serif); font-weight:500; font-size:1.5rem; line-height:1.2; margin:0 0 6px; color:var(--pq-ink);}
  & .pq-hint{color:var(--pq-mute); font-size:.9rem; margin-bottom:18px;}
  & .pq-chips{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
  & .pq-chip{border:1px solid var(--pq-line); background:#fff; padding:13px 12px; font-size:.95rem; font-weight:500; text-align:left; border-radius:2px; color:var(--pq-ink); transition:.15s;}
  & .pq-chip:hover{border-color:var(--pq-ink);}
  & .pq-chip.sel{border-color:var(--pq-red); background:#fff5f5; box-shadow:inset 0 0 0 1px var(--pq-red);}
  & .pq-chip small{display:block; color:var(--pq-mute); font-weight:400; font-size:.78rem; margin-top:2px;}
  & select.pq-select{width:100%; margin-top:12px; padding:13px 12px; border:1px solid var(--pq-line); font-family:inherit; font-size:.95rem; background:#fff; border-radius:2px; color:var(--pq-ink);}
  & .pq-nav{display:flex; justify-content:space-between; align-items:center; margin-top:20px;}
  & .pq-btn{display:inline-block; background:var(--pq-red); color:#fff; border:0; padding:14px 26px; font-weight:600; font-size:.95rem; border-radius:2px;}
  & .pq-btn:hover{opacity:.9;}
  & .pq-btn[disabled]{opacity:.55; cursor:wait;}
  & .pq-back{background:none; border:0; color:var(--pq-mute); font-size:.9rem; text-decoration:underline;}
  & .pq-busy{text-align:center; padding:30px 0;}
  & .pq-spin{width:34px; height:34px; border:3px solid var(--pq-line); border-top-color:var(--pq-red); border-radius:50%; margin:0 auto 14px; animation:pq-r .9s linear infinite;}
  & .pq-summary{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
  & .pq-pill{background:var(--pq-cream); padding:7px 12px; font-size:.86rem; border-radius:20px; color:var(--pq-ink);}
  & .pq-pill.w{background:#fff;}

  /* résultats */
  & .pq-head{font-family:var(--pq-serif); font-weight:500; font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.15; margin:0 0 8px; color:var(--pq-ink); text-wrap:balance;}
  & .pq-lead{color:var(--pq-mute); margin-bottom:28px; max-width:680px;}
  & .pq-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:30px;}
  & .pq-res{background:#fff; border:1px solid var(--pq-line); overflow:hidden; display:flex; flex-direction:column;}
  & .pq-ph{aspect-ratio:4/3; position:relative; background:#ddd; overflow:hidden;}
  & .pq-ph img.pq-photo{width:100%; height:100%; object-fit:cover; display:block;}
  & .pq-ph img.pq-ico{position:absolute; top:12px; left:12px; height:24px; width:auto; filter:drop-shadow(0 1px 3px rgba(0,0,0,.65));}
  & .pq-ph.blur{background:#d8ccba;}
  & .pq-ph.blur.nothumb{background:linear-gradient(135deg,#e9e1d4,#d8ccba);}
  & .pq-ph.blur canvas{width:100%; height:100%; display:block; filter:blur(10px); transform:scale(1.35);}
  & .pq-ptag{position:absolute; left:12px; bottom:12px; background:rgba(17,17,17,.72); color:#fff; font-size:.74rem; padding:5px 10px; letter-spacing:.02em;}
  & .pq-badge{position:absolute; right:12px; top:12px; background:rgba(17,17,17,.82); color:#fff; font-size:.72rem; padding:4px 9px; letter-spacing:.04em; text-transform:uppercase;}
  & .pq-body{padding:18px 20px 20px; display:flex; flex-direction:column; gap:4px; flex:1;}
  & .pq-kind{font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--pq-red-dark); font-weight:600;}
  & .pq-body h3{font-family:var(--pq-serif); font-weight:500; font-size:1.15rem; line-height:1.25; margin:0; color:var(--pq-ink);}
  & .pq-price{font-family:var(--pq-serif); font-size:1.25rem; margin-top:4px; color:var(--pq-ink);}
  & .pq-meta{font-size:.86rem; color:var(--pq-mute);}
  & .pq-act{margin-top:auto; padding-top:12px; font-size:.86rem;}
  & .pq-act a{color:var(--pq-red-dark); font-weight:600; text-decoration:underline;}
  & .pq-act .pq-lk{color:var(--pq-mute);}
  & .pq-dbg{color:#0a7a3d; font-size:.74rem; word-break:break-all;}
  & .pq-gate{background:#111; color:#fff; padding:34px; display:grid; grid-template-columns:1fr 1fr; gap:38px; align-items:start;}
  & .pq-gate h3{font-family:var(--pq-serif); font-weight:500; font-size:1.6rem; line-height:1.2; margin:0 0 10px; color:#fff;}
  & .pq-gate p{color:#cfcfcf; font-size:.98rem;}
  & form.pq-form{display:grid; gap:12px;}
  & .pq-form input[type=text], & .pq-form input[type=email], & .pq-form input[type=tel]{width:100%; padding:13px 12px; background:#1c1c1c; border:1px solid #333; color:#fff; font-size:.95rem; font-family:inherit; border-radius:2px;}
  & .pq-form input::placeholder{color:#888;}
  & .pq-form select{width:100%; padding:13px 12px; background:#1c1c1c; border:1px solid #333; color:#fff; font-size:.95rem; font-family:inherit; border-radius:2px;}
  & .pq-rent a{color:var(--pq-red); text-decoration:underline;}
  & .pq-row2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  & .pq-consent{display:flex; gap:10px; align-items:flex-start; font-size:.78rem; color:#bbb;}
  & .pq-consent input{margin-top:3px; accent-color:var(--pq-red);}
  & .pq-consent a{text-decoration:underline; color:#ddd;}
  & .pq-hp{position:absolute; left:-9999px; opacity:0;}
  & .pq-err{color:#ff8a8a; font-size:.82rem; min-height:1.1em;}
  & .pq-ok h3{margin-bottom:8px;}
  & details.pq-preview{margin-top:18px; background:#1c1c1c; border:1px solid #333; padding:12px 14px; font-size:.8rem; color:#cfcfcf;}
  & details.pq-preview pre{white-space:pre-wrap; word-break:break-word; margin-top:10px; font-size:.76rem; color:#9fd4a5;}

  @media (max-width:900px){
    & .pq-grid{grid-template-columns:1fr;}
    & .pq-gate{grid-template-columns:1fr; padding:26px 20px; gap:24px;}
    & .pq-row2{grid-template-columns:1fr;}
  }
  @media (max-width:420px){ & .pq-chips{grid-template-columns:1fr;} }
}
@keyframes pq-r{to{transform:rotate(360deg)}}
