/* V4 Home composition. Layout only uses the shared V4 foundation tokens. */

.bq-hero{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr);
  align-items:end;
  gap:var(--space-8);
  min-height:286px;
  margin:0;
  padding:clamp(24px,4.5vw,46px);
  overflow:hidden;
  border:1px solid var(--line-200);
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,color-mix(in srgb,var(--amber-100) 54%,var(--surface-raised)) 0%,var(--surface-raised) 48%,color-mix(in srgb,var(--forest-500) 10%,var(--surface-raised)) 100%);
  box-shadow:var(--shadow-2);
}
.bq-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:260px;
  height:260px;
  right:-90px;
  top:-110px;
  border-radius:50%;
  background:color-mix(in srgb,var(--amber-400) 19%,transparent);
  filter:blur(2px);
}
.bq-hero h1{max-width:620px;margin:6px 0 var(--space-3);color:var(--forest-900);font-family:var(--font-display);font-size:clamp(42px,7vw,70px);font-weight:750;line-height:.94;letter-spacing:-.045em}
.bq-hero p{max-width:570px;margin:0;color:var(--ink-700);font-size:clamp(14px,1.7vw,17px);line-height:1.6}
.bq-hero img{width:100%;max-width:280px;max-height:220px;justify-self:end;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 18px 24px color-mix(in srgb,var(--forest-900) 10%,transparent))}

[data-home-daily],[data-home-tutorial],[data-home-recordings],[data-home-media],[data-home-progress]{margin-top:0}
[data-home-daily]{background:linear-gradient(145deg,var(--forest-900),var(--forest-700));border-color:var(--forest-900);box-shadow:var(--shadow-2)}
[data-home-daily] .bq-eyebrow{color:var(--amber-400)!important}
[data-home-daily] h2,[data-home-daily] p{color:var(--surface-raised)}
[data-home-daily] p{opacity:.86}
[data-home-daily] .bq-primary-button{margin-top:var(--space-4);border-color:var(--amber-400);background:var(--amber-400);color:var(--forest-900);box-shadow:none}
[data-home-daily] .bq-primary-button:hover{border-color:var(--amber-100);background:var(--amber-100)}

[data-home-progress] h2{font-family:var(--font-display)}

/* One-tap congregation/assignment access. The existing Assignments service
   decides whether the shortcut opens Assignments or congregation access. */
.bq-home-congregation{margin-top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:clamp(15px,2.5vw,20px);border-color:color-mix(in srgb,var(--forest-700) 18%,var(--line-200));background:linear-gradient(120deg,color-mix(in srgb,var(--amber-100) 36%,var(--surface-raised)),var(--surface-raised))}
.bq-home-congregation-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--forest-900);color:var(--amber-100)}
.bq-home-congregation-copy{display:grid;gap:2px;min-width:0}
.bq-home-congregation-copy .bq-eyebrow{margin:0;color:var(--forest-700);font-size:9px}
.bq-home-congregation-copy b{color:var(--ink-900);font-family:var(--font-display);font-size:clamp(16px,2.3vw,20px);line-height:1.2}
.bq-home-congregation-copy small{color:var(--ink-500);font-size:11px;font-weight:650;line-height:1.35}
.bq-home-congregation .bq-secondary-button{margin:0;white-space:nowrap}

/* Home assignment notification: existing Assignments service is the only data owner.
   Home renders only task metadata and routes into the existing Assignments workflow. */
