.piedeobra {
  text-align: center;
  padding: 20px;
  line-height: 1.2;
  font-size: 1rem;
}

.grid-artistas .grid-item .artistasItem {
  width: 50%;
}

.piedeArtista {
  padding: 0 20px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1;
}

footer {
  background: linear-gradient(to bottom, #9b1e1a 0%,#c13b2c 100%);
  /*background: var(--bs-danger);*/
  color: var(--bs-secondary);
  z-index: 30;
  position: relative;
  box-shadow: inset 0px 12px 20px rgba(62,12,10,0.15);
}

.scrollear {
  position: fixed;
  bottom: 0;
  right: 20px;
  width: 40px;
  height: 40px;
  z-index: 25;
  cursor: pointer;
}

.cremita {
  background-color: var(--bs-secondary) !important;
}

.cremita_pez {
  background-image: url("../img/ui/pez01.svg");
  background-position: -60px 60px;
  background-repeat: no-repeat;
  background-color: var(--bs-secondary);
  background-size: contain;
}

.nara {
  background-color: var(--bs-success);
}

.nara_pez {
  background-image: url("../img/ui/pez02.svg");
  background-position: -60px 130%;
  background-repeat: no-repeat;
  background-color: var(--bs-primary);
  background-size: contain;
}

.Rojo {
  background-color: var(--bs-primary-text-emphasis) !important;
}

.blanq {
  background-color: white;
}

.avatar {
  border-radius: 50%;
  background-color: var(--bs-danger);
}

.comAut {
  color: var(--bs-secondary);
  margin-top: 15px;
}

.comBox {
  background-color: var(--bs-secondary);
  border-radius: 0px 12px 12px 12px;
  -webkit-border-radius: 0px 12px 12px 12px;
  -moz-border-radius: 0px 12px 12px 12px;
  margin-bottom: 20px;
  box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.35);
  -webkit-box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.35);
  padding: 12px;
  margin-top: 10px;
  color: var(--bs-danger);
}

.formInput {
  width: 100%;
  padding: 6px;
  margin-bottom: 10px;
  border: none;
  border-radius: 8px;
  background-color: var(--bs-danger);
  color: var(--bs-secondary);
  box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.25) inset;
  -webkit-box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.25) inset;
}

.formInput::placeholder {
  font-weight: lighter;
  opacity: 0.75;
  color: var(--bs-secondary);
  font-style: italic;
}

label {
  color: var(--bs-secondary);
}

input[type=submit] {
  color: var(--bs-success);
  padding: 6px 15px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  float: right;
  border-radius: var(--bs-border-radius-pill)!important;
  box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.35);
  -webkit-box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.35);
  background: var(--bs-secondary);
  font-weight: bold;
}

/* .desap {
  -webkit-mask-image: linear-gradient(black, transparent);
  /*mask-image: linear-gradient(black, transparent);
} */

.obraAut {
  /*font-style: italic;*/
  /*font-size: 2rem;*/
  /*color: var(--bs-success);*/
}

.obraTit {
  font-style: italic;
  font-size: 2rem;
  color: var(--bs-success);
}

.obra {
  min-height: 100vh;
  padding: 120px 20px 0px;
}

@media (min-width: 576px) {
  .obra {
    padding: 120px 40px 20px 40px;
  }
}

.figure {
}

.art_ret {
  margin-top: 0px;
  margin-right: 20px;
  z-index: 8;
  position: relative;
}

@media (min-width: 992px) {
  .art_ret {
    margin-top: -360px;
    margin-right: 40px;
  }
}

p {
  padding-bottom: 0.5rem;
  font-family: 'Raleway', sans-serif;
}

.accordion {
  --bs-accordion-btn-icon-width: 40px;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-focus-border-color: none;
  --bs-accordion-btn-focus-box-shadow: none;
}

