/* =========================================================
   Casa Ruggiu Domhun V49 — SISTEMA UI UNIFICATO
   Nessun redesign: unifica misure, spaziature, icone e card.
   Riferimento visivo: Esplora Mauritius + Ristoranti.
   ========================================================= */
:root{
  --casa-ui-icon:39px;
  --casa-ui-icon-radius:13px;
  --casa-ui-control-h:65px;
  --casa-ui-card-radius:19px;
  --casa-ui-panel-radius:22px;
  --casa-ui-gap:10px;
  --casa-ui-line:rgba(255,255,255,.24);
  --casa-ui-panel:radial-gradient(circle at 90% 5%,rgba(255,255,255,.09),transparent 29%),linear-gradient(145deg,rgba(31,48,73,.76),rgba(8,20,38,.88));
  --casa-ui-icon-bg:radial-gradient(circle at 28% 15%,rgba(255,255,255,.50),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.27),rgba(255,255,255,.08));
}

/* ---------- icone: una sola misura in tutto il sito ---------- */
.service-icon,.cr-card-icon,.cr-tile-icon,.casa-menu-icon,.airport-icon,.card-icon,.contact-icon,.icon,
.sim-logo,.liquid-icon,.assistant-icon,.intro-icon,.explore-card-icon,.trip-filter-icon,.detail-icon,
.activity-icon,.place-icon,.tool-icon,.stay-item-icon,.weather-symbol{
  box-sizing:border-box!important;
  width:var(--casa-ui-icon)!important;
  height:var(--casa-ui-icon)!important;
  min-width:var(--casa-ui-icon)!important;
  min-height:var(--casa-ui-icon)!important;
  flex:0 0 var(--casa-ui-icon)!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.56)!important;
  border-radius:var(--casa-ui-icon-radius)!important;
  background:var(--casa-ui-icon-bg)!important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.58),0 7px 16px rgba(0,0,0,.23)!important;
  overflow:hidden!important;
  font-size:1.08rem!important;
  line-height:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.cr-card-icon img,.sim-logo img,.service-icon img,.card-icon img,.contact-icon img,.tool-icon img,.stay-item-icon img{
  width:calc(100% - 6px)!important;
  height:calc(100% - 6px)!important;
  max-width:calc(100% - 6px)!important;
  max-height:calc(100% - 6px)!important;
  object-fit:contain!important;
  border-radius:9px!important;
}

/* ---------- contenitori principali ---------- */
.cr-page,.container,.page,.shell,main.page,main.casa-page-shell,main.page-shell,.house-page{
  border-radius:28px!important;
}
.cr-card,.contact,.contact-card,.info-card,.glass-box,.detail-panel,.detail-box,.market-card,
.religious-card,.sim-card,.beach-card,.boat-guide-card,.rating-item,.status-box,.status-item,
.cr-filter-box,.filter-box,.cr-notice,.notice,.cr-house-tip,.tip,.etiquette,.activity-intro,.quiz32,
.choice-card,.choice-question{
  border-radius:var(--casa-ui-card-radius)!important;
}

/* ---------- intestazioni card standard ---------- */
.cr-card-header{
  display:grid!important;
  grid-template-columns:var(--casa-ui-icon) minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
}
.cr-card-header>div{min-width:0!important}
.cr-card-title{margin:0 0 3px!important;line-height:1.16!important}

/* ---------- pulsanti e controlli ---------- */
.cr-btn,.action,.religious-action,.sim-buy,.action-btn,.quiz-open-btn,
.choice-actions button,.choice-result a,.photo-actions a,.transport-card a,.official-flight-links a{
  min-height:44px!important;
  border-radius:14px!important;
}
.cr-back,.casa-back-link,.back-link{
  border-radius:14px!important;
}
.cr-filter-btn,.filter-btn,.sim-tab,.activity-tab,.planner-option label,.choice-option label{
  border-radius:999px!important;
}

