/*
Theme Name:   CCL Theme
Author: The DigitaLab
Author URI: http://www.thedigitalab.es
Template: hello-elementor
*/

/* =================================== */
/*@font-face {
	font-family: "Futura";
	src: local("Futura Book"), local("Futura-Boo"),
		url("/wp-content/uploads/2026/06/Futura-Boo.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}*/
:root {
	/* Color */
	--ccl-white: #fff;
	--ccl-black: #000;
	--ccl-primary: #A40075;
	--ccl-secondary: #25255A;
	--ccl-lightgrey: #EBEBF2;
	--ccl-grey: #BBBBD1;

	/* Layout */
	--ccl-container: 1920px;
	--ccl-grid: 93.333vw;
	--ccl-gutter: 2.5vw;
	--ccl-space-xs: clamp(1rem, 0.8rem + 0.8vw, 1.5rem);
	--ccl-space-sm: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
	--ccl-space-md: clamp(2.5rem, 1.5rem + 3vw, 5rem);
	--ccl-space-lg: clamp(4rem, 2rem + 6vw, 9rem);
	--ccl-space-xl: clamp(6rem, 3rem + 9vw, 14rem);

	/* Tipografía fluida 480px -> 1680px */
	--ccl-txt-small: clamp(0.9375rem, calc(0.8875rem + 0.166vw), 1.0625rem);
	--ccl-txt: clamp(1.125rem, calc(1.075rem + 0.166vw), 1.25rem);
	--ccl-epigrafe: clamp(1.25rem, calc(1.217rem + 0.111vw), 1.333rem);
	--ccl-destacado: clamp(1.563rem, calc(1.477rem + 0.286vw), 1.777rem);
	--ccl-subtitulo: clamp(1.953rem, calc(1.787rem + 0.553vw), 2.369rem);
	--ccl-titular: clamp(2.441rem, calc(2.155rem + 0.955vw), 3.157rem);
	--ccl-name-pg: clamp(3.052rem, calc(0.283rem + 9.229vw), 9.969rem);

	/* Fuentes */
	--ccl-font-serif: "Bodoni Moda", serif;
	--ccl-font-sans: "Futura SC", sans-serif;
	--ccl-text-sans: "Futura", sans-serif;
}
html {
	font-size: 16px;
	scroll-behavior: smooth;
}
body {
	background: var(--ccl-white);
	color: var(--ccl-black);
	font-family: var(--ccl-text-sans);
	font-size: var(--ccl-txt);
	line-height: 1.6;
}
h1 {
	font-family: var(--ccl-font-serif);
	font-weight: 600;
	line-height: 0.1;
	letter-spacing: 0;
	text-transform: uppercase;
}
h2, h3, h4, h5, h6,
.elementor-widget-heading h2.elementor-heading-title, .ccl-tit.elementor-widget .elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title, .ccl-subtit.elementor-widget .elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title, .ccl-destac.elementor-widget .elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title, .ccl-epigr.elementor-widget .elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title  {
	font-family: var(--ccl-font-serif);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--ccl-black);
}
h1 {
	font-size: var(--ccl-name-pg);
}
h2, .ccl-tit.elementor-widget {
	font-size: var(--ccl-titular);
}
h3, .ccl-subtit.elementor-widget {
	font-size: var(--ccl-subtitulo);
}
h4, .ccl-destac.elementor-widget {
	font-size: var(--ccl-destacado);
}
h5, .ccl-epigr.elementor-widget {
	font-size: var(--ccl-epigrafe);
}
body, p, li, dt, dd, label, input, textarea, select,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
	font-family: var(--ccl-text-sans);
	line-height: 1.6;
}
.elementor-widget.ccl-block-head .elementor-heading-title {
    font-size: var(--ccl-subtitulo);
    font-weight: 400;
    text-transform: uppercase;
}
.elementor-widget.ccl-block-subhead .elementor-heading-title {
    font-size: var(--ccl-destacado);
    font-weight: 300;
    font-style: italic;
    text-transform: initial;
}
.ccl-capitular > :first-child::first-letter {
    font-family: var(--ccl-font-serif);
    font-size: calc(var(--ccl-titular) * 1.234);
    font-weight: 600;
    line-height: 0.1;
    float:left;
    color: var(--ccl-primary);
    margin: 0.5em 0.166em 0.3em -0.333em;
}
.ccl-ital {
	font-style: italic;
	font-weight: 300;
	text-transform: initial;
}
.ccl-alt {
	font-family: var(--ccl-font-sans);
	font-weight: 600;
	font-style: normal;
}
.ccl-ladillo p, .ccl-resaltado p, 
.ccl-ladillo.elementor-widget .elementor-heading-title,
.ccl-resaltado .elementor-heading-title {
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-epigrafe);
    font-weight: 300;
    font-style: italic;
    line-height: 1.5;
    text-transform: initial;
    color: var(--ccl-secondary);
}
.ccl-ladillo p, 
.ccl-ladillo.elementor-widget .elementor-heading-title {
	font-size: var(--ccl-destacado);
} 
.ccl-ladillo:before,
.ccl-ladillo:after {
    content: "";
    width: 120px;
    height: 2px;
    margin: var(--ccl-space-xs) calc((90% - 120px) / 2);
    border-radius: 100%;
    display: block;
    background: var(--ccl-secondary);
}
/*=== Botones globales Elementor ===*/
.ccl-btn.elementor-widget-button .elementor-button {
    padding: 0.9em 1.2em 0.6em;
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-epigrafe);
    line-height: 1.2;
    text-decoration: none;
    border: 2px solid var(--ccl-primary);
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ccl-primary);
    background: #fff;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.ccl-btn.elementor-widget-button .elementor-button:hover,
.ccl-btn.elementor-widget-button .elementor-button:focus {
    border-color: var(--ccl-primary);
    color: #fff;
    background: var(--ccl-primary);
}
.ccl-btn-primary.elementor-widget-button .elementor-button {
    border-color: var(--ccl-primary);
    color: var(--ccl-white);
    background: var(--ccl-primary);
}
.ccl-btn-primary.elementor-widget-button .elementor-button:hover,
.ccl-btn-primary.elementor-widget-button .elementor-button:focus {
    border-color: var(--ccl-primary);
    color: var(--ccl-white);
    background: #650548;
}
.ccl-btn-secondary.elementor-widget-button .elementor-button {
    border-color: var(--ccl-secondary);
    color: var(--ccl-white);
    background: var(--ccl-secondary);
}
.ccl-btn-secondary.elementor-widget-button .elementor-button:hover,
.ccl-btn-secondary.elementor-widget-button .elementor-button:focus {
    border-color: var(--ccl-primary);
    color: var(--ccl-white);
    background: var(--ccl-primary);
}
/*=== LAYOUT ===*/
.ccl-section.elementor-element {
    background: var(--ccl-white);
    color: var(--ccl-black);
    padding-block: var(--ccl-space-md);
}
.ccl-grid.e-con.e-grid {
    width: var(--ccl-grid);
    max-width: 1680px;
    margin-inline: auto;
    padding: 0 calc(var(--ccl-gutter) / 2);
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: repeat(1, 1fr);
    column-gap: var(--ccl-gutter);
}
.ccl-full {
    grid-column: 1 / -1;
}
.ccl-image-wide {
    grid-column: 2 / span 10;
}
.ccl-image-left {
    grid-column: 2 / span 8;
}
.ccl-tit-left {
    grid-column: 2 / span 5;
}
.ccl-txt-right {
    grid-column: 7 / span 5;
}
.ccl-content-wide {
    grid-column: 3 / span 8;
}
.ccl-cont-wide {
    grid-column: 3 / span 8;
}
.ccl-content {
    grid-column: 4 / span 6;
}
.ccl-cont-medL {
    grid-column: 2 / span 5;
}
.ccl-cont-medR {
    grid-column: 7 / span 5;
}
.ccl-content-narrow {
    grid-column: 5 / span 4;
}
.ccl-cont-narrow {
    grid-column: 5 / span 4;
}
.ccl-cont-sm_l {
    grid-column: 2 / span 3;
}
.ccl-recuadro {
    grid-column: 4 / span 6;
    outline: 2px solid #333;
    outline-offset: 1.5rem;
    margin: 5rem 0 !important;
}
.ccl-card-right {
    grid-column: 8 / span 4;
}
/*--- HERO ---*/
.elementor .elementor-element.ccl-hero {
    height: min(100vh, 1440px);
    height: min(100svh, 1440px);
    min-height: min(100vh, 1440px);
    min-height: min(100svh, 1440px);
    max-height: 1440px;
    padding-top: var(--ccl-space-md);
    padding-bottom: var(--ccl-space-lg);
    display: flex;
    align-items: stretch;
    box-sizing: border-box;
}
.elementor .elementor-element.ccl-hero > .elementor-element.ccl-grid.ccl-hero__content.e-con.e-grid {
    display: grid;
    min-height: 100%;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 1fr auto;
    align-content: stretch;
}
.elementor .ccl-hero-title {
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: center;
    color: var(--ccl-primary);
    text-align: center;
    text-transform: uppercase;
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-name-pg);
    line-height: 0.9;
}
.ccl-hero-title > h1 {
    line-height: 0.1;
}
.ccl-cabec, .ccl-mid-cabec, .ccl-post-cabec {
    text-transform: uppercase;
    line-height: 1.5em;
}
.ccl-cabec {
    font-size: var(--ccl-name-pg);
    font-weight: 600;
    display: block;
}
.ccl-mid-cabec {
    font-size: 0.33em;
    display: block;
}
.ccl-post-cabec {
    font-size: var(--ccl-destacado);
    font-weight: 400;
}
.elementor .ccl-scroll {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: end;
    margin-top: 0;
    padding-bottom: var(--ccl-space-xs);
    text-align: center;
    font-family: var(--ccl-font-sans) !important;
    font-size: 0.875rem;
    color: var(--ccl-secondary);
    text-transform: uppercase;
}
.elementor .ccl-scroll,
.elementor .ccl-scroll p,
.elementor .ccl-scroll a,
.elementor .ccl-scroll .elementor-heading-title {
    color: var(--ccl-secondary);
}
.elementor .ccl-scroll p {
    margin: 0;
}
.elementor .ccl-hero__scroll {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.elementor .ccl-hero__scroll::after {
    content: "↓";
    display: block;
    font-size: 1.2em;
    line-height: 1;
    animation: ccl-hero-scroll-pulse 1.6s ease-in-out infinite;
}
.elementor .ccl-hero__scroll:focus-visible {
    outline: 2px solid var(--ccl-primary);
    outline-offset: 4px;
}
@keyframes ccl-hero-scroll-pulse {
    0%, 100% {
        opacity: 0.55;
        transform: translateY(0);
    }
    50% {
        opacity: 1;
        transform: translateY(4px);
    }
}
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    .elementor .ccl-hero__scroll::after {
        animation: none;
    }
}
/*--- Cita ---*/
.ccl-cite-quotes {
    position: relative;
    padding-inline: clamp(2.5rem, 4vw, 5rem);
}
.elementor .ccl-grid .ccl-cite.ccl-cite-quotes {
    position: relative;
    padding-inline: clamp(2.5rem, 4vw, 5rem);
}
.ccl-cite.ccl-cite-quotes::before,
.ccl-cite.ccl-cite-quotes::after {
    position: absolute;
    top: 0;
    font-family: var(--ccl-font-serif);
    font-size: clamp(3.5rem, 5vw, 6rem);
    font-style: normal;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
    color: var(--ccl-primary);
}
.ccl-cite.ccl-cite-quotes::before {
    left: 0;
    content: "“";
}
.ccl-cite.ccl-cite-quotes::after {
    right: 0;
    content: "”";
}
.ccl-cite__quote.elementor-widget .elementor-heading-title {
  margin: 0 0 0.3em 0;
  font-weight: 400;
  font-style: italic;
  line-height: 1.3;
  text-transform: initial;
}
.ccl-cite__meta,
.ccl-cite__meta p {
  margin: 0;
  font-family: var(--ccl-font-sans);
}
/*--- Seccion Visual ---*/
.ccl-visual-intro {
    padding-top: var(--ccl-space-md);
    padding-bottom: var(--ccl-space-lg);
}
.ccl-visual-grid {
    align-items: center;
    row-gap: var(--ccl-space-sm);
}
.ccl-image-editorial {
    grid-column: 2 / 12;
}
.ccl-visual-image {
    grid-column: 2 / 10;
    grid-row: 1;
}
.ccl-image-editorial img, 
.ccl-visual-image img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}
.ccl-overlay-card.elementor-element {
    width: calc(100% + var(--ccl-gutter));
    min-width: min-content;
    height: auto;
    min-height: 0;
    aspect-ratio: 1 / 1;
    margin-left: calc(var(--ccl-gutter) / (-2));
    padding: var(--ccl-space-xs);
    border: 2px solid var(--ccl-primary);
    grid-column: 9 / 12;
    grid-row: 1;
    align-self: center;
    justify-content: center;
    background: transparent;
}
.e-con .ccl-card-label .elementor-heading-title {
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-epigrafe);
    color: var(--ccl-primary);
    text-transform: uppercase;
    line-height: 1.3;
    margin: 0;
}
.ccl-card-separator {
    width: 70px;
}
.ccl-card-separator .elementor-divider-separator {
    border-color: var(--ccl-primary);
}
.ccl-card-title .elementor-heading-title,
.ccl-card-title p {
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-destacado);
    color: var(--ccl-black);
    font-style: italic;
    line-height: 1.1;
    text-transform: initial;
    margin: 0;
}
.ccl-card-title p {
    font-size: var(--ccl-epigrafe);
}

