/*
Theme Name: Twenty Twenty-Four Child 
Template: twentytwentyfour
*/

/* estilo general */

a, a:link { text-decoration: none; }

/* Botón CTA "Ver todos los servicios" */

.btn-servicios-cta .wp-block-button__link {
background-color: var(--wp--preset--color--custom-primary-dark-800);
color: var(--wp--preset--color--white);
border: 2px solid var(--wp--preset--color--custom-primary-dark-800);
border-radius: 1.875rem;
padding: 0.75rem 2rem;
font-weight: 600;
transition: all 0.3s ease;
}

.btn-servicios-cta .wp-block-button__link:hover {
background-color: transparent;
color: var(--wp--preset--color--custom-primary-dark-800);
border-color: var(--wp--preset--color--custom-primary-dark-800);
}

/* Botón CTA — variante inversa (blanco en reposo, relleno en hover) */

.btn-servicios-outline .wp-block-button__link {
background-color: var(--wp--preset--color--white);
color: var(--wp--preset--color--custom-primary-dark-800);
border: 2px solid var(--wp--preset--color--custom-primary-dark-800);
border-radius: 1.875rem;
padding: 0.75rem 2rem;
font-weight: 600;
transition: all 0.3s ease;
}

.btn-servicios-outline .wp-block-button__link:hover {
background-color: var(--wp--preset--color--custom-primary-dark-800);
color: var(--wp--preset--color--white);
border-color: var(--wp--preset--color--custom-primary-dark-800);
}

/* fin estilo general */

/* perticulas hero */

body { margin: 0; }
canvas { display: block; }

#particles-js {
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 100%;
height: 100%;
background-color: var(--wp--preset--color--base-2);
background-repeat: no-repeat;
background-size: cover;
background-position: 50% 50%;
}

/* fin perticulas hero */

/* paginación - blog y proyecto  */

.wp-block-query-pagination {
display: flex;
flex-direction: row;
justify-content: center;
gap: 4px;
margin: 2rem auto;
}

.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
border: 1px solid var(--wp--preset--color--custom-border);
color: var(--wp--preset--color--custom-text);
text-decoration: none;
font-size: 0.9rem;
transition: all 0.3s ease;
}

.wp-block-query-pagination-numbers a:hover {
background-color: var(--wp--preset--color--custom-secondary);
color: var(--wp--preset--color--base-2);
border-color: var(--wp--preset--color--custom-secondary);
}

.wp-block-query-pagination-numbers .current {
background-color: var(--wp--preset--color--custom-secondary);
color: var(--wp--preset--color--base-2);
border-color: var(--wp--preset--color--custom-secondary);
font-weight: 700;
}

/* fin paginación - blog y proyecto  */

/* hero seccion (paginas generales blog, proyecto, etc — cabecera oscura generica) */

#hero-section {
position: relative;
min-height: 31.25rem;
background-color: var(--wp--preset--color--contrast);
width: 100%;
margin: 0 auto;
padding: 0;
overflow: hidden !important; /* no me borres, evita que decoraciones absolutas se salgan y generen scroll horizontal */
}

.is-layout-constrained > #hero-section {
max-width: 100%;
margin-left: 0;
margin-right: 0;
}

.is-layout-constrained > #hero-section * { max-width: none; }

.wp-block-group:has(#hero-section) {
padding-left: 0;
padding-right: 0;
}

.hero-section-content {
z-index: 10;
max-width: 1240px;
color: var(--wp--preset--color--base-2);
margin: 0 auto;
position: absolute;
left: -700px;
right: 0;
padding-left: 18%;
top: 17rem;
}

.hero-section-content h1 {
text-wrap: pretty;
text-align: left;
padding-left: 15px;
font-size: 4rem;
font-weight: 700;
line-height: 1.1;
color: var(--wp--preset--color--base-2);
}

.hero-section-tag {
color: var(--wp--preset--color--custom-primary);
font-weight: 700;
text-align: left;
padding: 0 15px;
}

#hero-section .hero-section-content {
padding-left: 18%;
max-width: 100%;
}

#hero-section .hero-section-content h1 {
font-weight: 700;
padding-left: 0;
width: auto;
max-width: 70%;
font-size: 3.5rem;
}

#hero-section .hero-section-tag { padding-left: 0; }