/* ---------- HOME: layout verticale pulito, senza sovrapposizioni ---------- */
.home-page .cards-container{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  gap:var(--casa-ui-gap)!important;
}
.home-page .cards-container>a.card-link{
  position:relative!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:var(--casa-ui-icon) minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:11px!important;
  width:100%!important;
  height:auto!important;
  min-height:var(--casa-ui-control-h)!important;
  padding:10px 12px!important;
  border:1px solid var(--casa-ui-line)!important;
  border-radius:var(--casa-ui-card-radius)!important;
  background:var(--casa-ui-panel)!important;
  box-shadow:0 10px 23px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.11)!important;
  overflow:hidden!important;
  text-align:left!important;
}
.home-page .cards-container>a.card-link::after{
  content:""!important;
  position:absolute!important;
  width:58px!important;height:58px!important;
  right:-16px!important;top:-20px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.07)!important;
  pointer-events:none!important;
}
.home-page .cards-container>a.card-link .service-icon{
  position:relative!important;
  inset:auto!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  margin:0!important;
  grid-column:1!important;
  align-self:center!important;
  justify-self:start!important;
  z-index:2!important;
}
.home-page .cards-container>a.card-link .service-copy{
  position:relative!important;
  inset:auto!important;
  grid-column:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:2px!important;
  min-width:0!important;
  z-index:2!important;
}
.home-page .cards-container>a.card-link .service-title{
  margin:0!important;
  font-size:.88rem!important;
  font-weight:800!important;
  line-height:1.16!important;
}
.home-page .cards-container>a.card-link .service-copy small{
  margin:0!important;
  font-size:.66rem!important;
  line-height:1.28!important;
  color:rgba(255,255,255,.68)!important;
}
.home-page .cards-container>a.card-link .service-chevron{
  position:relative!important;
  inset:auto!important;
  right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;
  grid-column:3!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
  font-size:1.45rem!important;
  line-height:1!important;
  color:rgba(255,255,255,.78)!important;
  z-index:2!important;
}

