/* ========================================
   ROOT VARIABLES
   ======================================== */
:root {
    --black: #000000;
    --light: #F0F6F6;
    --white: #FFFFFF;
    --primary: #023E3F;
    --secondary: #025859;
    --input: #666;
    --accent-1: #BD0514;
    --accent-2: #29F34A;
    --font-primary: "Brozeri";
    
    /* Spacing */
    --border-radius-sm: 0.375rem;
    --border-radius-md: 0.5rem;
    --border-radius-lg: 1rem;
    --border-radius-xl: 1.5rem;
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2rem;
    --spacing-xl: 2.5rem;
    
    /* Transitions */
    --transition-base: all 0.3s ease;
    --shadow-sm: 0 0 8px 0 rgba(12, 233, 137, 0.15);
    --shadow-md: 0 0 12px 0 rgba(0, 0, 0, 0.15);
}
/* montserrat-latin-400-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(https://cdn.jsdelivr.net/fontsource/fonts/montserrat@latest/latin-400-normal.woff2) format('woff2'),
       url(https://cdn.jsdelivr.net/fontsource/fonts/montserrat@latest/latin-400-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* montserrat-latin-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(https://cdn.jsdelivr.net/fontsource/fonts/montserrat@latest/latin-600-normal.woff2) format('woff2'),
       url(https://cdn.jsdelivr.net/fontsource/fonts/montserrat@latest/latin-600-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* montserrat-latin-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(https://cdn.jsdelivr.net/fontsource/fonts/montserrat@latest/latin-700-normal.woff2) format('woff2'),
       url(https://cdn.jsdelivr.net/fontsource/fonts/montserrat@latest/latin-700-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ========================================
   RESETS & UTILITIES
   ======================================== */
.img-fluid {
    width: 100%;
}

.noPadding {
    padding: 0;
}

.row {
    padding: 0 !important;
    margin: 0 !important;
}

.row.no-gutters>[class^='col-'],
.row.no-gutters>[class*='col-'] {
    padding-right: 0;
    padding-left: 0;
}

::selection {
    background-color: var(--white);
    color: var(--primary);
}

::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 10px;
    transition: var(--transition-base);
}

/* ========================================
   BASE ELEMENTS
   ======================================== */
html, body {
    position: relative;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: var(--black);
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--primary);
    overflow-x: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    contain: layout style paint;
    content-visibility: auto;
    contain-intrinsic-size: 100vh 100vw;
}

body * {
    font-family: "Montserrat", sans-serif;
    position: relative;
    z-index: 1;
}

body,
input,
textarea,
select {
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ========================================
   TYPOGRAPHY
   ======================================== */
h1, h2, h3, h4, h5, h6 {
    font-display: swap;
    font-family: "Montserrat", sans-serif;;
    color: var(--light);
}

h1, .h1 {
    font-size: clamp(2.65rem, 2.1667rem + 1.0069vw, 3.375rem);
    font-weight: 800;
}

h2, .h2 {
    font-size: clamp(2rem, 1.8333rem + 0.3472vw, 2.25rem);
    font-weight: 700;
}

h3, .h3 {
    font-size: clamp(1.5rem, 1.375rem + 0.2604vw, 1.6875rem);
    font-weight: 600;
}

p, li, label {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(1rem, 0.9167rem + 0.1736vw, 1.125rem);
    color: var(--light);
}

.small {
    font-size: 0.85em;
    text-align: center;
}

.title {
    font-family: var(--font-primary), sans-serif;
    font-size: clamp(3.25rem, 1.0499rem + 3.5522vw, 5.3125rem);
}

a {
    color: var(--white);
    text-decoration: underline;
    transition: var(--transition-base);
}

a:hover,
a:active,
a:focus {
    color: var(--white);
}

/* ========================================
   BUTTONS
   ======================================== */
.button {
    font-size: clamp(1rem, 0.9167rem + 0.1736vw, 1.125rem);
    font-weight: 700;
    color: var(--black);
    text-decoration: none;
    text-transform: none;
    padding: 0.675rem 1.85rem;
    background-color: var(--accent-2);
    border: 1px solid var(--accent-2);
    outline: none;
    border-radius: var(--border-radius-lg);
    transition: var(--transition-base);
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0);
}

.button:hover, .button:focus, .button:active {
    box-shadow: var(--shadow-md);
}

form .button:hover {
    padding-inline: 2.5rem;
}

/* ========================================
   COLORS UTILITIES
   ======================================== */
.color-primary { color: var(--primary); }
.color-accent1 { color: var(--accent-1); }
.color-accent2 { color: var(--accent-2); }
.color-white { color: var(--white); }
.color-black { color: var(--black); }

/* ========================================
   BACKGROUNDS
   ======================================== */
.background-primary { background-color: var(--primary); }
.background-primary-opacity { background: rgba(2, 62, 63, 0.75); }
.background-secondary { background-color: var(--secondary); }
.background-white { background-color: var(--white); }

.background-light1 {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/be8fc167-0e3e-407b-9793-3f3036bc7698.png"), linear-gradient(0deg, #FFF 0%, #F0F6F6 50.96%);
    background-size: 259px 85px, 100% 100%;
    background-position: center, center;
    background-repeat: repeat, no-repeat;
    background-attachment: fixed, fixed;
}

.background-light2 {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/5c4e462b-d941-455f-8d58-3a4765885f2a.png"), linear-gradient(0deg, #FFF 0%, #F0F6F6 50.96%);
    background-size: 1222px 176px, 100% 100%;
    background-position: center, center;
    background-repeat: repeat, no-repeat;
    background-attachment: fixed, fixed;
}

.background-dark1 {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/7792a22e-ceca-4aec-9a31-798fc78094d3.png");
    background-size: 259px 85px;
    background-position: center;
    background-repeat: repeat;
    background-attachment: fixed;
    background-color: var(--black);
}
.background-dark2 {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/a25a1453-f4aa-45ae-b251-77bfacd3cb01.jpg");
    background-size: 1222px 176px;
    background-position: center;
    background-repeat: repeat;
    background-attachment: fixed;
    background-color: var(--black);
    background-blend-mode: multiply;
}

/* ========================================
   LAYOUT STRUCTURE
   ======================================== */
main {
    min-height: 100dvh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 100dvh 100vw;
    width: 100%;
    gap: clamp(3rem, 0.8665rem + 3.4446vw, 5rem);
}

.block {
    padding: 0 1rem;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 800px 100vw;
}

/* ========================================
   NAVBAR
   ======================================== */
.navbar {
    padding: clamp(1.5rem, 0.8333rem + 1.3889vw, 2.5rem) 1rem;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 80px 100vw;
}

.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.navbar-brand {
    margin: 0;
    padding: 0;
}

.navbar picture {
    display: table;
}

.nav-link {
    font-size: clamp(1rem, 0.9167rem + 0.1736vw, 1.125rem);
    color: var(--white);
}

.nav-link:hover, .nav-link:focus, .nav-link:active {
    color: var(--primary);
}

.navbar-brand img {
    max-width: clamp(17.5rem, 10.5662rem + 11.1948vw, 24rem);
    width: 100%;
    height: auto;
}

.navbar.v2 {
    padding: 1.5rem 1rem;
}

.navbar.v2 .navbar-brand img {
    max-width: clamp(9.375rem, 6.0414rem + 5.3821vw, 12.5rem);
}

/* ========================================
   FOOTER
   ======================================== */
.footer {
    padding: 2.5rem .5rem;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 200px 100vw;
}

.link-fxp {
    display: table;
    margin: 0 auto;
}

.footer hr {
    border-top-color: var(--white);
}

.footer .social {
    display: flex;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer .social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    text-decoration: none;
    border-radius: 21px;
    border: 1px solid rgba(240, 246, 246, 0.25);
    background: rgba(255, 255, 255, 0.05);
    transition: var(--transition-base);
}

