:root {
  --parchment: var(--pergamino);
  --parchment-light: var(--pergamino-claro);
  --parchment-dark: var(--pergamino-oscuro);
  --text-light: var(--tinta);
  --text-dim: var(--tinta-clara);
  --gold: var(--oro);
  --gold-dim: var(--oro);
  --gold-bright: var(--oro-hoja);
  --blood: var(--rubrica);
  --blood-bright: var(--rojo-vivo);
  --ember: var(--fuego);
  --ember-glow: var(--fuego);
  --stone-dark: var(--madera-950);
  --veta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='760' height='760'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.016 0.005' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.5'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)' opacity='0.07'/%3E%3C/svg%3E");
  --font-display: var(--gotica);
  --font-heading: var(--romana);
  --font-accent: var(--manuscrito);
  --font-body: var(--manuscrito);
}

main {
  position: relative;
  max-width: 1240px;
  margin: 2.2rem auto 3.5rem;
  padding: clamp(2.2rem, 4.5vw, 3.4rem) clamp(1.6rem, 4vw, 3.6rem);
  min-height: 72vh;
  color: var(--tinta);

  background:
    var(--ruido, none),
    var(--aguas, none),
    repeating-linear-gradient(96deg,
      rgba(150, 112, 54, 0.05) 0 2px, transparent 2px 7px,
      rgba(120, 88, 40, 0.035) 7px 8px, transparent 8px 15px),
    radial-gradient(ellipse 46% 34% at 9% 14%, rgba(146, 106, 48, 0.26), transparent 68%),
    radial-gradient(ellipse 38% 30% at 91% 58%, rgba(150, 110, 55, 0.28), transparent 68%),
    radial-gradient(ellipse 28% 20% at 42% 91%, rgba(126, 92, 42, 0.24), transparent 70%),
    radial-gradient(ellipse 22% 16% at 68% 33%, rgba(158, 120, 58, 0.16), transparent 74%),
    radial-gradient(ellipse 18% 26% at 24% 62%, rgba(140, 104, 50, 0.13), transparent 76%),
    radial-gradient(ellipse 120% 44% at 50% 100%, rgba(112, 80, 34, 0.3), transparent 72%),
    radial-gradient(140% 100% at 50% 0%, #e9daaf 0%, #dcc99c 52%, #c5ad7d 100%);
  background-size:
    240px 240px, 900px 900px, 60px 60px,
    auto, auto, auto, auto, auto, auto, auto;
  background-blend-mode:
    normal, normal, multiply,
    normal, normal, normal, normal, normal, normal, normal;
  box-shadow: 0 0 0 1px #8a713f, 0 2px 0 1px rgba(255,245,215,0.25) inset, 0 30px 80px rgba(0,0,0,0.85), 0 8px 24px rgba(0,0,0,0.6);
}
main::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(85% 60% at 50% 50%, transparent 60%, rgba(120,90,40,0.22) 100%),
    radial-gradient(ellipse 240px 140px at 0% 0%, rgba(110,80,35,0.25), transparent 70%),
    radial-gradient(ellipse 240px 140px at 100% 100%, rgba(110,80,35,0.28), transparent 70%),
    radial-gradient(ellipse 180px 100px at 100% 0%, rgba(110,80,35,0.16), transparent 70%);
}
main::after {
  content: ""; position: absolute; left: 6px; right: 8px; bottom: -7px; height: 7px; z-index: -1;
  background: linear-gradient(180deg, #cdb47f 0%, #b89a63 40%, #8a713f 100%);
  border-radius: 0 0 5px 4px;
  box-shadow: 0 3px 0 -1px #a98f5c, 0 6px 0 -2px #8a713f, 0 12px 24px rgba(0,0,0,0.7);
}

.container { max-width: 100%; margin: 0; padding: 0; }
.page-section { padding: 1.4rem 0 2.4rem; }

.page-header { text-align: center; padding: 0.6rem 0 0.4rem; }

.bazar-header {
  position: relative;
  display: grid;
  place-items: start center;
  width: auto;
  margin: calc(-1 * clamp(2.2rem, 4.5vw, 3.4rem))
          calc(-1 * clamp(1.6rem, 4vw, 3.6rem))
          0;
  aspect-ratio: 1717 / 620;
  overflow: hidden;
  border-radius: 3px 3px 0 0;
  box-shadow: 0 14px 34px rgba(30, 18, 8, 0.45);
}
.bazar-header-texto {
  position: relative;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(1.6rem, 4vw, 3rem);
  padding: clamp(0.5rem, 1.2vw, 0.9rem) clamp(1.4rem, 4vw, 3rem);
  color: #f2e4bd;

  background: linear-gradient(180deg, rgba(24, 14, 6, 0.82), rgba(14, 8, 4, 0.82));
  border: 1px solid rgba(211, 171, 82, 0.55);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 225, 160, 0.25);
  border-radius: 4px;
}
.bazar-header-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 45%;
}
.bazar-header-velo {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 7, 4, 0.55) 0%, rgba(10, 7, 4, 0.18) 30%, rgba(10, 7, 4, 0.18) 62%, rgba(8, 5, 2, 0.75) 100%);
}
.bazar-header .page-title {
  color: #f2e4bd;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9), 0 0 22px rgba(0, 0, 0, 0.6);
}
.bazar-header .page-title::first-letter { color: inherit; }
.bazar-header .page-subtitle {
  color: #e6d2a0;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.9);
}
.bazar-header .page-header-cross {
  color: #ffffff;
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.9));
}

@media (max-width: 720px) {
  .bazar-header {
    aspect-ratio: 1717 / 800;
    margin: calc(-1 * 1.2rem) calc(-1 * 1.2rem) 0;
    border-radius: 2px 2px 0 0;
  }
  .bazar-header-texto {
    margin-top: clamp(1.4rem, 14vw, 3rem);
    padding: 0.5rem 1.2rem;
  }
}

.page-header-cross, .council-seal {
  display: none;
}
.page-header-cross .icono, .council-seal .icono {
  width: 1em; height: 1em;
  filter:
    drop-shadow(0 -1px 0 rgba(255, 250, 228, 0.55))
    drop-shadow(0 2px 2px rgba(96, 18, 10, 0.3));
}

.doc-icon .icono { width: 1em; height: 1em; }
.chapter-item h3 .lock .icono,
.council-heading .icono { width: 0.9em; height: 0.9em; vertical-align: -0.1em; }
.page-title {
  font-family: var(--gotica); font-weight: 400; color: var(--tinta);
  font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.05; margin: 0.2rem 0 0.4rem;
  text-shadow: 0 1px 0 rgba(255,248,225,0.5);
}
.page-title::first-letter { color: inherit; }
.page-subtitle {
  font-family: var(--romana); color: var(--rubrica); letter-spacing: 0.28em;
  text-transform: uppercase; font-size: 0.74rem;
}
.page-ornament { display: none; }

.section-divider { text-align: center; color: var(--rubrica); font-size: 1.05rem; margin: 2.4rem auto; letter-spacing: 0.9em; opacity: 0.85; position: relative; max-width: 460px; }

.section-divider > span { display: inline-block; letter-spacing: 0; font-size: 1.5em; }
.success-cross .icono { display: block; margin: 0 auto; }
.section-divider::before, .section-divider::after { content: ""; position: absolute; top: 50%; width: 30%; height: 1px; background: linear-gradient(90deg, transparent, var(--tinta-clara)); }
.section-divider::before { left: 0; } .section-divider::after { right: 0; transform: scaleX(-1); }

.parchment-card {
  position: relative; color: var(--tinta);
  background: var(--ruido), linear-gradient(170deg, #ecdcb2 0%, var(--pergamino) 60%, #d8c391 100%);
  background-size: 260px 260px, auto;
  border: 1px solid var(--tinta-suave);
  box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 8px 20px rgba(60,40,10,0.3);
  padding: 1.7rem; border-radius: 0;
}
.parchment-card::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(92,70,41,0.5); pointer-events: none; }
.parchment-card > * { position: relative; z-index: 1; }

.torch-glow { position: relative; }
.torch-glow::after { content: ""; position: absolute; top: -36%; left: 50%; transform: translateX(-50%); width: 220px; height: 220px; background: radial-gradient(circle, rgba(255,180,80,0.22) 0%, transparent 68%); pointer-events: none; animation: halo 3s ease-in-out infinite; }
@keyframes halo { 0%,100% { opacity: 0.6; } 50% { opacity: 1; } }

