:root {
  --vtc-accent: #0f50ff;
  --vtc-accent-hover: #3d72ff;
  --vtc-accent-soft: rgba(15, 80, 255, .10);
  --vtc-bg: #202020;
  --vtc-surface: #292929;
  --vtc-card: #242424;
  --vtc-border: #454545;
  --vtc-text: #f7f9fc;
  --vtc-muted: #aeb8c5;
}

.vtc-configurator {
  background: var(--vtc-bg);
  border: 1px solid #3b3b3b;
  border-radius: 12px;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .24);
  color: var(--vtc-text);
  margin: 22px 0;
  overflow: hidden;
}

.vtc-configurator__header { background: #252525; border-bottom: 1px solid #3b3b3b; padding: 23px 25px 20px; }
.vtc-configurator__eyebrow { color: var(--vtc-accent); display: block; font-size: 10px; font-weight: 800; letter-spacing: 1.7px; margin-bottom: 6px; }
.vtc-configurator__header h3 { color: #fff; font-size: 22px; line-height: 1.2; margin: 0 0 5px; }
.vtc-configurator__header p { color: var(--vtc-muted); font-size: 13px; margin: 0; }
.vtc-configurator__groups { display: grid; gap: 16px; padding: 20px 24px 24px; }
.vtc-group { background: var(--vtc-surface); border: 1px solid #46505c; border-radius: 11px; box-shadow: none; margin: 0; min-width: 0; padding: 18px; transition: background .2s ease, border-color .2s ease; }
.vtc-group:hover { border-color: #66717d; box-shadow: none; }
.vtc-group:not(.is-collapsed) { background: #2b2b2b; border-color: var(--vtc-accent); box-shadow: none; }
.vtc-group legend { align-items: center; box-sizing: border-box; color: #fff; cursor: pointer; display: grid; float: left; font-size: 14px; font-weight: 700; gap: 4px 12px; grid-template-columns: minmax(0, 1fr) auto auto; margin: 0 0 17px; padding: 0; width: 100%; }
.vtc-group legend + .vtc-options, .vtc-group legend + .vtc-select-wrap { clear: both; }
.vtc-group legend small { background: #343b44; border: 1px solid #4b5662; border-radius: 20px; color: #d8dee6; font-size: 9px; font-weight: 800; justify-self: end; line-height: 1; padding: 6px 9px; text-transform: uppercase; white-space: nowrap; }
.vtc-group__title { line-height: 1.3; min-width: 0; }
.vtc-group__summary { color: #b9c2cc; display: none; font-size: 11px; font-weight: 600; grid-column: 1; grid-row: 2; line-height: 1.35; min-width: 0; overflow: hidden; padding-top: 2px; text-overflow: ellipsis; white-space: nowrap; }
.vtc-group__chevron { border-bottom: 2px solid #d9e3f0; border-right: 2px solid #d9e3f0; flex: 0 0 auto; height: 8px; margin-left: 9px; transform: rotate(225deg); transition: border-color .2s ease, transform .2s ease; width: 8px; }
.vtc-group:hover .vtc-group__chevron { border-color: #fff; }
.vtc-group.is-collapsed { background: #292929; box-shadow: none; padding-bottom: 15px; padding-top: 15px; }
.vtc-group.is-collapsed legend { margin-bottom: 0; }
.vtc-group.is-collapsed .vtc-options,
.vtc-group.is-collapsed .vtc-select-wrap { display: none; }
.vtc-group.is-collapsed .vtc-group__summary { display: block; max-width: 100%; }
.vtc-group.is-collapsed .vtc-group__chevron { transform: rotate(45deg); }
.vtc-options { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vtc-option { align-items: center; background: var(--vtc-card); border: 1px solid var(--vtc-border); border-radius: 9px; cursor: pointer; display: grid; gap: 7px; grid-template-columns: 1fr; grid-template-rows: 22px auto auto; justify-items: center; margin: 0; min-height: 118px; padding: 12px 14px 14px; position: relative; text-align: center; transition: border-color .18s, background .18s, box-shadow .18s; }
.vtc-option:hover { background: #2b2b2b; border-color: #666; }
.vtc-option.is-selected { background: #252a34; border-color: var(--vtc-accent); box-shadow: none; }
.vtc-option__status { align-self: center; background: var(--vtc-accent); border-radius: 12px; color: #fff; display: none; font-size: 8px; font-weight: 800; grid-column: 1; grid-row: 1; justify-self: center; letter-spacing: .45px; line-height: 1; padding: 5px 8px; text-transform: uppercase; }
.vtc-option.is-selected .vtc-option__status { display: inline-block; }
.vtc-option input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.vtc-option__check { border: 2px solid #777; border-radius: 50%; height: 16px; left: 12px; position: absolute; top: 15px; width: 16px; }
.vtc-option.is-selected .vtc-option__check { border-color: var(--vtc-accent); }
.vtc-option.is-selected .vtc-option__check::after { background: var(--vtc-accent); border-radius: 50%; content: ""; height: 8px; left: 2px; position: absolute; top: 2px; width: 8px; }
.vtc-option--image { align-items: stretch; grid-template-columns: 1fr; grid-template-rows: 24px 150px auto auto auto; min-height: 278px; padding: 13px; text-align: center; }
.vtc-option--image .vtc-option__status { align-self: center; grid-column: 1; grid-row: 1; justify-self: center; }
.vtc-option__image { align-items: center; background: transparent; border-radius: 7px; display: flex; grid-column: 1 / -1; grid-row: 2; height: 150px; justify-content: center; overflow: hidden; position: relative; width: 100%; }
.vtc-option__image img { background: transparent !important; height: 100%; object-fit: contain; width: 100%; }
.vtc-option--image .vtc-option__body { grid-column: 1 / -1; grid-row: 4; padding-top: 2px; }
.vtc-option--image .vtc-option__price { grid-column: 1 / -1; grid-row: 5; justify-self: center; }
.vtc-option__zoom { align-items: center; align-self: start; background: #292929; border: 1px solid #505050; border-radius: 16px; color: #fff; cursor: zoom-in; display: inline-flex; font-size: 9px; font-weight: 700; gap: 5px; grid-column: 1; grid-row: 3; justify-content: center; justify-self: center; min-height: 29px; padding: 4px 13px; position: static; text-transform: uppercase; transition: background .18s ease, border-color .18s ease; width: auto; z-index: 2; }
.vtc-option__zoom:hover, .vtc-option__zoom:focus { background: var(--vtc-accent); color: #fff; outline: 0; }
.vtc-option__zoom span { border: 1.5px solid currentColor; border-radius: 50%; display: inline-block; height: 9px; position: relative; width: 9px; }
.vtc-option__zoom span::after { background: currentColor; content: ""; height: 1.5px; position: absolute; right: -4px; top: 7px; transform: rotate(45deg); width: 5px; }
.vtc-image-modal { align-items: center; background: rgba(0, 0, 0, .86); display: flex; inset: 0; justify-content: center; opacity: 0; padding: 24px; pointer-events: none; position: fixed; transition: opacity .18s ease; z-index: 10050; }
.vtc-image-modal.is-open { opacity: 1; pointer-events: auto; }
.vtc-image-modal__dialog { background: #292929; border: 1px solid #444; border-radius: 10px; box-shadow: 0 20px 70px rgba(0, 0, 0, .55); max-height: calc(100vh - 48px); max-width: 920px; overflow: hidden; position: relative; width: min(920px, 94vw); }
.vtc-image-modal__image { background: transparent !important; display: block; height: auto; max-height: calc(100vh - 110px); object-fit: contain; width: 100%; }
.vtc-image-modal__caption { background: #202020; color: #fff; display: block; font-size: 13px; font-weight: 700; padding: 12px 50px 12px 16px; }
.vtc-image-modal__close { align-items: center; background: var(--vtc-accent); border: 0; border-radius: 50%; color: #fff; cursor: pointer; display: flex; font-size: 25px; height: 34px; justify-content: center; line-height: 1; position: absolute; right: 10px; top: 10px; width: 34px; z-index: 2; }
.vtc-image-modal__close:hover, .vtc-image-modal__close:focus { background: var(--vtc-accent-hover); outline: 0; }
body.vtc-modal-open { overflow: hidden; }
.images-container.vtc-chassis-gallery-active > :not(.vtc-chassis-gallery) { display: none !important; opacity: 0 !important; pointer-events: none !important; visibility: hidden !important; }
.vtc-chassis-gallery { background: transparent; display: block !important; isolation: isolate; position: relative; width: 100%; z-index: 20; }
.vtc-chassis-gallery__stage { height: var(--vtc-gallery-stage-height, 520px); min-height: 360px; position: relative; }
.vtc-chassis-gallery__main { align-items: center; background: transparent; border: 0; cursor: zoom-in; display: flex; height: 100%; inset: 0; justify-content: center; padding: 0; position: absolute; width: 100%; }
.vtc-chassis-gallery__main img { display: block; height: 100%; max-height: 620px; object-fit: contain; width: 100%; }
.vtc-chassis-gallery__arrow { align-items: center; background: rgba(25,25,25,.72); border: 0; border-radius: 50%; color: #fff; display: flex; font-size: 28px; height: 38px; justify-content: center; line-height: 1; position: absolute; top: 50%; transform: translateY(-50%); width: 38px; z-index: 2; }
.vtc-chassis-gallery__arrow--prev { left: 12px; }
.vtc-chassis-gallery__arrow--next { right: 12px; }
.vtc-chassis-gallery__thumbs { display: flex; gap: 9px; justify-content: center; overflow-x: auto; padding: 12px 4px 4px; }
.vtc-chassis-gallery__thumb { background: #fff; border: 2px solid transparent; border-radius: 6px; flex: 0 0 72px; height: 64px; padding: 3px; }
.vtc-chassis-gallery__thumb.is-active { border-color: var(--vtc-accent); }
.vtc-chassis-gallery__thumb img { height: 100%; object-fit: contain; width: 100%; }
.vtc-chassis-gallery-active .product-images,
.vtc-chassis-gallery-active .js-qv-mask,
.vtc-chassis-gallery-active .scroll-box-arrows { display: none !important; }
.vtc-option__body { grid-column: 1; grid-row: 2; min-width: 0; text-align: center; width: 100%; }
.vtc-option:not(.vtc-option--image) .vtc-option__price { grid-column: 1; grid-row: 3; justify-self: center; }
.vtc-option__body strong, .vtc-option__body small, .vtc-option__body em { display: block; }
.vtc-option__body strong { color: #fff; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; text-align: center; }
.vtc-option__body small { color: var(--vtc-muted); font-size: 11px; font-weight: 400; line-height: 1.3; margin-top: 3px; }
.vtc-option__body em { color: #888; font-size: 9px; font-style: normal; margin-top: 3px; }
.vtc-option__price { color: #d8d8d8; font-size: 11px; font-weight: 700; white-space: nowrap; }
.vtc-option.is-selected .vtc-option__price { color: var(--vtc-accent); }
.vtc-select-wrap select { background: var(--vtc-card); border: 1px solid #505050; color: #fff; height: 44px; }
.vtc-select-wrap select:focus { border-color: var(--vtc-accent); box-shadow: none; outline: 0; }
.vtc-total { align-items: center; background: #252525; border-top: 1px solid #3b3b3b; display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr) auto; padding: 18px 24px; }
.vtc-total__details { min-width: 0; }
.vtc-total span, .vtc-total small { display: block; }
.vtc-total span { color: #ddd; font-size: 12px; font-weight: 700; }
.vtc-total small { color: #8d8d8d; font-size: 9px; margin-top: 2px; }
.vtc-total__price { color: #fff; font-size: 24px; font-weight: 700; }
.vtc-total__prices { align-items: flex-end; display: grid; gap: 2px 8px; grid-template-columns: auto auto; justify-items: end; }
.vtc-total__price { grid-column: 1 / -1; }
.vtc-total__regular-price { color: #999; font-size: 12px; }
.vtc-total__discount { background: #d9342b; border-radius: 3px; color: #fff !important; font-size: 10px !important; font-weight: 800 !important; line-height: 1; padding: 5px 7px; }
.vtc-total__summary { display: grid; gap: 4px 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 13px 0 0; padding: 0; }
.vtc-total__summary li { color: #d7d7d7; font-size: 10px; line-height: 1.35; min-width: 0; }
.vtc-total__summary li strong { color: #9db8ff; display: inline; font-size: inherit; font-weight: 700; }
.vtc-total__summary li strong::after { content: ": "; }
.vtc-total__summary li span { display: inline; font-size: inherit; font-weight: 400; overflow-wrap: anywhere; }
.vtc-configure-button { background-color: var(--vtc-accent) !important; border-color: var(--vtc-accent) !important; border-radius: 8px !important; color: #fff !important; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease !important; }
.vtc-configure-button:hover, .vtc-configure-button:focus { background-color: var(--vtc-accent-hover) !important; border-color: var(--vtc-accent-hover) !important; box-shadow: 0 5px 12px rgba(0, 0, 0, .24) !important; color: #fff !important; transform: translateY(-1px); }
.vtc-configure-button:active { box-shadow: none !important; transform: translateY(0); }
.vtc-configurable-badge-host { position: relative !important; }
.vtc-configurable-badge {
  background: rgba(22, 28, 36, .88);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 16px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .65px;
  line-height: 1;
  padding: 7px 10px;
  pointer-events: none;
  position: absolute;
  right: 10px;
  text-transform: uppercase;
  top: 10px;
  z-index: 4;
}
.vtc-message { border-top: 1px solid #444; font-size: 12px; padding: 11px 24px; }
.vtc-message--error { background: #3a2323; color: #ffb8b8; }
.vtc-message--loading { background: #283225; color: #d6efb1; }

.vtc-theme-sticky-hidden { opacity: 0 !important; pointer-events: none !important; }
.vtc-theme-product-sticky-hidden { opacity: 0 !important; pointer-events: none !important; visibility: hidden !important; }
.vtc-theme-product-sticky-neutralised {
  bottom: auto !important;
  left: auto !important;
  max-width: none !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  visibility: visible !important;
  width: 100% !important;
}
.vtc-theme-product-sticky-clone-hidden { opacity: 0 !important; pointer-events: none !important; visibility: hidden !important; }

.vtc-cart-line { background: #f7f8fa; border: 1px solid #e3e6ea; border-radius: 8px; box-sizing: border-box; color: #555; display: block; font-size: 11px; margin: 10px 0 3px; max-width: 430px; overflow-wrap: break-word; padding: 10px 12px; text-align: left; white-space: normal; width: 100%; word-break: normal; }
.vtc-cart-line > strong { align-items: center; color: #262626; display: flex; font-size: 10px; font-weight: 700; gap: 6px; letter-spacing: .25px; margin-bottom: 8px; text-transform: uppercase; }
.vtc-cart-line__icon { align-items: center; background: var(--vtc-accent); border-radius: 50%; color: #fff; display: inline-flex; font-size: 8px; height: 15px; justify-content: center; width: 15px; }
.vtc-cart-line ul, .vtc-cart-block ul { list-style: none; margin: 0; padding: 0; }
.vtc-cart-line ul { display: grid; gap: 5px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vtc-cart-line li { display: block; line-height: 1.3; margin: 0; min-width: 0; }
.vtc-cart-line li:last-child { margin-bottom: 0; }
.vtc-cart-line__label { color: #555; display: block; font-size: 10px; font-weight: 700; }
.vtc-cart-line__label::after { content: ":"; }
.vtc-cart-line__value { color: #333; display: block; font-size: 11px; font-weight: 400; margin-top: 1px; }
.vtc-cart-line__value small { color: #888; font-size: 9px; font-weight: 400; }
.vtc-cart-block { margin: 0; padding: 0; }
.vtc-cart-block .vtc-cart-line { margin-bottom: 12px; }
.vtc-order-configurations { margin-top: 20px; }
.vtc-order-configuration + .vtc-order-configuration { border-top: 1px solid #ddd; margin-top: 18px; padding-top: 14px; }
.vtc-order-reference { color: #777; font-size: 11px; }
.vtc-order-configuration table th { width: 32%; }

@media (max-width: 767px) {
  .vtc-cart-line ul { grid-template-columns: 1fr; }
  .vtc-configurator { border-radius: 9px; margin: 16px 0; }
  .vtc-configurator__header { padding: 19px 16px 17px; }
  .vtc-configurator__header h3 { font-size: 19px; }
  .vtc-configurator__groups { gap: 12px; padding: 14px 12px 17px; }
  .vtc-group { border-radius: 9px; padding: 14px; }
  .vtc-options { grid-template-columns: 1fr; }
  .vtc-option { padding: 10px; }
  .vtc-option--image { grid-template-columns: 1fr; grid-template-rows: 23px 145px auto auto auto; min-height: 270px; }
  .vtc-option__image { height: 145px; width: 100%; }
  .vtc-option__zoom { font-size: 8px; }
  .vtc-image-modal { padding: 12px; }
  .vtc-option__price { font-size: 10px; }
  .vtc-total { gap: 13px; padding: 15px 16px; }
  .vtc-total__price { font-size: 20px; }
  .vtc-total__summary { gap: 4px; grid-template-columns: 1fr; }
  .vtc-group.is-collapsed .vtc-group__summary { max-width: 100%; }
  .vtc-group legend { gap: 4px 8px; grid-template-columns: minmax(0, 1fr) auto auto; }
  .vtc-group__summary { grid-column: 1 / -1; grid-row: 2; padding-right: 22px; }
  .vtc-group legend small { grid-column: 2; }
  .vtc-chassis-gallery__stage { min-height: 280px; }
}
/* ==================================================
   CARRITO – CONFIGURACIÓN ELEGIDA EN MODO OSCURO
================================================== */

body#cart article.vtc-cart-line,
body#cart .vtc-cart-line,
body#cart .vtc-cart-line--fallback {
    width: 100%;
    max-width: 430px;
    margin: 10px 0 3px;
    padding: 11px 13px;

    background: #1d1d1d !important;
    border: 1px solid #484848 !important;
    border-radius: 9px !important;
    box-shadow: none !important;

    color: #d0d0d0 !important;
}

/* Título de la configuración */
body#cart .vtc-cart-line > strong,
body#cart .vtc-cart-line strong {
    color: #ffffff !important;
}

/* Lista y textos */
body#cart .vtc-cart-line ul,
body#cart .vtc-cart-line li,
body#cart .vtc-cart-line span,
body#cart .vtc-cart-line p {
    color: #d0d0d0 !important;
}

/* Nombres destacados dentro de la configuración */
body#cart .vtc-cart-line li strong,
body#cart .vtc-cart-line li b {
    color: #ffffff !important;
}

/* Viñetas o marcadores */
body#cart .vtc-cart-line li::marker {
    color: #3970ff !important;
}

/* Enlaces, si aparecen */
body#cart .vtc-cart-line a {
    color: #6f91ff !important;
}