.footer i {
    height: 1.25rem;
    width: 1.25rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.fa-facebook {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23F0F6F6" d="M576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 440 146.7 540.8 258.2 568.5L258.2 398.2L205.4 398.2L205.4 320L258.2 320L258.2 286.3C258.2 199.2 297.6 158.8 383.2 158.8C399.4 158.8 427.4 162 438.9 165.2L438.9 236C432.9 235.4 422.4 235 409.3 235C367.3 235 351.1 250.9 351.1 292.2L351.1 320L434.7 320L420.3 398.2L351 398.2L351 574.1C477.8 558.8 576 450.9 576 320z" /%3E%3C/svg%3E');
}
.fa-instagram {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23F0F6F6" d="M320.3 205C256.8 204.8 205.2 256.2 205 319.7C204.8 383.2 256.2 434.8 319.7 435C383.2 435.2 434.8 383.8 435 320.3C435.2 256.8 383.8 205.2 320.3 205zM319.7 245.4C360.9 245.2 394.4 278.5 394.6 319.7C394.8 360.9 361.5 394.4 320.3 394.6C279.1 394.8 245.6 361.5 245.4 320.3C245.2 279.1 278.5 245.6 319.7 245.4zM413.1 200.3C413.1 185.5 425.1 173.5 439.9 173.5C454.7 173.5 466.7 185.5 466.7 200.3C466.7 215.1 454.7 227.1 439.9 227.1C425.1 227.1 413.1 215.1 413.1 200.3zM542.8 227.5C541.1 191.6 532.9 159.8 506.6 133.6C480.4 107.4 448.6 99.2 412.7 97.4C375.7 95.3 264.8 95.3 227.8 97.4C192 99.1 160.2 107.3 133.9 133.5C107.6 159.7 99.5 191.5 97.7 227.4C95.6 264.4 95.6 375.3 97.7 412.3C99.4 448.2 107.6 480 133.9 506.2C160.2 532.4 191.9 540.6 227.8 542.4C264.8 544.5 375.7 544.5 412.7 542.4C448.6 540.7 480.4 532.5 506.6 506.2C532.8 480 541 448.2 542.8 412.3C544.9 375.3 544.9 264.5 542.8 227.5zM495 452C487.2 471.6 472.1 486.7 452.4 494.6C422.9 506.3 352.9 503.6 320.3 503.6C287.7 503.6 217.6 506.2 188.2 494.6C168.6 486.8 153.5 471.7 145.6 452C133.9 422.5 136.6 352.5 136.6 319.9C136.6 287.3 134 217.2 145.6 187.8C153.4 168.2 168.5 153.1 188.2 145.2C217.7 133.5 287.7 136.2 320.3 136.2C352.9 136.2 423 133.6 452.4 145.2C472 153 487.1 168.1 495 187.8C506.7 217.3 504 287.3 504 319.9C504 352.5 506.7 422.6 495 452z"/%3E%3C/svg%3E');
}
.fa-youtube {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23F0F6F6" d="M581.7 188.1C575.5 164.4 556.9 145.8 533.4 139.5C490.9 128 320.1 128 320.1 128C320.1 128 149.3 128 106.7 139.5C83.2 145.8 64.7 164.4 58.4 188.1C47 231 47 320.4 47 320.4C47 320.4 47 409.8 58.4 452.7C64.7 476.3 83.2 494.2 106.7 500.5C149.3 512 320.1 512 320.1 512C320.1 512 490.9 512 533.5 500.5C557 494.2 575.5 476.3 581.8 452.7C593.2 409.8 593.2 320.4 593.2 320.4C593.2 320.4 593.2 231 581.8 188.1zM264.2 401.6L264.2 239.2L406.9 320.4L264.2 401.6z"/%3E%3C/svg%3E');
}
.fa-x-twitter {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23F0F6F6" d="M453.2 112L523.8 112L369.6 288.2L551 528L409 528L297.7 382.6L170.5 528L99.8 528L264.7 339.5L90.8 112L236.4 112L336.9 244.9L453.2 112zM428.4 485.8L467.5 485.8L215.1 152L173.1 152L428.4 485.8z"/%3E%3C/svg%3E');
}
.fa-tiktok {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23F0F6F6" d="M544.5 273.9C500.5 274 457.5 260.3 421.7 234.7L421.7 413.4C421.7 446.5 411.6 478.8 392.7 506C373.8 533.2 347.1 554 316.1 565.6C285.1 577.2 251.3 579.1 219.2 570.9C187.1 562.7 158.3 545 136.5 520.1C114.7 495.2 101.2 464.1 97.5 431.2C93.8 398.3 100.4 365.1 116.1 336C131.8 306.9 156.1 283.3 185.7 268.3C215.3 253.3 248.6 247.8 281.4 252.3L281.4 342.2C266.4 337.5 250.3 337.6 235.4 342.6C220.5 347.6 207.5 357.2 198.4 369.9C189.3 382.6 184.4 398 184.5 413.8C184.6 429.6 189.7 444.8 199 457.5C208.3 470.2 221.4 479.6 236.4 484.4C251.4 489.2 267.5 489.2 282.4 484.3C297.3 479.4 310.4 469.9 319.6 457.2C328.8 444.5 333.8 429.1 333.8 413.4L333.8 64L421.8 64C421.7 71.4 422.4 78.9 423.7 86.2C426.8 102.5 433.1 118.1 442.4 131.9C451.7 145.7 463.7 157.5 477.6 166.5C497.5 179.6 520.8 186.6 544.6 186.6L544.6 274z"/%3E%3C/svg%3E');
}

.footer .social a:hover, .footer .social a:focus, .footer .social a:active {
    border: 1px solid rgba(240, 246, 246, 0.85);
    background: rgba(255, 255, 255, 0.85);
}

.footer .social a:hover .fa-facebook {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23023E3F" d="M576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 440 146.7 540.8 258.2 568.5L258.2 398.2L205.4 398.2L205.4 320L258.2 320L258.2 286.3C258.2 199.2 297.6 158.8 383.2 158.8C399.4 158.8 427.4 162 438.9 165.2L438.9 236C432.9 235.4 422.4 235 409.3 235C367.3 235 351.1 250.9 351.1 292.2L351.1 320L434.7 320L420.3 398.2L351 398.2L351 574.1C477.8 558.8 576 450.9 576 320z" /%3E%3C/svg%3E');
}
.footer .social a:hover .fa-instagram {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23023E3F" d="M320.3 205C256.8 204.8 205.2 256.2 205 319.7C204.8 383.2 256.2 434.8 319.7 435C383.2 435.2 434.8 383.8 435 320.3C435.2 256.8 383.8 205.2 320.3 205zM319.7 245.4C360.9 245.2 394.4 278.5 394.6 319.7C394.8 360.9 361.5 394.4 320.3 394.6C279.1 394.8 245.6 361.5 245.4 320.3C245.2 279.1 278.5 245.6 319.7 245.4zM413.1 200.3C413.1 185.5 425.1 173.5 439.9 173.5C454.7 173.5 466.7 185.5 466.7 200.3C466.7 215.1 454.7 227.1 439.9 227.1C425.1 227.1 413.1 215.1 413.1 200.3zM542.8 227.5C541.1 191.6 532.9 159.8 506.6 133.6C480.4 107.4 448.6 99.2 412.7 97.4C375.7 95.3 264.8 95.3 227.8 97.4C192 99.1 160.2 107.3 133.9 133.5C107.6 159.7 99.5 191.5 97.7 227.4C95.6 264.4 95.6 375.3 97.7 412.3C99.4 448.2 107.6 480 133.9 506.2C160.2 532.4 191.9 540.6 227.8 542.4C264.8 544.5 375.7 544.5 412.7 542.4C448.6 540.7 480.4 532.5 506.6 506.2C532.8 480 541 448.2 542.8 412.3C544.9 375.3 544.9 264.5 542.8 227.5zM495 452C487.2 471.6 472.1 486.7 452.4 494.6C422.9 506.3 352.9 503.6 320.3 503.6C287.7 503.6 217.6 506.2 188.2 494.6C168.6 486.8 153.5 471.7 145.6 452C133.9 422.5 136.6 352.5 136.6 319.9C136.6 287.3 134 217.2 145.6 187.8C153.4 168.2 168.5 153.1 188.2 145.2C217.7 133.5 287.7 136.2 320.3 136.2C352.9 136.2 423 133.6 452.4 145.2C472 153 487.1 168.1 495 187.8C506.7 217.3 504 287.3 504 319.9C504 352.5 506.7 422.6 495 452z"/%3E%3C/svg%3E');
}
.footer .social a:hover .fa-youtube {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23023E3F" d="M581.7 188.1C575.5 164.4 556.9 145.8 533.4 139.5C490.9 128 320.1 128 320.1 128C320.1 128 149.3 128 106.7 139.5C83.2 145.8 64.7 164.4 58.4 188.1C47 231 47 320.4 47 320.4C47 320.4 47 409.8 58.4 452.7C64.7 476.3 83.2 494.2 106.7 500.5C149.3 512 320.1 512 320.1 512C320.1 512 490.9 512 533.5 500.5C557 494.2 575.5 476.3 581.8 452.7C593.2 409.8 593.2 320.4 593.2 320.4C593.2 320.4 593.2 231 581.8 188.1zM264.2 401.6L264.2 239.2L406.9 320.4L264.2 401.6z"/%3E%3C/svg%3E');
}
.footer .social a:hover .fa-x-twitter {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23023E3F" d="M453.2 112L523.8 112L369.6 288.2L551 528L409 528L297.7 382.6L170.5 528L99.8 528L264.7 339.5L90.8 112L236.4 112L336.9 244.9L453.2 112zM428.4 485.8L467.5 485.8L215.1 152L173.1 152L428.4 485.8z"/%3E%3C/svg%3E');
}
.footer .social a:hover .fa-tiktok {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill="%23023E3F" d="M544.5 273.9C500.5 274 457.5 260.3 421.7 234.7L421.7 413.4C421.7 446.5 411.6 478.8 392.7 506C373.8 533.2 347.1 554 316.1 565.6C285.1 577.2 251.3 579.1 219.2 570.9C187.1 562.7 158.3 545 136.5 520.1C114.7 495.2 101.2 464.1 97.5 431.2C93.8 398.3 100.4 365.1 116.1 336C131.8 306.9 156.1 283.3 185.7 268.3C215.3 253.3 248.6 247.8 281.4 252.3L281.4 342.2C266.4 337.5 250.3 337.6 235.4 342.6C220.5 347.6 207.5 357.2 198.4 369.9C189.3 382.6 184.4 398 184.5 413.8C184.6 429.6 189.7 444.8 199 457.5C208.3 470.2 221.4 479.6 236.4 484.4C251.4 489.2 267.5 489.2 282.4 484.3C297.3 479.4 310.4 469.9 319.6 457.2C328.8 444.5 333.8 429.1 333.8 413.4L333.8 64L421.8 64C421.7 71.4 422.4 78.9 423.7 86.2C426.8 102.5 433.1 118.1 442.4 131.9C451.7 145.7 463.7 157.5 477.6 166.5C497.5 179.6 520.8 186.6 544.6 186.6L544.6 274z"/%3E%3C/svg%3E');
}

.footer img.fxp {
    display: block;
    max-width: 162px;
    width: 100%;
    height: auto;
    margin: .5rem auto 0;
}

/* Footer Light Variant */
.footer-light p {
    color: var(--primary);
}

.footer-light hr {
    opacity: 0.25;
    border-top-color: var(--primary);
}

.footer-light .social a {
    border: 1px solid rgba(2, 62, 63, 0.25);
    background: rgba(2, 62, 63, 0.05);
}

.footer-light i {
    color: var(--secondary);
}

.footer-light .social a:hover, .footer-light .social a:focus, .footer-light .social a:active {
    border: 1px solid rgba(2, 62, 63, 0.5);
    background: rgba(2, 62, 63, 0.25);
}

.footer-light img.fxp {
    max-width: 192px;
}

/* ========================================
   VISUAL EFFECTS
   ======================================== */
.bg-texture,
.bg-image {
    position: relative;
}

.bg-texture *,
.bg-image * {
    position: relative;
    z-index: 2;
}

.bg-texture::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/afbfacde-bec9-4686-b345-ab0e191b5603.png");
    background-size: auto 100%;
    background-position: bottom right;
    background-repeat: no-repeat;
    background-attachment: fixed;
    opacity: 100%;
    z-index: 1;
}

