@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..600&display=swap" rel="stylesheet">
.view-featured #sp-main-body{padding-top:50px;padding-bottom:0}
span.badge.bg-danger.featured-article-badge {
    display: none;
}
/* ---------- OS GALLERY: pestañas de categoría ---------- */

.osgalery-cat-tabs{display:none !important}


.article-ratings-social-share{display:none !important}

/* ============================================================
   TORRECILLA EN CAMEROS — CSS para plantilla Joomla
   Color institucional: #de0204 (rojo web antigua)



#sp-menu .sp-megamenu-wrapper{
    display: flex!important;
    flex-direction: row;
    justify-content: flex-end;
}
*/
li {
    list-style-image: url(/images/bullet.gif);
    list-style-type: none;
    list-style-position: outside;
    margin-bottom: 3px;
    margin-top: 3px;
}


/* top1 en una fila: redes izquierda, contacto derecha */
#sp-top1 .sp-column{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
#sp-top1 .social-icons{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:2px;
  align-items:center;
  order:-1;          /* fuerza las redes a la izquierda */
}
#sp-top1 .social-icons a{color:var(--tc-crema);transition:.2s}
#sp-top1 .social-icons a:hover{color:var(--tc-oro-claro)}


/* ---------- 1. VARIABLES DE COLOR Y TIPOGRAFÍA ---------- */
:root{
  --tc-rojo:#de0204;          /* rojo institucional principal */
  --tc-rojo-osc:#9c0103;      /* rojo oscuro: hovers y fondos */
  --tc-rojo-prof:#6e0102;     /* granate profundo: fondos oscuros */
  --tc-rojo-claro:#f4555a;    /* rojo claro: detalles */
  --tc-oro:#d4a02a;           /* dorado de acento */
  --tc-oro-claro:#ebc25a;
   --tc-crema:#f1f1f3;         /* gris claro (antes crema) */
  --tc-crema-osc:#dcdce0;     /* gris medio (antes crema oscuro) */
  --tc-piedra:#8a7468;        /* texto secundario */
  --tc-tinta:#241715;         /* texto principal */
  --tc-blanco:#fff;
  --tc-sombra:rgba(36,23,21,.16);

  /* Tipografías. Carga Fraunces y Archivo en el <head> de la plantilla:
     <link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400&family=Archivo:wght@400..700&display=swap" rel="stylesheet"> */
  --tc-serif:'Fraunces',Georgia,serif;
  --tc-sans:'Archivo',system-ui,sans-serif;
}
/* ---------- TOP BAR (Helix #sp-top1) ---------- */
#sp-section-1 {
    background-color: var(--tc-rojo) !important;
    color: 
#CCCCCC;
    margin: 250 px;
}
}
#sp-top1{
  background:  #de0204;
   /* #6e0102 */
  color:var(--tc-crema);
  font-size:.82rem;
  letter-spacing:.02em;
}
#sp-top1 .sp-contact-info{
  list-style:none;
  margin:0;
  padding:9px 0;
  display:flex;
  gap:22px;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
}
#sp-top1 .sp-contact-info li{display:flex;align-items:center;gap:7px}
#sp-top1 .sp-contact-email::before{content:"\f1fa";}  /* arroba @ */
#sp-top1 .sp-contact-info a:hover{color:var(--tc-oro-claro)}

/* Iconos vía CSS (sin <i> en el HTML, así Joomla no los borra) */
#sp-top1 .sp-contact-info li::before{
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  margin-right:7px;
}
#sp-top1 .sp-contact-phone::before{content:"\f095";}  /* teléfono */
#sp-top1 .sp-contact-email::before{content:"\f0e0";}  /* sobre */
#sp-top1 .sp-contact-hours::before{content:"\f017";}  /* reloj */


/* ---------- BOTTOM (#sp-bottom) ---------- */
#sp-bottom{background:#3a3633;color:rgba(248,242,236,.7)}
#sp-bottom .sp-module .sp-module-title{
  color:var(--tc-crema);
  font-family:var(--tc-sans);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:0 0 18px;
}
#sp-bottom .sp-module ul>li{margin-bottom:11px}
#sp-bottom .sp-module ul>li>a{color:rgba(248,242,236,.7);transition:.2s}
#sp-bottom .sp-module ul>li>a:hover{color:var(--tc-oro-claro);padding-left:4px}
#sp-bottom .mod-custom p{line-height:1.8;margin:0}
#sp-bottom .mod-custom a{color:var(--tc-oro-claro)}
#sp-bottom .mod-custom a:hover{text-decoration:underline}

/* Contacto con iconos */
#sp-bottom .tc-contact{list-style:none;margin:0;padding:0}
#sp-bottom .tc-contact li{
  position:relative;
  padding-left:26px;
  margin-bottom:14px;
  line-height:1.6;
  word-break:break-word;
}
#sp-bottom .tc-contact li::before{
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:var(--tc-oro-claro);
  position:absolute;
  left:0;
  top:3px;
}
#sp-bottom .tc-addr::before{content:"\f3c5";}  /* ubicación */
#sp-bottom .tc-tel::before{content:"\f095";}   /* teléfono */
#sp-bottom .tc-mail::before{content:"\f0e0";}  /* sobre */
#sp-bottom .tc-contact a{color:rgba(248,242,236,.7);transition:.2s}
#sp-bottom .tc-contact a:hover{color:var(--tc-oro-claro)}

/* ---------- FOOTER (#sp-footer) ---------- */
#sp-footer{background:var(--tc-rojo); color:#fff;}
#sp-footer .container-inner{border-top:1px solid rgba(248,242,236,.12);padding:22px 0}
#sp-footer .sp-copyright{font-size:.82rem}
#sp-footer a{color:var(--tc-oro-claro)}
#sp-footer a:hover{text-decoration:underline}

/* ---------- MENÚ PRINCIPAL (#sp-menu) ---------- */
#sp-menu .sp-megamenu-parent>li>a,
#sp-menu .sp-megamenu-parent>li>span{
  font-weight:600;
  color:var(--tc-tinta);
  transition:.2s;
}
#sp-menu .sp-megamenu-parent>li>a:hover,
#sp-menu .sp-megamenu-parent>li.active>a{
  color:var(--tc-rojo);
}

