@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

@font-face {
  font-family: "Rubik Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 300 900;
  src: url("../fonts/rubik_latin-wght-normal.woff2") format("woff2-variations");
  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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Open Sauce Two";
  font-display: "swap";
  src: url("../fonts/open-sauce-two-latin-300-normal.woff2") format("woff2"), url("../fonts/open-sauce-two-latin-300-normal.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Open Sauce Two";
  font-display: "swap";
  src: url("../fonts/open-sauce-two-latin-400-normal.woff2") format("woff2"), url("../fonts/open-sauce-two-latin-400-normal.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Open Sauce Two";
  font-display: "swap";
  src: url("../fonts/open-sauce-two-latin-500-normal.woff2") format("woff2"), url("../fonts/open-sauce-two-latin-500-normal.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Open Sauce Two";
  font-display: "swap";
  src: url("../fonts/open-sauce-two-latin-600-normal.woff2") format("woff2"), url("../fonts/open-sauce-two-latin-600-normal.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Open Sauce Two";
  font-display: "swap";
  src: url("../fonts/open-sauce-two-latin-700-normal.woff2") format("woff2"), url("../fonts/open-sauce-two-latin-700-normal.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Open Sauce Two";
  font-display: "swap";
  src: url("../fonts/open-sauce-two-latin-800-normal.woff2") format("woff2"), url("../fonts/open-sauce-two-latin-800-normal.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Open Sauce Two";
  font-display: "swap";
  src: url("../fonts/open-sauce-two-latin-900-normal.woff2") format("woff2"), url("../fonts/open-sauce-two-latin-900-normal.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
.m3-alert {
  border: 1px solid transparent;
  padding: 1.4em 1.6em;
  border-radius: 0.4em;
  display: flex;
  font-size: 15px;
}
.m3-alert .m3-alert__icon {
  font-size: 0;
  margin-right: 12px;
}
.m3-alert.m3-alert--sm {
  font-size: 14px;
  padding: 0.6em 0.8em;
}
.m3-alert--info {
  color: #004f92;
  background-color: #c5e4ff;
  border-color: #92cdff;
}
.m3-alert--warning {
  color: #ba160a;
  background-color: #fccbc7;
  border-color: #fbb4af;
}
.m3-alert--alert {
  color: #b97700;
  background-color: #ffedcd;
  border-color: #ffd486;
}
.m3-alert--success {
  color: #267c43;
  background-color: #cbefd7;
  border-color: #90deaa;
}
.m3-alert.inline {
  background-color: transparent !important;
  padding: 0;
  border: 0;
  box-shadow: none;
  font-size: 15px;
  font-weight: 500;
}
.m3-alert h5 {
  margin: 0 0 5px 0;
  font-size: 15px;
}
.m3-alert p {
  font-weight: inherit !important;
  color: inherit !important;
  font-size: inherit !important;
}
.m3-alert p:last-child {
  margin-bottom: 0;
}

.m3-badge {
  padding: 0.2em 0.8em;
  font-size: 13px;
  font-weight: 500;
  height: 1.8em;
  display: inline-flex;
  align-items: center;
  border-radius: 1em;
}
.m3-badge.m3-badge--green {
  background-color: rgba(66, 198, 110, 0.15);
  color: #2b904d;
}
.m3-badge.m3-badge--red {
  background-color: rgba(244, 67, 54, 0.12);
  color: #ea1c0d;
}
.m3-badge.m3-badge--yellow {
  background-color: rgba(255, 176, 32, 0.15);
  color: #d88b00;
}
.m3-badge.m3-badge--blue {
  background-color: rgba(0, 134, 248, 0.1);
  color: #0086f8;
}
.m3-badge.m3-badge--time {
  background-color: rgba(0, 134, 248, 0.1);
  color: #0086f8;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.m3-badge.m3-badge--time svg {
  margin-right: 0.2em;
}

.hidden-input {
  width: 0;
  height: 0;
  visibility: hidden;
  margin: 0;
  padding: 0;
}

.form-group {
  margin-bottom: 10px;
}

.m3-label {
  font-size: 13px;
  margin: 0 0 3px 0;
  display: block;
}

.m3-input {
  border: 1px solid #cecece;
  background: white;
  min-height: 50px;
  width: 100%;
  border-radius: 5px;
  padding: 0 10px;
  outline: none;
  box-shadow: 0 0 0 0px rgba(178, 208, 255, 0.3882352941);
  transition: 0.2s box-shadow;
}
.m3-input:hover, .m3-input:active, .m3-input:focus {
  border: 1px solid #afcbcc;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.m3-input[disabled] {
  background: #eee;
}

textarea.m3-input {
  padding: 10px;
  height: 150px;
}

.m3-card {
  border-radius: 9px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  background: #ffffff;
  padding: 30px;
}

.btn-white {
  justify-content: center;
  border: 0;
  background: white;
  border-radius: 7px;
  padding: 1em 1.3em;
  cursor: pointer;
  transition: 0.2s background-color, 0.1s transform, 0.1s box-shadow;
  display: inline-flex;
  position: relative;
  color: var(--accent);
  letter-spacing: -0.02em;
}
.btn-white:hover {
  background: white;
  box-shadow: 0 0 0 3px var(--accent), 0 0 0 5px white;
}
.btn-white:active {
  transform: scale(0.98);
}

.btn-shade {
  justify-content: center;
  border: 0;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 7px;
  padding: 1em 1.3em;
  cursor: pointer;
  display: inline-flex;
  position: relative;
  color: white;
  letter-spacing: -0.02em;
  transition: 0.2s background-color, 0.1s transform, 0.1s box-shadow;
}
.btn-shade:hover {
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px var(--accent), 0 0 0 5px rgba(0, 0, 0, 0.4);
}
.btn-shade:active {
  transform: scale(0.98);
}

.simulabutto {
  border-radius: 7px;
  padding: 1em 1.3em;
  font-size: 12px;
  border-radius: 7px;
  cursor: pointer;
}

/* light gray button disabled */
.btn-disabled {
  justify-content: center;
  border: 0;
  background: #eee;
  border-radius: 7px;
  padding: 1em 1.3em;
  cursor: not-allowed;
  display: inline-flex;
  position: relative;
  color: #999;
  letter-spacing: -0.02em;
}

.btn-accent {
  display: inline-flex;
  justify-content: center;
  border: 0;
  background: var(--accent);
  border-radius: 7px;
  padding: 1em 1.3em;
  cursor: pointer;
  transition: 0.2s background-color, 0.1s transform, 0.1s box-shadow;
  position: relative;
  color: white;
  letter-spacing: -0.02em;
  z-index: 1;
}
.btn-accent:hover {
  box-shadow: 0 0 0 2px white, 0 0 0 4px #93c5fd;
}
.btn-accent:active {
  transform: scale(0.98);
}
.btn-accent.loading {
  background-image: url("../../assets/img/spinner.svg");
  background-repeat: no-repeat;
  background-size: 17px;
  background-position: 14px calc(50% - 0px);
  padding-left: 40px !important;
  pointer-events: none;
  opacity: 0.8;
}

.btn-light {
  justify-content: center;
  border: 0;
  background: var(--secondaryaccent);
  border-radius: 7px;
  padding: 1em 1.3em;
  cursor: pointer;
  transition: 0.2s background-color, 0.1s transform;
  display: inline-flex;
  position: relative;
  color: #000;
  letter-spacing: -0.02em;
  z-index: 1;
}
.btn-light:before {
  border-radius: 8px;
  content: "";
  inset: 0;
  position: absolute;
  box-shadow: 0 0 0 2px var(--secondaryaccent);
  transition: 0.2s transform, 0.1s opacity;
  opacity: 0;
}
.btn-light:after {
  border-radius: 8px;
  content: "";
  inset: 0;
  position: absolute;
  transition: 0.2s transform, 0.1s opacity;
  background-color: rgba(255, 255, 255, 0.2);
  opacity: 0;
  z-index: -1;
}
.btn-light:hover:after {
  opacity: 1;
}
.btn-light:hover:before {
  opacity: 1;
  transform: scale(1.05, 1.15);
}
.btn-light:active {
  transform: scale(0.98);
}

dialog.m3-modal {
  max-width: 500px;
  width: calc(100% - 20px);
  border: 0;
  padding: 30px 30px;
  border-radius: 10px;
  min-width: 300px;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1), 0px 1px 1px 0px rgba(0, 0, 0, 0.17), 0 0 0 2px rgba(0, 0, 0, 0.1215686275);
}
dialog.m3-modal .title {
  line-height: 1;
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}
dialog.m3-modal .btn-close {
  width: 35px;
  height: 35px;
  position: absolute;
  top: 15px;
  right: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  z-index: 1;
  background: transparent;
}
dialog.m3-modal .btn-close svg {
  width: 9px;
  height: 9px;
}
dialog.m3-modal .btn-close:hover svg {
  color: var(--accent);
}
dialog.m3-modal .btn-close:before {
  background: rgba(202, 202, 202, 0.44);
  content: "";
  border-radius: 6px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  display: block;
  transition: 0.6s scale, 0.2s box-shadow, 0.2s background-color;
  transition-timing-function: var(--ease-out);
}
dialog.m3-modal .btn-close:hover:before {
  background: #eee;
  scale: 1.05;
  box-shadow: 0px 0px 0px 2px var(--accent);
}
dialog.m3-modal::backdrop {
  -webkit-backdrop-filter: blur(0.5px);
          backdrop-filter: blur(0.5px);
}

.m3-input {
  border: 1px solid #cecece;
  background: white;
  min-height: 50px;
  width: 100%;
  border-radius: 5px;
  padding: 0 10px;
  outline: none;
  box-shadow: 0 0 0 0px rgba(178, 208, 255, 0.3882352941);
  transition: 0.2s box-shadow;
}
.m3-input:hover, .m3-input:active, .m3-input:focus {
  border: 1px solid #afcbcc;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.m3-input[disabled] {
  background: #eee;
}

.m3-buscador-sucursal:focus-within .dropdown, .m3-buscador-sucursal.active .dropdown {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0px);
}
.m3-buscador-sucursal .dropdown {
  z-index: 50;
  border-radius: 10px;
  max-height: 300px;
  top: 55px;
  overflow: auto;
  background-color: white;
  position: absolute;
  left: 0;
  right: 0;
  box-shadow: var(--card-shadow);
  padding: 15px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(10px);
  transition: 0.2s opacity, 0.2s transform;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.m3-buscador-sucursal .dropdown:focus-within, .m3-buscador-sucursal .dropdown:focus, .m3-buscador-sucursal .dropdown:hover {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0px);
}
.m3-buscador-sucursal .dropdown .empty {
  text-align: center;
  background: var(--bg-card);
  padding: 15px;
  border-radius: 4px;
  border: 1px dashed var(--border-1);
  color: var(--color-title);
  font-size: 14px;
}
.m3-buscador-sucursal .dropdown .dropdown-item {
  line-height: 1;
  display: block;
  padding: 8px;
  box-shadow: 0 0 0 1px var(--border-1);
  border-radius: 4px;
  margin-bottom: 10px;
  transition: 0.2s box-shadow, 0.2s border-color;
  outline: none;
  text-decoration: none;
  border: 1px solid #d9d9d9;
}
.m3-buscador-sucursal .dropdown .dropdown-item:last-child {
  margin-bottom: 0;
}
.m3-buscador-sucursal .dropdown .dropdown-item:focus, .m3-buscador-sucursal .dropdown .dropdown-item:hover {
  background: #eee;
}
.m3-buscador-sucursal .dropdown .item-name {
  font-weight: 600;
  letter-spacing: -0.02em;
  transition: 0.2s color;
  margin-bottom: 2px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14px;
  height: 1.1em;
}
.m3-buscador-sucursal .dropdown .item-ubicacion {
  font-size: 13px;
  color: #8f8f8f;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.m3-full-loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(27, 26, 40, 0.3);
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: m3_full_loader 0.5s 1;
  animation-fill-mode: forwards;
}
.m3-full-loader .card-loader {
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1), 0px 1px 1px 0px rgba(0, 0, 0, 0.17);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  background: white;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 20px;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: -0.02em;
  font-weight: 500;
}
.m3-full-loader .card-loader span {
  color: rgb(69, 73, 80);
}
.m3-full-loader .card-loader .m3-spinner {
  width: 1em;
  height: 1em;
}

@keyframes m3_full_loader {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.m3-spinner {
  display: inline-block;
  width: 24px;
  height: 24px;
  border: 0.15em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite m3_loader_rotate;
}
.m3-spinner.lg {
  width: 30px;
  height: 30px;
}
.m3-spinner.xl {
  width: 35px;
  height: 35px;
}
.m3-spinner.sm {
  width: 20px;
  height: 20px;
}

@keyframes m3_loader_rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.section-book {
  background-color: var(--accent);
  text-align: center;
  padding: 70px 20px 90px 20px;
  margin-top: 20px;
}
.section-book h2 {
  margin-top: 0;
  font-size: 40px;
  color: white;
  letter-spacing: -0.05em;
}
.section-book > div {
  display: flex;
  gap: 10px;
  justify-content: center;
}
@media (max-width: 730px) {
  .section-book h2 {
    font-size: 30px;
  }
  .section-book > div {
    align-items: center;
    flex-direction: column;
  }
}

.main-footer {
  position: relative;
  padding: 20px 0 20px;
  margin-top: 60px;
}
.main-footer:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 40px);
  max-width: 1060px;
  border-top: 1px solid #a6a6a6;
}
.main-footer .logo img {
  height: 50px;
  width: 150px;
  -o-object-fit: contain;
     object-fit: contain;
}
.main-footer .section-contacto {
  padding: 0 20px;
  margin: -30px auto 0 auto;
  max-width: 1100px;
  display: flex;
  gap: 20px;
}
.main-footer .section-contacto .btn-contacto {
  flex-grow: 1;
  color: black;
  padding: 50px;
  display: inline-flex;
  flex-direction: column;
  font-family: var(--font-title);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.04em;
  z-index: 1;
  position: relative;
}
.main-footer .section-contacto .btn-contacto svg {
  width: 40px;
  margin-bottom: 20px;
}
.main-footer .section-contacto .btn-contacto span {
  font-weight: 800;
}
.main-footer .section-contacto .btn-contacto:before {
  z-index: -1;
  border-radius: 15px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  content: "";
  box-shadow: var(--card-shadow);
  background: #ffffff;
  position: absolute;
  inset: 0;
  transition: 0.2s transform;
  transition-timing-function: var(--ease-out);
}
.main-footer .section-contacto .btn-contacto:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 15px;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
  opacity: 0;
  transition: 0.4s transform, 0.2s opacity;
  transition-timing-function: var(--ease-out);
}
.main-footer .section-contacto .btn-contacto:hover:before {
  transform: scale(1.05);
}
.main-footer .section-contacto .btn-contacto:hover:after {
  opacity: 1;
  transform: scale(1.05);
}
.main-footer .section-footer {
  gap: 20px;
  padding: 0 20px;
  display: flex;
  margin: 40px auto 0 auto;
  max-width: 1100px;
}
.main-footer .section-footer > div {
  flex-grow: 1;
}
.main-footer .section-footer h3 {
  margin-top: 0;
}
.main-footer .section-footer ul {
  list-style: none;
  padding: 0;
}
.main-footer .section-footer ul a {
  color: #404040;
  font-size: 17px;
  margin-bottom: 6px;
  display: inline-flex;
}
.main-footer .section-footer ul a:hover {
  color: var(--accent);
  text-decoration: underline;
}
.main-footer .section-footer .contacto {
  display: flex;
  flex-direction: column;
  color: #404040;
  gap: 10px;
}
.main-footer .section-footer .contacto svg {
  width: 20px;
  height: 20px;
  stroke: #333;
}
.main-footer .section-footer .contacto li {
  display: flex;
  gap: 10px;
  align-items: center;
}
.main-footer .section-footer .redes {
  display: flex;
  gap: 5px;
}
.main-footer .section-footer .redes a {
  background-color: var(--secondaryaccent);
  width: 50px;
  height: 50px;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.main-footer .section-footer .redes a svg {
  height: 15px;
  fill: #333;
}
.main-footer .section-footer .redes a:before {
  border-radius: 50%;
  content: "";
  inset: 0;
  position: absolute;
  box-shadow: 0 0 0 2px var(--secondaryaccent);
  transition: 0.3s transform, 0.1s opacity;
  opacity: 0;
  padding-top: 10px;
}
.main-footer .section-footer .redes a:hover {
  outline-offset: 2px;
}
.main-footer .section-footer .redes a:hover:before {
  opacity: 1;
  transform: scale(1.1);
}
.main-footer .section-copy {
  margin: 40px auto 0 auto;
  padding: 20px 20px 0 20px;
  max-width: 1100px;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #404040;
  border-top: 1px solid #a6a6a6;
}
.main-footer .section-copy a {
  text-decoration: underline;
}
@media (max-width: 1000px) {
  .main-footer .section-contacto .btn-contacto {
    padding: 30px;
    font-size: 20px;
  }
  .main-footer .section-contacto .btn-contacto svg {
    width: 30px;
  }
}
@media (max-width: 900px) {
  .main-footer .section-copy {
    justify-content: initial;
    display: block;
  }
  .main-footer .section-copy p {
    display: inline;
  }
  .main-footer .section-copy p:first-child:after {
    content: "•";
    padding: 0 5px;
  }
}
@media (max-width: 730px) {
  .main-footer .section-contacto {
    flex-direction: column;
  }
  .main-footer .section-footer {
    flex-direction: column;
  }
  .main-footer .section-footer h3 {
    font-size: 16px;
  }
}

.main-header {
  max-width: var(--width);
  margin: auto;
  margin-bottom: 20px;
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  align-items: center;
  z-index: 1;
  position: relative;
}
.main-header .logo {
  flex-grow: 1;
  display: flex;
  align-items: center;
}
.main-header .logo img {
  height: 50px;
  max-width: 150px;
  -o-object-fit: contain;
     object-fit: contain;
}
.main-header .btn-menu {
  flex-shrink: 0;
  background: transparent;
  border: 0;
  flex-direction: column;
  gap: 3px;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: none;
}
.main-header .btn-menu span {
  width: 20px;
  height: 2px;
  background: var(--accent);
  display: block;
  pointer-events: none;
  transition: 0.2s opacity, 0.2s transform, 0.2s translate;
}
.main-header .btn-menu.active span:first-child {
  transform: rotate(45deg);
  translate: 0 5px;
}
.main-header .btn-menu.active span:nth-child(2) {
  opacity: 0;
}
.main-header .btn-menu.active span:last-child {
  transform: rotate(-45deg);
  translate: 0 -5px;
}
.main-header nav.social {
  border-radius: 7px;
  padding: 8px;
  display: flex;
  gap: 3px;
  margin-right: 5px;
}
.main-header nav.social a {
  width: 35px;
  height: 40px;
  font-size: 14px;
  border-radius: 5px;
  color: black;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main-header nav.social a:before {
  border-radius: 5px;
  content: "";
  inset: 0;
  position: absolute;
  box-shadow: 0 0 0 2px var(--secondaryaccent);
  transition: 0.3s transform, 0.1s opacity;
  opacity: 0;
}
.main-header nav.social a:hover {
  outline-offset: 2px;
  background-color: var(--secondaryaccent);
}
.main-header nav.social a:hover:before {
  opacity: 1;
  transform: scale(1.1);
}
.main-header nav.social svg {
  height: 14px;
  fill: #333;
}
.main-header nav.menu {
  background-color: #f5f5f5;
  border: 1px solid #dfdfdf;
  border-radius: 7px;
  padding: 8px;
  display: flex;
  gap: 5px;
}
.main-header nav.menu a {
  padding: 10px 13px;
  font-size: 14px;
  border-radius: 5px;
  color: black;
  position: relative;
  white-space: nowrap;
  transition: 0.2s background-color, 0.2s box-shadow;
}
.main-header nav.menu a:hover {
  background-color: var(--secondaryaccent);
  box-shadow: 0 0 0 2px #f5f5f5, 0 0 0 4px var(--secondaryaccent);
}
.main-header nav.menu .btn-book {
  white-space: nowrap;
  display: flex;
  background-color: var(--accent);
  color: white;
  position: relative;
  z-index: 1;
  gap: 8px;
  transition: 0.2s box-shadow;
  align-items: center;
}
.main-header nav.menu .btn-book:hover {
  background-color: var(--accent);
  box-shadow: 0 0 0 2px #f5f5f5, 0 0 0 4px var(--accent);
}
.main-header nav.menu .btn-book::before {
  content: none;
}
.main-header nav.menu .btn-book svg {
  width: 12px;
  height: 12px;
}
.main-header .menu-mobile {
  display: flex;
  flex-direction: column;
  z-index: -1;
  background: white;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  transform: translateY(-100%);
  transition-timing-function: var(--ease-out);
  transition: 0.2s transform, 0.1s opacity;
  box-shadow: 0px 8px 3px rgba(0, 0, 0, 0.05), 0px 3px 2px rgba(0, 0, 0, 0.09), 0px 1px 2px rgba(0, 0, 0, 0.1);
  opacity: 0;
  padding-top: 80px;
}
.main-header .menu-mobile .links {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.main-header .menu-mobile .links a {
  border-top: 1px solid #dfdfdf;
  padding: 10px;
  color: black;
}
.main-header .menu-mobile .social {
  display: flex;
  border-top: 1px solid #dfdfdf;
}
.main-header .menu-mobile .social a {
  flex-grow: 1;
  border-right: 1px solid #dfdfdf;
  padding: 20px 10px;
  text-align: center;
  font-size: 0;
}
.main-header .menu-mobile .social svg {
  width: 15px;
}
.main-header .menu-mobile .btn-book {
  align-items: center;
  display: flex;
  gap: 8px;
}
.main-header .menu-mobile .btn-book svg {
  width: 12px;
  height: 12px;
}
.main-header.active .menu-mobile {
  opacity: 1;
  transform: translateY(0%);
}
@media (max-width: 1030px) {
  .main-header nav.menu {
    padding: 8px 15px;
  }
  .main-header .btn-menu {
    margin: -10px -10px -10px 0;
    display: flex;
    width: 40px;
    height: 55px;
  }
  .main-header nav.menu a {
    display: none;
  }
}
@media (max-width: 850px) {
  .main-header nav.social {
    display: none;
  }
}
@media (max-width: 550px) {
  .main-header .btn-menu {
    margin: -10px;
  }
  .main-header nav.menu .btn-book {
    display: none;
  }
}

.section-ideal {
  padding: 0 30px;
  margin-top: 10px;
  margin-bottom: 10px;
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: #f4f4f4;
}
.section-ideal .content {
  margin: auto;
  display: flex;
  gap: 10px;
  max-width: 950px;
  align-items: center;
  justify-content: space-between;
}
.section-ideal .content > div {
  gap: 15px;
  display: flex;
}
.section-ideal .buttons {
  display: flex;
  flex-direction: column;
}
.section-ideal .sizes {
  gap: 15px;
  display: flex;
}
.section-ideal .btn-propiedad {
  width: 100%;
  align-items: center;
  padding: 20px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  gap: 10px;
  position: relative;
  z-index: 1;
  color: black;
  margin-top: 10px;
}
.section-ideal .btn-propiedad:before {
  border-radius: 10px;
  background: white;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  display: block;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1), 0px 1px 1px 0px rgba(0, 0, 0, 0.17);
  transition: 0.6s scale, 0.2s box-shadow, 0.2s background-color;
  transition-timing-function: var(--ease-out);
}
.section-ideal .btn-propiedad:hover:before {
  scale: 1.01;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1), 0px 1px 1px 0px rgba(0, 0, 0, 0.17), 0px 0px 0px 3px rgba(33, 91, 173, 0.431372549);
}
.section-ideal .btn-propiedad h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}
.section-ideal h2 {
  margin: 0;
  letter-spacing: -0.06em;
  text-wrap: balance;
  font-weight: 500;
  font-size: 45px;
  color: var(--accent);
}
.section-ideal .card-box {
  width: 250px;
  flex-grow: 1;
  color: black;
  padding: 50px;
  font-family: var(--font-title);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.04em;
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
}
.section-ideal .card-box img {
  height: 150px;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
}
.section-ideal .card-box strong {
  font-size: 22px;
  display: block;
  font-weight: 600;
}
.section-ideal .card-box span {
  color: rgba(0, 0, 0, 0.5);
  font-weight: 500;
  font-size: 12px;
  position: absolute;
  top: 25px;
  right: 25px;
  letter-spacing: initial;
  display: block;
}
.section-ideal .card-box:before {
  z-index: -1;
  border-radius: 15px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  content: "";
  box-shadow: var(--card-shadow);
  background: #ffffff;
  position: absolute;
  inset: 0;
  transition: 0.2s transform;
  transition-timing-function: var(--ease-out);
}
.section-ideal .card-box:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 15px;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
  opacity: 0;
  transition: 0.4s transform, 0.2s opacity;
  transition-timing-function: var(--ease-out);
}
.section-ideal .card-box:hover:before {
  transform: scale(1.05);
}
.section-ideal .card-box:hover:after {
  opacity: 1;
  transform: scale(1.05);
}
@media (max-width: 800px) {
  .section-ideal .content {
    flex-direction: column;
  }
  .section-ideal h2 {
    margin-bottom: 20px;
    font-size: 35px;
    text-align: center;
  }
  .section-ideal .card-box {
    width: 50%;
  }
}
@media (max-width: 550px) {
  .section-ideal .card-box {
    padding: 40px 20px 30px 20px;
  }
  .section-ideal .card-box img {
    height: 110px;
  }
  .section-ideal .card-box span {
    top: 20px;
    right: 15px;
  }
  .section-ideal .card-box strong {
    font-size: 18px;
  }
}

.section-hero {
  background-color: var(--accent);
  padding: 80px 20px 80px 80px;
  border-radius: 10px;
  max-width: var(--width);
  margin: auto;
  display: flex;
  width: calc(100% - 40px);
}
.section-hero h1 {
  color: white;
  margin: 0;
  font-size: 60px;
  letter-spacing: -0.04em;
}
.section-hero p {
  color: rgba(255, 255, 255, 0.6980392157);
  font-size: 18px;
}
.section-hero .content {
  text-wrap: balance;
  max-width: 50ch;
}
.section-hero .left {
  width: 50%;
  display: flex;
  align-items: center;
}
.section-hero .right {
  width: 50%;
  margin-top: -80px;
  margin-bottom: -80px;
  font-size: 0;
  position: relative;
}
.section-hero .right img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.section-hero .right:before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  width: 30px;
  background: var(--accent);
  -webkit-clip-path: polygon(0 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 100%, 0% 100%);
}
.section-hero .right:after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: -1px;
  width: 30px;
  background: var(--accent);
  -webkit-clip-path: polygon(100% 0px, 100% 100%, 0% 0%);
          clip-path: polygon(100% 0px, 100% 100%, 0% 0%);
}
@media (max-width: 1000px) {
  .section-hero {
    padding: 40px 0px 40px 50px;
    overflow: hidden;
  }
  .section-hero h1 {
    font-size: 40px;
  }
  .section-hero .right {
    margin-top: -40px;
    margin-bottom: -40px;
  }
  .section-hero .right img {
    max-height: 400px;
  }
}
@media (max-width: 600px) {
  .section-hero {
    flex-direction: column;
    padding: 0;
  }
  .section-hero h1 {
    font-size: 35px;
  }
  .section-hero .left {
    padding: 35px;
  }
  .section-hero .right:before, .section-hero .right:after {
    content: none;
  }
  .section-hero .right img {
    width: 100%;
    height: 200px;
  }
  .section-hero .left,
  .section-hero .right {
    margin: 0;
    width: 100%;
  }
}

