/* Styles limités au module : aucun style global ni dépendance Bootstrap. */
#gf-devis {
  --gfq-ink: #2c384e; --gfq-muted: #687789; --gfq-blue: #60b5d1;
  --gfq-deep: #267e9c; --gfq-pale: #f0f9fc; --gfq-line: #e3e9ee;
  color: var(--gfq-ink); background: #f8fafb; font-family: Inter, Arial, sans-serif;
  font-size: 15px; line-height: 1.55; padding: 48px 24px 34px; -webkit-text-size-adjust: 100%;
}
#gf-devis *, #gf-devis *::before, #gf-devis *::after {box-sizing: border-box;}
#gf-devis [hidden] {display: none !important;}
#gf-devis h1, #gf-devis h2, #gf-devis h3, #gf-devis p {margin: 0; color: inherit;}
#gf-devis button, #gf-devis input, #gf-devis select, #gf-devis textarea {font: inherit;}
#gf-devis button {cursor: pointer; letter-spacing: normal; text-transform: none;}
#gf-devis button:disabled {cursor: default; opacity: .4;}
#gf-devis a {color: var(--gfq-deep); text-underline-offset: 3px;}
#gf-devis button:focus-visible, #gf-devis a:focus-visible, #gf-devis summary:focus-visible {outline: 3px solid #2784a3; outline-offset: 4px;}
#gf-devis .gfq-wrap {max-width: 1120px; margin: 0 auto;}
#gf-devis .gfq-intro {display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 35px;}
#gf-devis .gfq-eyebrow {display: flex; align-items: center; gap: 9px; color: var(--gfq-deep); font-size: 10px; letter-spacing: 1.7px; font-weight: 700; margin-bottom: 13px;}
#gf-devis .gfq-eyebrow span {width: 7px; height: 7px; border-radius: 50%; background: var(--gfq-blue);}
#gf-devis h1 {font-size: clamp(29px, 3vw, 40px); letter-spacing: -1.4px; font-weight: 600; line-height: 1.2; margin-bottom: 14px;}
#gf-devis h1 em {font-style: normal; color: var(--gfq-deep);}
#gf-devis .gfq-intro p {font-size: 15px; line-height: 1.7; color: var(--gfq-muted);}
#gf-devis .gfq-brand {border-left: 1px solid #dce4e9; padding: 9px 0 9px 29px; flex-shrink: 0;}
#gf-devis .gfq-brand span, #gf-devis .gfq-brand small {display: block; font-size: 11px; color: var(--gfq-muted);}
#gf-devis .gfq-brand strong {display: block; font-size: 22px; letter-spacing: 1.8px; font-weight: 700; margin: 3px 0 1px;}
#gf-devis .gfq-steps {margin-bottom: 25px;}
#gf-devis .gfq-steps ol {display: flex; padding: 0; margin: 0; list-style: none;}
#gf-devis .gfq-steps li {position: relative; flex: 1;}
#gf-devis .gfq-steps li:not(:last-child)::after {position: absolute; content: ''; height: 1px; width: 25px; right: 14px; top: 17px; background: #d8e2e9;}
#gf-devis .gfq-steps button {border: 0; background: transparent; display: flex; align-items: center; gap: 9px; color: #637185; padding: 0; min-height: 36px; text-align: left;}
#gf-devis .gfq-steps button:disabled {opacity: 1; color: #8793a1;}
#gf-devis .gfq-steps button span {display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid #dce4e9; font-size: 12px; flex-shrink: 0; background: #fff;}
#gf-devis .gfq-steps button b {font-size: 12px; font-weight: 500;}
#gf-devis .gfq-steps button[aria-current] {color: var(--gfq-ink);}
#gf-devis .gfq-steps button[aria-current] span {background: var(--gfq-ink); border-color: var(--gfq-ink); color: #fff;}
#gf-devis .gfq-steps button[aria-current] b {font-weight: 700;}
#gf-devis .gfq-steps button.gfq-complete span {background: #e4f3f8; border-color: #b4dce9; color: var(--gfq-deep);}
#gf-devis .gfq-layout {display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: 24px;}
#gf-devis .gfq-main {border: 1px solid var(--gfq-line); border-radius: 13px; background: #fff; overflow: hidden; min-width: 0; box-shadow: 0 5px 25px #28374803; margin: 0;}
#gf-devis .gfq-panel {padding: 30px 30px 25px;}
#gf-devis .gfq-kicker {display: block; font-size: 10px; font-weight: 700; color: var(--gfq-muted); letter-spacing: 1.4px; margin-bottom: 9px;}
#gf-devis h2 {font-size: 25px; font-weight: 600; line-height: 1.28; letter-spacing: -.5px; outline: none;}
#gf-devis .gfq-panel-heading {margin-bottom: 27px;}
#gf-devis .gfq-panel-heading p {font-size: 13px; color: var(--gfq-muted); margin-top: 9px;}
#gf-devis .gfq-fieldset {border: 0; padding: 0; min-width: 0; margin: 0 0 25px;}
#gf-devis .gfq-fieldset legend {float: none; width: auto; padding: 0; font-size: 13px; font-weight: 600; margin: 0 0 12px; line-height: 1.5;}
#gf-devis legend > span, #gf-devis label > span:not([class]), #gf-devis .gfq-count-row label span {color: var(--gfq-deep);}
#gf-devis .gfq-choice-grid {display: grid; gap: 12px;}
#gf-devis .gfq-three, #gf-devis .gfq-age-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
#gf-devis .gfq-two {grid-template-columns: repeat(2, minmax(0, 1fr));}
#gf-devis .gfq-choice, #gf-devis .gfq-option {position: relative; cursor: pointer; display: block; margin: 0;}
#gf-devis .gfq-choice > input, #gf-devis .gfq-option > input {position: absolute; width: 1px; height: 1px; opacity: 0; left: 16px; top: 16px;}
#gf-devis .gfq-choice-body {position: relative; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid #dce5eb; border-radius: 8px; padding: 19px 15px 16px; min-height: 136px; height: 100%; transition: border-color .15s, background .15s; background: #fff;}
#gf-devis .gfq-choice:hover .gfq-choice-body {border-color: #91c7da;}
#gf-devis .gfq-choice strong {font-size: 13px; font-weight: 600; margin-top: 14px; line-height: 1.4;}
#gf-devis .gfq-choice small {font-size: 11px; color: var(--gfq-muted); line-height: 1.45; margin-top: 5px;}
#gf-devis .gfq-choice i {display: block; line-height: 0; color: #7892a1;}
#gf-devis svg {display: inline-block; width: 28px; height: 28px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;}
#gf-devis .gfq-tick {position: absolute; top: 13px; right: 12px; width: 16px; height: 16px; border: 1px solid #dce5eb; border-radius: 50%; background: #fff;}
#gf-devis .gfq-choice input:checked + .gfq-choice-body {border-color: var(--gfq-blue); background: var(--gfq-pale); box-shadow: 0 0 0 1px var(--gfq-blue);}
#gf-devis .gfq-choice input:checked + .gfq-choice-body i {color: var(--gfq-deep);}
#gf-devis .gfq-choice input:checked + .gfq-choice-body .gfq-tick {background: var(--gfq-deep); border-color: var(--gfq-deep);}
#gf-devis .gfq-choice input:checked + .gfq-choice-body .gfq-tick::after, #gf-devis .gfq-option input:checked + .gfq-option-body .gfq-check::after {content: ''; position: absolute; width: 7px; height: 4px; border-left: 1.5px solid white; border-bottom: 1.5px solid white; transform: rotate(-45deg); left: 4px; top: 4px;}
#gf-devis .gfq-choice input:focus-visible + .gfq-choice-body, #gf-devis .gfq-option input:focus-visible + .gfq-option-body {outline: 3px solid #2784a3; outline-offset: 3px;}
#gf-devis .gfq-compact .gfq-choice-body {min-height: 83px; padding: 17px 25px 15px 13px;}
#gf-devis .gfq-compact strong {margin: 0; font-size: 12px;}
#gf-devis .gfq-compact .gfq-tick {width: 14px; height: 14px; top: 18px; right: 9px;}
#gf-devis .gfq-compact input:checked + .gfq-choice-body .gfq-tick::after {left: 3px; top: 3px;}
#gf-devis .gfq-hint {font-size: 12px; color: var(--gfq-muted); margin: -6px 0 12px; line-height: 1.65;}
#gf-devis .gfq-two-fields {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 18px;}
#gf-devis .gfq-field {min-width: 0; margin: 0 0 21px;}
#gf-devis .gfq-field label, #gf-devis .gfq-count-row label {display: block; font-size: 12px; font-weight: 600; margin-bottom: 8px;}
#gf-devis .gfq-field label small {font-size: 10px; font-weight: 400; color: var(--gfq-muted); margin-left: 3px;}
#gf-devis .gfq-field input, #gf-devis .gfq-field select, #gf-devis .gfq-field textarea {display: block; width: 100%; height: 46px; color: var(--gfq-ink); border: 1px solid #dce4eb; background: white; border-radius: 6px; padding: 11px 12px; box-shadow: none; font-size: 13px;}
#gf-devis .gfq-field textarea {height: auto; min-height: 105px; resize: vertical;}
#gf-devis .gfq-field input::placeholder, #gf-devis .gfq-field textarea::placeholder {color: #8b96a2; opacity: 1;}
#gf-devis .gfq-field input:focus, #gf-devis .gfq-field textarea:focus, #gf-devis .gfq-field select:focus {border-color: var(--gfq-blue); outline: 2px solid #60b5d130; outline-offset: 1px;}
#gf-devis [aria-invalid="true"] {border-color: #bb4053 !important; outline: 1px solid #bb4053; outline-offset: 2px;}
#gf-devis .gfq-info {display: flex; align-items: flex-start; gap: 11px; border-radius: 7px; padding: 15px; background: #f4f8fa; font-size: 12px; line-height: 1.65;}
#gf-devis .gfq-info > i {color: var(--gfq-deep); line-height: 0; flex-shrink: 0; margin-top: 2px;}
#gf-devis .gfq-info svg {width: 18px; height: 18px;}
#gf-devis .gfq-info strong {font-size: 12px; font-weight: 600;}
#gf-devis .gfq-info p {color: var(--gfq-muted); margin-top: 3px;}
#gf-devis .gfq-info details {margin-top: 7px;}
#gf-devis .gfq-info summary {font-size: 11px; color: var(--gfq-deep); cursor: pointer;}
#gf-devis .gfq-info details p {margin-top: 10px;}
#gf-devis .gfq-form-footer {display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 30px; border-top: 1px solid var(--gfq-line);}
#gf-devis .gfq-required-note {font-size: 11px; color: var(--gfq-muted);}
#gf-devis .gfq-primary {display: flex; align-items: center; justify-content: center; gap: 23px; min-height: 46px; color: white; font-size: 13px; font-weight: 600; background: #2785a5; border: 1px solid #2785a5; border-radius: 5px; padding: 12px 22px; margin-left: auto; transition: background .15s;}
#gf-devis .gfq-primary:hover {background: #236e89; border-color: #236e89;}
#gf-devis .gfq-primary span {font-size: 18px; font-weight: 400;}
#gf-devis .gfq-back {border: 0; background: transparent; color: var(--gfq-muted); font-size: 12px; min-height: 44px; padding: 8px 0;}
#gf-devis .gfq-back span {margin-right: 8px;}
#gf-devis .gfq-summary {position: sticky; top: 100px; border: 1px solid var(--gfq-line); background: #fff; border-radius: 13px; padding: 24px; overflow: hidden;}
#gf-devis .gfq-summary-head h2 {font-size: 21px;}
#gf-devis .gfq-summary-head p {font-size: 12px; margin-top: 7px; color: var(--gfq-muted);}
#gf-devis .gfq-summary-brand {display: flex; align-items: center; gap: 7px; padding: 19px 0; margin-top: 7px; border-bottom: 1px solid var(--gfq-line); font-size: 11px;}
#gf-devis .gfq-summary-brand strong {font-weight: 600;}
#gf-devis .gfq-summary-brand > span:last-child {margin-left: auto; color: var(--gfq-muted); font-size: 10px;}
#gf-devis .gfq-brand-dot {width: 6px; height: 6px; border-radius: 50%; background: var(--gfq-blue);}
#gf-devis .gfq-summary-facts {margin: 18px 0; font-size: 12px;}
#gf-devis .gfq-summary-facts > div {display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 11px;}
#gf-devis .gfq-summary-facts dt {font-weight: 400; color: var(--gfq-muted);}
#gf-devis .gfq-summary-facts dd {font-weight: 500; margin: 0; text-align: right; max-width: 160px; overflow-wrap: anywhere;}
#gf-devis .gfq-summary-count {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 17px 0; border-top: 1px solid var(--gfq-line); border-bottom: 1px solid var(--gfq-line);}
#gf-devis .gfq-summary-count > div {display: flex; flex-direction: column;}
#gf-devis .gfq-summary-count > div + div {border-left: 1px solid var(--gfq-line); padding-left: 19px;}
#gf-devis .gfq-summary-count strong {font-size: 24px; line-height: 1.3; font-weight: 500;}
#gf-devis .gfq-summary-count span {font-size: 10px; color: var(--gfq-muted); margin-top: 4px;}
#gf-devis .gfq-summary-rooms {margin-top: 3px;}
#gf-devis .gfq-summary-room {display: flex; align-items: center; gap: 9px; padding: 12px 0; border-bottom: 1px solid #edf1f4; width: 100%; text-align: left; border-top: 0; border-left: 0; border-right: 0; background: transparent; color: var(--gfq-ink);}
#gf-devis .gfq-summary-room img {object-fit: contain; width: 43px; height: 40px; background: #fafbfc; border-radius: 4px; mix-blend-mode: multiply;}
#gf-devis .gfq-summary-room > span {min-width: 0;}
#gf-devis .gfq-summary-room strong {display: block; font-size: 11px; font-weight: 600; overflow-wrap: anywhere;}
#gf-devis .gfq-summary-room small {font-size: 10px; color: var(--gfq-muted);}
#gf-devis .gfq-summary-room b {margin-left: auto; color: #a2aeba; font-size: 11px; font-weight: 400;}
#gf-devis .gfq-room-placeholder {display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px dashed #dce4eb; border-radius: 4px; font-size: 12px; color: #8497a4; flex-shrink: 0;}
#gf-devis .gfq-summary-options {font-size: 11px; padding: 15px 0; border-bottom: 1px solid var(--gfq-line);}
#gf-devis .gfq-summary-options strong {display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .8px; color: var(--gfq-muted); margin-bottom: 8px;}
#gf-devis .gfq-summary-options p + p {margin-top: 5px;}
#gf-devis .gfq-summary-options p::before {content: '✓'; color: var(--gfq-deep); margin-right: 7px;}
#gf-devis .gfq-vat-note {display: flex; gap: 9px; margin-top: 19px; align-items: flex-start;}
#gf-devis .gfq-vat-note svg {width: 17px; height: 17px; color: var(--gfq-muted);}
#gf-devis .gfq-vat-note strong {display: block; font-size: 11px; font-weight: 500;}
#gf-devis .gfq-vat-note span {display: block; color: var(--gfq-muted); font-size: 10px; margin-top: 2px;}
#gf-devis .gfq-summary-foot {display: flex; gap: 10px; padding: 17px 24px; margin: 22px -24px -24px; background: #f2f8fa;}
#gf-devis .gfq-summary-foot svg {width: 17px; height: 17px; color: var(--gfq-deep);}
#gf-devis .gfq-summary-foot p {font-size: 11px; color: var(--gfq-muted); line-height: 1.65;}
#gf-devis .gfq-bottom-note {display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 27px; font-size: 11px; color: var(--gfq-muted);}
#gf-devis .gfq-bottom-note svg {width: 18px; height: 18px;}
#gf-devis .gfq-count-row {display: flex; align-items: center; gap: 20px; justify-content: space-between; margin-bottom: 18px;}
#gf-devis .gfq-count-row p {font-size: 12px; color: var(--gfq-muted); max-width: 330px;}
#gf-devis .gfq-counter {display: flex; flex-shrink: 0; border: 1px solid #dce4eb; border-radius: 7px; overflow: hidden; align-items: center;}
#gf-devis .gfq-counter button {width: 39px; height: 46px; padding: 0; font-size: 20px; border: 0; background: #f7fafb; color: var(--gfq-deep);}
#gf-devis .gfq-counter input {width: 48px; height: 46px; border: 0; text-align: center; font-size: 17px; font-weight: 500; color: var(--gfq-ink); background: #fff; appearance: textfield; -moz-appearance: textfield;}
#gf-devis .gfq-counter input::-webkit-inner-spin-button, #gf-devis .gfq-counter input::-webkit-outer-spin-button {appearance: none; margin: 0;}
#gf-devis .gfq-counter input:focus {outline: 2px solid var(--gfq-blue); outline-offset: -3px;}
#gf-devis .gfq-system {margin-top: 5px;}
#gf-devis .gfq-system .gfq-choice-body {padding: 21px;}
#gf-devis .gfq-system svg {width: 120px; height: 65px;}
#gf-devis .gfq-inline-choice {display: flex; gap: 9px; align-items: center; margin-top: 17px; font-size: 12px; cursor: pointer;}
#gf-devis input[type=checkbox], #gf-devis input[type=radio] {accent-color: var(--gfq-deep);}
#gf-devis .gfq-inline-choice input {width: 17px; height: 17px;}
#gf-devis .gfq-room-tabs {display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px;}
#gf-devis .gfq-room-tabs button {padding: 8px 12px; min-height: 38px; border: 1px solid #dce5eb; border-radius: 5px; background: #fff; color: var(--gfq-muted); font-size: 12px;}
#gf-devis .gfq-room-tabs button[aria-pressed=true] {background: var(--gfq-ink); border-color: var(--gfq-ink); color: white;}
#gf-devis .gfq-room-tabs .gfq-done {color: var(--gfq-deep);}
#gf-devis .gfq-room-number {display: block; font-size: 11px; color: var(--gfq-deep); font-weight: 600; margin-bottom: 14px;}
#gf-devis .gfq-area-input {position: relative;}
#gf-devis .gfq-area-input input {padding-right: 44px;}
#gf-devis .gfq-area-input > span {position: absolute; right: 14px; top: 11px; color: var(--gfq-muted); font-size: 13px;}
#gf-devis .gfq-model-grid {display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px;}
#gf-devis .gfq-model .gfq-choice-body {padding: 8px 12px 14px; min-height: 222px;}
#gf-devis .gfq-model img {height: 98px; width: 100%; object-fit: contain; mix-blend-mode: multiply;}
#gf-devis .gfq-model strong {margin-top: 2px;}
#gf-devis .gfq-model small {font-size: 11px;}
#gf-devis .gfq-model .gfq-tick {top: 10px; right: 10px;}
#gf-devis .gfq-model-caption {color: var(--gfq-muted); font-size: 10px; margin: 12px 0 16px;}
#gf-devis .gfq-model-info {margin-top: 16px;}
#gf-devis .gfq-room-actions {display: flex; justify-content: space-between; gap: 16px; padding-top: 14px; border-top: 1px solid var(--gfq-line);}
#gf-devis .gfq-link-button {border: 0; background: none; color: var(--gfq-deep); font-size: 12px; min-height: 40px; padding: 5px 0;}
#gf-devis .gfq-remove {color: var(--gfq-muted); font-size: 11px;}
#gf-devis .gfq-options {display: grid; gap: 12px;}
#gf-devis .gfq-option-body {display: flex; align-items: center; gap: 16px; border: 1px solid #dce5eb; border-radius: 8px; padding: 19px; transition: background .15s, border-color .15s;}
#gf-devis .gfq-option-body > i {color: #7892a1; flex-shrink: 0;}
#gf-devis .gfq-option-body strong {display: block; font-size: 13px; font-weight: 600;}
#gf-devis .gfq-option-body small {display: block; color: var(--gfq-muted); font-size: 12px; margin-top: 3px;}
#gf-devis .gfq-check {width: 19px; height: 19px; border: 1px solid #c5d3dd; border-radius: 4px; margin-left: auto; position: relative; flex-shrink: 0;}
#gf-devis .gfq-option input:checked + .gfq-option-body {background: var(--gfq-pale); border-color: var(--gfq-blue);}
#gf-devis .gfq-option input:checked + .gfq-option-body .gfq-check {background: var(--gfq-deep); border-color: var(--gfq-deep);}
#gf-devis .gfq-option input:checked + .gfq-option-body .gfq-check::after {top: 5px; left: 5px;}
#gf-devis .gfq-consent {display: flex; align-items: flex-start; gap: 10px; font-size: 11px; color: var(--gfq-muted); line-height: 1.7; margin: 0 0 24px;}
#gf-devis .gfq-consent input {width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px;}
#gf-devis .gfq-consent > span {color: var(--gfq-muted) !important;}
#gf-devis .gfq-consent b {font-weight: 400;}
#gf-devis .gfq-final-review {background: #f8fafb; padding: 18px; border-radius: 7px; font-size: 12px;}
#gf-devis .gfq-final-review h3 {font-size: 14px; margin-bottom: 12px;}
#gf-devis .gfq-final-review p {margin-top: 7px; color: var(--gfq-muted); overflow-wrap: anywhere;}
#gf-devis .gfq-final-review ul {margin: 9px 0; padding-left: 19px; color: var(--gfq-muted);}
#gf-devis .gfq-final-review li {margin: 5px 0; overflow-wrap: anywhere;}
#gf-devis .gfq-demo {padding: 10px 30px; background: #f1f6f9; font-size: 11px; border-bottom: 1px solid var(--gfq-line); color: var(--gfq-muted);}
#gf-devis .gfq-alert {background: #fff2f2; color: #923644; margin: 20px 30px 0; padding: 13px 16px; font-size: 13px; border-radius: 6px; border: 1px solid #f2c9cf;}
#gf-devis .gfq-status {margin: 0 30px 25px; padding: 19px; border-radius: 7px; font-size: 13px; background: #eaf6fa; border: 1px solid #c4e4ef;}
#gf-devis .gfq-status h3 {font-size: 18px; margin-bottom: 8px;}
#gf-devis .gfq-status p {color: var(--gfq-muted);}
#gf-devis .gfq-honeypot {position: absolute; width: 1px; height: 1px; left: -10000px; overflow: hidden;}
#gf-devis .gfq-sr-only {position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0); white-space: nowrap; border: 0 !important;}
@media (max-width: 1050px) {
  #gf-devis .gfq-layout {grid-template-columns: minmax(0,1fr) 275px; gap: 18px;}
  #gf-devis .gfq-panel {padding: 25px;}
  #gf-devis .gfq-steps li:not(:last-child)::after {width: 12px; right: 8px;}
  #gf-devis .gfq-steps button b {font-size: 11px;}
  #gf-devis .gfq-three {gap: 8px;}
  #gf-devis .gfq-choice-body {padding-left: 11px; padding-right: 11px;}
  #gf-devis .gfq-age-grid {grid-template-columns: 1fr 1fr;}
  #gf-devis .gfq-age-grid > :last-child {grid-column: 1 / -1;}
  #gf-devis .gfq-age-grid > :last-child .gfq-choice-body {min-height: 0; flex-direction: row; gap: 12px; align-items: center;}
  #gf-devis .gfq-age-grid > :last-child small {margin: 0;}
  #gf-devis .gfq-model-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 800px) {
  #gf-devis {padding: 32px 20px 28px;}
  #gf-devis .gfq-layout {grid-template-columns: 1fr;}
  #gf-devis .gfq-summary {position: static;}
  #gf-devis .gfq-intro {margin-bottom: 27px;}
  #gf-devis .gfq-brand {padding-left: 18px;}
  #gf-devis .gfq-brand small {max-width: 135px; font-size: 10px;}
  #gf-devis .gfq-steps li::after {display: none;}
  #gf-devis .gfq-steps button {flex-direction: column; align-items: center; gap: 7px; width: 100%; text-align: center;}
  #gf-devis .gfq-steps button b {font-size: 10px; line-height: 1.4;}
  #gf-devis .gfq-summary-facts {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px;}
  #gf-devis .gfq-summary-facts > div {display: block;}
  #gf-devis .gfq-summary-facts dd {text-align: left; margin-top: 4px;}
  #gf-devis .gfq-summary-count {grid-template-columns: 1fr 1fr;}
  #gf-devis .gfq-summary-count > div + div {padding-left: 25px;}
}
@media (max-width: 480px) {
  #gf-devis {padding: 27px 14px;}
  #gf-devis .gfq-intro {display: block;}
  #gf-devis .gfq-brand {display: flex; align-items: baseline; gap: 8px; border: 0; padding: 0; margin-top: 18px;}
  #gf-devis .gfq-brand strong {font-size: 14px; letter-spacing: 1px; margin: 0;}
  #gf-devis .gfq-brand span {font-size: 10px;}
  #gf-devis .gfq-brand small {display: none;}
  #gf-devis h1 {font-size: 29px; letter-spacing: -1px;}
  #gf-devis .gfq-intro p {font-size: 13px;}
  #gf-devis .gfq-eyebrow {font-size: 9px; letter-spacing: 1.4px;}
  #gf-devis .gfq-steps {margin: 0 0 21px;}
  #gf-devis .gfq-steps button span {width: 29px; height: 29px; font-size: 11px;}
  #gf-devis .gfq-steps button b {font-size: 9px; max-width: 58px;}
  #gf-devis .gfq-panel {padding: 23px 17px;}
  #gf-devis h2 {font-size: 23px;}
  #gf-devis .gfq-panel-heading p {font-size: 12px;}
  #gf-devis .gfq-three {grid-template-columns: 1fr; gap: 9px;}
  #gf-devis .gfq-three .gfq-choice-body {display: grid; grid-template-columns: 33px 1fr; column-gap: 12px; padding: 13px 34px 13px 15px; min-height: 76px;}
  #gf-devis .gfq-three .gfq-choice-body i {grid-row: 1 / 3; align-self: center;}
  #gf-devis .gfq-three strong {margin: 0; font-size: 13px;}
  #gf-devis .gfq-three small {margin-top: 3px;}
  #gf-devis .gfq-three .gfq-tick {top: 29px; right: 15px;}
  #gf-devis .gfq-two-fields {grid-template-columns: 1fr;}
  #gf-devis .gfq-field input, #gf-devis .gfq-field select, #gf-devis .gfq-field textarea {font-size: 16px;}
  #gf-devis .gfq-age-grid {gap: 9px;}
  #gf-devis .gfq-compact strong {font-size: 11px;}
  #gf-devis .gfq-compact small {font-size: 10px;}
  #gf-devis .gfq-form-footer {padding: 17px; flex-wrap: wrap;}
  #gf-devis .gfq-primary {padding: 11px 17px; gap: 14px; font-size: 12px;}
  #gf-devis .gfq-required-note {font-size: 10px;}
  #gf-devis .gfq-count-row {align-items: flex-start;}
  #gf-devis .gfq-count-row p {font-size: 11px;}
  #gf-devis .gfq-counter button {width: 31px;}
  #gf-devis .gfq-counter input {width: 35px;}
  #gf-devis .gfq-system .gfq-choice-body {padding: 13px;}
  #gf-devis .gfq-system svg {width: 93px; height: 58px;}
  #gf-devis .gfq-system .gfq-tick {top: 8px; right: 8px;}
  #gf-devis .gfq-model-grid {gap: 9px;}
  #gf-devis .gfq-model .gfq-choice-body {padding: 8px 10px 13px; min-height: 232px;}
  #gf-devis .gfq-model img {height: 91px;}
  #gf-devis .gfq-model small {font-size: 11px;}
  #gf-devis .gfq-option-body {gap: 11px; padding: 15px 13px;}
  #gf-devis .gfq-option-body svg {width: 24px; height: 24px;}
  #gf-devis .gfq-option-body strong {font-size: 12px;}
  #gf-devis .gfq-option-body small {font-size: 11px;}
  #gf-devis .gfq-option-body .gfq-check {width: 18px; height: 18px;}
  #gf-devis .gfq-summary {padding: 20px;}
  #gf-devis .gfq-summary-facts {font-size: 11px; gap: 10px;}
  #gf-devis .gfq-summary-foot {margin: 20px -20px -20px; padding: 17px 20px;}
  #gf-devis .gfq-bottom-note {font-size: 10px; align-items: flex-start; text-align: center;}
  #gf-devis .gfq-demo {padding: 9px 17px; font-size: 10px;}
  #gf-devis .gfq-alert {margin: 17px 17px 0; font-size: 12px;}
  #gf-devis .gfq-status {margin: 0 17px 22px;}
}
@media (prefers-reduced-motion: reduce) {#gf-devis * {transition: none !important; scroll-behavior: auto !important;}}
@media print {#gf-devis .gfq-steps, #gf-devis .gfq-main, #gf-devis .gfq-bottom-note, #gf-devis .gfq-summary-room b {display:none !important;} #gf-devis .gfq-layout {display:block;} #gf-devis .gfq-summary {position:static; max-width:none;}}


/* Habillage de la page de démonstration */

body.gfq-preview-page{margin:0;color:#2c384e;background:#f8fafb;font-family:Inter,Arial,sans-serif} .preview-header{background:#fff;border-bottom:1px solid #edf1f4}.preview-header-inner{max-width:1120px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:49px}.preview-header img{width:160px;height:49px;object-fit:contain}.preview-nav{display:flex;align-items:center;gap:26px}.preview-nav a{color:#344057;text-decoration:none;font-size:13px}.preview-nav .preview-active{padding:12px 24px;color:#fff;background:#555e70;border:1px solid #464f61;border-radius:3px;font-weight:600}.preview-footer{background:#2c384e;color:#fff;padding:34px 24px}.preview-footer-inner{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:28px;align-items:center}.preview-footer strong{font-size:22px;font-weight:500}.preview-footer p{font-size:12px;color:#cfdae4;margin:7px 0 0}.preview-footer a{font-size:12px;color:#d2dce6;text-decoration:none}@media(max-width:800px){.preview-nav a:not(.preview-active){display:none}.preview-header-inner{padding:12px 20px}.preview-header img{width:142px;height:43px}.preview-nav .preview-active{font-size:12px;padding:10px 17px}.preview-footer-inner{display:block}.preview-footer a{display:inline-block;margin-top:20px}}

.preview-footer .preview-hvac{font-weight:300;opacity:.65}
