.lhqf {
--lhqf-noir:   #141415;
--lhqf-dore:   #F4BE7D;
--lhqf-creme:  #F5F0E8;
--lhqf-sable:  #FAF7F1;
--lhqf-gris:   #5C5D60;
--lhqf-bronze: #9E8A6E;
box-sizing: border-box;
max-width: 580px;
margin: 0 auto;
padding: 32px 28px;
background: var(--lhqf-creme);
border-radius: 10px;
font-family: "Nunito Sans", Avenir, Arial, Helvetica, sans-serif;
color: var(--lhqf-noir); min-height: 420px;
}
.lhqf *,
.lhqf *::before,
.lhqf *::after { box-sizing: inherit; } .lhqf__titre {
margin: 0 0 8px;
font-size: 22px;
font-weight: 700;
line-height: 1.3;
}
.lhqf__intro {
margin: 0 0 24px;
font-size: 14px;
color: var(--lhqf-gris);
}
.lhqf__champ { margin-bottom: 18px; }
.lhqf__label {
display: block;
margin-bottom: 6px;
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
color: var(--lhqf-bronze);
}
.lhqf__select {
width: 100%;
padding: 12px 14px;
font-family: inherit;
font-size: 15px;
color: var(--lhqf-noir);
background: #ffffff;
border: 1px solid #E8E4DA;
border-radius: 6px;
}
.lhqf__select:focus {
outline: 2px solid var(--lhqf-dore);
outline-offset: 1px;
}
.lhqf__bouton {
width: 100%;
margin-top: 8px;
padding: 14px 28px;
font-family: inherit;
font-size: 15px;
font-weight: 700;
color: var(--lhqf-dore);
background: var(--lhqf-noir);
border: 0;
border-radius: 6px;
cursor: pointer;
}
.lhqf__bouton:hover { background: #000000; } .lhqf__resultat {
padding: 28px 20px;
text-align: center;
background: #ffffff;
border-radius: 8px; min-height: 190px;
}
.lhqf__surtitre {
margin: 0 0 4px;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--lhqf-bronze);
}
.lhqf__nombre {
margin: 0;
font-size: 64px;
font-weight: 900;
line-height: 1.05;
}
.lhqf__unite {
margin: 0 0 14px;
font-size: 16px;
color: var(--lhqf-gris);
}
.lhqf__rappel {
margin: 0;
padding-top: 14px;
border-top: 1px solid #E8E4DA;
font-size: 14px;
color: var(--lhqf-gris);
} .lhqf__note {
margin: 14px 0 0;
padding: 12px 16px;
background: var(--lhqf-sable);
border-left: 4px solid var(--lhqf-dore);
border-radius: 4px;
font-size: 14px;
line-height: 1.5;
color: #3A3A3A;
}
.lhqf__methode { margin-top: 24px; }
.lhqf__methode-titre {
margin: 0 0 6px;
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
color: var(--lhqf-bronze);
}
.lhqf__methode-texte {
margin: 0 0 6px;
font-size: 14px;
line-height: 1.6;
color: #3A3A3A;
}
.lhqf__bareme {
margin: 0;
font-size: 13px;
color: var(--lhqf-gris);
}
.lhqf__reprise { margin: 22px 0 0; }
.lhqf__reprise a {
font-size: 14px;
font-weight: 700;
color: var(--lhqf-noir);
} .lhqf__mentions {
margin: 24px 0 0;
padding-top: 16px;
border-top: 1px solid #E8E4DA;
font-size: 11px;
line-height: 1.6;
color: var(--lhqf-gris);
}
@media (max-width: 600px) {
.lhqf        { padding: 24px 18px; min-height: 400px; }
.lhqf__nombre { font-size: 52px; }
} .lhqf--page {
max-width: 880px;
padding: 48px 44px; min-height: 660px;
} .lhqf--page .lhqf__titre  { font-size: 30px; margin-bottom: 10px; }
.lhqf--page .lhqf__intro  { font-size: 15px; margin-bottom: 32px; }
.lhqf--page .lhqf__form {
display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 0 24px;
}
.lhqf--page .lhqf__titre,
.lhqf--page .lhqf__intro,
.lhqf--page .lhqf__bouton {
grid-column: 1 / -1;
}
.lhqf--page .lhqf__champ  { margin-bottom: 22px; }
.lhqf--page .lhqf__select { padding: 14px 16px; font-size: 16px; }
.lhqf--page .lhqf__bouton {
width: auto;
justify-self: start;
padding: 16px 40px;
font-size: 16px;
} .lhqf--page .lhqf__resultat {
padding: 40px 32px;
min-height: 260px;
}
.lhqf--page .lhqf__surtitre { font-size: 13px; }
.lhqf--page .lhqf__nombre { font-size: clamp( 56px, 8vw, 96px );
}
.lhqf--page .lhqf__unite  { font-size: 19px; margin-bottom: 18px; }
.lhqf--page .lhqf__rappel { font-size: 15px; padding-top: 18px; }
.lhqf--page .lhqf__note {
margin-top: 20px;
padding: 16px 20px;
font-size: 15px;
} .lhqf--page .lhqf__methode {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 4px 32px;
margin-top: 32px;
}
.lhqf--page .lhqf__methode-titre { grid-column: 1 / -1; font-size: 14px; }
.lhqf--page .lhqf__methode-texte { font-size: 15px; margin-bottom: 0; }
.lhqf--page .lhqf__bareme        { font-size: 14px; align-self: end; }
.lhqf--page .lhqf__reprise  { margin-top: 28px; }
.lhqf--page .lhqf__mentions { margin-top: 32px; padding-top: 20px; font-size: 12px; }
@media (max-width: 600px) {
.lhqf--page { padding: 28px 20px; min-height: 560px; }
}