/* FinVillaHub â€” Reference Mosaic Production Layer
   Derived from the supplied 1672x941 reference composition.
   Homepage-only scope. Preserve fv-immersive-main shell. */
.fvh-reference-home{
  --ref-max:1672;
  width:100%;
  max-width:1672px;
  margin:0 auto;
  background:#fff;
  overflow:hidden;
  position:relative;
  color:#111;
}
.fvh-reference-home *{box-sizing:border-box}
.ref-row{width:100%;display:grid;gap:0;margin:0;padding:0}
.ref-card{display:block;min-width:0;overflow:hidden;background:#fff;line-height:0}
.ref-card img{display:block;width:100%;height:100%;object-fit:cover}
.ref-r1{grid-template-columns:619fr 292fr 319fr 426fr;aspect-ratio:1672/351}
.ref-r2{grid-template-columns:404fr 410fr 405fr 414fr;aspect-ratio:1672/260}
.ref-r3{grid-template-columns:246fr 270fr 246fr 254fr 270fr 338fr;aspect-ratio:1672/155}
.ref-r4{
  grid-template-columns:repeat(7,minmax(0,1fr)) 68px 71px 77px 79px minmax(240px,390px);
  align-items:start;
  min-height:113px;
  background:#fff;
  padding:4px 14px 0;
  column-gap:12px;
}
.ref-r4 img{display:block;max-width:100%;height:85px;width:auto;margin:0 auto;object-fit:contain}
.ref-r4 span{display:block;text-align:center;font:600 10px/13px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#111}
.ref-icon,.ref-badge,.ref-brand{min-width:0;text-decoration:none;color:#111;text-align:center}
.ref-icon{display:block}
.ref-badge{display:block}
.ref-brand{align-self:start}
.ref-brand img{height:109px!important;width:100%!important;max-width:390px;margin:0 auto}
.ref-r5{width:100%;line-height:0;background:#fff}
.ref-r5 img{display:block;width:100%;height:auto}
.ref-live-context{
  position:absolute;
  left:12px;bottom:10px;
  display:flex;gap:6px;flex-wrap:wrap;
  max-width:calc(100% - 24px);
  padding:5px 7px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  font:700 9px/12px Arial,sans-serif;
  color:#17201e;
  z-index:4;
}
.ref-live-context span{white-space:nowrap}
@media(max-width:850px){
  .fvh-reference-home{width:100%;max-width:none}
  .ref-r1,.ref-r2,.ref-r3{display:block;aspect-ratio:auto}
  .ref-card{width:100%;height:auto}
  .ref-card img{width:100%;height:auto;object-fit:contain}
  .ref-r4{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    padding:10px 8px;
    min-height:0;
  }
  .ref-r4 img{height:auto;width:min(74px,100%);max-height:74px}
  .ref-brand{grid-column:1/-1}
  .ref-brand img{height:auto!important;width:min(390px,100%)!important}
  .ref-r5 img{width:100%;height:auto}
  .ref-live-context{
    position:static;
    margin:8px;
    max-width:none;
    border-radius:14px;
  }
}
@media(max-width:430px){
  .ref-r4{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* =========================================================
   P20.13 — REFERENCE MOSAIC HOMEPAGE GEOMETRY OVERRIDE
   Scoped to the homepage immersive main only.
   Does not modify global container/sidebar CSS.
   ========================================================= */

.fv-app-main.fv-immersive-main {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

.fv-app-main.fv-immersive-main > .container.fv-container {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.fv-app-main.fv-immersive-main .fvh-reference-home {
    width: 100%;
    max-width: 1672px;
    margin-inline: auto;
}

/* =========================================================
   P20.13 — HOMEPAGE REFERENCE COMPOSITION
   Hide only the global desktop sidebar while the reference
   mosaic homepage is active.
   Other application pages remain unchanged.
   ========================================================= */

body:has(.fv-app-main.fv-immersive-main) .fv-sidebar {
    display: none !important;
}