.bg-grad {
    background-image: none;
    background: linear-gradient(0deg, #025859 0%, #033 50.96%);
}

.version-light {
    background: linear-gradient(0deg, #FFF 0%, #F0F6F6 50.96%), #F0F6F6; 
}

.bg-image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/98db190a-0f2b-4f9b-8a50-15e0720b1838.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: .4;
    z-index: 1;
}

/* ========================================
   CONTENT COMPONENTS
   ======================================== */
.banner {
    position: relative;
    padding-inline: clamp(0rem, -2.6667rem + 5.5556vw, 4rem);
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 480px 100vw;
}

.sidebar img,
.banner img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: clamp(0.5rem, -0.1667rem + 1.3889vw, 1.5rem);
    box-shadow: 0 0 32px 0 rgba(160, 160, 160, 0.01);
    contain: layout style;
    content-visibility: auto;
}

.hero {
    padding-block: 2rem;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 300px 100vw;
}

.hero .container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
}

.hero .container * {
    margin: 0;
}

.hero p.width-center {
    text-align: start;
    max-width: 768px;
    width: 100%;
    margin: 0 auto;
}

.hero .content-bg {
    background-color: var(--white);
    padding: 2rem;
    border-radius: var(--border-radius-xl);
}

.hr {
    display: block;
    height: clamp(2rem, 1.1333rem + 1.3994vw, 2.8125rem);
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/8ea81da4-d604-4131-95bf-8d9dbaffab4e.png");
    background-size: auto 100%;
    background-position: center;
    background-repeat: repeat-x;
}

/* ========================================
   FORMS
   ======================================== */
.form-content {
    border-radius: var(--border-radius-xl);
    border: 1px solid var(--secondary);
    background: rgba(2, 88, 89, 0.55);
    backdrop-filter: blur(22.5px);
    padding: clamp(1.5rem, 1.1667rem + 0.6944vw, 2rem) clamp(1rem, -0.0667rem + 1.7223vw, 2rem);
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 600px 100vw;
}

form p {
    font-size: clamp(0.95rem, 0.8333rem + 0.2431vw, 1.125rem);
    color: var(--light);
}

.form-select,
.form-control {
    display: block;
    font-size: clamp(0.95rem, 0.8333rem + 0.2431vw, 1.125rem);
    font-weight: 400;
    color: var(--black);
    width: 100%;
    border-radius: var(--border-radius-md);
    background-color: var(--light);
    border: 1px solid var(--light);
    padding: 1rem 1rem;
    appearance: none;
}

.form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23025859' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

.form-select:hover, .form-select:focus, .form-select:active,
.form-control:hover, .form-control:focus, .form-control:active {
    color: var(--black);
    background-color: var(--light);
    border-color: #0ce9895a;
    box-shadow: var(--shadow-sm);
    outline: none;
}

.label_input {
    font-size: clamp(0.95rem, 0.8333rem + 0.2431vw, 1.125rem);
    font-weight: 600;
    color: var(--light);
    padding: 2px 0px;
}

.label_input.dest {
    font-size: clamp(1rem, 0.6667rem + 0.6944vw, 1.5rem);
    color: var(--white);
}
.form-check-input {
    background-color: transparent;
}
.form-check-input:checked {
    background-color: var(--accent-2);
    border-color: var(--accent-2);
}

.form-check-input:checked[type=radio] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23025859'/%3e%3c/svg%3e");
}

.form-check-input:checked[type=checkbox] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

/* Input Elements */
input::placeholder {
    color: var(--input) !important;
}

input[type="month"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(0.5);
    background-image: none;
}

.input-icon {
    position: relative;
}

.input-icon input {
    padding-right: 2rem;
}

.input-icon::after {
    content: "";
    font-weight: 900;
    text-align: center;
    color: var(--secondary);
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    width: 3rem;
    height: 1.85rem;
    opacity: 1;
    z-index: 2;
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="%23023E3F" d="M216 64C229.3 64 240 74.7 240 88L240 128L400 128L400 88C400 74.7 410.7 64 424 64C437.3 64 448 74.7 448 88L448 128L480 128C515.3 128 544 156.7 544 192L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 192C96 156.7 124.7 128 160 128L192 128L192 88C192 74.7 202.7 64 216 64zM216 176L160 176C151.2 176 144 183.2 144 192L144 240L496 240L496 192C496 183.2 488.8 176 480 176L216 176zM144 288L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 288L144 288z"/></svg>');
    background-color: var(--light);
}

/* ========================================
   FORM VARIANTS
   ======================================== */
.form-content.opacity-primary {
    border: 1px solid var(--primary);
    background: rgba(2, 46, 47, 0.55);
}

.form-content.background-secondary {
    border: 1px solid var(--primary);
    background-color: var(--secondary);
}

.form-content.background-white {
    background-color: var(--white);
    border-color: var(--light);
}

.form-content.background-white * {
    color: var(--primary);
}

.form-content.background-white .form-check-input {
    border-color: var(--primary);
}

.form-content.background-dark {
    background-color: var(--black);
    border-color: var(--primary);
}

.form-content.background-dark .form-select,
.form-content.background-dark .form-control {
    color: var(--white);
    background-color: var(--input);
    border-color: var(--input);
}

.form-content.background-dark input::placeholder {
    color: var(--light) !important;
}

.form-content.background-dark .form-check-input:checked {
    background-color: var(--accent-2);
    border-color: var(--accent-2);
}

.form-content.background-dark .input-icon::after {
    color: var(--white);
    background-color: var(--input);
}

/* ========================================
   SPECIAL PAGES
   ======================================== */
.ty-page {
    padding-block: 3rem;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 100vh 100vw;
}

.ty-page .hero {
    height: 100%;
}

.ty-page .hero .container {
    justify-content: center;
    height: 100%;
}


/* ========================================
   MULTI-STEP FORM
   ======================================== */
.step-container {
    position: relative;
    text-align: center;
    transform: translateY(-43%);
}
.step-line {
    position: absolute;
    top: 16px;
    left: 50px;
    width: calc(100% - 100px);
    height: 2px;
    background-color: var(--primary);
    z-index: -1;
}
.progress {
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: var(--border-radius-md);
}
.progress-bar {
    background-color: var(--accent-2);
    transition: width 0.3s ease;
}
#multi-step-form {
    overflow-x: hidden;
}
.step-indicator {
    text-align: center;
    color: var(--accent-2);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 1.5rem;
}
#multi-step-form button {
    font-size: clamp(1rem, 0.9167rem + 0.1736vw, 1.125rem);
    font-weight: 700;
    color: var(--black);
    text-decoration: none;
    padding: 0.675rem 1.85rem;
    border: 1px solid var(--accent-2);
    outline: none;
    border-radius: var(--border-radius-lg);
    transition: var(--transition-base);
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0);
}
#multi-step-form button.prev-step {
    color: var(--accent-2);
    background-color: transparent;
}
#multi-step-form button.next-step {
    background-color: var(--accent-2);
}
/* ========================================
   FORM STEPS / STEP 2
   ======================================== */
