/* ==========================================================================
   DARK ACADEMIA THEME
   Old library/university aesthetic. Warm browns, parchment tones, serif fonts.
   Scholarly, cozy, intellectual atmosphere with paper-like textures.
   Mobile-first, WCAG AA contrast.
   ========================================================================== */

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

:root{
  --bg:#1a1410;
  --bg-alt:#211c16;
  --surface:#2a231b;
  --surface-light:#3a3128;
  --parchment:#e8dcc8;
  --text:#d4c5a0;
  --text-bright:#eee3d0;
  --muted:#9a8e78;
  --accent:#8b2635;
  --accent-hover:#a83242;
  --green:#2d4a2d;
  --green-light:#3d6a3d;
  --olive:#5a5a3a;
  --gold:#c9a84c;
  --border:#3e342a;
  --border-light:#4a3f33;
  --color-white: var(--parchment);
  --font-heading:'Libre Baskerville',Georgia,'Times New Roman',serif;
  --font-body:'Source Serif 4','Libre Baskerville',Georgia,serif;
  --max-w:1200px;
  --gap:1.25rem;
  --radius:3px;
}

html{font-size:16px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
  background-image:
    radial-gradient(ellipse at 20% 50%, rgba(42,35,27,.6) 0%, transparent 70%),
    radial-gradient(ellipse at 80% 20%, rgba(58,49,40,.4) 0%, transparent 60%);
  background-attachment:fixed;
}
a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover{color:var(--parchment)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:var(--parchment)}
h1{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:1rem;position:relative;padding-bottom:.75rem}
h1::after{content:'';display:block;width:60px;height:3px;background:var(--accent);margin-top:.75rem}
h2{font-size:clamp(1.2rem,3vw,1.6rem);margin-bottom:.75rem}
h3{font-size:1.15rem;margin-bottom:.5rem}
p{margin-bottom:.75rem}

/* Small caps utility */
.ozod0,
.bfes3,
.pbex2,
.kjov2{
  font-variant:small-caps;
  letter-spacing:.08em;
  text-transform:lowercase;
}

.aheh0{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem}

/* --- HEADER --- */
.nvic7{
  background:var(--bg-alt);
  border-bottom:2px solid var(--accent);
  padding:.75rem 0;
  box-shadow:0 2px 20px rgba(0,0,0,.4);
  position:relative;
  z-index:100;
}
.pwih7{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 1.25rem;
}
.pxiq6{
  color:var(--parchment);
  text-decoration:none;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:1.35rem;
  font-style:italic;
  white-space:nowrap;
  letter-spacing:.02em;
}
.pxiq6:hover{color:var(--gold)}
.lzif9{display:flex;gap:.5rem;flex-wrap:wrap}
.lzif9 a{
  color:var(--text);
  text-decoration:none;
  font-family:var(--font-body);
  font-size:.85rem;
  font-variant:small-caps;
  letter-spacing:.06em;
  padding:.3rem .6rem;
  border-radius:var(--radius);
  transition:color .2s,background .2s;
}
.lzif9 a:hover{
  color:var(--parchment);
  background:var(--surface);
}
.jbos3{
  display:flex;
  margin-left:auto;
  position:relative;
}
.jbos3 input{
  background:var(--surface);
  color:var(--text-bright);
  border:1px solid var(--border-light);
  padding:.45rem .7rem;
  font-family:var(--font-body);
  font-size:.85rem;
  width:180px;
  border-radius:var(--radius) 0 0 var(--radius);
  transition:border-color .2s;
}
.jbos3 input:focus{
  outline:none;
  border-color:var(--gold);
}
.jbos3 input::placeholder{color:var(--muted)}
.jbos3 button{
  background:var(--accent);
  color:var(--parchment);
  border:1px solid var(--accent);
  border-left:none;
  padding:.45rem .7rem;
  cursor:pointer;
  font-family:var(--font-body);
  font-weight:600;
  font-size:.85rem;
  border-radius:0 var(--radius) var(--radius) 0;
  transition:background .2s;
}
.jbos3 button:hover{background:var(--accent-hover)}

