@charset "UTF-8";
/* CODIFICANDO tienda: listado, ficha, carrito y pago. Archivo estatico (fuera de los paquetes del sistema). */
.cdt, .o_website_sale_checkout {
  --cdt-naranja: #FF7900; --cdt-naranja-osc: #C25400; --cdt-noche: #1a1b2e; --cdt-texto: #2a2d3c; --cdt-gris: #5d6172;
  --cdt-borde: #e3e5ea; --cdt-fondo: #f7f8fa; --cdt-radio: 14px;
  font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
.cdt { background: var(--cdt-fondo); color: var(--cdt-texto); padding-bottom: 56px; min-height: 60vh; }
.cdt *, .cdt *::before, .cdt *::after { box-sizing: border-box; }
.cdt-env { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) { .cdt-env { padding: 0 28px; } }
.cdt a { color: var(--cdt-naranja-osc); }
.cdt :focus-visible, .o_website_sale_checkout :focus-visible { outline: 3px solid #1a73e8 !important; outline-offset: 2px; border-radius: 4px; }
.cdt img { max-width: 100%; height: auto; }

/* ---------- barra de la tienda ---------- */
.cdt-barra { background: #fff; border-bottom: 1px solid var(--cdt-borde); }
.cdt-barra__in { display: flex; align-items: center; gap: 10px; min-height: 60px; }
.cdt-barra__tienda { font: 800 17px/1 Inter, Arial, sans-serif; color: var(--cdt-noche) !important; text-decoration: none !important; padding: 10px 4px; flex-shrink: 0; }
.cdt-buscar { flex: 1 1 0; width: 0; display: flex; min-width: 0; max-width: 560px; margin: 0 auto; }
.cdt-buscar input { flex: 1 1 0 !important; width: 0 !important; min-width: 0 !important; height: 44px; padding: 0 14px; border: 1.5px solid var(--cdt-borde); border-right: 0; border-radius: 10px 0 0 10px; font: 400 16px/1 Inter, Arial, sans-serif; color: var(--cdt-texto); background: #fff; }
.cdt-buscar input:focus { border-color: var(--cdt-naranja); outline: none; }
.cdt-buscar button { flex-shrink: 0; width: 46px; height: 44px; border: 0; border-radius: 0 10px 10px 0; background: var(--cdt-noche); color: #fff !important; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.cdt-buscar button:hover { background: #2b2d48; }
.cdt-barra__carrito { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border-radius: 10px; border: 1.5px solid var(--cdt-borde); color: var(--cdt-noche) !important; font-weight: 700; font-size: 15px; text-decoration: none !important; flex-shrink: 0; background: #fff; }
.cdt-barra__carrito span { color: var(--cdt-noche) !important; }
.cdt-barra__carrito:hover { border-color: var(--cdt-noche); }
.cdt-cuenta { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #FF7900; color: #fff !important; font: 700 12px/22px Inter, Arial, sans-serif; text-align: center; }
.cdt-cuenta[hidden] { display: none; }
@media (max-width: 359px) { .cdt-barra__tienda { display: none; } }
@media (max-width: 479px) { .cdt-barra__carrito > span { display: none; } .cdt-barra__in { gap: 8px; } .cdt-barra__carrito { padding: 0 10px; } .cdt-buscar input { padding: 0 10px; } .cdt-buscar button { width: 42px; } }

/* ---------- cabecera y migas ---------- */
.cdt-cab { padding: 22px 0 6px; }
.cdt-cab h1, .cdt-compra h1 { font: 800 clamp(1.6rem, 1.2rem + 1.8vw, 2.4rem)/1.15 Inter, Arial, sans-serif; color: var(--cdt-noche) !important; margin: 0 0 8px; letter-spacing: -.02em; }
.cdt-cab__texto { margin: 0; color: var(--cdt-gris) !important; font-size: 1rem; line-height: 1.5; max-width: 62ch; }
.cdt-migas ol { display: flex; flex-wrap: wrap; gap: 4px 8px; list-style: none; margin: 0 0 12px; padding: 0; font-size: 14px; color: var(--cdt-gris); }
.cdt-migas li { color: var(--cdt-gris) !important; }
.cdt-migas li + li::before { content: "/"; margin-right: 8px; color: #b9bdc9; }
.cdt-migas a { color: var(--cdt-gris) !important; text-decoration: underline; text-underline-offset: 2px; }
.cdt-ficha .cdt-migas { padding-top: 18px; }

/* ---------- avisos ---------- */
.cdt-avisos { margin: 14px 0; padding: 12px 16px; border-radius: 10px; background: #fff7e6; border: 1px solid #f3d38a; }
.cdt-avisos p { margin: 0; padding: 3px 0; color: #5a4300 !important; font-size: 15px; line-height: 1.45; }

/* ---------- categorias, orden y filtros ---------- */
.cdt-chips { display: flex; gap: 8px; list-style: none; margin: 16px 0 0; padding: 0 0 4px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.cdt-chips li { flex-shrink: 0; }
.cdt-chips a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 21px; background: #fff; border: 1.5px solid var(--cdt-borde); color: var(--cdt-texto) !important; font-weight: 600; font-size: 15px; text-decoration: none !important; white-space: nowrap; transition: border-color .15s ease, background-color .15s ease; }
.cdt-chips a:hover { border-color: var(--cdt-noche); }
.cdt-chips a[aria-current] { background: var(--cdt-noche); border-color: var(--cdt-noche); color: #fff !important; }
.cdt-herramientas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 18px 0 14px; }
.cdt-total { margin: 0; color: var(--cdt-gris) !important; font-size: 15px; }
.cdt-total strong { color: var(--cdt-noche) !important; }
.cdt-orden { display: flex; align-items: center; gap: 8px; }
.cdt-orden label { font-size: 14px; color: var(--cdt-gris); margin: 0; }
.cdt-orden select, .cdt-campo select { height: 44px; padding: 0 34px 0 12px; border: 1.5px solid var(--cdt-borde); border-radius: 10px; background: #fff; color: var(--cdt-texto); font: 500 15px/1 Inter, Arial, sans-serif; max-width: 100%; }
.cdt-filtros { background: #fff; border: 1px solid var(--cdt-borde); border-radius: var(--cdt-radio); margin-bottom: 16px; }
.cdt-filtros summary { cursor: pointer; padding: 14px 16px; font-weight: 700; color: var(--cdt-noche); list-style: none; display: flex; align-items: center; justify-content: space-between; }
.cdt-filtros summary::-webkit-details-marker { display: none; }
.cdt-filtros summary::after { content: "+"; font-size: 22px; line-height: 1; color: var(--cdt-gris); transition: transform .2s ease; }
.cdt-filtros[open] summary::after { transform: rotate(45deg); }
.cdt-filtros__form { padding: 0 16px 16px; display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); animation: cdt-abre .2s ease; }
.cdt-filtros fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.cdt-filtros legend { font-weight: 700; font-size: 14px; color: var(--cdt-noche); margin-bottom: 6px; padding: 0; float: none; width: auto; }
.cdt-filtros label { display: flex; align-items: center; gap: 8px; min-height: 36px; font-size: 15px; color: var(--cdt-texto); margin: 0; cursor: pointer; }
.cdt-filtros input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--cdt-naranja); }
.cdt-filtros__acciones { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
@keyframes cdt-abre { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ---------- botones ---------- */
.cdt-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border-radius: 10px; border: 1.5px solid transparent; font: 700 15px/1.2 Inter, Arial, sans-serif; text-align: center; text-decoration: none !important; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, transform .15s ease; width: 100%; }
.cdt-btn:active { transform: translateY(1px); }
.cdt-btn--primario { background: #FF7900; border-color: #FF7900; color: #fff !important; }
.cdt-btn--primario:hover { background: #E86C00; border-color: #E86C00; }
.cdt-btn--oscuro { background: var(--cdt-noche); border-color: var(--cdt-noche); color: #fff !important; }
.cdt-btn--oscuro:hover { background: #2b2d48; }
.cdt-btn--linea { background: #fff; border-color: var(--cdt-borde); color: var(--cdt-noche) !important; }
.cdt-btn--linea:hover { border-color: var(--cdt-noche); }
.cdt-btn--apagado, .cdt-btn[disabled] { background: #eceef2; border-color: #eceef2; color: #7b7f8e !important; cursor: not-allowed; }
.cdt-btn.cdt-ocupado { opacity: .7; pointer-events: none; }

/* ---------- cuadricula y tarjetas ---------- */
.cdt-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 359px) { .cdt-grid { grid-template-columns: 1fr; } }
@media (min-width: 700px) { .cdt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }
@media (min-width: 1024px) { .cdt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
.cdt-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cdt-borde); border-radius: var(--cdt-radio); overflow: hidden; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.cdt-card:hover { box-shadow: 0 10px 26px rgba(20, 22, 44, .09); transform: translateY(-2px); border-color: #d3d6de; }
.cdt-card__foto { display: block; aspect-ratio: 1 / 1; background: #fff; padding: 10px; }
.cdt-card__foto img { width: 100%; height: 100%; object-fit: contain; display: block; }
.cdt-card__cuerpo { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px 12px; border-top: 1px solid #f0f1f4; flex: 1; }
.cdt-card__nombre { margin: 0; font: 600 15px/1.3 Inter, Arial, sans-serif; flex: 1; }
.cdt-card__nombre a { color: var(--cdt-noche) !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cdt-card__nombre a:hover { text-decoration: underline !important; }
.cdt-card__precio { margin: 2px 0 6px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.cdt-card__precio strong { font: 800 1.2rem/1.1 Inter, Arial, sans-serif; color: var(--cdt-noche) !important; }
.cdt-card__precio strong span, .cdt-precio strong span { color: var(--cdt-noche) !important; font-weight: 800; }
.cdt-card__precio del, .cdt-precio del, .cdt-card__precio del span, .cdt-precio del span { color: #8a8e9c !important; font-size: .9rem; }
.cdt-card__precio small, .cdt-precio small { color: var(--cdt-gris) !important; font-size: 12px; }
.cdt-card .cdt-btn { min-height: 44px; font-size: 14px; padding: 0 10px; }
.cdt-agregar { margin: 0; }
@media (min-width: 700px) { .cdt-card__cuerpo { padding: 14px 16px 16px; } .cdt-card__nombre { font-size: 16px; } .cdt-card .cdt-btn { font-size: 15px; } }
.cdt-disp { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; font: 600 12.5px/1.2 Inter, Arial, sans-serif; padding: 4px 9px; border-radius: 12px; }
.cdt-disp::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.cdt-disp--disponible { background: #e7f6ec; color: #17693a !important; }
.cdt-disp--pedido { background: #fff3da; color: #7a5200 !important; }
.cdt-disp--agotado { background: #eceef2; color: #5d6172 !important; }
.cdt-vacio { background: #fff; border: 1px dashed #cfd3dc; border-radius: var(--cdt-radio); padding: 36px 20px; text-align: center; }
.cdt-vacio h2 { font: 700 1.3rem/1.3 Inter, Arial, sans-serif; color: var(--cdt-noche) !important; margin: 0 0 8px; }
.cdt-vacio p { color: var(--cdt-gris) !important; margin: 0 0 16px; }
.cdt-vacio .cdt-btn { width: auto; }
.cdt-paginas { margin-top: 28px; display: flex; justify-content: center; }
.cdt-paginas .pagination { gap: 6px; flex-wrap: wrap; margin: 0; }
.cdt-paginas .page-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px !important; border: 1.5px solid var(--cdt-borde); color: var(--cdt-noche) !important; font-weight: 600; }
.cdt-paginas .active .page-link { background: var(--cdt-noche); border-color: var(--cdt-noche); color: #fff !important; }

/* ---------- ficha ---------- */
.cdt-ficha__grid { display: grid; gap: 20px; }
@media (min-width: 900px) { .cdt-ficha__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 36px; align-items: start; } .cdt-compra { position: sticky; top: 96px; } }
.cdt-galeria__principal { background: #fff; border: 1px solid var(--cdt-borde); border-radius: var(--cdt-radio); aspect-ratio: 1 / 1; padding: 16px; }
.cdt-galeria__principal img { width: 100%; height: 100%; object-fit: contain; display: block; }
.cdt-galeria__miniaturas { display: flex; gap: 8px; list-style: none; margin: 10px 0 0; padding: 0 0 4px; overflow-x: auto; }
.cdt-galeria__miniaturas button { width: 68px; height: 68px; padding: 4px; border: 2px solid var(--cdt-borde); border-radius: 10px; background: #fff; cursor: pointer; flex-shrink: 0; }
.cdt-galeria__miniaturas button.activa { border-color: var(--cdt-naranja); }
.cdt-galeria__miniaturas img { width: 100%; height: 100%; object-fit: contain; }
.cdt-compra { background: #fff; border: 1px solid var(--cdt-borde); border-radius: var(--cdt-radio); padding: 20px; }
@media (min-width: 768px) { .cdt-compra { padding: 26px; } }
.cdt-compra h1 { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem); }
.cdt-compra__cat { display: inline-block; font: 700 12.5px/1.2 Inter, Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--cdt-naranja-osc) !important; text-decoration: none !important; margin-bottom: 8px; }
.cdt-compra__codigo { margin: 0 0 10px; font-size: 13.5px; color: var(--cdt-gris) !important; }
.cdt-compra__codigo span { color: var(--cdt-gris) !important; }
.cdt-precio { margin: 10px 0 10px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.cdt-precio strong { font: 800 2rem/1.1 Inter, Arial, sans-serif; color: var(--cdt-noche) !important; }
.cdt-form { margin: 16px 0 0; display: grid; gap: 14px; }
.cdt-campo label { display: block; font: 600 14px/1.2 Inter, Arial, sans-serif; color: var(--cdt-noche); margin: 0 0 6px; }
.cdt-campo select { width: 100%; }
.cdt-cantidad__caja { display: inline-flex; border: 1.5px solid var(--cdt-borde); border-radius: 10px; overflow: hidden; background: #fff; }
.cdt-cantidad__caja button { width: 46px; height: 46px; border: 0; background: #f4f5f8; color: var(--cdt-noche) !important; font-size: 22px; line-height: 1; cursor: pointer; }
.cdt-cantidad__caja button:hover { background: #e9ebf0; }
.cdt-cantidad__caja input { width: 64px; height: 46px; border: 0; text-align: center; font: 700 16px/1 Inter, Arial, sans-serif; color: var(--cdt-noche); background: #fff; -moz-appearance: textfield; }
.cdt-cantidad__caja input::-webkit-outer-spin-button, .cdt-cantidad__caja input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cdt-acciones { display: grid; gap: 10px; }
@media (min-width: 480px) { .cdt-acciones { grid-template-columns: 1fr 1fr; } }
.cdt-acciones .cdt-btn { min-height: 52px; font-size: 16px; }
.cdt-datos { list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--cdt-borde); display: grid; gap: 10px; }
.cdt-datos li { display: grid; grid-template-columns: 84px 1fr; gap: 10px; font-size: 14.5px; line-height: 1.45; }
.cdt-datos strong { color: var(--cdt-noche) !important; }
.cdt-datos span { color: var(--cdt-gris) !important; }
.cdt-wa { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; min-height: 44px; color: #128c4b !important; font-weight: 600; font-size: 15px; text-decoration: none !important; }
.cdt-wa:hover { text-decoration: underline !important; }
.cdt-seccion { margin-top: 32px; }
.cdt-seccion h2 { font: 800 1.35rem/1.25 Inter, Arial, sans-serif; color: var(--cdt-noche) !important; margin: 0 0 12px; }
.cdt-texto { background: #fff; border: 1px solid var(--cdt-borde); border-radius: var(--cdt-radio); padding: 18px 20px; color: var(--cdt-texto) !important; line-height: 1.6; max-width: 78ch; margin: 0; }
.cdt-tabla { width: 100%; max-width: 640px; border-collapse: collapse; background: #fff; border: 1px solid var(--cdt-borde); border-radius: var(--cdt-radio); overflow: hidden; font-size: 15px; }
.cdt-tabla th, .cdt-tabla td { padding: 11px 16px; border-bottom: 1px solid #f0f1f4; text-align: left; vertical-align: top; }
.cdt-tabla th { width: 38%; color: var(--cdt-gris); font-weight: 600; background: #fafbfc; }
.cdt-tabla tr:last-child th, .cdt-tabla tr:last-child td { border-bottom: 0; }

/* ---------- carrito y pago (plantillas del sistema) ----------
   El tema del sitio pinta estas pantallas con fondo oscuro y texto blanco; aqui se devuelven a claro. */
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) { color: var(--cdt-texto) !important; padding-top: 20px !important; padding-bottom: 48px !important; background: transparent !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(p, span, label, small, strong, b, em, td, th, li, dt, dd, div, h1, h2, h3, h4, h5, h6, legend, summary, address) { color: var(--cdt-texto) !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.card, .card-body, .card-header, .card-footer, .accordion, .accordion-item, .accordion-button, .accordion-body, .accordion-collapse, table, thead, tbody, tfoot, tr, td, th, #cart_total, #cart_products, #address_on_payment, .list-group, .list-group-item, form, .o_cart_product, .o_wsale_accordion_item) { background: transparent !important; background-color: transparent !important; box-shadow: none !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.card, .o_total_card) { background-color: #fff !important; border: 1px solid var(--cdt-borde) !important; border-radius: var(--cdt-radio) !important; overflow: hidden; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_total_card .card-body { padding: 20px !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(h1, h2, h3, h4, h5, h6) { font-family: Inter, Arial, sans-serif !important; color: var(--cdt-noche) !important; font-weight: 700 !important; letter-spacing: -.01em; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) h3 { font-size: 1.5rem !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.text-muted, .text-muted *, small) { color: var(--cdt-gris) !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) a:not(.btn), body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) a:not(.btn) * { color: var(--cdt-naranja-osc) !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .monetary_field, body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .oe_currency_value { color: var(--cdt-noche) !important; font-weight: 600; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn { min-height: 48px; border-radius: 10px !important; font: 700 15px/1.2 Inter, Arial, sans-serif !important; display: inline-flex; align-items: center; justify-content: center; text-transform: none !important; letter-spacing: 0 !important; padding: 0 18px; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-primary, body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-primary * { background-color: #FF7900 !important; border-color: #FF7900 !important; color: #fff !important; background-image: none !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-primary:hover, body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-primary:hover * { background-color: #E86C00 !important; border-color: #E86C00 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.btn-secondary, .btn-light, .btn-outline-primary, .btn-outline-secondary), body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.btn-secondary, .btn-light, .btn-outline-primary, .btn-outline-secondary) * { background-color: #fff !important; border-color: var(--cdt-borde) !important; color: var(--cdt-noche) !important; background-image: none !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-link, body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-link * { background: transparent !important; border: 0 !important; color: var(--cdt-naranja-osc) !important; min-height: 44px; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.form-control, .form-select, input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea) { min-height: 46px; border-radius: 10px !important; border: 1.5px solid #c3c8d2 !important; background-color: #fff !important; color: var(--cdt-texto) !important; font-size: 16px !important; box-shadow: none !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.form-control, .form-select):focus { border-color: var(--cdt-naranja) !important; box-shadow: 0 0 0 3px rgba(242, 140, 40, .2) !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) label { font-weight: 600; font-size: 14px; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) input[type=radio], body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) input[type=checkbox] { accent-color: var(--cdt-naranja); width: 18px; height: 18px; min-height: 0; }
/* pasos */
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard { display: flex !important; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 20px !important; padding: 0 0 12px !important; border-bottom: 1px solid var(--cdt-borde); }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard :is(a, span, p, div) { color: var(--cdt-gris) !important; font-weight: 600; font-size: 15px; text-decoration: none !important; background: transparent !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard :is(.o_wizard_step_active, .active, .text-primary), body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard :is(.o_wizard_step_active, .active, .text-primary) * { color: var(--cdt-noche) !important; font-weight: 800; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard :is(.o_wizard_circle, .o_wizard_circle_progress, .o_wizard_dash) { display: none !important; }
/* lineas del carrito */
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_products .o_cart_product { padding: 14px 0 !important; border-bottom: 1px solid var(--cdt-borde); }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_products img { border-radius: 8px; background: #fff; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity { border: 1.5px solid var(--cdt-borde) !important; border-radius: 10px !important; overflow: hidden; max-width: 140px; background: #fff !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity :is(a, .btn) { min-height: 42px; min-width: 40px; border: 0 !important; background: #f4f5f8 !important; color: var(--cdt-noche) !important; border-radius: 0 !important; padding: 0 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity :is(a, .btn) * { color: var(--cdt-noche) !important; background: transparent !important; border: 0 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity input { min-height: 42px !important; border: 0 !important; border-radius: 0 !important; text-align: center; font-weight: 700; padding: 0 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_total :is(td, th) { padding: 6px 0 !important; border: 0 !important; font-size: 15px; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_total #order_total :is(td, th, span, strong) { font-size: 1.15rem !important; font-weight: 800 !important; color: var(--cdt-noche) !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #address_on_payment { background: #fff !important; border: 1px solid var(--cdt-borde); border-radius: var(--cdt-radio); padding: 14px 16px; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.alert-info, .alert-info *) { color: #0b3a52 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .alert-info { background-color: #e8f4fb !important; border: 1px solid #b9dcef !important; border-radius: 10px; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.alert-warning, .alert-warning *) { color: #5a4300 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .alert-warning { background-color: #fff7e6 !important; border: 1px solid #f3d38a !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.alert-danger, .alert-danger *) { color: #7a1c15 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .alert-danger { background-color: #fdecea !important; border: 1px solid #f2b8b2 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.alert-success, .alert-success *) { color: #0b4a24 !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .badge, body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .badge * { color: #fff !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_payment_form :is(.list-group-item, li) { border: 1.5px solid var(--cdt-borde) !important; border-radius: 10px !important; margin-bottom: 8px; background: #fff !important; }
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #delivery_method li { border: 1.5px solid var(--cdt-borde) !important; border-radius: 10px !important; margin-bottom: 8px; padding: 12px 14px !important; background: #fff !important; }
.cdt-conversion { border-radius: 10px; }
/* --- refuerzo: el tema usa selectores con id; aqui se gana con dos id --- */
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(td, th, b, strong, span, p, div, h6, label, li, address):not(.btn):not(.btn *):not(.badge):not(.alert):not(.alert *):not(.text-muted):not(.cdt-cuenta) { color: var(--cdt-texto) !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.text-muted, small) { color: var(--cdt-gris) !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) a:not(.btn), #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) a:not(.btn) :is(span, p, b, div) { color: #a8530a !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard :is(a, a p, a span, span p) { color: var(--cdt-gris) !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard .o_wizard_step_active p, #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard .dropdown-toggle { color: var(--cdt-noche) !important; font-weight: 800; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard .dropdown-menu { background: #fff !important; border: 1px solid var(--cdt-borde); }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-primary, #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-primary :is(span, b, i) { background-color: #FF7900 !important; border-color: #FF7900 !important; color: #fff !important; opacity: 1 !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .btn-primary:is(:disabled, .disabled) { background-color: #8a8f9c !important; border-color: #8a8f9c !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #order_total :is(td, th, span, strong) { color: var(--cdt-noche) !important; }
/* resumen del pedido: en escritorio siempre abierto (el paquete de estilos del sistema no carga en este sitio) */
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .accordion-button { width: 100%; text-align: left; border: 0 !important; padding: 0 !important; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 15px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .accordion-button::after { content: "" !important; width: 10px !important; height: 10px !important; flex: 0 0 10px; background: none !important; border: solid var(--cdt-noche); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s; margin: 0 6px 4px 0 !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .accordion-button:not(.collapsed)::after { transform: rotate(-135deg); margin-bottom: -4px !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .accordion-header { margin-bottom: 14px !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_total_card .accordion-item { padding: 18px !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_products h6 { font-size: 14px !important; font-weight: 600 !important; line-height: 1.35; margin: 0; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_products td { padding: 8px 6px !important; border: 0 !important; vertical-align: top; font-size: 14px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_products img { width: 52px; height: 52px; object-fit: contain; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_total { width: 100%; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .coupon_form .input-group, #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) form[name=coupon_code] .input-group { display: flex !important; flex-wrap: nowrap; gap: 8px; width: 100%; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) form[name=coupon_code] input { flex: 1 1 0; width: 0; min-width: 0; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) form[name=coupon_code] .btn { position: static !important; flex: 0 0 auto; min-height: 46px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cta_navigation_container { margin-top: 16px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cta_navigation_container .btn { width: 100%; }
@media (min-width: 992px) {
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .accordion-collapse { display: block !important; height: auto !important; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .accordion-button { pointer-events: none; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .accordion-button::after { display: none !important; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cta_navigation_container { position: static !important; padding: 0 18px 18px; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_total_card { position: sticky; top: 96px; }
}
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #shipping_and_billing { padding: 14px 16px !important; line-height: 1.5; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) input[type=radio] { appearance: auto !important; -webkit-appearance: radio !important; border: 0 !important; box-shadow: none !important; background: none !important; flex: 0 0 18px; margin-right: 8px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) input[type=checkbox] { appearance: auto !important; -webkit-appearance: checkbox !important; border: 0 !important; background: none !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wizard { margin-top: 0 !important; }
/* --- ajuste 2: el tema reutiliza clases de utilidad (.mb32, .pt-3) con margenes de mas de 100 px y pinta las tablas como bloques --- */
body #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(div, table, form, section, ul) { margin-top: 0 !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(#cart_products, #cart_total table) { display: table !important; width: 100% !important; padding: 0 !important; table-layout: auto; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(#cart_products, #cart_total table) tbody { display: table-row-group !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(#cart_products, #cart_total table) tr { display: table-row !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(#cart_products, #cart_total table) :is(td, th) { display: table-cell !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_products td.td-product_name { width: 100%; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_products td.td-price { white-space: nowrap; text-align: right; font-weight: 600; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_total_card { padding: 0 !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_total { padding-top: 12px !important; margin-top: 12px !important; border-top: 1px solid var(--cdt-borde) !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_total td:last-child { text-align: right; white-space: nowrap; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) form[name=coupon_code] { margin-top: 12px !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #o_wsale_total_accordion { margin-bottom: 20px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .oe_cart > :is(div, form) + :is(div, form), #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #payment_method, #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .cdt-conversion { margin-top: 18px !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) form.checkout_autoformat > div:last-child, #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) form.checkout_autoformat .d-flex.justify-content-between { margin-top: 22px !important; gap: 12px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cta_navigation_container > div { padding-top: 0 !important; gap: 10px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cta_navigation_container a { text-align: center; min-height: 44px; display: flex; align-items: center; justify-content: center; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_wsale_delivery_badge_price { font-size: 14px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) h3 { margin: 0 0 14px !important; }
#wrapwrap #wrap .o_wsale_address_fill { background: transparent !important; }
/* --- ajuste 3: carrito. Los iconos del sistema no cargan en este sitio: se dibujan con texto --- */
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .fa::before { font-family: Inter, Arial, sans-serif !important; font-weight: 700; font-style: normal; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .fa-minus::before { content: "−" !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .fa-plus::before { content: "+" !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .fa-angle-right::before { content: "›" !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .fa-angle-left::before { content: "‹" !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity .fa { font-size: 18px; line-height: 1; font-style: normal; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product { gap: 14px !important; align-items: flex-start !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product > div:first-child { width: 76px !important; flex: 0 0 76px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product > div:first-child img { width: 76px !important; height: 76px !important; max-width: none !important; max-height: none !important; object-fit: contain; border: 1px solid var(--cdt-borde); }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product > .flex-grow-1 { flex: 1 1 0; min-width: 0; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product h6 { font-size: 15px !important; line-height: 1.4; font-weight: 600 !important; display: block !important; margin: 0 0 4px; overflow-wrap: anywhere; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product a h6 { color: var(--cdt-noche) !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) a.js_delete_product { display: inline-flex !important; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; text-decoration: underline !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) button.js_delete_product { display: none !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .cart_product_base_unit_price { display: none !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity { display: flex !important; flex-wrap: nowrap; width: 132px; max-width: 132px; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity :is(a, .btn) { flex: 0 0 42px; width: 42px; min-width: 42px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity input { flex: 1 1 0; width: 0; min-width: 0; min-height: 44px !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) [name=website_sale_cart_line_price] { font-size: 16px !important; font-weight: 800 !important; color: var(--cdt-noche) !important; white-space: nowrap; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.row, .col, [class*=col-]) { min-width: 0; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(.o_total_card, .accordion-item, #cart_total, .oe_cart, .oe_cart > .col, #cart_products) { max-width: 100%; box-sizing: border-box; }
@media (max-width: 479px) {
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product { flex-wrap: wrap !important; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product > div:first-child, #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product > div:first-child img { width: 60px !important; height: 60px !important; flex-basis: 60px; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product > div:last-child { flex: 1 0 100%; flex-direction: row !important; align-items: center !important; justify-content: space-between; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cart_product .css_quantity { margin-bottom: 0 !important; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #o_wsale_total_accordion { padding-left: 0 !important; padding-right: 0 !important; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .oe_cart { padding-left: 0 !important; padding-right: 0 !important; }
  #wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_total_card .accordion-item { padding: 14px !important; }
}
/* --- ajuste 4 --- */
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) :is(#cart_products, #cart_total table) { min-width: 0 !important; max-width: 100% !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_cta_navigation_container > div { margin-bottom: 0 !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_total_card .accordion-item > :last-child { margin-bottom: 0 !important; }
/* --- ajuste 5 --- */
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) form[name=coupon_code] input { min-width: 0 !important; width: 0 !important; flex: 1 1 0 !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_total table { table-layout: fixed !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) #cart_total td:first-child { width: 42%; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .o_total_card .d-flex.flex-column { margin-bottom: 0 !important; padding-top: 16px !important; }
#wrapwrap #wrap :is(.o_website_sale_checkout, .o_wsale_address_fill) .css_quantity :is(a, .btn) i { position: static !important; display: block; line-height: 44px; height: 44px; }

/* el boton flotante del sitio no tapa las acciones de compra */
body:has(.cdt) .cod-dir-fab, body:has(.o_website_sale_checkout) .cod-dir-fab { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  .cdt *, .cdt *::before, .cdt *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
/* ================= version 2: categorias, sugerencias, ficha, opiniones, asistente ================= */
/* categorias: en celular se ven todas (varias filas), nunca cortadas */
.cdt-cats { margin: 14px 0 4px; }
.cdt-cats .cdt-chips { display: flex; flex-wrap: wrap; gap: 8px; overflow: visible; margin: 0 0 8px; padding: 0; list-style: none; }
.cdt-cats .cdt-chips li { flex: 0 1 auto; min-width: 0; max-width: 100%; }
.cdt-cats .cdt-chips a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.25; text-align: left; }
.cdt-chips--hijas a { background: #f4f5f8; border-style: dashed !important; font-weight: 600; }
/* ayuda para elegir */
.cdt-barra__ayuda { padding-top: 0; padding-bottom: 10px; }
.cdt-barra__ayuda button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1.5px solid #f3d3ae; border-radius: 10px; background: #fff7ee; color: #7a3c06; font: 700 14px/1.2 Inter, Arial, sans-serif; cursor: pointer; text-align: left; }
.cdt-barra__ayuda button:hover { background: #ffecd6; }
.cdt-barra__ayuda button:focus-visible, .cdt-asis :focus-visible, .cdt-sugerencias a:focus-visible, .cdt-galeria__principal:focus-visible { outline: 3px solid #1a1b2e; outline-offset: 2px; }
/* sugerencias del buscador */
.cdt-buscar { position: relative; }
.cdt-sugerencias { position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; right: 0; background: #fff; border: 1px solid var(--cdt-borde); border-radius: 12px; box-shadow: 0 14px 34px rgba(10, 12, 30, .16); padding: 6px; max-height: 70vh; overflow-y: auto; }
.cdt-sugerencias[hidden] { display: none; }
.cdt-sug { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 8px; border-radius: 8px; color: var(--cdt-noche) !important; text-decoration: none !important; font: 500 14px/1.3 Inter, Arial, sans-serif; }
.cdt-sug img { width: 44px; height: 44px; object-fit: contain; border-radius: 6px; flex: 0 0 44px; background: #f4f5f8; }
.cdt-sug span { flex: 1 1 0; min-width: 0; color: var(--cdt-noche) !important; }
.cdt-sug strong { flex-shrink: 0; font-weight: 800; color: var(--cdt-noche) !important; white-space: nowrap; }
.cdt-sug:hover, .cdt-sug.activa { background: #f4f5f8; }
.cdt-sug--cat span { font-weight: 700; }
.cdt-sug__vacio { margin: 0; padding: 10px; font-size: 14px; color: var(--cdt-gris); }
@media (max-width: 599px) { .cdt-sugerencias { position: fixed; top: 132px; left: 10px; right: 10px; } }
/* estrellas */
.cdt-estrellas { display: inline-flex; gap: 1px; vertical-align: middle; }
.cdt-estrellas svg { fill: #d5d8df; }
.cdt-estrellas svg.llena { fill: #b85a0b; }
.cdt-card__op { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; font-size: 13px; color: var(--cdt-gris); }
/* ficha */
.cdt-galeria__principal { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.cdt-compra__resumen { margin: 6px 0 10px; font-size: 16px; line-height: 1.5; color: var(--cdt-texto); }
.cdt-compra__op { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; color: var(--cdt-noche) !important; }
.cdt-usos { margin: 0 0 14px; padding: 0; list-style: none; display: grid; gap: 6px; }
.cdt-usos li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.45; }
.cdt-usos li::before { content: ""; position: absolute; left: 4px; top: 5px; width: 7px; height: 12px; border: solid #177245; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.cdt-lista { margin: 12px 0 0; padding-left: 20px; display: grid; gap: 6px; line-height: 1.5; }
.cdt-nota { margin: 10px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--cdt-gris); }
.cdt-dos { display: grid; gap: 24px; }
@media (min-width: 768px) { .cdt-dos { grid-template-columns: 1fr 1fr; } }
.cdt-docs { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.cdt-docs li { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--cdt-borde); border-radius: 10px; }
.cdt-docs__tipo { font: 700 11.5px/1.2 Inter, Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #7a3c06; }
.cdt-docs a { font-weight: 700; color: var(--cdt-noche) !important; text-decoration: underline; overflow-wrap: anywhere; min-height: 28px; }
.cdt-docs small { color: var(--cdt-gris); font-size: 13px; }
.cdt-comparar { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--cdt-borde); border-radius: 10px; }
.cdt-comparar table { min-width: 520px; margin: 0; border: 0; }
.cdt-comparar thead th { background: #f4f5f8; font-weight: 800; text-align: left; vertical-align: bottom; }
.cdt-comparar thead a { color: var(--cdt-noche) !important; text-decoration: underline; }
.cdt-guia .cdt-texto :is(h2, h3) { font-family: Inter, Arial, sans-serif; color: var(--cdt-noche); margin: 22px 0 8px; }
.cdt-guia .cdt-texto h2 { font-size: 1.4rem; }
.cdt-guia .cdt-texto h3 { font-size: 1.1rem; }
.cdt-guia .cdt-texto :is(p, li) { line-height: 1.6; max-width: 75ch; }
.cdt-guia .cdt-texto table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 14.5px; }
.cdt-guia .cdt-texto :is(td, th) { border: 1px solid var(--cdt-borde); padding: 8px 10px; text-align: left; vertical-align: top; }
.cdt-guia .cdt-texto th { background: #f4f5f8; }
.cdt-guia .cdt-texto a { color: #a8530a; text-decoration: underline; }
/* compra fija en celular */
.cdt-fija { position: fixed; z-index: 9980; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--cdt-borde); box-shadow: 0 -8px 24px rgba(10, 12, 30, .1); }
.cdt-fija[hidden] { display: none; }
.cdt-fija p { margin: 0; display: grid; line-height: 1.15; flex-shrink: 0; }
.cdt-fija strong { font: 800 17px/1.1 Inter, Arial, sans-serif; color: var(--cdt-noche); }
.cdt-fija small { font-size: 11.5px; color: var(--cdt-gris); }
.cdt-fija .cdt-btn { flex: 1 1 0; min-width: 0; }
@media (min-width: 768px) { .cdt-fija { display: none !important; } }
@media (max-width: 767px) { body.cdt-con-fija .cod-dir-fab, body.cdt-con-fija a[class*="whatsapp"][style*="fixed"] { bottom: 86px !important; } body.cdt-con-fija #wrap { padding-bottom: 76px; } }
/* foto ampliada */
.cdt-zoom { border: 0; padding: 0; background: #fff; border-radius: 12px; max-width: min(96vw, 1100px); max-height: 94vh; overflow: auto; }
.cdt-zoom::backdrop { background: rgba(10, 12, 30, .8); }
.cdt-zoom img { display: block; width: 100%; height: auto; cursor: zoom-in; }
.cdt-zoom img.cdt-zoom--mas { width: 200%; max-width: none; cursor: zoom-out; }
.cdt-zoom__cerrar { position: sticky; top: 8px; float: right; margin: 8px; z-index: 2; width: 44px; height: 44px; border: 0; border-radius: 22px; background: var(--cdt-noche); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
/* opiniones */
.cdt-op__resumen { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.cdt-op__resumen strong { font: 800 30px/1 Inter, Arial, sans-serif; color: var(--cdt-noche); }
.cdt-op__lista { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 14px; }
.cdt-op__lista > li { padding: 14px 16px; border: 1px solid var(--cdt-borde); border-radius: 10px; }
.cdt-op__cab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 14px; }
.cdt-op__cab time { color: var(--cdt-gris); }
.cdt-op__ok { padding: 2px 8px; border-radius: 10px; background: #e6f4ec; color: #0b4a24; font-weight: 700; font-size: 12px; }
.cdt-op__fotos { margin: 10px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.cdt-op__fotos img { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; border: 1px solid var(--cdt-borde); }
.cdt-op__resp { margin: 10px 0 0; padding: 10px 12px; background: #f4f5f8; border-radius: 8px; font-size: 14px; }
.cdt-op__form { border: 1px solid var(--cdt-borde); border-radius: 10px; padding: 4px 16px; }
.cdt-op__form summary { min-height: 48px; display: flex; align-items: center; font-weight: 700; cursor: pointer; color: var(--cdt-noche); }
.cdt-op__form form { display: grid; gap: 14px; padding: 6px 0 16px; }
.cdt-op__estrellas { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.cdt-op__estrellas legend { font-weight: 700; margin-bottom: 6px; font-size: 14px; }
.cdt-op__estrellas label { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; }
.cdt-op__form textarea, .cdt-op__form input[type=file] { width: 100%; padding: 10px 12px; border: 1.5px solid #c3c8d2; border-radius: 10px; font: 400 16px/1.4 Inter, Arial, sans-serif; background: #fff; color: var(--cdt-texto); }
/* asistente y dialogos de la version 2 */
.cdt-asis .cdt-dialogo__in, .cdt-wa-dlg .cdt-dialogo__in { text-align: left; width: min(92vw, 560px); max-height: 86vh; overflow-y: auto; }
.cdt-asis__cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.cdt-asis__cab h2 { margin: 0; font: 800 19px/1.2 Inter, Arial, sans-serif; color: var(--cdt-noche); }
.cdt-asis__cerrar { width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 22px; background: #f4f5f8; color: var(--cdt-noche); font-size: 24px; line-height: 1; cursor: pointer; }
.cdt-asis__cuerpo { display: grid; gap: 12px; }
.cdt-asis__msg { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--cdt-texto); }
.cdt-asis__ops { display: grid; gap: 8px; }
.cdt-asis__op { min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--cdt-borde); border-radius: 10px; background: #fff; color: var(--cdt-noche); font: 600 15px/1.3 Inter, Arial, sans-serif; text-align: left; cursor: pointer; }
.cdt-asis__op:hover { border-color: var(--cdt-noche); }
.cdt-asis__atras { justify-self: start; min-height: 44px; padding: 0 6px; border: 0; background: none; color: #a8530a; font-weight: 700; text-decoration: underline; cursor: pointer; }
.cdt-asis__form { display: grid; gap: 8px; }
.cdt-asis__form label { font-weight: 700; font-size: 14px; }
.cdt-asis__form input { min-height: 46px; padding: 0 12px; border: 1.5px solid #c3c8d2; border-radius: 10px; font-size: 16px; width: 100%; }
.cdt-asis__lista { display: grid; gap: 12px; }
.cdt-asis__prod { display: grid; grid-template-columns: 72px 1fr; gap: 12px; padding: 12px; border: 1px solid var(--cdt-borde); border-radius: 10px; }
.cdt-asis__prod img { width: 72px; height: 72px; object-fit: contain; border-radius: 8px; background: #f4f5f8; }
.cdt-asis__nombre { font-weight: 700; color: var(--cdt-noche) !important; text-decoration: underline; overflow-wrap: anywhere; }
.cdt-asis__precio { margin: 4px 0; font-weight: 800; color: var(--cdt-noche); }
.cdt-asis__razones { margin: 0 0 6px; padding-left: 18px; font-size: 14px; line-height: 1.45; }
.cdt-asis__duda { margin: 0 0 4px; font-size: 13.5px; color: #5a4300; background: #fff7e6; border-radius: 6px; padding: 6px 8px; }
.cdt-asis__elige { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.cdt-asis__elige input[type=checkbox] { width: 22px; height: 22px; accent-color: #b85a0b; }
.cdt-asis__elige label { font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
.cdt-asis__elige input[type=number] { width: 72px; min-height: 44px; border: 1.5px solid #c3c8d2; border-radius: 8px; text-align: center; font-size: 16px; }
.cdt-asis__confirma { margin: 0; padding-left: 18px; line-height: 1.6; }
.cdt-asis__total { margin: 0; font: 800 17px/1.2 Inter, Arial, sans-serif; color: var(--cdt-noche); }
.cdt-btn-wa, #wrapwrap #wrap .o_website_sale_checkout .cdt-btn-wa { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; width: 100%; padding: 0 16px; border: 1.5px solid #128c4a !important; border-radius: 10px !important; background: #fff !important; color: #0b5c30 !important; font: 700 15px/1.2 Inter, Arial, sans-serif !important; text-decoration: none !important; cursor: pointer; }
.cdt-btn-wa:hover { background: #e9f7ef !important; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-btn-wa svg { color: #0b5c30 !important; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-wa-nota { margin: 0; font-size: 13px; line-height: 1.45; color: var(--cdt-gris) !important; text-align: center; }
.cdt-wa-msg { margin: 0; padding: 12px; max-height: 40vh; overflow: auto; background: #f4f5f8; border-radius: 10px; white-space: pre-wrap; font: 400 14px/1.5 Inter, Arial, sans-serif; color: var(--cdt-texto); }
/* beneficio y pago seguro */
#wrapwrap #wrap .o_website_sale_checkout .cdt-beneficio { margin-top: 14px !important; padding: 12px 14px; border-radius: 10px; background: #f4f5f8 !important; border: 1px solid var(--cdt-borde); }
#wrapwrap #wrap .o_website_sale_checkout .cdt-beneficio--ok { background: #e9f7ef !important; border-color: #b7e0c6; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-beneficio__titulo { margin: 0 0 6px; font-weight: 800; color: #0b4a24 !important; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-beneficio ul { margin: 0; padding: 0; list-style: none; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-beneficio li { display: flex; justify-content: space-between; padding: 3px 0; background: transparent !important; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-beneficio li strong { color: #0b4a24 !important; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-beneficio__nota { margin: 6px 0 0; font-size: 13.5px; line-height: 1.45; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-beneficio__nota[hidden] { display: none; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-seguro { margin-top: 14px !important; padding: 12px 14px; border-radius: 10px; background: #f4f5f8 !important; border: 1px solid var(--cdt-borde); font-size: 14px; line-height: 1.5; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-seguro p { margin: 0 0 6px; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-seguro p:last-child { margin: 0; }
#wrapwrap #wrap .o_website_sale_checkout .cdt-entrega-nota { margin-left: 26px; font-size: 13px; }
/* movimiento reducido */
@media (prefers-reduced-motion: reduce) { .cdt *, .cdt-dialogo, .cdt-fija, .cdt-sugerencias { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
/* enlaces y tablas de la guia */
.cdt .cdt-guia .cdt-texto a { color: #a8530a !important; text-decoration: underline !important; }
.cdt-guia .cdt-texto table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cdt-guia .cdt-texto :is(td, th) { min-width: 96px; }
.cdt-lista li { list-style: disc; }
/* ---- colores de compra (version 2.0) ---- */
.cdt-btn--primario, .cdt-fija .cdt-btn--primario { background: #FF7900; border-color: #FF7900; color: #fff !important; font-weight: 800; box-shadow: 0 6px 16px rgba(255, 121, 0, .28); }
.cdt-btn--primario:hover { background: #E86C00; border-color: #E86C00; box-shadow: 0 8px 20px rgba(255, 121, 0, .36); }
.cdt-btn--primario:active { transform: translateY(1px); box-shadow: 0 3px 8px rgba(255, 121, 0, .3); }
.cdt-btn--primario[disabled] { background: #d5d8df; border-color: #d5d8df; color: #5d6172 !important; box-shadow: none; }
.cdt-btn--oscuro { background: #16172b; border-color: #16172b; color: #fff !important; }
.cdt-btn--oscuro:hover { background: #2a2c4a; }
.cdt-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.cdt-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(22, 23, 43, .12); border-color: #FFB877; }
.cdt-card__precio strong, .cdt-precio strong { color: #16172b; }
.cdt-precio strong { font-size: clamp(28px, 6vw, 36px); }
.cdt-precio del, .cdt-card__precio del { color: #b3261e; }
.cdt-disp--disponible { background: #e3f6ea; color: #0b5c30; }
.cdt-disp--pedido { background: #fff1dc; color: #7a3c06; }
.cdt-disp--agotado { background: #fde8e6; color: #8c1d18; }
.cdt-disp--pocas { background: #ffe3d6; color: #9a2c00; }
.cdt-estrellas svg.llena { fill: #FF7900; }
.cdt-cuenta, .cdt-cab-carrito b { background: #FF7900 !important; color: #fff !important; font-weight: 800; }
.cdt-chips a[aria-current] { background: #16172b; border-color: #16172b; color: #fff !important; }
.cdt-chips a:hover { border-color: #FF7900; color: #16172b !important; }
.cdt-cab { background: linear-gradient(180deg, #fff7ee 0%, #fff 100%); }
.cdt-cab h1 { color: #16172b; }
.cdt-barra__ayuda button { border-color: #FF7900; background: #fff3e6; color: #16172b; }
.cdt-barra__ayuda button svg { color: #C25400; }
.cdt-usos li::before { border-color: #128c4a; }
.cdt-confianza { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.cdt-confianza li { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px; background: #f1faf4; color: #0b4a24; font: 600 13.5px/1.3 Inter, Arial, sans-serif; }
.cdt-confianza svg { flex: 0 0 18px; color: #128c4a; }
.cdt-compra__cat { color: #C25400 !important; }
.cdt-sug:hover, .cdt-sug.activa { background: #fff3e6; }
.cdt-buscar input:focus { border-color: #FF7900; box-shadow: 0 0 0 3px rgba(255, 121, 0, .2); }
.cdt-buscar button { background: #FF7900 !important; color: #fff !important; }
.cdt-buscar button:hover { background: #E86C00 !important; }
.cdt-vacio__ayuda { display: grid; gap: 10px; max-width: 420px; margin: 16px auto 0; }
@media (prefers-reduced-motion: reduce) { .cdt-card:hover { transform: none; } .cdt-btn--primario:active { transform: none; } }

/* ---- buscador: una sola pieza, del alto correcto en iPhone y Android ---- */
#wrapwrap .cdt-barra .cdt-buscar { display: flex !important; align-items: stretch !important; height: 48px; flex: 1 1 0; min-width: 0; max-width: 620px; margin: 0 auto; padding: 0 !important; border: 2px solid #16172b; border-radius: 12px; background: #fff; position: relative; overflow: visible; box-shadow: none; }
#wrapwrap .cdt-barra .cdt-buscar:focus-within { border-color: #FF7900; box-shadow: 0 0 0 3px rgba(255, 121, 0, .25); }
#wrapwrap .cdt-barra .cdt-buscar input[type=search] { flex: 1 1 0 !important; width: 0 !important; min-width: 0 !important; height: 100% !important; min-height: 0 !important; max-height: none !important; margin: 0 !important; padding: 0 12px 0 14px !important; border: 0 !important; border-radius: 10px 0 0 10px !important; background: transparent !important; box-shadow: none !important; outline: none !important; font: 500 16px/1.2 Inter, Arial, sans-serif !important; color: #16172b !important; -webkit-appearance: none; appearance: none; text-overflow: ellipsis; }
#wrapwrap .cdt-barra .cdt-buscar input[type=search]::placeholder { color: #5d6172; opacity: 1; }
#wrapwrap .cdt-barra .cdt-buscar button[type=submit] { flex: 0 0 52px !important; width: 52px !important; height: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 9px 9px 0 !important; background: #FF7900 !important; color: #fff !important; display: inline-flex !important; align-items: center; justify-content: center; box-shadow: none !important; transform: none !important; position: static !important; }
#wrapwrap .cdt-barra .cdt-buscar button[type=submit] svg { width: 22px; height: 22px; stroke-width: 2.6; }
#wrapwrap .cdt-barra .cdt-buscar button[type=submit]:hover { background: #E86C00 !important; }
@media (max-width: 599px) {
  /* en celular el carrito ya esta en la cabecera: el buscador ocupa todo el ancho */
  #wrapwrap .cdt-barra .cdt-barra__tienda, #wrapwrap .cdt-barra .cdt-barra__carrito { display: none !important; }
  #wrapwrap .cdt-barra .cdt-barra__in { padding-top: 8px; padding-bottom: 8px; min-height: 0; }
  #wrapwrap .cdt-barra .cdt-buscar { max-width: none; height: 50px; }
  .cdt-sugerencias { position: absolute !important; top: calc(100% + 8px) !important; left: -2px !important; right: -2px !important; }
  .cdt-barra__ayuda button { width: 100%; justify-content: center; }
}

/* ================= 2.1: categorias dentro de Filtros y texto blanco sobre naranja */
.cdt-filtros summary { gap: 10px; }
.cdt-filtros summary > span { flex: 1 1 auto; }
.cdt-filtros__actual { font: 600 13px/1.2 Inter, Arial, sans-serif; color: #5d6172; background: #f4f5f8; border-radius: 12px; padding: 5px 10px; max-width: 46%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cdt-filtros__cats { padding: 0 16px 14px; margin-bottom: 14px; border-bottom: 1px solid var(--cdt-borde); animation: cdt-abre .2s ease; }
.cdt-filtros__titulo { font-weight: 700; font-size: 14px; color: var(--cdt-noche) !important; margin: 0 0 6px !important; }
.cdt-filtros__cats ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 2px 16px; }
.cdt-filtros__cats ul ul { display: block; margin: 0 0 4px 14px; border-left: 2px solid var(--cdt-borde); padding-left: 10px; }
.cdt-filtros__cats a { display: flex; align-items: center; min-height: 40px; padding: 4px 10px; border-radius: 8px; color: var(--cdt-texto) !important; font-size: 15px; font-weight: 500; text-decoration: none !important; line-height: 1.25; transition: background .15s ease, color .15s ease; }
.cdt-filtros__cats a:hover { background: #fff3e6; color: #16172b !important; }
.cdt-filtros__cats a[aria-current] { background: #16172b; color: #fff !important; font-weight: 700; }
.cdt-btn--primario, .cdt-fija .cdt-btn--primario, .cdt-buscar button, .cdt-btn--primario *, .cdt-buscar button * { color: #fff !important; }
.cdt-btn--primario { text-shadow: 0 1px 1px rgba(120, 50, 0, .35); }

/* ================= 2.1: opciones de entrega y de pago como tarjetas */
#wrapwrap #wrap .o_website_sale_checkout :is(#delivery_carrier, #o_payment_methods) > h4 { font: 700 19px/1.3 Inter, Arial, sans-serif !important; text-transform: none !important; letter-spacing: -.01em !important; color: #16172b !important; margin: 0 0 12px !important; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
#wrapwrap #wrap .o_website_sale_checkout :is(#delivery_method, #o_payment_methods) ul.list-group { display: grid !important; gap: 10px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li.o_delivery_carrier_select {
  display: grid !important; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; column-gap: 12px; row-gap: 2px;
  margin: 0 !important; padding: 16px 16px !important; background: #fff !important; border: 1.5px solid #e3e5ea !important; border-radius: 14px !important;
  cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li.o_delivery_carrier_select:hover { border-color: #FF7900 !important; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(22, 23, 43, .07); }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li.o_delivery_carrier_select:has(input:checked) { border-color: #FF7900 !important; background: #fff8f1 !important; box-shadow: 0 0 0 3px rgba(255, 121, 0, .16); }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li > input[type=radio] { grid-column: 1; grid-row: 1; width: 22px !important; height: 22px !important; margin: 0 !important; accent-color: #FF7900; position: static !important; float: none !important; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li > label { grid-column: 2; grid-row: 1; margin: 0 !important; padding: 0 !important; font: 600 16px/1.35 Inter, Arial, sans-serif !important; color: #16172b !important; cursor: pointer; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li > .o_wsale_delivery_badge_price { grid-column: 3; grid-row: 1; float: none !important; margin: 0 !important; padding: 5px 12px !important; border-radius: 999px !important; background: #e9f8ef !important; color: #0b6b37 !important; font: 700 13px/1.2 Inter, Arial, sans-serif !important; white-space: nowrap; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li > .cdt-entrega-nota { grid-column: 2 / -1; grid-row: 2; margin: 0 !important; font-size: 14px !important; line-height: 1.4 !important; color: #5d6172 !important; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li > div.small { grid-column: 2 / -1; margin: 0 !important; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li > div.small:not(:has(.o_order_location_name:not(:empty))) { display: none !important; }
/* el envio a domicilio se cotiza: no se anuncia como gratis */
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li:has(.cdt-entrega-nota) > .o_wsale_delivery_badge_price { font-size: 0 !important; background: #fff3e6 !important; }
#wrapwrap #wrap .o_website_sale_checkout #delivery_method li:has(.cdt-entrega-nota) > .o_wsale_delivery_badge_price::after { content: "Por confirmar"; font: 700 13px/1.2 Inter, Arial, sans-serif; color: #8a4200; }
@media (max-width: 480px) {
  #wrapwrap #wrap .o_website_sale_checkout #delivery_method li.o_delivery_carrier_select { grid-template-columns: 24px minmax(0, 1fr); }
  #wrapwrap #wrap .o_website_sale_checkout #delivery_method li > .o_wsale_delivery_badge_price { grid-column: 2; grid-row: 3; justify-self: start; margin-top: 6px !important; }
}
#wrapwrap #wrap .o_website_sale_checkout #o_payment_methods li[name=o_payment_option] { margin: 0 !important; padding: 16px !important; background: #fff !important; border: 1.5px solid #e3e5ea !important; border-radius: 14px !important; transition: border-color .18s ease, box-shadow .18s ease; }
#wrapwrap #wrap .o_website_sale_checkout #o_payment_methods li[name=o_payment_option]:has(input:checked) { border-color: #FF7900 !important; background: #fff8f1 !important; box-shadow: 0 0 0 3px rgba(255, 121, 0, .16); }
#wrapwrap #wrap .o_website_sale_checkout #o_payment_methods .o_payment_option_label { font: 600 16px/1.35 Inter, Arial, sans-serif !important; color: #16172b !important; }
#wrapwrap #wrap .o_website_sale_checkout #o_payment_methods input[type=radio] { accent-color: #FF7900; }
#wrapwrap #wrap .o_website_sale_checkout [name=o_payment_secured_by] { font-size: 13px !important; color: #5d6172 !important; }
#wrapwrap #wrap .cdt-conversion { background: #f4f7fb !important; border: 1px solid #d6e0ee !important; border-left: 4px solid #16172b !important; border-radius: 14px !important; color: #16172b !important; padding: 16px 18px !important; position: static !important; z-index: auto !important; }
#wrapwrap #wrap .cdt-conversion strong { color: #16172b !important; }

/* ================= 2.2: comparativa de modelos. Tabla en pantallas anchas; en el celular, una tarjeta por dato. */
#wrapwrap #wrap .cdt-comparar { overflow-x: auto; border: 1px solid var(--cdt-borde); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(22, 23, 43, .05); }
#wrapwrap #wrap .cdt-comparar table.cdt-tabla { display: table !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; border: 0 !important; border-collapse: collapse !important; table-layout: fixed; }
#wrapwrap #wrap .cdt-comparar :is(th, td) { display: table-cell !important; padding: 14px 16px !important; border: 0 !important; border-bottom: 1px solid var(--cdt-borde) !important; font-size: 15px !important; line-height: 1.45 !important; text-align: left !important; vertical-align: top !important; color: var(--cdt-texto) !important; background: #fff !important; overflow-wrap: anywhere; }
#wrapwrap #wrap .cdt-comparar tr { display: table-row !important; }
#wrapwrap #wrap .cdt-comparar :is(thead, tbody) { display: table-row-group !important; }
#wrapwrap #wrap .cdt-comparar tbody tr:last-child :is(th, td) { border-bottom: 0 !important; }
#wrapwrap #wrap .cdt-comparar thead :is(th, td) { background: #16172b !important; color: #fff !important; font-weight: 700 !important; vertical-align: bottom !important; }
#wrapwrap #wrap .cdt-comparar thead a { color: #fff !important; text-decoration: underline !important; text-underline-offset: 3px; }
#wrapwrap #wrap .cdt-comparar thead th.cdt-este { background: #FF7900 !important; }
#wrapwrap #wrap .cdt-comparar thead th.cdt-este span { color: #fff !important; }
#wrapwrap #wrap .cdt-comparar tbody th { width: 22%; font-weight: 700 !important; color: #16172b !important; background: #f7f8fa !important; }
#wrapwrap #wrap .cdt-comparar tbody td.cdt-este { background: #fff8f1 !important; font-weight: 600 !important; color: #16172b !important; }
#wrapwrap #wrap .cdt-comparar tbody tr:hover td:not(.cdt-este) { background: #fafbfc !important; }

@media (max-width: 760px) {
  #wrapwrap #wrap .cdt-comparar { overflow: visible; border: 0; background: transparent; box-shadow: none; border-radius: 0; }
  #wrapwrap #wrap .cdt-comparar table.cdt-tabla, #wrapwrap #wrap .cdt-comparar tbody { display: block !important; width: 100% !important; }
  #wrapwrap #wrap .cdt-comparar thead { display: none !important; }
  #wrapwrap #wrap .cdt-comparar tbody tr { display: block !important; margin: 0 0 12px !important; background: #fff !important; border: 1px solid var(--cdt-borde) !important; border-radius: 14px !important; overflow: hidden; }
  #wrapwrap #wrap .cdt-comparar tbody th { display: block !important; width: auto !important; padding: 10px 14px !important; background: #16172b !important; color: #fff !important; font-size: 14px !important; letter-spacing: .02em; border: 0 !important; }
  #wrapwrap #wrap .cdt-comparar tbody td { display: grid !important; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); gap: 10px; align-items: start; padding: 11px 14px !important; border-bottom: 1px solid var(--cdt-borde) !important; font-size: 15px !important; }
  #wrapwrap #wrap .cdt-comparar tbody td:last-child { border-bottom: 0 !important; }
  #wrapwrap #wrap .cdt-comparar tbody tr:last-child td:not(:last-child) { border-bottom: 1px solid var(--cdt-borde) !important; }
  #wrapwrap #wrap .cdt-comparar tbody td::before { content: attr(data-modelo); font-size: 13px; font-weight: 600; line-height: 1.35; color: #5d6172; }
  #wrapwrap #wrap .cdt-comparar tbody td.cdt-este::before { color: #C25400; font-weight: 800; }
}
#wrapwrap #wrap .cdt-comparar table.cdt-tabla { max-width: none !important; border-radius: 0 !important; }
#wrapwrap #wrap .cdt-comparar thead th { width: auto !important; }
#wrapwrap #wrap .cdt-comparar thead td { width: 20% !important; }
#wrapwrap #wrap .cdt-comparar :is(th, td) { position: static !important; }

/* ================= 2.3: la foto principal siempre completa dentro de su marco */
#wrapwrap #wrap .cdt-galeria__principal { display: block !important; width: 100% !important; aspect-ratio: 1 / 1; overflow: hidden !important; background: #fff !important; border: 1px solid var(--cdt-borde) !important; border-radius: 16px !important; padding: 14px !important; box-sizing: border-box !important; }
#wrapwrap #wrap .cdt-galeria__principal img { display: block !important; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; margin: 0 !important; transform: none; }
#wrapwrap #wrap .cdt-galeria__miniaturas img { object-fit: contain !important; background: #fff; }
#wrapwrap #wrap .cdt-card img { object-fit: contain !important; }
#wrapwrap #wrap .cdt-ficha__grid > * { min-width: 0 !important; max-width: 100% !important; }
@media (max-width: 899px) { #wrapwrap #wrap .cdt-ficha__grid { grid-template-columns: minmax(0, 1fr) !important; } }
#wrapwrap #wrap .cdt-galeria__miniaturas { max-width: 100% !important; overflow-x: auto !important; scrollbar-width: thin; }

/* 2.4 PayPal Checkout: botón PayPal y botón de tarjeta en el pago */
#wrapwrap #wrap .cdt-ppc { position: relative; display: flex; flex-direction: column; gap: 10px; margin: 4px 0 8px; }
#wrapwrap #wrap .cdt-ppc.d-none { display: none !important; }
#wrapwrap #wrap .cdt-ppc__boton { width: 100%; min-height: 48px; }
#wrapwrap #wrap .cdt-ppc__boton:empty { display: none; }
#wrapwrap #wrap .cdt-ppc__nota { margin: 2px 0 0; font: 400 14px/1.5 Inter, Arial, sans-serif; color: #4a4f5e; }
#wrapwrap #wrap .cdt-ppc__aviso { margin: 0; padding: 12px 14px; border-radius: 10px; background: #f3f5f9; border: 1px solid #dfe3ea; font: 500 15px/1.45 Inter, Arial, sans-serif; color: #1e2128; }
#wrapwrap #wrap .cdt-ppc__aviso--error { background: #fff4f2; border-color: #f2b8ad; color: #9b2412; }
#wrapwrap #wrap .cdt-ppc__aviso--ok { background: #effaf3; border-color: #a9dcbb; color: #0b6b37; }
#wrapwrap #wrap .cdt-ppc__aviso[hidden], #wrapwrap #wrap .cdt-ppc__velo[hidden] { display: none !important; }
#wrapwrap #wrap .cdt-ppc__velo { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .82); }
#wrapwrap #wrap .cdt-ppc__velo span { padding: 14px 20px; border-radius: 12px; background: #1e2128; color: #fff; font: 600 16px/1.3 Inter, Arial, sans-serif; }

/* 2.4.1 Ayuda para elegir: tarjeta sobria con icono fijo (antes globo con signo de pregunta deformado) */
#wrapwrap .cdt-barra__ayuda button.cdt-guia-btn { display: flex; align-items: center; justify-content: flex-start; gap: 14px; width: 100%; max-width: 620px; min-height: 64px; padding: 12px 14px; border: 1px solid #e3e5ea; border-radius: 14px; background: #fff; color: #16172b; box-shadow: 0 1px 2px rgba(16, 24, 40, .06); text-align: left; transition: border-color .2s ease, box-shadow .2s ease; }
#wrapwrap .cdt-barra__ayuda button.cdt-guia-btn:hover { background: #fff; border-color: #FF7900; box-shadow: 0 6px 18px rgba(16, 24, 40, .08); }
#wrapwrap .cdt-barra__ayuda .cdt-guia-btn__icono { flex: 0 0 40px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #16172b; color: #FF9A3D; }
#wrapwrap .cdt-barra__ayuda .cdt-guia-btn__icono svg { width: 22px; height: 22px; flex: none; color: #FF9A3D; }
#wrapwrap .cdt-barra__ayuda .cdt-guia-btn__texto { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#wrapwrap .cdt-barra__ayuda .cdt-guia-btn__texto strong { font: 700 15px/1.25 Inter, Arial, sans-serif !important; font-weight: 700 !important; color: #16172b; }
#wrapwrap .cdt-barra__ayuda .cdt-guia-btn__texto span { font: 400 13.5px/1.35 Inter, Arial, sans-serif; color: #5d6172; }
#wrapwrap .cdt-barra__ayuda .cdt-guia-btn__flecha { flex: none; width: 20px; height: 20px; color: #9aa0ad; transition: transform .2s ease, color .2s ease; }
#wrapwrap .cdt-barra__ayuda button.cdt-guia-btn:hover .cdt-guia-btn__flecha { color: #FF7900; transform: translateX(3px); }

/* 2.5.0 Ahorro visible y fotos del mismo tamaño en todas las tarjetas
   (el tema fuerza img { height: auto !important } y una foto vertical estiraba su tarjeta) */
#wrapwrap #wrap .cdt-card__precio del { display: block; color: #8a8f9c; font-weight: 500; }
#wrapwrap #wrap .cdt-ahorro { display: inline-block; margin: 4px 0 2px; padding: 3px 8px; border-radius: 6px; background: #e8f6ee; color: #0b6b37; font: 700 13px/1.3 Inter, Arial, sans-serif; }
#wrapwrap #wrap .cdt-precio .cdt-ahorro { display: block; width: fit-content; font-size: 14px; }
#wrapwrap #wrap .cdt-card__foto { position: relative; aspect-ratio: 1 / 1; overflow: hidden; padding: 0; }
#wrapwrap #wrap .cdt-card__foto img { position: absolute; top: 10px; left: 10px; width: calc(100% - 20px) !important; height: calc(100% - 20px) !important; max-height: none !important; object-fit: contain !important; }
