/*
Theme Name: Genesis Sample
Theme URI: https://demo.studiopress.com/
Description: This is the sample theme created for the Genesis Framework.
Author: StudioPress
Author URI: https://www.studiopress.com/

Version: 3.4.3

Tags: accessibility-ready, block-styles, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, left-sidebar, one-column, right-sidebar, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, two-columns, wide-blocks

Template: genesis

License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Text Domain: genesis-sample
Requires at least: 5.4
Requires PHP: 5.6
*/

/* Table of Contents
- HTML5 Reset
	- Baseline Normalize
	- Box Sizing
	- Float Clearing
- Defaults
	- Typographical Elements
	- Headings
	- Objects
	- Gallery
	- Forms
	- Tables
	- Screen Reader Text
- Structure and Layout
	- Site Container
	- Site Inner
- Common Classes
	- Avatar
	- Genesis
	- Search Form
	- Titles
	- WordPress
- Widgets
	- Featured Content
- Plugins
	- Genesis eNews Extended
	- Genesis Simple FAQ
	- WPForms
- Skip Links
- Site Header
	- Title Area
- Site Navigation
	- Responsive Menu
	- Header Menu
	- Footer Menu
- Content Area
	- Entry Content
	- Entry Meta
	- Pagination
	- Entry Comments
- Sidebar
- Footer Widgets
- Site Footer
- Media Queries
	- Min-width: 960px
		- Site Header
		- Genesis Menu
		- Responsive Menu
		- Header Menu
		- Site Inner
		- Content
		- Sidebar
		- Author Box
		- After Entry
		- Column Classes
		- Entry Misc.
		- Footer Widgets
- Print Styles
*/

/* CSS Variables
---------------------------------------------------------------------------- */
:root {
	/* Colores */
	--terciary-color: #47cf8d;
	--border-radius-badge: 70% 30% 30% 70% / 60% 40% 60% 40%;

	/* Breakpoints para Media Queries */
	--breakpoint-mobile: 320px;
	--breakpoint-mobile-md: 480px;
	--breakpoint-tablet: 768px;
	--breakpoint-tablet-lg: 1024px;
	--breakpoint-laptop: 1280px;
	--breakpoint-desktop: 1440px;
	--breakpoint-desktop-lg: 1920px;

	/* Anchos Máximos de Contenedor */
	--container-mobile: 100%;
	--container-mobile-md: 100%;
	--container-tablet: 720px;
	--container-tablet-lg: 960px;
	--container-laptop: 1200px;
	--container-desktop: 1400px;
	--container-desktop-lg: 1600px;

	/* Padding lateral del contenedor */
	--container-padding-mobile: 20px;
	--container-padding-tablet: 30px;
	--container-padding-laptop: 40px;
	--container-padding-desktop: 50px;

	/* Ancho máximo por defecto (actual) */
	--max-width-content: 1400px;
}

/* Smooth scrolling for the entire site */
html {
	scroll-behavior: smooth;
}

/* Smooth transitions for interactive elements */
a,
button,
.post-card,
.pagination-arrow,
.pagination-dot,
.carousel-arrow {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Smooth hover effects for cards */
.post-card:hover {
	transform: translateY(-4px);
}

.post-card-link {
	display: block;
	transition: all 0.3s ease;
}

/* HTML5 Reset
---------------------------------------------------------------------------- */

/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
---------------------------------------------------------------------------- */
/* stylelint-disable */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
main {
	display: block;
}
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}
a {
	background-color: transparent;
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}
b,
strong {
	font-weight: bolder;
}
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
small {
	font-size: 80%;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
img {
	border-style: none;
}
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,
input {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
	-webkit-appearance: button;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
	outline: 1px dotted ButtonText;
}
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
details {
	display: block;
}
summary {
	display: list-item;
}
[hidden],
template {
	display: none;
}
/* stylelint-enable */

/* Box Sizing
--------------------------------------------- */

html {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Float Clearing
--------------------------------------------- */

.author-box::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.widget::before,
.wrap::before {
	content: " ";
	display: table;
}

.author-box::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.widget::after,
.wrap::after {
	clear: both;
	content: " ";
	display: table;
}

/* Defaults
---------------------------------------------------------------------------- */

/* Typographical Elements
--------------------------------------------- */

html {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body {
	background-color: #fff;
	color: #333;
	font-family: "Roboto", sans-serif !important;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.625;
	margin: 0;
	overflow-x: hidden;
}

/* Asegurar Roboto para todos los elementos de texto */
p,
span,
div,
li,
td,
th,
label,
input,
textarea,
select,
button {
	font-family: "Roboto", sans-serif;
}

button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
	transition: all 0.2s ease-in-out;
}

a {
	color: #000;
	font-weight: 700;
	text-decoration: none;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

a:focus,
a:hover {
	color: var(--terciary-color);
	text-decoration: none;
}

p {
	margin: 0 0 28px;
	padding: 0;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

hr {
	border: 0;
	border-collapse: collapse;
	border-bottom: 1px solid currentColor;
	clear: both;
	color: #eee;
	margin: 1.65em auto;
}

b,
strong {
	font-weight: 700;
}

blockquote,
cite,
em,
i {
	font-style: italic;
}

mark {
	background: #ddd;
	color: #333;
}

blockquote {
	margin: 30px;
}

/* Headings
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 20px;
}

/* Tamaños responsive para móvil (base) */
h1 {
	font-size: 28px;
}

h2 {
	font-size: 24px;
}

h3 {
	font-size: 20px;
}

h4 {
	font-size: 18px;
}

h5 {
	font-size: 16px;
}

h6 {
	font-size: 14px;
}

.entry-content h3,
.entry-content h4 {
	font-weight: 600;
}

.entry-content h4 {
	margin-top: 40px;
}

/* Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
	vertical-align: top;
}

figure {
	margin: 0;
}

/* Gallery
--------------------------------------------- */

.gallery {
	overflow: hidden;
}

.gallery img {
	border: 1px solid #eee;
	height: auto;
	padding: 4px;
}

.gallery img:focus,
.gallery img:hover {
	border: 1px solid #999;
	outline: none;
}

.gallery-columns-1 .gallery-item {
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	width: 50%;
}

.gallery-columns-3 .gallery-item {
	width: 33%;
}

.gallery-columns-4 .gallery-item {
	width: 25%;
}

.gallery-columns-5 .gallery-item {
	width: 20%;
}

.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}

.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
	width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}

.gallery-columns-2 .gallery-item:nth-child(2n + 1),
.gallery-columns-3 .gallery-item:nth-child(3n + 1),
.gallery-columns-4 .gallery-item:nth-child(4n + 1),
.gallery-columns-5 .gallery-item:nth-child(5n + 1),
.gallery-columns-6 .gallery-item:nth-child(6n + 1),
.gallery-columns-7 .gallery-item:nth-child(7n + 1),
.gallery-columns-8 .gallery-item:nth-child(8n + 1),
.gallery-columns-9 .gallery-item:nth-child(9n + 1) {
	clear: left;
}

.gallery-item {
	float: left;
	margin: 0 0 30px;
	text-align: center;
}

/* Forms
--------------------------------------------- */

input,
select,
textarea {
	background-color: #fff;
	border: 1px solid #ddd;
	color: #333;
	font-size: 18px;
	font-weight: 400;
	padding: 15px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

:-ms-input-placeholder {
	color: #333;
	opacity: 1;
}

::placeholder {
	color: #333;
	opacity: 1;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"],
.button {
	background-color: var(--terciary-color);
	border: 0;
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	padding: 12px 28px;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	width: auto;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 2px 8px rgba(71, 207, 141, 0.3);
}

button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.site-container
	div.wpforms-container-full
	.wpforms-form
	input[type="submit"]:focus,
.site-container
	div.wpforms-container-full
	.wpforms-form
	input[type="submit"]:hover,
.site-container
	div.wpforms-container-full
	.wpforms-form
	button[type="submit"]:focus,
.site-container
	div.wpforms-container-full
	.wpforms-form
	button[type="submit"]:hover,
.button:focus,
.button:hover {
	background-color: var(--terciary-color);
	border-width: 0;
	color: #fff;
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.5);
	text-decoration: none;
}

.entry-content .button:focus,
.entry-content .button:hover {
	color: #fff;
}

.site-container
	div.wpforms-container-full
	.wpforms-form
	button[type="submit"]:active,
.button:active {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.4);
}

.button {
	display: inline-block;
}

.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: #eee;
	border-width: 0;
	color: #777;
	cursor: not-allowed;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* Tables
--------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 40px;
	width: 100%;
	word-break: break-all;
}

tbody {
	border-bottom: 1px solid #eee;
}

td,
th {
	line-height: 2;
	text-align: left;
	vertical-align: top;
}

td {
	padding: 0.5em;
}

tr {
	border-top: 1px solid #eee;
}

th {
	font-weight: 600;
	padding: 0.5em;
}

/* Screen Reader Text
--------------------------------------------- */

.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.widget_search input[type="submit"]:focus {
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #333;
	display: block;
	font-size: 1em;
	font-weight: 700;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

.more-link {
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}

/* Structure and Layout
---------------------------------------------------------------------------- */

/* Site Container
--------------------------------------------- */

.site-container {
	animation: fadein 1s;
	word-wrap: break-word;
}

@keyframes fadein {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Site Inner
--------------------------------------------- */

.site-inner {
	clear: both;
	margin: 0 auto;
	padding: 60px 30px 0;
}

/* Common Classes
---------------------------------------------------------------------------- */

/* Avatar
--------------------------------------------- */

.avatar {
	border-radius: 50%;
	float: left;
}

.author-box .avatar,
.alignleft .avatar {
	margin-right: 20px;
}

.alignright .avatar {
	margin-left: 20px;
}

.comment .avatar {
	margin: 0 15px 20px 0;
}

/* Genesis
--------------------------------------------- */

.after-entry,
.archive-description,
.author-box {
	margin-bottom: 40px;
}

.after-entry {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
	padding: 20px 30px;
}

.after-entry .widget:last-of-type {
	margin-bottom: 0;
}

.breadcrumb {
	border-bottom: 1px solid #eee;
	font-size: 16px;
	margin-bottom: 40px;
	padding-bottom: 10px;
}

.genesis-title-hidden .breadcrumb {
	margin-top: 40px;
}

.archive-description p:last-child,
.author-box p:last-child {
	margin-bottom: 0;
}

/* Search Form
--------------------------------------------- */

.search-form {
	overflow: hidden;
}

.entry-content .search-form {
	margin-bottom: 40px;
	width: 50%;
}

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 10px;
}

.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Titles
--------------------------------------------- */

.archive-description .entry-title,
.archive-title,
.author-box-title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 10px;
}

.entry-title {
	font-size: 30px;
	margin-bottom: 10px;
}

.entry-title a,
.sidebar .widget-title a {
	color: #333;
	text-decoration: none;
}

.entry-title a:focus,
.entry-title a:hover {
	color: #0073e5;
}

.widget-title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
}

