/* ── GCMC Member Platform — Stylesheet ───────────────────────── */

/* Variables & Reset */
:root{--red:#C8001E;--cream:#F5F0E8;--warm-white:#FDFAF5;--charcoal:#1A1A1A;--mid:#444;--border:#E8E3DA;--light:#f0ece4;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:"DM Sans",sans-serif;background:var(--warm-white);color:var(--charcoal);overflow-x:hidden;}

/* ── Nav ─────────────────────────────────────────────────────── */
nav{position:fixed;top:0;width:100%;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:64px;background:#fff;border-bottom:2px solid var(--red);}
.logo{font-family:"Bebas Neue";font-size:1.5rem;color:var(--charcoal);letter-spacing:.12em;cursor:pointer;flex-shrink:0;}
.logo span{color:var(--red);}
.nav-links{display:flex;gap:2px;}
.nav-btn{background:none;border:none;font-family:"Oswald";font-size:.825rem;letter-spacing:.18em;text-transform:uppercase;color:#555;cursor:pointer;padding:8px 16px;transition:color .2s;}
.nav-btn:hover,.nav-btn.active{color:var(--red);}
.nav-right{display:flex;align-items:center;gap:12px;}
.user-area{display:flex;align-items:center;gap:12px;}
.avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--red);cursor:pointer;object-fit:cover;}

/* Hamburger — hidden on desktop */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;width:36px;height:36px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--charcoal);border-radius:2px;transition:transform .25s,opacity .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile nav user row — hidden on desktop */
.nav-user-mobile{display:none;}

/* ── Mobile nav ──────────────────────────────────────────────── */
@media (max-width:1180px) {
  nav{padding:0 20px;height:56px;}
  main{padding-top:56px;}

  /* Slide-down menu panel */
  .nav-links{
    display:flex;
    flex-direction:column;
    gap:0;
    position:fixed;
    top:56px;left:0;right:0;
    background:#fff;
    border-bottom:2px solid var(--red);
    max-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    transition:max-height .32s cubic-bezier(.16,1,.3,1);
    z-index:199;
  }
  .nav-links.mobile-open{max-height:calc(100vh - 56px);}

  .nav-btn{
    padding:14px 24px;
    font-size:.88rem;
    letter-spacing:.2em;
    text-align:left;
    border-bottom:1px solid rgba(26,26,26,.08);
    color:#1a1a1a;
  }
  .nav-btn:last-of-type{border-bottom:none;}
  .nav-btn.active{color:var(--red);background:rgba(200,0,30,.06);}

  /* Show hamburger, hide desktop user-area */
  .hamburger{display:flex;}
  .user-area{display:none;}

  /* Show sign-in / avatar inside the mobile menu */
  .nav-user-mobile{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 24px 24px;
    border-top:1px solid rgba(255,255,255,.08);
    margin-top:4px;
  }
  .nav-user-mobile .btn-red{flex:1;justify-content:center;}
  .nav-user-mobile .btn-ghost{color:var(--charcoal);border-color:rgba(26,26,26,.4);}
  .nav-user-mobile .btn-ghost:hover{border-color:var(--charcoal);}
}