/* subrayado del activo / hover */
#sp-menu .sp-megamenu-parent>li>a::after{
  content:"";
  display:block;
  height:2px;
  width:0;
  background:var(--tc-rojo);
  transition:.25s;
  margin-top:4px;
}
#sp-menu .sp-megamenu-parent>li:hover>a::after,
#sp-menu .sp-megamenu-parent>li.active>a::after{
  width:100%;
}

/* desplegables */
#sp-menu .sp-dropdown{
  border-radius:12px;
  border:1px solid var(--tc-crema-osc);
  overflow:hidden;
}
#sp-menu .sp-dropdown .sp-dropdown-inner{padding:8px}
#sp-menu .sp-dropdown li.sp-menu-item>a{
  border-radius:8px;
  padding:8px 12px !important;
  transition:.2s;
}
#sp-menu .sp-dropdown li.sp-menu-item>a:hover{
  background:var(--tc-crema);
  color:var(--tc-rojo);
}



/* ---------- BOTÓN SEDE ELECTRÓNICA ---------- */
#sp-menu .sp-megamenu-parent>li>a.tc-sede{
  background:var(--tc-rojo) !important;
  color:var(--tc-crema) !important;
  padding:8px 18px !important;
  border-radius:8px;
  line-height:1.4;
  box-shadow:0 4px 12px rgba(222,2,4,.35);
}
#sp-menu .sp-megamenu-parent>li>a.tc-sede:hover{
  background:var(--tc-rojo-osc) !important;
  color:var(--tc-crema) !important;
}
#sp-menu .sp-megamenu-parent>li>a.tc-sede::after{display:none}

#sp-menu ul.sp-megamenu-parent.d-lg-block{
  display:flex !important;
  align-items:center;
  width:100% !important;
  float:none !important;
  margin:0 !important;
}
#sp-menu ul.sp-megamenu-parent>li:last-child{
  margin-left:auto !important;
}

/* ---------- LOGO (#sp-logo) ---------- */
#sp-logo .logo{padding:12px 0}


/* ---------- ACCESOS RÁPIDOS (position1–4) ---------- */
#sp-section-4{background:var(--tc-blanco)}
.tc-acceso{
  display:flex;flex-direction:column;gap:6px;
  padding:28px 24px;height:100%;
  transition:.25s;text-decoration:none;
  border-right:1px solid var(--tc-crema-osc);
}
.tc-acceso:hover{background:var(--tc-crema)}
.tc-acceso b{font-family:var(--tc-serif);font-size:1.05rem;color:var(--tc-rojo-osc)}
.tc-acceso small{color:var(--tc-piedra);font-size:.85rem}
.tc-acceso .tc-ico{font-family:"Font Awesome 6 Free";font-weight:900;font-size:1.5rem;color:var(--tc-rojo);margin-bottom:4px}
.tc-ico-bus::before{content:"\f207";}   /* autobús */
.tc-ico-loc::before{content:"\f3c5";}   /* ubicación */
.tc-ico-info::before{content:"\f129";}  /* info */
.tc-ico-doc::before{content:"\f15c";}   /* documento */

/* ---------- REDES SOCIALES (bottom) ---------- */
#sp-bottom .tc-redes-tit{
  font-family:var(--tc-sans);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--tc-crema);
  margin:0 0 14px;
}
#sp-bottom .tc-redes{
  list-style:none;margin:0;padding:0;
  display:flex;gap:12px;
}
#sp-bottom .tc-redes li{margin:0;padding:0}
#sp-bottom .tc-redes li::before{display:none !important;}
#sp-bottom .tc-redes a{
  width:42px;height:42px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(248,242,236,.25);
  border-radius:50%;
  color:rgba(248,242,236,.8);
  transition:.25s;
  text-decoration:none;
  padding:0;
  position:relative;
}
#sp-bottom .tc-redes a svg,
#sp-bottom .tc-redes a span{
  width:1rem !important;
  height:1rem !important;
  font-size:1rem !important;
  line-height:1 !important;
  position:static !important;
  margin:0 !important;
}
#sp-bottom .tc-redes a:hover{
  background:var(--tc-rojo);
  border-color:var(--tc-rojo);
  color:var(--tc-crema);
}
#sp-bottom .tc-redes a,
#sp-bottom .tc-redes a:hover{text-decoration:none !important}


/* ---------- INFO AYUNTAMIENTO (bottom) ---------- */
#sp-bottom .tc-info{list-style:none;margin:0;padding:0}
#sp-bottom .tc-info li{
  position:relative;
  padding-left:26px;
  margin-bottom:14px;
  line-height:1.5;
}
#sp-bottom .tc-info li::before{
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:var(--tc-oro-claro);
  position:absolute;
  left:0;
  top:2px;
}
#sp-bottom .tc-info-horario::before{content:"\f017";}   /* reloj */
#sp-bottom .tc-info-alcalde::before{content:"\f007";}   /* persona */
#sp-bottom .tc-info b{color:var(--tc-crema);font-weight:600}

/* bottom2 centrado */
#sp-bottom2{text-align:center}
#sp-bottom2 .tc-info{display:inline-block;text-align:left}  /* la lista se centra como bloque, texto interno a la izquierda */
#sp-bottom2 img{display:block;margin:24px auto 0}

/* bottom3 (redes) a la derecha */
#sp-bottom3 .tc-redes{justify-content:flex-end}
#sp-bottom3 .tc-redes-tit{text-align:right}


