/* ==========================================================================
   LA BASE DE LA TIENDA: LO QUE ANTES DABA BOOTSTRAP (#2037)
   ==========================================================================
   La tienda ya no carga Bootstrap ni la hoja vieja (style.css). Acá está, con los mismos valores de Bootstrap 5.3.0,
   lo que la tienda usaba: la base de cada elemento (títulos, párrafos, enlaces, campos), las clases que pasaron a
   nombres propios (ti-*), el aspecto de los paneles laterales, del carrusel y del campo de teléfono, y al final las
   nueve reglas de style.css que tocaban estas páginas. Lo comprobó una medición elemento por elemento de cada página,
   en la computadora y en el teléfono, antes y después. Se carga primero, en el lugar de Bootstrap, para que las hojas
   de la tienda la sigan pisando como pisaban a Bootstrap. La tienda no tiene modos: no lee data-kds-modo. */

:root {
  --ti-body-bg: #fff;
  --ti-body-color-rgb: 33, 37, 41;
  --ti-body-color: #212529;
  --ti-body-font-family: var(--ti-font-sans-serif);
  --ti-body-font-size: 1rem;
  --ti-body-font-weight: 400;
  --ti-body-line-height: 1.5;
  --ti-border-color-translucent: rgba(0, 0, 0, 0.175);
  --ti-border-color: #dee2e6;
  --ti-border-radius: 0.375rem;
  --ti-border-width: 1px;
  --ti-code-color: #d63384;
  --ti-danger-rgb: 220, 53, 69;
  --ti-dark-rgb: 33, 37, 41;
  --ti-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --ti-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --ti-form-invalid-border-color: #dc3545;
  --ti-form-invalid-color: #dc3545;
  --ti-heading-color: inherit;
  --ti-highlight-bg: #fff3cd;
  --ti-light-rgb: 248, 249, 250;
  --ti-link-color-rgb: 13, 110, 253;
  --ti-link-hover-color-rgb: 10, 88, 202;
  --ti-secondary-bg: #e9ecef;
  --ti-secondary-color: rgba(33, 37, 41, 0.75);
  --ti-tertiary-bg: #f8f9fa;
  --ti-white-rgb: 255, 255, 255;
}

/* ---- La base de cada elemento (el «reboot» de Bootstrap) ---- */
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: var(--ti-body-font-family);
  font-size: var(--ti-body-font-size);
  font-weight: var(--ti-body-font-weight);
  line-height: var(--ti-body-line-height);
  color: var(--ti-body-color);
  text-align: var(--ti-body-text-align);
  background-color: var(--ti-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--ti-border-width) solid;
  opacity: 0.25;
}
h6,
h5,
h4,
h3,
h2,
h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--ti-heading-color);
}
h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1 {
    font-size: 2.5rem;
  }
}
h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2 {
    font-size: 2rem;
  }
}
h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3 {
    font-size: 1.75rem;
  }
}
h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4 {
    font-size: 1.5rem;
  }
}
h5 {
  font-size: 1.25rem;
}
h6 {
  font-size: 1rem;
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}
ol,
ul {
  padding-left: 2rem;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 700;
}
dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1rem;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 0.875em;
}
mark {
  padding: 0.1875em;
  background-color: var(--ti-highlight-bg);
}
sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: rgba(var(--ti-link-color-rgb), var(--ti-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --ti-link-color-rgb: var(--ti-link-hover-color-rgb);
}
a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}
pre,
code,
kbd,
samp {
  font-family: var(--ti-font-monospace);
  font-size: 1em;
}
pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}
code {
  font-size: 0.875em;
  color: var(--ti-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}
kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--ti-body-bg);
  background-color: var(--ti-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}
