/* Staging4 internal surfaces — additive, does not replace tobepolo-italia-rebrand.css */

@font-face {
  font-family: Oxanium;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/oxanium/oxanium-800-latin.woff2") format("woff2");
}

/* Home hero senza immagine: testo verde. Non applicare alle card foto Impara/Condividi. */
.home #main > .section:first-child:not(.has-bg) .banner:not(.has-bg):not(.card-front) .text :where(h1, h2, h3, p, strong, span) {
  color: #084828 !important;
  -webkit-text-fill-color: #084828 !important;
  text-shadow: none !important;
}

/* Card Impara / Condividi: titolo bianco sul velo verde in alto. */
.home .card .banner .text :where(h1, h2, h3, p, strong, span),
.home .card .card-front .text :where(h1, h2, h3, p, strong, span) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

.home .slider-cerchio,
.home .slider-cerchio > .container {
  overflow: hidden !important;
  isolation: isolate;
  background: #ffffff !important;
  background-color: #ffffff !important;
  clip-path: inset(0);
  contain: paint;
}
.home .slider-cerchio .slide {
  transform-style: flat !important;
  -webkit-transform-style: flat !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation span.label,
body.woocommerce-account .woocommerce-MyAccount-navigation .label {
  background: transparent !important;
  color: inherit !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: inline !important;
  font-size: inherit !important;
  font-weight: 500 !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li a {
  color: #084828 !important;
  background: transparent !important;
}

body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li.is-active a,
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li.active > a,
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li:hover > a,
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li a[aria-current="page"] {
  background: #084828 !important;
  color: #ffffff !important;
}

body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li a[aria-current="page"] span.icona path,
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li.active > a span.icona path,
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li:hover > a span.icona path {
  fill: #ffffff !important;
}

body.woocommerce-account .woocommerce-Button,
body.woocommerce-account button.button,
body.woocommerce-account a.button,
body.woocommerce-account .tbp-add-payment button {
  background-color: #084828 !important;
  border-color: #084828 !important;
  color: #ffffff !important;
}

body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="password"],
body.woocommerce-account input[type="tel"],
body.woocommerce-account select,
body.woocommerce-account textarea,
body.woocommerce-account table.shop_table {
  border-color: #084828 !important;
}

body.woocommerce-account table.shop_table th {
  background: #084828 !important;
  color: #ffffff !important;
}

body.woocommerce-account,
body.woocommerce-account button,
body.woocommerce-account input,
body.woocommerce-account select,
body.woocommerce-account textarea {
  font-family: Manrope, "DM Sans", sans-serif;
}

.tbp-registration-legal {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 20px 0;
  clear: both;
  float: none;
  width: 100%;
  position: relative;
  z-index: 5;
  pointer-events: auto;
}

.tbp-registration-legal__item {
  display: grid;
  grid-template-columns: 44px 1fr;
  column-gap: 12px;
  align-items: start;
  position: relative;
  z-index: 6;
  min-height: 44px;
  margin: 0;
  padding: 4px 0;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
}

.tbp-registration-legal__input {
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  margin: 8px 0 0;
  accent-color: #084828;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 7;
  float: none;
}

.tbp-registration-legal__label {
  color: #084828;
  font-size: 0.85rem;
  line-height: 1.35;
  white-space: normal;
  cursor: pointer;
  pointer-events: auto;
}

.tbp-registration-legal__label a,
.tbp-registration-legal a.tbp-auth-link {
  color: #D0161A;
  -webkit-text-fill-color: #D0161A;
  font-weight: 700;
  text-decoration: none;
}

body.scegli-ruolo .tbp-role-form .button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

#wcfm-main-contentainer {
  --tbp-brown: #084828;
  --tbp-brown-alt: #084828;
  --tbp-yellow: #084828;
  --tbp-beige: #ffffff;
  --tbp-cream: #f4f7f5;
  --tbp-page-bg: #ffffff;
  --tbp-surface-card: #ffffff;
  --tbp-surface-chrome: #f4f7f5;
  --tbp-on-chrome: #084828;
  --tbp-teal: #084828;
  --tbp-border: #d5e0d8;
  --wcfm-button-bg-color: #084828;
  font-family: Manrope, "DM Sans", sans-serif !important;
}

#wcfm_menu,
#wcfm-main-contentainer #wcfm_menu {
  background: #f4f7f5 !important;
}

#wcfm_menu .wcfm_menu_item a,
#wcfm_menu .wcfm_menu_item span,
#wcfm_menu .wcfm_menu_item {
  color: #084828 !important;
}

/* Voce attiva: pill chiara, icone Lava visibili (mai bg scuro sugli span:
   lo shorthand background azzererebbe la background-image dell'icona). */
#wcfm-main-contentainer #wcfm_menu .wcfm_menu_item.active,
#wcfm-main-contentainer #wcfm_menu .wcfm_menu_item.active a,
#wcfm-main-contentainer #wcfm_menu a.wcfm_menu_item.active,
#wcfm_menu .wcfm_menu_item.active,
#wcfm_menu a.wcfm_menu_item.active,
#wcfm_menu .wcfm_menu_items a.active {
  background: #e7efe9 !important;
  background-color: #e7efe9 !important;
  color: #084828 !important;
}

#wcfm-main-contentainer #wcfm_menu .wcfm_menu_item.active span,
#wcfm_menu .wcfm_menu_item.active span,
#wcfm_menu .wcfm_menu_item.active i,
#wcfm_menu .wcfm_menu_item.active svg,
#wcfm_menu .wcfm_menu_item.active .text {
  background-color: transparent !important;
  color: #084828 !important;
  fill: #084828 !important;
  stroke: #084828 !important;
}

#wcfm-main-contentainer .wcfm_submit_button,
#wcfm-main-contentainer input[type="submit"],
#wcfm-main-contentainer button.wcfm_submit_button,
#wcfm-main-contentainer .wcfm-action-icon,
#wcfm-main-contentainer a.wcfm_submit_button,
#wcfm-main-contentainer .tbp-media-dropzone__cta,
#wcfm-main-contentainer .tbp-esperienze-steps-nav__btn {
  background: #084828 !important;
  border-color: #084828 !important;
  color: #ffffff !important;
}

#wcfm-main-contentainer .tbp-esperienze-steps-nav__btn *,
#wcfm-main-contentainer .wcfm_submit_button * {
  color: inherit !important;
}

#wcfm-main-contentainer .tbp-media-dropzone__secondary {
  background: #ffffff !important;
  color: #084828 !important;
  border-color: #084828 !important;
}

#wcfm-main-contentainer table.dataTable thead th,
#wcfm-main-contentainer table.display thead th {
  background: #084828 !important;
  color: #ffffff !important;
}

#wcfm-main-contentainer input[type="text"],
#wcfm-main-contentainer input[type="email"],
#wcfm-main-contentainer input[type="password"],
#wcfm-main-contentainer input[type="number"],
#wcfm-main-contentainer select,
#wcfm-main-contentainer textarea {
  border-color: #084828 !important;
}

#wcfm-main-contentainer .wcfm-page-preloader,
#wcfm-main-contentainer .wcfm_pre_loader_wrapper {
  border-top-color: #084828 !important;
}

#wcfm_menu .tbp-wcfm-brand-logo__mark,
.tbp-wcfm-brand-logo__mark {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 8px !important;
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
}

#wcfm_menu .tbp-wcfm-brand-logo__wordmark,
.tbp-wcfm-brand-logo__wordmark {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  font-family: Manrope, "DM Sans", sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
  letter-spacing: -0.055em !important;
  line-height: 1 !important;
  background: none !important;
  color: inherit !important;
}

body.tbp-wcfm-ui:not(.single-esperienze):not(.home) .header-wrapper,
body.tbp-wcfm-ui:not(.single-esperienze):not(.home) #masthead,
body.tbp-wcfm-ui:not(.single-esperienze):not(.home) #header,
body.tbp-wcfm-ui:not(.single-esperienze):not(.home) .footer-wrapper,
body.tbp-wcfm-ui:not(.single-esperienze):not(.home) #footer,
body.tbp-wcfm-ui:not(.single-esperienze):not(.home) footer.footer,
body.tbp-wcfm-ui:not(.single-esperienze):not(.home) .absolute-footer,
body.tbp-wcfm-ui:not(.single-esperienze):not(.home) #wrapper > footer {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.tbp-wcfm-ui #wrapper,
body.tbp-wcfm-ui #main {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

#wcfm-main-contentainer .wcfm-page-heading-text,
#wcfm-main-contentainer .wcfm-page-headig {
  color: #084828 !important;
}

/* Login / registrazione: nascondi logotipo SVG storico se il template non è aggiornato */
.account-container .logo .logotipo,
.registrazione-confermata .logo .logotipo {
  display: none !important;
}

.account-container .logo .pittogramma,
.registrazione-confermata .logo .pittogramma {
  width: 88px !important;
  height: 88px !important;
  object-fit: contain !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.account-container .tbp-account-logotype,
.registrazione-confermata .tbp-account-logotype,
.tbp-wordmark,
.tbp-wordmark__tobe,
.tbp-wordmark__polo {
  font-family: Oxanium, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
  text-transform: none !important;
}

.account-container .tbp-account-logotype,
.registrazione-confermata .tbp-account-logotype,
.tbp-wordmark {
  color: inherit !important;
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  display: inline-flex !important;
  align-items: baseline !important;
  white-space: nowrap !important;
}

.tbp-wordmark__tobe {
  color: #084828 !important;
  -webkit-text-fill-color: #084828 !important;
}

.tbp-wordmark__polo {
  color: #D0161A !important;
  -webkit-text-fill-color: #D0161A !important;
  display: inline-flex !important;
  align-items: center !important;
}

.tbp-wordmark__polo::after {
  content: none;
  display: none;
}

.tbp-wordmark--on-dark .tbp-wordmark__tobe {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.tbp-wordmark--on-dark .tbp-wordmark__polo::after {
  background: #ffffff;
}

#wcfm_menu .tbp-wcfm-brand-logo__wordmark,
.tbp-wcfm-brand-logo__wordmark {
  font-size: 1.15rem !important;
}

/* Auth: una sola superficie, niente cornici concentriche */
body:is(.login, .login-page, .registrazione, .registrazione-professionista, .registrazione-confermata, .woocommerce-lost-password) main {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  max-width: 100% !important;
  padding: 28px 16px 56px !important;
  margin: 0 auto 0 !important;
}

body:is(.login, .login-page, .registrazione, .registrazione-professionista, .registrazione-confermata, .woocommerce-lost-password)
  :where(.account-container, .container.lightbox-inner) {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  max-width: 440px !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

body:is(.login, .login-page, .registrazione, .registrazione-professionista, .registrazione-confermata, .woocommerce-lost-password)
  .account-container :where(.account-login-inner, .account-register-inner) {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body:is(.login, .login-page, .registrazione, .registrazione-professionista)
  .tbp-registration-role-choice {
  border: 0 !important;
  box-shadow: none !important;
  padding: 4px !important;
  background: #f4f7f5 !important;
  border-radius: var(--tbp-radius-control, 14px) !important;
}

body:is(.login, .login-page, .registrazione, .registrazione-professionista)
  .tbp-registration-role-choice a {
  border: 0 !important;
  box-shadow: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tbp-registration-role-choice .tbp-role-choice-icon {
  width: 30px;
  height: 30px;
  object-fit: contain;
  flex-shrink: 0;
}

body:is(.login, .login-page, .registrazione, .registrazione-professionista, .registrazione-confermata, .woocommerce-lost-password)
  .account-container :where(input.input-text, input[type="text"], input[type="email"], input[type="password"], select, textarea) {
  border: 1px solid rgba(8, 72, 40, 0.14) !important;
  box-shadow: none !important;
}

body:is(.login, .login-page, .registrazione, .registrazione-professionista, .woocommerce-lost-password)
  .account-container :where(input, textarea):focus {
  border-color: #084828 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(8, 72, 40, 0.08) !important;
}

body:is(.login, .login-page, .registrazione, .registrazione-professionista)
  :where(.tbp-legal-checkboxes, .tbp-registration-legal) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 480px) {
  body.registrazione-professionista .account-register-inner,
  body.registrazione-professionista .account-container,
  body.registrazione-professionista .container.lightbox-inner {
    border: 0 !important;
    box-shadow: none !important;
  }
}

body.woocommerce-account .woocommerce-MyAccount-content {
  font-family: Manrope, "DM Sans", sans-serif;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  letter-spacing: -0.035em;
}

.tbp-preferiti-page,
body.page-preferiti .col-inner {
  max-width: 920px;
  margin-inline: auto;
  padding: 32px 20px 64px;
}

#wcfm-main-contentainer .page_collapsible,
#wcfm-main-contentainer .wcfm-collapse a.page_collapsible_dummy,
#wcfm-main-contentainer .page_collapsible.collapse-open {
  background: #f4f7f5 !important;
  color: #084828 !important;
  border-color: #d5e0d8 !important;
}

#wcfm-main-contentainer .page_collapsible label,
#wcfm-main-contentainer .page_collapsible:hover label,
#wcfm-main-contentainer .page_collapsible.collapse-open label {
  color: #084828 !important;
}

#wcfm-main-contentainer .tbp-wcfm-menu-toggle-btn,
#wcfm-main-contentainer .tbp-wcfm-menu-toggle-btn.is-open,
#cboxClose {
  background: #084828 !important;
  color: #ffffff !important;
}

#wcfm-main-contentainer .wcfm_menu_item span.wcfm_menu_item_hide,
#wcfm_menu .wcfm_menu_items .wcfm_menu_item .text {
  color: inherit !important;
}

#wcfm_menu .wcfm-menu-item-group,
#wcfm_menu .wcfm_menu_title,
#wcfm_menu .menu_group,
#wcfm_menu .wcfm_menu_item .menu-item-group {
  color: #084828 !important;
  opacity: 0.55;
  letter-spacing: 0.04em;
}

body.tbp-wcfm-ui #wcfm-main-contentainer,
body.tbp-wcfm-ui #wcfm-main-contentainer h1,
body.tbp-wcfm-ui #wcfm-main-contentainer h2,
body.tbp-wcfm-ui #wcfm-main-contentainer h3,
body.tbp-wcfm-ui #wcfm-main-contentainer label,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm-container {
  color: #084828;
}

#wcfm-main-contentainer input[type="checkbox"],
#wcfm-main-contentainer input[type="radio"] {
  accent-color: #084828;
}

#wcfm-main-contentainer .wcfm-notice,
#wcfm-main-contentainer .wcfm-message {
  border-radius: 14px;
}

#colorbox:has(#wcfm_vendor_approval_response_form) #cboxClose {
  background: #f4f7f5 !important;
}

#colorbox:has(#wcfm_vendor_approval_response_form) #cboxClose::before,
#colorbox:has(#wcfm_vendor_approval_response_form) #cboxClose::after {
  background: #084828 !important;
}

#wcfm_vendor_approval_response_form h2,
#wcfm_vendor_approval_response_form {
  color: #084828 !important;
}

#wcfm_vendor_approval_response_form #wcfm_vendor_rejection_reason,
#wcfm_vendor_approval_response_form .wcfm_popup_textarea {
  background: #f4f7f5 !important;
  border-color: #d5e0d8 !important;
  color: #084828 !important;
}

#wcfm_vendor_approval_response_form.tbp-vendor-approval--enhanced
  #wcfm_vendor_approval_response_button:hover:not(:disabled):not(.is-disabled) {
  background: #084828 !important;
  color: #ffffff !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #084828 !important;
  color: #ffffff !important;
}

/* Carrello vuoto: .woocommerce-info diventava una capsula troppo bassa */
body.woocommerce-cart .wc-empty-cart-message .woocommerce-info,
body.woocommerce-cart .woocommerce-info.message-wrapper {
  padding: 22px 28px !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 16px !important;
  max-width: 720px !important;
  margin: 16px auto !important;
  box-sizing: border-box !important;
}

body.registrazione-professionista .account-container h1 {
  text-align: center;
  font-weight: 400;
  font-size: 1.5em;
}