/* Search dropdown */
.jlack4{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:var(--surface);
  border:1px solid var(--border-light);
  border-top:none;
  border-radius:0 0 var(--radius) var(--radius);
  max-height:300px;
  overflow-y:auto;
  z-index:500;
  display:none;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}
.jlack4 a{
  display:block;
  padding:.6rem .75rem;
  text-decoration:none;
  color:var(--text);
  border-bottom:1px solid var(--border);
  font-size:.9rem;
  transition:background .15s;
}
.jlack4 a:hover{
  background:var(--surface-light);
  color:var(--parchment);
}

/* --- MAIN --- */
.zfact3{min-height:60vh;padding:2rem 0 3rem}

/* --- BREADCRUMB --- */
.inj5{
  font-size:.8rem;
  padding:.75rem 0;
  margin-bottom:1.5rem;
  font-variant:small-caps;
  letter-spacing:.04em;
  color:var(--muted);
  border-bottom:1px solid var(--border);
}
.inj5 a{color:var(--muted);transition:color .2s}
.inj5 a:hover{color:var(--gold)}
.inj5 span{color:var(--text);font-weight:600}

/* --- HERO / INDEX --- */
.jcov0{
  background:var(--surface);
  border:1px solid var(--border-light);
  border-left:4px solid var(--accent);
  padding:2.5rem 2rem;
  margin-bottom:2.5rem;
  position:relative;
}
.jcov0::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4c5a0' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events:none;
}
.jcov0 h1{border-bottom:none;padding-bottom:0}
.jcov0 h1::after{display:none}
.fhoy9{
  color:var(--muted);
  font-size:1.05rem;
  font-style:italic;
  margin-bottom:1.5rem;
}
.cgon1{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1rem;
  margin-bottom:1.5rem;
}
.gfos7{
  background:var(--bg-alt);
  border:1px solid var(--border);
  padding:.6rem 1.25rem;
  border-radius:var(--radius);
  text-align:center;
}
.gfos7 strong{
  color:var(--gold);
  font-size:1.3rem;
  display:block;
  font-family:var(--font-heading);
}
.xdou0{
  display:inline-block;
  background:var(--accent);
  color:var(--parchment);
  padding:.75rem 2rem;
  text-decoration:none;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.04em;
  border-radius:var(--radius);
  transition:background .2s,box-shadow .2s;
  box-shadow:0 2px 8px rgba(139,38,53,.3);
}
.xdou0:hover{
  background:var(--accent-hover);
  color:var(--parchment);
  box-shadow:0 4px 16px rgba(139,38,53,.4);
}

/* Featured profile */
.vjik9{
  background:var(--surface);
  border:1px solid var(--border-light);
  padding:1.5rem;
  margin-bottom:2rem;
  border-radius:var(--radius);
}
.ylir8{display:flex;flex-direction:column;gap:1.25rem}
.nmiw2{
  max-height:400px;
  object-fit:contain;
  background:var(--bg-alt);
  width:100%;
  border-radius:var(--radius);
}
.nkiy5 h3{font-family:var(--font-heading);margin-bottom:.4rem}
.nkiy5 h3 a{color:var(--parchment);text-decoration:none}
.nkiy5 h3 a:hover{color:var(--gold)}
.nkiy5 p{margin-bottom:.3rem}

/* --- SECTION --- */
.dmack9{margin-bottom:2.5rem}
.dmack9 h2{
  position:relative;
  padding-bottom:.5rem;
  margin-bottom:1rem;
}
.dmack9 h2::after{
  content:'';
  display:block;
  width:40px;
  height:2px;
  background:var(--accent);
  margin-top:.5rem;
}

/* --- SEO BLOCK (first in source, last visually) --- */
.qnof5{display:flex;flex-direction:column}
.fsoi8{
  order:99;
  border-top:1px solid var(--border);
  padding-top:1.5rem;
  margin-top:2rem;
  color:var(--muted);
  font-size:.9rem;
  font-style:italic;
}
.fsoi8 h2{
  color:var(--text);
  font-size:1.1rem;
  font-style:normal;
}
.pqop0{order:1}
.unic5{order:0}

