@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Open+Sans:wght@300;400;600;700;800&display=swap');

/* =====================================================================
   Societatea Cultural-Istorică „Mihai Viteazul” – Ploiești
   enhancements.css — strat de optimizare vizuală (override peste style.css)
   Identitate: roșu istoric #DE2B24 + slate închis #252e39
   Nu modifică structura Bootstrap; doar tipografie, spațiere, imagini,
   accesibilitate și comportament responsive.
   ===================================================================== */

:root{
  --smv-red:#DE2B24;
  --smv-red-dk:#b21f19;
  --smv-ink:#1f2630;
  --smv-slate:#252e39;
  --smv-muted:#5b6675;
  --smv-paper:#fbfaf7;
  --smv-line:#e6e2da;
  --smv-shadow:0 6px 22px rgba(31,38,48,.10);
  --smv-radius:10px;
}

/* ---------- Tipografie de bază ---------- */
body,td,th{
  font-family:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  font-size:16px;
  line-height:1.7;
  color:var(--smv-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
p{ font-size:1.0625rem; line-height:1.75; }

/* Titlurile primesc o capitală cu aer „lapidar”, evocând inscripția pe monument */
h1,h2,h3,h4,h5,
.gallery-head p em,
.slider-left h1{
  font-family:'Marcellus','Open Sans',serif !important;
  letter-spacing:.01em;
  color:var(--smv-slate);
  font-weight:400;
}
h1{ line-height:1.15; }
h2,h3{ line-height:1.25; }

/* ---------- Linkuri ---------- */
a{ color:var(--smv-red); transition:color .18s ease, opacity .18s ease; }
a:hover,a:focus{ color:var(--smv-red-dk); }

/* Focus vizibil pentru navigare la tastatură (accesibilitate) */
a:focus-visible,button:focus-visible,input:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid rgba(222,43,36,.55);
  outline-offset:2px;
  border-radius:3px;
}

/* ---------- Imagini responsive & redare clară ---------- */
img{ max-width:100%; height:auto; }
.about_grid img,
.about_grid h3 img{
  width:100%;
  height:200px;
  object-fit:cover;
  border-radius:var(--smv-radius);
  box-shadow:var(--smv-shadow);
  display:block;
}
.logo img{ box-shadow:0 2px 8px rgba(0,0,0,.18); }

/* ---------- Carduri „Despre” pe pagina principală ---------- */
.about_grid{
  background:#fff;
  border:1px solid var(--smv-line);
  border-radius:14px;
  padding:18px 18px 22px;
  box-shadow:var(--smv-shadow);
  transition:transform .2s ease, box-shadow .2s ease;
}
.about_grid:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(31,38,48,.16);
}
.about_grid h3 a{ color:var(--smv-slate); font-weight:400; }
.about_grid h3 a:hover{ color:var(--smv-red); }
.about_grid p{ color:var(--smv-muted); font-size:.98rem; }

/* ---------- Hero / slider ---------- */
.slider-left h1{ color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.45); }
.slider-left .top strong{ color:var(--smv-red); }
.button a,
ul.button li a{
  background:var(--smv-red) !important;
  border:0 !important;
  border-radius:999px;
  padding:10px 26px;
  letter-spacing:.03em;
  box-shadow:0 6px 16px rgba(222,43,36,.32);
  transition:background .18s ease, transform .12s ease;
}
.button a:hover,
ul.button li a:hover{ background:var(--smv-red-dk) !important; transform:translateY(-1px); }

/* ---------- Navigație ---------- */
.nav>li>a{ font-weight:600; letter-spacing:.01em; }
.nav>li>a:hover{ color:var(--smv-red); }
.consul_btn1 a{ font-family:'Marcellus',serif; }

/* ---------- Secțiuni / titluri de galerie ---------- */
.gallery-head p em{ font-style:normal; color:var(--smv-muted); }
.gallery-head:after{
  content:""; display:block; width:64px; height:3px;
  background:var(--smv-red); margin:18px auto 0; border-radius:2px;
}

/* ---------- Câmpul de căutare (estetică) ---------- */
.consul_btn input[type="search"]{
  border:1px solid var(--smv-line);
  border-radius:999px;
  padding:6px 14px;
  font-size:.95rem;
}

/* ---------- Footer ---------- */
.footer, .copy_right{ color:var(--smv-muted); }

/* ---------- Responsive: imaginile din carduri pe mobil ---------- */
@media (max-width:767px){
  .about_grid{ margin-bottom:18px; }
  .about_grid img,.about_grid h3 img{ height:220px; }
  body{ font-size:15.5px; }
}

