@charset "UTF-8";
/**
 * Asesti Child Theme - Main Stylesheet
 *
 * @package Asesti_Child
 * @since 1.0.0
 * 
 * Colores del tema:
 * - Primary: #FF9B7A
 * - Secondary: #172D41
 * - Grey Light: #FAF9F3
 * - Grey Dark: #D4D3CE
 * 
 * Tipografías: Inter, DM Sans, DM Mono
 *
 * ==========================================================================
 * TABLE OF CONTENTS
 * ==========================================================================
 *
 * 1. SETTINGS
 *    1.1 CSS Variables - Desktop
 *    1.2 CSS Variables - Mobile
 *
 * 2. BASE
 *    2.1 Reset
 *    2.2 Typography
 *    2.3 Links
 *
 * 3. COMPONENTS
 *    3.1 Buttons - Primary
 *    3.2 Buttons - Secondary
 *    3.3 Buttons - Outline Dark
 *    3.4 Buttons - Outline White
 *    3.5 Buttons - WordPress Block Styles
 *    3.6 Buttons - Icons
 *    3.7 Display Text Gradient
 *
 * 4. FORMS
 *    4.1 Labels & Inputs
 *    4.2 Select
 *    4.3 Checkboxes & Radio Buttons
 *    4.4 Form Layouts
 *
 * 5. LAYOUT
 *    5.1 Header - Sticky (Home)
 *    5.2 Navigation
 *    5.3 Footer
 *
 * 6. WORDPRESS BLOCKS
 *    6.1 Social Links
 *    6.2 Images
 *    6.3 Post Template
 *    6.4 Categories List
 *    6.5 Blockquote
 *    6.6 Featured Image
 *
 * 7. CUSTOM COMPONENTS
 *    7.1 Banner Home
 *    7.2 Subtitles
 *    7.3 Icon Card
 *    7.4 Posts
 *    7.5 Meta
 *    7.6 Categories
 *    7.7 Breadcrumbs
 *    7.8 Map
 *    7.9 Load More Button
 *    7.10 Numbered List
 *
 * 8. PAGES
 *    8.1 Legal Pages
 *
 * 9. UTILITIES
 *    9.1 Background Colors
 *    9.2 Text Colors
 *    9.3 Font Families
 *
 * ==========================================================================
 */


/* ==========================================================================
   1. SETTINGS
   ========================================================================== */

/* --------------------------------------------------------------------------
   1.1 CSS Variables - Desktop
   -------------------------------------------------------------------------- */
:root {
  /* Colors */
  --mwm-color-primary: #FF9B7A;
  --mwm-color-secondary: #172D41;
  --mwm-color-grey-light: #FAF9F3;
  --mwm-color-grey-dark: #D4D3CE;
  --mwm-color-white: #FFFFFF;
  --mwm-color-black: #000000;

  /* Fonts */
  --mwm-font-primary: Inter, sans-serif;
  --mwm-font-secondary: DM Sans, sans-serif;
  --mwm-font-mono: DM Mono, monospace;

  /* Font Sizes */
  --mwm-font-size-label: 12px;
  --mwm-font-size-body: 16px;
  --mwm-font-size-h4: 24px;
  --mwm-font-size-h3: 32px;
  --mwm-font-size-h2: 40px;
  --mwm-font-size-h1: 48px;

  /* Line Heights */
  --mwm-line-height-label: 16px;
  --mwm-line-height-body: 24px;
  --mwm-line-height-h4: 32px;
  --mwm-line-height-h3: 40px;
  --mwm-line-height-h2: 48px;
  --mwm-line-height-h1: 56px;

  /* Transitions */
  --mwm-transition-timing: ease-out;
  --mwm-transition-duration: 300ms;
}

/* --------------------------------------------------------------------------
   1.2 CSS Variables - Mobile
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  :root {
    --mwm-font-size-h4: 24px;
    --mwm-font-size-h3: 28px;
    --mwm-font-size-h2: 32px;
    --mwm-font-size-h1: 36px;
    --mwm-line-height-h4: 32px;
    --mwm-line-height-h3: 36px;
    --mwm-line-height-h2: 40px;
    --mwm-line-height-h1: 44px;
  }
}


/* ==========================================================================
   2. BASE
   ========================================================================== */

/* --------------------------------------------------------------------------
   2.1 Reset
   -------------------------------------------------------------------------- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  scroll-behavior: smooth;
}

hr{
  width: 100%;
  height: 1px;
  background-color: var(--mwm-color-grey-dark);
  border: none;
}

/* --------------------------------------------------------------------------
   2.2 Typography
   -------------------------------------------------------------------------- */