/* ---------- Meteo Home: ripristina lo scorrimento anche su iPhone ---------- */
.home-page .news-ticker-track{
  display:flex!important;
  width:max-content!important;
  will-change:transform!important;
  animation:casaTickerV49 34s linear infinite!important;
  animation-duration:34s!important;
  animation-iteration-count:infinite!important;
  animation-play-state:running!important;
}
.home-page .news-ticker-content{display:flex!important;flex-shrink:0!important;white-space:nowrap!important}
@keyframes casaTickerV49{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (hover:none), (pointer:coarse), (max-width:820px){
  .home-page .news-ticker-track{
    animation:casaTickerV49 34s linear infinite!important;
    animation-duration:34s!important;
    animation-iteration-count:infinite!important;
    transform:translate3d(0,0,0);
    will-change:transform!important;
  }
}

/* ---------- Esplora: conserva il design, uniforma solo icone ---------- */
.explore-assistant-card .liquid-icon,.restaurant-assistant-card .assistant-icon{width:var(--casa-ui-icon)!important;height:var(--casa-ui-icon)!important;flex:0 0 var(--casa-ui-icon)!important;border-radius:var(--casa-ui-icon-radius)!important}
.ex-card .glass-bubble{width:var(--casa-ui-icon)!important;height:var(--casa-ui-icon)!important;border-radius:var(--casa-ui-icon-radius)!important}

/* ---------- Ristoranti e launcher/questionari: stesso linguaggio ---------- */
.restaurant-assistant-card,.explore-assistant-card,.quiz-launch,.beach-quiz-launch{
  border-radius:22px!important;
}
.restaurant-assistant-card{
  grid-template-columns:var(--casa-ui-icon) minmax(0,1fr) 28px!important;
  gap:11px!important;
  min-height:88px!important;
  padding:13px!important;
}
.restaurant-assistant-copy strong{font-size:.88rem!important}
.restaurant-assistant-copy small{font-size:.68rem!important}
.choice-card{border-radius:24px!important}
.choice-question{border-radius:18px!important}

/* ---------- Menu verticali (Casa, Biblioteca e sezioni analoghe) ---------- */
.cards-list>.card-link,.casa-menu-button,.cr-card-list>.card-link{
  box-sizing:border-box!important;
  min-height:var(--casa-ui-control-h)!important;
  border-radius:var(--casa-ui-card-radius)!important;
}
.cards-list>.card-link .service-icon,.casa-menu-button .service-icon,.cr-card-list>.card-link .service-icon{
  position:relative!important;
  inset:auto!important;
  margin:0!important;
}

/* ---------- mobile ---------- */
@media(max-width:420px){
  .home-page .cards-container>a.card-link{min-height:var(--casa-ui-control-h)!important;padding:10px 11px!important}
  .cr-card-header{gap:10px!important}
}


/* =========================================================
   V49 — BASE GRAFICA BLOCCATA
   Misure definitive: icone 39×39, raggi 13px, menu 65px.
   Da qui in avanti si aggiungono funzioni senza ridisegnare.
   ========================================================= */
:root{
  --casa-ui-icon:39px;
  --casa-ui-icon-radius:13px;
  --casa-ui-control-h:65px;
}

/* Qualsiasi icona funzionale usata nelle pagine non-library */
.service-icon,.cr-card-icon,.cr-tile-icon,.casa-menu-icon,.airport-icon,.card-icon,.contact-icon,
.sim-logo,.liquid-icon,.assistant-icon,.intro-icon,.explore-card-icon,.trip-filter-icon,.detail-icon,
.activity-icon,.place-icon,.tool-icon,.stay-item-icon,.weather-symbol,.glass-bubble,.notice-icon,
.status-icon,.utility-icon,.shopping-icon,.feedback-icon,.problem-icon,.checkout-icon{
  width:39px!important;height:39px!important;min-width:39px!important;min-height:39px!important;
  flex:0 0 39px!important;border-radius:13px!important;box-sizing:border-box!important;
}

/* Esplora Mauritius: ogni tessera usa la stessa altezza di “Dove vado oggi?” */
.ex-grid{gap:10px!important}
.ex-card{
  min-height:65px!important;height:65px!important;
  padding:8px 34px 8px 56px!important;
  align-items:center!important;
}
.ex-card .glass-bubble{
  left:10px!important;top:50%!important;bottom:auto!important;
  transform:translateY(-50%)!important;
}
.ex-card .arrow{
  right:12px!important;top:50%!important;bottom:auto!important;
  transform:translateY(-50%)!important;
}
.ex-card strong{font-size:.76rem!important;line-height:1.14!important}
.assistant{
  min-height:65px!important;height:auto!important;
  grid-template-columns:39px minmax(0,1fr) 24px!important;
  padding:8px 11px!important;
}
.assistant .glass-bubble{width:39px!important;height:39px!important;transform:none!important}

/* Home e menu verticali */
.home-page .cards-container>a.card-link,
.cards-list>.card-link,.casa-menu-button,.cr-card-list>a.card-link,
.stay-tools-menu>a.card-link,.utility-menu>a.card-link{
  min-height:65px!important;height:65px!important;
  box-sizing:border-box!important;
  border-radius:19px!important;
}
.home-page .cards-container>a.card-link{padding:8px 11px!important}
.casa-menu-button,.cr-card-list>a.card-link,.stay-tools-menu>a.card-link,.utility-menu>a.card-link{
  display:grid!important;
  grid-template-columns:39px minmax(0,1fr) 22px!important;
  align-items:center!important;gap:11px!important;padding:8px 12px!important;
}
.casa-menu-button .service-copy,.cr-card-list>a.card-link .service-copy,
.stay-tools-menu>a.card-link .service-copy,.utility-menu>a.card-link .service-copy{min-width:0!important}

/* Launcher funzionali nuovi: stesso linguaggio di Esplora/Ristoranti */
.casa-utility-launch{
  position:relative;display:grid;grid-template-columns:39px minmax(0,1fr) 24px;gap:11px;
  align-items:center;min-height:65px;padding:8px 11px;margin:12px 0;
  border:1px solid rgba(255,255,255,.30);border-radius:19px;
  background:radial-gradient(circle at 90% 5%,rgba(255,255,255,.14),transparent 29%),linear-gradient(145deg,rgba(34,79,135,.82),rgba(11,31,58,.92));
  box-shadow:0 10px 23px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.16);
  color:#fff;text-decoration:none;overflow:hidden;
}
.casa-utility-launch strong{display:block;font-size:.82rem;line-height:1.16}
.casa-utility-launch small{display:block;margin-top:2px;color:rgba(255,255,255,.72);font-size:.64rem;line-height:1.24}
.casa-utility-launch .utility-arrow{font-size:1.45rem;justify-self:end}

