/* =========================================================
   TIPOGRAFÍAS GLOBALES
   Libre Bodoni (títulos / destacados)
   Inter (texto general)
   ========================================================= */

:root {
  --font-heading: "Libre Bodoni", serif;
  --font-body: "Inter", sans-serif;
}

/* Fuente base */
body {
  font-family: var(--font-body);
}

/* =========================================================
   HERO FULL WIDTH (contenedor para Revolution Slider)
   ========================================================= */

.hero-top {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 0;
  background: none;
}

/* Si ya no usas overlay / contenido manual, puedes dejar esto o eliminar los nodos en el HTML */
.hero-overlay,
.hero-content {
  display: none;
}

/* =========================================================
   NAVBAR / HEADER FRACTAL
   ========================================================= */

.navbar-main {
  background: #ffffff;
  border: 0;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  border-radius: 0;
  margin-bottom: 0;
  font-family: var(--font-body);
  transition:
    box-shadow 0.3s ease,
    background-color 0.3s ease,
    padding 0.3s ease;
}

.custom-logo-link img {
  max-height: 30px;
}

/* Cuando NO es home y el header va fijo arriba */
body:not(.home) > .site-main.site-main--inner {
  margin-top: 70px;
  
}

/* Elemento fantasma para sticky nav en home */
.navbar-placeholder {
  height: 0;
}