figure {
  margin: 0 0 1rem;
}
img,
svg {
  vertical-align: middle;
}
table {
  caption-side: bottom;
  border-collapse: collapse;
}
caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--ti-secondary-color);
  text-align: left;
}
th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}
label {
  display: inline-block;
}
button {
  border-radius: 0;
}
button:focus:not(:focus-visible) {
  outline: 0;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button,
select {
  text-transform: none;
}
[role=button] {
  cursor: pointer;
}
select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}
::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
textarea {
  resize: vertical;
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}
::-webkit-inner-spin-button {
  height: auto;
}
[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
  padding: 0;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
iframe {
  border: 0;
}
summary {
  display: list-item;
  cursor: pointer;
}
progress {
  vertical-align: baseline;
}
[hidden] {
  display: none !important;
}
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

/* ---- Las clases de Bootstrap con nombre propio ---- */
.ti-chico {
  font-size: 0.875em;
}
.ti-lista-limpia {
  padding-left: 0;
  list-style: none;
}
.ti-contenedor,
.ti-contenedor-fluido {
  --ti-gutter-x: 1.5rem;
  --ti-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--ti-gutter-x) * 0.5);
  padding-left: calc(var(--ti-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .ti-contenedor {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .ti-contenedor {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .ti-contenedor {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .ti-contenedor {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .ti-contenedor {
    max-width: 1320px;
  }
}
.ti-fila {
  --ti-gutter-x: 1.5rem;
  --ti-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--ti-gutter-y));
  margin-right: calc(-0.5 * var(--ti-gutter-x));
  margin-left: calc(-0.5 * var(--ti-gutter-x));
}
.ti-fila > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--ti-gutter-x) * 0.5);
  padding-left: calc(var(--ti-gutter-x) * 0.5);
  margin-top: var(--ti-gutter-y);
}
.ti-col {
  flex: 1 0 0%;
}
.ti-fila-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}
.ti-fila-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}
.ti-gx-0 {
  --ti-gutter-x: 0;
}
.ti-gy-0 {
  --ti-gutter-y: 0;
}
.ti-g-3 {
  --ti-gutter-x: 1rem;
}
.ti-g-3 {
  --ti-gutter-y: 1rem;
}
.ti-g-4 {
  --ti-gutter-x: 1.5rem;
}
.ti-g-4 {
  --ti-gutter-y: 1.5rem;
}
@media (min-width: 768px) {
  .ti-fila-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .ti-fila-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .ti-fila-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
}
@media (min-width: 992px) {
  .ti-fila-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .ti-fila-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .ti-col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .ti-col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .ti-col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .ti-col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
}
.ti-tabla {
  --ti-table-color-type: initial;
  --ti-table-bg-type: initial;
  --ti-table-color-state: initial;
  --ti-table-bg-state: initial;
  --ti-table-color: var(--ti-body-color);
  --ti-table-bg: var(--ti-body-bg);
  --ti-table-border-color: var(--ti-border-color);
  --ti-table-accent-bg: transparent;
  --ti-table-striped-color: var(--ti-body-color);
  --ti-table-striped-bg: rgba(0, 0, 0, 0.05);
  --ti-table-active-color: var(--ti-body-color);
  --ti-table-active-bg: rgba(0, 0, 0, 0.1);
  --ti-table-hover-color: var(--ti-body-color);
  --ti-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--ti-table-border-color);
}
.ti-tabla > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--ti-table-color-state, var(--ti-table-color-type, var(--ti-table-color)));
  background-color: var(--ti-table-bg);
  border-bottom-width: var(--ti-border-width);
  box-shadow: inset 0 0 0 9999px var(--ti-table-bg-state, var(--ti-table-bg-type, var(--ti-table-accent-bg)));
}
.ti-tabla > tbody {
  vertical-align: inherit;
}
.ti-tabla > thead {
  vertical-align: bottom;
}
.ti-entrada {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--ti-body-color);
  background-color: var(--ti-body-bg);
  background-clip: padding-box;
  border: var(--ti-border-width) solid var(--ti-border-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: var(--ti-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .ti-entrada {
    transition: none;
  }
}
.ti-entrada[type=file] {
  overflow: hidden;
}
.ti-entrada[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.ti-entrada:focus {
  color: var(--ti-body-color);
  background-color: var(--ti-body-bg);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.ti-entrada::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.ti-entrada::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.ti-entrada::-moz-placeholder {
  color: var(--ti-secondary-color);
  opacity: 1;
}
.ti-entrada::placeholder {
  color: var(--ti-secondary-color);
  opacity: 1;
}
.ti-entrada:disabled {
  background-color: var(--ti-secondary-bg);
  opacity: 1;
}
.ti-entrada::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--ti-body-color);
  background-color: var(--ti-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--ti-border-width);
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ti-entrada::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--ti-body-color);
  background-color: var(--ti-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--ti-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .ti-entrada::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  .ti-entrada::file-selector-button {
    transition: none;
  }
}
.ti-entrada:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: var(--ti-secondary-bg);
}
.ti-entrada:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--ti-secondary-bg);
}
textarea.ti-entrada {
  min-height: calc(1.5em + 0.75rem + calc(var(--ti-border-width) * 2));
}
.ti-grupo {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.ti-grupo > .ti-entrada {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.ti-grupo > .ti-entrada:focus {
  z-index: 5;
}
.ti-grupo .ti-boton {
  position: relative;
  z-index: 2;
}
.ti-grupo .ti-boton:focus {
  z-index: 5;
}
.ti-grupo:not(.ti-grupo--valida) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ti-grupo.ti-grupo--valida > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ti-grupo > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.ti-error-campo) {
  margin-left: calc(var(--ti-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ti-error-campo {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--ti-form-invalid-color);
}
.is-invalid ~ .ti-error-campo {
  display: block;
}
.ti-entrada.is-invalid {
  border-color: var(--ti-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.ti-entrada.is-invalid:focus {
  border-color: var(--ti-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--ti-danger-rgb), 0.25);
}
textarea.ti-entrada.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.ti-grupo > .ti-entrada:not(:focus).is-invalid {
  z-index: 4;
}
.ti-boton {
  --ti-btn-padding-x: 0.75rem;
  --ti-btn-padding-y: 0.375rem;
  --ti-btn-font-family: ;
  --ti-btn-font-size: 1rem;
  --ti-btn-font-weight: 400;
  --ti-btn-line-height: 1.5;
  --ti-btn-color: var(--ti-body-color);
  --ti-btn-bg: transparent;
  --ti-btn-border-width: var(--ti-border-width);
  --ti-btn-border-color: transparent;
  --ti-btn-border-radius: var(--ti-border-radius);
  --ti-btn-hover-border-color: transparent;
  --ti-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --ti-btn-disabled-opacity: 0.65;
  --ti-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--ti-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--ti-btn-padding-y) var(--ti-btn-padding-x);
  font-family: var(--ti-btn-font-family);
  font-size: var(--ti-btn-font-size);
  font-weight: var(--ti-btn-font-weight);
  line-height: var(--ti-btn-line-height);
  color: var(--ti-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: var(--ti-btn-border-width) solid var(--ti-btn-border-color);
  border-radius: var(--ti-btn-border-radius);
  background-color: var(--ti-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .ti-boton {
    transition: none;
  }
}
.ti-boton:hover {
  color: var(--ti-btn-hover-color);
  background-color: var(--ti-btn-hover-bg);
  border-color: var(--ti-btn-hover-border-color);
}
.ti-boton:focus-visible {
  color: var(--ti-btn-hover-color);
  background-color: var(--ti-btn-hover-bg);
  border-color: var(--ti-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--ti-btn-focus-box-shadow);
}
:not(.btn-check) + .ti-boton:active,
.ti-boton:first-child:active {
  color: var(--ti-btn-active-color);
  background-color: var(--ti-btn-active-bg);
  border-color: var(--ti-btn-active-border-color);
}
:not(.btn-check) + .ti-boton:active:focus-visible,
.ti-boton:first-child:active:focus-visible {
  box-shadow: var(--ti-btn-focus-box-shadow);
}
.ti-boton:disabled,
fieldset:disabled .ti-boton {
  color: var(--ti-btn-disabled-color);
  pointer-events: none;
  background-color: var(--ti-btn-disabled-bg);
  border-color: var(--ti-btn-disabled-border-color);
  opacity: var(--ti-btn-disabled-opacity);
}
.ti-boton--contorno {
  --ti-btn-color: #6c757d;
  --ti-btn-border-color: #6c757d;
  --ti-btn-hover-color: #fff;
  --ti-btn-hover-bg: #6c757d;
  --ti-btn-hover-border-color: #6c757d;
  --ti-btn-focus-shadow-rgb: 108, 117, 125;
  --ti-btn-active-color: #fff;
  --ti-btn-active-bg: #6c757d;
  --ti-btn-active-border-color: #6c757d;
  --ti-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --ti-btn-disabled-color: #6c757d;
  --ti-btn-disabled-bg: transparent;
  --ti-btn-disabled-border-color: #6c757d;
  --ti-gradient: none;
}
.ti-tarjeta {
  --ti-card-spacer-y: 1rem;
  --ti-card-spacer-x: 1rem;
  --ti-card-title-spacer-y: 0.5rem;
  --ti-card-title-color: ;
  --ti-card-subtitle-color: ;
  --ti-card-border-width: var(--ti-border-width);
  --ti-card-border-color: var(--ti-border-color-translucent);
  --ti-card-border-radius: var(--ti-border-radius);
  --ti-card-box-shadow: ;
  --ti-card-inner-border-radius: calc(var(--ti-border-radius) - (var(--ti-border-width)));
  --ti-card-cap-padding-y: 0.5rem;
  --ti-card-cap-padding-x: 1rem;
  --ti-card-cap-bg: rgba(var(--ti-body-color-rgb), 0.03);
  --ti-card-cap-color: ;
  --ti-card-height: ;
  --ti-card-color: ;
  --ti-card-bg: var(--ti-body-bg);
  --ti-card-img-overlay-padding: 1rem;
  --ti-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--ti-card-height);
  color: var(--ti-body-color);
  word-wrap: break-word;
  background-color: var(--ti-card-bg);
  background-clip: border-box;
  border: var(--ti-card-border-width) solid var(--ti-card-border-color);
  border-radius: var(--ti-card-border-radius);
}
.ti-tarjeta > hr {
  margin-right: 0;
  margin-left: 0;
}
.ti-tarjeta__cuerpo {
  flex: 1 1 auto;
  padding: var(--ti-card-spacer-y) var(--ti-card-spacer-x);
  color: var(--ti-card-color);
}
.ti-tarjeta__titulo {
  margin-bottom: var(--ti-card-title-spacer-y);
  color: var(--ti-card-title-color);
}
.ti-tarjeta__texto:last-child {
  margin-bottom: 0;
}
.ti-tarjeta__img {
  width: 100%;
}
.ti-tarjeta__img {
  border-top-left-radius: var(--ti-card-inner-border-radius);
  border-top-right-radius: var(--ti-card-inner-border-radius);
}
.ti-acordeon-cabeza {
  margin-bottom: 0;
}
.ti-migas {
  --ti-breadcrumb-padding-x: 0;
  --ti-breadcrumb-padding-y: 0;
  --ti-breadcrumb-margin-bottom: 1rem;
  --ti-breadcrumb-bg: ;
  --ti-breadcrumb-border-radius: ;
  --ti-breadcrumb-divider-color: var(--ti-secondary-color);
  --ti-breadcrumb-item-padding-x: 0.5rem;
  --ti-breadcrumb-item-active-color: var(--ti-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--ti-breadcrumb-padding-y) var(--ti-breadcrumb-padding-x);
  margin-bottom: var(--ti-breadcrumb-margin-bottom);
  font-size: var(--ti-breadcrumb-font-size);
  list-style: none;
  background-color: var(--ti-breadcrumb-bg);
  border-radius: var(--ti-breadcrumb-border-radius);
}
.ti-migas__item + .ti-migas__item {
  padding-left: var(--ti-breadcrumb-item-padding-x);
}
.ti-migas__item + .ti-migas__item::before {
  float: left;
  padding-right: var(--ti-breadcrumb-item-padding-x);
  color: var(--ti-breadcrumb-divider-color);
  content: var(--ti-breadcrumb-divider, "/") ;
}
.ti-insignia {
  --ti-badge-padding-x: 0.65em;
  --ti-badge-padding-y: 0.35em;
  --ti-badge-font-size: 0.75em;
  --ti-badge-font-weight: 700;
  --ti-badge-color: #fff;
  --ti-badge-border-radius: var(--ti-border-radius);
  display: inline-block;
  padding: var(--ti-badge-padding-y) var(--ti-badge-padding-x);
  font-size: var(--ti-badge-font-size);
  font-weight: var(--ti-badge-font-weight);
  line-height: 1;
  color: var(--ti-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--ti-badge-border-radius);
}
.ti-insignia:empty {
  display: none;
}
.ti-boton .ti-insignia {
  position: relative;
  top: -1px;
}
.ti-cerrar {
  --ti-btn-close-color: #000;
  --ti-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  --ti-btn-close-opacity: 0.5;
  --ti-btn-close-hover-opacity: 0.75;
  --ti-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --ti-btn-close-focus-opacity: 1;
  --ti-btn-close-disabled-opacity: 0.25;
  --ti-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--ti-btn-close-color);
  background: transparent var(--ti-btn-close-bg) center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--ti-btn-close-opacity);
}
.ti-cerrar:hover {
  color: var(--ti-btn-close-color);
  text-decoration: none;
  opacity: var(--ti-btn-close-hover-opacity);
}
.ti-cerrar:focus {
  outline: 0;
  box-shadow: var(--ti-btn-close-focus-shadow);
  opacity: var(--ti-btn-close-focus-opacity);
}
.ti-cerrar:disabled {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  opacity: var(--ti-btn-close-disabled-opacity);
}
[data-bs-theme=dark] .ti-cerrar {
  filter: var(--ti-btn-close-white-filter);
}
.ti-solo-lector {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.ti-solo-lector:not(caption) {
  position: absolute !important;
}
.ti-enlace-estirado::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}
.ti-alinear-medio {
  vertical-align: middle !important;
}
.ti-desborde-auto {
  overflow: auto !important;
}
.ti-bloque {
  display: block !important;
}
.ti-flex {
  display: flex !important;
}
.ti-oculto {
  display: none !important;
}
.ti-sombra {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.ti-sin-borde {
  border: 0 !important;
}
.ti-ancho-total {
  width: 100% !important;
}
.ti-alto-total {
  height: 100% !important;
}
.ti-columna {
  flex-direction: column !important;
}
.ti-crece {
  flex-grow: 1 !important;
}
.ti-alinear-centro {
  align-items: center !important;
}
.ti-my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}
.ti-my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.ti-my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}
.ti-mt-1 {
  margin-top: 0.25rem !important;
}
.ti-mt-3 {
  margin-top: 1rem !important;
}
.ti-mt-4 {
  margin-top: 1.5rem !important;
}
.ti-mt-5 {
  margin-top: 3rem !important;
}
.ti-me-1 {
  margin-right: 0.25rem !important;
}
.ti-me-2 {
  margin-right: 0.5rem !important;
}
.ti-mb-0 {
  margin-bottom: 0 !important;
}
.ti-mb-1 {
  margin-bottom: 0.25rem !important;
}
.ti-mb-2 {
  margin-bottom: 0.5rem !important;
}
.ti-mb-3 {
  margin-bottom: 1rem !important;
}
.ti-mb-4 {
  margin-bottom: 1.5rem !important;
}
.ti-ms-2 {
  margin-left: 0.5rem !important;
}
.ti-ms-3 {
  margin-left: 1rem !important;
}
.ti-p-0 {
  padding: 0 !important;
}
.ti-px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.ti-px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.ti-py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.ti-py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}
.ti-gap-2 {
  gap: 0.5rem !important;
}
.ti-negrita {
  font-weight: 700 !important;
}
.ti-texto-centro {
  text-align: center !important;
}
.ti-sin-subrayado {
  text-decoration: none !important;
}
.ti-texto-peligro {
  --ti-text-opacity: 1;
  color: rgba(var(--ti-danger-rgb), var(--ti-text-opacity)) !important;
}
.ti-texto-oscuro {
  --ti-text-opacity: 1;
  color: rgba(var(--ti-dark-rgb), var(--ti-text-opacity)) !important;
}
.ti-texto-suave {
  --ti-text-opacity: 1;
  color: var(--ti-secondary-color) !important;
}
.ti-texto-heredado {
  --ti-text-opacity: 1;
  color: inherit !important;
}
.ti-fondo-peligro {
  --ti-bg-opacity: 1;
  background-color: rgba(var(--ti-danger-rgb), var(--ti-bg-opacity)) !important;
}
.ti-fondo-claro {
  --ti-bg-opacity: 1;
  background-color: rgba(var(--ti-light-rgb), var(--ti-bg-opacity)) !important;
}
.ti-fondo-blanco {
  --ti-bg-opacity: 1;
  background-color: rgba(var(--ti-white-rgb), var(--ti-bg-opacity)) !important;
}
@media (min-width: 768px) {
  .ti-md-bloque {
    display: block !important;
  }
  .ti-md-inline-flex {
    display: inline-flex !important;
  }
  .ti-md-oculto {
    display: none !important;
  }
  .ti-px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
}