.decor-grid {
position: absolute;
top: 0;
left: 40%;
width: 26rem;
height: 14.438rem;
/* background-image: linear-gradient(#00ccff 1px, transparent 1px), linear-gradient(90deg, #00ccff 1px, transparent 1px); */
background-image: linear-gradient(var(--wp--preset--color--custom-primary) 1px, transparent 1px), linear-gradient(90deg, var(--wp--preset--color--custom-primary) 1px, transparent 1px);
background-size: 4.375rem 4.375rem;
background-position: 2.063rem 3.625rem, 2.063rem 2.063rem;
}

#hero-section .decor-grid {
left: 40%;
right: auto;
}

.decor-rect {
position: absolute;
left: 6%;
top: 10%;
width: 2.5rem;
height: 5rem;
border: 2px solid var(--wp--preset--color--base-2);
}

#hero-section .decor-rect {
left: 7%;
top: 10%;
}

.barra-derecha {
position: absolute;
right: 14%;
top: 0;
width: 3.75rem;
height: 14rem;
z-index: 1;
background: var(--wp--preset--color--custom-primary);
box-shadow: -20px 0px 0px 0px var(--wp--preset--color--contrast), 
            -30px 0px 0px 0px var(--wp--preset--color--custom-primary);
}

#hero-section .barra-derecha {
right: 14%;
left: auto;
}

#hero-section span {
width: 12.5rem;
height: 12.5rem;
position: relative;
display: flex;
justify-content: center;
align-items: center;
}

#hero-section span.x::after,
#hero-section span.x::before {
height: 2.188rem;
width: 100%;
content: '';
position: absolute;
background-color: var(--wp--preset--color--contrast);
border: 2px solid var(--wp--preset--color--base-2);
}

#hero-section span.x::after { transform: rotate(45deg); }
#hero-section span.x::before { transform: rotate(-45deg); }

#hero-section span > span {
height: 2.188rem;
width: 3.438rem;
background-color: var(--wp--preset--color--contrast);
transform: rotate(-45deg);
z-index: 2;
}

.contenedor-x {
position: relative;
margin-left: 4rem;
}

#hero-section .contenedor-x {
position: absolute;
left: 4.5%;
bottom: 6rem;
margin-left: 0;
}

.decor-bottom-bars {
position: absolute;
bottom: 14%;
left: 17%;
width: 62%;
display: flex;
flex-direction: column;
align-items: flex-end;
}

#hero-section .decor-bottom-bars {
left: 17%;
right: auto;
width: 60%;
}

.barra-larga {
width: 97%;
height: 3.25rem;
background: var(--wp--preset--color--custom-primary);
margin: 1rem 1rem 1rem 3rem;
}

.barra-mediana {
width: 62%;
height: 14px;
background: var(--wp--preset--color--custom-primary);
}

.barra-corta {
width: 47%;
height: 14px;
background: var(--wp--preset--color--custom-primary);
margin-right: 3rem;
}

/* fin hero seccion (paginas generales blog, proyecto, etc — cabecera oscura generica) */

/* tarjetas de proyecto destacadas home */

.tarjeta-proyecto {
position: relative;
overflow: hidden;
border-radius: 8px;
}

.tarjeta-proyecto img {
width: 100%;
height: 350px;
object-fit: cover;
display: block;
transition: transform 0.3s ease;
}

.tarjeta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 204, 255, 0);          
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
  transition: background 0.3s ease;
}

.tarjeta-overlay h3,
.tarjeta-overlay p {
color: var(--wp--preset--color--base-2);
margin: 0;
opacity: 0;
transition: opacity 0.3s ease;
}

.tarjeta-overlay p {
  font-size: 0.875rem;
  margin-top: 4px;
  color: var(--wp--preset--color--custom-primary);
}
 
.tarjeta-proyecto:hover .tarjeta-overlay {
  background: rgba(0, 204, 255, 0.5);                
}

.tarjeta-proyecto:hover .tarjeta-overlay h3,
.tarjeta-proyecto:hover .tarjeta-overlay p {
opacity: 1;
}

.tarjeta-proyecto:hover img { transform: scale(1.03); }

.estrellas {
color: var(--wp--preset--color--custom-secondary);
font-size: 1.8rem;
letter-spacing: 5px;
}

/* fin tarjetas de proyecto destacadas home */

/* tarjeta blog - grid del blog y del bloque "últimos artículos" en la home */