/*--- Intro ---*/
.ccl-grid.ccl-intro {
    row-gap: var(--ccl-space-sm);
    align-items: start;
}
.ccl-intro_head {
    padding-block-end: var(--ccl-gutter);
    grid-column: 2 / span 5;
    display: flex;
    flex-direction: column;
}
.ccl-intro_head .elementor-widget .elementor-heading-title {
    width: fit-content;
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-subtitulo);
    line-height: 1.3;
    text-transform: initial;
    color: var(--ccl-primary);
}
.ccl-intro_head .elementor-heading-title::after {
    content: "";
    width: auto;
    display: block;
    border-bottom: 2px solid var(--ccl-primary);
}
.ccl-intro_col-l {
    grid-column: 2 / span 5;
}
.ccl-intro_col-r {
    grid-column: 7 / span 5;
}

.ccl-intro_col-l .elementor-widget .elementor-heading-title {
    margin: var(--ccl-space-xs) 0;
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-destacado);
    font-weight: 300;
    font-style: italic;
    line-height: 1.3;
    text-transform: initial;
    color: var(--ccl-secondary);
}
.ccl-intro_col-l .elementor-heading-title:before,
.ccl-intro_col-l .elementor-heading-title:after{
    content: "";
    width: 120px;
    height: 2px;
    margin: 0.6em 25%;
    border-radius: 100%;
    display: block;
    background: var(--ccl-secondary);
}
/*--- Doble Columna ---
.ccl-grid.ccl-doblecol {
    row-gap: var(--ccl-space-sm);
}
.ccl-doblecol-tit {
    grid-column: 4 / span 6;
}
.ccl-doblecol-cols.e-con {
    grid-column: 3 / span 8;
    display: flex;
    flex-direction: row;
    flex-wrap:nowrap;
    justify-content: center;
}
.ccl-doblecol-cols .elementor-widget-text-editor {
    width: 49%;
    padding: 0 calc(var(--ccl-gutter) / 2);
}
.ccl-doblecol-cols .elementor-widget-text-editor:first-child {
    border-right: 1px dashed var(--ccl-black);
}
.ccl-doblecol-tit .elementor-widget {
    margin: 0;
    text-align: center;
}
.ccl-doblecol .ccl-btn {
    grid-column: 5 / 9;
    margin: auto;
}*/
/*
.ccl-doblecol-tit div:nth-child(2) .elementor-heading-title {
    font-size: var(--ccl-subtitulo);
    font-weight: 300;
    font-style: italic;
    text-transform: initial;
}*/
/*--- Exposición / Método CCL ---*/
.ccl-grid.ccl-expos {
    row-gap: var(--ccl-space-sm);
}
.ccl-expos-head,
.ccl-expos-body {
    grid-column: 5 / span 4;
}
.ccl-expos-head .elementor-widget {
    margin: 0;
    text-align: center;
}/*
.ccl-expos-head div:nth-child(2) .elementor-heading-title {
    font-size: var(--ccl-destacado);
    font-weight: 300;
    font-style: italic;
    text-transform: initial;
}*/
.ccl-expos .ccl-ladillo {
    grid-column: 4/10;
}
/*--- Seccion Services ---*/
.ccl-services-module .ccl-tit-left {
    grid-column: 2 / span 4;
}
.ccl-services-module .ccl-txt-right {
    grid-column: 7 / span 5;
}
.ccl-services-module .ccl-services-list.e-con {
    display: flex;
    flex-direction: column;
    gap: var(--ccl-space-sm);
}
.ccl-services-item.e-con .elementor-heading-title {
    margin: 0 0 calc(var(--ccl-space-xs) * 0.3);
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-destacado);
    text-transform: lowercase;
    color: var(--ccl-secondary);
}
.ccl-services-item .ccl-service-link.elementor-widget {
    margin-top: calc(var(--ccl-space-xs) * 0.3);
}
.ccl-services-item .elementor-widget-text-editor:is(:last-child) p {
    margin: 0;
}
.ccl-service-link a {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-txt);
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none !important;
    text-transform: lowercase;
    color: var(--ccl-primary);
    transition: color 0.2s ease;
}
.ccl-service-link a::after {
    content: "→";
    transition: transform 0.2s ease;
}
.ccl-service-link a:hover,
.ccl-service-link a:focus {
    color: var(--ccl-secondary);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}
