: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);
  --mayor-capacitor-safe-top:0px;
  --mayor-capacitor-visual-top-gap:0px;
  --mayor-capacitor-top-offset:0px;
  /* Release integrity asset: resolved only when the category banner is shown. */
  --mayor-category-banner-release-asset:url("/shared/assets/mayor-category-banner-default.jpg");
}

/* Mi Asesor uses the monochrome action treatment in Profesional style. */
.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-account-advisor-row button{
  border:1px solid #111111;
  background:#ffffff;
  color:#111111;
  box-shadow:none;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-account-advisor-change-form > .mayor-account-primary{
  border:1px solid #111111;
  background:#111111;
  color:#ffffff;
  box-shadow:none;
}

/* Public B2B theme landing pages: shared SSR layout for three distinct intents. */
body.mayor-view-tema .mayor-main{
  width:min(1180px,100%);
  margin:0 auto;
}

.mayor-theme-view{
  padding:18px 18px 86px;
  color:#20231d;
}

.mayor-theme-hero{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);
  gap:34px;
  align-items:center;
  padding:clamp(38px,6vw,74px);
  border:1px solid rgba(95,107,69,.18);
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 15%,rgba(188,137,82,.22),transparent 34%),
    linear-gradient(135deg,#fffaf4 0%,#f4f3e9 54%,#e7eadc 100%);
  box-shadow:0 24px 54px rgba(51,58,39,.1);
}

.mayor-theme-eyebrow,
.mayor-theme-section-head>span{
  display:block;
  margin-bottom:12px;
  color:#697650;
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.mayor-theme-hero h1{
  max-width:780px;
  margin:0;
  color:#20231d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,5vw,66px);
  font-weight:500;
  line-height:1.04;
  letter-spacing:-.035em;
}

.mayor-theme-hero>div>p{
  max-width:720px;
  margin:24px 0 0;
  color:#4d5147;
  font-size:clamp(17px,2vw,21px);
  line-height:1.65;
}

.mayor-theme-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.mayor-theme-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 23px;
  border-radius:999px;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
}

.mayor-theme-primary{
  color:#fff;
  background:#5f6b45;
  box-shadow:0 10px 24px rgba(95,107,69,.24);
}

.mayor-theme-secondary{
  color:#4f5b38;
  border:1px solid rgba(95,107,69,.35);
  background:rgba(255,255,255,.72);
}

.mayor-theme-hero aside{
  padding:28px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
}

.mayor-theme-hero aside strong{
  display:block;
  margin-bottom:16px;
  color:#52603d;
  font-size:18px;
}

.mayor-theme-hero aside ul{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}

.mayor-theme-hero aside li{
  position:relative;
  padding-left:25px;
  color:#43483c;
  font-size:15px;
  line-height:1.45;
}

.mayor-theme-hero aside li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#9a6d42;
  font-weight:800;
}

.mayor-theme-copy{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:34px 0 64px;
}

.mayor-theme-copy article{
  padding:28px;
  border:1px solid rgba(32,35,29,.1);
  border-radius:22px;
  background:#fff;
}

.mayor-theme-copy h2,
.mayor-theme-section-head h2,
.mayor-theme-related h2,
.mayor-theme-products-empty h2{
  margin:0;
  color:#24281f;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  line-height:1.18;
}

.mayor-theme-copy h2{
  font-size:25px;
}

.mayor-theme-copy p{
  margin:16px 0 0;
  color:#5d6157;
  font-size:15px;
  line-height:1.65;
}

.mayor-theme-products,
.mayor-theme-faq{
  margin:0 0 68px;
}

.mayor-theme-section-head{
  max-width:760px;
  margin-bottom:26px;
}

.mayor-theme-section-head h2{
  font-size:clamp(30px,4vw,44px);
}

.mayor-theme-section-head p{
  margin:12px 0 0;
  color:#62665c;
  font-size:16px;
  line-height:1.6;
}

.mayor-theme-product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.mayor-theme-product{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:12px 12px 18px;
  color:#24281f;
  border:1px solid rgba(32,35,29,.1);
  border-radius:20px;
  background:#fff;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;
}

.mayor-theme-product:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(47,52,39,.12);
}

.mayor-theme-product-image{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:1 / 1;
  margin-bottom:14px;
  overflow:hidden;
  border-radius:15px;
  background:#f8f7f2;
}

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

.mayor-theme-product small{
  color:#7a8266;
  font-size:12px;
  line-height:1.3;
}

.mayor-theme-product strong{
  display:-webkit-box;
  min-height:45px;
  margin:7px 0 13px;
  overflow:hidden;
  font-size:15px;
  font-weight:650;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.mayor-theme-product>span:last-child{
  margin-top:auto;
  color:#5f6b45;
  font-size:13px;
  font-weight:700;
}

.mayor-theme-products-empty{
  padding:34px;
  border-radius:22px;
  background:#f5f3ea;
}

.mayor-theme-faq>div:last-child{
  display:grid;
  gap:12px;
  max-width:920px;
}

.mayor-theme-faq details{
  padding:0 22px;
  border:1px solid rgba(32,35,29,.11);
  border-radius:16px;
  background:#fff;
}

.mayor-theme-faq summary{
  padding:19px 34px 19px 0;
  color:#30352a;
  font-size:16px;
  font-weight:650;
  line-height:1.4;
  cursor:pointer;
}

.mayor-theme-faq details p{
  margin:0;
  padding:0 0 20px;
  color:#62665c;
  font-size:15px;
  line-height:1.65;
}

.mayor-theme-related{
  display:grid;
  grid-template-columns:minmax(220px,1fr) repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  padding:28px;
  border-radius:22px;
  background:#272c22;
}

.mayor-theme-related h2{
  align-self:center;
  color:#fff;
  font-size:26px;
}

.mayor-theme-related a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px;
  color:#f7f5ed;
  border:1px solid rgba(255,255,255,.15);
  border-radius:15px;
  background:rgba(255,255,255,.06);
  font-size:14px;
  line-height:1.4;
  text-decoration:none;
}

/* Theme pages share structure, but each interface keeps its own visual language. */
body.mayor-interface-professional.mayor-view-tema{
  background:#F5F5F5;
}

