*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --black:   #0F0F0F;
  --charcoal:#1C1C1C;
  --panel:   #242424;
  --copper:  #B87333;
  --copper-light: #D4914A;
  --off-white: #F0EDE8;
  --muted:   #888880;
  --border:  rgba(240,237,232,0.08);
}

html { scroll-behavior: smooth; }
body { background:var(--black); color:var(--off-white); font-family:'Inter',sans-serif; font-weight:400; line-height:1.6; -webkit-font-smoothing:antialiased; }

/* NAV — public site only */
#main-nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.2rem 4rem; background:rgba(15,15,15,0.88); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); }
.nav-logo { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:0.12em; color:var(--off-white); text-decoration:none; }
.nav-logo span { color:var(--copper); }
.nav-links { display:flex; gap:2.4rem; list-style:none; }
.nav-links a { color:var(--muted); text-decoration:none; font-size:0.8rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; transition:color 0.2s; }
.nav-links a:hover { color:var(--off-white); }
.nav-cta { background:var(--copper); color:var(--black) !important; padding:0.5rem 1.2rem; font-weight:600 !important; }
.nav-cta:hover { background:var(--copper-light) !important; }
.nav-toggle { display:none; background:none; border:1px solid var(--border); color:var(--off-white); padding:0.4rem 0.7rem; cursor:pointer; font-size:1rem; }

/* FLASH */
.flash-container { position:fixed; top:5rem; right:1.5rem; z-index:200; display:flex; flex-direction:column; gap:0.5rem; }
.flash { padding:0.8rem 1.4rem; font-size:0.88rem; }
.flash--success { background:var(--copper); color:var(--black); }
.flash--error { background:#8B2020; color:#fff; }

/* HERO */
#hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }
.hero-left { display:flex; flex-direction:column; justify-content:center; padding:8rem 4rem 6rem; background:var(--black); }
.hero-eyebrow { font-size:0.72rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--copper); margin-bottom:1.5rem; }
.hero-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(3.5rem,6vw,6.5rem); line-height:0.95; letter-spacing:0.03em; margin-bottom:1.8rem; }
.hero-headline em { font-style:normal; color:var(--copper); }
.hero-sub { font-size:1rem; color:var(--muted); max-width:400px; line-height:1.7; margin-bottom:2.8rem; }
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
.hero-stats { display:flex; gap:2.5rem; margin-top:3.5rem; padding-top:2rem; border-top:1px solid var(--border); }
.stat-value { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; letter-spacing:0.05em; }
.stat-label { font-size:0.72rem; color:var(--muted); letter-spacing:0.08em; text-transform:uppercase; margin-top:0.1rem; }
.hero-right { position:relative; overflow:hidden; min-width:0; min-height:0; }
.hero-right img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(0.65) saturate(0.7); transition:transform 8s ease, opacity 0.4s ease; }
.hero-right img.is-fading { opacity:0; }
#hero:hover .hero-right img { transform:scale(1.04); }
.hero-right::before { content:''; position:absolute; left:-1px; top:0; bottom:0; width:80px; background:var(--black); clip-path:polygon(0 0,100% 0,0 100%); z-index:3; }

/* BUTTONS */
.btn-primary { background:var(--copper); color:var(--black); padding:0.9rem 2rem; font-size:0.82rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; border:none; cursor:pointer; transition:background 0.2s; display:inline-block; }
.btn-primary:hover { background:var(--copper-light); }
.btn-ghost { background:transparent; color:var(--off-white); padding:0.9rem 2rem; font-size:0.82rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; border:1px solid var(--border); cursor:pointer; transition:border-color 0.2s; display:inline-block; }
.btn-ghost:hover { border-color:var(--muted); }

/* SHARED SECTION */
section { padding:7rem 4rem; }
.section-eyebrow { font-size:0.72rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--copper); margin-bottom:1rem; }
.section-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.4rem,4vw,3.6rem); letter-spacing:0.04em; line-height:1; margin-bottom:1.2rem; }
.section-sub { color:var(--muted); max-width:520px; font-size:0.95rem; line-height:1.75; }

