/* Reset y tokens */
*,*::before,*::after{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
:root{
  --app-bg:#fdf6fb;
  --app-card:#ffffff;
  --app-primary:#8a00c2;
  --app-primary-alt:#0b0418;
  --app-icon:#ffffff;
  --app-shadow:rgba(235,0,183,0.35);
  --app-dark:#140226;
  --app-muted:#83629a;
  --app-border:#efd6f8;
  --app-footer-bg:#ffffff;
  --app-footer-icon:#231942;
  --app-radius:20px;
  font-size:16px;
}
body{
  font-family: "Poppins", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background:var(--app-bg);
  color:var(--app-dark);
  line-height:1.5;
  min-height:100vh;
  /* espacio para ticker + header fixed (se calcula header con JS para que no haya “aire”) */
  padding-top:calc(var(--mc-ticker-h, 24px) + var(--mc-header-h, 110px));
  padding-bottom:72px; /* espacio para nav inferior */
}

/* ============================
   Pages Editor: ocultar footer del TEMA (solo en el editor)
   ============================ */
body.mcmp-editor-body footer,
body.mcmp-editor-body footer *,
body.mcmp-editor-body .site-footer,
body.mcmp-editor-body .site-footer *,
body.mcmp-editor-body .site-info,
body.mcmp-editor-body .site-info *,
body.mcmp-editor-body #colophon,
body.mcmp-editor-body #colophon *,
body.mcmp-editor-body #footer,
body.mcmp-editor-body #footer *,
body.mcmp-editor-body #footer-wrapper,
body.mcmp-editor-body #footer-wrapper *,
body.mcmp-editor-body .footer,
body.mcmp-editor-body .footer *,
body.mcmp-editor-body .footer-wrapper,
body.mcmp-editor-body .footer-wrapper *,
body.mcmp-editor-body .elementor-location-footer,
body.mcmp-editor-body .elementor-location-footer *,
body.mcmp-editor-body .ast-footer-wrap,
body.mcmp-editor-body .ast-footer-wrap *,
body.mcmp-editor-body #ast-footer,
body.mcmp-editor-body #ast-footer *{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.container{ width:100%; max-width:1200px; margin:0 auto; padding:0 16px 32px; }

/* Accesibilidad */
.screen-reader-text{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}
.skip-link:focus{
  position:fixed !important;
  left:16px;
  top:16px;
  width:auto; height:auto;
  clip:auto;
  padding:10px 14px;
  background:#fff;
  color:var(--app-dark);
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,0.15);
  z-index:9999;
}

