/* ==========================================================================
   Image Media News — offline news site stylesheet
   Modern tabloid/magazine look: white background, dark orange accent,
   black + light gray touches
   ========================================================================== */

:root{
  --white:#ffffff;
  --paper:#f5f6f8;
  --paper-2:#eef0f3;
  --ink-900:#14161a;
  --ink-700:#3a3f47;
  --ink-500:#5b616c;
  --ink-400:#868c98;
  --line:#e3e6ea;
  --brand:#c1440e;
  --brand-dark:#963505;
  --gold:#f2a900;
  --navy:#1f3a5f;
  --teal:#0f8b8d;
  --purple:#6b3fa0;
  --orange:#e2711d;
  --green:#3f8f4f;
  --shadow:0 10px 28px rgba(20,22,26,.08);
  --shadow-lg:0 18px 44px rgba(20,22,26,.16);
  --radius:8px;
  --maxw:1200px;
  font-size:16px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--white);
  color:var(--ink-700);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

a{color:var(--brand);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .4em;font-weight:800;color:var(--ink-900);letter-spacing:-.01em;}
p{margin:0 0 1em;color:var(--ink-700);}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- Breaking bar ---------- */
.breaking-bar{background:var(--brand);color:#fff;font-size:.82rem;font-weight:700;}
.breaking-bar .wrap{display:flex;align-items:center;gap:12px;padding:8px 24px;}
.breaking-bar .tag{background:#fff;color:var(--brand);text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.05em;padding:3px 9px;border-radius:4px;flex:none;}
.breaking-bar .ticker-viewport{flex:1;overflow:hidden;position:relative;height:1.4em;}
.breaking-bar .ticker-track{
  position:absolute;top:0;left:0;white-space:nowrap;will-change:transform;
  padding:1px 2px; /* room for the focus outline when editing */
}
@media (prefers-reduced-motion: reduce){
  .breaking-bar .ticker-track{position:static;transform:none !important;white-space:normal;}
  .breaking-bar .ticker-viewport{height:auto;overflow:visible;}
}

/* ---------- Header / Nav ---------- */
header.site-header{border-bottom:2px solid var(--ink-900);background:var(--white);position:sticky;top:0;z-index:40;}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.brand{font-weight:900;font-size:1.5rem;letter-spacing:-.02em;color:var(--ink-900);text-transform:uppercase;}
.brand span.accent{color:var(--brand);}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink-900);border-radius:6px;padding:8px 10px;font-size:1.1rem;}
nav.menu{display:flex;gap:26px;align-items:center;}
nav.menu a{
  color:var(--ink-900);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;
  padding-bottom:4px;border-bottom:2px solid transparent;
}
nav.menu a:hover, nav.menu a.active{border-color:var(--brand);color:var(--brand);text-decoration:none;}
nav.menu a.cta{
  color:#fff;background:var(--ink-900);padding:9px 16px;border-radius:999px;border-bottom:none;
}
nav.menu a.cta:hover{background:var(--brand);text-decoration:none;}

.lang-switch{display:flex;gap:6px;align-items:center;padding-left:6px;border-left:1px solid var(--line);}
.lang-switch button{
  background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;
  font-size:1.05rem;line-height:1;padding:4px 5px;opacity:.55;filter:grayscale(40%);
}
.lang-switch button:hover{opacity:.85;}
.lang-switch button.active{opacity:1;filter:none;border-color:var(--line);background:var(--paper);}

@media (max-width:860px){
  nav.menu{position:fixed;inset:66px 0 0 0;background:var(--white);flex-direction:column;padding:26px;align-items:flex-start;display:none;overflow:auto;border-top:1px solid var(--line);}
  nav.menu.open{display:flex;}
  .nav-toggle{display:block;}
  .lang-switch{border-left:none;padding-left:0;margin-top:8px;}
}