/* ---------- Respectă preferința de mișcare redusă ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* ---------- Secțiunea de statistici (counter) ---------- */
.module.stats{
  background:var(--smv-slate);
  padding:54px 0;
  margin:40px 0;
  color:#fff;
}
.module.stats .counter{ padding:10px 0; }
.module.stats .number .count,
.module.stats .number{
  font-family:'Marcellus',serif;
  font-size:3.2rem;
  line-height:1;
  color:#fff;
}
.module.stats .number{ position:relative; display:inline-block; }
.module.stats .number:after{
  content:"+"; color:var(--smv-red); font-family:'Open Sans',sans-serif;
  font-weight:700; font-size:1.6rem; vertical-align:top; margin-left:2px;
}
.module.stats .title{
  margin-top:8px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.82rem;
  color:#c7ccd3;
}
.module.stats .col-sm-4 + .col-sm-4{ border-left:1px solid rgba(255,255,255,.10); }
@media (max-width:767px){
  .module.stats{ padding:34px 0; }
  .module.stats .number,.module.stats .number .count{ font-size:2.4rem; }
  .module.stats .col-sm-4 + .col-sm-4{ border-left:0; }
  .module.stats .counter{ padding:14px 0; }
}

/* =====================================================================
   Pagina MONUMENTE — catalog paginat, carduri, lightbox
   ===================================================================== */
