/* LWVlife mobile Home - Owner Overrides v3 (2026-10-19). STAGING.
   Compact Home: Village lettering 2/3 + 911 1/3 | Weather 1/2 + Morning News 1/2 | 3-column tiles |
   Ask Aimee 1/2 + Current News 1/2 | My Schedule / Family-Contacts / Settings (three separate tiles) |
   Senior Favorites | Emergency Contacts group (911, Village Security, Resident Services).
   Text is never made smaller than before; height is saved by removing the photo, padding and duplicates.
   Large text (A+ / phone text scaling, html.bigfs) stacks the half-width rows instead of shrinking or merging. */

/* ---- header row: lettering (left 2/3) + emergency 911 (right 1/3) ---- */
#s-home.h3 .hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:10px;
  background:none!important;min-height:0!important;padding:6px 12px 2px!important;overflow:visible}
#s-home.h3 .hero::before{display:none!important;content:none!important}
#s-home.h3 .hero .sky,#s-home.h3 .hero .hills,#s-home.h3 .hero .hero-text,#s-home.h3 .hero .hero-phones{display:none!important}
#s-home.h3 .hero-logo{background:none!important;box-shadow:none!important;border-radius:0;padding:0!important;display:block;text-align:left;line-height:0}
#s-home.h3 .hero-logo img{width:100%;max-width:none;height:auto;filter:none}
#s-home.h3 .hero>a.emg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:58px;padding:4px 6px;
  border-radius:14px;background:#b71c1c;color:#fff;font-weight:900;text-decoration:none;text-align:center;line-height:1.12;
  box-shadow:0 3px 10px rgba(183,28,28,.35)}
#s-home.h3 .hero>a.emg span{color:#fff;font-size:.95rem;font-weight:800;white-space:normal;overflow-wrap:anywhere}
#s-home.h3 .hero>a.emg b{color:#fff;font-size:1.15rem!important;white-space:nowrap;display:flex;align-items:center;gap:2px;letter-spacing:0}
#s-home.h3 .hero>a.emg:focus-visible{outline:4px solid #ffb300;outline-offset:2px}

/* ---- Weather (left 1/2) + Morning News (right 1/2) ---- */
#h3-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:8px 12px 0;align-items:stretch}
#h3-top .today{margin:0!important;padding:8px 10px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:84px;min-width:0}
#h3-top .today>div:first-child{font-size:.9rem;line-height:1.25}
#h3-top .today>div:first-child br,#h3-top #today-place{display:none}
#h3-top .today-wx{font-size:1.3rem;gap:6px;white-space:normal;text-align:left;flex-wrap:nowrap;align-items:center;line-height:1.15}
#h3-top .today-wx>span:last-child{min-width:0}
#h3-top .today-wx .wx-icon{font-size:1.6rem}
#h3-top .today-wx small{font-size:.85rem}
#h3-top .today-wx small.muted:nth-of-type(2),#h3-top .today-wx small.muted:nth-of-type(2)+br,#h3-top .today-wx small.muted:nth-of-type(1)+br{display:none}
#h3-top .today-wx small.muted:only-of-type{max-width:none;text-align:left}
#h3-top .a5-gmbox{display:flex;min-width:0}
#h3-top .a5-gm{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:100%;min-height:84px!important;height:100%;padding:8px 10px!important;border-radius:14px;margin:0}
#h3-top .a5-gm .sun{font-size:1.5rem!important}
#h3-top .a5-gm b{font-size:1.1rem;line-height:1.2}
#h3-top .a5-gm small{font-size:.85rem;line-height:1.25;margin:0}
#h3-top .a5-gm .go{display:none}