.form-medieval { display: flex; flex-direction: column; gap: 1.1rem; max-width: 460px; margin: 0 auto; }
.form-medieval.form-wide { max-width: 720px; }
.form-medieval label, .campo label { display: block; font-family: var(--romana); font-size: 0.74rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tinta-suave); margin-bottom: 0.4rem; }
.form-medieval input[type="text"], .form-medieval input[type="email"], .form-medieval input[type="password"],
.form-medieval input[type="datetime-local"], .form-medieval input[type="file"], .form-medieval textarea, .form-medieval select,
input[type="text"], input[type="email"], input[type="password"], input[type="number"], textarea, select {
  width: 100%; font-family: var(--manuscrito); font-size: 1.05rem; color: var(--tinta);
  background: linear-gradient(180deg, #f4ead0, var(--pergamino-claro));
  border: 1px solid var(--tinta-suave); border-bottom-width: 2px; padding: 0.65rem 0.9rem;
  box-shadow: inset 0 2px 5px rgba(92,70,41,0.22);
}
.form-medieval textarea { min-height: 140px; resize: vertical; }
.form-medieval input:focus, .form-medieval textarea:focus, .form-medieval select:focus,
input:focus, textarea:focus, select:focus { outline: 2px solid rgba(156,117,36,0.55); outline-offset: 1px; }
.form-medieval input::placeholder, .form-medieval textarea::placeholder { color: rgba(122,96,57,0.6); font-style: italic; }
.form-medieval input[type="file"] { padding: 0.5rem; cursor: var(--cursor-espada, pointer); }
.form-medieval input[type="file"]::file-selector-button { font-family: var(--romana); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino)); color: var(--tinta); border: 1px solid var(--tinta-suave); padding: 0.45rem 0.9rem; margin-right: 0.8rem; cursor: var(--cursor-espada, pointer); }
.form-check { display: flex; align-items: center; gap: 0.7rem; }
.form-check input[type="checkbox"] { width: 1.1rem; height: 1.1rem; accent-color: var(--rubrica); cursor: var(--cursor-espada, pointer); }
.form-check label { margin: 0; cursor: var(--cursor-espada, pointer); color: var(--tinta-suave); text-transform: none; letter-spacing: 0; font-family: var(--manuscrito); font-size: 1rem; }
.form-hint { font-size: 0.92rem; font-style: italic; color: var(--tinta-clara); text-align: center; }

.auth-shell { max-width: 520px; margin: 0 auto; }

.empty-note { grid-column: 1 / -1; text-align: center; font-style: italic; color: var(--tinta-clara); padding: 2.4rem 1rem; border: 1px dashed var(--tinta-suave); }

.btn-hierro, .btn-oro, .btn-cera, .btn, .btn-rubric, .btn-lapis {
  display: inline-block; font-family: var(--romana); letter-spacing: 0.14em;
  text-transform: uppercase; font-size: 0.82rem; text-decoration: none;
  padding: 0.75rem 1.6rem; cursor: var(--cursor-espada, pointer); position: relative;
  transition: transform 0.15s, box-shadow 0.25s, background-color 0.25s,
              color 0.25s, filter 0.2s;
}

.btn, .btn-hierro, .btn-cera, .btn-rubric {
  background: none;
  border-style: solid;
  border-color: transparent;
  border-image-repeat: stretch;
  border-radius: 0;
  box-shadow: none;
}

.btn, .btn-hierro {
  color: var(--tinta);
  padding: 0.72rem 1rem;
  border-width: 0 0.96em;
  border-image-source: url("../images/pergamino-boton.6503a2411363.png");
  border-image-slice: 0 68 fill;
  border-image-width: 0 0.96em;

  -webkit-text-stroke: 0.4px currentColor;

  text-shadow:
    0 0 1.5px rgba(255, 250, 228, 0.95),
    0 0 1px rgba(255, 250, 228, 0.95),
    0 1px 0 rgba(255, 250, 228, 0.6);
  filter: drop-shadow(0 2px 3px rgba(40, 24, 6, 0.4));
}
.btn:hover, .btn-hierro:hover {
  color: var(--rubrica); transform: translateY(-2px);
  filter: drop-shadow(0 5px 7px rgba(40, 24, 6, 0.45)) brightness(1.05);
}
.btn:active, .btn-hierro:active {
  transform: translateY(1px);
  filter: drop-shadow(0 1px 2px rgba(40, 24, 6, 0.5)) brightness(0.94);
}

.btn-rubric, .btn-cera {

  color: #fff7f0;
  padding: 0.72rem 1rem;
  border-width: 0 1.36em 0 1.64em;
  border-image-source: url("../images/lacre-boton.25290b8f2ea1.png");
  border-image-slice: 0 95 0 115 fill;
  border-image-width: 0 1.36em 0 1.64em;

  text-shadow:
    0.7px 0 0 rgba(30, 4, 2, 0.95),
    -0.7px 0 0 rgba(30, 4, 2, 0.95),
    0 0.7px 0 rgba(30, 4, 2, 0.95),
    0 -0.7px 0 rgba(30, 4, 2, 0.95),
    0.55px 0.55px 0 rgba(30, 4, 2, 0.9),
    -0.55px 0.55px 0 rgba(30, 4, 2, 0.9),
    0.55px -0.55px 0 rgba(30, 4, 2, 0.9),
    -0.55px -0.55px 0 rgba(30, 4, 2, 0.9),
    0 1px 2px rgba(0, 0, 0, 0.5);
  filter: drop-shadow(0 2px 3px rgba(45, 8, 4, 0.45));
  transition: transform 0.15s, filter 0.25s, text-shadow 0.25s;
}
.btn-rubric:hover, .btn-cera:hover {
  transform: translateY(-2px);

  filter: drop-shadow(0 5px 8px rgba(45, 8, 4, 0.5));

  text-shadow:
    0.7px 0 0 rgba(30, 4, 2, 0.95),
    -0.7px 0 0 rgba(30, 4, 2, 0.95),
    0 0.7px 0 rgba(30, 4, 2, 0.95),
    0 -0.7px 0 rgba(30, 4, 2, 0.95),
    0.55px 0.55px 0 rgba(30, 4, 2, 0.9),
    -0.55px 0.55px 0 rgba(30, 4, 2, 0.9),
    0.55px -0.55px 0 rgba(30, 4, 2, 0.9),
    -0.55px -0.55px 0 rgba(30, 4, 2, 0.9),
    0 0 6px rgba(255, 205, 140, 0.85),
    0 0 2px rgba(255, 235, 205, 0.9),
    0 1px 2px rgba(0, 0, 0, 0.5);
}
.btn-rubric:active, .btn-cera:active {
  transform: translateY(1px);
  filter: drop-shadow(0 1px 2px rgba(45, 8, 4, 0.55));
}

