/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Linea de tiempo - Loop Grid horizontal scroll */
.timeline-scroll-container {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  grid-template-columns: none !important;
  gap: 0;
  overflow-x: auto;
  /* scroll-snap-type: x proximity; */
  scrollbar-width: thin;
  scrollbar-color: #ff6100 #2b2b2b;
  width: 100%;
  padding-bottom: 18px;
  cursor: grab;
  user-select: none;
}

.timeline-scroll-container > * {
  min-width: 100%;
  scroll-snap-align: start;
}

.timeline-scroll-container::-webkit-scrollbar {
  height: 8px;
}

.timeline-scroll-container::-webkit-scrollbar-track {
  background: #2b2b2b;
}

.timeline-scroll-container::-webkit-scrollbar-thumb {
  background: #ff6100;
  border-radius: 6px;
}

.timeline-card {
  background: #202020;
  color: #ffffff;
  border: 1px solid #2c2c2c;
  padding: 24px;
  text-align: center;
}

.timeline-scroll-container.is-dragging {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}

body.timeline-dragging {
  cursor: grabbing;
}


.timeline-scroll-container * {
  user-select: none;
}

.timeline-scroll-container img {
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
}

.timeline-scroll {
  position: relative;
}

.timeline-scroll::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 18px;
  pointer-events: none;
  background: radial-gradient(
    ellipse 88% 60% at center,
    rgba(32, 32, 32, 0) 28%,
    rgba(32, 32, 32, 0.2) 46%,
    rgba(32, 32, 32, 0.55) 64%,
    rgba(32, 32, 32, 0.86) 82%,
    rgba(32, 32, 32, 1) 100%
  );
}

/* Recorta visualmente los extremos de la barra para simular 80% centrado */
.timeline-scroll::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 12px;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    to right,
    #202020 0%,
    #202020 8%,
    rgba(32, 32, 32, 0) 12%,
    rgba(32, 32, 32, 0) 88%,
    #202020 92%,
    #202020 100%
  );
}

/* Bolsa de trabajo archive */
.bolsa-loop .elementor-loop-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.bolsa-card {
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.bolsa-card .elementor-widget-theme-post-title {
  margin-bottom: 6px;
}

.bolsa-card .elementor-widget-post-info {
  font-family: "Montserrat", Sans-serif;
  font-size: 0.95em;
  color: #666666;
}

.bolsa-card .elementor-post-info__item {
  color: #5E5E5E;
}

.bolsa-card .elementor-post-info {
  margin-bottom: 8px;
}

.elementor-widget-search-form .elementor-search-form__input {
  border-radius: 6px;
}

/* Bolsa de trabajo single */
.bolsa-single .bolsa-back {
  color: #5e5e5e;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.02em;
}

.bolsa-single .bolsa-back:hover {
  text-decoration: underline;
}

.bolsa-single-meta .elementor-post-info {
  margin-bottom: 0;
}

.bolsa-single-meta .elementor-post-info__item {
  color: #5e5e5e;
}

/* Blog archive */
.blog-archive-loop .elementor-loop-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.blog-card {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  padding-bottom: 12px;
}

.blog-card .elementor-widget-theme-post-title {
  padding: 0 12px;
}

.blog-hero-loop .blog-card {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.blog-hero-card {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.blog-hero-card .elementor-widget-theme-post-featured-image img {
  display: block;
  width: 100%;
  height: auto;
}

.blog-hero-card .blog-hero-meta {
  position: absolute;
  left: 20px;
  bottom: 18px;
  right: 20px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  padding: 12px 14px;
}

.blog-hero-card .blog-hero-meta .elementor-widget-post-info:first-child .elementor-post-info__item {
  display: inline-block;
  background: rgba(255, 255, 255, 0.9);
  color: #202020;
  padding: 4px 8px;
  font-size: 0.75em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.blog-hero-card .blog-hero-meta .elementor-widget-post-info:last-child {
  font-size: 0.85em;
}

@media (max-width: 1024px) {
  .blog-archive-loop .elementor-loop-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .blog-archive-loop .elementor-loop-container {
    grid-template-columns: 1fr;
  }
}

/* Blog single */
.blog-single .elementor-widget-theme-post-title {
  margin-bottom: 10px;
}

.blog-single .blog-summary {
  border-left: 4px solid #ff6100;
}

/* Ubicaciones archive/single */
.pb-ubicaciones-archive {
  background: #efefef;
}

.pb-ubicaciones-loop .elementor-loop-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.pb-ubicacion-card {
  border: 1px solid #e5e5e5;
}

.pb-ubicacion-card .elementor-widget-theme-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pb-ubicacion-meta {
  display: grid;
  gap: 10px;
}

.pb-ubicacion-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 10px;
  align-items: start;
}

.pb-ubicacion-label {
  font-family: "Montserrat", Sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.2em;
  color: #202020;
}

.pb-ubicacion-value,
.pb-ubicacion-hours,
.pb-ubicacion-contacto {
  font-family: "Montserrat", Sans-serif;
  color: #5E5E5E;
  font-size: 1.1em;
}

.pb-ubicacion-hours {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 16px;
}

.pb-schedule-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size:1.1em;
}

.pb-schedule-item strong {
  color: #5E5E5E;
  font-weight: 700;
}

.pb-schedule-item span {
  color: #5E5E5E;
}

.pb-ubicacion-tags,
.pb-modalidades-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pb-tag,
.pb-modalidad-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #DADADA;
  color: #2f2f2f;
  padding: 10px 25px;
  font-family: "Montserrat", Sans-serif;
  font-size: 1em;
  line-height: 1;
}

.pb-modalidad-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  display: inline-block;
}

