/* ═══════════════════════════════════════════════════
   FRANJES CUSTOM — sense dependència de ds.css
   3 divs: taronja (top), fosc (mig), gris fosc (baix)
   Cada franja té skewY(-19deg) des de bottom-left
   ═══════════════════════════════════════════════════ */

.t-stripes {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 120%;     /* = revStripes-bg de demo1 */
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.t-stripe {
  position: absolute;
  left: 0;
  width: 100%;
  transform: skewY(-19deg) scaleX(0);
  transform-origin: 0 100%;
  transition: transform 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.t-stripes.--animated .t-stripe {
  transform: skewY(-19deg) scaleX(1);
}
/* Delays escalonats per franges (com demo1) */
.t-stripes.--animated .t-stripe--orange { transition-delay:   0ms; }
.t-stripes.--animated .t-stripe--dark   { transition-delay: 144ms; }
.t-stripes.--animated .t-stripe--light  { transition-delay: 288ms; }

/* Taronja (TOP): proporcions exactes demo1 (% de stripesBg 120%) */
.t-stripe--orange {
  background: #FF7517;
  height: 60%;
  bottom: 50%;
  z-index: 1;
}

/* Fosc (MIG) */
.t-stripe--dark {
  background: #2C2727;
  height: 35.5%;
  bottom: 20%;
  z-index: 2;
}

/* Gris fosc (BAIX) */
.t-stripe--light {
  background: #3E3939;
  height: 20.5%;
  bottom: 0;
  z-index: 3;
}

.t-hero-wrapper {
  position: relative;
  overflow: visible;
}

.t-hero-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;   /* cercle vertical center */
  justify-content: space-between;
  max-width: var(--container-max-width, 1440px);
  margin: 0 auto;
  padding: 0 15px;
  gap: 30px;
  box-sizing: border-box;
  min-height: min(63.83vw, 900px);   /* = altura slide RevSlider (900/1410) */
}

.t-hero-left {
  flex: 0 0 42%;
  max-width: 42%;
  position: relative;
  align-self: stretch;   /* ocupa tota l'alçada del content */
}

.t-hero-h1 {
  position: absolute;
  top: min(21.70vw, 306px);   /* 346-40 (center - fontsize/2) */
  left: 0;
  margin: 0 !important;
  font-family: 'Rubik', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: min(5.67vw, 80px) !important;       /* = 80px/1410 */
  font-weight: 700 !important;
  letter-spacing: -5px !important; /* = -5px/1410 */
  color: #f6f4f4 !important;
  text-shadow: 5px 3px 7px #2c2727, 0 0 7px #2c2727 !important;
  line-height: 1!important;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 700ms cubic-bezier(0.215, 0.61, 0.355, 1) 1350ms,
              transform 700ms cubic-bezier(0.215, 0.61, 0.355, 1) 1350ms;
}

.t-hero-wrapper.--animated .t-hero-h1 {
  opacity: 1;
  transform: translateY(0);
}

.t-hero-h2 {
  position: absolute;
  top: min(28.65vw, 404px);   /* 429-25 (center - fontsize/2) */
  left: 0;
  margin: 0 !important;
  font-family: 'Rajdhani', var(--secondary-ff, sans-serif) !important;
  font-size: min(3.55vw, 50px) !important;       /* = 50px/1410 */
  font-weight: 700 !important;
  letter-spacing: -2px !important;
  color: #f6f4f4 !important;
  text-shadow: 0 0 10px rgba(0,0,0,.35) !important;
  line-height: 1!important;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 700ms cubic-bezier(0.215, 0.61, 0.355, 1) 1450ms,
              transform 700ms cubic-bezier(0.215, 0.61, 0.355, 1) 1450ms;
}

.t-hero-wrapper.--animated .t-hero-h2 {
  opacity: 1;
  transform: translateY(0);
}

.t-hero-redes {
  position: absolute !important;
  top: min(57vw, 820px);
  left: 15px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 14px;
  opacity: 0;
  transition: opacity 500ms ease-out 1700ms;
}

.t-hero-wrapper.--animated .t-hero-redes {
  opacity: 1;
}
.t-hero-redes span {
  font-family: 'Rubik', sans-serif;
  font-size: min(.85vw, 13px);
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #FF7517;
}
.t-hero-redes a { color: #FF7517; font-size: min(1.4vw, 20px); }

.t-hero-right { display: none; }

.t-hero-circle {
  position: absolute;
  left: min(41.84vw, 590px);    /* x:l, xo:590px de demo1 */
  top:  min(0.50vw, 7px);        /* center + yo:-41 = 7px from top */
  width:  min(59.36vw, 837px);
  height: min(57.09vw, 805px);
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  z-index: 2;
  transform: scale(0.3);
  opacity: 0;
  transition: transform 500ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms,
              opacity 300ms ease-out 0ms;
}

.t-hero-wrapper.--animated .t-hero-circle {
  transform: scale(1);
  opacity: 1;
}

.t-hero-circle img { width: 88%; height: auto; object-fit: contain; }

.t-hero-bar-orange {
  position: absolute;
  left: min(55.46vw, 782px);
  top: min(53.40vw, 753px);
  width: min(47.94vw, 676px);
  height: min(5.11vw, 72px);
  background: #ff7517;
  z-index: 2;
  transform: skewY(-19deg) scaleX(0);
  transform-origin: 0 100%;
  transition: transform 700ms cubic-bezier(0.215, 0.61, 0.355, 1) 890ms;
  pointer-events: none;
}

.t-hero-bar-dark {
  position: absolute;
  left: min(58.58vw, 826px);
  top: min(55.89vw, 788px);
  width: min(46.03vw, 649px);
  height: min(2.84vw, 40px);
  background: #1e1e1e;
  z-index: 3;
  transform: skewY(-19deg) scaleX(0);
  transform-origin: 0 100%;
  transition: transform 700ms cubic-bezier(0.215, 0.61, 0.355, 1) 1180ms;
  pointer-events: none;
}

@media (max-width: 900px) {
  .t-hero-content { flex-direction: column; padding: 60px 15px 30px; }
  .t-hero-left { flex: none; max-width: 100%; }
  .t-hero-h1, .t-hero-h2 { white-space: normal; }
  .t-hero-right { flex: none; max-width: 100%; width: 100%; justify-content: center; margin-top: 20px; }
  .t-hero-circle { width: min(70vw, 500px); height: min(70vw, 500px); margin-right: 0; }
  .t-hero-redes { top: auto; bottom: 15px; }
}

/* Forçar skew correcte a les franges (el selector .--init del ds.css pot fallar) */


/* ═══════════════════════════════════════════════════
   SECCIÓ NOTÍCIES — igualar a demo1
   ═══════════════════════════════════════════════════ */

/* Thumb: margin-bottom 30px (igual demo1) */
.reyEl-bPostGrid-itemInner .reyEl-bpost-thumb {
  margin: 0 0 30px;
}

/* Title: color taronja enllaç + gris títol */
.reyEl-bPostGrid-itemInner .reyEl-bpost-title {
  color: #484f56 !important;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 20px;
}
.reyEl-bPostGrid-itemInner .reyEl-bpost-title a {
  color: #ff7517 !important;
}

/* Content text: gris fosc com demo1 */
.reyEl-bPostGrid-itemInner .reyEl-bpost-content,
.reyEl-bPostGrid-itemInner .reyEl-bpost-content p {
  color: #484f56 !important;
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 20px;
}


.t-hero-wrapper.--animated .t-hero-bar-orange {
  transform: skewY(-19deg) scaleX(1);
}
.t-hero-wrapper.--animated .t-hero-bar-dark {
  transform: skewY(-19deg) scaleX(1);
}

/* ═══════════════════════════════════════════════════
   LOGO MENÚ — mantenir proporcions
   ═══════════════════════════════════════════════════ */
.rey-siteLogo .custom-logo {
  width: auto !important;
  height: auto !important;
  max-height: 60px !important;
  max-width: 200px !important;
  object-fit: contain !important;
}

/* ═══════════════════════════════════════════════════
   NUESTRO EQUIPO — imatges iguals de mida
   ═══════════════════════════════════════════════════ */
/* NUESTRO EQUIPO: replicar layout horitzontal de demo1 */
.elementor-1295 .elementor-image-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
}
.elementor-1295 .elementor-image-box-img {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 20px 0 0 !important;
}
.elementor-1295 .elementor-image-box-img img {
  width: 145px !important;
  height: 192px !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
}
.elementor-1295 .elementor-image-box-content {
  flex: 1 !important;
}

/* ═══════════════════════════════════════════════════
   FIX FONT HEADINGS — hs.css sobreescriu inherit
   Forçar Rajdhani (=--secondary-ff) a tots els h1/h2
   ═══════════════════════════════════════════════════ */
h1, h2, h3, h4,
.elementor-heading-title {
  font-family: 'Rajdhani', 'Rey Secondary', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

/* FA5 Regular: @font-face amb URL absoluta per garantir càrrega */
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/assets/fonts/fa-webfonts/fa-regular-400.woff2') format('woff2'),
       url('/assets/fonts/fa-webfonts/fa-regular-400.woff') format('woff');
}
.far {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400 !important;
}

/* ═══════════════════════════════════════════════════
   COUNTER WIDGET — igualar mides a demo1
   ═══════════════════════════════════════════════════ */
.elementor-counter-number-wrapper {
  display: block !important;
}
.elementor-counter-number {
  font-size: 69px !important;
  font-weight: 600 !important;
  line-height: 69px !important;
  color: #FF7517 !important;
  font-family: 'Rajdhani', var(--secondary-ff, sans-serif) !important;
}
.elementor-counter-number-prefix,
.elementor-counter-number-suffix {
  font-size: 69px !important;
  font-weight: 600 !important;
  color: #FF7517 !important;
  font-family: 'Rubik', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

/* Forçar Rubik al counter: més específic que el h1/h2 override de Rajdhani */
.elementor-widget-counter .elementor-counter-number,
.elementor-counter .elementor-counter-number,
div.elementor-counter-number {
  font-family: 'Rubik', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
.elementor-counter-title {
  font-size: 19px !important;
  font-weight: 400 !important;
  color: rgb(72, 79, 86) !important;
  font-family: 'Rubik', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  margin-top: 10px !important;
  display: block !important;
}

/* ═══════════════════════════════════════════════════
   OFERTES DE FEINA — grid + detall
   ═══════════════════════════════════════════════════ */

/* Grid de boxes */
.t-jobs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  padding: 20px 0 40px;
}

.t-job-box {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  transition: box-shadow .2s, transform .2s;
}
.t-job-box:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  transform: translateY(-2px);
}

.t-job-box-inner {
  padding: 24px;
}

.t-job-icon-wrap {
  font-size: 40px;
  color: #FF7517;
  margin-bottom: 16px;
  line-height: 1;
}

.t-job-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.t-job-tag {
  font-family: 'Rubik', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: #fff4ec;
  color: #FF7517;
  border: 1px solid #ffd4b0;
  border-radius: 3px;
  padding: 2px 8px;
}

.t-job-title {
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1e1e1e !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}

.t-job-summary {
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 18px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.t-job-cta {
  font-family: 'Rubik', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #FF7517;
}

/* Detall d'oferta */
.t-job-detail-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px 20px 80px;
  font-family: 'Rubik', sans-serif;
}

.t-job-back {
  display: inline-block;
  color: #FF7517;
  font-size: 14px;
  text-decoration: none;
  margin-bottom: 32px;
}
.t-job-back:hover { opacity: .7; }

.t-job-detail-header {
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 28px;
  margin-bottom: 32px;
}

.t-job-detail-title {
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  color: #1e1e1e !important;
  margin: 0 0 12px !important;
  line-height: 1.1 !important;
}

.t-job-detail-summary {
  font-size: 16px;
  color: #555;
  line-height: 1.7;
  margin: 0 0 14px;
}

.t-job-detail-deadline,
.t-job-detail-salary {
  font-size: 14px;
  color: #888;
  margin: 4px 0;
}

.t-job-detail-body {
  font-size: 15px;
  color: #444;
  line-height: 1.8;
}
.t-job-detail-body p { margin: 0 0 14px; }
.t-job-detail-body ul, .t-job-detail-body ol { padding-left: 20px; margin: 0 0 14px; }
.t-job-detail-body li { margin-bottom: 6px; }

.t-job-apply {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid #f0f0f0;
}
.t-job-apply-btn {
  display: inline-block;
  background: #FF7517;
  color: #fff;
  font-family: 'Rubik', sans-serif;
  font-size: 15px;
  font-weight: 500;
  padding: 14px 36px;
  border-radius: 50px;
  text-decoration: none;
  transition: background .2s;
}
.t-job-apply-btn:hover { background: #e06610; }

/* OUR TEAM EN — elementor-2217 (equivalent a elementor-1295 en castellà) */
.elementor-2217 .elementor-image-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
}
.elementor-2217 .elementor-image-box-img {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 20px 0 0 !important;
}
.elementor-2217 .elementor-image-box-img img {
  width: 145px !important;
  height: 192px !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
}
.elementor-2217 .elementor-image-box-content {
  flex: 1 !important;
}

/* Ocultar swiper lazy preloader (no usem lazy loading de Swiper) */
.swiper-lazy-preloader { display: none !important; }

/* ═══════════════════════════════════════════════════
   PÀGINES D'ARTICLE / SINGLE POST
   ═══════════════════════════════════════════════════ */

/* Contenidor del contingut del post */
.rey-postContent,
.entry-content,
.elementor-widget-theme-post-content .elementor-widget-container {
  max-width: 860px;
  margin: 0 auto;
}

/* Imatge de portada: limitar alçada i centrar */
.rey-postFeaturedMedia,
.post-thumbnail,
.wp-post-image,
img.attachment-large,
img.size-large,
img.size-full {
  display: block !important;
  max-width: 100% !important;
  max-height: 500px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto 32px !important;
  object-fit: cover !important;
}

/* Totes les imatges dins el contingut del post */
.rey-postContent img,
.entry-content img {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 24px auto;
  border-radius: 4px;
}

/* Capçalera del post */
.rey-postHeader {
  max-width: 860px;
  margin: 0 auto 32px;
  padding: 0;
}
.rey-postHeader h1 {
  font-size: 42px !important;
  line-height: 1.15 !important;
  margin-bottom: 16px !important;
}

/* Meta info (data, categoria) */
.rey-postMeta,
.rey-postMeta * {
  font-family: 'Rubik', sans-serif !important;
  font-size: 13px !important;
  color: #999 !important;
}

/* Paginació d'articles (prev/next) */
.nav-links,
.post-navigation {
  max-width: 860px;
  margin: 48px auto 0;
  padding-top: 32px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.nav-previous a,
.nav-next a {
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #FF7517;
  text-decoration: none;
}
.nav-previous a:hover,
.nav-next a:hover {
  opacity: 0.75;
}

/* Eliminar imatge full-size problemàtica */
.single-post img[width="1024"],
.single-post img[width="2000"],
.single-post .wp-block-image img {
  max-width: 100% !important;
  height: auto !important;
}