/* ---------- Category tags ---------- */
.tag{
  display:inline-block;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;
  padding:4px 10px;border-radius:4px;color:#fff;
}
.tag-football{background:var(--navy);}
.tag-athletics{background:var(--orange);}
.tag-cycling{background:var(--teal);}
.tag-combat{background:var(--purple);}
.tag-culture{background:var(--gold);color:var(--ink-900);}
.tag-general{background:var(--ink-700);}
.tag-functional{background:var(--green);}

/* ---------- Hero (lead story) ---------- */
.hero-story{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);}
.hero-story .hero-img-wrap{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#dfe3e8,#c7ccd4);}
.hero-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-story .hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg, rgba(10,12,16,.85) 0%, rgba(10,12,16,.35) 45%, rgba(10,12,16,0) 75%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:28px;
}
.hero-overlay .tag{margin-bottom:12px;align-self:flex-start;}
.hero-overlay h1, .hero-overlay h2{color:#fff;font-size:2rem;max-width:22ch;}
.hero-overlay p{color:#e7e9ec;max-width:60ch;font-size:1.02rem;}
.hero-overlay .byline{color:#c7ccd4;font-size:.82rem;font-weight:700;}
@media (max-width:640px){.hero-overlay h1, .hero-overlay h2{font-size:1.5rem;}}

.editable-img-wrap{position:relative;}
.img-edit-overlay{
  display:none;position:absolute;inset:0;background:rgba(20,22,26,.45);z-index:3;
  color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:8px;
  font-size:.8rem;font-weight:700;text-align:center;padding:12px;
  transition:background .15s ease;
}
/* Visible any time edit mode is on — not hover-only, since hover is unreliable on
   trackpads/touch devices and was hiding the upload button before a click could land. */
body.edit-mode .editable-img-wrap .img-edit-overlay{display:flex;}
body.edit-mode .editable-img-wrap:hover .img-edit-overlay{background:rgba(20,22,26,.7);}
.img-edit-overlay button{
  background:var(--brand);color:#fff;border:none;border-radius:6px;padding:7px 12px;font-weight:800;cursor:pointer;font-size:.78rem;
}
.img-edit-overlay .url-link{color:#fff;text-decoration:underline;cursor:pointer;font-size:.75rem;}
.img-credit{color:var(--ink-400);font-size:.75rem;margin-top:6px;text-align:right;}

/* ---------- Sections ---------- */
section{padding:48px 0;}
section.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px;border-bottom:3px solid var(--ink-900);padding-bottom:10px;flex-wrap:wrap;}
.section-head h2{font-size:1.5rem;text-transform:uppercase;letter-spacing:-.01em;}
.section-head a{font-weight:800;font-size:.85rem;text-transform:uppercase;}

/* ---------- Story cards ---------- */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cards-grid.cols-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:900px){.cards-grid, .cards-grid.cols-2{grid-template-columns:1fr;}}

.story-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column;
}
.story-card .thumb{aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,#dfe3e8,#c7ccd4);}
.story-card .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.story-card .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.story-card .tag{align-self:flex-start;}
.story-card h3{font-size:1.08rem;}
.story-card .deck{color:var(--ink-500);font-size:.92rem;}
.story-card .meta{color:var(--ink-400);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-top:auto;}
.story-card .read-more{font-weight:800;font-size:.85rem;}

.remove-card-btn{
  display:none;position:absolute;top:10px;right:10px;z-index:4;background:var(--brand);color:#fff;border:none;
  width:26px;height:26px;border-radius:50%;cursor:pointer;font-weight:800;line-height:1;box-shadow:var(--shadow);
}
body.edit-mode .remove-card-btn{display:block;}
.add-card-row{text-align:center;margin-top:30px;}

/* Latest list (compact rows) */
.latest-list{display:flex;flex-direction:column;gap:0;}
.latest-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center;}
.latest-row .thumb{width:110px;height:74px;flex:none;border-radius:6px;overflow:hidden;position:relative;background:linear-gradient(135deg,#dfe3e8,#c7ccd4);}
.latest-row .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.latest-row h4{font-size:1rem;margin-bottom:2px;}
.latest-row .meta{color:var(--ink-400);font-size:.78rem;font-weight:700;text-transform:uppercase;}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.filters button{
  background:var(--white);border:1px solid var(--line);color:var(--ink-700);padding:8px 16px;
  border-radius:999px;font-size:.82rem;cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.02em;
}
.filters button.active{background:var(--ink-900);color:#fff;border-color:var(--ink-900);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;
  font-weight:800;font-size:.88rem;cursor:pointer;border:1px solid transparent;text-transform:uppercase;letter-spacing:.02em;
}
.btn-primary{background:var(--brand);color:#fff;}
.btn-primary:hover{background:var(--brand-dark);text-decoration:none;}
.btn-dark{background:var(--ink-900);color:#fff;}
.btn-dark:hover{background:#000;text-decoration:none;}
.btn-ghost{background:transparent;border-color:var(--ink-900);color:var(--ink-900);}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand);text-decoration:none;}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* Newsletter strip */
.newsletter{background:var(--ink-900);color:#fff;border-radius:var(--radius);padding:36px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.newsletter h3{color:#fff;font-size:1.3rem;}
.newsletter p{color:#c7ccd4;margin:0;}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter input{padding:11px 14px;border-radius:6px;border:none;min-width:220px;font-size:.9rem;}

/* ---------- Article page ---------- */
.article-head{max-width:820px;margin:0 auto;text-align:center;padding:36px 0 20px;}
.article-head .tag{margin-bottom:14px;}
.article-head h1{font-size:2.2rem;max-width:26ch;margin-left:auto;margin-right:auto;}
.article-head .deck{font-size:1.1rem;color:var(--ink-500);max-width:60ch;margin:14px auto;}
.article-byline{color:var(--ink-400);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;}
.article-hero{max-width:960px;margin:20px auto 0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,#dfe3e8,#c7ccd4);}
.article-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.article-body{max-width:720px;margin:0 auto;padding:36px 0;font-size:1.08rem;color:var(--ink-700);}
.article-body p{margin-bottom:1.2em;}
.pull-quote{border-left:4px solid var(--brand);margin:28px 0;padding:6px 0 6px 22px;font-size:1.3rem;font-weight:800;color:var(--ink-900);font-style:italic;}
.inline-figure{margin:28px 0;}
.inline-figure .editable-img-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,#dfe3e8,#c7ccd4);}
.inline-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.inline-figure figcaption{color:var(--ink-400);font-size:.82rem;margin-top:8px;text-align:center;}
.article-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;}
.article-tags span{background:var(--paper);border:1px solid var(--line);color:var(--ink-500);font-size:.78rem;font-weight:700;padding:5px 11px;border-radius:999px;}

/* ---------- Masthead / About ---------- */
.masthead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:820px){.masthead-grid{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
footer.site-footer{border-top:2px solid var(--ink-900);padding:36px 0;color:var(--ink-500);font-size:.88rem;background:var(--ink-900);}
footer.site-footer, footer.site-footer p, footer.site-footer .brand{color:#c7ccd4;}
footer.site-footer .brand{color:#fff;}
.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer-links a{color:#c7ccd4;font-weight:700;}
.footer-bottom{margin-top:18px;color:#868c98;}

/* ==========================================================================
   Edit mode engine
   ========================================================================== */
[data-edit-id]{outline-offset:3px;border-radius:3px;}
body.edit-mode [data-edit-id]{outline:1px dashed rgba(193,68,14,.35);}
body.edit-mode [data-edit-id]:hover{outline:1px dashed var(--brand);}
body.edit-mode [contenteditable="true"]:focus{outline:2px solid var(--brand);background:rgba(193,68,14,.05);}

.link-edit-badge{
  display:none;margin-left:6px;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-900);
  border-radius:999px;width:20px;height:20px;font-size:.7rem;line-height:1;cursor:pointer;
}
body.edit-mode .link-edit-badge{display:inline-flex;align-items:center;justify-content:center;}

/* Toolbar */
#im-toolbar{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:100;
  background:var(--ink-900);border-top:1px solid #000;
  align-items:center;gap:10px;padding:10px 18px;flex-wrap:wrap;
  box-shadow:0 -6px 24px rgba(0,0,0,.3);font-size:.85rem;
}
body.edit-mode #im-toolbar{display:flex;}
#im-toolbar .grow{flex:1;}
#im-toolbar button, #im-toolbar label.tbtn{
  background:#262a31;border:1px solid #3a3f47;color:#fff;
  padding:9px 14px;border-radius:999px;cursor:pointer;font-weight:800;font-size:.8rem;display:inline-flex;align-items:center;gap:6px;
}
#im-toolbar button.primary{background:var(--brand);border-color:var(--brand);}
#im-toolbar button.danger{background:transparent;color:#ff8a8a;border-color:#ff8a8a;}
#im-toolbar .status{color:#9aa0ac;font-size:.78rem;}
#im-edit-launcher{
  position:fixed;bottom:20px;right:20px;z-index:99;background:var(--brand);color:#fff;
  border:none;border-radius:999px;padding:13px 20px;font-weight:800;cursor:pointer;box-shadow:var(--shadow-lg);font-size:.85rem;
  text-transform:uppercase;letter-spacing:.02em;
}
body.edit-mode #im-edit-launcher{display:none;}
body.edit-mode{padding-bottom:64px;}

#im-help-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:110;align-items:center;justify-content:center;padding:20px;}
#im-help-modal.open{display:flex;}
#im-help-modal .box{background:#fff;border-radius:var(--radius);max-width:520px;padding:28px;box-shadow:var(--shadow-lg);}
#im-help-modal h3{color:var(--ink-900);}
#im-help-modal ul{color:var(--ink-700);padding-left:20px;}
#im-help-modal li{margin-bottom:8px;}
#im-help-modal .close-btn{margin-top:10px;}

/* Live-publish status pill + toast */
#im-toolbar .live-pill{
  font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;
  padding:5px 10px;border-radius:999px;border:1px solid #3a3f47;color:#9aa0ac;
}
#im-toolbar .live-pill.on{color:#7be0a0;border-color:#2f6b46;background:rgba(47,107,70,.25);}
#im-toast{
  position:fixed;left:50%;bottom:88px;transform:translateX(-50%) translateY(12px);
  background:var(--ink-900);color:#fff;padding:11px 18px;border-radius:8px;font-size:.85rem;font-weight:700;
  box-shadow:var(--shadow-lg);z-index:120;opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;
  max-width:min(90vw,420px);text-align:center;
}
#im-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
#im-toast.error{background:#7a1f1f;}


/* Portrait images: show full image instead of cropping. Applied via JS based on natural aspect ratio. */
.hero-story img.fit-contain,
.story-card .thumb img.fit-contain,
.latest-row .thumb img.fit-contain,
.article-hero img.fit-contain,
.inline-figure img.fit-contain {
  object-fit: contain !important;
}


/* Organizer coverage banner (home page) */
.organizer-banner{
  position:relative;display:block;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-lg);text-decoration:none;color:inherit;
}
.organizer-banner-img{width:100%;height:240px;object-fit:cover;display:block;}
.organizer-banner-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, rgba(10,12,16,.88) 0%, rgba(10,12,16,.58) 55%, rgba(10,12,16,.12) 100%);
  display:flex;flex-direction:column;justify-content:center;padding:32px;
}
.organizer-banner-tag{
  display:inline-block;align-self:flex-start;background:var(--brand);color:#fff;
  font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;
  padding:5px 12px;border-radius:999px;margin-bottom:12px;
}
.organizer-banner-title{color:#fff;font-size:1.5rem;font-weight:800;line-height:1.18;max-width:56ch;margin:0 0 8px;}
.organizer-banner-text{color:rgba(255,255,255,.88);font-size:.95rem;max-width:52ch;margin:0 0 18px;}
.organizer-banner .btn{width:fit-content;}
@media (max-width:640px){
  .organizer-banner-img{height:340px;}
  .organizer-banner-title{font-size:1.2rem;}
  .organizer-banner-text{font-size:.88rem;}
}