.btn-lapis {
  color: #f0e4c2;
  background:
    radial-gradient(ellipse 60% 44% at 30% 22%, rgba(150, 190, 235, 0.3), transparent 64%),
    linear-gradient(180deg, #4b7099 0%, #33506b 52%, #1c2e40 100%);
  border: 1px solid #142434;
  border-radius: 2px;
  text-shadow: 0 1px 2px rgba(8, 18, 30, 0.8);
  box-shadow:
    inset 0 1px 0 rgba(210, 232, 255, 0.42),
    inset 0 -3px 7px rgba(0, 0, 0, 0.45),
    0 3px 0 -1px #16283a,
    0 8px 18px rgba(12, 26, 42, 0.55);
}
.btn-lapis:hover {
  transform: translateY(-2px); filter: brightness(1.08);
  box-shadow:
    inset 0 1px 0 rgba(210, 232, 255, 0.5),
    inset 0 -3px 7px rgba(0, 0, 0, 0.4),
    0 5px 0 -1px #16283a,
    0 13px 26px rgba(12, 26, 42, 0.6);
}
.btn-lapis:active {
  transform: translateY(1px);
  box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(12, 26, 42, 0.5);
}

.btn-oro {
  color: #2c1e07; font-weight: 600;
  background:
    linear-gradient(180deg, #f6e3a6 0%, var(--oro-hoja, #d3ab52) 32%,
                    var(--oro-claro, #b8913a) 58%, #7d5f16 100%);
  border: 1px solid #6e5510;
  border-radius: 2px;
  text-shadow: 0 1px 0 rgba(255, 250, 220, 0.5);
  box-shadow:
    inset 0 1px 0 rgba(255, 252, 230, 0.8),
    inset 0 -2px 5px rgba(90, 66, 12, 0.5),
    0 3px 0 -1px #6e5510,
    0 8px 18px rgba(60, 40, 10, 0.5);
}
.btn-oro:hover {
  transform: translateY(-2px); filter: brightness(1.06);
  box-shadow:
    inset 0 1px 0 rgba(255, 252, 230, 0.9),
    inset 0 -2px 5px rgba(90, 66, 12, 0.45),
    0 5px 0 -1px #6e5510,
    0 13px 26px rgba(60, 40, 10, 0.55);
}
.btn-oro:active {
  transform: translateY(1px);
  box-shadow: inset 0 3px 7px rgba(90, 66, 12, 0.55), 0 1px 4px rgba(60, 40, 10, 0.45);
}

.history-tome { display: flex; flex-direction: column; gap: 2.4rem; max-width: 860px; margin: 0 auto; }
.tome-page { position: relative; color: var(--tinta); background: var(--ruido), radial-gradient(130% 110% at 50% 0%, var(--pergamino-claro) 0%, #ead9ae 70%, #ddc794 100%); background-size: 260px 260px, auto; border: 1px solid var(--tinta-suave); outline: 1px solid var(--tinta-suave); outline-offset: 4px; padding: 2.2rem 2.4rem; box-shadow: 0 10px 26px rgba(60,40,10,0.28); }
.tome-page:nth-child(even) { margin-left: clamp(0px,4vw,3rem); }
.tome-page:nth-child(odd) { margin-right: clamp(0px,4vw,3rem); }
.tome-folio { position: absolute; top: 0.8rem; right: 1.2rem; font-family: var(--gotica); font-size: 1.3rem; color: var(--rubrica); opacity: 0.7; }
.tome-page h3 { font-family: var(--gotica); font-weight: 400; font-size: 1.5rem; color: var(--rubrica); margin-bottom: 0.9rem; padding-right: 3rem; }
.tome-text { color: var(--tinta-soft, var(--tinta-suave)); font-size: 1.06rem; line-height: 1.7; text-align: justify; }
.tome-text p:first-of-type::first-letter, .drop-cap::first-letter { font-family: var(--gotica); font-size: 3.4em; float: left; line-height: 0.78; padding: 0.05em 0.12em 0 0; color: var(--rubrica); }
.tome-illumination { margin: 0 0 1.3rem; padding: 8px; background: linear-gradient(150deg, #46688a, #33506b 50%, #22364a); border: 3px solid var(--oro-claro); box-shadow: inset 0 0 0 1px #7d5f16, 0 8px 20px rgba(60,40,10,0.4); }
.tome-illumination img { display: block; width: 100%; max-height: 380px; object-fit: cover; filter: saturate(1.05) contrast(1.03); }

.prayers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,290px),1fr)); gap: 1.6rem; }
.prayer-card { padding: 2.2rem 1.7rem 1.8rem; text-align: center; transition: transform 0.3s, box-shadow 0.3s; }
.prayer-card:hover { transform: translateY(-5px); box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 16px 32px rgba(60,40,10,0.4); }
.candle, .vela { position: relative; width: 20px; height: 56px; margin: 0 auto 1.3rem; background: linear-gradient(180deg, #f4ead0, #dcc99a 70%, #b89a63); border-radius: 4px 4px 2px 2px; box-shadow: 0 4px 10px rgba(60,40,10,0.4); }
.candle::before, .vela::before { content: ""; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); width: 11px; height: 17px; border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%; background: radial-gradient(circle at 50% 82%, #fff6c8 0%, #ffb347 45%, #e25822 82%, transparent 100%); animation: parpadeo 2.4s ease-in-out infinite; }
.candle::after, .vela::after { content: ""; position: absolute; top: -28px; left: 50%; transform: translateX(-50%); width: 84px; height: 84px; border-radius: 50%; background: radial-gradient(circle, rgba(255,180,80,0.3), transparent 65%); animation: parpadeo-halo 2.4s ease-in-out infinite; pointer-events: none; }
@keyframes parpadeo { 0%,100% { transform: translateX(-50%) scale(1) rotate(-2deg); } 25% { transform: translateX(-48%) scale(1.06,1.14) rotate(2deg); } 50% { transform: translateX(-52%) scale(0.95,0.9) rotate(-3deg); } 75% { transform: translateX(-49%) scale(1.03,1.08) rotate(1deg); } }
@keyframes parpadeo-halo { 0%,100% { opacity: 0.85; transform: translateX(-50%) scale(1); } 50% { opacity: 0.55; transform: translateX(-50%) scale(1.12); } }
.prayer-category { display: inline-block; font-family: var(--romana); font-size: 0.66rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rubrica); border: 1px solid rgba(143,29,19,0.5); padding: 0.22rem 0.8rem; margin-bottom: 0.9rem; }
.prayer-title { font-family: var(--titulos); font-weight: 400; font-size: 1.3rem; color: var(--rubrica); margin-bottom: 0.9rem; }
.prayer-text { color: var(--tinta-suave); font-style: italic; font-size: 1.04rem; text-align: left; line-height: 1.7; }
.prayer-author { margin-top: 1.2rem; font-family: var(--romana); font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tinta-clara); }

.about-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(min(100%,250px),1fr); gap: 2.2rem; align-items: start; }
.about-text { color: var(--tinta-suave); font-size: 1.1rem; text-align: justify; }
.about-text p:first-of-type::first-letter { font-family: var(--gotica); font-size: 3.2em; float: left; line-height: 0.78; padding: 0.05em 0.12em 0 0; color: var(--rubrica); }
.about-aside { display: flex; flex-direction: column; gap: 1.3rem; }
.about-aside .parchment-card { padding: 1.5rem; }
.aside-title { font-family: var(--romana); font-size: 0.82rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rubrica); margin-bottom: 0.8rem; }
.contact-line { display: flex; align-items: center; gap: 0.7rem; color: var(--tinta-suave); padding: 0.35rem 0; text-decoration: none; transition: color 0.3s; }
a.contact-line:hover { color: var(--rubrica); }
.social-links { display: flex; gap: 0.7rem; flex-wrap: wrap; }
.social-links a { font-family: var(--romana); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tinta); border: 1px solid var(--tinta-suave); padding: 0.45rem 0.9rem; text-decoration: none; background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino)); box-shadow: inset 0 0 0 2px var(--pergamino), inset 0 0 0 3px var(--tinta-suave); transition: all 0.25s; }
.social-links a:hover { color: var(--rubrica); transform: translateY(-2px); }

.profile-banner { display: flex; align-items: center; gap: 2rem; padding: 1.8rem; margin-bottom: 2.6rem; }
.profile-avatar { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; border: 3px solid var(--oro-claro); box-shadow: 0 0 0 1px #6d5211, 0 6px 16px rgba(60,40,10,0.4); flex-shrink: 0; }
.profile-avatar-fallback { width: 104px; height: 104px; border-radius: 50%; border: 3px solid var(--oro-claro); display: flex; align-items: center; justify-content: center; font-family: var(--gotica); font-size: 2.4rem; color: var(--rubrica); background: radial-gradient(circle at 38% 30%, var(--pergamino-claro), var(--pergamino-oscuro)); flex-shrink: 0; }
.profile-name { font-family: var(--gotica); font-weight: 400; font-size: clamp(1.6rem,3.5vw,2.3rem); color: var(--tinta); }
.rank-badge { display: inline-block; font-family: var(--romana); font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: #f5cfc0; background: radial-gradient(circle at 35% 28%, #b83a25, #8f1d13 60%, #58100a); border: 1px solid #470d07; padding: 0.28rem 0.9rem; margin-top: 0.4rem; }
.profile-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; margin-top: 0.9rem; color: var(--tinta-clara); font-size: 0.96rem; }
.profile-meta strong { color: var(--tinta); font-weight: 600; }

.brothers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,220px),1fr)); gap: 1.4rem; }
.brother-card { text-align: center; padding: 1.7rem 1.2rem; text-decoration: none; display: block; transition: transform 0.3s, box-shadow 0.3s; }
.brother-card:hover { transform: translateY(-5px); box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 14px 30px rgba(60,40,10,0.4); }
.brother-card .profile-avatar, .brother-card .profile-avatar-fallback { width: 80px; height: 80px; margin: 0 auto 0.9rem; font-size: 1.9rem; }
.brother-name { font-family: var(--titulos); font-weight: 400; font-size: 1.08rem; color: var(--tinta); margin-bottom: 0.4rem; }
.brother-card:hover .brother-name { color: var(--rubrica); }
.brother-since { font-size: 0.86rem; font-style: italic; color: var(--tinta-clara); margin-top: 0.5rem; }