/* ---------- SECCIÓN EL PUEBLO ---------- */
.tc-conoce{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
  max-width:1240px;
  margin:0 auto;
  padding:70px 24px;
}
.tc-conoce .tc-label{
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:700;color:var(--tc-rojo);
}
.tc-conoce h2{
  font-family:var(--tc-serif);
  font-size:clamp(1.8rem,3.5vw,2.7rem);
  color:var(--tc-tinta);
  margin:12px 0 0;
}
.tc-conoce h2 em{font-style:italic;color:var(--tc-rojo)}
.tc-conoce p{margin-top:16px;font-size:1.05rem;color:#444;line-height:1.7}
.tc-conoce .tc-btn-rojo{
  display:inline-block;margin-top:24px;
  background:var(--tc-rojo);color:var(--tc-crema);
  padding:13px 26px;border-radius:8px;font-weight:700;
  text-decoration:none;transition:.2s;
  box-shadow:0 4px 12px rgba(222,2,4,.3);
}
.tc-conoce .tc-btn-rojo:hover{background:var(--tc-rojo-osc)}
.tc-conoce-img img{
  width:100%;border-radius:16px;
  box-shadow:0 20px 40px var(--tc-sombra);
  object-fit:cover;
}
@media(max-width:768px){
  .tc-conoce{grid-template-columns:1fr;gap:30px;padding:50px 24px}
}


/* ---------- ICONOS EN FILA (Material Icons) ---------- */
.tc-iconos-fila{
  list-style:none !important;
  margin:30px 0 0;padding:0;
  display:flex;justify-content:center;flex-wrap:wrap;gap:40px;
}
.tc-iconos-fila li{
  margin:0 !important;padding:0 !important;
  list-style:none !important;
  list-style-image:none !important;
}
.tc-iconos-fila li::before{display:none !important;content:none !important;}
.tc-iconos-fila a{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  text-decoration:none;width:120px;text-align:center;
}
.tc-iconos-fila .material-icons{
  font-size:46px;
  color:#8a8a8a;
  transition:.25s;
}
.tc-iconos-fila .tc-txt{
  font-size:.95rem;font-weight:600;line-height:1.3;
  color:var(--tc-tinta);transition:.2s;
}
.tc-iconos-fila a:hover .material-icons{
  color:var(--tc-rojo);
  transform:translateY(-4px);
}
.tc-iconos-fila{
  list-style:none !important;
  margin:28px 0 0;padding:0;
  display:flex;justify-content:flex-start;flex-wrap:nowrap;gap:14px;
}
.tc-iconos-fila a{width:auto;gap:6px}
.tc-iconos-fila .material-icons{font-size:32px}
.tc-iconos-fila .tc-txt{font-size:.72rem}


/* ---------- AVISOS MUNICIPALES (módulo de artículos, position6) ---------- */
#sp-position6 .sp-module{

  border-radius:16px;
  box-shadow:none;
  padding:40px;
}
#sp-position6 .sp-module-title{
  font-family:var(--tc-serif) !important;
  font-size:1.8rem !important;
  color:var(--tc-tinta) !important;
  margin:0 0 28px !important;
  padding-bottom:14px !important;
  position:relative;
}
#sp-position6 .sp-module-title::after{
  content:"" !important;
  position:absolute;left:0;bottom:0;
  width:60px;height:3px;background:var(--tc-rojo);border-radius:2px;
}
#sp-position6 .mod-articlescategory{list-style:none !important;margin:0;padding:0}
#sp-position6 .mod-articlescategory li{
  border:0 !important;
  border-bottom:1px dashed var(--tc-crema-osc) !important;
  padding:18px 0 18px 62px !important;
  margin:0 !important;
  list-style:none !important;
  list-style-image:none !important;
  position:relative;
}
#sp-position6 .mod-articlescategory li:last-child{border-bottom:0 !important}
#sp-position6 .mod-articlescategory li::before{
  content:"campaign";
  font-family:"Material Icons";
  font-size:24px;
  color:var(--tc-rojo);
  background:var(--tc-crema);
  width:46px;height:46px;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  position:absolute;left:0;top:50%;transform:translateY(-50%);
}
#sp-position6 .mod-articlescategory li a{border:0 !important}
#sp-position6 .mod-articles-category-title{
  display:block;
  font-family:var(--tc-serif);
  font-size:1.05rem;
  font-weight:600;
  color:var(--tc-tinta);
  text-decoration:none;
  line-height:1.35;
  transition:.2s;
}
#sp-position6 .mod-articles-category-title:hover{color:var(--tc-rojo)}

/* ---------- AGENDA Y EVENTOS (módulo de artículos, position7) ---------- */
#sp-position7 .sp-module{

  border-radius:16px;
  box-shadow:none;
  padding:40px;
}
#sp-position7 .sp-module-title{
  font-family:var(--tc-serif) !important;
  font-size:1.8rem !important;
  color:var(--tc-tinta) !important;
  margin:0 0 28px !important;
  padding-bottom:14px !important;
  position:relative;
}
#sp-position7 .sp-module-title::after{
  content:"" !important;
  position:absolute;left:0;bottom:0;
  width:60px;height:3px;background:var(--tc-rojo);border-radius:2px;
}
#sp-position7 .mod-articlescategory{list-style:none !important;margin:0;padding:0}
#sp-position7 .mod-articlescategory li{
  border:0 !important;
  border-bottom:1px dashed var(--tc-crema-osc) !important;
  padding:18px 0 18px 62px !important;
  margin:0 !important;
  list-style:none !important;
  list-style-image:none !important;
  position:relative;
}
#sp-position7 .mod-articlescategory li:last-child{border-bottom:0 !important}
#sp-position7 .mod-articlescategory li::before{
  content:"event";
  font-family:"Material Icons";
  font-size:24px;
  color:var(--tc-rojo);
  background:var(--tc-blanco);
  width:46px;height:46px;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  position:absolute;left:0;top:50%;transform:translateY(-50%);
}
#sp-position7 .mod-articlescategory li a{border:0 !important}
#sp-position7 .mod-articles-category-title{
  display:block;
  font-family:var(--tc-serif);
  font-size:1.05rem;
  font-weight:600;
  color:var(--tc-tinta);
  text-decoration:none;
  line-height:1.35;
  transition:.2s;
}
#sp-position7 .mod-articles-category-title:hover{color:var(--tc-rojo)}


/* ---------- NOTICIAS DESTACADAS (componente, home) ---------- */
.blog-featured .article-list .row{
  --bs-gutter-x:26px;
  row-gap:26px;
}
.blog-featured .article{
  background:var(--tc-blanco);
  border:1px solid var(--tc-crema-osc);
  border-radius:16px;
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:.3s;
}
.blog-featured .article:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 36px var(--tc-sombra);
}