body.mayor-interface-professional.mayor-view-tema .mayor-shell{
  background:#F5F5F5;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-view{
  color:#111111;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-hero{
  border-color:#D8D8D8;
  border-radius:12px;
  background:linear-gradient(135deg,#FFFFFF 0%,#F5F5F5 58%,#ECECEC 100%);
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-eyebrow,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-section-head>span{
  color:#555555;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-hero h1,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-copy h2,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-section-head h2,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-related h2,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-products-empty h2{
  color:#111111;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:520;
  letter-spacing:-.025em;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-hero>div>p,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-copy p,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-section-head p,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-faq details p{
  color:#5F5F5F;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-actions a{
  border-radius:8px;
  box-shadow:none;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-primary{
  color:#111111;
  border:1px solid #AFAFAF;
  background:#FFFFFF;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-secondary{
  color:#333333;
  border-color:#D0D0D0;
  background:#F1F1F1;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-hero aside{
  border-color:#D8D8D8;
  border-radius:10px;
  background:#FFFFFF;
  backdrop-filter:none;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-hero aside strong{
  color:#333333;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-hero aside li{
  color:#555555;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-hero aside li::before{
  color:#555555;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-copy article,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-product,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-faq details{
  border-color:#D8D8D8;
  border-radius:10px;
  background:#FFFFFF;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-product:hover{
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-product-image{
  border-radius:6px;
  background:#F3F3F3;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-product,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-copy h2,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-faq summary{
  color:#222222;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-product small,
body.mayor-interface-professional.mayor-view-tema .mayor-theme-product>span:last-child{
  color:#555555;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-products-empty{
  border:1px solid #D8D8D8;
  border-radius:10px;
  background:#F1F1F1;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-related{
  border:1px solid #D0D0D0;
  border-radius:10px;
  background:#E9E9E9;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-related h2{
  color:#111111;
}

body.mayor-interface-professional.mayor-view-tema .mayor-theme-related a{
  color:#222222;
  border-color:#D0D0D0;
  border-radius:8px;
  background:#FFFFFF;
}

@media (max-width:900px){
  .mayor-theme-hero{
    grid-template-columns:1fr;
  }
  .mayor-theme-copy{
    grid-template-columns:1fr;
  }
  .mayor-theme-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .mayor-theme-related{
    grid-template-columns:1fr 1fr;
  }
  .mayor-theme-related h2{
    grid-column:1 / -1;
  }
}

@media (max-width:620px){
  .mayor-theme-view{
    padding:10px 12px 88px;
  }
  .mayor-theme-hero{
    gap:24px;
    padding:30px 22px;
    border-radius:22px;
  }
  .mayor-theme-hero h1{
    font-size:38px;
  }
  .mayor-theme-actions{
    display:grid;
  }
  .mayor-theme-actions a{
    width:100%;
  }
  .mayor-theme-copy{
    margin:22px 0 48px;
  }
  .mayor-theme-copy article{
    padding:22px;
  }
  .mayor-theme-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .mayor-theme-product{
    padding:9px 9px 14px;
    border-radius:16px;
  }
  .mayor-theme-product strong{
    min-height:42px;
    font-size:13px;
  }
  .mayor-theme-related{
    grid-template-columns:1fr;
    padding:22px;
  }
  .mayor-theme-related h2{
    grid-column:auto;
  }
}

*{box-sizing:border-box}

html{
  width:100%;
  max-width:100%;
  min-height:100%;
  overflow-x:hidden;
  overflow-x:clip;
  background:var(--mayor-bg);
  -webkit-text-size-adjust:100%;
}

body.mayor-app{
  width:100%;
  max-width:100%;
  margin:0;
  min-height:100%;
  overflow-x:hidden;
  overflow-x:clip;
  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;
}

/* Prevent iOS focus zoom and keyboard-time horizontal expansion without
   disabling user pinch zoom. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
textarea,
select,
[contenteditable]:not([contenteditable="false"]){
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  font-size:16px!important;
  -webkit-text-size-adjust:100%;
}

.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-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%;
  margin:10px 0 12px;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}

.mayor-category-prev{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  margin:0 0 8px;
  padding:8px 14px;
  border:1px solid #a8a8a8;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:17px;
  font-weight:400;
  line-height:1.15;
  text-align:center;
  white-space:normal;
  cursor:pointer;
}

.mayor-category-banner-image{
  width:100%;
  aspect-ratio:3 / 1;
  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;
  color:inherit;
  text-decoration:none;
}

.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{
  position:relative;
  z-index:2;
  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;
  cursor:pointer;
  pointer-events:auto;
  touch-action:manipulation;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
}

.mayor-load-more:disabled{
  cursor:wait;
  opacity:.86;
}

.mayor-load-more[hidden]{
  display:none !important;
}

.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.is-active{
  width:34px;
  background:#333333;
}

.mayor-detail-gallery-thumbs{
  display:none;
}

.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-detail-content[hidden]{
  display:none !important;
}

.mayor-detail-content{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}

.mayor-detail-content-card{
  padding:16px;
  border:1px solid var(--mayor-line);
  border-radius:16px;
  background:var(--mayor-surface);
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}

.mayor-detail-content-card h2{
  margin:0 0 12px;
  color:var(--mayor-primary);
  font-size:20px;
  line-height:1.15;
  font-weight:507;
}

.mayor-detail-point-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.mayor-detail-point-list li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-height:34px;
  padding:9px 10px;
  border-radius:10px;
  background:var(--mayor-surface-soft);
}

.mayor-detail-point-list span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 21px;
  width:21px;
  height:21px;
  border-radius:999px;
  background:var(--mayor-primary);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:507;
}

.mayor-detail-point-list p,
.mayor-detail-description,
.mayor-detail-faq-list p{
  margin:0;
  color:var(--mayor-muted);
  font-size:14px;
  line-height:1.45;
}

.mayor-detail-point-list p{
  color:var(--mayor-text);
  font-weight:373;
}

.mayor-detail-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.mayor-detail-feature-grid div{
  min-height:64px;
  padding:11px;
  border-radius:10px;
  background:var(--mayor-surface-soft);
}

.mayor-detail-feature-grid span,
.mayor-detail-topic-main span,
.mayor-detail-topic-tags span{
  display:block;
  margin-bottom:5px;
  color:var(--mayor-muted);
  font-size:12px;
  line-height:1;
  font-weight:493;
}

.mayor-detail-feature-grid strong,
.mayor-detail-topic-main strong{
  display:block;
  color:var(--mayor-text);
  font-size:15px;
  line-height:1.25;
  font-weight:507;
  overflow-wrap:anywhere;
}

.mayor-detail-faq-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mayor-detail-faq-list article{
  padding:11px;
  border-radius:10px;
  background:var(--mayor-surface-soft);
}

.mayor-detail-faq-list h3{
  margin:0 0 5px;
  color:var(--mayor-text);
  font-size:15px;
  line-height:1.25;
  font-weight:507;
  overflow-wrap:anywhere;
}

.mayor-detail-topic-card{
  display:block;
}

.mayor-detail-topic-main{
  padding-bottom:12px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-detail-topic-main:only-child{
  padding-bottom:0;
  border-bottom:0;
}

.mayor-detail-topic-tags{
  padding-top:12px;
}

.mayor-detail-topic-tags:first-child{
  padding-top:0;
}

.mayor-detail-topic-tags div{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  row-gap:7px;
}

.mayor-detail-topic-tags b{
  display:inline-flex;
  align-items:center;
  color:var(--mayor-text);
  font-size:14px;
  line-height:1.2;
  font-weight:453;
}

.mayor-detail-topic-tags b + b::before{
  content:"";
  display:inline-block;
  width:1px;
  height:13px;
  margin:0 9px;
  background:var(--mayor-line);
}

.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-products-load-error{
  flex-direction:column;
  gap:14px;
}

.mayor-products-load-error p{
  margin:0;
}

.mayor-products-load-error button{
  min-width:160px;
  min-height:44px;
  padding:0 22px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:var(--mayor-primary);
  color:#FFFFFF;
  font-size:15px;
  font-weight:700;
}

.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{
  border-color:#d7d7d7;
  color:#a4a4a4;
  background:#f1f1f1;
  opacity:.72;
  cursor:not-allowed;
}

.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-sales-doc-preview-backdrop{
  position:fixed;
  inset:0;
  z-index:130;
  display:flex;
  align-items:stretch;
  justify-content:center;
  background:rgba(17,24,39,.36);
}

.mayor-sales-doc-preview-dialog{
  width:min(100%,920px);
  height:100dvh;
  max-height:100dvh;
  display:flex;
  flex-direction:column;
  background:#fff;
  color:#111827;
  box-shadow:0 18px 54px rgba(15,23,42,.26);
}

.mayor-sales-doc-preview-dialog header{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:calc(16px + env(safe-area-inset-top,0px)) 18px 14px;
  border-bottom:1px solid #e5e7eb;
  background:#fff;
}

.mayor-sales-doc-preview-dialog h2{
  margin:0;
  color:#111827;
  font-size:26px;
  line-height:1.1;
  font-weight:700;
}

.mayor-sales-doc-preview-dialog header button{
  width:46px;
  height:46px;
  border:1px solid #d1d5db;
  border-radius:50%;
  background:#fff;
  color:#111827;
  font-size:24px;
  line-height:1;
}

.mayor-sales-doc-preview-frame{
  flex:1 1 auto;
  min-height:0;
  background:#f8fafc;
  overflow:hidden;
  touch-action:pan-x pan-y;
}

.mayor-sales-doc-preview-frame iframe{
  width:100%;
  height:100%;
  border:0;
  background:#fff;
  touch-action:pan-x pan-y;
}

.mayor-sales-doc-preview-dialog.is-actions-only{
  align-self:flex-end;
  width:min(520px,100%);
  height:auto;
  max-height:min(460px,80dvh);
  border-radius:24px 24px 0 0;
  overflow:hidden;
}

.mayor-sales-doc-preview-dialog footer{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:12px max(12px,env(safe-area-inset-left,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right,0px));
  border-top:1px solid #e5e7eb;
  background:#fff;
}

.mayor-sales-doc-preview-dialog footer button{
  min-width:0;
  min-height:48px;
  border:1px solid #9ca3af;
  border-radius:18px;
  background:#fff;
  color:#111827;
  font-size:16px;
  font-weight:500;
}

.mayor-sales-doc-preview-dialog footer button:disabled{
  opacity:.45;
}

.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-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-wide-toggle{
  display:none;
  appearance:none;
  border:1px solid #D5D8DC;
  background:#fff;
  color:#222;
}

.mayor-category-wide-toggle:focus-visible{
  outline:3px solid rgba(95,107,69,.34);
  outline-offset:3px;
}

.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:1600;
  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.is-dragging,
.mayor-detail-view.is-sliding{
  position:relative;
  z-index:5;
  will-change:transform;
}

.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 natural viewport and adaptive metadata row. */
html.mayor-view-detalle,
body.mayor-view-detalle{
  height:auto;
  min-height:100%;
  overflow:auto;
  overscroll-behavior:auto;
  background:#fff;
}

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

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

body.mayor-view-detalle #view-detalle{
  min-height:100dvh;
  height:auto;
  max-height:none;
  overflow-x:hidden;
  overflow-y:visible;
  overscroll-behavior-y:auto;
  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-swipe-row{
  position:relative;
  overflow:hidden;
  background:#fff;
  touch-action:pan-y;
}

.mayor-shell[data-view="carrito"] .mayor-cart-swipe-delete{
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:94px;
  border:0;
  border-radius:0;
  background:linear-gradient(180deg,#cf665e 0%,#ad443d 100%);
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:650;
  cursor:pointer;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:88px minmax(0,1fr) 28px;
  align-items:start;
  gap:10px;
  min-height:92px;
  padding:10px 0;
  border-bottom:1px solid #EEEEEE;
  background:#fff;
  cursor:default;
  content-visibility:auto;
  contain-intrinsic-size:92px;
  touch-action:pan-y;
  will-change:transform;
  transition:transform 220ms cubic-bezier(.22,.75,.22,1);
}

.mayor-shell[data-view="carrito"] .mayor-cart-swipe-row.is-open .mayor-cart-item{
  transform:translate3d(-94px,0,0);
}

.mayor-shell[data-view="carrito"] .mayor-cart-swipe-row.is-swiping .mayor-cart-item{
  transition:none;
}

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

.mayor-cart-image.is-unavailable{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#F4F4F4;
  color:#777777;
  font-size:15px;
  font-weight:650;
}

.mayor-cart-image.is-unavailable span{
  display:block;
  width:100%;
  line-height:1.15;
  text-align:center;
  white-space:normal;
}

.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.is-unavailable{
  opacity:.82;
}

.mayor-shell[data-view="carrito"] .mayor-cart-unavailable-note{
  width:100%;
  margin:0;
  overflow:hidden;
  color:#8A4A22;
  font-size:12px;
  line-height:16px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item.is-unavailable .mayor-cart-item-price{
  color:#777777;
}

.mayor-shell[data-view="carrito"] .mayor-cart-item.is-unavailable .mayor-cart-arrow{
  color:#777777;
  font-size:22px;
  font-weight:400;
}

.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-unit-price{
  flex:0 0 auto;
  color:#777777;
  font:inherit;
}

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

.mayor-product-line-meta .mayor-product-meta-group{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  min-width:0;
  max-width:100%;
  gap:7px;
  color:inherit;
  font:inherit;
  line-height:inherit;
  white-space:nowrap;
}

.mayor-product-line-meta .mayor-product-meta-group > *{
  flex:0 0 auto;
  min-width:0;
}

.mayor-product-line-meta .mayor-product-reference-group{
  overflow:hidden;
}

.mayor-product-line-meta .mayor-product-sku{
  flex:0 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.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) 28px;
    gap:9px;
    min-height:92px;
    contain-intrinsic-size:92px;
  }

  .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);
    column-gap:6px;
    row-gap:2px;
  }

  .mayor-product-line-meta .mayor-product-meta-group{
    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-field legend .mayor-required-mark{
  color:#d92d20;
}

.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.mayor-account-profile-actions{
  grid-template-columns:1fr;
}

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

.mayor-account-data{
  display:grid;
  gap:14px;
}

.mayor-account-data > .mayor-account-auth{
  width:100%;
  max-width:none;
  margin:0;
}

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

.mayor-account-data-section-title{
  margin:2px 0 16px;
  color:#111111;
  font-size:20px;
  line-height:1.2;
  font-weight:650;
}

.mayor-account-invoice-summary{
  margin:0;
}

.mayor-account-shipping-choice{
  padding-top:16px;
  padding-bottom:16px;
}

.mayor-account-shipping-choice label{
  display:flex;
  align-items:center;
  gap:12px;
  color:#111111;
  font-size:15px;
  line-height:1.35;
  font-weight:560;
  cursor:pointer;
}

.mayor-account-shipping-choice input{
  width:20px;
  height:20px;
  flex:0 0 auto;
  margin:0;
  accent-color:var(--mayor-primary);
}

.mayor-account-data-shipping.is-disabled .mayor-account-data-section-title,
.mayor-account-data-shipping.is-disabled .mayor-address-list,
.mayor-account-data-shipping.is-disabled .mayor-address-add{
  opacity:.42;
}

.mayor-account-data-shipping.is-disabled .mayor-address-list-item,
.mayor-account-data-shipping.is-disabled .mayor-address-add{
  cursor:not-allowed;
}

.mayor-account-danger{
  border-color:#aa4942 !important;
  background:linear-gradient(180deg,#cf665e 0%,#ad443d 100%) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(173,68,61,.18);
}

.mayor-account-shipping-delete{
  width:100%;
  height:50px;
  min-height:50px;
  margin-top:12px;
  border:1px solid #aa4942;
  border-radius:20px;
  font-size:17px;
  font-weight:500;
}

.mayor-account-shipping-delete:disabled{
  border-color:#aaa49d !important;
  background:linear-gradient(180deg,#c8c3bd 0%,#a6a09a 100%) !important;
  color:#fff !important;
  box-shadow:none;
  opacity:1;
  cursor:not-allowed;
}

.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-list-item .mayor-account-profile-card-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:6px;
  width:100%;
  min-width:0;
}

.mayor-address-list-item .mayor-account-profile-card-role{
  justify-self:start;
  margin:0;
  text-align:left;
}

.mayor-address-list-item .mayor-account-profile-card-customer{
  display:block;
  justify-self:end;
  width:100%;
  text-align:right;
}

.mayor-address-list-item .mayor-account-profile-card-line{
  display:block;
  width:100%;
  text-align:left;
}

.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-important{
  --mayor-important-accent:#5f6b45;
  --mayor-important-accent-soft:#77825d;
  --mayor-important-line:#e6d3b6;
  --mayor-important-surface:#fffdf9;
  display:grid;
  gap:12px;
  min-height:0;
}

.mayor-account-important-card-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.mayor-account-important-card{
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:82px;
  padding:14px 18px;
  border:1px solid var(--mayor-important-line);
  border-radius:18px;
  background:var(--mayor-important-surface);
  color:#252525;
  text-align:left;
  box-shadow:0 4px 14px rgba(94,70,40,.06);
}

.mayor-account-important-card:focus-visible{
  position:relative;
  z-index:1;
  outline:3px solid rgba(95,107,69,.22);
  outline-offset:2px;
}

.mayor-account-important-card-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border:1px solid var(--mayor-important-line);
  border-radius:999px;
  color:var(--mayor-important-accent);
}

.mayor-account-important-card-icon .mayor-account-module-icon{
  width:27px;
  height:27px;
  stroke:currentColor;
  stroke-width:1.45;
}

.mayor-account-important-card-label{
  min-width:0;
  font-size:18px;
  line-height:1.25;
  font-weight:620;
}

.mayor-account-important-card-chevron{
  color:var(--mayor-important-accent);
  font-size:30px;
  line-height:1;
  font-weight:300;
}

.mayor-account-important-detail:is(.is-shipping,.is-returns,.is-payment,.is-ordering) .mayor-account-settings-head-card h1{
  color:var(--mayor-important-accent);
}

.mayor-return-policy,
.mayor-payment-information,
.mayor-order-guide{
  display:grid;
  gap:16px;
  color:#323232;
}

.mayor-order-guide-card{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  column-gap:14px;
  row-gap:12px;
  align-items:center;
  padding:20px;
  border:1px solid var(--mayor-important-line);
  border-radius:18px;
  background:var(--mayor-important-surface);
  box-shadow:0 4px 14px rgba(94,70,40,.045);
}

.mayor-order-guide-icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid var(--mayor-important-line);
  border-radius:999px;
  color:var(--mayor-important-accent);
  background:rgba(255,255,255,.42);
}

.mayor-order-guide-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-order-guide-copy{
  display:contents;
}

.mayor-order-guide-copy h2{
  grid-column:2;
  margin:0;
  color:#171717;
  font-size:22px;
  line-height:1.25;
  font-weight:720;
}

.mayor-order-guide-copy p,
.mayor-order-guide-copy ul{
  grid-column:1 / -1;
  width:100%;
  margin:0;
  color:#454545;
  font-size:16px;
  line-height:1.6;
}

.mayor-order-guide-copy p + p,
.mayor-order-guide-copy p + ul,
.mayor-order-guide-copy ul + p{
  margin-top:10px;
}

.mayor-order-guide-copy ul{
  display:grid;
  gap:4px;
  padding-left:21px;
}

.mayor-order-guide-copy li::marker{
  color:var(--mayor-important-accent);
}

.mayor-order-guide-copy strong{
  color:var(--mayor-important-accent);
  font-weight:720;
}

.mayor-return-policy-section,
.mayor-payment-section{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid var(--mayor-important-line);
  border-radius:18px;
  background:var(--mayor-important-surface);
  box-shadow:0 4px 14px rgba(94,70,40,.045);
}

.mayor-return-policy-section > h2,
.mayor-payment-section > h2{
  margin:0;
  color:#171717;
  font-size:22px;
  line-height:1.22;
  font-weight:720;
}

.mayor-return-policy-content,
.mayor-payment-content{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:16px;
  border:1px solid var(--mayor-important-line);
  border-radius:16px;
  background:rgba(255,255,255,.42);
}

.mayor-return-policy-icon,
.mayor-payment-icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid var(--mayor-important-line);
  border-radius:999px;
  color:var(--mayor-important-accent);
}

.mayor-return-policy-icon svg,
.mayor-payment-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-return-policy-content p,
.mayor-return-policy-content ul,
.mayor-payment-content p,
.mayor-payment-content ul{
  margin:0;
  color:#454545;
  font-size:16px;
  line-height:1.6;
}

.mayor-return-policy-content ul,
.mayor-payment-content ul{
  display:grid;
  gap:10px;
  padding-left:21px;
}

.mayor-return-policy-content p + ul,
.mayor-payment-content p + ul{
  margin-top:12px;
}

.mayor-return-policy-content strong,
.mayor-payment-content strong{
  color:var(--mayor-important-accent);
  font-weight:720;
}

.mayor-return-policy-points li + li,
.mayor-payment-points li + li{
  padding-top:10px;
  border-top:1px solid rgba(230,211,182,.7);
}

.mayor-shipping-information{
  display:grid;
  gap:16px;
  color:#323232;
}

.mayor-shipping-section{
  display:grid;
  gap:12px;
  padding:18px;
  border:1px solid var(--mayor-important-line);
  border-radius:18px;
  background:var(--mayor-important-surface);
  box-shadow:0 4px 14px rgba(94,70,40,.045);
}

.mayor-shipping-section > h2,
.mayor-shipping-group-title{
  margin:0;
  color:#171717;
  font-size:22px;
  line-height:1.2;
  font-weight:720;
}

.mayor-shipping-group-title{
  padding:4px 4px 0;
  color:var(--mayor-important-accent);
  font-size:20px;
}

.mayor-shipping-zone{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:16px;
  border:1px solid var(--mayor-important-line);
  border-radius:16px;
  background:rgba(255,255,255,.42);
}

.mayor-shipping-zone-icon,
.mayor-shipping-timeline-icon{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border:1px solid var(--mayor-important-line);
  border-radius:999px;
  color:var(--mayor-important-accent);
}

.mayor-shipping-zone-icon svg,
.mayor-shipping-timeline-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-shipping-zone h3{
  margin:1px 0 8px;
  color:var(--mayor-important-accent);
  font-size:20px;
  line-height:1.2;
  font-weight:700;
}

.mayor-shipping-zone p,
.mayor-shipping-zone ul,
.mayor-shipping-timeline-item p{
  margin:0;
  color:#4a4a4a;
  font-size:16px;
  line-height:1.55;
}

.mayor-shipping-zone ul{
  display:grid;
  gap:5px;
  padding-left:20px;
}

.mayor-shipping-zone strong{
  color:var(--mayor-important-accent);
}

.mayor-shipping-timeline{
  display:grid;
  gap:22px;
}

.mayor-shipping-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:16px;
  border:1px solid var(--mayor-important-line);
  border-radius:16px;
  background:rgba(255,255,255,.42);
}

.mayor-shipping-timeline-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:82px;
  bottom:-18px;
  left:46px;
  border-left:2px dashed var(--mayor-important-line);
}

.mayor-shipping-timeline-icon{
  width:46px;
  height:46px;
  margin:0 8px;
  border:0;
}

.mayor-shipping-timeline-icon svg{
  width:34px;
  height:34px;
}

.mayor-shipping-timeline-item p strong{
  color:#202020;
}

.mayor-shipping-timeline-item p span{
  color:#5d5d5d;
}

@media (max-width:420px){
  .mayor-account-important-card{
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:12px;
    min-height:74px;
    padding:12px 14px;
  }

  .mayor-account-important-card-icon{
    width:44px;
    height:44px;
  }

  .mayor-account-important-card-icon .mayor-account-module-icon{
    width:24px;
    height:24px;
  }

  .mayor-account-important-card-label{
    font-size:16px;
  }

  .mayor-return-policy-section,
  .mayor-payment-section{
    gap:11px;
    padding:14px;
    border-radius:16px;
  }

  .mayor-return-policy-section > h2,
  .mayor-payment-section > h2{
    font-size:20px;
  }

  .mayor-return-policy-content,
  .mayor-payment-content{
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
    padding:13px 12px;
  }

  .mayor-return-policy-icon,
  .mayor-payment-icon{
    width:44px;
    height:44px;
  }

  .mayor-return-policy-icon svg,
  .mayor-payment-icon svg{
    width:24px;
    height:24px;
  }

  .mayor-return-policy-content p,
  .mayor-return-policy-content ul,
  .mayor-payment-content p,
  .mayor-payment-content ul{
    font-size:14px;
    line-height:1.52;
  }

  .mayor-shipping-section{
    gap:10px;
    padding:14px;
    border-radius:16px;
  }

  .mayor-shipping-section > h2{
    font-size:20px;
  }

  .mayor-shipping-group-title{
    font-size:18px;
  }

  .mayor-shipping-zone{
    grid-template-columns:52px minmax(0,1fr);
    gap:11px;
    padding:13px 12px;
  }

  .mayor-shipping-zone-icon{
    width:52px;
    height:52px;
  }

  .mayor-shipping-zone-icon svg{
    width:29px;
    height:29px;
  }

  .mayor-shipping-zone h3{
    font-size:17px;
  }

  .mayor-shipping-zone p,
  .mayor-shipping-zone ul,
  .mayor-shipping-timeline-item p{
    font-size:14px;
    line-height:1.5;
  }

  .mayor-shipping-timeline-item{
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
  }

  .mayor-shipping-timeline-icon{
    width:40px;
    height:40px;
    margin:0 3px;
  }

  .mayor-shipping-timeline-item:not(:last-child)::after{
    top:44px;
    bottom:-19px;
    left:22px;
  }
}

.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,
.mayor-interface-language-options{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.mayor-interface-style-option,
.mayor-interface-language-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,
.mayor-interface-language-option.is-active{
  border-color:#111111;
  box-shadow:0 0 0 2px rgba(0,0,0,.08);
}

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

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

.mayor-interface-language-options{
  margin-top:2px;
}

.mayor-account-language-setting,
.mayor-account-native-sound-setting,
.mayor-account-privacy-setting{
  display:grid;
  gap:10px;
}

.mayor-account-settings-copy{
  display:grid;
  gap:5px;
}

.mayor-account-settings-copy h2,
.mayor-account-settings-copy p,
.mayor-account-language-setting small,
.mayor-account-native-sound-setting small,
.mayor-account-retention-note{
  margin:0;
}

.mayor-account-settings-copy h2{
  color:#111111;
  font-size:18px;
  line-height:1.2;
  font-weight:650;
}

.mayor-account-settings-copy p,
.mayor-account-retention-note,
.mayor-account-language-setting small,
.mayor-account-native-sound-setting small{
  color:#5f5f5f;
  font-size:14px;
  line-height:1.5;
}

.mayor-account-language-setting > strong{
  color:#111111;
  font-size:16px;
  font-weight:620;
}

.mayor-native-sound-toggle{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:48px;
  cursor:pointer;
}

.mayor-native-sound-toggle input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.mayor-native-sound-toggle-track{
  display:flex;
  align-items:center;
  width:48px;
  height:28px;
  padding:3px;
  border:1px solid var(--mayor-line);
  border-radius:999px;
  background:#dedede;
  transition:background-color .18s ease,border-color .18s ease;
}

.mayor-native-sound-toggle-track span{
  width:20px;
  height:20px;
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
  transform:translateX(0);
  transition:transform .18s ease;
}

.mayor-native-sound-toggle input:checked + .mayor-native-sound-toggle-track{
  border-color:var(--mayor-primary);
  background:var(--mayor-primary);
}

.mayor-native-sound-toggle input:checked + .mayor-native-sound-toggle-track span{
  transform:translateX(20px);
}

.mayor-native-sound-toggle input:focus-visible + .mayor-native-sound-toggle-track{
  outline:3px solid var(--mayor-primary);
  outline-offset:3px;
}

.mayor-native-sound-toggle strong{
  color:#111111;
  font-size:16px;
  font-weight:620;
}

.mayor-native-sound-volume{
  display:block;
  width:100%;
  height:48px;
  margin:0;
  accent-color:var(--mayor-primary);
  cursor:pointer;
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
}

.mayor-account-privacy-setting{
  margin-top:8px;
  border-color:#e5c7c4;
  background:#fffafa;
}

.mayor-account-deletion-button{
  width:100%;
  min-height:48px;
  margin-top:3px;
  border:1px solid #a43832;
  border-radius:12px;
  background:#fff;
  color:#9e2f2a;
  font-size:15px;
  font-weight:650;
}

.mayor-account-public-deletion-link{
  justify-self:start;
  color:#4b4b4b;
  font-size:13px;
  line-height:1.4;
  text-decoration:underline;
  text-underline-offset:3px;
}

.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-invitation-card{
  width:min(100%,420px);
  padding:26px 20px 18px;
}

.mayor-account-advisor-card{
  width:min(100%,520px);
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  padding:0;
  overflow:hidden;
}

.mayor-account-advisor-page{
  display:grid;
  gap:18px;
  width:min(100%,900px);
  margin:0 auto;
}

.mayor-account-advisor-page-body{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  align-items:start;
  gap:18px;
}

.mayor-account-advisor-page-card{
  padding:20px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
}

.mayor-account-advisor-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:72px;
  padding:14px 18px;
  border-bottom:1px solid var(--mayor-line);
}

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

.mayor-account-dialog-card .mayor-account-advisor-head button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border-radius:50%;
  font-size:26px;
  line-height:1;
}

.mayor-account-advisor-body{
  max-height:calc(100vh - 104px);
  max-height:calc(100dvh - 104px);
  padding:16px 18px 18px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.mayor-account-advisor-section,
.mayor-account-advisor-change-form{
  display:grid;
  gap:12px;
}

.mayor-account-advisor-section h3,
.mayor-account-advisor-change-form h3{
  margin:0;
  color:#111111;
  font-size:18px;
  line-height:1.25;
  font-weight:650;
}

.mayor-account-advisor-details{
  display:grid;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}

.mayor-account-advisor-details > p{
  margin:0;
  padding:18px;
  color:#666666;
  font-size:15px;
}

.mayor-account-advisor-row{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:66px;
  padding:10px 12px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-account-advisor-row:last-child{
  border-bottom:0;
}

.mayor-account-advisor-row-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid var(--mayor-line);
  border-radius:50%;
  color:#444444;
}

.mayor-account-advisor-row-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-account-advisor-row-copy{
  min-width:0;
  display:grid;
  gap:3px;
}

.mayor-account-advisor-row-copy small{
  color:#666666;
  font-size:12px;
  line-height:1.2;
}

.mayor-account-advisor-row-copy strong{
  min-height:20px;
  color:#111111;
  font-size:15px;
  line-height:1.35;
  font-weight:560;
  overflow-wrap:anywhere;
}

.mayor-account-advisor-row button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:132px;
  min-width:132px;
  min-height:38px;
  padding:0 11px;
  border-radius:12px;
  font-size:13px;
  white-space:nowrap;
}

.mayor-account-advisor-row button:disabled{
  opacity:.42;
}

.mayor-account-advisor-change-form{
  align-content:start;
}

.mayor-account-advisor-change-form > p{
  margin:0;
  color:#555555;
  font-size:14px;
  line-height:1.45;
}

.mayor-account-advisor-change-form .mayor-account-error{
  margin:0;
  color:#d92d20;
}

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

.mayor-account-advisor-change-form > .mayor-account-primary{
  width:100%;
  min-height:48px;
  border-color:#B7834C;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(183,131,76,.18);
}

@media (max-width:520px){
  .mayor-account-advisor-dialog{
    align-items:flex-end;
    padding:12px;
  }

  .mayor-account-advisor-card{
    max-height:calc(100vh - 24px);
    max-height:calc(100dvh - 24px);
    border-radius:20px;
  }

  .mayor-account-advisor-body{
    max-height:calc(100vh - 96px);
    max-height:calc(100dvh - 96px);
    padding:14px;
  }

  .mayor-account-advisor-page{
    gap:14px;
  }

  .mayor-account-advisor-page-body{
    grid-template-columns:1fr;
    gap:14px;
  }

  .mayor-account-advisor-page-card{
    padding:14px;
  }

  .mayor-account-advisor-row{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:9px;
    padding:9px 10px;
  }

  .mayor-account-advisor-row button{
    width:118px;
    min-width:118px;
    padding:0 9px;
    font-size:12px;
  }
}

.mayor-account-access-card{
  width:min(100%,460px);
  max-height:calc(100vh - 28px);
  max-height:calc(100dvh - 28px);
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.mayor-account-deletion-card{
  width:min(100%,500px);
  max-height:calc(100vh - 28px);
  max-height:calc(100dvh - 28px);
  padding:0;
  overflow:hidden;
}

.mayor-account-deletion-form{
  display:flex;
  min-height:0;
  flex-direction:column;
}

.mayor-account-deletion-head{
  padding:20px 20px 14px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-account-deletion-head h2{
  margin:0 0 8px;
  color:#8f2c27;
  font-size:24px;
  line-height:1.2;
  font-weight:650;
}

.mayor-account-dialog-card .mayor-account-deletion-head p,
.mayor-account-dialog-card .mayor-account-deletion-body > p{
  margin:0;
  color:#4b4b4b;
  font-size:14px;
  line-height:1.5;
}

.mayor-account-deletion-body{
  display:grid;
  gap:15px;
  min-height:0;
  padding:16px 20px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.mayor-account-deletion-confirm{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#292929;
  font-size:14px;
  line-height:1.45;
}

.mayor-account-deletion-confirm input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:1px 0 0;
  accent-color:#9e2f2a;
}

.mayor-account-dialog-card .mayor-account-deletion-help{
  margin:0;
  color:#666666;
  font-size:13px;
}

.mayor-account-deletion-help a{
  color:#323232;
  text-decoration:underline;
  text-underline-offset:3px;
}

.mayor-account-deletion-form > .mayor-account-dialog-actions{
  flex:0 0 auto;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid var(--mayor-line);
  background:#fff;
}

.mayor-account-dialog-card .mayor-account-deletion-submit{
  border-color:#9e2f2a;
  background:#9e2f2a;
  color:#fff;
  font-weight:650;
}

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

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

.mayor-account-access-form{
  display:flex;
  flex:1;
  min-height:0;
  flex-direction:column;
  gap:0;
}

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

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

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

.mayor-account-access-head{
  flex:0 0 auto;
  padding:18px 18px 12px;
  border-bottom:1px solid var(--mayor-line);
}

.mayor-account-access-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  display:grid;
  gap:0;
  padding:12px 18px 10px;
}

.mayor-account-access-section{
  display:grid;
  gap:10px;
  padding:0 0 12px;
}

.mayor-account-access-section + .mayor-account-access-section{
  padding-top:12px;
  border-top:1px solid var(--mayor-line);
}

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

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

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

.mayor-account-access-form .mayor-account-field{
  gap:6px;
}

.mayor-account-access-form .mayor-account-field input{
  min-height:42px;
}

.mayor-account-field input:disabled,
.mayor-account-field select:disabled,
.mayor-account-field textarea:disabled{
  opacity:.58;
  background:#f5f6f8;
  color:#7a7a7a;
}

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

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

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

.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-access-form > .mayor-account-dialog-actions{
  flex:0 0 auto;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid var(--mayor-line);
  background:#fff;
}

.mayor-account-dialog-card .mayor-password-toggle{
  position:absolute;
  top:50%;
  right:6px;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-height:34px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#555555;
}

.mayor-account-dialog-card .mayor-password-toggle svg{
  width:22px;
  height:22px;
}

.mayor-account-dialog-card .mayor-password-field input{
  padding-right:44px;
}

.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-access-dialog{
    padding:10px 12px;
    padding-top:calc(10px + env(safe-area-inset-top, 0px));
    padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  }

  .mayor-account-deletion-dialog{
    align-items:flex-end;
    padding:10px 12px;
    padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  }

  .mayor-account-deletion-card{
    max-height:calc(100vh - 20px);
    max-height:calc(100dvh - 20px);
    border-radius:18px;
  }

  .mayor-account-access-card{
    width:min(100%,430px);
    max-height:calc(100vh - 20px);
    max-height:calc(100dvh - 20px);
  }

  .mayor-account-access-head{
    padding:14px 16px 11px;
  }

  .mayor-account-access-form h2{
    font-size:22px;
  }

  .mayor-account-access-body{
    padding:10px 16px 8px;
  }

  .mayor-account-access-section{
    gap:8px;
    padding-bottom:10px;
  }

  .mayor-account-access-section + .mayor-account-access-section{
    padding-top:10px;
  }

  .mayor-account-access-form .mayor-account-field input{
    min-height:40px;
  }

  .mayor-account-access-option{
    min-height:40px;
  }

  .mayor-account-access-form > .mayor-account-dialog-actions{
    gap:10px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  }

  .mayor-account-access-form > .mayor-account-dialog-actions button{
    min-height:42px;
  }

  .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:pan-y;
}

body.mayor-view-detalle .mayor-detail-view{
  touch-action:pan-y;
  backface-visibility:hidden;
}

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-swipe-row:last-child .mayor-cart-item{
  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{
  --mayor-order-control-height:54px;
  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;
}

.mayor-order-submit-summary{
  margin:0 0 16px;
  padding:16px;
  border:1px solid var(--mayor-checkout-line,var(--mayor-line));
  border-radius:18px;
  background:var(--mayor-checkout-surface,#fff);
  color:var(--mayor-checkout-text,#111);
}

.mayor-order-submit-summary .mayor-discount-summary{
  gap:10px;
}

.mayor-order-submit-summary .mayor-discount-summary span{
  color:var(--mayor-checkout-muted,#666);
}

.mayor-order-submit-summary .mayor-discount-summary strong{
  color:var(--mayor-checkout-text,#111);
  font-size:18px;
  font-weight:700;
}

.mayor-order-submit-summary .mayor-discount-next{
  margin:14px 0 0;
  color:var(--mayor-checkout-muted,#666);
}

.mayor-order-submit-summary .mayor-discount-next.is-progress{
  color:#d92d20;
  font-weight:520;
}

.mayor-order-section{display:grid;gap:9px;margin:0 0 14px}.mayor-order-section h2{margin:0;color:#303728;font-size:18px;font-weight:720}.mayor-order-data-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:82px;padding:14px 16px;border:1px solid var(--mayor-line);border-radius:16px;background:#fff;color:#303728;text-align:left}.mayor-order-data-card span{display:grid;gap:5px;min-width:0}.mayor-order-data-card strong{font-size:17px;line-height:1.2}.mayor-order-data-card small{color:#666;font-size:13px;line-height:1.35}.mayor-order-data-card b{font-size:32px;font-weight:300}.mayor-order-data-card.is-disabled{background:#f1f1ef;color:#888;opacity:.72}.mayor-order-data-card.is-warning{border-color:#cf8b58;background:#fff8ef;color:#8a4a1f}.mayor-order-check-row,.mayor-order-confirm{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:14px;border:1px solid var(--mayor-line);border-radius:16px;background:#fff;color:#303728;font-size:15px;line-height:1.35;font-weight:620}.mayor-order-check-row input,.mayor-order-confirm input{flex:0 0 auto;width:22px;height:22px;margin:0;accent-color:var(--mayor-primary)}.mayor-order-choice{display:grid;gap:9px;margin:0 0 14px;padding:0;border:0}.mayor-order-choice legend{margin-bottom:8px;color:#303728;font-size:17px;font-weight:720}.mayor-order-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mayor-order-choice label{display:flex;align-items:center;gap:9px;height:var(--mayor-order-control-height);min-height:var(--mayor-order-control-height);padding:0 14px;border:1px solid var(--mayor-line);border-radius:16px;background:#fff;color:#303728;font-size:15px;font-weight:620}.mayor-order-choice input{width:21px;height:21px;accent-color:var(--mayor-primary)}.mayor-order-choice.is-disabled{opacity:.55}.mayor-order-pickup{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.mayor-order-pickup label{display:grid;gap:7px;color:#555;font-size:14px;font-weight:620}.mayor-order-pickup select{width:100%;height:var(--mayor-order-control-height);min-height:var(--mayor-order-control-height);padding:0 12px;border:1px solid var(--mayor-line);border-radius:14px;background:#fff;color:#303728;font-size:16px}.mayor-order-shipping-fee{margin:0 0 14px;padding:14px 16px;border:1px solid var(--mayor-line);border-radius:16px;background:#f7f8f2;color:#303728;font-size:16px}.mayor-order-picker{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.45)}.mayor-order-picker-card{display:grid;gap:10px;width:min(520px,100%);max-height:80vh;overflow:auto;padding:18px;border-radius:20px;background:#fff}.mayor-order-picker-card h2{margin:0 0 4px;color:#303728;font-size:20px}.mayor-order-picker-card>button:not(.mayor-account-secondary){display:grid;gap:4px;padding:13px;border:1px solid var(--mayor-line);border-radius:14px;background:#fff;color:#303728;text-align:left}.mayor-order-picker-card small{color:#666;line-height:1.35}.mayor-order-confirm{margin-top:4px}.mayor-order-dialog-actions button:disabled{opacity:.5;cursor:not-allowed}

@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-swipe-row{
  background:transparent;
}

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

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-swipe-row:last-child .mayor-cart-item{
  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-unit-price{
  color:#9a7652;
  font-weight:520;
}

.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;
}

.mayor-shell[data-view="carrito"] .mayor-discount-next{
  color:#d92d20;
  font-weight:520;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts{
  margin:18px 0 0;
  padding:0;
  color:#111111;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discounts-head{
  justify-content:flex-start;
  gap:10px;
  margin-bottom:10px;
  text-align:left;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discounts-badge{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:12px;
  background:#F1F1F1;
  color:#333333;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discounts-badge svg{
  width:26px;
  height:26px;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts h2{
  color:#111111;
  font-size:18px;
  line-height:1.05;
  font-weight:760;
  letter-spacing:0;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discounts-head p{
  justify-content:flex-start;
  gap:6px;
  margin-top:3px;
  color:#666666;
  font-size:12px;
  line-height:1.2;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discounts-head p span{
  width:12px;
  background:#333333;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .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;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .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;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-row:last-child{
  border-bottom:1px solid var(--mayor-line);
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-cart{
  width:28px;
  height:28px;
  background:#F1F1F1;
  color:#333333;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-cart svg{
  width:18px;
  height:18px;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-amount{
  color:#111111;
  font-size:17px;
  font-weight:760;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-dots{
  background-image:radial-gradient(circle,#999999 2px,transparent 2.5px);
  background-size:7px 3px;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-pill{
  min-width:40px;
  min-height:34px;
  border-radius:9px;
  background:#F1F1F1;
  color:#333333;
}

.mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-pill b{
  font-size:15px;
  font-weight:760;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-discount-next{
  color:#d92d20;
  font-weight:620;
}

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

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discounts-badge{
  background:#f4e4cf;
  color:#5F6B45;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts h2{
  color:#5F6B45;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discounts-head p{
  color:#7a6c5d;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discounts-head p span{
  background:#5F6B45;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-board{
  padding:10px;
  border:1px solid rgba(202,169,126,.24);
  border-radius:12px;
  background:rgba(255,253,249,.82);
  box-shadow:0 10px 24px rgba(139,94,52,.06);
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-row{
  border-color:rgba(202,169,126,.36);
  background:rgba(255,253,249,.86);
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-row:last-child{
  border-bottom-color:rgba(202,169,126,.36);
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-cart{
  background:#fbefe0;
  color:#5F6B45;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-amount{
  color:#5F6B45;
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-dots{
  background-image:radial-gradient(circle,#5F6B45 2px,transparent 2.5px);
}

.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-pill{
  background:#fbefe0;
  color:#5F6B45;
}

@media (max-width:360px){
  .mayor-shell[data-view="carrito"] .mayor-cart-discounts .mayor-home-discount-board{
    grid-template-columns:1fr;
  }
}

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) 28px;
    gap:9px;
    min-height:92px;
    padding-right:10px;
    padding-left:10px;
    contain-intrinsic-size:92px;
  }

  .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(4,minmax(0,1fr));
  gap:6px;
}

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

.mayor-order-card-actions button:disabled{
  border-color:#d7d7d7;
  color:#a4a4a4;
  background:#f1f1f1;
  opacity:.72;
  cursor:not-allowed;
}

.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:clamp(13px,3.55vw,15px);
  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;
  overflow:hidden;
  padding:0;
}

.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:88px minmax(0,1fr) 28px;
  align-items:center;
  gap:10px;
  min-height:92px;
  padding:10px 12px;
  content-visibility:auto;
  contain-intrinsic-size:92px;
}

.mayor-order-detail-products-card .mayor-order-detail-item .mayor-cart-image{
  width:88px;
}

.mayor-order-detail-products-card .mayor-order-detail-item.is-unavailable{
  color:#666666;
}

.mayor-order-detail-products-card .mayor-cart-image.is-unavailable{
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:default;
}

.mayor-order-detail-products-card .mayor-cart-image.is-unavailable span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:0 8px;
  color:#666666;
  font-size:12px;
  line-height:1.15;
  font-weight:700;
  text-align:center;
}

.mayor-order-detail-products-card .mayor-order-detail-item h3{
  max-height:34px;
  font-size:13px;
  line-height:17px;
  -webkit-line-clamp:2;
  line-clamp:2;
}

.mayor-order-product-meta-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-width:0;
  column-gap:7px;
  row-gap:2px;
  margin-top:0;
  overflow:visible;
  color:#666666;
  font-size:clamp(13px,3.55vw,15px);
  line-height:1.25;
  font-weight:400;
  white-space:nowrap;
  text-align:left;
}

.mayor-order-product-meta-row .mayor-product-meta-group > span,
.mayor-order-product-meta-row .mayor-product-meta-group > strong{
  display:inline;
  align-items:center;
  min-width:0;
  min-height:0;
  line-height:inherit;
  text-align:left;
}

.mayor-order-product-meta-row .mayor-cart-item-price{
  margin:0;
  color:#111111;
  font:inherit;
}

.mayor-order-product-meta-row .mayor-cart-item-unit-price{
  color:#777777;
  font:inherit;
}

.mayor-order-product-meta-row .mayor-cart-item-qty{
  color:#d92d20;
  font-size:inherit;
  font-weight:520;
}

.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;
}

.mayor-order-product-arrow:disabled{
  color:#BBBBBB;
  cursor:default;
}

@media (max-width:420px){
  .mayor-order-detail-products-card .mayor-order-detail-item{
    grid-template-columns:82px minmax(0,1fr) 28px;
    gap:9px;
    min-height:92px;
    padding:10px;
    contain-intrinsic-size:92px;
  }

  .mayor-order-detail-products-card .mayor-order-detail-item .mayor-cart-image{
    width:82px;
  }

  .mayor-order-detail-products-card .mayor-order-detail-item h3{
    max-height:32px;
    font-size:12px;
    line-height:16px;
  }

  .mayor-order-product-meta-row{
    column-gap:6px;
    row-gap:2px;
    font-size:clamp(12px,3.55vw,14px);
  }

  .mayor-order-detail-item .mayor-order-product-meta-row{
    font-size:clamp(12px,3.55vw,14px);
  }
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-products-card{
  overflow:hidden;
  padding:0 12px;
  border:1px solid var(--mayor-line);
  border-radius:14px;
  background:#fff;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-products-card .mayor-order-detail-items{
  overflow:visible;
  border:0;
  border-radius:0;
  background:#fff;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-products-card .mayor-order-detail-item{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) 28px;
  align-items:start;
  gap:10px;
  min-height:92px;
  padding:10px 0;
  border-bottom:1px solid #EEEEEE;
  background:#fff;
  content-visibility:auto;
  contain-intrinsic-size:92px;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-products-card .mayor-order-detail-item:last-child{
  border-bottom:0;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-item .mayor-cart-image{
  width:88px;
  aspect-ratio:10 / 8;
  height:auto;
  overflow:hidden;
  border:1px solid #DDDDDD;
  border-radius:10px;
  background:transparent;
}

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

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

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-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;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-product-meta-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-width:0;
  column-gap:7px;
  row-gap:2px;
  margin-top:0;
  overflow:visible;
  color:#666666;
  font-size:clamp(13px,3.55vw,15px);
  font-weight:400;
  line-height:1.25;
  white-space:nowrap;
  text-align:left;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-product-meta-row .mayor-product-meta-group > span,
html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-product-meta-row .mayor-product-meta-group > strong{
  display:inline;
  flex:0 0 auto;
  min-width:auto;
  min-height:0;
  overflow:visible;
  color:inherit;
  font-size:inherit;
  line-height:inherit;
  text-align:left;
  text-overflow:clip;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-product-meta-row .mayor-cart-item-price{
  margin:0;
  color:#111111;
  font:inherit;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-product-meta-row .mayor-cart-item-qty{
  color:#d92d20;
  font-size:inherit;
  font-weight:520;
}

html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-product-arrow{
  width:28px;
  height:40px;
  align-self:center;
  color:#999999;
  font-size:26px;
}

@media (max-width:420px){
  html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-products-card{
    padding:0 10px;
  }

  html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-products-card .mayor-order-detail-item{
    grid-template-columns:82px minmax(0,1fr) 28px;
    gap:9px;
    min-height:92px;
    contain-intrinsic-size:92px;
  }

  html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-item .mayor-cart-image{
    width:82px;
  }

  html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-detail-item h3{
    max-height:32px;
    font-size:12px;
    line-height:16px;
  }

  html.mayor-embed-madmin .mayor-shell[data-view="order-detail"] .mayor-order-product-meta-row{
    column-gap:6px;
    row-gap:2px;
    font-size:clamp(12px,3.55vw,14px);
  }
}

/* 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:13px;
}

@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-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-heading{
  max-width:820px;
  margin:24px auto 20px;
  color:#5F6B45;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(26px,3.5vw,38px);
  line-height:1.14;
  font-weight:500;
  letter-spacing:-.015em;
  text-align:center;
  text-wrap:balance;
}

.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;
  color:inherit;
  text-decoration:none;
}

.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-product p.mayor-home-product-price-locked{
  padding-right:26px;
  color:#5F6B45;
  font-size:10px;
  line-height:1.18;
  font-weight:650;
}

.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-action{
  width:100%;
  margin:0;
  border:0;
  border-radius:10px;
  background:transparent;
  color:inherit;
  font:inherit;
  text-decoration:none;
  cursor:pointer;
  appearance:none;
  transition:background-color .18s ease,transform .18s ease;
}

.mayor-home-footer-contact-action:hover{
  background:rgba(255,255,255,.1);
}

.mayor-home-footer-contact-action:active{
  transform:translateY(1px);
}

.mayor-home-footer-contact-action:focus-visible{
  outline:2px solid currentColor;
  outline-offset:4px;
}

.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;
}

body.mayor-contact-dialog-open{
  overflow:hidden;
}

.mayor-contact-dialog-backdrop[hidden]{
  display:none!important;
}

.mayor-contact-dialog-backdrop{
  position:fixed;
  z-index:1400;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(20,24,16,.52);
  backdrop-filter:blur(4px);
}

.mayor-contact-dialog{
  width:min(430px,100%);
  max-height:min(620px,calc(100dvh - 48px));
  overflow:auto;
  padding:22px;
  border:1px solid var(--mayor-line,#E5E0D6);
  border-radius:24px;
  background:#fff;
  color:#222;
  box-shadow:0 28px 70px rgba(20,24,16,.24);
}

.mayor-contact-dialog>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.mayor-contact-dialog>header span{
  display:block;
  margin-bottom:3px;
  color:var(--mayor-primary,#64734C);
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.mayor-contact-dialog>header h2{
  margin:0;
  color:inherit;
  font-size:25px;
  line-height:1.2;
}

.mayor-contact-dialog>header>button{
  flex:0 0 40px;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid var(--mayor-line,#E5E0D6);
  border-radius:50%;
  background:#fff;
  color:#333;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}

.mayor-contact-dialog-options{
  display:grid;
  gap:12px;
}

.mayor-contact-dialog-options>a{
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:12px 16px;
  border:1px solid var(--mayor-line,#E5E0D6);
  border-radius:17px;
  background:#fff;
  color:#222;
  text-decoration:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.mayor-contact-dialog-options>a:hover,
.mayor-contact-dialog-options>a:focus-visible{
  border-color:var(--mayor-primary,#64734C);
  box-shadow:0 8px 22px rgba(85,96,63,.12);
  outline:0;
}

.mayor-contact-dialog-options>a:active{
  transform:translateY(1px);
}

.mayor-contact-dialog-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:var(--mayor-primary,#64734C);
  color:#fff;
}

.mayor-contact-dialog-icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mayor-contact-dialog-options strong,
.mayor-contact-dialog-options small{
  display:block;
}

.mayor-contact-dialog-options strong{
  font-size:18px;
  line-height:1.25;
}

.mayor-contact-dialog-options small{
  margin-top:4px;
  color:#666;
  font-size:13px;
}

.mayor-contact-dialog-options b{
  color:var(--mayor-primary,#64734C);
  font-size:28px;
  font-weight:400;
}

.mayor-contact-dialog-cancel{
  width:100%;
  min-height:46px;
  margin-top:16px;
  border:0;
  border-radius:14px;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

body.mayor-interface-professional #mayor-customer-service-dialog .mayor-contact-dialog-icon{
  border:1px solid #111111;
  background:#ffffff;
  color:#111111;
}

body.mayor-interface-professional #mayor-customer-service-dialog .mayor-contact-dialog-cancel{
  border:1px solid #111111;
  background:#ffffff;
  color:#111111;
  box-shadow:none;
}

body.mayor-interface-professional #mayor-customer-service-dialog .mayor-contact-dialog-cancel:hover,
body.mayor-interface-professional #mayor-customer-service-dialog .mayor-contact-dialog-cancel:focus-visible{
  background:#F3F3F3;
  outline:0;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer-contact-action:hover{
  background:#F3F3F3;
}

@media (max-width:640px){
  .mayor-contact-dialog-backdrop{
    place-items:end center;
    padding:16px 12px max(16px,env(safe-area-inset-bottom));
  }

  .mayor-contact-dialog{
    width:100%;
    max-height:calc(100dvh - 32px);
    padding:20px 16px 16px;
    border-radius:22px;
  }

  .mayor-contact-dialog>header h2{
    font-size:22px;
  }
}

.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;
}

@media (min-width:761px){
  body.mayor-interface-boutique.mayor-view-inicio .mayor-home-footer-contact{
    grid-template-columns:minmax(0,.95fr) minmax(0,1.26fr) minmax(0,.95fr);
  }

  body.mayor-interface-boutique.mayor-view-inicio .mayor-home-footer-contact-item:nth-child(2){
    padding-right:22px;
    padding-left:22px;
  }

  body.mayor-interface-boutique.mayor-view-inicio .mayor-home-footer-contact-item:nth-child(2) span{
    font-size:17px;
    line-height:1.32;
  }
}

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-heading{
    margin:16px 2px 14px;
    font-size:clamp(22px,6.4vw,28px);
    line-height:1.16;
  }

  .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-wide-toggle{
  border-color:var(--boutique-line);
  background:#FFFAF4;
  color:var(--boutique-olive);
  box-shadow:0 7px 20px rgba(139,94,52,.2);
}

.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-image,
  .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-category-prev{
  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-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-interface-language-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,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-interface-language-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-interface-language-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-account-access-form > .mayor-account-dialog-actions{
  background:#fffdf9;
}

body.mayor-interface-boutique .mayor-account-advisor-head{
  border-color:var(--boutique-line);
}

body.mayor-interface-boutique .mayor-account-advisor-head h2,
body.mayor-interface-boutique .mayor-account-advisor-section h3,
body.mayor-interface-boutique .mayor-account-advisor-change-form h3{
  color:var(--boutique-olive);
}

body.mayor-interface-boutique .mayor-account-advisor-details{
  border-color:var(--boutique-line);
  background:#fffdf9;
}

body.mayor-interface-boutique .mayor-account-advisor-page-card{
  border-color:var(--boutique-line);
  background:#fffdf9;
}

body.mayor-interface-boutique .mayor-account-advisor-row,
body.mayor-interface-boutique .mayor-account-advisor-change-form{
  border-color:var(--boutique-line);
}

body.mayor-interface-boutique .mayor-account-advisor-row-icon{
  border-color:var(--boutique-line);
  color:var(--boutique-olive);
}

body.mayor-interface-boutique .mayor-account-advisor-row-copy small,
body.mayor-interface-boutique .mayor-account-advisor-change-form > p{
  color:var(--boutique-muted);
}

body.mayor-interface-boutique .mayor-account-advisor-row-copy strong{
  color:var(--boutique-text);
}

body.mayor-interface-boutique .mayor-account-advisor-row button{
  border-color:#5F6B45;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#fff;
}

body.mayor-interface-boutique .mayor-account-advisor-change-form > .mayor-account-primary{
  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-advisor-change-form .mayor-account-error,
body.mayor-interface-boutique .mayor-account-advisor-change-form .mayor-account-error{
  color:#d92d20;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-advisor-change-form .mayor-account-error.is-success,
body.mayor-interface-boutique .mayor-account-advisor-change-form .mayor-account-error.is-success{
  color:var(--boutique-olive);
}

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);
}

.mayor-account-install{
  display:grid;
  gap:14px;
}

.mayor-install-hero,
.mayor-install-section{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}

.mayor-install-hero{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:18px;
}

.mayor-install-hero img{
  display:block;
  width:82px;
  height:82px;
  border:1px solid var(--border);
  border-radius:22px;
  object-fit:contain;
  background:#fff;
}

.mayor-install-hero h2,
.mayor-install-section h2{
  margin:0;
  color:var(--text);
  line-height:1.16;
}

.mayor-install-hero h2{
  font-size:24px;
  font-weight:650;
}

.mayor-install-hero p,
.mayor-install-section p,
.mayor-install-section li{
  color:var(--muted);
  line-height:1.45;
}

.mayor-install-hero p{
  margin:6px 0 0;
  font-size:15px;
}

.mayor-install-section{
  display:grid;
  gap:14px;
  padding:18px;
}

.mayor-install-section.is-current{
  border-color:rgba(95,107,69,.68);
  box-shadow:0 0 0 1px rgba(95,107,69,.12),0 12px 28px rgba(95,107,69,.08);
}

.mayor-install-section h2{
  font-size:22px;
  font-weight:650;
}

.mayor-install-section ol{
  display:grid;
  gap:10px;
  margin:0;
  padding-left:23px;
}

.mayor-install-section li{
  padding-left:3px;
  font-size:16px;
  font-weight:560;
}

.mayor-install-section p{
  margin:0;
  font-size:14px;
}

.mayor-install-primary,
.mayor-install-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  padding:0 18px;
  border:1px solid var(--border);
  border-radius:16px;
  font:inherit;
  font-size:16px;
  font-weight:650;
}

.mayor-install-primary{
  border-color:#5F6B45;
  background:#5F6B45;
  color:#fff;
}

.mayor-install-primary:disabled{
  border-color:var(--border);
  background:#f3f4f6;
  color:#9ca3af;
}

.mayor-install-secondary{
  background:#fff;
  color:var(--text);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-install-hero,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-install-section{
  border-color:var(--boutique-line);
  background:rgba(255,253,249,.86);
  box-shadow:0 12px 30px rgba(139,94,52,.08);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-install-hero h2,
.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-install-section h2{
  color:#111;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-install-section.is-current{
  border-color:var(--boutique-olive);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-install-primary{
  border-color:var(--boutique-olive);
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-install-secondary{
  border-color:var(--boutique-line);
  background:#fffdf9;
}

@media (max-width:420px){
  .mayor-install-hero{
    grid-template-columns:72px minmax(0,1fr);
    gap:14px;
    padding:16px;
  }

  .mayor-install-hero img{
    width:72px;
    height:72px;
    border-radius:20px;
  }

  .mayor-install-hero h2{
    font-size:22px;
  }

  .mayor-install-section{
    padding:16px;
  }
}

/* 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-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-heading{
  max-width:min(100%,760px);
  margin:16px auto 12px;
  color:#111111;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:28px;
  line-height:1.2;
  font-weight:360;
  letter-spacing:-.02em;
  text-align:center;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-heading span{
  display:block;
}

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;
  }
}

/* Delete actions follow the active Mayorista interface theme. */
.mayor-shell[data-interface-style="boutique"] .mayor-account-danger:not(:disabled),
.mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-swipe-delete{
  border:1px solid #B7834C !important;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%) !important;
  color:#FFFFFF !important;
  box-shadow:0 10px 22px rgba(183,131,76,.18);
}

.mayor-shell[data-interface-style="professional"] .mayor-account-danger:not(:disabled),
.mayor-shell[data-interface-style="professional"][data-view="carrito"] .mayor-cart-swipe-delete{
  border:1px solid #AD443D !important;
  background:#FFFFFF !important;
  color:#AD443D !important;
  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-product p.mayor-home-product-price-locked{
  color:#444444;
  font-size:10px;
  line-height:1.18;
  font-weight:650;
}

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{
    font-size:12px;
    line-height:1.3;
    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-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-heading{
    margin:12px auto 10px;
    font-size:23px;
    line-height:1.22;
  }

  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 28px;
    padding:24px 32px 48px;
    transition:grid-template-columns .2s ease;
  }

  .mayor-shell[data-view="productos"] #view-productos.is-active.is-wide-category-collapsed{
    grid-template-columns:36px minmax(0,1fr);
  }

  .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);
    overflow:visible;
    padding:14px;
    border-radius:18px;
    box-shadow:none;
    transform:none;
  }

  .mayor-shell[data-view="productos"] .mayor-category-wide-toggle{
    position:absolute;
    top:50%;
    right:-22px;
    z-index:4;
    display:grid;
    width:44px;
    height:44px;
    padding:0;
    place-items:center;
    border-radius:50%;
    box-shadow:0 6px 18px rgba(0,0,0,.14);
    cursor:pointer;
    transform:translateY(-50%);
  }

  .mayor-shell[data-view="productos"] .mayor-category-wide-toggle svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .2s ease;
  }

  .mayor-shell[data-view="productos"] #view-productos.is-wide-category-collapsed .mayor-category-panel{
    min-height:88px;
    padding:0;
  }

  .mayor-shell[data-view="productos"] #view-productos.is-wide-category-collapsed .mayor-category-wide-toggle svg{
    transform:rotate(180deg);
  }

  .mayor-shell[data-view="productos"] #view-productos.is-wide-category-collapsed :is(.mayor-category-search,.mayor-category-scroll){
    display:none;
  }

  html.mayor-embed-madmin .mayor-shell[data-view="productos"] .mayor-category-wide-toggle{
    display:none !important;
  }

  html.mayor-embed-madmin .mayor-shell[data-view="productos"] #view-productos.is-active{
    gap:20px;
    transition:none;
  }

  html.mayor-embed-madmin .mayor-shell[data-view="productos"] .mayor-category-panel,
  html.mayor-embed-madmin .mayor-shell[data-view="productos"] .mayor-category-panel[hidden]{
    overflow:hidden;
  }

  .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 (prefers-reduced-motion:reduce){
  .mayor-shell[data-view="productos"] #view-productos.is-active,
  .mayor-category-wide-toggle svg{
    transition:none !important;
  }
}

@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:968px;
    height:auto;
    min-height:calc(100vh - 72px);
    overflow:visible;
  }

  body.mayor-view-detalle #view-detalle.is-active{
    display:grid;
    grid-template-columns:minmax(0,480px) minmax(360px,400px);
    grid-template-areas:
      "detail-head detail-head"
      "detail-image detail-info"
      "detail-nav detail-nav"
      "detail-content detail-content";
    align-items:start;
    gap:10px 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:min(480px,calc(100vw - 448px));
    aspect-ratio:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:0;
    border:1px solid var(--mayor-line);
    overflow:hidden;
  }

  body.mayor-interface-professional.mayor-view-detalle .mayor-detail-image-card{
    border-radius:16px;
  }

  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;
    height:min(480px,calc(100vw - 448px));
    min-height:0;
    margin:0;
    padding:20px;
    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-content{
    grid-area:detail-content;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin:0;
  }

  body.mayor-view-detalle .mayor-detail-content[hidden]{
    display:none !important;
  }

  body.mayor-view-detalle .mayor-detail-content-card{
    border-radius:16px;
  }

  body.mayor-view-detalle .mayor-detail-points-card,
  body.mayor-view-detalle .mayor-detail-description-card,
  body.mayor-view-detalle .mayor-detail-features-card,
  body.mayor-view-detalle .mayor-detail-faq-card,
  body.mayor-view-detalle .mayor-detail-topic-card{
    grid-column:1 / -1;
  }

  body.mayor-view-detalle .mayor-detail-features-card .mayor-detail-feature-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
  }

  body.mayor-view-detalle .mayor-detail-faq-card .mayor-detail-faq-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  body.mayor-view-detalle .mayor-detail-faq-card .mayor-detail-faq-list article{
    display:flex;
    flex-direction:column;
    min-height:120px;
  }

  body.mayor-view-detalle .mayor-detail-faq-card .mayor-detail-faq-list article:last-child:nth-child(odd){
    grid-column:1 / -1;
  }

  body.mayor-view-detalle .mayor-detail-topic-tags b{
    min-width:0;
  }

  body.mayor-view-detalle .mayor-detail-body h1{
    display:block;
    margin:0 0 12px;
    overflow:visible;
    color:#414141;
    font-size:25px;
    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 12px;
  }

  body.mayor-view-detalle .mayor-detail-tags span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:40px;
    width:100%;
    max-width:none;
    padding:8px 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:0;
    margin:-2px 0 10px;
    padding:8px 0 10px;
    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:32px;
    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:10px;
    margin-top:auto;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  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:10px;
    height:37px;
    margin-right:0;
    margin-left:0;
    overflow:visible;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  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:77px;
    height:37px;
    border:1px solid var(--mayor-line);
    border-radius:11px;
    font-size:24px;
  }

  body.mayor-view-detalle .mayor-detail-buy .mayor-qty-control output{
    min-width:34px;
    font-size:20px;
    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-view-detalle .mayor-image-viewer-stage,
  body.mayor-view-carrito .mayor-image-viewer-stage,
  body.mayor-view-pedidos .mayor-image-viewer-stage,
  body.mayor-view-order-detail .mayor-image-viewer-stage{
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:60px 32px 32px;
  }

  body.mayor-view-detalle .mayor-image-viewer-stage img,
  body.mayor-view-carrito .mayor-image-viewer-stage img,
  body.mayor-view-pedidos .mayor-image-viewer-stage img,
  body.mayor-view-order-detail .mayor-image-viewer-stage img{
    width:auto;
    height:auto;
    max-width:calc(100vw - 64px);
    max-height:calc(100vh - 92px);
    min-height:0;
    object-fit:contain;
  }

  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-tip{
  display:block;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#1d4ed8;
  font-size:10px;
  font-weight:650;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
  pointer-events:none;
}

.mayor-detail-piece-popover{
  position:absolute;
  left:0;
  bottom:calc(100% + 2px);
  width:34px;
  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;
}

.mayor-shell[data-interface-style="professional"][data-view="detalle"] .mayor-detail-buy .mayor-qty-control.is-piece-open button[data-detail-other]{
  border-color:#93c5fd;
  background:#dbeafe;
  color:#1d4ed8;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-buy .mayor-qty-control.is-piece-open button[data-detail-other]{
  border-color:#c99b65;
  background:#f1dfc9;
  color:#8b623e;
}

.mayor-shell[data-interface-style="boutique"][data-view="detalle"] .mayor-detail-piece-tip{
  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:6px;
    padding-top:6px;
    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]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:77px;
    height:37px;
    padding:0 14px;
    border:1px solid var(--mayor-line);
    border-radius:11px;
    font-size:12px;
  }

  body.mayor-view-detalle .mayor-detail-piece-popover{
    width:77px;
  }

  body.mayor-view-detalle .mayor-detail-piece-tip{
    font-size:12px;
  }

  body.mayor-view-detalle .mayor-detail-buy,
  body.mayor-interface-boutique.mayor-view-detalle .mayor-detail-buy,
  body.mayor-view-detalle .mayor-shell[data-view="detalle"] .mayor-detail-buy,
  body.mayor-view-detalle .mayor-shell[data-interface-style][data-view="detalle"] .mayor-detail-buy{
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
}

@media (max-width:899px){
  .mayor-products-search input,
  .mayor-products-search input:focus,
  .mayor-products-search input:focus-visible,
  body.mayor-interface-boutique .mayor-products-search input,
  body.mayor-interface-boutique .mayor-products-search input:focus,
  body.mayor-interface-boutique .mayor-products-search input:focus-visible{
    -webkit-appearance:none !important;
    appearance:none !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .mayor-products-search .mayor-search-clear,
  .mayor-products-search .mayor-search-clear:focus,
  .mayor-products-search .mayor-search-clear:focus-visible,
  .mayor-products-search .mayor-search-clear:active,
  .mayor-shell[data-interface-style="boutique"][data-view="productos"] .mayor-products-search .mayor-search-clear{
    -webkit-appearance:none !important;
    appearance:none !important;
    min-width:0 !important;
    width:28px !important;
    height:38px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#bc8952;
    line-height:1;
    -webkit-tap-highlight-color:transparent;
  }

  body.mayor-interface-professional .mayor-products-search .mayor-search-clear,
  body.mayor-interface-professional .mayor-products-search .mayor-search-clear:focus,
  body.mayor-interface-professional .mayor-products-search .mayor-search-clear:focus-visible,
  body.mayor-interface-professional .mayor-products-search .mayor-search-clear:active,
  .mayor-shell[data-interface-style="professional"][data-view="productos"] .mayor-products-search .mayor-search-clear{
    color:#111827 !important;
  }

  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;
  }

  body.mayor-view-detalle .mayor-detail-piece-popover{
    width:36px;
  }
}

@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;
  }

  body.mayor-view-detalle .mayor-detail-piece-popover{
    width:35px;
  }
}

@media (max-width:899px){
  .mayor-shell[data-view="pedidos"] #view-pedidos{
    padding:0 10px calc(84px + env(safe-area-inset-bottom));
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-root{
    gap:10px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-topbar{
    position:sticky;
    top:0;
    z-index:44;
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:0 -10px;
    padding:6px 10px 8px;
    border-bottom:1px solid rgba(0,0,0,.06);
    background:var(--mayor-bg);
    box-shadow:0 8px 18px rgba(0,0,0,.04);
  }

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

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

  .mayor-shell[data-view="pedidos"] .mayor-orders-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:54px;
    padding:8px 10px;
    border-radius:14px;
  }

  .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:28px;
    line-height:1;
    font-weight:680;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex:1 1 auto;
    grid-template-columns:none;
    min-width:0;
    gap:clamp(7px,2.2vw,12px);
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats div{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
    max-width:72px;
    gap:2px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats div:first-child{
    max-width:38px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats span{
    margin:0;
    font-size:10px;
    line-height:1;
    font-weight:540;
    white-space:nowrap;
  }

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

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats strong{
    display:block;
    max-width:100%;
    margin:0;
    font-size:15px;
    line-height:1;
    font-weight:560;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mayor-shell[data-view="pedidos"] .mayor-order-status-filter{
    height:50px;
    min-height:50px;
    padding:0 8px;
    border-radius:14px;
  }

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

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

  .mayor-shell[data-view="cuenta"] .mayor-account-root{
    padding-top:0;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-profile{
    position:sticky;
    top:0;
    z-index:44;
    margin:0 -14px 10px;
    padding:9px 14px 10px;
    border-radius:0;
    border-right:0;
    border-left:0;
    background:#fff;
    box-shadow:0 8px 18px rgba(0,0,0,.04);
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-profile::after{
    content:none;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-profile-head,
  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-profile-head > div{
    min-width:0;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-avatar,
  .mayor-shell[data-view="cuenta"] .mayor-account-welcome,
  .mayor-shell[data-view="cuenta"] .mayor-account-progress{
    display:none !important;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head h1{
    margin:0 0 4px;
    font-size:20px;
    line-height:1.12;
    font-weight:620;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-profile .mayor-account-status-pill{
    min-height:0;
    padding:0;
    border:0;
    background:transparent;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head button[data-account-logout]{
    flex:0 0 auto;
    width:auto;
    height:36px;
    min-height:36px;
    padding:0 12px;
    border-radius:16px;
    font-size:13px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-topbar{
    border-bottom-color:rgba(202,169,126,.38);
    background:#FFFDF9;
    box-shadow:0 8px 18px rgba(139,94,52,.06);
  }

  .mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-summary,
  .mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-order-status-filter{
    border-color:var(--boutique-line);
    background:rgba(255,253,249,.92);
  }

  .mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-summary h1,
  .mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-stats strong{
    color:var(--boutique-olive);
  }

  .mayor-shell[data-interface-style="boutique"][data-view="pedidos"] .mayor-orders-stats span{
    color:#7a6c5d;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] #view-cuenta{
    padding-top:0;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile{
    margin:0 -14px 10px;
    padding:9px 14px 10px;
    border:0;
    border-bottom:1px solid var(--boutique-line);
    border-radius:0;
    background:#FFFAF4;
    box-shadow:0 8px 18px rgba(139,94,52,.06);
    overflow:visible;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head h1{
    color:var(--boutique-olive);
    font-size:20px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-status-pill{
    color:#7a6c5d;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile .mayor-account-profile-head button[data-account-logout]{
    height:36px;
    min-height:36px;
    padding:0 12px;
    font-size:13px;
  }
}

@media (max-width:380px){
  .mayor-shell[data-view="pedidos"] .mayor-orders-summary{
    gap:6px;
    padding-right:8px;
    padding-left:8px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-summary h1{
    font-size:26px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats{
    gap:6px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats div{
    max-width:64px;
  }

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

/* Checkout: keep Boutique and Professional visually isolated on web and PWA. */
.mayor-shell[data-view="order-submit"]{
  --mayor-checkout-bg:var(--mayor-bg);
  --mayor-checkout-surface:var(--mayor-surface);
  --mayor-checkout-line:var(--mayor-line);
  --mayor-checkout-text:var(--mayor-text);
  --mayor-checkout-muted:#666666;
  --mayor-checkout-primary:var(--mayor-primary);
  --mayor-checkout-accent:var(--mayor-accent);
  background:var(--mayor-checkout-bg);
}

.mayor-shell[data-interface-style="boutique"][data-view="order-submit"]{
  --mayor-checkout-bg:#FFFAF4;
  --mayor-checkout-surface:rgba(255,253,249,.92);
  --mayor-checkout-line:rgba(202,169,126,.38);
  --mayor-checkout-text:#303728;
  --mayor-checkout-muted:#7a6c5d;
  --mayor-checkout-primary:#5F6B45;
  --mayor-checkout-accent:#B7834C;
}

.mayor-shell[data-view="order-submit"] #view-order-submit{
  background:var(--mayor-checkout-bg);
}

.mayor-shell[data-interface-style][data-view="order-submit"] .mayor-order-submit-card{
  width:min(100%,760px);
  margin-inline:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--mayor-checkout-text);
}

.mayor-shell[data-view="order-submit"] :is(
  .mayor-order-submit-head h1,
  .mayor-order-section h2,
  .mayor-order-choice legend,
  .mayor-order-note,
  .mayor-order-submit-total strong
){
  color:var(--mayor-checkout-text);
}

.mayor-shell[data-view="order-submit"] :is(
  .mayor-order-data-card,
  .mayor-order-check-row,
  .mayor-order-confirm,
  .mayor-order-choice label,
  .mayor-order-pickup select,
  .mayor-order-note textarea,
  .mayor-order-picker-card,
  .mayor-order-picker-card>button:not(.mayor-account-secondary)
){
  border-color:var(--mayor-checkout-line);
  background:var(--mayor-checkout-surface);
  color:var(--mayor-checkout-text);
}

.mayor-shell[data-view="order-submit"] :is(
  .mayor-order-data-card small,
  .mayor-order-pickup label,
  .mayor-order-submit-total span
){
  color:var(--mayor-checkout-muted);
}

.mayor-shell[data-view="order-submit"] :is(
  .mayor-order-choice input,
  .mayor-order-check-row input,
  .mayor-order-confirm input
){
  accent-color:var(--mayor-checkout-primary);
}

.mayor-shell[data-view="order-submit"] .mayor-order-choice label:has(input:checked){
  border-color:var(--mayor-checkout-primary);
  box-shadow:none;
}

/* Checkout emphasis uses one-third less weight in both interface styles. */
.mayor-shell[data-view="order-submit"] .mayor-order-submit-head h1{
  font-weight:433;
}

.mayor-shell[data-view="order-submit"] :is(
  .mayor-order-section h2,
  .mayor-order-choice legend
){
  font-weight:480;
}

.mayor-shell[data-view="order-submit"] :is(
  .mayor-order-data-card strong,
  .mayor-order-shipping-fee strong,
  .mayor-order-submit-total strong,
  .mayor-order-submit-summary .mayor-discount-summary strong,
  .mayor-order-picker-card h2,
  .mayor-order-picker-card button strong
){
  font-weight:467;
}

.mayor-shell[data-view="order-submit"] :is(
  .mayor-order-check-row,
  .mayor-order-confirm,
  .mayor-order-choice label,
  .mayor-order-pickup label,
  .mayor-order-dialog-actions button
){
  font-weight:413;
}

.mayor-shell[data-view="order-submit"] .mayor-order-submit-summary .mayor-discount-next.is-progress{
  font-weight:347;
}

.mayor-shell[data-interface-style="boutique"][data-view="order-submit"] :is(
  .mayor-order-submit-head h1,
  .mayor-order-section h2,
  .mayor-order-choice legend,
  .mayor-order-data-card strong,
  .mayor-order-check-row,
  .mayor-order-confirm,
  .mayor-order-choice label,
  .mayor-order-pickup label,
  .mayor-order-shipping-fee strong,
  .mayor-order-submit-total strong,
  .mayor-order-submit-summary .mayor-discount-summary strong,
  .mayor-order-picker-card h2,
  .mayor-order-picker-card button strong
){
  color:var(--mayor-checkout-primary);
}

.mayor-shell[data-view="order-submit"] :is(.mayor-order-check-row.is-disabled,.mayor-order-section.is-disabled){
  opacity:.52;
  pointer-events:none;
}

.mayor-shell[data-view="order-submit"] .mayor-order-data-card.is-disabled{
  background:color-mix(in srgb,var(--mayor-checkout-surface) 66%,#d9d9d9);
  color:var(--mayor-checkout-muted);
}

.mayor-shell[data-view="order-submit"] .mayor-order-shipping-fee{
  border-color:var(--mayor-checkout-line);
  background:color-mix(in srgb,var(--mayor-checkout-surface) 88%,var(--mayor-checkout-primary));
  color:var(--mayor-checkout-text);
}

.mayor-shell[data-view="order-submit"] .mayor-order-dialog-actions .mayor-account-primary{
  border-color:var(--mayor-checkout-primary);
  background:var(--mayor-checkout-primary);
  color:#fff;
}

.mayor-shell[data-view="order-submit"] .mayor-order-dialog-actions .mayor-account-secondary{
  border-color:var(--mayor-checkout-accent);
  background:var(--mayor-checkout-surface);
  color:var(--mayor-checkout-accent);
  box-shadow:none;
}

@media (max-width:899px){
  .mayor-shell[data-view="order-submit"] .mayor-order-pickup select{
    -webkit-appearance:none;
    appearance:none;
    height:var(--mayor-order-control-height);
    min-height:var(--mayor-order-control-height);
    max-height:var(--mayor-order-control-height);
    padding:0 42px 0 16px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M5 7l4-4 4 4M5 11l4 4 4-4' stroke='%23303728' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:18px 18px;
    line-height:normal;
    font-size:18px;
  }
}

/* Product detail main/secondary image gallery. */
.mayor-detail-gallery-thumbs[hidden],
.mayor-image-dots[hidden]{
  display:none!important;
}

body.mayor-view-detalle .mayor-detail-image-card{
  isolation:isolate;
}

body.mayor-view-detalle .mayor-detail-image-card > [data-detail-image]{
  position:relative;
  z-index:1;
  backface-visibility:hidden;
}

body.mayor-view-detalle .mayor-detail-image-card > .mayor-detail-image-swap{
  position:absolute;
  z-index:2;
  max-width:none;
  max-height:none;
  margin:0;
  pointer-events:none;
  backface-visibility:hidden;
  will-change:transform;
  contain:paint;
}

body.mayor-view-detalle .mayor-detail-image-card.is-gallery-dragging > [data-detail-image],
body.mayor-view-detalle .mayor-detail-image-card.is-gallery-sliding > [data-detail-image]{
  pointer-events:none;
  will-change:transform;
}

body.mayor-view-detalle .mayor-image-dots{
  z-index:4;
}

@media (max-width:899px){
  body.mayor-view-detalle .mayor-detail-image-card{
    padding:0;
    overflow:hidden;
    touch-action:pan-y;
  }

  body.mayor-view-detalle .mayor-detail-image-card > [data-detail-image]{
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:cover;
  }

  body.mayor-view-detalle .mayor-detail-image-card.has-gallery{
    display:grid;
    height:auto;
    aspect-ratio:auto;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto 34px;
    align-items:stretch;
  }

  body.mayor-view-detalle .mayor-detail-image-card.has-gallery > [data-detail-image]{
    grid-row:1;
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
  }

  body.mayor-view-detalle .mayor-detail-image-card.has-gallery > .mayor-image-dots{
    position:relative;
    grid-row:2;
    left:auto;
    bottom:auto;
    width:100%;
    height:34px;
    align-items:center;
    justify-content:center;
    transform:none;
    background:#fff;
  }
}

@media (min-width:900px){
  body.mayor-view-detalle .mayor-detail-image-card.has-gallery{
    display:grid;
    height:auto;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto 72px;
    align-items:stretch;
    justify-content:stretch;
  }

  body.mayor-view-detalle .mayor-detail-image-card.has-gallery > [data-detail-image]{
    grid-row:1;
    aspect-ratio:1 / 1;
    height:auto;
    min-height:0;
    object-fit:cover;
  }

  body.mayor-view-detalle .mayor-image-dots{
    display:none!important;
  }

  body.mayor-view-detalle .mayor-detail-gallery-thumbs{
    grid-row:2;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    padding:8px 10px;
    border-top:1px solid var(--mayor-line);
    background:rgba(255,255,255,.96);
    overflow-x:auto;
    scrollbar-width:thin;
  }

  body.mayor-view-detalle .mayor-detail-gallery-thumbs button{
    flex:0 0 52px;
    width:52px;
    height:52px;
    padding:2px;
    border:1px solid var(--mayor-line);
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    overflow:hidden;
  }

  body.mayor-view-detalle .mayor-detail-gallery-thumbs button.is-active,
  body.mayor-view-detalle .mayor-detail-gallery-thumbs button:hover,
  body.mayor-view-detalle .mayor-detail-gallery-thumbs button:focus-visible{
    border-color:var(--mayor-accent);
    box-shadow:0 0 0 2px color-mix(in srgb,var(--mayor-accent) 24%,transparent);
    outline:0;
  }

  body.mayor-view-detalle .mayor-detail-gallery-thumbs img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    background:#fff;
  }
}

/* Keep the 10:8 catalog image complete; square secondary images fill the frame. */
body.mayor-view-detalle .mayor-detail-image-card > [data-detail-image][data-gallery-index="0"]{
  object-fit:contain;
}

body.mayor-view-detalle .mayor-detail-image-card > [data-detail-image]:not([data-gallery-index="0"]){
  object-fit:cover;
}

.mayor-shell[data-view="cuenta"] .mayor-account-profile{
  border:1px solid var(--mayor-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.04);
  overflow:visible;
}

.mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile{
  border:1px solid var(--boutique-line);
  border-radius:18px;
  background:rgba(255,253,249,.92);
  box-shadow:0 10px 22px rgba(139,94,52,.07);
}

.mayor-shell[data-view="pedidos"] .mayor-orders-summary{
  gap:13px;
}

.mayor-shell[data-view="pedidos"] .mayor-orders-stats{
  gap:26px;
}

@media (max-width:899px){
  .mayor-shell[data-view="cuenta"] .mayor-account-profile{
    margin:8px 0 10px;
    padding:10px 14px;
    border-right:1px solid var(--mayor-line);
    border-left:1px solid var(--mayor-line);
    border-radius:18px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile{
    position:sticky;
    top:8px;
    z-index:44;
    margin:8px 0 10px;
    padding:10px 14px;
    border:1px solid var(--boutique-line);
    border-radius:18px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-summary{
    gap:5px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats{
    gap:clamp(12px,3.4vw,18px);
  }

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

@media (min-width:900px){
  .mayor-shell[data-interface-style="boutique"][data-view="cuenta"] .mayor-account-profile{
    position:sticky;
    top:84px;
    z-index:32;
  }
}

@media (max-width:380px){
  .mayor-shell[data-view="pedidos"] .mayor-orders-summary{
    gap:4px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats{
    gap:8px;
  }
}

/* Guest-only professional-account card below the shipping banner. */
[data-home-registration-prompt][hidden]{
  display:none !important;
}

.mayor-home-account-invite{
  display:block;
  margin:0 0 34px;
}

.mayor-home-account-invite[hidden]{
  display:none !important;
}

.mayor-home-account-invite .mayor-home-choice-cta{
  grid-template-columns:minmax(0,1fr) auto;
  margin-top:0;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-account-invite{
  margin-bottom:12px;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-account-invite .mayor-home-choice-cta{
  grid-template-columns:minmax(0,1fr) auto;
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-account-invite .mayor-home-choice-cta button{
  grid-column:auto;
  width:auto;
}

@media (max-width:899px){
  body.mayor-view-inicio .mayor-home-account-invite,
  body.mayor-interface-professional.mayor-view-inicio .mayor-home-account-invite{
    margin:0 0 24px;
  }

  body.mayor-view-inicio .mayor-home-account-invite .mayor-home-choice-cta,
  body.mayor-interface-professional.mayor-view-inicio .mayor-home-account-invite .mayor-home-choice-cta{
    grid-template-columns:1fr;
    margin-top:0;
  }

  body.mayor-view-inicio .mayor-home-account-invite .mayor-home-choice-cta button,
  body.mayor-interface-professional.mayor-view-inicio .mayor-home-account-invite .mayor-home-choice-cta button{
    grid-column:1;
    width:100%;
  }
}

/* Saved order data. The structure is shared; Boutique and Professional retain their own visual language. */
.mayor-order-detail-summary-card .mayor-order-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
.mayor-order-detail-data-button{align-self:stretch;width:100%;min-height:42px;padding:0 18px;border:1px solid var(--mayor-line,#d7dde6);border-radius:14px;background:var(--mayor-surface,#fff);color:var(--mayor-text,#111827);font:inherit;font-weight:800}
.mayor-order-data-page{display:grid;gap:14px;width:100%;padding-bottom:24px;color:var(--mayor-text,#111827)}
.mayor-order-data-page .mayor-order-detail-head{margin:0;padding:4px 0 10px}
.mayor-order-data-section{padding:16px;border:1px solid var(--mayor-line,#d7dde6);border-radius:18px;background:var(--mayor-surface,#fff)}
.mayor-order-data-snapshot-card{position:relative;display:grid;width:100%;gap:6px;padding:0 34px 0 0;border:0;background:transparent;color:var(--mayor-text,#111827);text-align:left}
.mayor-order-data-snapshot-title{color:var(--mayor-primary,#111);font-size:16px;font-weight:800}
.mayor-order-data-snapshot-card strong{font-size:22px;line-height:1.2}
.mayor-order-data-snapshot-card small{color:var(--mayor-muted,#64748b);font-size:15px;line-height:1.5}
.mayor-order-data-snapshot-card b{position:absolute;right:2px;top:50%;translate:0 -50%;font-size:36px;font-weight:400}
.mayor-order-data-readonly-grid{display:grid;gap:0;padding-block:4px}
.mayor-order-data-readonly-row{display:grid;grid-template-columns:minmax(126px,.72fr) minmax(0,1.28fr);gap:14px;padding:13px 12px;border-bottom:1px solid var(--mayor-line-soft,#edf1f5)}
.mayor-order-data-readonly-row:last-child{border-bottom:0}
.mayor-order-data-readonly-row span{color:var(--mayor-muted,#64748b);font-weight:750}
.mayor-order-data-readonly-row strong{min-width:0;white-space:pre-wrap;word-break:break-word}
.mayor-order-data-note-section{display:grid;gap:11px}
.mayor-order-data-note-section h2{margin:0;font-size:20px}
.mayor-order-data-note-section textarea{width:100%;min-height:112px;padding:13px;border:1px solid var(--mayor-line,#d7dde6);border-radius:14px;background:var(--mayor-surface,#fff);color:var(--mayor-text,#111827);font:inherit;line-height:1.5;resize:vertical}
.mayor-order-data-note-section textarea[readonly]{background:color-mix(in srgb,var(--mayor-surface,#fff) 74%,#d9dee6);color:var(--mayor-muted,#64748b)}
.mayor-order-data-note-section>button{justify-self:end;min-width:122px;min-height:46px;padding:0 20px;border:1px solid var(--mayor-primary,#111);border-radius:14px;background:var(--mayor-primary,#111);color:#fff;font-weight:800}
.mayor-order-data-note-section p{margin:0;color:var(--mayor-muted,#64748b);font-size:14px}
.mayor-shell[data-interface-style="boutique"] .mayor-order-data-section{border-color:var(--boutique-line,var(--mayor-line));border-radius:24px;background:var(--boutique-surface,var(--mayor-surface));box-shadow:var(--boutique-shadow,var(--mayor-shadow))}
.mayor-shell[data-interface-style="boutique"] .mayor-order-data-snapshot-title,
.mayor-shell[data-interface-style="boutique"] .mayor-order-data-snapshot-card b{color:var(--boutique-primary,var(--mayor-primary))}
.mayor-shell[data-interface-style="boutique"] .mayor-order-detail-data-button,
.mayor-shell[data-interface-style="boutique"] .mayor-order-data-note-section>button{border-color:var(--boutique-primary,var(--mayor-primary));background:var(--boutique-primary,var(--mayor-primary));color:#fff}
.mayor-shell[data-interface-style="professional"] .mayor-order-data-section{border-color:#d7dde6;border-radius:14px;background:#fff;box-shadow:none}
.mayor-shell[data-interface-style="professional"] .mayor-order-data-snapshot-title,
.mayor-shell[data-interface-style="professional"] .mayor-order-data-snapshot-card b{color:#111}
.mayor-shell[data-interface-style="professional"] .mayor-order-detail-data-button{border-color:#111;background:#fff;color:#111;font-weight:400}
.mayor-shell[data-interface-style="professional"] .mayor-order-data-note-section>button{border-color:#111;background:#111;color:#fff}

@media (min-width:900px){
  .mayor-order-data-page{max-width:900px;margin:0 auto}
  .mayor-order-data-readonly-row{grid-template-columns:220px minmax(0,1fr)}
  .mayor-order-detail-summary-card .mayor-order-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Vertically center the title in the important-information detail headers. */
.mayor-account-important-detail > .mayor-account-settings-head-card .mayor-account-head{
  display:flex;
  align-items:center;
}

.mayor-account-important-detail > .mayor-account-settings-head-card .mayor-account-head h1{
  display:flex;
  flex:1 1 auto;
  align-self:stretch;
  align-items:center;
  min-width:0;
  min-height:46px;
}

/* Shared information links on Home, Cart and Send order. */
.mayor-important-quick-links{
  --mayor-important-quick-color:#111111;
  --mayor-important-quick-line:var(--mayor-line,#dddddd);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(8px,2.4vw,20px);
  width:100%;
  margin:14px 0;
  padding:10px clamp(4px,1.8vw,14px);
  border:1px solid var(--mayor-important-quick-line);
  border-radius:18px;
  background:var(--mayor-surface,#ffffff);
}

.mayor-important-quick-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  min-height:82px;
  padding:6px 2px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:var(--mayor-important-quick-color);
  font:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.mayor-important-quick-link:focus-visible{
  outline:2px solid var(--mayor-important-quick-color);
  outline-offset:2px;
}

.mayor-important-quick-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  flex:0 0 50px;
  border:1px solid var(--mayor-important-quick-line);
  border-radius:999px;
  color:var(--mayor-important-quick-color);
  background:var(--mayor-surface,#ffffff);
}

.mayor-important-quick-icon .mayor-account-module-icon{
  width:25px;
  height:25px;
  color:inherit;
}

.mayor-important-quick-label{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:inherit;
  font-size:14px;
  line-height:1.2;
  font-weight:520;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mayor-shell[data-interface-style="boutique"] .mayor-important-quick-links{
  --mayor-important-quick-color:#5f6b45;
  --mayor-important-quick-line:#e6d3b6;
  background:rgba(255,253,249,.92);
}

.mayor-shell[data-interface-style="boutique"] .mayor-important-quick-icon{
  background:#fffdf9;
}

.mayor-home-important-links{
  margin:0 0 24px;
}

body.mayor-interface-boutique.mayor-view-inicio .mayor-home-important-links .mayor-important-quick-icon{
  border-color:#77825D;
  background:linear-gradient(180deg,#77825D 0%,#5F6B45 100%);
  color:#FFFFFF;
  box-shadow:0 6px 14px rgba(95,107,69,.18);
}

body.mayor-interface-boutique.mayor-view-inicio .mayor-home-important-links .mayor-account-module-icon{
  color:#FFFFFF;
  stroke:#FFFFFF;
}

body.mayor-interface-boutique.mayor-view-inicio .mayor-home-category-rail svg{
  border-color:#B7834C;
  background:linear-gradient(180deg,#C99B65 0%,#B7834C 100%);
  stroke:#FFFFFF;
  box-shadow:0 6px 14px rgba(183,131,76,.18);
}

body.mayor-interface-professional.mayor-view-inicio .mayor-home-important-links{
  margin-bottom:12px;
  border-color:var(--mayor-line,#dddddd);
  background:#ffffff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-order-important-links{
  margin:4px 0 16px;
  border-color:var(--mayor-checkout-line,var(--mayor-important-quick-line));
  background:var(--mayor-checkout-surface,var(--mayor-surface,#ffffff));
}

.mayor-shell[data-view="order-submit"] .mayor-order-important-links{
  --mayor-important-quick-color:var(--mayor-checkout-primary,var(--mayor-primary,#111111));
  --mayor-important-quick-line:var(--mayor-checkout-line,var(--mayor-line,#dddddd));
}

.mayor-shell[data-view="order-submit"] .mayor-order-important-links .mayor-important-quick-icon{
  background:var(--mayor-checkout-surface,var(--mayor-surface,#ffffff));
}

@media (max-width:420px){
  .mayor-important-quick-links{
    gap:4px;
    padding:8px 3px;
  }

  .mayor-important-quick-link{
    gap:6px;
    min-height:76px;
    padding-inline:0;
  }

  .mayor-important-quick-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
  }

  .mayor-important-quick-icon .mayor-account-module-icon{
    width:23px;
    height:23px;
  }

  .mayor-important-quick-label{
    font-size:clamp(11.5px,3.35vw,13.5px);
  }
}

/* Give Mayorista landscape touch tablets 25% more room for cart totals.
   The m.admin embed, phones, portrait tablets and pointer desktops retain
   their existing layout. */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  html:not(.mayor-embed-madmin) .mayor-shell[data-view="carrito"] #view-carrito.is-active{
    grid-template-columns:minmax(0,1fr) clamp(400px,35vw,475px);
  }
}

@media (min-width:900px){
  .mayor-shell[data-view="carrito"] #view-carrito.is-active{
    grid-template-areas:
      "cart-items cart-summary"
      "cart-info-links cart-summary";
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-important-links{
    grid-area:cart-info-links;
    margin:0;
  }
}

/* Keep the important-information pages neutral in the Professional interface. */
.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-account-important{
  --mayor-important-accent:#3f3f3f;
  --mayor-important-accent-soft:#666666;
  --mayor-important-line:#dddddd;
  --mayor-important-surface:#ffffff;
  color:#111111;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-account-important .mayor-account-settings-head-card{
  border-color:#dddddd;
  background:#ffffff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-account-important .mayor-account-settings-head-card :is(h1,button){
  color:#111111;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-account-important-card{
  border-color:#dddddd;
  background:#ffffff;
  color:#111111;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-account-important-card:focus-visible{
  outline-color:rgba(63,63,63,.24);
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] :is(
  .mayor-account-important-card-icon,
  .mayor-account-important-card-chevron,
  .mayor-return-policy-icon,
  .mayor-payment-icon,
  .mayor-shipping-zone-icon,
  .mayor-shipping-timeline-icon,
  .mayor-order-guide-icon
){
  color:#3f3f3f;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] :is(
  .mayor-account-important-card-icon,
  .mayor-return-policy-icon,
  .mayor-payment-icon,
  .mayor-shipping-zone-icon,
  .mayor-order-guide-icon
){
  border-color:#dddddd;
  background:#ffffff;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] :is(
  .mayor-return-policy-section,
  .mayor-payment-section,
  .mayor-shipping-section,
  .mayor-order-guide-card
){
  border-color:#dddddd;
  background:#ffffff;
  color:#111111;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] :is(
  .mayor-return-policy-content,
  .mayor-payment-content,
  .mayor-shipping-zone,
  .mayor-shipping-timeline-item
){
  border-color:#dddddd;
  background:#f8f8f8;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] :is(
  .mayor-return-policy-section > h2,
  .mayor-payment-section > h2,
  .mayor-shipping-section > h2
){
  color:#111111;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] :is(
  .mayor-shipping-group-title,
  .mayor-shipping-zone h3,
  .mayor-return-policy-content strong,
  .mayor-payment-content strong,
  .mayor-shipping-zone strong
){
  color:#3f3f3f;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] :is(
  .mayor-return-policy-content p,
  .mayor-return-policy-content ul,
  .mayor-payment-content p,
  .mayor-payment-content ul,
  .mayor-shipping-zone p,
  .mayor-shipping-zone ul,
  .mayor-shipping-timeline-item p,
  .mayor-order-guide-copy p,
  .mayor-order-guide-copy ul
){
  color:#3f3f3f;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-order-guide-copy h2{
  color:#111111;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-order-guide-copy strong{
  color:#3f3f3f;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-shipping-timeline-item p span{
  color:#666666;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] :is(
  .mayor-return-policy-points li + li,
  .mayor-payment-points li + li
){
  border-top-color:#dddddd;
}

.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-shipping-timeline-item:not(:last-child)::after{
  border-left-color:#dddddd;
}

@media (min-width:900px){
  .mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-account-important{
    width:min(100%,920px);
    margin-inline:auto;
  }
}

/* Mobile information details: icon + title row, followed by full-width copy. */
.mayor-account-important-detail .mayor-detail-mobile-title-icon{
  display:none;
}

.mayor-shipping-timeline-item p > .mayor-shipping-timeline-description,
.mayor-shell[data-interface-style="professional"][data-view="cuenta"] .mayor-shipping-timeline-item p > .mayor-shipping-timeline-description{
  color:inherit;
}

@media (max-width:767px){
  .mayor-order-guide-card{
    grid-template-columns:44px minmax(0,1fr);
    column-gap:11px;
    row-gap:10px;
    padding:16px;
  }

  .mayor-order-guide-icon{
    width:44px;
    height:44px;
  }

  .mayor-order-guide-icon svg{
    width:24px;
    height:24px;
  }

  .mayor-order-guide-copy h2{
    font-size:20px;
  }

  .mayor-order-guide-copy p,
  .mayor-order-guide-copy ul{
    font-size:16.8px;
    line-height:1.55;
  }

  .mayor-account-important-detail :is(
    .mayor-return-policy-section,
    .mayor-payment-section
  ) > h2{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
    align-items:center;
  }

  .mayor-account-important-detail .mayor-detail-mobile-title-icon{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    margin:0;
    border:1px solid var(--mayor-important-line);
    border-radius:999px;
  }

  .mayor-account-important-detail .mayor-detail-mobile-title-icon svg{
    width:24px;
    height:24px;
  }

  .mayor-account-important-detail :is(
    .mayor-return-policy-content,
    .mayor-payment-content,
    .mayor-shipping-zone,
    .mayor-shipping-timeline-item
  ){
    grid-template-columns:minmax(0,1fr);
  }

  .mayor-account-important-detail :is(
    .mayor-return-policy-content,
    .mayor-payment-content,
    .mayor-shipping-zone,
    .mayor-shipping-timeline-item
  ) > .mayor-detail-content-icon{
    display:none;
  }

  .mayor-account-important-detail :is(
    .mayor-return-policy-content p,
    .mayor-return-policy-content ul,
    .mayor-payment-content p,
    .mayor-payment-content ul,
    .mayor-shipping-zone p,
    .mayor-shipping-zone ul
  ){
    width:100%;
    font-size:16.8px;
  }

  .mayor-account-important-detail .mayor-shipping-zone{
    gap:0;
  }

  .mayor-account-important-detail .mayor-shipping-zone h3{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
    align-items:center;
    margin:0 0 10px;
  }

  .mayor-account-important-detail .mayor-shipping-timeline{
    gap:18px;
  }

  .mayor-account-important-detail .mayor-shipping-timeline-item{
    gap:0;
  }

  .mayor-account-important-detail .mayor-shipping-timeline-item:not(:last-child)::after{
    content:none;
  }

  .mayor-account-important-detail .mayor-shipping-timeline-item p{
    width:100%;
    font-size:14px;
    line-height:1.5;
  }

  .mayor-account-important-detail .mayor-shipping-timeline-heading{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
    align-items:center;
  }

  .mayor-account-important-detail .mayor-shipping-timeline-description{
    display:block;
    width:100%;
    margin-top:10px;
    color:inherit;
    font-size:16.8px;
    line-height:1.5;
  }
}

@media (max-width:420px){
  .mayor-order-guide-card{
    grid-template-columns:44px minmax(0,1fr);
    column-gap:11px;
    row-gap:10px;
    padding:14px;
  }

  .mayor-order-guide-icon{
    width:44px;
    height:44px;
  }

  .mayor-order-guide-icon svg{
    width:24px;
    height:24px;
  }

  .mayor-order-guide-copy h2{
    font-size:18px;
  }

  .mayor-order-guide-copy p,
  .mayor-order-guide-copy ul{
    font-size:15px;
  }
}
/* Tablet intermediate layout: keep the phone and desktop contracts isolated. */
@media (min-width:600px) and (max-width:899px){
  .mayor-shell{
    max-width:880px;
  }

  .mayor-main{
    width:100%;
    max-width:880px;
    margin-inline:auto;
  }

  .mayor-view{
    padding-right:24px;
    padding-left:24px;
  }

  .mayor-bottom-nav{
    left:0;
    right:0;
    width:100%;
    max-width:880px;
    margin-right:auto;
    margin-left:auto;
    padding-right:clamp(24px, 7vw, 72px);
    padding-left:clamp(24px, 7vw, 72px);
    transform:none;
  }

  /* Home: denser rails and cards without switching to the desktop shell. */
  body.mayor-view-inicio #view-inicio{
    padding-right:24px;
    padding-left:24px;
  }

  body.mayor-interface-professional.mayor-view-inicio #view-inicio{
    padding-right:24px;
    padding-left:24px;
  }

  body.mayor-view-inicio .mayor-home-hero{
    margin-right:-24px;
    margin-left:-24px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-hero{
    margin-right:-24px;
    margin-left:-24px;
  }

  body.mayor-view-inicio .mayor-home-services{
    margin-right:-24px;
    margin-left:-24px;
    padding-right:40px;
    padding-left:40px;
  }

  body.mayor-view-inicio .mayor-home-category-rail{
    column-gap:18px;
  }

  body.mayor-view-inicio .mayor-home-product-strip{
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:12px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-product-strip{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }

  body.mayor-view-inicio .mayor-home-footer{
    margin-right:-24px;
    margin-left:-24px;
  }

  body.mayor-interface-professional.mayor-view-inicio .mayor-home-footer{
    margin-right:-24px;
    margin-left:-24px;
  }

  /* Products: three readable columns; the category chooser remains touch-first. */
  .mayor-shell[data-view="productos"] #view-productos{
    padding-right:20px;
    padding-left:20px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="productos"] #view-productos{
    padding-right:20px;
    padding-left:20px;
  }

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

  .mayor-shell[data-view="productos"] .mayor-category-panel{
    left:0;
  }

  .mayor-shell[data-view="productos"] .mayor-category-strip{
    margin-right:-20px;
    margin-left:-20px;
    padding-right:20px;
    padding-left:20px;
  }

  .mayor-shell[data-view="productos"] .mayor-category-banner{
    margin-right:0;
    margin-left:0;
  }

  .mayor-shell[data-view="productos"] .mayor-products-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:12px;
    margin-top:18px;
  }

  /* Account: expose one more module per row while keeping touch targets roomy. */
  .mayor-shell[data-view="cuenta"] #view-cuenta{
    padding-right:24px;
    padding-left:24px;
  }

  .mayor-shell[data-view="cuenta"] .mayor-account-profile{
    margin-right:0;
    margin-left:0;
  }

  .mayor-account-modules{
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:14px;
  }

  .mayor-address-list{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
  }

  /* Cart: retain a single reading flow, but use the extra width inside each row. */
  .mayor-shell[data-view="carrito"] #view-carrito{
    padding-right:24px;
    padding-left:24px;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-title{
    margin-right:0;
    margin-left:0;
    padding-right:18px;
    padding-left:18px;
    border:1px solid var(--mayor-line);
    border-radius:18px;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-card{
    overflow:hidden;
    border:1px solid var(--mayor-line);
    border-radius:18px;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-item{
    grid-template-columns:108px minmax(0,1fr) 28px;
    gap:16px;
    padding:16px 18px;
    contain-intrinsic-size:119px;
  }

  .mayor-shell[data-interface-style="boutique"][data-view="carrito"] .mayor-cart-item{
    grid-template-columns:108px minmax(0,1fr) 28px;
    gap:16px;
    padding:16px 18px;
    contain-intrinsic-size:119px;
  }

  .mayor-shell[data-view="carrito"] .mayor-cart-image{
    width:108px;
  }

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

  .mayor-order-detail-products-card .mayor-order-detail-item{
    grid-template-columns:108px minmax(0,1fr) 28px;
    gap:16px;
    min-height:119px;
    padding:16px 18px;
    contain-intrinsic-size:119px;
  }

  .mayor-order-detail-products-card .mayor-order-detail-item .mayor-cart-image{
    width:108px;
  }

  .mayor-shell[data-view="carrito"] .mayor-order-summary{
    margin-top:18px;
    padding:20px 24px;
    border:1px solid var(--mayor-line);
    border-radius:18px;
  }

  /* Orders stay a one-page list; never activate the desktop list/detail split. */
  .mayor-shell[data-view="pedidos"] #view-pedidos{
    padding-right:24px;
    padding-left:24px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-root{
    display:flex;
    flex-direction:column;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-topbar{
    margin-right:0;
    margin-left:0;
    padding-right:0;
    padding-left:0;
  }

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

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats{
    gap:24px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-stats > div{
    max-width:none;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-list{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-order-card{
    padding:18px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-order-card-actions button{
    min-height:44px;
  }

  .mayor-shell[data-view="pedidos"] .mayor-orders-detail-pane{
    display:none !important;
  }

  .mayor-order-detail-view{
    padding-right:24px;
    padding-left:24px;
  }

  .mayor-order-detail-view .mayor-order-detail-meta{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }
}

/*
 * Capacitor safe-area contract.
 * The bridge adapter adds this exact attribute only after the current
 * document completes a trusted v3 hello + ping. Browsers, PWAs and legacy
 * shells keep all three variables at zero.
 */
html[data-mayor-capacitor-bridge-v3="ready"]{
  --mayor-capacitor-safe-top:env(safe-area-inset-top,0px);
  /* The native safe area is the complete inset. Adding a second visual gap
   * shifted every mobile surface below the established App baseline. */
  --mayor-capacitor-top-offset:var(--mayor-capacitor-safe-top);
}

html[data-mayor-capacitor-bridge-v3="ready"] body.mayor-app.mayor-view-inicio .mayor-topbar{
  min-height:calc(60px + var(--mayor-capacitor-top-offset));
  padding-top:calc(8px + var(--mayor-capacitor-top-offset));
}

html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="productos"] .mayor-products-toolbar{
  min-height:calc(52px + var(--mayor-capacitor-top-offset));
  padding-top:calc(5px + var(--mayor-capacitor-top-offset));
}

html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="detalle"] #view-detalle,
html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="order-submit"] #view-order-submit{
  padding-top:calc(8px + var(--mayor-capacitor-top-offset));
}

html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="carrito"] .mayor-cart-title,
html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="pedidos"] .mayor-orders-topbar{
  top:var(--mayor-capacitor-top-offset);
}

@media (max-width:899px){
  html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="cuenta"] #view-cuenta{
    padding-top:var(--mayor-capacitor-top-offset);
  }

  html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="cuenta"] .mayor-account-profile{
    top:calc(8px + var(--mayor-capacitor-top-offset));
  }
}

@media (min-width:900px){
  html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="productos"] .mayor-category-panel,
  html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="productos"] .mayor-category-panel[hidden]{
    top:calc(92px + var(--mayor-capacitor-top-offset));
    max-height:calc(100vh - 112px - var(--mayor-capacitor-top-offset));
  }

  html[data-mayor-capacitor-bridge-v3="ready"] .mayor-shell[data-view="cuenta"] .mayor-account-profile{
    top:calc(84px + var(--mayor-capacitor-top-offset));
  }
}