.ccl-service-link a:hover::after,
.ccl-service-link a:focus::after {
    transform: translateX(0.15em);
}
/*--- Reserva Cita ---*/
.ccl-reserve.e-con {
    border-top: var(--ccl-txt) solid var(--ccl-primary);
    border-bottom: var(--ccl-txt) solid var(--ccl-primary);
    padding: var(--ccl-space-sm) var(--ccl-gutter);
}
.ccl-reserve-subt.elementor-widget .elementor-heading-title {
    margin-bottom: 0.2em;
    font-size: var(--ccl-destacado);
    font-weight: 300;
    font-style: italic;
    text-align: center;
    text-transform: initial;
}
.ccl-reserve-tit.elementor-widget .elementor-heading-title {
    margin-bottom: var(--ccl-space-xs);
    line-height: 1.5;
    text-align: center;
    text-transform: uppercase;
    word-break: break-word;
    hyphens: auto;
    color: var(--ccl-primary);
}
.ccl-reserve-text p {
    max-width: 75%;
    margin: 0 auto var(--ccl-space-sm);
    font-size: var(--ccl-epigrafe);
    font-family: var(--ccl-font-serif);
    font-style: italic;
    text-align: center;
}
.ccl-reserve .elementor-widget.elementor-widget-button {
    margin: auto;
}
/*--- Marco ---*/
.ccl-marco.e-con {
    margin-block: var(--ccl-space-sm);
    grid-column: 4 / span 6;
}
.ccl-marco-lat.e-con {
    padding: var(--ccl-space-xs) var(--ccl-space-sm);
}
.ccl-marco.e-con:before,
.ccl-marco.e-con:after  {
    content: "";
    width: calc(100% + var(--ccl-space-sm));
    border-top: 2px solid var(--ccl-black);
    position: absolute;
    left: calc(var(--ccl-space-sm) / (-2));
}
.ccl-marco.e-con:after {
    bottom: 0;
}   
.ccl-marco-lat.e-con:before,
.ccl-marco-lat.e-con:after{
    content: "";
    height: calc(100% + var(--ccl-space-sm));
    border-left: 2px solid var(--ccl-black);
    position: absolute;
    top: calc(var(--ccl-space-sm) / (-2));
}
.ccl-marco-lat.e-con:after {
    right: 0;
}
.ccl-marco-lat .elementor-widget .elementor-heading-title {
    font-size: var(--ccl-destacado);
    font-style: italic;
    font-weight: 300;
    text-transform: initial;
    color: var(--ccl-black)
}
/*--- Enlaces internos ---*/
.ccl-interlink.ccl-grid {
    margin-top: var(--ccl-space-md);
    display: flex;
    align-items: center;
    justify-items: center;
}
.ccl-interlink .ccl-interlink_head .elementor-heading-title {
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-epigrafe);
    font-weight: 300;
    text-transform: initial;
    font-style: italic;
}
.ccl-interlink_links.e-con .elementor-heading-title {
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-destacado);
    line-height: 1.5;
    text-transform: lowercase;
    padding-left: calc(var(--ccl-gutter) / 0.9);
}
.ccl-interlink_links.e-con .elementor-heading-title a {
    color: var(--ccl-secondary);
}
.ccl-interlink_links.e-con .elementor-heading-title a:hover {
    color: var(--ccl-primary);
}
.ccl-interlink .ccl-interlink_links:before {
    content: "{";
    font-family: var(--ccl-font-serif);
    font-size: calc(var(--ccl-destacado) * 4.25);
    font-weight: 100 !important;
    line-height: 0.93;
    position: absolute;
    left: calc(var(--ccl-gutter) * (-0.75));
    width: 0.5ch;
    color: var(--ccl-lightgrey);
}
.ccl-interlink_head.elementor-widget-heading {
    grid-column: 4 / span 3;
}
.ccl-interlink .ccl-interlink_links {
    grid-column: 7 / span 4;
}
.ccl-expos .ccl-interlink_head.elementor-widget-heading {
    grid-column: 5 / span 4;
}
.ccl-expos .ccl-interlink_links {
    grid-column: 9 / span 4;
}
/*--- Grupo IMG ---*/
.ccl-img-group.e-con {
    height: min-content;
    margin: var(--ccl-space-xs) 0 var(--ccl-space-md);
    grid-column: 1/11;
    gap: var(--ccl-gutter);
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
}
/*=== Pags Servicios ===*/
/*.ccl-prog-metodo.ccl-grid.e-con {
        row-gap: var(--ccl-space-sm);
}
.ccl-recursos-links.e-con {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
}
.ccl-recursos-links .ccl-btn {
    margin: 0;
}*/
/*== INTRO -> Row LARGE ===*/
.ccl-grid.ccl-row-lg{
    row-gap: var(--ccl-space-sm);
    align-items: start;
}
.ccl-cont-medL { 
    padding-block-end: var(--ccl-gutter);
    display: flex;
    flex-direction: column;
}
/*.ccl-cont-medL .elementor-widget .elementor-heading-title {
    width: fit-content;
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-subtitulo);
    line-height: 1.3;
    text-transform: initial;
    color: var(--ccl-primary);
}*/
/*==  Doble Columna -> ROW WIDE ===*/
.ccl-grid.ccl-row-wide {
    row-gap: var(--ccl-space-sm);
}
.ccl-row-wide_head .elementor-widget {
    margin: 0;
    text-align: center;
}
.ccl-row-wide_cols.e-con {
    display: flex;
    flex-direction: row;
    flex-wrap:nowrap;
    justify-content: center;
}
.ccl-row-wide_cols .elementor-widget-text-editor {
    width: 49%;
    padding: 0 calc(var(--ccl-gutter) / 2);
}
.ccl-row-wide_cols .elementor-widget-text-editor:first-child {
    border-right: 1px dashed var(--ccl-black);
}
.ccl-row-wide_links.e-con {
     display: flex;
    flex-direction: row;
    justify-content: space-evenly;
 }
.ccl-row-wide_links.e-con .elementor-widget-button.ccl-btn {
    /* margin: 0; */
    /* width: fit-content; */
    /* text-align: center; */
    /* display: flex; */
    /* max-width: fit-content; */
}
/*=== Exposición -> ROW CENTRAL ===*/
.ccl-grid.ccl-row-centr {
    row-gap: var(--ccl-space-sm);
}
.ccl-row-centr_head .elementor-heading-title {
    margin: auto;
    text-align: center;
}
/*=== Portrait -> HIGHLIGHT ===*/
.ccl-grid.ccl-hlight {
    align-items: center;
    row-gap: var(--ccl-space-sm);
}
.ccl-hlight_block {
    width: calc(100% - var(--ccl-gutter));
    margin-left: var(--ccl-gutter);
    padding: var(--ccl-space-md) var(--ccl-gutter) var(--ccl-space-md) calc((100% / 8) + (var(--ccl-gutter) * 2));
    grid-column: 3/12;
    grid-row: 1;
    background-color: var(--ccl-lightgrey);
}
.ccl-hlight_head .ccl-ital {
    margin-top: 0.3em;
    font-size: var(--ccl-destacado);
}
.ccl-hlight_img {
    outline: 2px solid #fff;
    aspect-ratio: 4 / 5;
    grid-column: 2 / 5;
    grid-row: 1;
    z-index: 9;
    overflow: hidden;
}
.ccl-hlight_txt {
    margin-top: var(--ccl-space-sm);
}
.ccl-hlight-guia_img {
    outline: 2px solid #fff;
    max-height: calc(90% - var(--ccl-gutter));
    aspect-ratio: 0.69;
    grid-column: 2 / 5;
    grid-row: 1;
    z-index: 9;
    overflow: hidden;
}
.ccl-hlight-guia .ccl-btn {
    margin-top: var(--ccl-gutter);
}
/*=== Opiniones de clientes ===*/
.ccl-grid.ccl-opinions {
    --e-con-grid-template-rows: auto;
    grid-template-rows: auto;
    grid-auto-rows: auto;
    row-gap: var(--ccl-space-sm);
    align-items: start;
    box-sizing: border-box;
    padding-block: var(--ccl-space-md) !important;
    overflow-x: clip;
}
.ccl-opinions_head {
    grid-column: 2 / span 4;
    align-self: start;
    min-width: 0;
    max-width: 100%;
}
.ccl-opinions_head .elementor-heading-title {
    margin: 0;
    line-height: 1.05;
    text-transform: initial;
    color: var(--ccl-secondary);
    text-wrap: balance;
}
.ccl-opinions_head .elementor-widget-text-editor {
    margin-top: var(--ccl-space-xs);
    max-width: 32ch;
}
.ccl-opinions_panel.e-con {
    grid-column: 6 / span 6;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: block;
    box-sizing: border-box;
}
.ccl-opinions_scroll.e-con {
    width: 100%;
    max-width: 100%;
    max-height: clamp(34rem, 62vh, 46rem);
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: clamp(0.75rem, 1vw, 1.25rem);
    display: block;
    box-sizing: border-box;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-color: var(--ccl-grey) var(--ccl-lightgrey);
    scrollbar-width: thin;
}
.ccl-opinions_scroll.e-con::-webkit-scrollbar {
    width: 8px;
}
.ccl-opinions_scroll.e-con::-webkit-scrollbar-track {
    background: var(--ccl-lightgrey);
}
.ccl-opinions_scroll.e-con::-webkit-scrollbar-thumb {
    background: var(--ccl-grey);
}
.ccl-opinion.e-con {
    margin: 0 0 var(--ccl-space-md);
    padding: 0;
    border-bottom: 0;
    display: block;
    box-sizing: border-box;
}
.ccl-opinion_summary.elementor-widget {
    margin: 0;
    padding: 0 0 calc(var(--ccl-space-xs) * 0.5);
    border-bottom: 1px dashed var(--ccl-lightgrey);
}
.ccl-opinion_summary.elementor-widget .elementor-heading-title {
    margin: 0;
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-epigrafe);
    line-height: 1;
    text-transform: initial;
    color: var(--ccl-black);
}
.ccl-opinion_text {
    margin-top: calc(var(--ccl-space-xs) * 0.5);
}
.ccl-opinion_text p {
    margin-bottom: 0;
}
.ccl-opinion_name,
.ccl-opinion_name p {
    margin: calc(var(--ccl-space-xs) * 0.5) 0 0;
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-epigrafe);
    line-height: 1;
    text-transform: initial;
    color: var(--ccl-grey);
}
.ccl-opinions_controls {
    width: 100%;
    max-width: 100%;
    margin-top: var(--ccl-space-sm);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(0.75rem, 1.4vw, 1.5rem);
    box-sizing: border-box;
}
.ccl-opinions_btn {
    width: clamp(2rem, 2.5vw, 3rem);
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 0;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    font-size: 0;
    line-height: 1;
    color: transparent;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.ccl-opinions_btn-start {
    background-image: url("assets/icons/icon-scroll-down.svg");
}
.ccl-opinions_btn-end {
    background-image: url("assets/icons/icon-scroll-up.svg");
}
.ccl-opinions_btn:hover,
.ccl-opinions_btn:focus,
.ccl-opinions_btn:focus-visible {
    background-color: var(--ccl-lightgrey);
    outline: none;
}
.ccl-opinions_btn:focus {
    box-shadow: 0 0 0 4px rgba(164, 0, 117, 0.18);
}
.ccl-opinions_btn:focus-visible {
    box-shadow: 0 0 0 4px rgba(164, 0, 117, 0.18);
}
.ccl-opinions_progress {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(0.75rem, 1.2vw, 1.25rem);
}
.ccl-opinions_progress-percent {
    min-width: 3ch;
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-destacado);
    font-weight: 700;
    line-height: 1;
    color: var(--ccl-secondary);
    text-align: right;
}
.ccl-opinions_progress-track {
    position: relative;
    height: 4px;
    overflow: hidden;
    background: var(--ccl-lightgrey);
}
.ccl-opinions_progress-bar {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    background: var(--ccl-grey);
    transition: width 0.12s ease-out;
}
/*=== Medios y Colaboraciones ===*/
.ccl-grid.ccl-media {
    --e-con-grid-template-rows: repeat(1, 1fr);
    display: grid;
}
.ccl-media {
    grid-column: 1 / -1;
    row-gap: var(--ccl-space-sm);
}
.ccl-media_head {
    grid-column: 2 / span 4;
    align-self: start;
}
.ccl-media_head .elementor-heading-title {
    margin: 0;
    max-width: 8ch;
    line-height: 1.05;
    text-transform: initial;
    color: var(--ccl-secondary);
    text-wrap: balance;
}
.ccl-media_logos.e-con {
    grid-column: 6/span 6;
    display: block;
}
.ccl-media_track.e-con {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.75rem, 0.6rem + 0.8vw, 1.25rem);
}
.ccl-media_item-dup.e-con {
    display: none;
}
.ccl-media_item.e-con {
    aspect-ratio: 320 / 220;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(37, 37, 90, 0.16);
    background: rgba(255, 255, 255, 0.92);
}
.ccl-media_item .elementor-widget-image,
.ccl-media_item .elementor-widget-container {
    width: 100%;
    height: auto;
    display: block;
}
.ccl-media_item img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

