/* ==========================================================================
   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 */
.fzoq7,
.tfej8,
.hbei6,
.mjop5{
  font-variant:small-caps;
  letter-spacing:.08em;
  text-transform:lowercase;
}

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

/* --- HEADER --- */
.mvia7{
  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;
}
.wwie4{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 1.25rem;
}
.nxir9{
  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;
}
.nxir9:hover{color:var(--gold)}
.pziz9{display:flex;gap:.5rem;flex-wrap:wrap}
.pziz9 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;
}
.pziz9 a:hover{
  color:var(--parchment);
  background:var(--surface);
}
.vbod7{
  display:flex;
  margin-left:auto;
  position:relative;
}
.vbod7 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;
}
.vbod7 input:focus{
  outline:none;
  border-color:var(--gold);
}
.vbod7 input::placeholder{color:var(--muted)}
.vbod7 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;
}
.vbod7 button:hover{background:var(--accent-hover)}

/* Search dropdown */
.olacq4{
  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);
}
.olacq4 a{
  display:block;
  padding:.6rem .75rem;
  text-decoration:none;
  color:var(--text);
  border-bottom:1px solid var(--border);
  font-size:.9rem;
  transition:background .15s;
}
.olacq4 a:hover{
  background:var(--surface-light);
  color:var(--parchment);
}

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

/* --- BREADCRUMB --- */
.unc1{
  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);
}
.unc1 a{color:var(--muted);transition:color .2s}
.unc1 a:hover{color:var(--gold)}
.unc1 span{color:var(--text);font-weight:600}

/* --- HERO / INDEX --- */
.ocou2{
  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;
}
.ocou2::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;
}
.ocou2 h1{border-bottom:none;padding-bottom:0}
.ocou2 h1::after{display:none}
.hhom0{
  color:var(--muted);
  font-size:1.05rem;
  font-style:italic;
  margin-bottom:1.5rem;
}
.cgoj5{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1rem;
  margin-bottom:1.5rem;
}
.mfos1{
  background:var(--bg-alt);
  border:1px solid var(--border);
  padding:.6rem 1.25rem;
  border-radius:var(--radius);
  text-align:center;
}
.mfos1 strong{
  color:var(--gold);
  font-size:1.3rem;
  display:block;
  font-family:var(--font-heading);
}
.ldom1{
  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);
}
.ldom1:hover{
  background:var(--accent-hover);
  color:var(--parchment);
  box-shadow:0 4px 16px rgba(139,38,53,.4);
}

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

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

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

/* --- CARDS GRID (from render_annonces_grid) --- */
.cgel2{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:1.25rem;
}
.vsz2{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.vsz2:hover{
  border-color:var(--gold);
  box-shadow:0 4px 20px rgba(0,0,0,.3);
  transform:translateY(-2px);
}
.uzm0{display:block;background:var(--bg-alt)}
.zxn6{
  width:100%;
  max-height:320px;
  object-fit:contain;
  background:var(--bg-alt);
}
.stu6{padding:1rem}
.ldeo6{
  font-family:var(--font-heading);
  font-size:.95rem;
  margin-bottom:.3rem;
}
.ldeo6 a{color:var(--parchment);text-decoration:none}
.ldeo6 a:hover{color:var(--gold)}
.hbei6{
  font-size:.82rem;
  color:var(--muted);
  margin-bottom:.25rem;
}
.tfej8{
  font-size:.78rem;
  color:var(--gold);
  font-weight:600;
  margin-bottom:.25rem;
}
.fvz5{font-size:.8rem;margin-bottom:0;color:var(--muted)}
.zcet2{color:var(--gold);letter-spacing:1px}
.xwe3{color:var(--muted);margin-left:.3rem}
.bbup9{
  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) --- */
.gcuu0{margin-bottom:1.5rem}
.qdus2{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:.75rem 0;
}
.qfun1{position:relative}
.apuy6{
  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;
}
.apuy6:hover{border-color:var(--gold)}
.nnuc7{
  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);
}
.nnuc7[hidden]{display:none!important}
.nnuc7:not([hidden]){display:flex;flex-wrap:wrap;gap:.4rem}
.bqacy7{
  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;
}
.bqacy7:hover{
  border-color:var(--gold);
  color:var(--parchment);
  background:var(--surface);
}
.dracx9{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--parchment);
}

/* --- PAGINATION (from render_pagination) --- */
.ygacv7{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  justify-content:center;
  margin-top:2rem;
}
.gjacm0{
  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;
}
.gjacm0:hover{
  background:var(--surface-light);
  border-color:var(--gold);
  color:var(--parchment);
}
.akach4{
  background:var(--accent);
  color:var(--parchment);
  border-color:var(--accent);
}
.vhacg9{
  display:inline-flex;
  align-items:center;
  padding:0 .5rem;
  color:var(--muted);
}

