/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* ---- Contact Form 7 Custom Styles ---- */

/* Títulos de cada campo */
.wpcf7-form label {
  display: block;
  font-weight: 600;
  margin-bottom: 5px;
  color: #002b45;
}

/* Inputs y textarea */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #333;
  border-radius: 8px;
  font-size: 15px;
  margin-bottom: 15px;
  box-sizing: border-box;
}

/* Ajuste de dos columnas (Nombre y Apellido) */
.wpcf7-form .two-cols {
  display: flex;
  gap: 20px;
}

.wpcf7-form .two-cols .col {
  flex: 1;
}

/* Textarea */
.wpcf7-form textarea {
  min-height: 120px;
  resize: vertical;
}

/* Botón de enviar */
.wpcf7-form input[type="submit"] {
  background: #f9b800;
  color: #002b45;
  border: none;
  border-radius: 30px;
  padding: 12px 25px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 15px;
  cursor: pointer;
  display: block;
  margin: 20px auto 0;
  width: 100%;
  max-width: 300px;
  transition: all 0.3s ease;
}

.wpcf7-form input[type="submit"]:hover {
  background: #e0a600;
}

/* Mensajes de validación */
.wpcf7-not-valid-tip {
  color: #d00;
  font-size: 13px;
  margin-top: -10px;
  margin-bottom: 10px;
}

.wpcf7-response-output {
  margin-top: 20px;
  padding: 10px;
  border-radius: 8px;
}

.mobile-header,
.mobile-menu {
    display: none;
}

/* Responsive: en mobile, columnas en fila */
@media (max-width: 768px) {
  .wpcf7-form .two-cols {
    flex-direction: column;
  }

  .wpcf7-form .two-cols .col {
    width: 100%;
  }
    #kFbJ9yWg0k59_kFbJ9yWg0k59 {
        display: none !important;
    }

    .mobile-header {
        display: flex; /* visible solo en mobile */
    }

    .mobile-menu {
        display: none; /* oculto hasta que se abra */
    }

    .mobile-menu.open {
        display: flex; /* se abre en mobile */
    }
}

#kFbJ9yWg0k59_kFbJ9yWg0k59 {
    position: fixed;
    background-color: #fff;
    /* top: 12px; */
    left: 0;
    width: 100%;
    z-index: 9999;
    transition: transform 0.3s ease-in-out;
}

/* Estado oculto */
#kFbJ9yWg0k59_kFbJ9yWg0k59.hide {
    transform: translateY(-100%);
}
/* Botón hamburguesa fijo */
.mobile-menu-toggle {
    display: none;
    cursor: pointer;
    width: 30px;
    height: 25px;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1001;
    background: white;
    /*padding: 10px;*/
    border-radius: 5px;
}
.mobile-menu-toggle span {
    display: block;
    height: 3px;
    background: #133d59;
    margin: 5px 0;
    transition: 0.3s;
}
.mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}
.mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* Menú full screen */
.mobile-menu {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: #133d59; /* Fondo al abrir */
    z-index: 1000;
    padding: 80px 20px;
}
.mobile-menu.open {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.mobile-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}
.mobile-menu li {
    margin: 20px 0;
}
.mobile-menu a {
    font-size: 22px;
    text-decoration: none;
    color: white;
    transition: color 0.3s;
}
.mobile-menu a:hover {
    color: #f4c542; /* color destacado al pasar el mouse */
}

/* ===================== */
/* Cambios aplicados aquí */
/* ===================== */

/* Ocultar header mobile y menú en desktop */
.mobile-header,
.mobile-menu {
    display: none;
}

/* Mostrar solo en mobile */
@media (max-width: 768px) {
    .mobile-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: white;
        padding: 10px 20px;
        z-index: 1001;
    }

    .mobile-logo img {
        height: 40px;
        width: auto;
    }

    .mobile-menu-toggle {
        display: block;
        position: relative; /* Para que quede dentro del header */
        top: auto;
        right: auto;
        background: transparent;
        border-radius: 0;
    }

    /* Menú cuando abre */
    .mobile-menu.open {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background: #133d59;
        z-index: 1000;
        padding: 80px 20px;
    }
}