body.registrazione-professionista .woocommerce-form-register .button,
body.registrazione-professionista button[name="register"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

body.registrazione .account-container form #password_strength.short,
body.woocommerce-lost-password .account-container form #password_strength.short,
body.registrazione .account-container form #password_strength.bad,
body.woocommerce-lost-password .account-container form #password_strength.bad {
  color: #D0161A !important;
}

body.registrazione .account-container form #password_strength.strong,
body.woocommerce-lost-password .account-container form #password_strength.strong {
  color: #084828 !important;
}

.post-type-archive-esperienze .tbp-cat-icon:not(:has(img)) {
  display: none !important;
}

#wcfm-main-contentainer .wcfm_dashboard_stats_block a .icon,
#wcfm-main-contentainer .wcfm-container .wcfm_dash_stats .icon,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block a > span:first-child,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .wcfmfa,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .fa-dollar,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .fa-currency,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .fa-money,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .fa-money-bill-alt,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .fa-cubes,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .fa-cube,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .fa-cart-plus {
  background-color: transparent !important;
  color: transparent !important;
}

body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block a {
  border-color: transparent !important;
  color: #084828 !important;
}

body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block a:hover {
  border-color: transparent !important;
  box-shadow: 0 8px 24px -16px rgba(8, 72, 40, 0.28) !important;
}

body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block strong,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .woocommerce-Price-amount,
body.tbp-wcfm-ui #wcfm-main-contentainer .wcfm_dashboard_stats_block .woocommerce-Price-currencySymbol {
  color: #084828 !important;
}

body.tbp-wcfm-ui #wcfm_page_load,
body.tbp-wcfm-ui .wcfm-page-loader,
body.tbp-wcfm-ui #wcfm_menu .wcfm_menu_logo,
body.tbp-wcfm-ui .wcfm_dashboard_wc_status_data .fa-sort-amount-down,
body.tbp-wcfm-ui .wcfm_dashboard_latest_topic .fa-bullhorn,
body.tbp-wcfm-ui .wcfm_dashboard_enquiry .fa-question-circle-o {
  color: #084828 !important;
}

body.tbp-wcfm-ui #wcfm-main-contentainer .tbp-recensioni-wcfm-empty > .wcfmfa.fa-star {
  display: none !important;
}

body.tbp-wcfm-ui #wcfm-main-contentainer .tbp-recensioni-wcfm-empty__mark {
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 16px;
  object-fit: contain;
}
#wcfm-main-contentainer span.product-status-pending,
#wcfm-main-contentainer .wcpv-void-status,
#wcfm-main-contentainer .order-status-failed,
#wcfm-main-contentainer .wcfmmp-ledger-type-reverse-withdraw {
  background: #f4f7f5 !important;
  color: #084828 !important;
}

body.vendor-register #wcfm-main-contentainer,
body.page-vendor-register #wcfm-main-contentainer {
  max-width: 720px;
  margin: 24px auto 64px;
}

body.vendor-register #wcfm-main-contentainer .wcfm-container,
body.vendor-register .wcfm-content {
  background: #ffffff !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.vendor-register .wcfm-membership-wrapper {
  box-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
}

body.vendor-register #wcfm-main-contentainer .wcfm_submit_button,
body.vendor-register #wcfm-main-contentainer input[type="submit"] {
  background: #084828 !important;
  border: 0 !important;
  color: #ffffff !important;
  border-radius: var(--tbp-radius-control, 14px) !important;
  padding: 14px 36px !important;
}

/*
 * WCFM membership applies appearance:none to every checkbox and floats the
 * form. Without a :checked mark and a real <label for>, taps look dead.
 */
html body.vendor-register #wcfm-main-contentainer .tbp-registration-legal,
html body.page-vendor-register #wcfm-main-contentainer .tbp-registration-legal,
#wcfm_membership_registration_form .tbp-registration-legal {
  clear: both !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 16px 0 24px !important;
  position: relative !important;
  z-index: 8 !important;
  pointer-events: auto !important;
}

html body.vendor-register #wcfm-main-contentainer .tbp-registration-legal__item,
#wcfm_membership_registration_form .tbp-registration-legal__item {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  column-gap: 12px !important;
  align-items: start !important;
  width: 100% !important;
  float: none !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  position: relative !important;
  z-index: 9 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

html body.vendor-register #wcfm-main-contentainer input.tbp-registration-legal__input[type="checkbox"],
#wcfm_membership_registration_form input.tbp-registration-legal__input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-block !important;
  float: none !important;
  clear: none !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  border: 2px solid #084828 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  accent-color: #084828 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 10 !important;
  cursor: pointer !important;
}

html body.vendor-register #wcfm-main-contentainer input.tbp-registration-legal__input[type="checkbox"]:checked,
#wcfm_membership_registration_form input.tbp-registration-legal__input[type="checkbox"]:checked {
  background: #084828 !important;
  border-color: #084828 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.2' d='M3 8.2 6.4 12 13 4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
}

html body.vendor-register #wcfm-main-contentainer .tbp-registration-legal__label,
#wcfm_membership_registration_form .tbp-registration-legal__label {
  display: block !important;
  color: #084828 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

@media (max-width: 849px) {
  html body.vendor-register.tbp-has-app-bar #wcfm-main-contentainer,
  html body.page-vendor-register.tbp-has-app-bar #wcfm-main-contentainer {
    margin-bottom: 0 !important;
    padding-bottom: calc(var(--tbp-app-bar-h, 118px) + 72px) !important;
  }

  html body.vendor-register #wcfm-main-contentainer .tbp-registration-legal__item,
  #wcfm_membership_registration_form .tbp-registration-legal__item {
    scroll-margin-bottom: calc(var(--tbp-app-bar-h, 118px) + 24px);
    padding: 6px 0 !important;
  }

  html body.vendor-register #wcfm-main-contentainer .tbp-registration-legal__label,
  #wcfm_membership_registration_form .tbp-registration-legal__label {
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > nav ul li a {
    white-space: nowrap;
  }

  #wcfm-main-contentainer .tbp-esperienze-steps-nav__btn {
    min-height: 44px;
  }

  body.woocommerce-cart .wc-empty-cart-message .woocommerce-info,
  body.woocommerce-cart .woocommerce-info.message-wrapper {
    margin-inline: 16px !important;
  }

  #masthead .mobile-nav button[data-open="#main-menu"] {
    background: #084828 !important;
    color: #ffffff !important;
  }
  #masthead button i,
  #masthead button i:before,
  #masthead .mobile-nav .icon-menu,
  #masthead .mobile-nav .icon-menu:before {
    color: #ffffff !important;
  }

  #logo img,
  #logo a img,
  .header-wrapper.stuck #masthead #logo img,
  .header-main #logo img {
    width: var(--tbp-header-brand-mark, 72px) !important;
    height: var(--tbp-header-brand-mark, 72px) !important;
    max-width: var(--tbp-header-brand-mark, 72px) !important;
    max-height: var(--tbp-header-brand-mark, 72px) !important;
    object-fit: contain !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    content: none !important;
  }

  #masthead .header-inner {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    position: relative !important;
  }
  html body .tbp-header-back {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
  html body .tbp-header-back svg {
    display: none !important;
  }
  html body #masthead .mobile-nav button[data-open="#main-menu"] {
    display: inline-flex !important;
  }
  #masthead .tbp-wordmark,
  #logo .tbp-wordmark {
    font-size: 1.35rem !important;
  }
  #masthead .header-inner {
    padding-right: 0 !important;
    justify-content: flex-end !important;
  }
  #masthead .header-inner.medium-logo-center #logo,
  #masthead #logo,
  #logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    order: 1 !important;
    flex: 0 0 auto !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    width: auto !important;
    max-width: calc(100vw - 88px) !important;
  }
  #masthead .show-for-medium.flex-left {
    display: none !important;
  }
  #masthead .show-for-medium.flex-right,
  #masthead .mobile-nav.nav-right {
    order: 9 !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    margin-right: 8px !important;
    width: auto !important;
    padding-right: 0 !important;
  }

  .off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html:first-child,
  .off-canvas-center .sidebar-menu .html:first-child {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    position: relative !important;
    width: 100% !important;
  }
  .off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html:first-child img:not(.tbp-lava-icon),
  .off-canvas-center .sidebar-menu .html:first-child img:not(.tbp-lava-icon) {
    height: var(--tbp-drawer-brand, 80px) !important;
    width: var(--tbp-drawer-brand, 80px) !important;
    max-height: var(--tbp-drawer-brand, 80px) !important;
    max-width: var(--tbp-drawer-brand, 80px) !important;
    object-fit: contain !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    content: url("../img/pwa/pwa-512x512.png") !important;
  }
  .off-canvas-center .tbp-wordmark,
  .mfp-content .tbp-wordmark {
    font-size: var(--tbp-drawer-wordmark, 2.4rem) !important;
  }
  .off-canvas-center .tbp-wordmark__tobe {
    color: #084828 !important;
    -webkit-text-fill-color: #084828 !important;
  }
  .off-canvas-center .nav-vertical > li > a,
  .off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html .login-registrazione a,
  .off-canvas-center .login-registrazione a {
    color: #084828 !important;
  }
  .off-canvas-center .nav-vertical > li > a:hover,
  .off-canvas-center .nav-vertical > li.current_page_item > a {
    color: #D0161A !important;
  }
  .off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html .login-registrazione a.login,
  .off-canvas-center .login-registrazione a.login {
    color: #084828 !important;
    background: #ffffff !important;
    border: 1px solid rgba(8, 72, 40, 0.16) !important;
    border-radius: var(--tbp-drawer-radius) !important;
    padding: var(--tbp-drawer-row-y) 16px !important;
    font-size: var(--tbp-drawer-type) !important;
    display: flex !important;
    justify-content: flex-start !important;
  }
  .off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html .login-registrazione a.registrazione,
  .off-canvas-center .login-registrazione a.registrazione {
    color: var(--tbp-register-ink, #ffffff) !important;
    background: var(--tbp-register-cta, #D0161A) !important;
    border: 1px solid var(--tbp-register-border, #D0161A) !important;
    border-radius: var(--tbp-drawer-radius) !important;
    padding: var(--tbp-drawer-row-y) 16px !important;
    font-size: var(--tbp-drawer-type) !important;
    display: flex !important;
    justify-content: flex-start !important;
  }

  /* Header logged-out: testo bianco, non verde su verde. */
  #masthead .login-registrazione a.login {
    color: #ffffff !important;
  }
  #masthead .login-registrazione a.login {
    background: #084828 !important;
  }
  #masthead .login-registrazione a.registrazione {
    color: var(--tbp-register-ink, #ffffff) !important;
    background: var(--tbp-register-cta, #D0161A) !important;
  }

  /*
   * Card Impara / Condividi: l'altezza vera è il padding-top 650px
   * messo da UX Builder su #banner-…; height non serve a niente.
   * Forma originale = raggio 41px (style.css), il rebrand la squadrava.
   */
  .home .card .banner.show-for-small,
  .home .card .show-for-small.banner,
  .home .card[id] .banner,
  .home .card .banner[id] {
    padding-top: 420px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .home .card,
  .home .card .banner,
  .home .card .card-front,
  .home .card .card-back {
    border-radius: 41px !important;
    overflow: hidden !important;
  }
  .home .row.fade-in-section > .col {
    height: auto !important;
    min-height: 0 !important;
  }
  .home .row.fade-in-section {
    height: auto !important;
  }

  /* Proponi / Contattaci: pill piccole, non lastre rosse a tutta larghezza. */
  .home .professionista .stack,
  .home .professionista .stack.stack-row {
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }
  .home .professionista .bottone,
  .home .professionista a.button,
  .home .professionista a.bottone {
    width: auto !important;
    max-width: 260px !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 12px 22px !important;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 4px !important;
  }
}

@media (max-width: 394px) {
  #masthead #logo img,
  .header-wrapper.stuck #masthead #logo img,
  .header-main #logo img {
    width: 128px !important;
    height: 128px !important;
    max-height: 128px !important;
    max-width: 128px !important;
  }
}

footer .logo:not(.partner-tbp):not(.partner-tile):not(.partner-stareg) img,
footer .logo:not(.partner-tbp):not(.partner-tile):not(.partner-stareg) .img-inner img,
.footer .logo:not(.partner-tbp):not(.partner-tile):not(.partner-stareg) img {
  width: 84px !important;
  height: 84px !important;
  max-width: 84px !important;
  max-height: 84px !important;
  object-fit: contain !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}
.partner-inline-lockup .partner-tbp,
.partner-inline-lockup .partner-tile {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/*
 * Non toccare altezza/keyframe del carosello: è un ventaglio 3D
 * pensato per 600–780px. overflow-x:hidden da solo lascia uscire
 * le slide in Y sotto il blocco; clippare entrambi gli assi.
 * Marquee TOBEPOLO nascosta da telefono.
 */
@media (max-width: 849px) {
  .home .slider-cerchio,
  .home .slider-cerchio > .container {
    overflow: hidden !important;
    contain: none !important;
    clip-path: none !important;
  }

  .home .slider-cerchio .slide {
    -webkit-animation-play-state: running !important;
    animation-play-state: running !important;
  }
}
@media (max-width: 549px) {
  .home .slider-cerchio .slide-1 { -webkit-animation-name: rotate-slide-mobile-1 !important; animation-name: rotate-slide-mobile-1 !important; }
  .home .slider-cerchio .slide-2 { -webkit-animation-name: rotate-slide-mobile-2 !important; animation-name: rotate-slide-mobile-2 !important; }
  .home .slider-cerchio .slide-3 { -webkit-animation-name: rotate-slide-mobile-3 !important; animation-name: rotate-slide-mobile-3 !important; }
  .home .slider-cerchio .slide-4 { -webkit-animation-name: rotate-slide-mobile-4 !important; animation-name: rotate-slide-mobile-4 !important; }
  .home .slider-cerchio .slide-5 { -webkit-animation-name: rotate-slide-mobile-5 !important; animation-name: rotate-slide-mobile-5 !important; }
  .home .slider-cerchio .slide-6 { -webkit-animation-name: rotate-slide-mobile-6 !important; animation-name: rotate-slide-mobile-6 !important; }
  .home .slider-cerchio .slide-7 { -webkit-animation-name: rotate-slide-mobile-7 !important; animation-name: rotate-slide-mobile-7 !important; }
  .home .slider-cerchio .slide-8 { -webkit-animation-name: rotate-slide-mobile-8 !important; animation-name: rotate-slide-mobile-8 !important; }
  .home .slider-cerchio .slide-9 { -webkit-animation-name: rotate-slide-mobile-9 !important; animation-name: rotate-slide-mobile-9 !important; }
  .home .slider-cerchio .slide-10 { -webkit-animation-name: rotate-slide-mobile-10 !important; animation-name: rotate-slide-mobile-10 !important; }
}

@media (max-width: 394px) {
  .off-canvas-center .html:first-child img:not(.tbp-lava-icon) {
    max-height: var(--tbp-drawer-brand, 80px) !important;
    height: var(--tbp-drawer-brand, 80px) !important;
    width: var(--tbp-drawer-brand, 80px) !important;
  }
}

/* ------------------------------------------------------------------
 * Pixel / micro-spacing pass (shared tokens, not one-off per screen)
 * ------------------------------------------------------------------ */
:root {
  --tbp-s4-green: #084828;
  --tbp-s4-red: #D0161A;
  --tbp-ivory: #F7F4ED;
  --tbp-surface-sage: #F4F7F5;
  --tbp-s4-surface: var(--tbp-surface-sage);
  --tbp-s4-radius-pill: 14px;
  --tbp-s4-radius-card: 22px;
  --tbp-s4-control-h: 52px;
}

#masthead .header-inner,
#masthead .flex-row {
  align-items: center !important;
}

#masthead .header-nav-main > ul > li > a,
#masthead .header-button a,
#masthead .header-account a,
#masthead .header-nav .nav > li > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px;
}

/* Home hero: testo e CTA su fondo bianco, non ereditare bianco-su-banner. */
.home #main .section:not(.has-bg) .text :where(h1, h2, h3, h4, p, strong, span, a),
.home #main .section:first-child .text :where(h1, h2, h3, h4, p, strong, span) {
  color: var(--tbp-s4-green) !important;
  -webkit-text-fill-color: var(--tbp-s4-green) !important;
}