.wp-block-post-template > li.wp-block-post {
display: flex;
flex-direction: column;
border: 1px solid var(--wp--preset--color--custom-border);
border-radius: 6px;
overflow: hidden;
background-color: var(--wp--preset--color--base-2);
position: relative;
}

.wp-block-post-template > li.wp-block-post .wp-block-post-featured-image img {
border-radius: 6px 6px 0 0;
border-bottom: 3px solid var(--wp--preset--color--custom-primary);
}

.category-badge {
position: absolute;
top: 0.75rem;
left: 0.75rem;
z-index: 2;
background-color: var(--wp--preset--color--custom-primary);
color: var(--wp--preset--color--base-2);
font-size: 0.75rem;
font-weight: 600;
padding: 4px 10px;
border-radius: 4px;
}

.category-badge a {
color: var(--wp--preset--color--base-2);
text-decoration: none;
}

.category-badge .wp-block-post-terms__separator {
color: var(--wp--preset--color--base-2);
}

.wp-block-post-template .wp-block-post-title {
font-size: var(--wp--preset--font-size--medium);
line-height: 1.3;
}

.wp-block-post-title a {
color: var(--wp--preset--color--custom-primary);
}

.wp-block-post-template > li.wp-block-post > .wp-block-post-featured-image { margin-bottom: 0; }

.wp-block-post-template > li.wp-block-post > .wp-block-group {
display: flex;
flex-direction: column;
flex: 1;
padding-left: 1rem;
padding-right: 1rem;
padding-bottom: 1rem;
}

/* Avatar + nombre para pegar al fondo */
.wp-block-post-template > li.wp-block-post > .wp-block-group > .wp-block-group.is-content-justification-left {
margin-top: auto;
padding-top: 0.75rem;
}

.avatar-wp {
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.5rem;
height: 1.5rem;
border-radius: 50%;
background-color: var(--wp--preset--color--contrast-2);
color: var(--wp--preset--color--base-2);
font-size: 0.75rem;
flex-shrink: 0;
}

.wp-block-post-featured-image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

/* fin tarjeta blog - grid del blog y del bloque "últimos artículos" en la home */

/* hero articulo de blog - ficha individual */

.hero-section-ficha {
position: relative;
min-height: 31.25rem;
background-color: var(--wp--preset--color--contrast);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}

.hero-section-ficha .hero-meta {
position: relative;
z-index: 2;
text-align: center;
max-width: 60%;
}

.hero-section-ficha::before {               
content: '';
position: absolute;
top: 0;
right: 0;                                
width: 19rem;
height: 16.438rem;
background-image: linear-gradient(var(--wp--preset--color--custom-primary) 1px, transparent 1px), linear-gradient(90deg, var(--wp--preset--color--custom-primary) 1px, transparent 1px);
background-size: 4.375rem 4.375rem;
background-position: 2.063rem 3.625rem, 2.063rem 2.063rem;
}

.hero-section-ficha::after {
content: '';
position: absolute;
left: 6%;
top: 22%;
width: 2.5rem;
height: 5rem;
border: 2px solid var(--wp--preset--color--base-2);
}

.hero-title {
color: var(--wp--preset--color--base-2);
font-weight: 800;
font-size: clamp(2rem, 4vw, 3.5rem);
line-height: 1.1;
position: relative;
}

.hero-title::before {
content: '';
position: absolute;
bottom: -5rem;
left: -483px;
width: 62%;
height: 0.5rem;
background: var(--wp--preset--color--custom-primary);
z-index: 3;
}

.hero-title::after {
content: '';
position: absolute;
bottom: -6.5rem;
left: 39%;
width: 90%;
height: 0.5rem;
background: var(--wp--preset--color--custom-primary);
z-index: 3;
}

.hero-section-ficha .hero-author::before,
.hero-section-ficha .hero-author::after {
content: '';
position: absolute;
background-color: var(--wp--preset--color--black);
border: 2px solid var(--wp--preset--color--base-2);
height: 2.188rem;
width: 24%;
top: 5rem;
left: 65rem;
}

.hero-section-ficha .hero-author::before { transform: rotate(-45deg); }
.hero-section-ficha .hero-author::after { transform: rotate(45deg); }

.hero-fecha {
color: var(--wp--preset--color--accent);
font-size: 0.85rem;
margin-bottom: 0.5rem;
}

