/* Casa Ruggiu Domhun V59 — stabilizzazione finale, nessun redesign */
:root{--casa-icon-size:39px;--casa-icon-radius:13px;--casa-nav-height:65px}
/* Home: la stessa barra lingue delle pagine interne e sfondo centrato sul punto focale. */
.home-page::before{
  inset:-18px!important;width:auto!important;height:auto!important;
  background-position:50% 50%!important;background-size:cover!important;background-repeat:no-repeat!important;
  transform:scale(1.04)!important;transform-origin:50% 50%!important;
}
@media (hover:none),(pointer:coarse),(max-width:820px){.home-page::before{inset:0!important;transform:none!important;background-position:50% 50%!important}}
.home-page .cr-top-controls,.home-page .top-controls{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:760px!important;margin:0 auto 14px!important;padding:max(22px,calc(env(safe-area-inset-top) + 12px)) 12px 8px!important;display:flex!important;justify-content:center!important}
.home-page .cr-lang-switch,.home-page .lang-switch{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:7px!important;margin:0 auto!important}
.home-page .cr-lang-btn,.home-page .lang-btn{min-width:64px!important;min-height:39px!important;padding:7px 10px!important;border-radius:20px!important;background:rgba(0,0,0,.40)!important;border:1px solid rgba(255,255,255,.30)!important;font:700 .78rem/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;box-shadow:none!important}
.home-page .cr-lang-btn.active,.home-page .lang-btn.active{background:rgba(37,99,235,.82)!important;border-color:#93c5fd!important}
/* Sistema icone bloccato. */
.service-icon,.cr-card-icon,.card-icon,.contact-icon,.icon,.cr-tile-icon,.casa-menu-icon,.airport-icon,.glass-bubble,.liquid-icon{
  width:var(--casa-icon-size)!important;height:var(--casa-icon-size)!important;min-width:var(--casa-icon-size)!important;min-height:var(--casa-icon-size)!important;flex:0 0 var(--casa-icon-size)!important;border-radius:var(--casa-icon-radius)!important;box-sizing:border-box!important;
}
/* Esplora e Ristoranti: geometria identica, senza sovrapposizioni. */
.explore-main-page .ex-card,.visual-hub-page .restaurant-ex-card{display:grid!important;grid-template-columns:39px minmax(0,1fr) 18px!important;align-items:center!important;column-gap:10px!important;min-height:var(--casa-nav-height)!important;height:var(--casa-nav-height)!important;padding:8px 11px!important}
.explore-main-page .ex-card .glass-bubble,.visual-hub-page .restaurant-ex-card .glass-bubble{position:relative!important;inset:auto!important;grid-column:1!important;justify-self:start!important;margin:0!important;transform:none!important}
.explore-main-page .ex-card strong,.visual-hub-page .restaurant-ex-card strong{position:relative!important;inset:auto!important;grid-column:2!important;min-width:0!important;margin:0!important;padding:0!important;font-size:.76rem!important;line-height:1.12!important;text-align:left!important;word-break:normal!important;overflow-wrap:normal!important}
.explore-main-page .ex-card .arrow,.visual-hub-page .restaurant-ex-card .arrow{position:relative!important;inset:auto!important;grid-column:3!important;justify-self:end!important;margin:0!important;transform:none!important}
.explore-main-page .assistant,.visual-hub-page .restaurant-assistant-card{display:grid!important;grid-template-columns:39px minmax(0,1fr) 18px!important;align-items:center!important;gap:10px!important;padding:11px!important;text-align:left!important}
.explore-main-page .assistant .glass-bubble,.visual-hub-page .restaurant-assistant-card .glass-bubble{position:relative!important;inset:auto!important;grid-column:1!important;margin:0!important;transform:none!important}.explore-main-page .assistant>span:nth-child(2),.visual-hub-page .restaurant-assistant-card>span:nth-child(2){grid-column:2!important;min-width:0!important}.explore-main-page .assistant>b,.visual-hub-page .restaurant-assistant-card>b{position:relative!important;inset:auto!important;grid-column:3!important;justify-self:end!important;margin:0!important}
/* Lista spesa: niente layer può intercettare il tocco. */
.shopping-page .casa-form-card,.shopping-page .shopping-quick,.shopping-page .casa-form-row,.shopping-page .casa-button-row,.shopping-page .shopping-list{position:relative!important;z-index:10!important;isolation:isolate!important}
.shopping-page .casa-form-card::before,.shopping-page .casa-form-card::after,.shopping-page .shopping-quick::before,.shopping-page .shopping-quick::after{pointer-events:none!important}
.shopping-page button,.shopping-page input,.shopping-page select,.shopping-page label{position:relative!important;z-index:12!important;pointer-events:auto!important;touch-action:manipulation!important}
.shopping-page .shopping-quick button{min-height:39px!important;cursor:pointer!important}
/* Trasporti: pulsanti app leggibili e coerenti. */
.transport-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.transport-app-grid .cr-btn{min-height:52px!important}.transport-app-grid .wide{grid-column:1/-1}.transport-note{margin:10px 0 0!important;color:rgba(255,255,255,.70)!important;font-size:.70rem!important;line-height:1.45!important}.transport-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.06);font-size:.63rem;font-weight:750;margin-top:8px}
@media(max-width:390px){.transport-app-grid{grid-template-columns:1fr}.transport-app-grid .wide{grid-column:auto}.explore-main-page .ex-card strong,.visual-hub-page .restaurant-ex-card strong{font-size:.72rem!important}}


/* V59 — stato selezionato: blu, coerente e immediatamente visibile. */
.shopping-page .shopping-quick button.selected,
.shopping-page .shopping-quick button[aria-pressed="true"]{
  background:linear-gradient(145deg,rgba(59,130,246,.96),rgba(29,78,216,.82))!important;
  border-color:rgba(191,219,254,.78)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,99,235,.28),inset 0 1px 0 rgba(255,255,255,.35)!important;
}
.shopping-page .shopping-item.done{
  background:linear-gradient(145deg,rgba(59,130,246,.55),rgba(30,64,175,.42))!important;
  border-color:rgba(147,197,253,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.shopping-page .shopping-item.done .shopping-name{color:#fff!important;opacity:1!important}
.shopping-page .shopping-item.done .shopping-cat{color:rgba(255,255,255,.82)!important}
.shopping-page .shopping-check{accent-color:#3b82f6!important}

.checkout-row.checked{
  background:linear-gradient(145deg,rgba(59,130,246,.55),rgba(30,64,175,.42))!important;
  border-color:rgba(147,197,253,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.checkout-row.checked strong{color:#fff!important}
.checkout-row.checked span{color:rgba(255,255,255,.82)!important}
.checkout-row input{accent-color:#3b82f6!important}