.genesis-title-hidden .site-inner {
	padding-top: 0;
}

/* WordPress
--------------------------------------------- */

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	text-align: left;
}

.alignright {
	float: right;
	text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.centered,
.aligncenter,
.singular-image {
	display: block;
	margin: 0 auto 30px;
}

img.alignnone,
.alignnone {
	margin-bottom: 15px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 20px 20px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 20px 20px;
}

figcaption,
.gallery-caption,
.wp-caption-text {
	font-size: 14px;
	font-weight: 600;
	margin-top: 0.5em;
	margin-bottom: 1em;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 30px;
}

/* Widgets
---------------------------------------------------------------------------- */

.widget {
	margin-bottom: 40px;
}

.widget p:last-child,
.widget ul > li:last-of-type {
	margin-bottom: 0;
}

.widget ul > li {
	margin-bottom: 10px;
}

.widget ul > li:last-of-type {
	padding-bottom: 0;
}

.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}

.widget li li {
	border: 0;
	margin: 0 0 0 30px;
	padding: 0;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}

/* Featured Content
--------------------------------------------- */

.featured-content .entry {
	border-bottom: 1px solid #eee;
	margin-bottom: 20px;
}

.featured-content .entry:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}

.featured-content .entry-title {
	font-size: 16px;
	margin-bottom: 5px;
	margin-top: 10px;
}

/* Plugins
---------------------------------------------------------------------------- */

/* Genesis eNews Extended
--------------------------------------------- */

.after-entry .enews {
	text-align: center;
	padding: 10px;
}

.sidebar .enews {
	background-color: #f5f5f5;
	padding: 30px;
}

.enews-widget input {
	font-size: 16px;
	margin-bottom: 10px;
}

.after-entry .enews-widget input {
	text-align: center;
}

.enews-widget input[type="submit"] {
	margin: 0;
	width: 100%;
}

.enews form + p {
	margin-top: 20px;
}

/* Genesis Simple FAQ
--------------------------------------------- */

.gs-faq__question {
	background: transparent;
	border-bottom: 1px solid #eee;
	color: #333;
	padding-left: 0;
	padding-right: 0;
}

.gs-faq__question:focus,
.gs-faq__question:hover {
	background: transparent;
	color: #0073e5;
}

.gs-faq__question::after {
	content: "\f132";
	font-family: dashicons; /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
	float: right;
}

.gs-faq__question.gs-faq--expanded::after {
	content: "\f460";
}

/* WP Forms
--------------------------------------------- */

.entry-content .wpforms-container {
	margin-bottom: 40px;
}

.entry-content .wpforms-form .wpforms-field {
	clear: both;
	margin: 20px 0;
	overflow: hidden;
}

.site-container .wpforms-container .wpforms-form .wpforms-field input {
	border-radius: 0;
	height: auto;
	padding: 15px;
}

.site-container .entry-content .wpforms-form .wpforms-field-label {
	font-weight: 600;
}

.site-container .entry-content .wpforms-form .wpforms-field-sublabel {
	font-size: 14px;
	font-weight: 300;
}

.entry-content .wpforms-form .wpforms-field-hp {
	display: none !important;
	left: -9000px !important;
	position: absolute !important;
}

.site-container .entry-content .wpforms-form textarea {
	padding: 15px;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-small {
	height: 120px;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-medium {
	height: 200px;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-large {
	height: 300px;
}

/* Skip Links
---------------------------------------------------------------------------- */

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link .skip-link-hidden {
	display: none;
	visibility: hidden;
}

.genesis-skip-link li {
	height: 0;
	list-style: none;
	width: 0;
}

/* Display outline on focus */
:focus {
	color: #333;
	outline: #ccc solid 1px;
}

/* Site Header
---------------------------------------------------------------------------- */

.site-header {
	background-color: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
	padding: 0 30px;
	position: relative;
}

/* Header móvil y tablet - Logo centrado, iconos a la derecha */
@media (max-width: 959px) {
	.site-header {
		padding: 15px 20px !important;
		position: relative;
		z-index: 9999;
	}

	.site-header > .wrap {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap;
		align-items: center !important;
		justify-content: center !important;
		max-width: 100% !important;
		width: 100%;
		position: relative;
	}

	.title-area {
		float: none !important;
		text-align: center;
		width: auto !important;
		padding: 0 !important;
		max-width: 180px !important;
		flex-shrink: 0;
		margin: 0 auto;
		order: 1;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}

	.wp-custom-logo .title-area {
		max-width: 180px !important;
		padding: 0 !important;
	}

	.wp-custom-logo .title-area img {
		max-width: 180px !important;
		height: auto;
		display: block;
	}

	/* Contenedor de iconos (lupa y hamburguesa) a la derecha */
	.header-icons-wrapper {
		display: flex !important;
		align-items: center !important;
		gap: 2rem;
		order: 2;
		margin-left: auto;
		flex-shrink: 0;
		position: relative;
		z-index: 10001;
	}

	.site-header .header-search-toggle,
	.site-header .menu-toggle {
		float: none !important;
		margin: 0 !important;
		padding: 10px !important;
		flex-shrink: 0;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		position: relative !important;
		z-index: 10000;
		visibility: visible !important;
	}

	/* Menú navegación - Fuera del flujo, debajo del header */
	.nav-primary {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		text-align: center;
		clear: both;
		order: 3;
		flex-basis: 100%;
		z-index: 9998;
	}
}

/* Header Social Icons (Legacy - Hidden)
--------------------------------------------- */

.header-social-icons,
.header-social-widget-area {
	display: none !important;
}

.social-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 15px;
	transition: opacity 0.2s ease-in-out;
}

.social-icon:first-child {
	margin-left: 0;
}

/* Header Search Icon
--------------------------------------------- */

.header-search-toggle {
	background: transparent !important;
	border: none !important;
	cursor: pointer;
	padding: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	margin-left: 15px;
	box-shadow: none !important;
}

.header-search-toggle:hover,
.header-search-toggle:focus,
.header-search-toggle:active {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.header-search-toggle svg {
	fill: #333;
	transition: fill 0.3s ease;
}

.header-search-toggle:hover svg,
.header-search-toggle:focus svg {
	fill: var(--terciary-color) !important;
}

/* Search Popup Modal
--------------------------------------------- */

.search-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.search-popup.active {
	opacity: 1;
	visibility: visible;
}

.search-popup-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(5px);
}

.search-popup-content {
	position: relative;
	z-index: 100000;
	width: 90%;
	max-width: 700px;
	padding: 40px 20px;
}

.search-popup-form-wrapper {
	width: 100%;
}

.search-popup-form {
	display: flex;
	align-items: center;
	gap: 15px;
	background-color: #fff;
	border-radius: 50px;
	padding: 10px 10px 10px 30px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
	border: none;
}

.search-popup-input {
	flex: 1;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	font-size: 20px;
	font-family: "Roboto", sans-serif;
	padding: 15px 0;
	background: transparent;
	color: #333;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.search-popup-input:focus {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.search-popup-input::placeholder {
	color: #999;
}

.search-popup-submit {
	background-color: var(--terciary-color) !important;
	border: none !important;
	border-radius: 50%;
	width: 60px !important;
	height: 60px !important;
	min-width: 60px;
	min-height: 60px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	flex-shrink: 0;
	padding: 0 !important;
	box-shadow: none !important;
}

.search-popup-submit svg {
	width: 24px !important;
	height: 24px !important;
	fill: #fff !important;
	transition: all 0.3s ease;
	display: block !important;
}

.search-popup-submit:hover {
	background-color: #3bb877 !important;
	transform: scale(1.1);
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.4) !important;
}

.search-popup-submit:focus {
	outline: none !important;
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.4) !important;
}

/* Responsive Search Popup */
@media (max-width: 768px) {
	.search-popup-content {
		width: 95%;
		padding: 20px 10px;
	}

	.search-popup-form {
		padding: 5px 5px 5px 20px;
	}

	.search-popup-input {
		font-size: 16px;
	}

	.search-popup-submit {
		width: 50px !important;
		height: 50px !important;
		min-width: 50px;
		min-height: 50px;
	}

	.search-popup-submit svg {
		width: 20px !important;
		height: 20px !important;
	}

	.header-search-toggle {
		margin-left: 10px;
	}
}

