/* One appearance owner. No rules change the existing ToBePolo palette. */
@media screen {
html[data-tbp-theme="light"] {
  --tbp-flag-wash: linear-gradient(#fff, #fff);
  color-scheme: light;
}
/* Il tema scuro e' nero, non verde: i fondi verdastri tiravano tutto sul
   bottiglia e il marchio non si staccava piu' (Elind, 19/9). Il verde resta
   dov'e' identita', non sulle superfici. */
html[data-tbp-theme="dark"] {
  --tbp-flag-wash: linear-gradient(#0f0f0f, #0f0f0f);
  --tbp-night-surface: #141414;
  --tbp-night-raised: #1e1e1e;
  --tbp-night-text: #ededed;
  --tbp-night-muted: #b5b5b5;
  --tbp-night-line: #333333;
  --tbp-sage: #1e1e1e;
  --tbp-ivory: #141414;
  --tbp-muted: #b5b5b5;
  --tbp-line: #333333;
  color-scheme: dark;
}

/* Named layer wins over late legacy !important styles without repeated IDs.
   Brand/media colors and conversion buttons retain their component owners. */
@layer tbp-appearance {
  /* Text fill must follow color: legacy button styles otherwise paint green on dark. */
  html[data-tbp-theme="dark"] .tbp-viste__btn,
  html[data-tbp-theme="dark"] .tbp-viste__btn .tbp-viste__nome { color:#edf3ed !important; -webkit-text-fill-color:currentColor !important; }
  html[data-tbp-theme="dark"] .tbp-viste__btn:hover { background:#263630 !important; }
  html[data-tbp-theme="dark"] .tbp-viste__btn[aria-pressed="true"] .tbp-viste__nome { color:#fff !important; }
  @media(max-width:849px) {
    html body.tbp-has-app-bar .tbp-app-bar__label { white-space:normal !important; overflow-wrap:anywhere !important; line-height:1.15 !important; }
    html body.tbp-has-app-bar .tbp-app-bar__item--register .tbp-app-bar__label { font-size:10px !important; color:#163622 !important; -webkit-text-fill-color:#163622 !important; text-shadow:none !important; }
  }

  .tbp-segn { z-index:2147483002 !important; }
  /* Report dialog owns its surfaces as well as its text in night mode. */
  html[data-tbp-theme="dark"] .tbp-segn__foglio { background:#1d2925 !important; color:#edf3ed !important; }
  html[data-tbp-theme="dark"] .tbp-segn :is(.tbp-segn__bolla,.tbp-segn__campo,.tbp-segn__allega,.tbp-segn__genere span,.tbp-segn__chiudi) { background:#263630 !important; color:#edf3ed !important; border-color:#4a6256 !important; }
  html[data-tbp-theme="dark"] .tbp-segn :is(.tbp-segn__titolo,.tbp-segn__grazie) { color:#edf3ed !important; }
  html[data-tbp-theme="dark"] .tbp-segn :is(.tbp-segn__sottotitolo,.tbp-segn__nota) { color:#bbc9c1 !important; }
  html[data-tbp-theme="dark"] .tbp-segn__campo::placeholder { color:#bbc9c1 !important; opacity:1; }
  html[data-tbp-theme="dark"] .tbp-segn__capo { border-color:#4a6256 !important; }
  html[data-tbp-theme="dark"] .tbp-segn__genere input:checked + span,
  html[data-tbp-theme="dark"] .tbp-segn__invia { background:#f1ce69 !important; color:#121a18 !important; border-color:#f1ce69 !important; text-shadow:none !important; }
  html[data-tbp-theme="dark"] .tbp-segn__errore { background:#49272b !important; color:#ffd6d9 !important; }

  .tbp-velo-paesi { fill:#eae7da !important; fill-opacity:.92 !important; transition:none !important; }
  html[data-tbp-theme="light"] .tbp-velo-paesi { fill:#fff !important; fill-opacity:1 !important; }
  html[data-tbp-theme="dark"] .tbp-velo-paesi { fill:#101a16 !important; fill-opacity:.92 !important; }

  .tbp-appearance[hidden] { display: none !important; }
  .tbp-appearance {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #084828 !important;
  }
  .tbp-appearance legend { padding: 0 0 8px !important; color: inherit !important; font-size: 14px !important; font-weight: 700 !important; }
  .tbp-appearance__choices { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
  .tbp-appearance button {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important;
    min-height: 44px !important; min-width: 44px !important; margin: 0 !important; padding: 9px 12px !important;
    border: 1px solid #c4d1c9 !important; border-radius: 12px !important; background: #fff !important;
    color: #084828 !important; -webkit-text-fill-color: currentColor !important;
    font: 700 13px/1.3 Manrope, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
    box-shadow: none !important; text-shadow: none !important; transform: none !important;
    cursor: pointer !important;
  }
  .tbp-appearance button::before, .tbp-appearance button::after { display: none !important; }
  .tbp-appearance button[aria-pressed="true"] { border-color: #084828 !important; box-shadow: inset 0 0 0 1px #084828 !important; background: #edf4ef !important; }
  .tbp-appearance button:focus-visible { outline: 3px solid #b18a17 !important; outline-offset: 3px !important; }
  .tbp-appearance__swatch { display: block !important; flex: 0 0 16px !important; width: 16px !important; height: 16px !important; border-radius: 50% !important; border: 1px solid #8d9a91 !important; }
  .tbp-appearance__swatch--tobepolo { background: linear-gradient(90deg,#145e3f 0 33%,#fff 33% 66%,#d0161a 66%) !important; }
  .tbp-appearance__swatch--light { background: #fff !important; }
  .tbp-appearance__swatch--dark { background: #121a18 !important; }
  .tbp-mega-footer .tbp-appearance { color: #fff !important; }


  .tbp-appearance button svg { display:block !important; width:21px !important; height:21px !important; flex:0 0 21px !important; }
  #header, #masthead, .header-wrapper { height:auto !important; }
  #masthead { display:block !important; }
  /* Shared signature row: same owner and position on every standard page. */
  #masthead .tbp-header-brandline { display:flex !important; align-items:center !important; justify-content:center !important; gap:12px !important; width:100% !important; max-width:none !important; padding:0 16px 10px !important; }
  #masthead .tbp-header-signature { margin:0 !important; padding:0 !important; min-width:0 !important; color:var(--tbp-night-text, #084828) !important; font:650 12px/1.4 Manrope,sans-serif !important; text-align:center !important; text-wrap:balance; }
  .tbp-header-appearance { display:flex !important; justify-content:flex-end !important; padding:0 !important; }
  #masthead .tbp-header-brandline .tbp-header-appearance { flex:0 0 auto !important; }
  @media(max-width:849px) { #masthead .tbp-header-brandline { padding-bottom:8px !important; } #masthead .tbp-header-signature { max-width:28ch !important; } }
  .tbp-header-appearance .tbp-appearance { margin:0 !important; }
  .tbp-header-appearance--desktop { padding:0 6px !important; flex:0 0 auto !important; align-items:center !important; }
  .tbp-header-appearance--desktop .tbp-appearance__choices { flex-wrap:nowrap !important; }
  @media(min-width:850px) { .tbp-drawer-appearance { display:none !important; } }
  @media(min-width:850px) and (max-width:1100px) {
    #masthead .tbp-header-inner { padding-inline:12px !important; }
    #masthead .tbp-header-desktop-slot { gap:4px !important; padding-inline:0 !important; }
    .tbp-header-appearance--desktop { padding-inline:2px !important; }
  }

  @media(max-width:849px) { .tbp-header-appearance--desktop { display:none !important; } }

  .tbp-appearance--header legend { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%) !important; padding:0 !important; }
  .tbp-appearance--header .tbp-appearance__label { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%) !important; }
  .tbp-appearance--header button { width:44px !important; height:44px !important; padding:10px !important; }
  /* One compact trigger; the choices float without shifting the header/map. */
  .tbp-appearance { position:relative !important; }
  .tbp-appearance .tbp-appearance__toggle { width:64px !important; padding:9px 12px !important; border-radius:24px !important; }
  /* Header preferences share one control shape; their icons and labels keep
     appearance and language distinct. Drawer controls keep their full width. */
  #masthead .tbp-appearance--header .tbp-appearance__toggle,
  #masthead .tbp-language-switcher--desktop .tbp-lingue__ora {
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    box-sizing:border-box !important; width:76px !important; min-width:76px !important;
    height:44px !important; min-height:44px !important; margin:0 !important; padding:0 12px !important;
    gap:8px !important; border:1px solid var(--tbp-night-line, #c4d1c9) !important;
    border-radius:999px !important; background:var(--tbp-night-surface, #fff) !important;
    color:var(--tbp-night-text, #084828) !important; box-shadow:none !important;
  }
  #masthead .tbp-appearance--header .tbp-appearance__current {
    width:30px !important; height:22px !important; align-items:center !important; justify-content:center !important;
  }
  #masthead .tbp-appearance--header .tbp-appearance__arrow,
  #masthead .tbp-language-switcher--desktop .tbp-lingue__freccia {
    width:0 !important; height:0 !important; font-size:0 !important; line-height:0 !important;
    border-left:4px solid transparent !important; border-right:4px solid transparent !important;
    border-top:5px solid currentColor !important; flex-shrink:0 !important;
  }
  #masthead .tbp-appearance--header .tbp-appearance__toggle:focus-visible,
  #masthead .tbp-language-switcher--desktop .tbp-lingue__ora:focus-visible {
    outline:3px solid #b18a17 !important; outline-offset:3px !important;
  }
  html[data-tbp-theme="light"] :is(.tbp-map-frame, #tbp-map-esperienze.leaflet-container) {
    background:#fff !important;
  }
  .tbp-appearance__current { display:flex !important; }
  .tbp-appearance__arrow { font-size:12px !important; line-height:1 !important; }
  .tbp-appearance .tbp-appearance__choices {
    position:absolute !important; top:calc(100% + 8px) !important; right:0 !important;
    z-index:1100 !important; width:240px !important; padding:8px !important;
    flex-direction:column !important; gap:4px !important;
    background:#fff !important; border:1px solid #c4d1c9 !important; border-radius:16px !important;
    box-shadow:0 8px 24px rgb(8 72 40 / 18%) !important;
  }
  .tbp-appearance .tbp-appearance__choices[hidden] { display:none !important; }
  .tbp-appearance .tbp-appearance__choices button { width:100% !important; justify-content:flex-start !important; gap:10px !important; }
  .tbp-appearance .tbp-appearance__choices .tbp-appearance__label {
    position:static !important; width:auto !important; height:auto !important; clip-path:none !important; overflow:visible !important;
  }
  html[data-tbp-theme="dark"] .tbp-appearance .tbp-appearance__choices { background:#1d2925 !important; border-color:#4a6256 !important; }
  .tbp-appearance--header .tbp-appearance__current-label { display:none !important; }
  .tbp-drawer-appearance { width:100% !important; padding:0 12px 12px !important; margin:24px 0 0 !important; box-sizing:border-box !important; }
  .tbp-drawer-appearance .tbp-appearance { width:100% !important; margin:0 !important; }
  .tbp-drawer-appearance .tbp-appearance legend { border:0 !important; text-transform:none !important; letter-spacing:normal !important; }
  .tbp-drawer-appearance .tbp-appearance__toggle { width:100% !important; justify-content:flex-start !important; border-radius:12px !important; }
  .tbp-drawer-appearance .tbp-appearance__current-label { flex:1 !important; text-align:start !important; }
  .tbp-drawer-appearance .tbp-appearance__choices { position:static !important; width:100% !important; margin-top:8px !important; box-shadow:none !important; }

  html[data-tbp-theme="light"] :is(body,#wrapper,#main,.page-wrapper,#header,.header-wrapper,#masthead,.header-main,.header-bg-container,.header-bg-color) { background:#fff !important; background-image:none !important; }
  html[data-tbp-theme="dark"] :is(body,#wrapper,#main,.page-wrapper) { background:#121a18 !important; background-image:none !important; }
  html[data-tbp-theme="dark"] :is(
    .tbp-territories,.tbp-territories__tile,.tbp-album__figurina,.tbp-entity-steps li,
    .tbp-entity-nav,.tbp-album__iniziale,.tbp-territories__aside,
    .tbp-viste__btn,.tbp-fcalc__summary,.tbp-fcalc__edit-cancel,
    .tbp-info-page,.tbp-hub,.tbp-preferiti-page,.tbp-cifra,
    .tbp-auth-flow,.tbp-role-form,.tbp-auth-card,.tbp-auth-panel,
    .tbp-exp-corpo,.tbp-reviews,.tbp-reviews-summary,.tbp-review-card,
    .tbp-book-strip,.tbp-exp-booking,.tbp-prenota,.tbp-calendar,
    .off-canvas .mfp-content,.off-canvas-center .mfp-content
  ) { background:var(--tbp-night-surface) !important; color:var(--tbp-night-text) !important; border-color:var(--tbp-night-line) !important; box-shadow:none !important; }
  html[data-tbp-theme="dark"] :is(.tbp-album__nome,.tbp-album__tipo,.tbp-album__iniziale,.tbp-territories__kind,.tbp-territories__more,.tbp-catalogo-download > span) { color:var(--tbp-night-text) !important; -webkit-text-fill-color:currentColor !important; }
  html[data-tbp-theme="dark"] :is(.tbp-entity-nav a[aria-current="page"],.tbp-viste__btn[aria-pressed="true"]) { background:#365c48 !important; color:#fff !important; border-color:#c9a227 !important; }
  html[data-tbp-theme="dark"] .tbp-territories__join { border-color:var(--tbp-night-line) !important; }
  html[data-tbp-theme="dark"] .tbp-album__stemma:has(img) { background:#fff !important; border-radius:10px !important; padding:8px !important; }
  html[data-tbp-theme="dark"] .tbp-album__stemma img { max-height:64px !important; }
  html[data-tbp-theme="dark"] .tbp-album__stemma .tbp-territories__logo-slot { height:64px !important; }
  @media(max-width:849px) { .tbp-header-appearance { justify-content:center !important; } }

  html[data-tbp-theme="dark"] :is(#tbp-map-page,.tbp-map-count-box) { background:var(--tbp-night-surface) !important; color:var(--tbp-night-text) !important; }
  html[data-tbp-theme="dark"] :is(.tbp-exp-intro,.tbp-scheda-host) :is(.tbp-exp-card__title,.tbp-exp-card__price,.tbp-exp-card__maker-name,.tbp-card-rating__count) { color:var(--tbp-night-text) !important; -webkit-text-fill-color:currentColor !important; }
  html[data-tbp-theme="dark"] .tbp-auth-root img.tbp-brand-lockup__mark { background:#fff !important; border-radius:12px !important; }
  html[data-tbp-theme="light"] .tbp-app-bar { background:linear-gradient(0deg,#fff 80%,transparent) !important; }
  html[data-tbp-theme="dark"] .flatpickr-day.flatpickr-disabled { color:#84948b !important; }
  html[data-tbp-theme="dark"] body { color: var(--tbp-night-text) !important; --tbp-focus-color: #f1ce69; }
  html[data-tbp-theme="dark"] :is(#header, .header-wrapper, #masthead, .header-main, .header-bg-container, .header-bg-color, .tbp-home-intro) { background: #121a18 !important; }
  html[data-tbp-theme="dark"] :is(#wrapper, #main, #content, .page-wrapper) { color: var(--tbp-night-text) !important; }
  html[data-tbp-theme="dark"] :is(h1,h2,h3,h4,h5,h6,p,li,label,legend,small,strong,em,td,th,dt,dd,a,summary):not(:where(
    .card *, .tbp-discovery-card *, .tbp-exp-card *, .tbp-feed-card *, .tbp-preview-card *,
    .leaflet-marker-icon *, .leaflet-tooltip *, .tbp-wordmark *, .tbp-mega-footer *,
    .button, .button *, .bottone, .bottone *, .tbp-auth-switch__cta, .tbp-auth-switch__cta *,
    .tbp-appearance *, .tbp-colombo-chat *
  )) { color: var(--tbp-night-text) !important; -webkit-text-fill-color: currentColor !important; }
  html[data-tbp-theme="dark"] :is(
    .tbp-hub__button, .tbp-hub__index a, .tbp-info-page, .woocommerce-MyAccount-content,
    .woocommerce-MyAccount-navigation, .tbp-account-nav-section, .corpo.tbp-exp-corpo,
    .tbp-auth-root, .account-register-inner, .account-login-inner, .tbp-auth-toolbar,
    .tbp-registration-legal, .tbp-registration-role-choice, .tbp-fisc, .tbp-acq,
    .tbp-auth-step, .tbp-wizard-step, .tbp-wizard-toolbar, .tbp-wizard-flow,
    .tbp-cat-pill-inner, .tbp-more-filters summary, .tbp-filter-chip, .tbp-dir-card,
    .tbp-field--data, .tbp-app-bar__material, .tbp-social-btn,
    #main-menu .active > a, #main-menu a.is-active, #main-menu a[aria-current="page"],
    .tbp-territory-card, .tbp-entity-card, .tbp-fcalc, .tbp-fiscal-profile,
    .woocommerce-checkout-review-order, .woocommerce-checkout-payment, .payment_box,
    .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields,
    .woocommerce-notices-wrapper > *, .woocommerce-message, .woocommerce-info, .woocommerce-error,
    .wcfm-container, .wcfm-content, .wcfm-collapse-content, .wcfm-page-headig,
    .select2-dropdown, .select2-selection, .flatpickr-calendar, .flatpickr-months,
    .flatpickr-current-month, .flatpickr-weekdays, .flatpickr-time,
    .tbp-language-switcher__panel, .tbp-language-switcher__toggle,
    .tbp-desktop-nav__item, .tbp-lingue__elenco, .tbp-lingue__toggle,
    .leaflet-control-layers, .leaflet-control-zoom a, .leaflet-control-attribution, .leaflet-popup-content-wrapper,
    .leaflet-popup-tip, .tbp-map-legend, .tbp-map-legend__toggle
  ) {
    background: var(--tbp-night-surface) !important;
    color: var(--tbp-night-text) !important;
    border-color: var(--tbp-night-line) !important;
    box-shadow: none !important;
  }
  html[data-tbp-theme="dark"] :is(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]), select, textarea) {
    background: var(--tbp-night-raised) !important;
    color: var(--tbp-night-text) !important; -webkit-text-fill-color: currentColor !important;
    border-color: var(--tbp-night-line) !important;
    color-scheme: dark !important;
  }
  html[data-tbp-theme="dark"] :is(input, textarea)::placeholder { color: var(--tbp-night-muted) !important; opacity: 1 !important; }
  html[data-tbp-theme="dark"] :is(.tbp-cat-text, .tbp-cat-name, .tbp-cat-count, .tbp-desktop-nav__label, .tbp-app-bar__label, .tbp-auth-toolbar__title, .tbp-auth-step__lead, .tbp-auth-progress__label, .flatpickr-day, .flatpickr-weekday, .select2-selection__rendered, .tbp-social-btn span) { color: var(--tbp-night-text) !important; -webkit-text-fill-color: currentColor !important; }
  html[data-tbp-theme="dark"] :is(.tbp-auth-toolbar__back, .tbp-auth-toolbar__close) { color: var(--tbp-night-text) !important; background: var(--tbp-night-raised) !important; }
  html[data-tbp-theme="dark"] .tbp-search-step-number { color: #f1ce69 !important; }
  html[data-tbp-theme="dark"] .tbp-wordmark__tobe { color: #edf3ed !important; -webkit-text-fill-color: #edf3ed !important; }
  html[data-tbp-theme="dark"] .tbp-app-bar { background: linear-gradient(0deg,#121a18 80%,transparent) !important; }
  html[data-tbp-theme="dark"] :is(.tbp-app-bar__inner, .tbp-app-bar__nav) { background: var(--tbp-night-surface) !important; }
  html[data-tbp-theme="dark"] .tbp-mega-footer { background: #0d1512 !important; }
  html[data-tbp-theme="dark"] :is(.tbp-colombo-chat__panel, .tbp-colombo-chat__head, .tbp-colombo-chat__thread, .tbp-colombo-chat__bubble, .tbp-colombo-chat__teaser, .tbp-colombo-chat__form) { background: var(--tbp-night-surface) !important; color: var(--tbp-night-text) !important; border-color: var(--tbp-night-line) !important; }
  html[data-tbp-theme="dark"] :is(.tbp-colombo-chat__title, .tbp-colombo-chat__subtitle, .tbp-colombo-chat__bubble, .tbp-colombo-chat__teaser-name, .tbp-colombo-chat__teaser-text) { color: var(--tbp-night-text) !important; -webkit-text-fill-color: currentColor !important; }
  html[data-tbp-theme="dark"] .tbp-appearance { color: var(--tbp-night-text) !important; }
  html[data-tbp-theme="dark"] .tbp-appearance button { background: var(--tbp-night-surface) !important; color: var(--tbp-night-text) !important; border-color: var(--tbp-night-line) !important; }
  html[data-tbp-theme="dark"] .tbp-appearance button[aria-pressed="true"] { background: #33483e !important; border-color: #c9a227 !important; box-shadow: inset 0 0 0 1px #c9a227 !important; }
  /* Public reviews, including host replies, retain readable night surfaces. */
  html[data-tbp-theme="dark"] .tbp-recensione-card {
    background:var(--tbp-night-surface) !important;
    color:var(--tbp-night-text) !important;
    border-color:var(--tbp-night-line) !important;
    box-shadow:none !important;
  }
  html[data-tbp-theme="dark"] .tbp-recensione-card :is(.tbp-recensione-card__author,.tbp-recensione-card__body,.tbp-recensioni-guest-text,.tbp-recensione-card__esperienza-name) {
    color:var(--tbp-night-text) !important; -webkit-text-fill-color:currentColor !important;
  }
  html[data-tbp-theme="dark"] .tbp-recensione-card :is(.tbp-recensione-card__date,.tbp-recensione-card__esperienza-label) { color:var(--tbp-night-muted) !important; }
  html[data-tbp-theme="dark"] .tbp-recensione-card :is(.tbp-recensione-card__ritratto,.tbp-recensione-card__esperienza,.tbp-recensione-card__round--host,.tbp-recensione-card__round--contro) {
    background:var(--tbp-night-raised) !important; border-color:var(--tbp-night-line) !important;
  }
  /* Booking calendar: surfaces, controls and scroll fades share the night palette. */
  html[data-tbp-theme="dark"] .tbp-quando :is(.tbp-quando__campo,.jet-apb-calendar-header) {
    background:var(--tbp-night-surface) !important;
    color:var(--tbp-night-text) !important;
    border-color:var(--tbp-night-line) !important;
    box-shadow:none !important;
  }
  html[data-tbp-theme="dark"] .tbp-quando :is(.jet-apb-calendar-date,.jet-apb-slot,.tbp-quando__freccia,.jet-apb-calendar-btn) {
    background:var(--tbp-night-raised) !important;
    color:var(--tbp-night-text) !important;
    border-color:var(--tbp-night-line) !important;
  }
  html[data-tbp-theme="dark"] .tbp-quando :is(.jet-apb-calendar-header__label,.jet-apb-calendar-date-body,.tbp-cal-dow,.jet-apb-slot *) {
    color:var(--tbp-night-text) !important;
    -webkit-text-fill-color:currentColor !important;
  }
  html[data-tbp-theme="dark"] .tbp-quando :is(.jet-apb-calendar-date-body,.jet-apb-calendar-slots,.jet-apb-calendar-slots-container,.tbp-slot-seats) { background:transparent !important; }
  html[data-tbp-theme="dark"] .tbp-quando :is(.tbp-quando__attesa,.tbp-slot-seats) { color:var(--tbp-night-muted) !important; }
  html[data-tbp-theme="dark"] .tbp-quando :is(.jet-apb-calendar-date--selected,.jet-apb-slot--selected) {
    background:#f1ce69 !important; border-color:#f1ce69 !important; color:#121a18 !important;
  }
  html[data-tbp-theme="dark"] .tbp-quando :is(.jet-apb-calendar-date--selected,.jet-apb-slot--selected) * {
    color:#121a18 !important; -webkit-text-fill-color:currentColor !important;
  }
  html[data-tbp-theme="dark"] .tbp-quando :is(.jet-apb-slot,.jet-apb-calendar-date-body,.tbp-quando__freccia,.jet-apb-calendar-btn):focus-visible {
    outline:3px solid #f1ce69 !important; outline-offset:2px !important;
  }
  html[data-tbp-theme="dark"] .tbp-quando .jet-apb-calendar-btn svg { fill:currentColor !important; }
  html[data-tbp-theme="dark"] .tbp-quando__scorrevole::before { background:linear-gradient(to right,#1d2925 12%,transparent) !important; }
  html[data-tbp-theme="dark"] .tbp-quando__scorrevole::after { background:linear-gradient(to left,#1d2925 12%,transparent) !important; }
  html[data-tbp-theme="dark"] .leaflet-tile-pane { filter: brightness(.64) saturate(.7) !important; }
  html[data-tbp-theme="dark"] :is(.tbp-hub__button, .tbp-hub__index a):hover { background: #33483e !important; }
  html[data-tbp-theme="dark"] ::selection { background: #d5b64e !important; color: #121a18 !important; }
}
}
@media print {
  html[data-tbp-theme] { --tbp-flag-wash: none; }
  .tbp-appearance { display: none !important; }
}

/* Tema e lingua in cima al drawer, affiancati come due comandi soli: niente
   titoletti, niente etichette lunghe (Elind, 19/9). */
.tbp-drawer-appearance--testa,
.tbp-drawer-languages--testa {
  display: inline-flex;
  vertical-align: top;
  margin: 0 0 6px;
  padding: 0;
}
.tbp-drawer-appearance--testa { margin-right: 8px; }
/* I due comandi stanno su una riga sola dentro l'elenco, sotto il marchio. */
.tbp-drawer-comandi {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 4px 0 10px !important;
  list-style: none;
  border: 0 !important;
}
.tbp-drawer-comandi::before, .tbp-drawer-comandi::after { content: none !important; }
.tbp-drawer-comandi-riga { list-style: none; border: 0 !important; padding: 0 !important; }
.tbp-drawer-comandi-riga::before, .tbp-drawer-comandi-riga::after { content: none !important; }
/* Il nome sta dentro il bottone, accanto al segno: la regola che lo nascondeva
   ai soli lettori di schermo qui va disfatta pezzo per pezzo, tutti con
   !important perche' l'originale li dichiara cosi'. */
.tbp-drawer-comandi .tbp-appearance__current-label,
.tbp-drawer-comandi .tbp-lingue__nome {
  position: static !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
/* Le due pastiglie hanno lo stesso vestito: fondo chiaro, bordo tenue. */
.tbp-drawer-comandi .tbp-appearance__toggle,
.tbp-drawer-comandi .tbp-lingue__ora {
  background: var(--tbp-night-surface, #fff) !important;
  border: 1px solid var(--tbp-line, #dce5df) !important;
  color: var(--tbp-night-text, #084828) !important;
}
/* Due pastiglie piccole, non due barre larghe quanto il drawer. */
.tbp-drawer-appearance--testa .tbp-appearance__toggle,
.tbp-drawer-languages--testa .tbp-lingue__ora {
  width: auto !important;
  min-width: 0 !important;
  min-height: 40px;
  padding: 0 10px !important;
  border-radius: 999px !important;
  gap: 6px;
}
.tbp-drawer-languages--testa .tbp-lingue,
.tbp-drawer-languages--testa .tbp-language-switcher { width: auto !important; }
.tbp-drawer-languages--testa .tbp-language-flag { width: 22px; height: 16px; }
/* Solo il titoletto del gruppo resta ai lettori di schermo: la parola dentro
   il bottone deve vedersi (Elind, 19/9). */
.tbp-drawer-appearance--testa legend,
.tbp-drawer-languages--testa .tbp-language-switcher__titolo {
  position: absolute !important;
  width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.tbp-drawer-appearance--testa .tbp-appearance {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Nel bottone del tema segno e parola stavano uno sopra l'altro: qui vanno in
   riga, con lo stesso passo del bottone della lingua (Elind, 19/9). */
.tbp-drawer-comandi .tbp-appearance__toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  width: auto !important;
}
.tbp-drawer-comandi .tbp-appearance__current {
  position: static !important;
  display: inline-flex;
  width: 18px;
  height: 18px;
  margin: 0 !important;
}
.tbp-drawer-comandi .tbp-appearance__current svg { width: 18px; height: 18px; }
.tbp-drawer-comandi .tbp-appearance__arrow { margin-left: 2px; }

/* Nel cassetto tema e lingua non aprono finestre: un tocco e cambiano. Quindi
   niente freccia, che prometterebbe una tendina (Elind, 19/9). */
.tbp-drawer-comandi .tbp-appearance__arrow,
.tbp-drawer-comandi .tbp-lingue__freccia { display: none !important; }
.tbp-drawer-comandi .tbp-appearance__choices { display: none !important; }
.tbp-drawer-comandi .tbp-lingue__ora {
  position: relative;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}
/* Mentre si scorrono le lingue un filo si riempie sotto la scritta: quando
   arriva in fondo si parte. */
.tbp-drawer-comandi .tbp-lingue__ora.is-in-attesa::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background: #b18a17;
  transform-origin: left center;
  animation: tbp-lingua-attesa 1.1s linear forwards;
}
@keyframes tbp-lingua-attesa { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .tbp-drawer-comandi .tbp-lingue__ora.is-in-attesa::after { animation: none; }
}
/* Pressione lunga: al posto dei due bottoni, le quattro bandiere in riga.
   Niente che si apra sopra il menu. */
#main-menu .tbp-drawer-comandi:not(.is-scelta) .tbp-lingue__elenco { display: none !important; }
#main-menu .tbp-drawer-comandi.is-scelta .tbp-drawer-appearance--testa,
#main-menu .tbp-drawer-comandi.is-scelta .tbp-lingue__ora { display: none !important; }
#main-menu .tbp-drawer-comandi.is-scelta .tbp-lingue__elenco {
  display: flex !important;
  flex-direction: row !important;
  gap: 6px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#main-menu .tbp-drawer-comandi.is-scelta .tbp-lingue__elenco a {
  width: auto !important;
  min-width: 48px;
  min-height: 40px;
  justify-content: center;
  padding: 0 12px !important;
  border-radius: 999px !important;
}
#main-menu .tbp-drawer-comandi.is-scelta .tbp-lingue__elenco .tbp-language-label {
  position: absolute !important;
  width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
#main-menu .tbp-drawer-comandi.is-scelta .tbp-lingue__elenco a[aria-current="true"] {
  border-color: #084828 !important;
  box-shadow: inset 0 0 0 1px #084828;
}


/* Le due pastiglie alla stessa altezza e attaccate al marchio. Le misure del
   vecchio blocco «Aspetto» (margine 24, larghezza piena, 44 px) stanno nel
   layer tbp-appearance con !important: fra dichiarazioni !important vince il
   layer, non la specificita', quindi si correggono solo da dentro lo stesso
   layer (Elind, 19/9). */
@layer tbp-appearance {
  #main-menu .tbp-drawer-comandi .tbp-drawer-appearance.tbp-drawer-appearance--testa {
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #main-menu .tbp-drawer-comandi .tbp-appearance .tbp-appearance__toggle {
    width: auto !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
  }
  /* Col tema scuro le voci del cassetto restavano verde scuro su nero. */
  html[data-tbp-theme="dark"] #main-menu ul.nav-sidebar > li.menu-item > a,
  html[data-tbp-theme="dark"] #main-menu ul.nav-sidebar > li.menu-item > a > span {
    color: var(--tbp-night-text, #ededed) !important;
    -webkit-text-fill-color: var(--tbp-night-text, #ededed) !important;
  }
}
#main-menu li.tbp-drawer-comandi-riga {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
#main-menu .tbp-drawer-comandi {
  padding: 6px 0 10px 12px !important;
  gap: 8px !important;
  align-items: center !important;
}
#main-menu .tbp-drawer-comandi .tbp-drawer-languages.tbp-drawer-languages--testa {
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Stessa sagoma per i due bottoni: quadrati con gli angoli stondati, non a
   pastiglia (Elind, 19/9). */
#main-menu .tbp-drawer-comandi summary.tbp-lingue__ora {
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
}
#main-menu .tbp-drawer-comandi.is-scelta .tbp-lingue__elenco a {
  border-radius: 12px !important;
}

/* Pulsante oro «Registrati» del menu sui temi scuri (22/9 notte, schermata di Elind): il tema
   scuro schiariva tutti i link e la scritta spariva nell'oro. Sull'oro il testo e' verde
   scuro, come tutti i bottoni oro (D71, 23/9). Nel layer, come la regola che lo schiariva. */
@layer tbp-appearance {
  html:is([data-tbp-theme="dark"], [data-tbp-theme="tobepolo"]) :is(#main-menu, .mfp-content, .off-canvas-center) .login-registrazione a.registrazione,
  html:is([data-tbp-theme="dark"], [data-tbp-theme="tobepolo"]) :is(#main-menu, .mfp-content, .off-canvas-center) .login-registrazione a.registrazione * {
    color: #084828 !important;
    -webkit-text-fill-color: #084828 !important;
    text-shadow: none !important;
    font-weight: 800 !important;
  }
}

/* Cassetto: marchio della stessa misura nei tre temi (CEO, 1/10: «icona e logo uguali di
   grandezza e misura»). tbp-appearance.js mette qui i file «tobepolo-lockup-pieno*»: pittogramma
   a grandezza piena anche sulla tessera bianca, viewBox alto quanto la tessera (1523,13 invece
   di 1325,99). Il box tiene la scala di prima (58 px per il viewBox vecchio): 157 x 66,625 px
   (66,625 = 157 x 1523,13 / 3589,82, arrotondato al 1/64 di px: niente oscillazioni di misura).
   Margini: la tessera parte all'altezza del bottone di chiusura (1 px più su) e sotto restano
   12 px fino alla riga Tema/Suoni/Lingua, che scende di 1,6 px soltanto. Nel layer: le regole
   del cassetto in tbp-internal-surfaces.css impongono height e max-height 58 px con !important. */
@layer tbp-appearance {
  html body .off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul > li.html:first-child.tbp-brand-lockup > img.tbp-brand-lockup__img,
  html body #main-menu > .sidebar-menu > ul > li.html:first-child.tbp-brand-lockup > img.tbp-brand-lockup__img {
    width: 157px !important;
    height: 66.625px !important;
    max-width: 78vw !important;
    max-height: none !important;
    object-fit: contain !important;
    margin: -1px 0 -6px !important;
  }
}

/* Menu della gestione (WCFM), 1/10 (CEO: stesse facce nei tre temi anche qui). tbp-appearance.js mette
   i file «-pieno» anche in questo marchio. Il box tiene la scala di prima (42 px per il viewBox vecchio):
   113,7 x 48,25 px, 6 px più su; il posto occupato resta alto 42 px, il menu non si sposta. In chiaro il
   marchio resta identico; nei temi scuro e ToBePolo il pittogramma cresce sulla tessera.
   object-position in basso: finché c'è ancora il file vecchio (prima dello script) si vede dov'era. */
@layer tbp-appearance {
  html body #wcfm_menu .wcfm_menu_logo a.tbp-wcfm-brand-logo > img.tbp-brand-lockup__img {
    width: 113.703125px !important;
    height: 48.25px !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: 50% 100% !important;
    margin: -6px 0 -0.25px !important;
  }
}

/* Testata, 1/10 (CEO: «la barra può crescere»): con i file «-pieno» il marchio resta alla scala di
   prima (54 px per il viewBox vecchio al telefono, 72 al computer), quindi il box cresce quanto la
   tessera: 1523,13 / 1325,99 = 1,1487. Telefono 146,2 x 62,03 px (+8 px), computer 194,9 x 82,7 px
   (+10,7 px). Facce e scritta uguali nei tre temi e uguali al chiaro di prima. Solo con i file
   «-pieno» (element-logo.php): con un HTML vecchio in cache resta tutto come prima. Misure al 1/64 di px. */
@layer tbp-appearance {
  html body #masthead #logo a.tbp-brand-lockup img.tbp-brand-lockup__img[src*="tobepolo-lockup-pieno"],
  html body #logo img.tbp-brand-lockup__img[src*="tobepolo-lockup-pieno"] {
    width: 194.921875px !important;
    height: 82.703125px !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: contain !important;
  }
  @media (max-width: 849px) {
    html body #masthead #logo a.tbp-brand-lockup img.tbp-brand-lockup__img[src*="tobepolo-lockup-pieno"],
    html body #logo img.tbp-brand-lockup__img[src*="tobepolo-lockup-pieno"] {
      width: 146.203125px !important;
      height: 62.03125px !important;
    }
  }
}

/* Pannello di accesso, 1/10 (CPO: facce uguali nei tre temi anche nel marchio grande di /login/,
   /registrazione/ e simili). tbp-appearance.js mette qui i file «tobepolo-lockup-stacked-pieno*»: viewBox
   2350,66 x 2828,87 invece di 2342,6 x 2547,81 (la tessera intera sta sopra il pittogramma). Scala di
   prima (136 px fino a 480 px di larghezza, 160 oltre per il viewBox vecchio): box 125,5 x 151 / 147,6 x 177,7 px, alzato
   di 15 / 17,7 px, così il posto occupato resta 136 / 160 e niente si sposta. Al 1/64 di px. */
@layer tbp-appearance {
  html body .tbp-auth-brand img.tbp-brand-lockup__img--verticale[src*="tobepolo-lockup-stacked-pieno"] {
    width: 147.625px !important;
    height: 177.65625px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    margin-top: -17.65625px !important;
  }
  @media (max-width: 480px) {
    html body .tbp-auth-brand img.tbp-brand-lockup__img--verticale[src*="tobepolo-lockup-stacked-pieno"] {
      width: 125.484375px !important;
      height: 151px !important;
      margin-top: -15px !important;
    }
  }
}

/* Bottone secondario nel tema scuro, 1/10 (collaudo: «Gestisci preferenze cookie» bianco con testo #EDEDED,
   1,17:1). La regola dei testi scuri qui sopra schiarisce ogni link, il gettone del secondario resta bianco:
   nel tema scuro diventa a contorno come gli altri secondari del sito (fondo trasparente, linea chiara,
   testo #EDEDED: 15,1:1 sul fondo #121A18). Vale per tutti i secondari, non per una pagina sola. */
@layer tbp-appearance {
  html[data-tbp-theme="dark"] body:not(.login):not(.registrazione) .tbp-btn--secondary,
  html[data-tbp-theme="dark"] body:not(.login):not(.registrazione):not(.tbp-wcfm-ui) :is(.tbp-filter-reset, a.button.alt, .woocommerce-Button--secondary) {
    background: transparent !important;
    border: 1px solid rgba(237, 237, 237, .45) !important;
    color: var(--tbp-night-text) !important;
    -webkit-text-fill-color: var(--tbp-night-text) !important;
  }
  /* Nomi dei cookie e altri <code> nel testo: fondo chiaro di Flatsome con testo #EDEDED (1,04:1). */
  html[data-tbp-theme="dark"] body :is(code, kbd, samp) {
    background: var(--tbp-night-raised) !important;
    color: var(--tbp-night-text) !important;
    -webkit-text-fill-color: var(--tbp-night-text) !important;
  }
  @media (hover: hover) {
    html[data-tbp-theme="dark"] body:not(.login):not(.registrazione) .tbp-btn--secondary:hover:not(:disabled),
    html[data-tbp-theme="dark"] body:not(.login):not(.registrazione):not(.tbp-wcfm-ui) :is(.tbp-filter-reset, a.button.alt, .woocommerce-Button--secondary):hover:not(:disabled) {
      background: rgba(237, 237, 237, .12) !important;
      border-color: rgba(237, 237, 237, .6) !important;
    }
  }
}
