/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Nubedocs
Author URI: https://nubedocs.es/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Variables Globales */
:root {
	--color-blanco: #fff; /* Principal */
	--color-negro: #000;
	--color-verde-claro: #55ad4d; /* Énfasis */
	--color-verde-oscuro: #00501c; /* Secundario */
	--color-gris: #7a7a7a; /* Texto */
	--e-global-color-primary: #FFFFFF;
    --e-global-color-secondary: #00501C;
    --e-global-color-text: #7A7A7A;
    --e-global-color-accent: #54AD4D;
    --e-global-typography-primary-font-family: "Headland One";
    --e-global-typography-primary-font-weight: 400;
    --e-global-typography-secondary-font-family: "Roboto";
    --e-global-typography-secondary-font-weight: 400;
    --e-global-typography-text-font-family: "Roboto";
	--e-global-typography-text-font-family-italic: "Roboto";
    --e-global-typography-text-font-weight: 400;
    --e-global-typography-accent-font-family: "Roboto";
    --e-global-typography-accent-font-weight: 500;
}
body {
    margin: 0;
    font-family: "Roboto", Sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {font-family: "Headland One", serif;}
a {color: var(--color-verde-oscuro);transition:color 0.2s;}
a:hover {color: var(--color-verde-claro);}
i, em {font-weight: 600;}
/* Header */
	#my-top-header a .elementor-icon-list-text {color: var(--color-blanco);}
	#my-top-header a:hover .elementor-icon-list-text, #my-top-header a:focus .elementor-icon-list-text {color: var(--color-verde-claro);}
	.hfe-nav-menu-icon {fill: #fff;}
	.hfe-dropdown.menu-is-active {box-shadow: rgb(0 0 0 / 50%) 0px 12px 12px 0px;}
	nav.hfe-dropdown .menu-item a.hfe-menu-item {background-image: linear-gradient(90deg, #54AD4D 0%, #00501C 100%);}
	#my-header a.hfe-menu-item {color: var(--color-blanco);}
	#my-header a.hfe-menu-item:hover, #my-header a.hfe-menu-item:focus {color: var(--color-verde-claro);}
	#my-header .elementor-widget-navigation-menu .menu-item a.hfe-menu-item.elementor-button {margin-left: 1.5rem;font-family: var(--e-global-typography-primary-font-family), Sans-serif;font-weight: var(--e-global-typography-primary-font-weight);}
	#my-header .elementor-widget-navigation-menu .menu-item a.hfe-menu-item.elementor-button {margin-left: 1.5rem;font-family: var(--e-global-typography-primary-font-family), Sans-serif;font-weight: var(--e-global-typography-primary-font-weight);}
	#my-header .elementor-widget-navigation-menu .menu-item a.hfe-menu-item.elementor-button:hover {color: var(--color-verde-oscuro);}
	li[id^="menu-item-"].current_page_item > a {text-decoration: underline;}
	.hfe-nav-menu__submenu-arrow.menu-is-active.hfe-dropdown ul li a:hover {color: #d8ffd5!important;}
	/* Estilos comunes a todos los iconos */
	[class^="myicon-"] a::before {font-family: "dashicons";margin-right: 6px;font-size: 16px;vertical-align: middle;color: #fff;background-color: transparent !important;opacity: 1 !important;}
	/* Iconos específicos */
	.myicon-facebook a::before {content: "\f305";}
	.myicon-instagram a::before {content: "\f12d"; }
	.myicon-linkedin a::before {content: "\f18d";}
	@media (min-width: 768px) {
		.myicon-facebook, .myicon-instagram, .myicon-linkedin {display: none!important;}
	}
	/* Logo */
	.custom-logo {height:auto;}
	.logo-cookies {max-width: 140px;margin: 0 auto;display: flex;justify-content: center;}
/* Footer */
	footer #my-footer a {color: var(--e-global-color-accent);font-weight: var(--e-global-typography-text-font-weight);}
	footer #my-footer a:hover, footer #my-footer a:focus {color: var(--color-blanco);text-decoration:underline;} 
	/* Col. 3 */
	ul.hfe-nav-menu-legal, .hfe-nav-menu-legal li, .hfe-nav-menu-legal ul, #my-footer .hfe-nav-menu li {margin-right: auto;-webkit-box-pack: start;-ms-flex-pack: start;-webkit-justify-content: flex-start;-moz-box-pack: start;justify-content: flex-start;list-style: none !important;margin: 0;padding: 0;}
	.hfe-nav-menu-legal li.menu-item {position: relative;}
	.hfe-nav-menu-legal li.menu-item a, #my-footer .hfe-nav-menu li a {color: var(--e-global-color-accent);padding-top: 0;padding-bottom: 1rem;padding-left: 0;padding-right: 0;-webkit-box-pack: start;-ms-flex-pack: start;-webkit-justify-content: flex-start;-moz-box-pack: start;justify-content: flex-start;font-family: var(--e-global-typography-primary-font-family), Sans-serif;font-weight: var(--e-global-typography-primary-font-weight);}
	/* Copyrights */
	#my-copyrights {border-top: 1px solid var(--color-gris);}
	#my-copyrights p {color: var(--color-blanco);text-align:center;font-family: var(--e-global-typography-text-font-family), Sans-serif;font-weight: var(--e-global-typography-text-font-weight);}
	#my-copyrights a {color: var(--color-blanco)!important;text-decoration:none!important;}
	#my-copyrights .logo-nubedocs:hover {color: #07adf6 !important;text-decoration: underline!important;}
	#my-copyrights .logo-nubedocs img {filter: grayscale(1) brightness(2) !important;display: inline;margin: 0 .4em -0.3em .2em;}
	#my-copyrights .logo-nubedocs:hover img {filter: none !important;}
/* Estilos */
.texto-negro, .texto-negro h1, .texto-negro h2, .texto-negro h3 {color: var(--color-negro)!important;}
.texto-blanco, .texto-blanco ul li, .texto-blanco .elementor-icon-list-text {color: var(--color-blanco)!important;}
body.single-post main .page-content a[target="_blank"]:after, .enlace-externo a:after, .enlace-fuera:after {content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);margin: 0 3px 0 5px;}
.contenedor-tabla-cookies {width: 100%;overflow-x: auto;-webkit-overflow-scrolling: touch;}
.tabla-cookies {border-spacing: initial;border: 2px solid var(--color-negro);border-collapse: collapse;}
.tabla-cookies th, .tabla-cookies td {padding: .5rem 1rem;}
.tabla-cookies tr th:first-child, .tabla-cookies tr td:first-child {max-width: 20rem;}
.tabla-cookies tr th:first-child, .tabla-cookies tr td:first-child {max-width: 20rem;}
.tabla-cookies tr th:last-child, .tabla-cookies tr td:last-child {max-width: 30rem;}
.tabla-cookies tr th:last-child, .tabla-cookies tr td:last-child {max-width: 30rem;}
.tabla-cookies th {border: 1px solid var(--color-negro);}
.tabla-cookies td {border: 1px solid var(--color-gris);}
#pdcc-modal-bg #pdcc-modal-container div#pdcc-modal-body div#pdcc-modal-settings #pdcc-modal-services p label.pdcc-btn-switch input:checked:disabled + .pdcc-btn-slider {background-color: #55ad4d!important;}
#pdcc-modal-bg #pdcc-modal-container div#pdcc-modal-body div#pdcc-modal-settings #pdcc-modal-services p label.pdcc-btn-switch input:checked + .pdcc-btn-slider {background-color: #ccc!important;}
div#pdcc-modal-footer {display: none;}
	@media (max-width: 768px) {
		.elementor-element.elementor-widget.elementor-widget-heading.animated.fadeInLeft h1.elementor-heading-title.elementor-size-default {font-size: xx-large;line-height: 3.5rem;}
	}

	/* Elementor Modules */
	/* Text-Editor */
	.elementor-widget-text-editor {line-height: 1.8rem;text-wrap:normal;}
	/* Counters */
	.widget-contador {border: 1px solid #fff;padding-top: 1.5rem;padding-bottom: 1.5rem;}
	/* Cuadro de imagen */
	.cuadro-imagen:not(:has(.elementor-image-box-img)) {padding-top: 2rem;}
	.cuadro-imagen {transition:background-color 0.3s ease-in-out;; box-shadow: 4px 4px 6px 0 rgba(0, 0, 0, 0.1);}
	.cuadro-imagen .elementor-image-box-content {padding: 0 2rem 3rem 2rem;line-height: 1.5rem;}
	.cuadro-imagen .elementor-image-box-content ul {font-family: var(--e-global-typography-text-font-family), Sans-serif;padding-left: 1rem;}
	.cuadro-imagen .elementor-image-box-content li {margin-bottom: 1rem;color: var(--e-global-color-text);}
	.cuadro-imagen .elementor-image-box-content ul li:last-child {margin-bottom: 0;}
	.cuadro-imagen:hover {background-color:var(--color-verde-oscuro);}
	.cuadro-imagen:hover .elementor-image-box-content h3, .cuadro-imagen:hover .elementor-image-box-content .elementor-image-box-description, .cuadro-imagen:hover .elementor-image-box-content ul li {color:var(--color-blanco)!important;}
	/* HFE Elementor Widget Heading */
	.elementor-widget-heading .elementor-heading-title h3 {color: var(--color-negro);}
/* Contact Form 7 */
.wpcf7 {font-family: 'Roboto';}
.wpcf7 a {color: var(--color-verde-oscuro)!important;}
.wpcf7 a:hover {color: var(color-verde-claro)!important;}
.wpcf7 label {width: 100%;}
.wpcf7 .wpcf7-text, .wpcf7 .wpcf7-textarea {
	font-size: inherit;
    padding: 1.2rem 1.4rem;
    font-family: inherit;
	border: none; 
	border-bottom: 2px solid #0f2951; 
	width: 100%;
	border-radius: 0;
}
.wpcf7 .cf7-required:after {
    color: #017ebd;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    content: "\2713";
    font-size: 14px;
    padding-left: 5px;
}
.wpcf7 .cf7-required:before {
  content: attr(data-hover);
  visibility: hidden;
  opacity: 0;
  width: 140px;
  background-color: black;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  padding: 5px 0;
  transition: opacity 1s ease-in-out;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 110%;
}
.cf7-required:hover:before {opacity: 1; visibility: visible; position: relative; border-bottom: 1px dotted black; left: 0px; padding: 0.2em 1em;}
.wpcf7-form-control-wrap.aceptacion {line-height: initial;}
.wpcf7 input.aviso-legal {margin-left: -1em;}
.wpcf7 details {}
.wpcf7 details[open] {display: contents; background: #fff; z-index: 99999; padding: 0 20px 0 28px; margin-left: -28px; position: absolute; border-radius: 16px;}
.wpcf7 summary:hover {cursor: pointer;}
.wpcf7 .wpcf7-form-control.wpcf7-submit {margin-top: .5rem;}
	/* Mensajes de Respuesta */
	.wpcf7-not-valid-tip {
		position: relative;
		font-size: medium !important;
		padding-left: 30px;
		background-color: #dc3232;
		color: #fff!important;
	}
	span.wpcf7-not-valid-tip:before {
		content: "\21A5";
		position: absolute;
		left: 10px;
	}
	.wpcf7 form .wpcf7-response-output {
		margin: 20px 0em 1em;
		padding: 15px;
		background-color: #f8f9fa;
		border: 1px solid #ddd;
		border-radius: 5px;
		position: relative; /* Asegura que el icono esté posicionado correctamente */
		padding-left: 40px; /* Espacio para el icono */
	}
	.wpcf7 form .wpcf7-response-output:before {
		content: "";
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
		width: 20px; /* Ancho del icono */
		height: 20px; /* Altura del icono */
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v5h-2zm0 7h2v2h-2z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-size: contain;
	}
	.wpcf7 form.init .wpcf7-response-output {display: none;}
	.wpcf7 form.sent .wpcf7-response-output {border-color: #46b450; /* Green */}
	.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {border-color: #dc3232; /* Red */}
	.wpcf7 form.spam .wpcf7-response-output {border-color: #f56e28; /* Orange */}
	.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {border-color: #ffb900; /* Yellow */}
	/* Formulario de Búsqueda de Wordpress */
	/* Estilo general del formulario */
/* Estilo general del formulario */
.search-form {
    display: flex;
    align-items: center;
    max-width: 400px; /* Ajusta el ancho según tus necesidades */
    margin: 0 auto; /* Centra el formulario si lo deseas */
    overflow: hidden; /* Evita que los bordes sobresalgan */
}
.search-form label {width: -webkit-fill-available;}
/* Blog */
	/* Entradas */
/* === Diseño de single.php === */

.elementor-container {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 40px auto;
    gap: 30px;
    padding: 0 15px;
}

.elementor-column {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    /*padding: 25px;*/
}

/* --- Contenido principal --- */

.elementor-column:first-child {
    flex: 2;
    min-width: 300px;
}

.elementor-column:first-child .post-thumbnail img {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    border-radius: 8px;
	border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.entry-contenido-texto {
    padding: 0 2rem 2rem;
}
.elementor-column:first-child .entry-title {
    margin-bottom: 12px;
    font-size: 2rem;
    line-height: 1.2;
    color: #222;
    font-weight: 700;
}

.elementor-column:first-child .post-meta {
    color: #666;
    font-size: 14px;
    margin-bottom: 20px;
}

.elementor-column:first-child .entry-content {
    line-height: 1.8;
    font-size: 16px;
    color: #333;
}

/* --- Sidebar --- */

.elementor-column:last-child {
    flex: 1;
    min-width: 250px;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.sidebar {
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 25px;
}

.widget {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.widget h3 {
    margin-bottom: 12px;
    font-size: 1.2rem;
    font-weight: 600;
    color: #222;
}

/* --- Widget: Últimas entradas --- */

.widget_recent_entries ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.widget_recent_entries .recent-entry {
    display: flex;
    gap: 12px;
    align-items: start;
}

.widget_recent_entries .thumbnail {
    flex-shrink: 0;
}

.widget_recent_entries .placeholder {
    width: 60px;
    height: 60px;
    background: #f0f0f0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 12px;
    text-align: center;
}

.widget_recent_entries .entry-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.widget_recent_entries .entry-title {
    font-weight: 600;
    color: #222;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.3;
}

.widget_recent_entries .entry-date {
    color: #888;
    font-size: 13px;
}

/* --- Widget: Buscador --- */

.widget_search .search-form {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.widget_search .search-field {
    width: 100%;
    padding: 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
}

.widget_search .search-submit {
    width: inherit;
    padding: 10px;
    background-color: var(--color-verde-oscuro);;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.widget_search .search-submit:hover {
    background-color: #c00020;
}

/* === Responsive: Pantallas pequeñas (≤ 1024px) === */

@media (max-width: 1023px) {
    body.post-template-default .elementor-container {
        flex-direction: column;
        padding: 0 15px;
        margin: 20px 0;
    }

    body.post-template-default .elementor-column {
        width: 100%;
        flex: none;
        min-width: auto;
    }

    body.post-template-default .elementor-column:first-child {
        margin-bottom: 25px;
    }

    body.post-template-default .elementor-column:last-child {
        padding: 0;
    }

    body.post-template-default .sidebar {
        padding: 0;
		width: 100%;
    }

    body.post-template-default .widget {
        width: 100%;
        box-sizing: border-box;
    }
}