/* WPML DEV BAR START */
.otgs-development-site-front-end {
    display: none;
}

/* WPML DEV BAR END */

/* Botó X per tancar el menú mòbil (mateixa mida i estil que la X de la cerca). */
.mobile-menu-close {
    position: absolute;
    top: 0px;
    right: 20px;
    z-index: 1001;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    line-height: 0;
}
.mobile-menu-close img {
    width: auto;
}
/* Amb el menú obert, la X pròpia substitueix la icona-X de la hamburguesa
   (evitem veure dues X). */
.mobile-menu.open ~ #page .hamburger.active,
.mobile-menu.open ~ #page .side-menu.active {
    visibility: hidden;
}

/* Fitxa de formació: separació entre blocs consecutius (el primer manté el seu marge). */
.formacio-fitxa-cont + .formacio-fitxa-cont {
    margin-top: 30px;
}

.formacio-fitxa-cont.formacio-fitxa-contacte {
    margin-top: 100px;
}

/* Últim element de les dades bàsiques sense línia inferior. */
ul.form-dades-lst li:last-child {
    border-bottom: 0;
}

/* Text legal sota els formularis (protecció de dades). Discret i petit.
   Amb !important perquè els estils de .missatge-sec p / .borse-frm-rgt p
   de la maqueta (18px) tenen més especificitat. */
.form-legal-text,
.form-legal-text p,
.form-legal-text li,
.form-legal-text p strong {
    color: #9E9E9E;
    font-family: 'Manrope-Medium';
    font-size: 11px !important;
    line-height: 1.5;
}
.form-legal-text {
    margin-top: 10px;
}
.form-legal-text p {
    margin: 0 0 8px !important;
}
/* Tot el títol (inclòs el "(Reglament...)") amb el mateix to discret, sense destacar. */
.form-legal-text p {
    text-transform: uppercase;
}
.form-legal-text p strong {
    font-weight: normal;
}
/* Les etiquetes de cada punt sí que es mantenen amb èmfasi (font Bold real). */
.form-legal-text li strong {
    font-family: 'Manrope-Bold';
    color: #101820;
}
.form-legal-text ul {
    margin: 0;
    padding-left: 0px;
    list-style: disc;
}
.form-legal-text li {
    margin-bottom: 4px;
}
.form-legal-text a {
    color: #101820;
    text-decoration: underline;
}

/* Secció "Prefereixes parlar amb nosaltres directament?": quan hi ha títol + intro
   abans de les targetes, ajustem l'espaiat (la maqueta original no tenia intro).
   Només quan el títol va seguit d'un paràgraf, per no afectar les seccions sense intro. */
.contact-top-sec .row > h2:has(+ p) {
    margin-bottom: 12px;
}
.contact-top-sec .row > h2 + p {
    margin-bottom: 60px;
    font-size: 16px;
    line-height: 1.5;
    color: #101820;
    font-family: 'Manrope-Medium';
}

/* Formulari unificat "Et contactem?" (SAD): sense el fons verd del callback-box. */
.nosaltres-sec .callback-box:has(.sad-contacte-form) {
    background: transparent;
    padding: 0;
    margin-top: 20px;
}
/* Els elements ample-complet (text legal, consentiments, botó) ocupen les 2 columnes. */
.sad-contacte-form li.full-width {
    width: 100%;
}
/* Botó d'enviar en una fila pròpia, a sota de tot. */
.sad-contacte-form li.full-width:last-child {
    margin-top: 10px;
}
/* Menys separació entre els dos checkboxos de consentiment consecutius. */
.sad-contacte-form li.full-width:has(.contacte-consent) + li.full-width:has(.contacte-consent) {
    margin-top: -15px;
}

/* Formulari unificat "Et contactem?" (SAD). El "moment del dia" es mostra
   només si hi ha telèfon (JS) i els radios es veuen com a pills. */
.sad-contacte-form .sad-moment-wrap[hidden] {
    display: none;
}
.sad-contacte-form .sad-moment-wrap > p {
    margin: 0 0 10px;
    font-size: 13px;
    color: #101820;
    font-family: 'Manrope-Medium';
}
.sad-contacte-form .time-actions .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.sad-contacte-form .time-actions .wpcf7-list-item {
    margin: 0;
}
.sad-contacte-form .time-actions .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    margin: 0;
    padding: 0 20px;
    border: 1.5px solid #101820;
    border-radius: 30px;
    font-family: 'Manrope-Medium';
    font-size: 14px;
    color: #101820;
    cursor: pointer;
    white-space: nowrap;
    transition: all .2s ease;
}
.sad-contacte-form .time-actions .wpcf7-list-item input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.sad-contacte-form .time-actions .wpcf7-list-item label:has(input:checked) {
    background: #101820;
    color: #fff;
}
/* Selector de delegació i moment alineats a dalt. */
.sad-contacte-form .sad-delegacio .sel-box {
    margin-top: 8px;
}

/* Filtre "Inici a partir de": input date amb aspecte de pill, com els .select-pill.
   Escriptori */
.filters-left .date-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.filters-left .date-pill label {
    font-size: 13px;
    color: #101820;
    font-family: 'Manrope-Medium';
    white-space: nowrap;
}
.filters-left .date-pill input[type="date"] {
    height: 37px;
    padding: 0 18px;
    border: 1px solid #101820;
    border-radius: 25px;
    background: transparent;
    font-size: 14px;
    color: #101820;
    font-family: 'Manrope-Medium';
    line-height: 37px;
    cursor: pointer;
}
/* Panell mòbil: el date NO és un radio, cal desfer l'estil de bolet */
.filter-option.filter-option-date {
    display: block;
}
.filter-option.filter-option-date input[type="date"] {
    appearance: auto;
    -webkit-appearance: auto;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #101820;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
    font-size: 15px;
    color: #101820;
    font-family: 'Manrope-Medium';
    cursor: pointer;
}
.filter-option.filter-option-date input[type="date"]:checked {
    background: #fff;
}

/* Bloc hero_slider: la maqueta no fixa alçada i confia en la proporció de la
   imatge (2836x1368). Amb aspect-ratio + cover, el hero manté la proporció del
   disseny amb qualsevol imatge que pugi l'editor. */
.main-slide .swiper-slide img {
    aspect-ratio: 2836 / 1368;
    object-fit: cover;
    height: auto;
}

/* Bloc text_lliure (no existeix a la maqueta): secció genèrica de text */
.text-lliure-sec {
    float: left;
    width: 100%;
    padding: 40px 0;
}

/* Blocs reutilitzats a les seccions numerades de pàgines interiors. */
.inner-banner > img,
.img-divv img,
.clr-img img,
.fulwidth-img img,
.img-rigor img {
    height: auto;
}

.nos-cont-item {
    scroll-margin-top: 120px;
}

.imatge-text-sec,
.targetes-icona-sec,
.targetes-color-sec,
.targetes-imatge-sec,
.targetes-llista-sec,
.dades-destacades-sec {
    float: left;
    width: 100%;
    padding: 80px 0;
}

/* Pàgina d'inserció laboral: els mateixos camps reutilitzen les variants
   editorials específiques que ja existeixen a la maqueta ver3. */
.insercio-laboral-main-sec,
.targetes-laboral-sec,
.targetes-dues-columnes-sec,
.promo-borsa-sec {
    float: left;
    width: 100%;
}

.lab-img-lft img,
.lab-page-lst .img-div img,
.borsa-cont-mid img {
    height: auto;
}

.lab-page-lst > ul > li > div {
    float: left;
    width: 100%;
}

.borsa-cont-lft h2 {
    max-width: 165px;
}

/* Portada de Formació Professional. */
.page-id-34 .inner-banner .banner-caption h1 {
    max-width: 620px;
}

.forma-top-btn {
    gap: 10px;
}

.formacio-sec-lst .img-div img,
.accordion-img img {
    height: auto;
}

