/* Home page (/) EasyPlan landing - values copied from the client mock
   "Easyplan Front Page - mobile friendly.html". Loaded ONLY by Views/Home/Index.cshtml;
   every selector is .ez- prefixed. */
/* width:100% - body.ez-page is a flex column, where auto margins alone would
   shrink the header to its content and squash it into the middle. */
.ez-wrap{width:100%;max-width:1320px;margin:auto;padding:0 38px}
/* Mock: the page is a full-height column - header, then main growing to fill
   the space (hero + cards centred in it on desktop), then the footer bar
   pinned to the BOTTOM of the window even when the content is short.
   body.ez-page is set only on Views/Home/Index.cshtml. */
body.ez-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
/* min-height:0 cancels style.css .main-content{min-height:calc(100vh - 80px)}:
   with the header + footer added it made the page taller than the window,
   so it scrolled and left a white gap above the footer. */
body.ez-page > main{flex:1 0 auto;display:flex;flex-direction:column;min-height:0}
.ez-main{display:flex;flex-direction:column;flex:1 0 auto}
@media (min-width:901px){
    .ez-main{justify-content:start}
}
/* Mock footer bar - always the last thing on the page, at the bottom. */
.ez-footer{background:#2b2b2b;color:#ddd;padding:12px 0;font-size:12px;flex-shrink:0;margin-top:auto}
.ez-footer-in{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.ez-footer a{color:#ddd;text-decoration:none}
.ez-footer a:hover{color:#fff}
@media (max-width:600px){
    .ez-footer{padding:14px 0;font-size:11px}
    .ez-footer-in{flex-direction:column;align-items:center;gap:6px;text-align:center}
}
/* Mock: short desktop windows tighten everything so it still fits one screen. */
@media (max-height:720px) and (min-width:901px){
    .ez-header{height:64px}
    .ez-footer{padding:8px 0}
    .ez-hero{padding:12px 0 15px}
    .ez-hero h1{font-size:clamp(37px,3.5vw,52px)}
    .ez-intro{font-size:15px}
    .ez-screen{max-height:48vh}
    .ez-quick{padding:12px 0}
    .ez-quick-grid a{padding:10px 13px}
}
.ez-hero{padding:clamp(20px,4vh,46px) 0 30px;background:linear-gradient(180deg,#fff 0%,#fafafa 100%);color:#2B2B2B}
.ez-grid{display:grid;grid-template-columns:40% 60%;align-items:center;gap:0}
.ez-grid > div{min-width:0}
.ez-eyebrow {
    font-size: 12px;
    letter-spacing: .14em;
    font-weight: 800;
    margin-bottom: 24px;
    color: #2B2B2B;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}
.ez-eyebrow span{background:#FEDE00;padding:8px 11px;border-radius:5px}
.ez-hero h1{font-size:clamp(40px,4vw,61px);line-height:1.04;letter-spacing:-1px;margin:0 0 24px;font-weight:850;color:#2B2B2B}
.ez-hero h1 em{font-style:italic;font-weight:800;letter-spacing:-1px}
.ez-hero h1 em .ez-accent{color:#b89e00}
.ez-rule{height:4px;width:66px;background:#FEDE00;border-radius:5px;margin:-5px 0 22px}
.ez-intro{font-size:17px;line-height:1.65;color:#626262;max-width:440px;margin:0 0 22px}
.ez-primary{background:#FEDE00;color:#2B2B2B;padding:19px 25px;display:inline-flex;justify-content:space-between;align-items:center;
    gap:46px;border-radius:9px;font-size:16px;font-weight:800;box-shadow:0 5px 0 #e5c700;text-decoration:none;transition:transform .2s}
.ez-primary:hover{transform:translateY(-2px);color:#2B2B2B}
.ez-note{font-size:12px;color:#777;margin:14px 0 0}
.ez-preview{position:relative;margin-left:25px;min-width:0}
.ez-screen{background:#fff;border:9px solid #2b2b2b;border-radius:17px;overflow:hidden;box-shadow:0 24px 65px #0002;
    aspect-ratio:1.78;display:flex;flex-direction:column}
.ez-screen-top{height:28px;background:#252525;display:flex;align-items:center;gap:6px;padding:0 12px;flex-shrink:0}
.ez-dot{height:7px;width:7px;background:#888;border-radius:50%}
.ez-screen img{width:100%;height:calc(100% - 28px);object-fit:cover;object-position:center}
.ez-floating{position:absolute;bottom:-22px;left:-22px;background:#fff;border:1px solid #e7e7e7;border-radius:12px; text-decoration:none; 
    padding:15px 19px;box-shadow:0 12px 40px #0002;font-size:12px;color:#2B2B2B}
.ez-floating strong{display:block;font-size:19px;margin-top:4px}
.ez-floating:hover{
    border-color: #b5a000;
    background: #fffef0;
    color: #2B2B2B;
}
.ez-quick{border-top:1px solid #ededed;padding:20px 0 25px;background:#fff}
.ez-quick-title{font-size:12px;color:#777;font-weight:700;margin-bottom:12px}
.ez-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ez-quick-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 16px;border:1px solid #e4e4e4;
    border-radius:10px;font-weight:700;font-size:13px;background:#fff;color:#2B2B2B;text-decoration:none}
.ez-quick-grid a:hover{border-color:#b5a000;background:#fffef0;color:#2B2B2B}
.ez-quick-grid span{font-size:19px;flex-shrink:0}
/* Logged-out header (the logged-in header is not touched) */
.ez-header{height:82px;border-bottom:1px solid #e7e7e7;padding-top:0!important;padding-bottom:0!important}
.ez-logo{width:174px;max-height:48px;object-fit:contain}
.ez-headright{display:flex;gap:25px;align-items:center;font-size:13px;font-weight:700}
.ez-headright a{color:#2B2B2B;text-decoration:none}
.ez-login{border:1px solid #FEDE00;background:#FEDE00;color:#2B2B2B;padding:12px 18px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
@media (max-width:900px){
    .ez-hero{padding:28px 0 24px; padding-bottom:50px;}
    .ez-grid{grid-template-columns:1fr}
    .ez-preview{margin:25px 10px 0}
    .ez-hero h1{font-size:clamp(38px,6vw,54px);max-width:600px; text-align:center; }
    .ez-intro{max-width:600px; text-align:center}
    .ez-quick{padding:18px 0}
    .ez-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ez-wrap-box{ display:flex; flex-direction:column; align-items:center; }
}
@media (max-width:600px){
    .ez-wrap{padding-inline:18px}
    .ez-header{height:64px;gap:10px}
    .ez-logo{width:clamp(112px,32vw,145px)}
    .ez-headright .ez-help{display:none}
    .ez-login{font-size:11px;font-weight:800;padding:11px 12px}
    .ez-hero{padding:23px 0 18px}
    .ez-grid{display:flex;flex-direction:column;align-items:stretch}
    .ez-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:9px;letter-spacing:.08em;margin-bottom:17px}
    .ez-eyebrow span{padding:7px 9px}
    .ez-hero h1{font-size:clamp(34px,9vw,45px);line-height:1.04;letter-spacing:-.052em;margin-bottom:15px}
    .ez-hero h1 em .ez-accent{color:#FEDE00}
    .ez-rule{margin:0 0 14px}
    .ez-intro{font-size:14px;line-height:1.45;margin:0 0 17px}
    .ez-primary{min-height:52px;width:100%;padding:14px 18px;gap:12px;box-shadow:0 3px 0 #e3c700}
    .ez-note{font-size:11px;margin:10px 0 0;text-align:center}
    .ez-preview{width:100%;margin:22px 0 0}
    .ez-screen{aspect-ratio:auto;border:5px solid #2b2b2b;border-radius:11px;display:block;box-shadow:0 12px 30px #0002}
    .ez-screen-top{height:16px;gap:4px;padding-inline:9px}
    .ez-dot{width:5px;height:5px}
    .ez-screen img{display:block;width:100%;height:auto;object-fit:contain}
    .ez-floating{display:none}
    .ez-quick{padding:18px 0 25px}
    .ez-quick-title{font-size:11px;line-height:1.4;margin-bottom:13px}
    .ez-quick-grid{gap:8px}
    .ez-quick-grid a{min-width:0;min-height:64px;padding:12px 10px;gap:6px;font-size:12px;line-height:1.3}
}
@media (max-width:360px){
    .ez-wrap{padding-inline:14px}
    .ez-hero h1{font-size:35px}
    .ez-login{font-size:10px;padding:10px 9px}
    .ez-quick-grid a{font-size:11px;padding:11px 9px}
}
@media (prefers-reduced-motion:reduce){.ez-primary{transition:none}}
