/**
 * Theme Name:     Nirvana Child
 * Author:         Cryout Creations
 * Template:       nirvana
 * Text Domain:	   nirvana-child
 * Description:    Imagine a land of infinite beauty and overwhelming magnificence. Imagine seas of freedom and oceans of peace joining together with splashing waves of pure love. Imagine high mountains of hope, hills of reason and deep valleys of knowledge - all covered with dense forests of complete calm. In this mystic land, under a spotless sky of clarity and a bright, cleansing sun you will find Nirvana. The search is finally over; you can now rest, relax and take a deep breath. Nirvana will do the rest with a framework of over 200 settings in a user-friendly interface, a very effective responsive design, boxed or wide layouts with up to 3 columns, easy to use typography equipped with Google fonts, all post formats, 8 page templates (magazine and blog layouts included), 12 widget areas and a presentation page complete with an editable slider and columns. Nirvana also gives you over 40 socials to choose from, is translation ready and has full RTL support. All you have to do is imagine it and with Nirvana it will come true. * THEME DEMO: http://demos.cryoutcreations.eu/wordpress/nirvana/ *
 */
.single-rce .rce-info-extra {
    margin-top: 2em;
    background: #f9f9f9;
    padding: 1.5em;
    border-radius: 10px;
    border: 1px solid #eee;
}
.single-rce .rce-info-extra h3 {
    margin-bottom: 0.5em;
    font-size: 1.3em;
    color: #222;
}
.single-rce .rce-mapa iframe {
    width: 100%;
    height: 350px;
    border: none;
    border-radius: 10px;
}


/* === Estilos para los metadatos personalizados === */
.pf-meta-section {
  margin-top: 2em;
  padding: 1.5em;
  background: #f9f9f9;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.pf-meta-section h3 {
  font-size: 1.3em;
  color: #333;
  margin-bottom: 0.5em;
}

.pf-meta-section p {
  margin: 0.3em 0 1em;
  line-height: 1.6;
}

.pf-characteristics ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.5em 1em;
}

.pf-characteristics li {
  background: white;
  padding: 0.5em 0.8em;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  font-size: 0.95em;
}

.pf-characteristics i {
  margin-right: 6px;
  color: #0073aa;
}

.pf-map iframe {
  width: 100%;
  height: 400px;
  border: none;
  border-radius: 10px;
}

.pf-short-description,
.pf-recommendation {
  margin-bottom: 1em;
}







/* Ocultar imagen de branding duplicada solo en móviles */
@media (max-width: 768px) {
    #branding img#bg_image {
        display: none;
    }
}


/* ===== Tipografía y colores base ===== */
.calculadora-luz {
  font-family: "Inter", sans-serif;
  max-width: 1100px;
  margin: 0 auto;
  padding: 3rem 1rem;
  color: #333;
}

.calculadora-header {
  text-align: center;
  margin-bottom: 3rem;
}

.calculadora-header h1 {
  font-size: 2.5rem;
  margin-top: 0.5rem;
  color: #111;
}

.calculadora-header p {
  font-size: 1.1rem;
  color: #555;
  margin-top: 0.5rem;
}

/* ===== Opiniones ===== */
.opiniones-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.opinion-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.opinion-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.opinion-card blockquote {
  font-style: italic;
  margin-bottom: 1rem;
}

.opinion-card cite {
  display: block;
  font-weight: 500;
  color: #ffb800;
}



/* ===== Beneficios ===== */
.beneficios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.beneficio-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.beneficio-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.beneficio-card h3 {
  margin-bottom: 0.5rem;
  color: #ffb800;
}

/* ===== FAQ ===== */
.calculadora-faq {
  margin-top: 3rem;
}

.calculadora-faq h2 {
  text-align: center;
  margin-bottom: 2rem;
}

.calculadora-faq details {
  background: #f7f7f7;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.calculadora-faq details[open] {
  background: #fff3cd;
}

.calculadora-faq summary {
  font-weight: 600;
  font-size: 1.1rem;
}

.calculadora-faq p {
  margin-top: 0.5rem;
  color: #555;
}

/* ===== Animaciones sutiles ===== */
.calculadora-luz section {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.6s forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}




/* ===== Estilo moderno tipo "card" para excerpts ===== */

.excerpt-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 35px;
  padding: 20px;
  border-radius: 16px;
  background-color: #fafafa;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.excerpt-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.excerpt-image-wrap {
  flex-shrink: 0;
  width: 380px;
  max-width: 45%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 12px;
  position: relative;
}

.excerpt-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}

.excerpt-image:hover {
  transform: scale(1.06);
}

.excerpt-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ===== TÍTULO ===== */
.excerpt-title {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 1.4rem;
  font-weight: 600;
  color: #222 !important;
  text-decoration: none !important;
}

/* Asegura que los enlaces dentro del título no hereden estilos del tema */
.excerpt-title a,
.excerpt-card h2 a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.excerpt-title a:hover,
.excerpt-card h2 a:hover {
  color: #0073aa !important;
  text-decoration: none !important;
}

/* ===== TEXTO ===== */
.excerpt-text {
  line-height: 1.6;
  color: #555 !important;
  font-size: 1rem;
  text-align: justify !important; /* justificado en todos los tamaños */
}

/* Separador entre cards */
.excerpt-card:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding-bottom: 30px;
}

/* ===== RESPONSIVO ===== */
@media (max-width: 900px) {
  .excerpt-card {
    flex-direction: column;
    align-items: center;
  }

  .excerpt-image-wrap {
    width: 100%;
    max-width: 600px;
    aspect-ratio: 16 / 9;
  }

  .excerpt-content {
    margin-top: 15px;
    width: 100%;
  }
}

@media (max-width: 500px) {
  .excerpt-card {
    padding: 15px;
  }

  .excerpt-title {
    font-size: 1.2rem;
  }

  .excerpt-text {
    font-size: 0.95rem;
  }
}


/* ===== BOTÓN moderno "Seguir leyendo" ===== */

.continue-reading-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 10px 22px;
  background: linear-gradient(135deg, #0073aa, #0096c7);
  color: #fff !important;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none !important;
  border-radius: 50px;
  box-shadow: 0 4px 10px rgba(0, 115, 170, 0.25);
  transition: all 0.3s ease;
}

.continue-reading-link:hover {
  background: linear-gradient(135deg, #005f8d, #0073aa);
  box-shadow: 0 6px 14px rgba(0, 115, 170, 0.35);
  transform: translateY(-2px);
}

.continue-reading-link:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0, 115, 170, 0.3);
}

/* Icono (→) */
.continue-reading-link i {
  font-size: 1rem;
  transition: transform 0.3s ease;
}

.continue-reading-link:hover i {
  transform: translateX(4px);
}

/* Centrado automático en móvil */
@media (max-width: 600px) {
  .continue-reading-link {
    display: flex;
    justify-content: center;
    width: fit-content;
    margin: 15px auto 0;
    font-size: 0.9rem;
  }
}