.section-ubicaciones {
  padding: 40px 20px;
}
.section-ubicaciones h3 {
  color: var(--accent);
  margin-top: 0;
  letter-spacing: -0.04em;
  font-weight: 800;
  font-size: 35px;
  text-align: center;
}
.section-ubicaciones .content {
  max-width: var(--width);
  margin: auto;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.section-ubicaciones .item {
  width: calc(50% - 5px);
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  border-radius: 10px;
  background: white;
  display: flex;
  gap: 20px;
}
.section-ubicaciones .item .picture img {
  width: 150px;
  height: 150px;
  min-width: 150px;
  min-height: 150px;
  border-radius: 5px;
  -o-object-fit: cover;
     object-fit: cover;
}
.section-ubicaciones .item .data {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.section-ubicaciones .item .btn-accent {
  margin-top: auto;
  font-size: 13px;
}
.section-ubicaciones .item .address {
  color: #8f8f8f;
  display: flex;
  margin-bottom: 10px;
  gap: 7px;
  font-size: 14px;
}
.section-ubicaciones .item .address svg {
  width: 14px;
}
.section-ubicaciones .item h4 {
  margin: 0 0 5px 0;
  font-size: 20px;
  font-weight: 700;
}
.section-ubicaciones .btn-more {
  text-align: center;
  margin-top: 40px;
}
@media (max-width: 600px) {
  .section-ubicaciones .content {
    flex-direction: column;
  }
  .section-ubicaciones .item {
    width: 100%;
  }
}

.section-buscador {
  margin: 30px 0;
  padding: 0 20px;
}
.section-buscador .content {
  max-width: var(--width);
  margin: auto;
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  padding: 40px;
  background-color: white;
  align-items: center;
}
.section-buscador .left {
  flex: 1;
  min-width: 300px;
}
.section-buscador .right {
  flex: 1;
  min-width: 300px;
}
.section-buscador .right h2 {
  color: var(--accent);
  font-size: 35px;
  margin: 0 0 15px;
  letter-spacing: -0.04em;
  font-weight: 800;
}
.section-buscador .right p {
  color: #666;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
}
.section-buscador h3 {
  margin: 0 0 15px;
  color: var(--accent);
  letter-spacing: -0.02em;
}
.section-buscador input {
  border: 1px solid #d9d9d9;
  width: 100%;
  height: 50px;
  border-radius: 5px;
  padding: 15px;
  padding-left: 40px;
  font-size: 15px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.section-buscador input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.1);
}
.section-buscador form {
  position: relative;
}
.section-buscador .icon svg {
  width: 15px;
  position: absolute;
  top: 17px;
  left: 15px;
}
.section-buscador .m3-buscador-sucursal {
  width: 100%;
}
@media (max-width: 768px) {
  .section-buscador .content {
    padding: 30px;
    gap: 30px;
  }
  .section-buscador .right h2 {
    font-size: 28px;
  }
}

.section-mapa {
  padding: 40px 20px;
}
.section-mapa h3 {
  color: var(--accent);
  margin-top: 0;
  margin-bottom: 30px;
  letter-spacing: -0.04em;
  font-weight: 800;
  font-size: 35px;
  text-align: center;
}
.section-mapa .infowindow {
  display: flex;
  gap: 10px;
  padding: 10px;
  align-items: center;
  max-width: 250px;
  /* Set a max-width for the infowindow */
}
.section-mapa .infowindow h4 {
  margin: 0 0 0px 0;
  font-weight: 800;
  font-size: 15px;
  color: var(--accent);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px;
  /* Ensure text does not overflow */
}
.section-mapa .infowindow p {
  margin: 0;
  font-size: 14px;
  font-family: var(--font-text);
  color: #666;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px;
  /* Ensure text does not overflow */
}
.section-mapa .infowindow .inner {
  flex-shrink: 0;
  overflow: hidden;
  max-width: 120px;
  /* Ensure text does not overflow */
}
.section-mapa .infowindow img {
  width: 60px;
  height: 60px;
  border-radius: 5px;
  background-color: #eee;
  flex-shrink: 0;
}
.section-mapa .content {
  position: relative;
  max-width: var(--width);
  margin: auto;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.section-mapa .map {
  width: 100%;
  background: #eee;
  height: 450px;
  border-radius: 15px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
}
.section-mapa .map .leaflet-popup-content-wrapper {
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}
.section-mapa .map .leaflet-popup-content {
  margin: 0;
  line-height: initial;
}
.section-mapa .map .leaflet-container a {
  color: inherit;
  text-decoration: none;
}
.section-mapa .map .map-marker-black {
  filter: none;
  transform-origin: bottom;
}
.section-mapa .map .map-marker-black:hover {
  transform: scale(1.2) translateY(-5px);
  filter: none;
}
.section-mapa .map .leaflet-marker-icon {
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.section-mapa .map .leaflet-marker-icon:hover {
  transform: scale(1.2) translateY(-5px);
  filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.3));
}
.section-mapa .btn-user-location {
  position: absolute;
  right: 15px;
  top: 15px;
  z-index: 999;
  width: 45px;
  height: 45px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  cursor: pointer;
  transition: 0.2s transform;
}
.section-mapa .btn-user-location:hover {
  transform: scale(1.05);
}
.section-mapa .btn-user-location svg {
  width: 19px;
  height: 19px;
  color: var(--accent);
}

.section-testimonios {
  padding: 30px 0;
  max-width: 1200px;
  margin: auto;
  position: relative;
}
.section-testimonios h2 {
  color: var(--accent);
  margin: 0 0 30px 0;
  letter-spacing: -0.04em;
  font-weight: 800;
  font-size: 35px;
  text-align: center;
}
.section-testimonios .swiper {
  position: relative;
  padding: 0 60px;
}
.section-testimonios .swiper:before, .section-testimonios .swiper:after {
  content: none;
}
.section-testimonios button {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--accent);
  border: 0;
  border: 1px solid rgba(0, 0, 0, 0.5);
  cursor: pointer;
  box-shadow: 0px 13.6px 5.6px rgba(0, 0, 0, 0.01), 0px 7.9px 1.5px rgba(0, 0, 0, 0.05), 0px 3.4px 2.41px rgba(0, 0, 0, 0.09), 0px 1.1px 2.2px rgba(0, 0, 0, 0.1);
}
.section-testimonios button:after, .section-testimonios button:before {
  content: none;
}
.section-testimonios button svg {
  width: 15px;
}
.section-testimonios button.btn-left, .section-testimonios button.swiper-button-prev {
  left: 19%;
}
.section-testimonios button.btn-right, .section-testimonios button.swiper-button-next {
  right: 19%;
}
.section-testimonios button.swiper-button-prev,
.section-testimonios button.swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(33, 91, 173, 0.8);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  z-index: 10;
}
.section-testimonios button.swiper-button-prev {
  left: 10px;
}
.section-testimonios button.swiper-button-next {
  right: 10px;
}
.section-testimonios blockquote {
  height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  padding: 35px;
  box-shadow: var(--card-shadow);
  border-radius: 10px;
  background: white;
  margin: 5px 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.section-testimonios blockquote header {
  display: flex;
  gap: 10px;
  font-family: var(--font-title);
}
.section-testimonios blockquote > p {
  font-size: 15px;
  color: #404040;
  margin-bottom: 0;
}
.section-testimonios blockquote .name {
  display: flex;
  flex-direction: column;
}
.section-testimonios blockquote .name strong {
  font-size: 18px;
}
.section-testimonios blockquote .name span {
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
}
.section-testimonios blockquote .picture {
  flex-shrink: 0;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: #d9d9d9;
  overflow: hidden;
}
.section-testimonios blockquote .picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 600px) {
  .section-testimonios blockquote {
    padding: 35px 50px;
  }
  .section-testimonios .swiper:before, .section-testimonios .swiper::after {
    content: none;
  }
  .section-testimonios button.btn-left, .section-testimonios button.swiper-button-prev {
    left: 0;
  }
  .section-testimonios button.btn-right, .section-testimonios button.swiper-button-next {
    right: 0;
  }
}

