:root{color-scheme:dark}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:#060a03;color:#eef5e6}
a{color:#a9c93a;text-decoration:none}
a:hover{text-decoration:underline}

/* Theme: Light mode (pastel greens + soft gray, NOT pure white) */
body[data-theme="light"]{color-scheme:light;background:#e5eadf;color:#1c2316}
body[data-theme="light"] a{color:#2b6b3c}
body[data-theme="light"] .brandTitle{color:#1c2316}
body[data-theme="light"] .brandSub{color:#4a5a40}
body[data-theme="light"] .card,
body[data-theme="light"] .navLink,
body[data-theme="light"] .item,
body[data-theme="light"] .mapItem{background:#edf2e8;border-color:#c0ccb9}
body[data-theme="light"] .thumb,
body[data-theme="light"] .mapThumb,
body[data-theme="light"] .homeMapBox,
body[data-theme="light"] .detailMap,
body[data-theme="light"] .mapPageBox{background:#e5eadf;border-color:#c0ccb9}
body[data-theme="light"] .muted{color:#4a5a40}
body[data-theme="light"] .search input,
body[data-theme="light"] .mapInput,
body[data-theme="light"] .mapSelect{background:#eef2ea;border-color:#cbd6c6;color:#1c2316}
body[data-theme="light"] .btn{background:#f4f7f0;border-color:#cbd6c6;color:#1c2316}
body[data-theme="light"] .btn.ghost{background:transparent}
body[data-theme="light"] .btn.like.on{background:#3f6f2d;border-color:#3f6f2d;color:#f4ffe7}
body[data-theme="light"] .primary{background:#3f6f2d;color:#f4ffe7}
body[data-theme="light"] .navLink.active{background:#e4eadf;border-color:#bfcab9}
/* Light mode readability fixes (details + catalog meta) */
body[data-theme="light"] .k{color:#4b5c3e}
body[data-theme="light"] .v{color:#1c2316}
body[data-theme="light"] .desc{color:#1c2316}
body[data-theme="light"] .item .metaRow{color:#4a5a40}
body[data-theme="light"] .item .metaVal{color:#2b6b3c}
body[data-theme="light"] .item .cardTitle{color:#1c2316}
body[data-theme="light"] .moreCard{background:#f4f7f0;border-color:#cbd6c6}
body[data-theme="light"] .moreThumb{background:#eef2ea;border-color:#cbd6c6}
body[data-theme="light"] .noThumb{color:#4a5a40}
body[data-theme="light"] .hintClick{opacity:1;color:#4a5a40}


.hidden{display:none !important;}

.wrap{max-width:1100px;margin:0 auto;padding:22px}
.top{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px}
.brandBlock{min-width:220px}
.brandTitle{display:block;font-weight:900;font-size:28px;letter-spacing:0.4px;color:#eef5e6;text-decoration:none}
.brandSub{margin-top:2px;font-size:13px;color:#b7c59f;line-height:1.2}

/* Switches row (between buttons and search) */
.switchRow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-left:10px}
.switch{
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
  font-weight:800;
  color:#dbe8c7;
}
.switch input{position:absolute;opacity:0;pointer-events:none}
.switchUi{
  width:44px;height:24px;border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);
  position:relative;
  flex:0 0 auto;
  transition:all .18s ease;
}
.switchUi:after{
  content:'';
  width:18px;height:18px;border-radius:999px;
  position:absolute;top:2px;left:2px;
  background:#f2d33b;
  transition:all .18s ease;
}
.switch input:checked + .switchUi{
  background:#3f6f2d;border-color:#3f6f2d;
}
.switch input:checked + .switchUi:after{
  left:22px;background:#f4ffe7;
}
.switchText{font-size:13px;opacity:.95}
body[data-theme="light"] .switch{color:#1c2316}
body[data-theme="light"] .switchUi{background:#e7efe1;border-color:#cbd6c6}
body[data-theme="light"] .switchUi:after{background:#3f6f2d}
body[data-theme="light"] .switch input:checked + .switchUi{background:#3f6f2d;border-color:#3f6f2d}
body[data-theme="light"] .switch input:checked + .switchUi:after{background:#f4ffe7}
body[data-theme="light"] .togglePill{background:#f4f7f0;border-color:#cbd6c6;color:#1c2316}

.search{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:1}
.search input{flex:1;max-width:520px;background:#071006;border:1px solid #1d250e;color:#eef5e6;border-radius:999px;padding:10px 14px;font-size:15px;outline:none}
.search button{border:0;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}
.autoplayCountdown{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:38px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:#071006;
  color:#f2d33b;
  font-weight:900;
  font-size:18px;
  letter-spacing:.5px;
  margin-left:10px; /* after Limpiar */
}
.autoplayCountdown.flash{animation:cepecFlashBorder .35s ease}
@keyframes cepecFlashBorder{
  0%,100%{border-color:rgba(255,255,255,.28);box-shadow:none}
  50%{border-color:#f2d33b;box-shadow:0 0 0 3px rgba(242,211,59,.18)}
}
body[data-theme="light"] .autoplayCountdown{
  background:#f4f7f0;
  border-color:#cbd6c6;
  color:#3f6f2d;
}
body[data-theme="light"] .autoplayCountdown.flash{animation:cepecFlashBorderLight .35s ease}
@keyframes cepecFlashBorderLight{
  0%,100%{border-color:#cbd6c6;box-shadow:none}
  50%{border-color:#3f6f2d;box-shadow:0 0 0 3px rgba(63,111,45,.18)}
}
.primary{background:#5c6f12;color:#f6ffda}
.primary:hover{filter:brightness(1.05)}
.clearBtn{background:#f2d33b;color:#1f240e;border:1px solid #e0c12b}
.clearBtn:hover{filter:brightness(1.03)}

.navBar{display:flex;gap:10px;align-items:center;margin:10px 0 16px 0}
.navLink{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid #1d250e;background:#071006;color:#dbe8c7;font-weight:800}
.navLink:hover{filter:brightness(1.05);text-decoration:none}
.navLink.active{background:#0b1408;border-color:#2b3a14}

.card{background:#071006;border:1px solid #1d250e;border-radius:18px;padding:16px}
.grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}

.muted{color:#b7c59f}
.pill{display:inline-block;background:#0b1408;border:1px solid #1d250e;color:#dbe8c7;padding:8px 12px;border-radius:999px;font-size:14px}
.k{color:#b7c59f;font-size:12px;text-transform:uppercase;letter-spacing:0.08em}
.v{color:#eef5e6;font-size:14px}
.desc{white-space:pre-wrap;line-height:1.5;color:#eef5e6}

.catalogTitleRow{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}
.catalogTitle{font-size:18px;font-weight:900}
.pager{margin-top:12px;display:flex;flex-wrap:nowrap;align-items:center;gap:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}

/* Pager nowrap (prevents wrap at 11, avoids layout jumps) */
.pagerInner{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;width:max-content}
.pagerArrows{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
.pagerNums{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
.pager .btn{white-space:nowrap}
.pager .btn.pageNum{min-width:44px;justify-content:center;text-align:center;padding-left:0;padding-right:0}
.pager .btn.arrow{min-width:46px;justify-content:center;text-align:center;padding-left:0;padding-right:0;font-weight:900}
@media (max-width: 860px){
  .pagerInner{gap:10px}
  .pager .btn.pageNum{min-width:40px}
  .pager .btn.arrow{min-width:44px}
}

.pageBtn{background:#0b1408;border:1px solid #1d250e;color:#dbe8c7;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:800}
.pageBtn.active{background:#465500;border-color:#465500;color:#f6ffda}
.pageBtn:hover{filter:brightness(1.05)}

.list{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.item{border:1px solid #1d250e;background:#0b1408;border-radius:16px;padding:12px;cursor:pointer;min-width:0}
.item:hover{filter:brightness(1.04)}
.itemTitle{font-weight:900;margin-bottom:4px}
.itemMeta{font-size:13px;color:#b7c59f;display:flex;gap:6px;flex-wrap:wrap}
.thumb{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;border:1px solid #1d250e;background:#060a03;margin-bottom:10px;display:flex;align-items:center;justify-content:center}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}

.mapToggleRow{margin-top:12px}
.mapToggleBtn{background:#0b1408;border:1px solid #1d250e;color:#dbe8c7;border-radius:999px;padding:9px 14px;font-weight:900;cursor:pointer}
.mapToggleBtn:hover{filter:brightness(1.05)}
.homeMapBox{margin-top:12px;border-radius:16px;overflow:hidden;border:1px solid #1d250e;background:#071006;height:300px}

.pinPopup{display:flex;gap:10px;align-items:center}
.pinThumb{width:54px;height:54px;object-fit:cover;border-radius:10px;border:1px solid #1d250e;background:#071006}
.pinPopupText{min-width:0}
.pinLinks{font-size:13px;margin-top:4px}

/* Map list items (Map page) */
.mapItem{border:1px solid #1d250e;background:#0b1408;border-radius:16px;padding:10px;cursor:pointer;display:flex;gap:10px;align-items:center}
.mapItem:hover{filter:brightness(1.04)}
.mapThumb{width:54px;height:54px;border-radius:12px;object-fit:cover;object-position:top center;border:1px solid #1d250e;background:#060a03;flex:0 0 54px}
.mapThumb.ph{display:block}
.mapTxt{min-width:0}

.detailMapWrap{margin-top:12px}
.detailMap{height:260px;border-radius:16px;overflow:hidden;border:1px solid #1d250e;background:#071006}
.routeBtn{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;background:#5c6f12;color:#f6ffda;border:0;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;text-decoration:none}
.routeBtn:hover{filter:brightness(1.05);text-decoration:none}
.routeBtn[disabled]{opacity:.5;cursor:not-allowed}
.routeBtnBlock{width:100%}

.mapPageBox{margin-top:12px;border-radius:16px;overflow:hidden;border:1px solid #1d250e;background:#071006;height:360px}
.mapFilters{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:center;margin-top:12px}
.mapInput,.mapSelect{background:#0b1408;border:1px solid #1d250e;color:#eef5e6;border-radius:12px;padding:10px 12px;font-size:14px;outline:none}
.mapChk{display:flex;gap:8px;align-items:center;color:#dbe8c7;font-size:14px}
.mapChk input{accent-color:#5c6f12}

.footer{margin-top:18px;padding:14px 2px;color:#b7c59f;font-size:13px;line-height:1.35;text-align:center}
.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#0b1408;border:1px solid #1d250e;color:#eef5e6;padding:10px 14px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:9999}
.toast.on{opacity:1}

/* Overlays (image + admin) */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:9998;padding:14px}
.overlayCard{width:min(940px,100%);height:min(88vh,720px);background:#071006;border:1px solid #1d250e;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.overlayTop{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #1d250e}
.adminFrame{width:100%;height:100%;border:0;background:#060a03}

@media (max-width:860px){
  .hero{height:48vh;max-height:520px;min-height:260px}

  .wrap{padding:14px}
  .top{flex-direction:column;align-items:stretch;gap:10px}
  .brandTitle{font-size:30px}
  .brandSub{font-size:12px}
  .search{flex-direction:row;gap:10px;justify-content:stretch}
  .search input{max-width:none}
  .navBar{justify-content:flex-start;margin-top:6px}
  .grid{grid-template-columns:1fr}
  .list{grid-template-columns:1fr}
  .mapFilters{grid-template-columns:1fr;gap:10px}
  .footer{display:flex;flex-direction:column;gap:4px}
}


/* Buttons (shared) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;border:1px solid #1d250e;background:#0b1408;color:#dbe8c7}
.btn:hover{filter:brightness(1.05)}
.btn.ghost{background:transparent}
.btn.like.on{background:#465500;border-color:#465500;color:#f6ffda}

/* Pager format: << < > >> numbers (no separators) */
.pager{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pager .btn{border-radius:999px}
.pager .btn.arrow{font-weight:900}
.pager .btn.arrowStep{background:#f2d33b;color:#1f240e;border-color:#e0c12b}
.pager .btn.arrowFast{background:#3f6f2d;color:#f4ffe7;border-color:#3f6f2d}
body[data-theme="light"] .pager .btn.arrowStep{background:#f2d33b;color:#1f240e;border-color:#e0c12b}
body[data-theme="light"] .pager .btn.arrowFast{background:#3f6f2d;color:#f4ffe7;border-color:#3f6f2d}

/* Detail header + back */
.detailTopRow{display:flex;gap:12px;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap}
.detailHead{width:100%;text-align:left}
.detailTitle{font-size:22px;font-weight:900;margin-top:2px;line-height:1.2}
.backLink{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid #1d250e;background:#071006;color:#dbe8c7;font-weight:900;text-decoration:none}
.backLink:hover{text-decoration:none;filter:brightness(1.05)}

/* Detail actions */
.actionRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* Detail gallery */
.hero{border-radius:16px;overflow:hidden;border:1px solid #1d250e;background:#060a03;display:flex;align-items:center;justify-content:center;height:60vh;max-height:680px;min-height:420px}
.hero img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain}
@media (max-width:860px){.hero img{max-height:320px}}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}
@media (max-width:860px){.thumbs{grid-template-columns:repeat(3,1fr)}}
.thumbBtn{border:1px solid #1d250e;background:#060a03;border-radius:14px;overflow:hidden;padding:0;cursor:pointer}
.thumbBtn img{width:100%;height:92px;object-fit:cover;object-position:top center;display:block}
.thumbBtn.active{outline:2px solid #5c6f12}

/* Pager tweaks (less bulky) */
.pageBtn{padding:7px 11px;font-size:13px}


/* CEPEC v2.3 — mobile: botones debajo del input, sin mover estilos extra */
@media (max-width: 860px){
  .search{ flex-wrap: wrap; }
  .search input{ flex: 1 1 100%; width: 100%; min-width: 0; }
}

/* CEPEC v2.3 — Detail gallery navigation arrows */
.hero{position:relative}
.heroNav{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #1d250e;background:rgba(6,10,3,.72);color:#eef5e6;width:44px;height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease}
.heroNav.prev{left:10px}
.heroNav.next{right:10px}
.hero:hover .heroNav,.hero.showNav .heroNav{opacity:1;pointer-events:auto}
@media (max-width:860px){.heroNav{width:48px;height:48px;font-size:30px}}


/* CEPEC v2.3 — Fullscreen image modal */
body.noScroll{overflow:hidden;touch-action:none}
.imgOverlay{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:10000;display:flex;align-items:stretch;justify-content:stretch}
.imgOverlay.hidden{display:none}
.imgClose{position:fixed;top:14px;right:14px;z-index:10002;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}
.imgStage{position:relative;flex:1;overflow:hidden;touch-action:none;display:flex;align-items:center;justify-content:center}
.imgStage img{max-width:100%;max-height:100%;transform-origin:center center;will-change:transform}
.imgNav{position:absolute;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.45);color:#fff;width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:34px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:5}
.imgNav.prev{left:14px}
.imgNav.next{right:14px}
.imgStage.showNav .imgNav,.imgOverlay:hover .imgNav{opacity:1;pointer-events:auto}


/* CEPEC v2.3 — Más Esculturas */
.moreHead{font-size:18px;font-weight:900;margin-bottom:12px}
.moreSection{grid-column:1/-1}
.moreGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:980px){.moreGrid{grid-template-columns:repeat(2,1fr)}}
.moreCard{display:flex;gap:12px;border:1px solid #1d250e;background:#071006;border-radius:16px;overflow:hidden;padding:10px;align-items:center;min-height:96px}
.moreCard:hover{text-decoration:none;filter:brightness(1.04)}
.moreThumb{width:84px;height:84px;border-radius:14px;overflow:hidden;background:#060a03;border:1px solid #1d250e;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.moreThumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.noThumb{font-size:12px;color:#93a27d;padding:10px;text-align:center}
.moreMeta{min-width:0}
.moreTitle{font-weight:900;line-height:1.2;margin:2px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* CEPEC v2.3 — Más Esculturas (Mobile polish) */
@media (max-width: 520px){
  .moreHead{font-size:16px;margin-bottom:10px}
  .moreGrid{grid-template-columns:repeat(2,1fr);gap:10px}

  /* Stack content vertically to avoid cramped side-by-side text */
  .moreCard{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:10px;
    min-height:unset;
  }

  /* Make thumb dominate the card; keep consistent height */
  .moreThumb{
    width:100%;
    height:110px;
    border-radius:14px;
  }
  .moreThumb img{object-fit:cover}

  .moreMeta{width:100%}
  .moreTitle{font-size:14px;line-height:1.15;margin:0 0 4px}
  .moreMeta .muted{font-size:12px;line-height:1.2}
}

/* Even smaller phones: single column for readability */
@media (max-width: 360px){
  .moreGrid{grid-template-columns:1fr}
  .moreThumb{height:140px}
}

/* CEPEC v2.3 — Full View modal arrows: ensure clickable on desktop */
.imgNav{
  z-index:10003;
  pointer-events:auto !important;
}

/* Hint under hero image */
.hintClick{
  margin-top:10px;
  font-size:12px;
  line-height:1.2;
  color:rgba(233,238,245,.72);
  text-align:center;
}
@media (max-width: 860px){
  .hintClick{font-size:12px;text-align:left}
}

/* CEPEC v2.3 patch-12 — Home controls + UI polish */

/* Nav buttons: right aligned, yellow border only */
.navBar{
  justify-content:flex-end;
}
.navLink{
  border-color:#f7af19;
}
.navLink.active{
  border-color:#f7af19;
}

/* Minimal toggle (switch) */
.miniToggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #f7af19;
  background:#071006;
  color:#dbe8c7;
  font-weight:800;
  user-select:none;
}
.miniToggle input{display:none;}
.miniSlider{
  width:34px;height:20px;border-radius:999px;
  background:#0b1408;border:1px solid #1d250e;
  position:relative; flex:0 0 auto;
}
.miniSlider:after{
  content:"";
  position:absolute; top:50%; left:2px;
  width:14px;height:14px;border-radius:50%;
  transform:translateY(-50%);
  background:#dbe8c7;
  transition:all .15s ease;
}
.miniToggle input:checked + .miniSlider{
  background:#1a240c;
  border-color:#f7af19;
}
.miniToggle input:checked + .miniSlider:after{
  left:18px;
  background:#f7af19;
}
.miniText{font-size:13px;opacity:.95}

/* Minimal mode — make home catalog cards more compact */
body.mode-minimal .list{
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
body.mode-minimal .item{
  padding:10px;
}
body.mode-minimal .thumb{
  margin-bottom:8px;
}
body.mode-minimal .code{font-size:12px;opacity:.95}
body.mode-minimal .title{font-size:14px;line-height:1.15}
body.mode-minimal .meta{font-size:12px}
body.mode-minimal .row .btn{padding:7px 10px;font-size:12px}

/* Responsive minimal: keep readable */
@media (max-width: 860px){
  body.mode-minimal .list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 420px){
  body.mode-minimal .list{grid-template-columns:1fr}
}

/* Detail hint + action alignment */
.hintClick{
  font-size:14px;
  line-height:1.2;
  opacity:.85;
  margin:10px 0 12px;
  text-align:center;
}
@media (min-width: 860px){
  .hintClick{font-size:15px}
}
.actionRow{
  justify-content:center;
}

/* Ensure Más Esculturas spans full width on desktop grid */
.moreSection{
  grid-column:1 / -1;
}

/* CEPEC v2.3 — Home controls layout (Catálogo/Mapa + View modes) */
.navRow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 10px 0;
  justify-content:flex-start; /* left aligned per spec */
  flex-wrap:wrap;
}

/* Buttons: white outline */
.navLink{
  border:1px solid rgba(255,255,255,.55);
  background:rgba(10,16,7,.35);
}
.navLink.active{
  border-color:rgba(255,255,255,.75);
  background:rgba(10,16,7,.55);
}

/* Mode toggle (Normal | Minimal | Tiny) */
.modeToggle{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  overflow:hidden;
}
.modeBtn{
  border:0;
  background:transparent;
  color:#dbe8c7;
  font-weight:800;
  padding:8px 12px;
  cursor:pointer;
}
.modeBtn:hover{filter:brightness(1.05)}
.modeBtn.active{
  background:rgba(255,255,255,.10);
}

/* Hide mode controls outside Home (and always in detail view) */
body.view-detail #modeToggle,
body.view-map #modeToggle{display:none}

/* Mobile: only Normal + Minimal (Tiny hidden) */
@media (max-width: 860px){
  .modeTiny{display:none}
}

/* Catalog card typography / spacing */
.item .cardBody{min-width:0}
.item .cardCode{font-weight:900;font-size:13px;letter-spacing:.2px;opacity:.95}
.item .cardTitle{font-weight:900;font-size:15px;line-height:1.15;margin-top:4px}
.item .cardMeta{margin-top:8px}
.item .metaRow{font-size:12px;line-height:1.2;color:rgba(219,232,199,.85);margin-top:3px}
.item .metaLbl{opacity:.8}
.item .metaVal{font-weight:800;color:#dbe8c7}
.item .cardActions{margin-top:10px}

/* Catalog cards: like + share must be stacked and full-width (all modes/views) */
.item .cardActions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.item .cardActions .btn{width:100%}

/* Center actions row (home + detail) */
.actionRow{justify-content:center}

/* Hint below hero: slightly larger */
.hintClick{font-size:14px;line-height:1.2;opacity:.9;margin:10px 0 12px;text-align:center}

/* View modes: layout */
body.mode-normal .list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width: 980px){
  body.mode-normal .list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 860px){
  body.mode-normal .list{grid-template-columns:1fr}
}

/* Mobile readability: slightly larger title/meta, keeping proportions (Normal > Minimal) */
@media (max-width: 860px){
  body.mode-normal .item .cardTitle{font-size:17px}
  body.mode-normal .item .metaRow{font-size:14px}
  /* Mobile spacing: Autor closer to title, Localidad farther from buttons */
  body.mode-normal .item .cardMeta{margin-top:6px}
  body.mode-normal .item .metaRow{margin-top:2px}
  body.mode-normal .item .meta .metaRow:first-child{margin-top:0px}
  body.mode-normal .item .meta .metaRow:last-child{margin-bottom:12px}

  body.mode-minimal .item .cardTitle{font-size:15px}
  body.mode-minimal .item .metaRow{font-size:13px}
  body.mode-minimal .item .meta .metaRow:first-child{margin-top:0px}
  /* Minimal mobile: Localidad in 2 lines (label + value) like Autor */
  body.mode-minimal .item .meta .metaRow:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:10px}
}


/* Minimal: desktop more compact, mobile 2 columns */
body.mode-minimal .list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body.mode-minimal .item{padding:10px}
body.mode-minimal .thumb{margin-bottom:8px}
body.mode-minimal .cardTitle{font-size:14px}
@media (max-width: 980px){
  body.mode-minimal .list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 860px){
  body.mode-minimal .list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 420px){
  body.mode-minimal .list{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.mode-minimal .thumb{aspect-ratio:1/1}
}

/* Tiny: desktop 5 columns, very compact */
@media (min-width: 860px){
  body.mode-tiny .list{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  body.mode-tiny .item{padding:8px;border-radius:14px}
  body.mode-tiny .thumb{margin-bottom:6px;border-radius:12px}
  body.mode-tiny .cardCode{font-size:12px}
  body.mode-tiny .cardTitle{font-size:15px}
  body.mode-tiny .metaRow{font-size:12px}
  body.mode-tiny .btn{font-size:12px;padding:7px 10px}
}
@media (max-width: 980px){
  body.mode-tiny .list{grid-template-columns:repeat(4,minmax(0,1fr))}

/* CEPEC v2.4 — Slider: fixed card height so bottom pager never jumps */
body.slider-on .item{display:flex;flex-direction:column}
body.slider-on .cardBody{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
body.slider-on .cardActions{margin-top:auto}

/* Clamp text to keep a predictable card height */
body.slider-on .cardTitle{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:calc(2 * 1.15em);
}
body.slider-on .metaRow:first-child .metaVal{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

/* Fixed heights by mode (desktop) */
@media (min-width: 860px){
  body.slider-on.mode-normal .item{height:470px}
  body.slider-on.mode-minimal .item{height:440px}
  body.slider-on.mode-tiny .item{height:420px}
}
/* Fixed heights by mode (mobile slider pages) */
@media (max-width: 860px){
  body.slider-on.mode-normal .item{height:500px}
  body.slider-on.mode-minimal .item{height:420px}
  body.slider-on.mode-tiny .item{height:440px}
}
}

/* Full View modal: close-anywhere uses overlay click; ensure arrows remain clickable */
.imgOverlay{cursor:zoom-out}
.imgOverlay .imgNav{cursor:pointer}

/* CEPEC v2.3 — Header layout refinements (desktop home + detail) */
@media (min-width: 860px){

  /* Give subtitle more room in home by letting brand block flex */
  body.view-home .brandBlock,
  body.view-map .brandBlock{
    flex: 1 1 420px;
    min-width: 360px;
  }
  body.view-home .search,
  body.view-map .search{
    flex: 0 0 auto;
  }
  body.view-home .search input,
  body.view-map .search input{
    max-width: 460px; /* free space so subtitle can stay on one line */
  }
  body.view-home .navRow,
  body.view-map .navRow{
    margin: 0 12px 0 0; /* nudge left (closer to title), reduce vertical margin in top row */
    flex: 0 0 auto;
  }

  /* Detail view: move nav/search row one line BELOW title (brand block becomes full width) */
  body.view-detail .top{
    flex-wrap: wrap;
    align-items: flex-start;
  }
  body.view-detail .brandBlock{
    flex: 1 1 100%;
    min-width: 0;
  }
  body.view-detail .navRow{
    order: 2;
    margin: 10px 12px 0 0;
  }
  body.view-detail .search{
    order: 3;
    margin-top: 10px;
    flex: 1 1 auto;
  }
}



/* CEPEC v2.4 — Home slider pagination */
.homeViewer{
  overflow:hidden;
  width:100%;
  touch-action:pan-y; /* allow vertical scroll; we handle horizontal */
  transition: height 220ms ease;
  will-change: height;
}
.homeTrack{
  display:flex;
  width:100%;
  transform:translateX(0%);
  transition:transform .32s ease;
  will-change:transform;
}
.homeTrack.noAnim{transition:none !important;}
.homePage{
  flex:0 0 100%;
  min-width:100%;
}

/* CEPEC v2.4 — Home header: controls + search under title (desktop) */
@media (min-width: 860px){
  body.view-home .top,
  body.view-map .top{
    flex-wrap:wrap;
    align-items:flex-start;
  }
  body.view-home .brandBlock,
  body.view-map .brandBlock{
    flex:1 1 100%;
    min-width:0;
  }
  body.view-home .navRow,
  body.view-map .navRow{
    order:2;
    margin-top:10px;
  }
  body.view-home .search,
  body.view-map .search{
    order:3;
    margin-top:10px;
    justify-content:flex-start;
    flex:1 1 100%;
  }
  body.view-home .search input,
  body.view-map .search input{
    max-width:560px;
  }

  /* Make subtitle bigger on desktop only */
  .brandSub{
    font-size:18px;
  }
}

/* CEPEC v2.4 — Tiny: stack Like + Share always (home cards) */
@media (min-width: 860px){
  body.mode-tiny .cardActions{
    flex-direction:column;
    align-items:stretch;
  }
  body.mode-tiny .cardActions .btn{
    width:100%;
  }
}

body.view-detail #sliderSwitch{display:none}

.navRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.search{margin-left:0;display:flex;gap:10px;align-items:center;flex:1 1 320px;min-width:260px}
.search input{flex:1 1 auto}
@media (max-width:860px){.switchRow{margin-left:0;width:100%}.search{width:100%}}

body[data-theme="light"] .modeToggle{border-color:#f2d33b}
body[data-theme="light"] .modeBtn{color:#2f5f2b}
body[data-theme="light"] .modeBtn.active{background:rgba(63,111,45,.12)}
body[data-theme="light"] .card .metaLine, body[data-theme="light"] .itemMeta{color:#475442}
body[data-theme="light"] .card .metaLine b, body[data-theme="light"] .itemTitle{color:#2b3a25}
body[data-theme="light"] .btn.like.on .muted{color:#ffffff;opacity:1}
body[data-theme="light"] .backLink{background:#3f6f2d;border-color:#3f6f2d;color:#f4ffe7}
body[data-theme="light"] .moreSection{background:#edf3e8}
body[data-theme="light"] .moreCard{background:#f4f7f0;border-color:#cbd6c6}


.btn.like.on .likeCount{color:#fff}
body[data-theme="light"] .btn.like.on .likeCount{color:#fff}


/* Map page: remove header search bar/buttons */
body.view-map #searchForm{display:none !important;}


/* Detail nav (back + prev/next) */
.detailNavWrap{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;justify-content:flex-end;width:100%;margin-bottom:10px;scroll-margin-top:10px}
.detailPager{display:flex;gap:8px;align-items:center}
.detailNavBtn{min-width:46px;padding-left:0;padding-right:0;text-align:center;justify-content:center;font-weight:900}

/* Mobile spacing between nav and thumbs */
@media (max-width: 860px){
  .detailNavWrap{margin-bottom:10px}
}

/* Light mode: hero background should be light (not black) */
body[data-theme="light"] .hero{background:#dfe7d6;border-color:#c9d4bc}

/* Thumbnails: crop aligned to top for tall images */
.thumb img,
.thumbBtn img,
.moreThumb img,
.item .thumb img{object-position:top center}


/* Mobile: pager buttons slightly smaller + no horizontal scroll */
@media (max-width: 520px){
  .pager{overflow-x:hidden;flex-wrap:wrap;justify-content:center;gap:8px}
  .pagerInner{flex-wrap:wrap;justify-content:center;gap:8px;width:auto}
  .pagerArrows{gap:6px}
  .pagerNums{flex-wrap:wrap;justify-content:center;gap:6px}
  .pager .btn.pageNum{min-width:38px;padding:10px 0}
  .pager .btn.arrow{min-width:40px;padding:10px 0}
  .pager .btn{border-radius:999px}
}