.family-options {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.family-option {
    position: relative;
}
.family-radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.family-label {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 3rem 1.25rem clamp(1rem, 0.4666rem + 0.8611vw, 1.5rem);
    background-color: var(--white);
    border: 2px solid var(--white);
    border-radius: var(--border-radius-lg);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}
.family-label::after {
    content: '';
    position: absolute;
    right: 1.5rem;
    width: 24px;
    height: 24px;
    border: 2px solid var(--primary);
    border-radius: 50%;
    transition: all 0.3s ease;
}
.family-label:hover {
    background-color: rgba(255, 255, 255, 0.8);
    border-color: rgba(240, 246, 246, 0.8);
}

.family-radio:checked + .family-label,
.family-label.selected {
    border-color: var(--accent-2);
    background: rgba(41, 243, 74, 0.70);
    box-shadow: 0 4px 20px 0 rgba(45, 125, 154, 0.08);
}

.family-radio:checked + .family-label::after,
.family-label.selected::after {
    background-color: var(--primary);
    border-color: var(--primary);
    box-shadow: inset 0 0 0 4px rgba(41, 243, 74, 0.70);
}

.family-icon {
    width: 2.5rem;
    height: 2.5rem;
    background-size: 24px auto;
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    border-radius: .5rem;
    background-color: var(--primary);
}
.family-text {
    font-size: 1rem;
    font-weight: 600;
    color: var(--primary);
    flex: 1;
}

.family-radio:checked + .family-label .family-text,
.family-label.selected .family-text {
    color: var(--black);
}
.family-radio:checked + .family-label .family-icon {
    background-color: var(--accent-2);
}


.family-icon--1 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M10 10C8.625 10 7.44792 9.51042 6.46875 8.53125C5.48958 7.55208 5 6.375 5 5C5 3.625 5.48958 2.44792 6.46875 1.46875C7.44792 0.489583 8.625 0 10 0C11.375 0 12.5521 0.489583 13.5312 1.46875C14.5104 2.44792 15 3.625 15 5C15 6.375 14.5104 7.55208 13.5312 8.53125C12.5521 9.51042 11.375 10 10 10ZM0 20V16.5C0 15.7917 0.182292 15.1406 0.546875 14.5469C0.911458 13.9531 1.39583 13.5 2 13.1875C3.29167 12.5417 4.60417 12.0573 5.9375 11.7344C7.27083 11.4115 8.625 11.25 10 11.25C11.375 11.25 12.7292 11.4115 14.0625 11.7344C15.3958 12.0573 16.7083 12.5417 18 13.1875C18.6042 13.5 19.0885 13.9531 19.4531 14.5469C19.8177 15.1406 20 15.7917 20 16.5V20H0ZM2.5 17.5H17.5V16.5C17.5 16.2708 17.4427 16.0625 17.3281 15.875C17.2135 15.6875 17.0625 15.5417 16.875 15.4375C15.75 14.875 14.6146 14.4531 13.4688 14.1719C12.3229 13.8906 11.1667 13.75 10 13.75C8.83333 13.75 7.67708 13.8906 6.53125 14.1719C5.38542 14.4531 4.25 14.875 3.125 15.4375C2.9375 15.5417 2.78646 15.6875 2.67188 15.875C2.55729 16.0625 2.5 16.2708 2.5 16.5V17.5ZM10 7.5C10.6875 7.5 11.276 7.25521 11.7656 6.76562C12.2552 6.27604 12.5 5.6875 12.5 5C12.5 4.3125 12.2552 3.72396 11.7656 3.23438C11.276 2.74479 10.6875 2.5 10 2.5C9.3125 2.5 8.72396 2.74479 8.23438 3.23438C7.74479 3.72396 7.5 4.3125 7.5 5C7.5 5.6875 7.74479 6.27604 8.23438 6.76562C8.72396 7.25521 9.3125 7.5 10 7.5Z" fill="white"/></svg>');
}
.family-icon--2 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="25" viewBox="0 0 26 25" fill="none"><path d="M20 5C19.3125 5 18.724 4.75521 18.2344 4.26562C17.7448 3.77604 17.5 3.1875 17.5 2.5C17.5 1.8125 17.7448 1.22396 18.2344 0.734375C18.724 0.244792 19.3125 0 20 0C20.6875 0 21.276 0.244792 21.7656 0.734375C22.2552 1.22396 22.5 1.8125 22.5 2.5C22.5 3.1875 22.2552 3.77604 21.7656 4.26562C21.276 4.75521 20.6875 5 20 5ZM18.75 25V15C18.75 14.1667 18.5365 13.4167 18.1094 12.75C17.6823 12.0833 17.1354 11.5625 16.4688 11.1875L17.5625 7.96875C17.7292 7.44792 18.0365 7.03125 18.4844 6.71875C18.9323 6.40625 19.4375 6.25 20 6.25C20.5625 6.25 21.0677 6.40625 21.5156 6.71875C21.9635 7.03125 22.2708 7.44792 22.4375 7.96875L25.625 17.5H22.5V25H18.75ZM13.125 11.875C12.6042 11.875 12.1615 11.6927 11.7969 11.3281C11.4323 10.9635 11.25 10.5208 11.25 10C11.25 9.47917 11.4323 9.03646 11.7969 8.67188C12.1615 8.30729 12.6042 8.125 13.125 8.125C13.6458 8.125 14.0885 8.30729 14.4531 8.67188C14.8177 9.03646 15 9.47917 15 10C15 10.5208 14.8177 10.9635 14.4531 11.3281C14.0885 11.6927 13.6458 11.875 13.125 11.875ZM4.375 5C3.6875 5 3.09896 4.75521 2.60938 4.26562C2.11979 3.77604 1.875 3.1875 1.875 2.5C1.875 1.8125 2.11979 1.22396 2.60938 0.734375C3.09896 0.244792 3.6875 0 4.375 0C5.0625 0 5.65104 0.244792 6.14062 0.734375C6.63021 1.22396 6.875 1.8125 6.875 2.5C6.875 3.1875 6.63021 3.77604 6.14062 4.26562C5.65104 4.75521 5.0625 5 4.375 5ZM1.875 25V16.25H0V8.75C0 8.0625 0.244792 7.47396 0.734375 6.98438C1.22396 6.49479 1.8125 6.25 2.5 6.25H6.25C6.9375 6.25 7.52604 6.49479 8.01562 6.98438C8.50521 7.47396 8.75 8.0625 8.75 8.75V16.25H6.875V25H1.875ZM11.25 25V20H10V15C10 14.4792 10.1823 14.0365 10.5469 13.6719C10.9115 13.3073 11.3542 13.125 11.875 13.125H14.375C14.8958 13.125 15.3385 13.3073 15.7031 13.6719C16.0677 14.0365 16.25 14.4792 16.25 15V20H15V25H11.25Z" fill="white"/></svg>');
}
.family-icon--3 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="20" viewBox="0 0 28 20" fill="none"><path d="M0 20V16.5C0 15.7917 0.182292 15.1406 0.546875 14.5469C0.911458 13.9531 1.39583 13.5 2 13.1875C3.29167 12.5417 4.60417 12.0573 5.9375 11.7344C7.27083 11.4115 8.625 11.25 10 11.25C11.375 11.25 12.7292 11.4115 14.0625 11.7344C15.3958 12.0573 16.7083 12.5417 18 13.1875C18.6042 13.5 19.0885 13.9531 19.4531 14.5469C19.8177 15.1406 20 15.7917 20 16.5V20H0ZM22.5 20V16.25C22.5 15.3333 22.2448 14.4531 21.7344 13.6094C21.224 12.7656 20.5 12.0417 19.5625 11.4375C20.625 11.5625 21.625 11.776 22.5625 12.0781C23.5 12.3802 24.375 12.75 25.1875 13.1875C25.9375 13.6042 26.5104 14.0677 26.9062 14.5781C27.3021 15.0885 27.5 15.6458 27.5 16.25V20H22.5ZM10 10C8.625 10 7.44792 9.51042 6.46875 8.53125C5.48958 7.55208 5 6.375 5 5C5 3.625 5.48958 2.44792 6.46875 1.46875C7.44792 0.489583 8.625 0 10 0C11.375 0 12.5521 0.489583 13.5312 1.46875C14.5104 2.44792 15 3.625 15 5C15 6.375 14.5104 7.55208 13.5312 8.53125C12.5521 9.51042 11.375 10 10 10ZM22.5 5C22.5 6.375 22.0104 7.55208 21.0312 8.53125C20.0521 9.51042 18.875 10 17.5 10C17.2708 10 16.9792 9.97396 16.625 9.92188C16.2708 9.86979 15.9792 9.8125 15.75 9.75C16.3125 9.08333 16.7448 8.34375 17.0469 7.53125C17.349 6.71875 17.5 5.875 17.5 5C17.5 4.125 17.349 3.28125 17.0469 2.46875C16.7448 1.65625 16.3125 0.916667 15.75 0.25C16.0417 0.145833 16.3333 0.078125 16.625 0.046875C16.9167 0.015625 17.2083 0 17.5 0C18.875 0 20.0521 0.489583 21.0312 1.46875C22.0104 2.44792 22.5 3.625 22.5 5ZM2.5 17.5H17.5V16.5C17.5 16.2708 17.4427 16.0625 17.3281 15.875C17.2135 15.6875 17.0625 15.5417 16.875 15.4375C15.75 14.875 14.6146 14.4531 13.4688 14.1719C12.3229 13.8906 11.1667 13.75 10 13.75C8.83333 13.75 7.67708 13.8906 6.53125 14.1719C5.38542 14.4531 4.25 14.875 3.125 15.4375C2.9375 15.5417 2.78646 15.6875 2.67188 15.875C2.55729 16.0625 2.5 16.2708 2.5 16.5V17.5ZM10 7.5C10.6875 7.5 11.276 7.25521 11.7656 6.76562C12.2552 6.27604 12.5 5.6875 12.5 5C12.5 4.3125 12.2552 3.72396 11.7656 3.23438C11.276 2.74479 10.6875 2.5 10 2.5C9.3125 2.5 8.72396 2.74479 8.23438 3.23438C7.74479 3.72396 7.5 4.3125 7.5 5C7.5 5.6875 7.74479 6.27604 8.23438 6.76562C8.72396 7.25521 9.3125 7.5 10 7.5Z" fill="white"/></svg>');
}
.family-icon--4 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="15" viewBox="0 0 30 15" fill="none"><path d="M0 15V13.0312C0 12.1354 0.458333 11.4062 1.375 10.8438C2.29167 10.2812 3.5 10 5 10C5.27083 10 5.53125 10.0052 5.78125 10.0156C6.03125 10.026 6.27083 10.0521 6.5 10.0938C6.20833 10.5312 5.98958 10.9896 5.84375 11.4688C5.69792 11.9479 5.625 12.4479 5.625 12.9688V15H0ZM7.5 15V12.9688C7.5 12.3021 7.68229 11.6927 8.04688 11.1406C8.41146 10.5885 8.92708 10.1042 9.59375 9.6875C10.2604 9.27083 11.0573 8.95833 11.9844 8.75C12.9115 8.54167 13.9167 8.4375 15 8.4375C16.1042 8.4375 17.1198 8.54167 18.0469 8.75C18.974 8.95833 19.7708 9.27083 20.4375 9.6875C21.1042 10.1042 21.6146 10.5885 21.9688 11.1406C22.3229 11.6927 22.5 12.3021 22.5 12.9688V15H7.5ZM24.375 15V12.9688C24.375 12.4271 24.3073 11.9167 24.1719 11.4375C24.0365 10.9583 23.8333 10.5104 23.5625 10.0938C23.7917 10.0521 24.026 10.026 24.2656 10.0156C24.5052 10.0052 24.75 10 25 10C26.5 10 27.7083 10.276 28.625 10.8281C29.5417 11.3802 30 12.1146 30 13.0312V15H24.375ZM10.1562 12.5H19.875C19.6667 12.0833 19.0885 11.7188 18.1406 11.4062C17.1927 11.0938 16.1458 10.9375 15 10.9375C13.8542 10.9375 12.8073 11.0938 11.8594 11.4062C10.9115 11.7188 10.3438 12.0833 10.1562 12.5ZM5 8.75C4.3125 8.75 3.72396 8.50521 3.23438 8.01562C2.74479 7.52604 2.5 6.9375 2.5 6.25C2.5 5.54167 2.74479 4.94792 3.23438 4.46875C3.72396 3.98958 4.3125 3.75 5 3.75C5.70833 3.75 6.30208 3.98958 6.78125 4.46875C7.26042 4.94792 7.5 5.54167 7.5 6.25C7.5 6.9375 7.26042 7.52604 6.78125 8.01562C6.30208 8.50521 5.70833 8.75 5 8.75ZM25 8.75C24.3125 8.75 23.724 8.50521 23.2344 8.01562C22.7448 7.52604 22.5 6.9375 22.5 6.25C22.5 5.54167 22.7448 4.94792 23.2344 4.46875C23.724 3.98958 24.3125 3.75 25 3.75C25.7083 3.75 26.3021 3.98958 26.7812 4.46875C27.2604 4.94792 27.5 5.54167 27.5 6.25C27.5 6.9375 27.2604 7.52604 26.7812 8.01562C26.3021 8.50521 25.7083 8.75 25 8.75ZM15 7.5C13.9583 7.5 13.0729 7.13542 12.3438 6.40625C11.6146 5.67708 11.25 4.79167 11.25 3.75C11.25 2.6875 11.6146 1.79688 12.3438 1.07812C13.0729 0.359375 13.9583 0 15 0C16.0625 0 16.9531 0.359375 17.6719 1.07812C18.3906 1.79688 18.75 2.6875 18.75 3.75C18.75 4.79167 18.3906 5.67708 17.6719 6.40625C16.9531 7.13542 16.0625 7.5 15 7.5ZM15 5C15.3542 5 15.651 4.88021 15.8906 4.64062C16.1302 4.40104 16.25 4.10417 16.25 3.75C16.25 3.39583 16.1302 3.09896 15.8906 2.85938C15.651 2.61979 15.3542 2.5 15 2.5C14.6458 2.5 14.349 2.61979 14.1094 2.85938C13.8698 3.09896 13.75 3.39583 13.75 3.75C13.75 4.10417 13.8698 4.40104 14.1094 4.64062C14.349 4.88021 14.6458 5 15 5Z" fill="white"/></svg>');
}
.family-icon--5 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="23" viewBox="0 0 28 23" fill="none"><path d="M20 7.5H22.5V5H20V7.5ZM20 12.5H22.5V10H20V12.5ZM20 17.5H22.5V15H20V17.5ZM20 22.5V20H25V2.5H13.75V4.25L11.25 2.4375V0H27.5V22.5H20ZM0 22.5V10L8.75 3.75L17.5 10V22.5H10V16.25H7.5V22.5H0ZM2.5 20H5V13.75H12.5V20H15V11.25L8.75 6.8125L2.5 11.25V20ZM12.5 20V13.75H5V20V13.75H8.75H12.5V20Z" fill="white"/></svg>');
}