.section-items {
  padding: 50px 0;
  border-radius: 10px;
  max-width: var(--width);
  margin: auto;
  display: flex;
  width: calc(100% - 40px);
  gap: 10px;
  align-items: center;
}
.section-items .item {
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 25px;
  border-radius: 8px;
  box-shadow: var(--card-shadow);
  flex-grow: 1;
  background-color: white;
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.04em;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
.section-items .item svg {
  stroke: var(--accent);
  width: 25px;
}
@media (max-width: 900px) {
  .section-items {
    flex-wrap: wrap;
  }
}
@media (max-width: 500px) {
  .section-items .item {
    font-size: 17px;
  }
  .section-items .item svg {
    width: 20px;
  }
}

.section-texto {
  padding: 50px 0;
  border-radius: 10px;
  max-width: var(--width);
  margin: auto;
  display: flex;
  width: calc(100% - 40px);
  gap: 40px;
  align-items: center;
}
.section-texto.alt .left {
  order: 2;
}
.section-texto .left {
  width: 50%;
}
.section-texto .right {
  width: 50%;
}
.section-texto img {
  height: 350px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.section-texto h3 {
  color: var(--accent);
  margin-top: 0;
  letter-spacing: -0.04em;
  font-weight: 800;
  font-size: 35px;
}
.section-texto p,
.section-texto ul {
  color: #404040;
  font-size: 18px;
  line-height: 1.5em;
}
@media (max-width: 1000px) {
  .section-texto p {
    font-size: 16px;
  }
  .section-texto h3 {
    font-size: 30px;
  }
}
@media (max-width: 650px) {
  .section-texto {
    flex-direction: column;
  }
  .section-texto img {
    height: 200px;
  }
  .section-texto .left {
    order: 2;
  }
  .section-texto .left,
  .section-texto .right {
    width: 100%;
  }
}

.section-texto-alt-wrap {
  width: 100%;
  background: #f4f4f4;
  padding: 40px 0;
}

.page-ubicaciones > .container {
  display: flex;
  gap: 30px;
}
.page-ubicaciones aside {
  width: 350px;
}
.page-ubicaciones .card-search {
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  padding: 30px;
  background-color: white;
}
.page-ubicaciones .card-search h3 {
  margin: 0 0 10px 0;
  letter-spacing: -0.02em;
}
.page-ubicaciones .card-search input {
  border: 1px solid #d9d9d9;
  width: 100%;
  height: 50px;
  border-radius: 5px;
  padding: 15px;
  padding-left: 40px;
}
.page-ubicaciones .card-search form {
  position: relative;
}
.page-ubicaciones .card-search .icon svg {
  width: 15px;
  position: absolute;
  top: 17px;
  left: 15px;
}
.page-ubicaciones .main {
  flex-grow: 1;
}
.page-ubicaciones .main h1 {
  margin-top: 0;
  color: var(--accent);
  letter-spacing: -0.04em;
}
.page-ubicaciones .main .item-ubicacion {
  margin-bottom: 20px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  padding: 20px;
  background-color: white;
  width: 100%;
  display: flex;
  gap: 20px;
}
.page-ubicaciones .main .item-ubicacion .picture img {
  width: 150px;
  height: 150px;
  max-width: 150px;
  max-height: 150px;
  border-radius: 5px;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-ubicaciones .main .item-ubicacion .data {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.page-ubicaciones .main .item-ubicacion .btn-accent,
.page-ubicaciones .main .item-ubicacion .btn-light {
  margin-top: auto;
  font-size: 14px;
}
.page-ubicaciones .main .item-ubicacion .data-item {
  color: #8f8f8f;
  display: flex;
  margin-bottom: 6px;
  gap: 7px;
  font-size: 16px;
}
.page-ubicaciones .main .item-ubicacion .data-item svg {
  width: 16px;
}
.page-ubicaciones .main .item-ubicacion h4 {
  font-weight: 700;
  margin: 0 0 10px 0;
  font-size: 24px;
}
.page-ubicaciones .main .item-ubicacion h3 {
  margin-top: -5px;
  font-weight: 500;
  font-size: 15px;
}
.page-ubicaciones .main .item-ubicacion footer {
  margin-top: 10px;
  display: flex;
  gap: 10px;
}
.page-ubicaciones .main .item-ubicacion footer .map svg {
  width: 15px;
  height: 15px;
}
.page-ubicaciones .main .item-ubicacion footer .map .btn-light {
  gap: 5px;
  align-items: center;
  font-weight: 500;
  padding: 0.9em 1.2em;
}
.page-ubicaciones .main .pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media (max-width: 1000px) {
  .page-ubicaciones aside {
    width: 250px;
  }
  .page-ubicaciones .card-search {
    padding: 20px;
  }
}
@media (max-width: 750px) {
  .page-ubicaciones aside {
    width: 100%;
  }
  .page-ubicaciones > .container {
    flex-direction: column;
  }
}
@media (max-width: 500px) {
  .page-ubicaciones .main .item-ubicacion {
    flex-direction: column;
  }
  .page-ubicaciones .main .item-ubicacion footer {
    width: 100%;
    flex-direction: column;
  }
}

.page-bodega h1.title {
  margin-top: 0;
  letter-spacing: -0.04em;
  font-size: 35px;
  color: var(--accent);
}
.page-bodega .slide {
  overflow: hidden;
  border-radius: 10px;
  font-size: 0;
  background: #f0f0f0;
  display: block;
  width: 100%;
  margin-bottom: 20px;
}
.page-bodega .slide img {
  width: 100%;
  height: 350px;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-bodega .slide:hover button {
  opacity: 1;
  transform: scale(1);
}
.page-bodega .slide button {
  transition: 0.2s opacity, 0.2s transform;
  opacity: 0;
  transform: scale(0.9);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--accent);
  border: 0;
  border: 1px solid rgba(0, 0, 0, 0.5);
  cursor: pointer;
  box-shadow: 0px 13.6px 5.6px rgba(0, 0, 0, 0.01), 0px 7.9px 1.5px rgba(0, 0, 0, 0.05), 0px 3.4px 2.41px rgba(0, 0, 0, 0.09), 0px 1.1px 2.2px rgba(0, 0, 0, 0.1);
}
.page-bodega .slide button:after, .page-bodega .slide button:before {
  content: none;
}
.page-bodega .slide button svg {
  width: 15px;
}
.page-bodega .slide button.btn-left, .page-bodega .slide button.swiper-button-prev {
  left: 1%;
}
.page-bodega .slide button.btn-right, .page-bodega .slide button.swiper-button-next {
  right: 1%;
}
.page-bodega .slide .box-data {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.1);
  line-height: 1;
}
.page-bodega .slide .box-data svg {
  color: var(--accent);
  display: block;
  flex-shrink: 0;
}
.page-bodega .slide .box-data span {
  color: #666;
}
.page-bodega .map svg {
  width: 15px;
  height: 15px;
}
.page-bodega .map .btn-light {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  padding: 0.9em 1.2em;
}
.page-bodega .map #map {
  background: #f0f0f0;
  width: 100%;
  height: 300px;
  margin-bottom: 10px;
  border-radius: 10px;
}
.page-bodega .map footer {
  justify-content: space-between;
  display: flex;
  align-items: center;
  gap: 5px;
}
.page-bodega .map footer a {
  flex-grow: 1;
  color: #000;
}
.page-bodega .slider {
  width: 150px;
  overflow: hidden;
  border-radius: 10px;
  font-size: 0;
  background: #f0f0f0;
  display: block;
  margin-bottom: 20px;
}
.page-bodega .slider img {
  width: 150px;
  height: 150px;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-bodega .slider:hover button {
  opacity: 1;
  transform: scale(1);
}
.page-bodega .slider button {
  transition: 0.2s opacity, 0.2s transform;
  opacity: 0;
  transform: scale(0.9);
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background-color: var(--accent);
  border: 1px solid rgba(0, 0, 0, 0.5);
  cursor: pointer;
  box-shadow: 0px 13.6px 5.6px rgba(0, 0, 0, 0.01), 0px 7.9px 1.5px rgba(0, 0, 0, 0.05), 0px 3.4px 2.41px rgba(0, 0, 0, 0.09), 0px 1.1px 2.2px rgba(0, 0, 0, 0.1);
}
.page-bodega .slider button:after, .page-bodega .slider button:before {
  content: none;
}
.page-bodega .slider button svg {
  width: 15px;
}
.page-bodega .slider button.btn-left, .page-bodega .slider button.swiper-button-prev {
  left: 1%;
}
.page-bodega .slider button.btn-right, .page-bodega .slider button.swiper-button-next {
  right: 1%;
}
.page-bodega .list {
  display: flex;
  gap: 15px;
  flex-direction: column;
}
.page-bodega .list .card-bodega,
.page-bodega .list .card-lista-espera {
  background: white;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  padding: 30px;
  display: flex;
  gap: 10px;
}
.page-bodega .list .card-bodega .content,
.page-bodega .list .card-lista-espera .content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.page-bodega .list .card-bodega .content .box-data,
.page-bodega .list .card-lista-espera .content .box-data {
  background: #f5f5f5;
  padding: 10px 15px;
  border-radius: 6px;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  color: #666;
}
.page-bodega .list .card-bodega .content .box-data svg,
.page-bodega .list .card-lista-espera .content .box-data svg {
  width: 20px;
  height: 20px;
  color: var(--accent);
  display: block;
  flex-shrink: 0;
  margin-top: -1px;
  /* Fine-tune vertical alignment */
}
.page-bodega .list .card-bodega .title,
.page-bodega .list .card-lista-espera .title {
  font-size: 30px;
  margin: 0;
}
.page-bodega .list .card-bodega .precio span,
.page-bodega .list .card-lista-espera .precio span {
  font-size: 25px;
  font-family: var(--font-title);
  font-weight: 700;
  letter-spacing: -0.04em;
}
.page-bodega .list .card-bodega .precio small,
.page-bodega .list .card-lista-espera .precio small {
  color: #9d9d9d;
}
.page-bodega .list .card-bodega footer,
.page-bodega .list .card-lista-espera footer {
  display: flex;
  margin-top: auto;
  align-items: flex-end;
  justify-content: space-between;
}
.page-bodega .list .card-bodega footer small,
.page-bodega .list .card-lista-espera footer small {
  vertical-align: top;
}
.page-bodega .list .card-bodega footer a,
.page-bodega .list .card-lista-espera footer a {
  margin-left: auto;
}
.page-bodega .list .card-bodega .btn-accent,
.page-bodega .list .card-lista-espera .btn-accent {
  font-size: 15px;
  padding-left: 35px;
  padding-right: 35px;
}
.page-bodega .list .card-lista-espera {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.page-bodega .list .card-lista-espera .form-group {
  margin-bottom: 10px;
}
.page-bodega .list .card-lista-espera .form-group label {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 3px;
  display: block;
}
.page-bodega .list .card-lista-espera .form-group input {
  border: 1px solid #cecece;
  background: white;
  min-height: 50px;
  width: 100%;
  border-radius: 5px;
  padding: 0 10px;
  outline: none;
  box-shadow: 0 0 0 0px rgba(178, 208, 255, 0.3882352941);
  transition: 0.2s box-shadow;
}
.page-bodega .list .card-lista-espera .form-group input:hover, .page-bodega .list .card-lista-espera .form-group input:active, .page-bodega .list .card-lista-espera .form-group input:focus {
  border: 1px solid #afcbcc;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.page-bodega .list .pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  margin-bottom: 20px;
}
.page-bodega .address {
  background: white;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  padding: 30px;
}
.page-bodega .address .icon {
  width: 25px;
  text-align: center;
  flex-shrink: 0;
}
.page-bodega .address ul {
  margin: 0;
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.page-bodega .address li {
  display: flex;
  gap: 10px;
}
.page-bodega .address h5 {
  margin: 0;
  font-size: 16px;
}
.page-bodega .address p {
  margin: 0;
  font-size: 15px;
  color: #7c7c7c;
}
.page-bodega .address svg .fillit {
  fill: var(--accent);
}
.page-bodega .address svg .strokeit {
  stroke: var(--accent);
}
.page-bodega .phone {
  background: var(--secondaryaccent);
  padding: 30px;
  border-radius: 10px;
  display: flex;
  gap: 20px;
}
.page-bodega .phone svg {
  width: 30px;
}
.page-bodega .phone h4 {
  margin: 0 0 5px 0;
  color: #000;
  font-size: 18px;
}
.page-bodega .phone .number {
  font-size: 23px;
}
.page-bodega .main {
  display: flex;
  gap: 20px;
}
.page-bodega .left {
  flex-grow: 1;
  width: calc(100% - 450px);
}
.page-bodega .right {
  gap: 10px;
  display: flex;
  flex-direction: column;
  width: 450px;
}
@media (max-width: 1000px) {
  .page-bodega .left {
    width: calc(100% - 300px);
  }
  .page-bodega .right {
    width: 300px;
  }
}
@media (max-width: 850px) {
  .page-bodega h1.title {
    font-size: 25px;
  }
  .page-bodega .slide img {
    height: 200px;
  }
  .page-bodega .right {
    display: none;
  }
  .page-bodega .list .card-bodega {
    flex-direction: column;
  }
  .page-bodega .list .card-bodega .content {
    flex-direction: column;
  }
  .page-bodega .list .card-bodega .title {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .page-bodega .list .card-bodega footer {
    flex-direction: column;
    gap: 10px;
    flex-grow: 1;
    align-items: center;
  }
  .page-bodega .list .card-bodega .btn-accent {
    width: 100%;
  }
}

#dialog-contacto form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 15px;
}

.page-pasos .pasos-head {
  background: white;
  padding: 30px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  margin-bottom: 50px;
  box-shadow: var(--card-shadow);
}
.page-pasos .pasos-head .title {
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 23px;
  margin-bottom: 10px;
}
.page-pasos .pasos-head .subtitle {
  margin: 0;
  color: gray;
}
.page-pasos .container {
  padding-top: 10px;
}
.page-pasos .page {
  flex-grow: 1;
}
.page-pasos .m3-badge {
  margin-top: 5px;
}

.page-contrato iframe {
  border-radius: 8px;
  min-height: 800px;
  width: 100%;
  background-color: #eee;
  border: 1px solid #c8c8c8;
}

.page-documentacion .dashboard-main {
  align-items: flex-start;
  display: flex;
  gap: 20px;
}
.page-documentacion .badge-format {
  background: #e6ebec;
  border-radius: 4px;
  padding: 4px 7px;
  display: inline-block;
  box-shadow: 0 1px 3px 0px #ddd;
  margin: 3px;
  margin-left: 3px;
  margin-left: 3px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 500;
}
.page-documentacion .qr {
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 25px;
  border-radius: 8px;
  box-shadow: var(--card-shadow);
  flex-grow: 1;
  background-color: white;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  display: none;
}
.page-documentacion .qr p {
  margin: 0;
}
.page-documentacion .qr img {
  width: calc(100% + 40px);
  margin-top: -20px;
  margin-left: -20px;
  max-width: initial;
}
@media (max-width: 650px) {
  .page-documentacion .qr {
    display: flex;
  }
}
.page-documentacion aside {
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 25px;
  border-radius: 8px;
  box-shadow: var(--card-shadow);
  flex-grow: 1;
  background-color: white;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
.page-documentacion aside p {
  margin: 0;
}
.page-documentacion aside img {
  width: calc(100% + 40px);
  margin-top: -20px;
  margin-left: -20px;
  max-width: initial;
}
@media (max-width: 650px) {
  .page-documentacion aside {
    display: none;
  }
}
.page-documentacion .dropzone.m3-dropzone {
  border-radius: 10px;
  border: 2px dashed rgba(0, 0, 0, 0.2);
  background: var(--bg-hover);
  transition: 0.2s box-shadow, 0.2s color, 0.2s background-color;
  position: relative;
  min-height: 190px;
}
.page-documentacion .dropzone.m3-dropzone.dz-drag-hover {
  box-shadow: 0 0 0 5px rgba(0, 134, 248, 0.2);
  border-style: dashed;
  border-color: var(--color-blue);
  color: var(--color-blue);
  background-color: #f1f8ff;
}
.page-documentacion .dropzone.m3-dropzone:hover {
  box-shadow: 0 0 0 5px rgba(0, 134, 248, 0.2);
}
.page-documentacion .dropzone.m3-dropzone .dz-message {
  opacity: 1 !important;
  margin: 0;
  font-size: 16px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--color-title);
}
.page-documentacion .dropzone.m3-dropzone .dz-message svg {
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
}
.page-documentacion .dropzone.m3-dropzone .dz-message span {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page-documentacion .dropzone.m3-dropzone .dz-preview {
  background: transparent;
}
.page-documentacion .container-uploads {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.page-documentacion .card-file {
  border-radius: 10px;
  background-color: var(--bg-card);
  border: 1px solid var(--border-1);
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 20px;
  margin-bottom: 20px;
  animation: 0.5s file_upload 1 forwards;
  opacity: 0;
  transition: 0.5s padding, 0.5s width, 0.5s box-shadow, 0.5s margin-right;
  width: 192px;
}
.page-documentacion .card-file img {
  border-radius: 4px;
  background: #eee;
  -o-object-fit: cover;
     object-fit: cover;
  width: 150px;
  height: 150px;
}
.page-documentacion .card-file a > svg {
  border-radius: 4px;
  background: #eee;
  width: 150px;
  height: 150px;
  color: #404040;
  padding: 35px;
}
.page-documentacion .card-file .loading-gif {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35%;
  height: 35%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@keyframes file_upload {
  from {
    opacity: 0;
    transform: scale(0.95) translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: scale(1) translate3d(0, 0, 0);
  }
}
.page-documentacion .card-file a,
.page-documentacion .card-file button {
  transition: 0.5s opacity;
}
.page-documentacion .card-file.removed {
  width: 0px;
  padding: 20px 0;
  overflow: hidden;
  box-shadow: 0 0 0 1px #fff;
  margin-right: 0;
}
.page-documentacion .card-file.removed a,
.page-documentacion .card-file.removed button {
  opacity: 0;
}
.page-documentacion .card-file .m3-btn-icon {
  background-color: #0086f8;
  font-family: inherit;
  color: white;
  border: 0;
  padding: 0.65em;
  font-size: 15px;
  border-radius: 0.3em;
  cursor: pointer;
  transition: 0.2s background-color, 0.2s box-shadow, 0.2s transform;
  outline: none;
  box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.page-documentacion .card-file .m3-btn-icon:hover, .page-documentacion .card-file .m3-btn-icon:focus {
  background-color: #0070cf;
  color: white;
  text-decoration: none;
}
.page-documentacion .card-file .m3-btn-icon:focus {
  box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0 0 0 0.2em rgba(0, 134, 248, 0.5);
}
.page-documentacion .card-file .m3-btn-icon svg, .page-documentacion .card-file .m3-btn-icon img {
  color: currentColor;
  width: 1em;
  height: 1em;
  pointer-events: none;
  flex-shrink: 0;
}
.page-documentacion .card-file .m3-btn-icon span {
  font-size: 13px;
  margin-left: 6px;
  font-weight: 600;
}
.page-documentacion .card-file .m3-btn-icon.transparent {
  background-color: white;
  color: #333;
  box-shadow: none;
}
.page-documentacion .card-file .m3-btn-icon.transparent:hover {
  background-color: #e1f1ff;
}
.page-documentacion .card-file .m3-btn-icon.transparent:focus {
  background-color: #eaf5ff;
  box-shadow: 0 0 0 0.2em rgba(0, 134, 248, 0.3);
}
.page-documentacion .card-file .m3-btn-icon.secondary {
  background-color: white;
  color: #333;
}
.page-documentacion .card-file .m3-btn-icon.secondary:focus {
  background-color: #eaf5ff;
  box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0 0 0 0.2em rgba(0, 134, 248, 0.3);
}
.page-documentacion .card-file .m3-btn-icon.green {
  background-color: #42c66e;
}
.page-documentacion .card-file .m3-btn-icon.green:focus {
  background-color: #34ab5c;
  box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0 0 0 0.2em rgba(66, 198, 110, 0.5);
}
.page-documentacion .card-file .m3-btn-icon.red {
  background-color: #f44336;
}
.page-documentacion .card-file .m3-btn-icon.red:focus {
  background-color: #d0382d;
  box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0 0 0 0.2em rgba(244, 67, 54, 0.5);
}
.page-documentacion .card-file .m3-btn-icon.yellow {
  background-color: #ffb020;
}
.page-documentacion .card-file .m3-btn-icon.yellow:focus {
  background-color: #f69f00;
  box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0 0 0 0.2em rgba(255, 176, 32, 0.5);
}
.page-documentacion .card-file .m3-btn-icon.black {
  background-color: #1c1e20;
}
.page-documentacion .card-file .m3-btn-icon.black:focus {
  background-color: #090a0a;
  box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0 0 0 0.2em rgba(28, 30, 32, 0.5);
}
.page-documentacion .card-file .m3-btn-icon[disabled] {
  pointer-events: none;
  opacity: 0.7;
}

.page-steps .steps {
  display: flex;
  gap: 10px;
}
.page-steps .step {
  border-radius: 10px;
  padding: 40px;
  flex-grow: 1;
  width: 33%;
  z-index: 1;
  position: relative;
}
.page-steps .step:before {
  z-index: -1;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  content: "";
  background: #ffffff;
  position: absolute;
  inset: 0;
  transition: 0.2s transform, 0.2s box-shadow;
  transition-timing-function: var(--ease-out);
}
.page-steps .step:hover:before {
  transform: scale(1.02);
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.page-steps .step .title {
  font-family: var(--font-title);
  font-weight: 700;
}
.page-steps .step .title span {
  font-family: var(--font-text);
  background: rgba(0, 0, 0, 0.0901960784);
  border-radius: 50%;
  font-weight: 500;
  width: 18px;
  height: 18px;
  text-align: center;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  display: inline-flex;
  margin-right: 4px;
  vertical-align: 2px;
}
.page-steps .step .icon svg {
  color: rgba(0, 0, 0, 0.3);
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
}
.page-steps .step .check {
  display: none;
}
.page-steps .step.completed .check {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #08c45a;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  color: white;
  position: absolute;
  top: 15px;
  right: 15px;
}
.page-steps .step.completed .check svg {
  width: 14px;
  height: 14px;
}
.page-steps .step.completed:before {
  border-color: #08c45a;
  border-width: 2px;
  background: #dfffed;
}
.page-steps .step.completed:hover:before {
  transform: none;
  box-shadow: none;
}
@media (max-width: 700px) {
  .page-steps .steps {
    flex-direction: column;
  }
  .page-steps .step {
    width: 100%;
  }
}

.dashboard-header {
  border-bottom: 1px solid gray;
  margin-bottom: 40px;
  padding-bottom: 40px;
}
.dashboard-header .dashboard-title {
  margin: 0 0 10px 0;
}
.dashboard-header .dashboard-subtitle {
  margin: 0;
}

.page-checkout .card {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
  background-color: #fff;
}
.page-checkout .box-info {
  display: flex;
  border-bottom: 1px solid #ddd;
}
.page-checkout .price {
  padding: 20px;
  border-bottom: 1px solid #ddd;
}
.page-checkout .price .d-flex {
  display: flex;
  border-bottom: 1px solid #ddd;
  gap: 10px;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.page-checkout .price .d-flex p {
  margin: 0;
}
.page-checkout .price .d-flex p:first-child {
  flex-grow: 1;
}
.page-checkout .price .total {
  display: flex;
  gap: 10px;
}
.page-checkout .price .total strong {
  flex-grow: 1;
}
.page-checkout .fecha {
  padding: 20px;
  border-bottom: 1px solid #ddd;
}
.page-checkout .descuento {
  padding: 20px;
  border-bottom: 1px solid #ddd;
}
.page-checkout .seguros {
  padding: 20px;
  border-bottom: 1px solid #ddd;
}
.page-checkout .email {
  max-width: 350px;
  width: 100%;
  margin: auto;
}
.page-checkout .seguros > div {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.page-checkout .seguros > div .input,
.page-checkout .seguros > div .select {
  width: calc(50% - 10px);
}
@media (max-width: 550px) {
  .page-checkout .seguros > div .input,
  .page-checkout .seguros > div .select {
    width: 100%;
  }
}
.page-checkout .datos {
  padding: 20px;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.page-checkout .datos h2 {
  width: 100%;
}
.page-checkout .datos .input,
.page-checkout .datos .select {
  width: calc(50% - 10px);
}
.page-checkout .datos .footer {
  width: 100%;
  padding: 0;
}
@media (max-width: 550px) {
  .page-checkout .datos .input,
  .page-checkout .datos .select {
    width: 100%;
  }
}
.page-checkout .footer {
  padding: 20px;
}
.page-checkout .input-checkout {
  border: 1px solid #cecece;
  background: white;
  min-height: 50px;
  width: 100%;
  border-radius: 5px;
  padding: 0 10px;
  outline: none;
  box-shadow: 0 0 0 0px rgba(178, 208, 255, 0.3882352941);
  transition: 0.2s box-shadow;
}
.page-checkout .input-checkout:hover, .page-checkout .input-checkout:active, .page-checkout .input-checkout:focus {
  border: 1px solid #afcbcc;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.page-checkout .input-checkout[disabled] {
  background: #eee;
}
.page-checkout .select select {
  border: 1px solid #cecece;
  background: white;
  min-height: 50px;
  width: 100%;
  border-radius: 5px;
  padding: 0 10px;
  outline: none;
  box-shadow: 0 0 0 0px rgba(178, 208, 255, 0.3882352941);
  transition: 0.2s box-shadow;
}
.page-checkout .select select:hover, .page-checkout .select select:active, .page-checkout .select select:focus {
  border: 1px solid #afcbcc;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.page-checkout .select select[disabled] {
  background: #eee;
}

.page-ideal {
  --card-bg: #ecf3ff;
  --card-border: #d1e1ff;
  --card-title: #00519b;
  margin-top: 50px;
}
.page-ideal .gm-style-iw-chr {
  display: none;
}
.page-ideal .infowindow {
  margin-top: 10px;
  display: flex;
  align-items: center;
  outline: none;
  text-decoration: none;
  font-family: var(--font);
}
.page-ideal .infowindow h3 {
  margin: 0;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: 20px;
  color: var(--color-blue);
}
.page-ideal .infowindow p {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text);
}
.page-ideal .infowindow .m3-badge {
  font-size: 11px;
  margin-bottom: 3px;
}
.page-ideal .infowindow .infobox-image {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  background-color: #eee;
  display: inline-block;
  margin-right: 10px;
  border-radius: 3px;
  overflow: hidden;
}
.page-ideal .infowindow .infobox-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.page-ideal .filter-branch {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-ideal .filter-branch .badge-filter {
  font-size: 13px;
  background: #ecf3ff;
  color: var(--color-blue);
  padding: 5px 9px;
  border-radius: 5px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.page-ideal .filter-branch .badge-filter button {
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  width: 15px;
  height: 15px;
}
.page-ideal .filter-branch .badge-filter button svg {
  width: 15px;
  height: 15px;
}
.page-ideal .step {
  animation: fadeIn 0.4s;
  animation-timing-function: var(--ease-out);
}
.page-ideal .step.hidding {
  animation: fadeOut 0.4s;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate3d(50px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0px, 0, 0);
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-50px, 0, 0);
  }
}
@media (max-width: 600px) {
  .page-ideal {
    margin-top: 20px;
  }
}
.page-ideal .quote {
  text-align: center;
  color: var(--color-text);
  font-size: 20px;
  margin: 0 20px;
}
.page-ideal .quote .content {
  padding: 20px 40px;
  position: relative;
  display: inline-block;
  margin: auto;
}
.page-ideal .quote svg {
  position: absolute;
}
.page-ideal .quote svg:nth-child(1) {
  top: 0;
  left: 0;
  transform: rotate(270deg);
}
.page-ideal .quote svg:nth-child(2) {
  top: 0;
  right: 0;
}
.page-ideal .quote svg:nth-child(3) {
  bottom: 0;
  left: 0;
  transform: rotate(180deg);
}
.page-ideal .quote svg:nth-child(4) {
  bottom: 0;
  right: 0;
  transform: rotate(90deg);
}
@media (max-width: 800px) {
  .page-ideal .quote {
    font-size: 17px;
  }
}
.page-ideal .title {
  font-size: clamp(14.5px, 4vw, 25px);
  text-align: center;
  letter-spacing: -0.04em;
  margin: 20px auto;
  color: black;
  line-height: 1;
  text-wrap: balance;
  max-width: 900px;
}
.page-ideal .title-city {
  font-size: clamp(20.3px, 5.6vw, 35px);
  text-align: center;
  letter-spacing: -0.04em;
  margin: 20px auto;
  color: black;
  line-height: 1;
  text-wrap: balance;
  max-width: 900px;
}
.page-ideal .breadcrumb {
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text);
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 14px;
}
@media (max-width: 800px) {
  .page-ideal .breadcrumb {
    font-size: 14px;
  }
}
.page-ideal .filtros {
  margin: 20px 20px 0 20px;
  padding: 0px calc((100vw - 500px) / 2);
  display: flex;
}
.page-ideal .filtros p {
  margin: 0;
  font-weight: 500;
  font-size: 13px;
}
.page-ideal .filtros svg {
  width: 25px;
}
.page-ideal .filtros .filtro {
  text-align: left;
  position: relative;
  color: var(--color-blue);
  border: 0;
  display: flex;
  align-items: center;
  gap: 15px;
  flex-grow: 1;
  padding: 10px 20px;
  background: #ecf3ff;
  -webkit-clip-path: polygon(0 0, 10% 50%, 0 100%, 90% 100%, 100% 50%, 90% 0);
          clip-path: polygon(0 0, 10% 50%, 0 100%, 90% 100%, 100% 50%, 90% 0);
  margin-left: -10px;
  line-height: 1;
}
.page-ideal .filtros .filtro:first-child {
  -webkit-clip-path: polygon(0 0, 0 100%, calc(100% - 15px) 100%, 100% 50%, calc(100% - 15px) 0);
          clip-path: polygon(0 0, 0 100%, calc(100% - 15px) 100%, 100% 50%, calc(100% - 15px) 0);
  border-radius: 10px 0 0 10px;
  margin-left: 0;
}
.page-ideal .filtros .filtro:last-child {
  padding: 10px 20px 10px 35px;
  border-radius: 0 10px 10px 0;
  -webkit-clip-path: polygon(0 0, 15px 50%, 0 100%, 100% 100%, 100% 0);
          clip-path: polygon(0 0, 15px 50%, 0 100%, 100% 100%, 100% 0);
}
.page-ideal .filtros .filtro:hover .btn-edit {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.page-ideal .filtros .filtro span {
  color: black;
  font-size: 14px;
  margin-top: 1px;
  display: block;
}
.page-ideal .filtros .filtro:has(span:empty) {
  background: #eee;
  color: #444;
  pointer-events: none;
}
.page-ideal .filtros .filtro:has(span:empty) .btn-edit {
  display: none;
}
.page-ideal .filtros .btn-edit {
  transition: 0.4s opacity, 0.4s transform;
  transition-timing-function: var(--ease-out);
  display: flex;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  opacity: 0;
  transform: translate3d(15px, 0, 0);
}
.page-ideal .filtros .btn-edit svg {
  width: 16px;
}
@media (max-width: 350px) {
  .page-ideal .filtros {
    margin: 0;
    border: 1px solid #cddfff;
    background: #cddfff;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 500;
  }
  .page-ideal .filtros .filtro {
    border-radius: 0px !important;
    padding: 15px !important;
    gap: 10px;
  }
  .page-ideal .filtros .filtro:last-child {
    padding: 10px 15px 10px 30px !important;
  }
  .page-ideal .filtros p {
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
  }
  .page-ideal .filtros svg {
    width: 20px;
  }
}
.page-ideal .steps {
  margin: 0 20px;
  padding: 40px calc((100vw - 1100px) / 2) 30px;
  display: flex;
  gap: 20px;
}
.page-ideal .steps p {
  position: absolute;
  top: 20px;
  right: 20px;
}
@media (max-width: 900px) {
  .page-ideal .steps {
    flex-wrap: wrap;
  }
}
.page-ideal .card-step {
  border: 0;
  text-align: initial;
  padding: 30px;
  border-radius: 10px;
  background: var(--card-bg);
  flex-grow: 0;
  width: 33.333%;
  position: relative;
  transition: 0.2s opacity;
}
.page-ideal .card-step.disabled {
  opacity: 0.6;
  pointer-events: none;
}
.page-ideal .card-step:before {
  pointer-events: none;
  border-radius: 10px;
  position: absolute;
  content: "";
  box-shadow: 0 0 0 3px var(--card-border);
  inset: 0;
  opacity: 0;
  transition-timing-function: var(--ease-out);
  transition: 0.4s transform, 0.25s opacity;
}
.page-ideal .card-step:hover:before, .page-ideal .card-step:focus-within:before {
  opacity: 1;
  transform: scale(1.04, 1.05);
}
.page-ideal .card-step .step-title {
  color: var(--card-title);
  margin: 0;
  letter-spacing: -0.02em;
  font-size: 20px;
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  justify-content: center;
  line-height: 1;
  align-items: center;
}
.page-ideal .card-step .step-title svg {
  flex-shrink: 0;
}
.page-ideal .card-step .step-title small {
  font-weight: 500;
  font-size: 14px;
}
.page-ideal .card-step .step-content {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-height: 200px;
  overflow: scroll;
  padding: 9px;
  margin: -9px;
}
.page-ideal .card-step .city {
  color: black;
  display: flex;
  align-items: center;
  padding: 6px 8px 6px 6px;
  gap: 7px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-decoration: none;
  position: relative;
  z-index: 1;
  border: 0;
  background: transparent;
}
.page-ideal .card-step .city:hover {
  color: var(--color-blue);
}
.page-ideal .card-step .city:hover:before {
  transform: scale(1.08, 1.15);
  border-color: var(--color-darkblue);
}
.page-ideal .card-step .city:before {
  pointer-events: none;
  transition-timing-function: var(--ease-out);
  transition: 0.2s transform, 0.15s border-color;
  z-index: -1;
  background: #fafcff;
  content: "";
  position: absolute;
  border-radius: 10px;
  border: 2px solid #c5d7f3;
  inset: 0;
}
.page-ideal .card-step .city span {
  margin-top: -3px;
}
.page-ideal .card-step .city img {
  width: 30px;
  height: 30px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.page-ideal .step-ubicacion {
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-ideal .step-ubicacion .step-title {
  margin: 0;
}
.page-ideal .step-ubicacion .loading {
  display: none;
}
.page-ideal .step-ubicacion.loading {
  pointer-events: none;
}
.page-ideal .step-ubicacion.loading .step-title:first-child {
  display: none;
}
.page-ideal .step-ubicacion.loading .loading {
  display: flex;
}
.page-ideal .step-direccion {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page-ideal .step-direccion .input-direccion {
  display: flex;
  height: 65px;
  border: 2px solid #c4d6f3;
  border-radius: 8px;
  transition: 0.4s box-shadow, 0.3s border-color;
  background: white;
  align-items: center;
  padding-right: 4px;
}
.page-ideal .step-direccion .input-direccion input {
  border: 0;
  background: transparent;
  outline: none;
  padding-left: 15px;
  font-size: 16px;
  letter-spacing: -0.01em;
  font-weight: 400;
  height: 100%;
  width: 100%;
}
.page-ideal .step-direccion .input-direccion button {
  width: 53px;
  height: 53px;
  border: 0;
  border-radius: 5px;
  background: #00519b;
  flex-shrink: 0;
}
.page-ideal .step-direccion .input-direccion:focus-within {
  border-color: rgba(33, 91, 173, 0.768627451) !important;
  box-shadow: 0 0 0 3px rgba(33, 91, 173, 0.2392156863);
}
.page-ideal .step-1 .steps .card-step {
  flex-grow: 1;
}
@media (max-width: 700px) {
  .page-ideal .step-1 .steps .card-step {
    width: 100%;
  }
}
.page-ideal .step-2 .steps img {
  width: 100%;
  height: 170px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.page-ideal .step-2 .steps h4 {
  margin: 10px 0 0 0;
  font-size: 27px;
  color: var(--card-title);
  letter-spacing: -0.02em;
}
.page-ideal .step-2 .steps p {
  color: black;
  margin: 0 0 25px 0;
  text-align: right;
  font-size: 17px;
  font-family: "Space Grotesk";
}
.page-ideal .step-2 .calculadora {
  background: white;
  resize: vertical;
  border-radius: 10px;
  transition-timing-function: var(--ease-out);
  border: 2px solid #c4d6f3;
  outline: none;
  transition: 0.4s box-shadow, 0.3s border-color;
  color: black;
}
.page-ideal .step-2 .calculadora:focus-within {
  border-color: rgba(33, 91, 173, 0.768627451) !important;
  box-shadow: 0 0 0 3px rgba(33, 91, 173, 0.2392156863);
}
.page-ideal .step-2 textarea {
  resize: none;
  width: 100%;
  height: 150px;
  outline: none;
  border: 0;
  background: transparent;
  padding: 20px;
  font-size: 15px;
  font-weight: 400;
}
.page-ideal .step-2 .btn-accent {
  width: calc(100% - 40px);
  margin: 0 20px 20px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0.6em 1.3em;
}
@media (max-width: 1200px) {
  .page-ideal .step-2 .card-step {
    width: 47%;
  }
}
@media (max-width: 700px) {
  .page-ideal .step-2 .card-step {
    width: 100%;
  }
}
.page-ideal .step-3 .inner {
  display: flex;
  margin-top: 50px;
}
.page-ideal .step-3 .map {
  background: #eee;
  width: 50%;
  flex-shrink: 0;
  height: calc(100vh - 60px);
  position: sticky;
  top: 60px;
}
.page-ideal .step-3 .map #boxes_map {
  width: 100%;
  height: 100%;
}
.page-ideal .step-3 .boxes-container {
  width: 50%;
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  flex-direction: row;
  align-content: flex-start;
  align-items: flex-start;
  gap: 15px;
  padding: 0 15px;
}
.page-ideal .step-3 .boxes-container.is-filtering {
  position: relative;
  padding-top: 40px;
}
.page-ideal .step-3 .card-placeholder {
  width: calc(50% - 8px);
  background: var(--card-bg);
  border-radius: 5px;
  padding: 20px;
  height: calc(50vh - 50px);
}
.page-ideal .step-3 .card-box {
  width: calc(50% - 8px);
  background: #ecf3ff;
  border-radius: 5px;
  padding: 10px;
  position: relative;
  display: flex;
  color: black;
  flex-direction: column;
}
.page-ideal .step-3 .card-box[hidden] {
  display: none;
}
.page-ideal .step-3 .card-box:first-child:last-child {
  width: 100%;
}
.page-ideal .step-3 .card-box:before {
  pointer-events: none;
  border-radius: 10px;
  position: absolute;
  content: "";
  box-shadow: 0 0 0 2px var(--card-border);
  inset: 0;
  opacity: 0;
  transition-timing-function: var(--ease-out);
  transition: 0.3s transform, 0.25s opacity;
}
.page-ideal .step-3 .card-box:hover:before, .page-ideal .step-3 .card-box:focus-within:before {
  opacity: 1;
  transform: scale(1.03, 1.02);
}
.page-ideal .step-3 .card-box .share {
  border: 0;
  box-shadow: 0 2px 4px 0px rgba(0, 0, 0, 0.2);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  top: 10px;
  right: 10px;
  color: black;
  transition-timing-function: ease-out;
  transition: 0.2s opacity;
}
.page-ideal .step-3 .card-box .share svg {
  width: 15px;
  margin-right: 2px;
}
.page-ideal .step-3 .card-box .share:hover {
  color: var(--color-blue);
  background: #d5e5ff;
}
.page-ideal .step-3 .card-box .image {
  background: white;
  border-radius: 10px;
  height: 200px;
  width: 100%;
  flex-shrink: 0;
  text-align: center;
  align-items: center;
  justify-content: center;
  display: flex;
}
.page-ideal .step-3 .card-box img {
  max-width: 100%;
  max-height: 100%;
}
.page-ideal .step-3 .card-box .content {
  padding-top: 15px;
}
.page-ideal .step-3 .card-box ul {
  list-style: none;
  padding: 0;
  margin: 0 0 10px 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.page-ideal .step-3 .card-box li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 400;
}
.page-ideal .step-3 .card-box li div {
  display: flex;
}
.page-ideal .step-3 .card-box svg {
  width: 18px;
  color: var(--color-blue);
  flex-shrink: 0;
}
.page-ideal .step-3 .card-box .precio.precio-anterior span:first-child {
  text-decoration: line-through;
  font-size: 15px;
  opacity: 0.6;
}
.page-ideal .step-3 .card-box .precio span {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.page-ideal .step-3 .card-box .precio .off {
  color: #0e9f6b;
  font-size: 10px;
  background: #c8ffdc;
  padding: 3px 5px;
  display: inline-block;
  border-radius: 5px;
}
.page-ideal .step-3 .card-box .map-links {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-left: 10px;
  flex-shrink: 0;
}
.page-ideal .step-3 .card-box .map-links a {
  line-height: 1;
}
.page-ideal .step-3 .card-box .map-links img {
  width: 16px;
  height: 16px;
}
.page-ideal .step-3 .card-box footer {
  margin-top: 15px;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.page-ideal .step-3 .card-box footer .btn-arrendar {
  font-size: 16px;
  padding: 10px 14px;
}
.page-ideal .step-3 .card-box footer .btn-contacto {
  font-size: 16px;
  padding: 10px 14px;
}
.page-ideal .step-3 .card-box:hover {
  background: #e4eeff;
}
.page-ideal .step-3 .m3-btn-close {
  display: none;
}
.page-ideal .step-3.show-map .m3-btn-close {
  display: flex;
}
.page-ideal .step-3.show-map .map {
  display: block !important;
  position: fixed;
  top: 90px;
  left: 0;
  right: 0;
  bottom: 0px;
  width: 100%;
  height: calc(100vh - 80px);
  z-index: 50;
}
.page-ideal .step-3 .btn-mapa-container {
  text-align: center;
  display: none;
}
.page-ideal .step-3 .btn-mapa-container .btn-mapa {
  background: transparent;
  padding: 0;
  border-top: 0;
  border-bottom: 2px solid currentColor;
  border-right: 0;
  border-left: 0;
  font-size: 16px;
  color: var(--color-blue);
}
@media (max-width: 1000px) {
  .page-ideal .step-3 .btn-mapa-container {
    display: block;
  }
  .page-ideal .step-3 .map {
    display: none;
  }
  .page-ideal .step-3 .boxes-container {
    border: 0;
    padding: 20px;
    gap: 20px;
    width: 100%;
  }
  .page-ideal .step-3 .card-placeholder {
    width: calc(50% - 10px);
  }
  .page-ideal .step-3 .card-box {
    flex-direction: column;
    width: calc(50% - 10px);
    background: #ecf3ff;
    border: 0;
    border-radius: 5px;
    padding: 5px;
  }
  .page-ideal .step-3 .card-box footer .btn-mapa {
    display: flex;
  }
}
@media (max-width: 550px) {
  .page-ideal .step-3 .card-box,
  .page-ideal .step-3 .card-placeholder {
    width: 100%;
  }
  .page-ideal .step-3 .inner {
    margin-top: 20px;
  }
}
.page-ideal .empty h4 {
  color: black;
  margin: 0;
  font-size: 30px;
  letter-spacing: -0.04em;
}
.page-ideal .empty p {
  margin: 0;
  color: var(--color-text);
  font-size: 18px;
}

.header-scrolled-down .page-ideal .step-3.show-map .map {
  display: block !important;
  position: fixed;
  top: 50px;
  left: 0;
  right: 0;
  bottom: 0px;
  width: 100%;
  height: calc(100vh - 50px);
  z-index: 50;
}

.box-marker-user {
  width: 40px;
  height: 40px;
  transition: 0.4s scale;
  transition-timing-function: var(--ease-out);
}
.box-marker-user:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background: url("../img/map-marker-user.svg");
  position: absolute;
  inset: 0;
  transition: 0.2s opacity;
}

.box-marker {
  width: 40px;
  height: 40px;
  transition: 0.4s scale;
  transition-timing-function: var(--ease-out);
}
.box-marker:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background: url("../img/map_icon.svg");
  position: absolute;
  inset: 0;
  transition: 0.2s opacity;
}
.box-marker:after {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background: url("../img/map_icon_inverted.svg");
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: 0.2s opacity;
}
.box-marker.hovered, .box-marker:hover {
  z-index: 999;
  scale: 1.4;
}
.box-marker.hovered:before, .box-marker:hover:before {
  opacity: 0;
}
.box-marker.hovered:after, .box-marker:hover:after {
  opacity: 1;
}

#print-box {
  display: none;
}

@media print {
  .main-header,
  .main-footer,
  .reduced-footer,
  dialog,
  .page-ideal {
    display: none !important;
  }
  body {
    margin: 0;
  }
  html {
    background-color: white !important;
  }
  [hidden] {
    display: none;
  }
  #print-box {
    display: block;
    flex-direction: column;
    padding: 50px;
  }
  #print-box .label {
    font-weight: 700;
  }
  #print-box .top .location {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
    font-size: 20px;
    margin-bottom: 30px;
    color: var(--color-blue);
  }
  #print-box .top svg {
    width: 23px;
    height: 23px;
  }
  #print-box .top .name {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 10px 0;
  }
  #print-box .content {
    display: flex;
    gap: 20px;
  }
  #print-box .left {
    width: 50%;
  }
  #print-box .left img {
    padding: 20px;
    width: 100%;
    border: 1px solid #000;
    border-radius: 10px;
  }
  #print-box .items {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  #print-box .item {
    border: 1px solid grey;
    padding: 20px;
    border-radius: 10px;
  }
  #print-box .item p {
    margin: 0;
  }
  #print-box .right {
    width: 50%;
  }
  #print-box .right h1 {
    margin: 0;
    text-align: left;
    font-size: 40px;
    letter-spacing: -0.02em;
  }
  #print-box .right .precio-old {
    display: flex;
    align-items: flex-end;
    line-height: 1;
    margin-top: 35px;
    gap: 10px;
    font-weight: 500;
  }
  #print-box .right .precio-old h4 {
    font-weight: 400;
    margin: 0;
    font-size: 23px;
    text-decoration: line-through;
  }
  #print-box .right .precio {
    display: flex;
    align-items: flex-end;
    line-height: 1;
    margin-top: 35px;
    gap: 10px;
  }
  #print-box .right .precio h4 {
    margin: 0;
    font-size: 40px;
  }
  #print-box .right .precio small {
    font-size: 17px;
  }
}
#dialog-share {
  max-width: 400px;
}
#dialog-share .content {
  display: flex;
  margin-top: 20px;
  gap: 20px;
  justify-content: center;
}
#dialog-share .share-item {
  border: 1px solid #ddd;
  padding: 20px;
  text-align: center;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: white;
  width: 100%;
  color: black;
  transition: 0.1s background, 0.1s color, 0.1s border-color;
}
#dialog-share .share-item:hover {
  background: var(--accent);
  color: white;
  border-color: var(--accent);
}
#dialog-share .share-item:hover svg {
  color: white;
}
#dialog-share .share-item svg {
  color: var(--color-accent);
  transition: 0.1s color;
}
#dialog-share .share-item span {
  font-size: 16px;
  font-weight: 500;
  margin-top: 5px;
}

