  /* ===========================================================
     Fırat Tıp Dergisi — design reference template
     Replace the CSS-built crest / cover / index tiles with your
     real image assets where marked "ASSET:".
     =========================================================== */

  /* Accessibility: skip-to-content link (WCAG 2.4.1). Off-screen until focused. */
  .skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:#6e1430;color:#fff;
    padding:10px 16px;border-radius:0 0 6px 0;font-weight:600;text-decoration:none}
  .skip-link:focus{left:0}

  :root{
    --maroon:        #6e1430;   /* Fırat brand burgundy */
    --maroon-deep:   #520d23;
    --maroon-soft:   #8a2845;
    --charcoal:      #2a2a2a;   /* nav + footer + dark cards */
    --charcoal-2:    #353535;
    --ink:           #1d1d1f;   /* primary text */
    --paper:         #ffffff;
    --bg:            #ffffff;   /* page background */
    --panel:         #ececec;   /* panel header bars */
    --panel-soft:    #fafafa;
    --line:          #e2e2e4;   /* hairline borders */
    --muted:         #6c6c70;
    --link:          #6e1430;
    --radius:        14px;
    --radius-sm:     9px;
    --shadow-sm:     0 1px 2px rgba(0,0,0,.05), 0 2px 8px rgba(0,0,0,.04);
    --shadow-md:     0 6px 24px rgba(0,0,0,.08);
    --maxw:          1900px;   /* widened from 1200px — revert: set back to 1200px */
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    font-family:"Open Sans", system-ui, sans-serif;
    color:var(--ink);
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
  }
  a{ color:inherit; text-decoration:none; }
  img{ display:block; max-width:100%; }

  /* ---------- top masthead ---------- */
  .masthead{
    background:var(--paper);
    border-bottom:1px solid var(--line);
  }
  .masthead-inner{
    max-width:var(--maxw); margin:0 auto;
    padding:11px 28px;
    display:flex; align-items:center; gap:20px;
  }
  .crest{
    width:120px; height:120px; flex:none;
    object-fit:contain;   /* emblem is already round + transparent — no white disc */
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.18));
  }
  /* real logo image (used when assets/img/firat-wordmark.* exists) */
  .site-logo{ display:block; height:auto; max-height:80px; width:auto; }
  /* English wordmark shown under the main (Turkish) title */
  .site-subtitle{ display:block; height:auto; max-height:17px; width:auto; margin-top:6px; }
  .title-block h1{
    margin:0; font-family:"Open Sans", system-ui, sans-serif;
    font-weight:700; font-size:30px; letter-spacing:-.01em;
    color:var(--ink);
  }
  /* "FIRAT TIP DERGİSİ" wordmark title (text fallback, black) */
  .wordmark{ line-height:.9; }
  .wordmark-main{
    display:block; font-family:"Open Sans", system-ui, sans-serif;
    font-weight:800; font-size:32px; letter-spacing:.015em; color:#111;
  }
  .wordmark-sub{
    display:block; font-family:"Open Sans", system-ui, sans-serif;
    font-weight:700; font-size:16px; letter-spacing:.2em; color:#111;
    margin-top:2px;
  }
  .title-block p{
    margin:6px 0 0; color:var(--muted);
    font-size:12.5px; font-weight:600; font-style:normal;
    font-family:"Open Sans", system-ui, sans-serif;
    text-transform:uppercase; letter-spacing:.05em;
  }
  .issn{ margin-left:auto; }
  .issn .badge{
    border:1px solid var(--line); border-radius:999px;
    padding:7px 16px; font-size:13px; font-weight:600;
    color:var(--charcoal); background:var(--panel-soft);
    letter-spacing:.02em;
  }


  /* ---------- nav ---------- */
  nav.topnav{ background:var(--charcoal); }
  .topnav ul{
    max-width:var(--maxw); margin:0 auto;
    list-style:none; display:flex; flex-wrap:wrap; justify-content:center;
    gap:2px; padding:0;
  }
  .topnav a{
    display:block; color:#e9e9ea; font-size:14.5px; font-weight:500;
    padding:15px 18px; position:relative; transition:color .18s, background .18s;
  }
  .topnav a::after{
    content:""; position:absolute; left:18px; right:18px; bottom:9px;
    height:2px; background:var(--maroon-soft);
    transform:scaleX(0); transform-origin:left; transition:transform .22s ease;
  }
  .topnav a:hover{ color:#fff; background:var(--charcoal-2); }
  .topnav a:hover::after{ transform:scaleX(1); }
  .topnav a.active{ color:#fff; }
  .topnav a.active::after{ transform:scaleX(1); }
  /* highlighted call-to-action in the nav (Submit Article) */
  .topnav a.nav-cta{
    background:var(--maroon); color:#fff; border-radius:999px;
    margin:8px 0 8px 8px; padding:8px 18px; font-weight:700;
  }
  .topnav a.nav-cta:hover{ background:var(--maroon-soft); color:#fff; }
  .topnav a.nav-cta::after{ display:none; }
  /* bigger, more spread-out nav on wide screens */
  @media (min-width:1280px){
    .topnav ul{ gap:8px; }
    .topnav a{ font-size:16.5px; padding:18px 26px; }
    .topnav a::after{ left:26px; right:26px; }
    .topnav a.nav-cta{ padding:10px 26px; font-size:16px; margin-left:12px; }
  }

  /* ---------- page shell ---------- */
  .wrap{ max-width:var(--maxw); margin:0 auto; padding:28px; }

  /* hero row: latest issue + intro card */
  .hero{
    display:grid; grid-template-columns:300px 1fr; gap:24px;  /* wider Son Sayı cover */
    margin-bottom:24px;
    align-items:stretch;   /* cover + maroon banner vertically centered together */
  }
  /* Son Sayı: cover artwork with a soft frame + the dynamic issue line. */
  .latest{ text-align:center; }
  .latest .label{ font-size:19px; color:var(--ink); font-weight:700; margin-bottom:9px; }
  .cover-link{ display:block; }
  .cover{
    width:100%; display:block; border-radius:14px;
    box-shadow:0 8px 22px rgba(110,20,48,.20);
    transition:transform .18s, box-shadow .18s;
  }
  /* Home: keep the cover's height fixed while the column gets wider, so it
     grows sideways (fills the box, small top/bottom trim) but not taller. */
  .hero .cover{ height:408px; object-fit:cover; object-position:center; }
  .cover-link:hover .cover{ transform:translateY(-3px); box-shadow:0 12px 30px rgba(110,20,48,.30); }
  .latest .issue{ margin-top:10px; font-weight:700; font-size:15px; color:var(--ink); }
  .latest .issue a:hover{ color:var(--maroon); }

  /* brand banner (right of Son Sayı): photo banner with white text sitting
     over the dark right-hand area. Matches the Son Sayı column height. */
  .hero-intro{
    border-radius:18px; padding:26px 5% 26px 47%;
    display:flex; align-items:center; justify-content:center;
    color:#fff; position:relative; overflow:hidden;   /* clips to the rounded corners */
    /* A %-based gradient turns the right portion into a SOLID dark panel that
       sits over the image. The text is positioned at the same % (padding-left),
       so the dark panel and the text always line up — regardless of how the
       background image scales. Left side shows the cover/document. */
    background-color:#454547;
    background-image:
      linear-gradient(90deg, rgba(69,69,71,0) 27%, rgba(69,69,71,1) 46%, rgba(69,69,71,1) 100%),
      url('../img/hero-banner.jpg');
    background-repeat:no-repeat, no-repeat;
    background-position:center, left center;
    background-size:cover, cover;
    box-shadow:var(--shadow-md);
  }
  .hero-intro p{
    margin:0; max-width:620px; color:#fff;
    font-family:"Open Sans", system-ui, sans-serif;   /* same as the whole site */
    font-size:clamp(18px, 1.25vw, 23px); line-height:1.55;
    text-shadow:0 1px 3px rgba(0,0,0,.55);
  }
  .hero-intro strong{ color:#fff; }
  /* wide screens: dark zone is large, so move the panel + text a bit left */
  @media (min-width:1500px){
    .hero-intro{
      padding-left:32%;
      background-image:
        linear-gradient(90deg, rgba(69,69,71,0) 16%, rgba(69,69,71,1) 32%, rgba(69,69,71,1) 100%),
        url('../img/hero-banner.jpg');
    }
    .hero-intro p{ max-width:860px; }   /* wider text block on full screen */
  }

  /* ---------- main / sidebar columns ---------- */
  .cols{ display:grid; grid-template-columns:1fr 300px; gap:26px; align-items:start; }

  /* search */
  .search{ display:flex; gap:12px; margin-bottom:24px; }
  .search input{
    flex:1; border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:14px 18px; font-size:15px; font-family:inherit; background:var(--paper);
    box-shadow:var(--shadow-sm); outline:none; transition:border-color .18s, box-shadow .18s;
  }
  .search input:focus{ border-color:var(--maroon-soft); box-shadow:0 0 0 3px rgba(110,20,48,.12); }
  .search button{
    border:none; background:var(--charcoal); color:#fff; font-weight:600;
    padding:0 30px; border-radius:var(--radius-sm); font-size:15px; cursor:pointer;
    transition:background .18s, transform .12s;
  }
  .search button:hover{ background:var(--maroon); }
  .search button:active{ transform:translateY(1px); }

  /* panels */
  .panel{
    background:var(--paper); border:1px solid var(--line);
    border-radius:var(--radius); box-shadow:var(--shadow-sm);
    margin-bottom:24px; overflow:hidden;
  }
  .panel-head{
    background:var(--panel); padding:14px 20px;
    display:flex; align-items:center; gap:10px;
    font-weight:700; font-size:16px; color:var(--charcoal);
    border-bottom:1px solid var(--line);
  }
  .panel-head svg{ width:20px; height:20px; color:var(--maroon); }
  .panel-body{ padding:22px 24px; }

  .editor-role{ font-weight:700; font-size:15px; margin:0 0 2px; }
  .editor-name{ margin:0 0 18px; color:#3a3a3c; font-size:14.5px; }
  .editor-name:last-child{ margin-bottom:0; }
  /* grouped role blocks (advisors / owner+chief): tight inside, divider between */
  .role-group .editor-name{ margin-bottom:4px; }
  .role-group .editor-name:last-child{ margin-bottom:0; }
  .role-group + .role-group{ margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }

  /* category subtitle within an article list (home "Son Sayı") */
  .cat-subtitle{
    font-family:"Open Sans", system-ui, sans-serif; font-weight:700; font-size:17px;
    color:var(--maroon); margin:26px 0 4px; padding-bottom:8px;
    border-bottom:1px solid var(--line);
  }
  .cat-subtitle:first-child{ margin-top:0; }
  .cat-subtitle + .article{ padding-top:18px; }

  /* article list */
  .article{ padding:22px 0; border-bottom:1px solid var(--line); }
  .article:first-child{ padding-top:0; }
  .article:last-child{ padding-bottom:0; border-bottom:none; }
  .article h3{
    margin:0 0 6px; font-family:"Open Sans", system-ui, sans-serif; font-weight:600;
    font-size:18px; line-height:1.35; color:var(--ink);
    transition:color .18s;
  }
  .article h3 a:hover{ color:var(--maroon); }
  /* article language marker (TR/EN) shown next to the title in list views */
  .lang-badge{
    display:inline-block; vertical-align:middle;
    font-size:10.5px; font-weight:700; letter-spacing:.04em; line-height:1;
    color:#fff; background:var(--maroon); padding:3px 6px; border-radius:5px;
  }
  .authors{ margin:0 0 14px; color:var(--muted); font-size:14px; }
  .actions{ display:flex; flex-wrap:wrap; gap:8px; }
  .chip{
    display:inline-flex; align-items:center; gap:6px;
    border:1px solid var(--line); background:var(--panel-soft);
    color:#3a3a3c; font-size:12.5px; font-weight:500;
    padding:7px 12px; border-radius:7px; cursor:pointer;
    transition:all .16s ease;
  }
  .chip svg{ width:14px; height:14px; color:var(--maroon); }
  .chip:hover{ background:var(--maroon); color:#fff; border-color:var(--maroon); }
  .chip:hover svg{ color:#fff; }
  .chip.lang{ font-weight:600; }
  .chip.lang em{ font-style:normal; font-size:10px; border:1px solid currentColor; border-radius:3px; padding:0 3px; }

  /* ---------- sidebar ---------- */
  /* Son Sayı / Ön Baskı browser-style tabs on the home articles panel */
  .panel-tabs{
    display:flex; align-items:flex-end; gap:6px;
    padding:10px 14px 0; background:var(--panel);
    border-bottom:1px solid var(--line);
  }
  .panel-tab{
    display:inline-flex; align-items:center; gap:7px;
    padding:10px 18px; border:1px solid var(--line); border-bottom:none;
    border-radius:10px 10px 0 0; font-weight:700; font-size:14.5px;
    color:var(--maroon); background:#f3e7ea; line-height:1; white-space:nowrap;
    text-decoration:none; transition:background .15s, color .15s;
  }
  .panel-tab svg{ width:17px; height:17px; }
  .panel-tab:not(.active):hover{ background:var(--maroon); color:#fff; }
  .panel-tab.active{
    background:var(--paper); color:var(--charcoal); cursor:default;
    margin-bottom:-1px; padding-bottom:11px;
  }
  .panel-tab.active svg{ color:var(--maroon); }
  .toc-switch-panel{ display:none; }
  .toc-switch-panel.active{ display:block; }
  .submit-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:24px; }
  .submit-card{
    border-radius:var(--radius); padding:22px 14px; text-align:center;
    color:#fff; cursor:pointer; transition:transform .18s, box-shadow .18s;
    box-shadow:var(--shadow-sm);
  }
  .submit-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
  .submit-card.send{ background:linear-gradient(160deg,var(--maroon-soft),var(--maroon-deep)); }
  .submit-card.review{ background:linear-gradient(160deg,#454545,var(--charcoal)); }
  .submit-card svg{ width:42px; height:42px; margin-bottom:12px; }
  .submit-card span{ display:block; font-weight:600; font-size:13.5px; line-height:1.3; }

  .archive-years{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .yr{
    background:var(--charcoal); color:#fff; text-align:center;
    padding:9px 0; border-radius:7px; font-size:13.5px; font-weight:600;
    cursor:pointer; transition:background .16s, transform .12s;
  }
  .yr:hover{ background:var(--maroon); }
  .yr:active{ transform:translateY(1px); }
  .all-years{ text-align:center; margin-top:14px; font-weight:600; color:var(--maroon); font-size:14px; cursor:pointer; }
  .all-years:hover{ text-decoration:underline; }
  /* wide screens: scale the sidebar up with the page (it was fixed at 300px) */
  @media (min-width:1500px){
    .cols{ grid-template-columns:1fr 360px; }
    .yr{ padding:13px 0; font-size:16px; }
    .all-years{ font-size:15px; margin-top:16px; }
    .submit-card svg{ width:46px; height:46px; }
    .submit-card span{ font-size:14.5px; }
    .latest .label{ font-size:21px; }
    .latest .issue{ font-size:16px; }
  }

  /* index tiles — ASSET: replace text tiles with real logo <img> */
  .index-tiles{ display:grid; gap:12px; margin-top:6px; }
  .index-tile{
    background:var(--paper); border:1px solid var(--line); border-radius:10px;
    height:64px; display:grid; place-items:center; padding:10px 16px;
    font-weight:800; letter-spacing:.04em; color:#444; font-size:18px;
    box-shadow:var(--shadow-sm); transition:transform .16s, box-shadow .16s;
  }
  .index-tile img{
    max-width:100%; max-height:44px; width:auto; height:auto; object-fit:contain;
  }
  /* logos that read small at the default size (EBSCO, TÜBİTAK) */
  .index-tile.lg{ padding:5px 10px; }
  .index-tile.lg img{ max-height:56px; }
  /* TÜBİTAK logo is wide — keep it clear of the tile edges */
  .index-tile img[alt="TÜBİTAK ULAKBİM"]{ max-height:44px; max-width:86%; }
  .index-tile:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }
  .index-tile small{ display:block; font-size:9px; font-weight:600; letter-spacing:.02em; color:var(--muted); margin-top:2px; }
  /* wide screens: bigger logo tiles to match the wider sidebar */
  @media (min-width:1500px){
    .index-tiles{ gap:14px; }
    .index-tile{ height:82px; }
    .index-tile img{ max-height:56px; }
    .index-tile.lg img{ max-height:68px; }
    .index-tile img[alt="TÜBİTAK ULAKBİM"]{ max-height:54px; }
  }

  .index-note{
    margin-top:20px; font-size:12.5px; color:var(--muted); line-height:1.6;
  }
  .index-note strong{ color:var(--charcoal); }

  /* ---------- footer ---------- */
  footer{ background:var(--charcoal); margin-top:36px; }
  footer ul{
    max-width:var(--maxw); margin:0 auto; list-style:none;
    display:flex; flex-wrap:wrap; justify-content:center; gap:4px;
    padding:24px 28px;
  }
  footer a{ color:#dcdcdd; font-size:14px; font-weight:500; padding:6px 16px; transition:color .16s; }
  footer a:hover{ color:#fff; }
  .footer-bottom{ text-align:center; color:#8a8a8c; font-size:12.5px; padding:0 0 22px; }

  /* ---------- entrance animation ---------- */
  .reveal{ opacity:0; transform:translateY(14px); animation:rise .6s ease forwards; }
  @keyframes rise{ to{ opacity:1; transform:none; } }
  .d1{ animation-delay:.05s } .d2{ animation-delay:.12s } .d3{ animation-delay:.2s } .d4{ animation-delay:.28s }

  /* ---------- responsive ---------- */
  @media (max-width:920px){
    .hero{ grid-template-columns:1fr; }
    .latest{ max-width:320px; margin-left:auto; margin-right:auto; }
    .hero .cover{ height:auto; }   /* natural aspect once stacked */
    .hero-intro{ display:none; }   /* drop the banner on mobile/tablet */
    /* single column; flatten the sidebar so the submit cards can sit right
       under the cover (order:-1), with Arşiv / logos staying at the bottom. */
    /* override the desktop grid's align-items:start, which on a flex column
       shrinks the Arşiv panel / logos to content width and left-aligns them */
    .cols{ display:flex; flex-direction:column; align-items:stretch; gap:16px; }
    .cols > aside{ display:contents; }
    .submit-grid{ order:-1; margin-bottom:0; }
    .masthead .lang-switch a{ font-size:13px; padding:6px 14px; }
  }
  @media (max-width:560px){
    /* stack the whole masthead centered; language switch below the ISSNs */
    .masthead-inner{ flex-direction:column; align-items:center; text-align:center; gap:6px; }
    .title-block{ display:flex; flex-direction:column; align-items:center; }
    .issn{ margin-left:0; align-items:center; flex-direction:column-reverse; gap:12px; }
    .issn-badges{ justify-content:center; }
    .lang-switch{ justify-content:center; }
    .title-block h1{ font-size:24px; }
    .wordmark-main{ font-size:28px; }
    .wordmark-sub{ font-size:14px; letter-spacing:.16em; }
    .crest{ width:150px; height:150px; margin-bottom:-14px; }
    .site-logo{ max-height:64px; }
    .site-subtitle{ max-height:14px; }
    .masthead .lang-switch a{ font-size:11px; padding:4px 11px; }
    .wrap{ padding:18px; }
    .search{ flex-direction:column; }
    .search button{ padding:14px; }
    /* Son Sayı cover on phones */
    .latest{ max-width:240px; }
    /* smaller submit cards on phones */
    .submit-card{ padding:15px 10px; }
    .submit-card svg{ width:30px; height:30px; margin-bottom:7px; }
    .submit-card span{ font-size:12px; }
  }

  /* ===========================================================
     Inner content pages (editorler, hakkinda, arama, etc.)
     Added during multi-page restructure.
     =========================================================== */
  .page-head{
    max-width:var(--maxw); margin:0 auto; padding:26px 28px 0;
  }
  .page-head h2{
    margin:0; font-family:"Open Sans", system-ui, sans-serif; font-weight:700;
    font-size:26px; line-height:1.3; color:var(--ink); letter-spacing:-.01em;
  }
  .breadcrumb{
    font-size:13px; color:var(--muted); margin:0 0 4px;
  }
  .breadcrumb a:hover{ color:var(--maroon); }
  .prose{ max-width:none; }
  .prose p{ margin:0 0 16px; font-size:15px; line-height:1.7; color:#333; }
  .prose h3{
    font-family:"Open Sans", system-ui, sans-serif; font-weight:700; font-size:20px;
    line-height:1.3; color:var(--ink); margin:28px 0 10px;
  }
  .prose ul{ margin:0 0 16px; padding-left:20px; }
  .prose li{ margin:0 0 8px; font-size:15px; line-height:1.6; color:#333; }
  .prose a{ color:var(--maroon); font-weight:500; border-bottom:1px solid rgba(110,20,48,.25); }
  .prose a:hover{ border-bottom-color:var(--maroon); }

  /* single-column wrap for content pages */
  .wrap.narrow{ display:block; }

  /* board / people list */
  .people{ list-style:none; padding:0; margin:0; }
  .people li{
    padding:14px 0; border-bottom:1px solid var(--line);
    font-size:15px; color:#333;
  }
  .people li:last-child{ border-bottom:none; }
  .people .who{ font-weight:600; color:var(--ink); }
  .people .where{ color:var(--muted); font-size:13.5px; }

  /* ---------- archive page (arsiv) ---------- */
  /* wider cover column (left) so the archive's right side isn't so empty */
  .arsiv-layout{ display:grid; grid-template-columns:340px 1fr; gap:26px; align-items:start; }
  .arsiv-layout .latest .cover{ max-width:300px; margin:0 auto; }
  .arsiv-year{
    font-family:"Open Sans", system-ui, sans-serif; font-weight:700; color:var(--maroon);
    font-size:16px; margin:20px 0 8px; padding-bottom:5px;
    border-bottom:1px solid var(--line);
  }
  .arsiv-year:first-child{ margin-top:0; }
  .issue-grid{
    list-style:none; margin:0; padding:0;
    display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:3px;
  }
  .issue-grid a{
    display:block; padding:7px 10px; border-radius:7px;
    font-size:15px; color:#333; transition:background .15s, color .15s;
  }
  .issue-grid a:hover{ background:var(--maroon); color:#fff; }
  .issue-grid a.special{ color:var(--maroon); font-weight:600; }
  .issue-grid a.special:hover{ color:#fff; }
  @media (max-width:760px){
    .arsiv-layout{ grid-template-columns:1fr; }
    .arsiv-layout .latest{ max-width:320px; margin-left:auto; margin-right:auto; }
  }
  @media (max-width:560px){
    .arsiv-layout .latest{ max-width:320px; }
    .arsiv-layout .latest .cover{ max-width:200px; }
  }

  /* ---------- advanced search (yayin-arama) ---------- */
  .adv-search{ max-width:620px; }
  .adv-search .field{
    display:grid; grid-template-columns:120px 1fr; align-items:center;
    gap:16px; margin-bottom:16px;
  }
  .adv-search label{
    text-align:right; font-weight:600; font-size:14.5px; color:var(--charcoal);
  }
  .adv-search input{
    width:100%; border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:11px 14px; font-size:15px; font-family:inherit; background:var(--paper);
    outline:none; transition:border-color .18s, box-shadow .18s;
  }
  .adv-search input:focus{
    border-color:var(--maroon-soft); box-shadow:0 0 0 3px rgba(110,20,48,.12);
  }
  .adv-search .actions-row{ grid-template-columns:120px 1fr; }
  .adv-search button{
    border:none; background:var(--charcoal); color:#fff; font-weight:600;
    padding:12px 38px; border-radius:var(--radius-sm); font-size:15px;
    cursor:pointer; transition:background .18s, transform .12s;
  }
  .adv-search button:hover{ background:var(--maroon); }
  .adv-search button:active{ transform:translateY(1px); }
  @media (max-width:560px){
    .adv-search .field{ grid-template-columns:1fr; gap:6px; }
    .adv-search label{ text-align:left; }
  }

  /* ---------- citation example boxes (yazarlara-bilgi) ---------- */
  .cite{
    background:var(--panel-soft); border:1px solid var(--line);
    border-left:3px solid var(--maroon); border-radius:6px;
    padding:12px 15px; font-size:14px; line-height:1.6; color:#333;
    margin:0 0 14px;
  }
  .prose h4{
    font-family:"Open Sans", system-ui, sans-serif; font-weight:700; font-size:17px;
    line-height:1.3; color:var(--maroon); margin:22px 0 8px;
  }
  .cite-label{
    font-family:"Open Sans", system-ui, sans-serif; font-style:italic; font-weight:600;
    color:var(--maroon); font-size:14.5px; margin:18px 0 6px;
  }

  /* ---------- login pages (makale gönderme / değerlendirme) ---------- */
  /* segmented switch between the submission and review login pages */
  .gate-switch{
    display:flex; max-width:560px; margin:0 auto 22px; gap:6px;
    background:var(--panel); border:1px solid var(--line);
    border-radius:999px; padding:5px;
  }
  .gate-switch a{
    flex:1; text-align:center; padding:10px 14px; border-radius:999px;
    font-size:14px; font-weight:600; color:var(--charcoal); transition:all .15s;
  }
  .gate-switch a:hover{ color:var(--maroon); }
  .gate-switch a.active{ background:var(--maroon); color:#fff; box-shadow:var(--shadow-sm); }
  @media (max-width:480px){ .gate-switch{ flex-direction:column; border-radius:var(--radius-sm); }
    .gate-switch a{ border-radius:var(--radius-sm); } }

  .login-intro{ max-width:640px; margin:0 auto 4px; text-align:center; }
  .login-card{ max-width:480px; margin:22px auto 0; }
  .login-card .panel-head{ justify-content:center; }
  .login-card .adv-search{ max-width:none; }
  .login-card .adv-search .field{ grid-template-columns:130px 1fr; }
  /* new-user registration form: narrow card so label+input fill it (balanced) */
  .register-card{ max-width:540px; }
  .register-card .adv-search .field{ grid-template-columns:150px 1fr; align-items:center; gap:14px; }
  .adv-search select{
    width:100%; border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:11px 14px; font-size:15px; font-family:inherit; background:var(--paper);
    color:var(--ink); outline:none;
  }
  .adv-search select:focus{ border-color:var(--maroon-soft); box-shadow:0 0 0 3px rgba(110,20,48,.12); }
  .register-card .phone-row{ display:flex; gap:8px; }
  .register-card .phone-row select{ flex:none; width:84px; }
  .register-card .phone-row input{ flex:1; min-width:0; }
  .req{ color:#c0392b; font-weight:700; }
  /* admin form bits: radio rows, code row, result message */
  .adv-search .radio-row{ display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; }
  .adv-search .radio{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:400; color:#333; }
  .adv-search .kod-row{ display:flex; align-items:center; gap:12px; }
  .adv-search .kod-row select,
  .adv-search .kod-row input[type="text"]{ flex:1; min-width:0; }   /* fills like other inputs */
  .adv-search .kod-modes{ display:flex; gap:12px; white-space:nowrap; }
  .adv-search .kod-modes .radio{ display:flex; align-items:center; gap:5px; }
  /* the inactive code field (dropdown OR new-code box) is hidden, not shown */
  .adv-search .kod-row .is-off{ display:none; }
  .adv-search input[type="file"]{
    border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:9px 12px; font-size:14px; background:var(--paper); width:100%;
  }
  .adv-search input[type="file"]::file-selector-button{
    border:none; background:var(--charcoal); color:#fff; font-weight:600;
    padding:7px 14px; border-radius:6px; margin-right:12px; cursor:pointer; font-size:13px;
  }
  .adv-search input[type="file"]::file-selector-button:hover{ background:var(--maroon); }
  .file-hint{ margin:7px 0 0; font-size:12.5px; color:var(--muted); }
  .form-msg{ padding:11px 15px; border-radius:var(--radius-sm); font-size:14px; margin:0 0 18px; }
  .form-msg.ok{ background:#e8f5ec; border:1px solid #b6dcc2; color:#1c6b39; }
  .form-msg.err{ background:#fdeaea; border:1px solid #f1c0c0; color:#a02525; }
  .form-msg.warn{ background:#fff6e5; border:1px solid #f0d9a8; color:#8a5a08; line-height:1.6; }
  /* article entry form */
  .adv-search textarea{
    width:100%; border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:10px 13px; font-size:14.5px; font-family:inherit; line-height:1.6;
    background:var(--paper); color:var(--ink); outline:none; resize:vertical; min-height:90px;
  }
  .adv-search textarea:focus{ border-color:var(--maroon-soft); box-shadow:0 0 0 3px rgba(110,20,48,.12); }
  .admin-article{ max-width:none; }
  .admin-article .field{ grid-template-columns:150px 1fr; }
  .admin-article .field-area{ align-items:start; }
  .admin-article .field-area > label{ padding-top:9px; }
  .article-sub{
    font-weight:700; font-size:14px; color:var(--maroon); text-transform:uppercase;
    letter-spacing:.03em; margin:22px 0 14px; padding-bottom:6px; border-bottom:1px solid var(--line);
  }
  /* article list (Makale Düzeltme) */
  .art-list{ list-style:decimal; padding-left:28px; margin:0; }
  .art-list li{ padding:12px 0; border-bottom:1px solid var(--line); display:flex; align-items:baseline; gap:12px; }
  .art-list li:last-child{ border-bottom:none; }
  .art-edit{ flex:1; color:var(--ink); }
  .art-edit:hover .art-title{ color:var(--maroon); text-decoration:underline; }
  .art-title{ display:block; font-weight:600; font-size:15px; line-height:1.4; }
  .art-authors{ display:block; color:var(--muted); font-size:13px; margin-top:2px; }
  .art-del{ flex:none; color:#a02525; font-size:13px; font-weight:600; white-space:nowrap; }
  .art-del:hover{ text-decoration:underline; }
  .art-del-btn{
    flex:none; background:none; border:none; padding:0; cursor:pointer;
    color:#a02525; font:inherit; font-size:13px; font-weight:600; white-space:nowrap;
  }
  .art-del-btn:hover{ text-decoration:underline; }
  .art-edit-link{ flex:none; color:var(--maroon); font-size:13px; font-weight:600; white-space:nowrap; }
  .art-edit-link:hover{ text-decoration:underline; }
  /* secondary "soft" button (outlined, maroon) */
  .btn-soft{
    display:inline-flex; align-items:center; gap:8px;
    padding:9px 16px; border-radius:var(--radius-sm);
    border:1px solid var(--maroon); background:#fff; color:var(--maroon);
    font-size:14px; font-weight:600; white-space:nowrap;
    transition:background .15s, color .15s, box-shadow .15s;
  }
  .btn-soft svg{ width:17px; height:17px; }
  .btn-soft:hover{ background:var(--maroon); color:#fff; box-shadow:var(--shadow-sm); }
  /* button bar (secondary + primary, right-aligned) */
  .adv-search .form-actions{
    display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap;
    gap:12px; margin-top:4px;
  }
  .pager{ display:flex; align-items:center; justify-content:center; gap:16px; margin-top:18px; }
  .pager-cur{ font-size:14px; color:var(--muted); font-weight:600; }
  /* destructive confirm button */
  button.danger{ background:linear-gradient(160deg,#c0392b,#90261b); }
  button.danger:disabled{ background:#d9b3ae; cursor:not-allowed; opacity:.8; }
  /* existing figures/tables in the edit form, with remove checkboxes */
  .exist-media{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:12px; }
  .exist-thumb{
    display:flex; flex-direction:column; gap:5px; width:128px; cursor:pointer;
    border:1px solid var(--line); border-radius:var(--radius-sm); padding:7px; background:var(--paper);
  }
  .exist-thumb img{ width:100%; height:90px; object-fit:contain; background:#f4f4f4; border-radius:3px; }
  .exist-del{ display:flex; align-items:center; gap:5px; font-size:12px; color:#a02525; font-weight:600; }
  .exist-thumb:has(input:checked){ border-color:#a02525; background:#fdeaea; }
  .exist-pdf{ display:flex; align-items:center; gap:14px; margin:0 0 10px; font-size:14px; }
  .exist-pdf a{ display:inline-flex; align-items:center; gap:6px; color:var(--maroon); font-weight:600; }
  .exist-pdf .exist-del{ display:inline-flex; align-items:center; gap:5px; color:#a02525; font-size:13px; font-weight:600; }
  /* added-by / last-edited-by provenance note on edit forms */
  .prov-note{ font-size:13px; color:var(--muted); margin:0 0 16px; padding:8px 12px;
    background:var(--panel-soft); border:1px solid var(--line); border-radius:var(--radius-sm); }
  /* password-reminder intro text inside the card */
  .reminder-intro{ font-size:14px; line-height:1.65; color:#444; margin:0 0 18px; }

  /* ---------- admin landing ---------- */
  .admin-bar{ display:flex; align-items:center; gap:12px; margin:0 0 16px; }
  .admin-bar .doc-btn{ margin-left:auto; }   /* logout always sits at the right */
  .admin-who{ font-size:13.5px; color:var(--muted); font-weight:600; }
  /* activity log table */
  .log-table{ display:grid; font-size:13.5px; }
  .log-row{ display:grid; grid-template-columns:128px 120px 140px 1fr 110px 150px; gap:10px;
    padding:9px 6px; border-bottom:1px solid var(--line); align-items:baseline; }
  .log-ua{ color:var(--muted); font-size:12.5px; }
  /* readership stat cards */
  .stat-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
  .stat-card{
    border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel-soft);
    padding:18px 16px; text-align:center;
  }
  .stat-num{ display:block; font-size:28px; font-weight:800; color:var(--maroon); line-height:1.1; }
  .stat-lbl{ display:block; font-size:13px; color:var(--muted); margin-top:6px; }
  @media (max-width:560px){ .stat-cards{ grid-template-columns:1fr; } }
  .log-row:last-child{ border-bottom:none; }
  .log-head{ font-weight:700; color:var(--charcoal); border-bottom:2px solid var(--line); }
  .log-action{ font-weight:600; }
  .log-action.act-login,.log-action.act-logout{ color:#1c6b39; }
  .log-action.act-issue,.log-action.act-article{ color:var(--maroon); }
  .log-action.act-user{ color:#8a5a08; }
  .log-ip{ color:var(--muted); font-variant-numeric:tabular-nums; }
  @media (max-width:760px){
    .log-row{ grid-template-columns:1fr 1fr; gap:4px 10px; }
    .log-head{ display:none; }
    .log-action{ grid-column:1 / -1; }
  }
  .admin-menu{ display:grid; gap:12px; margin-top:6px; }
  .admin-item{
    display:flex; align-items:center; gap:14px;
    padding:16px 20px; border:1px solid var(--line); border-radius:var(--radius-sm);
    background:var(--panel-soft); color:var(--ink); font-weight:600; font-size:15.5px;
    transition:border-color .15s, background .15s, transform .12s;
  }
  .admin-item:hover{ border-color:var(--maroon-soft); background:#fff; transform:translateY(-1px); }
  .admin-item > svg{ width:24px; height:24px; flex:none; color:var(--maroon); }
  .admin-item span{ flex:1; }
  .admin-item .chev{ width:18px; height:18px; color:var(--muted); }
  .login-links{ text-align:center; margin:18px 0 2px; font-size:13.5px; color:var(--muted); }
  .login-links a{ color:var(--maroon); font-weight:500; margin:0 16px; }
  .login-links a:hover{ text-decoration:underline; }
  .login-links a + a{ position:relative; }
  .login-links a + a::before{
    content:"·"; position:absolute; left:-17px; color:var(--muted); font-weight:600;
  }

  /* downloadable document link (e.g. Yönerge PDF) */
  .doc-link{
    display:inline-flex; align-items:center; gap:7px;
    color:var(--maroon); font-weight:600; text-decoration:underline;
    text-underline-offset:2px;
  }
  .doc-link svg{ width:16px; height:16px; flex:none; }
  .doc-link:hover{ color:var(--maroon-deep); text-decoration:none; }
  /* outlined pill variant (e.g. İçindekiler "Kapak PDF"), matches issue-nav buttons */
  .doc-btn{
    display:inline-flex; align-items:center; gap:7px;
    border:1px solid var(--line); background:var(--panel-soft);
    color:var(--maroon); font-weight:600; font-size:13.5px;
    padding:8px 16px; border-radius:var(--radius-sm); transition:all .15s;
  }
  .doc-btn svg{ width:16px; height:16px; flex:none; }
  .doc-btn:hover{ background:var(--maroon); color:#fff; border-color:var(--maroon); }

  /* ---------- İçindekiler (table of contents) ---------- */
  .toc-cats{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
  .toc-cats a{
    display:inline-flex; align-items:center; gap:7px;
    border:1px solid var(--line); background:var(--paper);
    padding:7px 13px; border-radius:999px; font-size:13.5px; font-weight:600;
    color:var(--charcoal); transition:all .15s;
  }
  .toc-cats a:hover{ background:var(--maroon); color:#fff; border-color:var(--maroon); }
  .toc-cats a span{
    background:var(--panel); color:var(--muted); font-size:11.5px;
    border-radius:999px; padding:1px 7px; font-weight:700;
  }
  .toc-cats a:hover span{ background:rgba(255,255,255,.2); color:#fff; }

  .toc-toolbar{ display:flex; align-items:center; gap:12px; margin:0 0 18px; }
  .toc-btn{
    display:inline-flex; align-items:center; gap:8px;
    border:1px solid var(--maroon); background:var(--maroon); color:#fff; font-weight:600;
    padding:10px 18px; border-radius:var(--radius-sm); font-size:14px;
    cursor:pointer; transition:background .16s, color .16s, box-shadow .16s; text-decoration:none;
  }
  .toc-btn svg{ width:16px; height:16px; flex:none; }
  .toc-btn:hover{ background:var(--maroon-deep); border-color:var(--maroon-deep); box-shadow:var(--shadow-sm); }
  .toc-btn.ghost{ background:#fff; color:var(--maroon); border-color:var(--maroon); }
  .toc-btn.ghost:hover{ background:var(--maroon); color:#fff; }
  .toc-selnote{ font-size:13px; color:var(--muted); }

  .toc-article{ display:flex; gap:14px; align-items:flex-start; }
  .toc-check{ flex:none; padding-top:3px; }
  .toc-check input{ width:17px; height:17px; cursor:pointer; accent-color:var(--maroon); }
  .toc-body{ flex:1; min-width:0; }
  .toc-abstract{
    background:var(--panel-soft); border:1px solid var(--line);
    border-left:3px solid var(--maroon); border-radius:8px;
    padding:12px 15px; margin:8px 0 12px; font-size:14px; line-height:1.65; color:#333;
  }
  .toc-abstract b{ color:var(--ink); }

  /* ---------- İçindekiler: previous / next issue nav ---------- */
  .issue-nav{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    flex-wrap:wrap; margin:0 0 20px;
    background:var(--paper); border:1px solid var(--line);
    border-radius:var(--radius); padding:12px 16px; box-shadow:var(--shadow-sm);
  }
  .issue-nav-btn{
    display:inline-flex; align-items:center; gap:6px;
    border:1px solid var(--line); background:var(--panel-soft);
    color:var(--maroon); font-weight:600; font-size:13.5px;
    padding:8px 14px; border-radius:var(--radius-sm); transition:all .15s;
  }
  .issue-nav-btn:hover{ background:var(--maroon); color:#fff; border-color:var(--maroon); }
  .issue-nav-btn.disabled{ color:var(--muted); background:transparent; opacity:.5; pointer-events:none; }
  .issue-nav-cur{ font-weight:700; font-size:14.5px; color:var(--ink); text-align:center; }
  @media (max-width:560px){
    .issue-nav{ justify-content:center; }
    .issue-nav-cur{ order:-1; width:100%; }
  }

  /* ---------- article abstract page (makale) ---------- */
  .paper{
    background:var(--paper); border:1px solid var(--line);
    border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:30px 34px;
  }
  .paper-meta{ text-align:center; color:var(--muted); font-size:13.5px; font-weight:600; margin-bottom:14px; }
  .paper-links{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:20px; }
  .paper-links.bottom{ margin:26px 0 0; }
  .paper-links a{
    border:1px solid var(--line); background:var(--panel-soft); color:var(--maroon);
    font-weight:600; font-size:13px; padding:6px 15px; border-radius:999px; transition:all .15s;
  }
  .paper-links a:hover{ background:var(--maroon); color:#fff; border-color:var(--maroon); }
  /* tabbed content: only the active panel is shown (JS toggles .active) */
  .paper-panel{ display:none; }
  .paper-panel.active{ display:block; }
  .paper-title{
    font-family:"Open Sans", system-ui, sans-serif; font-weight:700; font-size:26px; line-height:1.3;
    color:var(--ink); margin:0 0 16px; text-align:center;
  }
  .paper-authors{ text-align:center; font-size:15px; color:var(--ink); margin:0 0 6px; }
  .paper-authors sup{ color:var(--maroon); font-weight:600; }
  .paper-aff{ text-align:center; font-size:13px; color:var(--muted); margin:0 0 22px; line-height:1.65; }
  .paper-aff sup{ color:var(--maroon); }
  .paper-keywords{ text-align:left; font-size:13.5px; color:#444; margin:0 0 20px; line-height:1.6; }
  .paper-keywords b{ color:var(--ink); }
  .paper-abstract{ font-size:15px; line-height:1.75; color:#333; border-top:1px solid var(--line); padding-top:18px; }
  .paper-abstract-title{ font-family:"Open Sans", system-ui, sans-serif; font-weight:700; font-size:17px; line-height:1.3; color:var(--maroon); margin:0 0 10px; }
  .paper-abstract b{ color:var(--ink); }
  .paper-abstract p{ margin:0 0 12px; }

  /* ---------- Arşiv year filter (dropdown) ---------- */
  .arsiv-yearform{
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    margin:0 0 20px; padding:0 0 16px; border-bottom:1px solid var(--line);
  }
  .arsiv-yearform label{ font-size:14px; font-weight:600; color:var(--charcoal); }
  .arsiv-yearform select{
    border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:9px 32px 9px 14px; font-size:14px; font-family:inherit;
    background:var(--paper); color:var(--ink); cursor:pointer; min-width:170px;
  }
  .arsiv-yearform select:focus{
    outline:none; border-color:var(--maroon-soft); box-shadow:0 0 0 3px rgba(110,20,48,.12);
  }

  /* makale: active link state + full-text sections */
  .paper-links a.active{ background:var(--maroon); color:#fff; border-color:var(--maroon); }
  .paper-section-title{
    font-family:"Open Sans", system-ui, sans-serif; font-weight:700; font-size:17px;
    line-height:1.3; color:var(--maroon); margin:20px 0 8px;
  }
  .paper-section{ font-size:15px; line-height:1.75; color:#333; }
  /* Paragraphs are separated by (often unclosed) <p> tags and the first one is
     bare text. Give <p>/<div> BOTH top+bottom margins (they collapse, so no
     doubling) so every paragraph is spaced — including the first <p> that
     follows the leading bare text. Empty trailing <p>/<div> are hidden. */
  .paper-section p, .paper-section div{ margin:12px 0; }
  .paper-section p:empty, .paper-section div:empty{ display:none; }
  .paper-section b{ color:var(--ink); }
  /* inline "Tablo 1" / "Şekil 1A" references inside the text (links only,
     so empty <a id="rN"> reference anchors don't get colored) */
  .paper-section a[href]{ color:var(--maroon); font-weight:600; }
  .paper-section a[href]:hover{ text-decoration:underline; }
  /* in-text citation superscripts ([<r1>] → ¹), like the author markers.
     (own class, NOT .cite — that's the boxed citation example on Yazarlara Bilgi) */
  sup.ref-cite{ font-size:.72em; line-height:0; }
  sup.ref-cite a{ color:var(--maroon); font-weight:600; }
  .paper-abstract sup.ref-cite a{ text-decoration:none; }

  /* reference list (Kaynaklar): numbered, hanging indent */
  .ref-list .ref{
    margin:0 0 9px; padding-left:30px; text-indent:-30px;
    font-size:14px; line-height:1.6; color:#333;
    overflow-wrap:anywhere; word-break:break-word;   /* break long DOIs/URLs */
  }
  /* right-aligned number column so the ")"/last digits line up (1) … 13)) */
  .ref-list .ref-no{ display:inline-block; width:24px; margin-right:6px; text-align:right; font-weight:700; color:var(--maroon); }

  /* İçindekiler action buttons row (Kapak PDF + Yazar İndeksi) */
  .toc-actions{ display:flex; flex-wrap:wrap; gap:10px; }

  /* author index table (Yazar İndeksi) */
  .author-index{ display:grid; font-size:14px; }
  .ai-row{ display:grid; grid-template-columns:1fr 140px; gap:12px;
    padding:8px 4px; border-bottom:1px solid var(--line); }
  .ai-row:last-child{ border-bottom:none; }
  .ai-head{ font-weight:700; color:var(--charcoal); border-bottom:2px solid var(--line); }
  .ai-row > :last-child{ text-align:center; }   /* center the page-numbers column */
  .ai-pages{ font-variant-numeric:tabular-nums; }
  .ai-pages a{ color:var(--maroon); font-weight:600; }
  .ai-pages a:hover{ text-decoration:underline; }

  /* figures/tables embedded as HTML in the text (thumbnail + caption cells) */
  .paper-section table{
    width:100%; margin:18px 0; border-collapse:collapse;
    border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden;
  }
  .paper-section td, .paper-section th{
    border:1px solid var(--line); padding:14px 16px;
    vertical-align:middle; font-size:14px; line-height:1.6;
  }
  .paper-section td:first-child{
    width:180px; text-align:center; background:var(--panel);
    color:var(--maroon); font-size:12px; font-weight:600;
  }
  .paper-section img{
    display:inline-block; max-width:100%; height:auto;
    border:1px solid var(--line); border-radius:4px; background:#fff; margin-bottom:6px;
  }

  /* figure/table images placed at their caption (images/table_FTD_*, figure_FTD_*).
     The caption text is the paragraph immediately below the image. */
  .paper-figure{
    margin:18px 0 6px; padding:14px; text-align:center;
    border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel-soft);
  }
  .paper-figure a{ display:inline-block; }
  .paper-figure img{
    display:block; max-width:100%; max-height:300px; width:auto; height:auto; margin:0 auto;
    border:1px solid var(--line); border-radius:4px; background:#fff;
    cursor:zoom-in; transition:box-shadow .18s;
  }
  .paper-figure a:hover img{ box-shadow:0 0 0 3px rgba(110,20,48,.15); }
  /* embedded figure/table blocks (moved next to their reference in the text) */
  .paper-figure-embed{ margin:20px auto; text-align:center; }
  .paper-figure-embed img{ max-width:100%; height:auto; }

  /* figure/table caption: centered, with a bold maroon label ("Tablo 1.") */
  .paper-section .fig-caption{ text-align:center; font-size:14px; color:#444; }
  .fig-label{ font-weight:700; color:var(--maroon); }

  /* lightbox: enlarge a figure in an in-page overlay */
  .lightbox{
    position:fixed; inset:0; z-index:1000;
    display:flex; align-items:center; justify-content:center;
    background:rgba(20,6,12,.82); padding:32px; cursor:zoom-out;
  }
  .lightbox[hidden]{ display:none; }
  .lightbox img{
    max-width:95%; max-height:92vh; width:auto; height:auto;
    border-radius:6px; background:#fff; box-shadow:0 10px 40px rgba(0,0,0,.5);
  }
  .lightbox-close{
    position:absolute; top:18px; right:24px; width:44px; height:44px;
    border:none; border-radius:50%; background:rgba(255,255,255,.15); color:#fff;
    font-size:28px; line-height:1; cursor:pointer; transition:background .15s;
  }
  .lightbox-close:hover{ background:rgba(255,255,255,.3); }

  /* scroll-to-top button (all pages) */
  .to-top{
    position:fixed; bottom:24px; right:24px; z-index:900;
    width:46px; height:46px; border:none; border-radius:50%;
    background:var(--maroon); color:#fff; cursor:pointer;
    box-shadow:var(--shadow-md); display:grid; place-items:center;
    opacity:0; visibility:hidden; transform:translateY(10px);
    transition:opacity .2s, transform .2s, visibility .2s, background .15s;
  }
  .to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
  .to-top:hover{ background:var(--maroon-soft); }
  .to-top svg{ width:22px; height:22px; }

  /* ---------- language switch (masthead) ---------- */
  .issn{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
  .issn-badges{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
  .lang-switch{ display:flex; gap:7px; }
  .lang-switch a{
    border:1px solid var(--line); background:var(--paper); color:var(--muted);
    font-size:16px; font-weight:700; padding:9px 20px; border-radius:8px; transition:all .15s;
  }
  .lang-switch a:hover{ color:var(--maroon); border-color:var(--maroon-soft); }
  .lang-switch a.active{ background:var(--maroon); color:#fff; border-color:var(--maroon); }