.family-radio:checked + .family-label .family-icon--1 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M10 10C8.625 10 7.44792 9.51042 6.46875 8.53125C5.48958 7.55208 5 6.375 5 5C5 3.625 5.48958 2.44792 6.46875 1.46875C7.44792 0.489583 8.625 0 10 0C11.375 0 12.5521 0.489583 13.5312 1.46875C14.5104 2.44792 15 3.625 15 5C15 6.375 14.5104 7.55208 13.5312 8.53125C12.5521 9.51042 11.375 10 10 10ZM0 20V16.5C0 15.7917 0.182292 15.1406 0.546875 14.5469C0.911458 13.9531 1.39583 13.5 2 13.1875C3.29167 12.5417 4.60417 12.0573 5.9375 11.7344C7.27083 11.4115 8.625 11.25 10 11.25C11.375 11.25 12.7292 11.4115 14.0625 11.7344C15.3958 12.0573 16.7083 12.5417 18 13.1875C18.6042 13.5 19.0885 13.9531 19.4531 14.5469C19.8177 15.1406 20 15.7917 20 16.5V20H0ZM2.5 17.5H17.5V16.5C17.5 16.2708 17.4427 16.0625 17.3281 15.875C17.2135 15.6875 17.0625 15.5417 16.875 15.4375C15.75 14.875 14.6146 14.4531 13.4688 14.1719C12.3229 13.8906 11.1667 13.75 10 13.75C8.83333 13.75 7.67708 13.8906 6.53125 14.1719C5.38542 14.4531 4.25 14.875 3.125 15.4375C2.9375 15.5417 2.78646 15.6875 2.67188 15.875C2.55729 16.0625 2.5 16.2708 2.5 16.5V17.5ZM10 7.5C10.6875 7.5 11.276 7.25521 11.7656 6.76562C12.2552 6.27604 12.5 5.6875 12.5 5C12.5 4.3125 12.2552 3.72396 11.7656 3.23438C11.276 2.74479 10.6875 2.5 10 2.5C9.3125 2.5 8.72396 2.74479 8.23438 3.23438C7.74479 3.72396 7.5 4.3125 7.5 5C7.5 5.6875 7.74479 6.27604 8.23438 6.76562C8.72396 7.25521 9.3125 7.5 10 7.5Z" fill="black"/></svg>');
}
.family-radio:checked + .family-label .family-icon--2 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="25" viewBox="0 0 26 25" fill="none"><path d="M20 5C19.3125 5 18.724 4.75521 18.2344 4.26562C17.7448 3.77604 17.5 3.1875 17.5 2.5C17.5 1.8125 17.7448 1.22396 18.2344 0.734375C18.724 0.244792 19.3125 0 20 0C20.6875 0 21.276 0.244792 21.7656 0.734375C22.2552 1.22396 22.5 1.8125 22.5 2.5C22.5 3.1875 22.2552 3.77604 21.7656 4.26562C21.276 4.75521 20.6875 5 20 5ZM18.75 25V15C18.75 14.1667 18.5365 13.4167 18.1094 12.75C17.6823 12.0833 17.1354 11.5625 16.4688 11.1875L17.5625 7.96875C17.7292 7.44792 18.0365 7.03125 18.4844 6.71875C18.9323 6.40625 19.4375 6.25 20 6.25C20.5625 6.25 21.0677 6.40625 21.5156 6.71875C21.9635 7.03125 22.2708 7.44792 22.4375 7.96875L25.625 17.5H22.5V25H18.75ZM13.125 11.875C12.6042 11.875 12.1615 11.6927 11.7969 11.3281C11.4323 10.9635 11.25 10.5208 11.25 10C11.25 9.47917 11.4323 9.03646 11.7969 8.67188C12.1615 8.30729 12.6042 8.125 13.125 8.125C13.6458 8.125 14.0885 8.30729 14.4531 8.67188C14.8177 9.03646 15 9.47917 15 10C15 10.5208 14.8177 10.9635 14.4531 11.3281C14.0885 11.6927 13.6458 11.875 13.125 11.875ZM4.375 5C3.6875 5 3.09896 4.75521 2.60938 4.26562C2.11979 3.77604 1.875 3.1875 1.875 2.5C1.875 1.8125 2.11979 1.22396 2.60938 0.734375C3.09896 0.244792 3.6875 0 4.375 0C5.0625 0 5.65104 0.244792 6.14062 0.734375C6.63021 1.22396 6.875 1.8125 6.875 2.5C6.875 3.1875 6.63021 3.77604 6.14062 4.26562C5.65104 4.75521 5.0625 5 4.375 5ZM1.875 25V16.25H0V8.75C0 8.0625 0.244792 7.47396 0.734375 6.98438C1.22396 6.49479 1.8125 6.25 2.5 6.25H6.25C6.9375 6.25 7.52604 6.49479 8.01562 6.98438C8.50521 7.47396 8.75 8.0625 8.75 8.75V16.25H6.875V25H1.875ZM11.25 25V20H10V15C10 14.4792 10.1823 14.0365 10.5469 13.6719C10.9115 13.3073 11.3542 13.125 11.875 13.125H14.375C14.8958 13.125 15.3385 13.3073 15.7031 13.6719C16.0677 14.0365 16.25 14.4792 16.25 15V20H15V25H11.25Z" fill="black"/></svg>');
}
.family-radio:checked + .family-label .family-icon--3 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="20" viewBox="0 0 28 20" fill="none"><path d="M0 20V16.5C0 15.7917 0.182292 15.1406 0.546875 14.5469C0.911458 13.9531 1.39583 13.5 2 13.1875C3.29167 12.5417 4.60417 12.0573 5.9375 11.7344C7.27083 11.4115 8.625 11.25 10 11.25C11.375 11.25 12.7292 11.4115 14.0625 11.7344C15.3958 12.0573 16.7083 12.5417 18 13.1875C18.6042 13.5 19.0885 13.9531 19.4531 14.5469C19.8177 15.1406 20 15.7917 20 16.5V20H0ZM22.5 20V16.25C22.5 15.3333 22.2448 14.4531 21.7344 13.6094C21.224 12.7656 20.5 12.0417 19.5625 11.4375C20.625 11.5625 21.625 11.776 22.5625 12.0781C23.5 12.3802 24.375 12.75 25.1875 13.1875C25.9375 13.6042 26.5104 14.0677 26.9062 14.5781C27.3021 15.0885 27.5 15.6458 27.5 16.25V20H22.5ZM10 10C8.625 10 7.44792 9.51042 6.46875 8.53125C5.48958 7.55208 5 6.375 5 5C5 3.625 5.48958 2.44792 6.46875 1.46875C7.44792 0.489583 8.625 0 10 0C11.375 0 12.5521 0.489583 13.5312 1.46875C14.5104 2.44792 15 3.625 15 5C15 6.375 14.5104 7.55208 13.5312 8.53125C12.5521 9.51042 11.375 10 10 10ZM22.5 5C22.5 6.375 22.0104 7.55208 21.0312 8.53125C20.0521 9.51042 18.875 10 17.5 10C17.2708 10 16.9792 9.97396 16.625 9.92188C16.2708 9.86979 15.9792 9.8125 15.75 9.75C16.3125 9.08333 16.7448 8.34375 17.0469 7.53125C17.349 6.71875 17.5 5.875 17.5 5C17.5 4.125 17.349 3.28125 17.0469 2.46875C16.7448 1.65625 16.3125 0.916667 15.75 0.25C16.0417 0.145833 16.3333 0.078125 16.625 0.046875C16.9167 0.015625 17.2083 0 17.5 0C18.875 0 20.0521 0.489583 21.0312 1.46875C22.0104 2.44792 22.5 3.625 22.5 5ZM2.5 17.5H17.5V16.5C17.5 16.2708 17.4427 16.0625 17.3281 15.875C17.2135 15.6875 17.0625 15.5417 16.875 15.4375C15.75 14.875 14.6146 14.4531 13.4688 14.1719C12.3229 13.8906 11.1667 13.75 10 13.75C8.83333 13.75 7.67708 13.8906 6.53125 14.1719C5.38542 14.4531 4.25 14.875 3.125 15.4375C2.9375 15.5417 2.78646 15.6875 2.67188 15.875C2.55729 16.0625 2.5 16.2708 2.5 16.5V17.5ZM10 7.5C10.6875 7.5 11.276 7.25521 11.7656 6.76562C12.2552 6.27604 12.5 5.6875 12.5 5C12.5 4.3125 12.2552 3.72396 11.7656 3.23438C11.276 2.74479 10.6875 2.5 10 2.5C9.3125 2.5 8.72396 2.74479 8.23438 3.23438C7.74479 3.72396 7.5 4.3125 7.5 5C7.5 5.6875 7.74479 6.27604 8.23438 6.76562C8.72396 7.25521 9.3125 7.5 10 7.5Z" fill="black"/></svg>');
}
.family-radio:checked + .family-label .family-icon--4 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="15" viewBox="0 0 30 15" fill="none"><path d="M0 15V13.0312C0 12.1354 0.458333 11.4062 1.375 10.8438C2.29167 10.2812 3.5 10 5 10C5.27083 10 5.53125 10.0052 5.78125 10.0156C6.03125 10.026 6.27083 10.0521 6.5 10.0938C6.20833 10.5312 5.98958 10.9896 5.84375 11.4688C5.69792 11.9479 5.625 12.4479 5.625 12.9688V15H0ZM7.5 15V12.9688C7.5 12.3021 7.68229 11.6927 8.04688 11.1406C8.41146 10.5885 8.92708 10.1042 9.59375 9.6875C10.2604 9.27083 11.0573 8.95833 11.9844 8.75C12.9115 8.54167 13.9167 8.4375 15 8.4375C16.1042 8.4375 17.1198 8.54167 18.0469 8.75C18.974 8.95833 19.7708 9.27083 20.4375 9.6875C21.1042 10.1042 21.6146 10.5885 21.9688 11.1406C22.3229 11.6927 22.5 12.3021 22.5 12.9688V15H7.5ZM24.375 15V12.9688C24.375 12.4271 24.3073 11.9167 24.1719 11.4375C24.0365 10.9583 23.8333 10.5104 23.5625 10.0938C23.7917 10.0521 24.026 10.026 24.2656 10.0156C24.5052 10.0052 24.75 10 25 10C26.5 10 27.7083 10.276 28.625 10.8281C29.5417 11.3802 30 12.1146 30 13.0312V15H24.375ZM10.1562 12.5H19.875C19.6667 12.0833 19.0885 11.7188 18.1406 11.4062C17.1927 11.0938 16.1458 10.9375 15 10.9375C13.8542 10.9375 12.8073 11.0938 11.8594 11.4062C10.9115 11.7188 10.3438 12.0833 10.1562 12.5ZM5 8.75C4.3125 8.75 3.72396 8.50521 3.23438 8.01562C2.74479 7.52604 2.5 6.9375 2.5 6.25C2.5 5.54167 2.74479 4.94792 3.23438 4.46875C3.72396 3.98958 4.3125 3.75 5 3.75C5.70833 3.75 6.30208 3.98958 6.78125 4.46875C7.26042 4.94792 7.5 5.54167 7.5 6.25C7.5 6.9375 7.26042 7.52604 6.78125 8.01562C6.30208 8.50521 5.70833 8.75 5 8.75ZM25 8.75C24.3125 8.75 23.724 8.50521 23.2344 8.01562C22.7448 7.52604 22.5 6.9375 22.5 6.25C22.5 5.54167 22.7448 4.94792 23.2344 4.46875C23.724 3.98958 24.3125 3.75 25 3.75C25.7083 3.75 26.3021 3.98958 26.7812 4.46875C27.2604 4.94792 27.5 5.54167 27.5 6.25C27.5 6.9375 27.2604 7.52604 26.7812 8.01562C26.3021 8.50521 25.7083 8.75 25 8.75ZM15 7.5C13.9583 7.5 13.0729 7.13542 12.3438 6.40625C11.6146 5.67708 11.25 4.79167 11.25 3.75C11.25 2.6875 11.6146 1.79688 12.3438 1.07812C13.0729 0.359375 13.9583 0 15 0C16.0625 0 16.9531 0.359375 17.6719 1.07812C18.3906 1.79688 18.75 2.6875 18.75 3.75C18.75 4.79167 18.3906 5.67708 17.6719 6.40625C16.9531 7.13542 16.0625 7.5 15 7.5ZM15 5C15.3542 5 15.651 4.88021 15.8906 4.64062C16.1302 4.40104 16.25 4.10417 16.25 3.75C16.25 3.39583 16.1302 3.09896 15.8906 2.85938C15.651 2.61979 15.3542 2.5 15 2.5C14.6458 2.5 14.349 2.61979 14.1094 2.85938C13.8698 3.09896 13.75 3.39583 13.75 3.75C13.75 4.10417 13.8698 4.40104 14.1094 4.64062C14.349 4.88021 14.6458 5 15 5Z" fill="black"/></svg>');
}
.family-radio:checked + .family-label .family-icon--5 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="23" viewBox="0 0 28 23" fill="none"><path d="M20 7.5H22.5V5H20V7.5ZM20 12.5H22.5V10H20V12.5ZM20 17.5H22.5V15H20V17.5ZM20 22.5V20H25V2.5H13.75V4.25L11.25 2.4375V0H27.5V22.5H20ZM0 22.5V10L8.75 3.75L17.5 10V22.5H10V16.25H7.5V22.5H0ZM2.5 20H5V13.75H12.5V20H15V11.25L8.75 6.8125L2.5 11.25V20ZM12.5 20V13.75H5V20V13.75H8.75H12.5V20Z" fill="black"/></svg>');
}

