/* ManualeReef UI consolidation layer — sito v1.2.42
   Obiettivo: una sola rifinitura finale per home post-login e pagine interne,
   senza toccare la logica della PWA. */

:root{
  --mr-navy:#03182a;
  --mr-navy-2:#062a48;
  --mr-cyan:#61d7ec;
  --mr-gold:#e1ad42;
  --mr-gold-soft:#ffd063;
  --mr-ink:#082943;
  --mr-copy:#455f73;
  --mr-paper:#f4f7f9;
  --mr-line:#d7e1e7;
}

/* Evita focus nativi tratteggiati e mantiene comunque un focus accessibile. */
#protectedPage a:focus-visible,
#protectedPage button:focus-visible,
#protectedPage input:focus-visible,
#protectedPage select:focus-visible,
#protectedPage textarea:focus-visible{
  outline:2px solid var(--mr-cyan)!important;
  outline-offset:3px!important;
}

/* Header post-login: stesso linguaggio della home pubblica. */
.site-header .header-inner{max-width:none!important;}
.site-header nav a{border:0!important;outline-style:none;}
.site-header nav a.nav-active,
.site-header nav a[aria-current="page"]{
  color:#fff!important;
  opacity:1!important;
}
.site-header nav a.nav-active::after,
.site-header nav a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:14px;
  height:2px;
  border-radius:999px;
  background:var(--mr-cyan);
}

