/* =========================================================
   Casa Ruggiu Domhun V43
   Linguaggio visivo unico: "Esplora Mauritius"
   - nessun angolo vivo sui pannelli
   - icone 39x39 / raggio 13 come Esplora
   - vetro scuro + highlight morbido
   - Home riallineata allo stesso sistema
   ========================================================= */
:root{
  --cr43-radius-page:30px;
  --cr43-radius-card:19px;
  --cr43-radius-small:13px;
  --cr43-icon:39px;
  --cr43-border:rgba(255,255,255,.30);
  --cr43-border-strong:rgba(255,255,255,.42);
  --cr43-surface:
    radial-gradient(circle at 18% -8%,rgba(255,255,255,.13),transparent 34%),
    linear-gradient(145deg,rgba(19,34,57,.88),rgba(5,14,27,.91));
  --cr43-card:
    radial-gradient(circle at 88% 8%,rgba(255,255,255,.13),transparent 30%),
    linear-gradient(145deg,rgba(31,48,73,.82),rgba(8,20,38,.88));
  --cr43-shadow:0 12px 28px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.18);
}

/* Main shells: same width, material and soft perimeter as Esplora. */
.cr-page,
.container,
.shell,
main.page,
main.casa-page-shell,
main.page-shell,
.house-page{
  width:min(580px,calc(100% - 28px))!important;
  max-width:580px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border:1px solid var(--cr43-border)!important;
  border-radius:var(--cr43-radius-page)!important;
  background:var(--cr43-surface)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.20)!important;
  overflow:visible;
}

/* Never leave a visually sharp rectangular section in guest pages. */
.cr-card,.card-link,.contact,.contact-card,.info-card,.glass-box,
.detail-section,.detail-panel,.detail-box,.fact,.fact32,.fact-v32,.facts-v32,
.status-box,.status-item,.weather-live,.house-tip,.cr-house-tip,.tip,
.notice,.cr-notice,.pack-item,.boat-guide-card,.boat-price,.boat-route,.details,
.quiz-question,.quiz-result,.casa-page-questionnaire,.choice-launch,.choice-card,
.easy-panel,.ios-step-box,.check-item,.consulate,.wifi-row,.publication-action,.book,.category,
.beach-card,.photo-card,.attraction-card,.market-card,.supermarket-card,.shopping-card,
.transport-card,.route-card,.trip-card,.day-card,.result-card,.activity-card,.place-card,
.cr-filter-box,.filter-box,.place-quiz,.metro-panel,.flight-panel,.intro-box,.emergency-box,
.tool-card,.stay-item,.culture-card,.quiz32,.search-box,.box,.quiz-card,.cards,
.qrcode-box,.tip-box,.boat-section,.market-today,.supermarket-intro,
.cr-card-list>article,.detail-explain-item,.rating-item,.sim-card,.religious-card{
  border-radius:var(--cr43-radius-card)!important;
}

/* Generic content cards inherit the calm dark gradient used by Esplora. */
.cr-card,.contact,.contact-card,.info-card,.glass-box,.detail-section,.detail-panel,.detail-box,
.status-box,.weather-live,.house-tip,.cr-house-tip,.tip,.notice,.cr-notice,.pack-item,
.boat-guide-card,.boat-price,.boat-route,.details,.quiz-question,.quiz-result,
.choice-card,.easy-panel,.check-item,.consulate,.publication-action,.book,.category,
.beach-card,.photo-card,.attraction-card,.market-card,.supermarket-card,.shopping-card,
.transport-card,.route-card,.trip-card,.day-card,.result-card,.activity-card,.place-card,
.cr-filter-box,.filter-box,.place-quiz,.metro-panel,.flight-panel,.intro-box,.emergency-box,
.tool-card,.stay-item,.culture-card,.quiz32,.search-box,.box,.quiz-card,.sim-card,
.cr-card-list>article,.detail-explain-item,.rating-item{
  border:1px solid var(--cr43-border)!important;
  background:var(--cr43-card)!important;
  box-shadow:var(--cr43-shadow)!important;
}

/* Tips had a flat left side in older pages: round the whole element. */
.cr-house-tip,.house-tip,.tip{
  position:relative!important;
  border-left:1px solid var(--cr43-border)!important;
  padding-left:15px!important;
  overflow:hidden!important;
}
.cr-house-tip::before,.house-tip::before,.tip::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:999px;
  background:#fbbf24;
}

/* Small information notes also keep rounded edges. */
.mini-note{
  border:1px solid var(--cr43-border)!important;
  border-left:1px solid var(--cr43-border)!important;
  border-radius:var(--cr43-radius-small)!important;
  background:var(--cr43-card)!important;
  box-shadow:var(--cr43-shadow)!important;
}

/* Filter areas were the most visible square boxes in V42. */
.cr-filter-box,.filter-box{
  overflow:hidden!important;
  padding:14px!important;
}
.cr-filter-btn,.filter-btn,.sim-tab,.chip,.badge,.tag,.cr-badge,.cr-feature,.feature{
  border-radius:999px!important;
}

/* Controls and actions: rounded like Esplora, never hard-cornered. */
button,.cr-btn,.action,.action-btn,.sim-buy,.quiz-open-btn,.quiz-action,
.detail-actions a,.photo-actions a,.attraction-actions a,.publication-action,
.cr-back,.back,.back-link,.casa-back-link,.home{
  border-radius:14px!important;
}
.cr-lang-btn,.lang-btn{border-radius:999px!important}