/* Floating Social Sidebar (Sticky)
--------------------------------------------- */

.floating-social-sidebar {
	position: fixed;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 15px 10px;
	background-color: rgba(0, 0, 0, 0.8);
	backdrop-filter: blur(10px);
	border-radius: 50px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
	transition: all 0.3s ease;
}

.floating-social-sidebar:hover {
	background-color: rgba(0, 0, 0, 0.95);
	box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
}

.floating-social-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.1);
	transition: all 0.3s ease;
	position: relative;
}

.floating-social-icon svg {
	width: 22px;
	height: 22px;
	fill: #fff;
	transition: all 0.3s ease;
}

.floating-social-icon:hover {
	background-color: var(--terciary-color) !important;
	transform: scale(1.15);
	box-shadow: 0 4px 16px rgba(71, 207, 141, 0.5);
}

.floating-social-icon:hover svg {
	fill: #000 !important;
}

/* Hide on mobile/tablet */
@media (max-width: 960px) {
	.floating-social-sidebar {
		display: none;
	}
}

/* Back to Top Button
---------------------------------------------- */

.back-to-top-button {
	position: fixed;
	bottom: 30px;
	right: 20px;
	width: 50px;
	height: 50px;
	background-color: #000;
	color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9998;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	transition: all 0.3s ease;
	opacity: 0;
	transform: translateY(20px);
	padding: 0;
}

.back-to-top-button.show {
	display: flex;
	opacity: 1;
	transform: translateY(0);
}

.back-to-top-button:hover,
.back-to-top-button:active,
.back-to-top-button:focus {
	background-color: var(--terciary-color);
	color: #000;
	box-shadow: 0 6px 16px rgba(71, 207, 141, 0.4);
	transform: translateY(-3px);
}

.back-to-top-button svg {
	width: 20px;
	height: 20px;
	fill: #fff !important;
	stroke: none;
	transition: transform 0.3s ease;
	display: block;
	vertical-align: middle;
}

.back-to-top-button:hover svg,
.back-to-top-button:active svg,
.back-to-top-button:focus svg {
	fill: #000 !important;
	transform: translateY(-2px);
}

/* Responsive adjustments */
@media (max-width: 767px) {
	.back-to-top-button {
		bottom: 20px;
		right: 20px;
		width: 45px;
		height: 45px;
	}

	.back-to-top-button svg {
		width: 18px;
		height: 18px;
	}
}

.social-icon:hover {
	opacity: 0.7;
}

.social-icon svg {
	width: 100%;
	height: 100%;
	fill: var(--terciary-color);
	transition: fill 0.2s ease-in-out;
}

.social-icon:hover svg {
	fill: #2d9b5f;
}

/* Title Area
--------------------------------------------- */

.title-area {
	float: left;
	padding-bottom: 25px;
	padding-top: 25px;
}

.wp-custom-logo .title-area {
	max-width: 350px;
	padding-bottom: 5px;
	padding-top: 5px;
	width: 100%;
}

.wp-custom-logo .custom-logo-link {
	display: block;
}

.wp-custom-logo .title-area img {
	width: auto;
}

.site-title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 0;
}

.site-title a,
.site-title a:focus,
.site-title a:hover {
	color: #333;
	text-decoration: none;
}

.site-description,
.wp-custom-logo .site-title {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* Site Navigation
---------------------------------------------------------------------------- */

.genesis-nav-menu {
	clear: both;
	line-height: 1;
	width: 100%;
}

.genesis-nav-menu .menu-item {
	display: block;
	float: none;
	position: relative;
}

.genesis-nav-menu a {
	color: #333;
	display: block;
	font-family: "Montserrat", sans-serif !important;
	font-size: 15px;
	font-weight: 600;
	outline-offset: -1px;
	padding-bottom: 12px;
	padding-top: 12px;
	text-decoration: none;
}

.genesis-nav-menu a span,
.genesis-nav-menu li,
.genesis-nav-menu span {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 600;
}

.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: var(--terciary-color);
	text-decoration: none;
}

.genesis-nav-menu .sub-menu,
.genesis-nav-menu .sub-menu a {
	width: 100%;
}

.genesis-nav-menu .sub-menu {
	clear: both;
	display: none;
	left: -9999px;
	margin: 0;
	opacity: 1;
	padding-left: 15px;
	position: static;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: #fff;
	font-size: 14px;
	position: relative;
	word-wrap: break-word;
}

.genesis-nav-menu .menu-item:focus,
.genesis-nav-menu .menu-item:hover {
	position: relative;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	display: block;
	left: auto;
}

/* Responsive Menu
--------------------------------------------- */

.menu .menu-item:focus {
	position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
	left: auto;
}

.js .nav-primary {
	display: none;
	position: relative;
}

.genesis-responsive-menu .genesis-nav-menu .menu-item:hover > .sub-menu {
	display: none;
}

.menu-toggle,
.sub-menu-toggle {
	background-color: transparent;
	border-width: 0;
	color: #333;
	display: block;
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
	visibility: visible;
}

.menu-toggle:focus,
.menu-toggle:hover,
.menu-toggle.activated,
.sub-menu-toggle:focus,
.sub-menu-toggle:hover {
	background-color: transparent;
	border-width: 0;
	color: var(--terciary-color);
}

.menu-toggle {
	float: right;
	line-height: 20px;
	margin-bottom: 10px;
	margin-top: 10px;
	padding: 15px 0;
	position: relative;
	z-index: 1000;
	font-size: 0;
}

/* Mostrar solo el icono de la hamburguesa */
.menu-toggle::before {
	font-size: 20px;
}

.menu-toggle.activated::before {
	content: "\f335";
}

.site-header .dashicons-before::before {
	transition: none;
}

.site-header .menu-toggle::before {
	float: none;
	margin-right: 0;
	position: relative;
	text-rendering: auto;
	top: 1px;
	display: inline-block;
}

.sub-menu-toggle {
	float: right;
	padding: 9px 10px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 100;
}

.sub-menu .sub-menu-toggle {
	padding: 12px 10px;
}

.sub-menu-toggle::before {
	display: inline-block;
	text-rendering: auto;
	transform: rotate(0);
	transition: transform 0.25s ease-in-out;
}

.sub-menu-toggle.activated::before {
	transform: rotate(180deg);
}

/* Header Menu
--------------------------------------------- */

.nav-primary {
	clear: none;
	padding-bottom: 15px;
	padding-top: 15px;
	width: 100%;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background-color: #fff;
	z-index: 9999;
	display: none;
	margin: 0;
}

.nav-primary.visible {
	display: block;
}

/* Asegurar que el contenido no se desplace cuando el menú se abre */
body.menu-open {
	overflow: hidden;
}

/* Footer Menu
--------------------------------------------- */

.nav-secondary {
	margin-top: 10px;
}

.nav-secondary .genesis-nav-menu {
	line-height: 1.5;
}

.nav-secondary .menu-item {
	display: inline-block;
}

.nav-secondary a {
	margin-left: 10px;
	margin-right: 10px;
	padding: 0;
}

/* Content Area
---------------------------------------------------------------------------- */

/* Entry Content
--------------------------------------------- */

.entry {
	margin-bottom: 40px;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 30px;
	padding-left: 40px;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: disc;
}

.entry-content ol ul > li,
.entry-content ul ul > li {
	list-style-type: circle;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content code {
	background-color: #f5f5f5;
}

.content .sticky {
	background-color: #f5f5f5;
	padding: 30px;
}

/* Entry Meta
--------------------------------------------- */

p.entry-meta {
	font-size: 16px;
	margin-bottom: 0;
}

.entry-header .entry-meta {
	margin-bottom: 20px;
}

.entry-footer .entry-meta {
	border-top: 1px solid #eee;
	padding-top: 20px;
}

.entry-categories,
.entry-tags {
	display: block;
}

.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

/* Pagination
--------------------------------------------- */

.pagination {
	clear: both;
	margin: 60px 0;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination li a {
	background-color: #f5f5f5;
	color: #333;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 4px;
	padding: 8px 12px;
	text-decoration: none;
}

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
	background-color: #333;
	color: #fff;
}

/* Entry Comments
--------------------------------------------- */

.entry-comments-section,
.entry-comments-wrapper,
#comments,
#respond {
	clear: both;
	margin-top: 40px;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	position: relative !important;
}

.comment-respond,
.entry-comments,
.entry-pings {
	margin-bottom: 40px;
	padding: 30px;
	background: #f9f9f9;
	border-radius: 12px;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	z-index: 1 !important;
}

.comment-reply-title {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 20px;
	color: #000;
}

.comment-list li {
	padding: 40px 0 0 30px;
	border-bottom: 1px solid #e0e0e0;
	margin-bottom: 30px;
}

.comment-list .depth-1 {
	padding-left: 0;
}

.comment-header {
	margin-bottom: 20px;
}

.comment-content {
	clear: both;
	line-height: 1.7;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 100%;
	background-color: #fff;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 16px;
	transition: border-color 0.3s ease;
}

.comment-respond input[type="email"]:focus,
.comment-respond input[type="text"]:focus,
.comment-respond input[type="url"]:focus {
	border-color: var(--terciary-color);
	outline: none;
}