/* imagen uniforme */
.blog-featured .article-intro-image{
  float:none !important;
  width:100% !important;
  height:210px !important;
  margin:0 !important;
  overflow:hidden;
}
.blog-featured .article-intro-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:.5s;
}
.blog-featured .article:hover .article-intro-image img{transform:scale(1.06)}

/* ocultar badge */
.blog-featured .featured-article-badge{display:none}

/* cuerpo */
.blog-featured .item-content{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.blog-featured .article-header{margin:0}
.blog-featured .article-header h2{
  font-family:'Lora', Georgia, serif !important;
  font-size:1.2rem !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  color:var(--tc-rojo) !important;
  margin:0 0 12px !important;
  min-height:2.6em;
}
.blog-featured .article-header h2 a{
  color:var(--tc-rojo) !important;
  text-decoration:none;
}
.blog-featured .article-header h2 a:hover{color:var(--tc-rojo-osc) !important}

/* párrafo intro (es un <p> suelto dentro de item-content) */
.blog-featured .item-content > p{
  font-family:'Lora', Georgia, serif !important;
  font-size:.95rem !important;
  color:var(--tc-piedra) !important;
  line-height:1.6 !important;
  margin:0 0 14px !important;
}

/* leer más */
.blog-featured .readmore{margin-top:auto}
.blog-featured .readmore a{
  display:inline-block;
  color:var(--tc-rojo-osc) !important;
  font-weight:700 !important;
  font-size:.88rem !important;
  font-family:var(--tc-sans) !important;
  text-decoration:none !important;
}
.blog-featured .readmore a:hover{text-decoration:underline !important}






/* ---------- MAPA / CÓMO LLEGAR ---------- */
.tc-mapa{
  background:var(--tc-crema);
  color:var(--tc-tinta);
  border-radius:18px;
  padding:44px;
  max-width:1240px;
  margin:40px auto 60px;
}
.tc-mapa-tit{
  font-family:var(--tc-serif);
  font-size:clamp(2rem,4vw,3.2rem);
  color:var(--tc-rojo-osc);
  text-align:center;
  margin:0 0 30px;
}
.tc-mapa-tit em{font-style:italic;color:var(--tc-rojo)}
.tc-mapa-frame{
  border-radius:14px;
  overflow:hidden;
  height:440px;
  box-shadow:0 16px 40px var(--tc-sombra);
}
.tc-mapa-frame iframe{width:100%;height:100%;border:0}
@media(max-width:768px){
  .tc-mapa{padding:28px}
  .tc-mapa-frame{height:320px}
}



#sp-menu .sp-megamenu-parent>li{
  display:flex;
  align-items:center;
}
#sp-menu .sp-megamenu-parent>li>a,
#sp-menu .sp-megamenu-parent>li>span{
  display:inline-flex;
  align-items:center;
  line-height:normal;
}
/* la flecha de los ítems con submenú, en línea */
#sp-menu .sp-megamenu-parent>li.sp-has-child>a::after,
#sp-menu .sp-megamenu-parent>li.sp-has-child>span::after{
  float:none !important;
  margin-top:0 !important;
  margin-left:7px;
  align-self:center;
}
#sp-menu .sp-megamenu-parent>li>a,
#sp-menu .sp-megamenu-parent>li>span{
  white-space:nowrap;
}
#sp-menu .sp-megamenu-parent{
  align-items:center;
  min-height:90px;   /* la altura del header de Helix */
}
#sp-menu .sp-dropdown li.sp-menu-item>a{
  color:var(--tc-tinta) !important;
}
#sp-menu .sp-dropdown li.sp-menu-item>a:hover{
  color:var(--tc-rojo) !important;
}
#sp-menu .sp-dropdown .sp-dropdown-inner{
  background:var(--tc-blanco) !important;
}



/* ---------- SECCIONES A ANCHO COMPLETO (solo fondo) ---------- */
#sp-section-7,
#sp-section-8{
  width:100vw;
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  padding-top:40px;
  padding-bottom:40px;
}

/* colores alternos para diferenciarlas */
#sp-section-7{background:var(--tc-blanco)}
#sp-section-8{background:var(--tc-crema)}   /* sección gris */
.tc-mapa{background:var(--tc-blanco)}        /* recuadro blanco */


/* ---------- NOTICIAS fondo ---------- */
.view-featured #sp-main-body{
  background:var(--tc-crema);
  padding:50px 0;
  width:100vw;
  position:relative;
  left:50%;
  margin-left:-50vw;
}


/* ---------- ARTÍCULOS ---------- */
.article-details{
  max-width:90%;
  margin:0 auto;
  font-family:'Lora', Georgia, serif;
}

/* títulos con línea vertical a la izquierda */
.article-details .article-header h1,
.article-details [itemprop="articleBody"] h2{
  font-family:'Lora', Georgia, serif;
  color:var(--tc-rojo);
  line-height:1.2;
  padding-left:18px;
  border-left:4px solid var(--tc-rojo);
  margin:0 0 24px;
}
.article-details .article-header h1{font-size:clamp(1.9rem,4vw,2.6rem)}
.article-details [itemprop="articleBody"] h2{
  font-size:1.5rem;
  margin-top:36px;
}

/* cuerpo del artículo */
.article-details [itemprop="articleBody"]{
  font-size:1.08rem;
  line-height:1.85;
  color:var(--tc-tinta);
}
.article-details [itemprop="articleBody"] p{margin:0 0 18px}
.article-details [itemprop="articleBody"] a{
  color:var(--tc-rojo);
  text-decoration:underline;
}
.article-details [itemprop="articleBody"] a:hover{color:var(--tc-rojo-osc)}

/* ---------- VISTA BLOG DE CATEGORÍA (Noticias, Avisos, Agenda) ---------- */
.com-content-category-blog .article-list .row{
  --bs-gutter-x:26px;
  row-gap:26px;
  margin-bottom:0;
}
.com-content-category-blog .article{
  background:var(--tc-blanco);
  border:1px solid var(--tc-crema-osc);
  border-radius:16px;
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:.3s;
}
.com-content-category-blog .article:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 36px var(--tc-sombra);
}

/* imagen: todas del mismo tamaño */
.com-content-category-blog .article-intro-image{
  float:none !important;
  width:100% !important;
  height:210px !important;
  margin:0 !important;
  overflow:hidden;
}
.com-content-category-blog .article-intro-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* badge destacado */
.com-content-category-blog .featured-article-badge{
  display:none;   /* ocúltalo; si lo quieres ver, cambia a inline-block y estílalo */
}