/* Sobrescribe la redefinición de Bootstrap en ::after con especificidad mayor */
.accordion .accordion-button::after,
.accordion .accordion-button:not(.collapsed)::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3e%3ccircle fill='%23ffddae' cx='20' cy='20' r='20'/%3e%3cpath fill='%239b1e1a' d='m20.87,27.08l5.7-9.87c.38-.67-.1-1.5-.87-1.5h-11.39c-.77,0-1.25.83-.87,1.5l5.7,9.87c.48.83,1.26.83,1.73,0Z'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3e%3ccircle fill='%23ffddae' cx='20' cy='20' r='20'/%3e%3cpath fill='%239b1e1a' d='m20.87,27.08l5.7-9.87c.38-.67-.1-1.5-.87-1.5h-11.39c-.77,0-1.25.83-.87,1.5l5.7,9.87c.48.83,1.26.83,1.73,0Z'/%3e%3c/svg%3e");
}

.accordion-header {
}

.accordion-button {
  font-family: Raleway, sans-serif;
  font-size: 1.1rem;
  padding-top: 10px;
  padding-bottom: 10px;
}

.SECCS {
  font-family: 'League Spartan', sans-serif;
  padding: 30px;
  font-size: 3rem;
}

.accordion-button:focus {
  box-shadow: none;
}

.accordion-item {
  color: var(--bs-accordion-color);
  border: none !important;
  margin-bottom: 10px;
}

.noMargin {
  margin-bottom: 0px !important;
}

.accordion-body {
  padding: 0 20px;
}

.entrev {
  padding-bottom: 60px;
  color: var(--bs-secondary);
}

.preg {
  font-size: 20px;
  background-color: var(--bs-secondary);
  color: var(--bs-danger);
  border-radius: 12px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  margin-bottom: 20px;
  box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.35);
  -webkit-box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.35);
  margin-top: 40px;
  font-weight: 700;
  padding: 20px;
}

.resp {
  font-style: italic;
  padding: 0 20px;
}

.butBlanq {
  color: var(--bs-success) !important;
  background-color: white !important;
}

.butCremita {
  color: #c13b2c !important;
  background-color: var(--bs-secondary) !important;
}

.butNara {
  color: var(--bs-secondary) !important;
  background-color: var(--bs-success) !important;
}

.butRojo {
  color: var(--bs-primary) !important;
  background-color: var(--bs-primary-text-emphasis) !important;
}

.logopuerperioslide {
  position: absolute;
  z-index: 27;
  bottom: 7vh;
  right: 10vw;
  width: 62vw;
  max-width: 600px;
  filter: brightness(200%);
  opacity: 0.87;
  animation: tembladeraLogo 20s infinite;
}

.indexlogo {
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 220px;
  height: 128px;
  background-color: rgba(255,221,174,0.75);
  border-radius: 12px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  opacity: 0.87;
  animation: tembladeraLogo 20s infinite;
  z-index: 500;
  box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.35);
  -webkit-box-shadow: 1px 2px 3px 0px rgba(0,0,0,0.35);
  padding-left: 20px;
}

.indexBox {
  margin-top: -10px;
}

.titleHome {
  font-family: 'League Spartan', sans-serif;
  color: rgba(255,255,255,0.95);
  min-width: 30vw;
}

.titleInt {
  height: 80px;
  position: absolute;
  right: 30px;
  top: 30px;
  z-index: 3;
}

.nav1{position:absolute;z-index:28;top:10vh;left:38vw;animation:tembladera1 8s infinite}
.nav2{position:absolute;z-index:28;top:30vh;left:77vw;animation:tembladera2 10s infinite}
.nav3{position:absolute;z-index:28;top:46vh;left:22vw;animation:tembladera3 9s infinite}
.nav4{position:absolute;z-index:28;top:60vh;left:60vw;animation:tembladera4 7s infinite}
.nav5{position:absolute;z-index:28;top:70vh;left:26vw;animation:tembladera5 9s infinite}