.comment-respond textarea {
	width: 100%;
	background-color: #fff;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 16px;
	min-height: 150px;
	transition: border-color 0.3s ease;
	resize: vertical;
}

.comment-respond textarea:focus {
	border-color: var(--terciary-color);
	outline: none;
}

.comment-respond label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: #333;
}

.comment-form-comment {
	margin-bottom: 20px;
}

.comment-header p {
	margin-bottom: 0;
}

.comment-author {
	font-weight: 600;
	font-size: 16px;
}

.comment-metadata {
	font-size: 14px;
	color: #666;
	margin-top: 5px;
}

.comment-metadata a {
	color: #666;
	text-decoration: none;
}

.comment-metadata a:hover {
	color: var(--terciary-color);
}

.entry-pings .reply {
	display: none;
}

.comment-form-cookies-consent label {
	display: inline;
	padding-left: 10px;
	font-weight: 400;
}

.comment-reply-link {
	display: inline-block;
	padding: 6px 16px;
	background: var(--terciary-color);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 6px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	margin-top: 10px;
}

.comment-reply-link:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.4);
	color: #fff;
	text-decoration: none;
}

.form-submit {
	margin-top: 20px;
}

.form-submit .submit {
	width: auto;
	padding: 12px 28px;
	background: var(--terciary-color);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 2px 8px rgba(71, 207, 141, 0.3);
}

.form-submit .submit:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.5);
}

.form-submit .submit:active {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.4);
}

.comment-form .required {
	color: var(--terciary-color);
	font-weight: 700;
}

.comments-title {
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 30px;
	padding-bottom: 15px;
	border-bottom: 2px solid #e0e0e0;
}

.comment-list {
	list-style: none;
	padding: 0;
	margin: 0 0 40px 0;
}

.comment-list .comment {
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.comment-list .comment:last-child {
	border-bottom: none;
}

.no-comments {
	background: #fff3cd;
	padding: 15px 20px;
	border-radius: 8px;
	border-left: 4px solid #ffc107;
	color: #856404;
	font-weight: 500;
	margin-bottom: 20px;
}

/* Sidebar
---------------------------------------------------------------------------- */

.sidebar {
	font-size: 16px;
	line-height: 1.5;
}

.sidebar .widget {
	margin-bottom: 40px;
}

.sidebar p {
	margin-bottom: 20px;
}

/* Footer Widgets
---------------------------------------------------------------------------- */

.footer-widgets {
	background-color: #1a1a1a !important;
	clear: both;
	padding: 60px 20px;
	color: #fff !important;
}

.footer-widgets .wrap {
	max-width: var(--max-width-content);
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: space-between;
}

.footer-widget-area {
	flex: 1;
	min-width: 200px;
	margin-bottom: 40px;
}

.footer-widget-area:last-child,
.footer-widgets .widget:last-child {
	margin-bottom: 0;
}

/* Títulos de widgets del footer */
.footer-widgets .widget-title,
.footer-widgets .widgettitle,
.footer-widgets h2,
.footer-widgets h3,
.footer-widgets h4 {
	color: var(--terciary-color) !important;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Enlaces del footer */
.footer-widgets a {
	color: #999 !important;
	text-decoration: none !important;
	transition: color 0.3s ease;
	font-size: 15px;
}

.footer-widgets a:hover,
.footer-widgets a:focus {
	color: var(--terciary-color) !important;
	text-decoration: none !important;
}

/* Listas del footer */
.footer-widgets ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-widgets ul li {
	margin-bottom: 12px;
	list-style: none;
}

/* Párrafos del footer */
.footer-widgets p {
	color: #999 !important;
	line-height: 1.8;
	font-size: 14px;
}

/* Newsletter Form en Footer */
.footer-widgets input[type="email"],
.footer-widgets input[type="text"],
.footer-widgets .widget input[type="email"],
.footer-widgets .widget input[type="text"] {
	width: 100% !important;
	padding: 12px 15px !important;
	background-color: #0d0d0d !important;
	border: 1px solid #333 !important;
	color: #fff !important;
	font-size: 14px !important;
	border-radius: 4px;
	margin-bottom: 10px;
	transition: border-color 0.3s ease;
}

.footer-widgets input[type="email"]:focus,
.footer-widgets input[type="text"]:focus,
.footer-widgets .widget input[type="email"]:focus,
.footer-widgets .widget input[type="text"]:focus {
	outline: none !important;
	border-color: var(--terciary-color) !important;
	background-color: #0d0d0d !important;
}

.footer-widgets input[type="email"]::placeholder,
.footer-widgets input[type="text"]::placeholder,
.footer-widgets .widget input[type="email"]::placeholder,
.footer-widgets .widget input[type="text"]::placeholder {
	color: #666 !important;
}

.footer-widgets input[type="submit"],
.footer-widgets button[type="submit"],
.footer-widgets .button,
.footer-widgets .widget input[type="submit"],
.footer-widgets .widget button[type="submit"] {
	width: 100% !important;
	padding: 12px 28px !important;
	background-color: var(--terciary-color) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border: none !important;
	border-radius: 10px;
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 2px 8px rgba(71, 207, 141, 0.3);
	text-transform: capitalize;
}

.footer-widgets input[type="submit"]:hover,
.footer-widgets button[type="submit"]:hover,
.footer-widgets .button:hover,
.footer-widgets .widget input[type="submit"]:hover,
.footer-widgets .widget button[type="submit"]:hover {
	background-color: var(--terciary-color) !important;
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.5);
	color: #fff !important;
}

.footer-widgets input[type="submit"]:active,
.footer-widgets button[type="submit"]:active,
.footer-widgets .button:active,
.footer-widgets .widget input[type="submit"]:active,
.footer-widgets .widget button[type="submit"]:active {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.4);
}

/* Texto pequeño del newsletter */
.footer-widgets .widget_text small,
.footer-widgets small {
	color: #666;
	font-size: 12px;
	line-height: 1.5;
	display: block;
	margin-top: 10px;
}

/* Custom Footer
---------------------------------------------------------------------------- */

.custom-footer {
	background-color: #000;
	color: #fff;
	padding: 60px 20px 0;
}

.footer-container {
	max-width: var(--max-width-content);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
}

.footer-column {
	flex: 1;
	min-width: 200px;
	margin-bottom: 40px;
}

.footer-column-title {
	color: var(--terciary-color) !important;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Newsletter Column */
.footer-newsletter-description {
	color: #999;
	font-size: 14px;
	line-height: 1.8;
	margin-bottom: 20px;
}

.footer-newsletter-form {
	margin-bottom: 15px;
}

.footer-newsletter-input-group {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-newsletter-input {
	width: 100% !important;
	padding: 12px 15px !important;
	background-color: #0d0d0d !important;
	border: 1px solid #333 !important;
	color: #fff !important;
	font-size: 14px !important;
	border-radius: 4px;
	transition: border-color 0.3s ease;
}

.footer-newsletter-input:focus {
	outline: none !important;
	border-color: var(--terciary-color) !important;
}

.footer-newsletter-input::placeholder {
	color: #666 !important;
}

.footer-newsletter-button {
	width: 100% !important;
	padding: 12px 28px !important;
	background-color: var(--terciary-color) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border: none !important;
	border-radius: 10px;
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 2px 8px rgba(71, 207, 141, 0.3);
	text-transform: capitalize;
}

.footer-newsletter-button:hover {
	background-color: var(--terciary-color) !important;
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.5);
	color: #fff !important;
}

.footer-newsletter-button:active {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.4);
}

.footer-newsletter-button:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	transform: none !important;
}

.footer-btn-loader svg {
	animation: spin 1s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.footer-form-message {
	padding: 10px;
	border-radius: 5px;
	font-size: 14px;
	line-height: 1.5;
	margin-top: 10px;
}

.footer-message-success {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.footer-message-error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.footer-newsletter-note {
	color: #666;
	font-size: 12px;
	line-height: 1.5;
	margin: 0 0 15px 0;
}

/* Reusable Newsletter Styles (generic classes) */
.newsletter-block {
	width: 100%;
}

.newsletter-title {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 12px 0;
}

.newsletter-description {
	color: #ccc;
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 20px;
}

.newsletter-form {
	margin-bottom: 15px;
}

.newsletter-input-group {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.newsletter-input {
	width: 100% !important;
	padding: 12px 15px !important;
	background-color: #0d0d0d !important;
	border: 1px solid #333 !important;
	color: #fff !important;
	font-size: 14px !important;
	border-radius: 4px;
	transition: border-color 0.3s ease;
}

.newsletter-input:focus {
	outline: none !important;
	border-color: var(--terciary-color) !important;
}

.newsletter-input::placeholder {
	color: #666 !important;
}

.newsletter-button {
	width: 100% !important;
	padding: 12px 28px !important;
	background-color: var(--terciary-color) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border: none !important;
	border-radius: 10px;
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 2px 8px rgba(71, 207, 141, 0.3);
	text-transform: capitalize;
}

.newsletter-button:hover {
	background-color: var(--terciary-color) !important;
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.5);
	color: #fff !important;
}

.newsletter-button:active {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.4);
}

.newsletter-button:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	transform: none !important;
}

.newsletter-btn-loader svg {
	animation: spin 1s linear infinite;
}

.newsletter-form-message {
	padding: 10px;
	border-radius: 5px;
	font-size: 14px;
	line-height: 1.5;
	margin-top: 10px;
}

.newsletter-note {
	color: #666;
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
}

/* Newsletter in Posts */
.post-newsletter-wrapper {
	background-color: #1a1a1a;
	border: 1px solid #333;
	border-radius: 8px;
	padding: 30px;
	margin: 40px auto;
	max-width: 50%;
}