@keyframes ccl-media-slide {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-5 * var(--ccl-media-mobile-step)));
    }
}
/*=== CTA Newsletter / guía ===*/
.ccl-cta-news.ccl-grid.e-con {
    grid-template-rows: 1fr;
}
.ccl-cta-news_content {
    grid-column: 2 / 10;
    grid-row: 1;
    background: var(--ccl-secondary);
}
.e-con .ccl-cta-news_content.e-child .elementor-widget {
    max-width: 62.5%;
    margin: auto 12.5%;
    padding: calc(var(--ccl-gutter) / 2);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-items: center;
    color: #fff;
}
.e-con.ccl-cta-news_action {
    height: auto;
    min-height: 0;
    margin: var(--ccl-gutter) 0;
    padding: clamp(0.6rem, 1.3rem + 1vw, 3.5rem);
    border: 2px solid var(
    --ccl-primary);
    grid-column: 9 / 12;
    grid-row: 1;
    aspect-ratio: 1 / 1;
    background: transparent;
}
.ccl-cta-news_button  {
    width: 100%;
    height: 100%;
    display: flex;
}
.ccl-cta-news_button a.elementor-button  {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    background-color: var(--ccl-primary);
}
.ccl-cta-news_button a.elementor-button:hover,
.ccl-cta-news_button a.elementor-button:focus {
    background-color: var(--ccl-secondary);
    color: var(--ccl-white);
}
.ccl-cta-news_button a span {
    margin:auto;
    line-height: 1.3;
}
/*=== Popup Newsletter / guía ===*/
body #elementor-popup-modal-108 {
	padding: clamp(1rem, 2vw, 2rem);
	display: flex;
	align-items:flex-start;
	overflow:scroll;
}
body #elementor-popup-modal-108 .dialog-message {
  width: min(92vw, 760px);
  max-width: 760px;
  height: auto;
}
body #elementor-popup-modal-108 .dialog-widget-content {
  background: var(--ccl-white);
  box-shadow: 0 18px 48px rgba(37, 37, 90, 0.18);
  overflow: hidden;
}
body #elementor-popup-modal-108 .dialog-close-button {
  top: 0.75rem;
  right: 0.75rem;
  width: 2.5rem;
  height: 2.5rem;
  /*display: grid;*/
  place-items: center;
  font-size: 1rem;
  color: var(--ccl-secondary);
  background: var(--ccl-white);
  border: 1px solid rgba(37, 37, 90, 0.18);
  border-radius: 50%;
}
#elementor-popup-modal-108 .elementor-element-cclpopupheading .elementor-heading-title {
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-subtitulo);
    line-height: 1.3;
    text-transform: initial;
    color: var(--ccl-secondary);
}
.elementor-element-cclpopuptext {
    margin: 0.5rem auto;
}
.ccl-form-popup {
    margin-top: 2rem;
}
.formulario.ccl-form label {
    font-family: var(--ccl-font-sans);
    font-size: calc(var(--ccl-txt) * 0.85);
}
.formulario.ccl-form p {
    font-family: var(--ccl-font-serif);
    font-size: calc(var(--ccl-txt) * 0.85);
}
.ccl-form p {
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-txt);
}
.ccl-form fieldset {
    margin: 2rem auto;
}
input.btn-primary {
    margin: 2rem auto;
    font-family: var(--ccl-font-sans);
}
.formulario.ccl-form p.ccl-form-legal {
    font-size: calc(var(--ccl-txt) * 0.75);
}
/*=== Ultimas publicaciones BLOG ===*/

.ccl-plt-post-body {
    display: flex;
    gap: 0.75rem;
    flex-direction: row-reverse !important;
    flex-wrap: nowrap;
    align-content: flex-start;
}
.ccl-plt-post-img a {
    width: 100%;
    display: block;
    aspect-ratio: 1.86;
    overflow: hidden;
    border-radius: clamp(1px, 0.25vw, 3px);
}
.ccl-plt-post-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ccl-plt-post-divider {
    border-top: 4px solid var(--ccl-grey);
    height: 1rem;
}
.ccl-plt-post-categ {
    margin-top: calc(var(--ccl-gutter) / 2);
    justify-items: end;
}
.ccl-plt-post-date.elementor-widget {
    min-width: fit-content;
    justify-items: end;
    flex-wrap: nowrap !important;
}
.ccl-plt-post .elementor-post-info li a,
.ccl-plt-post .elementor-post-info  .elementor-icon-list-text {
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-txt);
    font-weight: 400;
    text-transform:lowercase;
    color: var(--ccl-grey);
}
.ccl-plt-post-head.elementor-widget-heading .elementor-heading-title {
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-destacado);
    font-weight: 400;
    text-transform: initial;
}