/* Card Impara / Condividi: il blocco sopra colora di verde anche questi titoli su foto. */
.home #main .card .banner .text :where(h1, h2, h3, p, strong, span),
.home #main .card .card-front.banner .text :where(h1, h2, h3, p, strong, span) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

.home #main .section:first-child a.button,
.home #main .section:first-child .button,
.home .hero a.button,
.home .hero .button {
  min-height: 48px !important;
  padding: 12px 28px !important;
  border-radius: var(--tbp-s4-radius-pill) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
}

/* Archivio: pillole categoria come i campi Dove (bianco, raggio 12). */
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill-inner {
  background: #ffffff !important;
  border: 1px solid rgba(8, 72, 40, 0.16) !important;
  border-radius: 12px !important;
}

.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill-inner .tbp-cat-name,
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill-inner .tbp-cat-count,
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill-inner .tbp-cat-text {
  color: var(--tbp-s4-green) !important;
}

.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-checkbox:checked + .tbp-cat-pill-inner,
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill.is-active .tbp-cat-pill-inner,
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill:hover .tbp-cat-pill-inner {
  background: #ffffff !important;
  border-color: #084828 !important;
  box-shadow: 0 2px 10px rgba(8, 72, 40, 0.1) !important;
}

.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-checkbox:checked + .tbp-cat-pill-inner :where(.tbp-cat-name, .tbp-cat-count, .tbp-cat-text),
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill.is-active .tbp-cat-pill-inner :where(.tbp-cat-name, .tbp-cat-count, .tbp-cat-text),
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill:hover .tbp-cat-pill-inner :where(.tbp-cat-name, .tbp-cat-count, .tbp-cat-text) {
  color: #084828 !important;
}

.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-checkbox:checked + .tbp-cat-pill-inner :where(.tbp-cat-name, .tbp-cat-count, .tbp-cat-text),
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill.is-active .tbp-cat-pill-inner :where(.tbp-cat-name, .tbp-cat-count, .tbp-cat-text),
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .tbp-cat-pill:hover .tbp-cat-pill-inner :where(.tbp-cat-name, .tbp-cat-count, .tbp-cat-text) {
  color: #084828 !important;
}

.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .splide__track:after,
.tbp-filter-wrapper form#tbp-filter-form .tbp-field.categorie .splide__track:before {
  background: linear-gradient(-90deg, #ffffff 0%, rgba(255, 255, 255, 0.85) 22%, transparent 100%) !important;
}

.tbp-filter-wrapper form#tbp-filter-form .luogo-data {
  border-radius: var(--tbp-s4-radius-pill) !important;
  align-items: stretch !important;
}

.tbp-filter-wrapper form#tbp-filter-form .luogo-data > button[type="submit"],
.tbp-filter-wrapper form#tbp-filter-form .tbp-submit-btn {
  border-radius: var(--tbp-s4-radius-pill) !important;
  background: var(--tbp-s4-green) !important;
  color: #ffffff !important;
  min-height: 52px !important;
  height: auto !important;
  padding: 12px 24px !important;
  align-self: center !important;
}

.tbp-filter-wrapper form#tbp-filter-form .luogo-data > button[type="submit"]:hover,
.tbp-filter-wrapper form#tbp-filter-form .tbp-submit-btn:hover {
  background: #06361e !important;
  color: #ffffff !important;
}

/* Login / registrazione: stesso ritmo input e CTA. */
body.login .account-container form:not(#adminbarsearch) input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
body.registrazione .account-container form:not(#adminbarsearch) input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
body.registrazione-professionista .account-container form:not(#adminbarsearch) input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
body.woocommerce-lost-password .account-container form:not(#adminbarsearch) input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]) {
  min-height: var(--tbp-s4-control-h) !important;
  height: var(--tbp-s4-control-h) !important;
  padding: 14px 20px !important;
  border-radius: var(--tbp-s4-radius-pill) !important;
  border: 1px solid #C9D2CC !important;
  box-sizing: border-box !important;
}

body.login .account-container form button[type="submit"],
body.registrazione .account-container form button[type="submit"],
body.registrazione-professionista .account-container form button[type="submit"],
body.woocommerce-lost-password .account-container form button[type="submit"] {
  min-height: 48px !important;
  height: 48px !important;
  padding: 12px 32px !important;
  width: auto !important;
  min-width: 180px !important;
  border-radius: var(--tbp-s4-radius-pill) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
}

body.login .account-container .logo,
body.registrazione .account-container .logo,
body.registrazione-professionista .account-container .logo {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 0 !important;
}

body.login .account-container .tbp-wordmark,
body.registrazione .account-container .tbp-wordmark,
body.registrazione-professionista .account-container .tbp-wordmark {
  font-family: Oxanium, sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.7rem !important;
}

body.login .account-container h1:not(.tbp-auth-title--gold),
body.registrazione .account-container h1:not(.tbp-auth-title--gold) {
  margin: 0 0 20px !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--tbp-s4-green) !important;
}

body.login .account-container h1.tbp-auth-title--gold,
body.registrazione .account-container h1.tbp-auth-title--gold,
body.registrazione-professionista .account-container h1.tbp-auth-title--gold,
body.registrazione-comune .account-container h1.tbp-auth-title--gold {
  margin: 22px auto 16px !important;
  color: var(--tbp-gold, #c9a227) !important;
  -webkit-text-fill-color: var(--tbp-gold, #c9a227) !important;
}

body.login .tbp-account-claim,
body.registrazione .tbp-account-claim,
body.registrazione-professionista .tbp-account-claim {
  display: block !important;
  max-width: 330px !important;
  margin: 4px auto 0 !important;
  font-size: 0.83rem !important;
  font-weight: 520 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: rgba(8, 72, 40, 0.78) !important;
}

body.login .tbp-social-legal,
body.registrazione .tbp-social-legal,
body.registrazione-professionista .tbp-social-legal {
  max-width: 360px !important;
  margin: 12px auto 18px !important;
  color: rgba(8, 72, 40, 0.78) !important;
  font-size: 0.83rem !important;
  font-weight: 520 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  text-align: center !important;
  text-transform: none !important;
}

body.login .account-container a.tbp-auth-link,
body.registrazione .account-container a.tbp-auth-link,
body.registrazione-professionista .account-container a.tbp-auth-link,
body.login .tbp-social-legal a,
body.registrazione .tbp-social-legal a {
  color: #D0161A !important;
  -webkit-text-fill-color: #D0161A !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background-image: none !important;
}

body.login .account-container a.tbp-auth-link::before,
body.login .account-container a.tbp-auth-link::after,
body.registrazione .account-container a.tbp-auth-link::before,
body.registrazione .account-container a.tbp-auth-link::after,
body.login .tbp-social-legal a::before,
body.login .tbp-social-legal a::after,
body.registrazione .tbp-social-legal a::before,
body.registrazione .tbp-social-legal a::after {
  content: none !important;
  display: none !important;
}

body.login .lost_password {
  padding-left: 8px !important;
  margin: 8px 0 16px !important;
}

.tbp-account-shortcuts {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.tbp-account-shortcuts a {
  text-decoration: none;
}
.tbp-account-shortcuts .tbp-account-shortcut--admin,
.tbp-account-shortcuts .tbp-account-shortcut--vendor {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 14px;
  border-radius: var(--tbp-radius-control, 14px);
  background: #084828;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}
.tbp-account-shortcuts .icona-utente svg {
  display: none;
}

/* Drawer: Backoffice / Profilo come le altre voci, non pillole header. */
.off-canvas-center .tbp-account-shortcuts {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: 100% !important;
  margin-top: 4px !important;
  padding-top: 8px !important;
  border-top: 2px dashed #084828 !important;
}
.off-canvas-center .tbp-account-shortcuts a,
.off-canvas-center .tbp-account-shortcuts .tbp-account-shortcut--admin,
.off-canvas-center .tbp-account-shortcuts .tbp-account-shortcut--vendor,
.off-canvas-center .tbp-account-shortcuts .icona-utente {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #084828 !important;
  font-size: 2.9em !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  text-align: left !important;
  letter-spacing: normal !important;
}
.off-canvas-center .tbp-account-shortcuts .tbp-nav-lava {
  width: var(--tbp-drawer-icon, 34px) !important;
  height: var(--tbp-drawer-icon, 34px) !important;
  max-width: var(--tbp-drawer-icon, 34px) !important;
  max-height: var(--tbp-drawer-icon, 34px) !important;
  object-fit: contain !important;
  background: transparent !important;
  padding: 0 !important;
  content: none !important;
  flex-shrink: 0;
}
#masthead .tbp-account-shortcuts .tbp-nav-lava,
#masthead .tbp-account-shortcut--logout {
  display: none !important;
}
#masthead .tbp-account-shortcut--wp,
#masthead .tbp-account-shortcut--office,
#masthead .tbp-account-shortcut--admin {
  display: none !important;
}
.off-canvas-center .tbp-account-shortcuts a:hover,
.off-canvas-center .tbp-account-shortcuts .icona-utente:hover {
  color: #D0161A !important;
  background: transparent !important;
}
.off-canvas-center .tbp-account-shortcuts .icona-utente span {
  display: inline !important;
}
@media only screen and (max-width: 394px) {
  .off-canvas-center .tbp-account-shortcuts a,
  .off-canvas-center .tbp-account-shortcuts .tbp-account-shortcut--admin,
  .off-canvas-center .tbp-account-shortcuts .icona-utente {
    font-size: 2.4em !important;
  }
}

/* Destinazioni menu: colonna unica, Lava nuda su fondo trasparente. */
.off-canvas-center.mfp-bg.mfp-ready,
.mfp-bg.main-menu-overlay,
.off-canvas-center .mfp-content,
.off-canvas-center #main-menu,
.off-canvas-center .sidebar-menu {
  background: transparent !important;
}
.off-canvas-center .sidebar-menu {
  text-align: left !important;
}
.off-canvas-center .nav-vertical {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: left !important;
}
.off-canvas-center .nav-vertical > li {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.off-canvas-center .nav-vertical > li > a,
#main-menu .nav-vertical > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  text-align: left !important;
  line-height: 1.05 !important;
  color: #084828 !important;
}
.off-canvas-center .nav-vertical > li > a:hover,
#main-menu .nav-vertical > li > a:hover {
  color: #084828 !important;
}
.off-canvas-center .nav-vertical > li > a .tbp-nav-lava,
#main-menu .nav-vertical > li > a .tbp-nav-lava {
  width: var(--tbp-drawer-icon, 34px) !important;
  height: var(--tbp-drawer-icon, 34px) !important;
  max-width: var(--tbp-drawer-icon, 34px) !important;
  max-height: var(--tbp-drawer-icon, 34px) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  border-radius: 0 !important;
  content: none !important;
  flex-shrink: 0;
}
.off-canvas-center .nav-vertical > li > a .tbp-nav-lava-label,
#main-menu .nav-vertical > li > a .tbp-nav-lava-label {
  display: block;
  flex: 1 1 auto;
  text-align: left;
  min-width: 0;
}
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html:not(:first-child) {
  width: 100% !important;
  max-width: none !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border-top: none !important;
  text-align: left !important;
}
#masthead .header-nav > li.menu-item > a {
  gap: 0;
}
#masthead .header-nav > li.menu-item > a .tbp-nav-lava {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  border-radius: 0 !important;
  content: none !important;
  flex-shrink: 0;
}

footer#footer,
#footer,
.footer-wrapper {
  padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
}

/* ------------------------------------------------------------------
 * Mobile drawer — fullscreen white, optical Lava, route-aware pill
 * ------------------------------------------------------------------ */
.mfp-bg.off-canvas-center,
.mfp-wrap.off-canvas-center,
.off-canvas-center.mfp-wrap,
.off-canvas-center {
  --tbp-drawer-gutter: 12px;
  --tbp-drawer-header: 140px;
  --tbp-drawer-icon: 80px;
  --tbp-drawer-brand: 128px;
  --tbp-drawer-wordmark: 2.2rem;
  --tbp-drawer-gap: 6px;
  --tbp-drawer-row-y: 0px;
  --tbp-drawer-type: 1.15rem;
  --tbp-drawer-radius: 16px;
}