.btn-red{background:var(--red);color:var(--cream);border:2px solid var(--red);padding:10px 22px;font-family:"Oswald";font-size:.79rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s;white-space:nowrap;}
.btn-red:hover{background:transparent;color:var(--red);}
.btn-ghost{background:transparent;color:var(--charcoal);border:2px solid rgba(26,26,26,.4);padding:10px 22px;font-family:"Oswald";font-size:.79rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:border-color .2s;}
.btn-ghost:hover{border-color:var(--charcoal);}
.btn-ghost.light{color:var(--charcoal);border-color:rgba(26,26,26,.4);}
.btn-sm{background:var(--light);color:var(--charcoal);border:1px solid var(--border);padding:6px 12px;font-family:"Oswald";font-size:.715rem;letter-spacing:.1em;cursor:pointer;vertical-align:middle;transition:all .15s;white-space:nowrap;}
.btn-sm:hover{background:#e8e3da;border-color:#aaa;}
.btn-sm.red{color:var(--red);}
.btn-sm.red:hover{background:var(--red);color:#fff;border-color:var(--red);}
.btn-sm.green{color:#2a7a3a;}

/* ── Layout ──────────────────────────────────────────────────── */
main{padding-top:64px;}
.page{display:none;}
.page.active{display:block;}
.inner{max-width:1100px;margin:0 auto;padding:64px 32px;}
.sec-label{font-family:"Oswald";font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
.sec-title{font-family:"Bebas Neue";font-size:clamp(2.5rem,5vw,3.8rem);letter-spacing:.06em;line-height:1;}
.divider{width:60px;height:3px;background:var(--red);margin:18px 0 36px;}
.subhead{font-family:"Bebas Neue";font-size:1.6rem;letter-spacing:.06em;margin-bottom:16px;}

/* ── Hero ────────────────────────────────────────────────────── */
.hero{position:relative;min-height:100vh;background:#e8e4dc;display:flex;align-items:center;justify-content:center;overflow:hidden;}
@keyframes pulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.08);opacity:.4}}
.hero-ring{position:absolute;border-radius:50%;top:50%;left:50%;}
.hero-stripes{position:absolute;top:0;right:0;width:100%;bottom:0;
    background-image:
    repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 1px,transparent 1px 06px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.1) 0 1px,transparent 1px 06px),
    repeating-conic-gradient(rgba(255,255,255,.06) 0% 25%,rgba(255,255,255,.1) 25% 50%);
    background-size:12px 12px,12px 12px,24px 24px;
}
.hero-track{position:absolute;bottom:0;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,var(--red) 0 60px,transparent 60px 80px);opacity:.5;}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 24px;}
.hero-eyebrow{font-family:"Oswald";font-size:.85rem;letter-spacing:.35em;color:var(--red);text-transform:uppercase;margin-bottom:18px;}
.hero-title{font-family:"Bebas Neue";font-size:clamp(4rem,8vw,9rem);color:var(--charcoal);line-height:.85;letter-spacing:.04em;}
.hero-title .r{color:var(--red);}
.hero-sub{font-size:1.20rem;font-weight:600;color:#444;letter-spacing:.06em;margin-top:24px;}
.hero-cta{background:var(--red);color:#fff;border:2px solid var(--red);padding:14px 44px;font-family:"Oswald";font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;margin-top:36px;display:inline-flex;align-items:center;gap:8px;transition:background .25s,color .25s;}
.hero-cta:hover{background:transparent;color:var(--red);}

/* ── News Cards ──────────────────────────────────────────────── */
.news-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--red);padding:28px;margin-bottom:16px;}
.tag{display:inline-block;padding:3px 12px;border:1px solid rgba(200,0,30,.35);font-family:"Oswald";font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);}
.card-title{font-family:"Oswald";font-size:1.1rem;font-weight:600;letter-spacing:.04em;margin:10px 0 8px;}
.card-body{font-size:.93rem;font-weight:300;color:var(--mid);line-height:1.7;}
.card-body p{margin:0 0 .7em;}.card-body p:last-child{margin-bottom:0;}
.card-body h2{font-family:"Oswald";font-size:1.05rem;font-weight:600;margin:.9em 0 .3em;}
.card-body h3{font-family:"Oswald";font-size:.9rem;font-weight:600;margin:.8em 0 .3em;}
.card-body ul,.card-body ol{padding-left:1.4em;margin:0 0 .7em;}
.card-body li{margin-bottom:.2em;}
.card-body a{color:var(--red);text-decoration:underline;}
.card-body strong{font-weight:600;}
.card-author{font-size:.88rem;color:#555;margin-top:10px;font-style:italic;}

/* ── Event Grid ──────────────────────────────────────────────── */
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:32px;}
.ev-card{background:#fff;border:1px solid var(--border);border-top:3px solid transparent;padding:28px;transition:border-color .2s,box-shadow .2s,transform .2s;cursor:pointer;}
.ev-card:hover{border-top-color:var(--red);box-shadow:0 6px 28px rgba(0,0,0,.09);transform:translateY(-2px);}
.ev-weekday{font-family:"Oswald";font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#555;margin-bottom:2px;}
.ev-day{font-family:"Bebas Neue";font-size:2.6rem;color:var(--red);line-height:1;}
.ev-month{font-family:"Oswald";font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#555;margin-bottom:10px;}
.ev-time{font-family:"Oswald";font-size:.75rem;letter-spacing:.12em;color:#555;margin-top:6px;margin-bottom:10px;}
.ev-name{font-family:"Oswald";font-size:1.05rem;font-weight:600;margin-bottom:6px;}
.ev-desc{font-size:.97rem;font-weight:300;color:#444;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ev-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;}
.ev-count{font-family:"Oswald";font-size:.80rem;color:#555;letter-spacing:.1em;}
.ev-hint{font-family:"Oswald";font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#888;margin-top:12px;display:flex;align-items:center;gap:5px;transition:color .2s;}
.ev-card:hover .ev-hint{color:var(--red);}

/* ── Capacity ────────────────────────────────────────────────── */
.cap-mini-bar{height:4px;background:var(--border);overflow:hidden;margin-top:10px;}
.cap-mini-fill{height:100%;transition:width .4s;}
.cap-pill{display:inline-flex;align-items:center;font-family:"Oswald";font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border:1px solid;margin-top:6px;}
.cap-pill.open{color:#2a7a3a;border-color:rgba(42,122,58,.3);background:rgba(42,122,58,.05);}
.cap-pill.warn{color:#e06010;border-color:rgba(224,96,16,.3);background:rgba(224,96,16,.05);}
.cap-pill.full{color:#b00018;border-color:rgba(176,0,24,.3);background:rgba(176,0,24,.05);}
.cap-bar-labels{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.cap-bar-lbl{font-family:"Oswald";font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#555;}
.cap-bar-num{font-family:"Bebas Neue";font-size:1.1rem;}
.cap-bar-track{height:6px;background:var(--border);overflow:hidden;}
.cap-bar-fill{height:100%;transition:width .5s cubic-bezier(.16,1,.3,1);}
.cap-status{font-family:"Oswald";font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;margin-top:6px;}
.cap-status.open{color:#2a7a3a;} .cap-status.warn{color:#e06010;} .cap-status.full{color:#b00018;}

/* ── Card Admin Bar ──────────────────────────────────────────── */
.card-admin{display:flex;justify-content:flex-end;gap:6px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);}


/* ── Drawer ──────────────────────────────────────────────────── */
.overlay{position:fixed;inset:0;background:rgba(20,10,10,.65);z-index:300;opacity:0;pointer-events:none;transition:opacity .35s;backdrop-filter:blur(3px);}
.overlay.open{opacity:1;pointer-events:all;}
.drawer{position:fixed;top:0;right:0;width:min(700px,100vw);height:100vh;z-index:301;background:var(--warm-white);overflow-y:auto;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;box-shadow:-8px 0 48px rgba(0,0,0,.2);}
.drawer.open{transform:translateX(0);}
.dh{position:relative;background:var(--charcoal);padding:44px 44px 36px;flex-shrink:0;overflow:hidden;}
.dh::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-55deg,transparent 0 20px,rgba(200,0,30,.055) 20px 40px);pointer-events:none;}
.dh-close{position:absolute;top:18px;right:18px;background:rgba(255,255,255,.07);border:none;color:rgba(245,240,232,.5);font-size:1.2rem;cursor:pointer;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .2s;}
.dh-close:hover{color:var(--cream);}
.dh-type{font-family:"Oswald";font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red);margin-bottom:12px;position:relative;z-index:1;}
.dh-title{font-family:"Bebas Neue";font-size:2.6rem;letter-spacing:.04em;color:var(--cream);line-height:1.05;position:relative;z-index:1;}
.dh-date-row{display:flex;align-items:center;gap:18px;margin-top:22px;position:relative;z-index:1;}
.dh-daynum{font-family:"Bebas Neue";font-size:4rem;color:var(--red);line-height:1;}
.dh-stack{display:flex;flex-direction:column;gap:3px;}
.dh-weekday{font-family:"Oswald";font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,240,232,.45);}
.dh-date{font-family:"Oswald";font-size:.95rem;letter-spacing:.04em;color:var(--cream);}
.dh-time{font-family:"Oswald";font-size:.75rem;letter-spacing:.1em;color:rgba(245,240,232,.55);margin-top:2px;}
.d-adminbar{display:flex;gap:8px;padding:12px 44px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0;}
.d-adminbar.hide{display:none;}
.db{padding:36px 44px;flex:1;}
.ds{margin-bottom:32px;}
.ds-lbl{font-family:"Oswald";font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:16px;}

/* ── RSVP Bar ────────────────────────────────────────────────── */
.rsvp-bar{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);padding:18px 20px;margin-bottom:28px;}
.rsvp-bar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;}
.rsvp-bar-text{font-size:.9rem;font-weight:300;color:var(--mid);}
.rsvp-bar-text strong{font-family:"Oswald";color:var(--charcoal);}

/* ── Long Desc ───────────────────────────────────────────────── */
.long-desc{font-size:.1.05em;font-weight:300;line-height:1.85;color:var(--mid);white-space:pre-line;}

/* ── Tiles ───────────────────────────────────────────────────── */
.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tile{background:#fff;border:1px solid var(--border);padding:14px 16px;}
.tile.span2{grid-column:span 2;}
.tile-icon{font-size:1rem;margin-bottom:5px;}
.tile-lbl{font-family:"Oswald";font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:#555;}
.tile-val{font-family:"Oswald";font-size:.9rem;font-weight:600;color:var(--charcoal);margin-top:3px;line-height:1.3;}
.tile-sub{font-size:.84rem;font-weight:300;color:#555;margin-top:3px;}

/* ── Map ─────────────────────────────────────────────────────── */
.map-box{width:100%;height:200px;background:linear-gradient(135deg,#e8e3da,#d5cfc5);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-decoration:none;transition:background .2s;}
.map-box:hover{background:linear-gradient(135deg,#ddd8ce,#ccc5ba);}
.map-addr{font-family:"Oswald";font-size:.82rem;letter-spacing:.06em;color:var(--charcoal);text-align:center;padding:0 24px;line-height:1.5;}
.map-cta{font-family:"Oswald";font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-top:4px;}

/* ── Host Card ───────────────────────────────────────────────── */
.host-card{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);padding:16px 20px;display:flex;align-items:center;gap:16px;}
.host-img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex-shrink:0;}
.host-name{font-family:"Oswald";font-size:.98rem;font-weight:600;}
.host-role{font-family:"Oswald";font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-top:2px;}
.host-email{font-size:.88rem;font-weight:300;color:#555;margin-top:4px;}
.host-email a{color:var(--red);text-decoration:none;}

/* ── Going List ──────────────────────────────────────────────── */
.going-count{font-family:"Bebas Neue";font-size:2rem;color:var(--charcoal);margin-bottom:6px;}
.going-count .n{color:var(--red);}
.going-count .mx{color:#777;font-size:1.4rem;}
.going-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);}
.rsvp-row{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--border);}
.rsvp-row:last-child{border-bottom:none;}
.rsvp-row.you{background:rgba(200,0,30,.03);border-left:3px solid var(--red);}
.rsvp-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;margin-top:1px;}
.rsvp-info{flex:1;min-width:0;}
.rsvp-name-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.rsvp-name{font-family:"Oswald";font-size:.88rem;font-weight:600;color:var(--charcoal);}
.rsvp-guests{font-family:"Oswald";font-size:.68rem;letter-spacing:.1em;color:var(--red);white-space:nowrap;}
.rsvp-note{font-size:.78rem;color:#555;margin-top:2px;font-style:italic;}
.going-empty{font-size:.96rem;color:#777;font-style:italic;}
/* Legacy chip classes kept for any remaining references */
.going-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);padding:6px 14px 6px 6px;}
.going-chip img{width:28px;height:28px;border-radius:50%;}
.going-chip-name{font-family:"Oswald";font-size:.72rem;}
.going-chip.you{border-color:var(--red);}
.going-chip.you .going-chip-name{color:var(--red);}

/* ── Ext Link ────────────────────────────────────────────────── */
.ext-link{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);padding:14px 18px;text-decoration:none;transition:border-color .2s;}
.ext-link:hover{border-color:var(--red);}
.ext-title{font-family:"Oswald";font-size:.88rem;color:var(--charcoal);}
.ext-url{font-size:.82rem;font-weight:300;color:#555;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ── Members ─────────────────────────────────────────────────── */
/* Member list — horizontal bands */
.members-grid{display:flex;flex-direction:column;gap:0;margin-top:24px;border:1px solid var(--border);}
.mband-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--border);transition:background .12s;}
.mband-row:last-child{border-bottom:none;}
.mband-row:hover{background:var(--warm-white);}
.mband-row.expanded{background:var(--warm-white);border-bottom:none;}
.mband-avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--border);object-fit:cover;flex-shrink:0;}
.mband-info{flex:1;min-width:0;}
.mband-line1{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.mband-name{font-family:"Oswald";font-size:.95rem;font-weight:600;color:var(--charcoal);}
.mband-secondary{font-family:"Oswald";font-size:.88rem;color:#555;}
.mband-officer{font-family:"Oswald";font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;background:var(--charcoal);color:#fff;padding:2px 7px;vertical-align:middle;}
.mband-line2{display:flex;align-items:center;gap:8px;margin-top:3px;}
.mband-car-text{font-size:.86rem;color:#555;white-space:nowrap;}
.mband-car-img{height:36px;width:auto;display:block;}
.mband-contact{flex-shrink:0;background:none;border:1px solid var(--border);color:var(--red);font-family:"Oswald";font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;cursor:pointer;transition:all .15s;white-space:nowrap;}
.mband-contact:hover{background:var(--red);color:#fff;border-color:var(--red);}
.mband-detail{overflow:hidden;max-height:0;width:100%;border-top:0 solid var(--border);background:var(--warm-white);transition:max-height .28s cubic-bezier(.16,1,.3,1),border-top .28s;}
.mband-detail.open{max-height:400px;border-top:1px solid var(--border);}
.mband-detail-inner{padding:14px 16px 16px 70px;display:flex;flex-wrap:wrap;gap:20px;}
.mband-detail-section{min-width:160px;flex:1;}
.mband-detail-label{font-family:"Oswald";font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:4px;}
.mband-detail-text{font-size:.87rem;color:#444;line-height:1.55;}
/* Keep old card classes in case used elsewhere */
.member-card{background:#fff;border:1px solid var(--border);padding:24px;text-align:center;}
.member-card img{width:72px;height:72px;border-radius:50%;border:3px solid var(--border);margin-bottom:12px;object-fit:cover;}
.member-name{font-family:"Oswald";font-size:1rem;font-weight:600;}
.member-secondary{font-family:"Oswald";font-size:.80rem;color:#555;margin-top:3px;}
.member-gen{font-family:"Oswald";font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-top:4px;}
.member-bio{font-size:.90rem;color:#444;margin-top:8px;line-height:1.5;}
.admin-badge{display:inline-block;background:var(--red);color:#fff;font-size:.6rem;font-family:"Oswald";letter-spacing:.15em;text-transform:uppercase;padding:2px 8px;margin-top:8px;}
.member-contact-btn{display:inline-block;margin-top:12px;background:none;border:1px solid var(--border);color:var(--red);font-family:"Oswald";font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;padding:5px 14px;cursor:pointer;transition:all .15s;width:100%;}
.member-contact-btn:hover{background:var(--red);color:#fff;border-color:var(--red);}
@media(max-width:600px){
  .mband-row{gap:10px;padding:10px 12px;}
  .mband-car-img{height:28px;}
  .mband-contact{padding:5px 8px;font-size:.55rem;}
}

/* ── Profile / Forms ─────────────────────────────────────────── */
.profile-box{background:#fff;border:1px solid var(--border);border-top:3px solid var(--red);padding:36px;max-width:560px;}
.field-label{display:block;font-family:"Oswald";font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#555;margin-bottom:6px;}
input,select,textarea{width:100%;padding:10px 14px;background:var(--warm-white);border:1px solid var(--border);border-bottom:2px solid var(--charcoal);font-family:"DM Sans";font-size:.95rem;color:var(--charcoal);outline:none;resize:vertical;margin-bottom:18px;}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--red);}

/* ── Admin ───────────────────────────────────────────────────── */
.admin-tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:32px;}
.tab-btn{background:none;border:none;font-family:"Oswald";font-size:.88rem;letter-spacing:.15em;text-transform:uppercase;color:#555;cursor:pointer;padding:12px 24px;border-bottom:3px solid transparent;margin-bottom:-2px;}
.tab-btn.active{color:var(--red);border-bottom-color:var(--red);}
.admin-tab-select{display:none;width:100%;margin-bottom:24px;font-family:"Oswald";font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--border);background:var(--warm-white);color:var(--charcoal);cursor:pointer;}
/* ── Reports ─────────────────────────────────────────────────── */
.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:24px;}
.report-card{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);padding:20px 22px;display:flex;flex-direction:column;gap:10px;}
.report-card-title{font-family:"Oswald";font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;color:var(--charcoal);font-weight:600;}
.report-card-desc{font-size:.82rem;color:#666;line-height:1.55;flex:1;}
.report-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px;}
@media(max-width:1300px){
  .admin-tabs{display:none;}
  .admin-tab-select{display:block;}
}
.a-panel{display:none;}
.a-panel.active{display:block;}
.a-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
.a-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid var(--border);margin-bottom:6px;}
.a-row strong{font-family:"Oswald";font-size:.95rem;}
.a-row .meta{font-size:.78rem;color:#555;margin-top:2px;}
@media(max-width:960px){
  .a-grid{grid-template-columns:1fr;}
  .inner{padding:64px 16px;}
  .field-grid-2,.field-grid-3{grid-template-columns:1fr;}
  .detail-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .detail-grid{grid-template-columns:1fr;}
}

/* ── FAB ─────────────────────────────────────────────────────── */
.fab{position:fixed;bottom:32px;right:32px;z-index:150;background:var(--red);color:var(--cream);border:none;width:56px;height:56px;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 4px 20px rgba(200,0,30,.4);transition:transform .2s,box-shadow .2s;display:none;align-items:center;justify-content:center;}
.fab:hover{transform:scale(1.1);}
.fab.show{display:flex;}

/* ── Member Modal ────────────────────────────────────────────── */
.mem-modal-overlay{position:fixed;inset:0;background:rgba(20,10,10,.65);z-index:400;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(3px);}
.mem-modal-overlay.open{opacity:1;pointer-events:all;}
.mem-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);z-index:401;background:var(--warm-white);width:min(760px,96vw);max-height:92vh;overflow-y:auto;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1);border-top:3px solid var(--red);box-shadow:0 24px 80px rgba(0,0,0,.3);}
.mem-modal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1);}
.mem-section{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);padding:18px 20px;margin-bottom:18px;}
.mem-section-title{font-family:"Oswald";font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:14px;}
.field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.field-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 16px;}
.status-pill{display:inline-flex;align-items:center;gap:5px;font-family:"Oswald";font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;padding:3px 10px;border:1px solid;}
.status-pill.active{color:#2a7a3a;border-color:rgba(42,122,58,.4);background:rgba(42,122,58,.07);}
.status-pill.inactive{color:#888;border-color:rgba(136,136,136,.4);background:rgba(136,136,136,.07);}
.status-pill.officer{color:var(--red);border-color:rgba(200,0,30,.35);background:rgba(200,0,30,.06);}
.status-pill.dues-ok{color:#2a7a3a;border-color:rgba(42,122,58,.4);background:rgba(42,122,58,.07);}
.status-pill.dues-late{color:#b00018;border-color:rgba(176,0,24,.35);background:rgba(176,0,24,.06);}

/* ── Admin Member Rows ───────────────────────────────────────── */
.a-member-row{background:#fff;border:1px solid var(--border);border-left:3px solid transparent;margin-bottom:8px;transition:border-left-color .2s;}
.a-member-row:hover{border-left-color:var(--red);}
.a-member-top{display:block;padding:12px 16px;cursor:pointer;}
.a-member-detail{display:none;padding:0 16px 16px;border-top:1px solid var(--border);}
.a-member-detail.open{display:block;}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:14px;}
.detail-cell{background:var(--warm-white);padding:10px 12px;}
.detail-cell-lbl{font-family:"Oswald";font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:#555;margin-bottom:3px;}
.detail-cell-val{font-family:"Oswald";font-size:.85rem;color:var(--charcoal);}

/* ── Event Modal ─────────────────────────────────────────────── */
.modal-wrap{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);z-index:401;background:var(--warm-white);width:min(640px,95vw);max-height:90vh;overflow-y:auto;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1);border-top:3px solid var(--red);box-shadow:0 24px 80px rgba(0,0,0,.3);}
.modal-wrap.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1);}
.modal-head{padding:24px 32px;background:var(--charcoal);display:flex;align-items:center;justify-content:space-between;}
.modal-eyebrow{font-family:"Oswald";font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--red);margin-bottom:5px;}
.modal-title{font-family:"Bebas Neue";font-size:1.9rem;letter-spacing:.06em;color:var(--cream);}
.modal-close{background:rgba(255,255,255,.07);border:none;color:rgba(245,240,232,.6);font-size:1.2rem;cursor:pointer;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.modal-body{padding:28px 32px;}

/* ── Toast ───────────────────────────────────────────────────── */
.toast{position:fixed;bottom:24px;right:24px;background:var(--charcoal);color:var(--cream);padding:14px 24px;font-family:"Oswald";font-size:.8rem;letter-spacing:.1em;z-index:9999;transform:translateY(80px);opacity:0;transition:all .3s;border-left:4px solid var(--red);}
.toast.show{transform:translateY(0);opacity:1;}

/* ── Utility ─────────────────────────────────────────────────── */
.empty-state{color:#777;font-style:italic;padding:32px 0;}
.small-label{font-family:"DM Sans";font-weight:300;font-size:.78em;letter-spacing:0;text-transform:none;}
.demo-banner{background:linear-gradient(90deg,#1a0006,#3d0010);text-align:center;padding:8px;font-family:"Oswald";font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,240,232,.7);}
.demo-banner b{color:var(--red);}

/* ── Newsletters ─────────────────────────────────────────────── */
.nl-list{display:flex;flex-direction:column;gap:12px;margin-top:32px;}
.nl-card{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);padding:20px 24px;display:flex;align-items:center;gap:20px;text-decoration:none;transition:box-shadow .2s,transform .2s;}
.nl-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);transform:translateY(-1px);}
.nl-icon{width:48px;height:48px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;}
.nl-meta{flex:1;min-width:0;}
.nl-title{font-family:"Oswald";font-size:1rem;font-weight:600;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nl-date{font-family:"Oswald";font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#555;margin-top:3px;}
.nl-badge{font-family:"Oswald";font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(200,0,30,.07);color:var(--red);border:1px solid rgba(200,0,30,.2);padding:2px 10px;margin-top:5px;display:inline-block;}
.nl-arrow{font-family:"Oswald";font-size:.8rem;color:var(--red);flex-shrink:0;}
.nl-upload-zone{border:2px dashed var(--border);padding:32px;text-align:center;background:var(--warm-white);transition:border-color .2s,background .2s;cursor:pointer;margin-bottom:20px;}
.nl-upload-zone.drag{border-color:var(--red);background:#fff;}
.nl-upload-zone.has-file{border-color:var(--red);background:rgba(200,0,30,.03);}
.nl-upload-icon{font-size:2rem;margin-bottom:8px;}
.nl-upload-text{font-family:"Oswald";font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:#666;}
.nl-upload-name{font-family:"Oswald";font-size:.85rem;color:var(--red);margin-top:6px;font-weight:600;}
.nl-progress-wrap{background:var(--border);height:4px;overflow:hidden;margin:12px 0;}
.nl-progress-bar{height:100%;background:var(--red);width:0%;transition:width .3s;}
.nl-admin-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);margin-bottom:6px;}
.nl-admin-row-meta{flex:1;min-width:0;}
.nl-admin-row-title{font-family:"Oswald";font-size:.92rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nl-admin-row-date{font-family:"Oswald";font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#555;margin-top:2px;}

/* ── About ───────────────────────────────────────────────────── */
.about-hero-band{display:flex;align-items:center;justify-content:center;gap:0;background:var(--charcoal);padding:36px 48px;margin-bottom:40px;flex-wrap:wrap;gap:0;}
.about-stat{text-align:center;padding:0 40px;}
.about-stat-num{font-family:"Bebas Neue";font-size:3rem;color:var(--red);line-height:1;letter-spacing:.04em;}
.about-stat-lbl{font-family:"Oswald";font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(245,240,232,.5);margin-top:4px;}
.about-stat-div{width:1px;height:48px;background:rgba(255,255,255,.1);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.about-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--red);padding:28px;}
.about-card.span2{grid-column:span 2;}
.about-card-label{font-family:"Oswald";font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red);margin-bottom:14px;}
.about-body{font-size:.95rem;font-weight:300;color:var(--mid);line-height:1.8;}
.about-list{list-style:none;display:flex;flex-direction:column;gap:10px;}
.about-list li{font-size:.92rem;font-weight:300;color:var(--mid);line-height:1.5;padding-left:4px;}
.about-cta{display:inline-block;margin-top:18px;font-family:"Oswald";font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);cursor:pointer;text-decoration:none;border-bottom:1px solid rgba(200,0,30,.3);padding-bottom:2px;}
.about-cta:hover{border-bottom-color:var(--red);}
.officers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.officer-card{background:var(--warm-white);border:1px solid var(--border);border-left:3px solid var(--red);padding:12px 16px;}
.officer-card img{width:40px;height:40px;border-radius:50%;object-fit:cover;margin-bottom:8px;}
.officer-name{font-family:"Oswald";font-size:.9rem;font-weight:600;}
.officer-role{font-family:"Oswald";font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-top:2px;}
.officer-contact-btn{margin-top:8px;background:none;border:1px solid var(--border);color:var(--red);font-family:"Oswald";font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 14px;cursor:pointer;transition:all .15s;width:100%;}
.officer-contact-btn:hover{background:var(--red);color:#fff;border-color:var(--red);}
.about-links{display:flex;flex-direction:column;gap:10px;margin-top:4px;}
.about-link{display:flex;align-items:center;gap:10px;font-family:"Oswald";font-size:.82rem;letter-spacing:.06em;color:var(--charcoal);text-decoration:none;padding:10px 14px;background:var(--warm-white);border:1px solid var(--border);transition:border-color .2s;}
.about-link:hover{border-color:var(--red);color:var(--red);}

/* ── Contact ─────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start;}
.contact-form-box{background:#fff;border:1px solid var(--border);border-top:3px solid var(--red);padding:32px;max-width:640px;}

/* ── Membership page ─────────────────────────────────────────── */
.membership-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start;margin-top:8px;max-width:680px;}
.membership-info-box{background:#fff;border:1px solid var(--border);border-top:3px solid var(--red);padding:36px;}
.membership-subhead{font-family:"Oswald";font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal);margin-bottom:8px;}
.membership-body{font-size:.9rem;font-weight:300;color:#555;line-height:1.75;}
.membership-list{margin:10px 0 0 18px;padding:0;font-size:.9rem;font-weight:300;color:#555;line-height:2;}
.membership-address{font-size:.88rem;font-weight:300;color:#555;line-height:1.8;padding:14px 16px;background:var(--light);border-left:3px solid var(--red);margin-top:8px;}
.membership-notice{margin-top:28px;padding:14px 16px;background:rgba(200,0,30,.04);border:1px solid rgba(200,0,30,.15);font-size:.84rem;font-weight:300;color:#555;line-height:1.7;}
.membership-status-box{background:var(--charcoal);color:var(--cream);padding:32px;text-align:center;position:sticky;top:80px;}
.membership-status-head{font-family:"Oswald";font-size:1.1rem;letter-spacing:.08em;}
.contact-info-block{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid var(--border);}
.contact-info-block:first-child{padding-top:0;}
.contact-info-icon{width:40px;height:40px;background:var(--charcoal);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.contact-info-lbl{font-family:"Oswald";font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#555;margin-bottom:4px;}
.contact-info-val{font-family:"Oswald";font-size:.9rem;color:var(--charcoal);text-decoration:none;}
.contact-info-val:hover{color:var(--red);}

/* ── Resources ───────────────────────────────────────────────── */
.resource-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--red);padding:28px;margin-bottom:16px;}
.resource-cat{display:inline-block;padding:3px 12px;border:1px solid rgba(200,0,30,.35);font-family:"Oswald";font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
.resource-title{font-family:"Oswald";font-size:1.1rem;font-weight:600;letter-spacing:.04em;margin-bottom:8px;}
.resource-body{font-size:.93rem;font-weight:300;color:var(--mid);line-height:1.7;}
.resource-body p{margin:0 0 .7em;}.resource-body p:last-child{margin-bottom:0;}
.resource-body h2{font-family:"Oswald";font-size:1.05rem;font-weight:600;margin:.9em 0 .3em;}
.resource-body h3{font-family:"Oswald";font-size:.9rem;font-weight:600;margin:.8em 0 .3em;}
.resource-body ul,.resource-body ol{padding-left:1.4em;margin:0 0 .7em;}
.resource-body li{margin-bottom:.2em;}
.resource-body a{color:var(--red);text-decoration:underline;}
.resource-body strong{font-weight:600;}
.resource-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:"Oswald";font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red);text-decoration:none;}
.resource-link:hover{text-decoration:underline;}
.resource-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:10px;border-top:1px dashed var(--border);}
.resource-author{font-size:.86rem;color:#555;font-style:italic;}

/* ── Drives ──────────────────────────────────────────────────── */
.drives-list{display:flex;flex-direction:column;gap:12px;margin-top:32px;}
.drive-card{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);padding:20px 24px;display:flex;align-items:center;gap:20px;text-decoration:none;transition:box-shadow .2s,transform .2s;}
.drive-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);transform:translateY(-1px);}
.drive-icon{width:48px;height:48px;background:var(--charcoal);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;}
.drive-meta{flex:1;min-width:0;}
.drive-title{font-family:"Oswald";font-size:1rem;font-weight:600;color:var(--charcoal);}
.drive-desc{font-size:.92rem;font-weight:300;color:#444;margin-top:4px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.drive-date{font-family:"Oswald";font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#555;margin-top:5px;}
.drive-arrow{font-family:"Oswald";font-size:.8rem;color:var(--red);flex-shrink:0;}

/* ── Responsive adjustments ──────────────────────────────────── */
@media (max-width:960px) {
  .about-hero-band{padding:28px 20px;gap:0;}
  .about-stat{padding:0 20px;}
  .about-stat-num{font-size:2.2rem;}
  .about-grid{grid-template-columns:1fr;}
  .membership-grid{grid-template-columns:1fr;}
  .membership-status-box{position:static;}
  .about-card.span2{grid-column:span 1;}
  .contact-grid{grid-template-columns:1fr;gap:32px;}
}

/* ── Car Picker ──────────────────────────────────────────────── */
.cp-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px;}
.cp-tab{padding:5px 12px;border:2px solid var(--border);background:#fff;font-family:"Oswald";font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .15s;}
.cp-tab:hover{border-color:var(--red);color:var(--red);}
.cp-tab.active{background:var(--red);border-color:var(--red);color:#fff;}
.cp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--light);border:1px solid var(--border);padding:8px;max-height:380px;overflow-y:auto;}
.cp-cell{cursor:pointer;border:2px solid transparent;background:#fff;transition:border-color .12s,transform .1s;text-align:center;padding:4px 2px 2px;}
.cp-cell:hover{border-color:var(--red);transform:scale(1.04);z-index:1;position:relative;}
.cp-cell.selected{border-color:var(--red);box-shadow:0 0 0 2px rgba(200,0,30,.25);}
.cp-img{width:100%;height:auto;display:block;}
.cp-name{font-size:.60rem;color:#444;padding:2px 3px 4px;line-height:1.3;}
.cp-preview{display:flex;align-items:center;gap:14px;margin-top:10px;padding:12px 14px;background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);}
.cp-preview-gen{font-family:"Oswald";font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);}
.cp-preview-name{font-family:"Oswald";font-size:.95rem;font-weight:600;color:var(--charcoal);margin-top:2px;}

/* ── Admin member filters ─────────────────────────────────────── */
.am-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;background:var(--warm-white);border:1px solid var(--border);}
.am-filter-group{display:flex;gap:2px;}
.am-filter{padding:4px 10px;border:1px solid var(--border);background:#fff;font-family:"Oswald";font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:#666;transition:all .12s;}
.am-filter:hover{border-color:var(--red);color:var(--red);}
.am-filter.active{background:var(--charcoal);border-color:var(--charcoal);color:#fff;}
.am-filter-group .am-filter:first-child{border-radius:0;}
.am-filter-group .am-filter:not(:first-child){border-left:none;}

/* ── Quill rich text editor — site-matched styles ────────────── */
.quill-editor{background:var(--warm-white);border:1px solid var(--border);overflow:hidden;}

/* Toolbar */
.quill-editor .ql-toolbar{
  border:none;border-bottom:1px solid var(--border);
  padding:6px 10px;background:var(--light);
  font-family:"Oswald",sans-serif;
}
.quill-editor .ql-toolbar button,.quill-editor .ql-toolbar .ql-picker-label{
  color:var(--charcoal);
}
.quill-editor .ql-toolbar button:hover,.quill-editor .ql-toolbar button.ql-active,
.quill-editor .ql-toolbar .ql-picker-label:hover{
  color:var(--red) !important;
}
.quill-editor .ql-toolbar button:hover .ql-stroke,
.quill-editor .ql-toolbar button.ql-active .ql-stroke{stroke:var(--red) !important;}
.quill-editor .ql-toolbar button:hover .ql-fill,
.quill-editor .ql-toolbar button.ql-active .ql-fill{fill:var(--red) !important;}
.quill-editor .ql-toolbar .ql-picker-options{
  background:var(--warm-white);border:1px solid var(--border);
  font-family:"Oswald",sans-serif;font-size:.72rem;letter-spacing:.08em;
}
.quill-editor .ql-toolbar .ql-picker-item:hover{color:var(--red);}

/* Editor content area */
.quill-editor .ql-container{
  border:none;
  font-family:"DM Sans",sans-serif;
  font-size:.93rem;
  color:var(--charcoal);
  height:450px;        /* fixed height — stops container from growing */
  overflow:hidden;
}
.quill-editor .ql-editor{
  height:450px;
  max-height:450px;
  overflow-y:auto;
  line-height:1.7;
  padding:14px 16px;
  background:var(--warm-white);
  font-family:"DM Sans",sans-serif !important;
  font-size:.93rem !important;
  color:var(--charcoal) !important;
}
.quill-editor .ql-editor.ql-blank::before{
  color:#aaa;font-style:normal;
  font-family:"DM Sans",sans-serif;font-size:.93rem;
}

/* Typography inside editor matches site rendering */
.quill-editor .ql-editor p{margin:0 0 .7em;color:var(--charcoal);}
.quill-editor .ql-editor p:last-child{margin-bottom:0;}
.quill-editor .ql-editor h2{
  font-family:"Oswald",sans-serif;font-size:1.05rem;font-weight:600;
  letter-spacing:.05em;color:var(--charcoal);margin:.9em 0 .3em;
}
.quill-editor .ql-editor h3{
  font-family:"Oswald",sans-serif;font-size:.9rem;font-weight:600;
  letter-spacing:.05em;color:var(--charcoal);margin:.8em 0 .3em;
}
.quill-editor .ql-editor ul,.quill-editor .ql-editor ol{
  padding-left:1.4em;margin:0 0 .7em;
}
.quill-editor .ql-editor li{margin-bottom:.2em;color:var(--charcoal);}
.quill-editor .ql-editor a{color:var(--red);text-decoration:underline;}
.quill-editor .ql-editor strong{font-weight:600;}

/* res-editor uses same fixed height — rule kept for specificity if needed */
.res-editor .ql-container{height:450px;}
.res-editor .ql-editor{height:450px;max-height:450px;}

/* Images inserted via Quill editor */
.quill-editor .ql-editor img{max-width:100%;height:auto;display:block;margin:.5em 0;border:1px solid var(--border);}
.card-body img{max-width:100%;height:auto;display:block;margin:.5em 0;}
.resource-body img{max-width:100%;height:auto;display:block;margin:.5em 0;}