/* Il mio soggiorno */
.stay-tools-menu,.utility-menu{display:grid;gap:10px;margin:12px 0 18px}
.stay-tools-menu>a.card-link,.utility-menu>a.card-link{
  position:relative;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.25);
  background:var(--casa-ui-panel);box-shadow:0 10px 23px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.11);
}
.stay-tools-menu .service-title,.utility-menu .service-title{font-size:.82rem!important;font-weight:800!important;line-height:1.15!important}
.stay-tools-menu small,.utility-menu small{display:block;margin-top:2px;color:rgba(255,255,255,.68);font-size:.63rem;line-height:1.22}
.stay-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:12px!important}
.stay-toolbar .casa-tool-btn{min-height:44px!important;border-radius:14px!important}

/* Form e liste delle nuove utilità */
.casa-form-card{padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:19px;background:rgba(0,0,0,.24)}
.casa-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.casa-input,.casa-select,.casa-textarea{
  width:100%;min-height:44px;padding:9px 11px;border:1px solid rgba(255,255,255,.22);border-radius:14px;
  background:rgba(7,18,34,.72);color:#fff;font:inherit;outline:none;
}
.casa-textarea{min-height:110px;resize:vertical}
.casa-input:focus,.casa-select:focus,.casa-textarea:focus{border-color:rgba(147,197,253,.8);box-shadow:0 0 0 2px rgba(59,130,246,.18)}
.casa-primary-btn,.casa-secondary-btn,.casa-danger-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;
  border:1px solid rgba(255,255,255,.22);border-radius:14px;color:#fff;font-weight:800;text-decoration:none;cursor:pointer;
}
.casa-primary-btn{background:linear-gradient(145deg,rgba(65,137,255,.92),rgba(31,83,201,.80))}
.casa-secondary-btn{background:rgba(255,255,255,.08)}
.casa-danger-btn{background:rgba(190,35,52,.70)}
.casa-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.casa-empty{padding:18px;border:1px dashed rgba(255,255,255,.2);border-radius:19px;color:rgba(255,255,255,.68);text-align:center;font-size:.74rem}

.shopping-quick{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.shopping-quick button,.problem-choice,.feedback-star{
  min-height:38px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;
  background:rgba(255,255,255,.06);color:#fff;font-weight:750;cursor:pointer;
}
.shopping-list{display:grid;gap:8px;margin-top:12px}
.shopping-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.045)}
.shopping-item.done .shopping-name{text-decoration:line-through;opacity:.55}
.shopping-check{width:22px;height:22px;accent-color:#3b82f6}
.shopping-name{font-size:.78rem;font-weight:750}.shopping-cat{display:block;margin-top:2px;color:rgba(255,255,255,.55);font-size:.58rem}
.shopping-delete{width:34px;height:34px;border:0;border-radius:11px;background:rgba(220,38,38,.20);color:#fff;cursor:pointer}

.feedback-stars{display:flex;gap:7px;justify-content:center;margin:8px 0 14px}.feedback-star{font-size:1.3rem;min-width:44px;padding:4px}.feedback-star.active{background:rgba(245,158,11,.24);border-color:rgba(253,224,71,.62)}
.problem-choices{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.problem-choice.active{background:rgba(37,99,235,.65);border-color:rgba(147,197,253,.70)}
.checkout-list{display:grid;gap:8px;margin:12px 0}.checkout-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:start;padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.045)}
.checkout-row input{width:22px;height:22px;accent-color:#22c55e}.checkout-row strong{display:block;font-size:.76rem}.checkout-row span{display:block;margin-top:2px;color:rgba(255,255,255,.66);font-size:.65rem;line-height:1.35}
.checkout-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:10px 0}.checkout-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#3b82f6,#22c55e);transition:width .2s ease}

/* Alert globali: stessa misura delle icone e stesso raggio delle card */
.casa-ruggiu-alert{min-height:65px!important;border-radius:19px!important;padding:8px 11px!important}
.casa-ruggiu-alert-icon{width:39px!important;height:39px!important;min-width:39px!important;display:grid!important;place-items:center!important;border-radius:13px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.25)!important;font-size:1.05rem!important}