/* Sottosezione Il Manuale. */
.manual-context-wrap{
  background:#08233b!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.manual-context-nav a{border-left:0!important;border-right:0!important;border-top:0!important;}
.manual-context-nav a.manual-context-active{
  color:#fff!important;
  border-bottom-color:var(--mr-gold)!important;
}

/* Hero comuni: stessa profondità visiva e stessa gerarchia tipografica. */
.editorial-page .inner-hero,
.utility-page .inner-hero,
.personal-page .inner-hero{
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:54px!important;
  padding-bottom:54px!important;
}
.editorial-page .inner-hero h1,
.utility-page .inner-hero h1,
.personal-page .inner-hero h1{
  font-size:clamp(44px,4.6vw,64px)!important;
  line-height:1.02!important;
  letter-spacing:-.025em;
}
.editorial-page .inner-hero>p,
.utility-page .inner-hero>p,
.personal-page .inner-hero>p{
  max-width:830px;
  font-size:16px;
  line-height:1.65;
}

/* Superfici editoriali: contrasto unico e niente link visitati viola. */
.editorial-page{background:var(--mr-paper)!important;color:var(--mr-ink)!important;}
.editorial-page .manual-continue-card:visited,
.editorial-page .content-card:visited,
.editorial-page .manual-home-feature:visited,
.editorial-page .manual-index-cta:visited,
.editorial-page .resource-index-band>a:visited{color:inherit!important;}

/* Card "Continua da qui" — un solo componente stabile. */
.manual-continue{
  border:1px solid var(--mr-line)!important;
  background:linear-gradient(180deg,#f8fafb,#f1f5f7)!important;
  box-shadow:0 14px 32px rgba(8,41,67,.05)!important;
}
.manual-continue-grid{align-items:stretch!important;}
.manual-continue-card,
.manual-continue-card.manual-exit-link{
  position:relative;
  min-height:172px!important;
  padding:24px 64px 24px 24px!important;
  border:1px solid #d3dee5!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--mr-ink)!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.manual-continue-card:hover{
  border-color:#d8a845!important;
  box-shadow:0 12px 26px rgba(8,41,67,.07)!important;
  transform:translateY(-1px);
}
.manual-continue-card .manual-continue-kind{color:#91600b!important;}
.manual-continue-card strong{color:var(--mr-ink)!important;}
.manual-continue-card small{color:#536b7d!important;line-height:1.45!important;}
.manual-continue-card .manual-continue-arrow{
  color:#d8a845!important;
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
}

/* Link di uscita dal Manuale: niente bordi o rettangoli tratteggiati. */
.manual-exit-link,
.resource-links a.manual-exit-link{
  border-style:solid!important;
  outline-style:none!important;
}
.site-header nav a.manual-exit-link{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.site-header nav a.manual-exit-link::before,
.site-header nav a.manual-exit-link::after{display:none!important;content:none!important;}
.resource-links a.manual-exit-link{
  border:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Pannelli principali editoriali e utility: stessa misura di bordi/ombre. */
.editorial-page .deep-card,
.editorial-page .content-card,
.editorial-page .interactive-panel,
.editorial-page .check-card,
.editorial-page .relation-grid article,
.editorial-page .flow-steps article,
.editorial-page .compare-wrap,
.utility-page .tool-card,
.utility-page .collapsible-tool{
  border-color:var(--mr-line)!important;
  box-shadow:0 10px 28px rgba(8,41,67,.055)!important;
}

/* Navigazione La mia vasca uniforme tra dashboard, animali e problema. */
.tank-subnav{
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.tank-subnav::-webkit-scrollbar{display:none;}
.tank-subnav a.active,
.tank-subnav a.subnav-active,
.tank-subnav a[aria-current="page"]{
  color:#fff!important;
  background:#0c456d!important;
  border-color:#d8a845!important;
}

/* Footer coerente con la pre-login. */
.editorial-page footer,
.utility-page footer,
.personal-page footer{
  max-width:none!important;
  margin:0!important;
  padding:25px clamp(24px,5vw,64px) 30px!important;
  background:var(--mr-navy)!important;
  color:#9fb2c1!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.editorial-page footer a,
.utility-page footer a,
.personal-page footer a{color:#d1e1ea!important;}
.footer-credit{color:#819aaa!important;}

/* Back-to-top: stessa forma e distanza dal contenuto del footer. */
.back-to-top{
  right:24px!important;
  bottom:24px!important;
  background:linear-gradient(180deg,#f3c95d,#dfa93d)!important;
  border-color:rgba(7,24,43,.15)!important;
  color:#07182b!important;
}

@media(max-width:820px){
  .site-header nav a.nav-active::after,
  .site-header nav a[aria-current="page"]::after{bottom:2px;}

  .editorial-page .inner-hero,
  .utility-page .inner-hero,
  .personal-page .inner-hero{
    min-height:0;
    padding:38px 18px!important;
  }
  .editorial-page .inner-hero h1,
  .utility-page .inner-hero h1,
  .personal-page .inner-hero h1{font-size:clamp(38px,10vw,48px)!important;}
  .editorial-page .inner-hero>p,
  .utility-page .inner-hero>p,
  .personal-page .inner-hero>p{font-size:15px;}

  .manual-context-inner{padding:0 16px!important;}
  .manual-context-label{display:none;}
  .manual-context-nav{width:100%;gap:2px!important;}

  .manual-continue{margin-left:16px!important;margin-right:16px!important;padding:20px 16px!important;}
  .manual-continue-grid{grid-template-columns:1fr!important;}
  .manual-continue-card,.manual-continue-card.manual-exit-link{min-height:0!important;padding:20px 54px 20px 20px!important;}

  .tank-subnav{overflow-x:auto!important;display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;}
  .tank-subnav a{flex:0 0 auto!important;white-space:nowrap!important;}

  .editorial-page footer,
  .utility-page footer,
  .personal-page footer{padding:24px 76px 28px 18px!important;}
  .back-to-top{right:14px!important;bottom:18px!important;}
}


/* V1.2.44 — navigazione sticky coordinata */
:root{--mr-site-header-h:82px;}
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  box-shadow:0 8px 24px rgba(2,18,32,.16);
}
.manual-context-wrap{
  position:sticky!important;
  top:var(--mr-site-header-h,82px)!important;
  z-index:4900!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.tank-subnav,
.manual-return-wrap{
  top:var(--mr-site-header-h,82px)!important;
}
@media(max-width:820px){
  /* Sul telefono resta sticky il menu principale; la sottobar Manuale rimane
     subito sotto quando presente, con offset calcolato dall'altezza reale dell'header. */
  .manual-context-wrap{top:var(--mr-site-header-h,104px)!important;}
  .tank-subnav,.manual-return-wrap{top:var(--mr-site-header-h,104px)!important;}
}

/* V1.2.46 — Backup Light / Completo */
.page-lamiavasca .backup-type-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.page-lamiavasca .backup-type-card{
  display:grid;
  gap:5px;
  padding:14px;
  border:1px solid #cbd7de;
  border-radius:12px;
  background:#f8fbfd;
  color:#17384f;
}
.page-lamiavasca .backup-type-card.complete{
  background:#fff7e4;
  border-color:#d7ad55;
}
.page-lamiavasca .backup-type-card strong{color:#17384f!important;font-size:15px;}
.page-lamiavasca .backup-type-card small{color:#526b7c;line-height:1.45;font-size:11px;}
.page-lamiavasca .backup-type-badge{
  display:inline-flex;
  width:max-content;
  padding:4px 7px;
  border-radius:999px;
  background:#d9edf7;
  color:#0b567d!important;
  font-size:9px!important;
  font-weight:900;
  letter-spacing:.09em;
}
.page-lamiavasca .backup-type-card.complete .backup-type-badge{background:#f3d991;color:#6b4a04!important;}
.page-lamiavasca .backup-actions .backup-complete-btn{background:#d8a845!important;color:#061a2f!important;border-color:#c18c27!important;}
.page-lamiavasca .backup-actions .backup-light-btn{background:#fff!important;color:#0d527a!important;border-color:#7ea7bf!important;}
@media(max-width:720px){
  .page-lamiavasca .backup-type-grid{grid-template-columns:1fr;}
  .page-lamiavasca .backup-actions{width:100%;}
  .page-lamiavasca .backup-actions button,.page-lamiavasca .backup-actions .import-label{width:100%;text-align:center;}
}

/* v1.3.13.63 — icon system normalization: transparent assets, contrast-safe line language */
:is(.feature-icon,.tool-icon,.card-icon,.academy-icon,.resource-icon,.contact-icon) svg{background:transparent!important;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(4,38,61,.12))}:is(.dark,.navy,.hero,.site-footer) :is(.feature-icon,.tool-icon,.card-icon) svg{filter:drop-shadow(0 0 5px rgba(58,211,239,.2))}