/* cuerpo */
.com-content-category-blog .article-body{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.com-content-category-blog .article-header h2{
  font-family:'Lora', Georgia, serif !important;
  font-size:1.2rem !important;
  font-weight:700;
  line-height:1.3;
  margin:0 0 12px !important;
  color:var(--tc-rojo) !important;
}
.com-content-category-blog .article-header h2 a{
  color:var(--tc-rojo) !important;
  text-decoration:none;
  transition:.2s;
}
.com-content-category-blog .article-header h2 a:hover{color:var(--tc-rojo-osc) !important}
.com-content-category-blog .article-introtext{
  font-family:'Lora', Georgia, serif;
  font-size:.95rem;
  color:var(--tc-piedra);
  line-height:1.6;
}
.com-content-category-blog .article-introtext p{margin:0 0 12px}

/* leer más */
.com-content-category-blog .readmore{margin-top:auto}
.com-content-category-blog .readmore a{
  display:inline-block;
  color:var(--tc-rojo-osc);
  font-weight:700;
  font-size:.88rem;
  font-family:var(--tc-sans);
  text-decoration:none;
}
.com-content-category-blog .readmore a:hover{text-decoration:underline}

/* ---------- NOTICIAS EN LA HOME (.blog-featured) igual que el blog ---------- */
.blog-featured .article-list .row{
  --bs-gutter-x:26px;
  row-gap:26px;
}
.blog-featured .article{
  background:var(-tc-crema);
  border:1px solid var(--tc-crema-osc);
  border-radius:16px;
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:.3s;
}
.blog-featured .article:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 36px var(--tc-sombra);
}
.blog-featured .article-intro-image,
.blog-featured .article-full-image{
  float:none !important;
  width:100% !important;
  height:210px !important;
  margin:0 !important;
  overflow:hidden;
}
.blog-featured .article-intro-image img,
.blog-featured .article-full-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.blog-featured .featured-article-badge{display:none}
.blog-featured .item-content,
.blog-featured .article-body{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.blog-featured .article-header h2{
  font-family:'Lora', Georgia, serif !important;
  font-size:1.2rem !important;
  font-weight:700;
  line-height:1.3;
  margin:0 0 12px !important;
  color:var(--tc-rojo) !important;
}
.blog-featured .article-header h2 a{
  color:var(--tc-rojo) !important;
  text-decoration:none;
  transition:.2s;
}
.blog-featured .article-header h2 a:hover{color:var(--tc-rojo-osc) !important}
.blog-featured .article-intro p,
.blog-featured .article-introtext p{
  font-family:'Lora', Georgia, serif;
  font-size:.95rem;
  color:var(--tc-piedra);
  line-height:1.6;
}
.blog-featured .readmore{margin-top:auto}
.blog-featured .readmore a{
  display:inline-block;
  color:var(--tc-rojo-osc);
  font-weight:700;
  font-size:.88rem;
  font-family:var(--tc-sans);
  text-decoration:none;
}
.blog-featured .readmore a:hover{text-decoration:underline}

/* imagen destacada del artículo completo */
.article-details .article-full-image,
.article-details .article-featured-image{
  width:100%;
  margin:0 auto 28px;
}
.article-details .article-full-image img,
.article-details .article-featured-image img{
  width:100%;
  height:auto;
  border-radius:14px;
  display:block;
}


/* datos destacados en artículos */
.tc-datos{
  list-style:none !important;
  display:flex;flex-wrap:wrap;gap:20px;
  margin:28px 0;padding:0;
}
.tc-datos li{
  flex:1 1 160px;
  background:var(--tc-crema);
  border-radius:14px;
  padding:22px 24px;
  text-align:center;
  margin:0 !important;
  list-style:none !important;
}
.tc-datos li::before{display:none !important;content:none !important}
.tc-dato-num{
  display:block;
  font-family:var(--tc-serif);
  font-size:2rem;
  font-weight:700;
  color:var(--tc-rojo);
  line-height:1;
}
.tc-dato-lbl{
  display:block;
  margin-top:8px;
  font-size:.85rem;
  color:var(--tc-piedra);
  text-transform:uppercase;
  letter-spacing:.04em;
}




/* ---------- GALERÍA TURISMO (solo foto + nombre) — solo itemid-285 ---------- */
/* cuadrícula: aplicar al contenedor general, no a cada row */
.itemid-285 .com-content-category-blog .article-list{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));
  gap:22px;
}
.itemid-285 .com-content-category-blog .article-list > .row{
  display:contents !important;
}
.itemid-285 .com-content-category-blog .article-list .row > [class*="col-"]{
  width:100% !important;
  max-width:100% !important;
  flex:none !important;
  padding:0 !important;
  margin:0 !important;
}
.itemid-285 .com-content-category-blog .article-list .row > [class*="col-"]{
  width:100% !important;
  max-width:100% !important;
  flex:none !important;
  padding:0 !important;
}
.itemid-285 .com-content-category-blog .article{
  position:relative;
  border:0;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 22px var(--tc-sombra);
  transition:transform .3s, box-shadow .3s;
  height:240px;
  margin:0;
}
.itemid-285 .com-content-category-blog .article:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 36px var(--tc-sombra);
}
.itemid-285 .com-content-category-blog .article-intro-image{
  margin:0 !important;
  float:none !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden;
  position:absolute;
  inset:0;
}
.itemid-285 .com-content-category-blog .article-intro-image a,
.itemid-285 .com-content-category-blog .article-intro-image img{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.itemid-285 .com-content-category-blog .article-intro-image img{transition:.5s}
.itemid-285 .com-content-category-blog .article:hover .article-intro-image img{transform:scale(1.07)}
.itemid-285 .com-content-category-blog .article-introtext,
.itemid-285 .com-content-category-blog .readmore,
.itemid-285 .com-content-category-blog .article-info,
.itemid-285 .com-content-category-blog .article-ratings-social-share{
  display:none !important;
}
.itemid-285 .com-content-category-blog .article-body{
  padding:0 !important;
  position:static;
}
.itemid-285 .com-content-category-blog .article-header{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:2;
  margin:0;
  padding:44px 16px 14px;
  background:linear-gradient(to top, rgba(0,0,0,.8), transparent);
}
.itemid-285 .com-content-category-blog .article-header h2{
  margin:0 !important;
  font-family:'Lora', Georgia, serif !important;
  font-size:1.1rem !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  color:#fff !important;
}
.itemid-285 .com-content-category-blog .article-header h2 a{
  color:#fff !important;
  text-decoration:none;
}


.itemid-285 .article-details [itemprop="articleBody"] img{
  display:block;
  width:100%;
  height:auto;
  margin:24px auto;
  border-radius:14px;
}
.itemid-285 .article-details .article-full-image{
  float:none !important;
  text-align:center;
  margin:0 auto 28px;
}
.itemid-285 .article-details .article-full-image img{
  max-height:560px;
  width:auto;
  max-width:100%;
  height:auto;
  display:inline-block;
  border-radius:14px;
}

.itemid-285 .com-content-category-blog .article-list{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:22px;
}
.itemid-285 .com-content-category-blog .article-list .row > [class*="col-"]{
  width:280px !important;
  max-width:280px !important;
  flex:0 0 280px !important;
  padding:0 !important;
  margin:0 !important;
}


/* ---------- TURISMO: vídeos, horario y PDF ---------- */
.tc-turismo-extra{
  max-width:1100px;
  margin:50px auto 0;
}
.tc-bloque-tit{
  font-family:'Lora', Georgia, serif;
  color:var(--tc-rojo);
  font-size:1.6rem;
  border-left:4px solid var(--tc-rojo);
  padding-left:16px;
  margin:40px 0 20px;
}

/* vídeos responsivos lado a lado */
.tc-videos{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:22px;
}
.tc-video{
  position:relative;
  padding-bottom:56.25%;   /* proporción 16:9 */
  height:0;
  overflow:hidden;
  border-radius:14px;
  box-shadow:0 8px 22px var(--tc-sombra);
}
.tc-video iframe{
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  border:0;
}

/* horario */
.tc-horario{
  background:var(--tc-crema);
  border-radius:14px;
  padding:24px 28px;
  font-family:'Lora', Georgia, serif;
  font-size:1.05rem;
  line-height:1.7;
  color:var(--tc-tinta);
}

/* botón PDF */
.tc-pdf{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--tc-rojo);
  color:#fff !important;
  font-weight:700;
  font-family:var(--tc-sans);
  padding:14px 26px;
  border-radius:8px;
  text-decoration:none;
  transition:.2s;
  box-shadow:0 4px 12px rgba(222,2,4,.3);
}
.tc-pdf::before{
  content:"\f1c1";   /* icono PDF Font Awesome */
  font-family:"Font Awesome 6 Free";
  font-weight:900;
}
.tc-pdf:hover{background:var(--tc-rojo-osc)}

