/* Cajon lateral de Cart Tool Kit. Todo lo que depende de ajustes viaja
   como variables CSS sobre el propio elemento, asi que esta hoja es la
   misma para todas las tiendas y se puede cachear. */
.ctksc{position:fixed;inset:0;z-index:99990;visibility:hidden;pointer-events:none}
.ctksc.ctksc-open{visibility:visible;pointer-events:auto}
.ctksc-velo{position:absolute;inset:0;background:var(--ctk-veil);opacity:0;transition:opacity .28s ease}
.ctksc.ctksc-open .ctksc-velo{opacity:1}
.ctksc-panel{position:absolute;top:0;bottom:0;width:min(var(--ctk-w),100%);background:var(--ctk-bg);color:var(--ctk-tx);font-family:var(--ctk-ff);font-size:var(--ctk-fs);display:flex;flex-direction:column;box-shadow:0 0 48px rgba(0,0,0,.22);transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.ctksc-der .ctksc-panel{right:0;transform:translateX(100%)}
.ctksc-izq .ctksc-panel{left:0;transform:translateX(-100%)}
.ctksc.ctksc-open .ctksc-panel{transform:translateX(0)}
.ctksc-panel.ctksc-cargando{cursor:progress}
.ctksc-panel.ctksc-cargando .ctksc-in{opacity:.55;pointer-events:none;transition:opacity .15s ease}
.ctksc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--ctk-bd);flex:0 0 auto}
.ctksc-titulo{margin:0;font-size:1.21em;font-weight:700;line-height:1.2;color:var(--ctk-tx)}
.ctksc-x{border:0;background:transparent;font-size:2em;line-height:1;cursor:pointer;color:var(--ctk-mu);padding:0 4px}
.ctksc-x:hover{color:var(--ctk-tx)}
.ctksc-in{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.ctksc-body{flex:1 1 auto;overflow-y:auto;padding:8px 20px}
.ctksc-items{list-style:none;margin:0;padding:0}
.ctksc-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--ctk-bd)}
.ctksc-lay-tarjetas .ctksc-item{border:1px solid var(--ctk-bd);border-radius:calc(var(--ctk-r) * .85);padding:12px;margin:10px 0}
.ctksc-lay-tarjetas .ctksc-items{padding:4px 0}
.ctksc-thumb{flex:0 0 64px}
.ctksc-thumb img{width:64px;height:64px;object-fit:cover;border-radius:calc(var(--ctk-r) * .8);display:block}
.ctksc-info{flex:1 1 auto;min-width:0}
.ctksc-alto{display:flex;align-items:flex-start;gap:8px}
.ctksc-nombre{display:block;font-size:1em;font-weight:600;color:var(--ctk-tx);text-decoration:none;line-height:1.3;flex:1 1 auto}
.ctksc-nombre:hover{text-decoration:underline}
.ctksc-quitar{flex:0 0 auto;border:0;background:transparent;color:var(--ctk-mu);font-size:1.43em;line-height:1;cursor:pointer;padding:0 2px;opacity:.75}
.ctksc-quitar:hover{color:#DC2626;opacity:1}
.ctksc-meta{font-size:.86em;color:var(--ctk-mu);margin-top:2px}
.ctksc-hijo{padding-left:26px;border-bottom:0;padding-top:6px;padding-bottom:6px;position:relative}
.ctksc-hijo:before{content:"";position:absolute;left:10px;top:0;bottom:50%;width:1px;background:var(--ctk-bd)}
.ctksc-hijo:after{content:"";position:absolute;left:10px;top:50%;width:9px;height:1px;background:var(--ctk-bd)}
.ctksc-hijo .ctksc-thumb{flex:0 0 34px}
.ctksc-hijo .ctksc-thumb img{width:34px;height:34px}
.ctksc-hijo .ctksc-nombre{font-size:.86em;font-weight:500}
.ctksc-padre{border-bottom:0}
.ctksc-pack{border-bottom:1px solid var(--ctk-bd);padding-bottom:8px}
.ctksc-lay-tarjetas .ctksc-pack{border:1px solid var(--ctk-bd);border-radius:calc(var(--ctk-r) * .85);padding:12px;margin:10px 0}
.ctksc-lay-tarjetas .ctksc-pack .ctksc-item,.ctksc-lay-tarjetas .ctksc-pack .ctksc-padre{border:0;padding:0;margin:0}
.ctksc-lay-tarjetas .ctksc-pack .ctksc-hijo{padding:6px 0 0 26px}
.ctksc-rew{padding:12px 0 4px}
.ctksc-item-regalo{background:#F0FDF4;border-radius:var(--ctk-r);padding-left:8px;padding-right:8px}
.ctksc-regalo-tag{flex:0 0 auto;font-size:.79em;font-weight:700;color:#166534;background:#DCFCE7;border-radius:99px;padding:3px 8px;text-transform:uppercase;letter-spacing:.02em}
.ctksc-meta p{margin:0}
.ctksc-linea{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.ctksc-cant{font-size:.93em;color:var(--ctk-mu)}
.ctksc-qty{display:inline-flex;align-items:center;border:1px solid var(--ctk-bd);border-radius:calc(var(--ctk-r) * .7);overflow:hidden}
.ctksc-paso{border:0;background:transparent;color:var(--ctk-tx);width:28px;height:28px;font-size:1.07em;line-height:1;cursor:pointer;opacity:.8}
.ctksc-paso:hover{opacity:1}
.ctksc-q{width:38px;height:28px;border:0;border-left:1px solid var(--ctk-bd);border-right:1px solid var(--ctk-bd);text-align:center;font-size:.93em;padding:0;background:transparent;color:var(--ctk-tx);-moz-appearance:textfield}
.ctksc-q::-webkit-outer-spin-button,.ctksc-q::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ctksc-qty-fija .ctksc-q{border:0}
.ctksc-precio{font-size:1em;font-weight:600;color:var(--ctk-tx)}
.ctksc-aviso{border-radius:calc(var(--ctk-r) * .8);padding:9px 12px;font-size:.93em;margin:10px 0 2px}
.ctksc-aviso-ok{background:#ECFDF5;color:#065F46}
.ctksc-aviso-error{background:#FEF2F2;color:#991B1B}
.ctksc-undo{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed var(--ctk-bd);border-radius:calc(var(--ctk-r) * .8);padding:9px 12px;font-size:.93em;color:var(--ctk-mu);margin:10px 0 2px}
.ctksc-undo-btn{border:0;background:transparent;color:var(--ctk-ac);font-weight:700;font-size:.93em;cursor:pointer;padding:0;text-decoration:underline}
.ctksc-vacio{display:flex;flex-direction:column;align-items:center;justify-content:center}
.ctksc-empty{color:var(--ctk-mu);text-align:center;font-size:1.07em;padding:40px 10px}
.ctksc-foot{flex:0 0 auto;border-top:1px solid var(--ctk-bd);padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}
.ctksc-cup{display:flex;flex-direction:column;gap:8px}
.ctksc-cuptabs{display:flex;gap:4px;border-bottom:1px solid var(--ctk-bd)}
.ctksc-cuptab{flex:1 1 auto;border:0;background:transparent;color:var(--ctk-mu);font:inherit;font-size:.86em;font-weight:600;cursor:pointer;padding:7px 6px;border-bottom:2px solid transparent;margin-bottom:-1px}
.ctksc-cuptab:hover{color:var(--ctk-tx)}
.ctksc-cuptab-on{color:var(--ctk-ac);border-bottom-color:var(--ctk-ac)}
.ctksc-cuppanel{display:none;flex-direction:column;gap:8px}
.ctksc-cuppanel-on{display:flex}
.ctksc-cuppanel[hidden]{display:none}
.ctksc-cup-lista{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ctksc-cup-item{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ctk-bd);border-radius:99px;padding:3px 6px 3px 10px;font-size:.86em;font-weight:600;color:var(--ctk-tx)}
.ctksc-cup-x{border:0;background:transparent;color:var(--ctk-mu);font-size:1.14em;line-height:1;cursor:pointer;padding:0 2px}
.ctksc-cup-x:hover{color:#DC2626}
.ctksc-cup-form{display:flex;gap:6px}
.ctksc-cup-in{flex:1 1 auto;min-width:0;border:1px solid var(--ctk-bd);border-radius:calc(var(--ctk-r) * .7);padding:8px 10px;font-size:.93em;background:transparent;color:var(--ctk-tx)}
.ctksc-cup-ok{flex:0 0 auto;border:1px solid var(--ctk-bd);background:transparent;border-radius:calc(var(--ctk-r) * .7);padding:8px 14px;font-size:.93em;font-weight:600;cursor:pointer;color:var(--ctk-tx)}
.ctksc-cup-ok:hover{border-color:var(--ctk-ac);color:var(--ctk-ac)}
.ctksc-cupd{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ctksc-cupd-item{display:flex;align-items:baseline;gap:8px;font-size:.86em}
.ctksc-cupd-cod{border:0;background:transparent;padding:0;font-weight:700;font-size:1em;color:var(--ctk-ac);cursor:pointer;text-decoration:underline}
.ctksc-cupd-no{opacity:.55}
.ctksc-cupd-no .ctksc-cupd-cod{color:var(--ctk-mu);cursor:default;text-decoration:line-through}
.ctksc-cupd-nota{color:var(--ctk-mu)}
.ctksc-desc{display:flex;align-items:baseline;justify-content:space-between;font-size:.93em;color:#065F46}
.ctksc-sub{display:flex;align-items:baseline;justify-content:space-between;font-size:1.07em}
.ctksc-sub strong{font-size:1.27em}
.ctksc-sub-mini{color:var(--ctk-mu)}
.ctksc-sub-mini strong{font-size:1em;font-weight:600}
.ctksc-total{display:flex;align-items:baseline;justify-content:space-between;font-size:1.07em}
.ctksc-total strong{font-size:1.27em}
.ctksc-btn{display:block;text-align:center;padding:14px 18px;border-radius:var(--ctk-r);font-weight:700;font-size:1.07em;text-decoration:none;border:0;cursor:pointer}
.ctksc-btn-pago{background:var(--ctk-ac);color:var(--ctk-ac-tx)}
.ctksc-btn-pago:hover{filter:brightness(1.12);color:var(--ctk-ac-tx)}
.ctksc-enlaces{display:flex;align-items:center;justify-content:center;gap:14px}
.ctksc-ver{font-size:.93em;color:var(--ctk-mu);text-decoration:underline}
.ctksc-vaciar{border:0;background:transparent;color:var(--ctk-mu);font-size:.93em;cursor:pointer;padding:0;text-decoration:underline;opacity:.85}
.ctksc-vaciar:hover{color:#DC2626;opacity:1}
.ctksc-seguir{background:transparent;border:0;color:var(--ctk-mu);font-size:.93em;cursor:pointer;padding:2px}
.ctksc-seguir:hover{color:var(--ctk-tx)}
/* El color de los enlaces del cajón se blinda contra el tema: muchos temas
   pintan `a` con una regla más específica que la nuestra y, con la paleta
   clara, el verde del tema sobre blanco se quedaba en 3.3:1 — y el botón de
   pago, verde sobre verde, en 1.5:1. Repetir el selector sube la especificidad
   lo justo sin recurrir a !important. */
.ctksc-panel a.ctksc-nombre,.ctksc-panel a.ctksg-nombre{color:var(--ctk-tx)}
.ctksc-panel a.ctksc-ver,.ctksc-panel a.ctksc-ver:hover{color:var(--ctk-mu)}
.ctksc-panel a.ctksc-btn-pago,.ctksc-panel a.ctksc-btn-pago:hover,.ctksc-panel a.ctksc-btn-pago:focus{color:var(--ctk-ac-tx)}
.ctksc-panel a.ctksg-thumb{color:var(--ctk-tx)}
/* La pastilla va en el color de tarjeta, no en el de acento: un bloque de color
   plano a pantalla fija compite con los botones de la página y canta demasiado.
   El acento se queda donde hace falta para que se lea "carrito": el contador. */
.ctksc-fab{position:fixed;bottom:22px;z-index:99980;display:flex;align-items:center;gap:9px;cursor:pointer;background:var(--ctk-bg);color:var(--ctk-tx);border:1px solid var(--ctk-bd);font-family:var(--ctk-ff);border-radius:99px;padding:11px 17px;box-shadow:0 12px 30px rgba(0,0,0,.28);font-size:var(--ctk-fs);font-weight:600;transition:border-color .15s,transform .15s}
.ctksc-fab:hover{border-color:var(--ctk-ac);transform:translateY(-1px)}
.ctksc-fab-der{right:22px}
.ctksc-fab-izq{left:22px}
.ctksc-fab-ico{font-size:1.29em;line-height:1}
.ctksc-fab-n{background:var(--ctk-ac);color:var(--ctk-ac-tx);border-radius:99px;min-width:22px;padding:1px 7px;font-size:.86em;font-weight:700;text-align:center}
.ctksc-fab-n.ctksc-cero{display:none}
.ctksc-fab-sub,.ctksc-fab-sub .amount{color:var(--ctk-tx)}
.ctksc-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.ctksc-link-n{background:var(--ctk-ac);color:var(--ctk-ac-tx);border-radius:99px;min-width:20px;padding:0 6px;font-size:11px;line-height:18px;text-align:center}
.ctksc-link-n.ctksc-cero{display:none}
.ctksc-menu-item{display:flex;align-items:center}
body.ctksc-bloqueado{overflow:hidden}
@media(max-width:520px){.ctksc-panel{width:100%}.ctksc-fab{bottom:16px;padding:11px 15px}}
