/* Cruisin' Condos refresh — forest green, gold, warm cream */
:root{--forest:#163b20;--forest-deep:#0b2a16;--gold:#e6b83f;--cream:#f8f6ef;--ink:#233129;--muted:#68736b;--line:#e3e5dc;--card:#fff;--shadow:0 10px 28px rgba(20,43,26,.12)}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:var(--forest);text-underline-offset:3px}
.landing{min-height:100vh;background:linear-gradient(90deg,rgba(7,27,15,.70),rgba(9,30,17,.43)),url("../images/collage.jpg") center/cover fixed no-repeat;background-color:#213d2a;display:flex;align-items:center;justify-content:center;padding:32px 18px}
.landing-shell{width:min(100%,860px);margin:auto}
.landing-content{max-width:800px;margin:auto;color:#fff;text-align:center}
.club-logo{width:clamp(118px,17vw,190px);height:auto;max-height:190px;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 5px 24px #0003}
.eyebrow{margin:12px 0 4px;color:#f8d977;text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;font-weight:700}
.landing h1{font-family:Georgia,serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.08;margin:8px 0 22px;text-shadow:0 2px 12px #0006}
.program-copy{max-width:760px;margin:0 auto;text-align:left;font-size:clamp(.94rem,1.4vw,1.05rem);line-height:1.65;text-shadow:0 1px 8px #0008}
.program-copy p{margin:.7rem 0}
.contact-strip{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.93);color:var(--ink);padding:14px 20px;border-radius:12px;margin:18px auto 12px;max-width:690px;box-shadow:var(--shadow)}
.contact-strip>div{display:flex;flex-direction:column;gap:2px;min-width:160px}
.strip-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.contact-strip a{font-size:.9rem;overflow-wrap:anywhere}
.guest-invitation{font-weight:600;margin:12px auto 18px;max-width:680px;text-shadow:0 1px 8px #0008}
.login-card{max-width:390px;margin:0 auto;background:rgba(255,255,255,.97);color:var(--ink);border-radius:18px;padding:22px 24px 24px;box-shadow:0 16px 44px #0004;text-align:left}
.lock-mark{text-align:center;color:var(--forest);font-size:1.6rem;line-height:1}
.login-card h2{text-align:center;color:var(--forest);font-family:Georgia,serif;margin:5px 0 6px;font-size:1.65rem}
.login-card p{text-align:center;margin:0 0 15px;font-size:.92rem}
.login-card input{width:100%;border:1px solid #cbd3c9;border-radius:8px;padding:13px 14px;font:inherit;margin-bottom:11px;background:white}
.login-card input:focus{outline:3px solid #e6b83f88;border-color:var(--forest)}
.login-card button,.logout-link{background:var(--forest);color:#fff;border:0;border-radius:8px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer}
.login-card button{width:100%}.login-card button span{margin-left:8px}
.form-error{background:#fff0ed;border:1px solid #e8b2a9;color:#8b2315;padding:9px;border-radius:6px}
.landing-footer{margin-top:18px;font-size:.8rem;color:#fff;text-shadow:0 1px 6px #0008}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Member portal header */
.member-page{background:var(--cream);padding-top:76px}
.member-toolbar{position:fixed;z-index:1000;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px clamp(16px,4vw,48px);background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px #0000000b}
.member-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--forest);font-family:Georgia,serif;font-weight:700;font-size:1.15rem}
.member-brand img{width:48px;height:48px;object-fit:contain;border-radius:50%}
.member-brand small{display:block;font:700 .66rem system-ui;letter-spacing:.15em;text-transform:uppercase}
.logout-link{font-size:.9rem;text-decoration:none;padding:9px 15px}
/* Legacy event markup restyled into clean cards while retaining source content */
#events-page .navbar-fixed-top{top:76px}
#events-page .collage{width:100%;max-height:230px;object-fit:cover}
#events-page>.container{padding-top:24px;padding-bottom:50px}
#events-page .DateDiv{background:transparent;border:0;margin:0 0 18px;padding:0}
#events-page .event-wrapper{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px #15371d0c;padding:20px;margin:0;overflow:hidden}
#events-page .event-title{font:700 1.25rem Georgia,serif;color:var(--forest);margin-top:0}
#events-page .event-date{background:#f1f2e9;border-radius:9px;padding:10px;text-align:center}
#events-page .event-month{font-weight:800;color:var(--forest);text-transform:uppercase}
#events-page .event-day,#events-page .event-day-small{font-size:1.25rem;font-weight:800;color:var(--forest)}
#events-page .panel{border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 15px #15371d08;overflow:hidden}
#events-page .panel-heading{background:#eaeedf;color:var(--forest);padding:13px 15px}
#events-page .panel-title{font-weight:700}
#events-page .panel-body{background:#fff}
#events-page .narrow-column ul{padding-left:20px}
#events-page .narrow-column li{margin-bottom:7px}
#events-page .navbar-fixed-bottom{position:static;margin-top:25px}
#events-page .navbar-inverse{background:var(--forest-deep);border:0}
#events-page .navbar-inverse a{color:#fff}
#events-page .navbar-inverse .navbar-text{color:#fff}
#events-page .event-details a{overflow-wrap:anywhere}
@media(max-width:767px){
 .landing{padding:20px 12px;background-attachment:scroll}
 .program-copy{text-align:left}
 .contact-strip{gap:12px}
 .contact-strip>div{min-width:100%}
 .login-card{padding:20px}
 .member-page{padding-top:70px}
 .member-brand{font-size:1rem}
 .member-brand img{width:40px;height:40px}
 #events-page .navbar-fixed-top{top:68px;position:relative}
 #events-page .collage{max-height:145px}
 #events-page .event-wrapper{padding:13px}
}



/* ==================================================
   Cruisin' Condos — Homepage background
   Separate from the Events page collage graphic
   ================================================== */

body.home-page {
    background-image: url('../images/road-background.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-color: #243329;
}

/* Keep the scenic background filling the viewport
   on smaller screens as well. */
@media (max-width: 767px) {
    body.home-page {
        background-attachment: scroll;
        background-position: center center;
    }
}