.post-newsletter-wrapper .newsletter-title {
	font-size: 22px;
}

.post-newsletter-wrapper .newsletter-description {
	font-size: 15px;
}

/* Responsive for post newsletter */
@media (max-width: 1024px) {
	.post-newsletter-wrapper {
		max-width: 70%;
	}
}

@media (max-width: 768px) {
	.post-newsletter-wrapper {
		padding: 20px;
		margin: 30px auto;
		max-width: 100%;
	}

	.post-newsletter-wrapper .newsletter-title {
		font-size: 18px;
	}

	.post-newsletter-wrapper .newsletter-description {
		font-size: 14px;
	}
}

/* Footer Social Icons Row */
.footer-social-icons {
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
	justify-content: center;
	margin-top: 15px;
}

.footer-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.05);
	transition: all 0.3s ease;
}

.footer-social-link svg {
	width: 16px;
	height: 16px;
	fill: #999;
	transition: all 0.3s ease;
}

.footer-social-link:hover {
	background-color: var(--terciary-color);
	transform: scale(1.2);
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.4);
}

.footer-social-link:hover svg {
	fill: #000;
}

/* Footer Menus */
.footer-nav-menu,
.footer-affiliates-menu,
.footer-legal-menu {
	margin: 0;
}

.footer-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-menu-list li {
	margin-bottom: 12px;
	list-style: none;
}

.footer-menu-list a {
	color: #999 !important;
	text-decoration: none !important;
	transition: color 0.3s ease;
	font-size: 15px;
}

.footer-menu-list a:hover {
	color: var(--terciary-color) !important;
}

/* Footer Bottom / Copyright */
.footer-bottom {
	background-color: #0d0d0d;
	border-top: 1px solid #2a2a2a;
	padding: 25px 20px;
	margin-top: 40px;
}

.footer-bottom-container {
	max-width: var(--max-width-content);
	margin: 0 auto;
	text-align: center;
}

.footer-copyright {
	color: #999;
	font-size: 14px;
	margin: 0;
	line-height: 1.8;
}

.footer-copyright a {
	color: #ccc !important;
	text-decoration: none !important;
	transition: color 0.3s ease;
}

.footer-copyright a:hover {
	color: var(--terciary-color) !important;
}

/* Footer Mobile: Newsletter al final */
@media only screen and (max-width: 767px) {
	.footer-column-1 {
		order: 4;
		max-width: 75%;
	}

	.footer-column-2 {
		order: 1;
	}

	.footer-column-3 {
		order: 2;
	}

	.footer-column-4 {
		order: 3;
	}
}

.footer-separator {
	color: #666;
	margin: 0 8px;
}

.footer-heart {
	color: var(--terciary-color);
	font-size: 16px;
}

/* Site Footer (Genesis Default - mantener por compatibilidad)
---------------------------------------------------------------------------- */

.site-footer {
	background-color: #0d0d0d !important;
	border-top: 1px solid #2a2a2a;
	font-size: 14px;
	line-height: 1.5;

	text-align: center;
	color: #999 !important;
}

.site-footer p {
	margin-bottom: 0;
	color: #999 !important;
}

.site-footer a {
	color: #ccc !important;
	text-decoration: none !important;
	transition: color 0.3s ease;
}

.site-footer a:hover {
	color: var(--terciary-color) !important;
}

/* Home Page Template
---------------------------------------------------------------------------- */

/* Full width content for home page */
.page-template-home .content {
	width: 100%;
	float: none;
}

/* Remove lateral padding for home page */
.page-template-home .site-inner {
	padding-left: 0;
	padding-right: 0;
}

/* Hero Banner
--------------------------------------------- */

.home-hero {
	padding: 40px 30px;
	margin-bottom: 60px;
}

.hero-content {
	display: flex;
	flex-direction: column;
	gap: 30px;
	align-items: center;
	max-width: var(--max-width-content);
	margin: 0 auto;
}

/* Hero content reverse on mobile */
@media only screen and (max-width: 767px) {
	.hero-content {
		flex-direction: column-reverse;
	}
}

.hero-text {
	width: 100%;
	text-align: center;
}

.hero-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #333;
	line-height: 1.3;
}

.hero-paragraph {
	font-size: 18px;
	line-height: 1.6;
	color: #666;
	margin: 0;
}

.hero-image {
	width: 100%;
	max-width: 600px;
	border-radius: 70% 30% 30% 70% / 60% 40% 60% 40%;
	overflow: hidden;
	box-shadow: 0 15px 60px rgba(0, 0, 0, 0.25);
}

.hero-img,
.hero-img-placeholder {
	width: 100%;
	max-width: 700px;
	height: 400px;
	object-fit: cover;
	object-position: center -450px;
	display: block;
}

/* Hero image position on mobile */
@media only screen and (max-width: 767px) {
	.hero-img {
		object-position: center;
	}
}

.hero-img-placeholder svg {
	width: 100%;
	height: auto;
	min-height: 300px;
}

/* Latest Posts Section
--------------------------------------------- */

.home-latest-posts {
	padding: 40px 30px;
	margin-bottom: 60px;
	max-width: var(--max-width-content);
	margin-left: auto;
	margin-right: auto;
}

.section-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 20px;
	text-align: center;
	color: #333;
	padding: 0 5%;
}

.section-subtitle {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 40px;
	text-align: center;
	color: #666;
	padding: 0 5%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

/* Cards Carousel
--------------------------------------------- */

.cards-carousel {
	position: relative;
	width: 100%;
}

.carousel-viewport {
	overflow: hidden;
	width: 100%;
}

.carousel-track {
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
}

.carousel-track.posts-grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
}

.carousel-track .post-card.carousel-slide {
	flex: 0 0 100%;
	min-width: 100%;
	max-width: 100%;
}

/* Carousel Container */
.carousel-container {
	position: relative;
}

.carousel-arrow {
	display: none;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #333;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	z-index: 10;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	color: #fff;
	padding: 0;
}

.carousel-arrow:hover {
	background: var(--terciary-color);
	transform: translateY(-50%) scale(1.1);
}

.carousel-arrow:focus {
	background: var(--terciary-color);
	outline: 2px solid var(--terciary-color);
	outline-offset: 2px;
}

.carousel-arrow:active {
	background: var(--terciary-color);
	transform: translateY(-50%) scale(0.95);
}

.carousel-arrow svg {
	display: block;
	pointer-events: none;
}

.carousel-arrow svg polyline {
	stroke: currentColor;
	stroke-width: 3;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.carousel-prev {
	left: 0;
}

.carousel-next {
	right: 0;
}

/* Carousel Dots */
.carousel-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	padding: 0 20px;
}

.carousel-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ddd;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: all 0.3s ease;
}

.carousel-dot:hover {
	background: var(--terciary-color);
	opacity: 0.7;
}

.carousel-dot:focus {
	background: var(--terciary-color);
	outline: 2px solid var(--terciary-color);
	outline-offset: 2px;
}

.carousel-dot.active {
	background: var(--terciary-color);
	width: 32px;
	border-radius: 6px;
}

.carousel-dot:active {
	background: var(--terciary-color);
	transform: scale(0.9);
}

/* Disable translateY hover for carousel slides */
.carousel-track .post-card.carousel-slide:hover {
	transform: none;
}

.posts-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	justify-items: center;
}

.post-card {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	height: 420px;
	width: 100%;
	max-width: 350px;
	margin: 0 auto;
}

.post-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.post-card-link {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.post-card-image {
	position: relative;
	width: 100%;
	overflow: hidden;
	height: 240px;
	flex-shrink: 0;
	background: #3a3a3a;
}

.card-img,
.card-img-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.post-card:hover .card-img {
	transform: scale(1.05);
}

.post-card:hover .post-card-content {
	background-color: var(--terciary-color);
	background-image: none;
}

.post-card:hover .post-card-title {
	color: #fff;
}

.post-card:hover .post-author,
.post-card:hover .post-date,
.post-card:hover .meta-separator {
	color: #fff;
}

.post-card:hover .post-card-meta::before {
	background: #e0e0e0;
}

.card-img-placeholder svg {
	width: 100%;
	height: 100%;
}

.post-category {
	position: absolute;
	top: 15px;
	left: 15px;
	background: var(--terciary-color);
	color: #fff;
	padding: 6px 12px;
	border-radius: var(--border-radius-badge);
	font-size: 13px;
	font-weight: 500;
	z-index: 2;
	width: 100px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center;
	box-sizing: border-box;
}

.post-card-content {
	padding: 20px;
	height: 180px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: background 0.3s ease;
	overflow: hidden;
}

.post-card-title {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 auto;
	line-height: 1.4;
	color: #1a1a1a;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	max-height: 75px;
	transition: color 0.3s ease;
}

.post-card-meta {
	margin-top: 15px;
	padding-top: 15px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #666;
	position: relative;
}

.post-card-meta::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 75%;
	height: 0.5px;
	background: var(--terciary-color);
	transition: background 0.3s ease;
}

.post-author {
	color: #666;
	font-weight: 500;
	transition: color 0.3s ease;
}

.meta-separator {
	color: #ccc;
	transition: color 0.3s ease;
}

.post-date {
	color: #999;
	font-size: 14px;
	font-weight: 400;
	transition: color 0.3s ease;
}

/* Destinations Section
--------------------------------------------- */