/* --- ANNONCE DETAIL --- */
.zjej3{margin-bottom:2rem}
.ulel6{margin-bottom:1.5rem}
.vmeo9{color:var(--muted);font-size:.9rem;font-style:italic}
.kpeu9{margin-top:.5rem}
.csee2{color:var(--gold);font-size:1.1rem;letter-spacing:2px}
.wreh1{font-weight:700;margin-left:.5rem;color:var(--parchment)}
.sqed2{margin-left:.5rem;color:var(--muted)}

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

.xhit0{margin-bottom:2rem;text-align:center}
.srq2{
  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;
}
.srq2:hover{
  background:var(--accent-hover);
  color:var(--parchment);
  box-shadow:0 4px 16px rgba(139,38,53,.4);
}

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

.ltom9{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.25rem;
}
.dvoc2{margin-bottom:1rem}
.zxog5{
  display:flex;
  justify-content:space-between;
  padding:.5rem 0;
  border-bottom:1px solid var(--border);
  font-size:.9rem;
}
.iwog0{
  font-weight:700;
  font-variant:small-caps;
  letter-spacing:.06em;
  font-size:.85rem;
  color:var(--gold);
}
.ypom1{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid var(--border);
}
.ypom1 h3{
  margin-bottom:.75rem;
  font-style:italic;
}
.ypom1 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);
}
.ypom1 li::before{display:none}

/* --- COMMENTS --- */
.mdiv2{
  border-top:1px solid var(--border);
  padding-top:1.5rem;
  margin-top:2rem;
}
.fgil5{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-style:italic;
}
.wfip4{
  background:var(--accent);
  color:var(--parchment);
  padding:.15rem .55rem;
  font-size:.8rem;
  font-style:normal;
  border-radius:var(--radius);
}
.svef1{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1rem 1.25rem;
  margin-bottom:1rem;
}
.hzeg6{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  margin-bottom:.5rem;
  font-size:.85rem;
}
.nwey2{
  font-weight:700;
  font-variant:small-caps;
  letter-spacing:.04em;
  color:var(--parchment);
}
.kbiv7{color:var(--gold);letter-spacing:1px}
.rxeo0{color:var(--muted);font-style:italic}
.icia9{font-size:.9rem;line-height:1.6}

/* --- REGIONS / CITIES LIST --- */
.wkop0{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:.75rem;
}
.tmom7{
  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;
}
.tmom7:hover{border-color:var(--gold)}
.tmom7 a{
  color:var(--text);
  text-decoration:none;
  font-size:.9rem;
  transition:color .2s;
}
.tmom7 a:hover{color:var(--gold)}
.slop4{
  color:var(--muted);
  font-size:.8rem;
  font-style:italic;
}

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

.rbh5{max-width:800px}
.pdb8{
  color:var(--muted);
  font-size:.85rem;
  font-style:italic;
  margin-bottom:1.5rem;
  border-bottom:1px solid var(--border);
  padding-bottom:.75rem;
}
.lcs7{
  line-height:1.8;
  font-size:1.02rem;
}
.lcs7 img{
  margin:1.5rem 0;
  border:1px solid var(--border);
  border-radius:var(--radius);
}
.lcs7 h2,
.lcs7 h3{margin-top:1.5rem}
.lcs7 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 --- */
.fpix3{
  background:var(--bg-alt);
  border-top:2px solid var(--accent);
  padding:2.5rem 0;
  margin-top:3rem;
  font-size:.85rem;
}
.friw3{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 1.25rem;
}
.fpix3 h4{
  font-family:var(--font-heading);
  font-variant:small-caps;
  margin-bottom:.75rem;
  letter-spacing:.06em;
  font-size:.95rem;
  color:var(--parchment);
}
.fpix3 a{color:var(--text);text-decoration:none;transition:color .2s}
.fpix3 a:hover{color:var(--gold)}
.fpix3 ul{list-style:none}
.fpix3 li{padding:.2rem 0}
.eqim9{
  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 --- */
.xroa8{
  display:flex;
  gap:0;
  margin-bottom:2rem;
}
.xroa8 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);
}
.xroa8 input:focus{
  outline:none;
  border-color:var(--gold);
}
.xroa8 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;
}
.xroa8 button:hover{background:var(--accent-hover)}

/* --- RESPONSIVE (tablet+) --- */
@media(min-width:600px){
  .hsil5{grid-template-columns:repeat(2,1fr)}
  .pfb0{flex-direction:row}
  .dkv5{width:260px;flex-shrink:0}
  .ijz3{height:100%;max-height:none;object-fit:cover}
  .friw3{grid-template-columns:repeat(3,1fr)}
  .llie4{flex-direction:row}
  .bmit3{max-width:300px}
}

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