h1,
.text-heading-h1 {
  color: var(--mwm-color-secondary);
  font-family: "Inter", sans-serif;
  font-size: var(--mwm-font-size-h1);
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: var(--mwm-line-height-h1);
}

h2,
.text-heading-h2 {
  color: var(--mwm-color-secondary);
  font-family: "Inter", sans-serif;
  font-size: var(--mwm-font-size-h2);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: var(--mwm-line-height-h2);
}

h3,
.text-heading-h3 {
  color: var(--mwm-color-secondary);
  font-family: "Inter", sans-serif;
  font-size: var(--mwm-font-size-h3);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: var(--mwm-line-height-h3);
}

h4, 
h5, 
h6,
.text-heading-small {
  color: var(--mwm-color-secondary);
  font-size: var(--mwm-font-size-h4);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: var(--mwm-line-height-h4);
}

/* --------------------------------------------------------------------------
   2.3 Links
   -------------------------------------------------------------------------- */
a {
  color: var(--mwm-color-primary);
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration) var(--mwm-transition-timing);
}

a:hover {
  color: var(--mwm-color-secondary);
  text-decoration: underline;
}


/* ==========================================================================
   3. COMPONENTS
   ========================================================================== */

/* --------------------------------------------------------------------------
   3.1 Buttons - Primary
   -------------------------------------------------------------------------- */
.mwm-btn-primary {
  align-items: center;
  background-color: var(--mwm-color-primary);
  border: 1px solid transparent;
  border-radius: 32px;
  color: var(--mwm-color-secondary);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mwm-font-mono);
  font-size: var(--mwm-font-size-body);
  font-weight: 400;
  gap: 16px;
  justify-content: center;
  line-height: 24px;
  padding: 16px 24px;
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration), 
    gap var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.mwm-btn-primary:focus {
  outline: 2px solid var(--mwm-color-primary);
  outline-offset: 2px;
}

.mwm-btn-primary:hover {
  background-color: transparent;
  border-color: var(--mwm-color-primary);
  color: var(--mwm-color-white);
  text-decoration: none;
}

/* --------------------------------------------------------------------------
   3.2 Buttons - Secondary
   -------------------------------------------------------------------------- */
.mwm-btn-secondary,
input[type="button"],
input[type="submit"] {
  align-items: center;
  background-color: var(--mwm-color-secondary);
  border: 1px solid var(--mwm-color-secondary);
  border-radius: 32px;
  color: var(--mwm-color-white);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mwm-font-mono);
  font-size: var(--mwm-font-size-body);
  font-weight: 400;
  gap: 16px;
  justify-content: center;
  line-height: 24px;
  padding: 16px 24px;
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration), 
    gap var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.mwm-btn-secondary:focus,
input[type="button"]:focus,
input[type="submit"]:focus {
  outline: 2px solid var(--mwm-color-primary);
  outline-offset: 2px;
}

.mwm-btn-secondary:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  background-color: var(--mwm-color-primary);
  border-color: var(--mwm-color-secondary);
  color: var(--mwm-color-secondary);
  text-decoration: none;
}

/* --------------------------------------------------------------------------
   3.3 Buttons - Outline Dark
   -------------------------------------------------------------------------- */
.mwm-btn-outline-dark {
  align-items: center;
  background-color: transparent;
  border: 1px solid var(--mwm-color-secondary);
  border-radius: 32px;
  color: var(--mwm-color-secondary);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mwm-font-mono);
  font-size: var(--mwm-font-size-body);
  font-weight: 400;
  gap: 16px;
  justify-content: center;
  line-height: 24px;
  padding: 16px 24px;
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration), 
    gap var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.mwm-btn-outline-dark:focus {
  outline: 2px solid var(--mwm-color-primary);
  outline-offset: 2px;
}

.mwm-btn-outline-dark:hover {
  border-color: var(--mwm-color-primary);
  color: var(--mwm-color-primary);
}

/* --------------------------------------------------------------------------
   3.4 Buttons - Outline White
   -------------------------------------------------------------------------- */
.mwm-btn-outline-white {
  align-items: center;
  background-color: transparent;
  border: 1px solid var(--mwm-color-white);
  border-radius: 32px;
  color: var(--mwm-color-white);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mwm-font-mono);
  font-size: var(--mwm-font-size-body);
  font-weight: 400;
  gap: 16px;
  justify-content: center;
  line-height: 24px;
  padding: 16px 24px;
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration), 
    gap var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.mwm-btn-outline-white:focus {
  outline: 2px solid var(--mwm-color-primary);
  outline-offset: 2px;
}

.mwm-btn-outline-white:hover {
  border-color: var(--mwm-color-primary);
  color: var(--mwm-color-primary);
}