/* ---- Los paneles laterales (el carrito, las categorías y la cuenta en el teléfono) ----
   Son kds-drawer de la librería (abrir, cerrar, Escape, el fondo, el foco) con el aspecto que tenían con Bootstrap:
   400 px de ancho, sin sombra, con su filete, y el de la cuenta subiendo desde abajo a un 30 % del alto. Cerrados no
   se ven ni reciben el foco. */
.kds-drawer.sf-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: 1045;
  display: flex;
  flex-direction: column;
  width: 400px;
  max-width: 100%;
  height: auto;
  color: #212529;
  visibility: hidden;
  background-color: #fff;
  background-clip: padding-box;
  border-left: 1px solid rgba(0, 0, 0, 0.175);
  border-radius: 0;
  outline: 0;
  transform: translateX(100%);
  transition: transform 0.5s ease-in-out, visibility 0.5s ease-in-out;
}
.kds-drawer.sf-panel--izquierda {
  right: auto;
  left: 0;
  border-left: 0;
  border-right: 1px solid rgba(0, 0, 0, 0.175);
  transform: translateX(-100%);
}
.kds-drawer.sf-panel--abajo {
  top: auto;
  right: 0;
  left: 0;
  width: auto;
  height: 30vh;
  max-height: 100%;
  border-left: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.175);
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.kds-drawer.sf-panel.is-open {
  visibility: visible;
  transform: none;
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
  .kds-drawer.sf-panel { transition: none; }
}
body:has(.sf-panel.is-open) .kds-drawer__backdrop {
  z-index: 1040;
  background: #000;
}
body:has(.sf-panel.is-open) .kds-drawer__backdrop.is-open {
  opacity: 0.5;
}
.sf-panel__cabeza {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
}
.sf-panel__cabeza .ti-cerrar {
  padding: 0.5rem 0.5rem;
  margin-top: -0.5rem;
  margin-right: -0.5rem;
  margin-bottom: -0.5rem;
}
.sf-panel__titulo {
  margin-bottom: 0;
  line-height: 1.5;
}
.sf-panel__cuerpo {
  flex-grow: 1;
  padding: 1rem 1rem;
  overflow-y: auto;
}

