/* 4.4.21: one visual language over the existing Five Tour experience. */
body.ft4421-ui {--ft21-line:#dce5ed;--ft21-ink:#17394f;--ft21-muted:#526c7c;--ft21-blue:#007dad;--ft21-soft:#f3f7fa;}
body.ft4421-ui *,body.ft4421-ui *::before,body.ft4421-ui *::after {box-sizing:border-box;}
/* Public header: white. Staff and footer logos: transparent. */
html body.ft4421-ui .ft19-brand {background:#fff!important;border-radius:0!important;}
html body.ft4421-ui .ftaps-brand {background:transparent!important;border-radius:0!important;}
html body.ft4421-ui .ft19-brand {padding:3px 0;width:174px;flex-basis:174px;height:76px;}
html body.ft4421-ui .ft19-brand img {width:164px;height:72px;object-fit:contain;filter:none!important;}
html body.ft4421-ui .ftaps-brand {padding:16px 24px!important;border-bottom:1px solid #e0e8ee;min-height:88px;}
html body.ft4421-ui :is(.footer-brand,.footer-logo-wrap,.site-footer .brand) img {background:transparent!important;padding:0;border-radius:0;filter:none!important;object-fit:contain;}
html body.ft4421-ui .ftaps-brand img {background:transparent!important;filter:none!important;}
/* Consistent public controls. Extra specificity intentionally supersedes historic form modules. */
html body.ft4421-ui.ft4419-public .site-form {min-width:0;gap:24px!important;}
html body.ft4421-ui.ft4419-public .site-form :is(.form-grid,.ft21-fields) {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 24px!important;align-items:start;width:100%;margin:0;}
html body.ft4421-ui.ft4419-public .site-form :is(.form-grid,.ft21-fields)>* {min-width:0;max-width:100%;}
html body.ft4421-ui.ft4419-public .site-form :is(.form-grid,.ft21-fields)>:is(.full,.ft19-field-heading,.ft21-wide) {grid-column:1/-1!important;}
html body.ft4421-ui.ft4419-public .site-form label:not(.check):not(.oq-service-main):not(.oq-options label) {display:flex!important;flex-direction:column;align-items:stretch;gap:7px;min-width:0;margin:0!important;line-height:1.45!important;}
html body.ft4421-ui.ft4419-public .site-form .ft21-field-label {display:block;min-height:1.5em;font-size:.875rem;font-weight:600;line-height:1.5;color:#29495e;}
html body.ft4421-ui.ft4419-public .site-form :is(.form-grid,.ft21-fields) .ft21-field-label {min-height:2.8em;display:flex;align-items:flex-end;flex-wrap:wrap;column-gap:4px;}
html body.ft4421-ui.ft4419-public .site-form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea) {width:100%!important;max-width:100%!important;min-width:0!important;min-height:50px!important;border:1px solid #b8cad7!important;border-radius:8px!important;background-color:#fff!important;color:#17394f!important;font:400 1rem/1.5 Inter,system-ui,sans-serif!important;margin:0!important;padding:12px 14px!important;box-shadow:0 1px 2px #12344a04!important;}
html body.ft4421-ui.ft4419-public .site-form select {padding-right:34px!important;background-position:right 12px center!important;background-size:14px!important;cursor:pointer;}
html body.ft4421-ui.ft4419-public .site-form :is(input,select,textarea):focus {border-color:#007dad!important;outline:3px solid #007dad20!important;outline-offset:1px!important;box-shadow:none!important;}
html body.ft4421-ui.ft4419-public .site-form textarea {min-height:118px!important;resize:vertical;}
html body.ft4421-ui.ft4419-public .site-form input[type=file] {border-style:dashed!important;background:#f7fafc!important;min-height:56px!important;font-size:.875rem!important;}
html body.ft4421-ui.ft4419-public .site-form :is(.hp,.hp-field),html body.ft4421-ui.ft4419-public [hidden] {display:none!important;}
html body.ft4421-ui.ft4419-public .site-form .check {display:flex!important;gap:12px!important;align-items:flex-start!important;flex-wrap:nowrap!important;margin:0!important;padding:14px 16px;background:#f5f8fb;border:1px solid #e0e9ef;border-radius:8px;font-size:.875rem!important;line-height:1.65!important;font-weight:400!important;}
html body.ft4421-ui.ft4419-public .site-form :is(input[type=checkbox],input[type=radio]) {width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;flex:0 0 20px;margin:3px 0 0!important;accent-color:#007dad;}
html body.ft4421-ui.ft4419-public .site-form .ft21-check-copy {display:block;min-width:0;}
html body.ft4421-ui.ft4419-public .site-form :is(.btn,button[type=submit]) {min-height:50px!important;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px!important;box-shadow:none!important;font-size:.9375rem!important;font-weight:650!important;white-space:normal;line-height:1.5!important;}
html body.ft4421-ui.ft4419-public :is(button,a.btn):disabled {opacity:.5;cursor:not-allowed;}
html body.ft4421-ui.ft4419-public .site-form :is(.legal-panel,.otp-panel,.wonderbox-review-confirmations) {padding:24px!important;border:1px solid var(--ft21-line)!important;background:#f6f9fb!important;border-radius:10px!important;line-height:1.65;min-width:0;}
html body.ft4421-ui.ft4419-public .site-form :is(.legal-panel,.otp-panel) h3 {font-size:1.125rem!important;line-height:1.4!important;color:var(--ft21-ink);}
html body.ft4421-ui.ft4419-public .site-form .form-actions {border-top:1px solid var(--ft21-line);padding-top:24px;display:flex;flex-wrap:wrap;gap:12px;}
html body.ft4421-ui.ft4419-public .site-form .ftm-check-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
html body.ft4421-ui.ft4419-public :is(.iscrizione-card,.wonderbox-form-card) {border:1px solid var(--ft21-line)!important;border-radius:16px!important;box-shadow:0 8px 32px #123b5408!important;background:#fff!important;padding:32px!important;}
html body.ft4421-ui.ft4419-public .ft21-form-section {border:0;border-bottom:1px solid var(--ft21-line);margin:0;padding:0 0 28px;display:grid;gap:20px;min-width:0;}
html body.ft4421-ui.ft4419-public .ft21-form-section>h3 {display:flex;align-items:center;gap:12px;font-size:1.125rem!important;font-weight:650!important;color:var(--ft21-ink);line-height:1.4;margin:0 0 2px;padding:0;border:0;}
html body.ft4421-ui.ft4419-public .ft21-form-section>h3>span {display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:8px;background:#e6f4fb;color:#007dad;font-size:.8125rem;}
html body.ft4421-ui.ft4419-public .activity-options>label {padding:18px!important;border:1px solid var(--ft21-line)!important;border-radius:10px;background:#f8fbfd!important;}
html body.ft4421-ui.ft4419-public .wonderbox-review-confirmations .check {background:#fff;border-color:#d5e2eb;}
html body.ft4421-ui.ft4419-public .site-form :is(.message-box,.field-error-text) {font-size:.9375rem!important;line-height:1.6;}
/* The quote builder and calendar are complete product surfaces. */
body.ft4421-ui .ft21-tool-hero {background:#eef6fa;border-bottom:1px solid #dceaf2;overflow:hidden;}
body.ft4421-ui .ft21-tool-hero-inner {display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center;padding-block:48px;}
body.ft4421-ui .ft21-tool-hero h1 {font-size:clamp(2.2rem,3.6vw,3.5rem);font-weight:720;line-height:1.13;letter-spacing:-.035em;color:var(--ft21-ink);margin:0 0 18px;}
body.ft4421-ui .ft21-tool-hero p:not(.ft19-kicker) {font-size:1.0625rem;line-height:1.75;color:var(--ft21-muted);margin:0;max-width:660px;}
body.ft4421-ui .ft21-tool-hero img {width:100%;height:230px;object-fit:cover;border-radius:14px;}
body.ft4421-ui .ft21-tools-section {padding:48px 0 64px;background:#f5f8fb;}
body.ft4421-ui .ft21-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--ft21-line);border-radius:12px;margin-bottom:32px;overflow:hidden;}
body.ft4421-ui .ft21-steps a {display:flex;gap:14px;align-items:center;text-decoration:none;padding:20px 24px;color:var(--ft21-ink);border-right:1px solid var(--ft21-line);}
body.ft4421-ui .ft21-steps a:last-child {border-right:0;}
body.ft4421-ui .ft21-steps a:hover {background:#edf7fc;}
body.ft4421-ui .ft21-steps a>span {font-size:1.45rem;font-weight:500;color:#168bb5;}
body.ft4421-ui .ft21-steps strong {display:block;font-size:.9375rem;font-weight:650;}
body.ft4421-ui .ft21-steps small {display:block;font-size:.8125rem;color:var(--ft21-muted);margin-top:2px;}
body.ft4421-ui .ft21-builder-layout {display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start;}
html body.ft4421-ui.ft4419-public .ft21-quote-form {background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;max-width:none!important;margin:0!important;}
html body.ft4421-ui .ft21-panel {min-width:0;padding:30px!important;background:#fff;border:1px solid var(--ft21-line)!important;border-radius:14px;margin:0;scroll-margin-top:180px;box-shadow:0 4px 16px #183c5104;}
html body.ft4421-ui .ft21-panel>legend {float:left;width:100%;display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:650;line-height:1.4;color:var(--ft21-ink);padding:0;margin:0 0 12px;}
html body.ft4421-ui .ft21-panel>legend+* {clear:both;}
body.ft4421-ui .ft21-panel>legend>span {display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#e6f4fb;color:#007dad;font-size:.8125rem;}
body.ft4421-ui .ft21-panel-intro {font-size:.875rem!important;line-height:1.7;color:var(--ft21-muted);margin:0 0 22px!important;}
body.ft4421-ui .ft21-panel-intro a {color:#006c96;text-underline-offset:3px;}
body.ft4421-ui .ft21-panel>.ft21-fields~label {margin-top:22px!important;}
body.ft4421-ui .ft21-panel .full {grid-column:1/-1;}
body.ft4421-ui .ft21-summary {position:sticky;top:180px;padding:26px;border:1px solid #bad8e8;border-radius:14px;background:#fff;box-shadow:0 6px 28px #14486708;}
body.ft4421-ui .ft21-summary h2 {font-size:1.5rem;line-height:1.25;margin:0 0 22px;font-weight:650;}
body.ft4421-ui .ft21-summary dl {margin:0;}
body.ft4421-ui .ft21-summary dl>div {padding:12px 0;border-top:1px solid var(--ft21-line);}
body.ft4421-ui .ft21-summary dt {font-size:.75rem;color:var(--ft21-muted);margin:0 0 3px;}
body.ft4421-ui .ft21-summary dd {font-size:.9375rem;font-weight:550;margin:0;overflow-wrap:anywhere;}
body.ft4421-ui .ft21-summary-services {border-top:1px solid var(--ft21-line);padding-top:18px;margin-top:8px;}
body.ft4421-ui .ft21-summary-services>strong {display:flex;align-items:center;justify-content:space-between;font-size:.875rem;gap:10px;}
body.ft4421-ui .ft21-summary-services>strong span {border-radius:20px;background:#e7f5fc;min-width:26px;text-align:center;color:#007dad;padding:1px 8px;}
body.ft4421-ui .ft21-summary-services ul {list-style:none;margin:12px 0 0;padding:0;max-height:240px;overflow:auto;}
body.ft4421-ui .ft21-summary-services li {font-size:.875rem;padding:8px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #edf2f5;}
body.ft4421-ui .ft21-summary-services li.ft21-empty-selection {font-size:.8125rem;color:var(--ft21-muted);border:0;line-height:1.65;padding:0;}
body.ft4421-ui .ft21-summary-services button {width:36px;height:36px;flex:0 0 36px;border:1px solid var(--ft21-line);border-radius:7px;background:#fff;color:#547080;font:inherit;cursor:pointer;}
body.ft4421-ui .ft21-summary-note {font-size:.875rem;background:#f2f8fc;border-radius:8px;padding:15px;margin:22px 0;font-weight:600;line-height:1.6;}
body.ft4421-ui .ft21-summary-note small {font-size:.8125rem;display:block;color:var(--ft21-muted);font-weight:400;}
body.ft4421-ui .ft21-summary .ft19-button {width:100%;font-size:.875rem;}
body.ft4421-ui .ft21-summary-calendar {display:block;text-align:center;font-size:.8125rem;color:#007dad;margin-top:14px;text-underline-offset:3px;}
body.ft4421-ui .ft21-service-search {background:#f3f7fa;padding:16px;border-radius:10px;}
body.ft4421-ui .ft21-search-status {font-size:.8125rem;color:var(--ft21-muted);margin:10px 0;min-height:1.5em;}
html body.ft4421-ui .ft21-quote-form .oq-service-list {display:grid!important;gap:28px!important;margin-top:20px!important;}
html body.ft4421-ui .ft21-quote-form .oq-service-group {padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;min-width:0;}
html body.ft4421-ui .ft21-quote-form .oq-category-head {display:block!important;padding:0 0 12px!important;margin:0!important;border:0!important;}
html body.ft4421-ui .ft21-quote-form .oq-category-head h3 {font-size:1rem!important;font-weight:650!important;margin:0!important;color:var(--ft21-ink)!important;}
html body.ft4421-ui .ft21-quote-form .ft21-service-grid {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;gap:16px!important;padding:0!important;margin:0!important;max-width:none!important;scroll-snap-type:none!important;}
html body.ft4421-ui .ft21-quote-form .oq-service-card {display:flex!important;flex-direction:column;min-width:0!important;max-width:100%!important;width:auto!important;flex:initial!important;border:1px solid #d4e1eb!important;border-radius:12px!important;background:#fff!important;padding:0!important;box-shadow:none!important;overflow:hidden;transition:border-color .15s,box-shadow .15s;}
html body.ft4421-ui .ft21-quote-form .oq-service-card.is-selected {border-color:#007dad!important;box-shadow:0 0 0 1px #007dad!important;background:#f5fbff!important;}
html body.ft4421-ui .ft21-quote-form .oq-service-photo {margin:0!important;width:100%!important;height:146px!important;border-radius:0!important;overflow:hidden;}
html body.ft4421-ui .ft21-quote-form .oq-service-photo img {height:100%!important;width:100%!important;object-fit:cover;}
html body.ft4421-ui .ft21-quote-form .oq-service-main {padding:18px!important;display:flex!important;align-items:flex-start!important;gap:12px!important;cursor:pointer;margin:0!important;min-height:108px;}
html body.ft4421-ui .ft21-quote-form .oq-service-main>span {min-width:0;display:block;}
html body.ft4421-ui .ft21-quote-form .oq-service-main strong {font-size:.9375rem!important;line-height:1.5!important;color:var(--ft21-ink);font-weight:650;display:block;}
html body.ft4421-ui .ft21-quote-form .oq-service-main small {font-size:.8125rem!important;line-height:1.6!important;color:var(--ft21-muted);font-weight:400;display:block;margin-top:5px;}
html body.ft4421-ui .ft21-quote-form :is(.oq-options,.oq-qty,.oq-public-rule-note) {padding:14px 18px!important;margin:0!important;border:0!important;border-top:1px solid #e1eaf0!important;border-radius:0!important;background:transparent!important;font-size:.8125rem!important;}
html body.ft4421-ui .ft21-quote-form .oq-options label {display:flex!important;gap:10px;margin-top:10px!important;font-size:.8125rem!important;align-items:flex-start;line-height:1.5;}
html body.ft4421-ui .ft21-quote-form .oq-public-rule-note span {display:block;margin:4px 0;font-size:.75rem;line-height:1.6;color:var(--ft21-muted);}
html body.ft4421-ui .ft21-quote-form .oq-service-card:not(.is-selected) :is(.oq-options,.oq-qty) {display:none!important;}
html body.ft4421-ui .ft21-quote-form .oq-option-qty {max-width:110px!important;margin:8px 0 0 30px!important;min-height:42px!important;}
body.ft4421-ui .ft21-send-panel h2 {font-size:1.35rem;margin:0 0 10px;font-weight:650;}
body.ft4421-ui .ft21-send-panel>p {font-size:.9375rem;color:var(--ft21-muted);margin:0 0 20px;}
html body.ft4421-ui .ft21-send-panel .oq-submit {margin:22px 0 0!important;width:100%;}
body.ft4421-ui .ft21-service-error {padding:14px;border:1px solid #efb5aa;border-radius:8px;background:#fff0ed;color:#9b3725!important;}
/* A legible, selectable month, with an adjacent date summary. */
body.ft4421-ui .ft21-calendar-section {background:#fff;scroll-margin-top:160px;}
body.ft4421-ui .ft21-calendar-layout {display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start;}
body.ft4421-ui .ft21-calendar {padding:28px;background:#fff;border:1px solid var(--ft21-line);border-radius:14px;min-width:0;}
body.ft4421-ui .ft21-calendar-toolbar {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;}
body.ft4421-ui .ft21-calendar-toolbar .ft19-kicker {font-size:.6875rem;margin:0 0 5px;}
body.ft4421-ui .ft21-calendar-toolbar h3 {font-size:1.65rem;font-weight:650;line-height:1.3;margin:0;text-transform:capitalize;}
body.ft4421-ui .ft21-calendar-arrows {display:flex;gap:8px;align-items:center;}
body.ft4421-ui .ft21-calendar-arrows :is(a,button) {min-width:42px;min-height:42px;display:grid;place-items:center;padding:8px;border:1px solid #cddce6;background:#fff;color:var(--ft21-ink);border-radius:8px;text-decoration:none;font-size:.875rem;font-weight:600;cursor:pointer;}
body.ft4421-ui .ft21-calendar-arrows :is(a,button):hover {background:#eaf6fc;border-color:#007dad;}
body.ft4421-ui .ft21-month-picker {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 18px;color:var(--ft21-muted);font-size:.8125rem;border-bottom:1px solid var(--ft21-line);}
body.ft4421-ui .ft21-month-picker input {max-width:210px;border:1px solid #cddce6;border-radius:7px;padding:8px 12px;min-height:42px;background:#fff;color:var(--ft21-ink);font:inherit;}
body.ft4421-ui .ft21-weekdays,body.ft4421-ui .ft21-calendar-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;}
body.ft4421-ui .ft21-weekdays {font-size:.75rem;color:var(--ft21-muted);text-align:center;padding:18px 0 12px;font-weight:600;}
body.ft4421-ui .ft21-day {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:77px;padding:10px 4px;border:1px solid #e0e8ee;border-radius:9px;background:#fff;color:#17394f;font:inherit;cursor:pointer;}
body.ft4421-ui .ft21-day strong {font-size:1rem;font-weight:600;line-height:1.3;}
body.ft4421-ui .ft21-day small {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
body.ft4421-ui .ft21-day-dot {width:5px;height:5px;flex:none;border-radius:50%;background:#11845f;}
body.ft4421-ui .ft21-day.available {background:#f1fbf6;border-color:#d4eade;}
body.ft4421-ui .ft21-day.partial {background:#fff7e8;border-color:#f3e2bd;}
body.ft4421-ui .ft21-day.partial .ft21-day-dot {background:#b77706;}
body.ft4421-ui .ft21-day.unavailable {background:#faf0ee;color:#96635b;border-color:#efddd9;}
body.ft4421-ui .ft21-day.unavailable .ft21-day-dot {background:#b96554;}
body.ft4421-ui .ft21-day.past,body.ft4421-ui .ft21-day.unknown {background:#f6f8fa;color:#84949e;border-color:#edf1f4;}
body.ft4421-ui .ft21-day.past .ft21-day-dot,body.ft4421-ui .ft21-day.unknown .ft21-day-dot {background:#c2cdd4;}
body.ft4421-ui .ft21-day:disabled {opacity:1;cursor:default;}
body.ft4421-ui .ft21-day.is-today {box-shadow:inset 0 0 0 1px #007dad;}
body.ft4421-ui .ft21-day:not(:disabled):hover {border-color:#007dad;box-shadow:inset 0 0 0 1px #007dad;}
body.ft4421-ui .ft21-day[aria-pressed=true] {background:#007dad!important;color:#fff!important;border-color:#007dad!important;}
body.ft4421-ui .ft21-day[aria-pressed=true] .ft21-day-dot {background:#fff;}
body.ft4421-ui .ft21-calendar-legend {display:flex;flex-wrap:wrap;gap:12px 20px;border-top:1px solid var(--ft21-line);margin-top:22px;padding-top:18px;font-size:.75rem;color:var(--ft21-muted);}
body.ft4421-ui .ft21-calendar-legend span {display:flex;gap:7px;align-items:center;}
body.ft4421-ui .ft21-calendar-legend i {width:8px;height:8px;border-radius:50%;background:#11845f;}
body.ft4421-ui .ft21-calendar-legend i.partial {background:#b77706;}
body.ft4421-ui .ft21-calendar-legend i.unavailable {background:#b96554;}
body.ft4421-ui .ft21-calendar-status {font-size:.8125rem;color:var(--ft21-muted);margin:14px 0 0;line-height:1.6;}
body.ft4421-ui .ft21-calendar[aria-busy=true] .ft21-calendar-grid {opacity:.5;pointer-events:none;}
body.ft4421-ui .ft21-calendar-aside {padding:28px;border-radius:14px;background:#eef7fc;border:1px solid #d2e7f1;}
body.ft4421-ui .ft21-aside-icon {display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#fff;color:#007dad;margin-bottom:24px;}
body.ft4421-ui .ft21-calendar-aside h3 {font-size:1.5rem;line-height:1.3;font-weight:650;margin:0 0 14px;color:var(--ft21-ink);}
body.ft4421-ui .ft21-calendar-aside p {font-size:.9375rem;color:var(--ft21-muted);line-height:1.7;margin:0 0 24px;}
body.ft4421-ui .ft21-calendar-aside .ft19-kicker {font-size:.6875rem;color:#007dad;margin:0 0 10px;}
body.ft4421-ui .ft21-calendar-aside .ft19-button {width:100%;font-size:.875rem;gap:12px;padding-inline:16px;}
body.ft4421-ui .ft21-calendar-note {border-top:1px solid #d0e2ec;margin-top:28px;padding-top:24px;}
body.ft4421-ui .ft21-calendar-note strong {font-size:.875rem;}
body.ft4421-ui .ft21-calendar-note p {font-size:.8125rem;margin:8px 0 20px;}
body.ft4421-ui .ft21-calendar-aside .ft19-text-link {font-size:.8125rem;line-height:1.6;}
/* Staff: clearer toolbar, records, filters, aligned fields and row actions. */
@media screen {
 html body.ft4421-ui.ftaps-app.ft4415-ui {--bg:#f2f5f8;--line:#dce5ed;--navy:#12334a;--ink:#17394f;--blue:#007dad;--ft422-h1:2rem;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-sidebar {background:#12334a;border-right:0;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-nav-group .ftaps-nav-button.ftaps-active {background:#215169;box-shadow:inset 3px 0 0 #24b5e3;color:#fff;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-topbar {background:#fff!important;border-bottom:1px solid #dce5ed!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content {padding:32px!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-page-head {padding-bottom:24px;border-bottom:1px solid #dce5ed;margin-bottom:26px;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(.staff-card,.ftm-card,.ftm-panel,.ftaps-panel,.ftinv-card,.oq-dashboard-panel):not(.ftdoc-paper *) {background:#fff;border:1px solid #dce5ed!important;border-radius:14px!important;box-shadow:0 3px 12px #18384e04!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-stats article {border-radius:12px!important;border:1px solid #dce5ed!important;border-top:3px solid #76bcd6!important;min-height:126px!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-stat-icon {border-radius:10px;background:#eef7fb;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(.site-form,.ftm-form) :is(.form-grid,.ftm-form-grid):not(.ftdoc-paper *):not([data-no-form-layout] *) {gap:20px 24px!important;align-items:start;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content label.ft21-field {display:flex!important;flex-direction:column;align-items:stretch;gap:7px;min-width:0;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ft21-field-label {font-weight:600;font-size:.8125rem;line-height:1.5;min-height:1.5em;color:#3c576b;}
 html body.ft4421-ui.ftaps-app.ft4415-ui :is(.form-grid,.ft411-fields,.ftm-form-grid)>.ft21-field .ft21-field-label {min-height:2.8em;display:flex;align-items:flex-end;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea):not(.ftdoc-paper *):not(.ft-ai-widget *) {border:1px solid #bccdd9!important;border-radius:8px!important;background:#fff!important;min-height:44px;box-shadow:0 1px 2px #1a354504!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content .ft21-field>:is(input,select,textarea) {margin:0!important;width:100%;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(.ftm-filter,.ft-table-toolbar,.ft4415-table-toolbar) {background:#f5f8fb;border:1px solid #dde7ee;border-radius:10px;padding:16px!important;gap:14px!important;align-items:end;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content table:not(.ftdoc-paper *) {border-collapse:separate!important;border-spacing:0!important;font-size:.875rem!important;background:#fff;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content table:not(.ftdoc-paper *) thead th {background:#edf3f7!important;color:#425f73!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:.025em;line-height:1.5!important;padding:14px 16px!important;border-bottom:1px solid #d2e0e9!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content table:not(.ftdoc-paper *) tbody td {padding:15px 16px!important;border-bottom:1px solid #e4ebf0!important;line-height:1.6!important;vertical-align:middle!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content table:not(.ftdoc-paper *) tbody tr:nth-child(even)>td {background:#f8fafc;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content table:not(.ftdoc-paper *) tbody tr:hover>td {background:#edf7fc!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content table:not(.ftdoc-paper *) tbody tr[aria-selected=true]>td {background:#e2f2fc!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(.btn,.button,.ftaps-primary,.ftaps-secondary):not(.ftdoc-paper *):not(.ft-ai-widget *) {min-height:40px;border-radius:8px!important;padding:9px 15px!important;box-shadow:none!important;font-size:.8125rem!important;font-weight:600!important;line-height:1.4!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(.ftm-badge,.ftaps-status,.oq-status) {padding:4px 10px!important;border-radius:6px!important;font-size:.75rem!important;font-weight:600!important;line-height:1.5!important;white-space:nowrap;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(.ft429-table-scroll,.ftm-table-wrap,.table-wrap,.staff-table-wrap) {border-radius:12px!important;border-color:#dce5ed!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(.ft421-day,.ft420-day,.ftag-day) {border-radius:10px;border-color:#dce5ed;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content :is(button,a,summary,input,select,textarea):focus-visible {outline:3px solid #007dad!important;outline-offset:3px!important;}
}
@media (max-width:1000px) {
 body.ft4421-ui .ft21-builder-layout,body.ft4421-ui .ft21-calendar-layout {grid-template-columns:minmax(0,1fr) 270px;gap:20px;}
 body.ft4421-ui .ft21-summary,body.ft4421-ui .ft21-calendar,body.ft4421-ui .ft21-calendar-aside {padding:22px;}
 body.ft4421-ui .ft21-tool-hero-inner {gap:32px;}
 html body.ft4421-ui .ft21-panel {padding:24px!important;}
 html body.ft4421-ui .ft21-quote-form .ft21-service-grid {grid-template-columns:1fr!important;}
 body.ft4421-ui .ft21-day {min-height:60px;}
 body.ft4421-ui .ft21-steps a {padding:18px;}
}
@media (max-width:800px) {
 body.ft4421-ui .ft21-builder-layout,body.ft4421-ui .ft21-calendar-layout {grid-template-columns:1fr;}
 body.ft4421-ui .ft21-summary {position:static;}
 body.ft4421-ui .ft21-tool-hero-inner {grid-template-columns:1fr;gap:24px;padding-block:32px;}
 body.ft4421-ui .ft21-tool-hero img {height:190px;}
 body.ft4421-ui .ft21-steps a {gap:10px;padding:16px 12px;align-items:flex-start;}
 body.ft4421-ui .ft21-steps small {display:none;}
 body.ft4421-ui .ft21-steps strong {font-size:.8125rem;}
 body.ft4421-ui .ft21-steps a>span {font-size:1rem;}
 body.ft4421-ui .ft21-tools-section {padding:28px 0 44px;}
 html body.ft4421-ui .ft21-quote-form .ft21-service-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 html body.ft4421-ui.ftaps-app.ft4415-ui .ftaps-content {padding:20px 16px!important;}
}
@media (max-width:600px) {
 html body.ft4421-ui.ft4419-public .container {width:calc(100% - 32px)!important;}
 html body.ft4421-ui.ft4419-public .site-form :is(.form-grid,.ft21-fields) {grid-template-columns:1fr!important;gap:18px!important;}
 html body.ft4421-ui.ft4419-public .site-form :is(.form-grid,.ft21-fields) .ft21-field-label {min-height:1.5em;}
 html body.ft4421-ui.ft4419-public :is(.iscrizione-card,.wonderbox-form-card,.ft19-form-panel) {padding:22px 18px!important;}
 html body.ft4421-ui .ft21-panel {padding:22px 18px!important;scroll-margin-top:105px;}
 html body.ft4421-ui .ft21-quote-form .ft21-service-grid {grid-template-columns:1fr!important;}
 body.ft4421-ui .ft21-calendar {padding:18px 12px;}
 body.ft4421-ui .ft21-calendar-toolbar {gap:8px;}
 body.ft4421-ui .ft21-calendar-toolbar h3 {font-size:1.3rem;}
 body.ft4421-ui .ft21-calendar-arrows {gap:4px;}
 body.ft4421-ui .ft21-calendar-arrows :is(a,button) {min-width:36px;min-height:42px;padding:6px;}
 body.ft4421-ui .ft21-weekdays,body.ft4421-ui .ft21-calendar-grid {gap:4px;}
 body.ft4421-ui .ft21-day {border-radius:6px;min-height:54px;padding:8px 2px;}
 body.ft4421-ui .ft21-day strong {font-size:.875rem;}
 body.ft4421-ui .ft21-calendar-legend {gap:10px 14px;font-size:.6875rem;}
 body.ft4421-ui .ft21-month-picker input {max-width:170px;}
 body.ft4421-ui .ft21-steps a {padding:14px 10px;display:block;}
 body.ft4421-ui .ft21-steps a>span {display:block;margin-bottom:5px;}
 body.ft4421-ui .ft21-steps strong {line-height:1.4;}
 html body.ft4421-ui .ft19-brand {width:148px;flex-basis:148px;height:65px;}
 html body.ft4421-ui .ft19-brand img {width:144px;height:62px;}
}
@media (prefers-reduced-motion:reduce) {body.ft4421-ui *,body.ft4421-ui *::before,body.ft4421-ui *::after {scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

html body.ft4421-ui .footer-logo-wrap {background:transparent!important;border-radius:0!important;width:190px!important;padding:0!important;}
/* Hidden controls and filtered services must win over the legacy display rules. */
html body.ft4421-ui.ft4419-public [hidden][hidden] {display:none!important;}

/* 4.4.23: filtered services remain hidden despite the grid/card display rules. */
html body.ft4421-ui .ft21-quote-form :is(.oq-service-card,.oq-service-group)[hidden]{display:none!important}
html body.ft4421-ui .ft21-service-search-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
html body.ft4421-ui .ft21-service-search-tools button{width:auto!important;min-height:36px!important;padding:7px 12px!important;font-size:13px!important}


/* 4.4.26 — Preventivatore pubblico più ampio e catalogo servizi orizzontale per categoria. */
html body.ft4421-ui.ft4419-public .ft21-quote-workspace>.container {
  width:min(1500px,calc(100% - 48px))!important;
  max-width:1500px!important;
}
body.ft4421-ui .ft21-quote-workspace .ft21-builder-layout {
  grid-template-columns:minmax(0,1fr) 290px;
  gap:24px;
}
@media (min-width:1181px) {
  html body.ft4421-ui.ft4419-public #ft21-contacts .ft21-fields {grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  html body.ft4421-ui.ft4419-public #ft21-event .ft21-fields {grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  html body.ft4421-ui.ft4419-public #ft21-event .ft21-fields>.full {grid-column:span 3!important;}
}
html body.ft4421-ui .ft21-quote-form .oq-service-list {
  display:grid!important;
  gap:30px!important;
  min-width:0;
}
html body.ft4421-ui .ft21-quote-form .oq-service-group {
  min-width:0!important;
  padding:18px!important;
  border:1px solid #dbe6ed!important;
  border-radius:14px!important;
  background:#f8fbfd!important;
}
html body.ft4421-ui .ft21-quote-form .oq-category-head {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:0 0 14px!important;
  margin:0!important;
}
html body.ft4421-ui .ft21-quote-form .oq-category-head h3 {
  font-size:1.08rem!important;
  color:#15364a!important;
}
html body.ft4421-ui .ft21-quote-form .oq-carousel-controls {display:flex!important;gap:8px;flex:0 0 auto;}
html body.ft4421-ui .ft21-quote-form .oq-carousel-arrow {
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border:1px solid #b8cedb!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#15425d!important;
  box-shadow:0 4px 14px #143a500d!important;
  font-size:1.55rem!important;
  line-height:1!important;
  cursor:pointer;
}
html body.ft4421-ui .ft21-quote-form .oq-carousel-arrow:hover,
html body.ft4421-ui .ft21-quote-form .oq-carousel-arrow:focus-visible {
  background:#075f86!important;
  border-color:#075f86!important;
  color:#fff!important;
}
html body.ft4421-ui .ft21-quote-form .ft21-service-grid {
  display:flex!important;
  grid-template-columns:none!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-padding-inline:2px!important;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  padding:2px 2px 12px!important;
  margin:0!important;
  scrollbar-width:thin;
  scrollbar-color:#9bb5c4 #eaf1f5;
}
html body.ft4421-ui .ft21-quote-form .ft21-service-grid::-webkit-scrollbar {height:8px;}
html body.ft4421-ui .ft21-quote-form .ft21-service-grid::-webkit-scrollbar-track {background:#eaf1f5;border-radius:999px;}
html body.ft4421-ui .ft21-quote-form .ft21-service-grid::-webkit-scrollbar-thumb {background:#9bb5c4;border-radius:999px;}
html body.ft4421-ui .ft21-quote-form .oq-service-card {
  flex:0 0 clamp(285px,31%,360px)!important;
  width:auto!important;
  max-width:none!important;
  min-width:285px!important;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
/* Contrasto testo: niente grigi troppo chiari sulle superfici pubbliche. */
body.ft4421-ui .ft21-panel-intro,
body.ft4421-ui .ft21-search-status,
body.ft4421-ui .ft21-summary dt,
body.ft4421-ui .ft21-summary-services li.ft21-empty-selection,
body.ft4421-ui .ft21-summary-note small,
html body.ft4421-ui .ft21-quote-form .oq-service-main small,
html body.ft4421-ui .ft21-quote-form .oq-public-rule-note span {
  color:#405e70!important;
  opacity:1!important;
}
html body.ft4421-ui .ft21-quote-form .oq-service-main strong {color:#14364a!important;}
html body.ft4421-ui .ft21-quote-form .oq-options,
html body.ft4421-ui .ft21-quote-form .oq-qty {color:#294b5f!important;}
@media (max-width:1180px) {
  body.ft4421-ui .ft21-quote-workspace .ft21-builder-layout {grid-template-columns:minmax(0,1fr) 270px;gap:20px;}
}
@media (max-width:800px) {
  html body.ft4421-ui.ft4419-public .ft21-quote-workspace>.container {width:calc(100% - 32px)!important;}
  body.ft4421-ui .ft21-quote-workspace .ft21-builder-layout {grid-template-columns:1fr;}
  html body.ft4421-ui .ft21-quote-form .oq-service-card {flex-basis:min(78vw,340px)!important;min-width:min(78vw,340px)!important;}
}
@media (max-width:600px) {
  html body.ft4421-ui .ft21-quote-form .oq-service-group {padding:14px!important;}
  html body.ft4421-ui .ft21-quote-form .oq-category-head {gap:10px!important;}
  html body.ft4421-ui .ft21-quote-form .oq-carousel-arrow {width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;}
  html body.ft4421-ui .ft21-quote-form .ft21-service-grid {gap:12px!important;}
  html body.ft4421-ui .ft21-quote-form .oq-service-card {flex-basis:min(82vw,320px)!important;min-width:min(82vw,320px)!important;}
}

/* Five Tour 4.4.65 · scelta esplicita notifiche durante il salvataggio evento */
body.ftaps-app .ft465-notification-choice{background:#f7f9fc;border:1px solid #d9e2ec!important;border-radius:12px;padding:16px;margin:18px 0;}
body.ftaps-app .ft465-notification-choice legend{font-weight:800;padding:0 6px;}
body.ftaps-app .ft465-notification-targets{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0 16px;}
body.ftaps-app .ft465-notification-targets label{display:flex!important;align-items:center!important;gap:9px;margin:0!important;min-width:210px;}
body.ftaps-app .ft465-notification-targets input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px!important;flex:0 0 20px!important;}
body.ftaps-app .ft465-save-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
body.ftaps-app .ft465-save-actions .btn{margin:0!important;}
body.ftaps-app .ft465-notification-note{margin:10px 0 0!important;}
@media(max-width:600px){body.ftaps-app .ft465-notification-targets{display:grid;grid-template-columns:1fr;gap:10px;}body.ftaps-app .ft465-notification-targets label{min-width:0;}body.ftaps-app .ft465-save-actions{display:grid;grid-template-columns:1fr;}body.ftaps-app .ft465-save-actions .btn{width:100%;justify-content:center;}}
