/* Animaciones sutiles - Pedidos Locales */
@media (prefers-reduced-motion: no-preference) {
  .business-card,
  .product-card,
  .benefits > div,
  .btn,
  .cart-mini {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  .business-card:hover,
  .product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(20,45,28,.12);
  }

  .benefits > div:hover {
    transform: translateY(-2px);
    border-color: #b9dfc1;
  }

  .btn:hover { transform: translateY(-1px); }

  .btn:active,
  .cart-mini:active,
  .qty button:active {
    transform: scale(.97);
  }

  .business-grid .business-card {
    animation: pl-fade-up .35s ease both;
  }

  .business-grid .business-card:nth-child(2) { animation-delay: .04s; }
  .business-grid .business-card:nth-child(3) { animation-delay: .08s; }
  .business-grid .business-card:nth-child(4) { animation-delay: .12s; }

  .hero-copy { animation: pl-fade-up .45s ease both; }
  .hero-art { animation: pl-soft-in .55s ease both; }

  .search input:focus,
  .modal-card input:focus,
  .modal-card textarea:focus,
  .modal-card select:focus {
    border-color: #8bc99a;
    box-shadow: 0 0 0 3px rgba(22,163,74,.10);
    transition: border-color .15s ease, box-shadow .15s ease;
  }

  .modal:not(.hidden) .modal-card {
    animation: pl-modal-in .2s ease both;
  }

  .flash { animation: pl-fade-up .25s ease both; }
}

@keyframes pl-fade-up {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pl-soft-in {
  from { opacity: 0; transform: scale(.97); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes pl-modal-in {
  from { opacity: 0; transform: translateY(8px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* UI moderna: cuenta + prioridad visual para destacados */
.account-page{max-width:1120px;margin:0 auto;padding:24px 20px 60px}
.account-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:24px;background:linear-gradient(135deg,#f3fbf5,#fff);border:1px solid #dceee0;box-shadow:0 12px 35px rgba(20,45,28,.08)}
.account-profile{display:flex;align-items:center;gap:16px}
.account-profile h1{margin:3px 0 4px;font-size:clamp(1.7rem,4vw,2.3rem)}
.account-profile p{margin:0;color:#64748b}
.account-avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 5px 18px rgba(20,45,28,.14)}
.account-avatar-fallback{display:grid;place-items:center;background:#e8f5eb;font-size:1.8rem}
.account-logout{white-space:nowrap}
.account-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 34px}
.account-stat{display:flex;align-items:center;gap:12px;padding:18px;border-radius:18px;background:#fff;border:1px solid #e7eee9}
.account-stat>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f0f8f2;font-size:1.2rem}
.account-stat strong,.account-stat small{display:block}
.account-stat small{margin-top:2px;color:#64748b}
.account-orders .section-title{margin-bottom:16px}
.account-back{color:#15803d;font-weight:700;text-decoration:none}
.account-order-list{display:grid;gap:12px}
.account-order-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px;border:1px solid #e6ece8;border-radius:18px;background:#fff;box-shadow:0 6px 22px rgba(20,45,28,.055)}
.order-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#f0f8f2;font-size:1.35rem}
.order-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.order-number{font-size:.76rem;font-weight:800;letter-spacing:.04em;color:#64748b}
.order-status{padding:4px 9px;border-radius:999px;background:#eaf7ed;color:#15803d;font-size:.72rem;font-weight:800}
.order-main h3{margin:5px 0 2px}.order-main p{margin:0;color:#64748b;font-size:.88rem}
.order-total{text-align:right}.order-total strong{display:block;margin-bottom:8px;font-size:1.08rem}
.account-empty{padding:48px 20px;text-align:center;border:1px dashed #cfe1d3;border-radius:22px;background:#fbfefb}
.account-empty>div{font-size:2.7rem}.account-empty h3{margin:10px 0 5px}.account-empty p{margin:0 auto 18px;max-width:440px;color:#64748b}
#destacados{position:relative;scroll-margin-top:90px;padding-top:8px}
#destacados .section-title h2{font-size:clamp(1.45rem,3vw,2rem)}
#destacados .business-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
#destacados .business-card{border:1px solid #d9eadc;box-shadow:0 10px 30px rgba(20,45,28,.09)}
#destacados .business-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(20,45,28,.14)}
#destacados .business-banner{min-height:155px}
#destacados .featured-label{display:inline-flex;align-items:center;gap:5px;margin-bottom:5px;color:#15803d;font-size:.72rem;font-weight:900;letter-spacing:.05em}
#destacados::after{content:"";display:block;height:1px;margin:34px 0 4px;background:linear-gradient(90deg,transparent,#dce9df,transparent)}
@media (max-width:720px){
.account-header{align-items:flex-start;flex-direction:column}
.account-summary{grid-template-columns:1fr}
.account-order-card{grid-template-columns:auto 1fr}
.order-total{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.order-total strong{margin:0}
}

/* Menú de usuario autenticado */
.user-menu{
  position:relative;
  margin-left:8px;
}

.user-menu summary{
  list-style:none;
}

.user-menu summary::-webkit-details-marker{
  display:none;
}

.user-menu-trigger{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  padding:7px 10px;
  border:1px solid #e3ebe5;
  border-radius:999px;
  background:#fff;
  font-weight:700;
  color:#26352b;
  transition:all .18s ease;
}

.user-menu-trigger:hover{
  border-color:#b9dfc1;
  box-shadow:0 5px 16px rgba(20,45,28,.08);
}

.user-menu-avatar{
  width:30px;
  height:30px;
  border-radius:50%;
  object-fit:cover;
  display:block;
}

.user-menu-avatar-fallback{
  display:grid;
  place-items:center;
  background:#eaf6ed;
  font-size:1rem;
}

.user-menu-arrow{
  font-size:1rem;
  transition:transform .18s ease;
}

.user-menu[open] .user-menu-arrow{
  transform:rotate(180deg);
}

.user-menu-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:285px;
  padding:10px;
  background:#fff;
  border:1px solid #e1ebe4;
  border-radius:18px;
  box-shadow:0 18px 45px rgba(20,45,28,.16);
  z-index:1000;
  animation:pl-user-menu-in .16s ease both;
}

.user-menu-profile{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px;
}

.user-menu-avatar-large{
  width:46px;
  height:46px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 46px;
}

.user-menu-profile strong,
.user-menu-profile small{
  display:block;
}

.user-menu-profile small{
  margin-top:3px;
  color:#64748b;
  font-size:.76rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:195px;
}

.user-menu-divider{
  height:1px;
  margin:6px 4px;
  background:#edf1ee;
}

.user-menu-dropdown>a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 10px;
  border-radius:11px;
  color:#26352b;
  text-decoration:none;
  font-weight:600;
  font-size:.92rem;
  transition:background .15s ease, transform .15s ease;
}

.user-menu-dropdown>a:hover{
  background:#f1f8f3;
  transform:translateX(2px);
}

.user-menu-dropdown>a:first-letter{
  font-size:1rem;
}

.user-menu-dropdown .user-menu-logout{
  color:#b42318;
}

.user-menu-dropdown .user-menu-logout:hover{
  background:#fff3f1;
}

.mobile-user-logout{
  color:#b42318 !important;
}

@keyframes pl-user-menu-in{
  from{
    opacity:0;
    transform:translateY(-5px) scale(.98);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media (max-width:720px){
  .user-menu{
    display:none;
  }
}