.hero-section-ficha .wp-block-post-date::before {
content: '';
position: absolute;
background-color: var(--wp--preset--color--black);
height: 35px;
width: 10%;
transform: rotate(-45deg);
top: 86px;
left: 64rem;
z-index: 1;
}

.hero-section-ficha .wp-block-post-date::after {
content: '\f007';
font-family: "Font Awesome 6 Free";
font-weight: 900;
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
min-width: 2.5rem;
border-radius: 50%;
background-color: var(--wp--preset--color--contrast-2);
color: var(--wp--preset--color--base-2);
font-size: 1rem;
margin-right: 10px;
top: 14.8rem;
position: absolute;
left: 24rem;
}

/* fin hero articulo de blog - ficha individual */

/* hero home */

#hero {
margin-left: calc(50% - 50vw);
min-height: calc(100vh - 154px);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}

.hero-content {
position: relative;
z-index: 2;
text-align: center;
max-width: 800px;
padding: 2rem;
}

.hero-content h1 {
color: var(--wp--preset--color--custom-primary);
font-weight: 700;
line-height: 1.15;
margin-bottom: 1.5rem;
max-width: 47.5rem;
}

.texto-home {
color: var(--wp--preset--color--custom-hero-h-2-color);
max-width: 50.25rem;
font-weight: 700;
font-size: 2.5rem;
line-height: 1.2;
margin-bottom: 2rem;
}

.btn-hero {
background-color: var(--wp--preset--color--custom-secondary);
color: var(--wp--preset--color--custom-text);
font-weight: 600;
padding: 1rem 2rem;
width: 42.14%;
border-radius: 1.875rem;
box-shadow: 0 4px 15px var(--wp--preset--shadow--shadow-1);
display: inline-block;
transition: all 0.3s ease;
}

.btn-hero:hover {
background-color: var(--wp--preset--color--custom-secondary-dark-800);
color: var(--wp--preset--color--base-2);
box-shadow: 0 4px 15px var(--wp--preset--color--custom-secondary-dark-800);
}

#hero h1,
#hero .wp-block-heading {
font-weight: 700;
font-size: clamp(2.5rem, 5vw, 3.82rem);
line-height: 1.15;
}

.btn-hero a.wp-block-button__link,
.btn-hero a.wp-block-button__link:hover,
.btn-hero:hover a.wp-block-button__link,
:root :where(.btn-hero a.wp-block-button__link.has-text-align-center.wp-element-button) {
appearance: none;
background-color: transparent;
}

/* fin hero home */

/* filtro proveedores */

.filter-list {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 4px;
padding: 0;
margin: 1.5rem auto;
}

.filter-btn {
background: none;
border: none;
font-size: 0.9rem;
font-weight: 600;
cursor: pointer;
padding: 5px 10px;
transition: all 0.3s ease;
color: var(--wp--preset--color--custom-text);

}

.filter-btn:hover { color: var(--wp--preset--color--custom-primary); }

.filter-btn.active {
color: var(--wp--preset--color--custom-primary);
position: relative;
}

.filter-btn.active::after {
content: '';
display: block;
width: 60%;
height: 2px;
background-color: var(--wp--preset--color--custom-primary);
margin: 4px auto 0;
}

.divider {
color: var(--wp--preset--color--custom-border);
font-weight: 300;
user-select: none;
}

/* fin FILTROS PROYECTOS */

/* ninja form - revisate los important */

.nf-form-cont .submit-container input[type="button"],
.nf-form-cont .submit-container input[type="submit"],
.nf-submit-btn {
display: inline-block;
background-color: var(--wp--preset--color--custom-secondary) !important;
color: var(--wp--preset--color--base-2) !important;
padding: 16px 48px !important;
border-radius: 8px !important;
font-family: "Montserrat", sans-serif !important;
font-weight: 700 !important;
font-size: 1rem !important;
text-decoration: none !important;
transition: background-color 0.3s ease !important;
border: none !important;
cursor: pointer !important;
width: 100% !important;
}

.nf-form-cont .submit-container input:hover,
.nf-submit-btn:hover {
background-color: var(--wp--preset--color--custom-secondary) !important;
}

.nf-form-cont .nf-form-fields-required {
font-size: 0.85rem;
color: var(--wp--preset--color--custom-text);
margin-bottom: 1rem;
}

.nf-form-cont .nf-field-container { margin-bottom: 10px; }