.mfp-bg.off-canvas-center,
.mfp-wrap.off-canvas-center,
.off-canvas-center.mfp-wrap,
.off-canvas-center .mfp-container,
.off-canvas-center .mfp-content,
.off-canvas-center .mfp-content > #main-menu,
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu,
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.mfp-bg.off-canvas-center,
.mfp-wrap.off-canvas-center,
.off-canvas-center.mfp-wrap {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100% !important;
  height: 100dvh !important;
}
.off-canvas-center .mfp-container {
  padding: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.off-canvas-center.mfp-bg,
.off-canvas-center.mfp-bg.mfp-ready,
.mfp-bg.main-menu-overlay {
  background: #ffffff !important;
  opacity: 1 !important;
}
.off-canvas-center .mfp-content,
.off-canvas-center #main-menu,
.off-canvas-center .sidebar-menu,
.off-canvas-center .sidebar-menu > ul {
  background: #ffffff !important;
}
.off-canvas-center .mfp-content {
  padding: 0 !important;
  height: 100% !important;
  max-height: 100dvh !important;
  min-height: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  background-color: #ffffff !important;
  background-image: none !important;
}
.off-canvas-center .mfp-content > #main-menu,
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu,
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul,
.off-canvas-center .nav-vertical {
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
}
.off-canvas-center .sidebar-menu {
  padding: 0 !important;
  text-align: left !important;
}

/* Header drawer: stesso lockup orizzontale dell’header */
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html:first-child,
.off-canvas-center .sidebar-menu .html:first-child,
.off-canvas-center .html.html_topbar_left {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  float: none !important;
  z-index: 4;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: var(--tbp-header-brand-gap, 8px) !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  visibility: visible !important;
  padding: env(safe-area-inset-top, 0px) calc(var(--tbp-drawer-gutter) + 52px) 12px var(--tbp-drawer-gutter) !important;
  min-height: calc(var(--tbp-header-brand-mark, 72px) + 8px + env(safe-area-inset-top, 0px)) !important;
  height: auto !important;
}
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html:first-child img:not(.tbp-lava-icon),
.off-canvas-center .sidebar-menu .html:first-child img:not(.tbp-lava-icon) {
  width: var(--tbp-header-brand-mark, 72px) !important;
  height: var(--tbp-header-brand-mark, 72px) !important;
  max-width: var(--tbp-header-brand-mark, 72px) !important;
  max-height: var(--tbp-header-brand-mark, 72px) !important;
  object-fit: contain !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  content: none !important;
  flex: 0 0 var(--tbp-header-brand-mark, 72px) !important;
  flex-shrink: 0;
  order: 1 !important;
}
.off-canvas-center .html:first-child .tbp-wordmark,
.mfp-content .html:first-child .tbp-wordmark {
  order: 2 !important;
}
.off-canvas-center .tbp-wordmark,
.mfp-content .tbp-wordmark,
.off-canvas-center .tbp-wordmark--header {
  font-size: var(--tbp-header-wordmark-size, 1.2rem) !important;
  color: #084828 !important;
}
.off-canvas-center .tbp-wordmark__tobe,
.off-canvas-center .tbp-wordmark--on-dark .tbp-wordmark__tobe {
  color: #084828 !important;
  -webkit-text-fill-color: #084828 !important;
}
.off-canvas-center .tbp-wordmark__polo {
  color: #D0161A !important;
  -webkit-text-fill-color: #D0161A !important;
}

.off-canvas-center .tbp-wordmark__polo::after,
.off-canvas-center .tbp-wordmark--on-dark .tbp-wordmark__polo::after {
  background: #084828;
}

.off-canvas-center .mfp-close,
.off-canvas-center button.mfp-close,
.mfp-wrap.off-canvas-center .mfp-close {
  top: calc(env(safe-area-inset-top, 0px) + (var(--tbp-drawer-header, 80px) - 48px) / 2) !important;
  right: 12px !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #084828 !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 12px !important;
  opacity: 1 !important;
  z-index: 20;
  padding: 0 !important;
  margin: 0 !important;
}
.off-canvas-center .mfp-close svg,
.off-canvas-center .mfp-close i,
.off-canvas-center .mfp-close:before,
.off-canvas-center .mfp-close:after {
  color: #084828 !important;
  fill: #084828 !important;
  stroke: #084828 !important;
  font-size: 2rem !important;
  width: 32px !important;
  height: 32px !important;
}

/* Body: ul IS nav-vertical — pad the rows, never the header */
.off-canvas-center .nav-vertical {
  flex: none !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.off-canvas-center .nav-vertical > li.menu-item,
.off-canvas-center .nav-vertical > .menu-item {
  max-width: none !important;
  width: auto !important;
  margin: 0 var(--tbp-drawer-gutter) 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.off-canvas-center .nav-vertical > .html:first-child + li,
.off-canvas-center .nav-vertical > .html:first-child + .menu-item {
  margin-top: 6px !important;
}
.off-canvas-center .nav-vertical > li > a,
#main-menu .nav-vertical > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: var(--tbp-drawer-gap) !important;
  width: 100% !important;
  min-height: var(--tbp-drawer-icon, 88px) !important;
  padding: var(--tbp-drawer-row-y) 10px !important;
  margin: 0 !important;
  text-align: left !important;
  line-height: 1.15 !important;
  font-family: Manrope, "DM Sans", sans-serif !important;
  font-size: var(--tbp-drawer-type) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: #084828 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--tbp-drawer-radius) !important;
  text-transform: none !important;
  box-sizing: border-box !important;
}
.off-canvas-center .nav-vertical > li > a:hover {
  color: #084828 !important;
  background: rgba(255, 255, 255, 0.55) !important;
  border-color: transparent !important;
  box-shadow: none;
}
.off-canvas-center .nav-vertical > li.current_page_item > a,
.off-canvas-center .nav-vertical > li.current-menu-item > a,
.off-canvas-center .nav-vertical > li.active > a,
.off-canvas-center .nav-vertical > li.current-menu-parent > a,
.off-canvas-center .nav-vertical > li.current-menu-ancestor > a,
#main-menu .nav-vertical > li.current_page_item > a,
#main-menu .nav-vertical > li.current-menu-item > a,
#main-menu .nav-vertical > li.active > a {
  color: #084828 !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.off-canvas-center .nav-vertical > li.tbp-drawer-current > a,
.off-canvas-center #main-menu .nav-vertical > li.tbp-drawer-current > a,
#main-menu .nav-vertical > li.tbp-drawer-current > a,
.off-canvas-center .tbp-account-shortcuts a.tbp-drawer-current {
  color: #084828 !important;
  background: #f4f7f5 !important;
  border-color: rgba(8, 72, 40, 0.08) !important;
  box-shadow: 0 4px 16px rgba(8, 72, 40, 0.06);
}
.off-canvas-center .nav-vertical > li.tbp-drawer-impara > a,
.off-canvas-center .nav-vertical > li.tbp-drawer-insegna > a,
.off-canvas-center .nav-vertical > li.tbp-drawer-colombo > a {
  min-height: 80px !important;
}
.off-canvas-center .nav-vertical > li.tbp-drawer-colombo > a .tbp-nav-lava {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  min-height: 60px !important;
  max-width: 60px !important;
  max-height: 60px !important;
  flex-basis: 60px !important;
  transform: none !important;
}
.off-canvas-center .nav-vertical > li > a .tbp-nav-lava,
#main-menu .nav-vertical > li > a .tbp-nav-lava,
.off-canvas-center .tbp-account-shortcuts .tbp-nav-lava,
.off-canvas-center .tbp-account-shortcuts a img,
.off-canvas-center .tbp-account-shortcuts img.tbp-lava-icon,
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html .tbp-account-shortcuts img,
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html img.tbp-lava-icon,
.off-canvas-center img.tbp-lava-icon,
.off-canvas-center .nav-vertical > li > a .tbp-navigation-compass,
.off-canvas-center .nav-vertical > li > a .tbp-navigation-compass svg {
  display: block !important;
  width: var(--tbp-drawer-icon) !important;
  height: var(--tbp-drawer-icon) !important;
  min-width: var(--tbp-drawer-icon) !important;
  min-height: var(--tbp-drawer-icon) !important;
  max-width: var(--tbp-drawer-icon) !important;
  max-height: var(--tbp-drawer-icon) !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  border-radius: 0 !important;
  filter: none !important;
  content: none !important;
  flex-shrink: 0;
}
.off-canvas-center .nav-vertical > li > a .tbp-nav-lava-label,
#main-menu .nav-vertical > li > a .tbp-nav-lava-label {
  display: block;
  flex: 1 1 auto;
  text-align: left;
  min-width: 0;
}

.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html:not(:first-child),
.off-canvas-center .nav-vertical > .html:not(:first-child) {
  width: auto !important;
  max-width: none !important;
  margin: 4px var(--tbp-drawer-gutter) 0 !important;
  padding: 4px 0 0 !important;
  flex: 0 0 auto !important;
  border-top: 1px solid rgba(8, 72, 40, 0.12) !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
.off-canvas-center .tbp-account-shortcuts {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
}
.off-canvas-center .tbp-account-shortcuts a,
.off-canvas-center .tbp-account-shortcuts .tbp-account-shortcut--admin,
.off-canvas-center .tbp-account-shortcuts .tbp-account-shortcut--vendor,
.off-canvas-center .tbp-account-shortcuts .icona-utente {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 88px !important;
  height: auto !important;
  padding: 0 8px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--tbp-drawer-radius) !important;
  color: #084828 !important;
  font-family: Manrope, "DM Sans", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-align: left !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  box-sizing: border-box !important;
}
.off-canvas-center .tbp-account-shortcuts a:hover,
.off-canvas-center .tbp-account-shortcuts .icona-utente:hover {
  color: #084828 !important;
  background: rgba(255, 255, 255, 0.55) !important;
  border-color: transparent !important;
}
.off-canvas-center .tbp-account-shortcuts .icona-utente span {
  display: inline !important;
}
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html .login-registrazione {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  width: auto !important;
  max-width: 240px !important;
}
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html .login-registrazione a,
.off-canvas-center .login-registrazione a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-height: 72px !important;
  width: auto !important;
  max-width: 240px !important;
  padding: 2px 14px !important;
  font-family: Manrope, "DM Sans", sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  border-radius: var(--tbp-drawer-radius) !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
.off-canvas-center .login-registrazione a img,
.off-canvas-center .login-registrazione .tbp-nav-lava {
  width: 72px !important;
  height: 72px !important;
  max-width: 72px !important;
  max-height: 72px !important;
  flex-shrink: 0;
  filter: none !important;
}
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html .login-registrazione a.login,
.off-canvas-center .login-registrazione a.login {
  color: #084828 !important;
  background: #ffffff !important;
  border: 1px solid rgba(8, 72, 40, 0.16) !important;
}
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html .login-registrazione a.registrazione,
.off-canvas-center .login-registrazione a.registrazione {
  color: var(--tbp-register-ink, #ffffff) !important;
  background: var(--tbp-register-cta, #D0161A) !important;
  border: 1px solid var(--tbp-register-border, #D0161A) !important;
}

.off-canvas-center .header-block,
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .header-block,
.off-canvas-center .header-block .icone-social,
.off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .header-block .icone-social,
.off-canvas-center .icone-social,
.mobile-sidebar .header-block {
  display: none !important;
}

.off-canvas-center .mfp-close,
.off-canvas-center button.mfp-close,
.mfp-wrap.off-canvas-center .mfp-close {
  display: none !important;
}

.mfp-wrap.off-canvas-center .tbp-drawer-back,
.off-canvas-center .tbp-drawer-back {
  position: fixed !important;
  top: calc(env(safe-area-inset-top, 0px) + (var(--tbp-header-h, 148px) - var(--tbp-chrome-btn, 48px)) / 2) !important;
  right: 12px !important;
  left: auto !important;
  z-index: 100001 !important;
  width: var(--tbp-chrome-btn, 48px) !important;
  height: var(--tbp-chrome-btn, 48px) !important;
  min-width: var(--tbp-chrome-btn, 48px) !important;
  min-height: var(--tbp-chrome-btn, 48px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #D0161A !important;
  background-color: #D0161A !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.off-canvas-center .tbp-drawer-back:hover,
.off-canvas-center .tbp-drawer-back:focus-visible {
  background: #084828 !important;
  color: #ffffff !important;
}
.off-canvas-center .tbp-drawer-back svg {
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: #ffffff !important;
  display: block !important;
}
.off-canvas-center .nav-vertical > li > a::before,
.off-canvas-center .nav-vertical > li > a::after,
.off-canvas-center .tbp-account-shortcuts a::before,
.off-canvas-center .tbp-account-shortcuts a::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 360px) {
  .mfp-bg.off-canvas-center,
  .mfp-wrap.off-canvas-center,
  .off-canvas-center {
    --tbp-drawer-gutter: 10px;
    --tbp-drawer-icon: 80px;
    --tbp-drawer-brand: 128px;
    --tbp-drawer-wordmark: 2rem;
    --tbp-drawer-type: 1.15rem;
    --tbp-drawer-header: 140px;
  }
}

/* Barra mobile iOS 26 Liquid Glass. */
.tbp-app-bar,
.tbp-app-bar-veil {
  display: none;
}

@media (max-width: 849px) {
  :root {
    --tbp-app-bar-h: 100px;
    --tbp-app-bar-inset: 12px;
    --tbp-app-bar-side: 16px;
  }

  body.tbp-has-app-bar .tbp-app-bar-veil {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100001;
    height: calc(var(--tbp-app-bar-h) + var(--tbp-app-bar-inset) + env(safe-area-inset-bottom, 0px) + 72px);
    pointer-events: none;
    background: linear-gradient(to top, rgba(244, 247, 245, 0.82) 0%, rgba(244, 247, 245, 0.35) 55%, rgba(244, 247, 245, 0) 100%);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    -webkit-mask-image: none;
    mask-image: none;
  }

  body.tbp-has-app-bar {
    padding-bottom: calc(var(--tbp-app-bar-h) + var(--tbp-app-bar-inset) + env(safe-area-inset-bottom, 0px) + 16px);
  }

  body.tbp-has-app-bar .footer-wrapper {
    padding-bottom: 12px;
  }

  body.tbp-has-app-bar .tbp-app-bar {
    display: flex;
    position: fixed;
    left: var(--tbp-app-bar-side);
    right: var(--tbp-app-bar-side);
    bottom: calc(var(--tbp-app-bar-inset) + env(safe-area-inset-bottom, 0px));
    z-index: 100002;
    height: var(--tbp-app-bar-h);
    max-width: 430px;
    margin: 0 auto;
    padding: 8px 10px 10px;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    border-radius: 999px;
    background: transparent;
    box-sizing: border-box;
    isolation: isolate;
    overflow: visible;
  }

  body.tbp-has-app-bar .tbp-app-bar__item {
    padding: 2px 0 8px;
    gap: 2px;
    justify-content: center;
  }

  body.tbp-has-app-bar .tbp-app-bar__item--back {
    flex: 0.85 1 0;
  }

  body.tbp-has-app-bar .tbp-app-bar__label {
    margin-top: 0;
    position: relative;
    z-index: 1;
    font-size: 8px;
    font-weight: 650;
    letter-spacing: -0.02em;
    line-height: 1.1;
    max-width: 100%;
    width: 100%;
    text-align: center;
    overflow: visible;
  }

  body.tbp-has-app-bar .tbp-app-bar__lava,
  body.tbp-has-app-bar .tbp-app-bar img.tbp-lava-icon {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    margin: 0 !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
    filter: none !important;
  }

  body.tbp-has-app-bar .tbp-app-bar__icon--chrome {
    width: 80px !important;
    height: 80px !important;
    margin: 0 !important;
  }

  body.tbp-has-app-bar .tbp-app-bar__icon--chrome svg {
    width: 28px !important;
    height: 28px !important;
  }

  body.tbp-has-app-bar .tbp-app-bar__item--back .tbp-app-bar__icon--chrome {
    width: 44px !important;
    height: 44px !important;
    margin: 6px 0 0 !important;
    background: #D0161A !important;
    border-radius: 999px !important;
    color: #fff !important;
  }

  body.tbp-has-app-bar .tbp-app-bar__item--back .tbp-app-bar__icon--chrome svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #fff !important;
  }

  body.tbp-has-app-bar .tbp-app-bar__item--back .tbp-app-bar__label {
    color: #D0161A !important;
    margin-top: 2px !important;
  }

  body.tbp-has-app-bar .tbp-app-bar__material {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    pointer-events: none;
    overflow: hidden;
    clip-path: inset(0 round 999px);
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(8, 72, 40, 0.1);
    -webkit-backdrop-filter: blur(32px) saturate(200%);
    backdrop-filter: blur(32px) saturate(200%);
    box-shadow: 0 12px 40px -16px rgba(8, 72, 40, 0.35), 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  }

  .tbp-filter-wrapper form#tbp-filter-form .luogo-data {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
  }

  .tbp-filter-wrapper form#tbp-filter-form .luogo-data .tbp-field,
  .tbp-filter-wrapper form#tbp-filter-form .luogo-data .tbp-field:first-child,
  .tbp-filter-wrapper form#tbp-filter-form .luogo-data .tbp-field:nth-child(2) {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    grid-column: 1 !important;
  }

  .tbp-filter-wrapper form#tbp-filter-form .luogo-data > button[type="submit"] {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    left: auto !important;
    grid-column: 1 !important;
  }
}

html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-filter-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: calc(100% - 16px) !important;
  max-width: 720px !important;
  margin: 0 auto 6px !important;
  flex: 1 1 100% !important;
}
html body:not(.tbp-core-cerca) .tbp-filter-wrapper .tbp-filter-section__head {
  margin: 8px 6px 6px !important;
}
html body:not(.tbp-core-cerca) .tbp-filter-wrapper .tbp-filter-section:first-of-type .tbp-filter-section__head {
  margin-top: 2px !important;
}
html body:not(.tbp-core-cerca) .tbp-filter-wrapper .tbp-filter-section__title {
  margin: 0 !important;
  font-family: Manrope, "DM Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.25 !important;
  color: #084828 !important;
  white-space: normal !important;
}
html body:not(.tbp-core-cerca) .tbp-filter-wrapper .tbp-filter-section__lead,
html body .tbp-map-head .tbp-filter-section__lead {
  display: inline !important;
  margin: 0 0 0 0.35em !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "DM Sans", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 200 !important;
  font-style: italic !important;
  font-synthesis: weight style !important;
  letter-spacing: 0.01em !important;
  line-height: 1.25 !important;
  color: rgba(8, 72, 40, 0.58) !important;
  white-space: normal !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-filter-section .tbp-choice-pair,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-filter-section .tbp-choice-row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-dove-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 12px !important;
  background: rgba(244, 247, 245, 0.94) !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px -12px rgba(8, 72, 40, 0.22) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-dove-card .tbp-field,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-dove-card input {
  width: 100% !important;
  max-width: none !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-dove-card label:not(.screen-reader-text) {
  display: block !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #084828 !important;
  margin: 0 0 6px !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-dove-card input {
  min-height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(8, 72, 40, 0.16) !important;
  background: #fff !important;
  color: #084828 !important;
  padding: 10px 12px !important;
}

/* Esperienze: loghi come navbar, niente riquadri bianchi */
html body.post-type-archive-esperienze,
html body.post-type-archive-esperienze #wrapper,
html body.post-type-archive-esperienze .tbp-filter-wrapper {
  overflow-x: hidden !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper form#tbp-filter-form .tbp-primary-filters.vivo-online,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-filters,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-choice-pair {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 4px !important;
  width: calc(100% - 16px) !important;
  max-width: 720px !important;
  margin: 0 auto 10px !important;
  padding: 6px 4px !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #F4F7F5 !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px -12px rgba(8, 72, 40, 0.22) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-choice-row {
  display: flex !important;
  justify-content: center !important;
  gap: 4px !important;
  width: calc(100% - 16px) !important;
  max-width: 720px !important;
  margin: 0 auto 10px !important;
  padding: 6px 4px !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: rgba(244, 247, 245, 0.94) !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px -12px rgba(8, 72, 40, 0.22) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-choice-lens {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(8, 72, 40, 0.08) !important;
  box-shadow: 0 2px 10px rgba(8, 72, 40, 0.1) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  transition: transform 0.35s ease, width 0.35s ease, height 0.35s ease, opacity 0.2s ease !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-choice-lens.is-on {
  opacity: 1 !important;
}
html body .tbp-filter-wrapper .tbp-where-when,
html body .tbp-filter-wrapper form#tbp-filter-form .luogo-data {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  width: calc(100% - 16px) !important;
  max-width: 720px !important;
  margin: 8px auto 14px !important;
  padding: 12px 12px 14px !important;
  background: rgba(244, 247, 245, 0.94) !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px -12px rgba(8, 72, 40, 0.22) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
}
html body .tbp-filter-wrapper .tbp-where-when .tbp-field,
html body .tbp-filter-wrapper .tbp-where-when input {
  width: 100% !important;
  max-width: none !important;
}
html body .tbp-filter-wrapper .tbp-where-when label {
  display: block !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #084828 !important;
  margin: 0 0 6px !important;
}
html body .tbp-filter-wrapper .tbp-where-when input {
  min-height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(8, 72, 40, 0.16) !important;
  background: #fff !important;
  color: #084828 !important;
  padding: 10px 12px !important;
}
html body .tbp-filter-wrapper .tbp-filter-toolbar {
  display: block !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 0 !important;
  width: calc(100% - 16px) !important;
  max-width: 720px !important;
  margin: 8px auto 12px !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 6 !important;
  box-sizing: border-box !important;
}
html body .tbp-filter-wrapper .tbp-filter-toolbar .tbp-field.ordina,
html body .tbp-filter-wrapper .tbp-field.ordina {
  display: none !important;
}
html body .tbp-filter-wrapper .tbp-filter-toolbar .tbp-field.filtra,
html body .tbp-filter-wrapper .tbp-filter-toolbar .tbp-field.mappa {
  margin: 0 !important;
  flex: 1 1 auto !important;
}
html body .tbp-filter-wrapper .tbp-toggle-mappa-btn,
html body .tbp-filter-wrapper form#tbp-filter-form .tbp-toggle-mappa-btn {
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 14px !important;
  background: rgba(244, 247, 245, 0.94) !important;
  color: #084828 !important;
  -webkit-text-fill-color: #084828 !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  font-weight: 700 !important;
  padding: 10px 16px !important;
  box-shadow: 0 10px 28px -12px rgba(8, 72, 40, 0.22) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper form#tbp-filter-form .tbp-primary-chip,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .vivo-online .tbp-primary-chip {
  position: relative !important;
  z-index: 1 !important;
  flex: none !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 6px 8px 10px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  color: #084828 !important;
  box-shadow: none !important;
  gap: 0 !important;
  overflow: visible !important;
  transition: transform 0.35s ease, opacity 0.2s ease, filter 0.2s ease !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-choice-row .tbp-primary-chip {
  flex: 1 1 0 !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-choice-pair.is-picked .tbp-primary-chip:not(.active),
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-choice-row.is-picked .tbp-primary-chip:not(.active) {
  opacity: 0.32 !important;
  filter: grayscale(0.5) brightness(0.8);
  transform: scale(0.88) !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip.active,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .vivo-online .tbp-primary-chip.active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: scale(1.06) !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip:hover,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .vivo-online .tbp-primary-chip:hover {
  background: transparent !important;
  color: #084828 !important;
  box-shadow: none !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip.active:hover,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .vivo-online .tbp-primary-chip.active:hover {
  background: transparent !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip label,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip.active label,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip:hover label {
  color: #084828 !important;
  -webkit-text-fill-color: #084828 !important;
  opacity: 1 !important;
  display: block !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
  line-height: 1.1 !important;
  margin: -5px 0 0 !important;
  position: relative !important;
  z-index: 1 !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="online"] label {
  margin: -5px 0 0 !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip img.tbp-lava-icon,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip img {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  filter: none !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  transform-origin: center 42% !important;
  margin: 0 !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="online"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="live"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="crafts"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="experiences"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="family"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="group"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="trending"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="difficulty-easy"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="difficulty-intermediate"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="difficulty-hard"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="risk-low"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="risk-medium"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="risk-high"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="home"] img,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip[data-chip="vendor-store"] img {
  transform: none !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-level-chip img.tbp-lava-icon,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-level-chip img {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
}
html body .tbp-filter-wrapper .tbp-field.filtra #btn-popup-filtri {
  gap: 12px !important;
  position: relative !important;
  z-index: 5 !important;
  pointer-events: auto !important;
  width: 100% !important;
  min-height: 64px !important;
  background: #fff !important;
  color: #084828 !important;
  -webkit-text-fill-color: #084828 !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html body .tbp-filter-wrapper .tbp-field.filtra #btn-popup-filtri img.tbp-lava-icon {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  filter: none !important;
}
html body .tbp-filter-wrapper .tbp-field.categorie,
html body .tbp-filter-wrapper .tbp-field.categorie:focus-within {
  background: transparent !important;
}
html body .tbp-filter-wrapper .tbp-field.categorie .splide__track::before,
html body .tbp-filter-wrapper .tbp-field.categorie .splide__track::after,
html body .tbp-filter-wrapper .tbp-field.categorie .splide__track:before,
html body .tbp-filter-wrapper .tbp-field.categorie .splide__track:after {
  display: none !important;
  content: none !important;
  background: none !important;
  width: 0 !important;
  opacity: 0 !important;
}
html body .tbp-filter-wrapper .tbp-field.categorie .splide__track {
  -webkit-mask-image: none !important;
  mask-image: none !important;
  overflow: hidden !important;
}
html body .tbp-filter-wrapper .tbp-cat-icon {
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}
html body .tbp-filter-wrapper .tbp-cat-icon img {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  object-fit: contain !important;
  transform: none !important;
}
html body .tbp-filter-wrapper .tbp-cat-pill-inner {
  min-height: 0 !important;
  padding: 2px 10px 6px 2px !important;
  gap: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(8, 72, 40, 0.16) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
html body .tbp-filter-wrapper .tbp-cat-name {
  font-size: 0.85rem !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
  margin: -8px 0 0 !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-cats-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  padding: 18px 8px 16px !important;
  scrollbar-width: none !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-cat-chip {
  flex: 0 0 33.333% !important;
  max-width: 33.333% !important;
  scroll-snap-align: start !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-cat-chip img {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  transform: none !important;
  object-fit: contain !important;
}
html body .tbp-categories-carousel,
html body .tbp-cat-nav {
  display: none !important;
}
html body .tbp-cat-nav {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border: 1px solid rgba(8, 72, 40, 0.16) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #084828 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 16px rgba(8, 72, 40, 0.08) !important;
  cursor: pointer !important;
  z-index: 2 !important;
}
html body .tbp-cat-nav svg {
  width: 22px !important;
  height: 22px !important;
}
html body .tbp-cat-nav:focus-visible {
  outline: 2px solid #084828 !important;
  outline-offset: 2px !important;
}
html body #popup-filtri,
html body .tbp-filter-wrapper form#tbp-filter-form .tbp-field.filtra #popup-filtri {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 100050 !important;
  background: rgba(8, 72, 40, 0.42) !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
html body #popup-filtri.tbp-popup-filtri-open {
  display: flex !important;
}
html body #popup-filtri .popup-wrapper,
html body #popup-filtri .tbp-filter-sheet {
  width: 100% !important;
  max-width: 520px !important;
  max-height: min(92dvh, 860px) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  background: #f4f7f5 !important;
  border-radius: 24px 24px 0 0 !important;
  box-shadow: 0 -12px 40px rgba(8, 72, 40, 0.16) !important;
}
html body #popup-filtri .popup-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex: 0 0 auto !important;
  padding: 16px 18px 12px !important;
  background: #f4f7f5 !important;
  border-bottom: 1px solid rgba(8, 72, 40, 0.1) !important;
}
html body #popup-filtri .popup-header h2 {
  margin: 0 !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #084828 !important;
  line-height: 1.2 !important;
}
html body #popup-filtri .tbp-popup-close {
  width: 40px !important;
  height: 40px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #084828 !important;
  color: #fff !important;
  font-size: 1.6rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
html body #popup-filtri .popup-body {
  flex: 1 1 auto !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 8px 16px 20px !important;
  background: #f4f7f5 !important;
}
html body #popup-filtri .tbp-filter-group {
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  display: block !important;
}
html body #popup-filtri .tbp-filter-group h3 {
  margin: 0 0 10px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  color: #084828 !important;
}
html body #popup-filtri .tbp-filter-group h3 small {
  display: block !important;
  margin-top: 2px !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(8, 72, 40, 0.65) !important;
}
html body #popup-filtri .tbp-filter-field {
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: 1fr !important;
}
html body #popup-filtri .tbp-sheet-row,
html body #popup-filtri .tbp-checkbox-label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  background: #fff !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  border-radius: 14px !important;
  color: #084828 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
html body #popup-filtri .tbp-sheet-row input,
html body #popup-filtri .tbp-checkbox-label input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body #popup-filtri .tbp-sheet-check,
html body #popup-filtri .checkbox-finta {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border: 2px solid #084828 !important;
  border-radius: 6px !important;
  background: #fff !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
}
html body #popup-filtri .tbp-sheet-row:has(input:checked),
html body #popup-filtri .tbp-checkbox-label:has(input:checked) {
  border-color: #084828 !important;
  background: #fff !important;
  box-shadow: 0 0 0 2px rgba(8, 72, 40, 0.12) !important;
}
html body #popup-filtri .tbp-sheet-row:has(input:checked) .tbp-sheet-check,
html body #popup-filtri .tbp-checkbox-label:has(input:checked) .checkbox-finta {
  background: #084828 !important;
}
html body #popup-filtri .tbp-sheet-row:has(input:checked) .tbp-sheet-check::after {
  content: "" !important;
  position: absolute !important;
  left: 6px !important;
  top: 2px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}