.brother-hero { display: grid; grid-template-columns: minmax(200px,290px) 1fr; gap: 2.4rem; align-items: start; margin-bottom: 2.4rem; }
.brother-portrait { padding: 9px; background: linear-gradient(150deg, #46688a, #33506b 50%, #22364a); border: 3px solid var(--oro-claro); box-shadow: inset 0 0 0 1px #6d5211, 0 8px 20px rgba(60,40,10,0.4); }
.brother-portrait img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; filter: saturate(1.04); }
.brother-portrait .profile-avatar-fallback { width: 100%; height: auto; aspect-ratio: 3 / 4; border: none; border-radius: 0; font-size: 5rem; }
.brother-motto { border-left: 4px solid var(--rubrica); padding: 0.7rem 1.3rem; margin: 1.3rem 0; font-style: italic; font-size: 1.18rem; color: var(--tinta-suave); background: rgba(143,29,19,0.06); }
.brother-bio { color: var(--tinta-suave); margin-top: 1rem; text-align: justify; }
.detail-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,180px),1fr)); gap: 0.9rem; margin-top: 1.3rem; }
.detail-list div { border: 1px solid var(--tinta-suave); padding: 0.8rem 1rem; background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino)); }
.detail-list dt { font-family: var(--romana); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rubrica); }
.detail-list dd { color: var(--tinta); margin-top: 0.25rem; }

.invite-note { text-align: center; max-width: 560px; margin: 0 auto 2.2rem; color: var(--tinta-suave); font-style: italic; font-size: 1.08rem; }
.invite-note strong { color: var(--rubrica); font-style: normal; }

.store-layout { display: block; }

.products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,230px),1fr)); gap: 1.6rem; }
.product-card { padding: 0; display: flex; flex-direction: column; overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; }
.product-card::before { display: none; }
.product-card:hover { transform: translateY(-5px); box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 16px 34px rgba(60,40,10,0.42); }
.product-image { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--pergamino-oscuro); }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s, filter 0.6s; filter: saturate(0.95); }
.product-card:hover .product-image img { transform: scale(1.06); filter: saturate(1.08); }
.product-body { padding: 1.3rem 1.3rem 1.4rem; display: flex; flex-direction: column; gap: 0.5rem; flex-grow: 1; }
.product-name { font-family: var(--titulos); font-weight: 400; font-size: 1.08rem; color: var(--tinta); }
.product-name a { color: inherit; text-decoration: none; transition: color 0.3s; }
.product-name a:hover { color: var(--rubrica); }
.product-price { font-family: var(--gotica); font-size: 1.5rem; color: var(--rubrica); margin-top: auto; }
.product-price small { font-size: 0.6em; color: var(--oro); }
.add-form { margin-top: 0.5rem; }
.add-form .btn { width: 100%; text-align: center; }

.product-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2.4rem; align-items: start; }
.product-hero-image { padding: 9px; background: linear-gradient(150deg, #46688a, #33506b 50%, #22364a); border: 3px solid var(--oro-claro); box-shadow: inset 0 0 0 1px #6d5211, 0 8px 20px rgba(60,40,10,0.4); position: sticky; top: 92px; }
.product-hero-image img { display: block; width: 100%; filter: saturate(1.04); }
.product-hero h2 { font-family: var(--gotica); font-weight: 400; font-size: clamp(1.7rem,3.5vw,2.4rem); color: var(--tinta); margin-bottom: 0.9rem; }
.product-desc { color: var(--tinta-suave); margin: 1rem 0 1.5rem; text-align: justify; }
.stock-line { font-family: var(--romana); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 1.3rem; }
.stock-line.in-stock { color: #4a6b30; }
.stock-line.no-stock { color: var(--rubrica); }

.product-opciones { margin-bottom: 1.3rem; }
.product-opciones-etiqueta { display: block; font-family: var(--romana); font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tinta-clara); margin-bottom: 0.5rem; }
.pildoras { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.pildora {
  padding: 0.4rem 0.95rem;
  font-family: var(--romana); font-size: 0.8rem;
  color: var(--tinta); background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino));
  border: 1px solid var(--tinta-suave);
  border-radius: 2px; cursor: var(--cursor-espada, pointer);
  transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.pildora:hover { border-color: var(--rubrica); }
.pildora.seleccionada { color: #f5e6c8; background: linear-gradient(180deg, #8f1d13, #58100a); border-color: #470d07; }

.cart-table { width: 100%; border-collapse: collapse; margin-bottom: 1.6rem; }
.cart-table th { font-family: var(--romana); font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rubrica); text-align: left; padding: 0.8rem 1rem; border-bottom: 2px solid var(--tinta-suave); }
.cart-table td { padding: 1rem; border-bottom: 1px solid rgba(92,70,41,0.3); color: var(--tinta-suave); vertical-align: middle; }
.cart-thumb { width: 60px; height: 60px; object-fit: cover; border: 2px solid var(--oro-claro); }
.cart-articulo { display: flex; align-items: center; gap: 1rem; }

.cart-cuenta { display: inline-flex; align-items: stretch; border: 1px solid var(--tinta-suave); background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino)); }
.cart-paso { width: 2rem; padding: 0; border: none; background: none; color: var(--rubrica); font-family: var(--romana); font-size: 1.05rem; line-height: 1; cursor: var(--cursor-espada, pointer); transition: background 0.2s, color 0.2s; }
.cart-paso:hover:not(:disabled) { background: rgba(143,29,19,0.12); }
.cart-paso:disabled { opacity: 0.35; cursor: var(--cursor-mano, default); }
.cart-unidades {
  width: 3.1rem; padding: 0.42rem 0.2rem; text-align: center;
  border: none; border-left: 1px solid rgba(92,70,41,0.4); border-right: 1px solid rgba(92,70,41,0.4);
  background: transparent; color: var(--tinta); font-family: var(--romana); font-size: 0.92rem;
  -moz-appearance: textfield;
}
.cart-unidades::-webkit-outer-spin-button,
.cart-unidades::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cart-unidades:focus { outline: 1px solid var(--rubrica); outline-offset: 1px; }

.cart-actualizar { margin-left: 0.5rem; padding: 0.3rem 0.7rem; border: 1px solid var(--tinta-suave); background: none; color: var(--tinta-clara); font-family: var(--romana); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; cursor: var(--cursor-espada, pointer); }
.con-guion .cart-actualizar { display: none; }
.cart-aviso { margin-top: 0.4rem; font-size: 0.78rem; font-style: italic; color: var(--rubrica); }

.cart-remove { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino)); border: 1px solid var(--rubrica); color: var(--rubrica); cursor: var(--cursor-espada, pointer); transition: background 0.25s, color 0.25s; }
.cart-remove .icono { width: 19px; height: 19px; }
.cart-remove:hover { background: radial-gradient(circle at 35% 28%, #b83a25, #8f1d13 60%, #58100a); color: #f5cfc0; }

.cart-summary { display: flex; align-items: center; justify-content: flex-end; gap: 2.2rem; flex-wrap: wrap; padding: 1.3rem 0; border-top: 3px double var(--tinta-suave); }
.cart-cuentas { margin-right: auto; min-width: 15rem; }
.cart-renglon { display: flex; justify-content: space-between; gap: 2rem; padding: 0.25rem 0; font-family: var(--romana); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinta-clara); }
.cart-renglon strong { color: var(--tinta); font-weight: 600; }
.cart-renglon-envio em { font-style: italic; text-transform: none; letter-spacing: 0; color: var(--tinta-clara); }
.cart-nota-envio { margin-top: 0.5rem; font-size: 0.84rem; font-style: italic; color: var(--rubrica); }
.cart-total { font-family: var(--gotica); font-size: 1.7rem; color: var(--rubrica); }
.cart-total span { display: block; font-family: var(--romana); font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tinta-clara); }
.cart-pie-nota { max-width: 46rem; margin-left: auto; padding-top: 0.4rem; font-size: 0.88rem; line-height: 1.65; color: var(--tinta-clara); text-align: right; }

.product-cuenta { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 1rem; }
.product-cuenta-etiqueta { font-family: var(--romana); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tinta-clara); }
.product-ya-lleva { margin-bottom: 0.9rem; font-size: 0.86rem; font-style: italic; color: var(--tinta-clara); }
.product-ya-lleva a { color: var(--rubrica); }
.checkout-btn:disabled { opacity: 0.5; cursor: wait; }