@media(max-width:390px){
  .casa-form-row,.casa-button-row{grid-template-columns:1fr}
  .ex-card{height:65px!important;min-height:65px!important}
}


/* =========================================================
   Casa Ruggiu Domhun V50 — AUDIT FINALE UI (NO REDESIGN)
   Base grafica bloccata. Solo uniformità, allineamenti e fix.
   Standard: icone 39x39 / raggio 13 / menu 65px.
   ========================================================= */
:root{
  --casa-ui-icon:39px;
  --casa-ui-icon-radius:13px;
  --casa-ui-control-h:65px;
  --casa-ui-card-radius:19px;
  --casa-ui-small-radius:14px;
  --casa-ui-border:rgba(255,255,255,.28);
  --casa-ui-border-soft:rgba(255,255,255,.18);
  --casa-ui-surface:radial-gradient(circle at 88% 8%,rgba(255,255,255,.11),transparent 30%),linear-gradient(145deg,rgba(31,48,73,.78),rgba(8,20,38,.90));
  --casa-ui-surface-soft:radial-gradient(circle at 12% 0%,rgba(255,255,255,.10),transparent 32%),linear-gradient(145deg,rgba(25,42,65,.70),rgba(8,20,38,.84));
  --casa-ui-shadow:0 9px 22px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.12);
  --casa-ui-blue:linear-gradient(145deg,rgba(65,137,255,.94),rgba(31,83,201,.84));
}

/* Tutte le icone funzionali condividono DAVVERO lo stesso componente. */
.service-icon,.cr-card-icon,.cr-tile-icon,.casa-menu-icon,.airport-icon,.card-icon,.contact-icon,.icon,
.sim-logo,.liquid-icon,.assistant-icon,.intro-icon,.explore-card-icon,.trip-filter-icon,.detail-icon,
.activity-icon,.place-icon,.tool-icon,.stay-item-icon,.weather-symbol,.glass-bubble,.notice-icon,
.status-icon,.utility-icon,.shopping-icon,.feedback-icon,.problem-icon,.checkout-icon{
  position:relative!important;
  inset:auto!important;
  width:var(--casa-ui-icon)!important;
  height:var(--casa-ui-icon)!important;
  min-width:var(--casa-ui-icon)!important;
  min-height:var(--casa-ui-icon)!important;
  flex:0 0 var(--casa-ui-icon)!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:start!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.52)!important;
  border-radius:var(--casa-ui-icon-radius)!important;
  background:radial-gradient(circle at 28% 15%,rgba(255,255,255,.46),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.25),rgba(255,255,255,.08))!important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.52),0 7px 16px rgba(0,0,0,.22)!important;
  overflow:hidden!important;
  font-size:1.08rem!important;
  line-height:1!important;
  transform:none!important;
}
.service-icon img,.cr-card-icon img,.cr-tile-icon img,.casa-menu-icon img,.airport-icon img,.card-icon img,.contact-icon img,.icon img,
.sim-logo img,.liquid-icon img,.assistant-icon img,.intro-icon img,.tool-icon img,.stay-item-icon img,.utility-icon img{
  display:block!important;
  width:calc(100% - 6px)!important;
  height:calc(100% - 6px)!important;
  max-width:calc(100% - 6px)!important;
  max-height:calc(100% - 6px)!important;
  object-fit:contain!important;
  border-radius:9px!important;
}