html body #popup-filtri .tbp-sheet-heading .tbp-sheet-ico,
html body #popup-filtri .tbp-sheet-ico {
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #084828 !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
}
html body #popup-filtri .tbp-sheet-heading .tbp-sheet-ico svg,
html body #popup-filtri .tbp-sheet-heading .tbp-sheet-ico img,
html body #popup-filtri .tbp-sheet-heading .tbp-sheet-ico img.tbp-lava-icon,
html body #popup-filtri .tbp-sheet-ico svg,
html body #popup-filtri .tbp-sheet-ico img,
html body #popup-filtri .tbp-sheet-ico img.tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  object-fit: contain !important;
  filter: none !important;
  transform: none !important;
}
html body #popup-filtri .tbp-sheet-text {
  flex: 1 1 auto !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #084828 !important;
  line-height: 1.25 !important;
}
html body #popup-filtri .tbp-range-wrapper {
  background: #fff !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  border-radius: 16px !important;
  padding: 16px 14px 12px !important;
}
html body #popup-filtri .tbp-price-boxes {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
html body #popup-filtri .price-box {
  background: #f4f7f5 !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
}
html body #popup-filtri .price-box label {
  color: rgba(8, 72, 40, 0.65) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
html body #popup-filtri .price-box .val {
  color: #084828 !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}
html body #popup-filtri .popup-actions {
  display: grid !important;
  grid-template-columns: 1fr 1.4fr !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  background: #f4f7f5 !important;
  border-top: 1px solid rgba(8, 72, 40, 0.1) !important;
}
html body #popup-filtri .btn-reset,
html body #popup-filtri #btn-reset-popup {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid rgba(8, 72, 40, 0.2) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #084828 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
html body #popup-filtri .btn-apply,
html body #popup-filtri #btn-apply-popup {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #084828 !important;
  color: #fff !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}
@media (min-width: 721px) {
  html body #popup-filtri.tbp-popup-filtri-open {
    align-items: center !important;
    padding: 24px !important;
  }
  html body #popup-filtri .popup-wrapper,
  html body #popup-filtri .tbp-filter-sheet {
    border-radius: 24px !important;
    max-height: min(80vh, 760px) !important;
  }
}
html body .off-canvas-center .tbp-account-shortcut--logout,
html body .off-canvas-center .tbp-account-shortcuts a.tbp-account-shortcut--logout,
html body .off-canvas-center .tbp-account-shortcuts a.tbp-account-shortcut--logout.tbp-drawer-current {
  margin-top: 8px !important;
  min-height: 88px !important;
  background: #D0161A !important;
  color: #fff !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: none !important;
}
html body .off-canvas-center .tbp-account-shortcut--logout span {
  color: #fff !important;
}
html body.tbp-has-app-bar .off-canvas-center .tbp-account-shortcuts,
html body.tbp-has-app-bar .off-canvas-center .nav-vertical > .html:last-child {
  padding-bottom: calc(var(--tbp-app-bar-h, 80px) + var(--tbp-app-bar-inset, 20px) + env(safe-area-inset-bottom, 0px) + 28px) !important;
}

@media (max-width: 720px) {
  html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper form#tbp-filter-form .tbp-primary-filters.vivo-online,
  html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 0 8px !important;
  }
  html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip,
  html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .vivo-online .tbp-primary-chip {
    aspect-ratio: auto !important;
    min-height: 0 !important;
    padding: 0 4px 2px !important;
  }
  html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip img.tbp-lava-icon,
  html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-primary-chip img {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
  }
  html body .tbp-filter-wrapper .tbp-field.ordina,
  html body .tbp-filter-wrapper .tbp-field.filtra {
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 6 !important;
  }
  html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-cats-row {
    padding: 14px 6px 12px !important;
  }
  html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-cat-chip img {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    transform: none !important;
  }
}

html body .tbp-legal-page {
  max-width: 760px;
  margin: 0 auto;
  padding: 16px 20px 40px;
  color: #084828;
}
html body .tbp-legal-page h1 {
  font-family: Manrope, "DM Sans", sans-serif;
  font-size: clamp(2rem, 5vw, 2.45rem);
  font-weight: 750;
  letter-spacing: -0.04em;
  line-height: 1.1;
  margin: 0 0 24px;
  color: #084828;
}
html body .tbp-legal-page h2 {
  font-size: 1.25rem;
  font-weight: 750;
  letter-spacing: -0.03em;
  margin: 28px 0 12px;
  color: #084828;
}
html body .tbp-legal-page h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 22px 0 10px;
  color: #084828;
}
html body .tbp-legal-page p,
html body .tbp-legal-page li {
  font-size: 1rem;
  line-height: 1.55;
  color: #084828;
}
html body .tbp-legal-page a {
  color: #084828;
  text-decoration: underline;
  text-underline-offset: 3px;
}
html body .tbp-legal-page hr {
  border: 0;
  border-top: 1px solid rgba(8, 72, 40, 0.16);
  margin: 28px 0;
}
html body footer .icone-social a,
html body .footer .icone-social a {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 128px !important;
  height: 128px !important;
}
html body footer .icone-social a img.tbp-lava-icon,
html body .footer .icone-social a img.tbp-lava-icon,
html body footer .icone-social a img,
html body .footer .icone-social a img {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  display: block !important;
  object-fit: contain !important;
  filter: none !important;
  transform: none !important;
}