.nf-form-cont .nf-field-container .nf-field-label label {
font-weight: 400;
color: var(--wp--preset--color--custom-text);
margin-bottom: 6px;
display: inline-block;
}

.nf-form-cont .ninja-forms-req-symbol {
color: var(--wp--preset--color--vivid-red);
font-weight: 400;
}

.nf-form-cont .nf-field-container .nf-field-element input.ninja-forms-field[type="text"],
.nf-form-cont .nf-field-container .nf-field-element input.ninja-forms-field[type="email"],
.nf-form-cont .nf-field-container .nf-field-element input.ninja-forms-field[type="tel"] {
width: 100%;
background: transparent;
border: 1px solid var(--wp--preset--color--custom-border);
padding: 10px 14px;
font-size: 0.85rem;
font-weight: 400;
border-radius: 0.75rem;
box-sizing: border-box;
box-shadow: none;
transition: border-color 0.2s;
}

.nf-form-cont .nf-field-container .nf-field-element textarea.ninja-forms-field {
width: 100%;
background: transparent;
border: 1px solid var(--wp--preset--color--custom-border);
padding: 10px 14px;
font-size: 0.85rem;
border-radius: 0.75rem;
box-sizing: border-box;
box-shadow: none;
min-height: 160px;
resize: vertical;
transition: border-color 0.2s;
}

.nf-form-cont .nf-field-container .nf-field-element input.ninja-forms-field:focus,
.nf-form-cont .nf-field-container .nf-field-element textarea.ninja-forms-field:focus {
border-color: var(--wp--preset--color--custom-primary);
outline: none;
box-shadow: none;
}

.nf-form-cont .nf-field-container .field-wrap.nf-error .nf-field-element input,
.nf-form-cont .nf-field-container .field-wrap.nf-error .nf-field-element textarea {
border-color: var(--wp--preset--color--vivid-red);
border-radius: 0.75rem;
}

.nf-form-cont .nf-error-wrap .nf-error-msg {
color: var(--wp--preset--color--vivid-red);
font-size: 0.8rem;
margin-top: 4px;
}

.nf-form-cont .nf-field-container.listcheckbox-container { margin: 14px 0 18px; }

.nf-form-cont .listcheckboxwrap label {
display: flex;
align-items: center;
gap: 10px;
font-weight: 400;
font-size: 0.85rem;
color: var(--wp--preset--color--custom-text);
}

.nf-form-cont .listcheckboxwrap input[type="checkbox"] {
accent-color: var(--wp--preset--color--custom-primary);
width: 14px;
height: 14px;
cursor: pointer;
margin: 0;
}

.nf-form-cont .listcheckboxwrap a { color: var(--wp--preset--color--custom-primary); }
.nf-form-cont .submit-container { margin-top: 10px; }

.nf-form-cont .submit-container input.submit,
.nf-form-cont .submit-container button.submit {
background-color: var(--wp--preset--color--custom-secondary);
color: var(--wp--preset--color--custom-text);
font-weight: 600;
padding: 1rem 2rem;
width: 100%;
border: 0;
border-radius: 1.875rem;
box-shadow: 0 4px 15px var(--wp--preset--shadow--shadow-1);
cursor: pointer;
transition: all 0.3s ease;
}

.nf-form-cont .submit-container input.submit:hover,
.nf-form-cont .submit-container button.submit:hover {
background-color: var(--wp--preset--color--custom-secondary-dark-800);
color: var(--wp--preset--color--base-2);
box-shadow: 0 4px 15px var(--wp--preset--color--custom-secondary-dark-800);
}

/* fin ninja form */

/* pag 404 */

.error404 {
min-height: 70vh;         
text-align: center;
background-image: linear-gradient(rgba(0, 0, 0, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, .05) 1px, transparent 1px);
background-size: 40px 40px;
background-position: center top;
}

.codigo-error {
font-size: 10rem;
font-weight: 900;
line-height: 1;
color: var(--wp--preset--color--custom-primary-dark-800);
}

.codigo-error span { display: inline-block; }

.codigo-error .desalineado {
transform: translate(20px, 15px) rotate(-8deg);
color: var(--wp--preset--color--custom-primary-dark);
}

.error404 h1 {
font-weight: 700;
font-size: 2.25rem;
margin: 1.5rem 0 1.5rem 0;
max-width: 40rem;
}

.error404 p {
font-size: 1.1rem;
margin: 0 auto 1rem auto;
max-width: 38rem;
}