/* Lista spesa / Hai dubbi / launcher: icona, testo e freccia perfettamente allineati. */
.casa-utility-launch{
  display:grid!important;
  grid-template-columns:var(--casa-ui-icon) minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:11px!important;
  min-height:var(--casa-ui-control-h)!important;
  padding:8px 11px!important;
  border:1px solid var(--casa-ui-border)!important;
  border-radius:var(--casa-ui-card-radius)!important;
  background:var(--casa-ui-surface)!important;
  box-shadow:var(--casa-ui-shadow)!important;
}
.casa-utility-launch>span:nth-child(2){min-width:0!important;align-self:center!important}
.casa-utility-launch .utility-arrow{position:static!important;transform:none!important;align-self:center!important;justify-self:end!important;line-height:1!important}

/* Ristoranti e altri menu di categoria: stessa altezza e stessa icona dei menu Esplora. */
.explore-clean-grid{gap:10px!important}
.explore-clean-card{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:var(--casa-ui-icon) minmax(0,1fr) 20px!important;
  align-items:center!important;
  gap:10px!important;
  min-height:var(--casa-ui-control-h)!important;
  height:var(--casa-ui-control-h)!important;
  padding:8px 10px!important;
  border-radius:var(--casa-ui-card-radius)!important;
  text-align:left!important;
}
.explore-clean-card .liquid-icon{
  position:relative!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;
  grid-column:1!important;
}
.explore-clean-card strong{
  grid-column:2!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  font-size:.79rem!important;
  line-height:1.16!important;
}
.explore-clean-card .arrow{
  position:relative!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;
  grid-column:3!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
  line-height:1!important;
}

/* Card navigazione: regola definitiva 65px. */
.home-page .cards-container>a.card-link,.cards-list>.card-link,.casa-menu-button,.cr-card-list>a.card-link,
.stay-tools-menu>a.card-link,.utility-menu>a.card-link{
  box-sizing:border-box!important;
  min-height:var(--casa-ui-control-h)!important;
  height:var(--casa-ui-control-h)!important;
  border-radius:var(--casa-ui-card-radius)!important;
}

/* Dettagli luoghi / attività / spiagge: stesso materiale, stessi raggi e stessa gerarchia. */
.detail-hero-v32,.hero32,.detail-hero,.hero-city,.trip-detail-hero{
  border:1px solid var(--casa-ui-border)!important;
  border-radius:24px!important;
  box-shadow:0 15px 34px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.14)!important;
  overflow:hidden!important;
}
.facts-v32,.facts32,.facts-grid,.detail-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.fact-v32,.fact32,.fact,.detail-box,.rating-item,.status-item,
.see-v32>div,.log32>div,.detail-explain-item,.check-item,.pack-item{
  box-sizing:border-box!important;
  border:1px solid var(--casa-ui-border)!important;
  border-radius:16px!important;
  background:var(--casa-ui-surface-soft)!important;
  box-shadow:var(--casa-ui-shadow)!important;
}
.fact-v32,.fact32,.fact{padding:10px 7px!important;text-align:center!important}
.fact-v32 strong,.fact32 strong,.fact strong{font-size:.68rem!important;line-height:1.18!important}
.fact-v32 span,.fact32 span,.fact span{margin-top:4px!important;color:rgba(255,255,255,.72)!important;font-size:.63rem!important;line-height:1.26!important}
.detail-section{
  box-sizing:border-box!important;
  margin-top:14px!important;
  padding:14px!important;
  border:1px solid var(--casa-ui-border)!important;
  border-radius:var(--casa-ui-card-radius)!important;
  background:var(--casa-ui-surface)!important;
  box-shadow:var(--casa-ui-shadow)!important;
}
.detail-section h2{margin:0 0 10px!important;font-size:1rem!important;line-height:1.2!important}
.see-v32,.log32,.detail-explain-list{gap:8px!important}
.see-v32>div,.log32>div,.detail-explain-item{padding:11px 12px!important}
.route32,.details,.boat-route,.boat-price,.boat-guide-card{
  border:1px solid var(--casa-ui-border)!important;
  border-radius:16px!important;
  background:var(--casa-ui-surface-soft)!important;
  box-shadow:var(--casa-ui-shadow)!important;
}