@media (max-width: 849px) {
  html body #masthead .mobile-nav button[data-open="#main-menu"] {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border-radius: 14px !important;
    background: #084828 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

html body .tbp-map-page {
  margin: 0 !important;
  padding: 16px 0 0 !important;
  max-width: none !important;
  background: #fff !important;
}
html body .tbp-map-page__intro {
  max-width: 1180px;
  margin: 8px auto 12px;
  padding: 0 24px;
  color: #084828;
}
html body .tbp-map-page__intro h1 {
  margin: 0 0 6px;
  font-size: clamp(1.5rem, 5vw, 2rem);
  letter-spacing: -0.04em;
  line-height: 1.1;
}
html body .tbp-map-page__lede {
  margin: 0 0 6px;
  color: rgba(8, 72, 40, 0.72);
  font-size: 0.95rem;
  line-height: 1.4;
}
html body .tbp-map-lead--desktop {
  display: none;
}
@media (min-width: 850px) {
  html body .tbp-map-lead--mobile {
    display: none !important;
  }
  html body .tbp-map-lead--desktop {
    display: inline !important;
  }
}
html body #tbp-map-wrapper.tbp-map-wrapper.tbp-map-wrapper--page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  min-height: calc(100dvh - 200px) !important;
}
html body .tbp-map-wrapper--page .tbp-map-head {
  padding: 0 24px;
  margin: 0 0 8px;
}
html body .tbp-map-wrapper--page .tbp-map-frame,
html body .tbp-map-wrapper--page #tbp-map-esperienze {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100dvh - 240px) !important;
  height: calc(100dvh - 240px) !important;
  border-radius: 0 !important;
}
@media (min-width: 850px) {
  html body.page-template-page-mappa #footer,
  html body.page-mappa #footer,
  html body.page-template-page-mappa .footer-wrapper {
    display: block !important;
  }
}
html body .tbp-map-wrapper--page {
  margin: 0 !important;
  min-height: calc(100dvh - 108px - var(--tbp-app-bar-h, 80px) - env(safe-area-inset-bottom, 0px) - 12px);
}
html body .tbp-map-wrapper--page .tbp-map-frame,
html body .tbp-map-wrapper--page #tbp-map-esperienze {
  min-height: calc(100dvh - 168px - var(--tbp-app-bar-h, 80px)) !important;
  height: calc(100dvh - 168px - var(--tbp-app-bar-h, 80px)) !important;
}
html body .tbp-map-page-results {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
html body .tbp-mestieri-page {
  padding: 16px 12px 32px;
}
html body .tbp-mestieri-page__head {
  margin: 8px 8px 20px;
}
html body .tbp-mestieri-page h1 {
  margin: 0 0 6px;
  color: #084828;
  font-size: clamp(1.6rem, 6vw, 2.2rem);
  letter-spacing: -0.04em;
  line-height: 1.1;
}
html body .tbp-mestieri-page__lead {
  margin: 0;
  color: rgba(8, 72, 40, 0.65);
  font-style: italic;
  font-weight: 400;
}
html body:where(:not(.tbp-core-cerca)) .tbp-dove-card {
  overflow: visible !important;
}
html body .tbp-filter-section--more .tbp-more-row {
  display: flex !important;
  justify-content: flex-start !important;
  width: calc(100% - 16px) !important;
  max-width: 720px !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
}
html body .tbp-filter-section--more .tbp-more-chip {
  flex: 0 0 33.333% !important;
  max-width: 33.333% !important;
  background: transparent !important;
}
html body .tbp-filter-section--more .tbp-more-chip button {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  color: #084828 !important;
  padding: 0 !important;
}
html body .tbp-filter-section--more .tbp-more-chip img {
  width: 80px !important;
  height: 80px !important;
  transform: scale(1.35) !important;
  transform-origin: center 42% !important;
}
html body .tbp-map-wrapper--page {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100dvh - 200px) !important;
}
html body .tbp-map-wrapper--page .tbp-map-frame,
html body .tbp-map-wrapper--page #tbp-map-esperienze {
  width: 100% !important;
  min-height: calc(100dvh - 240px) !important;
  height: calc(100dvh - 240px) !important;
  border-radius: 0 !important;
}
html body .off-canvas-center li.tbp-drawer-colombo > a img {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  min-height: 60px !important;
  max-width: 60px !important;
  max-height: 60px !important;
}
html body .off-canvas-center li.tbp-drawer-insegna > a img,
html body .off-canvas-center .tbp-account-shortcut--admin img,
html body .off-canvas-center .tbp-account-shortcut--vendor img {
  width: 92px !important;
  height: 92px !important;
  min-width: 92px !important;
  min-height: 92px !important;
  max-width: 92px !important;
  max-height: 92px !important;
}

/* Single esperienza: stesso design language di Cerca. */
html body.single-esperienze .header-wrapper,
html body.single-esperienze #masthead,
html body.single-esperienze .header {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 140px !important;
}
html body.single-esperienze,
html body.single-esperienze #wrapper,
html body.single-esperienze #main,
html body.single-esperienze .header-bg-container > .header-bg-color {
  background: #F4F7F5 !important;
}
html body.single-esperienze #main {
  padding: 12px 12px 32px !important;
}
html body.single-esperienze .intro,
html body.single-esperienze .corpo,
html body.single-esperienze .termini-cancellazione,
html body.single-esperienze section.faq {
  background: #fff !important;
  border-radius: 22px !important;
  padding: 22px 18px !important;
  margin: 0 0 16px !important;
  box-shadow: 0 10px 28px -16px #C9D2CC !important;
  color: #084828 !important;
}
html body.single-esperienze .intro > .testi nav.breadcrumbs,
html body.single-esperienze .intro > .testi nav.breadcrumbs a,
html body.single-esperienze nav.breadcrumbs,
html body.single-esperienze .tbp-exp-kicker {
  display: none !important;
}
html body.single-esperienze .intro > .testi h1,
html body.single-esperienze .corpo h2,
html body.single-esperienze .termini-cancellazione h2 {
  color: #084828 !important;
}
html body.single-esperienze .intro > .testi .chips > div {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #084828 !important;
  background: #F4F7F5 !important;
  border: 1px solid rgba(8, 72, 40, 0.1) !important;
}
html body.single-esperienze .intro > .testi .chips > div.verde {
  background: #084828 !important;
  color: #fff !important;
}
html body.single-esperienze .intro > .testi .chips > div.gialla {
  background: #D0161A !important;
  color: #fff !important;
}
html body.single-esperienze .intro > .testi .chips > div.bianca {
  background: #F4F7F5 !important;
  color: #084828 !important;
}
html body.single-esperienze .intro > .testi .chips img {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  object-fit: contain !important;
  transform: none !important;
}
html body.single-esperienze .corpo > aside > div {
  background: #F4F7F5 !important;
  border: 1px solid rgba(8, 72, 40, 0.1) !important;
  color: #084828 !important;
}
html body.single-esperienze .corpo > aside h2 {
  color: #084828 !important;
}
html body.single-esperienze .button:not(.tbp-btn--premium):not(.tbp-exp-book-cta):not(.jet-form-builder__next-page):not(.jet-form-builder__submit),
html body.single-esperienze a.button:not(.tbp-btn--premium):not(.tbp-exp-book-cta) {
  background: #084828 !important;
  color: #fff !important;
  border: 0 !important;
}
html body.single-esperienze .intro,
html body.single-esperienze .corpo {
  gap: 12px !important;
}
@media (max-width: 849px) {
  html body.single-esperienze .intro,
  html body.single-esperienze .corpo {
    display: flex !important;
    flex-direction: column !important;
  }
  html body.single-esperienze .intro > .testi,
  html body.single-esperienze .intro > .galleria,
  html body.single-esperienze .corpo > div,
  html body.single-esperienze .corpo > aside {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Desktop: never paint the mobile back arrow. */
@media (min-width: 850px) {
  html body .tbp-header-back {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

html body:not(.tbp-wcfm-ui) .footer-wrapper,
html body:not(.tbp-wcfm-ui) #footer,
html body.single-esperienze .footer-wrapper,
html body.single-esperienze #footer,
html body.single-esperienze footer {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

html body img.tbp-lava-icon,
html body img.tbp-nav-lava {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  object-fit: contain !important;
  transform: none !important;
  filter: none !important;
}
html body #masthead .header-nav img.tbp-nav-lava,
html body #masthead .header-nav img.tbp-lava-icon,
html body #masthead .login-registrazione img.tbp-nav-lava,
html body #masthead .login-registrazione img.tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  display: block !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
html body .venditore .info .foto img.verificato {
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
}

html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-filter-section--dove,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-dove-card,
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-dove-input-wrap {
  overflow: visible !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-filter-wrapper .tbp-filter-section--dove {
  position: relative !important;
  z-index: 90 !important;
}
html body:where(:not(.tbp-core-cerca)) .tbp-luogo-suggest {
  z-index: 400 !important;
  position: absolute !important;
}

html body .tbp-readmore {
  text-align: left !important;
}
html body .tbp-readmore.is-collapsed .tbp-readmore__body {
  max-height: 7.2em;
  overflow: hidden;
  position: relative;
}
html body .tbp-readmore.is-collapsed .tbp-readmore__body::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2.6em;
  background: linear-gradient(180deg, rgba(244, 247, 245, 0), #F4F7F5 80%);
  pointer-events: none;
}
html body .tbp-readmore__toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  margin: 12px 0 0;
  padding: 10px 16px !important;
  min-height: 44px !important;
  border: 1px solid rgba(8, 72, 40, 0.16) !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  color: #084828 !important;
  font: inherit;
  font-weight: 700 !important;
  font-size: 0.95rem;
  line-height: 1.2;
  cursor: pointer;
  text-align: left;
  box-shadow: none !important;
  transform: none !important;
}
html body .tbp-readmore__toggle::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #084828;
  border-bottom: 2px solid #084828;
  transform: rotate(45deg);
  margin-top: -3px;
  flex-shrink: 0;
}
html body .tbp-readmore:not(.is-collapsed) .tbp-readmore__toggle::after {
  transform: rotate(-135deg);
  margin-top: 3px;
}
html body .tbp-readmore__toggle[hidden] {
  display: none !important;
}

html body.single-esperienze .tbp-exp-section,
html body.single-esperienze .intro > .testi .descrizione,
html body.single-esperienze .intro > .testi .caratteristiche,
html body.single-esperienze .corpo > div > .programma,
html body.single-esperienze .corpo > div > .incluso,
html body.single-esperienze .corpo > div > .requisiti,
html body.single-esperienze .corpo > div > .accessibilita,
html body.single-esperienze .venditore,
html body.single-esperienze .termini-cancellazione,
html body.single-esperienze section.faq {
  background: #F4F7F5 !important;
  border: 1px solid rgba(8, 72, 40, 0.12) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  margin: 0 0 16px !important;
  max-width: none !important;
  text-align: left !important;
  color: #084828 !important;
  box-shadow: 0 10px 28px -16px #C9D2CC !important;
}
html body.single-esperienze .tbp-exp-kicker,
html body.single-esperienze .tbp-filter-section__head,
html body.single-esperienze .tbp-filter-section__title,
html body.single-esperienze .tbp-filter-section__lead,
html body.single-esperienze .intro,
html body.single-esperienze .intro > .testi,
html body.single-esperienze .intro > .testi h1,
html body.single-esperienze .intro > .testi .chips,
html body.single-esperienze .intro > .testi .descrizione,
html body.single-esperienze .intro > .testi .caratteristiche,
html body.single-esperienze .corpo h2,
html body.single-esperienze .corpo p,
html body.single-esperienze .programma,
html body.single-esperienze .incluso,
html body.single-esperienze .requisiti,
html body.single-esperienze .accessibilita,
html body.single-esperienze .venditore,
html body.single-esperienze .termini-cancellazione,
html body.single-esperienze section.faq {
  text-align: left !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}
html body.single-esperienze .tbp-filter-section__title {
  margin: 0 0 12px !important;
  font-family: Manrope, "DM Sans", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  color: #084828 !important;
  white-space: normal !important;
}
html body.single-esperienze .tbp-filter-section__lead {
  display: inline !important;
  margin: 0 0 0 0.35em !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "DM Sans", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 200 !important;
  font-style: italic !important;
  color: rgba(8, 72, 40, 0.58) !important;
}
html body.single-esperienze .intro > .testi .chips {
  margin: 8px 0 16px !important;
  justify-content: flex-start !important;
}
html body.single-esperienze .intro > .testi .chips > div {
  padding: 8px 14px 8px 8px !important;
}
html body.single-esperienze .intro > .testi .caratteristiche,
html body.single-esperienze .intro > .testi .caratteristiche__row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px 20px !important;
  justify-content: flex-start !important;
}
html body.single-esperienze .intro > .testi .caratteristiche > div div,
html body.single-esperienze .intro > .testi .caratteristiche__row > div div {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: left !important;
}
html body.single-esperienze .intro > .testi .caratteristiche img,
html body.single-esperienze .intro > .testi .caratteristiche img.tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
  margin: 0 !important;
}
html body.single-esperienze .corpo > div > .programma {
  display: flex !important;
  flex-direction: column !important;
  gap: 22px !important;
  max-width: none !important;
}
html body.single-esperienze .corpo > div > .programma > .step,
html body.single-esperienze .corpo > div > .programma > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
}
html body.single-esperienze .corpo > div > .programma > .step > img,
html body.single-esperienze .corpo > div > .programma > div > img {
  width: 100% !important;
  max-width: none !important;
  height: min(52vw, 420px) !important;
  object-fit: cover !important;
  border-radius: 18px !important;
}
html body.single-esperienze .corpo > div > .programma > .step > div,
html body.single-esperienze .corpo > div > .programma > div > div {
  width: 100% !important;
  text-align: left !important;
}
html body.single-esperienze .corpo > div > .programma .durata {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
html body.single-esperienze .corpo > div > .programma .durata img,
html body.single-esperienze .corpo > div > .programma .durata img.tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
}
html body.single-esperienze .corpo > div > .incluso > div,
html body.single-esperienze .corpo > div > .accessibilita > div,
html body.single-esperienze .corpo > div > .requisiti ul li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  text-align: left !important;
  list-style: none !important;
  margin: 0 0 10px !important;
}
html body.single-esperienze .corpo > div > .incluso img,
html body.single-esperienze .corpo > div > .accessibilita img,
html body.single-esperienze .corpo > div > .requisiti img,
html body.single-esperienze .corpo > div > .incluso img.tbp-lava-icon,
html body.single-esperienze .corpo > div > .accessibilita img.tbp-lava-icon,
html body.single-esperienze .corpo > div > .requisiti img.tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
  flex: 0 0 80px !important;
}
html body.single-esperienze .corpo > div > .requisiti ul {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.single-esperienze .venditore .info .foto {
  width: 56px !important;
  height: 72px !important;
  overflow: visible !important;
  border-radius: 0 !important;
  flex: 0 0 56px !important;
}
html body.single-esperienze .venditore .info .foto img:not(.verificato) {
  width: 56px !important;
  height: 72px !important;
  border-radius: 16px !important;
  object-fit: cover !important;
  object-position: center top !important;
  overflow: hidden !important;
}
html body.single-esperienze .venditore .info .nome-professione {
  width: auto !important;
}
html body.single-esperienze .venditore .info .nome-professione h2 {
  font-size: 1.05rem !important;
  text-align: left !important;
}
html body.single-esperienze .venditore .link,
html body.single-esperienze .venditore .link .sicurezza-pagamenti {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  width: 100% !important;
  max-width: none !important;
}
html body.single-esperienze .venditore .link .sicurezza-pagamenti img,
html body.single-esperienze .venditore .link .sicurezza-pagamenti img.tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
  flex: 0 0 80px !important;
}
html body.single-esperienze .termini-cancellazione {
  align-items: flex-start !important;
  text-align: left !important;
}
html body.single-esperienze .termini-cancellazione a.button {
  display: none !important;
}