.bq-home-assignments{margin-top:0;padding:clamp(18px,3vw,26px);border-color:color-mix(in srgb,var(--forest-700) 16%,var(--line-200));background:linear-gradient(145deg,var(--surface-raised),color-mix(in srgb,var(--forest-500) 4%,var(--surface-raised)))}
.bq-home-assignments[hidden]{display:none!important}
.bq-home-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
.bq-home-assignment-head h2{margin:2px 0 4px;color:var(--forest-900);font-family:var(--font-display);font-size:clamp(20px,2.7vw,26px);letter-spacing:-.02em}
.bq-home-assignment-head p:not(.bq-eyebrow){margin:0;color:var(--ink-500);font-size:12px;line-height:1.5}
.bq-home-assignment-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-4)}
.bq-home-assignment-row{width:100%;min-height:88px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-items:start;gap:7px 10px;padding:13px;border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-raised);color:inherit;text-align:left;font:inherit;cursor:pointer;box-shadow:none;transition:border-color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
.bq-home-assignment-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--forest-700) 30%,var(--line-200));background:color-mix(in srgb,var(--forest-500) 3%,var(--surface-raised))}
.bq-home-assignment-status{grid-column:1;justify-self:start;display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--line-200);border-radius:999px;background:var(--surface-subtle);color:var(--ink-700);font-size:9.5px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}
.bq-home-assignment-status.is-overdue{border-color:color-mix(in srgb,var(--danger) 35%,var(--line-200));background:color-mix(in srgb,var(--danger) 7%,var(--surface-raised));color:var(--danger)}
.bq-home-assignment-status.is-due-soon{border-color:color-mix(in srgb,var(--warning) 38%,var(--line-200));background:color-mix(in srgb,var(--warning) 8%,var(--surface-raised));color:var(--ink-800)}
.bq-home-assignment-status.is-in-progress{border-color:color-mix(in srgb,var(--info) 34%,var(--line-200));background:color-mix(in srgb,var(--info) 7%,var(--surface-raised));color:var(--ink-800)}
.bq-home-assignment-status.is-pending{border-color:color-mix(in srgb,var(--forest-700) 22%,var(--line-200));background:color-mix(in srgb,var(--forest-500) 6%,var(--surface-raised));color:var(--forest-900)}
.bq-home-assignment-copy{grid-column:1;display:grid;gap:4px;min-width:0}
.bq-home-assignment-copy b{overflow:hidden;color:var(--ink-900);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.bq-home-assignment-copy small{color:var(--ink-500);font-size:10px;font-weight:650;line-height:1.35}
.bq-home-assignment-open{grid-column:2;grid-row:1/-1;align-self:center;color:var(--forest-700);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}

/* Secondary row: compact icon tiles instead of three equal-weight panels,
   so Daily Journey + Progress stay the dominant continuation path. */
.bq-home-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}
.bq-home-tile{margin-top:0;padding:var(--space-3)}
.bq-home-tile-button{width:100%;min-height:var(--tap-target);display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:none;background:none;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit}
.bq-home-tile-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--amber-100);color:var(--forest-900)}
.bq-home-tile-text{display:grid;gap:1px;min-width:0}
.bq-home-tile-text b{font-size:13px;color:var(--ink-900)}
.bq-home-tile-text small{color:var(--ink-500);font-size:10.5px;font-weight:600;line-height:1.3}
@media(max-width:560px){
  .bq-home-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bq-home-tile-text small{display:none}
}

.bq-progress-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-4)}
.bq-progress-stats>div{min-width:0;padding:14px;border:1px solid var(--line-200);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-subtle) 46%,var(--surface-raised))}
.bq-progress-stats b,.bq-progress-stats span{display:block}
.bq-progress-stats b{color:var(--forest-900);font-size:clamp(20px,3vw,28px);line-height:1;font-variant-numeric:tabular-nums}
.bq-progress-stats span{margin-top:5px;color:var(--ink-500);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}

@media(min-width:820px){
  #bq-view:has(> [data-home-progress]){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4);align-items:stretch}
  #bq-view:has(> [data-home-progress])>.bq-hero{grid-column:1/-1}
  #bq-view:has(> [data-home-progress])>[data-home-daily]{grid-column:span 8}
  #bq-view:has(> [data-home-progress])>[data-home-progress]{grid-column:span 4}
  #bq-view:has(> [data-home-progress])>[data-home-congregation-assignments]{grid-column:1/-1}
  #bq-view:has(> [data-home-progress])>[data-home-assignments]{grid-column:1/-1}
  #bq-view:has(> [data-home-progress])>.bq-home-secondary{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
  [data-home-daily],[data-home-progress]{height:100%}
}

@media(max-width:760px){
  .bq-home-assignment-list{grid-template-columns:1fr}
}

@media(max-width:640px){
  .bq-hero{grid-template-columns:minmax(0,1fr) 112px;gap:var(--space-3);min-height:212px;padding:22px 20px;border-radius:22px}
  .bq-hero h1{font-size:38px}
  .bq-hero p{font-size:12px;line-height:1.5}
  .bq-hero img{max-height:138px}
  [data-home-daily] .bq-primary-button,[data-home-recordings] .bq-secondary-button,[data-home-media] .bq-secondary-button{width:100%}
  .bq-home-congregation{grid-template-columns:auto minmax(0,1fr)}
  .bq-home-congregation .bq-secondary-button{grid-column:1/-1;width:100%;justify-content:center}
  .bq-home-assignment-head{display:grid}
  .bq-home-assignment-head>button{justify-self:start}
}

@media(max-width:390px){
  .bq-hero{grid-template-columns:1fr;min-height:0}
  .bq-hero img{position:absolute;right:-14px;bottom:-8px;z-index:-1;width:124px;opacity:.22}
  .bq-hero p{max-width:88%}
  .bq-home-congregation{padding:14px}
  .bq-home-congregation-icon{width:38px;height:38px}
  .bq-home-assignments{padding:15px}
  .bq-home-assignment-row{min-height:82px;padding:11px}
}

@media(prefers-reduced-motion:reduce){
  .bq-home-assignment-row{transition:none!important}
  .bq-home-assignment-row:hover{transform:none}
}

@media(prefers-contrast:more){
  .bq-home-congregation,.bq-home-assignments,.bq-home-assignment-row{border-color:var(--ink-700)!important;box-shadow:none!important}
  .bq-home-assignment-status{border-color:currentColor!important}
}