.formacio-sec-lst > ul > li > .formacio-card {
    float: left;
    width: 100%;
}

.text-split-sec .forma-emp-cont + .forma-emp-cont {
    margin-top: 10px;
}

/* Destacar: fons salmó (rose) per a tota la secció de text a dues columnes */
.text-split-destacat .forma-emp-cont {
    background: #FFA38B;
}

.forma-emp-lft h4 {
    max-width: 165px;
}

.que-oferim-lft h4 {
    max-width: 225px;
}

.image-cont.imatge-dreta .image-cont__media {
    order: 2;
}

.image-cont.imatge-dreta .image-cont__text {
    order: 1;
}

.rigor-cont-div.imatge-dreta .rigor-cont-lft {
    order: 2;
}

.rigor-cont-div.imatge-dreta .rigor-cont-rgt {
    order: 1;
}

.imatge-text-contingut {
    float: left;
    width: 100%;
    margin-top: 25px;
}

.treb-cont-div--sense-imatge .treb-data-cont {
    flex: 1 1 0;
}

.clr-list-cont > ul > li > a > div.clr-rose,
.clr-list-cont > ul > li > div.clr-rose {
    float: left;
    width: 100%;
    height: 100%;
    background: #ffa38b;
}

.clr-list-cont > ul > li > div {
    float: left;
    width: 100%;
    height: 100%;
}

.society-list > ul > li > .society-main {
    width: 100%;
}

/* Catàleg de formacions: controls AJAX i estat de càrrega. */
.formacio-catalog {
    float: left;
    width: 100%;
}

/*
 * Colors dels filtres de públic. La maqueta els pinta per posició (2n verd, 3r lila) i en
 * castellà l'ordre canvia: es neutralitza la posició i el color va per la classe public-{color}
 * que posa el PHP. El rosa i el blau són els d'Actualitat.
 */
.vigent-filter-list ul li:nth-child(n) a {
    border-color: #101820;
    color: #101820;
}

.vigent-filter-list ul li:nth-child(n) a:hover,
.vigent-filter-list ul li:nth-child(n) a.active {
    border-color: #101820;
    background: #101820;
    color: #fff;
}

.vigent-filter-list ul li a.public-green {
    border-color: #45a96c;
    color: #45a96c;
}

.vigent-filter-list ul li a.public-purple {
    border-color: #9a78d7;
    color: #9a78d7;
}

.vigent-filter-list ul li a.public-rose {
    border-color: #f28062;
    color: #f28062;
}

.vigent-filter-list ul li a.public-blue {
    border-color: #547dcb;
    color: #547dcb;
}

.vigent-filter-list ul li a.public-green.active {
    border-color: #91d6ac;
    background: #91d6ac;
    color: #101820;
}

.vigent-filter-list ul li a.public-purple.active {
    border-color: #9a78d7;
    background: #9a78d7;
    color: #101820;
}

.vigent-filter-list ul li a.public-rose.active {
    border-color: #f28062;
    background: #f28062;
    color: #101820;
}

.vigent-filter-list ul li a.public-blue.active {
    border-color: #547dcb;
    background: #547dcb;
    color: #101820;
}

/* Files de formacions: la maqueta només té verd (per defecte) i lila; s'hi afegeixen el rosa i el blau. */
.course-table tbody tr.rose-row td::after {
    border-left-color: #ffa38b;
}

.course-table tbody tr.blue-row td::after {
    border-left-color: #bdd6e6;
}

.rose-row .arrow-btn {
    background-color: #ffa38b;
}

.blue-row .arrow-btn {
    background-color: #bdd6e6;
}

/* Rows de formacions amb el mateix fons que el header (.hdr-main: #F7F4E8). */
.course-table tbody tr {
    background-color: #f7f4e8;
}

.formacio-clear,
.filter-reset-mobile,
.load-more button {
    appearance: none;
    border: 0;
    background: transparent;
    color: #101820;
    cursor: pointer;
    font-family: 'Manrope-Medium';
}