/* Card/lista generiche: stesso sfondo scuro e niente pannelli di tonalità estranee. */
.cr-card,.contact-card,.info-card,.glass-box,.market-card,.religious-card,.sim-card,.beach-card,
.detail-panel,.detail-box,.status-box,.rating-item,.cr-filter-box,.filter-box,.casa-form-card,.stay-item{
  border-color:var(--casa-ui-border)!important;
  border-radius:var(--casa-ui-card-radius)!important;
  background:var(--casa-ui-surface)!important;
  box-shadow:var(--casa-ui-shadow)!important;
}
.cr-filter-box,.filter-box{overflow:hidden!important}

/* Azioni: primarie blu, secondarie neutre, altezza uguale. */
.cr-btn,.action,.action-btn,.religious-action,.sim-buy,.detail-actions a,.photo-actions a,.attraction-actions a,
.casa-primary-btn,.casa-secondary-btn,.casa-danger-btn{
  box-sizing:border-box!important;
  min-height:44px!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.cr-btn-primary,.cr-btn-map,.action.map,.religious-action.map,.casa-primary-btn{
  background:var(--casa-ui-blue)!important;
  border-color:rgba(176,211,255,.54)!important;
}
.cr-btn:not(.cr-btn-primary):not(.cr-btn-map),.action:not(.map),.religious-action:not(.map),.casa-secondary-btn{
  background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.055)),rgba(8,19,37,.54)!important;
  border-color:var(--casa-ui-border)!important;
}

/* Consiglio Casa Ruggiu: stessa card in ogni dettaglio. */
.cr-house-tip,.house-tip,.tip{
  border:1px solid var(--casa-ui-border)!important;
  border-radius:var(--casa-ui-card-radius)!important;
  background:var(--casa-ui-surface)!important;
  box-shadow:var(--casa-ui-shadow)!important;
}

/* Feedback: stelle grandi, tappabili, stato selezionato evidente. */
.feedback-stars{display:flex!important;justify-content:center!important;gap:8px!important;flex-wrap:nowrap!important;margin:10px 0 15px!important}
.feedback-star{
  -webkit-appearance:none!important;appearance:none!important;
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  padding:0!important;display:grid!important;place-items:center!important;
  border:1px solid var(--casa-ui-border)!important;border-radius:14px!important;
  background:var(--casa-ui-surface-soft)!important;color:rgba(255,255,255,.42)!important;
  font-size:1.45rem!important;line-height:1!important;cursor:pointer!important;touch-action:manipulation!important;
}
.feedback-star.active{color:#fcd34d!important;border-color:rgba(253,224,71,.72)!important;background:linear-gradient(145deg,rgba(245,158,11,.28),rgba(120,53,15,.25))!important;box-shadow:0 7px 18px rgba(245,158,11,.14),inset 0 1px 0 rgba(255,255,255,.18)!important}

/* Shopping / problemi / check-out: stessi componenti secondari. */
.shopping-quick button,.problem-choice{border-radius:999px!important}
.shopping-item,.checkout-row{border-color:var(--casa-ui-border-soft)!important;background:var(--casa-ui-surface-soft)!important}

@media(max-width:420px){
  .facts-v32,.facts32,.facts-grid,.detail-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .explore-clean-card{height:var(--casa-ui-control-h)!important;min-height:var(--casa-ui-control-h)!important}
}