/*=== CTA final Home / Contacto ===*/
.ccl-cta-contact-home {
    padding: var(--ccl-space-md) var(--ccl-space-sm);
    border: 2px solid var(--ccl-primary);
    text-align: center;
    align-items: center;
}
.elementor .ccl-grid .ccl-cta-contact-home {
    padding: var(--ccl-space-md) var(--ccl-space-sm);
    border: 2px solid var(--ccl-primary);
    text-align: center;
    align-items: center;
}
.ccl-cta-contact-home .ccl-subtit .elementor-heading-title {
    line-height: 1.3;
    text-align: center;
    text-transform: initial;
    color: var(--ccl-primary);
}
.ccl-cta-contact-home .elementor-widget-text-editor {
    max-width: 62ch;
    margin-top: var(--ccl-space-xs);
}
.ccl-cta-contact-home .elementor-widget-button {
    margin: var(--ccl-space-sm);
}
@media (max-width: 960px) {
    .ccl-grid.e-con.e-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    .elementor .elementor-element.ccl-hero > .elementor-element.ccl-grid.ccl-hero__content.e-con.e-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    .ccl-content {
        grid-column: 3/7;
    }
    .ccl-content-wide,
    .ccl-image-wide,
    .ccl-image-left,
    .ccl-card-right {
        grid-column: 1 / -1;
    }
    .ccl-tit-left {
        grid-column: 1/4;
    }
    .ccl-txt-right {
        grid-column: 4/-1;
    }
    .ccl-cite-quotes {
        padding-inline: clamp(3rem, 7vw, 4.5rem);
    }
    .elementor .ccl-grid .ccl-cite.ccl-cite-quotes {
        padding-inline: clamp(3rem, 7vw, 4.5rem);
    }
    .ccl-cite.ccl-cite-quotes::before,
    .ccl-cite.ccl-cite-quotes::after {
        top: 0;
        font-size: clamp(3rem, 7vw, 4.5rem);
    }
    .ccl-image-editorial {
        grid-column: 2 / 8;
    }
    .ccl-visual-image {
        grid-column: 1 / 7;
        grid-row: 1;
    }
    .ccl-overlay-card.elementor-element {
        grid-column: 6 / 9;
    }
    .ccl-intro_head,
    .ccl-intro_col-l {
        grid-column: 1 / span 4;
    }
    .ccl-intro_col-r {
        grid-column: 5 / span 4;
    }
    .ccl-doblecol-tit {
        grid-column: 2 / span 6;
    }
    .ccl-doblecol-cols.e-con {
        grid-column: 1 / span 8;
    }
    .ccl-grid .ccl-services-module {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    .ccl-services-module .ccl-tit-left {
        grid-column: 1/4;
    }
    .ccl-services-module .ccl-txt-right {
        grid-column: 4/-1;
    }
    .ccl-expos-head,
    .ccl-expos-body {
        grid-column: 3 / 7;
    }
    .ccl-interlink .elementor-widget-heading.ccl-interlink_head {
        grid-column: 2 / span 3;
    }
    .ccl-interlink .ccl-interlink_links {
        grid-column: 5 / span 3;
    }
    .ccl-marco.e-con {
        grid-column: 2 / 8;
    }
    .ccl-media_head {
        grid-column: 1 / 4;
    }
    .ccl-media_head .elementor-heading-title {
        max-width: 10ch;
    }
    .ccl-media_logos.e-con {
        grid-column: 4/-1;
    }
    .ccl-media_track.e-con {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .e-con.ccl-cta-news_content {
        grid-column: 1 / 7;
    }
    .e-con.ccl-cta-news_action {
        grid-column: 6 / -1;
    }
    .ccl-opinions_head {
        grid-column: 1 / 4;
    }
    .ccl-opinions_panel.e-con {
        grid-column: 4 / -1;
    }
    .ccl-opinions_scroll.e-con {
        max-height: clamp(32rem, 60vh, 42rem);
    }
}
@media (max-width: 720px) {
    :root {
        --ccl-gutter: 16px;
    }
    .ccl-grid.e-con.e-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        display: grid;
    }
    .elementor .elementor-element.ccl-hero > .elementor-element.ccl-grid.ccl-hero__content.e-con.e-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .ccl-cite-quotes {
        padding-inline: clamp(2.5rem, 10vw, 4rem);
    }
    .elementor .ccl-grid .ccl-cite.ccl-cite-quotes {
        padding-inline: clamp(2.5rem, 10vw, 4rem);
    }
    .ccl-cite.ccl-cite-quotes::before,
    .ccl-cite.ccl-cite-quotes::after {
        top: 0;
        font-size: clamp(2.75rem, 9vw, 3.5rem);
    }
    .ccl-content {
        grid-column: 2/6;
    }
    .ccl-image-editorial, 
    .ccl-visual-image {
        grid-column: 1 / -1;
        grid-row: 1;
    }
    .ccl-overlay-card.elementor-element {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
        width: calc(70% - 7px);
        aspect-ratio: 1.333/1;
        margin-top: calc(-1 * var(--ccl-space-lg));
    }
    .ccl-intro_head {
        grid-column: 1 / span 3;
    }
    .ccl-intro_col-l,
    .ccl-intro_col-r {
        grid-column: 2 / -1;
    }
    .ccl-intro_col-r {
        margin-block-start: var(--ccl-space-xs);
    }
    .ccl-tit-left {
        grid-column: 1/6;
        margin-bottom: var(--ccl-space-xs);
    }
    .ccl-txt-right {
        grid-column: 3/6;
    }
    .ccl-doblecol-tit {
        grid-column: 2 / 6;
    }
    .ccl-doblecol-cols.e-con {
        grid-column: 1 / -1;
    }
    .ccl-expos-head,
    .ccl-expos-body {
        grid-column: 2 / 6;
    }
    .ccl-interlink .elementor-widget-heading.ccl-interlink_head {
        grid-column: 2 / span 3;
    }
    .ccl-interlink .ccl-interlink_links {
        grid-column: 3 / 6;
    }
    .ccl-interlink .ccl-interlink_links:before {
        left: calc(var(--ccl-gutter) * (-1));
    }
    .ccl-grid .ccl-services-module {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        display: grid;
    }
    .ccl-services-module .ccl-tit-left {
        grid-column: 1 / 3;
    }
    .ccl-services-module .ccl-txt-right {
        grid-column: 4/-1;
    }
    .ccl-marco.e-con {
        grid-column: 2/6;
    }
    .ccl-media_head {
        grid-column: 1 / -1;
    }
    .ccl-media_head .elementor-heading-title {
        max-width: 100%;
    }
    .ccl-media_logos.e-con {
        grid-column: 2 / -1;
        margin-top: var(--ccl-space-sm);
    }
    .ccl-media_track.e-con {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .ccl-cta-news.ccl-grid {
        grid-template-rows: 2fr;
    }
    .e-con.ccl-cta-news_content {
        grid-column: 1 / -1;
        padding: var(--ccl-space-md) calc(var(--ccl-gutter) / 2) var(--ccl-space-lg);
    }
    .e-con .ccl-cta-news_content.e-child .elementor-widget {
        max-width: 101%;
        margin: auto 10%;
        padding: var(--ccl-space-xs) 0;
    }
    .e-con.ccl-cta-news_action {
        width: 66%;
        margin-top: calc(-1 * var(--ccl-space-lg));
        grid-column: 2 / 6;
        grid-row: 2;
        justify-self: center;
    }
    .ccl-opinions_head,
    .ccl-opinions_panel.e-con {
        grid-column: 1 / -1;
    }
    .ccl-opinions_panel.e-con {
        grid-column: 2 / -1;
    }
    .ccl-opinions_head .elementor-widget-text-editor {
        max-width: 48ch;
    }
    .ccl-opinions_scroll.e-con {
        max-height: min(38rem, 64vh);
    }
    .ccl-opinions_controls {
        gap: 0.75rem;
    }
}
@media (max-width: 540px) {
    .ccl-media_logos.e-con {
        --ccl-media-mobile-card: min(260px, calc(100vw - 64px));
        --ccl-media-mobile-step: calc(100vw - 32px);
        --ccl-media-mobile-gap: calc(var(--ccl-media-mobile-step) - var(--ccl-media-mobile-card));
        grid-column: 1 / -1;
        overflow: hidden;
        margin-top: var(--ccl-space-md);
    }
    .ccl-media_logos.e-con > .ccl-media_track.e-con {
        display: flex !important;
        flex-direction: row !important;
        grid-template-columns: none !important;
        flex-wrap: nowrap !important;
        width: max-content;
        gap: var(--ccl-media-mobile-gap);
        padding-inline: calc(var(--ccl-media-mobile-gap) / 2);
        animation: ccl-media-slide 10s steps(5, end) infinite;
        will-change: transform;
    }
    .ccl-media_logos.e-con > .ccl-media_track.e-con > .ccl-media_item.e-con {
        display: block !important;
        flex: 0 0 var(--ccl-media-mobile-card) !important;
        width: var(--ccl-media-mobile-card) !important;
        max-width: var(--ccl-media-mobile-card) !important;
    }
    .ccl-media_item-dup.e-con {
        display: block !important;
    }
}
@media (max-width: 540px) and (prefers-reduced-motion: reduce) {
    .ccl-media_logos.e-con {
        overflow-x: auto;
        scrollbar-width: none;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
    }
    .ccl-media_logos.e-con::-webkit-scrollbar {
        display: none;
    }
    .ccl-media_logos.e-con > .ccl-media_track.e-con {
        animation: none;
    }
    .ccl-media_logos.e-con > .ccl-media_track.e-con > .ccl-media_item.e-con {
        scroll-snap-align: center;
    }
}
@media (max-width: 480px) {
	.ccl-capitular > :first-child::first-letter {
		margin: 0.56em 0.166em 0.3em 0;
	}
    .ccl-grid.e-con.e-grid {
        width: calc(100% - 32px);
        row-gap: var(--ccl-space-sm);
    }
    .ccl-hero {
        padding-bottom: calc(var(--ccl-space-md) + var(--ccl-space-xs));
    }
    .ccl-cite-quotes {
        padding-inline: 2.5rem;
    }
    .elementor .ccl-grid .ccl-cite.ccl-cite-quotes {
        padding-inline: 2.5rem;
    }
    .ccl-cite.ccl-cite-quotes::before,
    .ccl-cite.ccl-cite-quotes::after {
        top: -0.1em;
        font-size: 2.75rem;
    }
    .ccl-content {
        grid-column: 1/-1;
    }
    .ccl-overlay-card.elementor-element {
        margin-top: calc(-1 * var(--ccl-space-sm));
        aspect-ratio: auto;
    }
    .ccl-intro_head {
        grid-column: 1 / span 4;
    }
    .ccl-doblecol-tit {
        grid-column: 1 / -1;
    }
    .ccl-doblecol-cols.e-con {
        grid-column: 1/-1;
        display: block;
    }
    .ccl-doblecol-cols .elementor-widget-text-editor {
        width: 100%;
        padding: 0;
        border-right: 0px solid #fff !important;
    }
    .ccl-expos-head,
    .ccl-expos-body {
        grid-column: 1/-1;
    }
    .ccl-interlink .elementor-widget-heading.ccl-interlink_head {
        grid-column: 2 / span 4;
    }
    .ccl-interlink .ccl-interlink_links {
        grid-column: 2 / -1;
    }
    .ccl-marco.e-con {
        grid-column: 2/6;
    }
    .ccl-txt-right {
        grid-column: 2/-1;
    }
    .ccl-grid .ccl-services-module {
        row-gap: var(--ccl-space-xs);
    }
    .ccl-services-module .ccl-tit-left {
        grid-column: 1/4;
    }
    .ccl-services-module .ccl-txt-right {
        grid-column: 2/-1;
    }
    .e-con.ccl-cta-news_action {
        width: 100%;
    }
    .ccl-opinions_scroll.e-con {
        max-height: 58vh;
        padding-right: 0.75rem;
    }
    .ccl-opinions_controls {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }
    .ccl-opinions_progress {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }
    .ccl-opinions_progress-percent {
        text-align: center;
    }
    .ccl-opinions_progress-track {
        height: 5px;
    }
}
@media (max-width: 960px) {
    .ccl-cont-narrow {
        grid-column: 3 / 7;
    }
    .ccl-cont-wide {
       grid-column: 1 / span 8;
    }
    .ccl-cont-medL {
        grid-column: 1 / span 4;
    }
    .ccl-cont-medR {
        grid-column: 5 / span 4;
    }
    .ccl-hlight_img {
       grid-column: 1 / span 3;
    }
    .ccl-hlight_block {
        grid-column: 3/ span 8;
    }
    .ccl-hlight-guia_img {
        grid-column: 1 / 4;
    }
    .ccl-hlight-guia .ccl-hlight_block {
        grid-column: 2 / -1;
        padding: var(--ccl-space-md) var(--ccl-gutter) var(--ccl-space-md) calc((100% / 8) + (var(--ccl-gutter) * 3));
    }
}
@media (max-width: 720px) {
    .ccl-cont-narrow,
    .ccl-cont-medL,
    .ccl-cont-medR {
        grid-column: 2 / span 4;
    }
    .ccl-row-wide_links.e-con {
        flex-direction: column;
        align-items:center;
        gap: var(--ccl-space-md);
    }
    .ccl-row-lg .ccl-cont-medL.e-con {
        grid-column: 1 / 6;
        }
    .ccl-row-lg .ccl-cont-medR.e-con {
        grid-column: 3 / 6;
    }
    .ccl-hlight_img {
        grid-column: 1 / -1;
        justify-self: center;
        width: calc(70% - 7px);
        aspect-ratio: 1.333 / 1;
    }
    .ccl-hlight_block {
        width: 100%;
        margin: calc((35% / 1.333) * (-1)) 0 0;
        padding: calc(42% / 1.333) var(--ccl-gutter) var(--ccl-space-sm);
        grid-column: 1/ -1;
        grid-row: 2;
    }
    .ccl-hlight-guia_img {
        max-height: 100%;
        grid-column: 2 / 6;
        justify-self: center;
        width: calc(70% - 7px);
    }
    .ccl-hlight-guia .ccl-hlight_block {
        width: 100%;
        margin: calc((50% / 1.45) * (-1)) auto 0;
        padding: calc(52% / 1.45) var(--ccl-space-sm) var(--ccl-space-sm);
        grid-column: 1/ -1;
        grid-row: 2;
        text-align: center;
        
    }
}
@media (max-width: 480px) {
    .ccl-cont-narrow,
    .ccl-cont-medL,
    .ccl-cont-medR {
        grid-column: 1/-1;
    }
    .ccl-cont-narrow {
        grid-column: 1/-1;
    }
    .ccl-row-lg .ccl-cont-medR.e-con {
        grid-column: 2 / -1;
    }
    .ccl-row-wide_cols.e-con {
        flex-wrap: wrap;
        flex-direction: column;
    }
    .ccl-row-wide_cols .elementor-widget-text-editor {
        width: 100%;
        border-width: 0px !important;
    }
    .ccl-row-wide_links.e-con {
        flex-direction: column;
        align-items:center;
        gap: var(--ccl-space-md);
    }
}

/*=== Contact Page ===*/

.ccl-CThero_head {
    grid-column: 2/span 11;
}
.ccl-CThero_body {
    margin-top: calc(var(--ccl-name-pg) * -0.3);
    grid-column: 7/span 4;
}
.ccl-CThero .ccl-ladillo {
    margin-top: var(--ccl-space-md);
    grid-column: 4/span 6;
}
.ccl-CTform.e-con.e-grid {
    padding: var(--ccl-space-sm) calc(var(--ccl-gutter) / 2);
    border-top: var(--ccl-txt) solid var(--ccl-primary);
    border-bottom: var(--ccl-txt) solid var(--ccl-primary);  
}
.ccl-CTform_txt {
    grid-column: 2/span 5;
    gap: var(--ccl-gutter);
}
.ccl-CTform_txt .ccl-btn.elementor-widget-button .elementor-button {
    border: 1px solid var(--ccl-black);
    color: var(--ccl-black);
    padding: 0.6em 1.2em 0.3em;
}
.ccl-CTform_form {
    padding-top: calc(var(--ccl-destacado) * 2);
    grid-column: 7/span 6;
}
.ccl-contact-legal {
    margin-top: var(--ccl-gutter);
    font-size: var(--ccl-txt-small);
    line-height: 1.3;
}
.ccl-intlink.e-con.e-flex {
    padding-inline: calc(var(--ccl-gutter) / 2);
    grid-column: 3/span 8;
    display: flex;
    align-content: center;
    justify-content: space-evenly;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}
.ccl-intlink_head {
    width: 50%;
}
.ccl-intlink_head.elementor-widget .elementor-heading-title {
    font-family: var(--ccl-font-serif);
    font-size: var(--ccl-epigrafe);
    font-weight: 300;
    text-transform: initial;
    font-style: italic;
}
.ccl-intlink_links {
    width: 37.5%;
}
.ccl-intlink_links.e-con .elementor-heading-title {
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-destacado);
    line-height: 1.5;
    text-transform: lowercase;
    padding-left: calc(var(--ccl-gutter) / 0.9);
}
.ccl-intlink_links.e-con .elementor-heading-title a {
    color: var(--ccl-secondary);
}
.ccl-intlink_links.e-con .elementor-heading-title a:hover {
    color: var(--ccl-primary);
}
.ccl-intlink_links:before {
    content: "{";
    font-family: var(--ccl-font-serif);
    font-size: calc(var(--ccl-destacado) * 4.25);
    font-weight: 100 !important;
    line-height: 0.93;
    position: absolute;
    left: calc(var(--ccl-gutter) * (-0.75));
    width: 0.5ch;
    color: var(--ccl-lightgrey);
}
@media (max-width: 960px) {
    .ccl-CThero_head {
        grid-column: 1/ -1;
    }
    .ccl-CThero_body {
        grid-column: 5/ -1;
    }
    .ccl-CThero .ccl-ladillo {
        grid-column: 2/8;
    }
    .ccl-CTform_txt  {
        grid-column: 1/span 4;
    }
    .ccl-CTform_form  {
        grid-column: 5/span 4;
    }
    .ccl-intlink.e-con.e-flex {
        grid-column: 1/ -1;
    }
}
@media (max-width: 720px) {
    .ccl-CThero_head {
        grid-column: 1/ -1;
    }
    .ccl-CThero_body,
    .ccl-CThero .ccl-ladillo,
    .ccl-CTform_txt  {
        margin-top: var(--ccl-space-md);
        grid-column: 2/ 6;
    }
    .ccl-CTform_form  {
        grid-column: 2/6;
    }
    .ccl-intlink.e-con.e-flex {
        grid-column: 1/ -1;
        gap: var(--ccl-gutter);
        flex-wrap: wrap;
        align-content: space-evenly;
        justify-content: space-around;
    }
    .ccl-intlink_head,
    .ccl-intlink_links {
        width: fit-content;
    }
}
@media (max-width: 480px) {
    .ccl-CThero_body,
    .ccl-CTform_txt,
    .ccl-CTform_form {
        grid-column: 1/ -1;
    }
}

/* ==========================================================================
   CCL Blog Single Post
   ========================================================================== */

.ccl-singlep-hero_grid {
	align-items: end;
	row-gap: var(--ccl-gutter);
}
.ccl-singlep-title {
	grid-column: 3 / span 8;
	max-width: 960px;
}
.ccl-singlep-title h1,
.ccl-singlep-title .elementor-heading-title {
	font-size: var(--ccl-titular);
    text-align: center;
	line-height: 1.3;
}
.ccl-singlep-categ  {
	grid-column: 5 / span 4;
	align-self: start;
	justify-items: center;
}
.ccl-singlep-categ .elementor-post-info li{
	font-family: var(--ccl-font-sans);
	font-size: var(--ccl-txt);
	line-height: 1.6;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ccl-singlep-categ a {
	color: var(--ccl-secondary);
	text-decoration: none;
}
.ccl-singlep-categ a:hover {
	color: var(--ccl-primary);
}
.ccl-singlep-image { 
	grid-column: 2 /span 10;
	margin-top: var(--ccl-gutter);
    aspect-ratio: 1.9;
    overflow: hidden;
	border-radius: clamp(1px, 0.25vw, 3px);
}
.ccl-singlep-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ccl-singlep-body {
	row-gap: 0;
}
.ccl-singlep-content {
	grid-column: 5 / span 6;
	max-width: 920px;
	font-family: var(--ccl-text-sans);
	font-size: var(--ccl-txt);
	line-height: 1.75;
}
.ccl-singlep-content > *:first-child {
	margin-top: 0;
}
.ccl-singlep-content > *:last-child {
	margin-bottom: 0;
}
.ccl-singlep-content p {
	margin-block: 0 1.35em;
}
.ccl-singlep-content h2,
.ccl-singlep-content h3,
.ccl-singlep-content h4 {
	margin-block: 2.2em 0.8em;
}

.ccl-singlep-content a {
	color: var(--ccl-primary);
	text-decoration: none;
}
.ccl-singlep-content a:hover {
	color: var(--ccl-grey);
}
.ccl-singlep-content ul,
.ccl-singlep-content ol {
	margin-block: 0 1.35em;
	padding-left: 1.35em;
}
.ccl-singlep-content li + li {
	margin-top: 0.45em;
}
@media (max-width: 960px) {
	.ccl-singlep-title,
	.ccl-singlep-categ,
	.ccl-singlep-image {
		grid-column: 1 / -1;
	}
	.ccl-singlep-content {
		grid-column: 3 /-1;
	}
	.ccl-singlep-categ {
		align-self: auto;
	}
}
@media (max-width: 720px) {
	.ccl-singlep-content {
		grid-column: 2 /-1;
		line-height: 1.7;
	}
}
@media (max-width: 480px) {
	.ccl-singlep-content {
		grid-column: 1 /-1;
	}
}

/* ==========================================================================
   CCL Blog Archive
   ========================================================================== */

.ccl-archive-hero_grid {
    align-items: end;
    row-gap: var(--ccl-gutter);
}

.ccl-archive-title {
    grid-column: 3 / span 8;
    max-width: 960px;
}

.ccl-archive-title h1,
.ccl-archive-title .elementor-heading-title {
    font-size: var(--ccl-titular);
    text-align: center;
    line-height: 1.3;
}

.ccl-archive-list-grid {
    row-gap: var(--ccl-gutter);
}

.ccl-archive-posts {
    grid-column: 2 / span 10;
}

.ccl-archive-posts .elementor-posts-container {
    column-gap: var(--ccl-gutter);
    row-gap: var(--ccl-gutter);
}

.ccl-archive-posts .elementor-post {
    overflow: hidden;
}

.ccl-archive-posts .elementor-post__thumbnail__link {
    display: block;
    margin-bottom: clamp(16px, 2vw, 24px);
}

.ccl-archive-posts .elementor-post__thumbnail {
    aspect-ratio: 1.8;
    overflow: hidden;
    border-radius: clamp(1px, 0.25vw, 3px);
}

.ccl-archive-posts .elementor-post__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ccl-archive-posts .elementor-post__title {
    margin: 0 0 0.45em;
}
.ccl-archive-posts .elementor-post__title a {
    font-family: var(--ccl-font-sans);
    text-transform: initial;
    font-size: var(--ccl-epigrafe);
}

.ccl-archive-posts .elementor-post__title,
.ccl-archive-posts .elementor-post__title a {
    color: inherit;
    text-decoration: none;
}

.ccl-archive-posts .elementor-post__title a:hover {
    color: var(--ccl-primary);
}

.ccl-archive-posts .elementor-post__meta-data {
    margin-bottom: 1.3em;
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-txt-small, 0.875rem);
    line-height: 1.5;
    color: var(--ccl-grey);
}

.ccl-archive-posts .elementor-post__read-more {
    display: inline-block;
    margin-top: 0.4em;
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-txt);
    line-height: 1.4;
    color: var(--ccl-secondary);
    text-decoration: none;
}