.acciones-404 {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
margin: 2.5rem 0;
}

.acciones-404 .wp-block-button.btn-cyan-full .wp-block-button__link,
.error404 .btn-cyan-full .wp-block-button__link,
a.btn-cyan-full {
display: inline-block;
padding: 12px 1.563rem;
font-size: 0.9rem;
font-weight: 600;
border-radius: 1.875rem;
border: 2px solid var(--wp--preset--color--custom-primary-dark-800);
background-color: var(--wp--preset--color--custom-primary-dark-800);
color: var(--wp--preset--color--base-2);
transition: all 0.3s ease;
}

.acciones-404 .wp-block-button.btn-cyan-full .wp-block-button__link:hover,
.error404 .btn-cyan-full .wp-block-button__link:hover,
a.btn-cyan-full:hover {
background-color: transparent;
color: var(--wp--preset--color--custom-primary-dark-800);
}

/* fin pag 404 */

/* hero ficha proyecto */

.single-proyecto #hero-section .hero-section-content {
padding-left: 0;
left: 0;
right: 0;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
padding: 0;
}

.single-proyecto #hero-section .hero-section-content h1,
.single-proyecto #hero-section .hero-section-content .wp-block-post-title {
text-align: center;
max-width: 70%;
font-size: 3.5rem;
}

/* Texto del hero de la ficha de proyecto en blanco */
.hero-section-content .wp-block-post-title {
	color: #ffffff;
}

 

.hero-section-content .taxonomy-tipo_proyecto a {
	color: var(--wp--preset--color--custom-primary);
}

.hero-section-content .taxonomy-tipo_proyecto a:hover {
	text-decoration: underline;
	opacity: 0.8;
}

.single-proyecto #hero-section .hero-section-content .wp-block-post-terms {
  color: var(--wp--preset--color--custom-primary);
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
}

.single-proyecto #hero-section .hero-section-content .wp-block-post-terms a {
  color: var(--wp--preset--color--custom-primary);
  text-decoration: none;
}

.single-proyecto #hero-section .hero-section-content .wp-block-post-terms a::before { content: '- '; }
.single-proyecto #hero-section .hero-section-content .wp-block-post-terms a::after { content: ' -'; }

.single-proyecto #hero-section .wp-block-post-title {
  color: var(--wp--preset--color--base-2);
  font-weight: 800;
  text-align: center;
}

.single-proyecto #hero-section .decor-bottom-bars {
  left: 30%;
  width: 50%;
}

/* hero ficha proyecto */

/* opinion equipo */

.rating-photo-wrap {
position: relative;
border-radius: 12px;
overflow: hidden;
}