.home-destinations {
	padding: 60px 5%;
	margin-bottom: 60px;
	width: 100%;
	max-width: var(--max-width-content);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* Travel Resources Section
---------------------------------------------------------------------------- */

.home-travel-resources {
	padding: 80px 5%;
	max-width: var(--max-width-content);
	margin: 0 auto 60px auto;
}

.resources-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: var(--max-width-content);
	margin: 0 auto;
	padding: 0 20px;
}

.resource-item {
	position: relative;
	background: #f5f5f5;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	aspect-ratio: 1;
}

.resource-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.resource-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 20px;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}

.resource-name {
	display: none;
}

/* CTA Banner Section
---------------------------------------------------------------------------- */

.home-cta-banner {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	padding: 60px 20px;
	background-image: url("/wp-content/uploads/trip-planner-scaled.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	margin-top: 60px;
	margin-bottom: 60px;
	position: relative;
}

/* Fondo estampado como overlay */
.home-cta-banner::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url("/wp-content/uploads/fondo-estampado.webp");
	background-repeat: repeat;
	background-size: auto;
	opacity: 0.3;
	z-index: 1;
	pointer-events: none;
}

/* Overlay oscuro (encima del fondo estampado) */
.home-cta-banner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 2;
}

.cta-banner-content {
	max-width: var(--max-width-content);
	margin: 0 auto;
	text-align: center;
	color: #fff;
	position: relative;
	z-index: 2;
}

.cta-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #fff;
	line-height: 1.3;
}

.cta-text {
	font-size: 18px;
	margin-bottom: 30px;
	opacity: 0.95;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.cta-guides-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
}

.cta-guide-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cta-guide-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.cta-guide-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.cta-guide-image {
	width: 100%;
	height: 250px;
	overflow: hidden;
	background: #f5f5f5;
}

.guide-img,
.guide-img-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.guide-img-placeholder svg {
	width: 100%;
	height: 100%;
}

.cta-guide-content {
	padding: 20px;
}

.cta-guide-name {
	font-size: 20px;
	font-weight: 600;
	color: #333;
	margin: 0;
	line-height: 1.4;
}

.cta-guide-card:hover .cta-guide-name {
	color: var(--terciary-color);
}

.cta-button {
	display: inline-block;
	padding: 15px 40px;
	background: #fff;
	color: var(--terciary-color);
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 50px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.cta-button:hover {
	background: #f5f5f5;
	transform: translateY(-3px);
	box-shadow: 0 6px 25px rgba(0, 0, 0, 0.3);
	color: #2d9b5f;
}

/* Button Ver Todas - Guides Section
---------------------------------------------------------------------------- */

.cta-guides-button-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.btn-ver-todas {
	display: inline-block;
	padding: 12px 28px;
	background: var(--terciary-color);
	color: #fff;
	font-size: 17px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 10px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 2px 8px rgba(71, 207, 141, 0.3);
}

.btn-ver-todas:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.5);
	color: #fff;
	text-decoration: none;
}

.btn-ver-todas:active {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.4);
}

/* Protected Download Badge - Lock Icon
---------------------------------------------------------------------------- */

[data-protected-download],
a[href*="?protected"],
a.protected-link {
	position: relative;
}

[data-protected-download]:not(.hv-unlocked)::before,
a[href*="?protected"]:not(.hv-unlocked)::before,
a.protected-link:not(.hv-unlocked)::before {
	content: "";
	position: absolute;
	top: 15px;
	right: 15px;
	width: 45px;
	height: 45px;
	background: var(--terciary-color);
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(71, 207, 141, 0.5);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: hvPulseLock 2s ease-in-out infinite;
}

[data-protected-download]:not(.hv-unlocked)::after,
a[href*="?protected"]:not(.hv-unlocked)::after,
a.protected-link:not(.hv-unlocked)::after {
	content: "";
	position: absolute;
	top: 27px;
	right: 27px;
	width: 21px;
	height: 21px;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="11" width="14" height="10" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 6;
	pointer-events: none;
}

@keyframes hvPulseLock {
	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 4px 12px rgba(71, 207, 141, 0.5);
	}
	50% {
		transform: scale(1.05);
		box-shadow: 0 6px 20px rgba(71, 207, 141, 0.7);
	}
}

/* When user is subscribed, hide the lock */
body.hv-subscriber [data-protected-download]::before,
body.hv-subscriber [data-protected-download]::after,
body.hv-subscriber a[href*="?protected"]::before,
body.hv-subscriber a[href*="?protected"]::after,
body.hv-subscriber a.protected-link::before,
body.hv-subscriber a.protected-link::after {
	display: none;
}

/* Unlocked state (can be added via JS) */
[data-protected-download].hv-unlocked::before,
[data-protected-download].hv-unlocked::after,
a[href*="?protected"].hv-unlocked::before,
a[href*="?protected"].hv-unlocked::after,
a.protected-link.hv-unlocked::before,
a.protected-link.hv-unlocked::after {
	display: none !important;
}

/* Category Archive & Search Results Base Styles
---------------------------------------------------------------------------- */

.category-posts-grid,
.search-posts-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	margin-bottom: 50px;
	justify-items: center;
}

/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (min-width: 480px) and (max-width: 959px) {
	table {
		table-layout: auto;
		word-break: normal;
	}

	/* Travel Resources - Tablet Small */
	.resources-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	/* Home Page Template - Tablet
	--------------------------------------------- */

	.posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Category Archive - Tablet
	--------------------------------------------- */

	.category-posts-grid,
	.search-posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.category-hero {
		min-height: 450px;
	}

	.category-hero-title {
		font-size: 52px;
	}

	.category-hero-description {
		font-size: 19px;
	}

	/* Cards Carousel - Tablet */
	.carousel-container {
		padding: 0 50px;
	}

	.carousel-arrow {
		display: flex !important;
		width: 44px;
		height: 44px;
	}

	.carousel-arrow svg {
		width: 22px;
		height: 22px;
	}

	.carousel-track.posts-grid {
		gap: 20px;
	}

	.carousel-track .post-card.carousel-slide {
		flex: 0 0 calc((100% - 20px) / 2);
		min-width: calc((100% - 20px) / 2);
		max-width: calc((100% - 20px) / 2);
	}

	.carousel-dots {
		margin-top: 30px;
	}

	.carousel-dot {
		width: 14px;
		height: 14px;
	}

	.carousel-dot.active {
		width: 36px;
	}

	/* Archive Pagination - Tablet */
	.pagination-arrow {
		width: 44px;
		height: 44px;
	}

	.pagination-arrow svg {
		width: 22px;
		height: 22px;
	}

	.pagination-dot {
		width: 12px;
		height: 12px;
	}

	.pagination-dot.active {
		width: 32px;
	}
}

/* Category Archive
--------------------------------------------- */

/* Force full width for category pages */
.category .content,
.archive .content {
	width: 100%;
	float: none;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

/* Category Hero Banner */
.category-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	min-height: 400px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
}

.category-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.3),
		rgba(0, 0, 0, 0.6)
	);
	display: flex;
	align-items: center;
	justify-content: center;
}

.category-hero-content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 40px 20px;
	max-width: 1000px;
	margin: 0 auto;
}

.category-hero-title {
	font-size: 42px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 20px;
	text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
	line-height: 1.2;
}

.category-hero-description {
	font-size: 18px;
	line-height: 1.6;
	color: #fff;
	max-width: 700px;
	margin: 0 auto;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
}

.category-hero-description p {
	margin-bottom: 10px;
}

.category-hero-description p:last-child {
	margin-bottom: 0;
}

.category-archive {
	max-width: var(--max-width-content);
	margin: 0 auto;
	padding: 60px 20px 40px;
}

/* Fallback for categories without hero image */
.category-hero:not([style*="background-image"]) {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.archive-header {
	text-align: center;
	margin-bottom: 50px;
}

.archive-title {
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #333;
}

.archive-description {
	font-size: 18px;
	line-height: 1.6;
	color: #666;
	max-width: 800px;
	margin: 0 auto;
}

/* No posts found message */
.no-posts-found {
	text-align: center;
	padding: 60px 20px;
	color: #666;
	font-size: 18px;
}

/* Search Results Page
--------------------------------------------- */

.search-results-archive {
	max-width: var(--max-width-content) !important;
	width: 100%;
	margin: 0 auto;
	padding: 60px 20px 40px;
}

/* Asegurar que el contenedor principal de búsqueda tenga ancho completo */
.search .content,
.search .site-inner,
.search .site-inner > .wrap {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.search-header {
	text-align: center;
	margin-bottom: 50px;
	padding-bottom: 30px;
	border-bottom: 2px solid #e0e0e0;
}

.search-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #333;
}

.search-title span {
	color: var(--terciary-color);
	font-weight: 700;
}

.search-count {
	font-size: 16px;
	color: #666;
	margin: 0;
}

.search-count strong {
	color: var(--terciary-color);
	font-weight: 700;
}

/* No search results */
.no-search-results {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	padding: 40px 20px;
}

.no-results-icon {
	width: 80px;
	height: 80px;
	color: #ccc;
	margin: 0 auto 30px;
	display: block;
}

.no-search-results h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #333;
}

.no-search-results p {
	font-size: 16px;
	color: #666;
	margin-bottom: 30px;
	line-height: 1.6;
}

.search-suggestions {
	background: #f9f9f9;
	padding: 30px;
	border-radius: 12px;
	text-align: left;
	margin-top: 40px;
}

.suggestions-title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #333;
}

.search-suggestions ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.search-suggestions li {
	padding: 8px 0 8px 25px;
	position: relative;
	color: #666;
	font-size: 15px;
	line-height: 1.6;
}

