/*
 VicoLPD Rendering Core 1.0.9.0
 This file is loaded AFTER template.css.
 Templates own layout/spacing/typography composition.
 Core owns Designer-controlled values and technical tile rendering.
*/
html,
body,
.page{
  background:var(--bg)!important;
}
.content{
  background:transparent!important;
}
.tile,
.top-info,
.wifi,
.info-card,
.info-tile{
  border-radius:var(--radius)!important;
  border-color:var(--line)!important;
  box-shadow:0 var(--shadow-y,14px) 34px rgba(0,0,0,var(--shadow-strength,.32))!important;
}
.tile:not(.has-image):not([style*="url("]),
.top-info:not(.has-image),
.wifi:not(.has-image),
.info-card:not(.has-image),
.info-tile:not(.has-image){
  background:color-mix(
    in srgb,
    var(--tile-color,var(--tile,#1f1d1a)) calc(var(--tile-opacity,1)*100%),
    transparent
  )!important;
}
.hero-page-title{
  color:var(--hero-title-color,var(--text))!important;
}
.welcome h1{
  color:var(--hero-welcome-color,var(--text))!important;
}
.welcome p{
  color:var(--hero-sub-color,var(--text))!important;
}
.welcome-line{
  background:linear-gradient(90deg,transparent,var(--gold),transparent)!important;
}
.wifi-arrow,
.top-info .wifi-arrow,
.info-tile .arrow,
.info-card .arrow{
  display:none!important;
}


/* VicoLPD 1.0.10.5.28 – Canonical Tile Width Contract
   Dieser Core-Vertrag gilt template- und viewport-unabhängig:
   Standard/Bild = 1 von 2 Spalten
   Highlight groß = 2 von 2 Spalten
*/
.grid,
.tiles{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
}
.tile{
  grid-column:auto!important;
  min-width:0!important;
  max-width:100%!important;
}
.tile.image{
  grid-column:auto!important;
}
.tile.highlight,
.tile.is-highlight{
  grid-column:span 2!important;
}

/* VicoLPD 1.0.10.5.29 – Strong Canonical Tile Contract
   Absichtlich höhere Spezifität als Template-Mobile-Regeln.
   Bedeutung der Kacheltypen darf kein Template verändern.
*/
html body .page .grid.tiles,
html body .page .grid,
html body .page .tiles{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
}

html body .page .grid.tiles > .tile,
html body .page .grid > .tile,
html body .page .tiles > .tile{
  grid-column:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
}

html body .page .grid.tiles > .tile.image,
html body .page .grid > .tile.image,
html body .page .tiles > .tile.image{
  grid-column:auto!important;
}

html body .page .grid.tiles > .tile.highlight,
html body .page .grid.tiles > .tile.is-highlight,
html body .page .grid > .tile.highlight,
html body .page .grid > .tile.is-highlight,
html body .page .tiles > .tile.highlight,
html body .page .tiles > .tile.is-highlight{
  grid-column:span 2!important;
}

/* VicoLPD 1.0.10.5.17 – Strong Footer Designer Contract
   Core Designerwerte gewinnen immer gegen Template-Footerregeln. */
html body .page .vico-footer,
html body[class*="template-"] .page .vico-footer,
html body[class*="template-"] .vico-footer{
  background:var(--footer-bg,#080706)!important;
  background-color:var(--footer-bg,#080706)!important;
  color:var(--footer-text,#ffffff)!important;
}

html body .page .vico-footer b,
html body .page .vico-footer strong,
html body .page .vico-footer span,
html body .page .vico-footer a,
html body .page .vico-footer small,
html body[class*="template-"] .vico-footer b,
html body[class*="template-"] .vico-footer strong,
html body[class*="template-"] .vico-footer span,
html body[class*="template-"] .vico-footer a,
html body[class*="template-"] .vico-footer small{
  color:var(--footer-text,#ffffff)!important;
}

/* Template darf Layout/Abstände behalten, aber nicht die Designerfarbe. */
html body[class*="template-"] .vico-footer a{
  text-decoration-color:color-mix(
    in srgb,
    var(--footer-text,#ffffff) 42%,
    transparent
  )!important;
}