#dialog-contactar footer {
  margin-top: 10px;
}
#dialog-contactar form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 20px;
}
#dialog-contactar input {
  width: 100%;
}
#dialog-contactar .box-data {
  border: 1px solid #ddd;
  border-radius: 8px;
  margin-top: 15px;
  display: flex;
  align-items: center;
  gap: 20px;
  color: black;
}
#dialog-contactar .box-data img {
  width: 100px;
  height: 100px;
}
#dialog-contactar .box-data .box-name {
  margin: 0 0 5px 0;
  font-size: 20px;
}
#dialog-contactar .box-data .box-price {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-right: 4px;
}

.page-configurar-app .container {
  display: flex;
  gap: 30px;
}
.page-configurar-app h1.title {
  margin-top: 0;
  letter-spacing: -0.04em;
  font-size: 35px;
  color: var(--accent);
}
@media (max-width: 768px) {
  .page-configurar-app h1.title {
    text-align: center;
  }
}
.page-configurar-app .card {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
  background-color: #fff;
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: row;
  gap: 30px;
}
@media (max-width: 768px) {
  .page-configurar-app .card {
    flex-direction: column;
    gap: 0px;
  }
}
.page-configurar-app .card .intructions {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.page-configurar-app .card .intructions ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-configurar-app .card .intructions ul li {
  position: relative;
  margin-bottom: 15px;
  line-height: 1.4;
}
.page-configurar-app .card .intructions span {
  font-weight: 700;
}
.page-configurar-app .card .intructions hr {
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin: 20px 0 0 0;
}
.page-configurar-app .card .intructions .app {
  margin-top: auto;
  padding: 20px 0;
}
@media (max-width: 768px) {
  .page-configurar-app .card .intructions .app {
    text-align: center;
  }
}
.page-configurar-app .card .intructions .app span {
  margin-bottom: 10px;
  display: block;
  font-weight: 700;
}
.page-configurar-app .card .intructions .app .img {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .page-configurar-app .card .intructions .app .img {
    justify-content: center;
  }
}
.page-configurar-app .card .intructions .app .img img {
  transition: transform 0.3s ease;
}
.page-configurar-app .card .intructions .app .img img:hover {
  transform: scale(1.05);
}
.page-configurar-app .card .qr {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  box-shadow: var(--card-shadow);
  flex: 1;
  background-color: white;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
  max-width: 400px;
  max-height: 400px;
  width: 100%;
  transition: all 0.3s ease;
  position: relative;
}
.page-configurar-app .card .qr:hover {
  transform: scale(1.02);
  box-shadow: var(--card-shadow-hover);
}
@media (max-width: 768px) {
  .page-configurar-app .card .qr {
    max-width: 100%;
    max-height: 100%;
  }
}
.page-configurar-app .card .qr img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.page-configurar-app .card .qr p {
  font-size: 14px;
  color: #666;
  text-align: center;
  margin: 0;
  padding: 20px;
  line-height: 1.4;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.9);
}