/* --------------------------------------------------------------------------
   3.5 Buttons - WordPress Block Styles
   -------------------------------------------------------------------------- */

/* Primary Style */
.wp-block-button.is-style-mwm-primary .wp-block-button__link {
  align-items: center;
  background-color: var(--mwm-color-primary);
  border: 1px solid transparent;
  border-radius: 32px;
  color: var(--mwm-color-secondary);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mwm-font-mono);
  font-size: var(--mwm-font-size-body);
  font-weight: 400;
  gap: 16px;
  justify-content: center;
  line-height: 24px;
  padding: 16px 24px;
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration), 
    gap var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.wp-block-button.is-style-mwm-primary .wp-block-button__link:focus {
  outline: 2px solid var(--mwm-color-primary);
  outline-offset: 2px;
}

.wp-block-button.is-style-mwm-primary .wp-block-button__link:hover {
  background-color: transparent;
  border-color: var(--mwm-color-primary);
  color: var(--mwm-color-white);
  gap: 24px;
  text-decoration: none;
}

/* Secondary Style */
.wp-block-button.is-style-mwm-secondary .wp-block-button__link {
  align-items: center;
  background-color: var(--mwm-color-secondary);
  border: 1px solid var(--mwm-color-primary);
  border-radius: 32px;
  color: var(--mwm-color-white);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mwm-font-mono);
  font-size: var(--mwm-font-size-body);
  font-weight: 400;
  gap: 16px;
  justify-content: center;
  line-height: 24px;
  padding: 16px 24px;
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration), 
    gap var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.wp-block-button.is-style-mwm-secondary .wp-block-button__link:focus {
  outline: 2px solid var(--mwm-color-primary);
  outline-offset: 2px;
}

.wp-block-button.is-style-mwm-secondary .wp-block-button__link:hover {
  background-color: var(--mwm-color-primary);
  border-color: var(--mwm-color-secondary);
  color: var(--mwm-color-secondary);
  gap: 24px;
}

/* Outline Dark Style */
.wp-block-button.is-style-mwm-outline-dark .wp-block-button__link {
  align-items: center;
  background-color: transparent;
  border: 1px solid var(--mwm-color-secondary);
  border-radius: 32px;
  color: var(--mwm-color-secondary);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mwm-font-mono);
  font-size: var(--mwm-font-size-body);
  font-weight: 400;
  gap: 16px;
  justify-content: center;
  line-height: 24px;
  padding: 16px 24px;
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration), 
    gap var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.wp-block-button.is-style-mwm-outline-dark .wp-block-button__link:focus {
  outline: 2px solid var(--mwm-color-primary);
  outline-offset: 2px;
}

.wp-block-button.is-style-mwm-outline-dark .wp-block-button__link:hover {
  border-color: var(--mwm-color-primary);
  color: var(--mwm-color-primary);
  gap: 24px;
}

/* Outline White Style */
.wp-block-button.is-style-mwm-outline-white .wp-block-button__link {
  align-items: center;
  background-color: transparent;
  border: 1px solid var(--mwm-color-white);
  border-radius: 32px;
  color: var(--mwm-color-white);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mwm-font-mono);
  font-size: var(--mwm-font-size-body);
  font-weight: 400;
  gap: 16px;
  justify-content: center;
  line-height: 24px;
  padding: 16px 24px;
  text-decoration: none;
  transition: 
    background-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    border-color var(--mwm-transition-duration) var(--mwm-transition-timing), 
    transform var(--mwm-transition-duration), 
    gap var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.wp-block-button.is-style-mwm-outline-white .wp-block-button__link:focus {
  outline: 2px solid var(--mwm-color-primary);
  outline-offset: 2px;
}

.wp-block-button.is-style-mwm-outline-white .wp-block-button__link:hover {
  border-color: var(--mwm-color-primary);
  color: var(--mwm-color-primary);
  gap: 24px;
}

/* --------------------------------------------------------------------------
   3.6 Buttons - Icons
   -------------------------------------------------------------------------- */
.mwm-btn-has-icon {
  align-items: center;
  display: inline-flex;
  gap: 16px;
}

.mwm-btn-icon {
  align-items: center;
  display: inline-flex;
  flex-shrink: 0;
  justify-content: center;
}

.mwm-btn-icon svg {
  display: block;
  height: 20px;
  width: 20px;
}

/* Icon Position */
.mwm-btn-icon-position--left .mwm-btn-icon {
  order: -1;
}

.mwm-btn-icon-position--right .mwm-btn-icon {
  order: 1;
}

/* Icon Rotation */
.mwm-btn-icon-rotate--90 .mwm-btn-icon,
.mwm-btn-icon.mwm-btn-icon-rotate--90 {
  transform: rotate(90deg);
}

