/*
Theme Name: Can Muntanyola
Template: twentytwentyfive
Description: Tema fill de Twenty Twenty-Five per a canmuntanyola.cat. Reprodueix la maqueta del Joomla vell (RocketTheme Lexicon, preset 5).
Version: 2.0.0
Text Domain: canmuntanyola
*/

/* Valors mesurats a la web vella (Wayback, maig i octubre del 2026) */
:root {
	--cm-blau: #0092b5;
	--cm-blau-fosc: #12505d;
	--cm-gris-franja: #f2f2f2;
	--cm-gris-peu: #e7e7e7;
	--cm-gris-menu: #808080;
	--cm-gris-actiu: #999999;
	--cm-text: #6e6e6e;
	--cm-amplada: 1200px;
}

body { background: #fff; }
/* la tipografia base (cos i títols) és la del Joomla: assets/css/base-joomla.css */
a { color: var(--cm-blau-fosc); }
a:hover { color: var(--cm-blau); }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
.cm-main { margin: 0 !important; }

.cm-contenidor { max-width: var(--cm-amplada); margin: 0 auto; box-sizing: border-box; }

/* ---------------------------------------------------------------- capçalera */
.cm-cap-franja { background: var(--cm-gris-franja); display: flex; align-items: center; gap: 2rem; min-height: 77px; padding: 0 25px; margin-top: 35px; }
.cm-logo img { display: block; width: 181px; height: 60px; }
.cm-superior { list-style: none; display: flex; flex-wrap: wrap; gap: 0 1.6rem; margin: 0; padding: 0; font-size: 12px; }
.cm-superior a { color: var(--cm-blau-fosc); text-decoration: none; }
.cm-superior a::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--cm-blau-fosc); vertical-align: 1px; }
.cm-superior a:hover { text-decoration: underline; }
.cm-cap-menu { background: #fff; min-height: 68px; display: flex; align-items: center; }

.cm-menu.wp-block-navigation { font: 14px Arial, Helvetica, sans-serif; text-transform: uppercase; gap: 0; color: var(--cm-gris-menu); }
.cm-menu .wp-block-navigation__container { gap: 0; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 8px 17px 8px 15px; border-right: 1px solid #e5e5e5; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.cm-menu .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.cm-menu .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content { background: var(--cm-gris-actiu); color: #fff; }
.cm-menu .wp-block-navigation-item a { color: inherit; text-decoration: none; }
.cm-menu .wp-block-navigation__submenu-icon { margin-left: 4px; }
.cm-menu .wp-block-navigation__submenu-container { background: #fff !important; color: var(--cm-gris-menu) !important; border: 0 !important; box-shadow: 0 3px 10px rgb(0 0 0 / .15); min-width: 290px !important; padding: 6px 0; font-size: 12px; }
.cm-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 14px !important; line-height: 1.4; }
.cm-menu .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content { color: var(--cm-blau-fosc); background: #f5f5f5; }

/* ---------------------------------------------------------------- posicions */
.cm-posicio .cm-contenidor { padding: 0 25px; }
.cm-modul img { max-width: 100%; height: auto; }
.cm-modul p:empty { display: none; }

.cm-pos-top-a .cm-contenidor { padding-top: 10px; }
.cm-pos-top-a img { display: block; width: 100%; }
.cm-pos-top-a p { margin: 0; }

.cm-pos-showcase-a .cm-contenidor { padding: 0; }
.cm-pos-showcase-a .cm-modul { background: var(--cm-blau); text-align: center; padding: 20px 25px; }
.cm-pos-showcase-a .cm-modul-titol { margin: 0; font-size: 22.4px; line-height: 1.3; color: #000; }
.cm-pos-showcase-a .cm-modul-sub { display: block; font-size: 16.8px; font-weight: 400; color: #fff; }
.cm-pos-showcase-a .cm-modul:has(.cm-slider) { background: none; padding: 0; }

.cm-molles .cm-contenidor { padding: 22px 25px; font-size: 14px; }
.cm-molles-on { font-weight: 700; }
.cm-molles a { text-decoration: none; }
.cm-sep { color: var(--cm-blau); margin: 0 4px; }

.cm-cos .cm-contenidor { padding: 0 25px 40px; color: var(--cm-text); }
.cm-amb-lateral { display: grid; grid-template-columns: 25% 1fr; gap: 30px; }
.cm-principal { min-width: 0; }
.cm-principal .cm-posicio .cm-contenidor, .cm-lateral .cm-posicio .cm-contenidor { padding: 0; }
.cm-titol { font-size: 24px; color: #000; margin: 0 0 18px; }
.cm-data { font-size: 12px; color: #999; margin: 0 0 12px; }
.cm-text img { max-width: 100%; height: auto; }
.cm-text iframe { max-width: 100%; }
.cm-text table { border-collapse: collapse; max-width: 100%; }
/* cel·les: el padding és el de l’atribut cellpadding de cada taula, com al Joomla */
.cm-destacada img { width: 100%; height: auto; margin-bottom: 16px; }
.cm-modul-titol { font-size: 18px; margin: 30px 0 16px; }
.cm-pos-content-top-a .cm-modul { margin-bottom: 24px; }

/* barra lateral: menús de secció (classe box2) */
.cm-lateral .cm-modul { background: var(--cm-gris-franja); padding: 18px 20px; margin-bottom: 20px; }
.cm-lateral .cm-modul-titol { font-size: 14px; text-transform: uppercase; margin: 0 0 10px; color: #000; }
.cm-menu-seccio, .cm-menu-seccio ul { list-style: none; margin: 0; padding: 0; }
.cm-menu-seccio ul { padding-left: 14px; }
.cm-menu-seccio li { border-bottom: 1px solid #e0e0e0; }
.cm-menu-seccio li:last-child { border-bottom: 0; }
.cm-menu-seccio a, .cm-menu-seccio span { display: block; padding: 7px 0; color: var(--cm-blau-fosc); text-decoration: none; font-size: 13px; }
.cm-menu-seccio a:hover { color: var(--cm-blau); font-weight: 700; }

/* mosaic (RokSprocket) */
.cm-mosaic { display: grid; grid-template-columns: repeat(var(--cm-cols, 3), minmax(0, 1fr)); gap: 30px 20px; margin: 30px 0; }
.cm-mosaic-img { position: relative; display: block; overflow: hidden; aspect-ratio: 366 / 251; background: #eee; }
.cm-mosaic-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cm-mosaic-img::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / .5); opacity: 0; transition: opacity .2s; }
.cm-mosaic-img:hover::after { opacity: 1; }
.cm-mosaic-titol { font-size: 15.4px; margin: 14px 0 6px; text-transform: uppercase; }
.cm-mosaic-titol a { color: var(--cm-blau-fosc); text-decoration: none; }
.cm-mosaic-item p { font-size: 13px; margin: 0 0 12px; }
.cm-mes { display: inline-block; background: #fff; border: 1px solid var(--cm-blau-fosc); color: var(--cm-blau-fosc); padding: 9px 20px; text-decoration: none; font-size: 14px; line-height: 1.2; }
.cm-mes:hover { background: var(--cm-blau-fosc); color: #fff; }
.cm-pos-mainbottom-a .cm-mosaic, .cm-pos-bottom-a .cm-mosaic { margin: 20px 0 30px; }

/* caixes amb imatge (Image Hover) */
.cm-hovers { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 20px; }
.cm-hover a { display: block; text-decoration: none; border-radius: 4px; overflow: hidden; background: #e7e7e7; }
.cm-hover-img { position: relative; display: block; }
.cm-hover-img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cm-hover-desc { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center; color: #fff; background: rgb(18 80 93 / .85); opacity: 0; transition: opacity .2s; font-size: 14px; line-height: 21px; }
.cm-hover a:hover .cm-hover-desc { opacity: 1; }
.cm-hover-titol { display: block; padding: 10px 20px; color: var(--cm-blau-fosc); font: 700 16px/1.4 Montserrat, Helvetica, Arial, sans-serif; }

/* carrusel */
.cm-slider { position: relative; overflow: hidden; }
.cm-slider img { display: block; width: 100%; height: auto; }

/* llistats de notícies (K2 / News Show Pro) */
.cm-llista { display: grid; gap: 24px; margin: 10px 0 30px; }
.cm-llista-graella { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cm-noticia { display: grid; grid-template-columns: 220px 1fr; gap: 18px; align-items: start; }
.cm-noticia:not(:has(.cm-noticia-img)) { grid-template-columns: 1fr; }
.cm-noticia-img img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.cm-noticia h3 { font-size: 15.4px; margin: 0 0 4px; }
.cm-noticia h3 a { color: var(--cm-blau-fosc); text-decoration: none; }
.cm-noticia p { margin: 0 0 10px; font-size: 13px; }
.cm-llista-graella .cm-noticia { grid-template-columns: 1fr; }
.pagination .nav-links { display: flex; gap: 10px; margin: 20px 0; }

/* ---------------------------------------------------------------- peu */
.cm-peu { margin-top: 30px; }
.cm-peu-caixa { background: var(--cm-gris-peu); display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding: 35px 25px 40px; font-size: 13px; color: #333; }
.cm-peu h2 { font-size: 14px; text-transform: uppercase; margin: 0 0 14px; color: #000; }
.cm-peu p { margin: 0 0 6px; }
.cm-peu a { color: var(--cm-blau-fosc); text-decoration: none; }
.cm-peu a:hover { text-decoration: underline; }
.cm-peu-cerca { display: flex; gap: 8px; margin-bottom: 30px; }
.cm-peu-cerca input { width: 150px; height: 45px; padding: 0 12px; border: 1px solid #ccc; background: #fff; }
.cm-peu-cerca button { height: 45px; padding: 0 18px; background: #fff; border: 1px solid var(--cm-blau-fosc); color: var(--cm-blau-fosc); cursor: pointer; }
.cm-logos { padding: 20px 25px 40px; }
.cm-logos img { max-width: 100%; height: auto; }
.cm-logos p { margin: 0; }

/* ---------------------------------------------------------------- mòbil */
@media (max-width: 900px) {
	.cm-cap-franja { flex-wrap: wrap; gap: .6rem 1.2rem; padding: 12px 16px; margin-top: 0; }
	.cm-cap-menu { min-height: 52px; padding: 0 16px; justify-content: flex-end; }
	.cm-posicio .cm-contenidor, .cm-cos .cm-contenidor, .cm-molles .cm-contenidor { padding-left: 16px; padding-right: 16px; }
	.cm-amb-lateral { grid-template-columns: 1fr; }
	.cm-lateral { order: 2; }
	.cm-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cm-peu-caixa { grid-template-columns: 1fr; padding: 25px 16px; }
	.cm-noticia { grid-template-columns: 120px 1fr; }
	.cm-llista-graella { grid-template-columns: 1fr; }
	.cm-menu .wp-block-navigation__responsive-container.is-menu-open { text-transform: none; font-size: 16px; }
}
@media (max-width: 560px) {
	.cm-mosaic { grid-template-columns: 1fr; }
	.cm-superior { font-size: 11px; }
}

/* caixes «Consulta altres serveis de Promoció Econòmica»: al Joomla només s'hi veia la imatge i el botó */
.cm-pos-mainbottom-a .cm-mosaic-titol, .cm-pos-mainbottom-a .cm-mosaic-item p { display: none; }
.cm-pos-mainbottom-a .cm-mosaic-item .cm-mes { margin-top: 10px; }
.cm-menu .wp-block-navigation__submenu-icon svg { width: 10px; height: 10px; }

/* pàgina interior (mesurat a «Servei de selecció de personal») */
.cm-titol { font-size: 19.6px; color: var(--cm-text); margin: 0 0 16px; }
.cm-lateral .cm-modul { background: var(--cm-gris-peu); padding: 25px; }
.cm-menu-seccio li { border: 0; }
.cm-menu-seccio a, .cm-menu-seccio span { color: #000; font-size: 14px; padding: 5px 15px 5px 0; position: relative; padding-left: 18px; }
.cm-menu-seccio a::before { content: ""; position: absolute; left: 0; top: 11px; width: 9px; height: 9px; border-radius: 50%; background: #000; }
.cm-menu-seccio ul a::before { width: 6px; height: 6px; top: 12px; background: var(--cm-gris-menu); }
.cm-menu-seccio a:hover { color: var(--cm-blau-fosc); font-weight: 400; text-decoration: underline; }
.cm-menu .wp-block-navigation__container > .cm-actiu > .wp-block-navigation-item__content { background: var(--cm-gris-actiu); color: #fff; }
.cm-pos-showcase-a .cm-modul-cos:not(:has(.cm-slider, img, iframe)) { display: none; }
/* menú lateral: com al Joomla (showAllChildren = 0), els fills només de la branca on som */
.cm-menu-seccio ul { display: none; }
.cm-menu-seccio li.actiu > ul, .cm-menu-seccio li:has(.actiu) > ul { display: block; }

/* ================================================================ ajustos després de comparar amb la web vella (24/10/2026) */

/* mosaic: les imatges amb la seva proporció, com el RokSprocket */
.cm-mosaic-img { aspect-ratio: auto; background: none; }
.cm-mosaic-img img { height: auto; object-fit: initial; }
.cm-mosaic { align-items: start; }
/* «Consulta altres serveis…»: caixes quadrades grises amb el logo sencer */
.cm-pos-mainbottom-a .cm-mosaic-img { background: #f2f2f2; }
.cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]) { font: 400 26px/1.3 Arial, Helvetica, sans-serif; color: var(--cm-text); }
.cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]) span[style*="font-size"] { font-size: 26px !important; }

/* text: enllaços sense subratllar i en negreta, cites amb ratlla gris */
.cm-text a, .cm-modul-cos a { text-decoration: none; }
.cm-text a:hover, .cm-modul-cos a:hover { text-decoration: underline; }

/* barra lateral: el gris arriba fins a baix del contingut */
.cm-amb-lateral { align-items: stretch; }
.cm-lateral { background: var(--cm-gris-peu); }
.cm-lateral .cm-modul { background: none; margin-bottom: 0; }

/* franja blava: subtítol més clar */
.cm-pos-showcase-a .cm-modul-sub { color: #a9dbe8; }

/* molles */
.cm-sep { color: var(--cm-blau-fosc); }

/* menú: fletxeta dins la caixa, ratlla entre seccions */
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item { display: flex; align-items: center; padding: 8px 17px 8px 15px; border-right: 1px solid #e5e5e5; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 0 !important; border: 0 !important; background: none !important; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item:hover,
.cm-menu .wp-block-navigation__container > .cm-actiu { background: var(--cm-gris-actiu); color: #fff; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.cm-menu .wp-block-navigation__container > .cm-actiu > .wp-block-navigation-item__content { color: #fff; }
.cm-menu .wp-block-navigation__submenu-icon { margin-left: 5px; width: 10px; height: 10px; }
.cm-menu .wp-block-navigation__submenu-container { top: 100% !important; left: 0; }

/* fitxa de notícia (K2) */
.cm-k2 .cm-data { font-size: 11px; color: #999; margin: 0 0 14px; }
.cm-k2 .cm-titol { margin-bottom: 18px; }
.cm-k2-imatge { text-align: center; margin: 0 0 18px; }
.cm-k2-imatge img { max-width: 400px; width: 100%; height: auto; }
.cm-k2-petita img { max-width: 130px; }
.cm-modificat { text-align: right; font-size: 11px; color: #999; margin-top: 24px; }

/* llistat d'una categoria (K2) */
.cm-k2-categoria { background: #f7f7f7; border: 1px solid #e5e5e5; padding: 14px 18px 14px 74px; margin-bottom: 26px; position: relative; }
.cm-k2-categoria::before { content: ""; position: absolute; left: 18px; top: 16px; width: 40px; height: 32px; background: #222; border-radius: 3px 3px 4px 4px; clip-path: polygon(0 12%, 38% 12%, 46% 0, 100% 0, 100% 100%, 0 100%); }
.cm-k2-categoria h2 { font-size: 15px; margin: 0 0 4px; color: #333; }
.cm-k2-categoria h2 span { font-weight: 400; }
.cm-k2-categoria p { margin: 0; font-size: 13px; }
.cm-k2-item { margin-bottom: 34px; padding-bottom: 10px; }
.cm-k2-item h3 { font-size: 14px; margin: 0 0 14px; }
.cm-k2-item h3 a { color: var(--cm-blau-fosc); text-decoration: none; }
.cm-k2-item .cm-data { font-size: 10px; color: #999; margin: 0 0 4px; }
.cm-llegir { display: inline-block; font-size: 12px; margin-top: 6px; text-decoration: none; }

/* mòdul de notícies (News Show Pro) */
.cm-nsp-llista { margin: 10px 0 30px; }
.cm-nsp { margin-bottom: 26px; overflow: hidden; }
.cm-nsp h3 { font: 700 17px Arial, Helvetica, sans-serif; margin: 0 0 4px; }
.cm-nsp h3 a { color: var(--cm-blau-fosc); text-decoration: none; }
.cm-nsp-info { font-size: 10px; color: #999; margin: 0 0 10px; }
.cm-nsp-info span { color: var(--cm-blau-fosc); }
.cm-nsp-cos { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; }
.cm-nsp-cos p { margin: 0; }
.cm-nsp-img img { width: 80px; height: auto; display: block; }
.cm-nsp-mes { float: right; margin-top: 8px; border: 1px solid var(--cm-blau-fosc); padding: 6px 12px; font: 700 12px Arial; text-decoration: none; }
.cm-pos-content-bottom-a .cm-modul-titol, .cm-pos-content-bottom-c .cm-modul-titol { font-size: 14px; line-height: 19.6px; color: #000; text-transform: uppercase; margin: 10px 0 15px; }

/* segona tanda de comparació */
span.readon a { color: inherit; text-decoration: none; }
.cm-text iframe { border: 0; }
.cm-enllacos { margin: 0; padding-left: 14px; font-size: 11px; line-height: 1.75; }
.cm-enllacos a { text-decoration: none; }
.cm-text td > h1, .cm-text td > h2, .cm-text td > h3, .cm-text td > h4, .cm-text th > h2, .cm-text th > h3 { margin: 9px 0; line-height: 1.3; }

/* tercera tanda */
.cm-menu-seccio ul { display: block; }
.cm-menu-seccio.cm-sense-fills ul { display: none; }
/* pàgines sense capçalera ni molles: el contingut no s'enganxa al menú */

/* ================================================================ detalls menors (26/10/2026) */
.cm-cap { position: relative; }
.cm-banderes { display: flex; justify-content: flex-end; gap: 2px; height: 0; position: relative; top: 4px; z-index: 2; padding: 0 25px; }
.cm-banderes a { display: inline-block; height: 16px; opacity: .8; }
.cm-banderes a:hover { opacity: 1; }
.cm-banderes img { display: block; }
.cm-etiquetes { margin: 20px 0 0; display: flex; flex-wrap: wrap; gap: 3px; }
.cm-etiquetes span { background: var(--cm-blau-fosc); color: #fff; font: 700 9px/1 Arial, sans-serif; padding: 3px 4px; border-radius: 2px; }
.cm-k2-eines { background: #f7f7f7; text-align: right; font-size: 9px; color: #999; padding: 6px 10px; margin: 0 0 18px; }
.cm-k2-eines a { color: var(--cm-blau-fosc); text-decoration: none; }
.cm-k2-eines button { border: 0; background: none; color: var(--cm-blau-fosc); cursor: pointer; padding: 0 2px; font-size: 11px; }
.cm-compartir { margin: 30px 0 0; display: flex; gap: 24px; }
.cm-compartir a { display: inline-block; font: 700 9px/1 Arial, sans-serif; color: #fff; text-decoration: none; padding: 4px 8px; border-radius: 3px; }
.cm-x { background: #000; }
.cm-in { background: #0a66c2; }
.cm-principi { text-align: right; font-size: 14px; margin: 18px 0 0; }
.cm-principi a { text-decoration: underline; }
.cm-galetes { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; background: #000; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 28px; font: 14px/1.4 Arial, sans-serif; }
.cm-galetes[hidden] { display: none; }
.cm-galetes p { margin: 0; }
.cm-galetes a { color: #fff; text-decoration: underline; margin-right: 8px; }
.cm-galetes button { border: 2px solid #fff; background: #fff; color: #000; font: 700 12px Arial; padding: 6px 12px; margin-left: 8px; cursor: pointer; }
.cm-galetes button[data-cm-galetes="no"] { background: #000; color: #fff; }
@media print { .cm-cap, .cm-peu, .cm-lateral, .cm-galetes, .cm-k2-eines, .cm-compartir, .cm-principi { display: none !important; } }

/* ================================================================ alineació al píxel amb la web vella (mesures de mesura.mjs, 26/10/2026) */
body { line-height: 24px; }
/* banderes: x 1161, y 23 */
.cm-banderes { top: 23px; padding: 0; gap: 1px; }
/* franja gris: logo a x+30, y+8; enllaços superiors a x 335, y 51, caixes de 26 px */
.cm-cap-franja { align-items: flex-start; gap: 0; padding: 8px 0 0 30px; height: 77px; min-height: 0; box-sizing: border-box; }
.cm-superior { gap: 0; margin: 8px 0 0 41px; }
.cm-superior a { display: inline-block; padding: 5px 15px; line-height: 16px; }
/* menú: seccions de 65 px d'alçada, caixa grisa de 34 px només darrere el text */
.cm-cap-menu { height: 68px; min-height: 0; align-items: flex-start; padding-top: 1px; box-sizing: border-box; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item { position: relative; height: 65px; padding: 0 17px 0 15px; border-right: 1px solid #e5e5e5; background: none !important; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item::before { content: ""; position: absolute; left: 11px; right: 13px; top: 16px; height: 34px; background: var(--cm-gris-actiu); opacity: 0; z-index: -1; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item:hover::before,
.cm-menu .wp-block-navigation__container > .cm-actiu::before { opacity: 1; }
.cm-menu .wp-block-navigation__container { isolation: isolate; }
.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { line-height: 65px; }
.cm-menu .wp-block-navigation__submenu-icon { margin-left: 6px; }
/* capçalera (top-a): 25 px a dalt i 40 a baix, com #rt-top */
.cm-pos-top-a .cm-contenidor { padding: 25px 25px 40px; }
.cm-pos-top-a + .cm-molles .cm-contenidor { padding-top: 0; }
/* franja blava: 103 px, títol a +20 */
.cm-pos-showcase-a .cm-modul { padding: 20px 25px 25px; }
.cm-pos-showcase-a .cm-modul-titol { line-height: 28.8px; }
.cm-pos-showcase-a .cm-modul-sub { line-height: 29px; }
/* molles: bloc de 70 px, text normal */
.cm-molles .cm-contenidor { padding: 20px 25px 26px; line-height: 24px; }
.cm-molles-on { font-weight: 400; }
/* cos: lateral de 300 px enganxat a l'esquerra, contingut a x 408 i 850 d'ample, tot comença a +35 */
.cm-cos .cm-contenidor.cm-amb-lateral { grid-template-columns: 300px 850px; gap: 25px; padding: 0 25px 40px 0; }
.cm-amb-lateral .cm-principal { padding-top: 35px; }
.cm-lateral .cm-modul { padding: 35px 10px 0 25px; }
.cm-lateral .cm-modul + .cm-modul { padding-top: 25px; }
.cm-lateral .cm-modul-titol { line-height: 19.6px; margin: 0 0 14px; }
.cm-menu-seccio { margin-left: -15px; }
.cm-menu-seccio a, .cm-menu-seccio span { padding: 5px 15px 5px 33px; line-height: 24px; }
.cm-menu-seccio a::before { left: 15px; top: 12px; }
.cm-menu-seccio ul a::before { top: 14px; }
/* títol i «Categoria» de l'article */
.cm-titol { line-height: 1.4; margin: 0 0 13px; }
.cm-peu h2, .cm-lateral h2 { line-height: 1.4; }
/* el grup <main> del tema posa 1.2rem entre blocs: el Joomla no en tenia */
.cm-main > * { margin-block-start: 0 !important; }
.cm-menu .wp-block-navigation__submenu-icon { margin-left: 12px; width: 14px; }
.cm-peu-caixa { grid-template-columns: repeat(3, 350px); gap: 50px; min-height: 418px; box-sizing: border-box; }
.cm-banderes { padding-right: 4px; }
.cm-peu-caixa { font-size: 14px; }
/* marges del text com a la plantilla del Joomla */
.cm-text p { margin: 0 0 15px; }
.cm-text li > p { margin: 0 0 15px; }
.cm-etiquetes { margin: 10px 0; }
/* Bootstrap del Joomla: imatges en línia centrades verticalment (sense l'espai de la línia de base) */
.cm-text img, .cm-modul img { vertical-align: middle; }
/* ---------------------------------------------------------------- portada (mesures de blocs.mjs) */
.cm-favth .cm-banderes { top: 21px; }
.cm-favth .cm-superior { margin-top: 4px; }
.cm-favth .cm-slider, .cm-favth .cm-slider li { height: 360px; }
.cm-favth .cm-slider img { height: 360px; object-fit: cover; }
.cm-favth .cm-cos .cm-contenidor, .cm-favth .cm-posicio .cm-contenidor { padding: 0; }
.cm-favth .cm-pos-content-top-a .cm-modul { margin: 0; padding: 10px; }
.cm-favth .cm-pos-content-top-a .cm-modul:has(.cm-hovers) { padding: 0; margin-top: 28px; }
.cm-favth .cm-pos-content-top-a .cm-modul-cos > p { margin: 0; line-height: 20px; }
.cm-favth .cm-hovers { gap: 28px 30px; margin: 0; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.cm-favth .cm-hover a { border-radius: 0; }
.cm-favth .cm-hover-img img { aspect-ratio: 3 / 2; }
.cm-favth .cm-hover-titol { height: 42px; box-sizing: border-box; padding: 10px 20px; font-size: 16px; line-height: 22px; text-transform: uppercase; overflow: hidden; }
.cm-favth .cm-pos-mainbottom-a .cm-mosaic { gap: 24px; margin: 10px 0; }
.cm-favth .cm-peu h2 { line-height: 15px; }
.cm-favth .cm-peu-caixa { min-height: 367px; }
.cm-favth .cm-pos-content-top-a .cm-modul:first-child { margin: 10px 10px 0; padding: 0; }
.cm-favth .cm-pos-content-top-a .cm-modul:first-child .cm-modul-cos > p:first-child { height: 20px; }
.cm-favth .cm-pos-content-top-a .cm-modul:first-child .cm-modul-cos > p + p { height: 0; overflow: hidden; }
.cm-favth .cm-pos-content-top-a .cm-modul:has(.cm-hovers) { margin-top: 28px; }
.cm-favth .cm-pos-content-top-a .cm-modul:first-child + .cm-modul { margin-top: 98px; }
.cm-favth .cm-hover-img img { aspect-ratio: 380 / 254; }
.cm-favth .cm-hover-titol { height: auto; min-height: 42px; }
/* «Consulta altres serveis de Promoció Econòmica»: 36 pt (48 px) com al Joomla */
.cm-favth .cm-pos-content-bottom-a .cm-modul { margin: 35px 0 0; height: 129px; overflow: hidden; }
.cm-favth .cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]) { margin: 10px 0; line-height: 26px; }
.cm-favth .cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]):first-child { margin-top: 0; }
.cm-favth .cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]) span[style*="font-size"] { font-size: 48px !important; line-height: 53px; }
/* mosaic de la portada: 281 px, Més a +16 de la imatge */
.cm-favth .cm-pos-mainbottom-a .cm-modul:has(.cm-mosaic) { padding-top: 10px; }
.cm-favth .cm-pos-mainbottom-a .cm-mosaic { grid-template-columns: repeat(4, 281px); gap: 24px; margin: 0; }
.cm-mosaic-item { padding-bottom: 29px; }
.cm-mes { line-height: 16px; padding: 10px 20px; margin-top: 16px; }
.cm-pos-mainbottom-a .cm-mosaic-item .cm-mes { margin-top: 16px; }
.cm-favth .cm-pos-mainbottom-a h4 { margin: 10px 0; line-height: 31px; }
.cm-favth .cm-pos-content-bottom-a .cm-modul { margin-top: 36px; }
.cm-favth .cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]) + h3:not([class]) { margin-top: 20px; }
.cm-favth .cm-pos-mainbottom-a h4 { font-family: Arial, Helvetica, sans-serif; line-height: 20px; }
.cm-favth .cm-pos-mainbottom-a h4 span { line-height: 31px; }
.cm-favth .cm-pos-mainbottom-a .cm-modul-cos > p { margin: 0 0 10px; line-height: 20px; }
.cm-favth .cm-pos-mainbottom-a h4 { font: 400 14px/20px "Helvetica Neue", Helvetica, Arial, sans-serif; }
.cm-favth .cm-pos-mainbottom-a h4 span { line-height: 1.1; }
/* peu de la portada: títols a +45 i línies de 20 px (al Joomla, la portada tenia un estil propi) */
.cm-favth .cm-peu-caixa { padding-top: 45px; font-size: 14px; line-height: 20px; }
.cm-favth .cm-peu h2 { margin-bottom: 16px; }
.cm-favth .cm-peu p { margin: 0 0 10px; }
.cm-favth .cm-peu p.smallmarginbottom { margin: 0 0 5px; }
.cm-favth .cm-peu-cerca { margin: -20px 0 25px; }
.cm-favth .cm-pos-mainbottom-a h4 span { line-height: 20.5px; }
.cm-favth .cm-peu { margin-top: 80px; }
.cm-favth .cm-peu-cerca { margin: -20px 0 90px; }
.cm-peu img { vertical-align: middle; }
.cm-favth .cm-logos { padding-top: 76px; }
.cm-logos { padding-top: 25px; }
.cm-logos p { margin: 0 0 15px; line-height: 24px; }
.cm-favth .cm-logos { padding-top: 76px; }
.cm-favth .cm-logos p { margin: 0 0 6px; }
.cm-favth .cm-peu { margin-top: 74px; }
.cm-favth .cm-peu-caixa { height: 367px; min-height: 0; }
.cm-favth .cm-pos-mainbottom-a h4 span { line-height: 19px; }
.cm-menu-seccio li { margin: 0 0 5px; }
.cm-superior a::before { margin-right: 16px; }
.cm-sep { display: inline-block; width: 20px; margin: 0; text-align: center; }
.cm-lateral .cm-modul-titol { margin-bottom: 15px; }
.cm-sep { width: 22px; }

/* ---------------------------------------------------------------- mòbil: les mides al píxel només valen per a l'escriptori */
@media (max-width: 1240px) {
	.cm-cos .cm-contenidor.cm-amb-lateral { grid-template-columns: 300px minmax(0, 1fr); }
	.cm-peu-caixa { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
	.cm-favth .cm-pos-mainbottom-a .cm-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.cm-banderes { top: 6px; padding-right: 8px; }
	.cm-cap-franja { height: auto; padding: 26px 16px 10px; flex-wrap: wrap; gap: 6px 0; }
	.cm-superior { margin: 0; }
	.cm-superior a { padding: 3px 12px 3px 0; }
	.cm-cap-menu { height: auto; min-height: 52px; padding: 0 16px; align-items: center; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item { height: auto; padding: 0; border: 0; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { line-height: 1.6; }
	.cm-pos-top-a .cm-contenidor { padding: 10px 16px 20px; }
	.cm-cos .cm-contenidor.cm-amb-lateral { grid-template-columns: minmax(0, 1fr); padding: 0 16px 40px; gap: 20px; }
	.cm-amb-lateral .cm-principal { padding-top: 0; }
	.cm-lateral .cm-modul, .cm-lateral .cm-modul + .cm-modul { padding: 20px; }
	.cm-menu-seccio { margin-left: 0; }
	.cm-peu-caixa, .cm-favth .cm-peu-caixa { grid-template-columns: minmax(0, 1fr); height: auto; min-height: 0; padding: 25px 16px; }
	.cm-favth .cm-peu-cerca { margin: 0 0 20px; }
	.cm-favth .cm-peu { margin-top: 30px; }
	.cm-favth .cm-logos, .cm-logos { padding: 20px 16px 40px; }
	.cm-favth .cm-slider, .cm-favth .cm-slider li, .cm-favth .cm-slider img { height: auto; }
	.cm-favth .cm-pos-content-top-a .cm-modul:first-child + .cm-modul { margin-top: 30px; }
	.cm-favth .cm-pos-content-top-a .cm-modul:first-child .cm-modul-cos > p:first-child { height: auto; }
	.cm-favth .cm-cos .cm-contenidor, .cm-favth .cm-posicio .cm-contenidor { padding: 0 16px; }
	.cm-favth .cm-pos-content-bottom-a .cm-modul { height: auto; }
	.cm-favth .cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]) span[style*="font-size"] { font-size: 28px !important; line-height: 34px; }
	.cm-favth .cm-pos-mainbottom-a .cm-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cm-galetes { flex-direction: column; align-items: flex-start; padding: 12px 16px; font-size: 13px; }
}
/* pàgines sense lateral: el component comença a +25 de les molles, com #rt-mainbody */
.cm-cos .cm-contenidor:not(.cm-amb-lateral) > .cm-principal { padding-top: 25px; }
/* mosaic: 3 columnes de 366 px (26 de separació) i títol de 22 px */
.cm-mosaic { column-gap: 26px; }
.cm-mosaic-titol { line-height: 22px; }
/* Sense lateral, cada mòdul i el component són «rt-block» del Joomla: 25 px a dalt i a baix */
.cm-cos .cm-contenidor:not(.cm-amb-lateral) > .cm-principal { padding-top: 0; }
.cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-top-a .cm-modul,
.cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-bottom-a .cm-modul { padding: 25px 0; margin: 0; }
.cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-article { padding: 25px 0; }
.cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-article:not(:has(.cm-titol)):not(:has(.cm-text > *)) { padding: 32px 0 0; }
.cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-mosaic { margin: 0; }
/* caixa del mosaic: imatge, +15 títol (22), +14 text (21 per línia), +15 Més, +30 */
.cm-mosaic-titol { margin: 15px 0 14px; }
.cm-mosaic-item p { font-size: 13px; line-height: 21px; margin: 0 0 15px; }
.cm-mosaic-item p + .cm-mes { margin-top: 0; }
.cm-mosaic-item { padding-bottom: 30px; }
.cm-favth .cm-mosaic-item { padding-bottom: 29px; }
.cm-mosaic-titol + .cm-mes { margin-top: 0; }
.cm-modul-cos > p { margin: 0 0 15px; }
.cm-pos-top-a .cm-modul-cos > p { margin: 0; }
.cm-mosaic { column-gap: 24px; }
.cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-article:not(:has(.cm-titol)):not(:has(.cm-text > *)) { padding: 32px 0 25px; }
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-top-a .cm-modul:has(.cm-hovers),
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-bottom-a .cm-modul { padding: 0; }
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-top-a .cm-modul:first-child { padding: 0; }
/* el títol (h2 al Joomla) porta 10 px de marge a dalt */
.cm-titol { margin-top: 10px; }
.cm-amb-lateral .cm-principal { padding-top: 25px; }
.cm-pos-top-a + .cm-molles .cm-contenidor { padding-top: 20px; }
/* portada: els marges propis guanyen la regla general dels rt-block */
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-top-a .cm-modul:first-child { margin: 10px 10px 0; padding: 0; }
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-top-a .cm-modul:has(.cm-hovers) { margin-top: 28px; padding: 0; }
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-top-a .cm-modul:first-child + .cm-modul { margin-top: 98px; }
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-bottom-a .cm-modul { margin-top: 36px; padding: 0; }
/* final del cos: el Joomla tenia sempre un mòdul en blanc de 89 px a «bottom-a» (299) abans dels altres mòduls i del peu */
.cm-cos .cm-contenidor, .cm-cos .cm-contenidor.cm-amb-lateral { padding-bottom: 0; }
.cm-cos::after { content: ""; display: block; height: 89px; }
.cm-peu { margin-top: 0; }
.cm-pos-bottom-a .cm-modul { padding: 15px 0 25px; }
.cm-favth .cm-cos::after { display: none; }
.cm-pos-bottom-a .cm-mosaic { margin: 0; }
.cm-pos-bottom-a .cm-mosaic { padding-top: 10px; }
.cm-pos-bottom-a .cm-modul { padding-bottom: 13px; }

/* ------------------------------------------------ icones Font Awesome 3.2.1 (les de Gantry al Joomla) */
@font-face { font-family: 'FontAwesome'; src: url('assets/fonts/fontawesome-webfont-3.2.1.woff') format('woff'); font-weight: normal; font-style: normal; font-display: block; }
/* barra superior (#topMenu, ul.menu li a:before \f138) */
.cm-superior a::before { content: "\f138"; font-family: FontAwesome; display: inline; margin-right: 10px; width: auto; height: auto; border-radius: 0; background: none; vertical-align: baseline; }
/* menú lateral: ul.menu li a { padding: 5px 15px } i a:before \f138; submenú amb 25 px de marge; sense estil d'actiu ni de hover */
.cm-menu-seccio { margin-left: -15px; }
.cm-menu-seccio a, .cm-menu-seccio span { padding: 5px 15px; position: static; }
.cm-menu-seccio a::before, .cm-menu-seccio ul a::before { content: "\f138"; font-family: FontAwesome; display: inline; margin-right: 10px; position: static; width: auto; height: auto; border-radius: 0; background: none; }
.cm-menu-seccio ul { padding-left: 0; margin-left: 25px; }
.cm-menu-seccio a:hover { color: #000; text-decoration: none; }
/* molles: a:after \f101 amb 10 px a banda i banda; l'element actual en gris */
.cm-molles a::after { font-family: FontAwesome; content: "\f101"; margin: 0 10px; }
.cm-molles-actiu { color: #999; }
/* «Categoria:» (\f0c9) i imprimir / correu (\f02f, \f0e0) */
/* menú principal com .gf-menu.l1 de Gantry: li amb vora dreta #e6e6e6, .item { padding: 0 17px 0 15px },
   .menu-item-bg { padding: 5px 27px 5px 0 } (la caixa grisa de l'actiu és aquesta), fletxa \f107 a right: 30px */
@media (min-width: 901px) {
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item { border-left: 1px solid transparent; border-right: 1px solid #e6e6e6; padding: 0 17px 0 15px; height: 65px; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item:last-child { border-right-color: transparent; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item::before { display: none; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 5px 27px 5px 0 !important; line-height: 24px; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
	.cm-menu .wp-block-navigation__container > .cm-actiu > .wp-block-navigation-item__content { background: #999 !important; color: #fff; border-radius: 3px; }
	/* la fletxa per sobre del fons de l'enllaç actiu (que, com a element flex amb z-index 1, la tapava) */
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon { z-index: 2; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon { position: absolute; right: 30px; top: 50%; margin: -12px 0 0; width: auto; height: 24px; padding: 0; color: inherit; pointer-events: none; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon svg { display: none; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon::after { content: "\f107"; font: 18px/24px FontAwesome; opacity: .8; }
	.cm-menu .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon,
	.cm-menu .wp-block-navigation__container > .cm-actiu > .wp-block-navigation__submenu-icon { color: #fff; }
}
/* subtítol de la franja blava: negre al 50 %, com al Joomla */
.cm-pos-showcase-a .cm-modul-sub { color: #000; opacity: .5; }
/* títols de mòdul, de pàgina i del peu: .title { font-weight: bold } del Joomla (per sobre del Bootstrap 3 de la portada) */
.cm-modul-titol, .cm-peu h2, .cm-titol { font-weight: bold; }
/* peu: text negre (.custom) i botó «Cerca» en negreta (.button) */
.cm-peu-caixa { color: #000; }
.cm-peu-cerca button { font-weight: bold; }
/* pàgines amb el Bootstrap 3 de FavThemes: allà on al Joomla manaven les seves regles d'elements (lletra del cos,
   a { color: #337ab7 }, h3 { font-weight: 500 }), el tema no les ha de tapar */
.cm-favth .cm-menu.wp-block-navigation, .cm-favth .cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]) { font-family: inherit; }
.cm-favth .cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]) { font-weight: 500; }
.cm-favth .cm-peu a { color: #337ab7; }
.cm-favth .cm-titol { font-size: 30px; font-weight: 500; line-height: 1.1; }
/* FavImageHover com al Joomla: els tres mòduls enganxats (sense marge ni farciment de .rt-block), el primer a y 654 */
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-top-a .cm-modul:has(.cm-favimagehover) { padding: 0; margin: 0; }
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-top-a .cm-modul:first-child + .cm-modul:has(.cm-favimagehover) { margin-top: 84px; }
/* etiquetes de les fitxes (ul.tags.inline + .label.label-info del Bootstrap 2 del tema) */
.cm-etiquetes { display: block; margin: 10px 0; line-height: 24px; }
.cm-etiquetes span, .cm-etiquetes a { display: inline; margin: 0 5px 0 0; padding: 1px 4px 2px; font: 700 11.844px/14px Arial, Helvetica, sans-serif; color: #fff; background: rgb(45, 105, 135); border-radius: 3px; text-shadow: rgba(0, 0, 0, .25) 0 -1px 0; white-space: nowrap; vertical-align: baseline; }
/* mosaic de seccions (RokSprocket): títol h2 a 1.1em i text a 14 px amb 1.5em d'interlineat */
.cm-mosaic-titol { font-size: 1.1em; }
.cm-mosaic-item p { font-size: 14px; line-height: 1.5em; }
/* color de text de les franges, com #rt-bottom .rt-container del Joomla */
.cm-pos-bottom-a, .cm-pos-bottom-b, .cm-pos-bottom-c { color: #024757; }
/* peu (mesurat a #rt-footer): .module-title { margin-bottom: 15px }, p { margin: 0 0 15px }, .smallmarginbottom 5px;
   el cercador és un .rt-block propi (25 px de farciment) i «Canal d'informació» un altre: títol 125 px per sota del formulari */
.cm-peu h2 { margin: 0 0 15px; }
.cm-peu p { margin: 0 0 15px; }
.cm-peu p.smallmarginbottom { margin: 0 0 5px; }
.cm-peu-cerca { gap: 4px; margin: -10px 0 80px; align-items: center; }
.cm-peu-cerca input { padding: 0 15px; }
.cm-peu-cerca button { height: auto; padding: 10px 20px; line-height: normal; font-size: 14px; border-radius: 3px; }
/* fitxa K2 (#k2Container.itemView): .itemBody { padding: 8px 0 } amb els flotants netejats, «Tornar al principi»
   16 px per sota (.itemLinks), i el contenidor amb 24 px de farciment i 24 de marge a baix */
/* .readon del tema (Gantry + rt_lexicon-custom, que en fixa amb !important el color, la vora i el fons, també al :hover) */
.readon { display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; padding: 10px 20px; border: 1px solid #12505d !important; border-radius: 3px;
	font-size: 14px; font-weight: bold; line-height: normal; text-transform: none; color: #12505d !important; background-color: #fff !important; }
.nspArt h4.nspHeader { line-height: 28.8px; }
/* fitxa K2: el .rt-block que l'embolcalla, 25 px a dalt i a baix (sense lateral, el farciment de dalt el posa l'article) */
.cm-cos .cm-article.cm-k2 { padding-bottom: 25px; }
.cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-article.cm-k2 { padding-top: 25px; }
/* vista de categoria K2: el .rt-block que l'embolcalla (25 px a dalt i a baix) */
.cm-principal:has(> .itemListView) { padding: 25px 0; }

/* etiquetes enllaçades (label label-info del Bootstrap 2 de Gantry) */
.cm-etiquetes a, .cm-etiquetes a:hover { color: #fff; text-decoration: none; }

/* barra lateral: mòdul sense classe (no box2), com el .rt-block per defecte de #rt-sidebar-a: sense caixa, 25 px de
   marge i enllaços #002b36 */
.cm-lateral .cm-modul:not(.box2), .cm-lateral .cm-modul:not(.box2) + .cm-modul { padding: 25px; }
.cm-lateral .cm-modul:not(.box2) .cm-modul-titol { margin: 0 0 15px; }
.cm-lateral .cm-modul:not(.box2) .cm-menu-seccio { margin-right: -15px; }
.cm-lateral .cm-modul:not(.box2) a:not(.readon) { color: #002b36; }
/* entrada del menú lateral de la pàgina actual (ul.menu li.active.current > a::before del Lexicon) */
.cm-menu-seccio li.actiu > a::before { content: "\f0a9"; }
/* el peu sempre a sota: un flotant del contingut que no es tanca no el pot arrossegar (Gantry ho netejava igual) */
.wp-site-blocks > footer, .cm-peu { clear: both; }

/* fitxes i llistes K2 sense lateral: el marge de dalt del K2 (25 px) per sobre de les regles generals de la pàgina; a
   les URL /component/k2/… (sense entrada de menú) el mòdul buit de la posició de molles feia 40 px */
.cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-article.cm-k2.cm-k2.cm-k2 { padding-top: 25px; }
.cm-main > .cm-cos:first-child .cm-contenidor:has(> .cm-principal > .cm-k2) { padding-top: 40px; }
.cm-cos .cm-contenidor:not(.cm-amb-lateral) > .cm-principal:has(> .itemListView) { padding: 25px 0 0; }
.cm-principal > .itemListView { margin-bottom: 24px; }
.cm-principal > .itemListView.cm-obert { margin-bottom: 0; }
.cm-cos .cm-contenidor:not(.cm-amb-lateral) > .cm-principal:has(> .itemListView.cm-obert) { padding-bottom: 25px; }

/* molles com els <li> flotants del Joomla: cada una salta sencera de línia i el bloc fa max(70 px, els flotants) */
.cm-molles .cm-contenidor { padding-bottom: 0; display: flow-root; }
.cm-molles .cm-contenidor::before { content: ""; float: left; height: 50px; }
.cm-molles .cm-contenidor > * { display: inline-block; vertical-align: top; }
/* amb lateral, el mòdul de dalt del contingut anava dins el seu rt-block (25 px) i el cos dins un altre (25 px) */
.cm-amb-lateral .cm-pos-content-top-a .cm-modul { margin-bottom: 0; padding-bottom: 50px; }

/* articles (diagnosi del grup C): */
/* el bloc d'adjunts del Joomla tancava els flotants al final de cada article */
.cm-text::after { content: ""; display: block; clear: both; margin-bottom: .5em; }
/* amb lateral, content-bottom-a anava després del rt-block de l'article (25 px) i cada mòdul era un rt-block */
.cm-amb-lateral .cm-pos-content-bottom-a { padding-top: 25px; }
.cm-amb-lateral .cm-pos-content-bottom-a .cm-modul { padding: 25px 0; margin: 0; }
.cm-mosaic { row-gap: 20px; }
/* 4 elements inline-block de 24,7 % (amb l'espai entre ells) no hi cabien amb lateral: en sortien 3 per fila */
.cm-amb-lateral .cm-mosaic[style*="--cm-cols:4"] { grid-template-columns: repeat(3, 194.875px); }
/* pàgines sense molles: el #rt-breadcrumbs buit feia 40 px (només al contenidor del cos, no als de les posicions) */
.cm-main > .cm-cos:first-child .cm-posicio .cm-contenidor { padding-top: 0; }
.cm-main > .cm-cos:first-child > .cm-contenidor { padding-top: 40px; }
/* mòdul d'enllaços web dins el contingut (ul.weblinks) */
.cm-principal .cm-enllacos { font-size: 14px; line-height: 24px; margin: 0 0 15px 20px; padding: 0; }
/* separador i cites com el Bootstrap 2 */
.cm-text hr { margin: 20px 0; border-width: 1px 0; border-style: solid none; border-color: #eee #000 #fff; height: auto; }
.cm-text blockquote p { margin-bottom: 0; }
.cm-lateral .cm-modul:not(.box2) > .cm-modul-titol { margin-top: 10px; }
/* pàgines amb la maqueta de la portada: la franja de content-bottom-a sobre el gris de #rt-main, text blanc */
.cm-favth .cm-pos-content-bottom-a { background: #e7e7e7; color: #fff; padding: 20px 0 10px; }
.cm-favth .cm-cos .cm-contenidor:not(.cm-amb-lateral) .cm-pos-content-bottom-a .cm-modul { margin-top: 0; }
.cm-favth .cm-article { padding-bottom: 0; }
.cm-superior li.actiu > a::before { content: "\f0a9"; }
/* mosaic de 3 columnes com el RokSprocket: <li> inline-block del 33 % de (amplada + 20 px), amb 10 px de marge a cada
   costat i l'espai en blanc entre elements (4 px): columnes de 33 % · (W + 20) − 20 px separades 24 px */
.cm-mosaic[style*="--cm-cols:3"] { grid-template-columns: repeat(3, calc((100% + 20px) * .33 - 20px)); column-gap: 24px; }
/* maqueta de la portada: les etiquetes amb la lletra del Bootstrap 3 de FavThemes i el text de la franja grisa en blanc */
.cm-favth .cm-etiquetes a, .cm-favth .cm-etiquetes span { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
body.cm-favth:not(.home) .cm-pos-content-bottom-a .cm-modul-cos, body.cm-favth:not(.home) .cm-pos-content-bottom-a .cm-modul-cos > h3:not([class]), body.cm-favth:not(.home) .cm-pos-content-bottom-a .cm-modul-cos p { color: #fff; }

/* carrusels (tema.js) */
.cm-slider ul { list-style: none; margin: 0; padding: 0; }
/* DJ-ImageSlider: una tira de diapositives separades 10 px que es mou amb left; apareix en carregar (opacity .4 s) */
.cm-slider-dj { opacity: 0; transition: opacity .4s; }
.cm-slider-dj.cm-carregat { opacity: 1; }
.cm-slider-dj ul { position: relative; left: 0; display: flex; gap: 10px; width: max-content; }
.cm-slider-dj li { flex: none; }
.cm-slider-nav { position: absolute; top: 10px; right: 10px; line-height: 24px; transition: opacity .2s .05s; }
.cm-slider-nav.cm-sobre { opacity: 0; }
.cm-slider:hover .cm-slider-nav, .cm-slider:focus-within .cm-slider-nav { opacity: 1; }
.cm-slider-nav span { display: inline-block; width: 10px; height: 10px; margin: 0 3px; border: 2px solid #fff; border-radius: 50%; background: #444; opacity: .5; cursor: pointer; transition: opacity .4s; vertical-align: middle; }
.cm-slider-nav span.actiu, .cm-slider-nav span:hover { opacity: 1; }
/* Slideshow CK (Camera): diapositives superposades amb fos; fletxes i pausa (sprite de Camera) amb el ratolí a sobre */
.cm-slider-ck ul { position: relative; height: 100%; }
.cm-slider-ck li { position: absolute; inset: 0; opacity: 0; }
.cm-slider-ck li:first-child { position: relative; }
.cm-slider-ck li.actiu { opacity: 1; z-index: 1; }
.cm-ck-prev, .cm-ck-next, .cm-ck-ordres { position: absolute; top: 50%; width: 40px; height: 40px; margin-top: -20px; background: rgba(216, 216, 216, .85); cursor: pointer; z-index: 2; opacity: 0; transition: opacity .2s; }
.cm-slider-ck:hover .cm-ck-prev, .cm-slider-ck:hover .cm-ck-next, .cm-slider-ck:hover .cm-ck-ordres { opacity: 1; }
.cm-ck-prev { left: 0; }
.cm-ck-next { right: 0; }
.cm-ck-ordres { right: 41px; }
.cm-ck-prev span, .cm-ck-next span, .cm-ck-ordres span { display: block; width: 40px; height: 40px; background: url("assets/camera_skins.png") no-repeat; }
.cm-ck-prev span { background-position: 0 -80px; }
.cm-ck-next span { background-position: -40px -80px; }
.cm-ck-ordres span { background-position: -120px -80px; }
.cm-ck-ordres.aturat span { background-position: -80px -80px; }
/* la capçalera (i els submenús desplegables) per sobre del contingut: els carrusels, posicionats, la tapaven */
.wp-site-blocks > header, .cm-cap { position: relative; z-index: 100; }
/* finestra emergent de les imatges (jcepopup del Joomla) */
.cm-emergent { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .8); cursor: pointer; }
.cm-emergent img { max-width: 90vw; max-height: 90vh; background: #fff; padding: 10px; box-shadow: 0 0 20px rgba(0, 0, 0, .5); }
.cm-emergent button { position: absolute; top: 15px; right: 20px; border: 0; background: none; color: #fff; font: 36px/1 Arial, sans-serif; cursor: pointer; }

/* GTranslate: el giny de Google amagat, sense la barra ni els rètols de Google (com el mòdul del Joomla) */
#goog-gt-tt, .goog-te-banner-frame, #google_translate_element2 { display: none !important; }
.goog-te-menu-value:hover { text-decoration: none !important; }
body { top: 0 !important; }