/* --- CARDS GRID (from render_annonces_grid) --- */
.dged7{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:1.25rem;
}
.qso6{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.qso6:hover{
  border-color:var(--gold);
  box-shadow:0 4px 20px rgba(0,0,0,.3);
  transform:translateY(-2px);
}
.szk2{display:block;background:var(--bg-alt)}
.jxo2{
  width:100%;
  max-height:320px;
  object-fit:contain;
  background:var(--bg-alt);
}
.ktq1{padding:1rem}
.hden8{
  font-family:var(--font-heading);
  font-size:.95rem;
  margin-bottom:.3rem;
}
.hden8 a{color:var(--parchment);text-decoration:none}
.hden8 a:hover{color:var(--gold)}
.pbex2{
  font-size:.82rem;
  color:var(--muted);
  margin-bottom:.25rem;
}
.bfes3{
  font-size:.78rem;
  color:var(--gold);
  font-weight:600;
  margin-bottom:.25rem;
}
.ivz5{font-size:.8rem;margin-bottom:0;color:var(--muted)}
.wcec5{color:var(--gold);letter-spacing:1px}
.gwk2{color:var(--muted);margin-left:.3rem}
.zbup2{
  padding:2.5rem;
  text-align:center;
  border:1px dashed var(--border-light);
  border-radius:var(--radius);
  color:var(--muted);
  font-style:italic;
}

/* --- FILTER BAR (from render_filter_bar) --- */
.mcuq4{margin-bottom:1.5rem}
.hdub1{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:.75rem 0;
}
.bfui2{position:relative}
.vpuq5{
  cursor:pointer;
  font-family:var(--font-body);
  font-size:.85rem;
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--border);
  padding:.45rem .8rem;
  border-radius:var(--radius);
  transition:border-color .2s;
}
.vpuq5:hover{border-color:var(--gold)}
.wnud0{
  position:absolute;
  top:100%;
  left:0;
  z-index:50;
  background:var(--surface);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:.5rem;
  min-width:220px;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.wnud0[hidden]{display:none!important}
.wnud0:not([hidden]){display:flex;flex-wrap:wrap;gap:.4rem}
.oqact7{
  display:inline-block;
  background:var(--bg-alt);
  border:1px solid var(--border);
  color:var(--text);
  padding:.35rem .75rem;
  font-family:var(--font-body);
  font-size:.8rem;
  font-variant:small-caps;
  letter-spacing:.04em;
  cursor:pointer;
  border-radius:var(--radius);
  text-decoration:none;
  transition:all .2s;
}
.oqact7:hover{
  border-color:var(--gold);
  color:var(--parchment);
  background:var(--surface);
}
.yrack5{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--parchment);
}

/* --- PAGINATION (from render_pagination) --- */
.pgacz8{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  justify-content:center;
  margin-top:2rem;
}
.ijacc5{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.5rem;
  height:2.5rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  text-decoration:none;
  color:var(--text);
  font-weight:600;
  font-size:.85rem;
  background:var(--surface);
  transition:all .2s;
}
.ijacc5:hover{
  background:var(--surface-light);
  border-color:var(--gold);
  color:var(--parchment);
}
.hkacd3{
  background:var(--accent);
  color:var(--parchment);
  border-color:var(--accent);
}
.zhace2{
  display:inline-flex;
  align-items:center;
  padding:0 .5rem;
  color:var(--muted);
}

/* --- ANNONCE DETAIL --- */
.tjel9{margin-bottom:2rem}
.vlep5{margin-bottom:1.5rem}
.fmes2{color:var(--muted);font-size:.9rem;font-style:italic}
.qpem7{margin-top:.5rem}
.kses1{color:var(--gold);font-size:1.1rem;letter-spacing:2px}
.nren3{font-weight:700;margin-left:.5rem;color:var(--parchment)}
.xqez6{margin-left:.5rem;color:var(--muted)}

