:root{
  --c3-bg:#17181B;
  --c3-surface:#1E2024;
  --c3-surface-2:#24262B;
  --c3-border:#2E3136;
  --c3-text:#F4F4F1;
  --c3-muted:#9DA0A7;
  --c3-accent:#FF6A35;
  --c3-accent-hover:#FF8257;
  --c3-accent-2:#3DDDD0;
  --c3-thumb-bg:#F3EEDA;
  --c3-thumb-ink:#3A3626;
  --c3-danger:#E5484D;
  --c3-danger-hover:#FF6169;
  --c3-warn:#FFB648;
}
body{ background:var(--c3-bg); font-family:'Manrope',system-ui,sans-serif; min-height:100vh; display:flex; flex-direction:column; }
body > main{ flex:1 0 auto; }
.c3-brand{ display:inline-flex; align-items:center; gap:.5rem; font-family:'Outfit',sans-serif; font-weight:800; color:var(--c3-text); text-decoration:none; }
.c3-brand:hover{ color:var(--c3-text); }
.c3-brand-logo{ height:1.5em; width:auto; display:inline-block; vertical-align:-0.3em; }
.c3-brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.c3-brand-tagline{ font-family:'Manrope',sans-serif; font-weight:600; font-size:.68rem; letter-spacing:.02em; color:var(--c3-muted); margin-top:1px; }
.c3-auth-logo{ height:48px; width:auto; display:inline-block; }
.c3-icon{ width:1.25em; height:1.25em; display:inline-block; vertical-align:-0.2em; }
.c3-navbar{ background:var(--c3-bg); border-bottom:1px solid var(--c3-border); }
.c3-navbar-row2{ background:var(--c3-surface); border-top:1px solid var(--c3-border); }
.c3-search{ background:var(--c3-surface-2); border:1px solid var(--c3-border); border-radius:999px; overflow:hidden; }
.c3-search input{ background:transparent; border:none; color:var(--c3-text); box-shadow:none; }
.c3-search input::placeholder{ color:var(--c3-muted); }
.c3-search input:focus{ background:transparent; color:var(--c3-text); box-shadow:none; }
.c3-search button{ background:transparent; border:none; color:var(--c3-muted); }
.c3-search button:hover{ color:var(--c3-accent); }
.c3-link{ color:var(--c3-muted); text-decoration:none; }
.c3-link:hover{ color:var(--c3-text); }
.c3-link-btn{ background:none; border:none; margin:0; padding:.25rem 0; font:inherit; line-height:inherit; cursor:pointer; }
.c3-active{ color:var(--c3-accent) !important; }
.c3-inactive{ color:var(--c3-muted) !important; }
.c3-btn-solid{ background:var(--c3-accent); color:#fff; border:none; border-radius:10px; font-weight:700; }
.c3-btn-solid:hover{ background:var(--c3-accent-hover); color:#fff; }
.c3-iconbtn{ color:var(--c3-text); }
.c3-iconbtn:hover{ color:var(--c3-accent); }
.c3-cart-badge{ background:var(--c3-accent-2); color:#0B1F1D; font-size:10px; }
.c3-bottomnav{ background:var(--c3-bg); border-top:1px solid var(--c3-border); }
/* El botón negro de Google tiene casi el mismo color que .c3-box: un borde lo separa. */
#c3-google-btn > div{ border-radius:999px; box-shadow:0 0 0 1px var(--c3-muted); }
.c3-fab{ position:fixed; right:.75rem; bottom:4.75rem; z-index:1025; display:inline-flex; align-items:center; gap:.3rem; padding:.35rem .7rem; font-size:.8125rem; border-radius:999px; box-shadow:0 4px 12px rgba(0,0,0,.45); }
/* Avisos (mensajes de Django, base.html + js/toasts.js): flotan sin empujar la página.
   Celular: abajo, arriba de la barra inferior y del botón "Pedir a medida". PC: arriba a la derecha. */
.c3-toasts{ position:fixed; z-index:1090; left:.75rem; right:.75rem; bottom:7.5rem; display:flex; flex-direction:column; gap:.5rem; pointer-events:none; }
@media (min-width:768px){ .c3-toasts{ left:auto; right:1.25rem; bottom:auto; top:7.5rem; width:360px; } }
.c3-toast{ --c3-toast-color:var(--c3-accent-2); pointer-events:auto; display:grid; grid-template-columns:auto 1fr auto; gap:.6rem; align-items:start;
  background:var(--c3-surface-2); color:var(--c3-text); border:1px solid var(--c3-border); border-left:4px solid var(--c3-toast-color);
  border-radius:10px; padding:.7rem .6rem .7rem .75rem; font-size:.875rem; line-height:1.4; box-shadow:0 10px 28px rgba(0,0,0,.45);
  animation:c3-toast-in .3s ease both; transition:opacity .25s, transform .25s; }
.c3-toast-success{ --c3-toast-color:#3FB97A; }
.c3-toast-error{ --c3-toast-color:var(--c3-danger); }
.c3-toast-warning{ --c3-toast-color:var(--c3-warn); }
.c3-toast-icon{ color:var(--c3-toast-color); font-size:1.15rem; line-height:1.2; }
.c3-toast-text{ min-width:0; overflow-wrap:anywhere; }
.c3-toast-close{ background:none; border:0; padding:0 .15rem; color:var(--c3-muted); font-size:1rem; line-height:1.2; }
.c3-toast-close:hover{ color:var(--c3-text); }
.c3-toast.is-leaving{ opacity:0; transform:translateY(8px); }
@keyframes c3-toast-in{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .c3-toast{ animation:none; transition:none; } }
/* Que el final de la página no quede tapado por la barra inferior ni el botón flotante. */
@media (max-width:767.98px){ body > main{ padding-bottom:8rem !important; } }

.c3-more-sheet{
  background:var(--c3-surface-2); color:var(--c3-text);
  border-top-left-radius:20px; border-top-right-radius:20px;
  border-top:1px solid var(--c3-border);
  /* Vía la variable: .offcanvas.offcanvas-bottom de Bootstrap (más específica)
     fija height:30vh y pisaba un height:auto directo — cortaba los últimos links. */
  --bs-offcanvas-height:auto; max-height:85vh;
}
.c3-more-sheet .offcanvas-header{ border-bottom:1px solid var(--c3-border); }

.c3-page-title{ font-family:'Outfit',sans-serif; font-weight:700; color:var(--c3-text); }
.c3-page-title i{ color:var(--c3-accent); }
/* Título del home (opción A del mockup del 2026-10-14) */
.c3-home-heading{ display:flex; flex-direction:column; gap:.25rem; }
.c3-eyebrow{ font-family:'Outfit',sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--c3-accent); }
.c3-home-title{ font-family:'Outfit',sans-serif; font-weight:800; font-size:1.75rem; line-height:1.1; color:var(--c3-text); margin:0; }
.c3-home-subtitle{ font-size:.875rem; color:var(--c3-muted); margin:0; }
@media (min-width:768px){ .c3-home-title{ font-size:2rem; } }
.c3-empty{ color:var(--c3-muted); text-align:center; padding-block:3rem; }

.c3-card{ background:var(--c3-surface); border:1px solid var(--c3-border); border-radius:14px; overflow:hidden; transition:transform .15s, border-color .15s; text-decoration:none; display:block; height:100%; }
.c3-card:hover{ transform:translateY(-3px); border-color:#3A3D42; }
.c3-card-thumb{ position:relative; aspect-ratio:1/1; background:var(--c3-thumb-bg); color:var(--c3-thumb-ink); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.c3-card-thumb img{ width:100%; height:100%; object-fit:cover; }
.c3-card-thumb .c3-icon{ width:2rem; height:2rem; opacity:.6; }
.c3-card-store-badge{
  position:absolute; top:7px; left:7px; width:26px; height:26px; border-radius:50%;
  overflow:hidden; border:2px solid var(--c3-surface); box-shadow:0 1px 4px rgba(0,0,0,.35);
  background:var(--c3-surface-2); color:var(--c3-accent);
  font-family:'Outfit',sans-serif; font-weight:700; font-size:.6rem;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.c3-card-store-badge img{ width:100%; height:100%; object-fit:cover; }
.c3-card-status-badge{ position:absolute; top:7px; left:7px; z-index:2; font-size:.62rem; }
.c3-card-edit-fab{
  position:absolute; bottom:7px; right:7px; z-index:2;
  width:36px; height:36px; border-radius:50%;
  background:var(--c3-accent); color:#fff;
  border:2px solid var(--c3-surface);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  box-shadow:0 2px 6px rgba(0,0,0,.35);
  transition:background .15s, transform .15s;
}
.c3-card-edit-fab::before{ content:''; position:absolute; inset:-4px; } /* agranda el área de toque a ~44px sin agrandar el ícono visual */
.c3-card-edit-fab:hover{ background:var(--c3-accent-hover); color:#fff; }
.c3-card-edit-fab:active{ transform:scale(.92); }
.c3-card-body{ padding:.6rem .7rem .75rem; }
.c3-card-tag{ font-size:.64rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--c3-accent); margin-bottom:.25rem; display:block; }
.c3-card-title{ font-weight:600; font-size:.83rem; line-height:1.25; margin-bottom:.2rem; color:var(--c3-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c3-card-store{ color:var(--c3-muted); font-size:.72rem; margin-bottom:.35rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c3-card-foot{ display:flex; align-items:center; justify-content:space-between; }
.c3-card-price{ font-family:'Outfit',sans-serif; font-weight:700; font-size:.95rem; color:var(--c3-text); }
.c3-price-pending{ font-family:'Outfit',sans-serif; font-weight:600; font-size:.8rem; font-style:italic; color:var(--c3-muted); }
.c3-card-meta{ color:var(--c3-muted); font-size:.7rem; display:flex; align-items:center; gap:.2rem; }

@media (min-width: 768px){
  .c3-card-thumb .c3-icon{ width:3rem; height:3rem; }
  .c3-card-store-badge{ width:34px; height:34px; font-size:.75rem; top:10px; left:10px; }
  .c3-card-body{ padding:1rem 1.1rem 1.2rem; }
  .c3-card-tag{ font-size:.72rem; margin-bottom:.35rem; }
  .c3-card-title{ font-size:1rem; margin-bottom:.3rem; }
  .c3-card-store{ font-size:.82rem; margin-bottom:.6rem; }
  .c3-card-price{ font-size:1.2rem; }
  .c3-card-meta{ font-size:.78rem; }
}

.c3-store-card{ background:var(--c3-surface); border:1px solid var(--c3-border); border-radius:14px; overflow:hidden; transition:transform .15s, border-color .15s; text-decoration:none; display:block; height:100%; }
.c3-store-card:hover{ transform:translateY(-3px); border-color:#3A3D42; }
.c3-store-banner{ height:100px; background:var(--c3-surface-2); overflow:hidden; }
.c3-store-banner img{ width:100%; height:100%; object-fit:cover; }
.c3-store-banner-fallback{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--c3-accent); }
.c3-store-body{ padding:.85rem 1rem; }
.c3-store-logo{ width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--c3-surface-2); border:1px solid var(--c3-border); }
.c3-store-name{ font-family:'Outfit',sans-serif; font-weight:700; color:var(--c3-text); font-size:.95rem; }
.c3-store-rating{ color:var(--c3-muted); font-size:.78rem; }
.c3-store-rating .sd-star, .c3-store-rating .c3-star{ color:#FFB648; }
.c3-store-desc{ color:var(--c3-muted); font-size:.8rem; margin-top:.5rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.c3-box{ background:var(--c3-surface); border:1px solid var(--c3-border); border-radius:14px; }
.c3-box-warn{ background:rgba(255,182,72,.08); border:1px solid rgba(255,182,72,.35); border-radius:14px; }
.c3-box-warn i{ color:var(--c3-warn); }
.c3-box-warn-title{ color:var(--c3-warn); }
.c3-divider{ border-color:var(--c3-border) !important; }
.c3-title{ font-family:'Outfit',sans-serif; font-weight:700; color:var(--c3-text); }
.c3-text{ color:var(--c3-text); }

.c3-input{ background:var(--c3-surface-2); color:var(--c3-text); border:1px solid var(--c3-border); }
.c3-input::placeholder{ color:var(--c3-muted); }
.c3-input:focus{ background:var(--c3-surface-2); color:var(--c3-text); border-color:var(--c3-accent); box-shadow:none; }
.c3-password-wrapper{ position:relative; }
.c3-password-wrapper .c3-input{ padding-right:2.75rem; }
.c3-password-toggle{ position:absolute; top:50%; right:0.5rem; transform:translateY(-50%); background:none; border:none; padding:0.25rem; color:var(--c3-muted); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.c3-password-toggle:hover{ color:var(--c3-text); }

.c3-btn-outline{ background:var(--c3-surface-2); color:var(--c3-text); border:1px solid var(--c3-border); border-radius:10px; font-weight:700; }
.c3-btn-outline:hover{ border-color:var(--c3-accent); color:var(--c3-accent); }
.c3-btn-danger{ background:var(--c3-danger); border:none; color:#fff; border-radius:10px; font-weight:700; }
.c3-btn-danger:hover{ background:var(--c3-danger-hover); color:#fff; }
.c3-btn-whatsapp{ background:#25D366; border:none; color:#0B1F1D; border-radius:10px; font-weight:700; }
.c3-btn-whatsapp:hover{ background:#2FE277; color:#0B1F1D; }
.c3-btn-mp{ background:#fff; border:2px solid #009EE3; color:#00224f; border-radius:10px; font-weight:700; }
.c3-btn-mp:hover{ color:#00224f; }

.c3-iconbtn-sm{ width:30px; height:30px; border-radius:50%; background:var(--c3-surface-2); border:1px solid var(--c3-border); color:var(--c3-text); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.c3-iconbtn-sm:hover{ border-color:var(--c3-accent); color:var(--c3-accent); }
.c3-thumb-sm{ width:60px; height:60px; border-radius:10px; background:var(--c3-thumb-bg); color:var(--c3-thumb-ink); display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; }
.c3-thumb-sm img{ width:100%; height:100%; object-fit:cover; }
.c3-qty-input{ width:50px; }
.c3-icon-mp{ height:22px; }
.c3-icon-accent{ color:var(--c3-accent); }
.c3-icon-warn{ color:var(--c3-warn); }

.c3-badge{ font-weight:600; color:#fff; }
.c3-badge-neutral{ background:var(--c3-surface-2); color:var(--c3-muted); border:1px solid var(--c3-border); }
.c3-badge-ok{ background:#3FB65F; }
.c3-badge-danger{ background:var(--c3-danger); }
.c3-badge-info{ background:#049CD8; }
.c3-badge-warn{ background:var(--c3-warn); color:#1a1a1a; }
.c3-badge-purple{ background:#7B5EA7; }

.c3-order-card{ background:var(--c3-surface); border:1px solid var(--c3-border); border-radius:14px; padding:1rem; text-decoration:none; display:block; }
.c3-order-card:hover{ border-color:#3A3D42; }

.c3-loc-results{
  position:absolute; z-index:20; top:100%; left:0; right:0; margin-top:4px;
  background:var(--c3-surface-2); border:1px solid var(--c3-border); border-radius:10px;
  max-height:220px; overflow-y:auto; box-shadow:0 6px 16px rgba(0,0,0,.35);
}
.c3-loc-result-item{
  display:block; width:100%; text-align:left; background:transparent; border:none;
  color:var(--c3-text); padding:.5rem .75rem; font-size:.875rem; cursor:pointer;
}
.c3-loc-result-item:hover, .c3-loc-result-item:focus{
  background:var(--c3-surface); color:var(--c3-accent); outline:none;
}

.c3-location-chip{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--c3-surface); border:1px solid var(--c3-border); border-radius:999px;
  padding:.45rem .45rem .45rem .8rem; color:var(--c3-text); font-size:.8rem; font-weight:600;
}
.c3-location-chip-clear{
  display:flex; align-items:center; justify-content:center; width:22px; height:22px;
  border-radius:50%; background:var(--c3-surface-2); color:var(--c3-muted);
  text-decoration:none; font-size:.7rem;
}
.c3-location-chip-clear:hover{ background:var(--c3-border); color:var(--c3-text); }

.c3-location-trigger{
  border:1px solid var(--c3-border); cursor:pointer; padding:.5rem .9rem;
}
.c3-location-trigger:hover{ border-color:var(--c3-accent); color:var(--c3-accent); }
.c3-location-trigger-chevron{ font-size:.65rem; transition:transform .15s; }
.c3-location-trigger[aria-expanded="true"] .c3-location-trigger-chevron{ transform:rotate(180deg); }

.c3-pill-scroll-wrap{ position:relative; }
.c3-pill-scroll{ display:flex; gap:.5rem; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
.c3-pill-scroll::-webkit-scrollbar{ display:none; }
.c3-pill-scroll-arrow{
  display:none; position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:32px; height:32px; border-radius:50%; align-items:center; justify-content:center;
  background:var(--c3-surface-2); border:1px solid var(--c3-border); color:var(--c3-text);
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.c3-pill-scroll-arrow:hover{ border-color:var(--c3-accent); color:var(--c3-accent); }
.c3-pill-scroll-arrow.c3-prev{ left:-4px; }
.c3-pill-scroll-arrow.c3-next{ right:-4px; }
@media (min-width: 768px){
  .c3-pill-scroll-arrow.c3-visible{ display:flex; }
  .c3-pill-scroll-wrap.c3-has-overflow{ padding-inline:2rem; }
}
.c3-filter-pill{ border-radius:999px; font-weight:700; flex-shrink:0; border:1px solid var(--c3-border); background:var(--c3-surface-2); color:var(--c3-muted); }
.c3-filter-pill:hover{ color:var(--c3-text); }
.c3-filter-pill.active{ background:var(--c3-accent); border-color:var(--c3-accent); color:#fff; }
.c3-filter-pill .badge{ font-size:10px; }
.c3-filter-pill .badge.c3-count-active{ background:rgba(255,255,255,.25); color:#fff; }
.c3-filter-pill .badge.c3-count-inactive{ background:var(--c3-border); color:var(--c3-muted); }

.c3-ondemand-banner{
  display:flex; align-items:center; gap:.75rem; padding:.85rem .9rem; border-radius:14px;
  background:var(--c3-surface); border:1px solid var(--c3-border); text-decoration:none;
}
.c3-ondemand-banner:hover{ border-color:var(--c3-accent); }
.c3-ondemand-banner-icon{
  width:36px; height:36px; border-radius:10px; flex-shrink:0;
  background:rgba(255,106,53,.16); color:var(--c3-accent);
  display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.c3-ondemand-banner-text{ flex-grow:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
.c3-ondemand-banner-title{ font-family:'Outfit',sans-serif; font-weight:700; font-size:.875rem; color:var(--c3-text); }
.c3-ondemand-banner-sub{ font-size:.75rem; color:var(--c3-muted); }
.c3-ondemand-banner-arrow{ color:var(--c3-muted); flex-shrink:0; }

/* Franja "En lanzamiento" (core/_growth_strip.html) */
.c3-growth-strip{
  background:linear-gradient(90deg, rgba(255,106,53,.18), rgba(61,221,208,.08));
  border-bottom:1px solid rgba(255,106,53,.35);
  font-size:.8rem; line-height:1.35; color:var(--c3-text);
}
.c3-growth-strip strong{ font-family:'Outfit',sans-serif; color:var(--c3-accent); }
.c3-growth-dot{
  width:8px; height:8px; border-radius:50%; flex-shrink:0;
  background:var(--c3-accent-2); box-shadow:0 0 0 3px rgba(61,221,208,.2);
}
@media (prefers-reduced-motion:no-preference){
  .c3-growth-dot{ animation:c3-growth-pulse 2s ease-in-out infinite; }
  @keyframes c3-growth-pulse{ 50%{ box-shadow:0 0 0 6px rgba(61,221,208,0); } }
}
.c3-growth-cta{ color:var(--c3-accent); font-weight:700; white-space:nowrap; text-decoration:none; flex-shrink:0; }
.c3-growth-cta:hover{ color:var(--c3-accent-hover); text-decoration:underline; }

.c3-chip{ font-size:10px; background:var(--c3-surface-2); color:var(--c3-muted); border:1px solid var(--c3-border); }

.c3-box-ok{ background:rgba(63,182,95,.08); border:1px solid rgba(63,182,95,.35); border-radius:14px; }
.c3-box-ok i{ color:#3FB65F; }

.c3-btn-ok{ background:#3FB65F; border:none; color:#fff; border-radius:10px; font-weight:700; }
.c3-btn-ok:hover{ background:#4FCB70; color:#fff; }
.c3-btn-info{ background:#049CD8; border:none; color:#fff; border-radius:10px; font-weight:700; }
.c3-btn-info:hover{ background:#1CB3EF; color:#fff; }
.c3-btn-outline-danger{ background:transparent; border:1px solid var(--c3-danger); color:var(--c3-danger); border-radius:10px; font-weight:700; }
.c3-btn-outline-danger:hover{ background:var(--c3-danger); color:#fff; }

.c3-subbox{ background:var(--c3-surface-2); border-radius:10px; }

.c3-icon-ok{ color:#3FB65F; }
.c3-icon-danger{ color:var(--c3-danger); }
.c3-btn-warn{ background:var(--c3-warn); border:none; color:#1a1a1a; border-radius:10px; font-weight:700; }
.c3-btn-warn:hover{ background:#FFC670; color:#1a1a1a; }

.c3-icon-accent2{ color:var(--c3-accent-2); }
.c3-icon-info{ color:#049CD8; }
.c3-link-accent{ color:var(--c3-accent); text-decoration:none; font-weight:700; }
.c3-link-accent:hover{ color:var(--c3-accent-hover); }
.c3-danger-text{ color:var(--c3-danger); }
.c3-avatar-circle{ width:50px; height:50px; border-radius:50%; background:var(--c3-surface-2); border:1px solid var(--c3-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.c3-list-row{ text-decoration:none; padding:.9rem 1rem; display:flex; justify-content:space-between; align-items:center; }
.c3-list-row:hover{ background:var(--c3-surface-2); }

.c3-footer{ flex-shrink:0; }
.c3-footer-accent{ height:2px; background:linear-gradient(90deg, var(--c3-accent), var(--c3-accent-2)); }
.c3-footer-row{ padding:.9rem 0; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.c3-footer-brand{ font-size:.85rem; }
.c3-footer-brand .c3-brand-logo{ height:1.2em; }

.c3-dash-header{ background:var(--c3-surface); border-bottom:1px solid var(--c3-border); padding:1rem; margin:-1rem -1rem 0 -1rem; display:flex; align-items:center; gap:1rem; }
.c3-dash-stats{ background:var(--c3-surface); border-bottom:1px solid var(--c3-border); margin:0 -1rem 1rem -1rem; }
.c3-dash-stat{ border-right:1px solid var(--c3-border); }
.c3-dash-stat:last-child{ border-right:none; }
.c3-dash-stat-value{ font-family:'Outfit',sans-serif; font-weight:700; font-size:1.1rem; color:var(--c3-text); }
.c3-dash-stat-label{ color:var(--c3-muted); font-size:10px; }
.c3-card-thumb-sm{ aspect-ratio:auto; height:75px; }

/* Modal de confirmación (reemplaza confirm()/alert() nativos — static/js/confirm-dialog.js) */
.modal-backdrop{ --bs-backdrop-opacity:.72; }
.c3-confirm-dialog{ max-width:340px; padding:0 8px; margin-left:auto; margin-right:auto; }
.c3-confirm-content{ background:var(--c3-surface); border:1px solid var(--c3-border); border-radius:18px; padding:28px 22px 22px; color:var(--c3-text); box-shadow:0 24px 60px rgba(0,0,0,.5); }
.c3-confirm-icon{ width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin-bottom:14px; }
.c3-confirm-title{ font-family:'Outfit',sans-serif; font-weight:700; font-size:1.3rem; margin:0 0 6px; }
.c3-confirm-text{ font-size:.9rem; line-height:1.5; color:var(--c3-muted); margin:0; }
.c3-confirm-btn{ height:48px; border-radius:12px; font-weight:700; font-size:.95rem; }
.c3-confirm-cancel{ background:var(--c3-surface-2); border:1px solid var(--c3-border); color:var(--c3-text); }
.c3-confirm-cancel:hover{ background:var(--c3-border); color:var(--c3-text); }
.c3-confirm-ok{ border:none; color:#fff; }
.c3-confirm-danger .c3-confirm-icon{ background:rgba(229,72,77,.14); color:var(--c3-danger-hover); }
.c3-confirm-danger .c3-confirm-ok{ background:#C9363C; }
.c3-confirm-danger .c3-confirm-ok:hover{ background:var(--c3-danger); color:#fff; }
.c3-confirm-accent .c3-confirm-icon{ background:rgba(255,106,53,.14); color:var(--c3-accent); }
.c3-confirm-accent .c3-confirm-ok{ background:var(--c3-accent); }
.c3-confirm-accent .c3-confirm-ok:hover{ background:var(--c3-accent-hover); color:#fff; }
.c3-confirm-info .c3-confirm-icon{ background:rgba(61,221,208,.14); color:var(--c3-accent-2); }
.c3-confirm-info .c3-confirm-ok{ background:var(--c3-surface-2); border:1px solid var(--c3-border); }
.c3-confirm-info .c3-confirm-ok:hover{ background:var(--c3-border); color:#fff; }