/* NAVBAR fija con sombra */
.navbar-main.is-fixed {
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* --- BASE MOBILE FIRST --- */

.navbar-main .container {
  /* en mobile dejamos layout clásico; flex solo en desktop */
  display: block;
}

/* header: logo + hamburguesa en la misma línea */
.navbar-main .navbar-header {
  float: none;
  display: flex;
  align-items: center;
  padding-right: 0;
}

/* botón hamburguesa a la derecha */
.navbar-main .navbar-toggle {
  margin-right: 0;
  margin-left: auto;
}

/* logo */
.navbar-main .navbar-brand {
  padding: 10px 0;
  height: auto;
  line-height: 1.2;
}

.navbar-main .navbar-brand img {
  max-height: 40px;
  width: auto;
}
.grecaptcha-badge{
	display:none !important;
}
/* textos del logo (si los usas) */
.navbar-main .brand-main {
  display: block;
  font-family: var(--font-heading);
  font-size: 18px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.navbar-main .brand-sub {
  display: block;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.navbar-extra img {
  max-height: 30px;
}

/* menú UL */
.main-nav-menu {
  float: none;
  margin: 0;
  padding: 0;
}
.lang-switcher a {
  color: #000;
  text-decoration: none;
  opacity: 0.55;
}

.lang-switcher a:hover {
  opacity: 1;
}

.lang-switcher .active {
  color: #000;
  font-weight: 700;
}
/* estilos de links (valen para desktop y mobile) */
.main-nav-menu > li > a {
  padding: 14px 15px;
  font-family: var(--font-body);
  font-size: 14px;
  letter-spacing: 0.14em;
  color: #111111;
}

.navbar-default .navbar-nav > li > a {
  color: #000;
}

.main-nav-menu > li > a:hover,
.main-nav-menu > li.current-menu-item > a {
  background: none;
  color: #000;
}

/* ICONOS DERECHA (buscar / carrito) */
.navbar-extra {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 15px;
  border-top: 1px solid #e6e6e6;
}

.nav-icon {
  position: relative;
  border: 0;
  background: none;
  padding: 0 6px;
  cursor: pointer;
}
.white{
  color: #c2c2c2;
}
.white:hover{
  color: #c2c2c2;
  font-weight: bold;
}
.nav-icon .nav-icon__svg {
  display: block;
  width: 18px;
  height: 18px;
}

/* contador de carrito */
.nav-icon--bag .cart-count {
  position: absolute;
  top: -5px;
  right: -3px;
  min-width: 16px;
  padding: 1px 5px;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: 10px;
  line-height: 1.4;
  text-align: center;
}

/* ============ NAV MÓVIL SEPARADO ============ */

.navbar-main-mobile {
  background: #ffffff;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  border-radius: 0;
  margin-bottom: 0;
  font-family: var(--font-body);
}

.navbar-main-mobile .container {
  padding-left: 15px;
  padding-right: 15px;
}

/* fila superior: logo izquierda, iconos + hamburguesa derecha */
.mobile-nav-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* logo */
.mobile-brand img {
  max-height: 32px;
  width: auto;
}

/* lado derecho: iconos + hamburguesa */
.mobile-nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* reutilizamos .navbar-extra pero lo limpiamos para móvil */
.navbar-main-mobile .navbar-extra {
  padding: 0;
  border: 0;
}

/* hamburger */
.mobile-nav-toggle {
  border: 0;
  background: #f2f2f2;
  padding: 6px 10px;
  border-radius: 4px;
}

.mobile-nav-toggle .icon-bar {
  display: block;
  width: 18px;
  height: 2px;
  margin: 3px 0;
  background-color: #555;
}

/* menú desplegable */
.mobile-nav-menu {
  display: none;
  border-top: 1px solid #e6e6e6;
}

.mobile-main-menu {
  list-style: none;
  margin: 0;
  padding: 10px 0 15px;
}

.mobile-main-menu > li > a {
  display: block;
  padding: 8px 15px;
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: none;
  color: #111;
}

/* iconos */
.navbar-main-mobile .nav-icon__svg {
  max-height: 22px;
}

/* que no afecte escritorio */
@media (min-width: 768px) {
  .navbar-main-mobile {
    display: none !important;
  }
}

/* por si acaso: asegúrate de que el nav desktop sí esté oculto en XS */
@media (max-width: 767px) {
  .navbar-main--desktop {
    display: none !important;
  }
  .mobile-nav-top{
       display: inline-block;
      margin-top: 18px;
              width: 100%;
  }
  .navbar-brand.mobile-brand{
    padding: 0px;
  }
  .mobile-nav-right{
    float:right;
  }
}

/* Header móvil fijo: compensar altura con margin-top en el contenido */
@media (max-width: 767px) {

  .navbar-main-mobile.navbar-fixed-top {
    z-index: 9999;
  }

  body.home .site-main {
    margin-top: 20px;
  }
  .section-intro__texto p{
    padding-right: 0px !important;
  }
  .section-intro__imagen img{
    padding: 0px !important;
  }
  body:not(.home) > .site-main.site-main--inner {
    margin-top: 20px;
  }
  .section-quienes .row div{
    padding: 0px 30px 0px 30px !important;
  }
  .section-quienes p{
    font-size: 21px !important;
  }
  .section-blog__btn{
    margin-top: 40px;
  }
  .section-newsletter p{
    width: 100%;
    font-size: 20px;
  }
  .navbar-extra{
    gap:0px !important;
  }
}


/* =========================================================
   LAYOUT HEADER DESKTOP (>=768px)
   ========================================================= */
@media (min-width: 768px) {

  /* contenedor como flex solo en desktop */
  .navbar-main .container {
    display: flex;
    align-items: stretch;
  }

  .navbar-main .navbar-header {
    border-right: 1px solid #000000;
    padding-right: 25px;
  }

  /* el collapse se vuelve un contenedor flex horizontal */
  .navbar-main .navbar-ex1-collapse {
    float: none;
    display: flex !important;  /* aquí sí, porque en desktop nunca colapsa */
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    padding: 0;
  }

  .main-nav-menu {
    display: flex;
    align-items: stretch;
    padding: 0 30px;
    border-right: 1px solid #000000;
  }

  .main-nav-menu > li > a {
    padding: 24px 12px;
  }

  .navbar-extra {
    padding: 0 0 0 24px;
    border-top: 0;
  }
}

/* =========================================================
   AJUSTES EXTRA MOBILE (<768px)
   ========================================================= */
@media (max-width: 767px) {
  /* que el menú colapsado use el borde inferior */
  .navbar-main {
    border-bottom: 1px solid #000000;
  }

  .navbar-main .navbar-header {
    border-right: none;
    padding: 0 15px;
    justify-content: space-between;
  }

  .navbar-main .navbar-ex1-collapse {
    /* aquí NO tocamos display; bootstrap controla open/close */
    border-top: 1px solid #e6e6e6;
  }

  .main-nav-menu {
    border-right: none;
  }
}


/* =========================================================
   LAYOUT GENERAL
   ========================================================= */

.container {
  margin: 0 auto;
}

/* Ajustes responsivos básicos del hero (si en algún momento vuelves a usar texto dentro) */
@media (max-width: 767px) {
  .hero-content h1 {
    font-size: 2rem;
  }

  .hero-content p {
    font-size: 1rem;
  }
}

/* Responsive header / menú en móvil */
@media (max-width: 767px) {
  .navbar-main .container {
    display: block;
  }

  .navbar-main .navbar-header {
    border-right: none;
    padding-right: 0;
  }

  .main-nav-menu {
    display: block;
    border-right: none;
    padding: 0;
  }

  .navbar-extra {
    padding: 10px 15px;
    border-top: 1px solid #e6e6e6;
  }
}
.wpcf7 form.sent .wpcf7-response-output{
	border-color: transparent !important;
}
/* =========================================================
   HOME FRACTAL – ESTILOS GENERALES
   ========================================================= */

.home-fractal {
  background-color: #ffffff;
  color: #222222bf;
  font-family: var(--font-body);
}

.content section {
  padding: 60px 0 !important;
}

.section-title {
  font-family: var(--font-heading);
  font-weight: 500;
  font-size: 43px;
  margin-bottom: 50px;
  color: #111;
}

/* Botones generales del home */
.btn-default,.wc-block-components-button__text {
  border-radius: 0;
  border-color: #111;
  color: #FFFFFF;
  padding: 5px 21px;
  font-size: 15px;
  font-weight: normal;
  background-image: none;
  background-color: black;
  box-shadow: none;
  text-shadow: none;
  font-family: var(--font-body);
}


.btn-default:hover,
.btn-default:focus,.wc-block-components-button__text:hover,.wc-block-components-button__text:focus {
  border-color: #000000;
  color: #000000;
  padding: 5px 21px;
  font-size: 15px;
  font-weight: normal;
  background-image: none;
  background-color: white;
  box-shadow: none;
  text-shadow: none;
}

.home-fractal .btn-link {
  padding-left: 0;
  padding-right: 0;
  color: #111;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.home-fractal .btn-link:hover,
.home-fractal .btn-link:focus {
  text-decoration: none;
  color: #000;
}

/* =========================================================
   SECTION INTRO (Arte contemporáneo) – layout con overlap
   ========================================================= */

.section-intro {
  background-color: #ffffff;
  padding: 100px 0;
  position: relative;
  overflow: visible;
}

/* Usamos flex para controlar mejor el overlap */
.section-intro .row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

/* COLUMNA DE TEXTO */
.section-intro__texto {
  position: relative;
  z-index: 2;
 max-width: 491px;
 
  
}

.section-intro__texto h2 {
      font-family: var(--font-heading);
    font-size: 43px;
    font-weight: 600;
        line-height: 1.24;
    margin: 0 0 24px;
    color: #111;
    background-color: rgb(255 255 255 / 63%);
    padding: 0px 15px 0px 0px;
    display: inline;
    letter-spacing: -2px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.section-intro__imagen img{
  padding: 0px 71px 0px 0px;
}
.section-intro__texto p {
  font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 24px;
}

.section-intro__texto .btn {
  margin-top: 4px;
}

/* COLUMNA DE IMAGEN */
.section-intro__imagen {
  position: relative;
  z-index: 1;
  margin-left: -108px; /* mueve la imagen a la izquierda para que se meta bajo el texto */
  flex: 1;
}

.section-intro__imagen figure {
  margin: 0;
}

.section-intro__imagen img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}
.section-intro__texto p{
   padding-right: 123px;
    margin-top: 16px;
}

/* =========================================================
   NEWSLETTER FULL WIDTH (para archivos / interiores)
   ========================================================= */

.section-newsletter--full {
  /* sacamos el bloque del ancho del .container */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  /* que el fondo cubra todo el viewport horizontal */
  padding-top: 60px;
  padding-bottom: 60px;
}

/* Opcional: en móvil puedes ajustar un poco el padding */
@media (max-width: 767px) {
  .section-newsletter--full {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}


/* =========================================================
   SECTION QUIÉNES SOMOS
   ========================================================= */

.section-quienes {
  background-color: #f7f7f7;
}
.section-quienes .row{
  margin-bottom: 30px;
}
.section-quienes .row div{
  padding: 0px 70px 0px 70px;
}
.section-quienes p {
  font-family: var(--font-body);
  font-size: 26px;
  line-height: 1.8;
  
  margin-bottom: 15px;
      font-weight: 300;s
}

.section-quienes__btn {
  margin-top: 25px;
}
.vc_row{
  padding:0px !important;
}
/* =========================================================
   SECTION CÓMO FUNCIONA
   ========================================================= */

.section-como-funciona {
  background-color: #ffffff;
}

.section-como-funciona__paso {
  margin-bottom: 30px;
}

.paso-numero {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 65px;
  font-weight: 500;
  color: #c8c8c8;
  margin-bottom: 10px;
}

.section-como-funciona__paso h3 {
  font-family: var(--font-body);
    font-size: 22px;
    margin-bottom: 10px;
    font-weight: bold;
    padding: 3px 0px 10px 0px;
    color: #111;
}

.section-como-funciona__paso p {
  font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.3;
    color: #555;
    padding: 0px 35px 0px 35px;
}

/* =========================================================
   SECTION OBRAS DESTACADAS
   ========================================================= */

.section-obras-destacadas {
  background-color: #ffffff;
}

.obras-grid {
  margin-bottom: 25px;
}

.obra-item {
  margin-bottom: 30px;
}

.obra-item__thumb {
  display: block;
 margin-bottom: 30px;
}

.obra-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.obra-item__content {
  text-align: center;
}

.obra-item__title {
     font-family: var(--font-heading);
    font-size: 16px;
    margin-bottom: 5px;
    font-weight: bold;
    color: #000000;
}

.obra-item__artist {
  font-family: var(--font-body);
  font-size: 12px;
  color: #777;
  margin-bottom: 15px;
}

/* =========================================================
   SECTION ARTISTAS (slider)
   ========================================================= */
.page-header{
  border-bottom: 0px;
}
.section-artistas {
 
}

.artistas-slider {
  margin-bottom: 40px;
}

.artista-slide {
  padding: 0 10px;
  outline: none;
}
.artista-slide img{
  width:100%;
}

.artista-slide__inner {
  display: block;
  text-align: center;
}

.artista-slide__img {
  display: block;
  margin: 0 auto;
}

.artista-slide__info {
  display: inline-block;
  background-color: #ffffff;
  padding: 18px 32px;
  width: 100%;
}

.artista-slide__name {
  font-family: var(--font-heading);
  font-size: 18px;
  margin: 0;
  color: #111;
}
/* =========================================================
   ARCHIVE ARTISTAS
   ========================================================= */

.page-artistas .section-artistas {
  
}

/* Margen general del bloque dentro del archive */
.page-artistas .section-artistas .container {
 
}

/* Grid de artistas en archive */
.artistas-grid--archive {
  margin-top: 30px;
}

/* Cada item de artista */
.artista-item {
  margin-bottom: 40px;
  text-align: center;
}

.artista-item__thumb {
  display: block;
  margin-bottom: 15px;
}

.artista-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
}


.artista-item__name {
  font-family: var(--font-heading);
  font-size: 18px;
  margin: 0 0 4px;
  color: #111;
}

.artista-item__name a {
  color: inherit;
  text-decoration: none;
}

.artista-item__name a:hover,
.artista-item__name a:focus {
  text-decoration: underline;
}

.artista-item__role {
  font-family: var(--font-body);
  font-size: 13px;
  color: #777;
  margin: 0;
}

.artistas-pagination {
  margin: 20px 0 60px;
}

.artistas-pagination .pagination {
  margin: 0;
}

/* =========================================================
   SECTION SPOTS (slider)
   ========================================================= */

.section-spots {
  background-color: #ffffff;
}

.spots-slider {
  margin-bottom: 40px;
}

.spot-slide {
  padding: 0 10px;
  text-align: center;
}

.spot-slide__inner img {
  display: block;
  margin: 0 auto 10px;
}

.spot-slide__title {
  font-family: var(--font-heading);
  font-size: 17px;
  color: #000000;

}

/* =========================================================
   Ajustes genéricos Slick
   ========================================================= */

.artistas-slider .slick-slide,
.spots-slider .slick-slide,
.obras-grid .slick-slide  {
  outline: none;
}

.artistas-slider .slick-prev,
.artistas-slider .slick-next,
.spots-slider .slick-prev,
.spots-slider .slick-next,.obras-grid .slick-prev,
.obras-grid .slick-next {
  width: 32px;
  height: 32px;
  z-index: 2;
}

.artistas-slider .slick-prev:before,
.artistas-slider .slick-next:before,
.spots-slider .slick-prev:before,
.spots-slider .slick-next:before,.obras-grid .slick-prev:before,
.obras-grid .slick-next:before {
  font-size: 26px;
  color: #999;
}

/* =========================================================
   SECTION BLOG (home)
   ========================================================= */

.section-blog {
  background-color: #ffffff;
}

.blog-item {
  margin-bottom: 30px;
}

.blog-item__thumb {
  display: block;
  margin-bottom: 15px;
}

.blog-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.blog-item__title {
  font-family: var(--font-heading);
    font-size: 18px;
    color: #111;
    text-align: left;
    margin-bottom: 35px;
}
.blog-item__content{
text-align: center;
}
.blog-item__title a {
  color: inherit;
}

.blog-item__title a:hover,
.blog-item__title a:focus {
  text-decoration: none;
  color: #000;
}

.blog-item__excerpt {
  font-family: var(--font-body);
  font-size: 13px;
  color: #666;
  line-height: 1.7;
  margin-bottom: 10px;
}

/* =========================================================
   SECTION NEWSLETTER (home)
   ========================================================= */

.section-newsletter {
  background-color: #f7f7f7;
  text-align: center;
}

.section-newsletter h3 {
  font-family: var(--font-heading);
  font-size: 18px;
  margin-bottom: 8px;
}

.section-newsletter p {
  width: 50%;
    font-family: var(--font-heading);
    font-size: 20px;
    margin: 0px auto;
    margin-bottom: 31px;
    color: #000000;
}



.newsletter-form .form-group {
  margin-bottom: 10px;
}

.newsletter-form .form-control {
  border-radius: 0;
  border-color: #ccc;
  height: 38px;
  font-family: var(--font-body);
  font-size: 13px;
}

/* =========================================================
   BLOG ARCHIVE
   ========================================================= */

.blog-archive-header {
  margin: 60px 0 40px;
}

.blog-archive-title {
  font-family: var(--font-heading);
  font-size: 40px;
  font-weight: 500;
  margin: 0;
}

.blog-grid {
  margin-bottom: 50px;
}

.blog-grid-item {
  margin-bottom: 60px;
}

.blog-grid-item__thumb {
  display: block;
  margin-bottom: 20px;
}

.blog-grid-item__title {
  font-family: var(--font-heading);
  font-size: 20px;
  margin-bottom: 10px;
}

.blog-grid-item__title a {
  color: #000;
  text-decoration: none;
}

.blog-grid-item__title a:hover {
  text-decoration: underline;
}

.blog-grid-item__excerpt {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.blog-grid-item__btn .btn {
  padding: 8px 24px;
}

/* Botón "Cargar más" */
.blog-archive-pagination {
  margin-bottom: 80px;
}

.blog-archive-pagination .btn-load-more {
  padding: 8px 30px;
}

/* Newsletter al final del blog */
.blog-newsletter {
  padding: 60px 0;
  background-color: #f6f6f6;
}

.blog-newsletter h3 {
  font-family: var(--font-heading);
  font-size: 20px;
  max-width: 640px;
  margin: 0 auto 20px;
}

/* =========================================================
   SINGLE BLOG
   ========================================================= */

.single-blog-hero {
  margin-top: 60px;
  margin-bottom: 40px;
}

.single-blog-hero img {
  width: 100%;
  height: auto;
  display: block;
}

.single-blog-header {
  margin-bottom: 30px;
}

.single-blog-title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
  margin: 0;
}

.single-blog-article {
  margin-bottom: 60px;
}

.single-blog-content {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.8;
}

.single-blog-content p {
  margin-bottom: 16px;
}

/* Newsletter al final del post */
.single-blog-newsletter {
  padding: 60px 0;
  background-color: #f6f6f6;
}

.single-blog-newsletter h3 {
  font-family: var(--font-heading);
  font-size: 20px;
  max-width: 640px;
  margin: 0 auto 20px;
}

/* =========================================================
   MERCH ARCHIVE
   ========================================================= */

.merch-header {
  margin-top: 60px;
  margin-bottom: 40px;
}

.merch-title {
  font-family: var(--font-heading);
  font-size: 43px;
  font-weight: 500;
  margin: 0;
}

.merch-grid {
  margin-bottom: 40px;
}

.merch-item {
  text-align: center;
  margin-bottom: 60px;
}

.merch-thumb img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 15px;
}

/* placeholder gris por si un producto no tiene imagen */
.merch-thumb__placeholder {
  width: 100%;
  padding-top: 70%;
  background: #f2f2f2;
  margin-bottom: 15px;
}

.merch-name {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  margin: 0 0 5px;
}

.merch-price {
  font-family: var(--font-body);
  font-weight: 600;
  margin-bottom: 10px;
}

.merch-buy {
  padding: 6px 24px;
}

/* Paginación tipo 1 2 3 centrada */
.merch-pagination ul {
  list-style: none;
  padding: 0;
  margin: 20px auto 60px;
  display: inline-flex;
  gap: 8px;
}

.merch-pagination li {
  display: inline-block;
}

.merch-pagination a,
.merch-pagination span {
  display: block;
  padding: 4px 8px;
  border: 1px solid #000;
  font-size: 13px;
  text-decoration: none;
}

.merch-pagination .current {
  background: #000;
  color: #fff;
}

/* =========================================================
   GALERÍA PRODUCTO WOOCOMMERCE
   ========================================================= */

.woocommerce-product-gallery {
  max-width: 100%;
  position: relative;
}

/* Lupita */
.woocommerce-product-gallery__trigger {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.woocommerce-product-gallery__trigger:hover {
  background: rgba(0,0,0,0.85);
}

/* Icono */
.woocommerce-product-gallery__trigger img {
  width: 18px;
  height: 18px;
}

/* Lista de miniaturas: en fila horizontal */
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin-top: 10px;
  padding: 0;
  list-style: none;
}

/* Cada li de miniatura */
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
  margin: 0;
  width: 33.3%; /* 4 thumbs por fila */
}
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img.flex-active{
	border:1px solid #a19d9d;
}
/* Imagen de la miniatura */
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img {
  width: 100%;
  height: auto;
  display: block;
}
#menu-menu-1 .current-menu-item{
	font-weight:bold;
}
/* En móvil, 3 miniaturas por fila */
@media (max-width: 767px) {
  .single-product div.product
  .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
    width: 33.3333%;
  }
	#section-primera .wpb_column.vc_column_container.vc_col-sm-4,#section-primera .wpb_column.vc_column_container.vc_col-sm-8{
		padding-left:15px !important;
		padding-right:15px !important;
	}
	.page-id-9 h1{
		font-size: 35px !important;
	}
	.page-id-511 h1{
		font-size: 35px !important;
	}
}