.ccl-archive-posts .elementor-post__read-more:hover {
    color: var(--ccl-primary);
}

.ccl-archive-posts .elementor-pagination {
    margin-top: clamp(40px, 6vw, 80px);
    font-family: var(--ccl-font-sans);
    font-size: var(--ccl-txt);
    line-height: 1.4;
}

.ccl-archive-posts .elementor-pagination a,
.ccl-archive-posts .elementor-pagination span {
    margin-inline: 0.25em;
    color: inherit;
    text-decoration: none;
}

.ccl-archive-posts .elementor-pagination a:hover,
.ccl-archive-posts .elementor-pagination .current {
    color: var(--ccl-primary);
}

@media (max-width: 960px) {
    .ccl-archive-title,
    .ccl-archive-posts {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .ccl-archive-title h1,
    .ccl-archive-title .elementor-heading-title {
        line-height: 1.25;
    }

    .ccl-archive-posts .elementor-post__thumbnail {
        aspect-ratio: 1.55;
    }
}

/* ========================================================================== 
   	Header global CCL + overlay
	Fase 2F: correccion visual desktop/base segun maqueta aportada. 
   ========================================================================== */

.elementor-location-header {
	position: sticky;
	top: 0;
	z-index: 9990;
}
/*
.admin-bar .elementor-location-header {
	top: 32px;
}*/
.ccl-site-header.e-con,
.ccl-site-header.elementor-element {
	width: 100%;
	max-width: none;
	min-height: 0;
	padding: 0;
	background: transparent;
}
.ccl-site-header > .e-con-inner {
	width: 100%;
	max-width: none;
	padding: 0;
}
.ccl-header-bar {
	position: relative;
	height: calc(8px + clamp(48px, 4.115vw, 94px));
	min-height: calc(8px + clamp(48px, 4.115vw, 94px));
	padding: 0;
	display: block;
	background: transparent;
}
.ccl-header-bar::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	height: 8px;
	background: var(--ccl-lightgrey);
}
.ccl-header-symbol-wrap {
	position: absolute;
	top: 8px;
	left: 50%;
	z-index: 2;
	width: clamp(90px, 8.756vw, 200px);
	height: clamp(48px, 4.115vw, 94px);
	padding: 0;
	border-radius: 0 0 10px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ccl-lightgrey);
	transform: translateX(-50%);
}
.ccl-header-symbol-wrap::before,
.ccl-header-symbol-wrap::after {
	content: "";
	position: absolute;
	top: 0;
	width: 10px;
	height: 10px;
	pointer-events: none;
}
.ccl-header-symbol-wrap::before {
	left: -10px;
	background: radial-gradient(circle at left bottom, transparent 9px, var(--ccl-lightgrey) 9.5px);
}
.ccl-header-symbol-wrap::after {
	right: -10px;
	background: radial-gradient(circle at right bottom, transparent 9px, var(--ccl-lightgrey) 9.5px);
}
.ccl-header-symbol {
	position: relative;
	z-index: 2;
	width: clamp(60px, 5.254vw, 120px);
	height: auto;
	display: block;
	transform: none;
}
.ccl-header-menu-toggle {
	position: absolute;
	top: calc(8px + (clamp(48px, 4.115vw, 94px) / 2));
	right: clamp(28px, 3.85vw, 88px);
	z-index: 3;
	min-height: 25px;
	padding: 3px 6px 3px 8px;
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--ccl-font-sans);
	font-size: var(--ccl-txt);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: lowercase;
	color: var(--ccl-white);
	background: var(--ccl-secondary);
	transform: translateY(-50%);
}
.ccl-header-menu-toggle:hover,
.ccl-header-menu-toggle:focus {
	color: var(--ccl-white);
	background: var(--ccl-primary);
}
.ccl-header-menu-icon {
	width: 18px;
	height: 12px;
	position: relative;
	display: inline-block;
	color: inherit;
}
.ccl-header-menu-icon::before,
.ccl-header-menu-icon::after,
.ccl-header-menu-icon span {
	content: "";
	position: absolute;
	right: 0;
	width: 18px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
}
.ccl-header-menu-icon::before {
	top: 0;
}
.ccl-header-menu-icon span {
	top: 5px;
}
.ccl-header-menu-icon::after {
	top: 10px;
}
body .elementor-location-header #ccl-menu-overlay.ccl-menu-overlay.e-con,
.ccl-menu-overlay.e-con,
.ccl-menu-overlay.elementor-element {
	position: fixed !important;
	inset: 0 !important;
	box-sizing: border-box !important;
	z-index: 10000 !important;
	width: 100% !important;
	max-width: none !important;
	height: 100vh !important;
	height: 100svh !important;
	padding: 28px 30px !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	background: var(--ccl-white) !important;
	transition: transform 0.42s ease, opacity 0.28s ease, visibility 0s linear 0.42s;
}
body .elementor-location-header #ccl-menu-overlay.ccl-menu-overlay.e-con:not(:target),
.ccl-menu-overlay:not(:target) {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translateY(-100%) !important;
}
body .elementor-location-header #ccl-menu-overlay.ccl-menu-overlay.e-con:target,
.ccl-menu-overlay:target {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateY(0) !important;
	transition-delay: 0s;
}
.ccl-menu-overlay > .e-con-inner {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding: 0;
}
body .elementor-location-header .ccl-menu-overlay-inner.e-con,
.ccl-menu-overlay-inner.e-con,
.ccl-menu-overlay-inner.elementor-element {
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	min-height: calc(100vh - 56px) !important;
	min-height: calc(100svh - 56px) !important;
	padding: 0 !important;
	border-radius: 18px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	column-gap: 0 !important;
	background: var(--ccl-lightgrey) !important;
	overflow: hidden !important;
}
.ccl-menu-overlay-inner::before {
	content: "";
	position: absolute;
	top: 50%;
	height: 70%;
	left: 50%;
	z-index: 1;
	width: 4px;
	border-radius: 999px;
	background: var(--ccl-white);
	transform: translate(-50%, -50%);
}
.ccl-menu-overlay-inner > .e-con-inner {
	width: 100%;
	max-width: none;
	padding: 0;
	display: contents;
}
.ccl-menu-close-widget.elementor-widget {
	position: absolute;
	top: 34px;
	right: 38px;
	z-index: 5;
	width: auto;
	display: block !important;
}
.ccl-menu-close {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--ccl-white);
	background: var(--ccl-secondary);
}
.ccl-menu-close:hover,
.ccl-menu-close:focus {
	color: var(--ccl-white);
	background: var(--ccl-primary);
}
.ccl-menu-close span:first-child {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.ccl-menu-close-icon {
	position: relative;
	width: 18px;
	height: 18px;
	display: block;
}
.ccl-menu-close-icon::before,
.ccl-menu-close-icon::after {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 18px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
}
.ccl-menu-close-icon::before {
	transform: rotate(45deg);
}
.ccl-menu-close-icon::after {
	transform: rotate(-45deg);
}
body .elementor-location-header .ccl-menu-brand.e-con,
.ccl-menu-brand.e-con,
.ccl-menu-brand.elementor-element {
	z-index: 2;
	min-height: 100%;
	padding: 0 !important;
	border: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.ccl-menu-brand > .e-con-inner {
	display: contents;
}
.ccl-menu-brand-widget.elementor-widget {
	width: 100%;
}
body .elementor-location-header .ccl-menu-brand-content,
.ccl-menu-brand-content {
	min-height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 76px;
}
.ccl-menu-logo {
	width: 382px;
	max-width: 48%;
	height: auto;
	display: block;
}
.ccl-menu-social {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
}
.ccl-social-link {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--ccl-white);
	background: var(--ccl-primary);
	transition: none;
}
.ccl-social-link svg {
	width: 29px;
	height: 29px;
	display: block;
	fill: currentColor;
}
.ccl-social-link:hover,
.ccl-social-link:focus {
	color: var(--ccl-white);
	background: var(--ccl-secondary);
}
body .elementor-location-header .ccl-menu-nav.e-con,
.ccl-menu-nav.e-con,
.ccl-menu-nav.elementor-element {
	z-index: 2;
	min-height: 100%;
	padding: 0 0 0 16.5% !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
}
.ccl-menu-nav > .e-con-inner {
	display: contents;
}
.ccl-menu-nav .elementor-widget-nav-menu {
	width: 100%;
}
.ccl-menu-nav .elementor-menu-toggle,
.ccl-menu-nav .elementor-nav-menu--dropdown {
	display: none !important;
}
.ccl-menu-nav .elementor-nav-menu--main {
	display: block !important;
}
.ccl-menu-nav .elementor-nav-menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}
.ccl-menu-nav .elementor-nav-menu li,
.ccl-menu-nav .elementor-nav-menu a {
	width: auto;
}
.ccl-menu-nav .elementor-nav-menu .elementor-item {
	padding: 0;
	font-family: var(--ccl-font-sans);
	font-size: 33px;
	font-weight: 600;
	line-height: 1.18;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	color: var(--ccl-secondary);
	background: transparent;
}
.ccl-menu-nav .elementor-nav-menu .elementor-item:hover,
.ccl-menu-nav .elementor-nav-menu .elementor-item:focus,
.ccl-menu-nav .elementor-nav-menu .elementor-item.elementor-item-active {
	color: var(--ccl-secondary);
	background: transparent;
}