.encargo-sello { max-width: 26rem; margin: 2rem auto 0; padding: 1.2rem 1.4rem; border: 2px solid var(--rubrica); background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino)); box-shadow: inset 0 1px 0 rgba(255,250,228,0.6), 0 8px 20px rgba(60,40,10,0.28); text-align: center; }
.encargo-sello-rotulo { display: block; font-family: var(--romana); font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tinta-clara); }
.encargo-numero { display: block; margin: 0.5rem 0 0.4rem; font-family: ui-monospace, "SFMono-Regular", "Menlo", monospace; font-size: clamp(1.5rem, 4vw, 2rem); letter-spacing: 0.14em; color: var(--rubrica); }
.encargo-sello-pie { display: block; font-size: 0.8rem; font-style: italic; color: var(--tinta-clara); }

.encargo-resumen { max-width: 820px; margin: 2.6rem auto 0; }
.encargo-titulo { font-family: var(--gotica); font-weight: 400; font-size: 1.5rem; color: var(--tinta); margin-bottom: 1rem; }
.encargo-cuentas { max-width: 22rem; margin-left: auto; padding-top: 0.6rem; }
.cart-renglon-total { padding-top: 0.6rem; margin-top: 0.4rem; border-top: 3px double var(--tinta-suave); font-size: 0.95rem; color: var(--rubrica); }
.cart-renglon-total strong { color: var(--rubrica); }
.encargo-correo, .encargo-destino, .encargo-seguimiento { margin-top: 1.2rem; font-size: 0.9rem; line-height: 1.65; color: var(--tinta-suave); }
.encargo-seguimiento a { color: var(--rubrica); }
.encargo-detenido { padding: 1rem 1.2rem; border-left: 3px solid var(--rubrica); background: rgba(143,29,19,0.07); font-style: italic; color: var(--tinta-suave); }
.encargo-acciones { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.8rem; }

.camino { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; list-style: none; margin: 0 0 2rem; padding: 0; }
.camino-paso { position: relative; padding: 0.9rem 0.6rem; text-align: center; color: var(--tinta-clara); }

.camino-paso:not(:last-child)::after { content: ""; position: absolute; top: 1.55rem; left: 60%; right: -40%; height: 2px; background: rgba(92,70,41,0.35); }
.camino-paso.cumplido:not(:last-child)::after { background: var(--rubrica); }
.camino-marca { display: grid; place-items: center; width: 2rem; height: 2rem; margin: 0 auto 0.55rem; border: 2px solid rgba(92,70,41,0.4); border-radius: 50%; background: var(--pergamino-claro); font-family: var(--gotica); font-size: 0.9rem; color: rgba(92,70,41,0.5); position: relative; z-index: 1; }
.camino-paso.cumplido .camino-marca { border-color: var(--rubrica); color: #f5e6c8; background: radial-gradient(circle at 35% 28%, #b83a25, #8f1d13 60%, #58100a); }
.camino-voz { display: block; font-family: var(--romana); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; }
.camino-paso.cumplido .camino-voz { color: var(--tinta); }
.camino-paso small { display: block; margin-top: 0.3rem; font-size: 0.76rem; font-style: italic; }
@media (max-width: 640px) {
  .camino { grid-template-columns: 1fr; gap: 0; }
  .camino-paso { display: grid; grid-template-columns: 2rem 1fr; gap: 0 0.9rem; text-align: left; padding: 0.55rem 0; }
  .camino-marca { margin: 0; grid-row: span 2; }
  .camino-paso:not(:last-child)::after { top: 2.2rem; bottom: -0.2rem; left: 0.94rem; right: auto; width: 2px; height: auto; }
  .encargo-cuentas { margin-left: 0; }
}

.success-shell { text-align: center; padding: 3.5rem 1rem; max-width: 640px; margin: 0 auto; }
.success-cross { font-family: var(--gotica); font-size: 4.6rem; color: var(--rubrica); }
.success-shell h2 { font-family: var(--gotica); font-weight: 400; font-size: clamp(1.8rem,4vw,2.6rem); color: var(--tinta); margin: 1rem 0 0.9rem; }
.success-shell p { color: var(--tinta-suave); font-style: italic; margin-bottom: 2rem; }

.chronicles-list { display: flex; flex-direction: column; gap: 1.8rem; max-width: 960px; margin: 0 auto; }
.chronicle-entry { display: grid; grid-template-columns: minmax(0,280px) 1fr; padding: 0; overflow: hidden; text-decoration: none; transition: transform 0.3s, box-shadow 0.3s; }
.chronicle-entry::before { display: none; }
.chronicle-entry:hover { transform: translateY(-4px); box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 16px 36px rgba(60,40,10,0.4); }
.chronicle-cover { position: relative; min-height: 190px; overflow: hidden; background: var(--pergamino-oscuro); }
.chronicle-cover img { display: block; width: 100%; height: auto; max-height: 320px; object-fit: contain; filter: none; }
.chronicle-entry:hover .chronicle-cover img { transform: none; filter: none; }
.chronicle-cover-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--gotica); font-size: 2.6rem; color: rgba(143,29,19,0.4); }
.chronicle-info { padding: 1.5rem 1.8rem; display: flex; flex-direction: column; gap: 0.5rem; }
.chronicle-meta { display: flex; flex-wrap: wrap; gap: 0.4rem 1.3rem; font-family: var(--romana); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tinta-clara); }
.chronicle-meta .pinned { color: var(--rubrica); }
.chronicle-info h3 { font-family: var(--titulos); font-weight: 400; font-size: 1.35rem; color: var(--tinta); transition: color 0.3s; }
.chronicle-entry:hover h3 { color: var(--rubrica); }
.chronicle-info p { color: var(--tinta-suave); font-size: 1rem; }
.chronicle-read { margin-top: auto; font-family: var(--romana); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rubrica); }

.cronica-cabecera { max-width: 820px; margin: 0 auto 2.6rem; text-align: center; }
.cronica-lema { text-align: center; font-style: italic; color: var(--text-dim); }
.cronica-pie-botones { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.8rem; margin-top: 2.5rem; }

.cronica-miniatura {
  margin: 0 0 1.8rem;
  padding: 9px;
  background: linear-gradient(150deg, #46688a, #33506b 50%, #22364a);
  border: 3px solid var(--oro-claro);
  box-shadow: inset 0 0 0 1px #6d5211, 0 14px 34px rgba(60, 40, 10, 0.45);
}
.cronica-miniatura img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  filter: saturate(1.02);
}

.cronica-cabecera-meta { justify-content: center; color: var(--tinta-clara); }
.cronica-titulo {
  font-family: var(--gotica); font-weight: 400;
  font-size: clamp(1.7rem, 4.2vw, 2.9rem);
  line-height: 1.08;
  color: var(--tinta);
  margin: 0.6rem 0 0;
  text-shadow: 0 1px 0 rgba(255, 248, 225, 0.5);
}
.cronica-titulo::first-letter { color: inherit; }