/* =========================================================
   ARTISTA – GRID ESTÁTICO OBRAS
   ========================================================= */

.artista-obras-grid {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 40px;
}

.artista-obras-grid .artista-obra-item {
  width: 50%; /* col-md-6 */
  max-width: 520px;
}

/* Caso 1 sola obra */
.artista-obras-grid--single .artista-obra-item {
  width: 50%;
  margin: 0 auto;
}

/* Mobile */
@media (max-width: 768px) {
  .artista-obras-grid {
    flex-direction: column;
    align-items: center;
  }

  .artista-obras-grid .artista-obra-item {
    width: 100%;
    max-width: 100%;
  }
}


/* =========================================================
   OBRAS – ARCHIVE (page-obras)
   ========================================================= */

.obras-archive {
  background-color: #ffffff;
}

/* Título "Obras" */
.obras-header,.artista-header {
  margin: 60px 0 30px;
}

.obras-title {
  font-family: var(--font-heading);
  font-size: 43px;
  font-weight: 500;
  margin: 0;
  color: #111;
}

/* ---------- Barra de filtros ---------- */

.obras-filters {
  background-color: #f7f7f7;
  margin-bottom: 50px;
}

.obras-filters__inner {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  padding: 22px 40px;
  position: relative;
}

.obras-filters__grupo {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.obras-filters__titulo {
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 6px;
  color: #111;
}

/* Opciones (radio) en columna como en el layout */
.obras-filters__item {
  display: block;
  font-family: var(--font-body);
  font-size: 13px;
  cursor: pointer;
}

.obras-filters__item input[type="radio"] {
  margin-right: 6px;
}

/* Botón X de limpiar filtros */
.obras-filters__reset {
  position: absolute;
  right: 25px;
  top: 18px;
  width: 22px;
  height: 22px;
  border-radius: 0;
  border: 0;
  background-color: #000;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}

.obras-filters__reset:hover {
  background-color: #333;
}

/* Responsive filtros */
@media (max-width: 767px) {
  .obras-filters__inner {
    flex-direction: column;
    gap: 20px;
    padding: 18px 20px 24px;
  }

  .obras-filters__reset {
    right: 15px;
    top: 15px;
  }
}


.obras-results .obras-grid {
  margin-bottom: 40px;
}

.obras-results .obra-item {
  margin-bottom: 50px;
  text-align: center;
	min-height: 363px;
}

/* Si tus columnas vienen con Bootstrap (col-sm-4), esto solo asegura consistencia visual */
.obras-results .obra-item__thumb {
  display: block;
  margin-bottom: 18px;
}

.obras-results .obra-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

/* Título y artista reutilizan el estilo del home */
.obras-results .obra-item__title {
  font-family: var(--font-heading);
  font-size: 16px;
  margin-bottom: 4px;
  font-weight: bold;
  color: #000;
}

.obras-results .obra-item__artist {
  font-family: var(--font-body);
  font-size: 12px;
  color: #777;
}

/* ---------- Paginación tipo 1 2 3 centrada (similar a merch) ---------- */

.obras-pagination ul {
  list-style: none;
  padding: 0;
  margin: 20px auto 60px;
  display: inline-flex;
  gap: 8px;
}

.obras-pagination li {
  display: inline-block;
}

.obras-pagination a,
.obras-pagination span {
  display: block;
  padding: 4px 8px;
  border: 1px solid #000;
  font-size: 13px;
  text-decoration: none;
  color: #000;
}
.obras-pagination .current a{
  color: #ffffff !important;
}
.obras-grid h2{

}
.obras-pagination .current {
  background: #000;
  color: #fff;
}

/* Si fractal_render_obras_grid usa .woocommerce-pagination, puedes mapearla: */
.woocommerce-pagination.obras-pagination {
  text-align: center;
}


/* =========================================================
   FIX FICHA DE OBRA / PRODUCTO
   (colocar AL FINAL del CSS)
   ========================================================= */

/* 1) Recuperar tipografías de títulos dentro de páginas Woo */

.woocommerce-page .section-title,
.woocommerce-page .obra-meta p strong,
.woocommerce-page .merch-precio::before,
.woocommerce-page .obra-precio::before {
  font-family: var(--font-body);
}

/* refuerzo extra por si algún plugin añade estilos propios */
.woocommerce-page .obra-titulo,
.woocommerce-page .merch-titulo {
  font-family: var(--font-body);
}

/* 2) Hacer el video más grande y responsivo (16:9) */

.obra-video__wrapper {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  height: 550px;
}

.obra-video__wrapper iframe,
.obra-video__wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/* 3) Botón de WooCommerce con el estilo negro Fractal */

.single-product .single_add_to_cart_button,
.single-product .single_add_to_cart_button.button,
.single-product .single_add_to_cart_button.button.alt {
  border-radius: 0;
  border: 1px solid #111111;
  background-color: #111111;
  color: #ffffff;
  padding: 8px 28px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 400;
  text-transform: none;
  box-shadow: none;
  text-shadow: none;
}

.single-product .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:focus {
  background-color: #ffffff !important;
  color: #111111 !important;
  border-color: #111111 !important;
}
.obra-precio-compra .cart .quantity{
  display: inline-block !important;
}
.obra-precio-compra .stock.in-stock{
display:none !important;	
}
/* Cantidad alineada al diseño */
.single-product .quantity .qty {
  width: 60px;
  height: 33px;
  border-radius: 0;
  margin-right: 10px;
}



/* =========================================================
   FOOTER FRACTAL
   ========================================================= */
.site-footer {
  background-color: #222222; /* similar al screenshot */
  color: #ffffff;
  font-family: var(--font-body);
  margin-top: 0;
}

.footer-social-icons img{

}

/* Franja principal */
.site-footer .footer-main {
  padding: 35px 0 30px;
}

.site-footer .footer-col {
  margin-bottom: 20px;
}

/* Col logo */
.footer-col--logo img {
  max-width: 180px;
  height: auto;
}

/* Menús columnas */
.footer-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-nav--col > li {
  display: block;
  margin: 0 0 4px;
}

.footer-nav--col > li > a {
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.footer-nav--col > li > a:hover,
.footer-nav--col > li > a:focus {
  color: #dddddd;
}

/* Pagos + Redes */
.footer-col--extra {
  text-align: left;
  font-size: 13px;
}

.footer-payments {
  margin-bottom: 14px;
}

.footer-payments-label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: #f5f5f5;
}

.footer-payments img {
  max-height: 28px;
  margin-right: 10px;
  margin-top: 8px;
}

/* Redes sociales */
.footer-social-title {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  color: #f5f5f5;
}

.footer-social-icons {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-social-link img {
  width: 24px;
  height: 24px;
  display: block;
}

/* Franja inferior de copyright */
.footer-bottom {
  border-top: 1px solid #333333;
  padding: 12px 0 14px;
  font-size: 11px;
  text-align: center;
  color: #b3b3b3;
}

/* Responsive footer */
@media (max-width: 767px) {
  .footer-col--logo,
  .footer-col--nav,
  .footer-col--extra {
    text-align: left;
    margin-bottom: 20px;
  }

  .footer-col--logo img {
    margin-bottom: 10px;
  }
	.obras-results .obra-item{
		min-height: auto;
	}
}

.whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  
  text-decoration: none;
}

.whatsapp-float img {
  width: 45px;
  height: 45px;
  display: block;
}




/* =========================================================
   RESPONSIVE GENERAL
   ========================================================= */

@media (max-width: 991px) {
  /* Intro: en tablet/móvil mediano ya dejamos de solapar tanto */
  .section-intro {
    padding: 60px 0;
  }

  .section-intro .row {
    display: block;
  }

  .section-intro__texto {
    max-width: 100%;
    padding: 0 15px 25px 15px;
  }

  .section-intro__texto h2 {
    font-size: 28px;
  }

  .section-intro__texto p {
    font-size: 14px;
  }

  .section-intro__imagen {
    margin-left: 0;
    margin-top: 10px;
  }

  .section-intro__imagen::before {
    display: none;
  }
}

@media (max-width: 767px) {
  .home-fractal section {
    padding: 40px 0;
  }

  .section-title {
    font-size: 30px;
    margin-bottom: 25px;
  }

  .section-quienes p {
    margin-bottom: 10px;
  }

  .section-como-funciona__paso {
    margin-bottom: 25px;
  }

  .blog-item {
    margin-bottom: 35px;
  }
}


/* =========================================================
   SINGLE ARTISTA – LAYOUT GENERAL
   ========================================================= */

.artista-single {
  
  padding-bottom: 80px;
}

/* Cabecera: nombre del artista */
.artista-header {
  margin-bottom: 20px;
}

.artista-titulo {
  font-family: var(--font-heading);
  font-size: 46px;
  font-weight: 600;
  line-height: 1.1;
  margin: 0;
  color: #111111;
}

/* Imagen principal */
.artista-hero-imagen {
  margin: 35px 0 55px;
}

.artista-hero-imagen img {
  display: block;
  width: 100%;
  height: auto;
}

/* Texto intro "Su obra construye..." */
.artista-intro {
  
  margin-bottom: 35px;
}

.artista-intro__texto {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.7;
  font-weight: 600;
  color: #111111;
  
  margin: 0 auto;
}

/* Bio en dos columnas */
.artista-bio {
  margin-bottom: 70px;
}

.artista-bio__col {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.9;
  color: #333333;
}

.artista-bio__col p {
  margin-bottom: 16px;
}

/* En móvil, la bio se apila y se respira un poco más */
@media (max-width: 767px) {
  .artista-single {
    padding-top: 40px;
    padding-bottom: 50px;
  }

  .artista-titulo {
    font-size: 34px;
  }

  .artista-hero-imagen {
    margin: 25px 0 35px;
  }

  .artista-intro__texto {
    font-size: 16px;
    padding: 0 15px;
  }

  .artista-bio {
    margin-bottom: 50px;
  }
}

/* =========================================================
   SINGLE ARTISTA – OBRAS DEL ARTISTA
   ========================================================= */

.artista-obras {
  padding-top: 10px;
  padding-bottom: 60px;
}

.artista-obras .section-title {
  margin-bottom: 40px;
}

/* Items dentro del slider / grid */
.artista-obra-item {
  text-align: center;
  padding: 0 15px;
}

.artista-obra-item__thumb {
  display: block;
  margin-bottom: 18px;
}

.artista-obra-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.artista-obra-item__title {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 6px;
  color: #000000;
}

.artista-obra-item__title a {
  color: inherit;
  text-decoration: none;
}

.artista-obra-item__title a:hover {
  text-decoration: underline;
}

.artista-obra-item__price {
  font-family: var(--font-body);
  font-size: 13px;
  color: #555555;
  margin: 0 0 14px;
}

/* Botón "Conocer más" ya hereda .btn-default */
/* Solo ajustamos tamaño para esta sección */
.artista-obra-item .btn.btn-default.btn-sm {
  padding: 6px 26px;
  font-size: 13px;
}

/* Ajustes cuando NO es slider (1–2 obras → grid estático) */
.artista-obras-grid {
  margin-top: 10px;
}

.artista-obras-grid .artista-obra-item {
  max-width: 380px;
}

/* Flechas de Slick centradas verticalmente como en la referencia */
.artista-obras .slick-prev,
.artista-obras .slick-next {
  width: 32px;
  height: 32px;
  z-index: 2;
}

.artista-obras .slick-prev:before,
.artista-obras .slick-next:before {
  font-size: 26px;
  color: #999999;
}

@media (max-width: 767px) {
 .slick-prev:before, .slick-next:before{
    width: 33px !important;
    height: 33px !important;
  }
  .artistas-slider .slick-prev, .spots-slider .slick-prev, .obras-grid .slick-prev,.obra-relacionadas .slick-prev,.merch-otros-slider .slick-prev{
    left: -10px !important;
  }
  .slick-next{
    right: -10px !important;
  }
  .artista-slide__inner img,.obra-item__thumb img,.spot-slide__inner img{
    display: block !important;
    margin: 0px !important;
    width: 100% !important;
    padding: 12px !important;
  }
}

/* =========================================================
   SINGLE ARTISTA – NEWSLETTER
   ========================================================= */

.artista-newsletter.section-newsletter {
  margin-top: 20px;
}

.artista-newsletter.section-newsletter p {
  /* En esta página el copy suele ser más corto; que use 100% */
  width: 100%;
  max-width: 640px;
}

/* =========================================================
   SINGLE PRODUCT – OBRAS (obra-single)
   ========================================================= */

.obra-single {
  background-color: #ffffff;
}

.obra-single > .container {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 767px) {
  .obra-single .container {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}

/* ----- HERO: imagen + datos ----- */

.obra-hero {
  margin-bottom: 70px;
}

.obra-hero__gallery {
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .obra-hero__gallery {
    padding-right: 40px;
  }
  .obra-hero__info {
    padding-left: 40px;
  }
}

.obra-hero__gallery .woocommerce-product-gallery {
  margin-bottom: 0;
}

/* título y artista */

.obra-titulo {
  font-family: var(--font-heading);
  font-size: 46px;
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 8px;
  color: #111111;
}

.obra-artista {
  font-family: var(--font-body);
      font-size: 26px;
    font-weight: 300;
  margin: 0 0 18px;
  color: #555555;
}



/* líneas separadoras en la columna de datos */
.obra-hero__info hr {
  border: 0;
  border-top: 1px solid #e5e5e5;
  margin: 22px 0;
}

/* meta (técnica, tamaño, año) */

.obra-meta {
  font-size: 13px;
  line-height: 1.7;
  margin-bottom: 18px;
  color: #333333;
}

.obra-meta p {
  margin: 0 0 10px;
}

.obra-meta p strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 2px;
  color: #111111;
}

/* descripción de la obra */

.obra-descripcion {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.8;
  color: #333333;
  margin-bottom: 12px;
}

.obra-descripcion p {
  margin-bottom: 14px;
}

/* precio + comprar */

.obra-precio-compra {
  margin-top: 16px;
}

.obra-precio {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 27px;
  margin: 0 0 18px;
  color: #111111;
}

/* Etiqueta "PRECIO" encima, como en el diseño */
.obra-precio::before {
  
  display: block;
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  color: #555555;
}
html[lang^="es"] .obra-precio::before,
html[lang^="es"] .merch-precio::before {
    content: "PRECIO";
}

html[lang^="en"] .obra-precio::before,
html[lang^="en"] .merch-precio::before {
    content: "PRICE";
}


.obra-vendida {
  font-family: var(--font-body);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #777777;
}

/* Botón nativo de Woo como botón negro Fractal */

.single_add_to_cart_button.button.alt {
  border-radius: 0;
  border: 1px solid #111111;
  background-color: #111111;
  color: #ffffff;
  padding: 8px 28px;
  font-size: 15px;
  font-weight: 400;
  text-transform: none;
  box-shadow: none;
  text-shadow: none;
}

.single_add_to_cart_button.button.alt:hover,
.single_add_to_cart_button.button.alt:focus {
  background-color: #ffffff;
  color: #111111;
  border-color: #111111;
}

/* mobile: ajustamos tamaños */
@media (max-width: 767px) {
  .obra-titulo {
    font-size: 34px;
  }

  .obra-artista {
    font-size: 15px;
  }

  .obra-hero__info {
    margin-top: 10px;
  }
}


/* =========================================================
   SECCIONES EN BANDA GRIS (full width)
   ========================================================= */

.section-gray {
  background-color: #f5f5f5;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-top: 60px;
  padding-bottom: 60px;
}

@media (max-width: 767px) {
  .section-gray {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* Video de la obra */
.obra-video .section-title {
  
  font-family: var(--font-heading);
}

.obra-video__wrapper {
  max-width: 960px;
  margin: 0 auto;
}

.obra-video__wrapper iframe,
.obra-video__wrapper video {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================================
   MÁS OBRAS DEL ARTISTA (single obra)
   ========================================================= */

.obra-relacionadas {
  padding: 60px 0 60px;
}

.obra-relacionadas .section-title {
  margin-bottom: 40px;
  font-family: var(--font-heading);
}

.obra-rel-item {
  padding: 0 15px;
}

.obra-rel-item__thumb {
  display: block;
  margin-bottom: 18px;
}

.obra-rel-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.obra-rel-item__title {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 6px;
  color: #000000;
  text-align: center;
}

.obra-rel-item__title a {
  color: inherit;
  text-decoration: none;
}

.obra-rel-item__title a:hover {
  text-decoration: underline;
}

.obra-rel-item__price {
  font-family: var(--font-body);
  font-size: 13px;
  color: #555555;
  margin: 0 0 14px;
  text-align: center;
}

/* Flechas slick */
.obra-relacionadas .slick-prev,
.obra-relacionadas .slick-next {
  width: 32px;
  height: 32px;
  z-index: 2;
}

.obra-relacionadas .slick-prev:before,
.obra-relacionadas .slick-next:before {
  font-size: 26px;
  color: #999999;
}

/* =========================================================
   SINGLE PRODUCT – MERCH (merch-single)
   ========================================================= */

.merch-single {
  background-color: #ffffff;
}

.merch-single .container {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 767px) {
  .merch-single .container {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}

/* HERO merch */

.merch-hero {
  margin-bottom: 70px;
}

.merch-hero__gallery {
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .merch-hero__gallery {
    padding-right: 40px;
  }
  .merch-hero__info {
    padding-left: 40px;
  }
}

.merch-hero__gallery .woocommerce-product-gallery {
  margin-bottom: 0;
}

/* Título + contenido descriptivo */

.merch-titulo {
  font-family: var(--font-heading);
  font-size: 34px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 20px;
  color: #111111;
}

.merch-hero__info hr {
  border: 0;
  border-top: 1px solid #e5e5e5;
  margin: 22px 0;
}

/* El contenido del producto lo usas para material, tamaño, etc.
   Aquí sólo le damos el look de ficha. */

.merch-descripcion {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.8;
  color: #333333;
}

.merch-descripcion p {
  margin-bottom: 12px;
}

/* precio + comprar */

.merch-precio-compra {
  margin-top: 16px;
}
.merch-precio-compra .cart .quantity{
  display: inline-block !important;
}
.merch-precio {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  margin: 0 0 18px;
  color: #111111;
}

/* Etiqueta "PRECIO" encima del número, como en el diseño */
.merch-precio::before {
  content: "PRECIO";
  display: block;
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  color: #555555;
}

.merch-agotado {
  font-family: var(--font-body);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #777777;
}

/* =========================================================
   CARRITO
   ========================================================= */

.wp-block-woocommerce-cart,.wc-block-components-sidebar-layout{
  margin-top: 35px;
   margin-bottom: 35px;
   font-family: var(--font-body) !important;
}
.wc-block-components-address-form__country{
  margin-top: 10px !important;
}
/* =========================================================
   MERCH – OBRA Y ARTISTA BASE
   ========================================================= */

.merch-obra-artista {
  text-align: center;
}

.merch-obra-artista .section-title {
  margin-bottom: 35px;
  font-family: var(--font-heading);
}

.merch-obra-artista__inner {
  max-width: 960px;
  margin: 0 auto;
}

.merch-obra-base a img,
.merch-artista-base a img {
  display: block;
  margin: 0 auto 18px;
}

.merch-obra-base__title,
.merch-artista-base__name {
  font-family: var(--font-heading);
  font-size: 15px;
  margin: 0;
  color: #111111;
}

.merch-obra-base__title a,
.merch-artista-base__name a {
  color: inherit;
  text-decoration: none;
}

.merch-obra-base__title a:hover,
.merch-artista-base__name a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .merch-obra-artista__inner > div {
    margin-bottom: 25px;
  }
}

/* =========================================================
   MERCH – OTROS PRODUCTOS
   ========================================================= */

.merch-otros {
  padding: 60px 0 30px;
}

.merch-otros .section-title {
  margin-bottom: 40px;
  font-family: var(--font-heading);
}

.merch-otro-item {
  padding: 0 15px;
  text-align: center;
}

.merch-otro-item__thumb {
  display: block;
  margin-bottom: 18px;
}

.merch-otro-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.merch-otro-item__title {
  font-family: var(--font-heading);
  font-size: 15px;
  margin: 0 0 4px;
  color: #111111;
}

.merch-otro-item__title a {
  color: inherit;
  text-decoration: none;
}

.merch-otro-item__title a:hover {
  text-decoration: underline;
}

.merch-otro-item__price {
  font-family: var(--font-body);
  font-size: 13px;
  color: #555555;
  margin: 0 0 12px;
}

/* Flechas slick del carrusel */
.merch-otros .slick-prev,
.merch-otros .slick-next {
  width: 32px;
  height: 32px;
  z-index: 2;
}

.merch-otros .slick-prev:before,
.merch-otros .slick-next:before {
  font-size: 26px;
  color: #999999;
}


/* Bloque meta – compactar como la referencia */
.obra-meta {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #333333;
}

.obra-meta p {
  margin: 0 0 6px;  /* menos aire entre filas */
}

/* Etiquetas TÉCNICA / TAMAÑO / AÑO */
.obra-meta p strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 14px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 1px; /* menos separación con el valor */
  color: #111111;
}

/* Valores */
.obra-meta__valor {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: bold;
  color: #111111;
}

/* Técnica en negritas, como en el ejemplo de “Tinta offset y acrílico...” */
.obra-meta__valor--tecnica {
  font-weight: 600;
}


/* =========================================================
   ARCHIVE SPOTS
   ========================================================= */

.page-spots .page-header {
  margin: 60px 0 40px;
}

.page-spots .page-title {
  font-family: var(--font-heading);
  font-size: 43px;
  font-weight: 500;
  color: #111;
  margin: 0;
}

.spots-grid {
  margin-top: 20px;
  margin-bottom: 60px;
}

/* Cada spot en el grid */
.spot-item {
  margin-bottom: 50px;
  text-align: center;
}

/* Contenedor del logo: cuadrado gris claro como en el diseño */
.spot-item__thumb {
  display: block;
  margin-bottom: 18px;
  
}

.spot-item__thumb img {
  width: 100%;
  height: auto;
 
  margin: 0 auto;
  display: block;
}

/* Placeholder si no hay imagen */
.spot-item__placeholder {
  width: 100%;
  padding-top: 70%;
  background-color: #f5f5f5;
}

/* Nombre del spot */
.spot-item__name {
  font-family: var(--font-heading);
  font-size: 17px;
  margin: 0;
  color: #111;
}

.spot-item__name a {
  color: inherit;
  text-decoration: none;
}

.spot-item__name a:hover,
.spot-item__name a:focus {
  text-decoration: underline;
}

/* Dirección (opcional) */
.spot-item__location {
  font-family: var(--font-body);
  font-size: 12px;
  color: #777;
  margin-top: 4px;
}

/* Paginación igual que artistas/obras */
.spots-pagination .pagination {
  margin: 10px 0 60px;
}

/* Newsletter de spots: reutiliza base, solo ajuste pequeño */
.section-newsletter--spots {
  /* si quieres que vaya full width como otras bandas:
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  */
}


/* =========================================================
   SINGLE SPOT – LAYOUT GENERAL
   ========================================================= */

.spot-single {
  background-color: #ffffff;
}

.spot-single > .container {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 767px) {
  .spot-single > .container {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}

/* ================= HERO SPOT (imagen + texto) ================= */

.spot-hero {
  margin-bottom: 70px;
}

/* Columna galería principal */
.spot-hero__gallery {
  margin-bottom: 25px;
}

.spot-gallery {
  margin-bottom: 12px;
}

.spot-gallery__item {
  margin: 0 0 10px;
}

.spot-gallery__item img {
  width: 100%;
  height: auto;
  display: block;
}

/* thumbs debajo de la imagen principal */
.spot-gallery__thumbs {
  display: flex;
  gap: 10px;
}
.spot-gallery__thumbs .slick-list .slick-track{
  width: 100% !important;
}
.spot-gallery__thumbs .slick-list .slick-track .spot-gallery__thumb{
  width: 25% !important;
}

.spot-gallery__thumb {
  flex: 1;
}

.spot-gallery__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

/* Columna info spot */
.spot-hero__info {
  padding-left: 40px;
}

@media (max-width: 767px) {
  .spot-hero__info {
    padding-left: 15px;
    margin-top: 25px;
  }
}

.spot-titulo {
  font-family: var(--font-heading);
  font-size: 46px;
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 18px;
  color: #111111;
}

.spot-contenido {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.8;
  color: #333333;
}

.spot-contenido p {
  margin-bottom: 12px;
}

/* Dirección / teléfono */
.spot-datos {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.7;
  color: #333333;
}

.spot-datos p {
  margin: 0 0 10px;
}

.spot-datos p strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 2px;
  color: #111111;
}

/* ================= OBRAS EN EL SPOT (slider) ================= */

.spot-obras {
  
  background-color: #ffffff;
}

.spot-obras .section-title {
  margin-bottom: 40px;
}

/* Contenedor del slider */
.spot-obras-slider {
  max-width: 960px;
  margin: 0 auto 20px;
}

/* Cada obra */
.spot-obra-item {
  padding: 30px 40px 40px;
  text-align: center;
 
}

.spot-obra-item__thumb {
  display: block;
  margin-bottom: 18px;
}

.spot-obra-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 320px;
  margin: 0 auto;
}

.spot-obra-item__title {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 12px;
  color: #000000;
}

.spot-obra-item__title a {
  color: inherit;
  text-decoration: none;
}

.spot-obra-item__title a:hover {
  text-decoration: underline;
}

/* Botón “Conocer más” ya hereda .btn-default; solo tamaño */
.spot-obra-item .btn.btn-default.btn-sm {
  padding: 6px 26px;
  font-size: 13px;
}

/* Flechas del carrusel (Slick) */
.spot-obras-slider .slick-prev,
.spot-obras-slider .slick-next {
  width: 32px;
  height: 32px;
  z-index: 2;
}

.spot-obras-slider .slick-prev {
  left: -40px;
}

.spot-obras-slider .slick-next {
  right: -40px;
}

.spot-obras-slider .slick-prev:before,
.spot-obras-slider .slick-next:before {
  font-size: 26px;
  color: #999999;
}

/* En móvil el panel se hace más compacto y sin flechas tan afuera */
@media (max-width: 767px) {
  .spot-obra-item {
    padding: 25px 20px 30px;
  }

  .spot-obras-slider .slick-prev {
    left: 5px;
  }

  .spot-obras-slider .slick-next {
    right: 5px;
  }
}

/* ================= PASOS PARA ADQUIRIR OBRAS ================= */

.spot-pasos {
  text-align: center;
}

.spot-pasos__items {
  margin-top: 20px;
}

.spot-paso {
  margin-bottom: 30px;
}

.spot-paso__numero {
  display: block;
  font-family: var(--font-heading);
  font-size: 70px;
  font-weight: 500;
  color: #e0e0e0;
  margin-bottom: 4px;
}

.spot-paso__titulo {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #111111;
}

.spot-paso p {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.7;
  color: #555555;
}

/* ================= NEWSLETTER SPOT ================= */

.spot-newsletter {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 60px 0;
  background-color: #f7f7f7;
  text-align: center;
}

.spot-newsletter .section-title {
  margin-bottom: 25px;
  font-size: 24px;
}

.spot-newsletter__form {
  max-width: 540px;
  margin: 0 auto;
}

.spot-newsletter__inner {
  display: flex;
  gap: 10px;
}

.spot-newsletter__input {
  flex: 1;
  border-radius: 0;
  border: 1px solid #cccccc;
  height: 38px;
  padding: 6px 10px;
  font-family: var(--font-body);
  font-size: 13px;
}

.spot-newsletter .btn.btn-dark,
.spot-newsletter .btn.btn-default {
  border-radius: 0;
}

/* móvil: input y botón en columna */
@media (max-width: 767px) {
  .spot-newsletter {
    padding: 40px 0;
  }

  .spot-newsletter__inner {
    flex-direction: column;
  }

  .spot-newsletter__input {
    width: 100%;
  }
}

/* =========================================================
   SINGLE SPOT – LAYOUT GENERAL
   ========================================================= */

.spot-single {
  background-color: #ffffff;
}

.spot-single > .container {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 767px) {
  .spot-single > .container {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}

/* ================= HERO SPOT (imagen + texto) ================= */

.spot-hero {
  margin-bottom: 70px;
}

/* Columna galería principal */
.spot-hero__gallery {
  margin-bottom: 25px;
}

.spot-gallery {
  margin-bottom: 12px;
}

.spot-gallery__item {
  margin: 0 0 10px;
}

.spot-gallery__item img {
  width: 100%;
  height: auto;
  display: block;
}

/* thumbs debajo de la imagen principal */
.spot-gallery__thumbs {
  display: flex;
  gap: 10px;
}

.spot-gallery__thumb {
  flex: 1;
}

.spot-gallery__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

/* Columna info spot */
.spot-hero__info {
  padding-left: 40px;
}

@media (max-width: 767px) {
  .spot-hero__info {
    padding-left: 15px;
    margin-top: 25px;
  }
}

.spot-titulo {
  font-family: var(--font-heading);
  font-size: 46px;
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 18px;
  color: #111111;
}

.spot-contenido {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.8;
  color: #333333;
}

.spot-contenido p {
  margin-bottom: 12px;
}

/* Dirección / teléfono */
.spot-datos {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.7;
  color: #333333;
}

.spot-datos p {
  margin: 0 0 10px;
}

.spot-datos p{
  display: block;
  font-family: var(--font-body) !important;
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 2px;
  color: #111111;
}
.spot-datos > p strong{
font-weight: bold;
font-family: var(--font-body) !important;
 font-size: 13px;
 margin-bottom: 0px;
}
/* ================= OBRAS EN EL SPOT (slider) ================= */

.spot-obras {
  
  background-color: #ffffff;
}

.spot-obras .section-title {
  margin-bottom: 40px;
}

/* Contenedor del slider */
.spot-obras-slider {
  max-width: 960px;
  margin: 0 auto 20px;
}

/* Cada obra */
.spot-obra-item {
  padding: 30px 40px 40px;
  text-align: center;
 
}

.spot-obra-item__thumb {
  display: block;
  margin-bottom: 18px;
}

.spot-obra-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 320px;
  margin: 0 auto;
}

.spot-obra-item__title {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 12px;
  color: #000000;
}

.spot-obra-item__title a {
  color: inherit;
  text-decoration: none;
}

.spot-obra-item__title a:hover {
  text-decoration: underline;
}

/* Botón “Conocer más” ya hereda .btn-default; solo tamaño */
.spot-obra-item .btn.btn-default.btn-sm {
  padding: 6px 26px;
  font-size: 13px;
}

/* Flechas del carrusel (Slick) */
.spot-obras-slider .slick-prev,
.spot-obras-slider .slick-next {
  width: 32px;
  height: 32px;
  z-index: 2;
}

.spot-obras-slider .slick-prev {
  left: -40px;
}

.spot-obras-slider .slick-next {
  right: -40px;
}

.spot-obras-slider .slick-prev:before,
.spot-obras-slider .slick-next:before {
  font-size: 26px;
  color: #999999;
}

/* En móvil el panel se hace más compacto y sin flechas tan afuera */
@media (max-width: 767px) {
  .spot-obra-item {
    padding: 25px 20px 30px;
  }

  .spot-obras-slider .slick-prev {
    left: 5px;
  }

  .spot-obras-slider .slick-next {
    right: 5px;
  }
}

/* ================= PASOS PARA ADQUIRIR OBRAS ================= */

.spot-pasos {
  text-align: center;
}

.spot-pasos__items {
  margin-top: 20px;
}

.spot-paso {
  margin-bottom: 30px;
}

.spot-paso__numero {
  display: block;
  font-family: var(--font-heading);
  font-size: 70px;
  font-weight: 500;
  color: #e0e0e0;
  margin-bottom: 4px;
}

.spot-paso__titulo {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #111111;
}

.spot-paso p {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.7;
  color: #555555;
}

/* ================= NEWSLETTER SPOT ================= */

.spot-newsletter {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 60px 0;
  background-color: #f7f7f7;
  text-align: center;
}

.spot-newsletter .section-title {
  margin-bottom: 25px;
  font-size: 24px;
}

.spot-newsletter__form {
  max-width: 540px;
  margin: 0 auto;
}

.spot-newsletter__inner {
  display: flex;
  gap: 10px;
}

.spot-newsletter__input {
  flex: 1;
  border-radius: 0;
  border: 1px solid #cccccc;
  height: 38px;
  padding: 6px 10px;
  font-family: var(--font-body);
  font-size: 13px;
}

.spot-newsletter .btn.btn-dark,
.spot-newsletter .btn.btn-default {
  border-radius: 0;
}

/* móvil: input y botón en columna */
@media (max-width: 767px) {
  .spot-newsletter {
    padding: 40px 0;
  }

  .spot-newsletter__inner {
    flex-direction: column;
  }

  .spot-newsletter__input {
    width: 100%;
  }
}

/* =========================
   SINGLE SPOT – OBRAS EN EL SPOT
   ========================= */
.wc-block-components-product-low-stock-badge,.wc-block-components-product-metadata__description,.wc-block-components-totals-shipping .wc-block-components-totals-item__value,.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
 display: none !important;
}
.wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-shipping .wc-block-components-totals-item__value{
  display: none !important;
}
.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title{
  text-align: center !important;
}
.wc-block-components-totals-item{
  display: inline-block !important;
}
.spot-obras {
  background-color: #ffffff;
  
}
.wc-block-components-totals-item__label:has(+ .wc-block-formatted-money-amount),.wc-block-checkout__shipping-option--free{
    display: none;
}
.spot-obras .section-title {
 
}
.spot-single .spot-hero{
  margin-top: 100px;
} 
.spot-obras-slider {
  max-width: 960px;
  margin: 0 auto;
}

.spot-obra-item {
  padding: 0 15px;
  text-align: center;
}

.spot-obra-item__thumb {
  display: block;
  margin-bottom: 18px;
}

.spot-obra-item__thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.spot-obra-item__title {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 10px;
  color: #000000;
}

.spot-obra-item__title a {
  color: inherit;
  text-decoration: none;
}

.spot-obra-item__title a:hover {
  text-decoration: underline;
}
/* =========================
   SINGLE SPOT – PASOS
   ========================= */

.spot-pasos {
  background-color: #ffffff;
  padding: 60px 0 60px;
}

.spot-pasos .section-title {
  margin-bottom: 45px;
}

.spot-pasos__items {
  text-align: center;
}

.spot-paso {
  margin-bottom: 30px;
}

.spot-paso__numero {
  display: block;
  font-family: var(--font-heading);
  font-size: 80px;
  font-weight: 500;
  color: #e3e3e3;
  margin-bottom: 8px;
}

.spot-paso__titulo {
  font-family: var(--font-heading);
  font-size: 18px;
  margin-bottom: 6px;
  color: #111111;
}

.spot-paso p {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.6;
  color: #555555;
}

/* móvil: un poco más compacto */
@media (max-width: 767px) {
  .spot-pasos {
    padding: 40px 0 40px;
  }

  .spot-paso__numero {
    font-size: 60px;
  }
}
.single-blog-content h1{
	font-size: 32px;
    line-height: 1;
	font-weight:bold;
	    margin-bottom: 13px;
}
.single-blog-content h2{
	font-size: 26px;
    line-height: 1;
	    margin-bottom: 13px;
}
.single-blog-hero{
	display:none;
}
/* =========================================
   SLICK – FLECHAS PERSONALIZADAS (GLOBAL)
   ========================================= */

/* Base común */
.slick-prev,
.slick-next {
  width: 48px;
  height: 48px;
  z-index: 10;
}

.slick-prev:before,
.slick-next:before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1; /* evita que Slick las opaque */
}

/* Flecha izquierda */
.slick-prev:before {
  background-image: url("../img/left.svg");
}

/* Flecha derecha */
.slick-next:before {
  background-image: url("../img/right.svg");
}

/* Quitar texto "Previous / Next" */
.slick-prev,
.slick-next {
  font-size: 0;
}
.slick-next{
  right: -20px;
}
.slick-prev{
  left: -33px !important;
}
.js-obras-destacadas-slider .slick-prev, .js-obras-destacadas-slider .slick-next{
top: 32%;
}
.js-artistas-slider .slick-prev, .js-artistas-slider .slick-next{
top: 40%;
}
.wc-block-cart__empty-cart__title{
  padding-top: 40px;
  padding-bottom: 40px;
}
.wp-block-separator.has-alpha-channel-opacity{
  display: none;
}
/* CONTENEDOR GENERAL DEL CARRITO (BLOQUE) */
.wp-block-woocommerce-cart {
  text-align: center;
}

/* Icono triste */
.wp-block-woocommerce-cart .wc-block-cart__empty-cart-icon {
  margin-top: 40px;
  margin-bottom: 18px;
}

/* Texto "Tu carrito actualmente está vacío" */
.wp-block-woocommerce-cart .wc-block-cart__empty-cart-heading,
.wp-block-woocommerce-cart .wc-block-cart__empty-cart__title {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 500;
  color: #111;
  margin-bottom: 6px;
}

/* Si hay un subtítulo / descripción debajo */
.wp-block-woocommerce-cart .wc-block-cart__empty-cart__description {
  font-family: var(--font-body);
  font-size: 14px;
  color: #555;
  margin-bottom: 30px;
}
/* TÍTULO "Nuevo en la tienda" */
.wp-block-woocommerce-cart .wc-block-cart__empty-cart__products-title,
.wp-block-woocommerce-cart .wc-block-grid__title {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 500;
  margin: 40px 0 25px;
  color: #111;
}
.wp-block-woocommerce-empty-cart-block .has-text-align-center{
  margin-top: 40px;
  margin-bottom: 40px;

}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{
  border-radius: 0px;
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover{
  color: #000000;
  background-color: transparent;
  text-decoration: none;
  outline: 1px solid #000000;
}
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before{
  mask-image: none !important;
  background-color: transparent !important;
  margin: 0px !important;
  height: 0px !important;
}
.page-id-103 .site-main,.page-id-517 .site-main{
      padding: 60px 0 40px;
}
.page-id-9 .wpb-content-wrapper,.page-id-511 .wpb-content-wrapper{
      padding: 60px 0 40px;
}
.page-id-9 .site-main p,.page-id-511 .site-main p{
    font-family: var(--font-body) !important;
    font-size: 20px;
    font-weight: 300;
    margin-bottom: 30px;
    color: #111;
    line-height: 1.2;
}
.page-id-9 .wpb-content-wrapper > .vc_row,.page-id-511 .wpb-content-wrapper > .vc_row{
  margin-bottom: 40px;
}
.page-id-9 .especial p,.page-id-511 .especial p{
 font-family: var(--font-body) !important;
  
    margin-bottom: 30px;
    color: #111;
    line-height: 1.2;
}
.merch-name a{
	color:#333;
}
.page-id-9 h1,.page-id-511 h1{
  font-family: var(--font-heading);
    font-size: 43px;
    font-weight: 500;
    margin-bottom: 30px;
    color: #111;
}
.page-id-103 h1,.page-id-517 h1{
  font-family: var(--font-heading);
    font-size: 43px;
    font-weight: 500;
    margin-bottom: 30px;
    color: #111;
}
.page-id-103 h2,.page-id-517 h2{
  font-family: var(--font-body);
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 10px;
  color: #111;
}
.page-id-103 p,.page-id-517 p{
  font-family: var(--font-body);
    font-size: 16px;
    margin-bottom: 39px;
    line-height: 1.3em;
}

.page-id-118 h1{
  font-family: var(--font-heading);
    font-size: 43px;
    font-weight: 500;
    margin-bottom: 30px;
    color: #111;
}
.page-id-118 h2{
  font-family: var(--font-body);
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 10px;
  color: #111;
}
.page-id-118 h3{
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
  color: #111;
}
.page-id-118 p{
  font-family: var(--font-body);
    font-size: 16px;
    margin-bottom: 39px;
    line-height: 1.3em;
}
.page-id-118 ul{
	list-style: circle;
	    padding-left: 35px;
    margin-bottom: 27px;
}
.page-id-101 .site-main,.page-id-499 .site-main{
  padding: 60px 0 40px;
}
.page-id-101 h1,.page-id-499 h1{
  font-family: var(--font-heading);
    font-size: 43px;
    font-weight: 500;
    margin-bottom: 30px;
    color: #111;
}
.contact-form-fractal {
  max-width: 720px;
  margin: 0 auto;
}

.contact-form-fractal .field-wrap {
  margin-bottom: 18px;
}

/* Ocultar labels visualmente pero dejarlos accesibles */
.contact-form-fractal .screen-reader-text {
  position: absolute;
  left: -9999px;
}

/* Inputs y select */
.contact-form-fractal input[type="text"],
.contact-form-fractal input[type="email"],
.contact-form-fractal input[type="tel"],
.contact-form-fractal select,
.contact-form-fractal textarea {
  width: 100%;
  border: 1px solid #f0f0f0;
  background: #ffffff;
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--font-body);
}

/* Altura del textarea */
.contact-form-fractal textarea {
  min-height: 180px;
  resize: vertical;
  font-family: var(--font-body);
}

/* Botón */
.contact-form-fractal .wpcf7-submit.btn.btn-dark {
  background: #111111;
  color: #ffffff;
  border: none;
  padding: 10px 40px;
  font-size: 14px;
  text-transform: none;
  border-radius: 0;
  cursor: pointer;
}

.contact-form-fractal .wpcf7-submit.btn.btn-dark:hover {
  opacity: 0.9;
}
.contact-form-fractal br{
  display: none;
}
.contact-form-fractal .field-submit{
  text-align: center;
  font-family: var(--font-body);
}
.gris{
  background-color: #f7f7f7;
  padding: 40px;
}
.gris .container{
  margin: 0px auto;
  display: inline-block;
}
/* ===== MODAL BUSCADOR ===== */

.search-modal {
  position: fixed;
  inset: 0; /* top/right/bottom/left: 0 */
  background: rgba(0, 0, 0, 0.85); /* negro con opacidad */
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.search-modal.is-open {
  opacity: 1;
  visibility: visible;
}

/* Bloquear scroll del body cuando está abierta */
body.no-scroll {
  overflow: hidden;
}

.search-modal__inner {
  text-align: center;
  padding: 20px;
  width: 100%;
  max-width: 600px;
  color: #ffffff;
}

.search-modal__title {
  font-family: "Libre Bodoni", serif;
  font-size: 32px;
  letter-spacing: 0.08em;
  margin: 0 0 20px;
  color: #ffffff;
}

.search-modal__form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.search-modal__input {
  width: 100%;
  padding: 14px 16px;
  border-radius: 0;
  border: 1px solid #ffffff;
  background: transparent;
  color: #ffffff;
  font-size: 16px;
}

.search-modal__input::placeholder {
  color: rgba(255, 255, 255, 0.65);
}

.search-modal__submit {
  margin-top: 8px;
  padding: 12px 30px;
  border-radius: 999px;
  border: none;
  background: #ffffff;
  color: #000000;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
}

/* Botón de cerrar (X) */
.search-modal__close {
  position: absolute;
  top: 20px;
  right: 25px;
  background: none;
  border: none;
  color: #ffffff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

/* Responsive pequeño */
@media (max-width: 767px) {
  .search-modal__title {
    font-size: 24px;
  }
}
/* Fondo gris a todo lo ancho */
.gris-row {
  background: #f7f7f7; /* el gris/azul que estés usando */
      padding-top: 50px !important;
          padding-bottom: 30px !important;
}
.gris-row .container{
max-width: 1170px;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px;
  padding-right: 15px;
}
#equipo{
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}
#equipo strong{
  font-weight: bold !important;
}
/* === FIX CONTACT FORM 7 – NEWSLETTER INLINE === */

.section-newsletter .newsletter-form p {
  display: flex;
  align-items: stretch;
  margin: 0 auto;
  font-family: var(--font-body);
}
.wpcf7-not-valid-tip{
  font-family: var(--font-body);
  font-size: 16px !important;
      margin-top: 11px;
  font-weight: bold;
}
/* Quitar los <br> que mete CF7 */
.section-newsletter .newsletter-form br {
  display: none;
}

/* Wrapper del input */
.section-newsletter .newsletter-form .wpcf7-form-control-wrap {
  flex: 1;
}

/* Input email */
.section-newsletter .newsletter-form input[type="email"] {
  width: 100%;
  height: 60px;
  padding: 0 24px;
  border: none;
  font-size: 18px;
  background: #fff;
}

/* Botón */
.section-newsletter .newsletter-form input[type="submit"] {
  height: 60px;
  padding: 0 32px;
  background: #111;
  color: #fff;
  border: none;
  font-size: 18px;
  cursor: pointer;
  white-space: nowrap;
}

/* Quitar spinner espacio */
.section-newsletter .newsletter-form .wpcf7-spinner {
  display: none;
}

/* Responsive */
@media (max-width: 600px) {
  .section-newsletter .newsletter-form p {
    flex-direction: column;
  }

  .section-newsletter .newsletter-form input[type="submit"] {
    width: 100%;
    margin-top: 10px;
  }
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #010101;
    max-width: 50%;
    margin: 0px auto;
    margin-top: 20px;
}


/* Responsive */
@media (max-width: 600px) {
  .section-newsletter .newsletter-form p {
    flex-direction: column;
  }

  .section-newsletter .newsletter-form input[type="submit"] {
    width: 100%;
    margin-top: 10px;
  }
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #010101;
    max-width: 50%;
    margin: 0px auto;
    margin-top: 20px;
}
.nohay{
      padding: 51px 0px 105px 0px;
    font-size: 41px;
}
@media (max-width: 767px) {
  .page-id-9 .vc_row,.page-id-103 .vc_row,.page-id-101 .vc_row,.page-id-517 .vc_row{
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .page-id-511 .vc_row,.page-id-103 .vc_row,.page-id-101 .vc_row,.page-id-517 .vc_row{
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .section-newsletter p{
    width: 100%;
  }
      body:not(.home) > .site-main.site-main--inner {
        margin-top: 70px;
    }
  .footer-col--logo, .footer-col--nav, .footer-col--extra{
    text-align: center !important;
  }
  .footer-social-icons{
    display: inline-block;
  }
  .footer-social-icons a{
    display: inline-block;
    margin-left: 10px;
    margin-top: 10px;
  }
  .page-id-103 #copyright p,.page-id-9 #copyright p,.page-id-101 #copyright p,.page-id-511 #copyright p,.page-id-517 #copyright p{
    font-size: 12px;
    margin-bottom: 0px;
  }
  #equipo{
    padding-bottom: 0px !important;
  }
  .artista-slide{
    padding: 0px;
  }
  .artista-slide__inner img, .obra-item__thumb img, .spot-slide__inner img{
    padding: 0px !important;
  }
  .spot-slide,.obra-item{
    padding: 0px !important;
  }
  #section-primera div .slick-slide img,.obra-relacionadas img{
    padding: 20px !important;
  }
  .row{
    margin-right: 0px !important;
    margin-left:0px !important;
  }
  .spot-item__thumb img{

  }
  .site-main .container .row .site-main .container{
    padding-left: 0px;
    padding-right: 0px;
  }
  .site-main .container .row .site-main .container .row article,.merch-item{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .section-newsletter{
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .page-id-9 .vc_column_container>.vc_column-inner{
    padding-right: 0px !important;
    padding-left: 0px !important;
  }
	.page-id-511 .vc_column_container>.vc_column-inner{
    padding-right: 0px !important;
    padding-left: 0px !important;
  }
  .nohay{
      padding: 51px 0px 105px 0px;
      font-size: 33px;
  }
  .obra-video__wrapper{
    height: 205px;
  }
}
/* =========================================================
   FRACTAL – THANK YOU / ORDER RECEIVED (WooCommerce)
   Pegar al final del CSS
   ========================================================= */

.woocommerce-order,
.woocommerce-order * {
  font-family: var(--font-body);
}

/* Contenedor principal centrado con aire */
.woocommerce-order {
  max-width: 980px;
  margin: 60px auto 80px;
  padding: 0 15px;
}

/* Mensaje principal */
.woocommerce-order > p:first-of-type,
.woocommerce-thankyou-order-received {
  font-family: var(--font-heading);
  font-size: 28px;
  line-height: 1.2;
  color: #111;
  margin: 0 0 25px;
}

/* Caja / tarjeta general */
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
  background: #fff;
  border: 1px solid #eee;
  padding: 26px 28px;
  margin: 0 0 22px;
}

/* Resumen (Número, Fecha, Email, Total, Pago) */
.woocommerce-order-overview {
  list-style: none !important;
  padding: 0 !important;
  display: grid;
  padding: 27px !important;
  gap: 14px 18px;
  align-items: start;
}

.woocommerce-order-overview li {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #111;
}

.woocommerce-order-overview li strong {
  display: block;
  margin-top: 6px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  color: #111;
}

.woocommerce-order-overview li:not(strong) {
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #777;
}

/* Textos tipo “Paga en efectivo...” */
.woocommerce-order .woocommerce-thankyou-order-details,
.woocommerce-order p {
  color: #555;
  line-height: 1.7;
}

/* Títulos de secciones */
.woocommerce-order h2,
.woocommerce-order h3 {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 600;
  color: #111;
  margin: 0 0 16px;
}

/* Tabla detalles del pedido */
.woocommerce-order-details table,
.woocommerce-table.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.woocommerce-order-details table thead th,
.woocommerce-table--order-details thead th {
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #777;
  padding: 14px 12px;
  border-bottom: 1px solid #eee;
}

.woocommerce-order-details table td,
.woocommerce-table--order-details td {
  padding: 16px 12px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
  font-size: 14px;
  color: #111;
}

.woocommerce-order-details table tfoot th,
.woocommerce-order-details table tfoot td,
.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
  padding: 14px 12px;
  border-bottom: 1px solid #eee;
  font-size: 14px;
}