.search-suggestions li:before {
	content: "•";
	position: absolute;
	left: 5px;
	color: var(--terciary-color);
	font-size: 20px;
	line-height: 1.4;
}

/* Archive Pagination (carousel style) */
.archive-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 60px;
	padding: 30px 0;
}

/* Pagination Loader */
.pagination-loader {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100;
	border-radius: 8px;
}

.loader-spinner {
	width: 50px;
	height: 50px;
	border: 4px solid #e0e0e0;
	border-top-color: var(--terciary-color);
	border-radius: 50%;
	animation: spin 0.6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Smooth fade transitions for pagination loader */
.pagination-loader {
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.category-posts-grid {
	position: relative;
	min-height: 200px;
}

/* Optimize rendering performance */
.carousel-track,
.category-posts-grid,
.pagination-container {
	will-change: transform, opacity;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Smooth image loading */
.post-card img,
.hero-img {
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
	transition: opacity 0.3s ease;
}

.pagination-container {
	display: flex;
	align-items: center;
	gap: 20px;
}

/* Pagination Arrows (like carousel) */
.pagination-arrow {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #e0e0e0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	color: #333;
	text-decoration: none;
}

.pagination-arrow:hover,
.pagination-arrow:focus {
	background: var(--terciary-color);
	border-color: var(--terciary-color);
	color: #fff;
	transform: scale(1.05);
	outline: none;
}

.pagination-arrow svg {
	width: 24px;
	height: 24px;
}

.pagination-arrow.disabled {
	opacity: 0.3;
	pointer-events: none;
	cursor: default;
	background: #f5f5f5;
}

/* Pagination Dots (like carousel) */
.pagination-dots {
	display: flex;
	gap: 12px;
	align-items: center;
}

.pagination-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ccc;
	transition: all 0.3s ease;
	cursor: pointer;
	border: none;
	padding: 0;
	display: block;
	text-decoration: none;
}

.pagination-dot:hover,
.pagination-dot:focus {
	background: var(--terciary-color);
	transform: scale(1.2);
	outline: none;
}

.pagination-dot.active {
	width: 30px;
	border-radius: 5px;
	background: var(--terciary-color);
	cursor: default;
}

/* Media Queries - Tablet (768px)
---------------------------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	/* Headings - Tablet
	--------------------------------------------- */

	h1 {
		font-size: 36px;
	}

	h2 {
		font-size: 30px;
	}

	h3 {
		font-size: 24px;
	}

	h4 {
		font-size: 20px;
	}

	h5 {
		font-size: 18px;
	}

	h6 {
		font-size: 16px;
	}

	/* Header Tablet - Los estilos de móvil/tablet se manejan en @media (max-width: 959px) */
}

/* Media Queries - Desktop (960px)
---------------------------------------------------------------------------- */
@media only screen and (min-width: 960px) {
	/* Headings - Desktop
	--------------------------------------------- */

	h1 {
		font-size: 48px;
	}

	h2 {
		font-size: 38px;
	}

	h3 {
		font-size: 28px;
	}

	h4 {
		font-size: 22px;
	}

	h5 {
		font-size: 18px;
	}

	h6 {
		font-size: 16px;
	}

	/* Site Header
	--------------------------------------------- */

	.site-header {
		position: sticky;
		top: 0;
		z-index: 9999;
	}

	.site-header > .wrap {
		max-width: var(--max-width-content);
		margin: 0 auto;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.title-area {
		flex-shrink: 0;
		padding: 15px 0;
		float: left;
		text-align: left;
		width: auto;
	}

	.admin-bar .site-header {
		top: 32px;
	}

	/* Header Social Icons (Disabled - Using Floating Sidebar)
	--------------------------------------------- */

	.header-social-icons,
	.header-social-widget-area {
		display: none !important;
	}

	/* Floating Social Sidebar stays fixed on desktop */
	.floating-social-sidebar {
		display: flex;
	}

	/* Header Search Icon - Desktop */
	.header-search-toggle {
		display: inline-flex;
		margin-left: 20px;
	}

	/* Home Page Template - Desktop
	--------------------------------------------- */

	.hero-content {
		flex-direction: row;
		gap: 60px;
		align-items: center;
	}

	.hero-text {
		flex: 1;
		text-align: left;
	}

	.hero-title {
		font-size: 48px;
	}

	.hero-paragraph {
		font-size: 20px;
	}

	/* CTA Banner - Desktop */
	.home-cta-banner {
		padding: 80px 40px;
	}

	.cta-title {
		font-size: 42px;
	}

	.cta-text {
		font-size: 20px;
	}

	.cta-guides-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 30px;
		padding: 4rem;
	}

	.cta-guides-button-wrapper {
		margin-top: 50px;
	}

	.btn-ver-todas {
		font-size: 18px;
		padding: 14px 32px;
	}

	.hero-image {
		flex: 1;
		max-width: 600px;
	}

	/* Category Archive - Desktop
	--------------------------------------------- */

	.category-posts-grid,
	.search-posts-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.search-results-archive {
		padding: 80px 20px 60px;
	}

	.search-title {
		font-size: 42px;
	}

	.category-hero {
		min-height: 500px;
	}

	.category-hero-content {
		padding: 60px 40px;
	}

	.category-hero-title {
		font-size: 64px;
	}

	.category-hero-description {
		font-size: 22px;
	}

	.category-archive {
		padding: 80px 20px 60px;
	}

	.archive-title {
		font-size: 48px;
	}

	.archive-description {
		font-size: 20px;
	}

	/* Cards Carousel - Desktop */
	.carousel-container {
		padding: 0 70px;
	}

	.carousel-arrow {
		width: 52px;
		height: 52px;
	}

	.carousel-arrow svg {
		width: 28px;
		height: 28px;
	}

	.carousel-track.posts-grid {
		gap: 30px;
	}

	.carousel-track .post-card.carousel-slide {
		flex: 0 0 calc((100% - 90px) / 4);
		min-width: calc((100% - 90px) / 4);
		max-width: calc((100% - 90px) / 4);
	}

	.carousel-dot {
		width: 16px;
		height: 16px;
	}

	.carousel-dot.active {
		width: 40px;
	}

	/* Archive Pagination - Desktop */
	.pagination-arrow {
		width: 50px;
		height: 50px;
	}

	.pagination-arrow svg {
		width: 24px;
		height: 24px;
	}

	.pagination-dots {
		gap: 14px;
	}

	.pagination-dot {
		width: 14px;
		height: 14px;
	}

	.pagination-dot.active {
		width: 36px;
	}

	/* Destinations Section - Desktop */
	.home-destinations {
		padding: 80px 40px;
	}

	/* Travel Resources - Desktop: 5 items en primera fila, 4 items centrados en segunda fila */
	.resources-grid {
		grid-template-columns: repeat(10, 1fr);
		grid-template-rows: auto auto;
		gap: 20px;
		max-width: var(--max-width-content);
		padding: 0 40px;
	}

	/* Primera fila: 5 items, cada uno ocupa 2 columnas */
	.resource-item:nth-child(1) {
		grid-column: 1 / 3;
		grid-row: 1;
	}
	.resource-item:nth-child(2) {
		grid-column: 3 / 5;
		grid-row: 1;
	}
	.resource-item:nth-child(3) {
		grid-column: 5 / 7;
		grid-row: 1;
	}
	.resource-item:nth-child(4) {
		grid-column: 7 / 9;
		grid-row: 1;
	}
	.resource-item:nth-child(5) {
		grid-column: 9 / 11;
		grid-row: 1;
	}

	/* Segunda fila: 4 items centrados (offset de 1 columna) */
	.resource-item:nth-child(6) {
		grid-column: 2 / 4;
		grid-row: 2;
	}
	.resource-item:nth-child(7) {
		grid-column: 4 / 6;
		grid-row: 2;
	}
	.resource-item:nth-child(8) {
		grid-column: 6 / 8;
		grid-row: 2;
	}
	.resource-item:nth-child(9) {
		grid-column: 8 / 10;
		grid-row: 2;
	}

	/* Genesis Menu
	--------------------------------------------- */

	.genesis-nav-menu .menu-item {
		display: inline-block;
	}

	.genesis-nav-menu .menu-item:focus,
	.genesis-nav-menu .menu-item:hover {
		position: relative;
	}

	.genesis-nav-menu > .menu-bold > a {
		font-weight: 700;
	}

	.genesis-nav-menu > .menu-highlight > a {
		background-color: #333;
		border-radius: 3px;
		color: #fff;
		font-weight: 600;
		margin-left: 15px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.genesis-nav-menu > .menu-highlight > a:focus,
	.genesis-nav-menu > .menu-highlight > a:hover {
		background-color: var(--terciary-color);
	}

	.genesis-nav-menu .sub-menu,
	.genesis-nav-menu .sub-menu a {
		width: 180px;
	}

	.genesis-nav-menu .sub-menu {
		border-top: 1px solid #eee;
		padding-left: 0;
		position: absolute;
	}

	.genesis-nav-menu .sub-menu a {
		border: 1px solid #eee;
		border-top: 0;
		padding-bottom: 15px;
		padding-top: 15px;
	}

	.genesis-nav-menu .sub-menu .sub-menu {
		margin: -46px 0 0 179px;
	}

	/* Responsive Menu
	--------------------------------------------- */

	.js .nav-primary {
		display: block;
	}

	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}

	/* Header Menu
	--------------------------------------------- */

	.nav-primary {
		clear: none;
		float: none;
		width: auto;
		flex: 1;
		display: flex;
		justify-content: center;
		padding: 0;
	}

	/* Nav Primary - Desktop: restaurar posición normal */
	.nav-primary {
		position: static;
		display: block;
		box-shadow: none;
		background-color: transparent;
		padding-bottom: 0;
		padding-top: 0;
	}

	.nav-primary .genesis-nav-menu {
		display: flex;
		justify-content: center;
	}

	.nav-primary .genesis-nav-menu a {
		padding-left: 15px;
		padding-right: 15px;
	}

	/* Site-Inner
	--------------------------------------------- */

	.site-inner {
		max-width: var(--max-width-content);
	}

	/* Content
	--------------------------------------------- */

	.content {
		float: left;
		width: 65%;
	}

	.sidebar-content .content {
		float: right;
	}

	.full-width-content .content {
		float: none;
		margin-left: auto;
		margin-right: auto;
	}

	/* Sidebar
	--------------------------------------------- */

	.sidebar {
		float: right;
		width: 30%;
	}

	.sidebar-content .sidebar {
		float: left;
	}

	/* Author Box
	--------------------------------------------- */

	.author-box {
		background-color: #f5f5f5;
		padding: 30px;
	}

	/* After Entry
	--------------------------------------------- */

	.after-entry {
		padding: 40px 60px;
	}

	.after-entry .enews {
		padding-left: 30px;
		padding-right: 30px;
	}

	/* Column Classes
	--------------------------------------------- */

	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		float: left;
		margin-left: 2.564102564102564%;
	}

	.one-half,
	.three-sixths,
	.two-fourths {
		width: 48.717948717948715%;
	}

	.one-third,
	.two-sixths {
		width: 31.623931623931625%;
	}

	.four-sixths,
	.two-thirds {
		width: 65.81196581196582%;
	}

	.one-fourth {
		width: 23.076923076923077%;
	}

	.three-fourths {
		width: 74.35897435897436%;
	}

	.one-sixth {
		width: 14.52991452991453%;
	}

	.five-sixths {
		width: 82.90598290598291%;
	}

	.first {
		clear: both;
		margin-left: 0;
	}

	/* Entry Misc.
	--------------------------------------------- */

	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.entry,
	.entry-comments,
	.entry-pings {
		margin-bottom: 60px;
	}

	/* Footer Widgets
	--------------------------------------------- */

	.footer-widgets {
		padding: 80px 40px;
	}

	.footer-widgets .wrap {
		max-width: var(--max-width-content);
		display: flex;
		flex-wrap: nowrap;
		gap: 40px;
	}

	.footer-widget-area {
		flex: 1;
		min-width: 0;
		margin-bottom: 0;
		width: calc(100% / 4);
	}

	/* Custom Footer (responsive) */
	.custom-footer {
		padding: 80px 40px 0;
	}

	.footer-container {
		display: flex;
		flex-wrap: nowrap;
		gap: 40px;
	}

	.footer-column {
		flex: 1;
		min-width: 0;
		margin-bottom: 0;
		width: calc(100% / 4);
	}

	.footer-newsletter-input-group {
		flex-direction: row;
		align-items: stretch;
	}

	.footer-newsletter-input {
		flex: 1;
	}

	.footer-newsletter-button {
		width: auto !important;
		flex-shrink: 0;
		padding: 14px 32px !important;
	}

	/* Comments - Desktop
	--------------------------------------------- */

	.comment-respond,
	.entry-comments,
	.entry-pings {
		padding: 40px 50px;
		margin-bottom: 60px;
	}

	.comment-respond input[type="email"],
	.comment-respond input[type="text"],
	.comment-respond input[type="url"] {
		width: 48%;
		display: inline-block;
	}

	.comment-form-email {
		margin-right: 4%;
	}

	.form-submit .submit {
		font-size: 17px;
		padding: 14px 32px;
	}
}