/* ---- tiles: 3 columns; first row Today's Events | Daily Living | Golf Cart GPS ---- */
#s-home.h3 .tiles{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px;padding:0 12px;margin-top:8px}
#s-home.h3 .tiles .tile,#s-home.h3 .tiles .tile.big{grid-column:auto!important;min-height:76px!important;font-size:.95rem!important;padding:6px 4px!important;gap:4px;border-radius:14px}
#s-home.h3 .tiles .tile .ic,#s-home.h3 .tiles .tile.big .ic{font-size:1.6rem!important}
#s-home.h3 .tiles .tile span{overflow-wrap:break-word;word-break:keep-all}
.tile.t-amber{background:linear-gradient(135deg,#b45309,#92400e);color:#fff}
#s-home.h3 .tiles .home-cinfo{display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;margin:0;
  background:linear-gradient(135deg,#ad1457,#880e4f);color:#fff;border:0;text-align:center;box-shadow:0 3px 8px rgba(0,0,0,.15)}
#s-home.h3 .tiles .home-cinfo>span:nth-child(2){display:block}
#s-home.h3 .tiles .home-cinfo b{display:block;font-size:.95rem;line-height:1.15;color:#fff}
#s-home.h3 .tiles .home-cinfo small,#s-home.h3 .tiles .home-cinfo .chev{display:none}

/* ---- Ask Aimee (1/2) + Current News (1/2) ---- */
#h3-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:8px 12px 0}
#h3-pair .aimee-banner{margin:0!important;width:auto;min-height:64px!important;border-radius:16px!important;padding:6px 8px!important;gap:8px;min-width:0}
#h3-pair .aimee-banner .aimee-face{width:42px!important;height:42px!important;flex:none}
#h3-pair .aimee-banner .mic{display:none}
#h3-pair .aimee-banner b{font-size:.95rem;line-height:1.15;display:block}
#h3-pair .aimee-banner small{font-size:.8rem;line-height:1.15;display:block}
#h3-pair .aimee-txt{min-width:0;overflow-wrap:break-word;word-break:keep-all}
#h3-pair .tile{flex-direction:row;justify-content:flex-start;gap:8px;min-height:64px;padding:6px 10px;border-radius:16px;font-size:.95rem;text-align:left}
#h3-pair .tile .ic{font-size:1.6rem}

/* ---- My Schedule | Family / Contacts | Settings: three SEPARATE tiles ---- */
#s-home.h3 #a5-home{margin:8px 12px 0}
#s-home.h3 .a5-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#s-home.h3 .a5-row .a5-tile{min-height:64px!important;padding:6px 4px!important;font-size:.95rem!important;gap:2px;overflow-wrap:break-word;word-break:keep-all;text-align:center}
#s-home.h3 .a5-row .a5-tile .i{font-size:1.4rem!important}

/* ---- Senior Favorites: a little tighter ---- */
#s-home.h3 #sf-home{margin-top:10px}
#s-home.h3 .sf-pin{min-height:72px}
#s-home.h3 .sf-pin .sf-prov{display:block;font-size:.75rem;font-weight:700;color:#5b6b85;line-height:1.1}

/* ---- Emergency Contacts (bottom of Home, above the bottom navigation) ---- */
#h3-emg{margin:12px 12px 4px;padding:10px 10px 8px;border:2px solid #efc2bf;border-radius:16px;background:#fff7f6}
#h3-emg h2{font-size:1.1rem;margin:0 0 2px;color:#8c1d18;line-height:1.25}
#h3-emg .h3-call{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 10px;min-height:52px;margin-top:6px;padding:8px 12px;
  border-radius:12px;background:#fff;border:2px solid #e3b5b1;color:#8c1d18;font-weight:800;text-decoration:none;line-height:1.2}
#h3-emg .h3-call .l{white-space:normal}
#h3-emg .h3-call b{white-space:normal;font-size:1.05rem;max-width:100%}
#h3-emg .h3-call b .n{white-space:nowrap}
#h3-emg .h3-call.emg{background:#b71c1c;border-color:#b71c1c;color:#fff}
#h3-emg .h3-call:focus-visible{outline:4px solid #ffb300;outline-offset:2px}
#h3-emg .h3-note{margin:6px 2px 0;font-size:.85rem;color:#5b6b85;line-height:1.35}

/* ---- large text (A+ or phone text scaling): stack instead of shrinking or merging ---- */
html.bigfs #s-home.h3 .hero{grid-template-columns:1fr;gap:6px}
html.bigfs #s-home.h3 .hero-logo img{max-width:72%}
html.bigfs #s-home.h3 .hero>a.emg{flex-direction:row;gap:12px;min-height:56px}
html.bigfs #h3-top,html.bigfs #h3-pair{grid-template-columns:1fr}
html.bigfs #h3-top .today{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px}
html.bigfs #s-home.h3 .a5-row{grid-template-columns:1fr}
html.bigfs #s-home.h3 .a5-row .a5-tile{flex-direction:row;justify-content:flex-start;gap:10px;padding:8px 12px!important;text-align:left}
html.bigfs #s-home.h3 .tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html.bigfs #h3-pair .aimee-banner .mic{display:none}
html.bigfs #h3-emg .h3-call b{font-size:1rem}
html.bigfs #h3-emg{margin:12px 8px 4px;padding:8px 6px}
html.bigfs #h3-emg .h3-call{padding:8px 8px}
/* bottom navigation at very large text (true 150-200% phone text scaling): keep all five items on screen.
   Labels are capped at 4.6% of the screen width (about the 100% size on a 320-px phone) and may wrap; icons stay large. */
@media not all and (orientation:landscape) and (max-height:500px){
html.bigfs .bnav button{flex:1 1 0;min-width:0;font-size:min(.78rem,4.6vw);overflow-wrap:anywhere;word-break:keep-all;text-align:center}
html.bigfs .bnav button .ic{font-size:min(1.35rem,7vw)}
}
@media (orientation:landscape) and (max-height:500px){
html.bigfs .bnav button{flex:1 1 0;min-width:0;white-space:nowrap}
}
/* large text fixes for the compact Home */
#h3-top .today-wx small{word-break:keep-all}
#s-home.h3 .sf-pin .sf-prov{overflow-wrap:anywhere;max-width:100%}
html.bigfs #h3-emg .h3-call b>span[aria-hidden]{display:none}
/* phone numbers stay on one line at 200% on a 320-px phone: number size is capped at 8% of the screen width (25 px on 320 px) */
html.bigfs #h3-emg .h3-call b .n{font-size:min(1em,8vw)}
html.bigfs #s-home.h3 .hero>a.emg b{font-size:min(1.15rem,9vw)!important}
.bnav button{line-height:1.05;gap:1px}
.bnav button span:not(.ic){text-align:center}
/* Home alert banner: at very large text keep it to 3 lines of headline (full text one tap away in Current News; screen readers read all of it) */
#cn-home-alert b{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* Aimee pages (Morning News, My Schedule, Family / Contacts, Settings) at very large text or on short landscape screens:
   the whole page scrolls (the button bar scrolls with it) and the title + Close row stays on top, so the bar can no longer cover the content */
html.bigfs .a5-sheet{overflow-y:auto}
html.bigfs .a5-body{flex:none;overflow:visible}
html.bigfs .a5-head{position:sticky;top:0;z-index:3}
@media (orientation:landscape) and (max-height:500px){
  .a5-sheet{overflow-y:auto}.a5-body{flex:none;overflow:visible}.a5-head{position:sticky;top:0;z-index:3}
}
/* Senior Favorites page on a short landscape screen at very large text: the top bar scrolls with the page instead of covering the tiles (phone Back still closes it) */
@media (orientation:landscape) and (max-height:500px){ html.bigfs .sf-top{position:static} }
/* contrast: the Golf Cart GPS tile text is no longer "large text" in the compact grid, so use a darker green (>= 4.5:1 with white) */
#s-home.h3 .tiles .tile.t-green{background:linear-gradient(135deg,#1e7d3c,#166030)}
/* narrow phones (under 360 px): long English words hyphenate ("Restau-rants") instead of breaking at random;
   the top 911 label never splits inside the word "Emergency" */
#s-home.h3 .tiles .tile span,#s-home.h3 .sf-pin .t,#s-home.h3 .a5-tile .l{hyphens:auto;-webkit-hyphens:auto}
#s-home.h3 .hero>a.emg span{word-break:keep-all;overflow-wrap:normal;hyphens:manual}
@media (max-width:359px){
  #s-home.h3 .hero{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}
  #s-home.h3 .hero>a.emg span{font-size:min(.95rem,4.8vw)}
}

/* Movies banner directly above Emergency Contacts (GitHub #11, 2026-10-21). Kept compact so Emergency stays easy to find. */
#h3-mov{margin:12px 12px 4px;padding:10px 10px 8px;border:2px solid #c9d4ea;border-radius:16px;background:#f3f6fc}
#h3-mov h2{margin:0;font-size:1.05em;color:#1B3A6B}
#h3-mov .h3-note{margin:2px 0 0;font-size:.82em;color:#4a5563}
#h3-mov .h3-mov-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,5.2em),1fr));gap:6px;margin-top:8px}
#h3-mov .h3-mov-b{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:56px;padding:6px 4px;border-radius:12px;background:#1B3A6B;color:#fff;text-decoration:none;line-height:1.2;min-width:0}
#h3-mov .h3-mov-b b{font-size:1em;word-break:keep-all}
#h3-mov .h3-mov-b .ko-only{font-size:.62em;max-width:100%;white-space:normal;margin:3px 0 0;line-height:1.15}  /* app's existing "Korean only" label (v3final.js) */
#h3-mov .h3-mov-b:focus-visible{outline:3px solid #B8860B;outline-offset:2px}
html.bigfs #h3-mov{margin:12px 8px 4px;padding:8px 6px}
/* GitHub #38: Movies | Travel & Cruises side by side (stacked on phones, A+ and 200% zoom) */
#h3-ent{display:grid;grid-template-columns:1fr;gap:0;margin:0}
#h3-ent>#h3-mov,#h3-ent>#h3-trv{min-width:0}
#h3-trv{margin:12px 12px 4px;padding:10px 10px 10px;border:2px solid #b9e0d0;border-radius:16px;background:#effaf5;display:flex;flex-direction:column}
#h3-trv h2{margin:0;font-size:1.05em;color:#0b5d3b}
#h3-trv .h3-note{margin:2px 0 0;font-size:.82em;color:#3d4a44}
#h3-trv .h3-trv-b{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:4px;text-align:center;min-height:56px;padding:8px 8px;border-radius:12px;background:#0b6b45;color:#fff;text-decoration:none;line-height:1.2}
#h3-trv .h3-trv-b b{font-size:1em}
#h3-trv .h3-trv-b:focus-visible{outline:3px solid #B8860B;outline-offset:2px}
#h3-trv .h3-note{margin-bottom:8px}
@media (min-width:480px){html:not(.bigfs) #h3-ent{grid-template-columns:1fr 1fr}
  html:not(.bigfs) #h3-ent>#h3-mov{margin-right:4px}
  html:not(.bigfs) #h3-ent>#h3-trv{margin-left:4px}
  html:not(.bigfs) #h3-ent #h3-mov .h3-mov-row{grid-template-columns:1fr}}
html.bigfs #h3-trv{margin:12px 8px 4px;padding:8px 6px}