.page-checkout2 fieldset {
  padding: 0;
  border: 0;
}
.page-checkout2 .input {
  margin-bottom: 10px;
}
.page-checkout2 .pay {
  display: flex;
  gap: 10px;
}
.page-checkout2 .input-radio {
  border: 1px solid #cecece;
  background: white;
  min-height: 100px;
  width: 100%;
  border-radius: 5px;
  padding: 25px;
  outline: none;
  box-shadow: 0 0 0 0px rgba(178, 208, 255, 0.3882352941);
  transition: 0.2s box-shadow;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  gap: 5px;
}
.page-checkout2 .input-radio:hover, .page-checkout2 .input-radio:active, .page-checkout2 .input-radio:focus {
  border: 1px solid #afcbcc;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.page-checkout2 .input-radio:has(input:checked) {
  box-shadow: 0 0 0 2px #003c99;
  border-color: #003c99;
  background: #d9e8ff;
  color: #003c99;
}
.page-checkout2 .input-radio .icon {
  line-height: 1;
}
.page-checkout2 .input-radio input[type=radio] {
  width: 0px;
  height: 0px;
  visibility: hidden;
}
.page-checkout2 .input-radio svg {
  height: 15px;
}
.page-checkout2 .container {
  display: flex;
  gap: 35px;
  align-items: flex-start;
}
.page-checkout2 .login {
  max-width: 300px;
  margin: auto;
}
.page-checkout2 .form .content {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.page-checkout2 .form .input {
  width: calc(50% - 5px);
}
.page-checkout2 .form .error-message {
  font-size: 12px;
  color: red;
  display: block;
  margin-top: 5px;
}
.page-checkout2 .page {
  flex-grow: 1;
}
.page-checkout2 .page h4 {
  margin: 0 0 10px 0;
  font-size: 12px;
  font-family: var(--font-text);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #8a8b95;
}
.page-checkout2 .page .checkout-footer {
  margin-top: 40px;
}
.page-checkout2 .page .checkout-footer .copy {
  color: #7c7c7c;
  text-align: center;
  font-size: 13px;
  margin: 0 0 7px 0;
}
.page-checkout2 .page .checkout-footer .copy a {
  color: #7c7c7c;
  text-decoration: underline;
}
.page-checkout2 .page .checkout-footer .btn-pay {
  padding: 20px;
  width: 100%;
  font-family: var(--font-title);
  font-size: 18px;
  font-weight: 700;
}
.page-checkout2 .page .checkout-footer .btn-pay:before {
  content: none;
}
.page-checkout2 .page .checkout-footer .terms-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  cursor: pointer;
}
.page-checkout2 .page .checkout-footer .terms-checkbox input {
  margin-top: 0px;
}
.page-checkout2 .box-info {
  display: flex;
  gap: 10px;
  overflow: hidden;
  padding: 15px;
  border-radius: 10px;
  align-items: flex-start;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.page-checkout2 .box-info h3 {
  margin: 0 0 5px 0;
  font-size: 20px;
}
.page-checkout2 .box-info .right {
  width: 100%;
}
.page-checkout2 .box-info p {
  margin: 0;
  display: flex;
  gap: 5px;
  color: #727272;
  font-size: 14px;
}
.page-checkout2 .box-info p span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.page-checkout2 .box-info p svg {
  flex-shrink: 0;
  width: 11px;
}
.page-checkout2 aside {
  flex-shrink: 0;
  background: white;
  border-radius: 8px;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
  width: 470px;
}
.page-checkout2 .mobile-data {
  background: white;
  border-radius: 8px;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
}
.page-checkout2 .checkout-btns {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.page-checkout2 .checkout-btns svg {
  width: 16px;
}
.page-checkout2 .checkout-btns button {
  display: flex;
  align-items: center;
  text-align: left;
  gap: 10px;
  padding: 0 12px;
  font-size: 14px;
  width: 100%;
  min-height: 40px;
  color: var(--accent);
  background: white;
  border: 1px solid #ccc;
  border-radius: 5px;
  transition: 0.2s background;
}
.page-checkout2 .checkout-btns button:hover {
  background: rgba(238, 238, 238, 0.4);
}
.page-checkout2 .checkout-date {
  margin-top: 20px;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.page-checkout2 .checkout-date .dots {
  display: inline-block;
  border-bottom: 2px dotted #cecece;
  flex-grow: 1;
  margin: 0 5px;
  height: 1em;
}
.page-checkout2 .checkout-date .btn-date {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 1px 0 4px;
  font-size: 14px;
  border: 0;
  padding: 0;
  background-color: transparent;
  border: 1px solid #cecece;
  border-radius: 5px;
  font-size: 12px;
  background: #f7f7f7;
  padding: 0 3px 0 5px;
  height: 21px;
  position: relative;
}
.page-checkout2 .checkout-date [type=date] {
  pointer-events: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.page-checkout2 .checkout-date svg {
  height: auto;
  margin-top: -1px;
  width: 1em;
  color: gray;
}
.page-checkout2 .checkout-date svg,
.page-checkout2 .checkout-date span {
  pointer-events: none;
}
.page-checkout2 .checkout-prices {
  margin: 10px 0 0 0;
  padding: 0;
  list-style: none;
}
.page-checkout2 .checkout-prices li {
  display: flex;
  margin-bottom: 5px;
}
.page-checkout2 .checkout-prices li div:first-child {
  flex-grow: 1;
  display: flex;
  white-space: nowrap;
}
.page-checkout2 .checkout-prices li div:first-child:after {
  border-bottom: 2px dotted #cecece;
  margin: 0 5px;
  height: 1em;
  flex: 1;
  content: "";
}
.page-checkout2 .checkout-total {
  margin-top: 50px;
  border-top: 1px solid #d7d7d7;
  display: flex;
  padding-top: 10px;
  align-items: flex-end;
}
.page-checkout2 .checkout-total .left {
  flex-grow: 1;
  font-size: 14px;
}
.page-checkout2 .checkout-total .price {
  font-size: 23px;
}
.page-checkout2 #dialog-cupon .content form {
  margin-top: 20px;
  display: flex;
}
.page-checkout2 #dialog-cupon .content form input {
  border: 1px solid #cecece;
  background: white;
  min-height: 50px;
  width: 100%;
  border-radius: 5px 0 0 5px;
  padding: 0 10px;
  outline: none;
  box-shadow: 0 0 0 0px rgba(178, 208, 255, 0.3882352941);
  transition: 0.2s box-shadow;
}
.page-checkout2 #dialog-cupon .content form input:hover, .page-checkout2 #dialog-cupon .content form input:active, .page-checkout2 #dialog-cupon .content form input:focus {
  border: 1px solid #afcbcc;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.page-checkout2 #dialog-cupon .content form input[disabled] {
  pointer-events: none;
  opacity: 0.8;
  background-color: #eee;
}
.page-checkout2 #dialog-cupon .content form button {
  border-radius: 0 5px 5px 0;
  padding: 20px;
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 14px;
  width: auto;
  white-space: nowrap;
}
.page-checkout2 #dialog-cupon .content form button:before {
  content: none;
}
.page-checkout2 #dialog-cobertura .content {
  display: flex;
  gap: 10px;
  flex-direction: column;
  margin-top: 20px;
}
.page-checkout2 .visible-mobile {
  display: none;
}
@media (max-width: 850px) {
  .page-checkout2 .visible-mobile {
    display: block;
  }
  .page-checkout2 aside {
    display: none;
  }
  .page-checkout2 .box-info {
    margin-bottom: 40px;
  }
  .page-checkout2 .box-info .checkout-prices {
    margin: 0;
  }
  .page-checkout2 .pay-info {
    margin-top: 40px;
  }
}
@media (max-width: 500px) {
  .page-checkout2 .pay {
    flex-direction: column;
  }
  .page-checkout2 .input-radio {
    min-height: initial;
    padding: 15px 25px;
  }
}