.mwm-btn-icon-rotate--180 .mwm-btn-icon,
.mwm-btn-icon.mwm-btn-icon-rotate--180 {
  transform: rotate(180deg);
}

.mwm-btn-icon-rotate--270 .mwm-btn-icon,
.mwm-btn-icon.mwm-btn-icon-rotate--270 {
  transform: rotate(270deg);
}

/* --------------------------------------------------------------------------
   3.7 Display Text Gradient
   -------------------------------------------------------------------------- */
.mwm-text-display-gradient {
  background: linear-gradient(90deg, var(--mwm-color-secondary) 0%, var(--mwm-color-primary) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: var(--mwm-font-mono);
  font-size: clamp(40px, 25vw, 360px);
  font-weight: 500;
  letter-spacing: 0.5rem;
  line-height: 1;
  -webkit-text-fill-color: transparent;
}

.mwm-text-display-gradient-2 {
  background: linear-gradient(90deg, var(--mwm-color-secondary) 0%, var(--mwm-color-primary) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: var(--mwm-font-mono);
  font-size: clamp(40px, 10.56vw, 152px);
  font-weight: 500;
  letter-spacing: 0.5rem;
  line-height: 1;
  -webkit-text-fill-color: transparent;
}


/* ==========================================================================
   4. FORMS
   ========================================================================== */

/* --------------------------------------------------------------------------
   4.1 Labels & Inputs
   -------------------------------------------------------------------------- */
label {
  color: #707070;
  display: inline-block;
  font-size: 12px;
  margin-bottom: 8px;
}

input:not([type=checkbox], [type=radio]),
textarea,
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea,
select {
  background: transparent;
  border: 1px solid #707070;
  border-radius: 2rem;
  color: #707070;
  display: block;
  font-family: var(--mwm-font-mono);
  padding: 1rem 1.5rem;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
  width: 100%;
}

textarea {
  border-radius: 1rem;
}

/* Hover State */
input[type=text]:hover,
input[type=email]:hover,
input[type=url]:hover,
input[type=password]:hover,
input[type=search]:hover,
input[type=number]:hover,
input[type=tel]:hover,
input[type=range]:hover,
input[type=date]:hover,
input[type=month]:hover,
input[type=week]:hover,
input[type=time]:hover,
input[type=datetime]:hover,
input[type=datetime-local]:hover,
input[type=color]:hover,
textarea:hover,
select:hover {
  border-color: var(--mwm-color-primary);
  box-shadow: 0px 0px 0px 3px #F8AD76;
}

/* Focus State */
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus,
select:focus {
  border-color: var(--mwm-color-secondary);
  border-width: 0.0625rem;
  box-shadow: none;
}

/* --------------------------------------------------------------------------
   4.2 Select
   -------------------------------------------------------------------------- */
select {
  appearance: none;
  background-clip: border-box;
  -moz-background-clip: border-box;
  -webkit-background-clip: border-box;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%239a9a9a' d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'%3E%3C/path%3E%3C/svg%3E");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 2em 1em;
  border-color: #707070;
  border-radius: 0;
  color: #707070;
  max-width: 100%;
  padding: 1rem 1.25em 1rem 1rem;
  position: relative;
}

select:focus {
  border-radius: none;
}

/* --------------------------------------------------------------------------
   4.3 Checkboxes & Radio Buttons
   -------------------------------------------------------------------------- */
input[type=radio],
input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: 1px solid #707070;
  border-radius: 50%;
  cursor: pointer;
  height: 1.5rem;
  margin-right: 0.5rem;
  position: relative;
  vertical-align: middle;
  width: 1.5rem;
}

input[type=radio]:checked::after,
input[type=checkbox]:checked::after {
  background: var(--mwm-color-primary);
  border-radius: 50%;
  content: "";
  display: block;
  height: 1rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
}

input[type=radio]:focus,
input[type=checkbox]:focus {
  box-shadow: 0px 0px 0px 3px var(--mwm-color-primary);
}

input[type=checkbox] {
  border-radius: 0;
}

input[type=checkbox]:checked::after {
  border-radius: 0;
}

.group-content,
.wpcf7-acceptance label {
  color: var(--mwm-color-secondary);
  font-size: 14px;
}

/* --------------------------------------------------------------------------
   4.4 Form Layouts
   -------------------------------------------------------------------------- */

/* Grid Layout */
.row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.row .column {
  flex: 1;
  min-width: 200px;
}

.column-mediana {
  flex: 1;
}

.column-big {
  flex: 2;
}

.row-final {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

@media (max-width: 768px) {
  .row,
  .row-end {
    align-items: stretch;
    flex-direction: column;
  }

  .row-end .boton-envio {
    margin-top: 15px;
    text-align: right;
  }
}

/* Form: Contact Page */
.form-page-contact {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.form-page-contact .btn-form input[type="submit"] {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8L10.8906 13.2604C11.5624 13.7083 12.4376 13.7083 13.1094 13.2604L21 8M5 19H19C20.1046 19 21 18.1046 21 17V7C21 5.89543 20.1046 5 19 5H5C3.89543 5 3 5.89543 3 7V17C3 18.1046 3.89543 19 5 19Z' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  padding-right: 48px;
  position: relative;
}

.form-page-contact .btn-form input[type="submit"]:hover {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8L10.8906 13.2604C11.5624 13.7083 12.4376 13.7083 13.1094 13.2604L21 8M5 19H19C20.1046 19 21 18.1046 21 17V7C21 5.89543 20.1046 5 19 5H5C3.89543 5 3 5.89543 3 7V17C3 18.1046 3.89543 19 5 19Z' stroke='%23172D41' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Form: Subscribe */
.form-suscrip {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 440px;
  margin-left: auto;
}

.form-suscrip .content-priv {
  margin-bottom: 1rem;
  text-align: end;
}

.form-suscrip .content-priv * {
  color: var(--mwm-color-secondary);
}

.form-suscrip .content-priv a {
  text-decoration: underline;
}

.form-suscrip .btn-submit {
  text-align: right;
}

.form-suscrip .btn-submit input[type="submit"] {
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.32857 0.500529H13.2281M13.2281 0.500529V10.4M13.2281 0.500529L0.500146 13.2285' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  padding-right: 40px;
  text-align: right;
}

.form-suscrip .btn-submit input[type="submit"]:hover {
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.32857 0.500529H13.2281M13.2281 0.500529V10.4M13.2281 0.500529L0.500146 13.2285' stroke='%23172D41' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.form-suscrip .btn-submit .wpcf7-spinner {
  bottom: -35px;
  position: absolute;
  right: 0;
}

@media (max-width: 768px) {

  .form-suscrip{
    max-width: unset;
    margin-left: 0;
  }

  .form-suscrip .content-priv {
    text-align: start;
  }

  .form-suscrip .btn-submit {
    text-align: start;
  }

  .flex-reverser{
    flex-direction: column-reverse;
  }
}

/* Form: Partner */
.form-partner {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.form-partner .row {
  width: 100%;
}

.form-partner .row-end {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.form-partner .row-end .btn-submit input[type="submit"] {
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.32857 0.500529H13.2281M13.2281 0.500529V10.4M13.2281 0.500529L0.500146 13.2285' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  padding-right: 40px;
}

.form-partner .row-end .btn-submit input[type="submit"]:hover {
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.32857 0.500529H13.2281M13.2281 0.500529V10.4M13.2281 0.500529L0.500146 13.2285' stroke='%23172D41' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.form-partner .row-end .btn-submit .wpcf7-spinner {
  bottom: 0;
  position: absolute;
  right: 0;
}


/* ==========================================================================
   5. LAYOUT
   ========================================================================== */
.mwm-img-text-home .has-global-padding{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* --------------------------------------------------------------------------
   5.1.1 Header - Sticky (Pages)
   -------------------------------------------------------------------------- */
.page .wp-site-blocks > header {
  position: sticky;
  top: 0;
  transition: background-color var(--mwm-transition-duration) var(--mwm-transition-timing),
              box-shadow var(--mwm-transition-duration) var(--mwm-transition-timing);
  z-index: 1000;
}

.page .wp-site-blocks > header.header-scrolled {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Admin Bar Compensation (Pages) */
.page.admin-bar .wp-site-blocks > header {
  top: 32px;
}

@media (max-width: 782px) {
  .page.admin-bar .wp-site-blocks > header {
    top: 46px;
  }
}

@media (max-width: 782px) {
  .home.admin-bar .wp-site-blocks > header {
    top: 46px;
  }
}

/* --------------------------------------------------------------------------
   5.1 Header - Sticky (Home)
   -------------------------------------------------------------------------- */
   .home .wp-site-blocks > header {
    background-color: transparent;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: background-color var(--mwm-transition-duration) var(--mwm-transition-timing);
    z-index: 1000;
  }
  
  .home .wp-site-blocks > header.header-scrolled {
    background-color: var(--mwm-color-secondary);
  }
  
  /* Admin Bar Compensation */
  .home.admin-bar .wp-site-blocks > header {
    top: 32px;
  }
  

/* Main Content Offset (Home) */
.home .wp-site-blocks > main {
  margin-top: calc(-1 * var(--wp--preset--spacing--80, 80px));
}

/* --------------------------------------------------------------------------
   5.2 Navigation
   -------------------------------------------------------------------------- */
@media (min-width: 600px) and (max-width: 1200px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: block;
  }

  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
    position: fixed;
  }
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--mwm-color-secondary);
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
  color: var(--mwm-color-white);
}

nav.wp-block-navigation li.wp-block-navigation-link{
  transition: color var(--mwm-transition-duration) var(--mwm-transition-timing);
}

nav.wp-block-navigation li.wp-block-navigation-link:hover{
  color: var(--mwm-color-primary);
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   5.3 Footer
   -------------------------------------------------------------------------- */
footer {
  margin: 0;
}


/* ==========================================================================
   6. WORDPRESS BLOCKS
   ========================================================================== */

/* --------------------------------------------------------------------------
   6.1 Social Links
   -------------------------------------------------------------------------- */
.wp-block-social-links .wp-block-social-link {
  background-color: transparent !important;
  color: var(--mwm-color-secondary);
}

.wp-block-social-links .wp-block-social-link:hover {
  color: var(--mwm-color-primary) !important;
}

/* --------------------------------------------------------------------------
   6.2 Images
   -------------------------------------------------------------------------- */
.wp-block-image.size-full > img {
  width: 100% !important;
}

/* --------------------------------------------------------------------------
   6.3 Post Template
   -------------------------------------------------------------------------- */z
.wp-block-post-template {
  transition: opacity 0.3s ease-out;
}

.wp-block-post-excerpt__more-text {
  margin-top: 44px;
}

.wp-block-post-title:focus{
  outline: none;
}

.wp-block-post-excerpt__more-link {
  align-items: center;
  display: inline-flex;
  font-weight: 500;
  gap: 8px;
}

.wp-block-post-excerpt__more-link::after {
  background-color: currentColor;
  content: "";
  display: inline-block;
  height: 15px;
  mask-image: url("data:image/svg+xml,%3Csvg width='19' height='15' viewBox='0 0 19 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 0.5L18.5 7.5M18.5 7.5L11.5 14.5M18.5 7.5L0.5 7.5' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='19' height='15' viewBox='0 0 19 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 0.5L18.5 7.5M18.5 7.5L11.5 14.5M18.5 7.5L0.5 7.5' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: 19px;
}

/* --------------------------------------------------------------------------
   6.4 Categories List
   -------------------------------------------------------------------------- */
.wp-block-categories-list li a {
  align-items: center;
  display: inline-flex;
  gap: 14px;
}

.wp-block-categories-list li a::before {
  background-color: currentColor;
  content: "";
  display: inline-block;
  height: 15px;
  mask-image: url("data:image/svg+xml,%3Csvg width='19' height='15' viewBox='0 0 19 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 0.5L18.5 7.5M18.5 7.5L11.5 14.5M18.5 7.5L0.5 7.5' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='19' height='15' viewBox='0 0 19 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 0.5L18.5 7.5M18.5 7.5L11.5 14.5M18.5 7.5L0.5 7.5' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: 19px;
}

/* --------------------------------------------------------------------------
   6.5 Blockquote
   -------------------------------------------------------------------------- */
blockquote {
  border: none !important;
}

blockquote * {
  color: var(--mwm-color-secondary);
  font-size: var(--mwm-font-size-h4) !important;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: var(--mwm-line-height-h4) !important;
}

/* --------------------------------------------------------------------------
   6.6 Featured Image
   -------------------------------------------------------------------------- */
.wp-block-post-featured-image {
  margin-bottom: var(--wp--preset--spacing--40, 2rem);
}

.wp-block-post-featured-image img {
  border-radius: 8px;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.wp-block-post-featured-image .featured-image-caption {
  color: var(--mwm-color-secondary);
  font-family: var(--mwm-font-mono);
  font-size: 12px;
  line-height: 16px;
  margin-top: 24px;
  opacity: 0.8;
  text-align: left;
}


/* ==========================================================================
   7. CUSTOM COMPONENTS
   ========================================================================== */

/* --------------------------------------------------------------------------
   7.1 Banner Home
   -------------------------------------------------------------------------- */
.mwm-banner-home {
  overflow: hidden;
  position: relative;
}

.mwm-banner-home::before {
  background: linear-gradient(180deg, rgba(23, 45, 65, 0) 0%, #172D41 100%);
  bottom: 0;
  content: '';
  height: 48.59vh;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.mwm-banner-home__content {
  position: relative;
  z-index: 2;
}

/* --------------------------------------------------------------------------
   7.2 Subtitles
   -------------------------------------------------------------------------- */
.mwm-subtitle,
.mwm-subtitle-two,
.mwm-subtitle-three {
  background-color: var(--mwm-color-secondary) !important;
  color: var(--mwm-color-primary) !important;
  font-family: var(--mwm-font-mono);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 16px;
  padding: 2px 8px !important;
  text-transform: uppercase;
  width: fit-content !important;
}

.mwm-subtitle-two {
  background-color: var(--mwm-color-white) !important;
  color: var(--mwm-color-primary) !important;
}

.mwm-subtitle-three {
  background-color: var(--mwm-color-primary) !important;
  color: var(--mwm-color-secondary) !important;
}

/* --------------------------------------------------------------------------
   7.3 Icon Card
   -------------------------------------------------------------------------- */
.mwm-icon-card {
  border-radius: 100%;
  width: fit-content;
}

/* --------------------------------------------------------------------------
   7.4 Posts
   -------------------------------------------------------------------------- */
.mwm-post {
  cursor: pointer;
  opacity: 1;
  overflow: hidden;
  transition: all 0.3s ease-out;
}

.mwm-post .mwm-post-img {
  aspect-ratio: 1.28;
  height: 100%;
  width: 100%;
}

.mwm-post .mwm-post-img img {
  border-radius: 0px;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.mwm-post:hover {
  opacity: 0.8;
}

.mwm-post:hover * {
  color: var(--mwm-color-primary);
  text-decoration: none;
}

.width-fit-content{
  width: fit-content;
}

/* --------------------------------------------------------------------------
   7.5 Meta
   -------------------------------------------------------------------------- */
.mwm-meta {
  flex-wrap: wrap;
  padding-left: 1rem;
  position: relative;
}

.mwm-meta::before {
  background-color: var(--mwm-color-primary);
  content: '';
  height: 24px;
  left: 0;
  position: absolute;
  top: 0;
  width: 4px;
}

/* --------------------------------------------------------------------------
   7.6 Categories
   -------------------------------------------------------------------------- */
.mwm-categorie-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mwm-categorie-list li {
  padding: 1rem 0;
  position: relative;
}

.mwm-categorie-list li::before {
  background-color: #D3D2D6;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.mwm-categorie-list a {
  color: var(--mwm-color-secondary);
}

.mwm-categorie-list a:hover {
  color: var(--mwm-color-primary);
}

/* --------------------------------------------------------------------------
   7.7 Breadcrumbs
   -------------------------------------------------------------------------- */
.breadcrumbs {
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.breadcrumbs .breadcrumbs__item {
  font-size: var(--wp--preset--font-size--small, 14px);
  margin: 0;
}

.breadcrumbs .breadcrumbs__item a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.breadcrumbs .breadcrumbs__item a:hover {
  opacity: 0.7;
}

.breadcrumbs .breadcrumbs__current {
  font-weight: 500;
}

.breadcrumbs .breadcrumbs__separator {
  align-items: center;
  display: flex;
  margin: 0;
}

.breadcrumbs .breadcrumbs__separator svg {
  height: 15px;
  width: 19px;
}

/* --------------------------------------------------------------------------
   7.8 Map
   -------------------------------------------------------------------------- */
.mwm-map {
  height: 558px;
}

.mwm-map iframe {
  border: 0;
  filter: grayscale(100%) invert(5%) contrast(110%);
  height: 100%;
  transition: filter 0.5s ease;
  width: 100%;
}

.mwm-map:hover iframe {
  filter: grayscale(0%);
}

/* --------------------------------------------------------------------------
   7.9 Load More Button
   -------------------------------------------------------------------------- */
.load-more-posts-btn .wp-block-button__link {
  cursor: pointer;
}

.load-more-posts-btn .mwm-btn-icon {
  transition: transform var(--mwm-transition-duration) var(--mwm-transition-timing);
}

.load-more-posts-btn.is-expanded .mwm-btn-icon {
  transform: rotate(180deg);
}

.load-more-posts-btn .wp-block-button__link.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   7.10 Numbered List
   -------------------------------------------------------------------------- */
.mwm-list-number {
  counter-reset: list-counter;
}

.mwm-list-number .mwm-list-item {
  align-items: center !important;
  border-bottom: 1px solid var(--mwm-color-white);
  counter-increment: list-counter;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
  justify-content: space-between !important;
  padding: 24px 0;
  position: relative;
  width: 100%;
}

.mwm-list-number .mwm-list-item:last-child {
  border-bottom: none;
}

.mwm-list-number .mwm-list-item::before {
  align-items: center;
  background-color: var(--mwm-color-secondary);
  border-radius: 50%;
  color: var(--mwm-color-white);
  content: counter(list-counter);
  display: flex;
  flex-shrink: 0;
  font-family: var(--mwm-font-mono);
  font-size: 24px;
  font-weight: 500;
  height: 56px;
  justify-content: center;
  line-height: 1;
  min-width: 56px;
  width: 56px;
}

.mwm-list-number .mwm-list-item > * {
  max-width: 720px;
  width: 100%;
}

/* Variant: Primary Color */
.mwm-list-number.mwm-list-number-primary .mwm-list-item::before {
  background-color: var(--mwm-color-primary);
  color: var(--mwm-color-secondary);
}

/* Variant: Small Size */
.mwm-list-number.mwm-list-number-small .mwm-list-item::before {
  font-size: 18px;
  height: 40px;
  min-width: 40px;
  width: 40px;
}

/* Variant: Large Size */
.mwm-list-number.mwm-list-number-large .mwm-list-item::before {
  font-size: 32px;
  height: 72px;
  min-width: 72px;
  width: 72px;
}

@media (max-width: 768px) {
  .mwm-list-number .mwm-list-item {
    gap: 16px !important;
    padding: 16px 0;
  }

  .mwm-list-number .mwm-list-item::before {
    font-size: 20px;
    height: 48px;
    min-width: 48px;
    width: 48px;
  }
}


/* ==========================================================================
   8. PAGES
   ========================================================================== */

/* --------------------------------------------------------------------------
   8.1 Legal Pages
   -------------------------------------------------------------------------- */
.page-template-plantilla-p-ginas-legales * {
  font-family: var(--mwm-font-mono);
}


/* ==========================================================================
   9. UTILITIES
   ========================================================================== */

/* --------------------------------------------------------------------------
   9.1 Background Colors
   -------------------------------------------------------------------------- */
.bg-primary {
  background-color: var(--mwm-color-primary) !important;
}

.bg-secondary {
  background-color: var(--mwm-color-secondary) !important;
}

.bg-grey-light {
  background-color: var(--mwm-color-grey-light) !important;
}

.bg-grey-dark {
  background-color: var(--mwm-color-grey-dark) !important;
}

.bg-white {
  background-color: var(--mwm-color-white) !important;
}

.bg-black {
  background-color: var(--mwm-color-black) !important;
}

/* --------------------------------------------------------------------------
   9.2 Text Colors
   -------------------------------------------------------------------------- */
.text-primary {
  color: var(--mwm-color-primary) !important;
}

.text-secondary {
  color: var(--mwm-color-secondary) !important;
}

.text-grey-light {
  color: var(--mwm-color-grey-light) !important;
}

.text-grey-dark {
  color: var(--mwm-color-grey-dark) !important;
}

.text-white {
  color: var(--mwm-color-white) !important;
}

.text-black {
  color: var(--mwm-color-black) !important;
}

/* --------------------------------------------------------------------------
   9.3 Font Families
   -------------------------------------------------------------------------- */
.font-primary,
.font-inter {
  font-family: "Inter", sans-serif !important;
}

.font-secondary,
.font-dm-sans {
  font-family: "DM Sans", sans-serif !important;
}

.font-mono,
.font-dm-mono {
  font-family: "DM Mono", monospace !important;
}

/* --------------------------------------------------------------------------
   10. PATTERNS - Asymmetric Image-Text Layout
   -------------------------------------------------------------------------- */

/* Patrón imagen-texto con texto alineado al container */
.mwm-img-text-offset .wp-block-media-text__content {
  padding-left: calc((100vw - 1104px) / 2);
  padding-right: var(--wp--preset--spacing--60, 48px);
}

/* Para pantallas menores a 1104px + padding */
@media (max-width: 1200px) {
  .mwm-img-text-offset .wp-block-media-text__content {
    padding-left: var(--wp--preset--spacing--50, 24px);
    padding-right: var(--wp--preset--spacing--50, 24px);
  }
}

/* Versión con imagen a la derecha */
.mwm-img-text-offset.has-media-on-the-right .wp-block-media-text__content {
  padding-left: calc((100vw - 1104px) / 2);
  padding-right: var(--wp--preset--spacing--60, 48px);
}

@media (max-width: 1150px) {
  .mwm-img-text-offset.has-media-on-the-right .wp-block-media-text__content {
    padding-left: var(--wp--preset--spacing--50, 24px);
    padding-right: var(--wp--preset--spacing--60, 24px);
  }
}

@media (max-width: 768px) {
  .mwm-img-text-offset.has-media-on-the-right .wp-block-media-text__content > .wp-block-group{
    padding-right: 0 !important;
  }
}

/* Versión con imagen a la izquierda */
.mwm-img-text-offset:not(.has-media-on-the-right) .wp-block-media-text__content {
  padding-right: calc((100vw - 1104px) / 2);
  padding-left: var(--wp--preset--spacing--60, 48px);
}