/* SERVICES */
#services { background:var(--charcoal); }
.services-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:4rem; flex-wrap:wrap; gap:1.5rem; }
.services-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:1px; background:var(--charcoal); }
.service-card { flex:1 1 300px; max-width:400px; background:var(--charcoal); padding:2.8rem 2.2rem; position:relative; overflow:hidden; transition:background 0.25s; }
.service-card:hover { background:var(--panel); }
.service-icon { font-size:2rem; margin-bottom:1.4rem; display:block; }
.service-card h3 { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; letter-spacing:0.06em; margin-bottom:0.8rem; }
.service-card p { font-size:0.88rem; color:var(--muted); line-height:1.7; }
.service-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--copper); transform:scaleX(0); transform-origin:left; transition:transform 0.3s ease; }
.service-card:hover::after { transform:scaleX(1); }

/* PORTFOLIO */
#portfolio { background:var(--black); }
.portfolio-header { margin-bottom:3.5rem; }
.portfolio-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:12px; }
.port-item { position:relative; overflow:hidden; cursor:pointer; min-width:0; }
.port-span-7 { grid-column:span 7; aspect-ratio:7/5; }
.port-span-5 { grid-column:span 5; aspect-ratio:5/4; }
.port-span-4 { grid-column:span 4; aspect-ratio:4/4; }
.port-span-8 { grid-column:span 8; aspect-ratio:8/5; }
.port-item img { position:absolute; inset:0; width:100%; height:100%; min-height:240px; object-fit:cover; filter:brightness(0.7) saturate(0.6); transition:transform 0.6s ease, filter 0.4s ease, opacity 0.4s ease; display:block; }
.port-item img.is-fading { opacity:0; }
.port-item:hover img { transform:scale(1.06); filter:brightness(0.85) saturate(0.8); }
.port-overlay { position:absolute; bottom:0; left:0; right:0; padding:1.4rem 1.6rem; background:linear-gradient(transparent,rgba(15,15,15,0.9)); transform:translateY(100%); transition:transform 0.35s ease; }
.port-item:hover .port-overlay { transform:translateY(0); }
.port-label { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.14em; color:var(--copper); }
.port-title { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:0.05em; }

/* PROCESS */
#process { background:var(--charcoal); }
.process-layout { margin-top:4rem; }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:2.6rem; }
.process-step { display:flex; flex-direction:column; gap:1rem; padding-left:1.6rem; border-left:2px solid var(--border); transition:border-color 0.3s; }
.process-step:hover { border-left-color:var(--copper); }
.step-num { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; color:var(--border); line-height:1; letter-spacing:0.05em; transition:color 0.3s; }
.process-step:hover .step-num { color:var(--copper); }
.step-body h4 { font-family:'Bebas Neue',sans-serif; font-size:1.25rem; letter-spacing:0.06em; margin-bottom:0.4rem; }
.step-body p { font-size:0.87rem; color:var(--muted); line-height:1.7; }