@media (min-width: 850px) {
  html body #masthead .header-inner {
    align-items: center !important;
    gap: 8px !important;
  }
  html body #masthead .header-nav,
  html body #masthead .header-nav-main > ul,
  html body #masthead .login-registrazione {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 4px !important;
  }
  html body #masthead .header-nav > li.menu-item > a,
  html body #masthead .login-registrazione > a.login {
    min-height: 0 !important;
    height: auto !important;
    padding: 4px 8px 8px !important;
    gap: 0 !important;
    flex-direction: column !important;
    background: transparent !important;
    border: 0 !important;
    color: #084828 !important;
    -webkit-text-fill-color: #084828 !important;
    box-shadow: none !important;
    border-radius: 22px !important;
  }
  html body #masthead .header-nav > li.menu-item > a:hover,
  html body #masthead .login-registrazione > a.login:hover {
    background: #F4F7F5 !important;
  }
  html body #masthead .login-registrazione > a.registrazione {
    min-height: 0 !important;
    height: auto !important;
    padding: 4px 12px 10px !important;
    gap: 0 !important;
    flex-direction: column !important;
    background: var(--tbp-register-cta, #D0161A) !important;
    border: 0 !important;
    color: var(--tbp-register-ink, #fff) !important;
    -webkit-text-fill-color: var(--tbp-register-ink, #fff) !important;
    border-radius: 22px !important;
  }
  html body #masthead .login-registrazione > a.registrazione:hover {
    background: var(--tbp-register-hover, #084828) !important;
  }
  html body #masthead .header-nav > li.menu-item > a .tbp-nav-lava-label {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    color: #084828 !important;
  }
  html body #masthead .login-registrazione > a.login > span {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    color: #084828 !important;
  }
  html body #masthead .login-registrazione > a.registrazione > span {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: var(--tbp-register-ink, #fff) !important;
    -webkit-text-fill-color: var(--tbp-register-ink, #fff) !important;
  }
}

@media (max-width: 849px) {
  html body.single-esperienze .intro > .testi h1 {
    font-size: clamp(1.7rem, 8vw, 2.4rem) !important;
    line-height: 1.05 !important;
  }
  html body.single-esperienze .tbp-exp-section,
  html body.single-esperienze .intro > .testi .descrizione,
  html body.single-esperienze .intro > .testi .caratteristiche,
  html body.single-esperienze .corpo > div > .programma,
  html body.single-esperienze .corpo > div > .incluso,
  html body.single-esperienze .corpo > div > .requisiti,
  html body.single-esperienze .corpo > div > .accessibilita,
  html body.single-esperienze .venditore,
  html body.single-esperienze .termini-cancellazione,
  html body.single-esperienze section.faq {
    padding: 14px !important;
    margin: 0 0 12px !important;
    border-radius: 16px !important;
  }
  html body.single-esperienze .intro > .testi .chips {
    gap: 8px !important;
  }
  html body.single-esperienze .programma img,
  html body.single-esperienze .corpo .programma .img img {
    width: 100% !important;
    height: auto !important;
    max-height: 280px !important;
    object-fit: cover !important;
    border-radius: 16px !important;
  }
  html body.single-esperienze .venditore .info {
    align-items: flex-start !important;
    gap: 14px !important;
  }
  html body.single-esperienze .venditore .link,
  html body.single-esperienze .venditore .link .sicurezza-pagamenti {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  html body.single-esperienze .venditore .link a.button {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Sticky/fixed header: same size scrolling up or down. Neutralize Flatsome .stuck shrink. */
:root {
  --tbp-header-h: 156px;
}
@media (max-width: 849px) {
  :root {
    --tbp-header-h: 148px;
  }
}
html body:not(.tbp-wcfm-ui) .header-wrapper,
html body:not(.tbp-wcfm-ui) .header-wrapper.stuck,
html body:not(.tbp-wcfm-ui) #header,
html body:not(.tbp-wcfm-ui) #masthead {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: #fff !important;
  transform: none !important;
}
html.admin-bar body:not(.tbp-wcfm-ui) .header-wrapper,
html.admin-bar body:not(.tbp-wcfm-ui) #masthead {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  html.admin-bar body:not(.tbp-wcfm-ui) .header-wrapper,
  html.admin-bar body:not(.tbp-wcfm-ui) #masthead {
    top: 46px !important;
  }
}
html body .header-wrapper.stuck,
html body .header-wrapper.stuck.reveal-header,
html body.sticky-hide-on-scroll .header-wrapper,
html body.sticky-hide-on-scroll .header-wrapper.stuck {
  transform: none !important;
  top: 0 !important;
}
html.admin-bar body .header-wrapper.stuck {
  top: 32px !important;
}
html body .header-wrapper.stuck #masthead,
html body .header-wrapper.stuck .header-main {
  height: auto !important;
  min-height: inherit !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
html body .header-wrapper.stuck #masthead #logo img,
html body .header-wrapper.stuck #logo img,
html body #masthead #logo img {
  width: var(--tbp-header-brand-mark, 96px) !important;
  height: var(--tbp-header-brand-mark, 96px) !important;
  max-width: var(--tbp-header-brand-mark, 96px) !important;
  max-height: var(--tbp-header-brand-mark, 96px) !important;
  object-fit: contain !important;
}
html body #logo {
  overflow: visible !important;
}
html.admin-bar body .header-wrapper,
html.admin-bar body #masthead {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  html.admin-bar body .header-wrapper,
  html.admin-bar body #masthead {
    top: 46px !important;
  }
}
html.mfp-zoom-out-cur #masthead .tbp-header-back,
html.has-off-canvas-center #masthead .tbp-header-back,
html.mfp-zoom-out-cur #masthead .mobile-nav button[data-open="#main-menu"],
html.has-off-canvas-center #masthead .mobile-nav button[data-open="#main-menu"] {
  visibility: hidden !important;
  pointer-events: none !important;
}
.off-canvas-center .html:first-child,
.off-canvas-center .html.html_topbar_left {
  position: sticky !important;
  top: 0 !important;
  z-index: 6 !important;
  background: #ffffff !important;
  padding-right: 64px !important;
  box-sizing: border-box !important;
}

/* Map empty state: compact chip, top-right of the map. */
html body .tbp-map-frame:has(#tbp-map-empty-msg:not([hidden])) .tbp-map-count-box,
html body .tbp-map-frame:has(#tbp-map-empty-msg:not([hidden])) .tbp-map-count {
  display: none !important;
}
html body .tbp-map-empty-msg {
  position: absolute !important;
  left: auto !important;
  right: 12px !important;
  top: 12px !important;
  transform: none !important;
  max-width: min(168px, calc(100% - 72px)) !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #084828 !important;
  font-size: 0.75rem !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  box-shadow: 0 8px 24px -12px rgba(8, 72, 40, 0.35) !important;
}

html body footer .partner-inline-lockup {
  display: grid !important;
  width: max-content !important;
  max-width: 100% !important;
  grid-template-columns: 84px 105px !important;
  grid-template-rows: auto 84px !important;
  column-gap: 14px !important;
  row-gap: 10px !important;
}
html body footer .partner-inline-lockup p {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}

/* Su mobile la dicitura partner sta su una riga sola, centrata sopra i due loghi,
   e il blocco contatti non raddoppia il divisorio dell'ultima colonna. */
@media (max-width: 849px) {
  html body footer .partner-inline-lockup {
    justify-content: center !important;
    margin-inline: auto !important;
  }

  html body footer .partner-inline-lockup p {
    position: relative !important;
    left: 50% !important;
    width: max-content !important;
    transform: translateX(-50%) !important;
    white-space: nowrap !important;
    font-size: 0.78rem !important;
    text-align: center !important;
  }

  html body footer .tbp-mega-footer__bottom {
    border-top: 0 !important;
    justify-items: center !important;
  }
}
html body footer .partner-inline-lockup .partner-tbp,
html body footer .partner-inline-lockup .partner-stareg,
html body footer .partner-inline-lockup .partner-tile {
  grid-row: 2 !important;
}
html body footer .partner-inline-lockup .partner-tbp,
html body footer .partner-inline-lockup .partner-tile,
html body footer .partner-inline-lockup .partner-stareg {
  overflow: hidden !important;
  width: 100% !important;
  height: 84px !important;
  background: transparent !important;
  border-radius: 16px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}
html body footer .partner-inline-lockup .partner-tbp img,
html body footer .partner-inline-lockup .partner-tile img,
html body footer .partner-inline-lockup .partner-stareg img,
html body footer .partner-tbp img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

/* Partner artwork stays within the shared 84px tile, without square cropping. */
html body footer .partner-inline-lockup .partner-tile.partner-stareg {
  overflow: visible !important;
  border-radius: 0 !important;
}
html body footer .partner-inline-lockup .partner-tile.partner-stareg img {
  width: 84px !important;
  height: 84px !important;
  max-height: 84px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* Mega footer — inside #footer, Solar Impulse columns. */
html body .tbp-mega-footer,
html body #footer .tbp-mega-footer {
  display: block !important;
  background: #084828;
  color: #fff;
  padding: 40px 24px 20px;
  width: 100%;
  box-sizing: border-box;
}
.tbp-mega-footer__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 40px;
  width: min(1100px, 100%);
  margin: 0 auto;
  align-items: start;
}
.tbp-mega-footer__col {
  margin: 0;
  min-width: 0;
}
.tbp-mega-footer__title {
  list-style: none;
  cursor: default;
  margin: 0 0 12px;
  padding: 0;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
}
.tbp-mega-footer__title::-webkit-details-marker,
.tbp-mega-footer__title::marker {
  display: none;
  content: "";
}
.tbp-mega-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.tbp-mega-footer__list a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: none !important;
  font-size: 0.92rem;
  line-height: 1.35;
  font-weight: 500;
}
.tbp-mega-footer__list a:hover {
  text-decoration: underline !important;
}
.tbp-mega-footer__copy {
  width: min(1100px, 100%);
  margin: 16px auto 0;
  padding-top: 0;
  border-top: 0;
  color: rgba(255, 255, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.78rem;
  text-align: center;
}
.tbp-mega-footer__bottom {
  width: min(1100px, 100%);
  margin: 28px auto 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 20px 32px;
  align-items: start;
}
.tbp-mega-footer__contacts {
  text-align: left;
}
.tbp-mega-footer__contacts-title {
  margin: 0 0 8px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
}
.tbp-mega-footer__contacts p,
.tbp-mega-footer__contacts a,
.tbp-mega-footer__contacts span {
  margin: 0;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.9rem;
  line-height: 1.5;
  text-decoration: none !important;
}
.tbp-mega-footer__contacts a:hover {
  text-decoration: underline !important;
}
.tbp-mega-footer__partners {
  justify-self: center;
}
/* Le firme in fondo: due colonne uguali, marchi da 56 px sopra e una riga di
   testo sotto; poi i social, poi le fonti in piccolo (Elind, 19/9). */
.tbp-mega-footer__firme {
  justify-self: center;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
  align-items: start;
  box-sizing: border-box;
  width: min(100%, 380px);
  padding-inline: 12px;
}
.tbp-mega-footer__firma {
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}
.tbp-mega-footer__firma-loghi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 56px;
}
.tbp-mega-footer__firma-loghi a { display: block; line-height: 0; border-radius: 14px; }
.tbp-mega-footer__firma-loghi a:focus-visible { outline: 3px solid #f1cd45; outline-offset: 3px; }
.tbp-mega-footer__firma-loghi img {
  display: block;
  width: 56px;
  height: 56px;
  object-fit: contain;
  border: 0;
  border-radius: 14px;
}
.tbp-mega-footer .tbp-mega-footer__firma p {
  max-width: 15em;
  text-wrap: balance;
  margin: 0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
}
.tbp-mega-footer .tbp-mega-footer__firma p a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
.tbp-mega-footer__fonti {
  grid-column: 1 / -1;
  justify-self: center;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.7rem;
  font-weight: 500;
  text-align: center;
}
.tbp-mega-footer__fonti a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
.tbp-mega-footer .partner-inline-lockup p {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.78rem;
  font-weight: 600;
}
.tbp-mega-footer__social {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 12px;
  margin: 0 !important;
}
.tbp-mega-footer__social a {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 16px !important;
  padding: 0 !important;
  margin: 0;
  flex: 0 0 80px;
  width: 80px !important;
  height: auto !important;
  min-height: 104px;
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  text-align: center;
  text-decoration: none !important;
}
.tbp-mega-footer__social a img.tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  display: block;
  object-fit: contain;
  flex: 0 0 80px;
  margin: 0;
}
/* Equal optical size: WhatsApp artwork fills more of its source canvas. */
.tbp-mega-footer__social a[aria-label*="WhatsApp"] img.tbp-lava-icon {
  box-sizing: border-box !important;
  padding: 7px !important;
}
@media (min-width: 850px) {
  /* Clear the partner caption and align the icon centres with the 84px tiles. */
  .tbp-mega-footer__social { padding-top: 26px; }
}
.tbp-mega-footer__social a span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 20px;
  margin: 0;
}
@media (min-width: 850px) {
  .tbp-mega-footer details.tbp-mega-footer__col > ul {
    display: flex !important;
  }
  .tbp-mega-footer__title {
    pointer-events: none;
  }
}
@media (max-width: 849px) {
  html body .tbp-mega-footer,
  html body #footer .tbp-mega-footer {
    padding: 8px 16px 20px;
  }
  .tbp-mega-footer__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .tbp-mega-footer__col {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }
  .tbp-mega-footer__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    padding: 14px 0;
    margin: 0;
    pointer-events: auto;
  }
  .tbp-mega-footer__title::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    margin-top: -4px;
  }
  .tbp-mega-footer__col[open] .tbp-mega-footer__title::after {
    transform: rotate(-135deg);
    margin-top: 2px;
  }
  .tbp-mega-footer__list {
    padding: 0 0 14px;
  }
  .tbp-mega-footer__col:not([open]) .tbp-mega-footer__list {
    display: none;
  }
  .tbp-mega-footer__bottom {
    grid-template-columns: 1fr;
    justify-items: center;
    margin-top: 16px;
    padding-top: 16px;
    gap: 20px;
  }
  .tbp-mega-footer__contacts {
    text-align: center;
  }
  .tbp-mega-footer__social {
    justify-content: center;
  }
  .tbp-mega-footer__copy {
    margin-top: 12px;
    padding-top: 12px;
  }
}

/* Old UX footer: hidden; contacts/partners/social live in the mega footer. */
body.tbp-has-mega-footer #footer .ux-menu,
body.tbp-has-mega-footer #footer .widget_nav_menu,
body.tbp-has-mega-footer #footer .footer-1,
body.tbp-has-mega-footer #footer .absolute-footer,
body.tbp-has-mega-footer #footer > .section,
body.tbp-has-mega-footer #footer .section-content {
  display: none !important;
}

/* Chi siamo + Insegna: copy a sinistra, icone Lava sul titolo. */
body.chi-siamo #main :where(h1, h2, h3, h4, p, li, .text, .text-inner),
body.proponi-un-esperienza #main :where(h1, h2, h3, h4, p, li, .text, .text-inner) {
  text-align: left !important;
}
body.chi-siamo .align-c > .col-inner,
body.proponi-un-esperienza .align-c > .col-inner,
body.chi-siamo .text-center,
body.proponi-un-esperienza .text-center {
  text-align: left !important;
}
body.chi-siamo #main h1,
body.proponi-un-esperienza #main h1 {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}
body.chi-siamo #main h1 .tbp-lava-icon {
  display: none !important;
}
body.proponi-un-esperienza #main h1 .tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
  flex: 0 0 80px;
}

/* Account welcome: chip sage + Lava 80px, niente bordo verde. */
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > .woocommerce-MyAccount-content section.benvenuto div:last-child a,
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > .woocommerce-MyAccount-content section.benvenuto div:last-child a.button {
  min-height: 80px !important;
  height: auto !important;
  gap: 8px !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > .woocommerce-MyAccount-content section.benvenuto div:last-child a img.tbp-lava-icon {
  width: 80px !important;
  height: 80px !important;
  flex: 0 0 80px;
  object-fit: contain;
}
body.woocommerce-account.logged-in #main > #content > .row.row-main .woocommerce > .woocommerce-MyAccount-content section.benvenuto div:last-child a svg {
  display: none !important;
}