.jsis5{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  margin-bottom:1.5rem;
}
.ztio2{
  width:100%;
  object-fit:contain;
  background:var(--bg-alt);
  border:1px solid var(--border);
  border-radius:var(--radius);
}

.bhia1{margin-bottom:2rem;text-align:center}
.yrz0{
  display:inline-block;
  background:var(--accent);
  color:var(--parchment);
  padding:.75rem 2rem;
  text-decoration:none;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:1rem;
  letter-spacing:.04em;
  border-radius:var(--radius);
  transition:background .2s,box-shadow .2s;
  box-shadow:0 2px 8px rgba(139,38,53,.3);
  border:none;
}
.yrz0:hover{
  background:var(--accent-hover);
  color:var(--parchment);
  box-shadow:0 4px 16px rgba(139,38,53,.4);
}

.pket1{display:flex;flex-direction:column;gap:2rem}
.enes4{flex:1}
.ptet9{
  margin-bottom:1.5rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--border);
}
.ptet9:last-child{border-bottom:none}
.ptet9 h2{
  font-size:1.1rem;
  font-style:italic;
  margin-bottom:.75rem;
}
.ptet9 h2::after{display:none}
.ptet9 ul{list-style:none;padding:0}
.ptet9 li{
  padding:.35rem 0;
  border-bottom:1px solid var(--border);
  font-size:.95rem;
}
.ptet9 li::before{
  content:"\2767";
  margin-right:.5rem;
  color:var(--accent);
}

.gtol0{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.25rem;
}
.fvof9{margin-bottom:1rem}
.sxoy9{
  display:flex;
  justify-content:space-between;
  padding:.5rem 0;
  border-bottom:1px solid var(--border);
  font-size:.9rem;
}
.fwof4{
  font-weight:700;
  font-variant:small-caps;
  letter-spacing:.06em;
  font-size:.85rem;
  color:var(--gold);
}
.bpor4{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid var(--border);
}
.bpor4 h3{
  margin-bottom:.75rem;
  font-style:italic;
}
.bpor4 li{
  display:inline-block;
  background:var(--bg-alt);
  border:1px solid var(--border);
  padding:.25rem .6rem;
  margin:0 .35rem .35rem 0;
  font-size:.8rem;
  border-radius:var(--radius);
  color:var(--text);
}
.bpor4 li::before{display:none}

/* --- COMMENTS --- */
.hdiq1{
  border-top:1px solid var(--border);
  padding-top:1.5rem;
  margin-top:2rem;
}
.ugik6{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-style:italic;
}
.wfib4{
  background:var(--accent);
  color:var(--parchment);
  padding:.15rem .55rem;
  font-size:.8rem;
  font-style:normal;
  border-radius:var(--radius);
}
.sveb8{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1rem 1.25rem;
  margin-bottom:1rem;
}
.yzeo5{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  margin-bottom:.5rem;
  font-size:.85rem;
}
.hwen7{
  font-weight:700;
  font-variant:small-caps;
  letter-spacing:.04em;
  color:var(--parchment);
}
.xbio6{color:var(--gold);letter-spacing:1px}
.qxes7{color:var(--muted);font-style:italic}
.zcib2{font-size:.9rem;line-height:1.6}

/* --- REGIONS / CITIES LIST --- */
.xkou8{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:.75rem;
}
.gmou5{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:.6rem .9rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:border-color .2s;
}
.gmou5:hover{border-color:var(--gold)}
.gmou5 a{
  color:var(--text);
  text-decoration:none;
  font-size:.9rem;
  transition:color .2s;
}
.gmou5 a:hover{color:var(--gold)}
.slow9{
  color:var(--muted);
  font-size:.8rem;
  font-style:italic;
}