/* ========================================
   FORM STEPS / STEP 3 - SORTABLE LIST
   ======================================== */
.sortable-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.sortable-item {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 1rem;
    color: var(--primary);
    padding: 1.25rem clamp(1rem, 0.4666rem + 0.8611vw, 1.5rem);
    background-color: var(--white);
    border: 2px solid var(--white);
    border-radius: var(--border-radius-lg);
    cursor: move;
    transition: all 0.3s ease;
    position: relative;
    user-select: none;
}
.sortable-item.dragging {
    opacity: 0.5;
    background-color: #29F34A;
    border-color: var(--accent-2);
    transform: scale(1.02);
}
.sortable-item:hover {
    background-color: rgba(255, 255, 255, 0.85);
}
.drag-handle {
    cursor: grab;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    color: var(--primary);
    font-size: 1.5rem;
    touch-action: none;
}

.drag-handle:active {
    cursor: grabbing;
}

.hamburger-icon {
    display: block;
    line-height: 1;
}

.order-number {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .5rem;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.9;
    color: var(--white);
    background-color: var(--primary);
    outline: none;
    cursor: default;
    flex-shrink: 0;
    margin: 0;
}
.order-number:focus {
    background-color: var(--accent-2);
    border-color: var(--accent-2);
    color: var(--black);
    cursor: text;
}
.sport-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}