@keyframes tembladera1{
0%,100%{transform:rotate(0) translateY(0) translateX(0)}
25%{transform:rotate(5deg) translateY(20px) translateX(20px)}
60%{transform:rotate(0) translateY(-20px) translateX(-20px)}
72%{transform:rotate(-5deg) translateY(20px) translateX(20px)}
}
@keyframes tembladera2{
0%,100%{transform:rotate(0) translateY(5px) translateX(3px)}
17%{transform:rotate(25deg) translateY(-5px) translateX(-8px)}
63%{transform:rotate(0) translateY(4px) translateX(9px)}
75%{transform:rotate(-35deg) translateY(-8px) translateX(-3px)}
}
@keyframes tembladera3{
0%,100%{transform:rotate(0) translateY(25px) translateX(0)}
10%{transform:rotate(-18deg) translateY(10px) translateX(34px)}
45%{transform:rotate(0) translateY(-4px) translateX(-10px)}
75%{transform:rotate(12deg) translateY(-6px) translateX(11px)}
}
@keyframes tembladera4{
0%,100%{transform:rotate(0) translateY(0) translateX(0)}
52%{transform:rotate(20deg) translateY(5px) translateX(-10px)}
57%{transform:rotate(7deg) translateY(-25px) translateX(19px)}
68%{transform:rotate(-20deg) translateY(14px) translateX(-5px)}
}
@keyframes tembladera5{
0%,100%{transform:rotate(0) translateY(0) translateX(0)}
8%{transform:rotate(12deg) translateY(6px) translateX(21px)}
75%{transform:rotate(0) translateY(-20px) translateX(-20px)}
95%{transform:rotate(-12deg) translateY(16px) translateX(14px)}
}
@keyframes tembladeraLogo{
0%,100%{transform:translateY(0) translateX(0)}
8%{transform:translateY(3px) translateX(2px)}
75%{transform:translateY(-8px) translateX(-7px)}
95%{transform:translateY(1px) translateX(2px)}
}

.destaque {
  color: var(--bs-secondary);
  font-style: italic;
  background-image: url("../img/ui/com_on.svg"), url("../img/ui/com_off.svg");
  background-position: 0 0, 100% 100%;
  background-repeat: no-repeat;
  background-size: 100px;
  font-size: 2rem;
  padding-top: 40px;
  padding-right: 40px;
  padding-bottom: 0;
  padding-left: 40px;
}

figure {
  margin: 0;
}

.destaqueCura {
  font-size: 1.62rem;
  margin: 10px 30px;
}

label {
  color: var(--bs-secondary);
}

.cont_noacc {
  padding-top: 120px;
}

.tit_noacc {
  font-family: 'League Spartan', sans-serif;
  color: var(--bs-link-color);
}

.card {
  border-radius: 12px;
  margin-bottom: 20px;
  box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.25);
  -webkit-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.25);
}

/* P13 – Nav buttons: mobile adjustments */
@media (max-width: 575px) {
  .nav2 { left: 68vw; }
  .nav4 { left: 54vw; }
  .link-main img { max-width: 52px; }
}

/* E7/P16 – Fade-in solo en galería, grid de artistas y retratos (no carousel) */
@keyframes imgFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0);   }
}
.item-galeria figure img,
.grid-artistas figure img,
.art_ret {
  animation: imgFadeIn 0.5s ease forwards;
}

/* P11 – Scrollear: hover y visibilidad */
.scrollear {
  opacity: 0;
  transition: opacity 0.35s ease, transform 0.25s ease;
}
.scrollear.visible {
  opacity: 1;
}
.scrollear:hover {
  transform: scale(1.15);
}

/* S6 – Badge "ver →" en items de galería que enlazan a páginas (no fancybox) */
.galink:not([data-fancybox]) {
  position: relative;
  display: block;
}
.galink:not([data-fancybox])::after {
  content: 'ver →';
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(155, 30, 26, 0.82);
  color: #ffddae;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 3px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.galink:not([data-fancybox]):hover::after {
  opacity: 1;
}

/* S9 – Transición de entrada y salida entre páginas
   NOTA: No usar transform en body — crearía un nuevo stacking context
   que rompería position:fixed de Fancybox y otros overlays. Solo opacity. */
@keyframes pageEnter {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes pageExit {
  to   { opacity: 0; }
}
body {
  animation: pageEnter 0.22s ease forwards;
}
body.page-exit {
  animation: pageExit 0.16s ease forwards;
  pointer-events: none;
}

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-danger);
  font-weight: bold;
  font-style: italic;
}