.mon-hero{
  background:linear-gradient(180deg,#252e39 0%,#2d3742 100%);
  color:#fff; padding:54px 0 46px; text-align:center;
}
.mon-hero .mon-eyebrow{
  text-transform:uppercase; letter-spacing:.18em; font-size:.74rem;
  color:var(--smv-red); margin:0 0 10px; font-weight:700;
}
.mon-hero h1{
  font-family:'Marcellus',serif; color:#fff; font-size:3rem; margin:0 0 14px; line-height:1.05;
}
.mon-hero .mon-lead{
  max-width:720px; margin:0 auto; color:#cdd3da; font-size:1.05rem; line-height:1.7;
}

.monumente-app{ padding:34px 0 64px; background:var(--smv-paper); }

.mon-toolbar{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between;
  margin:6px 0 14px;
}
.mon-search{
  flex:1 1 260px; min-width:220px;
  border:1px solid var(--smv-line); border-radius:999px;
  padding:11px 18px; font-size:.98rem; background:#fff; color:var(--smv-ink);
}
.mon-eras{ display:flex; flex-wrap:wrap; gap:8px; }
.mon-era{
  border:1px solid var(--smv-line); background:#fff; color:var(--smv-muted);
  border-radius:999px; padding:8px 15px; font-size:.86rem; cursor:pointer;
  transition:all .15s ease; font-weight:600;
}
.mon-era:hover{ border-color:var(--smv-red); color:var(--smv-red); }
.mon-era.is-active{ background:var(--smv-red); border-color:var(--smv-red); color:#fff; box-shadow:0 4px 12px rgba(222,43,36,.28); }

.mon-count{ color:var(--smv-muted); font-size:.9rem; margin:0 0 18px; }

.mon-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
@media (max-width:900px){ .mon-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .mon-grid{ grid-template-columns:1fr; } }

.mon-card{
  background:#fff; border:1px solid var(--smv-line); border-radius:14px; overflow:hidden;
  display:flex; flex-direction:column; box-shadow:var(--smv-shadow);
  transition:transform .2s ease, box-shadow .2s ease;
}
.mon-card.is-clickable{ cursor:pointer; }
.mon-card.is-clickable:hover{ transform:translateY(-5px); box-shadow:0 16px 36px rgba(31,38,48,.18); }
.mon-card.is-clickable:focus-visible{ outline:3px solid rgba(222,43,36,.55); outline-offset:2px; }

.mon-cover{ position:relative; aspect-ratio:4/3; background:#eceae4; overflow:hidden; }
.mon-cover img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.mon-card.is-clickable:hover .mon-cover img{ transform:scale(1.05); }
.mon-cover--empty{ display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#2d3742,#3a4756); }
.mon-empty-ic{ font-size:2.6rem; color:rgba(255,255,255,.55); }
.mon-badge{
  position:absolute; right:10px; bottom:10px; background:rgba(37,46,57,.86); color:#fff;
  font-size:.78rem; padding:4px 10px; border-radius:999px; backdrop-filter:blur(2px);
}

.mon-body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:4px; flex:1; }
.mon-date{
  align-self:flex-start; background:rgba(222,43,36,.10); color:var(--smv-red);
  font-weight:700; font-size:.76rem; padding:3px 10px; border-radius:6px; letter-spacing:.02em;
}
.mon-title{ font-family:'Marcellus',serif; color:var(--smv-slate); font-size:1.18rem; line-height:1.25; margin:6px 0 2px; }
.mon-loc{ color:var(--smv-ink); font-size:.92rem; margin:0; }
.mon-loc .glyphicon{ color:var(--smv-red); font-size:.8rem; margin-right:3px; }
.mon-scu{ color:var(--smv-muted); font-size:.86rem; font-style:italic; margin:2px 0 0; }
.mon-src{ margin-top:auto; padding-top:10px; color:#9aa3ae; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }

.mon-none{ text-align:center; color:var(--smv-muted); padding:50px 0; grid-column:1/-1; }

/* Paginare */
.mon-pager{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-top:36px; }
.mon-pg{
  border:1px solid var(--smv-line); background:#fff; color:var(--smv-ink);
  min-width:40px; height:40px; padding:0 12px; border-radius:9px; cursor:pointer;
  font-size:.92rem; font-weight:600; transition:all .15s ease;
}
.mon-pg:hover:not(.is-disabled):not(.is-active){ border-color:var(--smv-red); color:var(--smv-red); }
.mon-pg.is-active{ background:var(--smv-slate); border-color:var(--smv-slate); color:#fff; }
.mon-pg.is-disabled{ opacity:.4; cursor:default; }
.mon-ellipsis{ align-self:center; color:var(--smv-muted); padding:0 4px; }

/* Lightbox */
.mon-lightbox{
  position:fixed; inset:0; z-index:1000; background:rgba(20,25,31,.92);
  display:flex; align-items:center; justify-content:center; padding:30px;
}
.mon-lightbox[aria-hidden="true"]{ display:none; }
.mlb-stage{ margin:0; max-width:92vw; max-height:88vh; text-align:center; }
.mlb-stage img{ max-width:92vw; max-height:80vh; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.mlb-stage figcaption{ color:#e7eaee; margin-top:14px; font-size:.95rem; }
.mlb-close{
  position:absolute; top:18px; right:24px; background:none; border:0; color:#fff;
  font-size:2.4rem; line-height:1; cursor:pointer; opacity:.85;
}
.mlb-close:hover{ opacity:1; }
.mlb-nav{
  position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.10);
  border:0; color:#fff; font-size:1.8rem; width:54px; height:54px; border-radius:50%;
  cursor:pointer; transition:background .15s ease;
}
.mlb-nav:hover{ background:var(--smv-red); }
.mlb-prev{ left:20px; } .mlb-next{ right:20px; }
@media (max-width:560px){
  .mon-hero h1{ font-size:2.2rem; }
  .mlb-nav{ width:44px; height:44px; font-size:1.4rem; }
  .mlb-prev{ left:8px; } .mlb-next{ right:8px; }
}

/* =====================================================================
   Căutare în site — meniu de rezultate sub câmpul din antet
   ===================================================================== */
.consul_btn.site-search{ position:relative; overflow:visible; }
.consul_btn.site-search #search{
  border:1px solid var(--smv-line); border-radius:999px; padding:6px 14px;
  font-size:.9rem; outline:none; background:#fff; color:var(--smv-ink); min-width:160px;
}
.consul_btn.site-search #search:focus{ border-color:var(--smv-red); box-shadow:0 0 0 3px rgba(222,43,36,.15); }
.site-search-results{
  position:absolute; top:calc(100% + 8px); right:0; min-width:280px; max-width:360px;
  background:#fff; border:1px solid var(--smv-line); border-radius:12px;
  box-shadow:0 14px 40px rgba(31,38,48,.22); overflow:hidden; z-index:1200; display:none;
  text-align:left;
}
.site-search-results.is-open{ display:block; }
.site-search-results .ss-item{
  display:flex; flex-direction:column; gap:2px; padding:10px 16px;
  text-decoration:none; border-bottom:1px solid #f0ede7; transition:background .12s ease;
}
.site-search-results .ss-item:last-child{ border-bottom:0; }
.site-search-results .ss-item:hover{ background:rgba(222,43,36,.06); }
.site-search-results .ss-title{ font-family:'Marcellus',serif; color:var(--smv-slate); font-size:1rem; }
.site-search-results .ss-page{ color:var(--smv-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.site-search-results .ss-none{ padding:14px 16px; color:var(--smv-muted); font-size:.9rem; }

/* =====================================================================
   Footer unificat — identic pe toate paginile
   ===================================================================== */
.smv-footer{
  background:var(--smv-slate); color:#cdd3da;
  padding:24px 16px; margin-top:40px; width:100%;
  font-family:'Open Sans',Arial,sans-serif; clear:both;
}
.smv-footer-inner{
  max-width:1170px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center;
}
.smv-footer .smv-fb{
  display:inline-flex; align-items:center; gap:8px;
  color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  padding:7px 16px; border-radius:999px; text-decoration:none; font-size:.9rem;
  transition:background .15s ease, border-color .15s ease;
}
.smv-footer .smv-fb:hover{ background:#1877f2; border-color:#1877f2; color:#fff; }
.smv-footer .smv-fb svg{ display:block; }
.smv-footer .smv-footer-copy{ margin:0; font-size:.85rem; color:#aeb6c0; line-height:1.5; }
@media (max-width:560px){
  .smv-footer{ padding:20px 14px; }
  .smv-footer .smv-footer-copy{ font-size:.8rem; }
}