.rating-photo-wrap::before {
content: '';             
position: absolute;
inset: 0;
background: conic-gradient(from 0deg at 50% 50%, #00d4ff, #ffffff, #00d4ff, #ffffff, #00d4ff);
z-index: 0;
border-radius: 12px;
}

.rating-photo-wrap img {
position: relative;
z-index: 1;
top: 22px;
width: 23rem;
height: auto;
left: 10px;
border-radius: 12px;
}

/* fin opinion equipo */

/* tarjetas estudio */

.value-card {
background: var(--wp--preset--color--base-2);        
border-radius: 15px;
padding: 2rem 1.75rem 1.75rem;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

.value-card h3 {
font-size: 1.125rem;
font-weight: 700;
margin: 0 0 0.875rem 0;
}

.value-card p {
font-size: 0.85rem;
line-height: 1.6;
color: var(--wp--preset--color--custom-hero-h-2-color);
margin-bottom: 0.875rem;
}

.values-section-bg { position: relative; }

.values-section-bg::after {
content: '';
position: absolute;
bottom: 0;
left: 0;                            
width: 100%;
height: 15rem;
background: linear-gradient(170deg, #52B2CC 10%, #0d1315 75%, #00151A 100%);
z-index: -1;
}

/* fin tarjetas estudio */

/* menu pie */

.footer-menu li { display: inline-block; }

.footer-menu li::after {
content: "|";
margin-left: 15px;
color: var(--wp--preset--color--custom-border);
}

.footer-menu li:last-child::after { content: ""; }

/* menu pie */


/* skills */

.skill-bar-track {
width: 100%;
height: 12px;
background: var(--wp--preset--color--custom-border);
border-radius: 6px;
overflow: hidden;
margin-top: 6px;
margin-bottom: 1.5rem;
}

.skill-bar-fill {
height: 100%;
background: var(--wp--preset--color--custom-secondary);
border-radius: 6px;
}

/* fin skills */

/* boton ver proyectos */

.btn-proyectos-link { text-align: center; }

.btn-proyectos-link a {
display: inline-flex;
align-items: center;
gap: 12px;
text-decoration: none;
font-weight: 700;
transition: color 0.3s ease;
}

.btn-proyectos-link a::before {
content: '\f101';
font-family: "Font Awesome 6 Free";
font-weight: 900;
color: var(--wp--preset--color--custom-secondary);
transition: transform 0.3s ease;
}

.btn-proyectos-link a::after {
content: '\f100';
font-family: "Font Awesome 6 Free";
font-weight: 900;
color: var(--wp--preset--color--custom-secondary);
transition: transform 0.3s ease;
}

.btn-proyectos-link a:hover::before { transform: translateX(-6px); }
.btn-proyectos-link a:hover::after { transform: translateX(6px); }

/* fin boton ver proyectos */

/* contador opinion - animacion estadistica */

.stat-number {
opacity: 0;                                                      
transform: translateY(40px) scale(0.8);
transition: opacity 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
            transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.stat-number.visible {
opacity: 1;
transform: translateY(0) scale(1);
}

.wp-block-columns .wp-block-column:nth-child(1) .stat-number { transition-delay: 0s; }
.wp-block-columns .wp-block-column:nth-child(2) .stat-number { transition-delay: 0.4s; }
.wp-block-columns .wp-block-column:nth-child(3) .stat-number { transition-delay: 0.8s; }
.wp-block-columns .wp-block-column:nth-child(4) .stat-number { transition-delay: 1.2s; }

/* contador opinion - animacion estadistica */

/* tarjetas servicios */

.servicios-tarjeta {
padding: 2rem;  
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);      
border-radius: 0 0 12px 12px;
border-top: 3px solid var(--wp--preset--color--custom-primary);
transition: all 0.3s ease, box-shadow 0.3s ease;
}

.servicios-tarjeta:hover {
transform: translateY(-8px);
box-shadow: 0 12px 32px rgba(0, 204, 255, 0.15);
}

.servicio-card h3 {
display: flex;
align-items: flex-start;
gap: 10px;
}

.piqueta::before {
content: '';
display: inline-block;
width: 7px;
height: 7px;
min-width: 7px;
flex-shrink: 0;
margin-top: 0.3em;
background: var(--wp--preset--color--custom-primary);
box-shadow: 7px 7px 0 var(--wp--preset--color--custom-primary),
            0px 14px 0 var(--wp--preset--color--custom-primary);
}

/* fin tarjetas servicios */

/* cta proyectos */
 
.cta-proyectos { background: linear-gradient(170deg, #52B2CC 10%, #0d1315 75%, #00151A 100%); }     /*revisar*/

/* fin cta proyectos */

/* tarjeta proyecto  pagina / proyecyo - overlay hover */

.grid-proyectos-wp .wp-block-post-template > li.wp-block-post {
position: relative;
overflow: hidden;
border-radius: 8px;
}

.grid-proyectos-wp .wp-block-post-featured-image img {
transition: transform 0.3s ease;
}

.grid-proyectos-wp li.wp-block-post:hover .wp-block-post-featured-image img {
transform: scale(1.03);
}

.proyecto-overlay {
position: absolute;
inset: 0;
margin: 0;
background: rgba(0, 204, 255, 0);
justify-content: flex-end;
padding: 1.5rem;
transition: background 0.3s ease;
}

.proyecto-overlay .proyecto-categoria,
.proyecto-overlay .proyecto-titulo {
color: var(--wp--preset--color--white);
margin: 0;
opacity: 0;
transition: opacity 0.3s ease;
}

.proyecto-overlay .proyecto-categoria {
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 4px;
}

.proyecto-overlay .proyecto-categoria a {
color: var(--wp--preset--color--white);
text-decoration: none;
}

.proyecto-overlay .proyecto-titulo a {
color: var(--wp--preset--color--white);
font-size: 1.1rem;
font-weight: 700;
}

.grid-proyectos-wp li.wp-block-post:hover .proyecto-overlay {
background: rgba(0, 204, 255, 0.5);
}

.grid-proyectos-wp li.wp-block-post:hover .proyecto-overlay .proyecto-categoria,
.grid-proyectos-wp li.wp-block-post:hover .proyecto-overlay .proyecto-titulo {
opacity: 1;
}

.proyecto-overlay > p.wp-block-post-terms { display: none; }

.tarjeta-proyecto a,
.tarjeta-proyecto a:link,
.tarjeta-proyecto a:visited {
color: inherit;
text-decoration: none;
}

.tarjeta-proyecto-overlay {
position: absolute;
inset: 0;
margin: 0;
background: rgba(0, 204, 255, 0);
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 1.5rem;
transition: background 0.3s ease;
}

.tarjeta-proyecto-overlay .tarjeta-proyecto-categoria,
.tarjeta-proyecto-overlay .tarjeta-proyecto-titulo {
display: block;
color: var(--wp--preset--color--white);
margin: 0;
opacity: 0;
transition: opacity 0.3s ease;
}

.tarjeta-proyecto-overlay .tarjeta-proyecto-categoria {
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 4px;
}

.tarjeta-proyecto-overlay .tarjeta-proyecto-titulo {
font-size: 1.1rem;
font-weight: 700;
}

.tarjeta-proyecto:hover .tarjeta-proyecto-overlay { background: rgba(0, 204, 255, 0.5); }

.tarjeta-proyecto:hover .tarjeta-proyecto-overlay .tarjeta-proyecto-categoria,
.tarjeta-proyecto:hover .tarjeta-proyecto-overlay .tarjeta-proyecto-titulo {
opacity: 1;
}

/* fin tarjeta proyecto  pagina / proyecyo - overlay hover */

/* reseñas de google - rich showcase for google reviews */
.wp-gr .grw-reviews {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.5rem;
}

.wp-gr .grw-review-inner {
display: flex;
flex-direction: column;
background: transparent;
box-shadow: none;
border-radius: 0;
padding: 0;
}

.wp-gr .grw-img-wrap,
.wp-gr .wp-google-time,
.wp-gr .grw-review-inner > svg {
display: none;
}

.wp-gr .rpi-row12-center,
.wp-gr .rpi-col6,
.wp-gr .rpi-col4 {
display: contents;
}

.wp-gr .wp-google-name {
order: 1;
font-weight: 700;
font-size: 1rem;
color: var(--wp--preset--color--custom-text);
text-decoration: none;
margin-bottom: 0.4rem;
}

.wp-gr .wp-google-feedback {
order: 2;
margin-bottom: 1rem;
}

.wp-gr .wp-google-text {
font-size: 0.9rem;
color: var(--wp--preset--color--custom-text-light);
line-height: 1.5;
}

.wp-gr .rpi-stars {
order: 3;
display: block;
border-top: 2px solid var(--wp--preset--color--custom-primary);
padding-top: 0.75rem;
text-align: center;
color: var(--wp--preset--color--custom-secondary);
}

/* fin reseñas de google - rich showcase for google reviews */





/* pagina mantemiento */

/* Página de mantenimiento */
.mantenimiento-page {
/*min-height: 100vh;*/
  display: flex;
  flex-direction: column;
  /*justify-content: center;*/
  align-items: center;
  text-align: center;
  padding: 2rem;
}

.mantenimiento-emoji {
    font-size: 3.5rem;
    margin-bottom: 0.5rem;
}

.mantenimiento-titulo {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    margin-bottom: 1rem;
    color: #2e2b26;
}

.mantenimiento-texto {
    font-size: 1.1rem;
    max-width: 480px;
    color: #5a564e;
    margin-bottom: 2rem;
}

.mantenimiento-botones {
    gap: 1rem;
}

.mantenimiento-btn-contacto a {
    background-color: #2e2b26;
    border-radius: 999px;
    padding: 0.8rem 1.8rem;
    font-weight: 500;
}

.mantenimiento-btn-contacto a:hover {
    background-color: #4a463d;
}

.mantenimiento-btn-linkedin a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 2px solid #2e2b26;
    border-radius: 999px;
   
    padding: 0.8rem 1.8rem;
    font-weight: 500;
	
	
	background-color: #2e2b26;
  color: #fff;
}

.mantenimiento-btn-linkedin i {
    font-size: 1.1rem;
}

.mantenimiento-btn-linkedin a:hover {
    background-color: #4a463d;
    color: #fff;
}

/*fin pagina mantenimiento */