.tc-horario li::before{
  content:"\f19c";   /* museo (columnas) */
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:var(--tc-rojo);
  position:absolute;
  left:0;
  font-size:.9em;
}


/* imagen destacada en artículos normales */
.article-details .article-full-image{
  float:none !important;
  width:100%;
  margin:0 auto 28px;
}
.article-details .article-full-image img{
  width:100%;
  height:auto;
  border-radius:14px;
  display:block;
}

/* ---------- DIRECTORIO DE SERVICIOS ---------- */
.tc-servicios{max-width:1000px;margin:0 auto}
.tc-serv-cat{
  font-family:'Lora', Georgia, serif;
  color:var(--tc-rojo);
  font-size:1.5rem;
  border-left:4px solid var(--tc-rojo);
  padding-left:16px;
  margin:38px 0 16px;
}
.tc-serv-lista{list-style:none !important;margin:0;padding:0}
.tc-serv-lista li{
  display:block;
  padding:16px 0;
  border-bottom:1px dashed var(--tc-crema-osc);
  margin:0 !important;
  list-style:none !important;
}
.tc-serv-lista li::before{display:none !important;content:none !important}
.tc-serv-nom{
  display:block;
  font-family:'Lora', Georgia, serif;
  font-weight:700;
  font-size:1.05rem;
  color:var(--tc-tinta);
  margin-bottom:6px;
}
.tc-serv-tel,
.tc-serv-mail,
.tc-serv-web,
.tc-serv-dir{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-right:22px;
  font-family:var(--tc-sans);
  font-size:.92rem;
  text-decoration:none;
  line-height:1.9;
}
.tc-serv-tel::before,
.tc-serv-mail::before,
.tc-serv-web::before,
.tc-serv-dir::before{
  font-family:"Material Icons";
  font-size:1.05em;
  font-style:normal;
  line-height:1;
}
.tc-serv-tel{color:var(--tc-rojo);font-weight:700}
.tc-serv-tel::before{content:"call";color:var(--tc-rojo)}
.tc-serv-mail{color:var(--tc-piedra)}
.tc-serv-mail::before{content:"mail";color:var(--tc-piedra)}
.tc-serv-web{color:var(--tc-rojo-osc)}
.tc-serv-web::before{content:"language";color:var(--tc-rojo-osc)}
.tc-serv-dir{color:var(--tc-piedra);font-style:italic}
.tc-serv-dir::before{content:"place";color:var(--tc-piedra)}
.tc-serv-tel,
.tc-serv-mail,
.tc-serv-web,
.tc-serv-tel:hover,
.tc-serv-mail:hover,
.tc-serv-web:hover{text-decoration:none !important}