.sport-icon {
    width: 2rem;
    height: 2.5rem;
    background-size: 24px auto;
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    border-radius: .5rem;
}
.sport-icon--1 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M325.1 86.6C236.1 104.6 174.6 150 135.1 210.5C111.8 246.1 97 285.8 88.4 326L315.9 553.4C404.9 535.4 466.4 490 506 429.5C529.3 393.9 544.1 354.2 552.7 314L325.1 86.6zM561.1 254.7C564.3 212.4 561.8 171.4 556.3 136C551.9 108.2 529.5 88 503.2 84.4C460.2 78.5 421 76.9 385.4 79L561.1 254.6zM255.7 561.1L79.9 385.4C76.7 427.7 79.2 468.7 84.7 504.1C89.1 531.9 111.5 552.1 137.8 555.7C180.8 561.6 220 563.2 255.6 561.1zM335.5 207C344.9 197.6 360.1 197.6 369.4 207L433.4 271C442.8 280.4 442.8 295.6 433.4 304.9C424 314.2 408.8 314.3 399.5 304.9L335.5 240.9C326.1 231.5 326.1 216.3 335.5 207zM271.5 271C280.9 261.6 296.1 261.6 305.4 271L369.4 335C378.8 344.4 378.8 359.6 369.4 368.9C360 378.2 344.8 378.3 335.5 368.9L271.5 304.9C262.1 295.5 262.1 280.3 271.5 271zM207.5 335C216.9 325.6 232.1 325.6 241.4 335L305.4 399C314.8 408.4 314.8 423.6 305.4 432.9C296 442.2 280.8 442.3 271.5 432.9L207.5 368.9C198.1 359.5 198.1 344.3 207.5 335z" fill="%23014042"/></svg>');
}
.sport-icon--2 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><path d="M3.28 14.4H7.84C7.68 13.3867 7.37333 12.44 6.92 11.56C6.46667 10.68 5.89333 9.89333 5.2 9.2C4.72 9.97333 4.31333 10.7933 3.98 11.66C3.64667 12.5267 3.41333 13.44 3.28 14.4ZM24.16 14.4H28.72C28.5867 13.44 28.3533 12.5267 28.02 11.66C27.6867 10.7933 27.28 9.97333 26.8 9.2C26.1067 9.89333 25.5333 10.68 25.08 11.56C24.6267 12.44 24.32 13.3867 24.16 14.4ZM5.2 22.8C5.89333 22.1067 6.46667 21.32 6.92 20.44C7.37333 19.56 7.68 18.6133 7.84 17.6H3.28C3.41333 18.56 3.64667 19.4733 3.98 20.34C4.31333 21.2067 4.72 22.0267 5.2 22.8ZM26.8 22.8C27.28 22.0267 27.6867 21.2067 28.02 20.34C28.3533 19.4733 28.5867 18.56 28.72 17.6H24.16C24.32 18.6133 24.6267 19.56 25.08 20.44C25.5333 21.32 26.1067 22.1067 26.8 22.8ZM11.12 14.4H14.4V3.28C12.9867 3.49333 11.6733 3.88667 10.46 4.46C9.24667 5.03333 8.16 5.78667 7.2 6.72C8.24 7.73333 9.1 8.88667 9.78 10.18C10.46 11.4733 10.9067 12.88 11.12 14.4ZM17.6 14.4H20.88C21.0933 12.88 21.54 11.4733 22.22 10.18C22.9 8.88667 23.76 7.73333 24.8 6.72C23.84 5.78667 22.7533 5.03333 21.54 4.46C20.3267 3.88667 19.0133 3.49333 17.6 3.28V14.4ZM14.4 28.72V17.6H11.12C10.9067 19.12 10.46 20.5267 9.78 21.82C9.1 23.1133 8.24 24.2667 7.2 25.28C8.16 26.2133 9.24667 26.9667 10.46 27.54C11.6733 28.1133 12.9867 28.5067 14.4 28.72ZM17.6 28.72C19.0133 28.5067 20.3267 28.1133 21.54 27.54C22.7533 26.9667 23.84 26.2133 24.8 25.28C23.76 24.2667 22.9 23.1133 22.22 21.82C21.54 20.5267 21.0933 19.12 20.88 17.6H17.6V28.72ZM16 32C13.7867 32 11.7067 31.58 9.76 30.74C7.81333 29.9 6.12 28.76 4.68 27.32C3.24 25.88 2.1 24.1867 1.26 22.24C0.42 20.2933 0 18.2133 0 16C0 13.7867 0.42 11.7067 1.26 9.76C2.1 7.81333 3.24 6.12 4.68 4.68C6.12 3.24 7.81333 2.1 9.76 1.26C11.7067 0.42 13.7867 0 16 0C18.2133 0 20.2933 0.42 22.24 1.26C24.1867 2.1 25.88 3.24 27.32 4.68C28.76 6.12 29.9 7.81333 30.74 9.76C31.58 11.7067 32 13.7867 32 16C32 18.2133 31.58 20.2933 30.74 22.24C29.9 24.1867 28.76 25.88 27.32 27.32C25.88 28.76 24.1867 29.9 22.24 30.74C20.2933 31.58 18.2133 32 16 32Z" fill="%23014042"/></svg>');
}
.sport-icon--3 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><path d="M5.76 23.68C6.96 22.7467 7.9 21.6133 8.58 20.28C9.26 18.9467 9.6 17.52 9.6 16C9.6 14.48 9.26 13.0533 8.58 11.72C7.9 10.3867 6.96 9.25333 5.76 8.32C4.93333 9.44 4.3 10.6533 3.86 11.96C3.42 13.2667 3.2 14.6133 3.2 16C3.2 17.3867 3.42 18.7333 3.86 20.04C4.3 21.3467 4.93333 22.56 5.76 23.68ZM16 28.8C17.4667 28.8 18.8867 28.5667 20.26 28.1C21.6333 27.6333 22.88 26.9333 24 26C22.48 24.7733 21.3 23.2867 20.46 21.54C19.62 19.7933 19.2 17.9467 19.2 16C19.2 14.0533 19.62 12.2067 20.46 10.46C21.3 8.71333 22.48 7.22667 24 6C22.88 5.06667 21.6333 4.36667 20.26 3.9C18.8867 3.43333 17.4667 3.2 16 3.2C14.5333 3.2 13.1133 3.43333 11.74 3.9C10.3667 4.36667 9.12 5.06667 8 6C9.52 7.22667 10.7 8.71333 11.54 10.46C12.38 12.2067 12.8 14.0533 12.8 16C12.8 17.9467 12.38 19.7933 11.54 21.54C10.7 23.2867 9.52 24.7733 8 26C9.12 26.9333 10.3667 27.6333 11.74 28.1C13.1133 28.5667 14.5333 28.8 16 28.8ZM26.24 23.68C27.0667 22.56 27.7 21.3467 28.14 20.04C28.58 18.7333 28.8 17.3867 28.8 16C28.8 14.6133 28.58 13.2667 28.14 11.96C27.7 10.6533 27.0667 9.44 26.24 8.32C25.04 9.25333 24.1 10.3867 23.42 11.72C22.74 13.0533 22.4 14.48 22.4 16C22.4 17.52 22.74 18.9467 23.42 20.28C24.1 21.6133 25.04 22.7467 26.24 23.68ZM16 32C13.7867 32 11.7067 31.58 9.76 30.74C7.81333 29.9 6.12 28.76 4.68 27.32C3.24 25.88 2.1 24.1867 1.26 22.24C0.42 20.2933 0 18.2133 0 16C0 13.7867 0.42 11.7067 1.26 9.76C2.1 7.81333 3.24 6.12 4.68 4.68C6.12 3.24 7.81333 2.1 9.76 1.26C11.7067 0.42 13.7867 0 16 0C18.2133 0 20.2933 0.42 22.24 1.26C24.1867 2.1 25.88 3.24 27.32 4.68C28.76 6.12 29.9 7.81333 30.74 9.76C31.58 11.7067 32 13.7867 32 16C32 18.2133 31.58 20.2933 30.74 22.24C29.9 24.1867 28.76 25.88 27.32 27.32C25.88 28.76 24.1867 29.9 22.24 30.74C20.2933 31.58 18.2133 32 16 32Z" fill="%23014042"/></svg>');
}
.sport-icon--4 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="35" viewBox="0 0 32 35" fill="none"><path d="M2.28 30.2418L0 28.0214L6.56 21.5185C7.38667 20.6991 7.95333 19.6748 8.26 18.4456C8.56667 17.2164 8.72 15.3329 8.72 12.7953C8.72 11.2621 9.06667 9.75532 9.76 8.275C10.4533 6.79468 11.44 5.4201 12.72 4.15126C15.1467 1.74575 17.8267 0.384385 20.76 0.067174C23.6933 -0.250037 26.1067 0.556207 28 2.48591C29.92 4.38917 30.72 6.79468 30.4 9.70245C30.08 12.6102 28.72 15.2536 26.32 17.6327C25.04 18.9016 23.6533 19.8796 22.16 20.5669C20.6667 21.2542 19.1467 21.5978 17.6 21.5978C15.0133 21.5978 13.12 21.7432 11.92 22.034C10.72 22.3248 9.69333 22.8931 8.84 23.739L2.28 30.2418ZM13.28 16.9983C14.5333 18.2143 16.2267 18.6637 18.36 18.3464C20.4933 18.0292 22.4 17.0379 24.08 15.3726C25.7867 13.6808 26.8067 11.7841 27.14 9.68262C27.4733 7.5811 27.0133 5.93557 25.76 4.74603C24.48 3.47719 22.8067 3.00137 20.74 3.31858C18.6733 3.63579 16.7733 4.6403 15.04 6.33209C13.36 7.99744 12.34 9.88088 11.98 11.9824C11.62 14.0839 12.0533 15.7559 13.28 16.9983ZM25.6 35C23.84 35 22.3333 34.3788 21.08 33.1364C19.8267 31.894 19.2 30.4004 19.2 28.6558C19.2 26.9111 19.8267 25.4176 21.08 24.1752C22.3333 22.9328 23.84 22.3116 25.6 22.3116C27.36 22.3116 28.8667 22.9328 30.12 24.1752C31.3733 25.4176 32 26.9111 32 28.6558C32 30.4004 31.3733 31.894 30.12 33.1364C28.8667 34.3788 27.36 35 25.6 35ZM25.6 31.8279C26.48 31.8279 27.2333 31.5173 27.86 30.8961C28.4867 30.2749 28.8 29.5281 28.8 28.6558C28.8 27.7835 28.4867 27.0367 27.86 26.4155C27.2333 25.7943 26.48 25.4837 25.6 25.4837C24.72 25.4837 23.9667 25.7943 23.34 26.4155C22.7133 27.0367 22.4 27.7835 22.4 28.6558C22.4 29.5281 22.7133 30.2749 23.34 30.8961C23.9667 31.5173 24.72 31.8279 25.6 31.8279Z" fill="%23014042"/></svg>');
}
.sport-icon--5 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="29" viewBox="0 0 32 29" fill="none"><path d="M1.87056 29L0 27.1116L4.87683 22.1884L3.4071 18.2093C3.25122 17.8047 3.21781 17.3382 3.30689 16.8099C3.39596 16.2816 3.65205 15.8039 4.07516 15.3767L8.48434 10.9256C8.75157 10.6558 9.04106 10.4535 9.35282 10.3186C9.66458 10.1837 10.0097 10.1163 10.3883 10.1163C10.7669 10.1163 11.112 10.1837 11.4238 10.3186C11.7356 10.4535 12.0251 10.6558 12.2923 10.9256L14.9645 13.5558C15.5658 14.1628 16.3006 14.6405 17.1691 14.989C18.0376 15.3374 18.9729 15.5116 19.9749 15.5116V18.2093C18.6388 18.2093 17.3918 17.9957 16.2338 17.5686C15.0759 17.1415 14.0738 16.5008 13.2276 15.6465L12.2923 14.7023L9.1524 17.8721L11.9582 20.7721V29H9.28601V21.9186L7.54906 20.3V23.2674L1.87056 29ZM19.9749 29V19.5581L22.7808 16.8605L21.9791 12.1395C21.6451 12.5442 21.2777 12.9039 20.8768 13.2186C20.476 13.5333 20.0418 13.8256 19.5741 14.0953C18.8392 14.0504 18.1434 13.893 17.4864 13.6233C16.8295 13.3535 16.2784 12.9938 15.833 12.5442C16.8351 12.3643 17.7202 12.0215 18.4885 11.5157C19.2568 11.0099 19.8859 10.3636 20.3758 9.57674L21.7119 7.4186C22.0905 6.81163 22.6138 6.40136 23.2818 6.18779C23.9499 5.97423 24.6068 6.00233 25.2526 6.27209L32 9.17209V15.5116H29.3278V10.9256L26.9228 9.9814L30.6639 29H27.858L25.453 18.8837L22.6472 21.5814V29H19.9749ZM15.2985 10.7907C14.5637 10.7907 13.9346 10.5266 13.4113 9.99826C12.888 9.46996 12.6263 8.83488 12.6263 8.09302C12.6263 7.35116 12.888 6.71609 13.4113 6.18779C13.9346 5.6595 14.5637 5.39535 15.2985 5.39535C16.0334 5.39535 16.6625 5.6595 17.1858 6.18779C17.7091 6.71609 17.9708 7.35116 17.9708 8.09302C17.9708 8.83488 17.7091 9.46996 17.1858 9.99826C16.6625 10.5266 16.0334 10.7907 15.2985 10.7907ZM21.9791 5.39535C21.2443 5.39535 20.6152 5.1312 20.0919 4.60291C19.5685 4.07461 19.3069 3.43953 19.3069 2.69767C19.3069 1.95581 19.5685 1.32074 20.0919 0.792442C20.6152 0.264147 21.2443 0 21.9791 0C22.714 0 23.3431 0.264147 23.8664 0.792442C24.3897 1.32074 24.6514 1.95581 24.6514 2.69767C24.6514 3.43953 24.3897 4.07461 23.8664 4.60291C23.3431 5.1312 22.714 5.39535 21.9791 5.39535Z" fill="%23014042"/></svg>');
}
.sport-icon--6 {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="26" viewBox="0 0 32 26" fill="none"><path d="M19.2 22.75C21.8667 22.75 24.1333 21.8021 26 19.9062C27.8667 18.0104 28.8 15.7083 28.8 13C28.8 10.2646 27.82 7.95573 25.86 6.07344C23.9 4.19115 21.5467 3.25 18.8 3.25C17.52 3.25 16.28 3.39896 15.08 3.69688C13.88 3.99479 12.72 4.44167 11.6 5.0375L15.6 6.6625C16.6933 7.12292 17.5667 7.83385 18.22 8.79531C18.8733 9.75677 19.2 10.8333 19.2 12.025C19.2 13.65 18.6467 15.0312 17.54 16.1687C16.4333 17.3062 15.0933 17.875 13.52 17.875H3.28C3.22667 18.525 3.2 19.263 3.2 20.0891C3.2 20.9151 3.2 21.8021 3.2 22.75H19.2ZM3.84 14.625H13.44C14.16 14.625 14.7667 14.3745 15.26 13.8734C15.7533 13.3724 16 12.7563 16 12.025C16 11.5104 15.86 11.0432 15.58 10.6234C15.3 10.2036 14.9067 9.88542 14.4 9.66875L8.48 7.23125C7.36 8.23333 6.40667 9.37083 5.62 10.6438C4.83333 11.9167 4.24 13.2437 3.84 14.625ZM19.2 26H3.2C2.32 26 1.56667 25.6818 0.94 25.0453C0.313333 24.4089 0 23.6437 0 22.75V19.0938C0 16.4396 0.493333 13.9547 1.48 11.6391C2.46667 9.32344 3.80667 7.30573 5.5 5.58594C7.19333 3.86615 9.18667 2.50521 11.48 1.50313C13.7733 0.501042 16.2133 0 18.8 0C20.6133 0 22.32 0.338542 23.92 1.01562C25.52 1.69271 26.92 2.62031 28.12 3.79844C29.32 4.97656 30.2667 6.35104 30.96 7.92188C31.6533 9.49271 32 11.1854 32 13C32 14.7875 31.6667 16.4734 31 18.0578C30.3333 19.6422 29.42 21.0234 28.26 22.2016C27.1 23.3797 25.74 24.3073 24.18 24.9844C22.62 25.6615 20.96 26 19.2 26Z" fill="%23014042"/></svg>');
}
.sport-name {
    color: var(--primary);
    font-weight: bold;
    flex: 1;
}