.cronica-cabecera-album {
  display: inline-flex; align-items: center; gap: 0.5rem;
  margin-top: 1rem; padding: 0.45rem 1rem;
  border: 1px solid rgba(143, 29, 19, 0.5);
  border-radius: 2px;
  background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino));
  font-family: var(--romana); font-size: 0.72rem;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--rubrica); text-decoration: none;
  transition: background 0.28s, color 0.28s, border-color 0.28s;
}
.cronica-cabecera-album:hover {
  background: radial-gradient(circle at 35% 28%, #b83a25, #8f1d13 60%, #58100a);
  border-color: #470d07;
  color: #f5e6c8;
}
.cronica-cabecera-album .icono { width: 1.05em; height: 1.05em; }

@media (max-width: 640px) {
  .cronica-miniatura { padding: 6px; border-width: 2px; }
  .cronica-miniatura img { aspect-ratio: auto; }
}
.article-body { max-width: 820px; margin: 2.4rem auto 1rem; color: var(--tinta-suave); font-size: 1.12rem; line-height: 1.8; text-align: justify; }
.article-body p:first-of-type::first-letter { font-family: var(--gotica); font-size: 3.4em; float: left; line-height: 0.78; padding: 0.05em 0.14em 0 0; color: var(--rubrica); }

body.en-tabla main {
  max-width: 980px;
  background:

    linear-gradient(90deg, rgba(8, 4, 1, 0.42) 0, transparent 150px, transparent calc(100% - 150px), rgba(8, 4, 1, 0.42) 100%),
    linear-gradient(180deg, rgba(10, 5, 2, 0.4) 0, transparent 240px, transparent calc(100% - 240px), rgba(10, 5, 2, 0.4) 100%),

    linear-gradient(180deg, rgba(10, 5, 2, 0.14), rgba(10, 5, 2, 0.2)),
    url("../images/texturas/tabla-tallada.fb78ef02e1d9.jpg") top center / 100% auto repeat-y;
  box-shadow:
    0 0 0 1px #2a1a0c,
    inset 0 0 0 1px rgba(255, 214, 150, 0.1),
    inset 0 2px 0 rgba(255, 226, 170, 0.12),
    0 30px 80px rgba(0, 0, 0, 0.9),
    0 8px 24px rgba(0, 0, 0, 0.7);
}

body.en-tabla main::before { content: none; }

body.en-tabla .cronica-hoja {
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(2rem, 4.4vw, 3.1rem) clamp(1.6rem, 4vw, 2.6rem);
  background: linear-gradient(180deg, rgba(30, 18, 9, 0.82) 0%, rgba(20, 12, 6, 0.88) 100%);
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
  border: 1px solid rgba(211, 171, 82, 0.3);
  box-shadow:
    inset 0 1px 0 rgba(255, 226, 170, 0.16),
    inset 0 0 60px rgba(0, 0, 0, 0.25),
    0 26px 60px rgba(0, 0, 0, 0.55),
    0 6px 16px rgba(0, 0, 0, 0.4);
  color: #ece1c6;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.en-tabla .cronica-hoja { background: rgba(21, 13, 6, 0.95); }
}

body.en-tabla .article-body { color: #ece1c6; }
body.en-tabla .article-body p:first-of-type::first-letter { color: #e2705a; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
body.en-tabla .cronica-titulo { color: #f7ecd2; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); }
body.en-tabla .cronica-titulo::first-letter { color: #e2705a; }
body.en-tabla .cronica-cabecera-meta { color: #cdb488; }
body.en-tabla .section-divider { color: #e2705a; }
body.en-tabla .cronica-foto figcaption { color: #cdb488; }
body.en-tabla .article-body a { color: #e8c37e; text-underline-offset: 0.15em; }
body.en-tabla .cronica-lema { color: #c9b48c; }

body.en-tabla .cronica-cabecera-album {
  background: rgba(20, 10, 4, 0.72);
  border-color: rgba(211, 171, 82, 0.5);
  color: #e8cf94;
}
body.en-tabla .cronica-cabecera-album:hover {
  background: radial-gradient(circle at 35% 28%, #b83a25, #8f1d13 60%, #58100a);
  border-color: var(--oro-claro);
  color: #fff0d2;
}

.albums-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,260px),1fr)); gap: 1.6rem; }
.album-card { padding: 0; overflow: hidden; text-decoration: none; display: block; transition: transform 0.3s, box-shadow 0.3s; }
.album-card::before { display: none; }
.album-card:hover { transform: translateY(-5px); box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 16px 34px rgba(60,40,10,0.42); }
.album-cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pergamino-oscuro); }
.album-cover img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.95); transition: transform 0.6s, filter 0.6s; }
.album-card:hover .album-cover img { transform: scale(1.06); filter: saturate(1.08); }
.album-cover-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--gotica); font-size: 2.6rem; color: rgba(143,29,19,0.4); }
.album-count { position: absolute; bottom: 10px; right: 10px; background: rgba(20,12,6,0.88); border: 1px solid var(--oro-claro); color: var(--oro-hoja); font-family: var(--romana); font-size: 0.72rem; letter-spacing: 0.1em; padding: 0.28rem 0.7rem; }
.album-info { padding: 1.2rem 1.3rem 1.3rem; }
.album-info h3 { font-family: var(--titulos); font-weight: 400; font-size: 1.12rem; color: var(--tinta); transition: color 0.3s; }
.album-card:hover .album-info h3 { color: var(--rubrica); }
.album-meta { display: flex; justify-content: space-between; gap: 1rem; margin-top: 0.5rem; font-size: 0.86rem; color: var(--tinta-clara); }
.album-meta .album-cat { color: var(--rubrica); font-style: italic; }

.photos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,220px),1fr)); gap: 1.1rem; }
.photo-frame { padding: 8px; background: linear-gradient(150deg, #46688a, #33506b 50%, #22364a); border: 2px solid var(--oro-claro); box-shadow: inset 0 0 0 1px #6d5211, 0 6px 16px rgba(60,40,10,0.4); cursor: var(--cursor-espada, zoom-in); transition: transform 0.3s; }
.photo-frame:hover { transform: translateY(-4px) rotate(-0.5deg); }
.photo-frame img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.photo-caption { font-size: 0.86rem; font-style: italic; color: var(--tinta-clara); padding: 0.5rem 0.2rem 0.2rem; text-align: center; }

.lightbox { position: fixed; inset: 0; background: rgba(8,5,2,0.95); z-index: 10001; display: none; align-items: center; justify-content: center; padding: 2rem clamp(3.8rem, 6vw, 5.4rem); cursor: var(--cursor-espada, zoom-out); }
.lightbox.open { display: flex; }

.lightbox-marco { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.6rem; max-width: 100%; min-width: 0; cursor: var(--cursor-mano, default); }

.lightbox-lienzo { position: relative; display: flex; line-height: 0; }
.lightbox img { max-width: 100%; max-height: 82vh; border: 4px solid var(--oro-claro); box-shadow: 0 0 80px rgba(0,0,0,0.8); }
.lightbox-caption { color: #e6d2a0; font-style: italic; font-size: 0.94rem; text-align: center; min-height: 1.4em; }
.lightbox-caption:empty { display: none; }

.lightbox-cerrar {
  position: absolute; display: grid; place-items: center;
  top: 1.1rem; right: 1.3rem; width: 42px; height: 42px; border-radius: 50%; font-size: 1.1rem; z-index: 2;
  background: rgba(20,12,6,0.7); border: 1px solid var(--oro-claro); color: var(--oro-hoja);
  cursor: var(--cursor-espada, pointer); transition: background 0.2s, color 0.2s, transform 0.2s;
}
.lightbox-cerrar:hover { background: rgba(20,12,6,0.92); color: #ffe6a8; }

.lightbox-flecha {
  position: absolute; top: 50%; transform: translateY(-50%);
  display: grid; place-items: center;
  width: 3rem; height: 3rem; padding: 0;
  background: none; border: none; border-radius: 0;
  font-size: 2.4rem; line-height: 1; color: var(--oro-hoja);
  text-shadow: 0 0 10px rgba(0,0,0,0.95), 0 2px 4px rgba(0,0,0,0.9);
  cursor: var(--cursor-espada, pointer); z-index: 2;
  transition: color 0.2s, transform 0.2s, text-shadow 0.2s;
}
.lightbox-flecha:hover { color: #ffe6a8; text-shadow: 0 0 14px rgba(0,0,0,0.95), 0 0 18px rgba(232,176,76,0.5); }
.lightbox-flecha-izq { right: 100%; }
.lightbox-flecha-der { left: 100%; }
.lightbox-flecha-izq:hover { transform: translate(-4px, -50%); }
.lightbox-flecha-der:hover { transform: translate(4px, -50%); }
.lightbox-flecha[hidden] { display: none; }

@media (max-width: 640px) {
  .lightbox { padding: 2rem 0.6rem; }
  .lightbox-flecha { font-size: 2rem; width: 2.6rem; }
  .lightbox-flecha-izq { right: auto; left: 0.1rem; }
  .lightbox-flecha-der { left: auto; right: 0.1rem; }
  .lightbox-flecha-izq:hover,
  .lightbox-flecha-der:hover { transform: translateY(-50%); }
}

.chapters-list { display: flex; flex-direction: column; gap: 1.2rem; max-width: 900px; margin: 0 auto; }
.chapter-item { display: grid; grid-template-columns: auto 1fr auto; gap: 1.4rem; align-items: center; padding: 1.4rem 1.6rem; transition: transform 0.3s, box-shadow 0.3s; }
.chapter-item:hover { transform: translateX(6px); box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 12px 28px rgba(60,40,10,0.38); }
.chapter-date { text-align: center; border-right: 2px solid rgba(143,29,19,0.4); padding-right: 1.4rem; min-width: 86px; }
.chapter-date .day { display: block; font-family: var(--gotica); font-size: 1.9rem; color: var(--rubrica); line-height: 1; }
.chapter-date .month { display: block; font-family: var(--romana); font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tinta-clara); margin-top: 0.3rem; }
.chapter-item h3 { font-family: var(--titulos); font-weight: 400; font-size: 1.18rem; color: var(--tinta); margin-bottom: 0.35rem; }
.chapter-item h3 .lock { color: var(--rubrica); font-size: 0.85em; }
.chapter-item p { color: var(--tinta-clara); font-size: 0.95rem; }
.chapter-actions { display: flex; flex-direction: column; gap: 0.5rem; align-items: stretch; }
.chapter-actions .btn { padding: 0.5rem 1.2rem; font-size: 0.74rem; text-align: center; }

.status-badge { display: inline-block; font-family: var(--romana); font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.22rem 0.7rem; border: 1px solid; margin-left: 0.6rem; vertical-align: middle; }
.status-scheduled { color: var(--lapis, #33506b); border-color: var(--lapis, #33506b); }
.status-finished { color: var(--tinta-clara); border-color: rgba(122,96,57,0.5); }
.status-cancelled { color: var(--rubrica); border-color: var(--rubrica); }
.status-live { color: var(--fuego); border-color: var(--fuego); animation: live 1.4s ease-in-out infinite; }
@keyframes live { 0%,100% { box-shadow: 0 0 0 0 rgba(255,156,63,0.4); } 50% { box-shadow: 0 0 0 6px rgba(255,156,63,0); } }

.jitsi-frame { padding: 8px; background: #140d07; border: 3px solid var(--oro-claro); box-shadow: inset 0 0 0 1px #6d5211, 0 16px 44px rgba(0,0,0,0.55); }
#jitsi-container { min-height: 600px; }
.room-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.6rem; }
.room-bar h2 { font-family: var(--gotica); font-weight: 400; font-size: 1.4rem; color: var(--tinta); }

.minute-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,270px),1fr)); gap: 1.4rem; margin-bottom: 2rem; }
.minute-block { padding: 1.5rem; }
.minute-block h3 { font-family: var(--romana); font-size: 0.84rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rubrica); margin-bottom: 0.8rem; }
.minute-block p, .minute-block pre { color: var(--tinta-suave); font-size: 1rem; white-space: pre-wrap; word-wrap: break-word; }
.minute-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; color: var(--tinta-clara); font-size: 0.92rem; margin-bottom: 2rem; justify-content: center; }
.minute-meta strong { color: var(--rubrica); font-weight: 600; }