/* TESTIMONIALS */
#testimonials { background:var(--black); }
.testimonials-marquee { margin-top:4rem; overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.testimonials-track { display:flex; gap:1.5rem; width:max-content; animation:marquee-ltr 32s linear infinite; }
.testimonials-marquee:hover .testimonials-track { animation-play-state:paused; }
@keyframes marquee-ltr { from { transform:translateX(-50%); } to { transform:translateX(0%); } }
.testimonial-card { flex:0 0 340px; background:var(--charcoal); padding:2.4rem; border-top:2px solid var(--copper); }
.stars { color:var(--copper); font-size:0.85rem; margin-bottom:1.2rem; letter-spacing:0.1em; }
.testimonial-card blockquote { font-size:0.93rem; color:var(--off-white); line-height:1.75; margin-bottom:1.6rem; font-style:italic; }
.reviewer-name { font-weight:600; font-size:0.82rem; letter-spacing:0.05em; }
.reviewer-loc { font-size:0.75rem; color:var(--muted); margin-top:0.2rem; }

/* ABOUT */
#about { background:var(--charcoal); display:grid; grid-template-columns:1fr 1fr; padding:0; }
.about-image { position:relative; min-height:560px; overflow:hidden; }
.about-image img { width:100%; height:100%; object-fit:cover; filter:brightness(0.65) saturate(0.6); }
.about-content { padding:6rem 4.5rem; display:flex; flex-direction:column; justify-content:center; }
.about-content p { font-size:0.92rem; color:var(--muted); line-height:1.8; margin-bottom:1.2rem; }
.about-badges { display:flex; flex-wrap:wrap; gap:0.8rem; margin-top:2rem; }
.badge { background:var(--panel); border:1px solid var(--border); padding:0.45rem 1rem; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.badge--new { background:var(--copper); color:var(--black); border-color:var(--copper); }

/* CONTACT */
#contact { background:var(--black); }
.contact-layout { display:grid; grid-template-columns:1fr 1.4fr; gap:6rem; margin-top:4rem; align-items:start; }
.contact-info h4 { font-family:'Bebas Neue',sans-serif; font-size:1.1rem; letter-spacing:0.08em; margin-bottom:0.4rem; }
.contact-info p { color:var(--muted); font-size:0.88rem; line-height:1.7; margin-bottom:2rem; }
.contact-detail { display:flex; align-items:center; gap:0.8rem; margin-bottom:1rem; }
.contact-detail-icon { width:36px; height:36px; background:var(--charcoal); display:flex; align-items:center; justify-content:center; font-size:0.9rem; flex-shrink:0; }
.contact-detail span { font-size:0.88rem; color:var(--muted); }
.contact-form { display:flex; flex-direction:column; gap:1rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:0.4rem; }
.form-group label { font-size:0.72rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); }
.form-group input, .form-group select, .form-group textarea { background:var(--charcoal); border:1px solid var(--border); color:var(--off-white); padding:0.85rem 1rem; font-family:'Inter',sans-serif; font-size:0.9rem; outline:none; transition:border-color 0.2s; -webkit-appearance:none; appearance:none; resize:vertical; }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(136,136,128,0.5); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--copper); }
.form-success { background:var(--charcoal); border-top:2px solid var(--copper); padding:2rem; font-size:1rem; }
.form-error { background:#3a1010; border:1px solid #8B2020; padding:0.8rem 1rem; font-size:0.85rem; color:#ff9999; }

/* FOOTER */
footer { background:var(--charcoal); border-top:1px solid var(--border); padding:2.5rem 4rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.footer-logo { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:0.12em; color:var(--off-white); text-decoration:none; }
.footer-logo span { color:var(--copper); }
footer p { font-size:0.78rem; color:var(--muted); }
.footer-links { display:flex; gap:1.8rem; list-style:none; }
.footer-links a { font-size:0.78rem; color:var(--muted); text-decoration:none; transition:color 0.2s; }
.footer-links a:hover { color:var(--off-white); }

/* ADMIN */
.admin-wrap { max-width:1100px; margin:0 auto; padding:7rem 2rem 4rem; }
.admin-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:2.5rem; flex-wrap:wrap; gap:1rem; }
.admin-title { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; letter-spacing:0.06em; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2.5rem; }
.admin-stat { background:var(--charcoal); padding:1.6rem; position:relative; }
.admin-stat-value { font-family:'Bebas Neue',sans-serif; font-size:2.4rem; color:var(--off-white); }
.admin-stat-label { font-size:0.75rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.1em; }
.admin-stat-badge { position:absolute; top:1rem; right:1rem; background:var(--copper); color:var(--black); font-size:0.7rem; font-weight:600; padding:0.2rem 0.5rem; }
.admin-nav-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-bottom:2.5rem; }
.admin-nav-card { background:var(--charcoal); padding:2rem; text-decoration:none; color:var(--off-white); border:1px solid var(--border); transition:border-color 0.2s; display:block; }
.admin-nav-card:hover { border-color:var(--copper); }
.admin-nav-icon { font-size:1.8rem; display:block; margin-bottom:0.8rem; }
.admin-nav-card h3 { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:0.06em; margin-bottom:0.4rem; }
.admin-nav-card p { font-size:0.85rem; color:var(--muted); }
.admin-section { margin-top:2rem; }
.admin-section-title { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:0.06em; margin-bottom:1rem; }
.admin-table { width:100%; border-collapse:collapse; font-size:0.87rem; }
.admin-table th { text-align:left; padding:0.7rem 1rem; font-size:0.72rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--border); }
.admin-table td { padding:0.9rem 1rem; border-bottom:1px solid var(--border); vertical-align:top; }
.admin-table tr.unread td { color:var(--off-white); }
.admin-table tr:not(.unread) td { color:var(--muted); }
.admin-table--full { width:100%; }
.admin-btn { background:var(--panel); border:1px solid var(--border); color:var(--off-white); padding:0.35rem 0.8rem; font-size:0.78rem; cursor:pointer; font-family:'Inter',sans-serif; margin-right:0.4rem; transition:border-color 0.2s; }
.admin-btn:hover { border-color:var(--copper); }
.admin-btn--danger { color:#ff9999; }
.admin-btn--danger:hover { border-color:#8B2020; }
.admin-form { display:flex; flex-direction:column; gap:1.2rem; }

/* RESPONSIVE */
@media(max-width:960px){
  nav { padding:1rem 1.5rem; }
  .nav-links { display:none; flex-direction:column; position:fixed; top:60px; left:0; right:0; background:var(--charcoal); padding:1.5rem; gap:1rem; border-bottom:1px solid var(--border); }
  .nav-links.open { display:flex; }
  .nav-toggle { display:block; }
  section { padding:5rem 1.5rem; }
  #hero { grid-template-columns:1fr; }
  .hero-left { padding:6rem 1.5rem 3rem; }
  .hero-right { height:280px; }
  .hero-right::before { display:none; }
  .service-card { flex-basis:100%; max-width:none; }
  .portfolio-grid { grid-template-columns:1fr 1fr; }
  .port-item { grid-column:span 1 !important; grid-row:span 1 !important; }
  .process-layout { margin-top:3rem; }
  .process-steps { grid-template-columns:1fr 1fr; gap:2rem; }
  .testimonial-card { flex-basis:280px; }
  #about { grid-template-columns:1fr; }
  .about-image { min-height:240px; }
  .about-content { padding:3rem 1.5rem; }
  .contact-layout { grid-template-columns:1fr; gap:3rem; }
  .form-row { grid-template-columns:1fr; }
  footer { flex-direction:column; align-items:flex-start; padding:2rem 1.5rem; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .admin-nav-cards { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){ *, *::before, *::after { transition:none !important; animation:none !important; } }
@media(max-width:560px){ .process-steps { grid-template-columns:1fr; } }

/* ── ADMIN LAYOUT WITH SIDEBAR ── */
body.admin-body { display:block; overflow-x:hidden; }

.admin-layout {
  display:grid;
  grid-template-columns:240px 1fr;
  min-height:100vh;
  width:100%;
}

.admin-sidebar {
  width:240px;
  background:#111111;
  border-right:1px solid rgba(255,255,255,0.07);
  position:fixed;
  top:0; left:0; bottom:0;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  z-index:50;
}

.admin-main {
  margin-left:240px;
  padding:2rem 2.5rem;
  min-height:100vh;
  background:var(--black);
}

.sidebar-logo {
  font-family:'Bebas Neue', sans-serif;
  font-size:1.3rem;
  letter-spacing:0.12em;
  color:var(--off-white);
  text-decoration:none;
  padding:1.2rem 1.5rem;
  border-bottom:1px solid rgba(255,255,255,0.07);
  display:block;
  flex-shrink:0;
}
.sidebar-logo span { color:var(--accent); }

.sidebar-section-label {
  font-size:0.62rem;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--muted);
  padding:1.2rem 1.5rem 0.4rem;
  display:block;
  flex-shrink:0;
}

.sidebar-nav {
  display:flex;
  flex-direction:column;
  width:100%;
}

.sidebar-link {
  display:block;
  width:100%;
  padding:0.65rem 1.5rem;
  font-size:0.83rem;
  color:var(--muted);
  text-decoration:none;
  border-left:2px solid transparent;
  transition:background 0.15s, color 0.15s;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sidebar-link:hover { background:rgba(255,255,255,0.05); color:var(--off-white); }
.sidebar-link.active { color:var(--off-white); background:rgba(255,255,255,0.07); border-left-color:var(--accent); }
.sidebar-link--danger { color:#e74c3c !important; }
.sidebar-link--danger:hover { background:rgba(231,76,60,0.1) !important; }
.admin-page-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:2rem; flex-wrap:wrap; gap:1rem; padding-bottom:1.5rem; border-bottom:1px solid var(--border); }
.admin-title { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:0.06em; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem; }
.admin-stat { background:var(--charcoal); padding:1.4rem; position:relative; border:1px solid var(--border); }
.admin-stat-value { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; }
.admin-stat-label { font-size:0.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.1em; }
.admin-stat-badge { position:absolute; top:0.8rem; right:0.8rem; background:var(--accent); color:#000; font-size:0.68rem; font-weight:600; padding:0.2rem 0.5rem; }
.admin-quick-links { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem; }
.quick-link { background:var(--charcoal); border:1px solid var(--border); padding:1.4rem; text-decoration:none; color:var(--off-white); transition:border-color 0.2s; display:block; }
.quick-link:hover { border-color:var(--accent); }
.quick-link span { font-size:1.4rem; display:block; margin-bottom:0.5rem; }
.quick-link strong { font-size:0.88rem; display:block; margin-bottom:0.3rem; }
.quick-link p { font-size:0.78rem; color:var(--muted); }
.admin-section { margin-top:1.5rem; }
.admin-section-title { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:0.06em; margin-bottom:1rem; }
.admin-table { width:100%; border-collapse:collapse; font-size:0.87rem; }
.admin-table th { text-align:left; padding:0.7rem 1rem; font-size:0.7rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--border); }
.admin-table td { padding:0.9rem 1rem; border-bottom:1px solid var(--border); vertical-align:middle; }
.admin-table tr.unread td { color:var(--off-white); }
.admin-table tr:not(.unread) td { color:var(--muted); }
.admin-table--full { width:100%; }
.admin-btn { background:var(--panel); border:1px solid var(--border); color:var(--off-white); padding:0.35rem 0.8rem; font-size:0.78rem; cursor:pointer; font-family:'Inter',sans-serif; margin-right:0.3rem; transition:border-color 0.2s; text-decoration:none; display:inline-block; }
.admin-btn:hover { border-color:var(--accent); }
.admin-btn--danger { color:#ff9999; }
.admin-btn--danger:hover { border-color:#8B2020; }
.admin-form { display:flex; flex-direction:column; gap:1.2rem; }
.field-tip { font-size:0.78rem; color:var(--muted); margin-top:0.3rem; }

/* Admin form fields — full width, properly sized */
.admin-main .form-group {
  display:flex; flex-direction:column; gap:0.5rem; width:100%;
}
.admin-main .form-group label {
  font-size:0.72rem; font-weight:500; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--muted); display:block;
}
.admin-main .form-group input,
.admin-main .form-group select,
.admin-main .form-group textarea {
  width:100%;
  background:var(--black);
  border:1px solid rgba(240,237,232,0.12);
  color:var(--off-white);
  padding:0.75rem 1rem;
  font-family:'Inter', sans-serif;
  font-size:0.88rem;
  outline:none;
  transition:border-color 0.2s;
  resize:vertical;
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
}
.admin-main .form-group input:focus,
.admin-main .form-group select:focus,
.admin-main .form-group textarea:focus {
  border-color:var(--accent);
}
.admin-main .form-group input::placeholder,
.admin-main .form-group textarea::placeholder { color:rgba(136,136,128,0.4); }
.admin-main .form-row {
  display:grid; grid-template-columns:1fr 1fr; gap:1rem; width:100%;
}
.admin-main .form-row--3 {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; width:100%;
}

/* CONTENT EDITOR SECTIONS */
.content-section { background:var(--charcoal); border:1px solid rgba(240,237,232,0.08); margin-bottom:1.5rem; }
.content-section-header { display:flex; align-items:center; gap:0.8rem; padding:0.9rem 1.4rem; border-bottom:1px solid rgba(240,237,232,0.08); background:rgba(0,0,0,0.25); }
.content-section-icon { font-size:1.1rem; flex-shrink:0; }
.content-section-title { font-size:0.88rem; font-weight:600; letter-spacing:0.04em; color:var(--off-white); }
.content-section-body { padding:1.5rem; display:flex; flex-direction:column; gap:1rem; }

/* MEDIA LIBRARY */
.media-upload-zone { border:2px dashed var(--border); padding:3rem; text-align:center; margin-bottom:2rem; transition:border-color 0.2s; }
.media-upload-zone:hover { border-color:var(--accent); }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; }
.media-item { background:var(--charcoal); border:1px solid var(--border); overflow:hidden; }
.media-img-wrap { aspect-ratio:16/10; overflow:hidden; }
.media-img-wrap img { width:100%; height:100%; object-fit:cover; }
.media-item-footer { padding:0.8rem; }
.media-filename { font-size:0.75rem; color:var(--muted); word-break:break-all; }

/* NAV LOGO IMAGE */
.nav-logo-img { height:32px; object-fit:contain; }

/* Flash in admin */
.flash { padding:0.8rem 1.2rem; font-size:0.85rem; margin-bottom:0.5rem; }
.flash--success { background:#1a2e10; border-left:3px solid var(--accent); color:var(--off-white); }
.flash--error { background:#3a1010; border-left:3px solid #8B2020; color:#ff9999; }

@media(max-width:960px) {
  .admin-layout { grid-template-columns:1fr; }
  .admin-sidebar { display:none; }
  .admin-quick-links { grid-template-columns:1fr 1fr; }
  .admin-stats { grid-template-columns:1fr 1fr; }
}