/* Mini ticker arriba del header (propagandas) */
.mcbase-ticker{
  position:fixed;
  left:0;
  right:0;
  top:0;
  z-index:1000;
  height:var(--mc-ticker-h, 24px);
  background:var(--mc-ticker-bg, #0b0418);
  color:var(--mc-ticker-fg, #ffffff);
  border-bottom:1px solid rgba(255,255,255,0.12);
}
.mcbase-ticker__viewport{
  height:100%;
  overflow:hidden;
  position:relative;
}
.mcbase-ticker__viewport::before,
.mcbase-ticker__viewport::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:24px;
  z-index:2;
  pointer-events:none;
}
.mcbase-ticker__viewport::before{
  left:0;
  background:linear-gradient(90deg, var(--mc-ticker-bg, #0b0418), rgba(0,0,0,0));
}
.mcbase-ticker__viewport::after{
  right:0;
  background:linear-gradient(270deg, var(--mc-ticker-bg, #0b0418), rgba(0,0,0,0));
}
.mcbase-ticker__track{
  height:100%;
  display:flex;
  align-items:center;
  gap:22px;
  width:max-content;
  will-change:transform;
  transform:translateX(var(--mc-ticker-from, -50%));
  animation:mcbase-ticker-ltr var(--mc-ticker-duration, 18s) linear infinite;
}
.mcbase-ticker__group{
  display:flex;
  align-items:center;
  gap:22px;
}
.mcbase-ticker__item{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.2px;
  white-space:nowrap;
  text-shadow:0 1px 0 rgba(0,0,0,0.2);
}
.mcbase-ticker__item::after{
  content:"•";
  margin-left:22px;
  opacity:0.5;
}
.mcbase-ticker__item:last-child::after{
  content:"";
  margin:0;
}
.mcbase-ticker:hover .mcbase-ticker__track{
  animation-play-state:paused;
}
@keyframes mcbase-ticker-ltr{
  from{ transform:translateX(var(--mc-ticker-from, -50%)); }
  to{ transform:translateX(var(--mc-ticker-to, 0%)); }
}
@media (prefers-reduced-motion: reduce){
  .mcbase-ticker__track{
    animation:none;
    transform:none;
  }
  .mcbase-ticker__group:nth-child(2){
    display:none;
  }
  .mcbase-ticker__viewport::before,
  .mcbase-ticker__viewport::after{
    display:none;
  }
}

/* Footer del sitio (no confundir con la bottom-nav "app") */
.site-footer{
  padding:24px 0 12px;
  border-top:1px solid var(--app-border);
  background:rgba(255,255,255,.65);
}
.site-footer__inner{
  padding-bottom:12px;
}
.site-footer__widgets{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:16px;
  margin-bottom:16px;
}
.site-footer__widget{
  grid-column:span 12;
}
.site-footer__widget-title{
  margin:0 0 8px;
  font-size:14px;
  font-weight:700;
  color:var(--app-dark);
}
.site-footer__nav{
  margin-bottom:10px;
}
.site-footer__menu{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.site-footer__menu a{
  color:var(--app-muted);
  font-weight:600;
}
.site-footer__menu a:hover{
  color:var(--app-dark);
}
.site-footer__meta{
  font-size:12px;
  color:var(--app-muted);
}

@media (min-width: 720px){
  .site-footer__widget{ grid-column:span 6; }
}
@media (min-width: 1024px){
  .site-footer__widget{ grid-column:span 4; }
}

/* Header estilo app */
.app-header{
  position:fixed;
  left:0;
  right:0;
  top:var(--mc-ticker-h, 24px);
  z-index:900;
  background:linear-gradient(135deg, var(--app-primary-alt) 0%, var(--app-primary) 100%);
  border-bottom-left-radius:26px;
  border-bottom-right-radius:26px;
  padding:10px 16px 16px;
  color:#fff;
  box-shadow:0 10px 30px var(--app-shadow);
}
.app-header__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.app-header__selector,
.app-header__selector-static{
  flex:1;
  background:transparent;
  color:#fff;
  border:none;
  border-radius:0;
  padding:0;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:2px;
  font-weight:600;
}
.app-header__selector{
  cursor:pointer;
  transition: opacity 0.2s;
}
.app-header__selector:hover{
  opacity:0.9;
}
.app-header__selector.is-active .app-header__selector-sub svg{
  transform:rotate(180deg);
}
.app-header__selector-title{
  font-size:15px;
  font-weight:700;
}
.app-header__selector-sub{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:11px;
  color:rgba(255,255,255,.82);
}
.app-header__selector-sub svg{
  width:16px;
  height:16px;
  fill:var(--app-icon);
  transition: transform 0.2s;
  flex-shrink:0;
}

/* Dropdown de sucursales */
.app-header__branch-dropdown{
  position:absolute;
  top:calc(100% + 8px);
  left:16px;
  right:16px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(0,0,0,0.15);
  opacity:0;
  visibility:hidden;
  transform:translateY(-10px);
  transition:all 0.3s ease;
  z-index:30;
  overflow:hidden;
  max-height:400px;
  overflow-y:auto;
}
.app-header__branch-dropdown.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.app-header__branch-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  color:var(--app-dark);
  border-bottom:1px solid var(--app-border);
  transition:background-color 0.2s;
}
.app-header__branch-item:last-child{
  border-bottom:none;
}
.app-header__branch-item:hover{
  background-color:rgba(138,0,194,0.05);
}
.app-header__branch-item svg{
  flex-shrink:0;
  color:var(--app-primary);
}
.app-header__branch-item span{
  flex:1;
  font-size:14px;
  font-weight:500;
}
.app-header__actions{
  display:flex;
  gap:10px;
}
.app-header__icon{
  width:34px; height:34px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background 0.2s, transform 0.1s, box-shadow 0.2s;
}
.app-header__icon:hover{
  background:rgba(255,255,255,0.95);
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
.app-header__icon:active{
  transform:scale(0.92);
}
.app-header__icon svg{ width:18px; height:18px; fill:var(--app-primary); }

.app-header__search-row{
  margin-top:10px;
  position:relative;
}
.app-search{
  display:flex;
  align-items:center;
  background:#fff;
  border-radius:999px;
  padding:2px 6px 2px 12px;
}
.app-search input{
  flex:1;
  border:none;
  padding:8px 6px;
  font-size:14px;
  font-family:inherit;
  color:var(--app-dark);
  background:transparent;
}
.app-search input:focus{ outline:none; }
.app-search button{
  width:38px;
  height:38px;
  border-radius:50%;
  border:2px solid var(--app-primary);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background 0.2s, transform 0.1s;
}
.app-search button:hover{
  background:rgba(138,0,194,0.05);
}
.app-search button:active{
  transform:scale(0.96);
}
.app-search svg{ width:18px; height:18px; }
.app-search button svg{ fill:var(--app-primary); }

#app-search-suggestions{
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  right:0;
  background:#fff;
  border-radius:26px;
  box-shadow:0 32px 70px rgba(26,18,43,.18);
  padding:6px 0;
  max-height:360px;
  overflow:auto;
  display:none;
  z-index:25;
}
#app-search-suggestions.is-visible{ display:block; }
.app-search-suggestion{
  width:100%;
  border:none;
  background:transparent;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 18px;
  cursor:pointer;
  text-align:left;
}
.app-search-suggestion__img img{
  width:44px;
  height:44px;
  border-radius:14px;
  object-fit:contain;
  background:#f4f1f7;
  padding:2px;
}
.app-search-suggestion__placeholder{
  width:44px;
  height:44px;
  border-radius:14px;
  background:#f0e8f8;
  display:block;
}
.app-search-suggestion__info{
  display:flex;
  flex-direction:column;
  gap:2px;
  flex:1;
}
.app-search-suggestion__title{
  font-size:14px;
  font-weight:600;
  color:var(--app-dark);
}
.app-search-suggestion__price{
  font-size:13px;
  color:var(--app-muted);
}
.app-search-suggestion.is-active,
.app-search-suggestion:hover{
  background:rgba(235,0,87,.08);
}

.app-header__auth{
  margin-top:16px;
  text-align:center;
}
.app-header__auth > *{ display:inline-flex; gap:8px; }

/* Main content */
.site-main{
  margin-top:-24px;
}
/* En búsqueda (tabla), el class se agrega al <body> */
.search-table-view .site-main{
  margin-top:0; /* que la barra de resultados no quede escondida bajo el header */
}
.search-table-view .container{
  padding-top:18px; /* un poco más de aire respecto al menú superior */
}
.home .mc-title{ display:none; }
.mc-content img{ border-radius:var(--app-radius); }

/* Drawer carrito (bottom sheet) */
.mcapp-cart-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease-out, visibility .18s ease-out;
  z-index:40;
}
.mcapp-cart-overlay.is-open{
  opacity:1;
  visibility:visible;
}
.mcapp-cart-drawer{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  max-height:70vh;
  background:var(--app-footer-bg);
  color:var(--app-footer-icon);
  border-radius:24px 24px 0 0;
  box-shadow:0 -18px 40px rgba(0,0,0,.22);
  transform:translateY(100%);
  transition:transform .22s ease-out;
  z-index:41;
  display:flex;
  flex-direction:column;
}
.mcapp-cart-drawer.is-open{
  transform:translateY(0);
}
.mcapp-cart-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 16px 6px;
  border-bottom:1px solid var(--app-border);
}
.mcapp-cart-header h3{
  margin:0;
  font-size:15px;
  font-weight:600;
  color:var(--app-footer-icon);
}
.mcapp-cart-close{
  border:none;
  background:transparent;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.mcapp-cart-body{
  padding:4px 8px 10px;
  overflow:auto;
}
.mcapp-cart-empty{
  margin:12px 0;
  text-align:center;
  color:var(--app-muted);
  font-size:13px;
}
.mcapp-cart-list{
  display:flex;
  flex-direction:column;
}
.mcapp-cart-row{
  display:flex;
  align-items:flex-start;
  padding:6px 4px;
  border-bottom:1px solid var(--app-border);
}
.mcapp-cart-thumb{
  flex:0 0 56px;
  margin-right:8px;
}
.mcapp-cart-thumb{
  background:#f9fafb;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mcapp-cart-thumb img{
  width:56px;
  height:56px;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.12);
  padding:2px;
}
.mcapp-cart-main{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mcapp-cart-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:2px;
}
.mcapp-cart-title{
  font-size:13px;
  font-weight:500;
}
.mcapp-cart-subtotal{
  font-size:13px;
  color:var(--app-muted);
}
.mcapp-cart-qty{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#f3f3f3;
  padding:0;
  overflow:hidden;
}
.mcapp-cart-qty-btn{
  width:22px;
  height:22px;
  border:none;
  background:transparent;
  font-size:16px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:var(--app-footer-icon);
}
.mcapp-cart-qty-value{
  min-width:20px;
  text-align:center;
  font-size:13px;
  font-weight:500;
  background:#fff;
  padding:0 4px;
}
.mcapp-cart-remove{
  border:none;
  background:transparent;
  color:var(--app-footer-icon);
  font-size:16px;
  line-height:1;
  cursor:pointer;
  padding:2px 6px;
}
.mcapp-cart-remove svg{
  width:16px;
  height:16px;
  display:block;
}
.mcapp-cart-footer{
  display:flex;
  gap:8px;
  padding:8px 12px 14px;
  border-top:1px solid var(--app-border);
  background:var(--app-footer-bg);
}
.mcapp-cart-btn{
  flex:1;
  border-radius:999px;
  border:1px solid var(--app-border);
  padding:6px 10px;
  font-size:12px;
  cursor:pointer;
}
.mcapp-cart-btn--primary{
  background:var(--app-primary);
  border-color:var(--app-primary);
  color:var(--app-footer-bg);
}
.mcapp-cart-btn--secondary{
  background:var(--app-footer-bg);
  border-color:var(--app-footer-icon);
  color:var(--app-footer-icon);
}
.mcapp-cart-btn--ghost{
  background:var(--app-footer-bg);
  border-color:var(--app-footer-bg);
  color:var(--app-footer-icon);
}

/* Drawer listas */
.mcapp-lists-drawer{
  max-height:60vh;
}
.mcapp-lists-body{
  padding:8px 10px 14px;
}
.mcapp-lists-items{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mcapp-lists-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  border:1px solid var(--app-border);
  border-radius:12px;
  background:#fff;
  color:var(--app-footer-icon);
  text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease;
}
.mcapp-lists-item:hover,
.mcapp-lists-item:focus{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  outline:none;
}
.mcapp-lists-item__title{
  font-size:14px;
  font-weight:600;
}
.mcapp-lists-item__arrow{
  font-size:18px;
  color:var(--app-muted);
}

/* CTA de Mi cuenta (Google + botones) */
.mcapp-auth-entry{
  max-width:420px;
  margin:18px auto 10px;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:0 12px;
}
.mcapp-auth-entry-btn{
  width:100%;
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  text-align:center;
  text-decoration:none;
  border:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.mcapp-auth-entry-btn--google{
  background:#202124;
  color:#fff;
}
.mcapp-auth-entry-google-icon{
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mcapp-auth-entry-google-icon svg{
  width:16px;
  height:16px;
}
.mcapp-auth-entry-btn--primary{
  background:#111827;
  color:#fff;
}
.mcapp-auth-entry-btn--outline{
  background:transparent;
  color:#111827;
  border:1px solid #d1d5db;
}

/* Drawer de perfil (lateral derecho) */
.mcapp-profile-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.32);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease-out, visibility .18s ease-out;
  z-index:50;
}
.mcapp-profile-overlay.is-open{
  opacity:1;
  visibility:visible;
}
.mcapp-profile-drawer{
  position:fixed;
  right:0;
  bottom:60px; /* deja visible el footer fijo */
  height:50vh; /* ocupa aproximadamente la mitad de la pantalla */
  max-height:380px;
  width:82%;
  max-width:360px;
  background:#fff;
  color:#111827;
  box-shadow:-18px 0 40px rgba(15,23,42,.26);
  transform:translateX(100%);
  transition:transform .22s ease-out;
  z-index:51;
  display:flex;
  flex-direction:column;
  border-radius:22px 0 0 22px;
}
.mcapp-profile-drawer.is-open{
  transform:translateX(0);
}
.mcapp-profile-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px 8px;
  border-bottom:1px solid var(--app-border);
}
.mcapp-profile-header h3{
  margin:0;
  font-size:16px;
  font-weight:600;
}
.mcapp-profile-close{
  border:none;
  background:transparent;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  color:#6b7280;
}
.mcapp-profile-body{
  padding:12px 16px 16px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mcapp-profile-buttons{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mcapp-profile-btn{
  width:100%;
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  text-align:center;
  text-decoration:none;
  border:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.mcapp-profile-btn--google{
  background:#202124;
  color:#fff;
}
.mcapp-profile-google-icon{
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mcapp-profile-google-icon svg{
  width:16px;
  height:16px;
}
.mcapp-profile-btn--primary{
  background:#111827;
  color:#fff;
}
.mcapp-profile-btn--outline{
  background:transparent;
  color:#111827;
  border:1px solid #d1d5db;
}
.mcapp-profile-hint{
  margin:4px 0 0;
  font-size:11px;
  color:#6b7280;
}
.mcapp-profile-form{
  display:none;
  margin-top:8px;
}
.mcapp-profile-form.is-active{
  display:block;
}
.mcapp-profile-back{
  align-self:flex-start;
  margin:-4px 0 4px;
  padding:4px 6px;
  border:none;
  background:transparent;
  font-size:12px;
  cursor:pointer;
  color:#6b7280;
}

/* Dialogo de acceso / registro */
.mcapp-auth-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.32);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease-out, visibility .18s ease-out;
  z-index:60;
}
.mcapp-auth-overlay.is-open{
  opacity:1;
  visibility:visible;
}
.mcapp-auth-dialog{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.96);
  width:calc(100% - 32px);
  max-width:420px;
  background:#fff;
  color:#111827;
  border-radius:22px;
  box-shadow:0 20px 45px rgba(15,23,42,.26);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease-out, transform .2s ease-out;
  z-index:61;
}
.mcapp-auth-dialog.is-open{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,-50%) scale(1);
}
.mcapp-auth-inner{
  padding:14px 16px 16px;
}
.mcapp-auth-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.mcapp-auth-title-wrap h2{
  margin:0;
  font-size:17px;
  font-weight:600;
}
.mcapp-auth-subtitle{
  margin:2px 0 0;
  font-size:12px;
  color:#6b7280;
}
.mcapp-auth-close{
  border:none;
  background:transparent;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  color:#6b7280;
}
.mcapp-auth-tabs{
  display:flex;
  gap:6px;
  padding:4px;
  border-radius:999px;
  background:#f3f4f6;
  margin-bottom:10px;
}
.mcapp-auth-tab{
  flex:1;
  border:none;
  background:transparent;
  border-radius:999px;
  font-size:13px;
  padding:6px 8px;
  cursor:pointer;
  color:#6b7280;
}
.mcapp-auth-tab.is-active{
  background:#fff;
  color:#111827;
  box-shadow:0 2px 6px rgba(15,23,42,.12);
}
.mcapp-auth-panels{
  position:relative;
}
.mcapp-auth-panel{
  display:none;
}
.mcapp-auth-panel.is-active{
  display:block;
}
.mcapp-auth-form{
  display:flex;
  flex-direction:column;
  gap:8px;
  background:#f9fafb;
  border-radius:16px;
  padding:12px 12px 10px;
}
.mcapp-auth-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
  color:#4b5563;
}
.mcapp-auth-field input{
  border-radius:10px;
  border:1px solid #e5e7eb;
  padding:8px 10px;
  font-size:13px;
  background:#fff;
}
.mcapp-auth-remember{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:#4b5563;
}
.mcapp-auth-submit{
  margin-top:2px;
  width:100%;
  border:none;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:600;
  background:var(--app-primary);
  color:#fff;
  cursor:pointer;
}
.mcapp-auth-alert{
  margin:0 0 6px;
  padding:6px 8px;
  border-radius:8px;
  background:#fef2f2;
  color:#b91c1c;
  font-size:12px;
}
.mcapp-auth-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:10px 0 6px;
  font-size:12px;
  color:#9ca3af;
}
.mcapp-auth-divider::before,
.mcapp-auth-divider::after{
  content:'';
  flex:1;
  height:1px;
  background:#e5e7eb;
}
.mcapp-auth-divider span{
  padding:0 6px;
}
.mcapp-auth-google-wrap{
  display:flex;
  justify-content:center;
}
.mcapp-auth-google-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 14px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  text-decoration:none;
  font-size:13px;
  color:#111827;
  box-shadow:0 4px 10px rgba(15,23,42,.08);
}
.mcapp-auth-google-icon svg{
  width:18px;
  height:18px;
  display:block;
}
.mcapp-auth-google-text{
  white-space:nowrap;
}