details.transcription { border: 1px solid var(--tinta-suave); background: linear-gradient(180deg, var(--pergamino-claro), var(--pergamino)); margin-top: 1rem; }
details.transcription summary { font-family: var(--romana); font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rubrica); padding: 1rem 1.3rem; cursor: var(--cursor-espada, pointer); list-style: none; transition: background 0.3s; }
details.transcription summary::-webkit-details-marker { display: none; }
details.transcription summary::before { content: "▸ "; color: var(--oro); transition: transform 0.3s; display: inline-block; }
details.transcription[open] summary::before { transform: rotate(90deg); }
details.transcription summary:hover { background: rgba(143,29,19,0.06); }
details.transcription .transcription-body { padding: 0 1.5rem 1.5rem; color: var(--tinta-suave); font-size: 0.96rem; white-space: pre-wrap; max-height: 480px; overflow-y: auto; }

.council-page .page-header { background: transparent; }
.council-page .page-title { color: var(--rubrica); }
.council-page .page-title::first-letter { color: var(--tinta); }
.council-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,320px),1fr)); gap: 2.2rem; align-items: start; }
.council-heading { font-family: var(--romana); font-size: 0.92rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rubrica); border-bottom: 2px solid rgba(143,29,19,0.4); padding-bottom: 0.6rem; margin-bottom: 1.3rem; }
.decree-list, .doc-list { display: flex; flex-direction: column; gap: 0.9rem; }
.decree-card { display: block; text-decoration: none; padding: 1.3rem 1.4rem; transition: transform 0.3s, box-shadow 0.3s; }
.decree-card:hover { transform: translateX(6px); box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 10px 24px rgba(60,40,10,0.38); }
.decree-number { font-family: var(--romana); font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tinta-clara); }
.decree-card h3 { font-family: var(--titulos); font-weight: 400; font-size: 1.08rem; color: var(--tinta); margin: 0.3rem 0 0.4rem; transition: color 0.3s; }
.decree-card:hover h3 { color: var(--rubrica); }
.doc-card { display: flex; align-items: center; gap: 1.1rem; padding: 1.1rem 1.3rem; text-decoration: none; transition: transform 0.3s; }
.doc-card:hover { transform: translateX(6px); box-shadow: inset 0 1px 0 rgba(255,248,225,0.5), 0 8px 20px rgba(60,40,10,0.34); }
.doc-icon { font-size: 1.6rem; color: var(--rubrica); flex-shrink: 0; }
.doc-card h3 { font-family: var(--titulos); font-weight: 400; font-size: 1rem; color: var(--tinta); }
.doc-card small { display: block; color: var(--tinta-clara); font-size: 0.85rem; font-style: italic; margin-top: 0.2rem; }