.formacio-clear {
    padding: 0 4px;
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.filter-reset-mobile {
    padding: 4px 0 30px;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.load-more button {
    padding: 10px 12px;
    font-size: 18px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.load-more button:hover,
.load-more button:focus-visible,
.formacio-clear:hover,
.formacio-clear:focus-visible,
.filter-reset-mobile:hover,
.filter-reset-mobile:focus-visible {
    color: #45a96c;
}

.load-more button:disabled {
    cursor: wait;
    opacity: .55;
}

.course-no-results td {
    padding: 30px 25px !important;
    text-align: left !important;
}

.course-no-results td::after {
    display: none;
}

.formacio-skeleton-row {
    pointer-events: none;
}

.course-table tbody tr.formacio-skeleton-row td::after {
    border-left-color: #ded8c8;
}

.formacio-skeleton {
    display: inline-block;
    width: var(--skeleton-width, 72%);
    max-width: 100%;
    height: 13px;
    overflow: hidden;
    border-radius: 999px;
    background: linear-gradient(90deg, #dedbd1 25%, #eeece5 45%, #dedbd1 65%);
    background-size: 220% 100%;
    animation: formacio-skeleton-shimmer 1.25s ease-in-out infinite;
    vertical-align: middle;
}

.formacio-skeleton-row .course-title .formacio-skeleton {
    height: 18px;
}

.formacio-catalog.is-loading .vigent-count {
    opacity: .65;
}

@keyframes formacio-skeleton-shimmer {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .formacio-skeleton {
        animation: none;
    }
}

/* Fitxa individual de formació. */
.forma-banner .forma-ban-lft {
    overflow: hidden;
}

.inner-banner.forma-banner .forma-ban-lft img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forma-banner .forma-ban-rht.is-purple {
    background: #c5b4e3;
}

.forma-banner .forma-ban-rht.is-rose {
    background: #ffa38b;
}

.forma-banner .forma-ban-rht.is-blue {
    background: #bdd6e6;
}

/*
 * La descripció breu es guarda en text pla i ACF la converteix a HTML
 * (new_lines=wpautop): els salts simples són <br> i les línies en blanc,
 * paràgrafs. El reset global «p { margin: 0 }» de la maqueta deixava els
 * paràgrafs enganxats, de manera que les separacions no es veien.
 */
.forma-banner-descripcio p,
.formacio-nota-util p,
.formacio-financament-text p {
    margin-bottom: 1em;
}

.forma-banner-descripcio > :last-child,
.formacio-nota-util > :last-child,
.formacio-financament-text > :last-child {
    margin-bottom: 0;
}

.form-fitxa-lft h2,
.form-info-lft h2 {
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 22px;
    font-weight: normal;
    line-height: 1.4;
}

.dades-txt h3 {
    margin-bottom: 5px;
    color: #9e9e9e;
    font-family: 'Manrope-Medium';
    font-size: 18px;
    font-weight: normal;
    line-height: 1.2;
}

/*
 * Apartats d'«Informació útil»: cada apartat ha de quedar contingut dins del
 * seu propi .accordion-item. A la maqueta, .accordion-content té float:left i
 * .accordion-item overflow:hidden, cosa que xoca amb el slideDown() de jQuery
 * i fa que els títols quedin junts i els textos agrupats a sota.
 * Amb flow-root el float queda contingut sense clipar l'animació.
 */
.form-fitxa-rgt .accordion-item {
    display: flow-root;
    overflow: visible;
}

/*
 * El display de .accordion-content el gestiona el slideDown() de jQuery com a
 * estil inline, així que aquí només se'n treu el float. Els seus llistats
 * flotants queden continguts pel flow-root de .accordion-item.
 */
.form-fitxa-rgt .accordion-content {
    float: none;
    width: 100%;
}

.form-fitxa-rgt .accordion-content::after {
    display: table;
    clear: both;
    content: '';
}

/*
 * Text enriquit (WYSIWYG).
 *
 * La maqueta fa un reset global de llistes (`ul, ol { list-style: none }` a
 * resources/ver3/css/style.css) perque fa servir `ul` com a element de
 * maquetacio a menus i graelles. Aixo, pero, tambe s'emporta les llistes que
 * els editors escriuen des del WYSIWYG.
 *
 * `.rich-text` es marca al contenidor MES INTERIOR que envolta el text
 * enriquit i hi restaura el comportament natiu, amb els tokens visuals de la
 * maqueta (punt gris de 4px, Manrope-Medium). Aplicar-la massa amunt de
 * l'arbre faria sortir pics dins de les graelles de targetes.
 */
.rich-text ul,
.rich-text ol {
    float: none;
    width: auto;
    margin: 0 15px 22px;
    padding-left: 22px;
    list-style-position: outside;
}

.rich-text ul {
    list-style-type: disc;
}

.rich-text ol {
    list-style-type: decimal;
}

.rich-text li {
    margin-bottom: 6px;
    color: #000;
    font-family: 'Manrope-Medium';
    font-size: 18px;
    line-height: 1.6;
    list-style: disc;
}

.rich-text li::marker {
    color: #000;
}

/* Llistes niuades: sagnia propia i pic diferenciat. */
.rich-text li > ul,
.rich-text li > ol {
    margin-bottom: 0;
    margin-top: 6px;
}

.rich-text li > ul {
    list-style-type: circle;
}

.rich-text li:last-child {
    margin-bottom: 0;
}

.rich-text > :last-child {
    margin-bottom: 0;
}

/*
 * Excepcions: `ul` que son graelles de maquetacio i no llistes de text.
 * La galeria d'imatges de dins d'un acordio n'es el cas principal.
 */
.rich-text .accordion-img ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.rich-text .accordion-img li {
    margin-bottom: 0;
}

.formacio-nota-util {
    float: left;
    width: 100%;
}

.formacio-fitxa-contacte .form-info-div {
    margin-bottom: 80px;
}

.formacio-financament-text {
    float: left;
    width: 100%;
}

/* Pàgina d'informació sobre formacions i integració amb Contact Form 7. */
.page-informacio-formacio .sel-main-title h1 {
    margin-bottom: 25px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 34px;
    font-weight: normal;
    line-height: 1.2;
}

.page-informacio-formacio .form-sel-cont > h2 {
    position: relative;
    padding-left: 40px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 22px;
    font-weight: normal;
    line-height: 1.3;
}

.page-informacio-formacio .form-sel-cont > h2 > span {
    position: absolute;
    top: 4px;
    left: 0;
    color: #9e9e9e;
    font-size: 18px;
}

.page-informacio-formacio .frm-social-lft,
.page-sad-informacio .frm-social-lft {
    position: relative;
    min-height: 310px;
}

.page-informacio-formacio .frm-social-lft img,
.page-sad-informacio .frm-social-lft img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-informacio-formacio .frm-social-rgt h3,
.page-sad-informacio .frm-social-rgt h3 {
    margin-bottom: 32px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 22px;
    font-weight: normal;
    line-height: 1.2;
}

.page-sad-informacio .servei-seleccionat {
    float: left;
    width: 100%;
    padding-top: 40px;
}

.page-sad-informacio .servei-seleccionat .form-social-cont {
    margin: 10px 0 0;
}

.page-sad-informacio .servei-seleccionat h2 {
    width: 100%;
    padding-bottom: 15px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 22px;
    line-height: 1.4;
}

.page-sad-informacio .frm-social-lft {
    min-height: 240px;
}

.page-sad-informacio .frm-social-rgt h3 {
    margin-bottom: 16px;
}

.page-sad-informacio .frm-social-rgt .rich-text p {
    color: #9e9e9e;
    font-family: 'Manrope-Medium';
    font-size: 15px;
    line-height: 1.4;
}

.page-informacio-formacio .course-list input[type='checkbox'] {
    width: 20px;
    height: 20px;
    margin: 0;
    flex: 0 0 auto;
    appearance: none;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
}

.page-informacio-formacio .course-list input[type='checkbox']:checked {
    border: 5px solid #101820;
}

.page-informacio-formacio .course-list input[type='checkbox']:focus-visible {
    outline: 2px solid #307fe2;
    outline-offset: 3px;
}

.page-informacio-formacio .selecion-accordian.is-general {
    margin-top: 15px;
}

.page-informacio-formacio .selecion-accordian.is-general .accordion-header {
    background: #101820;
    color: #f7f4e8;
    text-align: center;
}

.page-informacio-formacio .selecion-accordian.is-general .accordion-item.active .accordion-header {
    border-radius: 8px 8px 0 0;
}

.page-informacio-formacio .wpcf7,
.page-informacio-formacio .wpcf7 form {
    float: left;
    width: 100%;
}

.page-informacio-formacio .form-list .wpcf7-form-control-wrap {
    display: block;
    float: left;
    width: 100%;
}

.page-informacio-formacio .form-list sup {
    color: #101820;
}

.page-informacio-formacio .form-list .form-label {
    float: left;
    width: 100%;
    margin-bottom: 8px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.5;
}

.page-informacio-formacio .form-list .phone-input-wrap .wpcf7-form-control-wrap {
    height: 100%;
    flex: 1 1 auto;
}

.page-informacio-formacio .form-list .phone-input-wrap input[type='tel'] {
    height: 100%;
    border: 0;
    border-radius: 0;
}

.page-informacio-formacio .form-list .radio-group .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
}

.page-informacio-formacio .form-list .radio-group .wpcf7-list-item {
    margin: 0;
}

.page-informacio-formacio .form-list .radio-group .wpcf7-list-item label {
    display: flex;
    width: auto;
    align-items: center;
    gap: 13px;
    margin: 0;
    cursor: pointer;
}

/* El grup «Gènere» és un checkbox exclusiu (CF7 no permet radios opcionals),
   però es manté maquetat com un radio. */
.page-informacio-formacio .form-list .radio-group input[type='radio'],
.page-informacio-formacio .form-list .radio-group input[type='checkbox'] {
    display: block;
    width: 20px;
    height: 20px;
    margin: 0;
    flex: 0 0 auto;
    appearance: none;
    border: 2px solid rgba(173, 173, 173, .6);
    border-radius: 50%;
    background: #fff;
}

.page-informacio-formacio .form-list .radio-group input[type='radio']:checked,
.page-informacio-formacio .form-list .radio-group input[type='checkbox']:checked {
    border: 5px solid #101820;
}

.page-informacio-formacio .form-list .radio-group .wpcf7-list-item-label {
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.2;
}

.page-informacio-formacio .form-list .upload-row .wpcf7-form-control-wrap {
    width: auto;
}

.page-informacio-formacio .form-list .consent-item .wpcf7-list-item {
    margin: 0;
}

.page-informacio-formacio .form-list .consent-item label {
    display: block;
    width: 100%;
    margin: 0;
    cursor: pointer;
}

.page-informacio-formacio .form-list .consent-item input[type='checkbox'] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.page-informacio-formacio .form-list .consent-item .wpcf7-list-item-label {
    position: relative;
    display: block;
    padding-left: 32px;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.5;
}

.page-informacio-formacio .form-list .consent-item .wpcf7-list-item-label::before {
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1.6px solid #cfcfcf;
    border-radius: 4px;
    content: '';
}

.page-informacio-formacio .form-list .consent-item input[type='checkbox']:checked + .wpcf7-list-item-label::before {
    border-color: #101820;
    background: #101820;
}

.page-informacio-formacio .form-list .consent-item input[type='checkbox']:checked + .wpcf7-list-item-label::after {
    position: absolute;
    top: 5px;
    left: 7px;
    width: 5px;
    height: 10px;
    transform: rotate(45deg);
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: '';
}

.page-informacio-formacio .form-list .consent-item input[type='checkbox']:focus-visible + .wpcf7-list-item-label::before {
    outline: 2px solid #307fe2;
    outline-offset: 2px;
}

.page-informacio-formacio .sersa-formacio-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.page-informacio-formacio .wpcf7-not-valid-tip {
    float: left;
    width: 100%;
    margin-top: 6px;
    font-family: 'Manrope-Medium';
    font-size: 12px;
}

.page-informacio-formacio .wpcf7 form .wpcf7-response-output {
    float: left;
    width: 100%;
    margin: 25px 0 0;
    border-radius: 8px;
    font-family: 'Manrope-Medium';
    font-size: 13px;
}

.page-informacio-formacio .contact-img img {
    aspect-ratio: 443 / 183;
    object-fit: cover;
}

.page-informacio-formacio .hours-group {
    float: left;
    width: 100%;
}

.page-informacio-formacio .borse-info-form > li:last-child .btn-submit.wpcf7-submit {
    width: auto;
    min-width: 165px;
    height: 37px;
    padding: 0 25px;
    border-radius: 30px;
    font-family: 'Manrope-Medium';
    font-size: 14px;
    line-height: 14px;
    transition: opacity .5s;
}

.page-informacio-formacio .borse-info-form > li:last-child .btn-submit.wpcf7-submit:not(:disabled):hover {
    opacity: .7;
}

/* Actualitat: llistat, filtres i contingut editorial de les fitxes. */
.actualitat-filter-list ul li a.actualitat-filter--rose {
    border-color: #f28062;
    color: #f28062;
}

.actualitat-filter-list ul li a.actualitat-filter--blue {
    border-color: #547dcb;
    color: #547dcb;
}

.actualitat-filter-list ul li a.actualitat-filter--green {
    border-color: #45a96c;
    color: #45a96c;
}

.actualitat-filter-list ul li a.actualitat-filter--violet {
    border-color: #9a78d7;
    color: #9a78d7;
}

.actualitat-filter-list ul li a.active,
.actualitat-filter-list ul li a[class*='actualitat-filter--'].active,
.actualitat-filter-list ul li a[class*='actualitat-filter--']:hover {
    border-color: #101820;
    background: #101820;
    color: #fff;
}

.actualitat-filter-list .mob-title-filter h2 {
    float: left;
    width: calc(100% - 59px);
    margin: 0;
    padding: 0;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 18px;
    line-height: 1.2;
}

.actualitat-filter-list .mob-title-filter .mob-filter button {
    float: left;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: #101820 url('../../resources/ver3/images/filter.svg') no-repeat center center;
    cursor: pointer;
}

.actualitat-filter-list .mob-title-filter .mob-filter button.close {
    background-image: url('../../resources/ver3/images/close-btn.png');
}

.actualitat-filter-list .mob-title-filter .mob-filter button:focus-visible,
.actualitat-menu a:focus-visible,
.pagination a:focus-visible {
    outline: 2px solid #307fe2;
    outline-offset: 3px;
}

/* Portada: les dimensions HTML de WordPress no han de fixar l'alçada visual. */
.actualitat-sec .actualitat-img {
    aspect-ratio: 888 / 522;
    background: #f7f4e8;
}

.actualitat-sec .actualitat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.inn-act-lst .actualitat-img {
    aspect-ratio: 888 / 522;
    background: #f7f4e8;
}

.inn-act-lst .actualitat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.actual-main .actualitat-cnt .actualitat-card-title {
    margin-bottom: 18px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 18px;
    line-height: 1.3;
    transition: opacity .5s ease;
}

.actual-main:hover .actualitat-card-title {
    opacity: .7;
}

.actualitat-empty {
    float: left;
    width: 100%;
    padding: 40px 0 80px;
}

.actualitat-empty p {
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 18px;
}

.actualitat-article-content,
.actualitat-bloc {
    float: left;
    width: 100%;
}

.actualitat-bloc-text > :last-child,
.actualitat-classic-content > :last-child {
    margin-bottom: 0;
}

/*
 * Als articles i a les pagines legals la sagnia i els pics venen de
 * `.rich-text`; aqui nomes s'ajusta el to de text, que hi es mes fosc.
 */
.actualitat-bloc-text ul,
.actualitat-bloc-text ol,
.actualitat-classic-content ul,
.actualitat-classic-content ol {
    margin-bottom: 22px;
}

.actualitat-bloc-text li,
.actualitat-classic-content li {
    margin-bottom: 8px;
    color: #101820;
    line-height: 1.4;
}

.actualitat-bloc-text li::marker,
.actualitat-classic-content li::marker {
    color: #101820;
}

.actualitat-article-content .actualitat-bloc-text a,
.actualitat-article-content .actualitat-classic-content a {
    max-width: 100%;
    border-bottom: 1px solid currentColor;
    text-decoration: none;
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    transition: border-color .3s ease, opacity .3s ease;
}

.actualitat-article-content .actualitat-bloc-text a:hover,
.actualitat-article-content .actualitat-classic-content a:hover {
    border-bottom-color: transparent;
    opacity: .7;
}

.actualitat-article-content .actualitat-bloc-text a:focus-visible,
.actualitat-article-content .actualitat-classic-content a:focus-visible {
    border-bottom-color: transparent;
    outline: 2px solid #307fe2;
    outline-offset: 3px;
}

.actualitat-bloc-titol {
    margin-top: 15px;
}

.actualitat-bloc-titol h2,
.actualitat-bloc-titol h3,
.actualitat-bloc-titol h4,
.actualitat-bloc-titol h5 {
    margin-bottom: 15px;
    color: #101820;
    font-family: 'Manrope-SemiBold';
    line-height: 1.3;
}

.actualitat-bloc-titol h2 {
    font-size: 22px;
}

.actualitat-bloc-titol h3 {
    font-size: 20px;
}

.actualitat-bloc-titol h4 {
    font-size: 18px;
}

.actualitat-bloc-titol h5 {
    font-size: 16px;
}

.actualitat-bloc-text--destacat {
    margin-top: 18px;
}

.full-width-img figcaption,
.actualitat-video figcaption {
    float: left;
    width: 100%;
    margin-top: 10px;
    color: #9e9e9e;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.3;
}

.actualitat-featured-image .img-div,
.actualitat-bloc.full-width-img .img-div {
    aspect-ratio: 1786 / 1050;
    background: #f7f4e8;
}

.actualitat-featured-image .img-div img,
.actualitat-bloc.full-width-img .img-div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.actualitat-cita {
    margin: 18px 0 50px;
    padding: 38px 45px 36px;
    border-left: 5px solid #ffa38b;
    border-radius: 0 8px 8px 0;
    background: #f7f4e8;
}

.actualitat-det-rgt .actualitat-cita p {
    margin: 0;
    font-family: 'Manrope-Medium';
    font-size: 22px;
    line-height: 1.4;
}

.actualitat-cita cite {
    display: flex;
    margin-top: 20px;
    flex-direction: column;
    gap: 3px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    font-style: normal;
}

.actualitat-cita cite span {
    color: #777;
}

.actualitat-video {
    margin-bottom: 50px;
}

.actualitat-video-embed {
    position: relative;
    float: left;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
    background: #101820;
}

.actualitat-video-embed iframe,
.actualitat-video-embed video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.actualitat-arxiu {
    margin: 10px 0 35px;
}

.actualitat-arxiu a {
    display: grid;
    width: 100%;
    padding: 24px 28px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 20px;
    align-items: center;
    border: 1px solid rgba(16, 24, 32, .2);
    border-radius: 8px;
    color: #101820;
    transition: border-color .3s ease, background-color .3s ease;
}

.actualitat-arxiu a:hover {
    border-color: #101820;
    background: #f7f4e8;
}

.actualitat-arxiu-title {
    overflow: hidden;
    font-family: 'Manrope-SemiBold';
    font-size: 17px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.actualitat-arxiu-meta {
    grid-column: 1;
    color: #777;
    font-family: 'Manrope-Medium';
    font-size: 12px;
}

.actualitat-arxiu-action {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-family: 'Manrope-Medium';
    font-size: 14px;
}

/*
 * Botó de subscripció al newsletter (formulari extern d'ipzmarketing).
 * Reprodueix els tokens visuals del botó de la maqueta (.newsletter-form
 * button, 50px / radius 30) perquè un <a> no hereta un selector d'element.
 * S'usa tant al bloc de cos com al peu de pàgina.
 */
a.newsletter-btn {
    display: inline-flex;
    height: 50px;
    padding: 0 25px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 30px;
    background: #101820;
    color: #fcfbf6;
    font-family: 'Manrope-Medium';
    font-size: 14px;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition: all .5s ease;
}

a.newsletter-btn:hover {
    opacity: .7;
}

/* Al peu de pàgina el botó i el text de privacitat s'alineen a l'esquerra de la columna. */
.ftr-top-rgt .news-box-out {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.ftr-top-rgt .news-box-out a.newsletter-btn {
    height: 49px;
}

.ftr-top-rgt .news-box-out p {
    width: 100%;
    text-align: left;
}

.newsletter-cf7 .wpcf7-form {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 8px 12px;
    flex-wrap: wrap;
}

.newsletter-cf7 .wpcf7-form > p {
    margin: 0;
}

.newsletter-cf7 input[type='email'] {
    width: 448px;
    height: 50px;
    padding: 0 10px;
    border: 1px solid rgba(173, 173, 173, .6);
    border-radius: 8px;
    background: none;
    color: #9e9e9e;
    font-family: 'Manrope-Medium';
    font-size: 18px;
}

.newsletter-cf7 input[type='submit'] {
    height: 50px;
    padding: 0 25px;
    border: 0;
    border-radius: 30px;
    background: #101820;
    color: #fcfbf6;
    font-family: 'Manrope-Medium';
    font-size: 14px;
    cursor: pointer;
}

/* Servei d'Atenció Domiciliària: variants dels blocs flexibles. */
.page-sad .serveis-ban-rgt,
.page-sad .serveis-ban-rgt img {
    width: 100%;
    height: 100%;
}

.page-sad .serveis-ban-rgt img {
    display: block;
    border-radius: 8px;
    object-fit: cover;
}

.page-sad .sad-serveis-intro {
    padding-bottom: 55px;
}

.page-sad .sad-que-oferim-sec {
    padding-bottom: 130px;
}

.page-sad .sad-card-static {
    float: left;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 8px;
    background: #f7f4e8;
}

.page-sad .seguretat-img img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.page-sad .territory-list a,
.page-sad .flexibilitat-list a {
    display: block;
    height: 100%;
}

.page-sad .territory-list img,
.page-sad .flexibilitat-list .flex-img img {
    display: block;
    width: 100%;
    height: auto;
}

.single-formacio .forma-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.contact-top-sec .contact-img img {
    display: block;
    width: 100%;
    height: auto;
}

.page-sad .info-ban-lft img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-sad .ressen-sec {
    padding-top: 50px;
}

.page-sad-informacio .inner-title-sec {
    padding-bottom: 45px;
}

.page-sad-informacio .informat-sec {
    clear: both;
}

.page-sad-informacio .informat-sec .row::after,
.page-sad-informacio .informat-det-rgt::after,
.page-sad-informacio .nosaltres-sec::after,
.page-sad-informacio .missatge-sec::after,
.page-sad-informacio .wpcf7-form::after {
    display: table;
    clear: both;
    content: '';
}

.page-sad-informacio .informat-det-lateral h4,
.page-sad-informacio .informat-det-lateral p {
    float: left;
    width: 100%;
    padding-bottom: 30px;
    color: #010202;
    font-family: 'Manrope-Medium';
    font-size: 18px;
    line-height: 1.4;
}

.page-sad-informacio .callback-box .wpcf7-form-control-wrap {
    display: block;
}

.page-sad-informacio .callback-box .phone-input-wrap .wpcf7-form-control-wrap {
    flex: 1;
    height: 100%;
}

.page-sad-informacio .callback-box .phone-input-wrap input[type='tel'] {
    width: 100%;
}

.page-sad-informacio .callback-box .delegation-row > p,
.page-sad-informacio .callback-box .time-row > p {
    width: auto;
    margin: 0;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.2;
}

.page-sad-informacio .callback-box .time-row > p {
    margin: 0 0 12px 5px;
}

.page-sad-informacio .callback-box .radio-group .wpcf7-radio {
    display: flex;
    align-items: center;
    gap: 25px;
}

.page-sad-informacio .callback-box .radio-group .wpcf7-list-item {
    margin: 0;
}

.page-sad-informacio .callback-box .radio-group label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    cursor: pointer;
}

.page-sad-informacio .callback-box .radio-group input[type='radio'] {
    width: 20px;
    height: 20px;
    margin: 0;
    border: 1px solid rgba(16, 24, 32, .45);
    border-radius: 50%;
    appearance: none;
}

.page-sad-informacio .callback-box .radio-group input[type='radio']:checked {
    border: 5px solid #91d6ac;
    background: #101820;
    box-shadow: 0 0 0 1px rgba(16, 24, 32, .45);
}

.page-sad-informacio .callback-box .time-actions .wpcf7-radio {
    display: contents;
}

.page-sad-informacio .callback-box .time-actions > .wpcf7-form-control-wrap {
    display: contents;
}

.page-sad-informacio .callback-box .time-actions .wpcf7-list-item {
    margin: 0;
}

.page-sad-informacio .callback-box .time-actions .wpcf7-list-item label {
    display: flex;
    height: 38px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1.5px solid #101820;
    border-radius: 30px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 14px;
    cursor: pointer;
}

.page-sad-informacio .callback-box .time-actions input[type='radio'] {
    position: absolute;
    opacity: 0;
}

.page-sad-informacio .callback-box .time-actions .wpcf7-list-item-label {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.page-sad-informacio .callback-box .time-actions input[type='radio']:checked + .wpcf7-list-item-label {
    background: #101820;
    color: #fff;
}

.page-sad-informacio .callback-box input.submit-btn {
    width: 100%;
    margin: 0;
    border-radius: 30px;
}

.page-sad-informacio .callback-box .consent-group .wpcf7-list-item,
.page-sad-informacio .missatge-sec .consent-item .wpcf7-list-item {
    margin: 0;
}

.page-sad-informacio .callback-box .consent-group label,
.page-sad-informacio .missatge-sec .consent-item label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    cursor: pointer;
}

.page-sad-informacio .callback-box .consent-group input[type='checkbox'] {
    display: block;
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
    margin: 1px 0 0;
    accent-color: #101820;
}

.page-sad-informacio .callback-box .consent-group .wpcf7-list-item-label {
    color: rgba(16, 24, 32, .65);
    font-family: 'Manrope-Medium';
    font-size: 10px;
    line-height: 1.35;
}

.page-sad-informacio .missatge-sec .wpcf7-form {
    float: left;
    width: 100%;
    margin-top: 70px;
}

.page-sad-informacio .missatge-sec .form-list .wpcf7-form-control-wrap {
    display: block;
    float: left;
    width: 100%;
}

.page-sad-informacio .missatge-sec .consent-item input[type='checkbox'] {
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: #101820;
}

.page-sad-informacio .missatge-sec input.btn-submit {
    border-radius: 25px;
}

.page-sad-informacio .missatge-sec .consent-item .wpcf7-list-item-label {
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 12px;
    line-height: 1.4;
}

.page-sad-informacio .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 12px;
}

.page-sad-informacio .wpcf7-response-output {
    clear: both;
    margin: 20px 0 0 !important;
}

/* Legal pages: same reduced editorial system as Actualitat. */
.page-legal .legal-detail-sec {
    clear: both;
    padding-top: 35px;
}

.page-legal .legal-det-lft {
    min-height: 1px;
}

.page-legal .legal-page-title {
    float: left;
    width: 100%;
    margin: 0 0 95px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 34px;
    line-height: 1.3;
}

.page-legal .legal-article-content::after,
.page-legal .legal-det-rgt::after {
    display: table;
    clear: both;
    content: '';
}

.page-legal .legal-article-content .text-bold {
    font-family: 'Manrope-SemiBold';
}

.page-legal .legal-article-content .actualitat-titol--h2 {
    margin-top: 35px;
    margin-bottom: 25px;
    border-bottom: 1px solid #e8e3d4;
}

.page-legal .legal-article-content .actualitat-titol--h2 h2 {
    margin-bottom: 0;
    padding-bottom: 15px;
}

.page-legal .legal-article-content .order-list-items {
    float: left;
    width: 100%;
    margin-top: 12px;
}

.page-legal .legal-article-content .order-list-items-header,
.page-legal .legal-article-content .order-list-item {
    display: grid !important;
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-legal .legal-article-content .order-list-items-header {
    border-radius: 8px 8px 0 0;
    background: #101820;
    color: #fff;
}

.page-legal .legal-article-content .order-list-items-header > div,
.page-legal .legal-article-content .order-list-item > div {
    min-width: 0;
    padding: 14px 12px;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.page-legal .legal-article-content .order-list-items-content {
    float: left;
    width: 100%;
    margin-bottom: 30px;
    border: 1px solid rgba(16, 24, 32, .14);
    border-top: 0;
    border-radius: 0 0 8px 8px;
}

.page-legal .legal-article-content .order-list-item + .order-list-item {
    border-top: 1px solid rgba(16, 24, 32, .14);
}

.page-legal .legal-article-content .order-list-item:nth-child(even) {
    background: #f7f4e8;
}

.page-legal .legal-article-content .order-list-item .m-hidden {
    display: none !important;
}

.page-legal .legal-article-content .order-list-item > p:empty,
.page-legal .legal-article-content .order-list-item > div > p:empty {
    display: none;
}

/* Contacte */
.contact-top-sec h1 {
    margin-bottom: 110px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 34px;
    line-height: 1.2;
}

.contacte-seus-sec .row > p {
    max-width: 760px;
    margin: -85px 0 70px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 18px;
    line-height: 1.4;
}

.page-contacte .inner-title-sec {
    padding-bottom: 50px;
}

.page-contacte .contacte-intro-sec {
    padding-top: 0;
    padding-bottom: 0;
}

.page-contacte .contacte-intro-sec h1 {
    margin-bottom: 0;
}

.page-contacte .contacte-intro-sec .row > p {
    margin: 10px 0 0;
}

.page-contacte .borsa-form-div {
    padding-top: 10px;
    padding-bottom: 60px;
}

.page-contacte .contacte-seus-targetes {
    padding-top: 20px;
}

.page-contacte .contacte-formularis-sec {
    clear: both;
}

.page-contacte .contacte-formularis-sec .row::after,
.page-contacte .borsa-form-div::after,
.page-contacte .borse-frm-rgt::after,
.page-contacte .missatge-sec::after,
.page-contacte .nosaltres-sec::after,
.page-contacte .wpcf7-form::after {
    display: table;
    clear: both;
    content: '';
}

.page-contacte .missatge-sec .wpcf7-form {
    float: left;
    width: 100%;
    margin-top: 70px;
}

.page-contacte .form-list .wpcf7-form-control-wrap {
    display: block;
    float: left;
    width: 100%;
}

/* «Departament» és un checkbox exclusiu (CF7 no permet radios opcionals),
   però es manté maquetat com un radio, en columna. */
.page-contacte .form-list .wpcf7-radio,
.page-contacte .form-list .contacte-departament .wpcf7-checkbox {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.page-contacte .form-list .wpcf7-radio .wpcf7-list-item,
.page-contacte .form-list .contacte-departament .wpcf7-checkbox .wpcf7-list-item {
    margin: 0;
}

.page-contacte .form-list .wpcf7-radio label,
.page-contacte .form-list .contacte-departament .wpcf7-checkbox label {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0;
    cursor: pointer;
}

.page-contacte .form-list .wpcf7-radio input[type='radio'],
.page-contacte .form-list .contacte-departament .wpcf7-checkbox input[type='checkbox'] {
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid rgba(173, 173, 173, .6);
    border-radius: 50%;
    background: transparent;
    appearance: none;
}

.page-contacte .form-list .wpcf7-radio input[type='radio']:checked,
.page-contacte .form-list .contacte-departament .wpcf7-checkbox input[type='checkbox']:checked {
    border: 5px solid #fff;
    background: #101820;
    box-shadow: 0 0 0 2px #101820;
}

.page-contacte .form-list .contacte-departament .wpcf7-checkbox .wpcf7-list-item-label,
.page-contacte .form-list .wpcf7-radio .wpcf7-list-item-label {
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.2;
}

.page-contacte .form-list .contacte-consent .wpcf7-list-item,
.page-contacte .callback-box .wpcf7-list-item {
    margin: 0;
}

.page-contacte .form-list .contacte-consent label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    cursor: pointer;
}

.page-contacte .form-list .contacte-consent input[type='checkbox'] {
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: #101820;
}

.page-contacte .form-list .contacte-consent .wpcf7-list-item-label {
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 12px;
    line-height: 1.4;
}

.page-contacte .form-list .contacte-consent a {
    color: inherit;
    text-decoration: underline;
}

.page-contacte .missatge-sec input.btn-submit {
    border-radius: 25px;
}

.page-contacte .callback-box {
    float: left;
    width: 100%;
}

.page-contacte .callback-box .wpcf7-form-control-wrap {
    display: block;
}

.page-contacte .callback-box .phone-input-wrap .wpcf7-form-control-wrap {
    flex: 1;
    height: 100%;
}

.page-contacte .callback-box .phone-input-wrap input[type='tel'] {
    width: 100%;
}

.page-contacte .callback-box .sel-box .nice-select {
    border: 1px solid #101820;
    color: #101820;
}

.page-contacte .callback-box .delegation-row > p,
.page-contacte .callback-box .time-row > p {
    width: auto;
    margin: 0;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.2;
}

.page-contacte .callback-box .time-row > p {
    margin: 0 0 12px 5px;
}

.page-contacte .callback-box .radio-group .wpcf7-radio {
    display: flex;
    align-items: center;
    gap: 25px;
}

.page-contacte .callback-box .radio-group .wpcf7-list-item,
.page-contacte .callback-box .time-actions .wpcf7-list-item {
    margin: 0;
}

.page-contacte .callback-box .radio-group label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    cursor: pointer;
}

.page-contacte .callback-box .radio-group input[type='radio'] {
    width: 20px;
    height: 20px;
    margin: 0;
    border: 1px solid rgba(16, 24, 32, .45);
    border-radius: 50%;
    appearance: none;
}

.page-contacte .callback-box .radio-group input[type='radio']:checked {
    border: 5px solid #bdd6e6;
    background: #101820;
    box-shadow: 0 0 0 1px rgba(16, 24, 32, .45);
}

.page-contacte .callback-box .time-actions > .wpcf7-form-control-wrap,
.page-contacte .callback-box .time-actions .wpcf7-radio {
    display: contents;
}

.page-contacte .callback-box .time-actions .wpcf7-list-item label {
    display: flex;
    height: 38px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1.5px solid #101820;
    border-radius: 30px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 14px;
    cursor: pointer;
}

.page-contacte .callback-box .time-actions input[type='radio'] {
    position: absolute;
    opacity: 0;
}

.page-contacte .callback-box .time-actions .wpcf7-list-item-label {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.page-contacte .callback-box .time-actions input[type='radio']:checked + .wpcf7-list-item-label {
    background: #101820;
    color: #fff;
}

.page-contacte .callback-box input.submit-btn {
    width: 100%;
    margin: 0;
    border-radius: 30px;
}

.page-contacte .callback-box .consent-group label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    cursor: pointer;
}

.page-contacte .callback-box .consent-group input[type='checkbox'] {
    display: block;
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
    margin: 1px 0 0;
    accent-color: #101820;
}

.page-contacte .callback-box .consent-group .wpcf7-list-item-label {
    color: rgba(16, 24, 32, .65);
    font-family: 'Manrope-Medium';
    font-size: 10px;
    line-height: 1.35;
}

.page-contacte .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 12px;
}

.page-contacte .wpcf7-response-output {
    clear: both;
    margin: 20px 0 0 !important;
}

/* Confirmació d'enviament dels formularis. */
body.page-form-success {
    min-height: 100vh;
    min-height: 100svh;
    margin: 0;
    background: #fcfbf6;
}

.form-success {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    background: #fcfbf6;
}

.form-success__message {
    position: absolute;
    top: calc(47% - 13px);
    left: 50%;
    display: block;
    width: max-content;
    max-width: calc(100% - 80px);
    transform: translateX(-50%);
}

.form-success__message p {
    margin: 0;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 18px;
    line-height: 1.3;
}

.form-success__content {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.form-success__button {
    display: inline-flex;
    height: 37px;
    margin-top: 22px;
    padding: 0 24px;
    align-items: center;
    justify-content: center;
    border: 1px solid #101820;
    border-radius: 999px;
    background: #101820;
    color: #fff;
    font-family: 'Manrope-Medium';
    font-size: 14px;
    line-height: 1;
    transition: background-color .3s ease, color .3s ease;
}

.form-success__button:hover,
.form-success__button:focus-visible {
    background: transparent;
    color: #101820;
}

.form-success__button:focus-visible {
    outline: 2px solid #307fe2;
    outline-offset: 3px;
}

.form-success__icon {
    position: absolute;
    top: 0;
    right: calc(100% + 14px);
    display: flex;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #91d6ac;
}

.form-success__icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: #101820;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.7;
}

.form-success__logo {
    position: absolute;
    bottom: 12%;
    left: 50%;
    width: 88px;
    transform: translateX(-50%);
}

.form-success__logo img {
    display: block;
    width: 100%;
    height: auto;
}

/* Borsa de treball: catàlegs AJAX i formularis CF7. */
.page-borsa .inner-actualitat-sec {
    overflow: visible;
}

.page-borsa .borsa-catalog {
    float: left;
    width: 100%;
}

.page-borsa .borse-frm-lft .borsa-section-title {
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 22px;
    line-height: 1.2;
}

.page-borsa .filter-label,
.page-borsa .offers-count,
.page-borsa .jobs-table thead th,
.page-borsa .details-toggle {
    color: #62676b;
}

.page-borsa .jobs-table th.sortable button {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.page-borsa .jobs-table th.sortable button:focus-visible,
.page-borsa .details-toggle:focus-visible,
.page-borsa .borsa-clear:focus-visible {
    outline: 2px solid #307fe2;
    outline-offset: 3px;
}

.page-borsa .job-details-row:not([hidden]) {
    display: table-row;
}

.page-borsa .job-details-row[hidden] {
    display: none !important;
}

.page-borsa .job-details-box .job-description,
.page-borsa .job-details-box .job-requirements {
    float: left;
    width: 100%;
}

.page-borsa .job-details-box .job-description > :last-child,
.page-borsa .job-details-box .job-requirements > :last-child {
    margin-bottom: 20px;
}

/* La maqueta deixa els h4 en inline-block i el contingut germà surt del flux
   (float), de manera que els títols dels apartats s'acumulaven a la mateixa
   línia a escriptori. El mòbil ja ho resolia; ara també aquí. */
.page-borsa .job-details-box h4 {
    float: left;
    clear: both;
    width: 100%;
}

.page-borsa .job-company {
    display: block;
    margin: -2px 0 7px;
    color: #62676b;
    font-size: 12px;
}

.page-borsa .apply-btn.is-disabled {
    opacity: .45;
    cursor: not-allowed;
}

.page-borsa .borsa-clear {
    padding: 0 0 2px;
    border: 0;
    border-bottom: 1px solid currentColor;
    background: transparent;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    cursor: pointer;
}

.page-borsa .borsa-no-results td {
    padding: 35px 20px;
    border-radius: 8px;
    background: #f7f4e8;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 16px;
    text-align: center;
}

.page-borsa .borsa-skeleton-row td {
    height: 70px;
    padding: 10px 20px;
    background: #f7f4e8;
}

.page-borsa .borsa-skeleton-row td:first-child {
    border-radius: 8px 0 0 8px;
}

.page-borsa .borsa-skeleton-row td:last-child {
    border-radius: 0 8px 8px 0;
}

.page-borsa .borsa-skeleton {
    position: relative;
    display: block;
    width: var(--skeleton-width, 75%);
    max-width: 100%;
    height: 14px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 999px;
    background: #e7e2d7;
}

.page-borsa .borsa-skeleton-row td:first-child .borsa-skeleton {
    height: 20px;
    margin-left: 0;
}

.page-borsa .borsa-skeleton::after {
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .75), transparent);
    content: '';
    animation: sersa-borsa-skeleton 1.25s infinite;
}

@keyframes sersa-borsa-skeleton {
    100% {
        transform: translateX(100%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-borsa .borsa-skeleton::after {
        animation: none;
    }
}

.page-borsa .load-more button {
    padding: 0 0 2px;
    border: 0;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    background: transparent;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 18px;
    line-height: 1.2;
    cursor: pointer;
}

.page-borsa .load-more button:hover,
.page-borsa .load-more button:focus-visible {
    opacity: .7;
}

.page-borsa .load-more button:focus-visible {
    outline: 2px solid #307fe2;
    outline-offset: 4px;
}

.page-borsa .load-more button:disabled {
    opacity: .45;
    cursor: wait;
}

.page-borsa .info-ban-lft img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-borsa-candidatura .wpcf7,
.page-borsa-candidatura .wpcf7 form {
    float: left;
    width: 100%;
}

.page-borsa-candidatura .form-list .wpcf7-form-control-wrap {
    display: block;
    float: left;
    width: 100%;
}

.page-borsa-candidatura .form-list sup,
.page-borsa-candidatura .form-list .required {
    color: #101820;
}

.page-borsa-candidatura .form-list .form-label {
    float: left;
    width: 100%;
    margin-bottom: 8px;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.5;
}

.page-borsa-candidatura .form-list .phone-input-wrap .wpcf7-form-control-wrap {
    height: 100%;
    flex: 1 1 auto;
}

.page-borsa-candidatura .form-list .phone-input-wrap input[type='tel'] {
    height: 100%;
    border: 0;
    border-radius: 0;
}

.page-borsa-candidatura .form-list .radio-group .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
}

.page-borsa-candidatura .form-list .radio-group .wpcf7-list-item {
    width: auto;
    margin: 0;
}

.page-borsa-candidatura .form-list .radio-group .wpcf7-list-item label {
    display: flex;
    width: auto;
    align-items: center;
    gap: 13px;
    margin: 0;
    cursor: pointer;
}

.page-borsa-candidatura .form-list .radio-group input[type='radio'] {
    display: block;
    width: 20px;
    height: 20px;
    margin: 0;
    flex: 0 0 auto;
    appearance: none;
    border: 2px solid rgba(173, 173, 173, .6);
    border-radius: 50%;
    background: #fff;
}

.page-borsa-candidatura .form-list .radio-group input[type='radio']:checked {
    border: 5px solid #101820;
}

.page-borsa-candidatura .form-list .radio-group .wpcf7-list-item-label {
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.2;
}

.page-borsa-candidatura .form-list .upload-row .wpcf7-form-control-wrap {
    width: auto;
}

.page-borsa-candidatura .form-list .upload-row input[type='file'] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.page-borsa-candidatura .form-list .consent-item .wpcf7-list-item {
    width: 100%;
    margin: 0;
}

.page-borsa-candidatura .form-list .consent-item label {
    display: block;
    width: 100%;
    margin: 0;
    cursor: pointer;
}

.page-borsa-candidatura .form-list .consent-item input[type='checkbox'] {
    position: absolute;
    display: block;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.page-borsa-candidatura .form-list .consent-item .wpcf7-list-item-label {
    position: relative;
    display: block;
    padding-left: 32px;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.5;
}

.page-borsa-candidatura .form-list .consent-item .wpcf7-list-item-label::before {
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1.6px solid #cfcfcf;
    border-radius: 4px;
    content: '';
}

.page-borsa-candidatura .form-list .consent-item input[type='checkbox']:checked + .wpcf7-list-item-label::before {
    border-color: #101820;
    background: #101820;
}

.page-borsa-candidatura .form-list .consent-item input[type='checkbox']:checked + .wpcf7-list-item-label::after {
    position: absolute;
    top: 5px;
    left: 7px;
    width: 5px;
    height: 10px;
    transform: rotate(45deg);
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: '';
}

.page-borsa-candidatura .form-list .consent-item input[type='checkbox']:focus-visible + .wpcf7-list-item-label::before {
    outline: 2px solid #307fe2;
    outline-offset: 2px;
}

.page-borsa-candidatura .wpcf7-not-valid-tip {
    float: left;
    width: 100%;
    margin-top: 6px;
    font-size: 12px;
}

.page-borsa-candidatura .wpcf7 form .wpcf7-response-output {
    float: left;
    width: 100%;
    margin: 24px 0 0;
    border-radius: 8px;
    font-family: 'Manrope-Medium';
    font-size: 13px;
}

.page-borsa-candidatura .borsa-offer-missing p {
    margin: 0;
    font-size: 16px;
}

.page-borsa-candidatura .borsa-offer-missing a {
    border-bottom: 1px solid currentColor;
}

/* Botó "Truca'ns" sticky: absolute (dins hero) -> fixed just sota el header
   quan es pinna. El JS calcula --call-top = alçada del header + marge. */
.call-wrapper.call-fixed {
    position: fixed;
    top: var(--call-top, 90px);
    right: 22px;
    z-index: 998;  /* just per sota del header (999): no el trepitja */
    transition: none;
}

/* Resultats de cerca: reutilitzen la card d'actualitat (.inn-act-lst) i hi
   afegeixen etiqueta de tipus i extracte. */
.search-result-type {
    display: inline-block;
    margin-bottom: 10px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #f7f4e8;
    color: #62676b;
    font-family: 'Manrope-Medium';
    font-size: 12px;
    line-height: 1.4;
}

.search-results-list .actualitat-cnt {
    padding-top: 18px;
}

.search-result-excerpt {
    margin-top: 10px;
    color: #62676b;
    font-family: 'Manrope-Medium';
    font-size: 15px;
    line-height: 1.4;
}

/* Marca de camp obligatori: unifica l'asterisc a tots els formularis del site.
   Les regles per pagina (.page-informacio-formacio, .page-borsa-candidatura) ja existents
   segueixen aplicant-se; aquesta cobreix contacte, SAD i qualsevol formulari nou. */
.wpcf7-form label sup,
.wpcf7-form .form-label sup,
.wpcf7-form .required {
    color: #101820;
}

/* ── Missatges de resposta dels formularis ──────────────────────────────
   CF7 pinta per defecte una vora groga de 2px sense fons ni radi, que no
   encaixa amb el disseny. Aquesta regla els maqueta amb la paleta del site
   i diferencia error / exit / avis. Les regles per pagina existents nomes
   ajusten marges, per tant no hi ha conflicte. */
/* El contenidor de camps (ul.form-list) va amb float:left i el missatge amb
   clear:both. Amb clearance actiu, el margin-top queda absorbit pel clearance
   i el missatge apareix enganxat al boto. Fent flotar tambe la resposta, aquesta
   deixa de dependre del clearance i el marge superior es respecta. */
.wpcf7 form .wpcf7-response-output,
.wpcf7-form .wpcf7-response-output {
    float: left;
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 24px 0 0;
    padding: 16px 20px;
    border: 1px solid #dedbd1;
    border-left: 4px solid #9e9e9e;
    border-radius: 8px;
    background: #f7f4e8;
    color: #101820;
    font-family: 'Manrope-Medium';
    font-size: 15px;
    line-height: 1.5;
}

/* Icona circular davant del text, generada per CSS (sense assets nous). */
.wpcf7 form .wpcf7-response-output::before,
.wpcf7-form .wpcf7-response-output::before {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #9e9e9e;
    color: #fff;
    content: '!';
    font-family: 'Manrope-Bold';
    font-size: 13px;
    line-height: 20px;
    text-align: center;
}

/* Error de validacio: un o mes camps incorrectes. */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffd5c8;
    border-left-color: #f28062;
    background: #fdf1ed;
}

.wpcf7 form.invalid .wpcf7-response-output::before,
.wpcf7 form.unaccepted .wpcf7-response-output::before,
.wpcf7 form.payment-required .wpcf7-response-output::before {
    background: #f28062;
}

/* Enviament correcte. */
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #c6e4d2;
    border-left-color: #45a96c;
    background: #eef7f1;
}

.wpcf7 form.sent .wpcf7-response-output::before {
    background: #45a96c;
    content: '✓';
    font-size: 12px;
}

/* Error del servidor o d'enviament. */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    border-color: #f3c9c9;
    border-left-color: #c0392b;
    background: #fbeeed;
}

.wpcf7 form.failed .wpcf7-response-output::before,
.wpcf7 form.aborted .wpcf7-response-output::before {
    background: #c0392b;
}

/* Avis inline sota cada camp erroni: fer-lo llegible i coherent. */
.wpcf7-form .wpcf7-not-valid-tip {
    margin-top: 6px;
    color: #c0392b;
    font-family: 'Manrope-Medium';
    font-size: 13px;
    line-height: 1.35;
}

/* Ressaltar el camp que ha fallat. */
.wpcf7-form .wpcf7-not-valid {
    border-color: #f28062 !important;
}

@media (max-width: 767px) {
    .wpcf7-form .wpcf7-response-output {
        padding: 12px 14px;
        font-size: 14px;
    }
}

.borsa-form-div p {
    position: relative;
}

/* HEADER START */
.head-lang .nice-select,
.head-lang .nice-select .current {
    color: #101820;
    font-family: 'Manrope-Medium';
}

.head-lang .nice-select::after {
    border-bottom-color: #101820;
    border-right-color: #101820;
}

.mobile-lang .nice-select,
.mobile-lang .nice-select .current {
    color: #9E9E9E;
    font-family: 'Manrope-Medium';
    font-size: 20px;
}

.mobile-lang .nice-select::after {
    border-bottom-color: #9E9E9E;
    border-right-color: #9E9E9E;
}

.cbp-hrmenu > ul > li > a {
    width: auto;
    min-width: 220px;
    padding: 0 25px;
}
/* HEADER END */

/* INTRO DESTACADA START */
.welcome-sec h2,
.inner-wel-sec h2 {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: pretty;
}

.inner-wel-sec.forma-wel-sec h2 {
    max-width: 700px;
}
/* INTRO DESTACADA END */

/* BANNER INTERIOR START */
.inner-banner:not(.serveis-banner):not(.forma-banner) .banner-caption h1 {
    max-width: 12.5em;
    text-wrap: balance;
}
/* BANNER INTERIOR END */

.sad-delegacio select {
    width: 100%;
    max-width: 100%;
}

.sad-delegacio select option {
    white-space: normal;
}

.quefem-main:hover > h3,
.quefem-main:hover > p {
    opacity: 1;
}

/* pag serveis i cures */
.page-id-41 .territory-sec {
    margin-top: 80px;
}