.fh-baggage-dialog{border:0;border-radius:18px;padding:0;color:#182c4d;background:#fff;width:min(620px,calc(100vw - 24px));max-height:90dvh;box-shadow:0 24px 70px #12274740}
.fh-baggage-dialog[open]{display:flex;flex-direction:column}.fh-baggage-dialog::backdrop{background:#14264288}
.fh-baggage-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e3e5e9}.fh-baggage-header h2{font:700 1.1rem/1.3 Poppins,sans-serif;margin:0}.fh-baggage-close{border:1px solid #e3e5e9;border-radius:50%;width:32px;height:32px;flex-shrink:0;background:#fff;color:inherit}
.fh-baggage-body{padding:12px 16px;overflow:auto;overscroll-behavior:contain;min-height:0}.fh-baggage-body p{font-size:.85rem}.fh-baggage-body .fh-baggage-intro{font-size:.75rem;line-height:1.5;margin-bottom:10px}#fhBaggageChoices{min-width:0;margin:0;border:0;padding:0;display:grid;gap:8px}.fh-baggage-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid #dddfe5;border-radius:12px}.fh-baggage-option>div:first-child{display:grid;gap:6px}.fh-baggage-option label{font-size:.8rem;font-weight:700;line-height:1.4;margin:0}.fh-baggage-controls{display:grid;justify-items:end;gap:4px}.fh-baggage-unit-price{color:#182c4d;font-size:.75rem;font-weight:600;line-height:1.3;white-space:nowrap}.fh-baggage-stepper{display:flex;align-items:center;gap:2px}.fh-baggage-stepper button{width:30px;height:30px;border:1px solid #d9ded0;border-radius:50%;background:#f6f8ef;color:#293d53;font-size:1.3rem;line-height:1}.fh-baggage-stepper button:disabled{opacity:.35}.fh-baggage-stepper input{width:32px;height:30px;text-align:center;border:0;background:transparent;color:#182c4d;font-size:1rem;font-weight:700;appearance:textfield;-moz-appearance:textfield}.fh-baggage-stepper input::-webkit-inner-spin-button,.fh-baggage-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fh-baggage-price{display:grid;gap:4px;margin-bottom:10px}.fh-baggage-price[hidden]{display:none}.fh-baggage-price small{color:#646a76;font-size:.8rem}.fh-baggage-price span{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.85rem}.fh-baggage-price strong{font-size:1.25rem;color:#bd8f43}

.fh-baggage-footer{padding:12px 16px;border-top:1px solid #e3e5e9}.fh-baggage-footer button{width:100%}body:has(.fh-baggage-dialog[open]){overflow:hidden}
@media(max-width:575.98px){.fh-baggage-header h2{font-size:1rem}}

/* Our packages with an Atlas flight: bags right in the page (owner 24/10/2026, variant B). */
.nb-bags{display:grid;gap:10px}.nb-bags .form-section-title{margin-bottom:4px}
.nb-rows{display:grid;gap:10px}.nb-rows:empty{display:none}
.nb-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--g200,#e7eef5);border-radius:14px}
.nb-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:1.1rem}
.nb-icon--ok{background:var(--ok-tint,#e7f6ec);color:var(--ok,#1f9d57)}.nb-icon--add{background:var(--navy-tint,#eef3fb);color:var(--navy-600,#2a66c2)}
.nb-text{display:grid;gap:2px;min-width:0}.nb-text b{font-size:.95rem;color:var(--ink,#15233b)}.nb-text span{font-size:.82rem;color:var(--g600,#667085)}
.nb-stepper{display:flex;align-items:center;gap:6px}
.nb-stepper button{width:34px;height:34px;border-radius:50%;border:1px solid var(--field-border,#d6deea);background:#fff;color:var(--navy-800,#1e3c72);font-size:1.15rem;line-height:1;cursor:pointer}
.nb-stepper button:disabled{opacity:.35;cursor:default}.nb-stepper button:focus-visible{outline:2px solid var(--navy-600,#2a66c2);outline-offset:2px}
.nb-stepper output{min-width:22px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink,#15233b)}
.nb-status{margin:0;font-size:.85rem;color:var(--g600,#667085)}.nb-status[hidden]{display:none}
.nb-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.88rem;color:var(--g600,#667085);border-top:1px solid var(--g200,#e7eef5);padding-top:10px}
.nb-foot[hidden]{display:none}.nb-foot strong{color:var(--ink,#15233b);font-variant-numeric:tabular-nums}
.nb-error{margin:0;font-size:.85rem;color:#b42318}.nb-error[hidden]{display:none}
/* From the office the bags written here are the customer's (QT-2026-158549). */
.nb-office{margin:0 0 8px;padding:8px 10px;border-radius:8px;font-size:.85rem;background:#fff7e6;color:#7a4b00}
@media(max-width:520px){.nb-row{grid-template-columns:36px minmax(0,1fr)}.nb-row>.nb-stepper{grid-column:2;justify-self:start}}

/* Cambia volo (owner 31/10/2026): same inline shape as the bags, one option per row — the
   package has ONE total, so every alternative is shown as a delta chip on that total. */
.nf-change{display:grid;gap:10px}.nf-change .form-section-title{margin-bottom:4px}
.nf-current{margin:0;font-size:.85rem;color:var(--g600,#667085)}
.nf-rows{display:grid;gap:10px}.nf-rows:empty{display:none}
.nf-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--g200,#e7eef5);border-radius:14px;background:#fff;text-align:left;cursor:pointer}
.nf-row:hover{border-color:var(--navy-600,#2a66c2)}
.nf-row:focus-visible{outline:2px solid var(--navy-600,#2a66c2);outline-offset:2px}
.nf-row:disabled{opacity:.5;cursor:default}
.nf-text{display:grid;gap:2px;min-width:0}.nf-text b{font-size:.95rem;color:var(--ink,#15233b)}.nf-text span{font-size:.82rem;color:var(--g600,#667085)}
.nf-chip{flex-shrink:0;padding:4px 10px;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap;background:var(--navy-tint,#eef3fb);color:var(--navy-600,#2a66c2)}
.nf-chip.is-extra{background:#fef3e2;color:#b5540a}
.nf-chip.is-less{background:var(--ok-tint,#e7f6ec);color:var(--ok,#1f9d57)}
.nf-status{margin:0;font-size:.85rem;color:var(--g600,#667085)}.nf-status[hidden]{display:none}
.nf-notice{margin:0;padding:8px 10px;border-radius:8px;font-size:.85rem;background:#fff7e6;color:#7a4b00}.nf-notice[hidden]{display:none}
.nf-error{margin:0;font-size:.85rem;color:#b42318}.nf-error[hidden]{display:none}
@media(max-width:520px){.nf-row{grid-template-columns:1fr}.nf-row .nf-chip{justify-self:start}}

/* Preventivo of our packages (spec 2026-11-01-preventivo-volo-bagagli-v2, decision 11): the box with the
   «Operativo voli» look (vq-flight, vq-flight-card), the bags open with − n +, the flight change in a
   dialog. Everything under .qfb / .qfb-dialog: the checkout's nb-/nf- rows above stay as they are. */
.qfb [hidden],.qfb-dialog [hidden]{display:none!important}
.qfb{color:var(--primary, #16345e)}
.qfb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qfb-text{display:grid;gap:2px;min-width:0;flex:1 1 auto}
.qfb-kicker{font-size:12px;color:#6b7a90}
.qfb-title{font-size:14px;font-weight:700;color:var(--primary, #16345e)}
.qfb-price{font-size:12px;color:#6b7a90}
.qfb-included{font-size:18px;color:#15803d;flex-shrink:0}
.qfb-cta{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;border:0;border-radius:25px;padding:10px 22px;background:var(--primary, #16345e);color:#fff;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:0 3px 12px rgba(30,60,114,.3);cursor:pointer}
.qfb-cta:hover{background:var(--primary-dark, #0f2747)}.qfb-cta:focus-visible{outline:2px solid #2a66c2;outline-offset:2px}.qfb-cta:disabled{opacity:.5;cursor:default}
.qfb-bags,.qfb-bag-rows{display:grid;gap:12px}.qfb-bag-rows:empty{display:none}
.qfb-stepper{display:flex;align-items:center;gap:10px;flex-shrink:0}
.qfb-stepper button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #e7ecf2;border-radius:10px;background:#fff;color:var(--primary, #16345e);font-family:inherit;font-size:18px;font-weight:800;line-height:1;cursor:pointer}
.qfb-stepper button:disabled{opacity:.35;cursor:default}.qfb-stepper button:focus-visible{outline:2px solid #2a66c2;outline-offset:2px}
.qfb-stepper output{min-width:18px;text-align:center;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--primary, #16345e)}
.qfb-status{margin:0;font-size:13px;color:#6b7a90}
.qfb-saved{margin:0;font-size:12.5px;font-weight:700;color:#15803d}
.qfb-error{margin:0;font-size:13px;color:#b42318}
.qfb-retry{justify-self:start;align-self:flex-start;padding:8px 18px;font-size:13px}
.qfb-notice{margin:0;padding:8px 12px;border-radius:10px;font-size:12.5px;background:#e8eef8;color:var(--primary, #16345e)}
.qfb-office{margin:0;padding:8px 10px;border-radius:10px;font-size:12.5px;background:#fff7e6;color:#7a4b00}
.qfb-dialog{border:0;border-radius:20px;padding:20px;width:min(560px,calc(100vw - 24px));max-height:90dvh;overflow:auto;overscroll-behavior:contain;background:#fff;color:var(--primary, #16345e);font-family:'Plus Jakarta Sans',system-ui,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.qfb-dialog[open]{display:flex;flex-direction:column;gap:12px}
.qfb-dialog::backdrop{background:rgba(12,28,52,.55)}
.qfb-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qfb-close{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:50%;background:#f1f4f8;color:var(--primary, #16345e);font-size:14px;cursor:pointer}
.qfb-close:focus-visible{outline:2px solid #2a66c2;outline-offset:2px}
.qfb-dialog-sub{margin:0;font-size:13px;line-height:1.5;color:#6b7a90}
.qfb-options{margin:0}
.qfb-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;color:inherit;font-family:inherit;cursor:pointer}
.qfb-option:hover{border-color:var(--primary, #16345e)}.qfb-option:focus-visible{outline:2px solid #2a66c2;outline-offset:2px}.qfb-option:disabled{opacity:.5;cursor:default}
.qfb-option-title{display:block;font-size:15px;font-weight:800;color:var(--primary, #16345e)}
.qfb-option-sub{display:block;margin-top:2px;font-size:12px;color:#6b7a90}
.qfb-chip{flex-shrink:0;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;background:#e8eef8;color:var(--primary, #16345e)}
.qfb-chip.is-extra{background:#fff1dc;color:#b45309}.qfb-chip.is-less{background:#dcf5e6;color:#15803d}
.qfb-note{margin:0;font-size:12px;line-height:1.5;color:#6b7a90}
body:has(.qfb-dialog[open]){overflow:hidden}
@media(max-width:480px){.qfb-row[data-nf-flight-change]{flex-wrap:wrap}.qfb-row>.qfb-cta{margin-left:auto}.qfb-dialog{padding:16px}.qfb-option-title{font-size:14px}}
/* «In aggiornamento» while a bag saves on the preventivo (owner 02/11/2026): spinner on the changed
   bag, a status line, the totals shimmering, «Vai alla conferma» paused; the bag line in «La quota
   include» lights up once saved. */
@keyframes qfb-spin{to{transform:rotate(360deg)}}
@keyframes qfb-shimmer{0%{background-position:-120px 0}100%{background-position:120px 0}}
@keyframes qfb-fresh{0%,60%{background:#e6f6ec}100%{background:transparent}}
.qfb-spin{display:inline-block;width:16px;height:16px;flex-shrink:0;border:2.5px solid #dbe5f5;border-top-color:var(--primary, #16345e);border-radius:50%;animation:qfb-spin .8s linear infinite}
.qfb-updating{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:700;color:var(--primary, #16345e)}
.qfb-stepper output.is-saving{color:transparent;position:relative}
.qfb-stepper output.is-saving::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2.5px solid #dbe5f5;border-top-color:var(--primary, #16345e);border-radius:50%;animation:qfb-spin .8s linear infinite}
.qfb-total-updating{color:transparent!important;border-radius:8px;background:linear-gradient(90deg,#eef2f8 0,#dfe7f2 40px,#eef2f8 80px);background-size:240px 100%;animation:qfb-shimmer 1.2s linear infinite}
#spNew.qfb-total-updating{display:inline-block;min-width:92px;position:relative}
.ppb-new-centered.qfb-total-updating{width:fit-content;min-width:120px;margin-left:auto;margin-right:auto;background:linear-gradient(90deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.34) 40px,rgba(255,255,255,.18) 80px);background-size:240px 100%}
#spNew.qfb-total-updating::after{content:"in aggiornamento…";position:absolute;right:0;top:100%;margin-top:2px;white-space:nowrap;font-size:12px;font-weight:600;color:#6b7a90;-webkit-text-fill-color:#6b7a90}
.qfb-dim{opacity:.45;transition:opacity .2s}
.qfb-cta-wait{opacity:.45;pointer-events:none}
.qfb-quota-bags.is-new{border-radius:6px;font-weight:700;color:#14653a;animation:qfb-fresh 4s ease-out}
@media(prefers-reduced-motion:reduce){.qfb-spin,.qfb-stepper output.is-saving::after,.qfb-total-updating,.qfb-quota-bags.is-new{animation:none}}