/* Print Styles
---------------------------------------------------------------------------- */

@media print {
	*,
	*::before,
	*::after {
		background: transparent !important;
		box-shadow: none !important;
		color: #333 !important;
		text-shadow: none !important;
	}

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

	a[href]::after {
		content: " (" attr(href) ")";
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	a[href^="javascript:"]::after,
	a[href^="#"]::after,
	.site-title > a::after {
		content: "";
	}

	thead {
		display: table-header-group;
	}

	img,
	tr {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 2cm 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	blockquote,
	pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	.content,
	.content-sidebar {
		width: 100%;
	}

	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.header-widget-area,
	.hidden-print,
	.home-top,
	.nav-primary,
	.nav-secondary,
	.post-edit-link,
	.sidebar {
		display: none !important;
	}

	.title-area {
		text-align: center;
		width: 100%;
	}

	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}

	.site-inner {
		padding-top: 0;
		position: relative;
	}

	.author-box {
		margin-bottom: 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}

	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}

	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}

	dl,
	ol,
	ul {
		page-break-before: avoid;
	}
}

/* Protected Downloads - Subscription Popup
---------------------------------------------------------------------------- */

.hv-popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.85);
	backdrop-filter: blur(8px);
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	overflow-y: auto;
}

.hv-popup-container {
	position: relative;
	background: #fff;
	border-radius: 20px;
	max-width: 500px;
	width: 100%;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	animation: hvPopupSlideIn 0.3s ease-out;
}

@keyframes hvPopupSlideIn {
	from {
		opacity: 0;
		transform: translateY(-30px) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.hv-popup-close {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 40px !important;
	height: 40px !important;
	background: rgba(0, 0, 0, 0.05) !important;
	border: none !important;
	border-radius: 50%;
	cursor: pointer;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	z-index: 10;
	padding: 0 !important;
	min-width: 40px !important;
	min-height: 40px !important;
}

.hv-popup-close svg {
	width: 20px !important;
	height: 20px !important;
	stroke: #333 !important;
	transition: stroke 0.3s ease;
	display: block !important;
	fill: none !important;
}

.hv-popup-close:hover {
	background: rgba(0, 0, 0, 0.1) !important;
	transform: rotate(90deg);
}

.hv-popup-close:hover svg {
	stroke: var(--terciary-color) !important;
}

.hv-popup-content {
	padding: 50px 40px 40px;
}

.hv-popup-icon {
	width: 70px;
	height: 70px;
	margin: 0 auto 25px;
	background: linear-gradient(135deg, var(--terciary-color), #36b377);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 30px rgba(71, 207, 141, 0.3);
}

.hv-popup-icon svg {
	width: 35px !important;
	height: 35px !important;
	stroke: #fff !important;
	display: block !important;
	fill: none !important;
}

.hv-popup-title {
	font-family: "Montserrat", sans-serif;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	color: #1a1a1a;
	margin: 0 0 15px;
}

.hv-popup-description {
	text-align: center;
	color: #666;
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 30px;
}

.hv-subscription-form {
	margin: 0;
}

.hv-form-group {
	margin-bottom: 20px;
}

.hv-form-group label {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	margin-bottom: 8px;
}

.hv-form-group input[type="text"],
.hv-form-group input[type="email"] {
	width: 100%;
	padding: 14px 18px;
	border: 2px solid #e5e5e5;
	border-radius: 10px;
	font-size: 15px;
	font-family: "Roboto", sans-serif;
	transition: all 0.3s ease;
	background: #f9f9f9;
}

.hv-form-group input[type="text"]:focus,
.hv-form-group input[type="email"]:focus {
	border-color: var(--terciary-color);
	background: #fff;
	outline: none;
	box-shadow: 0 0 0 4px rgba(71, 207, 141, 0.1);
}

.hv-form-checkbox {
	margin-bottom: 25px;
}

.hv-form-checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 13px;
	color: #666;
	cursor: pointer;
}

.hv-form-checkbox input[type="checkbox"] {
	margin-top: 3px;
	width: 18px;
	height: 18px;
	cursor: pointer;
	flex-shrink: 0;
	accent-color: var(--terciary-color);
}

.hv-form-checkbox a {
	color: var(--terciary-color);
	font-weight: 600;
	text-decoration: none;
}

.hv-form-checkbox a:hover {
	text-decoration: none;
}

.hv-submit-btn {
	width: 100%;
	padding: 12px 28px;
	background: var(--terciary-color);
	border: none;
	border-radius: 10px;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 2px 8px rgba(71, 207, 141, 0.3);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.hv-submit-btn:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(71, 207, 141, 0.5);
}

.hv-submit-btn:active {
	transform: translateY(-2px);
}

.hv-submit-btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	transform: none;
}

.hv-btn-loader svg {
	width: 20px !important;
	height: 20px !important;
	stroke: #fff !important;
	animation: hvSpinner 1s linear infinite;
	display: block !important;
	fill: none !important;
}

@keyframes hvSpinner {
	to {
		transform: rotate(360deg);
	}
}

.hv-form-message {
	margin-top: 20px;
	padding: 15px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.hv-message-success {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.hv-message-error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.hv-popup-footer {
	text-align: center;
	font-size: 13px;
	color: #999;
	margin: 20px 0 0;
}

body.hv-popup-open {
	overflow: hidden;
}

/* Responsive */
@media only screen and (max-width: 600px) {
	.hv-popup-content {
		padding: 40px 25px 30px;
	}

	.hv-popup-title {
		font-size: 24px;
	}

	.hv-popup-description {
		font-size: 14px;
	}

	.hv-popup-icon {
		width: 60px;
		height: 60px;
	}

	.hv-popup-icon svg {
		width: 30px;
		height: 30px;
	}
}