.page-account .table-responsive {
  overflow-x: auto;
  margin: 20px 0;
}
.page-account .m3-card {
  max-width: 1200px;
  margin: auto;
  padding: 0;
  overflow: hidden;
}
.page-account .inner {
  padding: 30px;
  width: 100%;
}
.page-account .inner .title {
  margin-top: 0;
}
.page-account .content {
  display: flex;
}
.page-account .table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.page-account .table th,
.page-account .table td {
  padding: 15px;
  text-align: left;
  border-bottom: 1px solid #eee;
}
.page-account .table th {
  background-color: var(--accent);
  color: white;
  font-weight: 500;
}
.page-account .table tr:hover {
  background-color: #f8f9fa;
}
.page-account .actions {
  display: flex;
  gap: 10px;
}
.page-account .actions button {
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
}
.page-account .btn-primary {
  background-color: #007bff;
  color: white;
}
.page-account .btn-secondary {
  background-color: #6c757d;
  color: white;
}
.page-account .btn-red {
  background-color: #e74c3c;
  color: white;
}
.page-account .sidebar {
  flex-shrink: 0;
  width: 300px;
  background-color: #f9f9f9;
  border-right: 1px solid #d9d9d9;
  padding: 20px;
}
.page-account .sidebar .menu-option {
  width: 100%;
  margin-bottom: 5px;
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
  border-radius: 5px;
  transition: background-color 0.3s;
}
.page-account .sidebar .menu-option:hover {
  background-color: #e0e0e0;
}
.page-account .sidebar .menu-option.active {
  background-color: var(--accent);
  color: #fff;
}
.page-account h1.title {
  margin-top: 0;
  letter-spacing: -0.04em;
  font-size: 35px;
  color: var(--accent);
}
@media (max-width: 768px) {
  .page-account .sidebar {
    border-right: 0;
    border-bottom: 1px solid #d9d9d9;
    width: 100%;
  }
  .page-account .content {
    flex-direction: column;
  }
}

.page-contacto .container {
  display: flex;
  gap: 30px;
}
.page-contacto h1.title {
  margin-top: 0;
  letter-spacing: -0.04em;
  font-size: 35px;
  color: var(--accent);
}
.page-contacto .main {
  flex-grow: 1;
}
.page-contacto .main form {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.page-contacto .main form .input {
  width: 100%;
}
.page-contacto .main form button {
  flex: 1 1 100%;
}
.page-contacto aside {
  width: 300px;
}
.page-contacto .contacto-info {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.page-contacto .contacto-info .info-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.page-contacto .contacto-info .info-item svg {
  width: 15px;
  height: 15px;
  color: var(--accent);
}
.page-contacto .contacto-info .info-item a.btn-contacto {
  font-size: 16px;
  color: #333;
  text-decoration: none;
  transition: color 0.3s;
}
.page-contacto .contacto-info .info-item a.btn-contacto:hover {
  color: var(--accent);
}
@media (max-width: 700px) {
  .page-contacto .container {
    flex-direction: column;
  }
  .page-contacto aside {
    width: 100%;
    order: 1;
  }
  .page-contacto .main {
    order: 2;
  }
}

.page-pages .container {
  display: flex;
  gap: 30px;
}
.page-pages h1.title {
  margin-top: 0;
  letter-spacing: -0.04em;
  font-size: 35px;
  color: var(--accent);
}
.page-pages .card {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
  background-color: #fff;
  padding: 20px;
  flex-grow: 1;
  min-height: 500px;
}

:root {
  --color-blue: #215bad;
  --color-text: #454950;
  --black: black;
  --white: white;
  --white-hover: #eff3f9;
}

#dialog-cookies {
  max-width: 600px;
}
#dialog-cookies .cookies-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  gap: 20px;
}
#dialog-cookies .cookies-row h4 {
  margin: 0 0 10px 0;
  font-size: 19px;
  color: black;
}
#dialog-cookies .cookies-row p {
  margin: 0;
  max-width: 470px;
}
#dialog-cookies .cookies-row a {
  color: #215bad;
}
#dialog-cookies footer {
  padding-top: 20px;
}
#dialog-cookies .badge-active {
  text-transform: uppercase;
  color: #0e9f6b;
  font-size: 10px;
  background: #c8ffdc;
  padding: 3px 5px;
  display: inline-block;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  letter-spacing: 0;
}
#dialog-cookies .custom-checkbox {
  width: 50px;
  height: 25px;
}
#dialog-cookies .custom-checkbox .status {
  display: none;
}
#dialog-cookies .custom-checkbox .status + label {
  height: 100%;
  width: 100%;
  display: block;
}
#dialog-cookies .custom-checkbox .status + label > .status-switch {
  cursor: pointer;
  width: 100%;
  height: 100%;
  position: relative;
  background-color: grey;
  color: white;
  transition: all 0.5s ease;
  padding: 3px;
  border-radius: 3px;
}
#dialog-cookies .custom-checkbox .status + label > .status-switch:before,
#dialog-cookies .custom-checkbox .status + label > .status-switch:after {
  border-radius: 2px;
  height: calc(100% - 6px);
  width: calc(50% - 3px);
  display: flex;
  align-items: center;
  position: absolute;
  justify-content: center;
  transition: all 0.3s ease;
}
#dialog-cookies .custom-checkbox .status + label > .status-switch:before {
  background-color: white;
  color: black;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  left: 3px;
  z-index: 10;
  content: attr(data-unchecked);
}
#dialog-cookies .custom-checkbox .status + label > .status-switch:after {
  right: 3px;
  content: attr(data-checked);
}
#dialog-cookies .custom-checkbox .status:checked + label > .status-switch {
  background-color: #40c253;
}
#dialog-cookies .custom-checkbox .status:checked + label > .status-switch:after {
  left: 3px;
  content: attr(data-unchecked);
}
#dialog-cookies .custom-checkbox .status:checked + label > .status-switch:before {
  color: #40c253;
  left: 50%;
  content: attr(data-checked);
}
#dialog-cookies .btn-shade {
  color: black;
}

.cookies-banner {
  display: none;
  padding: 20px;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: white;
  z-index: 99;
  color: var(--color-text);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}
.cookies-banner.active {
  display: block;
}
.cookies-banner__content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.cookies-banner p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}
.cookies-banner__buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.cookies-banner .btn-accent {
  background-color: var(--color-blue);
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.cookies-banner .btn-accent:hover {
  background-color: #194482;
}
.cookies-banner .btn-outline {
  background-color: transparent;
  color: var(--color-text);
  border: 1px solid var(--color-text);
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
}
.cookies-banner .btn-outline:hover {
  background-color: var(--color-text);
  color: white;
}
@media (max-width: 768px) {
  .cookies-banner {
    padding: 15px;
  }
  .cookies-banner__content {
    flex-direction: column;
    text-align: center;
  }
  .cookies-banner p {
    font-size: 14px;
  }
  .cookies-banner__buttons {
    width: 100%;
    justify-content: center;
  }
}

.cookies-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 100;
  padding: 20px;
}
.cookies-modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cookies-modal__content {
  background: white;
  border-radius: 8px;
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
}
.cookies-modal__header {
  padding: 20px;
  border-bottom: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cookies-modal__header h2 {
  margin: 0;
  font-size: 24px;
  color: var(--color-text);
}
.cookies-modal__close {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--color-text);
  padding: 0;
  line-height: 1;
}
.cookies-modal__body {
  padding: 20px;
}
.cookies-modal__section {
  margin-bottom: 20px;
}
.cookies-modal__section:last-child {
  margin-bottom: 0;
}
.cookies-modal__section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.cookies-modal__section-header h3 {
  margin: 0;
  font-size: 18px;
  color: var(--color-text);
}
.cookies-modal__footer {
  padding: 20px;
  border-top: 1px solid #eee;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch input:checked + .slider {
  background-color: #40c253;
}
.switch input:checked + .slider:before {
  transform: translateX(26px);
}
.switch input:disabled + .slider {
  background-color: #ccc;
  cursor: not-allowed;
}
.switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
}
.switch .slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.4s;
}
.switch .slider.round {
  border-radius: 24px;
}
.switch .slider.round:before {
  border-radius: 50%;
}