@media (max-width: 767px) {
	body .elementor-location-header #ccl-menu-overlay.ccl-menu-overlay.e-con,
	.ccl-menu-overlay.e-con,
	.ccl-menu-overlay.elementor-element {
		padding: 18px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}
	body .elementor-location-header .ccl-menu-overlay-inner.e-con,
	.ccl-menu-overlay-inner.e-con,
	.ccl-menu-overlay-inner.elementor-element {
		min-height: calc(100vh - 36px) !important;
		min-height: calc(100svh - 36px) !important;
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: 1fr !important;
		overflow: visible !important;
	}
	.ccl-menu-overlay-inner::before {
		display: none !important;
	}
	.ccl-menu-close-widget.elementor-widget {
		top: 24px;
		right: 24px;
	}
	.ccl-menu-close {
		width: 38px;
		height: 38px;
	}
	body .elementor-location-header .ccl-menu-nav.e-con,
	.ccl-menu-nav.e-con,
	.ccl-menu-nav.elementor-element {
		order: 1;
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto;
		padding: 92px 28px 0 !important;
		align-items: center !important;
		justify-content: flex-start !important;
		box-sizing: border-box !important;
	}
	.ccl-menu-nav .elementor-widget-nav-menu,
	.ccl-menu-nav .elementor-nav-menu--main {
		width: 100%;
		max-width: 100%;
	}
	.ccl-menu-nav .elementor-nav-menu {
		width: 100%;
		max-width: 100%;
		align-items: center;
		gap: 22px;
	}
	.ccl-menu-nav .elementor-nav-menu li,
	.ccl-menu-nav .elementor-nav-menu a {
		max-width: 100%;
	}
	.ccl-menu-nav .elementor-nav-menu .elementor-item {
		max-width: 100%;
		font-size: clamp(1.55rem, 5vw, 2rem);
		line-height: 1.12;
		text-align: center;
		white-space: normal;
		overflow-wrap: anywhere;
	}
	body .elementor-location-header .ccl-menu-brand.e-con,
	.ccl-menu-brand.e-con,
	.ccl-menu-brand.elementor-element {
		order: 2;
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto;
		padding: 44px 28px 54px !important;
		box-sizing: border-box !important;
		align-items: center !important;
		justify-content: flex-start !important;
	}
	body .elementor-location-header .ccl-menu-brand-content,
	.ccl-menu-brand-content {
		width: 100%;
		max-width: 100%;
		min-height: auto;
		gap: 26px;
	}
	.ccl-menu-logo {
		width: min(300px, 72vw);
		max-width: 100%;
	}
	.ccl-menu-social {
		max-width: 100%;
		gap: 18px;
		flex-wrap: nowrap;
	}
	.ccl-social-link {
		width: 48px;
		height: 48px;
		flex: 0 0 48px;
	}
	.ccl-social-link svg {
		width: 24px;
		height: 24px;
	}
}