/* Ocultar diseño viejo del módulo en /mi-cuenta/ deslogueado,
   excepto en flujos especiales (Google finish o registro manual) */
.mc-auth-scope:not(.mc-google-finish):not(.mc-manual-register) .mc-auth-card,
.mc-auth-scope:not(.mc-google-finish):not(.mc-manual-register) .mc-auth-nav{
  display:none !important;
}

/* Excepción: cuando venimos de Google (mc_google_token) queremos mostrar
   únicamente la tarjeta de "Completar registro", con un estilo más grande. */
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap.mc-auth-card{
  display:block !important;
  background:#050816;
  border-radius:22px;
  padding:24px 22px 28px;
  box-shadow:0 20px 50px rgba(0,0,0,0.6);
  color:#fff;
  max-width:480px !important;
  margin:40px auto !important;
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-auth-title{
  font-size:24px;
  font-weight:700;
  margin-bottom:20px;
  text-align:center;
  color:#fff;
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-field{
  margin-bottom:14px;
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-field label{
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:6px;
  color:#f9fafb;
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-input{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:none;
  background:#f5f5f7;
  font-size:15px;
  color:#111827;
  box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  transition:background 0.2s ease;
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-input[readonly]{
  opacity:0.75;
  background:#e5e7eb;
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-input:focus{
  outline:none;
  background:#ffffff;
  box-shadow:0 0 0 3px rgba(26,115,232,0.2);
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-btn.mc-btn-primary{
  width:100%;
  padding:14px 16px;
  border-radius:999px;
  font-size:16px;
  font-weight:700;
  border:none;
  background:linear-gradient(135deg,#1a73e8,#34a853);
  color:#fff;
  box-shadow:0 12px 30px rgba(26,115,232,0.4);
  cursor:pointer;
  transition:transform 0.2s ease,box-shadow 0.2s ease;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-btn.mc-btn-primary:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 15px 35px rgba(26,115,232,0.5);
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-btn.mc-btn-primary:active:not(:disabled){
  transform:translateY(0);
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-btn.mc-btn-primary:disabled{
  opacity:0.7;
  cursor:not-allowed;
}
body.mc-auth-scope.mc-google-finish #mc-google-finish-wrap .mc-auth-alert--error{
  background:#fee !important;
  border:1px solid #fcc !important;
  color:#c00 !important;
  padding:12px 14px !important;
  margin-bottom:16px !important;
  border-radius:8px !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
}

/* Registro manual: mismo estilo que Google finish */
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap.mc-auth-card{
  display:block !important;
  background:#050816;
  border-radius:22px;
  padding:24px 22px 28px;
  box-shadow:0 20px 50px rgba(0,0,0,0.6);
  color:#fff;
  max-width:480px !important;
  margin:40px auto !important;
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-auth-title{
  font-size:24px;
  font-weight:700;
  margin-bottom:20px;
  text-align:center;
  color:#fff;
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-field{
  margin-bottom:14px;
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-field label{
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:6px;
  color:#f9fafb;
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-input{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:none;
  background:#f5f5f7;
  font-size:15px;
  color:#111827;
  box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  transition:background 0.2s ease;
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-input:focus{
  outline:none;
  background:#ffffff;
  box-shadow:0 0 0 3px rgba(138,0,194,0.2);
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-btn.mc-btn-primary{
  width:100%;
  padding:14px 16px;
  border-radius:999px;
  font-size:16px;
  font-weight:700;
  border:none;
  background:linear-gradient(135deg,#8a00c2,#c400a0);
  color:#fff;
  box-shadow:0 12px 30px rgba(138,0,194,0.4);
  cursor:pointer;
  transition:transform 0.2s ease,box-shadow 0.2s ease;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-btn.mc-btn-primary:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 15px 35px rgba(138,0,194,0.5);
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-btn.mc-btn-primary:active:not(:disabled){
  transform:translateY(0);
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-btn.mc-btn-primary:disabled{
  opacity:0.7;
  cursor:not-allowed;
}
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .mc-auth-alert--error,
body.mc-auth-scope.mc-manual-register #mc-manual-register-wrap .woocommerce-error{
  background:#fee !important;
  border:1px solid #fcc !important;
  color:#c00 !important;
  padding:12px 14px !important;
  margin-bottom:16px !important;
  border-radius:8px !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
}

/* Ocultar formularios nativos de Woo en Mi cuenta deslogueado
   (usamos sólo los botones + diálogo del tema), salvo en Google finish o registro manual */
.mc-auth-scope:not(.mc-google-finish):not(.mc-manual-register) .woocommerce #customer_login,
.mc-auth-scope:not(.mc-google-finish):not(.mc-manual-register) .woocommerce form.login,
.mc-auth-scope:not(.mc-google-finish):not(.mc-manual-register) .woocommerce form.register,
.mc-auth-scope:not(.mc-google-finish):not(.mc-manual-register) .woocommerce .u-columns,
.mc-auth-scope:not(.mc-google-finish):not(.mc-manual-register) .woocommerce-MyAccount-content .u-column{
  display:none !important;
}

/* En flujo de registro manual, ocultar TODO el formulario nativo de Woo:
   usamos nuestro formulario personalizado con el estilo de Google */
body.mc-auth-scope.mc-manual-register .woocommerce #customer_login,
body.mc-auth-scope.mc-manual-register .woocommerce form.login,
body.mc-auth-scope.mc-manual-register .woocommerce form.register,
body.mc-auth-scope.mc-manual-register .woocommerce .u-columns,
body.mc-auth-scope.mc-manual-register .woocommerce .u-column1,
body.mc-auth-scope.mc-manual-register .woocommerce .u-column2{
  display:none !important;
}

/* Mejorar el título "Mi cuenta" en registro manual */
body.mc-auth-scope.mc-manual-register .woocommerce-account h1,
body.mc-auth-scope.mc-manual-register h1.entry-title{
  display:none;
}

/* Mejorar espaciado del contenedor en registro manual */
body.mc-auth-scope.mc-manual-register .woocommerce-account{
  padding-top:20px;
}

/* Bottom navigation */
.app-bottom-nav{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  height:60px;
  background:var(--app-footer-bg);
  border-top:1px solid var(--app-border);
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  justify-items:center;
  align-items:center;
  z-index:30;
  padding-bottom:env(safe-area-inset-bottom);
}
.app-bottom-nav__item{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-size:11px;
  color:var(--app-footer-icon);
  gap:4px;
  background:transparent;
  border:none;
  cursor:pointer;
  font-family:inherit;
  padding:0;
}
.app-bottom-nav__item:focus,
.app-bottom-nav__item:hover{
  color:var(--app-primary);
}
.app-bottom-nav__item--chat{
  transition:transform 0.2s, color 0.2s;
}
.app-bottom-nav__item--chat:active{
  transform:scale(0.95);
}
.app-bottom-nav__icon svg{
  width:22px;
  height:22px;
  fill:currentColor;
}

.app-bottom-nav__item--cart{
  position:relative;
  top:-16px;
  width:72px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.app-bottom-nav__item--cart .app-bottom-nav__icon{
  width:56px;
  height:56px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--app-border);
  box-shadow:0 8px 18px rgba(0,0,0,0.16);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.app-bottom-nav__item--cart .app-bottom-nav__icon svg{
  width:26px;
  height:26px;
  fill:var(--app-footer-icon);
}
.app-bottom-nav__badge{
  position:absolute;
  top:6px;
  right:8px;
  min-width:18px;
  padding:2px 4px;
  border-radius:999px;
  font-size:10px;
  background:var(--app-footer-icon);
  color:var(--app-footer-bg);
  line-height:1;
}

/* Cards básicas (categorías, marcas, etc.) */
.app-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin:24px 0;
}
.app-card{
  background:#fff;
  border-radius:var(--app-radius);
  padding:14px;
  box-shadow:0 8px 20px rgba(26,18,43,.08);
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:140px;
}
.app-card img{
  width:76px;
  height:76px;
  object-fit:contain;
  align-self:center;
  background:#f9fafb;
  border-radius:8px;
  padding:4px;
}
.app-card span{
  font-weight:600;
  text-align:center;
}

/* Vista de búsqueda en tabla: usar todo el ancho en móviles */
.search-table-view .container{
  max-width:100%;
  padding-left:0;
  padding-right:0;
}
.search-table-view .multicel-tabla-productos{
  margin:0;
}

@media (max-width:768px){
  /* Que la tabla se pegue bien a los bordes y reparta mejor el espacio */
  .search-table-view .tabla-listado{
    width:100%;
    table-layout:auto !important;
  }
  .search-table-view .tabla-listado th,
  .search-table-view .tabla-listado td{
    padding-left:4px !important;
    padding-right:4px !important;
  }
  /* Imagen un poco más angosta */
  .search-table-view .tabla-listado th:nth-child(1),
  .search-table-view .tabla-listado td:nth-child(1){
    width:8% !important;
  }
  /* Producto un poco más chico para liberar espacio a precio+botón */
  .search-table-view .tabla-listado th:nth-child(2),
  .search-table-view .tabla-listado td:nth-child(2){
    width:50% !important;
  }
  /* Precio compacto */
  .search-table-view .tabla-listado th:nth-child(3),
  .search-table-view .tabla-listado td:nth-child(3){
    width:17% !important;
    font-size:11px !important;
  }
  /* Botón con más lugar */
  .search-table-view .tabla-listado th:nth-child(4),
  .search-table-view .tabla-listado td:nth-child(4){
    width:25% !important;
  }
  .search-table-view .btn-tabla{
    font-size:10px !important;
    padding:3px 4px !important;
    max-width:72px !important;
    display:inline-block !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
}

/* Ocultar avisos "ver carrito" y mensajes de Woo */
.woocommerce-message,
a.added_to_cart.wc-forward{
  display:none !important;
}

/* Barra de orden en resultados de búsqueda */
.search-table-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 12px;
  font-size:13px;
  gap:12px;
  margin-top:12px;
  margin-bottom:8px;
  background:#fff;
  border-radius:8px;
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.search-table-toolbar__title{
  color:var(--app-dark);
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:60%;
}
.search-table-toolbar__ordering .woocommerce-ordering{
  margin:0;
}
.search-table-toolbar__ordering select{
  font-size:12px;
  padding:4px 10px;
  border-radius:6px;
  border:1px solid #ddd;
  background:#fff;
  height:32px;
}

/* Estilos de tabla de resultados (estilo crear-tablas) */
.multicel-tabla-productos{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.tabla-listado{
  width:100%;
  border-collapse:collapse;
  margin-top:8px;
  background:#fff;
}

.tabla-listado th,
.tabla-listado td{
  border:1px solid #eaeaea;
  padding:12px 10px;
  vertical-align:middle;
}

.tabla-listado th{
  background:#f8f9fb;
  font-weight:700;
  font-size:13px;
  color:#333;
  text-align:center;
}

.tabla-listado td{
  font-size:14px;
}

/* Columnas */
.tabla-listado th:nth-child(1),
.tabla-listado td:nth-child(1){ /* Imagen */
  width:10%;
  text-align:center;
  padding:8px 4px !important;
}

.tabla-listado th:nth-child(2),
.tabla-listado td:nth-child(2){ /* Producto */
  width:50%;
  text-align:left;
}

.tabla-listado th:nth-child(3),
.tabla-listado td:nth-child(3){ /* Precio */
  width:20%;
  text-align:center;
  font-weight:600;
  color:var(--app-dark);
}

.tabla-listado th:nth-child(4),
.tabla-listado td:nth-child(4){ /* Carrito */
  width:20%;
  text-align:center;
}

/* Imagen miniatura */
.producto-imagen-mini{
  width:50px !important;
  height:50px !important;
  object-fit:contain !important;
  cursor:pointer;
  border:1px solid #ddd;
  border-radius:6px;
  display:block;
  margin:0 auto;
  transition:transform .2s;
  background:#f9fafb;
  padding:2px;
}

.producto-imagen-mini:hover{
  transform:scale(1.05);
}

.sin-imagen{
  width:50px !important;
  height:50px !important;
  background:#f5f5f5;
  border:1px solid #ddd;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  color:#999;
  margin:0 auto;
}

/* Botones de tabla */
.btn-tabla{
  display:inline-block;
  padding:8px 16px;
  font-size:13px;
  font-weight:700;
  border-radius:6px;
  text-align:center;
  text-decoration:none;
  border:none;
  cursor:pointer;
  transition:all .2s;
  text-transform:uppercase;
  letter-spacing:.3px;
}

.btn-agregar{
  background:#28a745;
  color:#fff;
  box-shadow:0 2px 4px rgba(40,167,69,.3);
}

.btn-agregar:hover{
  background:#218838;
  transform:translateY(-1px);
  box-shadow:0 4px 8px rgba(40,167,69,.4);
}

.btn-sin-stock{
  background:#dc3545;
  color:#fff;
  cursor:not-allowed;
  opacity:.7;
}

/* Responsive tabla */
@media (max-width:768px){
  .tabla-listado{
    font-size:12px;
  }
  
  .tabla-listado th,
  .tabla-listado td{
    padding:8px 4px;
  }
  
  .tabla-listado th:nth-child(1),
  .tabla-listado td:nth-child(1){
    width:12%;
  }
  
  .tabla-listado th:nth-child(2),
  .tabla-listado td:nth-child(2){
    width:48%;
    font-size:13px;
  }
  
  .tabla-listado th:nth-child(3),
  .tabla-listado td:nth-child(3){
    width:20%;
    font-size:12px;
  }
  
  .tabla-listado th:nth-child(4),
  .tabla-listado td:nth-child(4){
    width:20%;
  }
  
  .producto-imagen-mini,
  .sin-imagen{
    width:40px !important;
    height:40px !important;
  }
  
  .btn-tabla{
    font-size:11px;
    padding:6px 10px;
  }
}

@media (max-width:480px){
  .tabla-listado th:nth-child(2),
  .tabla-listado td:nth-child(2){
    font-size:12px;
  }
  
  .producto-imagen-mini,
  .sin-imagen{
    width:35px !important;
    height:35px !important;
  }
  
  .btn-tabla{
    font-size:10px;
    padding:4px 8px;
  }
  
  .search-table-toolbar{
    padding:6px 8px;
    font-size:11px;
  }
}

/* ============================================================
   Multi-Pages (HOME): evitar “categorías gigantes” en el theme
   Solo aplica cuando Multi-Pages está activo (body.mcmp-layout-active).
   Mantiene el look “viejo”: 2x2 centrado + cards compactas.
   ============================================================ */
body.mcmp-layout-active .mcmp-section--category_products .mcmp-products-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:10px !important;
  justify-items:center !important;
}

body.mcmp-layout-active .mcmp-section--category_products .mcmp-product-card{
  width:100% !important;
  max-width:220px !important;
}

body.mcmp-layout-active .mcmp-section--category_products .mcmp-product-card__thumb{
  min-height:150px !important;
  height:auto !important;
}

body.mcmp-layout-active .mcmp-section--category_products .mcmp-product-card__thumb img{
  object-fit:contain !important;
  max-height:150px !important;
  height:auto !important;
}

body.mcmp-layout-active .mcmp-section--category_products .mcmp-product-card__body{
  padding:6px 8px 6px !important;
}

@media (min-width:900px){
  body.mcmp-layout-active .mcmp-section--category_products .mcmp-products-grid{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  }
}

/* Desktop */
@media (min-width:980px){
  .app-header{
    border-radius:0;
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    row-gap:16px;
  }
  .app-header__top{
    grid-column:1 / span 2;
  }
  .app-header__actions{
    position:absolute;
    right:32px;
    top:24px;
  }
  .app-grid{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }
}

/* Hero destacado */
.app-hero{
  background:#fff;
  border-radius:32px;
  padding:28px 24px;
  margin-top:-60px;
  box-shadow:0 24px 60px rgba(26,18,43,.12);
  display:flex;
  flex-direction:column;
  gap:20px;
}
.app-hero__copy h1{
  margin:0;
  font-size:clamp(24px, 6vw, 38px);
  color:var(--app-dark);
}
.app-hero__eyebrow{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--app-muted);
  margin:0 0 6px;
}
.app-hero__text{
  margin:8px 0 0;
  color:var(--app-muted);
  font-size:15px;
}
.app-hero__media img,
.app-hero__media iframe{
  width:100%;
  border-radius:24px;
  min-height:220px;
  background:#f4f1f7;
}
.app-hero__media iframe{
  border:none;
  aspect-ratio:16/9;
}
@media (min-width:900px){
  .app-hero{
    flex-direction:row;
    align-items:center;
    gap:32px;
    padding:40px;
  }
  .app-hero__copy{
    flex:1;
  }
  .app-hero__media{
    flex:1;
  }
}