/* Mobile optimizations */
@media only screen and (max-width: 768px) {
    .sortable-item {
        padding: 0.875rem 1rem;
    }
    
    .drag-handle {
        min-width: 28px;
        font-size: 1.25rem;
    }
    
    .order-number {
        width: 45px;
        height: 45px;
        font-size: 1.125rem;
    }
    
    .sport-icon {
        font-size: 1.25rem;
        min-width: 28px;
    }
    
    .sport-name {
        font-size: 0.9375rem;
    }
}

/* ========================================
   FORM STEPS / STEP 5 - SWIPE CARDS
   ======================================== */
.swipe-container {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 2rem 0;
}

.cards-stack {
    position: relative;
    width: 100%;
    height: auto; /* Se calcula dinámicamente con JavaScript */
    margin-bottom: 2rem;
}
.card {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    max-width: 330px;
    width: 100%;
    /* min-height: 500px;
    height: 100%; */
    margin: auto;
    /* background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/4f573e94-b887-4bf7-8ad0-531f41600506.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; */
    background-color: var(--primary);
    border: 10px solid #001819;
    border-radius: var(--border-radius-lg);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    cursor: grab;
    transition: transform 0.3s ease, opacity 0.3s ease;
    pointer-events: none;
}
.card.active {
    pointer-events: auto;
    z-index: 10;
}
.card.swiped {
    display: none;
}
.card-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--white);
    padding: 1.5rem;
}
.card-content img {
    display: block;
    max-width: 150px;
    width: 100%;
    height: auto;
}
.card img.img-fluid {
    aspect-ratio: 9 / 14;
    border-radius: 12px;
}
.card-content img.v2 {
    max-width: 250px;
}
.card p {
    font-size: 1rem;
    text-align: center;
}
.card-badge {
    display: table;
    font-size: 0.875rem;
    font-weight: 700;
    margin: 0 auto 1rem;
    padding: 0.38rem .5rem;
    background: #00954C;
    border-radius: 0.75rem;
}
.card .card-title {
    font-size: clamp(1.25rem, 0.7166rem + 0.8611vw, 1.75rem);
    font-weight: bold;
    text-align: center;
    color: var(--white);
}
.card-counter {
    text-align: center;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--light);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 1.5rem;
}
.swipe-btn {
    padding: 0.875rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    border: none;
    border-radius: var(--border-radius-md);
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

#multi-step-form button.swipe-pass {
    border-color: var(--accent-1);
    background-color: var(--accent-1);
    color: var(--white);
}

#multi-step-form button.swipe-pass:hover {
    background-color: #ac0412;
    border-color: #ac0412;
    transform: scale(1.05);
}

#multi-step-form button.swipe-interest {
    background-color: var(--accent-2);
    color: var(--black);
}

#multi-step-form button.swipe-interest:hover {
    background-color: #27ce43;
    border-color: #27ce43;
    transform: scale(1.05);
}

/* Confirmation screen */
.confirmation-screen {
    text-align: center;
    padding: 2rem;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animaciones para transiciones entre steps */
@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeOutLeft {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(-30px);
    }
}

@keyframes fadeOutRight {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(30px);
    }
}

.fade-in-right {
    animation: fadeInRight 0.3s ease forwards;
}

.fade-in-left {
    animation: fadeInLeft 0.3s ease forwards;
}

.fade-out-left {
    animation: fadeOutLeft 0.3s ease forwards;
}

.fade-out-right {
    animation: fadeOutRight 0.3s ease forwards;
}

.confirmation-screen h3 {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--light);
    margin-bottom: 1.5rem;
}

.selected-items {
    background-color: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(240, 246, 246, 0.3);
    border-radius: var(--border-radius-lg);
    padding: 1.5rem;
    margin-bottom: 2rem;
    min-height: 150px;
    max-height: 300px;
    overflow-y: auto;
}

.selected-item {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--accent-2);
    padding: 0.75rem 1rem;
    background-color: rgba(12, 233, 137, 0.1);
    border-radius: var(--border-radius-md);
    margin-bottom: 0.75rem;
    text-align: left;
}

.selected-item:last-child {
    margin-bottom: 0;
}

.no-selections {
    font-size: 1rem;
    color: var(--light);
    opacity: 0.7;
    font-style: italic;
}

.confirmation-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-reset,
.btn-submit {
    padding: 0.875rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    border: none;
    border-radius: var(--border-radius-md);
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-reset {
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--light);
    border: 2px solid rgba(240, 246, 246, 0.5);
}

.btn-reset:hover {
    background-color: rgba(255, 255, 255, 0.3);
    border-color: var(--light);
    transform: scale(1.05);
}

.btn-submit {
    background-color: var(--accent-2);
    color: var(--black);
}

.btn-submit:hover {
    background-color: #0ae89d;
    transform: scale(1.05);
}

/* Summary in Step 6 */
.swipe-summary {
    margin: 2rem 0;
}

.swipe-summary h4 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.summary-items {
    padding-left: 1rem;
}
.summary-item {
    display: list-item;
    list-style: disc;
    color: var(--white);
    margin-bottom: .25rem;
    text-align: left;
}
.summary-item:last-child {
    margin-bottom: 0;
}

.no-selections-summary {
    font-size: 1rem;
    color: var(--light);
    opacity: 0.7;
    font-style: italic;
    text-align: center;
}



/* ========================================
   RESPONSIVE
   ======================================== */
@media only screen and (max-width: 991px) {
    .form-check-label {
        flex: 1;
    }
    
    .ty-page {
        padding-block: 0;
    }
    
    /* Reduce content-visibility complexity on mobile */
    .block, .hero, .form-content, .banner, .navbar, .footer {
        contain: layout;
    }


    .family-icon {
        width: 1.75rem;
        height: 1.75rem;
        background-size: 70% auto;
    }
    .order-number {
        width: 1.75rem;
        height: 1.75rem;
        font-size: .9rem;
    }

    .swipe-container {
        max-width: 100%;
        padding: 1rem 0;
    }
    
    .cards-stack {
        height: 350px;
    }
    .card-content {
        padding: 1.5rem;
    }
    .swipe-btn {
        padding: 0.75rem 1.5rem;
        font-size: 0.875rem;
    }
    .selected-items {
        padding: 1rem;
        max-height: 250px;
    }
    .selected-item {
        padding: 0.625rem 0.875rem;
    }
    .confirmation-buttons {
        flex-direction: column;
    }
}

@media only screen and (max-width: 376px) {
    .container, .container-fluid {
        padding-inline: 0;
    }
}

/* ========================================
   PREVENT FOUC (Flash of Unstyled Content)
   ======================================== */
/* Ocultar todos los steps por defecto excepto el primero */
#multi-step-form:not(.js-ready) .step:not(.step-1) {
    display: none;
}