:root{
  --mayor-bg:#F5F5F5;
  --mayor-surface:#ffffff;
  --mayor-surface-soft:#F1F1F1;
  --mayor-line:#DDDDDD;
  --mayor-text:#111111;
  --mayor-muted:#666666;
  --mayor-primary:#3F3F3F;
  --mayor-primary-soft:#F1F1F1;
  --mayor-accent:#555555;
  --mayor-shadow:0 12px 32px rgba(0,0,0,.08);
}

*{box-sizing:border-box}

html{
  min-height:100%;
  background:var(--mayor-bg);
  -webkit-text-size-adjust:100%;
}

body.mayor-app{
  margin:0;
  min-height:100%;
  background:var(--mayor-bg);
  color:var(--mayor-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:0;
}

button,input{
  font:inherit;
  letter-spacing:0;
}

button{
  color:inherit;
}

.mayor-shell{
  width:100%;
  min-height:100vh;
  max-width:720px;
  margin:0 auto;
  padding-bottom:calc(90px + env(safe-area-inset-bottom));
  background:var(--mayor-bg);
}

.mayor-topbar{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:82px;
  padding:14px 16px 12px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--mayor-line);
  backdrop-filter:saturate(1.2) blur(12px);
}

.mayor-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
}

.mayor-brand-img{
  display:none;
}

.mayor-logo{
  color:#111111;
  font-size:28px;
  line-height:1;
  font-weight:650;
  letter-spacing:8px;
}

.mayor-logo-sub{
  color:#111111;
  font-size:10px;
  line-height:1;
  font-weight:760;
  letter-spacing:4px;
}

.mayor-top-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.mayor-account-button{
  order:1;
}

.mayor-cart-button{
  order:2;
}

.mayor-orders-button{
  display:none;
  order:3;
}

.mayor-desktop-primary-nav{
  display:none;
}

.mayor-top-search{
  display:none;
}

.mayor-icon-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 52px;
  width:52px;
  height:52px;
  border:1px solid transparent;
  border-radius:999px;
  background:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.mayor-menu-button{
  display:none;
  box-shadow:none;
  border-color:var(--mayor-line);
}

.mayor-icon-button svg,
.mayor-bottom-nav svg,
.mayor-back-button svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-badge,
.mayor-cart-nav i{
  position:absolute;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  color:var(--mayor-primary);
  background:transparent;
  border:0;
  font-size:13px;
  font-style:normal;
  line-height:1;
  font-weight:750;
}

.mayor-badge{
  top:-5px;
  right:-3px;
}

.mayor-main{
  min-height:calc(100vh - 172px);
}

.mayor-view{
  display:none;
  padding:16px;
}

.mayor-view.is-active{
  display:block;
}

.mayor-home-intro{
  padding:8px 0 6px;
}

.mayor-home-intro h1{
  margin:0 0 12px;
  color:#111111;
  font-size:42px;
  line-height:1;
  font-weight:760;
}

.mayor-home-intro p{
  margin:0 0 24px;
  max-width:560px;
  color:var(--mayor-muted);
  font-size:20px;
  line-height:1.45;
}

.mayor-search{
  display:flex;
  align-items:center;
  min-width:0;
  min-height:64px;
  gap:12px;
  padding:8px 10px 8px 18px;
  border:1px solid var(--mayor-line);
  border-radius:22px;
  background:#fff;
}

.mayor-search svg{
  flex:0 0 22px;
  width:22px;
  height:22px;
  fill:none;
  stroke:var(--mayor-primary);
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-search input{
  flex:1 1 auto;
  min-width:0;
  height:44px;
  border:0;
  outline:0;
  color:#111111;
  background:transparent;
  font-size:22px;
  line-height:1.2;
}

.mayor-search input::placeholder{
  color:#666666;
}

.mayor-search button{
  flex:0 0 auto;
  min-width:84px;
  height:48px;
  padding:0 18px;
  border:2px solid #D0D0D0;
  border-radius:18px;
  background:#F8F8F8;
  color:var(--mayor-primary);
  font-size:18px;
  font-weight:750;
}

.mayor-quick-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:22px 0;
}

.mayor-quick-grid button{
  min-height:96px;
  padding:18px;
  text-align:left;
  border:1px solid var(--mayor-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-quick-grid strong{
  display:block;
  margin-bottom:8px;
  color:var(--mayor-primary);
  font-size:22px;
  line-height:1.1;
}

.mayor-quick-grid span{
  color:var(--mayor-muted);
  font-size:16px;
}

.mayor-section{
  margin-top:10px;
}

.mayor-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.mayor-section-head h2{
  margin:0;
  font-size:22px;
  line-height:1.2;
}

.mayor-section-head button{
  border:0;
  background:transparent;
  color:var(--mayor-primary);
  font-weight:750;
}

.mayor-home-products{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.mayor-products-toolbar{
  position:sticky;
  top:82px;
  z-index:20;
  display:flex;
  align-items:center;
  gap:10px;
  margin:-16px -16px 0;
  padding:10px 12px;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--mayor-line);
  backdrop-filter:saturate(1.2) blur(12px);
}

.mayor-products-search{
  flex:1 1 auto;
  min-height:56px;
  border-radius:999px;
  padding-left:16px;
}

.mayor-products-search input{
  font-size:20px;
}

.mayor-products-toolbar .mayor-icon-button{
  flex-basis:52px;
}

.mayor-category-strip{
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:14px -16px 10px;
  padding:0 16px 4px;
  scrollbar-width:none;
}

.mayor-category-strip::-webkit-scrollbar{
  display:none;
}

.mayor-category-strip button{
  flex:0 0 auto;
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#333333;
  font-weight:650;
}

.mayor-category-strip button.is-active{
  border-color:#D0D0D0;
  background:var(--mayor-primary-soft);
  color:var(--mayor-primary);
}

.mayor-result-line{
  display:flex;
  align-items:baseline;
  gap:5px;
  margin:8px 0 12px;
  color:var(--mayor-muted);
  font-size:14px;
}

.mayor-result-line strong{
  color:#111111;
}

.mayor-products-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.mayor-products-grid.is-tail-enter{
  animation:mayorTailEnter 200ms ease-out;
}

@keyframes mayorTailEnter{
  from{
    opacity:.92;
    transform:translate3d(0,-18px,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

.mayor-category-banner{
  width:100%;
  aspect-ratio:3 / 1;
  margin:10px 0 12px;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:hidden;
}

.mayor-category-banner img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.mayor-category-banner[hidden]{
  display:none !important;
}

.mayor-shell[data-view="productos"] .mayor-category-banner:not([hidden]) + .mayor-products-grid{
  margin-top:0;
}

.mayor-shell[data-view="productos"] #view-productos.is-category-leaving .mayor-category-banner,
.mayor-shell[data-view="productos"] #view-productos.is-category-leaving .mayor-products-grid,
.mayor-shell[data-view="productos"] #view-productos.is-category-leaving .mayor-load-more{
  animation:mayorCategoryLeave 120ms ease-in forwards;
}

.mayor-shell[data-view="productos"] #view-productos.is-category-entering .mayor-category-banner,
.mayor-shell[data-view="productos"] #view-productos.is-category-entering .mayor-products-grid,
.mayor-shell[data-view="productos"] #view-productos.is-category-entering .mayor-load-more{
  animation:mayorCategoryRise 280ms cubic-bezier(.18,.82,.24,1) both;
}

@keyframes mayorCategoryLeave{
  from{
    opacity:1;
    transform:translate3d(0,0,0);
  }
  to{
    opacity:.18;
    transform:translate3d(0,-24px,0);
  }
}

@keyframes mayorCategoryRise{
  from{
    opacity:.12;
    transform:translate3d(0,72px,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

.mayor-product-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:318px;
  overflow:hidden;
  border:1px solid var(--mayor-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-product-image{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:1 / .82;
  padding:10px;
  background:#F8F8F8;
  border-bottom:1px solid #EEEEEE;
}

.mayor-product-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.mayor-product-image.is-empty::before,
.mayor-detail-image-card.is-empty::before{
  content:"Sin imagen";
  color:#999999;
  font-weight:650;
}

.mayor-product-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-width:0;
  padding:12px;
}

.mayor-product-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#666666;
  font-size:14px;
  line-height:1.2;
}

.mayor-product-name{
  margin:10px 0 12px;
  min-height:52px;
  color:#111111;
  font-size:17px;
  line-height:1.28;
  font-weight:650;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.mayor-product-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
}

.mayor-product-price{
  color:var(--mayor-primary);
  font-size:23px;
  line-height:1;
  font-weight:760;
}

.mayor-product-add{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 54px;
  width:54px;
  height:54px;
  border:2px solid #D0D0D0;
  border-radius:999px;
  background:#F1F1F1;
  color:var(--mayor-primary);
  font-size:34px;
  line-height:1;
}

.mayor-product-card.is-locked .mayor-product-foot{
  align-items:stretch;
}

.mayor-product-register{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:var(--mayor-primary);
  font-size:16px;
  font-weight:720;
}

.mayor-load-more{
  display:block;
  width:100%;
  min-height:48px;
  margin:16px 0 4px;
  border:1px solid #DDDDDD;
  border-radius:16px;
  background:#fff;
  color:#111111;
  font-size:15px;
  font-weight:400;
  letter-spacing:0;
}

.mayor-detail-view{
  padding-top:16px;
}

.mayor-detail-head{
  display:grid;
  grid-template-columns:50px 1fr 50px;
  align-items:center;
  min-height:64px;
  border:1px solid var(--mayor-line);
  border-radius:18px 18px 0 0;
  background:#fff;
}

.mayor-back-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border:0;
  background:transparent;
  color:#333333;
}

.mayor-detail-head span{
  min-width:0;
  text-align:center;
  color:#333333;
  font-size:20px;
  line-height:1.2;
  font-weight:650;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.mayor-detail-image-card{
  display:flex;
  position:relative;
  align-items:center;
  justify-content:center;
  min-height:360px;
  padding:18px 12px 38px;
  border:1px solid var(--mayor-line);
  border-top:0;
  border-radius:0 0 18px 18px;
  background:#fff;
}

.mayor-detail-image-card img{
  display:block;
  width:100%;
  max-height:430px;
  object-fit:contain;
}

.mayor-image-dots{
  position:absolute;
  left:50%;
  bottom:18px;
  display:flex;
  gap:6px;
  transform:translateX(-50%);
}

.mayor-image-dots span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#D6D6D6;
}

.mayor-image-dots span:first-child{
  width:34px;
  background:#333333;
}

.mayor-detail-body{
  padding:18px 0 0;
}

.mayor-detail-body h1{
  margin:0 0 14px;
  color:#111111;
  font-size:28px;
  line-height:1.18;
  font-weight:720;
}

.mayor-detail-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:16px;
}

.mayor-detail-tags span{
  min-height:36px;
  padding:8px 13px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#333333;
  font-size:15px;
  line-height:1.15;
  font-weight:650;
}

.mayor-detail-price-row{
  display:none;
}

.mayor-detail-buy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px;
  border:1px solid var(--mayor-line);
  border-radius:20px;
  background:#fff;
}

.mayor-detail-buy.is-register-only{
  display:block;
}

.mayor-detail-register{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:56px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:var(--mayor-primary);
  font-size:20px;
  font-weight:760;
}

.mayor-detail-buy strong{
  display:block;
  color:#111111;
  font-size:42px;
  line-height:1;
  font-weight:660;
}

.mayor-detail-buy span{
  display:block;
  margin-top:7px;
  color:var(--mayor-muted);
  font-size:15px;
}

.mayor-qty-control{
  display:flex;
  align-items:center;
  overflow:hidden;
  flex:0 0 auto;
  height:58px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
}

.mayor-qty-control button{
  width:58px;
  height:58px;
  border:0;
  background:#fff;
  color:var(--mayor-primary);
  font-size:32px;
  line-height:1;
}

.mayor-qty-control button:last-child{
  background:#F1F1F1;
}

.mayor-qty-control output{
  min-width:42px;
  text-align:center;
  color:#111111;
  font-size:22px;
  font-weight:760;
}

.mayor-page-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.mayor-page-title h1{
  margin:0;
  color:#111111;
  font-size:36px;
  line-height:1;
  font-weight:760;
}

.mayor-page-title button{
  min-height:48px;
  padding:0 22px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:var(--mayor-primary);
  font-size:18px;
  font-weight:750;
}

.mayor-page-title.compact{
  margin:0 0 16px;
}

.mayor-page-title.compact h1{
  font-size:34px;
}

.mayor-cart-card,
.mayor-order-summary,
.mayor-page-card,
.mayor-empty-state,
.mayor-account-card,
.mayor-account-list{
  border:1px solid var(--mayor-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-cart-card{
  overflow:hidden;
}

.mayor-cart-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-cart-card-head h2,
.mayor-order-summary h2{
  margin:0 0 5px;
  font-size:22px;
}

.mayor-cart-card-head span{
  color:var(--mayor-muted);
}

.mayor-cart-card-head strong{
  color:#111111;
  font-size:22px;
}

.mayor-cart-items{
  display:flex;
  flex-direction:column;
}

.mayor-cart-empty{
  padding:22px 16px;
  color:var(--mayor-muted);
  text-align:center;
}

.mayor-products-grid > .mayor-cart-empty{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:160px;
  width:100%;
  text-align:center;
}

.mayor-cart-item{
  display:grid;
  grid-template-columns:84px 1fr;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-cart-item img{
  width:84px;
  height:92px;
  object-fit:contain;
  border-radius:14px;
  background:#F8F8F8;
  border:1px solid #EEEEEE;
}

.mayor-cart-item h3{
  margin:0 30px 8px 0;
  color:#111111;
  font-size:17px;
  line-height:1.25;
  font-weight:650;
}

.mayor-cart-item-meta{
  display:flex;
  gap:8px;
  color:var(--mayor-muted);
  font-size:15px;
}

.mayor-cart-item-price{
  margin-top:8px;
  color:#111111;
  font-size:22px;
  font-weight:720;
}

.mayor-cart-line{
  position:relative;
}

.mayor-remove-line{
  position:absolute;
  top:0;
  right:0;
  width:34px;
  height:34px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#666666;
  font-size:24px;
  line-height:1;
}

.mayor-cart-line .mayor-qty-control{
  width:max-content;
  height:42px;
  margin-top:10px;
  border-radius:14px;
}

.mayor-cart-line .mayor-qty-control button{
  width:44px;
  height:42px;
  font-size:24px;
}

.mayor-cart-line .mayor-qty-control output{
  min-width:42px;
  font-size:18px;
}

.mayor-add-more{
  display:block;
  width:calc(100% - 32px);
  min-height:58px;
  margin:16px;
  border:1px dashed #D6D6D6;
  border-radius:18px;
  background:#fff;
  color:#111111;
  font-size:20px;
  font-weight:720;
}

.mayor-order-summary{
  margin-top:14px;
  padding:16px;
}

.mayor-discount-summary{
  display:grid;
  gap:10px;
}

.mayor-discount-summary div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.mayor-discount-summary span{
  color:#666666;
  font-size:16px;
  font-weight:400;
}

.mayor-discount-summary strong{
  color:#111111;
  font-size:17px;
  font-weight:650;
  text-align:right;
  white-space:nowrap;
}

.mayor-discount-next{
  margin:12px 0 0;
  color:#666666;
  font-size:14px;
  line-height:1.35;
  font-weight:400;
}

.mayor-discount-box{
  padding:16px;
  border:1px solid var(--mayor-line);
  border-radius:18px;
  background:#F8F8F8;
}

.mayor-discount-box div:first-child{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--mayor-muted);
}

.mayor-discount-box div:first-child span{
  font-size:13px;
  font-weight:760;
  letter-spacing:5px;
}

.mayor-discount-box div:first-child strong{
  color:var(--mayor-primary);
  font-size:18px;
}

.mayor-discount-box p{
  margin:13px 0;
  color:#111111;
  font-size:18px;
  font-weight:650;
}

.mayor-progress{
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#EEEEEE;
}

.mayor-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:var(--mayor-primary);
}

.mayor-primary-action{
  display:block;
  width:100%;
  min-height:48px;
  margin-top:14px;
  border:1px solid #DDDDDD;
  border-radius:16px;
  background:#fff;
  color:#111111;
  font-size:16px;
  font-weight:400;
}

.mayor-summary-add-more{
  display:none;
}

.mayor-primary-action:disabled,
.mayor-primary-action[aria-disabled="true"]{
  color:#999999;
  background:#F8F8F8;
  cursor:not-allowed;
}

.mayor-order-dialog{
  position:fixed;
  inset:0;
  z-index:110;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.36);
}

.mayor-order-dialog-card{
  width:min(100%,520px);
  max-height:min(86vh,680px);
  overflow:auto;
  padding:18px;
  border:1px solid var(--mayor-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

.mayor-order-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-order-dialog-head h2{
  margin:0;
  color:#111111;
  font-size:22px;
  line-height:1.15;
  font-weight:650;
}

.mayor-order-dialog-head button{
  width:36px;
  height:36px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-size:24px;
  line-height:1;
}

.mayor-order-addresses{
  display:grid;
  gap:10px;
  margin:0 0 14px;
  padding:0;
  border:0;
}

.mayor-order-addresses legend,
.mayor-order-note span{
  margin:0 0 8px;
  color:#555555;
  font-size:14px;
  line-height:1.25;
  font-weight:560;
}

.mayor-order-address-option{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
}

.mayor-order-address-option input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--mayor-primary);
}

.mayor-order-address-option span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
}

.mayor-order-address-option strong{
  color:#111111;
  font-size:15px;
  line-height:1.2;
  font-weight:620;
}

.mayor-order-address-option small{
  color:#666666;
  font-size:13px;
  line-height:1.35;
  font-weight:400;
}

.mayor-order-note{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:14px;
}

.mayor-order-note textarea{
  width:100%;
  min-height:84px;
  padding:12px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  outline:0;
  background:#fff;
  color:#111111;
  font:inherit;
  font-size:16px;
  resize:none;
}

.mayor-order-note textarea:focus{
  border-color:#D0D0D0;
  box-shadow:0 0 0 3px rgba(0,0,0,.12);
}

.mayor-order-dialog-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
  color:#555555;
  font-size:14px;
}

.mayor-order-dialog-summary strong{
  color:#111111;
  font-size:18px;
  font-weight:650;
}

.mayor-order-dialog-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.mayor-order-dialog-actions button{
  min-height:50px;
  border-radius:12px;
  background:#fff;
  font-size:16px;
  font-weight:620;
}

.mayor-page-card{
  padding:18px;
}

.mayor-stats-row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
}

.mayor-stats-row div{
  min-width:0;
  padding:13px 12px;
  border-radius:14px;
  background:#F5F5F5;
}