.page-login {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 50vh;
  padding: 60px 0;
}
.page-login .form-footer {
  display: flex;
  margin-top: 30px;
  justify-content: space-between;
}
.page-login .form-footer button,
.page-login .form-footer .btn-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  padding: 0;
  margin: 0;
  border: 0;
  cursor: pointer;
  color: #2c3e50;
  background-color: transparent;
  flex-shrink: 0;
  padding: 3px 5px;
  border-radius: 3px;
  transition: 0.2s background;
}
.page-login .form-footer button:hover,
.page-login .form-footer .btn-footer:hover {
  background: rgba(0, 0, 0, 0.1);
}
.page-login .form-footer svg {
  width: 17px;
  height: 13px;
  flex-shrink: 0;
  opacity: 0.5;
}
@media (max-width: 500px) {
  .page-login .form-footer {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
}
.page-login .title {
  margin-top: 0;
  color: var(--accent);
  text-align: center;
}
@media (max-width: 500px) {
  .page-login .title {
    font-size: 20px;
  }
}
.page-login .timer {
  text-align: center;
  font-size: 13px;
  margin: 10px 0;
}
.page-login .m3-alert {
  margin-bottom: 10px;
  margin-top: 10px;
}
.page-login .auth-wrapper {
  background: white;
  padding: 40px;
  border-radius: 10px;
  box-shadow: var(--card-shadow);
  border: 1px solid rgba(0, 0, 0, 0.1);
  max-width: 450px;
  width: 100%;
  margin: 0 20px;
}
@media (max-width: 500px) {
  .page-login .auth-wrapper {
    padding: 25px;
  }
}
.page-login fieldset {
  padding: 0;
  border: 0;
}
.page-login .pay {
  display: flex;
  gap: 10px;
}
.page-login .input-radio {
  border: 1px solid #cecece;
  background: white;
  min-height: 100px;
  width: 100%;
  border-radius: 5px;
  padding: 25px;
  outline: none;
  box-shadow: 0 0 0 0px rgba(178, 208, 255, 0.3882352941);
  transition: 0.2s box-shadow;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  gap: 5px;
}
.page-login .input-radio:hover, .page-login .input-radio:active, .page-login .input-radio:focus {
  border: 1px solid #afcbcc;
  box-shadow: 0 0 0 3px rgba(178, 208, 255, 0.3882352941);
}
.page-login .input-radio:has(input:checked) {
  box-shadow: 0 0 0 2px #003c99;
  border-color: #003c99;
  background: #d9e8ff;
  color: #003c99;
}
.page-login .input-radio .icon {
  line-height: 1;
}
.page-login .input-radio input[type=radio] {
  width: 0px;
  height: 0px;
  visibility: hidden;
}
.page-login .input-radio svg {
  height: 15px;
}
.page-login .container {
  display: flex;
  gap: 35px;
  align-items: flex-start;
}
.page-login .login {
  max-width: 300px;
  margin: auto;
}
.page-login .form .content {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.page-login .form .input {
  width: calc(50% - 5px);
}
.page-login .form .error-message {
  font-size: 12px;
  color: red;
  display: block;
  margin-top: 5px;
}
.page-login .mobile-data {
  background: white;
  border-radius: 8px;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: var(--card-shadow);
}
.page-login .visible-mobile {
  display: none;
}
@media (max-width: 850px) {
  .page-login .visible-mobile {
    display: block;
  }
  .page-login aside {
    display: none;
  }
  .page-login .box-info {
    margin-bottom: 40px;
  }
  .page-login .box-info .checkout-prices {
    margin: 0;
  }
  .page-login .pay-info {
    margin-top: 40px;
  }
}
@media (max-width: 500px) {
  .page-login .pay {
    flex-direction: column;
  }
  .page-login .input-radio {
    min-height: initial;
    padding: 15px 25px;
  }
}

.input-phone .img-flag {
  background-image: url("../img/sprite.png");
  background-repeat: no-repeat;
  display: block;
  background-color: #eee;
}

.sprite-abw {
  width: 18px;
  height: 13px;
  background-position: 0 0;
}

.sprite-ad {
  width: 18px;
  height: 13px;
  background-position: -18px 0;
}

.sprite-afg {
  width: 18px;
  height: 13px;
  background-position: -36px 0;
}

.sprite-ago {
  width: 18px;
  height: 13px;
  background-position: -54px 0;
}

.sprite-aia {
  width: 18px;
  height: 13px;
  background-position: -72px 0;
}

.sprite-ala {
  width: 18px;
  height: 13px;
  background-position: -90px 0;
}

.sprite-alb {
  width: 18px;
  height: 13px;
  background-position: -108px 0;
}

.sprite-ar {
  width: 18px;
  height: 13px;
  background-position: -126px 0;
}

.sprite-are {
  width: 18px;
  height: 13px;
  background-position: -144px 0;
}

.sprite-arm {
  width: 18px;
  height: 13px;
  background-position: -162px 0;
}

.sprite-asm {
  width: 18px;
  height: 13px;
  background-position: -180px 0;
}

.sprite-at {
  width: 18px;
  height: 13px;
  background-position: -198px 0;
}

.sprite-ata {
  width: 18px;
  height: 13px;
  background-position: -216px 0;
}

.sprite-atf {
  width: 18px;
  height: 13px;
  background-position: 0 -13px;
}

.sprite-atg {
  width: 18px;
  height: 13px;
  background-position: -18px -13px;
}

.sprite-au {
  width: 18px;
  height: 13px;
  background-position: -36px -13px;
}

.sprite-aze {
  width: 18px;
  height: 13px;
  background-position: -54px -13px;
}

.sprite-bdi {
  width: 18px;
  height: 13px;
  background-position: -72px -13px;
}

.sprite-be {
  width: 18px;
  height: 13px;
  background-position: -90px -13px;
}

.sprite-ben {
  width: 18px;
  height: 13px;
  background-position: -108px -13px;
}

.sprite-bes {
  width: 18px;
  height: 13px;
  background-position: -126px -13px;
}

.sprite-bfa {
  width: 18px;
  height: 13px;
  background-position: -144px -13px;
}

.sprite-bgd {
  width: 18px;
  height: 13px;
  background-position: -162px -13px;
}

.sprite-bgr {
  width: 18px;
  height: 13px;
  background-position: -180px -13px;
}

.sprite-bhr {
  width: 18px;
  height: 13px;
  background-position: -198px -13px;
}

.sprite-bhs {
  width: 18px;
  height: 13px;
  background-position: -216px -13px;
}

.sprite-bih {
  width: 18px;
  height: 13px;
  background-position: 0 -26px;
}

.sprite-blm {
  width: 18px;
  height: 18px;
  background-position: -18px -26px;
}

.sprite-blr {
  width: 18px;
  height: 13px;
  background-position: -36px -26px;
}

.sprite-blz {
  width: 18px;
  height: 13px;
  background-position: -54px -26px;
}

.sprite-bmu {
  width: 18px;
  height: 13px;
  background-position: -72px -26px;
}

.sprite-bo {
  width: 18px;
  height: 13px;
  background-position: -90px -26px;
}

.sprite-br {
  width: 18px;
  height: 13px;
  background-position: -108px -26px;
}

.sprite-brb {
  width: 18px;
  height: 13px;
  background-position: -126px -26px;
}

.sprite-brn {
  width: 18px;
  height: 13px;
  background-position: -144px -26px;
}

.sprite-btn {
  width: 18px;
  height: 13px;
  background-position: -162px -26px;
}

.sprite-bvt {
  width: 18px;
  height: 13px;
  background-position: -180px -26px;
}

.sprite-bwa {
  width: 18px;
  height: 13px;
  background-position: -198px -26px;
}

.sprite-ca {
  width: 18px;
  height: 13px;
  background-position: -216px -26px;
}

.sprite-caf {
  width: 18px;
  height: 13px;
  background-position: 0 -39px;
}

.sprite-cat {
  width: 18px;
  height: 13px;
  background-position: -36px -39px;
}

.sprite-cck {
  width: 18px;
  height: 13px;
  background-position: -54px -39px;
}

.sprite-ch {
  width: 18px;
  height: 13px;
  background-position: -72px -39px;
}

.sprite-chn {
  width: 18px;
  height: 13px;
  background-position: -90px -39px;
}

.sprite-ci {
  width: 18px;
  height: 13px;
  background-position: -108px -39px;
}

.sprite-cl {
  width: 18px;
  height: 13px;
  background-position: -126px -39px;
}

.sprite-cmr {
  width: 18px;
  height: 13px;
  background-position: -144px -39px;
}

.sprite-co {
  width: 18px;
  height: 13px;
  background-position: -162px -39px;
}

.sprite-cod {
  width: 18px;
  height: 13px;
  background-position: -180px -39px;
}

.sprite-cog {
  width: 18px;
  height: 13px;
  background-position: -198px -39px;
}

.sprite-cok {
  width: 18px;
  height: 13px;
  background-position: -216px -39px;
}

.sprite-com {
  width: 18px;
  height: 13px;
  background-position: 0 -52px;
}

.sprite-cpv {
  width: 18px;
  height: 13px;
  background-position: -18px -52px;
}

.sprite-cr {
  width: 18px;
  height: 13px;
  background-position: -36px -52px;
}

.sprite-cu {
  width: 18px;
  height: 13px;
  background-position: -54px -52px;
}

.sprite-cuw {
  width: 18px;
  height: 13px;
  background-position: -72px -52px;
}

.sprite-cxr {
  width: 18px;
  height: 13px;
  background-position: -90px -52px;
}

.sprite-cym {
  width: 18px;
  height: 13px;
  background-position: -108px -52px;
}

.sprite-cyp {
  width: 18px;
  height: 13px;
  background-position: -126px -52px;
}

.sprite-cz {
  width: 18px;
  height: 13px;
  background-position: -144px -52px;
}

.sprite-de {
  width: 18px;
  height: 13px;
  background-position: -162px -52px;
}

.sprite-dji {
  width: 18px;
  height: 13px;
  background-position: -180px -52px;
}

.sprite-dk {
  width: 18px;
  height: 13px;
  background-position: -198px -52px;
}

.sprite-dma {
  width: 18px;
  height: 13px;
  background-position: -216px -52px;
}

.sprite-do {
  width: 18px;
  height: 13px;
  background-position: 0 -65px;
}

.sprite-dza {
  width: 18px;
  height: 13px;
  background-position: -18px -65px;
}

.sprite-ec {
  width: 18px;
  height: 13px;
  background-position: -36px -65px;
}

.sprite-egy {
  width: 18px;
  height: 13px;
  background-position: -54px -65px;
}

.sprite-eng {
  width: 18px;
  height: 13px;
  background-position: -72px -65px;
}

.sprite-eri {
  width: 18px;
  height: 13px;
  background-position: -90px -65px;
}

.sprite-es {
  width: 18px;
  height: 13px;
  background-position: -108px -65px;
}

.sprite-esh {
  width: 18px;
  height: 13px;
  background-position: -126px -65px;
}

.sprite-est {
  width: 18px;
  height: 13px;
  background-position: -144px -65px;
}

.sprite-eth {
  width: 18px;
  height: 13px;
  background-position: -162px -65px;
}

.sprite-eun {
  width: 18px;
  height: 13px;
  background-position: -180px -65px;
}

.sprite-fi {
  width: 18px;
  height: 13px;
  background-position: -198px -65px;
}

.sprite-fji {
  width: 18px;
  height: 13px;
  background-position: -216px -65px;
}

.sprite-flk {
  width: 18px;
  height: 13px;
  background-position: 0 -78px;
}

.sprite-fr {
  width: 18px;
  height: 13px;
  background-position: -18px -78px;
}

.sprite-fro {
  width: 18px;
  height: 13px;
  background-position: -36px -78px;
}

.sprite-fsm {
  width: 18px;
  height: 13px;
  background-position: -54px -78px;
}

.sprite-gab {
  width: 18px;
  height: 13px;
  background-position: -72px -78px;
}

.sprite-gb {
  width: 18px;
  height: 13px;
  background-position: -90px -78px;
}

.sprite-geo {
  width: 18px;
  height: 13px;
  background-position: -108px -78px;
}

.sprite-ggy {
  width: 18px;
  height: 13px;
  background-position: -126px -78px;
}

.sprite-gha {
  width: 18px;
  height: 13px;
  background-position: -144px -78px;
}

.sprite-gib {
  width: 18px;
  height: 13px;
  background-position: -162px -78px;
}

.sprite-gin {
  width: 18px;
  height: 13px;
  background-position: -180px -78px;
}

.sprite-glp {
  width: 18px;
  height: 18px;
  background-position: -198px -78px;
}

.sprite-gmb {
  width: 18px;
  height: 13px;
  background-position: -216px -78px;
}

.sprite-gnb {
  width: 18px;
  height: 13px;
  background-position: 0 -91px;
}

.sprite-gnq {
  width: 18px;
  height: 13px;
  background-position: -18px -91px;
}

.sprite-gr {
  width: 18px;
  height: 13px;
  background-position: -36px -91px;
}

.sprite-grd {
  width: 18px;
  height: 13px;
  background-position: -54px -91px;
}

.sprite-grl {
  width: 18px;
  height: 13px;
  background-position: -72px -91px;
}

.sprite-gt {
  width: 18px;
  height: 13px;
  background-position: -90px -91px;
}

.sprite-guf {
  width: 18px;
  height: 13px;
  background-position: -108px -91px;
}

.sprite-gum {
  width: 18px;
  height: 13px;
  background-position: -126px -91px;
}

.sprite-guy {
  width: 18px;
  height: 13px;
  background-position: -144px -91px;
}

.sprite-hkg {
  width: 18px;
  height: 13px;
  background-position: -162px -91px;
}

.sprite-hmd {
  width: 18px;
  height: 13px;
  background-position: -180px -91px;
}

.sprite-hn {
  width: 18px;
  height: 13px;
  background-position: -216px -91px;
}

.sprite-hr {
  width: 18px;
  height: 13px;
  background-position: 0 -104px;
}

.sprite-hti {
  width: 18px;
  height: 13px;
  background-position: -18px -104px;
}

.sprite-hu {
  width: 18px;
  height: 13px;
  background-position: -36px -104px;
}

.sprite-id {
  width: 18px;
  height: 13px;
  background-position: -54px -104px;
}

.sprite-ie {
  width: 18px;
  height: 13px;
  background-position: -72px -104px;
}

.sprite-il {
  width: 18px;
  height: 13px;
  background-position: -90px -104px;
}

.sprite-imn {
  width: 18px;
  height: 13px;
  background-position: -108px -104px;
}

.sprite-in {
  width: 18px;
  height: 13px;
  background-position: -126px -104px;
}

.sprite-iot {
  width: 18px;
  height: 13px;
  background-position: -144px -104px;
}

.sprite-irn {
  width: 18px;
  height: 13px;
  background-position: -162px -104px;
}

.sprite-irq {
  width: 18px;
  height: 13px;
  background-position: -180px -104px;
}

.sprite-is {
  width: 18px;
  height: 13px;
  background-position: -198px -104px;
}

.sprite-it {
  width: 18px;
  height: 13px;
  background-position: -216px -104px;
}

.sprite-jey {
  width: 18px;
  height: 13px;
  background-position: 0 -117px;
}

.sprite-jm {
  width: 18px;
  height: 13px;
  background-position: -18px -117px;
}

.sprite-jor {
  width: 18px;
  height: 13px;
  background-position: -36px -117px;
}

.sprite-jpn {
  width: 18px;
  height: 13px;
  background-position: -54px -117px;
}

.sprite-kaz {
  width: 18px;
  height: 13px;
  background-position: -72px -117px;
}

.sprite-ken {
  width: 18px;
  height: 13px;
  background-position: -90px -117px;
}

.sprite-kgz {
  width: 18px;
  height: 13px;
  background-position: -108px -117px;
}

.sprite-khm {
  width: 18px;
  height: 13px;
  background-position: -126px -117px;
}

.sprite-kir {
  width: 18px;
  height: 13px;
  background-position: -144px -117px;
}

.sprite-kna {
  width: 18px;
  height: 13px;
  background-position: -162px -117px;
}

.sprite-kor {
  width: 18px;
  height: 13px;
  background-position: -180px -117px;
}

.sprite-kos {
  width: 18px;
  height: 18px;
  background-position: -198px -117px;
}

.sprite-kwt {
  width: 18px;
  height: 13px;
  background-position: -216px -117px;
}

.sprite-lao {
  width: 18px;
  height: 13px;
  background-position: 0 -130px;
}

.sprite-lbn {
  width: 18px;
  height: 13px;
  background-position: -18px -130px;
}

.sprite-lbr {
  width: 18px;
  height: 13px;
  background-position: -36px -130px;
}

.sprite-lby {
  width: 18px;
  height: 13px;
  background-position: -54px -130px;
}

.sprite-lca {
  width: 18px;
  height: 13px;
  background-position: -72px -130px;
}

.sprite-li {
  width: 18px;
  height: 13px;
  background-position: -90px -130px;
}

.sprite-lka {
  width: 18px;
  height: 13px;
  background-position: -108px -130px;
}

.sprite-lso {
  width: 18px;
  height: 13px;
  background-position: -126px -130px;
}

.sprite-lt {
  width: 18px;
  height: 13px;
  background-position: -144px -130px;
}

.sprite-lu {
  width: 18px;
  height: 13px;
  background-position: -162px -130px;
}

.sprite-lva {
  width: 18px;
  height: 13px;
  background-position: -180px -130px;
}

.sprite-mac {
  width: 18px;
  height: 13px;
  background-position: -216px -130px;
}

.sprite-maf {
  width: 18px;
  height: 18px;
  background-position: 0 -143px;
}

.sprite-mar {
  width: 18px;
  height: 13px;
  background-position: -18px -143px;
}

.sprite-mc {
  width: 18px;
  height: 13px;
  background-position: -36px -143px;
}

.sprite-mda {
  width: 18px;
  height: 13px;
  background-position: -54px -143px;
}

.sprite-mdg {
  width: 18px;
  height: 13px;
  background-position: -72px -143px;
}

.sprite-mdv {
  width: 18px;
  height: 13px;
  background-position: -90px -143px;
}

.sprite-mhl {
  width: 18px;
  height: 13px;
  background-position: -108px -143px;
}

.sprite-mkd {
  width: 18px;
  height: 13px;
  background-position: -126px -143px;
}

.sprite-mli {
  width: 18px;
  height: 13px;
  background-position: -144px -143px;
}

.sprite-mlt {
  width: 18px;
  height: 13px;
  background-position: -162px -143px;
}

.sprite-mmr {
  width: 18px;
  height: 13px;
  background-position: -180px -143px;
}

.sprite-mne {
  width: 18px;
  height: 13px;
  background-position: -198px -143px;
}

.sprite-mng {
  width: 18px;
  height: 13px;
  background-position: -216px -143px;
}

.sprite-mnp {
  width: 18px;
  height: 13px;
  background-position: -18px -156px;
}

.sprite-moz {
  width: 18px;
  height: 13px;
  background-position: -36px -156px;
}

.sprite-mrt {
  width: 18px;
  height: 13px;
  background-position: -54px -156px;
}

.sprite-msr {
  width: 18px;
  height: 13px;
  background-position: -72px -156px;
}

.sprite-mtq {
  width: 18px;
  height: 18px;
  background-position: -90px -156px;
}

.sprite-mus {
  width: 18px;
  height: 13px;
  background-position: -108px -156px;
}

.sprite-mwi {
  width: 18px;
  height: 13px;
  background-position: -126px -156px;
}

.sprite-mx {
  width: 18px;
  height: 13px;
  background-position: -144px -156px;
}

.sprite-mys {
  width: 18px;
  height: 13px;
  background-position: -162px -156px;
}

.sprite-myt {
  width: 18px;
  height: 18px;
  background-position: -180px -156px;
}

.sprite-nam {
  width: 18px;
  height: 13px;
  background-position: -198px -156px;
}

.sprite-ncl {
  width: 18px;
  height: 18px;
  background-position: -216px -156px;
}

.sprite-ner {
  width: 18px;
  height: 13px;
  background-position: 0 -174px;
}

.sprite-nfk {
  width: 18px;
  height: 13px;
  background-position: -18px -174px;
}

.sprite-nga {
  width: 18px;
  height: 13px;
  background-position: -36px -174px;
}

.sprite-ni {
  width: 18px;
  height: 13px;
  background-position: -54px -174px;
}

.sprite-nir {
  width: 18px;
  height: 13px;
  background-position: -72px -174px;
}

.sprite-niu {
  width: 18px;
  height: 13px;
  background-position: -90px -174px;
}

.sprite-nl {
  width: 18px;
  height: 13px;
  background-position: -108px -174px;
}

.sprite-no {
  width: 18px;
  height: 13px;
  background-position: -126px -174px;
}

.sprite-npl {
  width: 18px;
  height: 13px;
  background-position: -144px -174px;
}

.sprite-nru {
  width: 18px;
  height: 13px;
  background-position: -162px -174px;
}

.sprite-nz {
  width: 18px;
  height: 13px;
  background-position: -180px -174px;
}

.sprite-omn {
  width: 18px;
  height: 13px;
  background-position: -198px -174px;
}

.sprite-pa {
  width: 18px;
  height: 13px;
  background-position: -216px -174px;
}

.sprite-pak {
  width: 18px;
  height: 13px;
  background-position: 0 -187px;
}

.sprite-pcn {
  width: 18px;
  height: 13px;
  background-position: -18px -187px;
}

.sprite-pe {
  width: 18px;
  height: 13px;
  background-position: -36px -187px;
}

.sprite-phl {
  width: 18px;
  height: 13px;
  background-position: -54px -187px;
}

.sprite-pl {
  width: 18px;
  height: 13px;
  background-position: -72px -187px;
}

.sprite-plw {
  width: 18px;
  height: 13px;
  background-position: -90px -187px;
}

.sprite-png {
  width: 18px;
  height: 13px;
  background-position: -108px -187px;
}

.sprite-pr {
  width: 18px;
  height: 13px;
  background-position: -126px -187px;
}

.sprite-prk {
  width: 18px;
  height: 13px;
  background-position: -144px -187px;
}

.sprite-pse {
  width: 18px;
  height: 13px;
  background-position: -162px -187px;
}

.sprite-pt {
  width: 18px;
  height: 13px;
  background-position: -180px -187px;
}

.sprite-py {
  width: 18px;
  height: 13px;
  background-position: -198px -187px;
}

.sprite-pyf {
  width: 18px;
  height: 13px;
  background-position: -216px -187px;
}

.sprite-qat {
  width: 18px;
  height: 13px;
  background-position: 0 -200px;
}

.sprite-reu {
  width: 18px;
  height: 13px;
  background-position: -18px -200px;
}

.sprite-rou {
  width: 18px;
  height: 13px;
  background-position: -36px -200px;
}

.sprite-rs {
  width: 18px;
  height: 13px;
  background-position: -54px -200px;
}

.sprite-rus {
  width: 18px;
  height: 13px;
  background-position: -72px -200px;
}

.sprite-rwa {
  width: 18px;
  height: 13px;
  background-position: -90px -200px;
}

.sprite-sau {
  width: 18px;
  height: 13px;
  background-position: -108px -200px;
}

.sprite-sco {
  width: 18px;
  height: 13px;
  background-position: -126px -200px;
}

.sprite-sdn {
  width: 18px;
  height: 13px;
  background-position: -144px -200px;
}

.sprite-se {
  width: 18px;
  height: 13px;
  background-position: -162px -200px;
}

.sprite-sen {
  width: 18px;
  height: 13px;
  background-position: -180px -200px;
}

.sprite-sgp {
  width: 18px;
  height: 13px;
  background-position: -198px -200px;
}

.sprite-sgs {
  width: 18px;
  height: 13px;
  background-position: -216px -200px;
}

.sprite-shn {
  width: 18px;
  height: 13px;
  background-position: 0 -213px;
}

.sprite-si {
  width: 18px;
  height: 13px;
  background-position: -18px -213px;
}

.sprite-sjm {
  width: 18px;
  height: 13px;
  background-position: -36px -213px;
}

.sprite-sk {
  width: 18px;
  height: 13px;
  background-position: -54px -213px;
}

.sprite-slb {
  width: 18px;
  height: 13px;
  background-position: -72px -213px;
}

.sprite-sle {
  width: 18px;
  height: 13px;
  background-position: -90px -213px;
}

.sprite-smr {
  width: 18px;
  height: 13px;
  background-position: -108px -213px;
}

.sprite-som {
  width: 18px;
  height: 13px;
  background-position: -126px -213px;
}

.sprite-spm {
  width: 18px;
  height: 13px;
  background-position: -144px -213px;
}

.sprite-sr {
  width: 18px;
  height: 13px;
  background-position: -162px -213px;
}

.sprite-ssd {
  width: 18px;
  height: 13px;
  background-position: -180px -213px;
}

.sprite-stp {
  width: 18px;
  height: 13px;
  background-position: -198px -213px;
}

.sprite-sun {
  width: 18px;
  height: 18px;
  background-position: -216px -213px;
}

.sprite-sv {
  width: 18px;
  height: 13px;
  background-position: 0 -231px;
}

.sprite-swz {
  width: 18px;
  height: 13px;
  background-position: -18px -231px;
}

.sprite-sxm {
  width: 18px;
  height: 13px;
  background-position: -36px -231px;
}

.sprite-syc {
  width: 18px;
  height: 13px;
  background-position: -54px -231px;
}

.sprite-syr {
  width: 18px;
  height: 13px;
  background-position: -72px -231px;
}

.sprite-tca {
  width: 18px;
  height: 13px;
  background-position: -90px -231px;
}

.sprite-tcd {
  width: 18px;
  height: 13px;
  background-position: -108px -231px;
}

.sprite-tgo {
  width: 18px;
  height: 13px;
  background-position: -126px -231px;
}

.sprite-tha {
  width: 18px;
  height: 13px;
  background-position: -144px -231px;
}

.sprite-tjk {
  width: 18px;
  height: 13px;
  background-position: -162px -231px;
}

.sprite-tkl {
  width: 18px;
  height: 13px;
  background-position: -180px -231px;
}

.sprite-tkm {
  width: 18px;
  height: 13px;
  background-position: -198px -231px;
}

.sprite-tls {
  width: 18px;
  height: 13px;
  background-position: -216px -231px;
}

.sprite-ton {
  width: 18px;
  height: 13px;
  background-position: -234px 0;
}

.sprite-tto {
  width: 18px;
  height: 13px;
  background-position: -234px -13px;
}

.sprite-tun {
  width: 18px;
  height: 13px;
  background-position: -234px -26px;
}

.sprite-tur {
  width: 18px;
  height: 13px;
  background-position: -234px -39px;
}

.sprite-tuv {
  width: 18px;
  height: 13px;
  background-position: -234px -52px;
}

.sprite-twn {
  width: 18px;
  height: 13px;
  background-position: -234px -65px;
}

.sprite-tza {
  width: 18px;
  height: 13px;
  background-position: -234px -78px;
}

.sprite-uga {
  width: 18px;
  height: 13px;
  background-position: -234px -91px;
}

.sprite-ukr {
  width: 18px;
  height: 13px;
  background-position: -234px -104px;
}

.sprite-umi {
  width: 18px;
  height: 13px;
  background-position: -234px -117px;
}

.sprite-us {
  width: 18px;
  height: 13px;
  background-position: -234px -130px;
}

.sprite-uy {
  width: 18px;
  height: 13px;
  background-position: -234px -143px;
}

.sprite-uzb {
  width: 18px;
  height: 13px;
  background-position: -234px -156px;
}

.sprite-vat {
  width: 18px;
  height: 13px;
  background-position: -234px -169px;
}

.sprite-vct {
  width: 18px;
  height: 13px;
  background-position: -234px -182px;
}

.sprite-ve {
  width: 18px;
  height: 13px;
  background-position: -234px -195px;
}

.sprite-vg {
  width: 18px;
  height: 13px;
  background-position: -234px -208px;
}

.sprite-vi {
  width: 18px;
  height: 13px;
  background-position: -234px -221px;
}

.sprite-vnm {
  width: 18px;
  height: 13px;
  background-position: -234px -234px;
}

.sprite-vut {
  width: 18px;
  height: 13px;
  background-position: 0 -247px;
}

.sprite-wal {
  width: 18px;
  height: 13px;
  background-position: -18px -247px;
}

.sprite-wlf {
  width: 18px;
  height: 13px;
  background-position: -36px -247px;
}

.sprite-world {
  width: 18px;
  height: 18px;
  background-position: -252px 0;
}

.sprite-wsm {
  width: 18px;
  height: 13px;
  background-position: -252px -18px;
}

.sprite-yem {
  width: 18px;
  height: 13px;
  background-position: -252px -31px;
}

.sprite-zaf {
  width: 18px;
  height: 13px;
  background-position: -252px -44px;
}

.sprite-zmb {
  width: 18px;
  height: 13px;
  background-position: -252px -57px;
}

.sprite-zwe {
  width: 18px;
  height: 13px;
  background-position: -252px -70px;
}

.input-phone {
  display: flex;
}
.input-phone .choices {
  margin-bottom: 0;
  flex-shrink: 0;
}
.input-phone .select2 {
  flex-shrink: 0;
  min-width: 50px;
}
.input-phone .select2-container--default .select2-selection--single {
  height: 50px;
  border-radius: 4px;
  background: var(--bg-card);
  border-color: var(--border-1);
  border-radius: 4px 0 0 4px;
}
.input-phone .select2-selection__rendered {
  height: 100%;
  display: flex !important;
  align-items: center;
  padding-left: 12px;
  padding-right: 25px;
}
.input-phone .select2-selection__rendered img {
  width: 20px;
  border-radius: 3px;
}
.input-phone .select2-selection__arrow {
  top: 50% !important;
  transform: translateY(-50%);
}
.input-phone input[type=tel] {
  border-radius: 0 4px 4px 0;
  border-left: 0;
}
.input-phone input[readonly] {
  border: 0;
  background: var(--bg-card);
  color: var(--color-title);
  margin-left: 5px;
  width: 70px;
  text-align: center;
  border-radius: 5px 0 0 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.input-phone select {
  display: none;
}
.input-phone .choices__inner {
  height: 50px;
  display: flex;
  align-items: center;
}
.input-phone .choices__list.choices__list--single .choices__item span {
  display: none;
}
.input-phone .choices__list.choices__list--dropdown {
  width: 250px;
  z-index: 10;
}
.input-phone .choices__list.choices__list--dropdown .choices__item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px;
}
.input-phone .choices__list.choices__list--dropdown .choices__item small {
  margin-left: 4px;
}

.page-end {
  background-color: #f8f9fa;
  min-height: 100vh;
  padding: 40px 0;
}
.page-end .container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.page-end .title {
  text-align: center;
  color: var(--accent);
  margin-bottom: 40px;
  margin-top: 0;
  letter-spacing: -0.04em;
  font-size: 35px;
  position: relative;
}
.page-end .title:after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: var(--accent);
  margin: 15px auto 0;
  border-radius: 2px;
}
.page-end .m3-card {
  background: white;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  margin-bottom: 30px;
}
.page-end .content {
  padding: 40px;
}
.page-end .product-section {
  max-width: 900px;
  margin: 0 auto;
}
.page-end .product-detail {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  margin-bottom: 50px;
  padding: 30px;
  background: #f8f9fa;
  border-radius: 12px;
}
.page-end .product-detail img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.page-end .product-detail .product-info h2 {
  color: #2c3e50;
  margin-bottom: 20px;
  font-weight: 600;
}
.page-end .product-detail .product-info p {
  color: #505c6e;
  line-height: 1.8;
  font-size: 1.1rem;
}
.page-end .return-details {
  background: white;
  border-radius: 12px;
  padding: 30px;
  margin-bottom: 20px;
}
.page-end .return-details h3 {
  color: #2c3e50;
  margin-bottom: 15px;
  font-size: 1.5rem;
  font-weight: 600;
}
.page-end .return-details p {
  color: #505c6e;
  line-height: 1.8;
  font-size: 1.05rem;
  margin-bottom: 20px;
  max-width: 800px;
  letter-spacing: 0.2px;
}
.page-end .return-details p:last-child {
  margin-bottom: 0;
}
.page-end .return-details p strong {
  color: #2c3e50;
  font-weight: 600;
}
.page-end .return-details .accepted-formats {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 30px;
}
.page-end .return-details .accepted-formats h4 {
  color: #2c3e50;
  margin-bottom: 15px;
  font-size: 1rem;
  font-weight: 600;
}
.page-end .return-details .accepted-formats ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-end .return-details .accepted-formats ul li {
  background: white;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.9rem;
  color: var(--accent);
  border: 1px solid var(--accent);
  font-weight: 500;
}
.page-end .calculation-table {
  width: 100%;
  border-spacing: 0;
  margin-bottom: 30px;
}
.page-end .calculation-table tr:not(.total) {
  border-bottom: 1px solid #eef2f7;
}
.page-end .calculation-table tr.total {
  background: #f8f9fa;
  font-weight: 600;
  font-size: 1.1rem;
}
.page-end .calculation-table tr.total td {
  padding-top: 20px;
  color: var(--accent);
}
.page-end .calculation-table td {
  padding: 15px;
  color: #505c6e;
}
.page-end .calculation-table td.amount {
  text-align: right;
  font-family: monospace;
  font-size: 1.1rem;
}
.page-end .action-section {
  text-align: center;
  margin: 40px 0;
}
.page-end .action-section .warning-text {
  color: #dc3545;
  margin-bottom: 15px;
  font-weight: 500;
  padding: 10px;
  background: rgba(220, 53, 69, 0.1);
  border-radius: 8px;
}
.page-end .btn-primary {
  background: var(--accent);
  color: white;
  border: none;
  padding: 16px 40px;
  border-radius: 30px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.page-end .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
.page-end .btn-danger {
  background: #dc3545;
  color: white;
  border: none;
  padding: 16px 40px;
  border-radius: 30px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(220, 53, 69, 0.2);
}
.page-end .btn-danger:hover {
  background: #c82333;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(220, 53, 69, 0.3);
}
.page-end .instructions {
  background: #fff8f0;
  padding: 35px;
  border-radius: 12px;
  border-left: 4px solid var(--accent);
  margin-top: 40px;
}
.page-end .instructions h3 {
  color: #2c3e50;
  margin-bottom: 25px;
  font-weight: 600;
}
.page-end .instructions ol {
  margin: 0;
  padding-left: 25px;
}
.page-end .instructions ol li {
  margin-bottom: 20px;
  line-height: 1.7;
  color: #505c6e;
  padding-left: 10px;
}
.page-end .instructions ol li:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .page-end {
    padding: 20px 0;
  }
  .page-end .content {
    padding: 20px;
  }
  .page-end .product-detail {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
  .page-end .product-detail img {
    height: 200px;
  }
  .page-end .return-details {
    padding: 20px;
  }
  .page-end .btn-primary {
    width: 100%;
    padding: 14px 20px;
  }
  .page-end .instructions {
    padding: 20px;
  }
}

:root {
  --accent: #003c99;
  --secondaryaccent: #416397;
  --width: 1200px;
  --font-title: "Open Sauce Two", sans-serif;
  --font-text: "Rubik Variable", sans-serif;
  --card-shadow: 0px 8px 3px rgba(0, 0, 0, 0.05), 0px 3px 2px rgba(0, 0, 0, 0.09),
    0px 1px 2px rgba(0, 0, 0, 0.1);
  --ease-out: cubic-bezier(0.32, 0.94, 0.6, 1);
}

img {
  max-width: 100%;
  height: auto;
}

html {
  background-color: #fafafa;
  font-family: var(--font-text);
  min-height: 100dvh;
}

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

a {
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: var(--font-title);
}

.container {
  max-width: var(--width);
  margin: auto;
  padding-top: 50px;
  padding-bottom: 50px;
  padding-left: 20px;
  padding-right: 20px;
}

.grecaptcha-badge {
  visibility: hidden;
}/*# sourceMappingURL=style.css.map */