@font-face{
  font-family:"Arkitech";
  src:url("/static/business_site/fonts/Arkitech-Bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* === UNIQUE Estampados — Design Tokens === */
:root,
[data-theme="auth"]{
  --brand:#187C90;--brand-dark:#0096cf;--brand-soft:#e1f4fc;
  --active-nav-color:#000000;
  --bg:#ffffff;--surface:#f7f7f8;--ink:#2B475C;--fg:#2B475C;--heading:#0B1319;
  --muted:#6b7280;--border:#e5e7eb;--border-strong:#d1d5db;
  --product-photo-bg:var(--surface);
  --radius:14px;

  --auth-brand:#000000;--auth-brand-dark:#4fb8d1;--auth-brand-soft:#e8f7fb;
  --auth-surface:#f7f9fb;--auth-ink:#2b475c;--auth-fg:#2b475c;
  --auth-muted:#6b7280;--auth-border:#e5e7eb;--auth-danger:#dc2626;--auth-success:#16a34a;
  --auth-aside-grad:linear-gradient(160deg,#2b475c 0%,#1e3445 60%,#187C90 140%);
  --auth-radius-input:12px;--auth-radius-btn:12px;
  --auth-btn-primary-bg:var(--auth-brand);--auth-btn-primary-fg:#0b2231;--auth-btn-primary-shadow:none;
}

[data-theme="project"]{
  --auth-brand:#187C90;--auth-brand-dark:#0096cf;--auth-brand-soft:#e1f4fc;
  --auth-surface:#f7f7f8;--auth-ink:#2B475C;--auth-fg:#2B475C;
  --auth-muted:#6b7280;--auth-border:#e5e7eb;--auth-danger:#dc2626;--auth-success:#16a34a;
  --auth-aside-grad:linear-gradient(160deg,#2B475C 0%,#14171d 60%,#187C90 140%);
  --auth-radius-input:12px;--auth-radius-btn:9999px;
  --auth-btn-primary-bg:var(--auth-brand);--auth-btn-primary-fg:#ffffff;
  --auth-btn-primary-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px -8px rgba(0,174,239,.55);
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{background:var(--bg);color:var(--fg);
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{color:var(--heading)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
input[type=checkbox],input[type=range]{accent-color:var(--brand)}

[data-auth-page]{background:var(--auth-surface);color:var(--auth-fg)}
[data-auth-page] a{color:var(--auth-brand-dark);text-decoration:none}
[data-auth-page] a:hover{color:var(--auth-ink)}

.container-page{max-width:80rem;margin-inline:auto;padding-inline:1rem}
@media(min-width:640px){.container-page{padding-inline:1.5rem}}

.btn-primary,.btn-secondary,.btn-dark,.btn-wa{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:9999px;font-weight:600;font-size:.875rem;padding:.75rem 1.5rem;
  transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease,filter .15s ease;
  border:0;text-decoration:none;white-space:nowrap;
}
.btn-primary{background:var(--brand);color:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px -8px rgba(0,174,239,.55)}
.btn-primary:hover{background:var(--brand-dark)}
.btn-primary:active{transform:translateY(1px)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.btn-secondary{background:#fff;color:var(--fg);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--surface);border-color:var(--border-strong)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{filter:brightness(1.18)}
.btn-wa{background:#25D366;color:#fff}
.btn-wa:hover{filter:brightness(.95)}
.btn-wa.is-disabled,.btn-wa[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:auto}

.chip{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;
  padding:.25rem .625rem;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}

.text-brand{color:var(--brand)}
.bg-brand{background:var(--brand)}
.bg-brand-soft{background:var(--brand-soft)}
.text-muted{color:var(--muted)}
.bg-surface{background:var(--surface)}
.bg-ink{background:var(--ink)}
.bg-ink h2{color:rgba(255,255,255,.7)}
.border-base{border-color:var(--border)}
.border-brand{border-color:var(--brand)}
.js-chip-toggle[data-chip-style="size"].is-on{
  border-color:var(--ink);background:var(--ink);color:#fff
}
.js-chip-toggle[data-chip-style="option"].is-on{
  border-color:var(--brand);background:var(--brand-soft);color:var(--brand)
}
.size-chip.is-on{
  border-color:var(--fg);background:var(--fg);color:#fff
}
.text-balance{text-wrap:balance}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.font-sans{font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}

details>summary{list-style:none}
details>summary::-webkit-details-marker{display:none}

::selection{background:rgba(0,174,239,.25)}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--brand);outline-offset:2px;border-radius:8px;
}

/* Header */
.site-header{position:sticky;top:0;z-index:50;width:100%;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.85);backdrop-filter:blur(10px);}
.brand-logo{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none}
.brand-logo__mark{flex-shrink:0;display:block}
.brand-logo__name{font-family:"Arkitech","Arkitech Bold",ui-sans-serif,system-ui,sans-serif;font-weight:700;font-synthesis:none;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.brand-logo--sm .brand-logo__mark{width:18px;height:18px}
.brand-logo--sm .brand-logo__name{font-size:1.125rem}
.brand-logo--md .brand-logo__mark{width:22px;height:22px}
.brand-logo--md .brand-logo__name{font-size:1.25rem}
.brand-logo--lg .brand-logo__mark{width:28px;height:28px}
.brand-logo--lg .brand-logo__name{font-size:1.75rem}
.brand-logo--dark{color:#fff}
.brand-logo--dark .brand-logo__name{color:#fff}
.brand-logo:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.brand-logo--dark:focus-visible{outline-color:#fff}
.brand-wordmark{font-family:"Arkitech","Arkitech Bold",ui-sans-serif,system-ui,sans-serif;font-weight:700;font-synthesis:none;letter-spacing:-.02em}
.auth-aside .brand-wordmark{color:#fff}
.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:9999px;background:transparent;border:0}
.icon-btn:hover{background:var(--surface)}
.cart-badge{position:absolute;top:6px;right:6px;display:grid;place-items:center;min-width:16px;height:16px;
  border-radius:9999px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;padding:0 4px}

.search-input{height:36px;border-radius:9999px;background:var(--surface);
  border:1px solid transparent;padding:0 .75rem 0 2.25rem;width:200px;font-size:.875rem;outline:none}
.search-input:focus{border-color:var(--border);background:#fff}
@media(min-width:1024px){.search-input{width:260px}}

.site-header nav a[data-nav],
.nav-mobile-panel nav a[data-nav]{color:var(--muted);transition:color .15s ease}
.site-header nav a[data-nav].is-active,
.nav-mobile-panel nav a[data-nav].is-active{color:var(--active-nav-color);font-weight:600}
.site-header nav a[data-nav].is-active:hover,
.nav-mobile-panel nav a[data-nav].is-active:hover{color:var(--active-nav-color)}

.cat-filter-name{color:var(--muted);transition:color .15s ease}
.cat-filter-label:has(input:checked) .cat-filter-name{color:var(--active-nav-color);font-weight:600}
.cat-nav-link{display:block;padding:.375rem 0;color:var(--muted);transition:color .15s ease}
.cat-nav-link:hover,.cat-nav-link.is-active{color:var(--active-nav-color);font-weight:600}
.cat-nav-pill{display:inline-flex;align-items:center;border-radius:9999px;border:1px solid var(--border);padding:.375rem .875rem;color:var(--muted);transition:color .15s ease,border-color .15s ease,background-color .15s ease}
.cat-nav-pill:hover,.cat-nav-pill.is-active{color:var(--active-nav-color);border-color:var(--brand);background:var(--brand-soft);font-weight:600}

/* Footer */
.site-footer{margin-top:6rem;border-top:1px solid var(--border);background:var(--surface)}
.site-footer h4{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 1.25rem}
.footer-social{display:flex;gap:.5rem}
.footer-social-link{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:9999px;border:1px solid var(--border);color:var(--fg);
  transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.footer-social-link:hover,.footer-social-link:focus-visible{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}

/* WhatsApp floating */
.wa-fab{position:fixed;bottom:20px;right:20px;z-index:50;
  display:inline-flex;align-items:center;gap:.5rem;background:#25D366;color:#fff;
  padding:.75rem 1rem;border-radius:9999px;font-weight:600;font-size:.875rem;
  box-shadow:0 10px 25px -5px rgba(0,0,0,.2);transition:transform .2s}
.wa-fab:hover{transform:scale(1.05)}

/* Product photos (cards, detail, cart) */
.product-photo{overflow:hidden;background:var(--product-photo-bg)}
.product-photo__img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:.75rem}
.product-photo--hero .product-photo__img{padding:1rem}
.product-photo--thumb .product-photo__img{padding:.5rem;opacity:.9}
.product-photo--xs .product-photo__img{padding:.25rem}
.cart-item-photo{width:5rem;height:5rem;border-radius:.75rem;overflow:hidden;background:var(--product-photo-bg);flex-shrink:0}
.cart-item-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:.25rem}

/* Product / category cards */
.prod-card .img-wrap{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:1rem;background:var(--product-photo-bg);border:1px solid var(--border)}
.prod-card .img-wrap img{width:100%;height:100%;object-fit:contain;object-position:center;padding:.75rem;transition:transform .5s}
.prod-card:hover .img-wrap img{transform:scale(1.03)}
.cat-card .img-wrap{position:relative;aspect-ratio:1;overflow:hidden;border-radius:1rem;background:var(--product-photo-bg);border:1px solid var(--border)}
.cat-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat-card .img-wrap img.cat-card__img--contain{object-fit:contain;object-position:center;padding:.75rem}
.cat-card:hover .img-wrap img{transform:scale(1.05)}
.cat-card:hover .img-wrap img.cat-card__img--contain{transform:scale(1.03)}

/* Portfolio / trabajos realizados */
.works-showcase{gap:.5rem;width:100%;overflow:hidden;position:relative}
.works-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.5rem;min-height:0}
.works-card{margin:0;overflow:hidden;border-radius:1.5rem;background:var(--product-photo-bg);min-height:0;display:flex}
.works-card img{display:block;width:100%;height:100%;min-height:0;flex:1;object-fit:cover}
.works-card--featured{aspect-ratio:4/5;width:100%}
.works-showcase-grid .works-card{aspect-ratio:1}
@media(min-width:1024px){
  .works-showcase{
    grid-template-columns:1.15fr 1fr;
    align-items:stretch;
    gap:.625rem;
    width:100%;
    height:min(24rem,calc((100vw - 6rem) * .38));
    max-height:24rem;
    min-height:0;
  }
  .works-showcase-grid{height:100%;width:100%;min-height:0;aspect-ratio:auto}
  .works-card--featured{aspect-ratio:auto;height:100%;min-height:0}
  .works-showcase-grid .works-card{aspect-ratio:auto;height:100%;min-height:0}
}

/* Home sections: grid desktop / carousel mobile
   Las imágenes viven dos veces en el DOM (grilla + carrusel).
   No poner display:grid en .works-showcase: pelea con ocultar la grilla en mobile. */
.home-section-grid{display:none !important}
.home-section-carousel{display:block}
.home-section-carousel__track{
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem;
}
.home-section-carousel__track::-webkit-scrollbar{display:none}
.home-section-carousel__slide{flex:0 0 78%;scroll-snap-align:start;min-width:0}
.home-section-carousel--portfolio .home-section-carousel__slide{flex-basis:82%}
.home-section-carousel--portfolio .home-section-carousel__slide.works-card{aspect-ratio:4/5}
.home-section-carousel--portfolio .home-section-carousel__slide.works-card:not(:first-child){aspect-ratio:1}
.home-section-carousel{position:relative}
.home-section-carousel__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:2.25rem;height:2.25rem;border-radius:9999px;border:1px solid var(--border);
  background:rgba(255,255,255,.92);color:var(--fg);font-size:1.25rem;line-height:1;
  display:grid;place-items:center;box-shadow:0 8px 20px -12px rgba(0,0,0,.35);
}
.home-section-carousel__nav--prev{left:.25rem}
.home-section-carousel__nav--next{right:.25rem}
@media(min-width:1024px){
  .home-section-grid{display:grid !important}
  .home-section-carousel{display:none !important}
}

/* Admin: trabajos realizados */
.portfolio-admin__preview-shell{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.portfolio-admin__slot{
  position:relative;cursor:pointer;
  transition:box-shadow .2s;
}
.portfolio-admin__slot:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.portfolio-admin__slot:hover,.portfolio-admin__slot:focus-visible{box-shadow:0 12px 28px -18px rgba(0,0,0,.45)}
.portfolio-admin__slot--empty .portfolio-admin__placeholder{
  display:grid;place-items:center;width:100%;height:100%;
  color:var(--muted);font-size:.875rem;font-weight:500;padding:1rem;text-align:center;
}
.portfolio-admin__overlay{
  position:absolute;inset:0;display:grid;place-items:center;
  background:rgba(10,10,10,.45);color:#fff;font-size:.8125rem;font-weight:600;
  opacity:0;transition:opacity .2s;pointer-events:none;
}
.portfolio-admin__slot:hover .portfolio-admin__overlay,.portfolio-admin__slot:focus-visible .portfolio-admin__overlay{opacity:1}
.portfolio-admin__slot--empty .portfolio-admin__overlay{opacity:1;background:rgba(10,10,10,.18);color:var(--fg)}
@media(min-width:1024px){
  .portfolio-admin .works-showcase > .portfolio-admin__slot.works-card--featured,
  .portfolio-admin .works-showcase-grid .portfolio-admin__slot{
    width:100%;
    height:100%;
    min-height:0;
  }
}

/* Admin: destacados */
.featured-admin__preview-shell{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.featured-admin__slot{
  position:relative;cursor:pointer;
}
.featured-admin__slot .prod-card{pointer-events:none}
.featured-admin__slot:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.featured-admin__placeholder{
  display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;aspect-ratio:4/5;
  border-radius:1.5rem;background:linear-gradient(to bottom right,#f3e3d0 0%,#f1cfa4 100%);overflow:hidden;
}
.featured-admin__placeholder-label{
  display:grid;place-items:center;flex:1;padding:1rem;text-align:center;
  color:var(--muted);font-size:.875rem;font-weight:500;
}
.featured-admin__overlay{
  position:absolute;inset:0;display:grid;place-items:center;
  background:rgba(10,10,10,.45);color:#fff;font-size:.8125rem;font-weight:600;
  opacity:0;transition:opacity .2s;pointer-events:none;
}
.featured-admin__slot:hover .featured-admin__overlay,.featured-admin__slot:focus-visible .featured-admin__overlay{opacity:1}
.featured-admin__results{display:grid;gap:.5rem;max-height:16rem;overflow:auto}
.featured-admin__result{
  display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:1px solid var(--border);
  border-radius:.75rem;background:#fff;text-align:left;cursor:pointer;
}
.featured-admin__result img{width:3rem;height:3rem;object-fit:cover;border-radius:.5rem;flex-shrink:0}
.featured-admin__result.is-selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.featured-admin__result-text{display:grid;gap:.125rem;min-width:0}
.featured-admin__selected .prod-card{pointer-events:none}

/* Inputs premium */
.field{display:flex;flex-direction:column;gap:.375rem}
.field>label{font-size:.875rem;font-weight:500}
.input,.select,.textarea{
  height:44px;border-radius:12px;border:1px solid var(--border);background:#fff;
  padding:0 12px;font-size:.875rem;width:100%;outline:none;transition:border-color .15s,box-shadow .15s;
}
.textarea{height:auto;padding:10px 12px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,174,239,.15)}
.input:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed}

/* Cards */
.card{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:1.5rem}
.card-soft{background:var(--surface);border-radius:1.5rem}

/* Hover/Active states for interactive tiles */
.tile{transition:box-shadow .15s,border-color .15s,transform .15s}
.tile:hover{box-shadow:0 20px 40px -20px rgba(0,0,0,.08);border-color:var(--border-strong)}
.tile:active{transform:translateY(1px)}

/* Estilos admin */
.admin-shell{min-height:100dvh;background:var(--surface);display:flex}
.admin-sidebar{position:sticky;top:0;height:100dvh;width:256px;flex-shrink:0;border-right:1px solid var(--border);background:#fff;display:flex;flex-direction:column}
.admin-sidebar a.nav{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--muted)}
.admin-sidebar a.nav:hover,.admin-sidebar a.nav.active{background:var(--surface);color:var(--fg)}
.admin-sidebar a.nav.disabled{opacity:.4;pointer-events:none}
.admin-sidebar-back{border-top:1px solid var(--border);padding:.75rem}
.admin-sidebar .admin-sidebar-back a.nav:hover,.admin-sidebar .admin-sidebar-back a.nav:focus-visible{background:var(--brand-soft);color:var(--brand);font-weight:600}
.admin-content{flex:1;min-width:0}
.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 2rem;border-bottom:1px solid var(--border);background:rgba(255,255,255,.85);backdrop-filter:blur(10px)}
.admin-table{width:100%;font-size:.875rem;border-collapse:collapse}
.admin-table thead{background:var(--surface)}
.admin-table th{padding:.75rem 1rem;text-align:left;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.admin-table td{padding:.75rem 1rem;border-top:1px solid var(--border)}
.admin-table tbody tr{transition:background-color .15s ease}
.admin-table tbody tr:hover{background:var(--brand-soft)}
.admin-table tbody tr:hover td:first-child .font-medium{color:var(--brand);font-weight:600}
.badge-st-publicado{background:#ecfdf5;color:#047857;box-shadow:inset 0 0 0 1px #a7f3d0}
.badge-st-borrador{background:#fffbeb;color:#b45309;box-shadow:inset 0 0 0 1px #fde68a}
.badge-st-oculto{background:#f3f4f6;color:#52525b;box-shadow:inset 0 0 0 1px #e4e4e7}
.section-card{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:1.5rem}
.section-card h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}
.section-card .sub{font-size:.75rem;color:var(--muted);margin:0 0 1.25rem}

.product-image-grid{display:flex;flex-wrap:wrap;gap:.75rem}
.product-image-slot{position:relative;margin:0;width:7.5rem;height:7.5rem;border-radius:.75rem;overflow:hidden;border:1px solid var(--border);background:var(--product-photo-bg)}
.product-image-slot::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(11,19,25,.18);backdrop-filter:blur(1.2px);-webkit-backdrop-filter:blur(1.2px)}
.product-image-slot:hover::after,.product-image-slot:focus-within::after{background:rgba(11,19,25,.32);backdrop-filter:blur(1.8px);-webkit-backdrop-filter:blur(1.8px)}
.product-image-slot img{width:100%;height:100%;object-fit:contain;object-position:center;padding:.35rem;pointer-events:none;-webkit-user-drag:none;user-select:none;filter:blur(0.6px);transform:scale(1.03);transition:filter .15s ease}
.product-image-slot:hover img,.product-image-slot:focus-within img{filter:blur(1.2px)}
.product-image-badge{position:absolute;left:.35rem;top:.35rem;z-index:2;border-radius:9999px;background:rgba(11,19,25,.82);color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.15rem .4rem}
.product-image-remove{position:absolute;right:.35rem;top:.35rem;z-index:3;width:1.5rem;height:1.5rem;border:0;border-radius:9999px;background:rgba(220,38,38,.92);color:#fff;font-size:.875rem;line-height:1;display:grid;place-items:center}
.product-image-remove:hover{background:#dc2626}
.product-image-controls{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;gap:.25rem;justify-content:center;padding:.35rem;background:linear-gradient(transparent,rgba(11,19,25,.7))}
.product-image-move{width:1.75rem;height:1.75rem;border:0;border-radius:.5rem;background:rgba(255,255,255,.92);color:var(--ink);font-size:.875rem;line-height:1;display:grid;place-items:center}
.product-image-move:hover:not(:disabled){background:#fff}
.product-image-move:disabled{opacity:.35;cursor:not-allowed}
#images-upload-label.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
@media(max-width:768px){.admin-sidebar{display:none}}

/* Visibilidad responsive del navbar */
.nav-auth,.user-menu{display:none}
.nav-hamburger{display:inline-grid}
@media(min-width:768px){
  .nav-auth{display:flex}
  .user-menu{display:block}
  .nav-hamburger{display:none}
  .nav-mobile-panel{display:none !important}
}

/* Auth en el navbar */
.nav-auth{align-items:center;gap:.5rem;margin-left:.25rem}
.nav-auth-login{font-size:.875rem;font-weight:600;color:var(--fg);padding:.5rem .25rem}
.nav-auth-login:hover{color:var(--brand)}
.btn-nav{padding:.5rem 1rem;font-size:.8125rem}

/* Menú de usuario (dropdown) */
.user-menu{position:relative;margin-left:.25rem}
.user-trigger{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:9999px;background:transparent;border:0}
.user-trigger:hover{background:var(--surface)}
.user-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:9999px;background:var(--brand);color:#fff;font-size:.8125rem;font-weight:700}
.user-panel{position:absolute;right:0;top:calc(100% + .5rem);z-index:60;width:220px;
  background:#fff;border:1px solid var(--border);border-radius:14px;padding:.5rem;
  box-shadow:0 16px 40px -12px rgba(0,0,0,.18)}
.user-panel-email{margin:0;padding:.5rem .625rem .625rem;font-size:.75rem;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-panel-form{margin:0;border-top:1px solid var(--border);padding-top:.25rem;margin-top:.25rem}
.user-panel-item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.5rem .625rem;border:0;background:transparent;
  font-size:.875rem;font-weight:500;color:var(--fg);border-radius:8px}
.user-panel-item:hover{background:var(--surface)}
.user-panel-logout{color:#dc2626;cursor:pointer}

/* Panel de control en navbar */
.nav-dropdown{position:relative}
.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--muted);
  background:transparent;border:0;padding:0;cursor:pointer}
.nav-dropdown-trigger[aria-expanded="true"]{color:var(--fg);font-weight:600}
.nav-dropdown-chevron{transition:transform .15s ease}
.nav-dropdown-trigger[aria-expanded="true"] .nav-dropdown-chevron{transform:rotate(180deg)}
.nav-dropdown .user-panel{left:0;right:auto;top:calc(100% + .5rem)}
.nav-dropdown-label{display:inline-flex;align-items:center;gap:.375rem}
.nav-notification-dot{display:inline-block;width:8px;height:8px;border-radius:9999px;background:#dc2626;flex-shrink:0}
.nav-notification-dot--inline{margin-left:auto}
.contact-unread-dot{display:inline-block;width:8px;height:8px;border-radius:9999px;background:#dc2626}
.field-error{margin-top:.25rem;font-size:.75rem;color:#dc2626}

/* Auth — páginas de autenticación (valores de auth.css prevalecen en conflicto) */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--auth-surface)}
@media(min-width:900px){.auth-shell{grid-template-columns:1fr 1fr}}

.auth-aside{display:none;position:relative;overflow:hidden;background:var(--auth-aside-grad);color:#fff;padding:3rem}
@media(min-width:900px){.auth-aside{display:flex;flex-direction:column;justify-content:space-between}}
.auth-aside::before{content:"";position:absolute;inset:auto -30% -40% auto;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(104,212,234,.35),transparent 65%)}
.auth-aside h2{font-size:1.75rem;font-weight:800;line-height:1.2;max-width:24ch;margin:0;color:#fff}
.auth-aside p{color:rgba(255,255,255,.75);max-width:36ch;margin:.875rem 0 0}
.auth-aside .badge-row{display:flex;gap:.5rem;flex-wrap:wrap}
.auth-aside .badge-row span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  padding:.375rem .75rem;border-radius:9999px;font-size:.75rem}
.auth-aside>.brand-logo{position:relative;z-index:1;margin-bottom:2rem}

.auth-main{display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem}
.auth-card{width:100%;max-width:420px}
.auth-card>.brand-logo{margin-bottom:2rem}

.auth-title{font-size:1.625rem;font-weight:800;color:var(--auth-ink);letter-spacing:-.02em;margin:0 0 .375rem}
.auth-sub{color:var(--auth-muted);font-size:.875rem;margin:0 0 1.75rem}

.auth-shell .field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}
.auth-shell .field>label{font-size:.8125rem;font-weight:600;color:var(--auth-ink)}
.field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}

.auth-shell .input{width:100%;height:44px;padding:0 .875rem;border:1px solid var(--auth-border);
  border-radius:var(--auth-radius-input);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.auth-shell .input:focus{border-color:var(--auth-brand);box-shadow:0 0 0 3px rgba(104,212,234,.18)}
.auth-shell .input.with-icon{padding-right:2.625rem}

.input-wrap{position:relative}
.input-icon-btn{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);width:32px;height:32px;
  display:inline-grid;place-items:center;border:0;background:transparent;color:var(--auth-muted);cursor:pointer;border-radius:8px}
.input-icon-btn:hover{background:var(--auth-brand-soft);color:var(--auth-ink)}

.row-between{display:flex;align-items:center;justify-content:space-between;margin:.25rem 0 1.25rem}
.row-between .btn-link{font-size:.8125rem}

.checkbox{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--auth-ink);cursor:pointer;user-select:none}
.checkbox input{accent-color:var(--auth-brand);width:16px;height:16px}
.checkbox--block{margin-bottom:1.125rem}
.checkbox--block a{margin-left:.25rem}

.auth-shell .btn-primary,.auth-shell .btn-ghost{width:100%;height:46px;border-radius:var(--auth-radius-btn);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:.625rem;text-decoration:none;font-weight:700;
  padding:0;white-space:normal;font-size:inherit}
.auth-shell .btn-primary{border:0;background:var(--brand);color:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px -8px rgba(0,174,239,.55);transition:background .15s,transform .15s}
.auth-shell .btn-primary:hover{background:var(--brand-dark)}
.auth-shell .btn-primary:active{transform:translateY(1px)}
.btn-ghost{border:1px solid var(--auth-border);background:#fff;color:var(--auth-ink);font-weight:600}
.btn-ghost:hover{border-color:var(--auth-ink)}
.btn-ghost:disabled{opacity:.6;cursor:not-allowed}
.btn-link{background:transparent;border:0;padding:0;color:var(--auth-brand-dark);font-weight:600;cursor:pointer}

.auth-actions{display:grid;gap:.75rem}

.divider{display:flex;align-items:center;gap:.75rem;color:var(--auth-muted);font-size:.75rem;margin:1.375rem 0}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--auth-border)}
.social-row{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}

.foot{margin-top:1.5rem;font-size:.875rem;color:var(--auth-muted);text-align:center}
.foot a{color:var(--auth-ink);font-weight:600}

.error{color:var(--auth-danger);font-size:.75rem;display:none}
.error.show{display:block}
.helper{font-size:.75rem;color:var(--auth-muted)}

.alert{background:var(--auth-brand-soft);border:1px solid #c7ecf5;color:var(--auth-ink);padding:.75rem .875rem;
  border-radius:12px;font-size:.8125rem;display:flex;gap:.625rem;align-items:flex-start;margin-bottom:1.125rem}
.alert svg{flex-shrink:0;color:var(--auth-brand-dark)}

.center{text-align:center}
.success-circle{width:64px;height:64px;border-radius:50%;background:var(--auth-brand-soft);color:var(--auth-brand-dark);
  display:grid;place-items:center;margin:0 auto 1.125rem}
.success-circle--ok{background:#dcfce7;color:var(--auth-success)}

.pwd-rules{display:grid;gap:.375rem;margin:.375rem 0 1.125rem;padding:0;font-size:.75rem;color:var(--auth-muted)}
.pwd-rules li{display:flex;align-items:center;gap:.5rem;list-style:none}
.pwd-rules li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--auth-border)}
.pwd-rules li.ok{color:var(--auth-success)}
.pwd-rules li.ok::before{background:var(--auth-success)}

.size-guide-modal{
  position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:1rem;
}
.size-guide-modal.hidden{display:none}
.size-guide-modal__backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.72);
}
.size-guide-modal__panel{
  position:relative;z-index:1;display:flex;flex-direction:column;width:min(96vw,72rem);max-height:92vh;
  background:#fff;border-radius:1.25rem;box-shadow:0 24px 64px rgba(0,0,0,.28);overflow:hidden;
}
.size-guide-modal__header{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;
  border-bottom:1px solid var(--border);
}
.size-guide-modal__title{
  margin:0;font-size:1rem;font-weight:600;line-height:1.4;
}
.size-guide-modal__body{
  flex:1;overflow:auto;padding:1rem 1.25rem 1.25rem;background:var(--surface);
}
.size-guide-modal__image{
  display:block;width:100%;height:auto;margin-inline:auto;border-radius:.75rem;background:#fff;
}

/* Pedidos kanban */
.pedidos-view-toggle{display:inline-flex;gap:.35rem;align-items:center}
.pedidos-kanban{display:flex;flex-direction:column;gap:.75rem}
.pedidos-kanban__feedback{
  margin:0;padding:.65rem .85rem;border-radius:.75rem;font-size:.8125rem;
  background:var(--brand-soft);color:var(--ink);border:1px solid var(--border);
}
.pedidos-kanban__feedback--error{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.pedidos-kanban__columns{
  display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;align-items:stretch;
  -webkit-overflow-scrolling:touch;
}
.pedidos-kanban__column{
  flex:0 0 min(16.5rem,78vw);display:flex;flex-direction:column;min-height:22rem;
  border:1px solid var(--border);border-radius:1rem;background:var(--surface);
}
.pedidos-kanban__column-head{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  padding:.75rem .85rem;border-bottom:1px solid var(--border);
}
.pedidos-kanban__column-title{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.02em}
.pedidos-kanban__column-count{
  display:inline-flex;min-width:1.5rem;height:1.5rem;align-items:center;justify-content:center;
  border-radius:9999px;font-size:.6875rem;font-weight:600;background:#fff;color:var(--muted);
  box-shadow:inset 0 0 0 1px var(--border);
}
.pedidos-kanban__dropzone{
  flex:1;display:flex;flex-direction:column;gap:.5rem;padding:.65rem;min-height:12rem;
  transition:background-color .15s ease,box-shadow .15s ease;
}
.pedidos-kanban__dropzone.is-over{
  background:var(--brand-soft);box-shadow:inset 0 0 0 2px var(--brand);
}
.pedidos-kanban__empty{
  margin:auto 0;text-align:center;font-size:.75rem;color:var(--muted);padding:1rem .5rem;
}
.pedidos-kanban-card{
  cursor:grab;user-select:none;border-radius:.85rem;border:1px solid var(--border);
  background:#fff;padding:.75rem .8rem;box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:box-shadow .15s ease,transform .15s ease,opacity .15s ease;
}
.pedidos-kanban-card:hover{box-shadow:0 6px 16px -8px rgba(15,23,42,.18)}
.pedidos-kanban-card:active{cursor:grabbing}
.pedidos-kanban-card.is-dragging{opacity:.55;transform:scale(.98)}
.pedidos-kanban-card__title{
  margin:0 0 .35rem;font-size:.875rem;font-weight:700;line-height:1.3;color:var(--ink);
}
.pedidos-kanban-card__code{
  margin:0 0 .35rem;font-size:.75rem;font-weight:600;color:var(--brand);
}
.pedidos-kanban-card__meta{margin:0;font-size:.75rem;color:var(--muted);line-height:1.35}
.pedidos-kanban-card__meta + .pedidos-kanban-card__meta{margin-top:.2rem}