.mayor-stats-row span{
  display:block;
  margin-bottom:8px;
  color:var(--mayor-muted);
  font-size:12px;
  font-weight:760;
  letter-spacing:4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.mayor-stats-row strong{
  color:var(--mayor-primary);
  font-size:28px;
}

.mayor-empty-state{
  margin-top:14px;
  padding:22px 18px;
}

.mayor-empty-state h2{
  margin:0 0 8px;
  font-size:24px;
}

.mayor-empty-state p{
  margin:0;
  color:var(--mayor-muted);
  font-size:17px;
  line-height:1.45;
}

.mayor-orders-root{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.mayor-orders-topbar{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.mayor-orders-topbar .mayor-orders-summary{
  order:1;
}

.mayor-orders-topbar .mayor-order-status-filter{
  order:2;
}

.mayor-orders-summary,
.mayor-orders-empty,
.mayor-order-card{
  border:1px solid var(--mayor-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-orders-summary{
  padding:18px;
}

.mayor-orders-summary h1{
  margin:0 0 14px;
  color:#111111;
  font-size:36px;
  line-height:1;
  font-weight:720;
}

.mayor-orders-stats{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
}

.mayor-orders-stats div{
  min-width:0;
  padding:12px 10px;
  border-radius:14px;
  background:#F5F5F5;
}

.mayor-orders-stats span{
  display:block;
  margin-bottom:7px;
  color:#666666;
  font-size:11px;
  line-height:1.2;
  font-weight:650;
}

.mayor-orders-stats strong{
  display:block;
  color:var(--mayor-primary);
  font-size:24px;
  line-height:1.1;
  font-weight:760;
  overflow-wrap:anywhere;
}

.mayor-order-status-filter{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:0 1px 4px;
  scrollbar-width:none;
}

.mayor-order-status-filter::-webkit-scrollbar{
  display:none;
}

.mayor-order-status-filter button{
  display:inline-flex;
  min-height:42px;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#333333;
  font-size:14px;
  font-weight:620;
}

.mayor-order-status-filter button.is-active{
  border-color:#D0D0D0;
  background:#F1F1F1;
  color:var(--mayor-primary);
}

.mayor-order-status-filter strong{
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:#F2F2F2;
  color:#555555;
  font-size:12px;
  line-height:20px;
  text-align:center;
}

.mayor-order-status-filter button.is-active strong{
  background:#fff;
  color:var(--mayor-primary);
}

.mayor-orders-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.mayor-orders-detail-pane{
  display:none;
}

.mayor-orders-empty{
  padding:20px 18px;
}

.mayor-orders-empty h2{
  margin:0 0 8px;
  color:#111111;
  font-size:22px;
  font-weight:650;
}

.mayor-orders-empty p{
  margin:0 0 14px;
  color:#666666;
  font-size:16px;
  line-height:1.4;
}

.mayor-orders-empty button{
  min-height:46px;
  padding:0 22px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:var(--mayor-primary);
  font-size:16px;
  font-weight:650;
}

.mayor-order-card{
  padding:14px;
}

.mayor-order-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.mayor-order-card-head div{
  min-width:0;
}

.mayor-order-card-head span,
.mayor-order-card-grid span{
  display:block;
  color:#666666;
  font-size:12px;
  line-height:1.25;
  font-weight:520;
}

.mayor-order-card-head strong{
  display:block;
  margin-top:4px;
  color:#111111;
  font-size:18px;
  line-height:1.2;
  font-weight:680;
  overflow-wrap:anywhere;
}

.mayor-order-card-head mark{
  flex:0 0 auto;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:#F1F1F1;
  color:var(--mayor-primary);
  font-size:13px;
  line-height:18px;
  font-weight:650;
}

.mayor-order-card-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}

.mayor-order-card-grid div{
  min-width:0;
  padding:10px;
  border-radius:12px;
  background:#F8F8F8;
}

.mayor-order-card-grid strong{
  display:block;
  margin-top:4px;
  color:#111111;
  font-size:15px;
  line-height:1.3;
  font-weight:650;
  overflow-wrap:anywhere;
}

.mayor-order-card-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.mayor-order-card-actions button{
  min-width:0;
  min-height:42px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
  color:#111111;
  font-size:13px;
  font-weight:650;
}

.mayor-order-card-actions button:disabled{
  color:#999999;
  background:#F8F8F8;
}

.mayor-order-history-dialog{
  position:fixed;
  inset:0;
  z-index:112;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.36);
}

.mayor-order-history-card{
  width:min(100%,560px);
  max-height:min(86vh,720px);
  overflow:auto;
  padding:18px;
  border:1px solid var(--mayor-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

.mayor-order-history-meta,
.mayor-order-history-invoice{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:12px;
}

.mayor-order-history-meta div,
.mayor-order-history-invoice div{
  min-width:0;
  padding:10px;
  border-radius:12px;
  background:#F8F8F8;
}

.mayor-order-history-meta span,
.mayor-order-history-invoice span{
  display:block;
  color:#666666;
  font-size:12px;
  line-height:1.2;
}

.mayor-order-history-meta strong,
.mayor-order-history-invoice strong{
  display:block;
  margin-top:4px;
  color:#111111;
  font-size:15px;
  line-height:1.3;
  font-weight:650;
  overflow-wrap:anywhere;
}

.mayor-order-history-items{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mayor-order-history-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 12px;
  padding:10px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
}

.mayor-order-history-item strong{
  grid-column:1 / -1;
  min-width:0;
  color:#111111;
  font-size:14px;
  line-height:1.3;
  font-weight:620;
  overflow-wrap:anywhere;
}

.mayor-order-history-item span{
  color:#666666;
  font-size:12px;
  line-height:1.35;
}

.mayor-order-history-item b{
  align-self:end;
  color:#111111;
  font-size:14px;
  font-weight:700;
}

.mayor-account-card{
  padding:28px 20px 20px;
}

.mayor-account-card h1{
  margin:0 0 14px;
  font-size:38px;
}

.mayor-account-card span{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:0 16px;
  border-radius:999px;
  background:var(--mayor-primary-soft);
  color:var(--mayor-primary);
  font-weight:750;
}

.mayor-account-card button{
  display:block;
  width:100%;
  min-height:58px;
  margin-top:24px;
  border:2px solid #D0D0D0;
  border-radius:16px;
  background:#F1F1F1;
  color:var(--mayor-primary);
  font-size:20px;
  font-weight:760;
}

.mayor-account-list{
  overflow:hidden;
  margin-top:16px;
  border-radius:0;
}

.mayor-account-list button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:78px;
  padding:0 20px;
  border:0;
  border-bottom:1px solid var(--mayor-line);
  background:#fff;
  text-align:left;
  font-size:22px;
  font-weight:700;
}

.mayor-account-list button:last-child{
  border-bottom:0;
}

.mayor-account-list b{
  color:#999999;
  font-size:32px;
}

.mayor-bottom-nav{
  position:fixed;
  left:50%;
  bottom:0;
  z-index:40;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  width:100%;
  max-width:720px;
  min-height:82px;
  padding:8px 8px calc(8px + env(safe-area-inset-bottom));
  border-top:1px solid var(--mayor-line);
  background:rgba(255,255,255,.98);
  transform:translateX(-50%);
  backdrop-filter:saturate(1.2) blur(12px);
}

.mayor-bottom-nav button{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
  min-height:64px;
  border:0;
  border-radius:18px;
  background:transparent;
  color:#666666;
}

.mayor-bottom-nav button.is-active{
  color:var(--mayor-primary);
}

.mayor-bottom-nav button.is-active svg{
  background:var(--mayor-primary-soft);
}

.mayor-bottom-nav svg{
  width:42px;
  height:42px;
  padding:7px;
  border-radius:999px;
}

.mayor-bottom-nav span{
  font-size:13px;
  line-height:1.1;
}

.mayor-cart-nav i{
  top:0;
  right:16px;
}

body.mayor-loading .mayor-products-grid::before,
body.mayor-loading .mayor-home-products::before{
  content:"Cargando productos...";
  grid-column:1 / -1;
  padding:20px;
  color:var(--mayor-muted);
  text-align:center;
}

.mayor-toast{
  position:fixed;
  left:50%;
  bottom:calc(96px + env(safe-area-inset-bottom));
  z-index:60;
  max-width:min(420px,calc(100% - 32px));
  padding:12px 16px;
  border-radius:999px;
  background:#111111;
  color:#fff;
  box-shadow:var(--mayor-shadow);
  transform:translateX(-50%);
  font-weight:650;
}

@media (max-width:420px){
  .mayor-view{
    padding:14px 10px;
  }

  .mayor-topbar{
    padding-left:14px;
    padding-right:14px;
  }

  .mayor-logo{
    font-size:25px;
    letter-spacing:7px;
  }

  .mayor-logo-sub{
    letter-spacing:3.4px;
  }

  .mayor-icon-button{
    flex-basis:48px;
    width:48px;
    height:48px;
  }

  .mayor-home-intro h1{
    font-size:38px;
  }

  .mayor-home-intro p{
    font-size:19px;
  }

  .mayor-search{
    min-height:58px;
    border-radius:20px;
  }

  .mayor-search input{
    font-size:19px;
  }

  .mayor-search button{
    min-width:74px;
    height:44px;
    padding:0 14px;
    font-size:17px;
  }

  .mayor-quick-grid{
    gap:10px;
  }

  .mayor-quick-grid button{
    min-height:88px;
    padding:15px;
  }

  .mayor-quick-grid strong{
    font-size:20px;
  }

  .mayor-products-grid,
  .mayor-home-products{
    gap:10px;
  }

  .mayor-product-card{
    min-height:292px;
    border-radius:16px;
  }

  .mayor-product-body{
    padding:10px;
  }

  .mayor-product-name{
    font-size:16px;
    min-height:48px;
  }

  .mayor-product-price{
    font-size:22px;
  }

  .mayor-product-add{
    flex-basis:50px;
    width:50px;
    height:50px;
  }

  .mayor-products-toolbar{
    margin-left:-10px;
    margin-right:-10px;
    top:78px;
  }

  .mayor-category-strip{
    margin-left:-10px;
    margin-right:-10px;
    padding-left:10px;
    padding-right:10px;
  }

  .mayor-detail-image-card{
    min-height:330px;
  }

  .mayor-detail-body h1{
    font-size:26px;
  }

  .mayor-detail-buy{
    align-items:flex-start;
    flex-direction:column;
  }

  .mayor-detail-buy strong{
    font-size:40px;
  }

  .mayor-qty-control{
    width:100%;
    justify-content:space-between;
  }

  .mayor-qty-control output{
    flex:1 1 auto;
  }

  .mayor-cart-item{
    grid-template-columns:74px 1fr;
    padding:12px;
  }

  .mayor-cart-item img{
    width:74px;
    height:86px;
  }

  .mayor-bottom-nav span{
    font-size:12px;
  }
}

/* Product-list compact pass requested after first mobile review. */
.mayor-shell{
  padding-bottom:calc(64px + env(safe-area-inset-bottom));
}

.mayor-shell[data-view="productos"] .mayor-topbar,
.mayor-shell[data-view="detalle"] .mayor-topbar,
.mayor-shell[data-view="carrito"] .mayor-topbar,
.mayor-shell[data-view="pedidos"] .mayor-topbar{
  display:none !important;
}

.mayor-shell[data-view="cuenta"] .mayor-topbar{
  display:none !important;
}

.mayor-shell[data-view="productos"] #view-productos{
  padding-top:0;
}

.mayor-shell[data-view="productos"] .mayor-products-toolbar{
  top:0;
}

.mayor-products-toolbar{
  min-height:54px;
  gap:8px;
  padding:6px 10px;
}

.mayor-category-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#111111;
}

.mayor-category-toggle svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
}

.mayor-products-search{
  position:relative;
  min-height:42px;
  padding:4px 38px 4px 12px;
  border-radius:18px;
}

.mayor-products-search svg{
  width:19px;
  height:19px;
  stroke-width:1.55;
}

.mayor-products-search input{
  height:34px;
  font-size:18px;
}

.mayor-search-clear{
  position:absolute;
  top:50%;
  right:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#666666;
  font-size:24px;
  font-weight:300;
  line-height:1;
  transform:translateY(-50%);
}

.mayor-search-clear[hidden]{
  display:none !important;
}

.mayor-products-toolbar .mayor-icon-button{
  flex-basis:40px;
  width:40px;
  height:40px;
  box-shadow:none;
}

.mayor-products-toolbar .mayor-icon-button svg{
  width:22px;
  height:22px;
  stroke-width:1.35;
}

.mayor-products-toolbar .mayor-badge{
  top:-6px;
  right:-5px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  font-size:12px;
}

.mayor-result-line,
.mayor-category-strip{
  display:none !important;
}

.mayor-category-panel{
  position:fixed;
  top:56px;
  bottom:calc(74px + env(safe-area-inset-bottom));
  left:max(10px,calc(50% - 350px));
  z-index:45;
  display:flex;
  flex-direction:column;
  width:min(330px,calc(100vw - 20px));
  max-height:none;
  overflow:hidden;
  padding:10px;
  border:1px solid var(--mayor-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.18);
  overscroll-behavior:contain;
}

.mayor-category-panel[hidden]{
  display:none !important;
}

.mayor-category-search{
  position:relative;
  z-index:3;
  display:flex;
  flex:0 0 auto;
  gap:8px;
  margin-bottom:8px;
  background:#fff;
}

.mayor-category-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.mayor-category-search input{
  flex:1 1 auto;
  min-width:0;
  width:100%;
  min-height:44px;
  padding:0 14px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  outline:0;
  color:#111111;
  background:#fff;
  font-size:16px;
}

.mayor-category-close{
  position:relative;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
  color:#111111;
  font-size:28px;
  line-height:1;
  font-weight:300;
  -webkit-tap-highlight-color:transparent;
}

.mayor-brand-filters{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  margin:0 0 10px;
}

.mayor-brand-filters button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:38px;
  gap:8px;
  padding:0 12px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
  color:#111111;
  font-size:15px;
  font-weight:400;
  text-align:center;
}

.mayor-brand-filters span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mayor-brand-filters b{
  flex:0 0 auto;
  color:#666666;
  font-weight:500;
}

.mayor-brand-filters button.is-active{
  border-color:#666666;
  box-shadow:none;
}

.mayor-category-tree{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mayor-cat-row,
.mayor-cat-group summary,
.mayor-cat-children button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:44px;
  gap:12px;
  padding:0 12px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
  color:#333333;
  text-align:left;
  font-size:16px;
  font-weight:600;
}

.mayor-cat-row span,
.mayor-cat-group summary span,
.mayor-cat-children button span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mayor-cat-row b,
.mayor-cat-group summary b,
.mayor-cat-children button b{
  flex:0 0 auto;
  color:#666666;
  font-weight:650;
}

.mayor-cat-row.is-active,
.mayor-cat-group summary.is-active,
.mayor-cat-children button.is-active{
  border-color:#666666;
  color:#111111;
  box-shadow:none;
}

.mayor-cat-children button.is-active{
  border-color:#666666;
  box-shadow:none;
}

.mayor-cat-group{
  border:1px solid #EEEEEE;
  border-radius:14px;
  padding:0;
}

.mayor-cat-group summary{
  cursor:pointer;
  list-style:none;
}

.mayor-cat-group summary::-webkit-details-marker{
  display:none;
}

.mayor-cat-children{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:6px 10px 10px 26px;
}

.mayor-cat-children button{
  min-height:36px;
  border-radius:999px;
  font-size:15px;
  font-weight:500;
}

.mayor-product-card{
  min-height:266px;
  border-radius:14px;
}

.mayor-product-image{
  aspect-ratio:10 / 8;
  padding:0;
  background:#fff;
}

.mayor-product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.mayor-product-body{
  padding:10px;
}

.mayor-product-meta{
  font-size:14px;
}

.mayor-product-name{
  min-height:38px;
  margin:8px 0 10px;
  font-size:15px;
  line-height:1.25;
  font-weight:500;
  -webkit-line-clamp:2;
}

.mayor-product-price{
  color:#111111;
  font-size:21px;
  font-weight:620;
}

.mayor-product-add{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border:1px solid #111111;
  background:#fff;
  color:#111111;
  font-size:28px;
  font-weight:300;
}

.mayor-bottom-nav{
  min-height:58px;
  padding:4px 6px calc(4px + env(safe-area-inset-bottom));
}

.mayor-bottom-nav button{
  min-height:50px;
  gap:1px;
  border-radius:12px;
}

.mayor-bottom-nav svg{
  width:30px;
  height:30px;
  padding:4px;
  stroke-width:1.35;
}

.mayor-bottom-nav span{
  font-size:12px;
}

.mayor-cart-nav i{
  top:-2px;
  right:14px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  font-size:12px;
}

@media (max-width:420px){
  .mayor-products-toolbar{
    top:0;
    min-height:52px;
    margin-left:-10px;
    margin-right:-10px;
    padding:5px 8px;
  }

  .mayor-products-search{
    min-height:40px;
  }

  .mayor-products-search input{
    height:32px;
    font-size:17px;
  }

  .mayor-category-toggle,
  .mayor-products-toolbar .mayor-icon-button{
    flex-basis:38px;
    width:38px;
    height:38px;
  }

  .mayor-category-panel{
    top:52px;
    bottom:calc(72px + env(safe-area-inset-bottom));
    left:8px;
    width:min(320px,calc(100vw - 16px));
  }

  .mayor-product-card{
    min-height:254px;
  }

  .mayor-product-name{
    min-height:38px;
    font-size:15px;
  }

  .mayor-product-price{
    font-size:20px;
  }

  .mayor-product-add{
    flex-basis:40px;
    width:40px;
    height:40px;
    font-size:27px;
  }
}

/* Product detail compact pass. */
.mayor-shell[data-view="detalle"] #view-detalle{
  padding-top:8px;
}

.mayor-detail-view{
  touch-action:pan-y;
}

.mayor-detail-head{
  grid-template-columns:42px 1fr 42px;
  min-height:48px;
  border-radius:14px 14px 0 0;
  cursor:pointer;
}

.mayor-back-button{
  width:42px;
  height:42px;
}

.mayor-back-button svg{
  width:24px;
  height:24px;
  stroke-width:1.45;
}

.mayor-detail-head span[data-detail-category]{
  font-size:18px;
  font-weight:400;
}

.mayor-detail-image-card{
  min-height:330px;
  padding:12px 8px 30px;
  cursor:zoom-in;
}

.mayor-detail-image-card img{
  max-height:390px;
}

.mayor-image-dots{
  bottom:12px;
}

.mayor-detail-body{
  padding-top:14px;
}

.mayor-detail-body h1{
  display:-webkit-box;
  margin-bottom:10px;
  overflow:hidden;
  color:#111111;
  font-size:24px;
  font-weight:500;
  line-height:1.18;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.mayor-detail-tags{
  display:grid;
  grid-template-columns:auto auto auto minmax(0,1fr);
  align-items:center;
  gap:6px;
  overflow:hidden;
  margin-bottom:12px;
}

.mayor-detail-tags span{
  min-width:0;
  min-height:28px;
  padding:5px 9px;
  overflow:hidden;
  border-radius:999px;
  color:#333333;
  font-size:14px;
  font-weight:400;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mayor-detail-buy{
  align-items:center;
  flex-direction:row;
  padding:12px;
  border-radius:16px;
}

.mayor-detail-buy strong{
  font-size:34px;
  font-weight:560;
}

.mayor-detail-buy span{
  margin-top:4px;
  font-size:14px;
}

.mayor-detail-buy .mayor-qty-control{
  width:auto;
  height:auto;
  gap:9px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}

.mayor-detail-buy .mayor-qty-control button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #111111;
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-weight:300;
  line-height:1;
}

.mayor-detail-buy .mayor-qty-control button[data-detail-minus]{
  width:34px;
  height:34px;
  font-size:23px;
}

.mayor-detail-buy .mayor-qty-control button[data-detail-plus]{
  width:42px;
  height:42px;
  font-size:28px;
}

.mayor-detail-buy .mayor-qty-control output{
  min-width:24px;
  font-size:18px;
  font-weight:500;
}

.mayor-image-viewer{
  position:fixed;
  inset:0;
  z-index:100;
  background:rgba(0,0,0,.94);
}

.mayor-image-viewer[hidden]{
  display:none !important;
}

.mayor-image-viewer-close{
  position:absolute;
  top:calc(12px + env(safe-area-inset-top));
  right:14px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  font-weight:300;
  line-height:1;
}

.mayor-image-viewer-stage{
  width:100%;
  height:100%;
  overflow:auto;
  padding:64px 12px 28px;
  touch-action:pinch-zoom pan-x pan-y;
  -webkit-overflow-scrolling:touch;
}

.mayor-image-viewer-stage img{
  display:block;
  width:100%;
  max-width:none;
  min-height:60vh;
  margin:auto;
  object-fit:contain;
  transform-origin:center center;
}

body.mayor-viewer-open{
  overflow:hidden;
}

@media (max-width:420px){
  .mayor-shell[data-view="detalle"] #view-detalle{
    padding-top:6px;
  }

  .mayor-detail-head{
    min-height:46px;
  }

  .mayor-detail-head span[data-detail-category]{
    font-size:17px;
  }

  .mayor-detail-image-card{
    min-height:310px;
    padding-top:10px;
  }

  .mayor-detail-body h1{
    font-size:22px;
  }

  .mayor-detail-tags{
    grid-template-columns:auto auto auto minmax(92px,1fr);
  }

  .mayor-detail-tags span{
    padding-left:8px;
    padding-right:8px;
    font-size:13px;
  }

  .mayor-detail-buy strong{
    font-size:32px;
  }

  .mayor-detail-buy .mayor-qty-control{
    gap:7px;
  }

  .mayor-detail-buy .mayor-qty-control button[data-detail-minus]{
    width:32px;
    height:32px;
    font-size:22px;
  }

  .mayor-detail-buy .mayor-qty-control button[data-detail-plus]{
    width:40px;
    height:40px;
    font-size:27px;
  }
}

/* Product/detail white background and detail interaction pass. */
.mayor-shell[data-view="productos"],
.mayor-shell[data-view="detalle"],
.mayor-shell[data-view="productos"] .mayor-main,
.mayor-shell[data-view="detalle"] .mayor-main,
.mayor-shell[data-view="productos"] #view-productos,
.mayor-shell[data-view="detalle"] #view-detalle{
  background:#fff;
}

.mayor-shell[data-view="detalle"]{
  padding-bottom:env(safe-area-inset-bottom);
}

.mayor-shell[data-view="detalle"] .mayor-bottom-nav{
  display:none !important;
}

.mayor-detail-view{
  will-change:transform;
}

.mayor-detail-view.is-dragging,
.mayor-detail-view.is-sliding{
  position:relative;
  z-index:5;
}

.mayor-detail-body h1{
  font-size:22px;
  font-weight:460;
}

.mayor-detail-buy span{
  font-size:14px;
  line-height:1.25;
}

.mayor-detail-buy .mayor-qty-control{
  gap:12px;
}

.mayor-detail-buy .mayor-qty-control button[data-detail-minus]{
  width:43px;
  height:43px;
  font-size:27px;
}

.mayor-detail-buy .mayor-qty-control button[data-detail-plus]{
  width:53px;
  height:53px;
  font-size:34px;
}

.mayor-detail-buy .mayor-qty-control output{
  min-width:30px;
}

@media (max-width:420px){
  .mayor-detail-body h1{
    font-size:20px;
  }

  .mayor-detail-buy .mayor-qty-control{
    gap:10px;
  }

  .mayor-detail-buy .mayor-qty-control button[data-detail-minus]{
    width:40px;
    height:40px;
    font-size:25px;
  }

  .mayor-detail-buy .mayor-qty-control button[data-detail-plus]{
    width:50px;
    height:50px;
    font-size:32px;
  }
}

/* Product-list quantity controls. */
.mayor-shell[data-view="productos"] .mayor-products-grid{
  margin-top:20px;
}

.mayor-product-image{
  position:relative;
}

.mayor-product-qty-badge{
  position:absolute;
  top:7px;
  left:7px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border:1px solid #111111;
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-size:14px;
  font-weight:350;
  line-height:1;
  will-change:transform,opacity;
}

.mayor-product-name{
  min-height:28px;
  height:28px;
  max-height:28px;
  display:-webkit-box;
  overflow:hidden;
  font-size:11px;
  line-height:1.18;
  font-weight:460;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.mayor-product-foot{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:6px;
  min-width:0;
}

.mayor-product-price{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  color:#111111;
  font-size:19px;
  font-weight:560;
  line-height:1;
  white-space:nowrap;
}

.mayor-product-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
  gap:5px;
  min-width:0;
}

.mayor-product-add{
  flex:0 0 32px;
  width:32px;
  height:32px;
  font-size:22px;
}

.mayor-product-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 27px;
  width:27px;
  height:27px;
  border:1px solid #111111;
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-size:19px;
  font-weight:300;
  line-height:1;
}

.mayor-product-qty-badge{
  border-color:#d92d20;
  background:#fff;
  color:#d92d20;
}

.mayor-product-qty-badge.is-qty-float{
  animation:mayorQtyFloat 520ms ease-out;
}

.mayor-detail-buy .mayor-qty-control output.has-qty{
  color:#d92d20;
}

.mayor-product-card.is-qty-shake{
  animation:mayorProductQtyShake 240ms ease;
}

@keyframes mayorProductQtyShake{
  0%,100%{transform:translate3d(0,0,0)}
  25%{transform:translate3d(-2px,0,0)}
  50%{transform:translate3d(2px,0,0)}
  75%{transform:translate3d(-1px,0,0)}
}

@keyframes mayorQtyFloat{
  0%{
    transform:translate3d(0,0,0) scale(1);
    opacity:1;
  }
  45%{
    transform:translate3d(0,-8px,0) scale(1.18);
    opacity:1;
  }
  100%{
    transform:translate3d(0,-18px,0) scale(.96);
    opacity:0;
  }
}

@media (max-width:420px){
  .mayor-shell[data-view="productos"] .mayor-products-grid{
    margin-top:18px;
  }

  .mayor-product-name{
    min-height:27px;
    height:27px;
    max-height:27px;
    display:-webkit-box;
    overflow:hidden;
    font-size:11px;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }

  .mayor-product-price{
    font-size:18px;
  }

  .mayor-product-qty-badge{
    min-width:26px;
    height:26px;
    font-size:13px;
  }

  .mayor-product-actions{
    gap:5px;
  }

  .mayor-product-add{
    flex-basis:30px;
    width:30px;
    height:30px;
    font-size:21px;
  }

  .mayor-product-step{
    flex-basis:26px;
    width:26px;
    height:26px;
    font-size:18px;
  }
}

/* Product detail scrollable viewport and adaptive metadata row. */
html.mayor-view-detalle,
body.mayor-view-detalle{
  height:100%;
  overflow:hidden;
  overscroll-behavior:contain;
  background:#fff;
}

body.mayor-view-detalle .mayor-shell{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}

body.mayor-view-detalle .mayor-main{
  height:100dvh;
  min-height:0;
  overflow:hidden;
}

body.mayor-view-detalle #view-detalle{
  height:100dvh;
  max-height:100dvh;
  overflow-x:hidden;
  overflow-y:scroll;
  overscroll-behavior-y:contain;
  padding-bottom:calc(24px + env(safe-area-inset-bottom));
  scrollbar-color:rgba(102,102,102,.62) transparent;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  touch-action:auto;
  -webkit-overflow-scrolling:touch;
}

body.mayor-view-detalle .mayor-detail-view,
body.mayor-view-detalle .mayor-detail-body{
  touch-action:auto;
}

body.mayor-view-detalle #view-detalle::-webkit-scrollbar{
  width:10px;
}

body.mayor-view-detalle #view-detalle::-webkit-scrollbar-track{
  background:transparent;
}

body.mayor-view-detalle #view-detalle::-webkit-scrollbar-thumb{
  border:2px solid transparent;
  border-radius:999px;
  background:rgba(102,102,102,.62);
  background-clip:content-box;
}

body.mayor-view-detalle .mayor-detail-body{
  padding-top:12px;
}

body.mayor-view-detalle .mayor-detail-body h1{
  margin-bottom:6px;
}

body.mayor-view-detalle .mayor-detail-tags{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:6px;
  margin-bottom:8px;
}

body.mayor-view-detalle .mayor-detail-tags span{
  flex:0 0 auto;
  width:auto;
  min-width:auto;
  max-width:none;
  min-height:30px;
  padding:4px 9px;
  font-size:15px;
  line-height:1.15;
}

body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="brand"]{
  text-align:left;
}

body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="barcode"]{
  text-align:right;
}

@media (max-width:420px){
  body.mayor-view-detalle .mayor-detail-tags{
    gap:4px;
  }

  body.mayor-view-detalle .mayor-detail-tags span{
    min-height:29px;
    padding-right:8px;
    padding-left:8px;
    font-size:13px;
  }
}

/* Product detail framed meta and buy areas. */
body.mayor-view-detalle .mayor-detail-tags span{
  min-height:30px;
  padding:4px 9px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
}

body.mayor-view-detalle .mayor-detail-buy{
  padding:8px 10px;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
}

body.mayor-view-detalle .mayor-detail-buy.is-register-only{
  display:block;
  padding:10px;
}

body.mayor-view-detalle .mayor-detail-register{
  min-height:50px;
}

/* Product list hard two-line name clamp. */
.mayor-shell[data-view="productos"] .mayor-product-name,
.mayor-home-products .mayor-product-name{
  display:-webkit-box;
  height:26px;
  min-height:26px;
  max-height:26px;
  margin:6px 0 8px;
  overflow:hidden;
  color:#111111;
  font-size:11px;
  font-weight:460;
  line-height:13px;
  text-overflow:ellipsis;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
}

@media (max-width:420px){
  .mayor-shell[data-view="productos"] .mayor-product-name,
  .mayor-home-products .mayor-product-name{
    height:26px;
    min-height:26px;
    max-height:26px;
    font-size:11px;
    line-height:13px;
  }
}

/* Product detail square image and final list action sizing. */
body.mayor-view-detalle .mayor-detail-image-card{
  aspect-ratio:1 / 1;
  min-height:0;
  height:auto;
  align-items:center;
  justify-content:center;
  padding:10px 8px 30px;
}

body.mayor-view-detalle .mayor-detail-image-card img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

body.mayor-view-detalle .mayor-detail-tags{
  gap:4px;
  margin-bottom:8px;
}

body.mayor-view-detalle .mayor-detail-tags span{
  padding-right:9px;
  padding-left:9px;
}

.mayor-shell[data-view="productos"] .mayor-product-price,
.mayor-home-products .mayor-product-price{
  font-size:17px;
}

.mayor-shell[data-view="productos"] .mayor-product-add,
.mayor-home-products .mayor-product-add{
  flex-basis:40px;
  width:40px;
  height:40px;
  font-size:26px;
}

.mayor-shell[data-view="productos"] .mayor-product-step,
.mayor-home-products .mayor-product-step{
  flex-basis:34px;
  width:34px;
  height:34px;
  font-size:22px;
}

@media (max-width:420px){
  body.mayor-view-detalle .mayor-detail-tags span{
    padding-right:8px;
    padding-left:8px;
  }

  .mayor-shell[data-view="productos"] .mayor-product-price,
  .mayor-home-products .mayor-product-price{
    font-size:16px;
  }

  .mayor-shell[data-view="productos"] .mayor-product-add,
  .mayor-home-products .mayor-product-add{
    flex-basis:38px;
    width:38px;
    height:38px;
    font-size:25px;
  }

  .mayor-shell[data-view="productos"] .mayor-product-step,
  .mayor-home-products .mayor-product-step{
    flex-basis:33px;
    width:33px;
    height:33px;
    font-size:21px;
  }
}