/* ---------- TRANSPORTE / LÍNEAS DE AUTOBÚS ---------- */
.tc-transporte{max-width:900px;margin:0 auto}
.tc-transporte-intro{
  font-family:'Lora', Georgia, serif;
  font-size:1.1rem;
  color:var(--tc-tinta);
  margin:0 0 28px;
  line-height:1.7;
}
.tc-lineas{
  list-style:none !important;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:20px;
}
.tc-lineas li{
  margin:0 !important;
  list-style:none !important;
}
.tc-lineas li::before{display:none !important;content:none !important}
.tc-lineas a{
  display:flex;
  flex-direction:column;
  gap:6px;
  background:var(--tc-blanco);
  border:1px solid var(--tc-crema-osc);
  border-radius:14px;
  padding:26px 28px 26px 70px;
  text-decoration:none;
  position:relative;
  transition:.25s;
  box-shadow:0 6px 18px var(--tc-sombra);
}
.tc-lineas a::before{
  content:"directions_bus";
  font-family:"Material Icons";
  font-size:34px;
  color:var(--tc-rojo);
  position:absolute;
  left:24px;top:50%;
  transform:translateY(-50%);
}
.tc-lineas a:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px var(--tc-sombra);
  border-color:var(--tc-rojo);
}
.tc-linea-nom{
  font-family:'Lora', Georgia, serif;
  font-weight:700;
  font-size:1.15rem;
  color:var(--tc-rojo);
}
.tc-linea-desc{
  font-family:var(--tc-sans);
  font-size:.95rem;
  color:var(--tc-piedra);
}
/* foto flotada a la derecha en artículos */
.article-details [itemprop="articleBody"] img.tc-foto-der{
  float:right;
  max-width:40%;
  height:auto;
  margin:6px 0 16px 28px;
  border-radius:14px;
}
@media(max-width:600px){
  .article-details [itemprop="articleBody"] img.tc-foto-der{
    float:none;
    max-width:100%;
    margin:0 0 20px;
  }
}

/* firma del alcalde */
.article-details .tc-firma{
  margin-top:30px;
  font-family:'Lora', Georgia, serif;
  font-style:italic;
  color:var(--tc-rojo);
  font-size:1.1rem;
  border-top:1px solid var(--tc-crema-osc);
  padding-top:18px;
}
.article-details .tc-firma strong{font-style:normal}

 /* ---------- ORGANIGRAMA MUNICIPAL ---------- */
.tc-org{max-width:1100px;margin:0 auto}
.tc-org-card{
  background:var(--tc-blanco);
  border:1px solid var(--tc-crema-osc);
  border-radius:18px;
  padding:28px 24px;
  text-align:center;
  box-shadow:0 8px 22px var(--tc-sombra);
}
.tc-org-foto{
  width:90px;height:90px;
  border-radius:50%;
  object-fit:cover;
  border:4px solid var(--tc-rojo);
  margin:0 auto 14px;
  display:block;
}
.tc-org-nom{
  font-family:'Lora', Georgia, serif;
  font-size:1.15rem;
  color:var(--tc-tinta) !important;
  margin:0 0 8px;
  line-height:1.25;
  border:0 !important;
  padding:0 !important;
}
.tc-org-cargo{
  display:inline-block;
  background:var(--tc-rojo);
  color:#fff;
  font-family:var(--tc-sans);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:5px 14px;
  border-radius:50px;
  margin:0 0 12px;
}
.tc-org-areas{
  font-family:var(--tc-sans);
  font-size:.9rem;
  color:var(--tc-piedra);
  line-height:1.55;
  margin:0;
}
.tc-org-jefe{
  max-width:520px;
  margin:0 auto 36px;
  border-top:5px solid var(--tc-rojo);
}
.tc-org-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:24px;
}

/* ---------- COMISIONES ---------- */
.tc-comisiones{max-width:1100px;margin:0 auto}
.tc-comi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:24px;
}
.tc-comi-card{
  background:var(--tc-blanco);
  border:1px solid var(--tc-crema-osc);
  border-radius:18px;
  padding:26px 24px;
  box-shadow:0 8px 22px var(--tc-sombra);
  display:flex;
  flex-direction:column;
}
.tc-comi-tit{
  font-family:'Lora', Georgia, serif;
  font-size:1.05rem !important;
  color:var(--tc-rojo) !important;
  line-height:1.3;
  margin:0 0 16px !important;
  padding:0 0 14px !important;
  border:0 !important;
  border-bottom:2px solid var(--tc-crema-osc) !important;
}
.tc-comi-miembros{list-style:none !important;margin:0;padding:0}
.tc-comi-miembros li{
  position:relative;
  padding-left:26px;
  margin:0 0 10px !important;
  list-style:none !important;
  font-family:var(--tc-sans);
  font-size:.95rem;
  color:var(--tc-tinta);
  line-height:1.4;
}
.tc-comi-miembros li::before{
  content:"person";
  font-family:"Material Icons";
  font-size:18px;
  color:var(--tc-rojo);
  position:absolute;
  left:0;top:1px;
}

/* sección personal */
.tc-comi-seccion{
  font-family:'Lora', Georgia, serif;
  color:var(--tc-rojo);
  font-size:1.6rem;
  border-left:4px solid var(--tc-rojo);
  padding-left:16px;
  margin:46px 0 20px;
}
.tc-personal{list-style:none !important;margin:0;padding:0}
.tc-personal li{
  padding:16px 0;
  border-bottom:1px dashed var(--tc-crema-osc);
  margin:0 !important;
  list-style:none !important;
}
.tc-personal li::before{display:none !important;content:none !important}
.tc-pers-nom{
  display:block;
  font-family:'Lora', Georgia, serif;
  font-weight:700;
  font-size:1.05rem;
  color:var(--tc-tinta);
  margin-bottom:8px;
}
.tc-pers-dato{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-right:22px;
  font-family:var(--tc-sans);
  font-size:.92rem;
  text-decoration:none !important;
  line-height:1.9;
}
.tc-pers-dato::before{
  font-family:"Material Icons";
  font-size:1.05em;
  line-height:1;
}
.tc-pers-persona{color:var(--tc-tinta)}
.tc-pers-persona::before{content:"badge";color:var(--tc-rojo)}
.tc-pers-tel{color:var(--tc-rojo);font-weight:700}
.tc-pers-tel::before{content:"call";color:var(--tc-rojo)}
.tc-pers-mail{color:var(--tc-piedra)}
.tc-pers-mail::before{content:"mail";color:var(--tc-piedra)}