@media (max-width: 480px) {
	.ccl-header-menu-toggle {
		right: 18px;
		padding: 3px 5px 3px 7px;
		gap: 5px;
	}
	body .elementor-location-header #ccl-menu-overlay.ccl-menu-overlay.e-con,
	.ccl-menu-overlay.e-con,
	.ccl-menu-overlay.elementor-element {
		padding: 12px !important;
	}
	body .elementor-location-header .ccl-menu-overlay-inner.e-con,
	.ccl-menu-overlay-inner.e-con,
	.ccl-menu-overlay-inner.elementor-element {
		min-height: calc(100vh - 24px) !important;
		min-height: calc(100svh - 24px) !important;
		border-radius: 14px !important;
	}
	.ccl-menu-close-widget.elementor-widget {
		top: 18px;
		right: 18px;
	}
	.ccl-menu-close {
		width: 34px;
		height: 34px;
	}
	.ccl-menu-close-icon {
		width: 16px;
		height: 16px;
	}
	.ccl-menu-close-icon::before,
	.ccl-menu-close-icon::after {
		top: 7px;
		width: 16px;
	}
	body .elementor-location-header .ccl-menu-nav.e-con,
	.ccl-menu-nav.e-con,
	.ccl-menu-nav.elementor-element {
		padding: 72px 18px 0 !important;
	}
	.ccl-menu-nav .elementor-nav-menu {
		gap: 17px;
	}
	.ccl-menu-nav .elementor-nav-menu .elementor-item {
		font-size: clamp(1.35rem, 6vw, 1.55rem);
		line-height: 1.08;
	}
	body .elementor-location-header .ccl-menu-brand.e-con,
	.ccl-menu-brand.e-con,
	.ccl-menu-brand.elementor-element {
		padding: 34px 18px 42px !important;
	}
	body .elementor-location-header .ccl-menu-brand-content,
	.ccl-menu-brand-content {
		gap: 20px;
	}
	.ccl-menu-logo {
		width: min(230px, 70vw);
	}
	.ccl-menu-social {
		gap: 13px;
	}
	.ccl-social-link {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}
	.ccl-social-link svg {
		width: 20px;
		height: 20px;
	}
}

/* ==========================================================================
   CCL Footer global parcial
   ========================================================================== */

.ccl-footer-links a,
.ccl-footer-contact-inner a,
.ccl-footer-heading,
.ccl-footer-copy,
.ccl-footer-legal-links a,
.ccl-footer-legal-links span {
	font-family: "Futura SC", "Futura", sans-serif;
	font-size: var(--ccl-txt);
	line-height: 1.6;
	font-weight: 400;
}

.ccl-footer-contact-inner a {
	overflow-wrap: anywhere;
}

.ccl-site-footer a {
	color: inherit;
	text-decoration: none;
}

.ccl-site-footer a:hover,
.ccl-site-footer a:focus {
	color: var(--ccl-primary, #c2187a);
}

.ccl-footer-main.e-con,
.ccl-footer-bottom {
	width: var(--ccl-grid);
	max-width: 1680px;
	margin-inline: auto;
	padding: 0 calc(var(--ccl-gutter) / 2);
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--ccl-gutter);
}

.ccl-footer-bottom {
	margin-top: var(--ccl-space-xs);
}

.ccl-footer-brand {
	display: grid;
	grid-column: 1 / span 3;
}

.ccl-footer-nav {
	display: grid;
	grid-column: 8 / span 2;
}

.ccl-footer-contact {
	display: grid;
	grid-column: 10 / span 3;
}

.ccl-footer-copy {
	display: grid;
	grid-column: 1 / span 6;
}

.ccl-footer-legal {
	display: grid;
	grid-column: 7 / span 6;
	justify-content: flex-end;
}

.ccl-footer-logo img {
	width: clamp(280px, 24vw, 390px);
	max-width: 100%;
	height: auto;
}

.ccl-footer-social .elementor-grid {
	margin-block: var(--ccl-space-sm) calc(var(--ccl-space-sm) - 18px);
}

.ccl-footer-social .elementor-social-icons-wrapper {
	display: flex;
	flex-wrap: nowrap;
	gap: 14px;
}

.ccl-footer-social .elementor-social-icon {
	width: 36px;
	height: 36px;
	margin: 0;
	border-radius: 999px;
	color: var(--ccl-white, #fff);
	background: var(--ccl-primary, #c2187a);
	transition: transform 180ms ease, opacity 180ms ease;
}

.ccl-footer-social .elementor-social-icon:hover,
.ccl-footer-social .elementor-social-icon:focus {
	color: var(--ccl-white, #fff);
	transform: translateY(-2px);
	opacity: 0.9;
}

.ccl-footer-links,
.ccl-footer-contact-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5em;
}

.ccl-footer-contact-inner > :first-child {
	margin-bottom: 0;
	font-weight: 900;
}

.ccl-footer-legal-links {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45em;
	white-space: nowrap;
}

/* Tablet */
@media (max-width: 960px) {
	.ccl-footer-brand {
		grid-column: 1 / 5;
		justify-content: center;
	}

	.ccl-footer-nav {
		grid-column: 6 / 8;
	}

	.ccl-footer-contact {
		grid-column: 9 / -1;
	}
}

/* Mobile */
@media (max-width: 720px) {
	.ccl-footer-main.e-con {
		row-gap: var(--ccl-space-xs);
	}

	.ccl-footer-brand {
		grid-column: 3 / 10;
		justify-content: center;
	}

	.ccl-footer-nav {
		grid-column: 3 / span 3;
	}

	.ccl-footer-contact {
		grid-column: 7 / span 4;
	}
}

@media (max-width: 480px) {
	.ccl-footer-main.e-con {
		display: flex;
		flex-flow: column;
		justify-content: center;
	}

	.ccl-footer-brand,
	.ccl-footer-nav,
	.ccl-footer-links,
	.ccl-footer-contact,
	.ccl-footer-contact-inner,
	.ccl-footer-bottom {
		display: flex;
		align-items: center !important;
	}

	.ccl-footer-bottom {
		flex-direction: column;
		gap: 0.75em;
	}

	.ccl-footer-copy {
		order: 2;
	}

	.ccl-footer-legal {
		order: 1;
		justify-content: center;
	}

	.ccl-footer-legal-links {
		justify-content: center;
		flex-wrap: wrap;
		white-space: normal;
	}
}