/* Cart compact list and product-detail return flow. */
html.mayor-view-carrito,
body.mayor-view-carrito,
body.mayor-view-carrito .mayor-shell{
  background:#fff;
}

.mayor-shell[data-view="carrito"] #view-carrito{
  padding:0 12px 16px;
}

.mayor-cart-title{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(96px,1fr);
  align-items:center;
  gap:10px;
  min-height:48px;
  margin:0 -12px 10px;
  padding:8px 12px;
  border-bottom:1px solid var(--mayor-line);
  background:#fff;
}

.mayor-cart-title h1{
  min-width:0;
  margin:0;
  color:#111111;
  font-size:27px;
  line-height:1;
  font-weight:650;
}

.mayor-cart-title strong{
  min-width:0;
  color:#111111;
  font-size:18px;
  line-height:1;
  font-weight:650;
  text-align:right;
  white-space:nowrap;
}

.mayor-shell[data-view="carrito"] .mayor-cart-card{
  overflow:visible;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}

.mayor-shell[data-view="carrito"] .mayor-cart-items{
  border-top:0;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) 18px;
  align-items:start;
  gap:10px;
  min-height:90px;
  padding:10px 0;
  border-bottom:1px solid #EEEEEE;
  background:#fff;
  cursor:default;
}

.mayor-cart-image{
  width:88px;
  aspect-ratio:10 / 8;
  height:auto;
  overflow:hidden;
  border:1px solid #DDDDDD;
  border-radius:10px;
  background:transparent;
}

.mayor-product-image-button{
  display:block;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  font:inherit;
  -webkit-tap-highlight-color:transparent;
}

.mayor-product-image-button:focus-visible,
.mayor-cart-arrow:focus-visible,
.mayor-order-product-arrow:focus-visible{
  outline:2px solid #D0D0D0;
  outline-offset:2px;
}

.mayor-shell[data-view="carrito"] .mayor-cart-image img{
  display:block;
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  background:transparent;
  object-fit:contain;
}

.mayor-shell[data-view="carrito"] .mayor-cart-line{
  position:static;
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:3px;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item h3{
  display:-webkit-box;
  width:100%;
  max-height:34px;
  margin:0;
  overflow:hidden;
  color:#111111;
  font-size:13px;
  font-weight:400;
  line-height:17px;
  text-overflow:ellipsis;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item-price{
  flex:0 0 auto;
  margin:0;
  color:#111111;
  font:inherit;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item-meta{
  display:flex;
  align-items:center;
  width:100%;
  min-width:0;
  gap:7px;
  justify-content:space-between;
  overflow:hidden;
  color:#666666;
  font-size:clamp(13px,3.55vw,15px);
  line-height:1.25;
  font-weight:400;
  white-space:nowrap;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item-meta span{
  flex:0 0 auto;
  min-width:auto;
  overflow:visible;
  text-overflow:clip;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item-qty{
  flex:0 0 auto;
  color:#d92d20;
  font-size:inherit;
  font-weight:520;
}

.mayor-cart-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:40px;
  align-self:center;
  border:0;
  background:transparent;
  cursor:pointer;
  color:#999999;
  font-size:26px;
  line-height:1;
  font-weight:300;
}

.mayor-shell[data-view="carrito"] .mayor-add-more{
  min-height:46px;
  margin:14px 0;
  border-color:#DDDDDD;
  color:#111111;
  font-size:16px;
  font-weight:400;
}

@media (max-width:420px){
  .mayor-shell[data-view="carrito"] #view-carrito{
    padding:0 10px 14px;
  }

  .mayor-cart-title{
    min-height:46px;
    margin-right:-10px;
    margin-left:-10px;
    padding-right:10px;
    padding-left:10px;
  }

  .mayor-cart-title h1{
    font-size:26px;
  }

  .mayor-cart-title strong{
    font-size:17px;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-item{
    grid-template-columns:82px minmax(0,1fr) 16px;
    gap:9px;
    min-height:84px;
  }

  .mayor-cart-image{
    width:82px;
    aspect-ratio:10 / 8;
    height:auto;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-item h3{
    font-size:12px;
    line-height:16px;
    max-height:32px;
  }

.mayor-shell[data-view="carrito"] .mayor-cart-item-meta{
    font-size:clamp(12px,3.55vw,14px);
    gap:6px;
  }
}

/* Product list refinements: banner clearance, brand/SKU row, and amount badges. */
.mayor-shell[data-view="productos"] .mayor-category-banner{
  margin-top:18px;
}

.mayor-product-meta span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mayor-product-meta span:last-child{
  text-align:right;
}

.mayor-account-root{
  padding-bottom:18px;
}

.mayor-account-auth{
  padding:18px 14px 16px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
}

.mayor-account-auth h1{
  margin:0;
  color:#111111;
  font-size:26px;
  line-height:1.15;
  font-weight:650;
}

.mayor-account-head{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:38px;
  margin-bottom:12px;
}

.mayor-account-login-head,
.mayor-account-register .mayor-account-head{
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-account-head h1{
  margin:0;
}

.mayor-account-head button{
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-size:30px;
  line-height:1;
  font-weight:300;
}

.mayor-account-form{
  display:block;
}

.mayor-account-form[data-account-login-form]{
  display:flex;
  flex-direction:column;
}

.mayor-account-form[data-account-reset-form]{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.mayor-account-form[data-account-login-form] .mayor-account-field + .mayor-account-field{
  margin-top:24px;
}

.mayor-account-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:0 0 18px;
  padding:0;
  border:0;
}

.mayor-account-section legend{
  grid-column:1 / -1;
  width:100%;
  margin:4px 0 2px;
  color:#111111;
  font-size:17px;
  font-weight:650;
}

.mayor-account-register .mayor-account-section legend{
  margin-bottom:12px;
}

.mayor-account-field{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:6px;
}

.mayor-account-span-2{
  grid-column:1 / -1;
}

.mayor-account-field span{
  color:#555555;
  font-size:13px;
  line-height:1.2;
  font-weight:520;
}

.mayor-required-mark{
  margin-left:4px;
  color:#d92d20;
  font-weight:760;
}

.mayor-account-field input,
.mayor-account-field select,
.mayor-account-field textarea{
  width:100%;
  min-height:46px;
  padding:0 12px;
  border:1px solid var(--mayor-line);
  border-radius:10px;
  outline:0;
  background:#fff;
  color:#111111;
  font:inherit;
  font-size:16px;
  letter-spacing:0;
}

.mayor-account-field textarea{
  min-height:84px;
  padding-top:10px;
  resize:vertical;
}

.mayor-account-field input:focus,
.mayor-account-field select:focus,
.mayor-account-field textarea:focus{
  border-color:#D0D0D0;
  box-shadow:0 0 0 3px rgba(0,0,0,.12);
}

.mayor-account-field input:-webkit-autofill,
.mayor-account-field input:-webkit-autofill:hover,
.mayor-account-field input:-webkit-autofill:focus,
.mayor-account-field input:-webkit-autofill:active{
  border-color:var(--mayor-line);
  -webkit-box-shadow:0 0 0 1000px #fff inset;
  box-shadow:0 0 0 1000px #fff inset;
  -webkit-text-fill-color:#111111;
  caret-color:#111111;
  transition:background-color 9999s ease-out;
}

.mayor-password-field{
  position:relative;
  display:block;
  width:100%;
  color:#111111;
  line-height:normal;
}

.mayor-password-field input{
  padding-right:52px;
}

.mayor-password-toggle{
  position:absolute;
  top:50%;
  right:8px;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#555555;
  cursor:pointer;
}

.mayor-password-toggle svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-password-toggle[aria-pressed="true"] .mayor-password-eye-slash{
  display:none;
}

.mayor-password-toggle:hover,
.mayor-password-toggle[aria-pressed="true"]{
  color:#111111;
}

.mayor-account-error{
  margin:0 0 12px;
  color:#d92d20;
  font-size:14px;
  line-height:1.4;
}

.mayor-account-error.is-success{
  color:#15803d;
}

.mayor-account-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.mayor-account-form[data-account-login-form] .mayor-account-actions{
  margin-top:30px;
  gap:18px;
  background:#fff;
}

.mayor-account-form[data-account-reset-form] .mayor-account-actions{
  margin-top:2px;
}

.mayor-account-form[data-account-login-form] .mayor-account-actions button{
  border-color:#999999;
  font-weight:500;
}

.mayor-account-actions button{
  min-height:50px;
  border-radius:12px;
  font-size:17px;
  font-weight:620;
}

.mayor-account-register .mayor-account-field input,
.mayor-account-register .mayor-account-field select,
.mayor-account-register .mayor-account-field textarea,
.mayor-account-register .mayor-account-actions button{
  height:54px;
  min-height:54px;
  background:#fff;
}

.mayor-account-register .mayor-account-field textarea{
  padding-top:14px;
  resize:none;
}

.mayor-account-radio-field{
  margin:0 0 18px;
  padding:0;
  border:0;
}

.mayor-account-radio-field legend{
  margin:0 0 10px;
  color:#555555;
  font-size:14px;
  line-height:1.25;
  font-weight:560;
}

.mayor-account-radio-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.mayor-account-radio-options label{
  display:flex;
  align-items:center;
  min-height:54px;
  gap:10px;
  padding:0 13px;
  border:1px solid var(--mayor-line);
  border-radius:10px;
  background:#fff;
}

.mayor-account-radio-options input{
  width:18px;
  height:18px;
  accent-color:var(--mayor-primary);
}

.mayor-account-radio-options span{
  color:#111111;
  font-size:16px;
  line-height:1.2;
  font-weight:520;
}

.mayor-account-basic-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.mayor-account-basic-actions button{
  min-height:54px;
  border-radius:12px;
  background:#fff;
  font-size:17px;
  font-weight:620;
}

.mayor-address-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-bottom:14px;
}

.mayor-address-list-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:70px;
  gap:12px;
  padding:13px 14px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
  color:#111111;
  text-align:left;
  overflow:hidden;
}

.mayor-address-list-item span{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  gap:6px;
}

.mayor-address-list-item strong{
  color:#111111;
  font-size:16px;
  line-height:1.2;
  font-weight:620;
}

.mayor-address-list-item small{
  display:block;
  max-width:100%;
  color:#666666;
  font-size:12px;
  line-height:1.3;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.mayor-address-list-item em{
  flex:0 0 auto;
  margin-top:2px;
  font-style:normal;
  font-size:12px;
  line-height:1.2;
  font-weight:520;
}

.mayor-address-list-item em.is-complete{
  color:#167647;
}

.mayor-address-list-item em.is-incomplete{
  color:#b42318;
}

.mayor-address-empty{
  min-height:64px;
  padding:20px 14px;
  border:1px dashed var(--mayor-line);
  border-radius:12px;
  background:#fff;
  color:#666666;
  font-size:14px;
  line-height:1.4;
}

.mayor-address-add{
  width:100%;
  min-height:54px;
  border-radius:12px;
  font-size:17px;
  font-weight:620;
}

.mayor-account-primary{
  border:1px solid #111111;
  background:#fff;
  color:#111111;
}

.mayor-account-secondary{
  border:1px solid var(--mayor-line);
  background:#fff;
  color:#111111;
}

.mayor-account-profile{
  padding:18px 16px 16px;
  border-radius:14px;
}

.mayor-account-profile-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.mayor-account-profile .mayor-account-profile-head h1{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.18;
  font-weight:400;
}

.mayor-account-profile .mayor-account-status-pill{
  display:inline;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--mayor-primary);
  font-size:14px;
  font-weight:400;
  line-height:1.25;
}

.mayor-account-avatar,
.mayor-account-welcome,
.mayor-account-logout-long,
.mayor-account-logout-icon,
.mayor-account-progress,
.mayor-account-module-description,
.mayor-account-module-chevron{
  display:none;
}

.mayor-account-logout-short{
  display:inline;
}

.mayor-account-profile .mayor-account-profile-head button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:auto;
  min-height:38px;
  margin:0;
  padding:0 12px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-size:14px;
  font-weight:520;
  white-space:nowrap;
}

.mayor-account-profile .mayor-account-continue{
  display:block;
  width:100%;
  min-height:50px;
  margin-top:18px;
  border:1px solid #D0D0D0;
  border-radius:12px;
  background:#F1F1F1;
  color:var(--mayor-primary);
  font-size:17px;
  font-weight:620;
}

.mayor-account-modules{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.mayor-account-boutique-banner{
  display:none;
}

.mayor-shell[data-view="cuenta"] .mayor-account-boutique-banner{
  display:block;
  aspect-ratio:2 / 1;
  width:calc(100% + 32px);
  margin:14px -16px 0;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:hidden;
  box-shadow:none;
}

.mayor-shell[data-view="cuenta"] .mayor-account-boutique-banner img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (max-width:420px){
  .mayor-shell[data-view="cuenta"] .mayor-account-boutique-banner{
    width:calc(100% + 20px);
    margin-left:-10px;
    margin-right:-10px;
  }
}

.mayor-account-module{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  min-height:94px;
  padding:15px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
  color:#111111;
  text-align:left;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-account-module-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  width:100%;
  gap:8px;
}

.mayor-account-module-icon{
  width:28px;
  height:28px;
  flex:0 0 auto;
  margin-bottom:0;
  fill:none;
  stroke:#333333;
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-account-module-label{
  display:block;
  margin-top:14px;
  color:#111111;
  font-size:15px;
  line-height:1.2;
  font-weight:520;
}

.mayor-account-module-copy{
  display:block;
  min-width:0;
}

.mayor-account-module-status{
  display:inline-flex;
  flex:0 0 auto;
  margin:0 0 0 auto;
  color:#666666;
  font-size:12px;
  line-height:1.2;
  font-weight:500;
  text-align:right;
  white-space:nowrap;
}

.mayor-account-module-status.is-complete{
  color:#167647;
}

.mayor-account-module-status.is-incomplete{
  color:#b42318;
}

.mayor-account-module.is-disabled{
  opacity:.48;
  cursor:not-allowed;
}

.mayor-account-module.is-disabled .mayor-account-module-icon,
.mayor-account-module.is-disabled .mayor-account-module-label{
  color:#999999;
  stroke:#999999;
}

.mayor-account-settings{
  display:grid;
  gap:12px;
  min-height:0;
}

.mayor-account-settings-head-card{
  padding-bottom:18px;
}

.mayor-account-settings-head-card .mayor-account-head{
  margin-bottom:0;
}

.mayor-account-settings-section{
  padding-top:18px;
}

.mayor-account-style-setting{
  margin:0;
  padding:0;
  border:0;
}

.mayor-account-style-setting legend{
  margin:0 0 12px;
  color:#111111;
  font-size:18px;
  line-height:1.2;
  font-weight:650;
}

.mayor-interface-style-options{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.mayor-interface-style-option{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:0 14px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
  color:#111111;
  font-size:16px;
  line-height:1.2;
  font-weight:560;
}

.mayor-interface-style-option.is-active{
  border-color:#111111;
  box-shadow:0 0 0 2px rgba(0,0,0,.08);
}

.mayor-interface-style-option input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:#111111;
}

.mayor-interface-style-option span{
  min-width:0;
}

.mayor-account-details{
  display:block;
  margin-top:12px;
  padding:0;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
}

.mayor-account-details div{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:12px;
  padding:13px 14px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-account-details div:last-child{
  border-bottom:0;
}

.mayor-account-details span{
  color:#666666;
  font-size:14px;
}

.mayor-account-details b{
  min-width:0;
  color:#111111;
  font-size:15px;
  line-height:1.35;
  font-weight:520;
  overflow-wrap:anywhere;
}

.mayor-account-dialog{
  position:fixed;
  inset:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.36);
}

.mayor-account-dialog-card{
  width:min(100%,360px);
  padding:22px 18px 16px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

.mayor-account-recovery-card{
  width:min(100%,420px);
  padding:26px 20px 18px;
}

.mayor-account-recovery-form{
  display:grid;
  gap:18px;
}

.mayor-account-recovery-form h2{
  margin:0 0 2px;
  color:#111111;
  font-size:24px;
  line-height:1.15;
  font-weight:650;
}

.mayor-account-recovery-form > .mayor-account-field{
  gap:9px;
}

.mayor-account-recovery-methods{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  border:0;
}

.mayor-account-recovery-methods legend{
  margin:0 0 2px;
  color:#555555;
  font-size:13px;
  line-height:1.2;
  font-weight:520;
}

.mayor-account-recovery-methods label{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:0 12px;
  border:1px solid var(--mayor-line);
  border-radius:10px;
  background:#fff;
  color:#111111;
  font-size:15px;
  font-weight:560;
}

.mayor-account-recovery-methods input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:#111111;
}

.mayor-account-recovery-form .mayor-account-error{
  margin:0;
}

.mayor-account-helper{
  margin:0 0 18px;
  color:#555555;
  font-size:15px;
  line-height:1.45;
}

.mayor-account-dialog-card p{
  margin:0 0 18px;
  color:#111111;
  font-size:17px;
  line-height:1.45;
}

.mayor-account-message-dialog .mayor-account-dialog-message{
  color:#15803d;
  font-weight:560;
}

.mayor-account-message-dialog.mayor-account-message-warning .mayor-account-dialog-message{
  color:#d92d20;
}

.mayor-account-dialog-card button{
  width:100%;
  min-height:46px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
  color:#111111;
  font-size:16px;
}

.mayor-account-dialog-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.mayor-account-dialog-actions button{
  width:100%;
}

.mayor-account-existing-code{
  width:100%;
}

@media (max-width:520px){
  .mayor-shell[data-view="cuenta"] .mayor-account-password-reset{
    margin-top:calc(env(safe-area-inset-top, 0px) + 14px);
    scroll-margin-top:calc(env(safe-area-inset-top, 0px) + 18px);
  }

  .mayor-account-section{
    grid-template-columns:1fr;
  }

  .mayor-account-span-2{
    grid-column:auto;
  }

  .mayor-account-basic-actions{
    grid-template-columns:1fr 1fr;
  }

  .mayor-account-details div{
    grid-template-columns:96px minmax(0,1fr);
  }
}

/* Product detail swipe and price/unit alignment. */
body.mayor-view-detalle .mayor-detail-image-card{
  touch-action:auto;
}

body.mayor-view-detalle .mayor-detail-buy{
  align-items:center;
  justify-content:flex-end;
  gap:clamp(12px,4vw,24px);
}

body.mayor-view-detalle .mayor-detail-buy > div:first-child{
  display:flex;
  flex:0 1 auto;
  align-items:baseline;
  justify-content:flex-end;
  min-width:0;
  gap:6px;
  text-align:right;
}

body.mayor-view-detalle .mayor-detail-buy strong{
  font-size:31px;
  line-height:1;
}

body.mayor-view-detalle .mayor-detail-buy span{
  display:inline;
  margin-top:0;
  white-space:nowrap;
}

body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control{
  flex:0 0 auto;
  gap:8px;
}

body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-minus]{
  width:36px;
  height:36px;
  font-size:23px;
}

body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-plus]{
  width:45px;
  height:45px;
  font-size:29px;
}

body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control output{
  min-width:24px;
  font-size:18px;
}

@media (max-width:420px){
  body.mayor-view-detalle .mayor-detail-buy{
    gap:10px;
    padding-top:8px;
    padding-bottom:8px;
  }

  body.mayor-view-detalle .mayor-detail-buy strong{
    font-size:30px;
  }

  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control{
    gap:7px;
  }

  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-minus]{
    width:35px;
    height:35px;
    font-size:22px;
  }

  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-plus]{
    width:44px;
    height:44px;
    font-size:28px;
  }
}

/* Cart page card layout and page-style order submit flow. */
.mayor-shell[data-view="order-submit"] .mayor-topbar{
  display:none !important;
}

html.mayor-view-carrito,
body.mayor-view-carrito,
body.mayor-view-carrito .mayor-shell,
html.mayor-view-order-submit,
body.mayor-view-order-submit,
body.mayor-view-order-submit .mayor-shell{
  background:var(--mayor-bg);
}

.mayor-shell[data-view="carrito"] #view-carrito,
.mayor-shell[data-view="order-submit"] #view-order-submit{
  padding:0 12px 16px;
}