/* --- BLOG --- */
.qms7{display:flex;flex-direction:column;gap:1.25rem}
.wfu9{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:border-color .2s;
}
.wfu9:hover{border-color:var(--gold)}
.lkp2{display:block;background:var(--bg-alt)}
.ojr7{
  width:100%;
  max-height:250px;
  object-fit:cover;
  background:var(--bg-alt);
}
.lgq3{padding:1.25rem}
.lgq3 h2{
  font-family:var(--font-heading);
  font-size:1.05rem;
  margin-bottom:.35rem;
}
.lgq3 h2 a{color:var(--parchment);text-decoration:none}
.lgq3 h2 a:hover{color:var(--gold)}
.phn0{
  color:var(--muted);
  font-size:.8rem;
  font-style:italic;
  display:block;
  margin-bottom:.5rem;
}
.elk1{
  color:var(--gold);
  font-weight:600;
  font-size:.85rem;
  font-style:italic;
  text-decoration:none;
}
.elk1:hover{color:var(--parchment)}

.fbl1{max-width:800px}
.edq8{
  color:var(--muted);
  font-size:.85rem;
  font-style:italic;
  margin-bottom:1.5rem;
  border-bottom:1px solid var(--border);
  padding-bottom:.75rem;
}
.dco5{
  line-height:1.8;
  font-size:1.02rem;
}
.dco5 img{
  margin:1.5rem 0;
  border:1px solid var(--border);
  border-radius:var(--radius);
}
.dco5 h2,
.dco5 h3{margin-top:1.5rem}
.dco5 blockquote{
  border-left:3px solid var(--accent);
  padding:.75rem 1.25rem;
  margin:1rem 0;
  font-style:italic;
  color:var(--muted);
  background:var(--surface);
  border-radius:0 var(--radius) var(--radius) 0;
}

/* --- FOOTER --- */
.apiq5{
  background:var(--bg-alt);
  border-top:2px solid var(--accent);
  padding:2.5rem 0;
  margin-top:3rem;
  font-size:.85rem;
}
.kriy7{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 1.25rem;
}
.apiq5 h4{
  font-family:var(--font-heading);
  font-variant:small-caps;
  margin-bottom:.75rem;
  letter-spacing:.06em;
  font-size:.95rem;
  color:var(--parchment);
}
.apiq5 a{color:var(--text);text-decoration:none;transition:color .2s}
.apiq5 a:hover{color:var(--gold)}
.apiq5 ul{list-style:none}
.apiq5 li{padding:.2rem 0}
.wqid1{
  border-top:1px solid var(--border);
  padding-top:1rem;
  margin-top:1.5rem;
  text-align:center;
  font-size:.8rem;
  color:var(--muted);
  font-style:italic;
  max-width:var(--max-w);
  margin-left:auto;
  margin-right:auto;
  padding-left:1.25rem;
  padding-right:1.25rem;
}

/* --- SEARCH --- */
.hroj1{
  display:flex;
  gap:0;
  margin-bottom:2rem;
}
.hroj1 input{
  flex:1;
  background:var(--surface);
  color:var(--text-bright);
  border:1px solid var(--border-light);
  padding:.7rem 1rem;
  font-family:var(--font-body);
  font-size:1rem;
  border-radius:var(--radius) 0 0 var(--radius);
}
.hroj1 input:focus{
  outline:none;
  border-color:var(--gold);
}
.hroj1 button{
  background:var(--accent);
  color:var(--parchment);
  border:1px solid var(--accent);
  padding:.7rem 1.5rem;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.9rem;
  cursor:pointer;
  border-radius:0 var(--radius) var(--radius) 0;
  transition:background .2s;
}
.hroj1 button:hover{background:var(--accent-hover)}

/* --- RESPONSIVE (tablet+) --- */
@media(min-width:600px){
  .jsis5{grid-template-columns:repeat(2,1fr)}
  .wfu9{flex-direction:row}
  .lkp2{width:260px;flex-shrink:0}
  .ojr7{height:100%;max-height:none;object-fit:cover}
  .kriy7{grid-template-columns:repeat(3,1fr)}
  .ylir8{flex-direction:row}
  .nmiw2{max-width:300px}
}

@media(min-width:900px){
  .pket1{flex-direction:row}
  .gtol0{width:300px;flex-shrink:0;align-self:flex-start}
  .jsis5{grid-template-columns:repeat(3,1fr)}
  .dged7{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
}