/* atención al ciudadano */
.tc-atencion{
  background:var(--tc-crema);
  border-radius:16px;
  padding:26px 28px;
  margin-top:32px;
  text-align:center;
}
.tc-atencion-tit{
  font-family:'Lora', Georgia, serif;
  color:var(--tc-rojo);
  font-size:1.3rem;
  margin:0 0 14px;
}
.tc-atencion .tc-pers-dato{margin:0 12px}
/* ---------- TRÁMITES ---------- */
.tc-tramites{max-width:900px;margin:0 auto}
.tc-tram-info{
  background:var(--tc-crema);
  border-radius:16px;
  padding:26px 30px;
  text-align:center;
}
.tc-tram-info p{
  font-family:'Lora', Georgia, serif;
  font-size:1.1rem;
  color:var(--tc-tinta);
  margin:0 0 14px;
}
.tc-tram-info .tc-pers-dato{margin:0 12px}

/* documentos PDF */
.tc-docs{
  list-style:none !important;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:20px;
}
.tc-docs li{margin:0 !important;list-style:none !important}
.tc-docs li::before{display:none !important;content:none !important}
.tc-docs a{
  display:flex;
  flex-direction:column;
  gap:4px;
  background:var(--tc-blanco);
  border:1px solid var(--tc-crema-osc);
  border-radius:14px;
  padding:24px 26px 24px 70px;
  text-decoration:none;
  position:relative;
  transition:.25s;
  box-shadow:0 6px 18px var(--tc-sombra);
}
.tc-docs a::before{
  content:"picture_as_pdf";
  font-family:"Material Icons";
  font-size:34px;
  color:var(--tc-rojo);
  position:absolute;
  left:22px;top:50%;
  transform:translateY(-50%);
}
.tc-docs a:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px var(--tc-sombra);
  border-color:var(--tc-rojo);
}
.tc-doc-nom{
  font-family:'Lora', Georgia, serif;
  font-weight:700;
  font-size:1.1rem;
  color:var(--tc-rojo);
}
.tc-doc-desc{
  font-family:var(--tc-sans);
  font-size:.88rem;
  color:var(--tc-piedra);
}

.tc-btn-info{
  display:inline-block;
  background:var(--tc-rojo);
  color:var(--tc-crema) !important;
  padding:13px 26px;
  border-radius:8px;
  font-weight:700;
  text-decoration:none !important;
  transition:.2s;
  box-shadow:0 4px 12px rgba(222,2,4,.3);
}
.tc-btn-info:hover{background:var(--tc-rojo-osc)}

/* horario: quitar bullet de imagen y poner icono */
.tc-horario ul{list-style:none !important;margin:0 0 16px;padding:0}
.tc-horario li{
  list-style:none !important;
  list-style-image:none !important;
  position:relative;
  padding-left:28px;
  margin:0 0 8px !important;
}


/* ============================================================
   ARREGLO MENÚ MÓVIL — botón hamburguesa
   ============================================================ */

/* El botón que crearemos por JS */
.tc-burger{
  display:none;            /* oculto en escritorio */
  background:none;
  border:0;
  cursor:pointer;
  padding:10px;
  margin-left:auto;        /* lo empuja a la derecha */
  line-height:0;
}
.tc-burger span{
  display:block;
  width:26px;
  height:3px;
  margin:5px 0;
  background:var(--tc-rojo);
  border-radius:3px;
  transition:.3s;
}

/* En móvil/tablet: oculta el menú de escritorio y muestra el botón */
@media (max-width: 991px){
  #sp-menu ul.sp-megamenu-parent{
    display:none !important;
  }
  .tc-burger{
    display:block !important;
  }
  #sp-menu .sp-megamenu-parent{
    min-height:0 !important;
  }
  /* que la columna del menú no quede vacía y el botón se vea */
  #sp-menu .sp-column,
  #sp-menu .sp-megamenu-wrapper{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    width:100%;
  }
}

/* ====== OCULTAR MENÚ ESCRITORIO EN MÓVIL ====== */
@media (max-width: 991px){
  body #sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent.d-lg-block{
    display:none !important;
  }
}
/* ====== MOSTRAR Y DESLIZAR EL PANEL OFFCANVAS ====== */
.offcanvas-menu{
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 300px;
  max-width: 85%;
  z-index: 9999;
  background: #fff;
  transform: translateX(100%);
  transition: transform .3s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* cuando el body tiene la clase, el panel entra */
body.offcanvas-active .offcanvas-menu{
  transform: translateX(0);
}

/* capa oscura de fondo */
.offcanvas-overlay{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.5);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
}
body.offcanvas-active .offcanvas-overlay{
  opacity: 1;
  visibility: visible;
}

/* evita que la página de detrás haga scroll cuando el menú está abierto */
body.offcanvas-active{
  overflow: hidden;
}
/* ====== MOSTRAR Y DESLIZAR EL PANEL OFFCANVAS ====== */
.offcanvas-menu{
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 300px;
  max-width: 85%;
  z-index: 9999;
  background: #fff;
  transform: translateX(100%);
  transition: transform .3s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* cuando el body tiene la clase, el panel entra */
body.offcanvas-active .offcanvas-menu{
  transform: translateX(0);
}

/* capa oscura de fondo */
.offcanvas-overlay{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.5);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
}
body.offcanvas-active .offcanvas-overlay{
  opacity: 1;
  visibility: visible;
}

/* evita que la página de detrás haga scroll cuando el menú está abierto */
body.offcanvas-active{
  overflow: hidden;
}
/* ====== OCULTAR MENÚ ESCRITORIO EN MÓVIL ====== */
@media (max-width: 991px){
  body #sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent.d-lg-block{
    display:none !important;
  }
}
/* COLORES del menú lateral (reforzados con !important) */
.offcanvas-menu .mod-menu a{
  color:var(--tc-tinta) !important;
  font-family:'Lora', Georgia, serif !important;
  font-weight:600;
}
.offcanvas-menu .mod-menu a:hover{
  color:var(--tc-rojo) !important;
}
.offcanvas-menu .mod-menu__sub a{
  color:var(--tc-piedra) !important;
  font-weight:400;
}
.offcanvas-menu .mod-menu__sub a:hover{
  color:var(--tc-rojo) !important;
}
.offcanvas-menu .mod-menu a.tc-sede{
  background:var(--tc-rojo) !important;
  color:#fff !important;
  border-radius:8px;
  text-align:center;
}
.offcanvas-menu .burger-icon span{
  background:var(--tc-rojo) !important;
}