/* Construali Alianza - carrito personalizado */
.ca-cart-trigger {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:1px solid #d8deea; border-radius:6px; background:#fff; color:#183f91;
  padding:10px 13px; font:inherit; cursor:pointer; line-height:1.2;
}
.ca-cart-trigger-count,.ca-cart-count {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:21px; height:21px; padding:0 5px; border-radius:50%;
  background:#c9252b; color:#fff; font-size:12px; font-weight:700;
}
.ca-cart-overlay {
  position:fixed; inset:0; z-index:999990; background:rgba(0,0,0,.34);
  opacity:0; transition:opacity .22s ease;
}
.ca-cart-overlay.is-open { opacity:1; }
.ca-cart-drawer {
  position:fixed; z-index:999999; top:0; right:0; width:min(430px,100vw);
  height:100dvh; background:#fff; color:#17243a; box-shadow:-12px 0 36px rgba(0,0,0,.14);
  transform:translateX(105%); transition:transform .26s ease;
  display:flex; flex-direction:column; font-family:inherit;
}
.ca-cart-drawer.is-open { transform:translateX(0); }
.ca-cart-header {
  min-height:74px; padding:20px 24px; display:flex; align-items:center;
  justify-content:space-between; border-bottom:1px solid #e8edf4; flex:0 0 auto;
}
.ca-cart-heading { display:flex; align-items:center; gap:10px; }
.ca-cart-heading h2 { margin:0; font-size:22px; line-height:1.2; color:#183f91; }
.ca-cart-close { border:0; background:transparent; color:#26364b; font-size:32px; line-height:1; cursor:pointer; padding:0 3px; }
.ca-cart-body { overflow:auto; flex:1 1 auto; padding:8px 24px 18px; }
.ca-cart-loading,.ca-cart-empty { padding:34px 0; text-align:center; color:#697586; }
.ca-cart-item { display:grid; grid-template-columns:82px minmax(0,1fr); gap:14px; padding:18px 0; border-bottom:1px solid #edf0f4; }
.ca-cart-item-image { width:82px; height:88px; object-fit:contain; border:1px solid #edf0f4; border-radius:5px; background:#fff; }
.ca-cart-item-name { display:block; color:#17243a; font-weight:600; font-size:14px; line-height:1.4; text-decoration:none; margin:0 0 7px; }
.ca-cart-item-price { color:#183f91; font-weight:700; font-size:15px; margin-bottom:10px; }
.ca-cart-item-controls { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.ca-cart-qty { display:inline-flex; align-items:center; border:1px solid #dce2eb; border-radius:5px; overflow:hidden; }
.ca-cart-qty button { width:30px; height:30px; border:0; background:#f7f9fc; color:#183f91; font-size:18px; cursor:pointer; }
.ca-cart-qty span { min-width:30px; text-align:center; font-size:13px; }
.ca-cart-remove { border:0; background:transparent; color:#6b7280; text-decoration:underline; font-size:12px; cursor:pointer; padding:4px 0; }
.ca-cart-footer { flex:0 0 auto; padding:16px 24px 22px; border-top:1px solid #e4e9f0; background:#fff; box-shadow:0 -8px 20px rgba(0,0,0,.035); }
.ca-cart-totals { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:15px; font-size:16px; }
.ca-cart-totals strong { color:#183f91; font-size:20px; }
.ca-cart-checkout { display:flex; align-items:center; justify-content:center; width:100%; min-height:51px; border-radius:7px; background:#c9252b; color:#fff !important; text-decoration:none !important; font-size:13px; font-weight:700; letter-spacing:.03em; }
.ca-cart-checkout:hover { background:#a91e24; }
.ca-cart-view { display:block; text-align:center; margin-top:12px; color:#183f91 !important; font-size:13px; text-decoration:underline; }
.ca-cart-notice { padding:10px; background:#fff3cd; color:#664d03; }
body.ca-cart-open { overflow:hidden; }
@media (max-width:767px) {
  .ca-cart-drawer { width:100vw; }
  .ca-cart-header { min-height:66px; padding:16px 18px; }
  .ca-cart-body { padding:6px 18px 14px; }
  .ca-cart-footer { padding:14px 18px calc(16px + env(safe-area-inset-bottom)); }
  .ca-cart-item { grid-template-columns:74px minmax(0,1fr); gap:12px; }
  .ca-cart-item-image { width:74px; height:80px; }
}