.decree-scroll { position: relative; max-width: 820px; margin: 0 auto; padding: clamp(1.8rem,4vw,2.8rem); color: var(--tinta); background: var(--ruido), radial-gradient(130% 110% at 50% 0%, var(--pergamino-claro) 0%, #ead9ae 70%, #ddc794 100%); background-size: 260px 260px, auto; border: 1px solid var(--tinta-suave); outline: 1px solid var(--tinta-suave); outline-offset: 4px; box-shadow: 0 16px 44px rgba(60,40,10,0.34); }
.decree-scroll h2 { font-family: var(--gotica); font-weight: 400; font-size: clamp(1.5rem,3.5vw,2.1rem); color: var(--rubrica); margin: 0.4rem 0 1.2rem; }
.decree-content { color: var(--tinta-suave); font-size: 1.08rem; margin-bottom: 1.7rem; text-align: justify; }
.vote-panel { display: flex; align-items: center; justify-content: center; gap: 2.2rem; flex-wrap: wrap; border-top: 3px double var(--tinta-suave); padding-top: 1.7rem; }
.vote-count { text-align: center; font-family: var(--romana); }
.vote-count .num { display: block; font-family: var(--gotica); font-size: 2.2rem; line-height: 1; }
.vote-count .label { font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tinta-clara); margin-top: 0.4rem; display: block; }
.vote-for .num { color: #4a6b30; }
.vote-against .num { color: var(--rubrica); }
.vote-form { display: flex; gap: 1rem; }
.vote-form .btn { min-width: 150px; text-align: center; }

.nav-consejo { color: #d98a6a !important; }
.nav-consejo:hover, .nav-consejo.activa { color: #f0b497 !important; }

@media (max-width: 900px) {
  .about-layout, .product-hero, .brother-hero { grid-template-columns: 1fr; }
  .product-hero-image { position: static; }
  .chronicle-entry { grid-template-columns: 1fr; }
  .chronicle-cover { min-height: 170px; }
  .chapter-item { grid-template-columns: 1fr; }
  .chapter-date { border-right: none; border-bottom: 2px solid rgba(143,29,19,0.3); padding: 0 0 0.8rem; text-align: left; }
  .chapter-date .day, .chapter-date .month { display: inline-block; }
  .chapter-date .month { margin-left: 0.6rem; }
  .tome-page:nth-child(even), .tome-page:nth-child(odd) { margin: 0; }
  .profile-banner { flex-direction: column; text-align: center; }
  .profile-meta { justify-content: center; }
  .cart-table thead { display: none; }
  .cart-table, .cart-table tbody, .cart-table tr, .cart-table td { display: block; width: 100%; }
  .cart-table tr { border: 1px solid var(--tinta-suave); margin-bottom: 1rem; padding: 0.5rem; }
  .cart-table td { border: none; padding: 0.5rem 0.7rem; }

  .cart-table td[data-rotulo] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
  .cart-table td[data-rotulo]::before { content: attr(data-rotulo); font-family: var(--romana); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tinta-clara); }
  .cart-articulo { padding-bottom: 0.8rem; border-bottom: 1px solid rgba(92,70,41,0.3); }
  .cart-summary { justify-content: flex-start; gap: 1.2rem; }
  .cart-cuentas { margin-right: 0; width: 100%; }
  .cart-pie-nota { text-align: left; margin-left: 0; }
  .checkout-btn { width: 100%; }
}

.blason img { filter: sepia(0.18) brightness(0.95) saturate(1.05); }

.product-image { display: grid; place-items: center; }
.product-image svg.icono { width: 44%; height: 44%; color: var(--rubrica); opacity: 0.82; }

.pie {
  background-image: var(--veta), linear-gradient(180deg, #241708 0%, var(--madera-950) 100%);
  background-size: 760px 760px, auto;
}

.armorial {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem 0.2rem;
  padding: 1.5rem 1.6rem 1.1rem;
  margin: 0 0 2.6rem;

  background:
    var(--veta),
    linear-gradient(180deg, rgba(255, 206, 128, 0.07) 0%, transparent 20%),
    linear-gradient(180deg, #33220f 0%, #241708 55%, #170e05 100%);
  background-size: 760px 760px, auto, auto;
  border: 1px solid #0a0603;
  border-radius: 3px;
  box-shadow:
    inset 0 1px 0 rgba(255, 222, 150, 0.18),
    inset 0 0 0 3px rgba(109, 82, 17, 0.55),
    inset 0 0 0 4px rgba(201, 162, 39, 0.35),
    inset 0 -14px 26px rgba(0, 0, 0, 0.6),
    0 12px 28px rgba(0, 0, 0, 0.7);
}

.escudo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.42rem;
  width: clamp(74px, 8.4vw, 96px);
  padding: 0.3rem 0.2rem 0.5rem;
  text-decoration: none;
  transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.escudo:hover { transform: translateY(-5px); }

.escudo-tarja {
  position: relative;
  width: 100%;
  aspect-ratio: 100 / 116;
  filter:
    drop-shadow(0 4px 6px rgba(0, 0, 0, 0.75))
    drop-shadow(0 1px 0 rgba(255, 226, 168, 0.14));
  transition: filter 0.24s;
}
.escudo:hover .escudo-tarja {
  filter:
    drop-shadow(0 8px 12px rgba(0, 0, 0, 0.8))
    drop-shadow(0 0 10px rgba(201, 162, 39, 0.45));
}

.escudo-tarja > svg:not(.escudo-carga) { display: block; width: 100%; height: 100%; }

.escudo-carga {
  position: absolute;
  left: 50%; top: 46%;
  width: 46%; height: 46%;
  transform: translate(-50%, -50%);
  color: #f2e2b4;
  filter:
    drop-shadow(0 1px 0 rgba(0, 0, 0, 0.9))
    drop-shadow(0 -1px 0 rgba(255, 245, 214, 0.28));
  pointer-events: none;
}

.escudo-voz {
  font-family: var(--romana);
  font-size: 0.63rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  line-height: 1.2;
  text-align: center;
  color: #a98f5c;
  text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.95), 0 1px 0 rgba(255, 226, 168, 0.14);
  transition: color 0.24s, text-shadow 0.24s;
}
.escudo:hover .escudo-voz,
.escudo.activo .escudo-voz {
  color: #f0d488;
  text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.95), 0 0 10px rgba(232, 176, 76, 0.4);
}

.escudo.activo .escudo-tarja {
  filter:
    drop-shadow(0 6px 10px rgba(0, 0, 0, 0.8))
    drop-shadow(0 0 12px rgba(232, 176, 76, 0.55));
}

@media (max-width: 620px) {
  .armorial { padding: 1.1rem 0.8rem 0.8rem; gap: 0.3rem 0.1rem; }
  .escudo { width: clamp(60px, 19vw, 78px); }
  .escudo-voz { font-size: 0.56rem; letter-spacing: 0.09em; }
}

.aviso-sesion {
  margin-bottom: 1.6rem;
  padding: 1rem 1.2rem;
  border: 1px solid var(--pergamino-sombra);
  border-left: 4px solid var(--rubrica);
  border-radius: 6px;
  background: rgba(143, 29, 19, 0.06);
}
.aviso-sesion p { margin: 0; font-family: var(--manuscrito); color: var(--tinta); }
.aviso-sesion strong { color: var(--rubrica); }
.aviso-sesion small { color: var(--tinta-clara); }
.aviso-sesion-armas {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex-wrap: wrap;
  margin: 0.9rem 0 0.6rem;
}
.aviso-sesion-armas form { margin: 0; }
.aviso-sesion-nota { font-size: 0.88rem; color: var(--tinta-clara); }

.btn-sobrio {
  background: none;
  border-image: none;
  border: 1px solid var(--pergamino-sombra);
  color: var(--tinta-suave);
  filter: none;
  padding: 0.75rem 1.6rem;
}

.cronica-foto { margin: 2rem 0; }
.cronica-foto a { display: block; }
.cronica-foto img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5);
  transition: box-shadow 0.35s, transform 0.35s;
}

.cronica-foto a:hover img {
  transform: translateY(-3px);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.58), 0 0 0 2px var(--oro-claro);
}
.cronica-foto figcaption {
  margin-top: .6rem;
  font-family: var(--manuscrito);
  font-size: .9rem;
  font-style: italic;
  text-align: center;
  color: var(--text-dim, #8b8175);
}

.page-header-rollo {
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 980px);

  aspect-ratio: 1685 / 620;
  margin: 0 auto clamp(1.6rem, 4vw, 2.6rem);

  padding: 3.4% 13% 4.2%;
  background: #17110c url("../images/texturas/pergamino-boton.b724b14657c1.jpg") center / cover no-repeat;
  border-radius: 3px;
  box-shadow: 0 14px 34px rgba(30, 18, 8, 0.45);
}

.page-header-rollo .page-title {
  margin: 0;
  color: #3a2a12;
  text-shadow: 0 1px 0 rgba(255, 246, 220, 0.45);
}
.page-header-rollo .page-title::first-letter { color: inherit; }
.page-header-rollo .page-subtitle {
  margin-top: 0.35rem;
  color: #6d4b1e;
}
.page-header-rollo .page-header-cross {
  margin-bottom: 0;
  font-size: 1.7rem;
  color: var(--rubrica);
}

@media (max-width: 720px) {
  .page-header-rollo {
    aspect-ratio: auto;
    padding: 28px 20px;
  }
  .page-header-rollo .page-title { font-size: clamp(28px, 7.5vw, 36px); line-height:1.2; }
  .page-header-rollo .page-subtitle { margin-top:12px; font-size:17px; line-height:1.5; letter-spacing:.02em; text-transform:none; color:#593c20; }

  .page-header-rollo .page-header-cross { display: none; }
}

.page-header-rollo + .page-ornament,
.page-header-rollo .page-ornament { display: none; }

/* Direct links from the altar scene keep the prayer below the fixed menu. */
.prayer-card[id] { scroll-margin-top: 110px; }

/* Reading and photography use their full content, with no text clipping. */
.chronicle-info { min-width:0; }
.chronicle-info :is(h3,p),.album-info h3,.article-body,.about-text { overflow-wrap:anywhere; }
.chronicle-meta { font-size:13px; letter-spacing:.035em; line-height:1.6; }
.chronicle-info p { font-size:19px; line-height:1.65; }
.chronicle-read { font-size:14px; letter-spacing:.04em; }
.chronicle-cover-empty { position:relative; min-height:100px; }
.chronicle-entry:has(.chronicle-cover-empty) { grid-template-columns:100px minmax(0,1fr); }
.photo-ampliar { display:block; width:100%; padding:0; border:0; background:none; color:inherit; cursor:var(--cursor-espada,zoom-in); }
.photo-ampliar:focus-visible { outline:3px solid #8b2d24; outline-offset:4px; }
.photo-frame { align-self:start; background:linear-gradient(#efe0bb,#d7c096); border:1px solid #9d7b42; }
.photo-frame img { height:auto; aspect-ratio:auto; max-height:380px; object-fit:contain; }
.album-cover img { object-fit:contain; filter:none; }
.album-card:hover .album-cover img { transform:none; filter:none; }
.photo-caption { font-size:17px; line-height:1.5; color:#59412b; overflow-wrap:anywhere; }
.lightbox img { max-height:calc(100svh - 150px); max-height:calc(100dvh - 150px); width:auto; object-fit:contain; touch-action:pan-y; }
.lightbox-caption { max-width:65ch; max-height:18svh; overflow:auto; font-size:18px; line-height:1.45; }
@media (max-width:700px) {
 .chronicle-entry:has(.chronicle-cover-empty) { display:flex; flex-direction:column; }
 .chronicle-cover-empty { min-height:76px; }
 .chronicle-info h3 { font-size:22px; line-height:1.35; }
 .article-body { font-size:19px; line-height:1.75; text-align:left; }
 .cronica-cabecera-album { font-size:15px; line-height:1.5; letter-spacing:0; text-transform:none; }
 .cronica-pie-botones .btn { width:100%; }
 .empty-note { font-size:19px; line-height:1.7; }
 .lightbox-flecha { width:48px; height:48px; background:#120b07a6; }
 .lightbox-flecha-izq { left:4px; right:auto; }
 .lightbox-flecha-der { right:4px; left:auto; }
}