/* PWA install bar: iOS Add to Home Screen (Safari has no beforeinstallprompt). */
.tbp-pwa-install {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100050;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 12px 10px;
  padding-top: calc(8px + env(safe-area-inset-top, 0px));
  background: #F4F7F5;
  color: #084828;
  border-bottom: 1px solid rgba(8, 72, 40, 0.08);
  box-shadow: 0 8px 20px rgba(8, 72, 40, 0.08);
}
html.tbp-pwa-install-visible {
  scroll-padding-top: calc(var(--tbp-cookie-h, 0px) + var(--tbp-pwa-h, 64px) + 16px);
}
html.tbp-pwa-install-visible body {
  padding-top: calc(var(--tbp-cookie-h, 0px) + var(--tbp-pwa-h, 64px)) !important;
}
html.tbp-pwa-install-visible body #masthead,
html.tbp-pwa-install-visible body .header-wrapper,
html.tbp-pwa-install-visible body .header-wrapper.stuck #masthead {
  top: calc(var(--tbp-cookie-h, 0px) + var(--tbp-pwa-h, 64px)) !important;
}
html.tbp-cookie-visible.tbp-pwa-install-visible .tbp-pwa-install {
  padding-top: 8px;
}
@media (min-width: 850px) {
  .tbp-pwa-install,
  html.tbp-pwa-install-visible .tbp-pwa-install {
    display: none !important;
  }
  html.tbp-pwa-install-visible body {
    padding-top: 0 !important;
  }
}
@media (max-width: 849px) {
  .tbp-pwa-install {
    padding: 6px 10px 8px;
    padding-top: calc(6px + env(safe-area-inset-top, 0px));
    gap: 6px;
  }
  .tbp-pwa-install__mark {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }
  .tbp-pwa-install__title {
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .tbp-pwa-install__lead {
    display: none;
  }
  .tbp-pwa-install__cta {
    padding: 8px 12px;
    font-size: 0.78rem;
  }
}
.tbp-pwa-install[hidden] {
  display: none !important;
}
.tbp-pwa-install__row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tbp-pwa-install__mark {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  object-fit: cover;
  flex: 0 0 40px;
}
.tbp-pwa-install__copy {
  flex: 1 1 auto;
  min-width: 0;
}
.tbp-pwa-install__title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.2;
  color: #084828;
}
.tbp-pwa-install__lead {
  margin: 2px 0 0;
  font-size: 0.75rem;
  line-height: 1.3;
  color: rgba(8, 72, 40, 0.72);
}
.tbp-pwa-install__cta {
  margin: 0;
  padding: 8px 14px;
  border: 0;
  border-radius: 999px;
  background: #084828;
  color: #fff;
  font-weight: 700;
  font-size: 0.82rem;
  cursor: pointer;
  white-space: nowrap;
}
.tbp-pwa-install__close {
  margin: 0;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #084828;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  flex: 0 0 36px;
}
.tbp-pwa-install__steps {
  margin: 0;
  padding: 0 0 2px 1.2rem;
  font-size: 0.8rem;
  line-height: 1.4;
  color: rgba(8, 72, 40, 0.82);
}
.tbp-pwa-install__steps[hidden] {
  display: none !important;
}
.tbp-pwa-install__ios {
  width: 100%;
  margin: 0;
  text-align: center;
  font-size: 0.85rem;
  color: rgba(8, 72, 40, 0.75);
}
@media (min-width: 850px) {
  html body #masthead .header-nav > li.menu-item > a::before,
  html body #masthead .header-nav > li.menu-item > a::after,
  html body #masthead .header-nav > li.menu-item > a .tbp-nav-lava-label::before,
  html body #masthead .header-nav > li.menu-item > a .tbp-nav-lava-label::after {
    content: none !important;
    display: none !important;
  }
  html body #masthead .header-nav > li.menu-item > a,
  html body #masthead .header-nav > li.menu-item > a .tbp-nav-lava-label {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* Scheda: leggere prima di prenotare, nello stesso ordine DOM su tutti i dispositivi. */
@media (min-width: 1024px) {
  html body.single-esperienze #main {
    display: block !important;
    max-width: 900px !important;
    margin-inline: auto !important;
    padding-inline: 24px;
  }

  html body.single-esperienze #main > .tbp-exp-intro {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    margin: 0;
  }

  html body.single-esperienze #main > .tbp-exp-corpo {
    display: flex !important;
    flex-direction: column !important;
  }

  html body.single-esperienze .tbp-exp-corpo > .tbp-exp-bookcol {
    position: static;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  html body.single-esperienze .tbp-exp-corpo > .tbp-exp-corpo__story {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    margin: 0;
  }

  html body.single-esperienze .tbp-exp-hero .tbp-exp-card--scheda {
    margin-inline: 0 !important;
  }

  html body.single-esperienze .tbp-exp-corpo__story .descrizione {
    max-width: none !important;
  }
}


/* ── Dettagli account compatti su desktop: due colonne, meno aria verticale ── */
@media (min-width: 1024px) {
  html body.woocommerce-account .woocommerce-EditAccountForm {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 28px;
    row-gap: 4px;
    align-items: start;
    max-width: 760px;
  }

  html body.woocommerce-account .woocommerce-EditAccountForm > h2,
  html body.woocommerce-account .woocommerce-EditAccountForm > h3,
  html body.woocommerce-account .woocommerce-EditAccountForm > fieldset,
  html body.woocommerce-account .woocommerce-EditAccountForm > .clear,
  html body.woocommerce-account .woocommerce-EditAccountForm > p:last-child,
  html body.woocommerce-account .woocommerce-EditAccountForm > p.form-row-wide.tbp-span-2 {
    grid-column: 1 / -1;
  }

  html body.woocommerce-account .woocommerce-EditAccountForm > h2,
  html body.woocommerce-account .woocommerce-EditAccountForm > h3 {
    margin: 18px 0 4px;
  }

  html body.woocommerce-account .woocommerce-EditAccountForm p.form-row {
    margin-bottom: 8px;
  }

  html body.woocommerce-account .woocommerce-EditAccountForm fieldset {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 28px;
    row-gap: 4px;
    border: 0;
    padding: 0;
    margin: 0;
  }

  html body.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
    grid-column: 1 / -1;
    font-weight: 700;
    margin: 18px 0 4px;
  }

  html body.woocommerce-account .woocommerce-EditAccountForm select,
  html body.woocommerce-account .woocommerce-EditAccountForm .select2-container {
    width: 100% !important;
  }
}


/* Foto leggibile senza rinviare descrizione e calendario a un secondo schermo. */
@media (min-width: 1024px) {
  html body.single-esperienze .tbp-exp-hero .tbp-exp-card--scheda {
    width: 100% !important;
    max-width: none !important;
  }

  html body.single-esperienze .tbp-exp-hero .tbp-exp-card--scheda .tbp-exp-card__media {
    aspect-ratio: auto !important;
    height: clamp(340px, 44vh, 440px) !important;
  }
}

/* Fondo del footer, rifatto (Elind, 19/9). Blocchi con etichetta separati da
   un filo. Sul computer i tre blocchi stanno in riga, allineati a sinistra;
   sul telefono sono centrati (vedi in fondo al blocco). */
.tbp-mega-footer__fondo {
  width: min(1100px, 100%);
  margin: 28px auto 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: 24px 40px;
  align-items: start;
  text-align: left;
}
.tbp-mega-footer__blocco { min-width: 0; }
.tbp-mega-footer .tbp-mega-footer__etichetta {
  margin: 0 0 12px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}
.tbp-mega-footer .tbp-mega-footer__righe {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}
.tbp-mega-footer .tbp-mega-footer__righe li { margin: 0 !important; padding: 0; }
.tbp-mega-footer .tbp-mega-footer__righe a,
.tbp-mega-footer .tbp-mega-footer__credito p,
.tbp-mega-footer .tbp-mega-footer__credito p a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none !important;
}
.tbp-mega-footer .tbp-mega-footer__righe a:hover { text-decoration: underline !important; }
.tbp-mega-footer .tbp-mega-footer__righe span {
  margin-left: 6px;
  color: rgba(255, 255, 255, 0.62);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.62);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.tbp-mega-footer__seguici { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.tbp-mega-footer .tbp-mega-footer__seguici a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.92rem;
  font-weight: 500;
  text-decoration: none !important;
}
.tbp-mega-footer .tbp-mega-footer__seguici a:hover span { text-decoration: underline; }
html body .tbp-mega-footer .tbp-mega-footer__seguici a img.tbp-lava-icon {
  --tbp-icon: 36px;
  display: block;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  margin: 0;
  object-fit: contain;
}
.tbp-mega-footer__credito { display: flex; align-items: center; gap: 12px; }
.tbp-mega-footer__credito + .tbp-mega-footer__credito { margin-top: 10px; }
.tbp-mega-footer__loghi { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 86px; }
.tbp-mega-footer__loghi a { display: block; line-height: 0; border-radius: 10px; }
.tbp-mega-footer__loghi img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
  border: 0;
  border-radius: 10px;
}
.tbp-mega-footer .tbp-mega-footer__credito p { margin: 0 !important; }
/* Bersagli da 44 px senza cambiare l'aspetto (collaudo 1/10: email, PEC e telefono alti 18 px, loghi 40 x 40).
   Lo spazio in più è imbottitura trasparente compensata da un margine negativo uguale: righe, loghi e testo
   restano dove sono. Le righe dei contatti distano circa 32 px, quindi le aree vicine si toccano per pochi px. */
.tbp-mega-footer .tbp-mega-footer__righe a,
.tbp-mega-footer .tbp-mega-footer__credito p:not(.tbp-mega-footer__grazie) a {
  display: inline-block;
  padding-block: 13px;
  margin-block: -13px;
}
.tbp-mega-footer__loghi a { padding: 2px; margin: -2px; }
.tbp-mega-footer .tbp-mega-footer__credito p a { text-decoration: underline !important; text-underline-offset: 2px; }
.tbp-mega-footer :is(.tbp-mega-footer__righe a, .tbp-mega-footer__seguici a, .tbp-mega-footer__loghi a, .tbp-mega-footer__credito p a, .tbp-mega-footer__chiusura a):focus-visible {
  outline: 3px solid #f1cd45;
  outline-offset: 3px;
}
.tbp-mega-footer__chiusura {
  width: min(1100px, 100%);
  margin: 24px auto 0;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 24px;
  text-align: left;
}
.tbp-mega-footer .tbp-mega-footer__chiusura p,
.tbp-mega-footer .tbp-mega-footer__chiusura a {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.74rem;
  font-weight: 500;
  line-height: 1.5;
}
.tbp-mega-footer .tbp-mega-footer__chiusura a { text-decoration: underline !important; text-underline-offset: 2px; }
@media (max-width: 849px) {
  .tbp-mega-footer__fondo {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
  .tbp-mega-footer__blocco {
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }
  .tbp-mega-footer__chiusura {
    display: grid;
    margin-top: 0;
    padding-top: 14px;
    border-top: 0;
    /* justify-content: la colonna della griglia al centro, non solo le righe
       dentro di lei: con space-between la colonna restava a sinistra e la
       seconda riga sembrava rientrata (Elind, 30/9). */
    justify-content: center;
    justify-items: center;
    text-align: center;
  }
  /* Sul telefono il fondo e' centrato (Elind, 19/9 notte): etichette, righe,
     icone social e crediti sullo stesso asse; i loghi stanno sopra la loro riga. */
  .tbp-mega-footer__fondo { text-align: center; }
  .tbp-mega-footer .tbp-mega-footer__righe { justify-items: center; }
  .tbp-mega-footer__seguici { justify-content: center; }
  .tbp-mega-footer__credito { flex-direction: column; gap: 8px; }
  .tbp-mega-footer__loghi { flex: 0 0 auto; }
}


/* ==========================================================================
   Marchio ToBePolo 2026 (Elena): pittogramma + logotipo Oxanium in un file
   solo. Verde #145E3F e rosso #D0161A, gli stessi del logo depositato.

   Due tagli: «orizzontale» (pittogramma a sinistra, nome a destra) per header,
   cassetto e barre larghe; «verticale» (nome sotto) dove la colonna e' stretta
   e centrata, cioe' accesso, registrazione, conferme e onboarding.

   I selettori sono lunghi apposta: il tema vecchio forza #logo img a un
   quadrato con !important, e un marchio largo li' dentro verrebbe schiacciato.
   ========================================================================== */

.tbp-brand-lockup {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  text-decoration: none !important;
  background: none !important;
  box-shadow: none !important;
}

html body .tbp-brand-lockup .tbp-brand-lockup__img,
html body img.tbp-brand-lockup__img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
  content: none !important;
}

/* Un marchio solo: se qualcosa inietta ancora il wordmark testuale, sparisce. */
html body .tbp-brand-lockup .tbp-wordmark {
  display: none !important;
}

/* --- Header ------------------------------------------------------------- */

html body #masthead #logo a.tbp-brand-lockup,
html body #masthead #logo .tbp-brand-lockup {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
}

html body #masthead #logo a.tbp-brand-lockup img.tbp-brand-lockup__img,
html body #masthead #logo img.tbp-brand-lockup__img,
html body .header-wrapper.stuck #masthead #logo img.tbp-brand-lockup__img,
html body #logo img.tbp-brand-lockup__img {
  /* 72 px: era 52, «troppo piccolo sia da mobile che da pc» (Elind, 22/9). */
  height: 72px !important;
  max-height: 72px !important;
  min-height: 0 !important;
  width: auto !important;
  max-width: min(100%, 62vw) !important;
}

@media (max-width: 849px) {
  html body #masthead #logo a.tbp-brand-lockup img.tbp-brand-lockup__img,
  html body #masthead #logo img.tbp-brand-lockup__img,
  html body .header-wrapper.stuck #masthead #logo img.tbp-brand-lockup__img,
  html body #logo img.tbp-brand-lockup__img {
    height: 54px !important;
    max-height: 54px !important;
    max-width: min(100%, 60vw) !important;
  }
}

/* --- Cassetto (menu a tutta pagina) ------------------------------------- */

html body .off-canvas-center .mfp-content > #main-menu > .sidebar-menu > ul .html:first-child img.tbp-brand-lockup__img,
html body #main-menu > .sidebar-menu > ul .html:first-child img.tbp-brand-lockup__img,
html body .off-canvas-center .html:first-child img.tbp-brand-lockup__img {
  height: 58px !important;
  max-height: 58px !important;
  width: auto !important;
  max-width: 78vw !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}

/* --- Sidebar WCFM (Il tuo Ufficio) -------------------------------------- */

html body #wcfm_menu .tbp-wcfm-brand-logo img.tbp-brand-lockup__img,
html body .tbp-wcfm-brand-logo img.tbp-brand-lockup__img {
  height: 42px !important;
  max-height: 42px !important;
  width: auto !important;
  max-width: 100% !important;
}

/* --- Accesso, registrazione, conferme, onboarding: nome sotto ----------- */

html body .tbp-brand-lockup--verticale {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

html body .tbp-brand-lockup img.tbp-brand-lockup__img--verticale,
html body img.tbp-brand-lockup__img--verticale {
  height: 160px !important;
  max-height: 160px !important;
  width: auto !important;
  max-width: 72vw !important;
  margin: 0 auto !important;
}

@media (max-width: 480px) {
  html body .tbp-brand-lockup img.tbp-brand-lockup__img--verticale,
  html body img.tbp-brand-lockup__img--verticale {
    height: 136px !important;
    max-height: 136px !important;
  }
}

/* Fondo del footer, terzo blocco (Elind, 22/9 sera): via l'etichetta «Chi
   c'e' dietro» e «Prodotto da 3LE.it»; resta «ToBePolo x Stareg Tech». Su PC
   il blocco sta a destra, con i simboli alla stessa altezza delle prime righe
   degli altri blocchi; sul telefono resta centrato come il resto. */
@media (min-width: 850px) {
  .tbp-mega-footer__fondo { grid-template-columns: 1fr 1fr auto; }
  .tbp-mega-footer__blocco--marchio { padding-top: 27px; justify-self: end; }
  .tbp-mega-footer__blocco--marchio .tbp-mega-footer__credito p { white-space: nowrap; }
}

/* 15/10 sera (CEO: «cosa è quel glitch su e giù? fa malissimo agli occhi»). Al telefono la testata ferma ha 8 px
   sopra e sotto (tobepolo-italia-rebrand.css), quando si attacca in alto ne prendeva 14 (qui sopra): cresceva di
   12 px, la testata è nel flusso (sticky) e spingeva giù schede e pagina, poi tornava. Stessa misura nei due stati. */
@media (max-width: 849px) {
  html body .header-wrapper.stuck #masthead,
  html body .header-wrapper.stuck .header-main {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}