/* ---- El carrusel de banners del inicio ----
   Es kds-carrusel de la librería (se desliza, pasa solo cada 5 segundos y se frena con el mouse encima); las flechas
   blancas a los costados son las que tenía con Bootstrap. */
.ti-carrusel {
  position: relative;
}
.ti-carrusel__control {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .ti-carrusel__control { transition: none; }
}
.ti-carrusel__control:hover,
.ti-carrusel__control:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}
.ti-carrusel__control--anterior {
  left: 0;
}
.ti-carrusel__control--siguiente {
  right: 0;
}
.ti-carrusel__icono {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}
.ti-carrusel__icono--anterior {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.ti-carrusel__icono--siguiente {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* ---- El campo de teléfono (kds-telefono) arma su número y su país con las clases de Bootstrap (form-control,
   form-select): sus valores, como en el checkout ---- */
input:where(.kds-telefono__numero),
select:where(.kds-telefono__pais) { display: block; width: 100%; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff; background-clip: padding-box; border: 1px solid #dee2e6; -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: .375rem; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; }
input:where(.kds-telefono__numero) { padding: .375rem .75rem; }
select:where(.kds-telefono__pais) { padding: .375rem 2.25rem .375rem .75rem; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right .75rem center; background-size: 16px 12px; }
input:where(.kds-telefono__numero):focus,
select:where(.kds-telefono__pais):focus { color: #212529; background-color: #fff; border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25); }
input:where(.kds-telefono__numero)::placeholder { color: rgba(33, 37, 41, .75); opacity: 1; }
input:where(.kds-telefono__numero):disabled,
select:where(.kds-telefono__pais):disabled { background-color: #e9ecef; opacity: 1; }
input:where(.kds-telefono__numero).is-invalid { border-color: #dc3545; padding-right: calc(1.5em + .75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right calc(.375em + .1875rem) center; background-size: calc(.75em + .375rem) calc(.75em + .375rem); }
select:where(.kds-telefono__pais).is-invalid { border-color: #dc3545; }

/* ---- Lo que la hoja vieja (style.css) le ponía a estas clases ---- */
.ti-contenedor { width: 90%; max-width: 1200px; margin: 0 auto; padding: 2rem 1rem; }
.ti-entrada { border-radius: 5px; border: 1px solid #ccc; }
.ti-tabla { border-collapse: separate; border-spacing: 0; background: rgba(255, 255, 255, .4); backdrop-filter: blur(10px); border: none; transition: all .3s ease; }
.ti-tabla thead th { background: rgba(255, 255, 255, .6); font-weight: 600; color: #333; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.ti-tabla th, .ti-tabla td { vertical-align: middle; border-top: none !important; color: #333; padding: .75rem; }
.ti-tabla tbody tr:last-child td { border-bottom: none; }
.ti-tarjeta { background: rgba(255, 255, 255, .4); backdrop-filter: blur(10px); border: none; border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, .1); margin-bottom: 1.5rem; }
.ti-tarjeta__img { object-fit: cover; height: 200px; border-top-left-radius: 10px; border-top-right-radius: 10px; }
.ti-tarjeta__cuerpo { color: #333; flex: 1; display: flex; flex-direction: column; }
.ti-tarjeta__titulo { font-weight: 600; margin-bottom: .5rem; }
.ti-tarjeta__texto { flex-grow: 1; }

/* ---- Lo demás que la tienda tomaba de style.css ---- */
*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Open Sans', sans-serif; background: #ffffff; color: #333; line-height: 1.5; }
h1, h2, h3, h4, h5 { font-weight: 500; }
.form-control { border-radius: 5px; border: 1px solid #ccc; }
.fa-chevron-down { transition: transform .3s ease; }
.btn-primario { border: 1px solid #000; background-color: transparent; color: #000; padding: 10px 24px; cursor: pointer; width: 100%; text-align: center; text-decoration: none; display: inline-block; transition: background-color .3s, color .3s; }
.btn-primario:hover { background-color: #000; color: #fff; }
.btn-primario-inverse { border: 1px solid #000; background-color: #000; color: #fff; padding: 10px 24px; cursor: pointer; width: 100%; text-align: center; text-decoration: none; display: inline-block; transition: background-color .3s, color .3s; }
.btn-primario-inverse:hover { background-color: transparent; color: #000; }
.btn-custom-outline-danger { border: 1px solid #dc3545; background-color: transparent; color: #dc3545; padding: 10px 24px; cursor: pointer; text-align: center; text-decoration: none; display: inline-block; transition: background-color .3s, color .3s; border-radius: 0; }
.btn-custom-outline-danger:hover { background-color: #dc3545; color: #fff; }