.pb-contact-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffcfb2;
  color: #3a3a3a;
  padding: 8px 12px;
  text-decoration: none;
}

.pb-ubicacion-map iframe {
  width: 100%;
  min-height: 330px;
  border: 0;
}

.pb-ubicacion-single .pb-plan-col-ready {
  align-self: start;
}

@media (max-width: 1024px) {
  .pb-ubicacion-row {
    grid-template-columns: 1fr;
  }

  .pb-ubicacion-hours {
    grid-template-columns: 1fr;
  }
}

/* Header variants by context (scoped to header-pano) */
.header-pano #logo-oscuro { display: none; }
.header-pano .logo-claro { display: block; }

body.pb-header-dark .header-pano .logo-claro { display: none; }
body.pb-header-dark .header-pano #logo-oscuro { display: block; }

body.pb-header-dark .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item,
body.pb-header-dark .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:visited,
body.pb-header-dark .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus {
  color: #202020 !important;
}

body.pb-header-dark .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
body.pb-header-dark .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #ff6100 !important;
}

body.pb-header-dark .header-pano .inicia-sesion .elementor-button,
body.pb-header-dark .header-pano .inicia-sesion .elementor-button .elementor-button-text {
  color: #202020 !important;
}

/* Sticky state: force light variant regardless of context */
body .header-pano.elementor-sticky--effects #logo-oscuro,
body .elementor-sticky--effects .header-pano #logo-oscuro,
body .header-pano .elementor-sticky--effects #logo-oscuro {
  display: none !important;
}

body .header-pano.elementor-sticky--effects .logo-claro,
body .elementor-sticky--effects .header-pano .logo-claro,
body .header-pano .elementor-sticky--effects .logo-claro {
  display: block !important;
}

body.pb-header-dark .header-pano.elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item,
body.pb-header-dark .header-pano.elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:visited,
body.pb-header-dark .header-pano.elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus,
body.pb-header-dark .elementor-sticky--effects .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item,
body.pb-header-dark .elementor-sticky--effects .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:visited,
body.pb-header-dark .elementor-sticky--effects .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus,
body.pb-header-dark .header-pano .elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item,
body.pb-header-dark .header-pano .elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:visited,
body.pb-header-dark .header-pano .elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus {
  color: #ffffff !important;
}

body.pb-header-dark .header-pano.elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
body.pb-header-dark .header-pano.elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
body.pb-header-dark .elementor-sticky--effects .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
body.pb-header-dark .elementor-sticky--effects .header-pano .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
body.pb-header-dark .header-pano .elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
body.pb-header-dark .header-pano .elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #FF6100 !important;
}

body.pb-header-dark .header-pano.elementor-sticky--effects .inicia-sesion .elementor-button,
body.pb-header-dark .header-pano.elementor-sticky--effects .inicia-sesion .elementor-button .elementor-button-text,
body.pb-header-dark .elementor-sticky--effects .header-pano .inicia-sesion .elementor-button,
body.pb-header-dark .elementor-sticky--effects .header-pano .inicia-sesion .elementor-button .elementor-button-text,
body.pb-header-dark .header-pano .elementor-sticky--effects .inicia-sesion .elementor-button,
body.pb-header-dark .header-pano .elementor-sticky--effects .inicia-sesion .elementor-button .elementor-button-text {
  color: #ffffff !important;
}

/* Franquiciador page */
.pb-franquiciador-page {
  background: #efefef;
}

.pb-franq-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Montserrat", Sans-serif;
  font-size: 0.92em;
}

.pb-franq-table td {
  border: 1px solid #dddddd;
  padding: 10px 12px;
  color: #4a4a4a;
}

.pb-testimonios-carousel .elementor-loop-container {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(340px, 46%);
  overflow-x: auto;
  gap: 14px;
  scrollbar-width: thin;
  scrollbar-color: #ff6100 #2b2b2b;
  padding-bottom: 10px;
}

.pb-testimonios-carousel .elementor-loop-container::-webkit-scrollbar {
  height: 8px;
}

.pb-testimonios-carousel .elementor-loop-container::-webkit-scrollbar-track {
  background: #2b2b2b;
}

.pb-testimonios-carousel .elementor-loop-container::-webkit-scrollbar-thumb {
  background: #ff6100;
}

.pb-testimonio-card {
  border: 1px solid #343434;
  min-height: 250px;
}

.pb-testimonio-puesto {
  color: #ffcfb2;
  font-family: "Montserrat", Sans-serif;
  font-size: 0.86em;
}

.pb-franq-form-wrap {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  .pb-testimonios-carousel .elementor-loop-container {
    grid-auto-columns: minmax(300px, 75%);
  }
}

@media (max-width: 767px) {
  .pb-testimonios-carousel .elementor-loop-container {
    grid-auto-columns: 92%;
  }
}