/* Exact Esplora icon system everywhere. */
.service-icon,.cr-card-icon,.cr-tile-icon,.casa-menu-icon,.airport-icon,
.card-icon,.contact-icon,.sim-logo,.icon,.casa-visual-icon,.explore-start-icon,
.weather-symbol,.ios-step-icon,.glass-bubble{
  box-sizing:border-box!important;
  width:var(--cr43-icon)!important;
  height:var(--cr43-icon)!important;
  min-width:var(--cr43-icon)!important;
  min-height:var(--cr43-icon)!important;
  flex:0 0 var(--cr43-icon)!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:13px!important;
  background:
    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))!important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.65),0 7px 16px rgba(0,0,0,.25)!important;
  overflow:hidden!important;
  font-size:1.12rem!important;
  line-height:1!important;
}
.cr-card-icon img,.sim-logo img,.service-icon img,.card-icon img,.contact-icon img{
  width:calc(100% - 6px)!important;
  height:calc(100% - 6px)!important;
  object-fit:contain!important;
  display:block!important;
  border-radius:9px!important;
}

/* Beach ratings: no rectangular strip around labels such as Snorkeling. */
.rating-label{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* ---------------------------------------------------------
   HOME — keep the useful weather layout but make the whole
   page read visually as a sibling of Esplora Mauritius.
   --------------------------------------------------------- */
body.home-page{
  display:block!important;
  padding:max(20px,env(safe-area-inset-top)) 14px max(58px,env(safe-area-inset-bottom))!important;
}
.home-page .top-controls{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  margin:0 auto 16px!important;
  display:flex!important;
  justify-content:center!important;
  pointer-events:auto!important;
}
.home-page .lang-switch{gap:7px!important}
.home-page .lang-btn{
  min-width:67px!important;
  min-height:42px!important;
  padding:8px 11px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  background:rgba(8,20,42,.76)!important;
  font-size:.78rem!important;
  font-weight:800!important;
}
.home-page .lang-btn.active{
  background:linear-gradient(145deg,rgba(72,145,255,.90),rgba(33,91,214,.72))!important;
  border-color:rgba(180,216,255,.74)!important;
}
.home-page .container{
  margin-top:0!important;
  padding:22px 18px 25px!important;
  text-align:center!important;
}
.home-page .brand-logo-container{margin:16px 0 8px!important}
.home-page .brand-logo{
  width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;
  border-radius:13px!important;
}
.home-page h1{font-family:Georgia,"Times New Roman",serif!important;font-size:1.82rem!important;margin:8px 0 7px!important}
.home-page .welcome-msg{font-size:.90rem!important}
.home-page .subtitle{font-size:.82rem!important;margin-bottom:18px!important}

/* Weather group = one rounded glass panel, with soft subcells. */
.home-page .info-bar{
  gap:4px!important;
  padding:7px!important;
  border:1px solid var(--cr43-border)!important;
  border-radius:19px!important;
  background:var(--cr43-card)!important;
  box-shadow:var(--cr43-shadow)!important;
}
.home-page .info-box{
  min-height:48px!important;
  padding:5px 2px!important;
  border:0!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.home-page .news-ticker,.home-page .hourly-container,.home-page .glass-box{
  border-radius:19px!important;
  border:1px solid var(--cr43-border)!important;
  background:var(--cr43-card)!important;
  box-shadow:var(--cr43-shadow)!important;
}
.home-page .ticker-label{border-radius:18px 12px 12px 18px!important}
.home-page .hourly-item{border-radius:13px!important}

/* Home service cards use the exact Esplora composition. */
.home-page .cards-container{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.home-page .card-link{
  --home-a:#315f9f;--home-b:#223b69;
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  min-height:96px!important;
  padding:14px 42px 12px 56px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:19px!important;
  background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.20),transparent 29%),linear-gradient(145deg,var(--home-a),var(--home-b))!important;
  box-shadow:0 11px 25px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.19)!important;
  overflow:hidden!important;
  text-align:left!important;
}
.home-page .card-link::after{
  content:"";position:absolute;width:64px;height:64px;border-radius:50%;right:-16px;top:-20px;background:rgba(255,255,255,.14);pointer-events:none;
}
.home-page .cards-container>a.card-link:nth-of-type(1){--home-a:#315f9f;--home-b:#223b69}
.home-page .cards-container>a.card-link:nth-of-type(2){--home-a:#13b5cf;--home-b:#147ba1}
.home-page .cards-container>a.card-link:nth-of-type(3){--home-a:#8a4bd8;--home-b:#5b2a9d}
.home-page .cards-container>a.card-link:nth-of-type(4){--home-a:#e33f4f;--home-b:#a61e2e}
.home-page .card-link .service-icon{position:absolute!important;left:10px!important;bottom:10px!important;z-index:3!important}
.home-page .card-link .service-copy{position:relative!important;z-index:2!important;align-items:flex-start!important;text-align:left!important}
.home-page .card-link .service-title{font-size:.78rem!important;font-weight:820!important;line-height:1.15!important}
.home-page .card-link .service-copy small{margin-top:4px!important;font-size:.61rem!important;line-height:1.28!important;color:rgba(255,255,255,.78)!important}
.home-page .card-link .service-chevron{position:absolute!important;right:12px!important;bottom:12px!important;z-index:3!important;font-size:1.4rem!important;color:#fff!important}

/* Larger screen: do not let the design become a tiny phone card in a huge desktop window. */
@media(min-width:900px){
  .cr-page,.container,.shell,main.page,main.casa-page-shell,main.page-shell,.house-page{max-width:650px!important}
}
@media(max-width:420px){
  .cr-page,.container,.shell,main.page,main.casa-page-shell,main.page-shell,.house-page{width:100%!important;border-radius:26px!important}
  .home-page .cards-container{grid-template-columns:1fr!important}
  .home-page .card-link{min-height:84px!important}
}