.woocommerce-order-details table tfoot th {
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #777;
}

/* Resaltar total final */
.woocommerce-order-details table tfoot tr:last-child th,
.woocommerce-order-details table tfoot tr:last-child td,
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
  border-top: 1px solid #111;
  border-bottom: 0;
  padding-top: 18px;
  font-weight: 700;
  color: #111;
}

/* Customer details: direcciones en 2 columnas */
.woocommerce-customer-details .addresses {
  display: grid;
  
  gap: 18px;
  margin-top: 12px;
}
.woocommerce .woocommerce-customer-details address{
  border: 1px solid rgba(0, 0, 0, .1) !important;
}
.woocommerce-customer-details .addresses .col-1,
.woocommerce-customer-details .addresses .col-2,
.woocommerce-customer-details .addresses address {
  width: auto !important;
  float: none !important;
}

.woocommerce-customer-details address {
  border: 1px solid #eee;
  padding: 18px 18px;
  margin: 0;
  line-height: 1.7;
  color: #111;
  font-style: normal;
}

/* Links */
.woocommerce-order a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Responsive */
@media (max-width: 991px) {
  .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .woocommerce-order {
    margin: 40px auto 60px;
  }

  .woocommerce-thankyou-order-received,
  .woocommerce-order > p:first-of-type {
    font-size: 22px;
  }

  .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  .woocommerce-customer-details .addresses {
    grid-template-columns: 1fr;
  }

  .woocommerce-order .woocommerce-order-overview,
  .woocommerce-order .woocommerce-order-details,
  .woocommerce-order .woocommerce-customer-details {
    padding: 18px 16px;
  }
}