.mayor-cart-title{
  position:sticky;
  top:0;
  z-index:34;
  min-height:58px;
  margin:0 0 6px;
  padding:7px 12px;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.mayor-cart-title .mayor-cart-total{
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  justify-self:center;
  gap:5px;
  color:#B7834C;
  font-size:18px;
  line-height:1;
  font-weight:650;
  text-align:center;
}

.mayor-cart-title .mayor-cart-total span{
  color:#555555;
  font-size:15px;
  font-weight:520;
}

.mayor-cart-title .mayor-cart-total b{
  font:inherit;
}

.mayor-cart-title-submit{
  justify-self:end;
  min-width:96px;
  min-height:44px;
  padding:0 14px;
  border:1px solid #D0D0D0;
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-size:13px;
  line-height:1;
  font-weight:650;
  white-space:nowrap;
  box-shadow:none;
}

.mayor-cart-title-submit:disabled,
.mayor-cart-title-submit[aria-disabled="true"]{
  opacity:.55;
  cursor:not-allowed;
}

.mayor-shell[data-view="carrito"] .mayor-cart-card{
  overflow:hidden;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-shell[data-view="carrito"] .mayor-cart-items{
  border-top:0;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item{
  padding:10px 12px;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item:last-child{
  border-bottom:0;
}

.mayor-shell[data-view="carrito"] .mayor-add-more{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:54px;
  margin:12px 0;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
  color:#111111;
  font-size:16px;
  font-weight:520;
}

.mayor-shell[data-view="carrito"] .mayor-order-summary{
  background:#fff;
}

.mayor-order-submit-root{
  padding-bottom:18px;
}

.mayor-order-submit-card{
  padding:18px 14px 16px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
}

.mayor-order-submit-head{
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-order-submit-head h1{
  margin:0;
  color:#111111;
  font-size:26px;
  line-height:1.15;
  font-weight:650;
}

.mayor-order-submit-card .mayor-order-addresses{
  margin-bottom:16px;
}

.mayor-order-submit-card .mayor-order-note{
  gap:4px;
  margin-bottom:14px;
}

.mayor-order-submit-card .mayor-order-note span{
  margin-bottom:0;
}

.mayor-order-submit-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
  padding:12px 0;
  color:#555555;
  font-size:15px;
}

.mayor-order-submit-total strong{
  color:#111111;
  font-size:21px;
  line-height:1;
  font-weight:700;
}

@media (max-width:420px){
  .mayor-shell[data-view="carrito"] #view-carrito,
  .mayor-shell[data-view="order-submit"] #view-order-submit{
    padding:0 10px 14px;
  }

  .mayor-cart-title{
    grid-template-columns:minmax(82px,1fr) auto minmax(92px,1fr);
    gap:8px;
    min-height:58px;
    margin-right:0;
    margin-left:0;
    padding:6px 10px;
  }

  .mayor-cart-title .mayor-cart-total{
    font-size:17px;
  }

  .mayor-cart-title .mayor-cart-total span{
    font-size:14px;
  }

  .mayor-cart-title-submit{
    min-width:92px;
    min-height:42px;
    padding-right:10px;
    padding-left:10px;
    font-size:12px;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-item{
    padding-right:10px;
    padding-left:10px;
  }
}

/* Boutique interface branch: cart only. Professional cart styles above remain the baseline. */
html[data-interface-style="boutique"].mayor-view-carrito,
body.mayor-interface-boutique.mayor-view-carrito,
body.mayor-interface-boutique.mayor-view-carrito .mayor-shell{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"]{
  --cart-boutique-bg:#FFFAF4;
  --cart-boutique-surface:rgba(255,253,249,.82);
  --cart-boutique-line:rgba(202,169,126,.38);
  --cart-boutique-line-soft:rgba(202,169,126,.24);
  --cart-boutique-olive:#5F6B45;
  --cart-boutique-olive-light:#77825D;
  --cart-boutique-brown:#8b623e;
  --cart-boutique-muted:#6b7280;
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] #view-carrito{
  padding:0 14px 18px;
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title{
  min-height:64px;
  margin:0 0 8px;
  padding:8px 12px;
  border:1px solid var(--cart-boutique-line);
  border-radius:14px;
  background:var(--cart-boutique-surface);
  box-shadow:0 10px 28px rgba(139,94,52,.07);
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title h1{
  color:var(--cart-boutique-olive);
  font-size:30px;
  font-weight:700;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title .mayor-cart-total{
  color:#B7834C;
  font-size:18px;
  font-weight:700;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title .mayor-cart-total span{
  color:var(--cart-boutique-brown);
  font-size:14px;
  font-weight:560;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title-submit{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#FFFFFF;
  box-shadow:0 8px 18px rgba(95,107,69,.18);
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title-submit:disabled,
.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title-submit[aria-disabled="true"]{
  color:rgba(255,255,255,.75);
  box-shadow:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-card{
  overflow:hidden;
  border:1px solid var(--cart-boutique-line);
  border-radius:14px;
  background:var(--cart-boutique-surface);
  box-shadow:0 10px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-items{
  background:transparent;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-item{
  grid-template-columns:86px minmax(0,1fr) 18px;
  gap:10px;
  min-height:92px;
  padding:11px 12px;
  border-bottom:1px solid var(--cart-boutique-line-soft);
  background:transparent;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-item:last-child{
  border-bottom:0;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-image{
  width:86px;
  border-color:var(--cart-boutique-line);
  border-radius:12px;
  background:#fffdf9;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-image img{
  background:#fffdf9;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-item h3{
  color:#1f2937;
  font-size:13px;
  font-weight:520;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-item-meta{
  color:#7a6c5d;
  font-weight:430;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-item-price{
  color:var(--cart-boutique-olive);
  font-weight:620;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-item-qty{
  color:#bc8952;
  font-weight:700;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-arrow{
  color:#bc8952;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-empty{
  color:var(--cart-boutique-muted);
  background:transparent;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-add-more{
  min-height:52px;
  margin:14px 0;
  border:1px solid #B7834C;
  border-radius:999px;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(183,131,76,.18);
  font-size:17px;
  font-weight:620;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-order-summary{
  margin-top:14px;
  padding:16px 14px;
  border:1px solid var(--cart-boutique-line);
  border-radius:14px;
  background:var(--cart-boutique-surface);
  box-shadow:0 12px 32px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-discount-summary{
  gap:12px;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-discount-summary span,
.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-discount-next{
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-discount-summary strong{
  color:var(--cart-boutique-olive);
  font-weight:720;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-primary-action{
  min-height:54px;
  margin-top:18px;
  border:1px solid var(--cart-boutique-olive-light);
  border-radius:999px;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(95,107,69,.18);
  font-size:18px;
  font-weight:700;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-primary-action:disabled,
.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-primary-action[aria-disabled="true"]{
  border-color:rgba(95,107,69,.26);
  background:linear-gradient(180deg,rgba(119,130,93,.46) 0%,rgba(95,107,69,.46) 100%);
  color:rgba(255,255,255,.72);
  box-shadow:none;
}

body.mayor-interface-boutique.mayor-view-carrito .mayor-bottom-nav svg{
  color:#5F6B45;
}

body.mayor-interface-boutique.mayor-view-carrito .mayor-bottom-nav button.is-active{
  color:#5F6B45;
}

body.mayor-interface-boutique.mayor-view-carrito .mayor-bottom-nav button.is-active svg{
  background:rgba(95,107,69,.12);
}

@media (max-width:420px){
  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] #view-carrito{
    padding:0 12px 16px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title{
    min-height:62px;
    padding-right:12px;
    padding-left:12px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title h1{
    font-size:28px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title .mayor-cart-total{
    font-size:16px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-item{
    grid-template-columns:82px minmax(0,1fr) 16px;
    gap:9px;
    padding-right:10px;
    padding-left:10px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-image{
    width:82px;
  }
}

/* Pedido module compact typography and page detail view. */
.mayor-shell[data-view="order-detail"] .mayor-topbar{
  display:none !important;
}

html.mayor-view-pedidos,
body.mayor-view-pedidos,
body.mayor-view-pedidos .mayor-shell,
html.mayor-view-order-detail,
body.mayor-view-order-detail,
body.mayor-view-order-detail .mayor-shell{
  background:var(--mayor-bg);
}

.mayor-shell[data-view="pedidos"] #view-pedidos,
.mayor-shell[data-view="order-detail"] #view-order-detail{
  padding:0 12px 16px;
}

.mayor-orders-root{
  gap:12px;
}

.mayor-orders-summary{
  padding:18px 14px 16px;
  border-radius:14px;
}

.mayor-orders-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.mayor-orders-summary h1{
  margin:0;
  color:#111111;
  font-size:26px;
  line-height:1.15;
  font-weight:650;
}

.mayor-order-status-filter{
  flex:0 0 auto;
  padding:0;
  overflow:visible;
}

.mayor-order-status-filter select{
  min-height:36px;
  max-width:148px;
  padding:0 34px 0 12px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  outline:0;
  background:#fff;
  color:#111111;
  font-size:13px;
  line-height:1;
  font-weight:400;
}

.mayor-orders-stats{
  grid-template-columns:.72fr 1fr 1fr;
  gap:8px;
}

.mayor-orders-stats div{
  padding:9px 8px;
  border-radius:10px;
  background:#F8F8F8;
}

.mayor-orders-stats span{
  margin-bottom:4px;
  color:#666666;
  font-size:10px;
  line-height:1;
  font-weight:400;
  white-space:nowrap;
}

.mayor-orders-stats strong{
  color:#111111;
  font-size:16px;
  line-height:1;
  font-weight:400;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.mayor-order-card{
  padding:13px;
  border-radius:14px;
}

.mayor-order-card-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  margin-bottom:10px;
  color:#111111;
}

.mayor-order-card-line strong{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  color:#111111;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mayor-order-card-line span{
  flex:0 0 auto;
  color:#666666;
  font-size:12px;
  line-height:1.2;
  font-weight:400;
  white-space:nowrap;
}

.mayor-order-card-line mark{
  flex:0 0 auto;
  min-height:24px;
  padding:4px 8px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-size:12px;
  line-height:16px;
  font-weight:400;
}

.mayor-order-card-grid{
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:12px;
}

.mayor-order-card-grid div{
  padding:9px 10px;
  border-radius:10px;
  background:#F8F8F8;
}

.mayor-order-card-grid span{
  color:#666666;
  font-size:11px;
  line-height:1.2;
  font-weight:400;
}

.mayor-order-card-grid strong{
  margin-top:5px;
  color:#111111;
  font-size:16px;
  line-height:1;
  font-weight:400;
}

.mayor-order-card-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.mayor-order-card-actions button{
  min-height:40px;
  border-color:var(--mayor-line);
  color:#111111;
  font-size:13px;
  font-weight:400;
}

.mayor-order-card-actions button:disabled{
  color:#999999;
  background:#fff;
}

.mayor-shell[data-view="pedidos"] .mayor-bottom-nav button.is-active,
.mayor-shell[data-view="order-detail"] .mayor-bottom-nav button.is-active{
  color:#111111;
}

.mayor-shell[data-view="pedidos"] .mayor-bottom-nav button.is-active svg,
.mayor-shell[data-view="order-detail"] .mayor-bottom-nav button.is-active svg{
  background:#F8F8F8;
}

.mayor-order-detail-root{
  padding-bottom:18px;
}

.mayor-order-detail-card{
  padding:18px 14px 16px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
}

.mayor-order-detail-head{
  margin-bottom:18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-order-detail-head h1{
  margin:0;
  color:#111111;
  font-size:26px;
  line-height:1.15;
  font-weight:650;
}

.mayor-order-detail-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:12px;
}

.mayor-order-detail-meta div{
  min-width:0;
  padding:9px 10px;
  border-radius:10px;
  background:#F8F8F8;
}

.mayor-order-detail-meta span{
  display:block;
  color:#666666;
  font-size:11px;
  line-height:1.2;
  font-weight:400;
}

.mayor-order-detail-meta strong{
  display:block;
  margin-top:5px;
  color:#111111;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
  overflow-wrap:anywhere;
}

.mayor-order-detail-items{
  overflow:hidden;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
}

.mayor-order-detail-item{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  align-items:start;
  gap:9px;
  min-height:84px;
  padding:10px;
  border-bottom:1px solid #EEEEEE;
  background:#fff;
}

.mayor-order-detail-item:last-child{
  border-bottom:0;
}

.mayor-order-detail-item .mayor-cart-image{
  width:82px;
  aspect-ratio:10 / 8;
  height:auto;
}

.mayor-order-detail-item .mayor-cart-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.mayor-order-detail-item h3{
  display:-webkit-box;
  width:100%;
  max-height:34px;
  margin:0;
  overflow:hidden;
  color:#111111;
  font-size:13px;
  line-height:17px;
  font-weight:400;
  text-overflow:ellipsis;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
}

.mayor-order-detail-item .mayor-cart-item-meta{
  color:#666666;
  font-size:13px;
  font-weight:400;
}

.mayor-order-detail-item .mayor-cart-item-price{
  color:#111111;
  font-weight:400;
}

@media (max-width:420px){
  .mayor-shell[data-view="pedidos"] #view-pedidos,
  .mayor-shell[data-view="order-detail"] #view-order-detail{
    padding:0 10px 14px;
  }

  .mayor-order-status-filter select{
    max-width:136px;
    font-size:12px;
  }

  .mayor-orders-stats strong,
  .mayor-order-card-grid strong{
    font-size:15px;
  }
}

.mayor-badge,
.mayor-cart-nav i{
  display:inline-block;
  min-width:max-content;
  height:auto;
  padding:0;
  color:#d92d20;
  background:transparent;
  border:0;
  font-style:normal;
  font-weight:400;
  letter-spacing:0;
  transform-origin:center;
  will-change:transform;
}

.mayor-badge.is-cart-pulse,
.mayor-cart-nav i.is-cart-pulse{
  animation:mayorCartCountPulse 340ms ease-out;
}

.mayor-cart-button .mayor-badge{
  top:-7px;
  right:-10px;
  font-size:11px;
  line-height:1;
}

.mayor-products-toolbar .mayor-badge{
  top:-7px;
  right:-10px;
  min-width:max-content;
  height:auto;
  padding:0;
  color:#d92d20;
  font-size:11px;
  font-weight:400;
}

.mayor-cart-nav i{
  top:-5px;
  right:5px;
  font-size:12px;
  line-height:1;
}

@keyframes mayorCartCountPulse{
  0%,100%{transform:scale(1)}
  45%{transform:scale(1.32)}
}

@media (max-width:420px){
  .mayor-shell[data-view="productos"] .mayor-category-banner{
    margin-top:20px;
  }
}

/* Product list compact spacing requested for mobile catalogue cards. */
.mayor-shell[data-view="productos"] #view-productos{
  padding-right:5px;
  padding-left:5px;
}

.mayor-shell[data-view="productos"] .mayor-products-grid{
  gap:5px;
}

.mayor-shell[data-view="productos"] .mayor-product-card{
  border-radius:7px;
}

.mayor-shell[data-view="productos"] .mayor-products-toolbar{
  margin-right:-5px;
  margin-left:-5px;
}

.mayor-products-search{
  padding-right:24px;
}

.mayor-search .mayor-search-clear{
  right:3px;
  min-width:0;
  width:20px;
  height:34px;
  padding:0;
  border:0;
  border-radius:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  color:#111111;
  font-size:24px;
  font-weight:300;
  -webkit-tap-highlight-color:transparent;
}

.mayor-search .mayor-search-clear:focus,
.mayor-search .mayor-search-clear:focus-visible,
.mayor-search .mayor-search-clear:active{
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
}

.mayor-product-meta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:4px;
}

.mayor-product-meta span:first-child{
  text-align:left;
}

.mayor-product-meta span:nth-child(2){
  text-align:center;
}

.mayor-product-meta span:last-child{
  text-align:right;
}

/* Product image-only detail entry and detail buy row alignment. */
.mayor-product-card{
  cursor:default;
}

.mayor-product-image[data-open-product-detail]{
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

body.mayor-view-detalle .mayor-detail-body h1{
  font-size:18px;
  font-weight:400;
}

body.mayor-view-detalle .mayor-detail-tags{
  padding-right:5px;
  padding-left:5px;
}

body.mayor-view-detalle .mayor-detail-tags span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  text-align:center;
}

body.mayor-view-detalle .mayor-detail-buy{
  justify-content:space-between;
}

body.mayor-view-detalle .mayor-detail-buy > div:first-child{
  flex:0 0 auto;
  justify-content:flex-start;
  margin-right:auto;
  text-align:left;
}

body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control{
  gap:17px;
  margin-left:auto;
}

body.mayor-view-detalle .mayor-detail-buy strong{
  font-weight:450;
}

/* Pedido layout: status strip, bordered metrics, and order detail product rows. */
.mayor-shell[data-view="pedidos"] .mayor-orders-root{
  gap:12px;
}

.mayor-shell[data-view="pedidos"] .mayor-orders-summary{
  padding:18px 14px 16px;
}

.mayor-shell[data-view="pedidos"] .mayor-orders-summary-head{
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-shell[data-view="pedidos"] .mayor-orders-stats div,
.mayor-shell[data-view="pedidos"] .mayor-order-card-grid div,
.mayor-shell[data-view="order-detail"] .mayor-order-detail-meta div{
  border:1px solid var(--mayor-line);
  background:#fff;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter{
  display:flex;
  align-items:center;
  width:100%;
  height:56px;
  min-height:56px;
  padding:0 10px;
  overflow-x:auto;
  overflow-y:hidden;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter::-webkit-scrollbar{
  display:none;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:92px;
  height:38px;
  margin-right:8px;
  padding:0 12px;
  gap:6px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#fff;
  color:#111111;
  font-size:13px;
  line-height:1;
  font-weight:400;
  white-space:nowrap;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter button:last-child{
  margin-right:0;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter button.is-active{
  border-color:#111111;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter b{
  color:#666666;
  font-size:12px;
  font-weight:400;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-line{
  justify-content:space-between;
  gap:14px;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-line strong,
.mayor-shell[data-view="pedidos"] .mayor-order-card-line span{
  color:#111111;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-line span{
  text-align:right;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-grid div{
  min-height:56px;
  padding:8px 7px;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-grid span{
  font-size:10px;
  line-height:1.15;
  white-space:nowrap;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-grid strong{
  margin-top:6px;
  font-size:14px;
  line-height:1;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-live{
  color:#d92d20;
}

.mayor-order-detail-summary-card,
.mayor-order-detail-products-card{
  padding:18px 14px 16px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
}

.mayor-order-detail-products-card{
  margin-top:12px;
  padding:10px;
}

.mayor-order-detail-summary-card .mayor-order-detail-meta{
  margin-bottom:0;
}

.mayor-order-detail-products-card .mayor-order-detail-items{
  border:0;
  border-radius:12px;
}

.mayor-order-detail-products-card .mayor-order-detail-item{
  grid-template-columns:82px minmax(0,1fr) 28px;
  align-items:center;
  gap:9px;
  min-height:84px;
  padding:8px 10px;
}

.mayor-order-detail-products-card .mayor-order-detail-item h3{
  max-height:40px;
  font-size:14px;
  line-height:20px;
  -webkit-line-clamp:2;
  line-clamp:2;
}

.mayor-order-product-meta-row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  align-items:center;
  column-gap:10px;
  margin-top:6px;
  color:#666666;
  font-size:13px;
  line-height:1.2;
  font-weight:400;
  white-space:nowrap;
  text-align:center;
}

.mayor-order-product-meta-row span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:18px;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1;
}

.mayor-order-product-meta-row .mayor-cart-item-price{
  margin:0;
  color:#111111;
  font-size:14px;
  font-weight:400;
  line-height:1;
  text-align:center;
}

.mayor-order-product-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:40px;
  border:0;
  background:transparent;
  color:#666666;
  font-size:30px;
  line-height:1;
  font-weight:300;
  -webkit-tap-highlight-color:transparent;
}

/* Unified Mayor text/action buttons. Quantity steppers and icon/navigation buttons keep their own controls. */
.mayor-shell :is(
  .mayor-search button,
  .mayor-page-title button,
  .mayor-quick-grid button,
  .mayor-section-head button,
  .mayor-category-strip button,
  .mayor-load-more,
  .mayor-add-more,
  .mayor-primary-action,
  .mayor-order-status-filter button,
  .mayor-orders-empty button,
  .mayor-order-card-actions button,
  .mayor-brand-filters button,
  .mayor-cat-children button,
  .mayor-account-card button,
  .mayor-account-list button,
  .mayor-account-actions button,
  .mayor-account-basic-actions button,
  .mayor-account-primary,
  .mayor-account-secondary,
  .mayor-address-add,
  .mayor-account-profile .mayor-account-profile-head button
),
.mayor-order-dialog :is(.mayor-order-dialog-actions button),
.mayor-account-dialog :is(.mayor-account-dialog-card > button, .mayor-account-dialog-actions button){
  height:50px;
  min-height:50px;
  border-radius:20px;
  border:1px solid #999999;
  font-weight:500;
}

.mayor-shell :is(
  .mayor-search button,
  .mayor-page-title button,
  .mayor-quick-grid button,
  .mayor-section-head button,
  .mayor-category-strip button,
  .mayor-load-more,
  .mayor-add-more,
  .mayor-primary-action,
  .mayor-order-status-filter button,
  .mayor-orders-empty button,
  .mayor-order-card-actions button,
  .mayor-brand-filters button,
  .mayor-cat-children button,
  .mayor-account-card button,
  .mayor-account-list button,
  .mayor-account-actions button,
  .mayor-account-basic-actions button,
  .mayor-account-primary,
  .mayor-account-secondary,
  .mayor-address-add,
  .mayor-account-profile .mayor-account-profile-head button
) :is(span,strong,b),
.mayor-order-dialog :is(.mayor-order-dialog-actions button) :is(span,strong,b),
.mayor-account-dialog :is(.mayor-account-dialog-card > button, .mayor-account-dialog-actions button) :is(span,strong,b){
  font-weight:500;
}

.mayor-shell :is(
  .mayor-category-strip button.is-active,
  .mayor-order-status-filter button.is-active,
  .mayor-brand-filters button.is-active,
  .mayor-cat-children button.is-active,
  .mayor-cat-children button.is-active:hover
){
  border-color:#999999;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter button.is-active,
.mayor-shell[data-view="pedidos"] .mayor-order-card-actions button.is-active{
  border-color:#D0D0D0;
  background:#F2F4F7;
  color:#111111;
  box-shadow:none;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter button.is-active b,
.mayor-shell[data-view="pedidos"] .mayor-order-card-actions button.is-active :is(span,strong,b){
  color:#111111;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card.is-selected{
  border-color:#D0D0D0;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter button{
  height:40px;
  min-height:40px;
  border-radius:16px;
}

.mayor-shell[data-view="pedidos"] .mayor-order-status-filter select{
  border-radius:14px;
}

.mayor-category-close{
  border-radius:18px;
}

.mayor-category-panel :is(
  .mayor-brand-filters button,
  .mayor-cat-row,
  .mayor-cat-group summary,
  .mayor-cat-children button
){
  height:40px;
  min-height:40px;
  border-radius:16px;
}

.mayor-category-panel :is(
  .mayor-brand-filters button.is-active,
  .mayor-cat-row.is-active,
  .mayor-cat-group[open] > summary,
  .mayor-cat-group summary.is-active,
  .mayor-cat-children button.is-active
){
  border-color:#999999;
  background:#F2F4F7;
  color:#111111;
}

/* Category menu option heights: brand filters and secondary categories match primary rows. */
.mayor-shell[data-view="productos"] .mayor-category-panel :is(
  .mayor-brand-filters button,
  .mayor-cat-row,
  .mayor-cat-group summary,
  .mayor-cat-children button
){
  height:40px;
  min-height:40px;
  padding-top:0;
  padding-bottom:0;
  border-radius:16px;
}

.mayor-account-profile .mayor-account-profile-head button[data-account-logout]{
  flex:0 0 92px;
  width:92px;
  height:44px;
  min-height:44px;
  padding:0 14px;
  border-radius:18px;
}

/* Pedido cards use the outer card as the frame; inner metrics stay unboxed. */
.mayor-shell[data-view="pedidos"] .mayor-orders-stats{
  gap:18px;
}

.mayor-shell[data-view="pedidos"] .mayor-orders-stats div,
.mayor-shell[data-view="pedidos"] .mayor-order-card-grid div{
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

.mayor-shell[data-view="pedidos"] .mayor-orders-stats span{
  margin-bottom:6px;
  font-size:13px;
  line-height:1.15;
}

.mayor-shell[data-view="pedidos"] .mayor-orders-stats strong{
  font-size:18px;
  line-height:1.1;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-line{
  margin-bottom:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-grid{
  gap:14px;
  margin-bottom:12px;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-grid span{
  margin-bottom:6px;
  font-size:11px;
  line-height:1.15;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-grid strong{
  margin-top:0;
  font-size:16px;
  line-height:1.1;
}

.mayor-shell[data-view="pedidos"] .mayor-order-card-actions button{
  font-size:17px;
}

@media (min-width:900px){
  .mayor-shell[data-view="pedidos"] .mayor-main{
    max-width:1360px;
  }

  .mayor-shell[data-view="pedidos"] #view-pedidos.is-active{
    padding:24px 32px 54px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-root{
    display:grid;
    grid-template-columns:clamp(440px,42%,560px) minmax(0,1fr);
    grid-template-areas:
      "orders-topbar orders-topbar"
      "orders-list orders-detail";
    grid-template-rows:auto minmax(0,1fr);
    align-items:start;
    gap:18px 24px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-topbar{
    grid-area:orders-topbar;
    position:sticky;
    top:92px;
    z-index:18;
    display:grid;
    grid-template-columns:clamp(440px,48%,620px) minmax(0,1fr);
    align-items:stretch;
    gap:14px;
    order:initial;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-topbar .mayor-order-status-filter{
    order:1;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-topbar .mayor-orders-summary{
    order:2;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-summary{
    display:flex;
    align-items:center;
    gap:20px;
    min-height:64px;
    padding:12px 18px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-summary-head{
    flex:0 0 auto;
    margin:0;
    padding:0;
    border:0;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-summary h1{
    margin:0;
    font-size:24px;
    line-height:1;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats{
    display:flex;
    align-items:center;
    flex:1 1 auto;
    grid-template-columns:none;
    gap:18px;
    min-width:0;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats div{
    display:flex;
    align-items:baseline;
    gap:6px;
    min-width:0;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats span{
    margin:0;
    font-size:15px;
    line-height:1;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats span::after{
    content:":";
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats strong{
    margin:0;
    font-size:18px;
    line-height:1;
  }

  .mayor-shell[data-view="pedidos"] .mayor-order-status-filter{
    min-height:64px;
    height:64px;
    padding:0 10px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-order-status-filter button{
    min-width:auto;
    margin-right:0;
    padding:0 11px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-list{
    grid-area:orders-list;
    min-height:0;
    max-height:calc(100vh - 236px);
    padding:12px;
    overflow-y:auto;
    overflow-x:hidden;
    border:1px solid var(--mayor-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-list .mayor-order-card{
    box-shadow:none;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-detail-pane{
    grid-area:orders-detail;
    position:sticky;
    top:174px;
    display:block;
    min-width:0;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-detail-pane .mayor-order-detail-summary-card{
    margin:0;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-detail-pane .mayor-order-detail-head.is-inline{
    display:flex;
    align-items:center;
    min-height:auto;
    margin:0 0 16px;
    padding:0 0 16px;
    border-bottom:1px solid var(--mayor-line);
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-detail-pane .mayor-order-detail-head.is-inline h1{
    margin:0;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-detail-pane .mayor-order-detail-meta{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-detail-pane .mayor-order-detail-products-card{
    max-height:calc(100vh - 220px);
    margin-top:0;
    overflow:auto;
  }
}

/* Product list toolbar: category entry is a wide rounded rectangle and cart stays in bottom nav. */
.mayor-shell[data-view="productos"] .mayor-products-toolbar .mayor-cart-button{
  display:none;
}

.mayor-shell[data-view="productos"] .mayor-category-toggle{
  flex:0 0 60px;
  width:60px;
  height:40px;
  border-radius:16px;
}

/* Product grid minus button is offset left to keep clear space before the plus button. */
.mayor-shell[data-view="productos"] .mayor-product-step{
  position:relative;
  left:-10px;
}

/* Order detail summary uses the outer card only; individual info fields are text. */
.mayor-shell[data-view="order-detail"] .mayor-order-detail-meta{
  gap:16px 22px;
  margin-bottom:0;
}

.mayor-shell[data-view="order-detail"] .mayor-order-detail-meta div{
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

.mayor-shell[data-view="order-detail"] .mayor-order-detail-meta span{
  margin-bottom:6px;
  font-size:13px;
  line-height:1.15;
}

.mayor-shell[data-view="order-detail"] .mayor-order-detail-meta strong{
  margin-top:0;
  font-size:17px;
  line-height:1.12;
}

/* Long form/page floating back controls. */
.mayor-shell :is(
  .mayor-account-head:has(> button[aria-label="Volver"]),
  .mayor-order-submit-head,
  .mayor-order-detail-head
){
  display:block;
  min-height:46px;
  padding-left:62px;
}

.mayor-shell :is(
  .mayor-account-head:has(> button[aria-label="Volver"]),
  .mayor-order-submit-head,
  .mayor-order-detail-head
) h1{
  display:block;
}

.mayor-shell :is(
  .mayor-account-head > button[aria-label="Volver"],
  .mayor-order-submit-head button,
  .mayor-order-detail-head button
){
  position:fixed;
  top:22px;
  left:max(22px,calc((100vw - 720px) / 2 + 26px));
  z-index:120;
  flex:0 0 46px;
  width:46px;
  height:46px;
  min-height:46px;
  padding:0;
  border:2px solid var(--mayor-line);
  border-radius:999px;
  background:transparent;
  color:#111111;
  box-shadow:none;
  font-size:36px;
  line-height:42px;
  font-weight:300;
}

@media (min-width:900px){
  .mayor-shell :is(
    .mayor-account-head:has(> button[aria-label="Volver"]),
    .mayor-order-submit-head,
    .mayor-order-detail-head
  ){
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    min-height:58px;
    padding-left:0;
  }

  .mayor-shell :is(
    .mayor-account-head:has(> button[aria-label="Volver"]),
    .mayor-order-submit-head,
    .mayor-order-detail-head
  ) h1{
    flex:1 1 auto;
    min-width:0;
  }

  .mayor-shell :is(
    .mayor-account-head > button[aria-label="Volver"],
    .mayor-order-submit-head button,
    .mayor-order-detail-head button
  ){
    position:static;
    top:auto;
    left:auto;
    z-index:auto;
    flex:0 0 42px;
    width:42px;
    height:42px;
    min-height:42px;
    margin:0;
    border-width:1px;
    background:transparent;
    font-size:30px;
    line-height:38px;
  }
}

/* Mayor home landing page, warm catalog style. */
body.mayor-view-inicio{
  --home-bg:#FFFAF4;
  --home-surface:#FFFAF4;
  --home-soft:#f8efe4;
  --home-line:#eadcc9;
  --home-accent:#bc8952;
  --home-accent-dark:#5F6B45;
  --home-muted:#6b7280;
  background:var(--home-bg);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body.mayor-view-inicio .mayor-shell{
  max-width:1180px;
  background:#FFFAF4;
}

body.mayor-view-inicio .mayor-topbar{
  display:grid;
  grid-template-columns:clamp(61px,6.4vw,81px) minmax(180px,420px) auto;
  align-items:center;
  gap:clamp(12px,2.4vw,28px);
  min-height:60px;
  height:60px;
  padding:8px clamp(18px,4vw,52px);
  border-color:rgba(234,220,201,.82);
  background:#FFFAF4;
  box-shadow:none;
}

body.mayor-view-inicio .mayor-brand{
  justify-self:start;
  width:auto;
  min-width:0;
}

body.mayor-view-inicio .mayor-brand-img-boutique{
  display:block;
  width:clamp(61px,6.4vw,81px);
  max-height:29px;
  height:auto;
  object-fit:contain;
}

body.mayor-view-inicio .mayor-brand-img-professional{
  display:none;
}

body.mayor-view-inicio .mayor-logo,
body.mayor-view-inicio .mayor-logo-sub{
  display:none;
}

body.mayor-view-inicio .mayor-top-search{
  display:flex;
  align-items:center;
  justify-self:center;
  width:min(100%,420px);
  height:40px;
  padding:0 8px 0 16px;
  border:1px solid #e6d7c5;
  border-radius:18px;
  background:rgba(255,253,249,.92);
  box-shadow:0 8px 22px rgba(139,98,62,.04);
}

body.mayor-view-inicio .mayor-top-search input{
  flex:1;
  min-width:0;
  height:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#111111;
  font-size:16px;
  font-weight:360;
}

body.mayor-view-inicio .mayor-top-search input::placeholder{
  color:#7b8494;
}

body.mayor-view-inicio .mayor-top-search button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--home-accent-dark);
}

body.mayor-view-inicio .mayor-top-search svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.mayor-view-inicio .mayor-top-actions{
  justify-self:end;
  gap:12px;
}

body.mayor-view-inicio .mayor-top-action-button{
  flex:0 0 auto;
  flex-direction:column;
  gap:0;
  width:30px;
  height:40px;
  min-width:30px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#5F6B45;
  font-size:13px;
  line-height:1.1;
  font-weight:360;
}

body.mayor-view-inicio .mayor-top-action-button svg{
  width:24px;
  height:24px;
  stroke:currentColor;
  stroke-width:1.35;
}

body.mayor-view-inicio .mayor-cart-button svg{
  width:25px;
  height:25px;
}

body.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge){
  display:none;
}

body.mayor-view-inicio .mayor-badge{
  top:-8px;
  left:50%;
  right:auto;
  min-width:0;
  height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:#ff3b30;
  font-size:12px;
  line-height:1;
  font-weight:500;
  transform:translateX(-50%);
}

body.mayor-view-inicio #view-inicio{
  max-width:1080px;
  margin:0 auto;
  padding:0 18px 32px;
}

.mayor-home-hero{
  position:relative;
  display:block;
  aspect-ratio:2/1;
  min-height:0;
  margin:0 -18px;
  padding:0;
  border-bottom:1px solid var(--home-line);
  background:#FFFAF4;
  overflow:hidden;
}

.mayor-home-hero-track{
  display:flex;
  width:100%;
  height:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.mayor-home-hero-track::-webkit-scrollbar{
  display:none;
}

.mayor-home-hero-slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}

.mayor-home-hero-banner{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.mayor-home-search{
  width:min(100%,560px);
  min-height:46px;
  margin:0 0 18px;
  padding:4px 6px 4px 16px;
  border-color:#dec6aa;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 22px rgba(139,98,62,.05);
}

.mayor-home-search svg{
  width:19px;
  height:19px;
  stroke:var(--home-accent-dark);
  stroke-width:1.6;
}

.mayor-home-search input{
  height:36px;
  color:#111111;
  font-size:15px;
  font-weight:360;
}

.mayor-home-search button{
  min-width:74px;
  height:38px;
  border:1px solid transparent;
  border-radius:15px;
  background:transparent;
  color:var(--home-accent-dark);
  font-size:14px;
  font-weight:500;
}

.mayor-home-hero-actions{
  position:absolute;
  left:15.6%;
  bottom:8.8%;
  display:flex;
  flex-wrap:wrap;
  gap:26px;
  margin:0;
  z-index:2;
}

.mayor-home-hero-dots{
  position:absolute;
  right:4%;
  bottom:4.4%;
  z-index:3;
  display:flex;
  align-items:center;
  gap:6px;
}

.mayor-home-hero-dots button{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(95,107,69,.42);
}

.mayor-home-hero-dots button.is-active{
  width:18px;
  background:#5F6B45;
}

.mayor-home-hero-actions button,
.mayor-home-pro button,
.mayor-home-store-cta button,
.mayor-home-choice-cta button{
  min-height:50px;
  min-width:174px;
  padding:0 34px;
  border:1px solid var(--home-accent);
  border-radius:20px;
  font-size:18px;
  font-weight:500;
}

.mayor-home-primary,
.mayor-home-store-cta button,
.mayor-home-choice-cta button{
  background:linear-gradient(180deg,#c99b65,#b7834c);
  color:#fff;
}

.mayor-home-secondary{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
}

.mayor-home-pro button{
  border-color:#77825D;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
}

.mayor-home-services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:0 -18px 24px;
  padding:22px clamp(28px,6vw,78px);
  border-top:1px solid rgba(202,169,126,.24);
  border-bottom:1px solid rgba(202,169,126,.24);
  background:#FFFAF4;
}

.mayor-home-services>span{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:center;
  justify-content:center;
  color:#262626;
  font-size:15px;
  line-height:1.25;
}

.mayor-home-services>span>span{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.mayor-home-services svg,
.mayor-home-pro svg,
.mayor-home-why svg,
.mayor-home-store-cta svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:var(--home-accent-dark);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-home-services b{
  display:block;
  color:#262626;
  font-weight:600;
  white-space:nowrap;
}

.mayor-home-services small{
  display:block;
  color:#262626;
  font-size:15px;
  font-weight:360;
  white-space:nowrap;
}

.mayor-home-hero-media{
  position:relative;
  min-height:280px;
}

.mayor-home-hero-media::before{
  content:"";
  position:absolute;
  inset:12% 3% 4% 10%;
  border-radius:44% 56% 50% 50%;
  background:linear-gradient(135deg,rgba(250,239,224,.96),rgba(255,255,255,.72));
  box-shadow:0 30px 70px rgba(139,98,62,.16);
  transform:rotate(-7deg);
}

.mayor-home-hero-media img{
  position:relative;
  z-index:1;
  display:block;
  width:min(88%,420px);
  max-height:300px;
  margin:0 auto;
  object-fit:contain;
  filter:drop-shadow(0 24px 40px rgba(139,98,62,.16));
}

.mayor-home-pro,
.mayor-home-store-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 24px;
  padding:18px 22px;
  border:1px solid var(--home-line);
  border-radius:8px;
  background:rgba(255,253,249,.82);
}

.mayor-home-pro>div,
.mayor-home-store-cta>div{
  display:flex;
  align-items:center;
  gap:14px;
}

.mayor-home-pro b,
.mayor-home-store-cta b{
  display:block;
  color:var(--home-accent-dark);
  font-size:15px;
  font-weight:500;
}

.mayor-home-pro small,
.mayor-home-store-cta small{
  display:block;
  color:#333333;
  font-size:14px;
  font-weight:360;
}

.mayor-home-category-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:4px 0 34px;
}

.mayor-home-category-rail button{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  min-height:86px;
  border:0;
  background:transparent;
  color:#111111;
  font-size:12px;
  font-weight:360;
}

.mayor-home-category-rail svg{
  width:52px;
  height:52px;
  padding:12px;
  border:1px solid rgba(188,137,82,.26);
  border-radius:999px;
  fill:none;
  stroke:var(--home-accent-dark);
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  background:rgba(255,255,255,.5);
}

.mayor-home-section{
  margin:0 0 34px;
}

.mayor-home-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.mayor-home-section-head h2,
.mayor-home-why h2{
  margin:0;
  color:#6F765A;
  font-family:inherit;
  font-size:27px;
  line-height:1.15;
  font-weight:500;
}

.mayor-home-section-head button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  border:0;
  background:transparent;
  color:var(--home-accent-dark);
  font-size:14px;
  font-weight:450;
}

.mayor-home-product-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.mayor-home-product{
  position:relative;
  min-width:0;
  border:1px solid var(--home-line);
  border-radius:6px;
  background:#fffdf9;
  overflow:hidden;
}

.mayor-home-product-image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:10 / 8;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
  overflow:hidden;
}

.mayor-home-product-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.mayor-home-product-info{
  position:relative;
  padding:6px 8px 8px;
}

.mayor-home-product h3{
  display:-webkit-box;
  height:24px;
  margin:0 0 4px;
  overflow:hidden;
  color:#111111;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:9px;
  line-height:12px;
  font-weight:300;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
}

.mayor-home-product p{
  margin:0;
  padding-right:24px;
  color:#111111;
  font-size:12px;
  font-weight:300;
}

.mayor-home-favorite{
  position:absolute;
  right:7px;
  bottom:5px;
  width:24px;
  height:24px;
  min-height:24px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--home-accent-dark);
  font-size:17px;
  font-weight:300;
}

.mayor-home-why{
  margin:2px 0 34px;
  text-align:center;
}

.mayor-home-why>div{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}

.mayor-home-why span{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:#333333;
  font-size:13px;
  font-weight:360;
  line-height:1.25;
}

.mayor-home-discounts{
  margin:0 0 34px;
  padding-top:16px;
  color:#111111;
}

.mayor-home-discounts-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-bottom:18px;
  text-align:center;
}

.mayor-home-discounts-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  flex:0 0 72px;
  border-radius:38% 46% 40% 44%;
  background:#f4e4cf;
  color:#5F6B45;
}

.mayor-home-discounts-badge svg{
  width:43px;
  height:43px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-home-discounts h2{
  margin:0;
  color:#6F765A;
  font-size:29px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:.02em;
}

.mayor-home-discounts-head p{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:8px 0 0;
  color:#666666;
  font-size:18px;
  line-height:1.2;
  font-weight:360;
}

.mayor-home-discounts-head p span{
  display:block;
  width:22px;
  height:2px;
  border-radius:999px;
  background:#5F6B45;
}

.mayor-home-discount-board{
  padding:16px 18px;
  border:1px solid rgba(202,169,126,.24);
  border-radius:14px;
  background:rgba(255,253,249,.82);
  box-shadow:0 10px 30px rgba(139,94,52,.08);
}

.mayor-home-discount-row{
  display:grid;
  grid-template-columns:54px 92px minmax(40px,1fr) 76px;
  align-items:center;
  gap:12px;
  min-height:70px;
  border-bottom:1px solid rgba(202,169,126,.18);
}

.mayor-home-discount-row:last-child{
  border-bottom:0;
}

.mayor-home-discount-cart{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#fbefe0;
  color:#5F6B45;
}

.mayor-home-discount-cart svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-home-discounts-badge svg circle,
.mayor-home-discount-cart svg circle{
  fill:currentColor;
  stroke:none;
}

.mayor-home-discount-amount{
  color:#5F6B45;
  font-size:28px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.mayor-home-discount-dots{
  height:3px;
  background-image:radial-gradient(circle, #5F6B45 2px, transparent 2.5px);
  background-position:center;
  background-repeat:repeat-x;
  background-size:12px 3px;
}

.mayor-home-discount-pill{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  justify-self:end;
  min-width:66px;
  min-height:52px;
  border-radius:10px;
  background:#fbefe0;
  color:#5F6B45;
}

.mayor-home-discount-pill b{
  font-size:25px;
  line-height:1;
  font-weight:700;
}

.mayor-home-discount-pill small{
  font-size:15px;
  line-height:1.1;
  font-weight:360;
}

.mayor-home-choice{
  position:relative;
  display:none;
  margin:0 calc(50% - 50vw) 34px;
  padding:32px clamp(22px,6vw,86px) 26px;
  overflow:hidden;
  border-top:1px solid rgba(202,169,126,.24);
  border-bottom:1px solid rgba(202,169,126,.24);
  background:#FFFAF4;
  color:#111111;
}

.mayor-home-choice-inner{
  position:relative;
  z-index:1;
  max-width:1120px;
  margin:0 auto;
}

.mayor-home-choice h2{
  margin:0 0 36px;
  color:#5F6B45;
  font-size:30px;
  line-height:1.12;
  font-weight:700;
  text-align:center;
}

.mayor-home-choice-features{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  max-width:780px;
  margin:0 auto;
}

.mayor-home-choice-feature{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-height:142px;
  padding:0 20px;
  color:#111111;
  text-align:center;
}

.mayor-home-choice-feature + .mayor-home-choice-feature::before{
  content:"";
  position:absolute;
  top:34px;
  left:0;
  width:1px;
  height:78px;
  background:rgba(202,169,126,.38);
}

.mayor-home-choice-feature svg{
  width:58px;
  height:58px;
  margin-bottom:24px;
  fill:none;
  stroke:#5F6B45;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-home-choice-feature b{
  display:block;
  margin-bottom:6px;
  color:#111111;
  font-size:17px;
  line-height:1.15;
  font-weight:700;
}

.mayor-home-choice-feature span{
  display:block;
  color:#111111;
  font-size:16px;
  line-height:1.2;
  font-weight:360;
}

.mayor-home-choice-cta{
  display:grid;
  grid-template-columns:90px minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  margin-top:34px;
  min-height:144px;
  padding:26px clamp(24px,5vw,64px);
  border:1px solid rgba(202,169,126,.45);
  border-radius:14px;
  background:rgba(255,253,249,.82);
  box-shadow:0 14px 34px rgba(139,94,52,.10);
}

.mayor-home-choice-cta svg{
  width:62px;
  height:62px;
  fill:none;
  stroke:var(--home-accent-dark);
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-home-choice-cta b{
  display:block;
  margin-bottom:10px;
  color:#5F6B45;
  font-size:24px;
  line-height:1.15;
  font-weight:700;
}

.mayor-home-choice-cta span{
  display:block;
  max-width:480px;
  color:#333;
  font-size:19px;
  line-height:1.35;
  font-weight:360;
}

.mayor-home-choice-cta button{
  justify-self:end;
  min-width:320px;
}

.mayor-home-choice-palm,
.mayor-home-choice-shells{
  position:absolute;
  z-index:0;
  pointer-events:none;
}

.mayor-home-choice-palm{
  left:-28px;
  bottom:26px;
  width:150px;
  height:150px;
  color:rgba(77,103,30,.62);
}

.mayor-home-choice-shells{
  right:-12px;
  top:18px;
  width:138px;
  height:150px;
  color:rgba(201,155,101,.38);
}

.mayor-home-choice-palm svg,
.mayor-home-choice-shells svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-home-choice-shells svg path:first-child{
  fill:rgba(201,155,101,.10);
}

.mayor-home-media{
  display:block;
  width:100%;
  margin:0 0 34px;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.mayor-home-media img{
  display:block;
  width:100%;
  height:100%;
  border:0;
  object-fit:cover;
}

.mayor-home-media-brand-intro{
  aspect-ratio:2 / 1;
  margin-top:-6px;
}

.mayor-home-media-shipping{
  aspect-ratio:3 / 1;
}

.mayor-home-collections{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:18px;
}

.mayor-home-collection{
  min-height:160px;
  padding:10px;
  border:1px solid var(--home-line);
  border-radius:6px;
  background:rgba(255,255,255,.7);
  color:#111111;
  font-size:13px;
  font-weight:360;
}

.mayor-home-collection span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1 / 1;
  margin-bottom:8px;
  background:#fff;
}

.mayor-home-collection img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.mayor-home-collection b{
  display:block;
  font-weight:400;
}

.mayor-home-footer{
  margin:42px -18px 0;
  padding:34px 24px 26px;
  color:#111111;
  border-top:1px solid rgba(202,169,126,.24);
  background:#FFFAF4;
  box-shadow:none;
}

.mayor-home-footer-contact{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:1040px;
  margin:0 auto 46px;
  padding:28px 34px;
  border-radius:10px;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 16px 30px rgba(85,96,63,.18);
}

.mayor-home-footer-contact-item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:18px;
  min-width:0;
  padding:0 28px;
}

.mayor-home-footer-contact-item:first-child{
  padding-left:0;
}

.mayor-home-footer-contact-item:last-child{
  padding-right:0;
}

.mayor-home-footer-contact-item:not(:last-child){
  border-right:1px solid rgba(255,255,255,.24);
}

.mayor-home-footer-contact-item svg{
  width:46px;
  height:46px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-home-footer-contact-item span{
  display:block;
  min-width:0;
  color:#fff;
  font-size:18px;
  font-weight:360;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.mayor-home-footer-body{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px 54px;
  max-width:920px;
  margin:0 auto;
}

.mayor-home-footer-social{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
}

.mayor-home-footer-col h3{
  margin:0 0 16px;
  color:#52603d;
  font-size:18px;
  font-weight:500;
  letter-spacing:.03em;
}

.mayor-home-footer-col h3::after{
  content:"";
  display:block;
  width:24px;
  height:2px;
  margin-top:16px;
  border-radius:2px;
  background:#bc8952;
}

.mayor-home-footer-social h3{
  margin:0;
}

.mayor-home-footer-social h3::after{
  display:none;
}

.mayor-home-footer-col a{
  display:block;
  margin:0 0 12px;
  color:#232323;
  font-size:16px;
  font-weight:360;
  line-height:1.25;
  text-decoration:none;
}

.mayor-home-footer-col a:hover{
  color:#8b623e;
}

.mayor-home-footer-social-links{
  display:flex;
  gap:26px;
  margin-top:0;
}

.mayor-home-footer-social-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  color:#5f6b45;
}

.mayor-home-footer-social-links svg{
  width:40px;
  height:40px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-home-footer-rule{
  max-width:860px;
  margin:40px auto 22px;
  border-top:1px solid rgba(188,137,82,.32);
}

.mayor-home-footer-copy{
  margin:0;
  color:#111111;
  font-size:15px;
  font-weight:360;
  line-height:1.4;
  text-align:center;
}

.mayor-home-footer-copy span{
  color:#5F6B45;
  font-size:22px;
  vertical-align:-2px;
}

body.mayor-view-inicio .mayor-bottom-nav svg{
  color:#5F6B45;
}

body.mayor-view-inicio .mayor-bottom-nav button.is-active{
  color:#5F6B45;
}

body.mayor-view-inicio .mayor-bottom-nav button.is-active svg{
  background:rgba(95,107,69,.12);
}

@media (max-width:760px){
  body.mayor-view-inicio .mayor-shell{
    max-width:720px;
  }

  body.mayor-view-inicio .mayor-topbar{
    grid-template-columns:61px minmax(0,1fr) auto;
    gap:8px;
    min-height:60px;
    height:60px;
    padding:8px 14px;
  }

  body.mayor-view-inicio .mayor-brand-img-boutique{
    width:61px;
    max-height:27px;
  }

  body.mayor-view-inicio .mayor-top-search{
    height:40px;
    padding:0 8px 0 12px;
    border-radius:18px;
  }

  body.mayor-view-inicio .mayor-top-search input{
    font-size:14px;
  }

  body.mayor-view-inicio .mayor-top-search button{
    flex-basis:34px;
    width:34px;
    height:34px;
  }

  body.mayor-view-inicio .mayor-top-search svg{
    width:22px;
    height:22px;
  }

  body.mayor-view-inicio .mayor-top-actions{
    gap:8px;
  }

  body.mayor-view-inicio .mayor-top-action-button{
    width:28px;
    min-width:28px;
    height:40px;
  }

  body.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge){
    display:none;
  }

  body.mayor-view-inicio .mayor-top-action-button svg{
    width:24px;
    height:24px;
  }

  body.mayor-view-inicio .mayor-cart-button svg{
    width:25px;
    height:25px;
  }

  body.mayor-view-inicio .mayor-badge{
    top:-8px;
    left:50%;
    right:auto;
    transform:translateX(-50%);
  }

  body.mayor-view-inicio #view-inicio{
    padding:0 14px 22px;
  }

  .mayor-home-hero{
    min-height:0;
    margin:0 -14px;
    padding:0;
  }

  .mayor-home-hero-actions{
    left:15.5%;
    bottom:8.6%;
    gap:12px;
  }

  .mayor-home-hero-actions button{
    min-width:120px;
    min-height:40px;
    padding:0 18px;
    border-radius:16px;
    font-size:15px;
  }

  .mayor-home-services{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:0 -14px 18px;
    padding:14px 12px;
  }

  .mayor-home-services>span{
    grid-template-columns:24px minmax(0,1fr);
    gap:7px;
    align-items:center;
    font-size:11px;
    line-height:1.18;
  }

  .mayor-home-services svg{
    width:24px;
    height:24px;
  }

  .mayor-home-services small{
    font-size:11px;
  }

  .mayor-home-pro,
  .mayor-home-store-cta{
    align-items:flex-start;
    flex-direction:column;
    padding:16px;
  }

  .mayor-home-pro button,
  .mayor-home-store-cta button{
    width:100%;
  }

  .mayor-home-category-rail{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:28px;
  }

  .mayor-home-product-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .mayor-home-section-head h2{
    color:#5F6B45;
    font-size:20px;
    font-weight:700;
    text-transform:uppercase;
  }

  .mayor-home-product-info{
    padding:5px 6px 7px;
  }

  .mayor-home-product h3{
    height:22px;
    margin-bottom:3px;
    font-size:8px;
    line-height:11px;
  }

  .mayor-home-product p{
    padding-right:18px;
    font-size:11px;
  }

  .mayor-home-favorite{
    right:4px;
    bottom:3px;
    font-size:15px;
  }

  .mayor-home-why>div{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mayor-home-footer{
    margin:32px -14px 0;
    padding:24px 16px 88px;
  }

  .mayor-home-footer-contact{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.22fr) minmax(0,.92fr);
    margin:0 -16px 34px;
    padding:16px 10px;
    border-radius:0;
  }

  .mayor-home-footer-contact-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-width:0;
    padding:0 6px;
    text-align:center;
  }

  .mayor-home-footer-contact-item:first-child{
    padding-left:0;
  }

  .mayor-home-footer-contact-item:last-child{
    padding-right:0;
  }

  .mayor-home-footer-contact-item:not(:last-child){
    border-right:1px solid rgba(255,255,255,.24);
    border-bottom:0;
  }

  .mayor-home-footer-contact-item svg{
    width:30px;
    height:30px;
  }

  .mayor-home-footer-contact-item>div{
    width:100%;
    min-width:0;
  }

  .mayor-home-footer-contact-item span{
    font-size:10px;
    line-height:1.25;
    overflow-wrap:break-word;
    word-break:normal;
  }

  .mayor-home-footer-body{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 18px;
    max-width:none;
    padding:0 18px;
  }

  .mayor-home-footer-col h3{
    margin-bottom:12px;
    font-size:16px;
  }

  .mayor-home-footer-col h3::after{
    margin-top:10px;
  }

  .mayor-home-footer-col a{
    margin-bottom:10px;
    font-size:15px;
  }

  .mayor-home-footer-social-links{
    margin-top:0;
  }

  .mayor-home-footer-social h3{
    margin:0;
  }

  .mayor-home-footer-social-links svg{
    width:34px;
    height:34px;
  }

  .mayor-home-footer-rule{
    margin:30px 18px 18px;
  }

  .mayor-home-footer-copy{
    padding:0 18px;
    font-size:14px;
  }

  .mayor-home-discounts{
    margin-bottom:28px;
    padding-top:8px;
  }

  .mayor-home-discounts-head{
    gap:10px;
    margin-bottom:12px;
  }

  .mayor-home-discounts-badge{
    width:48px;
    height:48px;
    flex-basis:48px;
  }

  .mayor-home-discounts-badge svg{
    width:28px;
    height:28px;
  }

  .mayor-home-discounts h2{
    color:#5F6B45;
    font-size:20px;
    letter-spacing:.01em;
    text-transform:uppercase;
  }

  .mayor-home-discounts-head p{
    gap:6px;
    margin-top:4px;
    font-size:13px;
  }

  .mayor-home-discounts-head p span{
    width:12px;
  }

  .mayor-home-discount-board{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:10px;
    border-radius:12px;
  }

  .mayor-home-discount-row{
    grid-template-columns:28px minmax(46px,auto) minmax(8px,1fr) 42px;
    gap:5px;
    min-height:48px;
    padding:6px;
    border:1px solid rgba(202,169,126,.16);
    border-radius:10px;
    background:rgba(255,253,249,.82);
  }

  .mayor-home-discount-row:last-child{
    border-bottom:1px solid rgba(202,169,126,.16);
  }

  .mayor-home-discount-cart{
    width:28px;
    height:28px;
  }

  .mayor-home-discount-cart svg{
    width:18px;
    height:18px;
  }

  .mayor-home-discount-amount{
    font-size:17px;
  }

  .mayor-home-discount-dots{
    background-size:7px 3px;
  }

  .mayor-home-discount-pill{
    min-width:40px;
    min-height:34px;
    border-radius:8px;
  }

  .mayor-home-discount-pill b{
    font-size:15px;
  }

  .mayor-home-discount-pill small{
    font-size:10px;
  }

  .mayor-home-choice{
    margin:0 -14px 24px;
    padding:24px 14px 20px;
  }

  .mayor-home-choice h2{
    margin-bottom:20px;
    font-size:24px;
  }

  .mayor-home-choice-features{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    max-width:none;
    margin-bottom:0;
  }

  .mayor-home-choice-feature{
    min-height:98px;
    padding:0 6px;
  }

  .mayor-home-choice-feature + .mayor-home-choice-feature::before{
    display:block;
    top:24px;
    height:58px;
  }

  .mayor-home-choice-feature svg{
    width:34px;
    height:34px;
    margin-bottom:12px;
  }

  .mayor-home-choice-feature b{
    margin-bottom:4px;
    font-size:12px;
    line-height:1.15;
  }

  .mayor-home-choice-feature span{
    font-size:12px;
    line-height:1.15;
  }

  .mayor-home-choice-cta{
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    margin-top:18px;
    min-height:0;
    padding:18px 14px;
    border-radius:12px;
  }

  .mayor-home-choice-cta svg{
    width:42px;
    height:42px;
  }

  .mayor-home-choice-cta b{
    margin-bottom:6px;
    font-size:14px;
    line-height:1.2;
    white-space:nowrap;
  }

  .mayor-home-choice-cta span{
    font-size:15px;
  }

  .mayor-home-choice-cta button{
    grid-column:1 / -1;
    width:100%;
    min-width:0;
  }

  .mayor-home-choice-palm,
  .mayor-home-choice-shells{
    display:none;
  }

  .mayor-home-collections{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
}

/* Boutique interface branch for non-home modules. Scoped so Professional remains the baseline. */
body.mayor-interface-boutique{
  --mayor-bg:#FFFAF4;
  --mayor-surface:rgba(255,253,249,.82);
  --mayor-surface-soft:#fbefe0;
  --mayor-line:rgba(202,169,126,.38);
  --mayor-text:#1f2937;
  --mayor-muted:#7a6c5d;
  --mayor-primary:#5F6B45;
  --mayor-primary-soft:rgba(95,107,69,.12);
  --mayor-accent:#bc8952;
  --mayor-shadow:0 14px 34px rgba(139,94,52,.10);
  --boutique-bg:#FFFAF4;
  --boutique-surface:rgba(255,253,249,.82);
  --boutique-solid-surface:#fffdf9;
  --boutique-soft:#fbefe0;
  --boutique-line:rgba(202,169,126,.38);
  --boutique-line-soft:rgba(202,169,126,.22);
  --boutique-olive:#5F6B45;
  --boutique-olive-light:#77825D;
  --boutique-brown:#8b623e;
  --boutique-gold:#bc8952;
  --boutique-muted:#7a6c5d;
  --boutique-text:#1f2937;
  background:#FFFAF4;
}

body.mayor-interface-boutique .mayor-shell{
  background:#FFFAF4;
}

body.mayor-interface-boutique.mayor-view-inicio .mayor-topbar{
  background:#FFFDF9;
}

.mayor-shell[data-interface-style="boutique"]{
  --boutique-bg:#FFFAF4;
  --boutique-surface:rgba(255,253,249,.82);
  --boutique-solid-surface:#fffdf9;
  --boutique-soft:#fbefe0;
  --boutique-line:rgba(202,169,126,.38);
  --boutique-line-soft:rgba(202,169,126,.22);
  --boutique-olive:#5F6B45;
  --boutique-olive-light:#77825D;
  --boutique-brown:#8b623e;
  --boutique-gold:#bc8952;
  --boutique-muted:#7a6c5d;
  --boutique-text:#1f2937;
}

html[data-interface-style="boutique"],
body.mayor-interface-boutique,
body.mayor-interface-boutique .mayor-shell,
body.mayor-interface-boutique .mayor-main{
  background:#FFFAF4;
}

body.mayor-interface-boutique :is(
  .mayor-view,
  #view-productos,
  #view-detalle,
  #view-carrito,
  #view-order-submit,
  #view-pedidos,
  #view-order-detail,
  #view-cuenta
){
  background:#FFFAF4;
}

body.mayor-interface-boutique :is(
  .mayor-cart-title,
  .mayor-cart-card,
  .mayor-order-summary,
  .mayor-order-submit-card,
  .mayor-orders-summary,
  .mayor-order-card,
  .mayor-orders-empty,
  .mayor-order-detail-summary-card,
  .mayor-order-detail-products-card,
  .mayor-account-auth,
  .mayor-account-card,
  .mayor-account-list,
  .mayor-account-module,
  .mayor-account-details,
  .mayor-address-list-item,
  .mayor-address-empty,
  .mayor-detail-head,
  .mayor-detail-image-card,
  .mayor-detail-buy,
  .mayor-category-panel,
  .mayor-product-card
){
  border-color:var(--boutique-line);
  background:var(--boutique-surface);
  box-shadow:var(--mayor-shadow);
}

body.mayor-interface-boutique :is(
  .mayor-cart-title h1,
  .mayor-orders-summary h1,
  .mayor-order-detail-head h1,
  .mayor-order-submit-head h1,
  .mayor-account-auth h1,
  .mayor-account-card h1,
  .mayor-detail-body h1
){
  color:var(--boutique-olive);
}

body.mayor-interface-boutique :is(
  .mayor-search input,
  .mayor-category-search input,
  .mayor-account-field input,
  .mayor-account-field select,
  .mayor-account-field textarea,
  .mayor-order-note textarea
){
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.92);
  color:var(--boutique-text);
}

body.mayor-interface-boutique :is(
  .mayor-search input:focus,
  .mayor-category-search input:focus,
  .mayor-account-field input:focus,
  .mayor-account-field select:focus,
  .mayor-account-field textarea:focus,
  .mayor-order-note textarea:focus
){
  border-color:var(--boutique-olive-light);
  box-shadow:0 0 0 3px rgba(95,107,69,.14);
}

body.mayor-interface-boutique .mayor-account-field input:-webkit-autofill,
body.mayor-interface-boutique .mayor-account-field input:-webkit-autofill:hover,
body.mayor-interface-boutique .mayor-account-field input:-webkit-autofill:focus,
body.mayor-interface-boutique .mayor-account-field input:-webkit-autofill:active{
  border-color:var(--boutique-line);
  -webkit-box-shadow:0 0 0 1000px #FFFDF9 inset;
  box-shadow:0 0 0 1000px #FFFDF9 inset;
  -webkit-text-fill-color:var(--boutique-text);
  caret-color:var(--boutique-text);
}

body.mayor-interface-boutique :is(input,textarea)::placeholder{
  color:#9a938a;
}

body.mayor-interface-boutique :is(
  .mayor-account-head,
  .mayor-account-login-head,
  .mayor-account-register .mayor-account-head,
  .mayor-order-submit-head,
  .mayor-order-detail-head,
  .mayor-orders-summary-head,
  .mayor-order-card-line
){
  border-color:var(--boutique-line-soft);
}

body.mayor-interface-boutique :is(
  .mayor-account-head button,
  .mayor-order-submit-head button,
  .mayor-order-detail-head button
){
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.92);
  color:var(--boutique-olive);
  box-shadow:0 8px 18px rgba(139,94,52,.07);
}

body.mayor-interface-boutique .mayor-back-button{
  color:var(--boutique-olive);
}

body.mayor-interface-boutique :is(
  .mayor-account-primary,
  .mayor-order-dialog-actions .mayor-account-primary,
  .mayor-address-add.mayor-account-primary
){
  border-color:var(--boutique-olive-light);
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(95,107,69,.18);
}

body.mayor-interface-boutique :is(
  .mayor-account-secondary,
  .mayor-order-dialog-actions .mayor-account-secondary,
  .mayor-account-profile .mayor-account-profile-head button,
  .mayor-orders-empty button,
  .mayor-order-card-actions button,
  .mayor-load-more
){
  border-color:#bc8952;
  background:rgba(255,253,249,.68);
  color:#8b623e;
  box-shadow:none;
}

body.mayor-interface-boutique :is(
  .mayor-account-primary:disabled,
  .mayor-account-secondary:disabled,
  .mayor-order-card-actions button:disabled
){
  border-color:rgba(202,169,126,.28);
  background:rgba(255,253,249,.52);
  color:#a7a099;
  box-shadow:none;
}

/* Boutique bottom navigation. */
body.mayor-interface-boutique .mayor-bottom-nav{
  border-top:1px solid rgba(202,169,126,.28);
  background:#FFFDF9;
  box-shadow:0 -10px 26px rgba(139,94,52,.08);
  backdrop-filter:saturate(1.08) blur(12px);
}

body.mayor-interface-boutique .mayor-bottom-nav button{
  color:#666666;
}

body.mayor-interface-boutique .mayor-bottom-nav svg{
  color:#5F6B45;
}

body.mayor-interface-boutique .mayor-bottom-nav button.is-active{
  color:#5F6B45;
}

body.mayor-interface-boutique .mayor-bottom-nav button.is-active svg{
  background:rgba(95,107,69,.12);
}

body.mayor-interface-boutique .mayor-shell[data-interface-style="boutique"] .mayor-bottom-nav button.is-active{
  color:#5F6B45;
}

body.mayor-interface-boutique .mayor-shell[data-interface-style="boutique"] .mayor-bottom-nav button.is-active svg{
  background:rgba(95,107,69,.12);
}

body.mayor-interface-boutique .mayor-cart-nav i{
  color:#f04438;
}

/* Boutique Productos. */
.mayor-shell[data-interface-style="boutique"][data-view="productos"],
.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-main,
.mayor-shell[data-interface-style="boutique"][data-view="productos"] #view-productos{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] #view-productos{
  padding-right:8px;
  padding-left:8px;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-products-toolbar{
  border-bottom:1px solid rgba(202,169,126,.24);
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-toggle,
.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-products-search{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.86);
  color:var(--boutique-olive);
  box-shadow:0 8px 20px rgba(139,94,52,.06);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-products-search svg,
.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-toggle svg{
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-toggle{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 8px 20px rgba(95,107,69,.16);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-toggle svg{
  color:#fff;
  stroke:currentColor;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-search-clear{
  color:#bc8952;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-panel{
  border-color:var(--boutique-line);
  background:#FFFAF4;
  box-shadow:0 18px 44px rgba(139,94,52,.18);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-search{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] :is(
  .mayor-category-close,
  .mayor-brand-filters button,
  .mayor-cat-row,
  .mayor-cat-group summary,
  .mayor-cat-children button,
  .mayor-category-strip button
){
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.86);
  color:var(--boutique-text);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] :is(
  .mayor-brand-filters button.is-active,
  .mayor-cat-row.is-active,
  .mayor-cat-group[open] > summary,
  .mayor-cat-group summary.is-active,
  .mayor-cat-children button.is-active,
  .mayor-category-strip button.is-active
){
  border-color:var(--boutique-olive-light);
  background:rgba(95,107,69,.12);
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] :is(
  .mayor-brand-filters b,
  .mayor-cat-row b,
  .mayor-cat-group summary b,
  .mayor-cat-children button b
){
  color:#8b623e;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-brand-filters button.is-active{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] :is(
  .mayor-cat-row.is-active,
  .mayor-cat-group[open] > summary,
  .mayor-cat-group summary.is-active
){
  border-color:#B7834C;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#fff;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-cat-children button.is-active{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] :is(
  .mayor-brand-filters button.is-active span,
  .mayor-brand-filters button.is-active b,
  .mayor-cat-row.is-active span,
  .mayor-cat-row.is-active b,
  .mayor-cat-group[open] > summary span,
  .mayor-cat-group[open] > summary b,
  .mayor-cat-group summary.is-active span,
  .mayor-cat-group summary.is-active b,
  .mayor-cat-children button.is-active span,
  .mayor-cat-children button.is-active b
){
  color:#fff;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-cat-group{
  border-color:var(--boutique-line-soft);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-products-grid{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] :is(
  .mayor-category-banner,
  .mayor-category-banner img
){
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-card{
  border:1px solid rgba(202,169,126,.28);
  border-radius:8px;
  background:rgba(255,253,249,.82);
  box-shadow:0 8px 20px rgba(139,94,52,.07);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-image{
  background:#fffdf9;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-meta{
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-name{
  color:#1f2937;
  font-weight:520;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-price{
  color:var(--boutique-olive);
  font-weight:700;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-add{
  border-color:#B7834C;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#fff;
  box-shadow:0 8px 18px rgba(183,131,76,.16);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-register{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 8px 18px rgba(95,107,69,.16);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-step{
  border-color:#bc8952;
  background:rgba(255,253,249,.82);
  color:#8b623e;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-product-qty-badge{
  border-color:#5F6B45;
  background:#fff;
  color:#5F6B45;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-banner{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-load-more{
  border-color:#5F6B45;
  border-radius:999px;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 8px 20px rgba(95,107,69,.16);
}

/* Boutique product detail. */
.mayor-shell[data-interface-style="boutique"][data-view="detalle"]{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-main,
.mayor-shell[data-interface-style="boutique"][data-view="detalle"] #view-detalle{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-head{
  border:1px solid var(--boutique-line);
  border-radius:14px;
  background:rgba(255,253,249,.82);
  color:var(--boutique-olive);
  box-shadow:0 10px 28px rgba(139,94,52,.07);
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-head span[data-detail-category]{
  color:var(--boutique-brown);
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-image-card{
  border:1px solid var(--boutique-line);
  border-radius:14px;
  background:rgba(255,253,249,.82);
  box-shadow:0 12px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-body{
  color:var(--boutique-text);
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-tags span{
  background:rgba(255,253,249,.7);
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy{
  border:1px solid var(--boutique-line);
  background:rgba(255,253,249,.82);
  box-shadow:0 10px 28px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy strong{
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy span{
  color:#8b623e;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy .mayor-qty-control button[data-detail-plus]{
  border-color:#B7834C;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#fff;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy .mayor-qty-control button[data-detail-minus]{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#FFFFFF;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy .mayor-qty-control output{
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-register{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(95,107,69,.18);
}

body.mayor-interface-boutique.mayor-view-detalle #view-detalle{
  scrollbar-color:rgba(95,107,69,.58) transparent;
}

body.mayor-interface-boutique.mayor-view-detalle #view-detalle::-webkit-scrollbar-thumb{
  background:rgba(95,107,69,.58);
  background-clip:content-box;
}

/* Boutique order submit page. */
.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] #view-order-submit{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] .mayor-order-submit-card{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.82);
  box-shadow:0 14px 34px rgba(139,94,52,.10);
}

.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] :is(
  .mayor-order-address-option,
  .mayor-order-note textarea
){
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.72);
}

.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] .mayor-order-address-option input{
  accent-color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] .mayor-order-address-option strong,
.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] .mayor-order-submit-total strong{
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] :is(
  .mayor-order-addresses legend,
  .mayor-order-note span,
  .mayor-order-address-option small,
  .mayor-order-submit-total span
){
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] .mayor-order-submit-card .mayor-order-dialog-actions .mayor-account-secondary{
  border-color:#B7834C;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(183,131,76,.18);
}

/* Boutique Pedidos and order detail. */
.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] #view-pedidos,
.mayor-shell[data-interface-style="boutique"][data-view="order-detail"] #view-order-detail{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-summary,
.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-list,
.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-card,
.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-empty{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.82);
  box-shadow:0 12px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-stats div,
.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-card-grid div{
  background:transparent;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] :is(
  .mayor-orders-stats span,
  .mayor-order-card-grid span,
  .mayor-order-card-line span,
  .mayor-orders-empty p
){
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] :is(
  .mayor-orders-stats strong,
  .mayor-order-card-grid strong,
  .mayor-order-card-line strong
){
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-status-filter{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.82);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-status-filter button{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.86);
  color:var(--boutique-text);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-status-filter button.is-active{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 8px 18px rgba(95,107,69,.16);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-status-filter b{
  color:#8b623e;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-status-filter button.is-active b{
  color:#fff;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-card-actions button[data-order-action="detail"].is-active,
.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-card-actions button[data-order-action="invoice"].is-active{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  box-shadow:0 8px 18px rgba(95,107,69,.16);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-card.is-selected{
  border-color:#5F6B45;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-status-live{
  color:#bc8952;
}

.mayor-shell[data-interface-style="boutique"][data-view="order-detail"] :is(
  .mayor-order-detail-summary-card,
  .mayor-order-detail-products-card,
  .mayor-order-detail-items
){
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.82);
  box-shadow:0 12px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="order-detail"] .mayor-order-detail-item{
  border-color:var(--boutique-line-soft);
  background:transparent;
}

.mayor-shell[data-interface-style="boutique"][data-view="order-detail"] .mayor-cart-image{
  border-color:var(--boutique-line);
  background:#fffdf9;
}

.mayor-shell[data-interface-style="boutique"][data-view="order-detail"] :is(
  .mayor-order-detail-meta span,
  .mayor-order-product-meta-row,
  .mayor-order-product-arrow
){
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="order-detail"] :is(
  .mayor-order-detail-meta strong,
  .mayor-order-detail-item h3,
  .mayor-order-product-meta-row .mayor-cart-item-price
){
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-detail-pane :is(
  .mayor-order-detail-summary-card,
  .mayor-order-detail-products-card,
  .mayor-order-detail-items
){
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.82);
  box-shadow:0 12px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-detail-pane .mayor-order-detail-head{
  border-color:var(--boutique-line-soft);
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-detail-pane .mayor-order-detail-item{
  border-color:var(--boutique-line-soft);
  background:transparent;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-detail-pane .mayor-cart-image{
  border-color:var(--boutique-line);
  background:#fffdf9;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-detail-pane :is(
  .mayor-order-detail-meta span,
  .mayor-order-product-meta-row,
  .mayor-order-product-arrow
){
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-detail-pane :is(
  .mayor-order-detail-meta strong,
  .mayor-order-detail-item h3,
  .mayor-order-product-meta-row .mayor-cart-item-price
){
  color:var(--boutique-olive);
}

/* Boutique Cuenta and account subpages. */
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] #view-cuenta{
  background:#FFFAF4;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] :is(
  .mayor-account-auth,
  .mayor-account-card,
  .mayor-account-module,
  .mayor-account-details,
  .mayor-address-list-item,
  .mayor-address-empty
){
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.82);
  box-shadow:0 12px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head h1,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-label,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-section legend,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-style-setting legend,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-address-list-item strong,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-details b{
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] :is(
  .mayor-account-profile .mayor-account-status-pill,
  .mayor-account-module-status,
  .mayor-account-field span,
  .mayor-account-radio-field legend,
  .mayor-address-list-item small,
  .mayor-account-details span
){
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-icon{
  stroke:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] #view-cuenta{
  padding:18px 16px 16px;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-root{
  padding-bottom:12px;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile{
  position:relative;
  padding:20px 0 18px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile::after{
  content:"";
  position:absolute;
  right:0;
  bottom:2px;
  width:118px;
  height:90px;
  opacity:.35;
  pointer-events:none;
  background:
    linear-gradient(32deg,transparent 45%,rgba(202,169,126,.42) 46%,rgba(202,169,126,.42) 48%,transparent 49%),
    radial-gradient(ellipse at 32% 36%,transparent 48%,rgba(202,169,126,.42) 50%,transparent 54%),
    radial-gradient(ellipse at 58% 24%,transparent 48%,rgba(202,169,126,.42) 50%,transparent 54%),
    radial-gradient(ellipse at 70% 56%,transparent 48%,rgba(202,169,126,.42) 50%,transparent 54%);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile-head{
  display:grid;
  grid-template-columns:96px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-avatar{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:96px;
  height:96px;
  border:1px solid rgba(202,169,126,.42);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(255,253,249,.92),rgba(251,239,224,.58));
  color:var(--boutique-olive);
  font-size:52px;
  line-height:1;
  font-weight:300;
  font-family:Georgia,"Times New Roman",serif;
  box-shadow:0 14px 32px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head h1{
  margin:0 0 8px;
  color:#111111;
  font-size:30px;
  line-height:1.08;
  font-weight:650;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(95,107,69,.1);
  color:var(--boutique-olive);
  font-size:13px;
  font-weight:540;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-welcome{
  display:block;
  margin:16px 0 0;
  color:#5f6570;
  font-size:16px;
  line-height:1.35;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head button[data-account-logout]{
  align-self:start;
  flex:0 0 auto;
  width:auto;
  height:auto;
  min-height:44px;
  padding:0 12px 0 14px;
  border-color:transparent;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  font-size:14px;
  font-weight:620;
  box-shadow:0 10px 22px rgba(95,107,69,.18);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-logout-short{
  display:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-logout-long{
  display:inline;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-logout-icon{
  display:block;
  width:16px;
  height:16px;
  margin-left:6px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:96px;
  margin:6px 0 14px;
  padding:14px 18px;
  border:1px solid var(--boutique-line);
  border-radius:16px;
  background:rgba(255,253,249,.82);
  box-shadow:0 14px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress-ring{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  flex:0 0 auto;
  border:5px solid rgba(95,107,69,.24);
  border-top-color:var(--boutique-olive);
  border-radius:50%;
  background:#fffdf9;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress-ring svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:var(--boutique-olive);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress-ring circle{
  display:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress-copy{
  display:grid;
  gap:6px;
  min-width:0;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress-copy strong{
  color:#111111;
  font-size:17px;
  line-height:1.2;
  font-weight:650;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress-copy small{
  color:#5f6570;
  font-size:13px;
  line-height:1.35;
  font-weight:450;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress > b{
  margin-left:auto;
  color:var(--boutique-olive);
  font-size:26px;
  line-height:1;
  font-weight:680;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-modules{
  gap:12px;
  margin-top:0;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module{
  position:relative;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  min-height:116px;
  padding:14px 12px;
  border-radius:16px;
  text-align:left;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(251,239,224,.74);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-icon{
  width:31px;
  height:31px;
  margin:0;
  stroke-width:1.55;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-copy{
  display:grid;
  gap:6px;
  min-width:0;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-label{
  margin:0;
  color:#111111;
  font-size:17px;
  line-height:1.15;
  font-weight:620;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-description{
  display:block;
  color:#5f6570;
  font-size:13px;
  line-height:1.35;
  font-weight:430;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-chevron{
  display:block;
  color:var(--boutique-olive);
  font-size:34px;
  line-height:1;
  font-weight:260;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-status{
  position:absolute;
  left:86px;
  bottom:15px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:0;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(95,107,69,.1);
  color:var(--boutique-olive);
  font-size:11px;
  font-weight:560;
  line-height:1.25;
  text-transform:capitalize;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-status.is-complete::before{
  content:"✓";
  font-size:12px;
  line-height:1;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-boutique-banner{
  width:100%;
  margin:18px 0 0;
  border:0;
  border-radius:16px;
  background:#fffdf9;
  box-shadow:0 14px 30px rgba(139,94,52,.08);
}

@media (max-width:420px){
  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] #view-cuenta{
    padding:16px 14px 14px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile-head{
    grid-template-columns:86px minmax(0,1fr) auto;
    gap:12px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-avatar{
    width:86px;
    height:86px;
    font-size:48px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head h1{
    font-size:27px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head button[data-account-logout]{
    min-height:40px;
    padding:0 10px 0 12px;
    font-size:13px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress{
    min-height:88px;
    padding:12px 14px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress-ring{
    width:58px;
    height:58px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress > b{
    font-size:24px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module{
    grid-template-columns:58px minmax(0,1fr) 14px;
    min-height:112px;
    padding:13px 10px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-top{
    width:52px;
    height:52px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-icon{
    width:28px;
    height:28px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-label{
    font-size:16px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-description{
    font-size:12px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-status{
    left:78px;
    bottom:13px;
  }
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile{
  position:relative;
  overflow:visible;
  padding:18px 16px 16px;
  border:1px solid var(--boutique-line);
  border-radius:14px;
  background:rgba(255,253,249,.82);
  box-shadow:0 12px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile::after{
  content:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head h1{
  margin:0 0 10px;
  color:var(--boutique-olive);
  font-size:22px;
  line-height:1.18;
  font-weight:400;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-status-pill{
  display:inline;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#7a6c5d;
  font-size:14px;
  line-height:1.25;
  font-weight:400;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-avatar,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-welcome,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-progress,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-logout-long,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-logout-icon,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-description,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-chevron{
  display:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-logout-short{
  display:inline;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head button[data-account-logout]{
  align-self:auto;
  flex:0 0 92px;
  width:92px;
  height:44px;
  min-height:44px;
  padding:0 14px;
  border-color:transparent;
  border-radius:18px;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
  font-size:16px;
  font-weight:620;
  box-shadow:0 10px 22px rgba(95,107,69,.18);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-modules{
  gap:12px;
  margin-top:12px;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:normal;
  min-height:94px;
  padding:15px;
  border-radius:14px;
  text-align:left;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  width:100%;
  height:auto;
  border-radius:0;
  background:transparent;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-icon{
  width:28px;
  height:28px;
  margin:0;
  stroke-width:1.2;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-copy{
  display:block;
  min-width:0;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-label{
  display:block;
  margin-top:14px;
  color:var(--boutique-olive);
  font-size:15px;
  line-height:1.2;
  font-weight:520;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-status{
  position:static;
  display:inline-flex;
  flex:0 0 auto;
  margin:0 0 0 auto;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#7a6c5d;
  font-size:12px;
  line-height:1.2;
  font-weight:500;
  text-align:right;
  white-space:nowrap;
  text-transform:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-status.is-complete::before{
  content:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-status.is-complete,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-address-list-item em.is-complete{
  color:#5F6B45;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-module-status.is-incomplete,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-address-list-item em.is-incomplete{
  color:#bc8952;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-interface-style-option,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-radio-options label{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.82);
  color:var(--boutique-text);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-interface-style-option.is-active{
  border-color:var(--boutique-olive-light);
  box-shadow:0 0 0 2px rgba(95,107,69,.12);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] :is(
  .mayor-interface-style-option input,
  .mayor-account-radio-options input
){
  accent-color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-error{
  color:#B7834C;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-error.is-success{
  color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-form[data-account-login-form] .mayor-account-actions{
  background:transparent;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] :is(
  .mayor-account-form[data-account-login-form] .mayor-account-secondary[data-account-mode="register"],
  .mayor-account-form[data-account-register-form] .mayor-account-secondary[data-account-mode="login"],
  .mayor-account-form[data-account-basic-form] .mayor-account-secondary[data-account-mode="profile"],
  .mayor-account-form[data-account-shipping-form] .mayor-account-secondary[data-account-mode="addresses"]
){
  border-color:#B7834C;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(183,131,76,.18);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-dialog-card,
body.mayor-interface-boutique .mayor-account-dialog-card,
body.mayor-interface-boutique .mayor-order-dialog-card{
  border:1px solid var(--boutique-line);
  background:#fffdf9;
  box-shadow:0 18px 48px rgba(139,94,52,.22);
}

body.mayor-interface-boutique :is(.mayor-account-dialog-card p,.mayor-order-dialog-card p){
  color:var(--boutique-text);
}

body.mayor-interface-boutique .mayor-account-error{
  color:#B7834C;
}

body.mayor-interface-boutique .mayor-account-error.is-success,
body.mayor-interface-boutique .mayor-account-message-dialog .mayor-account-dialog-message{
  color:var(--boutique-olive);
}

body.mayor-interface-boutique .mayor-account-message-dialog.mayor-account-message-warning .mayor-account-dialog-message{
  color:#B7834C;
}

body.mayor-interface-boutique .mayor-account-message-dialog .mayor-account-dialog-card > button[data-account-dialog-close]{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#FFFFFF;
  box-shadow:0 10px 22px rgba(95,107,69,.18);
}

body.mayor-interface-boutique .mayor-password-toggle{
  color:var(--boutique-muted);
}

body.mayor-interface-boutique .mayor-password-toggle:hover,
body.mayor-interface-boutique .mayor-password-toggle[aria-pressed="true"]{
  color:var(--boutique-olive);
}

body.mayor-interface-boutique .mayor-account-recovery-dialog .mayor-account-secondary[data-account-dialog-close]{
  border-color:#B7834C;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#FFFFFF;
  box-shadow:0 10px 22px rgba(183,131,76,.18);
}

body.mayor-interface-boutique .mayor-account-recovery-form h2{
  color:var(--boutique-olive);
}

body.mayor-interface-boutique .mayor-account-recovery-methods legend,
body.mayor-interface-boutique .mayor-account-helper{
  color:var(--boutique-muted);
}

body.mayor-interface-boutique .mayor-account-recovery-methods label{
  border-color:var(--boutique-line);
  background:#fffdf9;
  color:var(--boutique-text);
}

body.mayor-interface-boutique .mayor-account-recovery-methods input{
  accent-color:var(--boutique-olive);
}

body.mayor-interface-boutique :is(.mayor-account-dialog,.mayor-order-dialog){
  background:rgba(48,42,34,.36);
}

/* Professional interface branch for Inicio. Boutique keeps the warm home rules above. */
body.mayor-interface-professional.mayor-view-inicio{
  --home-bg:#F5F5F5;
  --home-surface:#ffffff;
  --home-soft:#F1F1F1;
  --home-line:#DDDDDD;
  --home-accent:#3F3F3F;
  --home-accent-dark:#3F3F3F;
  --home-muted:#666666;
  background:var(--mayor-bg);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-shell{
  max-width:1180px;
  background:var(--mayor-bg);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-topbar{
  display:grid;
  grid-template-columns:minmax(86px,max-content) minmax(0,1fr) auto;
  gap:8px;
  min-height:68px;
  height:auto;
  padding:10px 12px;
  border-bottom:1px solid var(--mayor-line);
  background:rgba(255,255,255,.96);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  backdrop-filter:saturate(1.2) blur(12px);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-brand{
  justify-self:start;
  align-items:flex-start;
  width:auto;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img{
  display:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img-boutique{
  display:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img-professional{
  display:block;
  width:clamp(61px,6.4vw,81px);
  max-height:29px;
  height:auto;
  object-fit:contain;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-logo{
  display:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-logo-sub{
  display:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-search{
  display:flex;
  align-items:center;
  justify-self:stretch;
  width:100%;
  height:44px;
  padding:0 6px 0 12px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-search input{
  height:100%;
  color:#111111;
  font-size:14px;
  font-weight:420;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-search input::placeholder{
  color:#999999;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-search button{
  flex:0 0 34px;
  width:34px;
  height:34px;
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-search svg{
  width:21px;
  height:21px;
  stroke:currentColor;
  stroke-width:2;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-actions{
  justify-self:end;
  gap:6px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button{
  width:38px;
  min-width:38px;
  height:44px;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  color:#333333;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button svg{
  width:22px;
  height:22px;
  stroke-width:1.8;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge){
  display:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-badge{
  top:-7px;
  right:-4px;
  left:auto;
  min-width:23px;
  height:23px;
  padding:0 6px;
  border:2px solid #fff;
  border-radius:999px;
  background:#fef3f2;
  color:#d92d20;
  font-size:12px;
  font-weight:720;
  transform:none;
}

body.mayor-interface-professional.mayor-view-inicio #view-inicio{
  max-width:1080px;
  padding:12px 12px 18px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero{
  aspect-ratio:2 / 1;
  margin:0 -12px 12px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero-banner{
  object-fit:cover;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero-actions{
  left:14px;
  right:14px;
  bottom:12px;
  gap:8px;
}

body.mayor-interface-professional.mayor-view-inicio :is(
  .mayor-home-hero-actions button,
  .mayor-home-pro button,
  .mayor-home-choice-cta button
){
  min-width:0;
  min-height:42px;
  padding:0 18px;
  border-radius:12px;
  font-size:15px;
  font-weight:650;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-primary,
body.mayor-interface-professional.mayor-view-inicio .mayor-home-pro button,
body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-cta button{
  border-color:#D0D0D0;
  background:#fff;
  color:var(--mayor-primary);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-secondary{
  border-color:rgba(63,63,63,.24);
  background:rgba(255,255,255,.92);
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero-dots{
  right:14px;
  bottom:8px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero-dots button{
  background:rgba(63,63,63,.28);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero-dots button.is-active{
  background:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-services{
  gap:8px;
  margin:0 0 12px;
  padding:10px;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-services>span{
  grid-template-columns:24px minmax(0,1fr);
  gap:6px;
  color:#111111;
  font-size:11px;
  line-height:1.18;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-services svg{
  width:24px;
  height:24px;
  stroke:var(--mayor-primary);
  stroke-width:1.8;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-services b{
  color:#111111;
  font-weight:680;
  white-space:normal;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-services small{
  color:#666666;
  font-size:11px;
  line-height:1.18;
  white-space:normal;
}

@media (max-width:899px){
  body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero{
    margin-bottom:0;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-services{
    margin:0 -12px 12px;
    padding:10px 12px 12px;
    border:0;
    border-bottom:1px solid #E5E5E5;
    border-radius:0;
    background:#fff;
    box-shadow:none;
  }
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-category-rail{
  gap:8px;
  margin:0 0 12px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-category-rail button{
  min-height:72px;
  gap:7px;
  color:#111111;
  font-size:12px;
  font-weight:560;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-category-rail svg{
  width:42px;
  height:42px;
  padding:10px;
  border:1px solid #D0D0D0;
  border-radius:12px;
  background:#fff;
  stroke:var(--mayor-primary);
  stroke-width:1.7;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-pro{
  margin:0 0 12px;
  padding:14px;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-pro>div{
  gap:12px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-pro svg{
  width:32px;
  height:32px;
  stroke:var(--mayor-primary);
  stroke-width:1.8;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-pro b{
  color:#111111;
  font-size:14px;
  font-weight:700;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-pro small{
  color:#666666;
  font-size:13px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-section{
  margin:0 0 24px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-section-head{
  margin-bottom:10px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-section-head h2{
  color:#111111;
  font-size:18px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-section-head button{
  min-height:32px;
  color:var(--mayor-primary);
  font-size:13px;
  font-weight:650;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-product-strip{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-product{
  border:1px solid var(--mayor-line);
  border-radius:6px;
  background:#fff;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-product-image{
  aspect-ratio:10 / 8;
  background:#F8F8F8;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-product-info{
  padding:6px 8px 8px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-product h3{
  height:24px;
  margin-bottom:4px;
  color:#111111;
  font-size:9px;
  line-height:12px;
  font-weight:300;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-product p{
  padding-right:24px;
  color:#111111;
  font-size:12px;
  font-weight:300;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-favorite{
  color:#666666;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice{
  margin:0 0 12px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice h2{
  margin-bottom:14px;
  color:#111111;
  font-size:19px;
  font-weight:700;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-feature{
  min-height:92px;
  padding:0 6px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-feature + .mayor-home-choice-feature::before{
  top:22px;
  height:56px;
  background:var(--mayor-line);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-feature svg{
  width:34px;
  height:34px;
  margin-bottom:10px;
  stroke:var(--mayor-primary);
  stroke-width:1.8;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-feature b{
  color:#111111;
  font-size:12px;
  font-weight:700;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-feature span{
  color:#666666;
  font-size:12px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-cta{
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  margin-top:12px;
  min-height:0;
  padding:12px;
  border:1px solid #D0D0D0;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-cta svg{
  width:34px;
  height:34px;
  stroke:var(--mayor-primary);
  stroke-width:1.8;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-cta b{
  margin-bottom:4px;
  color:#111111;
  font-size:13px;
  font-weight:700;
  white-space:normal;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-cta span{
  color:#333333;
  font-size:13px;
  line-height:1.3;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-choice-cta button{
  grid-column:1 / -1;
  width:100%;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discounts{
  margin:0 0 12px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discounts-head{
  justify-content:flex-start;
  gap:10px;
  margin-bottom:10px;
  text-align:left;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discounts-badge{
  width:42px;
  height:42px;
  flex-basis:42px;
  border-radius:12px;
  background:#F1F1F1;
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discounts-badge svg{
  width:26px;
  height:26px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discounts h2{
  color:#111111;
  font-size:18px;
  font-weight:700;
  letter-spacing:0;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discounts-head p{
  justify-content:flex-start;
  gap:6px;
  margin-top:3px;
  color:#666666;
  font-size:12px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discounts-head p span{
  width:12px;
  background:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-board{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-row{
  grid-template-columns:28px minmax(46px,auto) minmax(8px,1fr) 42px;
  gap:5px;
  min-height:48px;
  padding:7px;
  border:1px solid var(--mayor-line);
  border-radius:12px;
  background:#fff;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-row:last-child{
  border-bottom:1px solid var(--mayor-line);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-cart{
  width:28px;
  height:28px;
  background:#F1F1F1;
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-cart svg{
  width:18px;
  height:18px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-amount{
  color:#111111;
  font-size:17px;
  font-weight:720;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-dots{
  background-image:radial-gradient(circle,#999999 2px,transparent 2.5px);
  background-size:7px 3px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-pill{
  min-width:40px;
  min-height:34px;
  border-radius:9px;
  background:#F1F1F1;
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-pill b{
  font-size:15px;
  font-weight:760;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer{
  margin:0;
  padding:0 0 82px;
  border-top:0;
  background:transparent;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.22fr) minmax(0,.92fr);
  margin:0 0 12px;
  padding:12px 8px;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
  color:#333333;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-width:0;
  padding:0 6px;
  text-align:center;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact-item:not(:last-child){
  border-right:1px solid var(--mayor-line);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact-item svg{
  width:28px;
  height:28px;
  stroke:var(--mayor-primary);
  stroke-width:1.8;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact-item span{
  color:#333333;
  font-size:10px;
  line-height:1.25;
  font-weight:500;
  overflow-wrap:break-word;
  word-break:normal;
}

@media (min-width:900px){
  body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact-item{
    display:grid;
    grid-template-columns:32px minmax(0,max-content);
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:0 22px;
    text-align:left;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact-item>div{
    min-width:0;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact-item span{
    text-align:left;
  }
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-body{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:0;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-col{
  padding:14px;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-body > nav.mayor-home-footer-col{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-col h3{
  margin-bottom:10px;
  color:#111111;
  font-size:15px;
  font-weight:700;
  letter-spacing:0;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-col h3::after{
  width:24px;
  height:2px;
  margin-top:8px;
  background:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-col a{
  margin-bottom:9px;
  color:#333333;
  font-size:14px;
  font-weight:450;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-col a:hover{
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-social{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-social h3{
  margin:0;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-social h3::after{
  display:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-social-links{
  margin-top:0;
  gap:14px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-social-links a{
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-social-links svg{
  width:30px;
  height:30px;
  stroke-width:1.8;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-rule{
  display:none;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-copy{
  margin:12px 0 0;
  color:#666666;
  font-size:12px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-copy span{
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-bottom-nav svg{
  color:#666666;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-bottom-nav button.is-active{
  color:var(--mayor-primary);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-bottom-nav button.is-active svg{
  background:var(--mayor-primary-soft);
}

input[type="search"]{
  -webkit-appearance:none;
  appearance:none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration{
  -webkit-appearance:none;
  appearance:none;
  display:none;
}

:is(.mayor-search,.mayor-top-search,.mayor-category-search) input[type="search"],
:is(.mayor-search,.mayor-top-search,.mayor-category-search) input[type="search"]:focus,
:is(.mayor-search,.mayor-top-search,.mayor-category-search) input[type="search"]:focus-visible{
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent;
}

.mayor-search{
  position:relative;
}

.mayor-search .mayor-search-clear{
  right:0;
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
}

.mayor-search .mayor-search-clear:focus,
.mayor-search .mayor-search-clear:focus-visible,
.mayor-search .mayor-search-clear:active{
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
}

.mayor-category-search .mayor-category-close{
  margin-left:auto;
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
}

.mayor-products-search>svg{
  display:none;
}

.mayor-category-search input[type="search"],
.mayor-category-search input[type="search"]:focus,
.mayor-category-search input[type="search"]:focus-visible{
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}

.mayor-category-search .mayor-category-close,
.mayor-category-search .mayor-category-close:focus,
.mayor-category-search .mayor-category-close:focus-visible,
.mayor-category-search .mayor-category-close:active{
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
  color:#111111;
  box-shadow:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-search input[type="search"],
.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-search input[type="search"]:focus,
.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-search input[type="search"]:focus-visible{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.86);
}

.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-search .mayor-category-close,
.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-search .mayor-category-close:focus,
.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-search .mayor-category-close:focus-visible,
.mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-search .mayor-category-close:active{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.86);
  color:var(--boutique-text);
}

@media (hover:hover) and (pointer:fine){
  button:not(:disabled),
  a[href],
  summary,
  label[for],
  select,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  input[type="checkbox"],
  input[type="radio"],
  [role="button"]:not([aria-disabled="true"]),
  [data-nav],
  [data-home-category],
  [data-home-hero-dot],
  [data-account-mode],
  [data-account-module]:not(.is-disabled),
  [data-account-address-edit],
  [data-account-logout],
  [data-account-logout-confirm],
  [data-account-dialog-close],
  [data-order-dialog-close],
  [data-order-history-close],
  [data-order-submit],
  [data-order-status],
  [data-order-action]:not(:disabled),
  [data-order-product-detail],
  [data-order-product-image],
  [data-focus-search],
  [data-search-clear],
  [data-open-product-detail],
  [data-add-product],
  [data-remove-product],
  [data-category-select],
  [data-brand-select],
  [data-category],
  [data-category-summary],
  [data-category-toggle],
  [data-category-close],
  [data-cart-action],
  [data-cart-product-detail],
  [data-cart-product-image],
  [data-detail-back],
  [data-open-image],
  [data-image-close],
  [data-detail-plus],
  [data-detail-minus],
  [data-detail-other],
  [data-detail-piece],
  [data-interface-style-option],
  [data-load-more]{
    cursor:pointer;
  }

  button:disabled,
  [disabled],
  [aria-disabled="true"],
  .mayor-account-module.is-disabled{
    cursor:not-allowed;
  }
}

@media (min-width:900px){
  .mayor-shell{
    max-width:none;
    min-height:100vh;
    padding-top:72px;
    padding-bottom:0;
  }

  .mayor-topbar,
  body.mayor-view-inicio .mayor-topbar,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-topbar,
  body.mayor-interface-professional.mayor-view-inicio .mayor-topbar,
  .mayor-shell[data-view="productos"] .mayor-topbar,
  .mayor-shell[data-view="detalle"] .mayor-topbar,
  .mayor-shell[data-view="carrito"] .mayor-topbar,
  .mayor-shell[data-view="pedidos"] .mayor-topbar,
  .mayor-shell[data-view="cuenta"] .mayor-topbar,
  .mayor-shell[data-view="order-submit"] .mayor-topbar,
  .mayor-shell[data-view="order-detail"] .mayor-topbar{
    position:fixed !important;
    top:0;
    right:0;
    left:0;
    z-index:80;
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    grid-template-columns:none !important;
    height:72px !important;
    min-height:72px;
    padding:10px 28px;
    gap:18px;
    border-bottom:1px solid var(--mayor-line);
    background:rgba(255,255,255,.97);
    box-shadow:0 8px 22px rgba(0,0,0,.05);
    backdrop-filter:saturate(1.2) blur(14px);
  }

  body.mayor-interface-boutique .mayor-topbar,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-topbar{
    border-bottom-color:rgba(202,169,126,.28);
    background:rgba(255,253,249,.97);
  }

  .mayor-main{
    width:100%;
    max-width:1180px;
    min-height:calc(100vh - 72px);
    margin:0 auto;
  }

  .mayor-view{
    padding:24px 32px 40px;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-modules,
  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-modules{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .mayor-menu-button{
    display:none !important;
  }

  .mayor-brand,
  body.mayor-view-inicio .mayor-brand,
  body.mayor-interface-professional.mayor-view-inicio .mayor-brand{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-width:0;
    width:auto;
    height:46px;
  }

  .mayor-logo,
  .mayor-logo-sub{
    display:none;
  }

  .mayor-brand-img,
  body.mayor-view-inicio .mayor-brand-img,
  body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img{
    display:none;
    width:118px;
    max-width:118px;
    max-height:44px;
    object-fit:contain;
  }

  body.mayor-interface-boutique .mayor-brand-img-boutique,
  body.mayor-interface-professional .mayor-brand-img-professional{
    display:block;
  }

  body.mayor-interface-boutique .mayor-brand-img-professional,
  body.mayor-interface-professional .mayor-brand-img-boutique{
    display:none;
  }

  .mayor-desktop-primary-nav{
    display:flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
  }

  .mayor-desktop-primary-nav button,
  .mayor-top-action-button,
  body.mayor-view-inicio .mayor-top-action-button,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:0;
    height:44px;
    padding:0 15px;
    gap:7px;
    border:1px solid var(--mayor-line);
    border-radius:999px;
    background:#fff;
    color:#333333;
    box-shadow:none;
    font-size:15px;
    line-height:1;
    font-weight:650;
  }

  .mayor-desktop-primary-nav button.is-active,
  .mayor-top-action-button.is-active,
  body.mayor-view-inicio .mayor-top-action-button.is-active{
    border-color:#D0D0D0;
    background:#F5F5F5;
    color:#111111;
  }

  body.mayor-interface-boutique .mayor-desktop-primary-nav button,
  body.mayor-interface-boutique .mayor-top-action-button{
    border-color:rgba(202,169,126,.38);
    background:rgba(255,253,249,.86);
    color:#5F6B45;
  }

  body.mayor-interface-boutique .mayor-desktop-primary-nav button.is-active,
  body.mayor-interface-boutique .mayor-top-action-button.is-active{
    border-color:#5F6B45;
    background:rgba(95,107,69,.08);
    color:#5F6B45;
  }

  .mayor-top-actions,
  body.mayor-view-inicio .mayor-top-actions,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
  }

  .mayor-orders-button{
    display:inline-flex;
    order:1;
  }

  .mayor-cart-button{
    order:2;
  }

  .mayor-account-button{
    order:3;
  }

  .mayor-top-action-button svg,
  body.mayor-view-inicio .mayor-top-action-button svg,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button svg{
    width:21px;
    height:21px;
    padding:0;
    color:currentColor;
    background:transparent;
  }

  .mayor-top-action-button span:not(.mayor-badge),
  body.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge),
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge){
    display:inline;
    color:currentColor;
    font-size:15px;
    font-weight:650;
  }

  .mayor-top-search,
  body.mayor-view-inicio .mayor-top-search,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-search{
    display:flex !important;
    align-items:center;
    flex:1 1 420px;
    max-width:540px;
    height:46px;
    min-height:46px;
    padding:0 8px 0 18px;
    border:1px solid var(--mayor-line);
    border-radius:999px;
    background:#fff;
  }

  .mayor-top-search input,
  body.mayor-view-inicio .mayor-top-search input,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-search input{
    flex:1 1 auto;
    min-width:0;
    height:42px;
    border:0;
    background:transparent;
    color:#333333;
    font-size:17px;
  }

  .mayor-top-search button,
  body.mayor-view-inicio .mayor-top-search button,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-search button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    padding:0;
    border:0;
    background:transparent;
    color:#333333;
  }

  .mayor-top-search svg,
  body.mayor-view-inicio .mayor-top-search svg,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-search svg{
    width:22px;
    height:22px;
    color:currentColor;
    stroke:currentColor;
  }

  .mayor-bottom-nav,
  body.mayor-interface-boutique .mayor-bottom-nav{
    display:none !important;
  }

  .mayor-shell[data-view="productos"] .mayor-products-toolbar,
  .mayor-products-toolbar{
    top:72px;
  }
}

@media (max-width:420px){
  body.mayor-interface-professional.mayor-view-inicio .mayor-topbar{
    grid-template-columns:82px minmax(0,1fr) auto;
    padding:9px 10px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img-professional{
    width:61px;
    max-height:27px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-top-search{
    height:42px;
    padding-left:10px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button{
    width:34px;
    min-width:34px;
    height:42px;
  }

  body.mayor-interface-professional.mayor-view-inicio #view-inicio{
    padding:10px 10px 16px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero{
    margin:0 -10px 0;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-services{
    margin:0 -10px 12px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero-actions button{
    min-height:38px;
    padding:0 14px;
    font-size:14px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-category-rail button{
    font-size:11px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-product-strip{
    gap:8px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-product-info{
    padding:5px 6px 7px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-product h3{
    height:22px;
    margin-bottom:3px;
    font-size:8px;
    line-height:11px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-product p{
    padding-right:18px;
    font-size:11px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-discount-row{
    grid-template-columns:26px minmax(44px,auto) minmax(6px,1fr) 40px;
    gap:4px;
  }
}

@media (min-width:900px){
  .mayor-shell[data-view="productos"] .mayor-main{
    max-width:1720px;
  }

  .mayor-shell[data-view="productos"] #view-productos.is-active{
    display:grid;
    grid-template-columns:clamp(260px,22vw,330px) minmax(0,1fr);
    align-items:start;
    gap:20px;
    padding:24px 32px 48px;
  }

  .mayor-shell[data-view="productos"] .mayor-products-toolbar{
    display:none !important;
  }

  .mayor-shell[data-view="productos"] .mayor-category-panel,
  .mayor-shell[data-view="productos"] .mayor-category-panel[hidden]{
    position:sticky;
    top:92px;
    bottom:auto;
    left:auto;
    z-index:12;
    grid-column:1;
    grid-row:1 / span 5;
    display:flex !important;
    width:100%;
    max-height:calc(100vh - 112px);
    padding:14px;
    border-radius:18px;
    box-shadow:none;
    transform:none;
  }

  .mayor-shell[data-view="productos"] .mayor-category-search{
    margin-bottom:12px;
  }

  .mayor-shell[data-view="productos"] .mayor-category-close{
    display:none !important;
  }

  .mayor-shell[data-view="productos"] .mayor-category-search input{
    min-height:46px;
  }

  .mayor-shell[data-view="productos"] .mayor-cat-children button.is-active{
    border-color:#D0D0D0;
    background:#F2F4F7;
    color:#111111;
  }

  .mayor-shell[data-view="productos"] .mayor-cat-children button.is-active span,
  .mayor-shell[data-view="productos"] .mayor-cat-children button.is-active b{
    color:#111111;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-cat-children button.is-active{
    border-color:#5F6B45;
    background:#5F6B45;
    color:#fff;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-cat-children button.is-active span,
  .mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-cat-children button.is-active b{
    color:#fff;
  }

  .mayor-shell[data-view="productos"] .mayor-category-scroll{
    max-height:none;
  }

  .mayor-shell[data-view="productos"] .mayor-category-strip,
  .mayor-shell[data-view="productos"] .mayor-result-line{
    display:none !important;
  }

  .mayor-shell[data-view="productos"] .mayor-category-banner{
    grid-column:2;
    width:100%;
    margin:0 0 16px;
  }

  .mayor-shell[data-view="productos"] .mayor-category-banner[hidden]{
    display:none !important;
  }

  .mayor-shell[data-view="productos"] .mayor-products-grid{
    grid-column:2;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    width:100%;
    margin-top:0;
  }

  .mayor-shell[data-view="productos"] .mayor-load-more{
    grid-column:2;
    justify-self:stretch;
    width:100%;
    max-width:none;
  }

  .mayor-shell[data-view="productos"] .mayor-products-grid > .mayor-cart-empty{
    grid-column:1 / -1;
  }
}

@media (min-width:900px){
  .mayor-shell[data-view="carrito"] .mayor-main{
    max-width:1360px;
  }

  .mayor-shell[data-view="carrito"] #view-carrito.is-active{
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(320px,28vw,380px);
    grid-template-areas:
      "cart-items cart-summary";
    align-items:start;
    gap:18px 24px;
    padding:24px 32px 54px;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-title{
    grid-area:cart-title;
    display:none !important;
    top:92px;
    min-height:66px;
    margin:0;
    padding:12px 18px;
    border-radius:18px;
    box-shadow:none;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-title h1{
    margin:0;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-title .mayor-cart-total,
  .mayor-shell[data-view="carrito"] .mayor-cart-title-submit{
    display:none !important;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-card{
    grid-area:cart-items;
  }

  .mayor-shell[data-view="carrito"] .mayor-add-more{
    display:none !important;
  }

  .mayor-shell[data-view="carrito"] .mayor-order-summary{
    grid-area:cart-summary;
    position:sticky;
    top:92px;
    margin:0;
    padding:20px;
    border:1px solid var(--mayor-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 28px rgba(0,0,0,.06);
  }

  .mayor-shell[data-view="carrito"] .mayor-order-summary::before{
    content:"Carrito";
    display:block;
    margin:0 0 16px;
    color:#111111;
    font-size:24px;
    line-height:1;
    font-weight:680;
    text-align:left;
  }

  .mayor-shell[data-view="carrito"] .mayor-discount-summary{
    gap:0;
  }

  .mayor-shell[data-view="carrito"] .mayor-discount-summary div{
    min-height:44px;
    padding:8px 0;
    border-bottom:1px solid rgba(221,221,221,.75);
  }

  .mayor-shell[data-view="carrito"] .mayor-discount-summary div:last-child{
    border-bottom:0;
  }

  .mayor-shell[data-view="carrito"] .mayor-discount-summary span{
    font-size:15px;
  }

  .mayor-shell[data-view="carrito"] .mayor-discount-summary strong{
    font-size:18px;
  }

  .mayor-shell[data-view="carrito"] .mayor-discount-next{
    margin:14px 0 0;
    font-size:14px;
  }

  .mayor-shell[data-view="carrito"] .mayor-summary-add-more{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    margin:18px 0 10px;
    padding:0 18px;
    border:1px solid var(--mayor-line);
    border-radius:16px;
    background:#fff;
    color:#111111;
    font-size:15px;
    font-weight:650;
    text-align:center;
  }

  .mayor-shell[data-view="carrito"] .mayor-order-summary .mayor-primary-action{
    min-height:48px;
    margin-top:0;
    font-size:15px;
    font-weight:650;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-title,
  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-order-summary{
    margin:0;
    border-color:var(--cart-boutique-line);
    background:var(--cart-boutique-surface);
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-order-summary::before{
    color:var(--cart-boutique-olive);
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-summary-add-more{
    border-color:#B7834C;
    border-radius:999px;
    background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
    color:#fff;
    box-shadow:0 10px 22px rgba(183,131,76,.18);
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-discount-summary div{
    border-bottom-color:var(--cart-boutique-line-soft);
  }
}

.mayor-detail-desktop-nav{
  display:none;
}

@media (min-width:900px){
  html.mayor-view-detalle,
  body.mayor-view-detalle{
    height:auto;
    min-height:100%;
    overflow:auto;
    overscroll-behavior:auto;
  }

  body.mayor-view-detalle .mayor-shell{
    height:auto;
    min-height:100vh;
    overflow:visible;
  }

  body.mayor-view-detalle .mayor-main{
    max-width:1360px;
    height:auto;
    min-height:calc(100vh - 72px);
    overflow:visible;
  }

  body.mayor-view-detalle #view-detalle.is-active{
    display:grid;
    grid-template-columns:minmax(0,1.26fr) minmax(360px,.74fr);
    grid-template-areas:
      "detail-head detail-head"
      "detail-image detail-info"
      "detail-nav detail-nav";
    align-items:start;
    gap:18px 24px;
    min-height:calc(100vh - 72px);
    height:auto;
    max-height:none;
    padding:24px 32px 64px;
    overflow:visible;
  }

  body.mayor-view-detalle .mayor-detail-head{
    grid-area:detail-head;
    min-height:58px;
    margin:0;
    border-radius:16px;
  }

  body.mayor-view-detalle .mayor-detail-image-card{
    grid-area:detail-image;
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
    min-height:0;
    max-height:none;
    margin:0;
    padding:0;
    border:1px solid var(--mayor-line);
    overflow:hidden;
  }

  body.mayor-view-detalle .mayor-detail-image-card img{
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:contain;
    object-position:center;
  }

  body.mayor-view-detalle .mayor-detail-body{
    grid-area:detail-info;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    min-height:0;
    margin:0;
    padding:24px;
    border:1px solid var(--mayor-line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 26px rgba(0,0,0,.05);
  }

  body.mayor-view-detalle .mayor-detail-body h1{
    display:block;
    margin:0 0 20px;
    overflow:visible;
    color:#111111;
    font-size:28px;
    font-weight:680;
    line-height:1.22;
    -webkit-line-clamp:unset;
    line-clamp:unset;
  }

  body.mayor-view-detalle .mayor-detail-tags{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin:0 0 22px;
  }

  body.mayor-view-detalle .mayor-detail-tags span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:44px;
    width:100%;
    max-width:none;
    padding:10px 0;
    border:0;
    border-bottom:1px solid var(--mayor-line);
    border-radius:0;
    background:transparent;
    color:#111111;
    font-size:17px;
    font-weight:620;
    line-height:1.25;
    text-align:right;
    white-space:normal;
  }

  body.mayor-view-detalle .mayor-detail-tags span::before{
    flex:0 0 auto;
    margin-right:18px;
    color:#666666;
    font-size:15px;
    font-weight:560;
    text-align:left;
  }

  body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="brand"]{
    order:1;
  }

  body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="brand"]::before{
    content:"Marca";
  }

  body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="sku"]{
    order:2;
  }

  body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="sku"]::before{
    content:"Referencia";
  }

  body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="barcode"]{
    order:3;
  }

  body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="barcode"]::before{
    content:"Código de barras";
  }

  body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="pack"]{
    order:4;
  }

  body.mayor-view-detalle .mayor-detail-tags span[data-detail-tag="pack"]::before{
    content:"U/C";
  }

  body.mayor-view-detalle .mayor-detail-price-row{
    display:flex;
    align-items:baseline;
    gap:8px;
    min-height:54px;
    margin:-4px 0 20px;
    padding:10px 0 14px;
    border-bottom:1px solid var(--mayor-line);
    color:#111111;
  }

  body.mayor-view-detalle .mayor-detail-price-row[hidden]{
    display:none;
  }

  body.mayor-view-detalle .mayor-detail-price-row span{
    flex:1 1 auto;
    color:#666666;
    font-size:15px;
    font-weight:560;
  }

  body.mayor-view-detalle .mayor-detail-price-row strong{
    flex:0 0 auto;
    color:#5F6B45;
    font-size:34px;
    line-height:1;
    font-weight:720;
  }

  body.mayor-view-detalle .mayor-detail-price-row em{
    flex:0 0 auto;
    color:#666666;
    font-size:17px;
    line-height:1;
    font-style:normal;
    font-weight:560;
  }

  body.mayor-view-detalle .mayor-detail-buy:not(.is-register-only){
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:auto;
    padding:18px;
    border-radius:16px;
  }

  body.mayor-view-detalle .mayor-detail-buy > .mayor-detail-buy-price{
    display:none !important;
  }

  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control{
    flex:0 0 auto;
    gap:12px;
    margin-right:0;
    margin-left:0;
  }

  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-minus],
  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-plus]{
    width:52px;
    height:52px;
    font-size:30px;
  }

  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control output{
    min-width:44px;
    font-size:22px;
    text-align:center;
  }

  body.mayor-view-detalle .mayor-detail-desktop-nav{
    grid-area:detail-nav;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  body.mayor-view-detalle .mayor-detail-desktop-nav[hidden]{
    display:none;
  }

  body.mayor-view-detalle .mayor-detail-desktop-nav button{
    min-height:54px;
    border:1px solid var(--mayor-line);
    border-radius:16px;
    background:#fff;
    color:#111111;
    font-size:16px;
    font-weight:650;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
  }

  body.mayor-view-detalle .mayor-detail-desktop-nav button:disabled{
    color:#999999;
    background:#F5F5F5;
    cursor:not-allowed;
  }

  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-body,
  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-desktop-nav button{
    border-color:var(--boutique-line);
    background:rgba(255,253,249,.82);
    box-shadow:0 12px 30px rgba(139,94,52,.08);
  }

  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-tags span{
    border-bottom-color:var(--boutique-line);
    color:var(--boutique-olive);
  }

  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-tags span::before,
  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-price-row span,
  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-price-row em{
    color:#7a6c5d;
  }

  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-price-row{
    border-bottom-color:var(--boutique-line);
  }

  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-price-row strong{
    color:var(--boutique-olive);
  }

  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-desktop-nav button{
    color:var(--boutique-olive);
  }
}

@media (min-width:900px){
  .mayor-topbar,
  body.mayor-view-inicio .mayor-topbar,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-topbar,
  body.mayor-interface-professional.mayor-view-inicio .mayor-topbar,
  .mayor-shell[data-view="productos"] .mayor-topbar,
  .mayor-shell[data-view="detalle"] .mayor-topbar,
  .mayor-shell[data-view="carrito"] .mayor-topbar,
  .mayor-shell[data-view="pedidos"] .mayor-topbar,
  .mayor-shell[data-view="cuenta"] .mayor-topbar,
  .mayor-shell[data-view="order-submit"] .mayor-topbar,
  .mayor-shell[data-view="order-detail"] .mayor-topbar{
    --desktop-nav-separator:rgba(17,17,17,.18);
    display:flex !important;
    align-items:center;
    justify-content:center;
    grid-template-columns:none !important;
    height:72px !important;
    min-height:72px !important;
    gap:0;
    padding-left:clamp(18px,3vw,42px);
    padding-right:clamp(18px,3vw,42px);
  }

  body.mayor-interface-boutique .mayor-topbar,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-topbar{
    --desktop-nav-separator:rgba(202,169,126,.48);
  }

  .mayor-brand,
  body.mayor-view-inicio .mayor-brand,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-brand,
  body.mayor-interface-professional.mayor-view-inicio .mayor-brand{
    justify-self:auto;
    flex-direction:row;
    padding-right:18px;
    border-right:1px solid var(--desktop-nav-separator);
  }

  .mayor-brand-img,
  body.mayor-view-inicio .mayor-brand-img,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-brand-img,
  body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img{
    width:118px;
    max-width:118px;
    max-height:44px;
  }

  body.mayor-interface-boutique .mayor-brand-img-boutique,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-brand-img-boutique,
  body.mayor-interface-professional .mayor-brand-img-professional,
  body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img-professional{
    display:block;
  }

  body.mayor-interface-boutique .mayor-brand-img-professional,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-brand-img-professional,
  body.mayor-interface-professional .mayor-brand-img-boutique,
  body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img-boutique{
    display:none;
  }

  .mayor-desktop-primary-nav{
    display:flex;
    gap:0;
  }

  .mayor-desktop-primary-nav button,
  .mayor-top-action-button,
  body.mayor-view-inicio .mayor-top-action-button,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button,
  body.mayor-interface-boutique .mayor-desktop-primary-nav button,
  body.mayor-interface-boutique .mayor-top-action-button{
    min-width:0;
    height:44px;
    padding:0 16px;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#111111;
    flex:0 0 auto;
    flex-direction:row;
    gap:7px;
    font-weight:360;
    position:relative;
  }

  body.mayor-interface-boutique .mayor-desktop-primary-nav button,
  body.mayor-interface-boutique .mayor-top-action-button{
    color:#5F6B45;
  }

  .mayor-desktop-primary-nav button + button,
  .mayor-top-action-button + .mayor-top-action-button{
    border-left:0 !important;
  }

  .mayor-desktop-primary-nav button + button::before,
  .mayor-top-action-button + .mayor-top-action-button::before{
    content:"";
    position:absolute;
    top:8px;
    bottom:8px;
    left:0;
    width:1px;
    background:var(--desktop-nav-separator);
    pointer-events:none;
  }

  .mayor-desktop-primary-nav button.is-active,
  .mayor-top-action-button.is-active,
  body.mayor-view-inicio .mayor-top-action-button.is-active,
  body.mayor-interface-boutique .mayor-desktop-primary-nav button.is-active,
  body.mayor-interface-boutique .mayor-top-action-button.is-active{
    color:#5F6B45;
    background:transparent !important;
  }

  body.mayor-interface-professional .mayor-desktop-primary-nav button.is-active,
  body.mayor-interface-professional .mayor-top-action-button.is-active{
    color:#111111;
  }

  .mayor-desktop-primary-nav svg,
  .mayor-top-action-button svg,
  body.mayor-view-inicio .mayor-top-action-button svg,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button svg{
    flex:0 0 auto;
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
    color:currentColor;
  }

  .mayor-desktop-primary-nav span,
  .mayor-top-action-button span:not(.mayor-badge),
  body.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge),
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge){
    display:inline-flex;
    align-items:center;
    color:currentColor;
    font-size:15px;
    font-weight:360;
  }

  .mayor-top-actions,
  body.mayor-view-inicio .mayor-top-actions,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-actions{
    justify-self:auto;
    gap:0;
  }

  .mayor-top-search,
  body.mayor-view-inicio .mayor-top-search,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-search{
    position:relative;
    justify-self:auto;
    width:auto;
    height:46px;
    min-height:46px;
    flex:1 1 360px;
    max-width:min(34vw,460px);
    min-width:240px;
    margin:0 14px;
  }

  .mayor-top-search::before,
  .mayor-top-search::after{
    content:"";
    position:absolute;
    top:8px;
    bottom:8px;
    width:1px;
    background:var(--desktop-nav-separator);
    pointer-events:none;
  }

  .mayor-top-search::before{
    left:-14px;
  }

  .mayor-top-search::after{
    right:-14px;
  }

  .mayor-topbar .mayor-cart-button{
    width:auto;
    min-width:0;
    white-space:nowrap;
  }

  .mayor-topbar .mayor-cart-button svg{
    order:1;
  }

  .mayor-topbar .mayor-cart-button span:not(.mayor-badge){
    order:2;
  }

  .mayor-topbar .mayor-cart-button .mayor-badge{
    position:static;
    order:3;
    transform:none;
    min-width:0;
    height:auto;
    margin-left:4px;
    padding:0;
    border:0;
    background:transparent;
    color:#D54646;
    font-size:14px;
    font-weight:420;
    line-height:1;
  }
}

@media (min-width:900px) and (max-width:1100px){
  .mayor-brand-img,
  body.mayor-view-inicio .mayor-brand-img,
  body.mayor-interface-professional.mayor-view-inicio .mayor-brand-img{
    width:96px;
    max-width:96px;
  }

  .mayor-brand,
  body.mayor-view-inicio .mayor-brand,
  body.mayor-interface-professional.mayor-view-inicio .mayor-brand{
    padding-right:12px;
  }

  .mayor-desktop-primary-nav button,
  .mayor-top-action-button,
  body.mayor-view-inicio .mayor-top-action-button,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button,
  body.mayor-interface-boutique .mayor-desktop-primary-nav button,
  body.mayor-interface-boutique .mayor-top-action-button{
    padding:0 8px;
    gap:5px;
  }

  .mayor-desktop-primary-nav svg,
  .mayor-top-action-button svg,
  body.mayor-view-inicio .mayor-top-action-button svg,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button svg{
    width:18px;
    height:18px;
  }

  .mayor-desktop-primary-nav span,
  .mayor-top-action-button span:not(.mayor-badge),
  body.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge),
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-action-button span:not(.mayor-badge){
    font-size:13px;
  }

  .mayor-top-search,
  body.mayor-view-inicio .mayor-top-search,
  body.mayor-interface-professional.mayor-view-inicio .mayor-top-search{
    flex-basis:220px;
    min-width:180px;
    max-width:240px;
    margin:0 10px;
  }

  .mayor-top-search::before{
    left:-10px;
  }

  .mayor-top-search::after{
    right:-10px;
  }
}

@media (max-width:899px){
  body.mayor-view-inicio .mayor-home-choice{
    display:none !important;
  }

  body.mayor-view-inicio .mayor-home-media{
    display:block;
    width:100%;
    margin:0 0 24px;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  body.mayor-view-inicio .mayor-home-media-brand-intro{
    aspect-ratio:2 / 1;
    margin-top:-6px;
  }

  body.mayor-view-inicio .mayor-home-media-shipping{
    aspect-ratio:3 / 1;
  }

  body.mayor-view-inicio .mayor-topbar .mayor-cart-button,
  body.mayor-view-inicio .mayor-topbar .mayor-orders-button{
    display:none !important;
  }

  body.mayor-view-inicio .mayor-topbar .mayor-account-button.is-account-active{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:auto;
    min-width:52px;
    height:40px;
    padding:0 2px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-topbar .mayor-account-button.is-account-active{
    min-width:58px;
    height:44px;
    padding:0 4px;
  }

  body.mayor-view-inicio .mayor-topbar .mayor-account-button.is-account-active svg,
  body.mayor-view-inicio .mayor-topbar .mayor-account-button.is-account-active span:not(.mayor-badge){
    display:none !important;
  }

  body.mayor-view-inicio .mayor-topbar .mayor-account-button.is-account-active::after{
    content:"Activo";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:currentColor;
    font-size:13px;
    font-weight:650;
    line-height:1;
    white-space:nowrap;
  }
}

/* Final color isolation pass for the two mayor interface styles. */
.mayor-top-search svg,
.mayor-top-search svg *{
  fill:none !important;
  stroke:currentColor;
}

body.mayor-interface-professional .mayor-cart-title .mayor-cart-total,
body.mayor-interface-professional.mayor-view-detalle .mayor-detail-price-row strong{
  color:#111111;
}

body.mayor-interface-professional .mayor-cart-title .mayor-cart-total span,
body.mayor-interface-professional.mayor-view-detalle .mayor-detail-price-row span,
body.mayor-interface-professional.mayor-view-detalle .mayor-detail-price-row em{
  color:#666666;
}

body.mayor-interface-professional.mayor-view-detalle .mayor-detail-tags span{
  color:#111111;
}

body.mayor-interface-professional.mayor-view-detalle .mayor-detail-tags span::before{
  color:#666666;
}

body.mayor-interface-professional .mayor-top-search button{
  color:#111111;
}

body.mayor-interface-boutique .mayor-top-search button{
  color:#5F6B45;
}

@media (min-width:900px){
  body.mayor-interface-boutique{
    --mayor-bg:#FFFDF9;
    --boutique-bg:#FFFDF9;
    background:#FFFDF9;
  }

  html[data-interface-style="boutique"],
  body.mayor-interface-boutique,
  body.mayor-interface-boutique .mayor-shell,
  body.mayor-interface-boutique .mayor-main,
  body.mayor-interface-boutique :is(
    .mayor-view,
    #view-inicio,
    #view-productos,
    #view-detalle,
    #view-carrito,
    #view-order-submit,
    #view-pedidos,
    #view-order-detail,
    #view-cuenta,
    .mayor-home-hero,
    .mayor-home-services,
    .mayor-home-choice,
    .mayor-home-footer
  ),
  .mayor-shell[data-interface-style="boutique"][data-view="productos"],
  .mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-main,
  .mayor-shell[data-interface-style="boutique"][data-view="productos"] #view-productos,
  .mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-products-grid,
  .mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-banner,
  .mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-category-banner img,
  .mayor-shell[data-interface-style="boutique"][data-view="carrito"],
  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] #view-carrito,
  .mayor-shell[data-interface-style="boutique"][data-view="detalle"],
  .mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-main,
  .mayor-shell[data-interface-style="boutique"][data-view="detalle"] #view-detalle,
  .mayor-shell[data-interface-style="boutique"][data-view="order-submit"] #view-order-submit,
  .mayor-shell[data-interface-style="boutique"][data-view="pedidos"] #view-pedidos,
  .mayor-shell[data-interface-style="boutique"][data-view="order-detail"] #view-order-detail,
  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] #view-cuenta{
    background:#FFFDF9;
  }

  body.mayor-interface-boutique .mayor-topbar,
  body.mayor-interface-boutique.mayor-view-inicio .mayor-topbar{
    background:rgba(255,253,249,.985);
  }

  body.mayor-interface-professional .mayor-desktop-primary-nav button,
  body.mayor-interface-professional .mayor-top-action-button{
    color:#111111;
  }

  body.mayor-interface-boutique .mayor-desktop-primary-nav button,
  body.mayor-interface-boutique .mayor-top-action-button{
    color:#5F6B45;
  }
}

@media (min-width:900px){
  .mayor-shell[data-view="cuenta"] .mayor-account-root:has(.mayor-account-narrow){
    display:flex;
    justify-content:center;
    width:100%;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-narrow{
    width:min(100%,590px);
    max-width:590px;
    margin:0 auto;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-narrow .mayor-account-section{
    grid-template-columns:1fr;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-narrow .mayor-account-span-2{
    grid-column:auto;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-narrow .mayor-account-radio-options,
  .mayor-shell[data-view="cuenta"] .mayor-account-narrow .mayor-account-basic-actions{
    grid-template-columns:1fr;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-narrow .mayor-address-list{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* Product detail ordered quantity and single-piece selector. */
.mayor-detail-qty-badge{
  top:10px;
  left:10px;
}

.mayor-detail-buy .mayor-qty-control{
  position:relative;
}

.mayor-detail-buy .mayor-qty-control button[data-detail-other],
.mayor-detail-buy .mayor-qty-control button[data-detail-piece]{
  width:34px;
  height:34px;
  padding:0;
  font-size:10px;
  font-weight:650;
  letter-spacing:0;
  white-space:nowrap;
}

.mayor-detail-piece-popover{
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
}

.mayor-detail-piece-popover[hidden]{
  display:none;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy .mayor-qty-control button[data-detail-other],
.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy .mayor-qty-control button[data-detail-piece]{
  border-color:#bc8952;
  background:rgba(255,253,249,.82);
  color:#8b623e;
}

@media (min-width:900px){
  body.mayor-view-detalle .mayor-detail-qty-badge{
    display:none;
  }

  body.mayor-view-detalle .mayor-detail-price-row{
    display:grid;
    align-items:stretch;
    gap:0;
  }

  body.mayor-view-detalle .mayor-detail-price-row[hidden]{
    display:none;
  }

  body.mayor-view-detalle .mayor-detail-price-main,
  body.mayor-view-detalle .mayor-detail-order-qty{
    display:flex;
    align-items:baseline;
    gap:8px;
    width:100%;
  }

  body.mayor-view-detalle .mayor-detail-order-qty{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid var(--mayor-line);
  }

  body.mayor-view-detalle .mayor-detail-price-main span,
  body.mayor-view-detalle .mayor-detail-order-qty span{
    flex:1 1 auto;
  }

  body.mayor-view-detalle .mayor-detail-order-qty strong{
    flex:0 0 auto;
    color:#d92d20;
    font-size:22px;
    line-height:1;
    font-weight:720;
  }

  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-other],
  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-piece]{
    width:52px;
    height:52px;
    font-size:12px;
  }
}

@media (max-width:899px){
  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-other],
  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-piece]{
    width:36px;
    height:36px;
    font-size:10px;
  }
}

@media (max-width:420px){
  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-other],
  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control button[data-detail-piece]{
    width:35px;
    height:35px;
    font-size:9.5px;
  }
}
