/* SPLASH SOLUCH */
.splash-screen{
  position:fixed;
  inset:0;
  background:linear-gradient(135deg,#0b6623,#062d13);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  animation:splashOut .55s ease forwards;
  animation-delay:1.8s;
}

.splash-box{
  text-align:center;
  color:#fff;
  animation:splashIn .8s ease forwards;
}

.splash-logo{
  width:92px;
  height:92px;
  border-radius:28px;
  background:#fff;
  color:#0b6623;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 14px;
  font-size:44px;
  font-weight:1000;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}

.splash-title{
  font-size:30px;
  font-weight:1000;
  letter-spacing:.2px;
}

.splash-subtitle{
  font-size:13px;
  opacity:.9;
  margin-top:6px;
}

@keyframes splashIn{
  from{
    opacity:0;
    transform:scale(.9) translateY(10px);
  }
  to{
    opacity:1;
    transform:scale(1) translateY(0);
  }
}

@keyframes splashOut{
  to{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
}

:root{
  --primary:#0b6623;
  --textColor:#1c1c1c;
  --bg:#f4f4f4;
  --card:#fff;
  --muted:#777;
}

*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto}
body{margin:0;background:var(--bg);color:var(--textColor)}
.app{min-height:100vh;padding-bottom:86px}

.header{
  background:var(--primary);
  color:#fff;
  padding:14px 16px 16px;
  border-radius:0 0 24px 24px;
  position:sticky;
  top:0;
  z-index:20;
  box-shadow:0 3px 14px rgba(0,0,0,.12);
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.brand-mark{
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}

.brand-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.brand-text strong{
  display:block;
  font-size:22px;
  line-height:1;
}

.brand-text span{
  display:block;
  font-size:13px;
  opacity:.92;
  margin-top:4px;
}

.content{padding:14px}
.screen{display:none}
.screen.active{display:block}

.card{
  background:var(--card);
  border-radius:18px;
  padding:14px;
  margin-bottom:14px;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}

input,textarea,select{
  width:100%;
  padding:11px;
  border:1px solid #ddd;
  border-radius:10px;
  margin-top:8px;
  margin-bottom:10px;
  font-size:15px;
  background:#fff;
}

textarea{resize:none;min-height:70px}

.btn{
  width:100%;
  border:none;
  background:var(--primary);
  color:#fff;
  padding:12px;
  border-radius:12px;
  font-weight:900;
  font-size:15px;
  margin-top:6px;
  cursor:pointer;
}

.btn.secondary{background:#f1f1f1;color:#222}
.btn.danger{background:#ffeded;color:#c40000}
.btn.small{padding:8px;font-size:13px}

.actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

.bottom{
  position:fixed;
  left:0;right:0;bottom:0;
  background:var(--primary);
  display:flex;
  justify-content:space-around;
  padding:10px 4px;
  z-index:30;
}

.navbtn{
  background:none;
  border:none;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  font-size:12px;
  gap:4px;
  cursor:pointer;
}

.muted{color:var(--muted);font-size:13px}
.section-title{font-size:20px;font-weight:950;margin:0 0 10px}

.promo-scroll,.store-row{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-snap-type:x mandatory;
}

.promo-scroll::-webkit-scrollbar,
.store-row::-webkit-scrollbar{display:none}

.promo-card{
  min-width:300px;
  height:200px;
  border-radius:22px;
  overflow:hidden;
  position:relative;
  background:#111;
  scroll-snap-align:start;
}

.promo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  cursor:pointer;
}

.promo-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.20),rgba(0,0,0,.02));
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:15px;
  pointer-events:none;
}

.promo-overlay strong{font-size:20px;line-height:1.1}
.promo-overlay span{font-size:13px;margin-top:4px;opacity:.95}

.promo-btn{
  width:max-content;
  background:#fff;
  color:#111;
  border:none;
  border-radius:10px;
  padding:8px 10px;
  font-weight:900;
  margin-top:10px;
  pointer-events:auto;
  cursor:pointer;
}

.category-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}

.category-card{
  background:#fff;
  border:none;
  border-radius:16px;
  padding:12px 6px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  cursor:pointer;
}

.category-card div:first-child{font-size:24px}
.category-card div:last-child{font-size:11px;font-weight:900;margin-top:5px}

.store-mini{
  min-width:145px;
  max-width:145px;
  background:#fff;
  border-radius:18px;
  padding:12px;
  text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  cursor:pointer;
}

.store-mini img{
  width:68px;
  height:68px;
  border-radius:18px;
  object-fit:cover;
  background:#eee;
}

.store-mini strong{display:block;margin-top:8px;font-size:13px}
.store-mini span{display:block;font-size:11px;color:var(--muted);margin-top:3px}

.premium-label{
  display:inline-block;
  margin-top:6px;
  background:#111;
  color:#fff;
  font-size:10px;
  padding:3px 7px;
  border-radius:999px;
}

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

.store-tile{text-align:center;cursor:pointer}
.store-tile img{
  width:78px;
  height:78px;
  border-radius:18px;
  object-fit:cover;
  background:#eee;
}

.store-head{
  text-align:center;
  color:#fff;
  border-radius:26px;
  padding:20px 14px;
  margin-bottom:14px;
  background:linear-gradient(135deg,var(--primary),#111);
  position:relative;
  overflow:hidden;
}

.store-head::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  top:-120px;
  right:-80px;
}

.store-logo{
  width:132px;
  height:132px;
  border-radius:30px;
  object-fit:cover;
  background:#fff;
  padding:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  position:relative;
  z-index:2;
}

.store-head h2,.store-head p,.store-head small{position:relative;z-index:2}
.store-head h2{font-size:30px;margin:10px 0 4px}

.badge{
  display:inline-block;
  background:#fff;
  color:#111;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  position:relative;
  z-index:2;
}

.social-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin-top:10px;
  position:relative;
  z-index:2;
}

.social-row a{
  background:#fff;
  color:#111;
  text-decoration:none;
  padding:8px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}

.catalog-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.product-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  position:relative;
}

.product-card img{
  width:100%;
  height:190px;
  object-fit:cover;
  background:#eee;
  cursor:pointer;
}

.product-info{padding:10px}
.product-name{font-size:14px;font-weight:900}
.product-desc{font-size:12px;color:var(--muted);margin-top:4px}
.current-price{font-size:17px;font-weight:950;color:var(--primary);margin-top:4px}
.old-price{text-decoration:line-through;color:#999;font-size:12px}

.tag{
  display:inline-block;
  background:#ff4f89;
  color:#fff;
  padding:3px 7px;
  border-radius:7px;
  font-size:11px;
  font-weight:900;
  margin-bottom:5px;
}

.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.chip{border:1px solid #ddd;border-radius:7px;padding:4px 7px;font-size:11px}

.whatsapp-btn{
  width:100%;
  border:none;
  background:var(--primary);
  color:#fff;
  border-radius:10px;
  padding:10px;
  font-weight:900;
  margin-top:10px;
  cursor:pointer;
}

.product-list-item{display:flex;gap:12px}
.product-list-item img{
  width:82px;height:82px;border-radius:14px;object-fit:cover;background:#eee;
}

.draft-card{
  border:2px dashed #ddd;
  background:#fff;
}

.draft-card img{
  width:100%;
  max-height:220px;
  object-fit:cover;
  border-radius:14px;
  background:#eee;
  margin-bottom:8px;
}

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

.out{opacity:.45}
.out-badge{
  position:absolute;
  top:10px;
  right:10px;
  background:#111;
  color:#fff;
  padding:5px 8px;
  border-radius:8px;
  font-size:11px;
  font-weight:900;
}

.modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.9);
  z-index:100;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.modal.active{display:flex}
.modal img{max-width:100%;max-height:85vh;border-radius:18px}
.modal-close{
  position:absolute;
  top:16px;
  right:16px;
  width:42px;
  height:42px;
  border:none;
  border-radius:50%;
  background:#fff;
  font-size:22px;
}

@media(min-width:760px){
  .content{max-width:1100px;margin:auto}
  .catalog-grid{grid-template-columns:repeat(4,1fr)}
  .store-grid{grid-template-columns:repeat(4,1fr)}
  .category-grid{grid-template-columns:repeat(8,1fr)}
  .draft-grid{grid-template-columns:repeat(3,1fr)}
}

@media print{
  .header,.bottom,.no-print,.btn,.whatsapp-btn{display:none!important}
  body{background:#fff}
  .content{padding:0}
  .store-head{border-radius:0}
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
  .product-card{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}
}


/* =========================
   FIX LOGO SOLCH
   ========================= */

.brand-mark{
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}

.brand-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.splash-logo{
  width:96px;
  height:96px;
  max-width:96px;
  max-height:96px;
  border-radius:28px;
  overflow:hidden;
}

.splash-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.splash-real-logo{
  width:132px;
  height:132px;
  max-width:132px;
  max-height:132px;
  object-fit:cover;
  border-radius:50%;
  display:block;
  margin:0 auto 16px;
  box-shadow:
    0 0 32px rgba(70,255,120,.26),
    0 14px 38px rgba(0,0,0,.32);
  animation:splashPulse 2.2s ease-in-out infinite;
}

.splash-box img{
  max-width:132px;
  max-height:132px;
}

@keyframes splashPulse{
  0%{ transform:scale(1); }
  50%{ transform:scale(1.04); }
  100%{ transform:scale(1); }
}

@media(max-width:520px){
  .header{
    padding:12px 14px 14px;
  }

  .brand{
    gap:9px;
  }

  .brand-mark{
    width:48px;
    height:48px;
    min-width:48px;
    border-radius:15px;
  }

  .brand-text strong{
    font-size:21px;
  }

  .brand-text span{
    font-size:12px;
  }

  .splash-real-logo{
    width:120px;
    height:120px;
    max-width:120px;
    max-height:120px;
  }
}


/* =========================
   SERVICIOS
   ========================= */

.service-chip-row{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:12px;
}

.service-group{
  border-top:1px solid #eee;
  padding-top:10px;
}

.service-group:first-child{
  border-top:none;
  padding-top:0;
}

.service-group-title{
  font-size:13px;
  font-weight:950;
  color:#555;
  margin-bottom:8px;
}

.service-chip-scroll{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:4px;
}

.service-chip-scroll::-webkit-scrollbar{
  display:none;
}

.service-chip{
  border:none;
  border-radius:999px;
  background:#f1f1f1;
  color:#222;
  padding:9px 12px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

.service-chip.active{
  background:var(--primary);
  color:#fff;
}

.service-provider-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.service-provider-card{
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:10px;
  align-items:center;
  background:#fff;
  border:1px solid #eee;
  border-radius:16px;
  padding:10px;
  box-shadow:0 1px 6px rgba(0,0,0,.05);
}

.service-provider-photo{
  width:64px;
  height:64px;
  border-radius:18px;
  object-fit:cover;
  background:#eee;
}

.service-provider-info strong{
  display:block;
  font-size:15px;
  font-weight:1000;
}

.service-provider-info span{
  display:block;
  font-size:12px;
  color:var(--primary);
  font-weight:900;
  margin-top:2px;
}

.service-provider-info p{
  margin:4px 0 0;
  font-size:12px;
  color:#666;
}

.service-whatsapp{
  border:none;
  background:var(--primary);
  color:#fff;
  border-radius:12px;
  padding:9px 10px;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
}

.service-empty{
  background:#fff;
  border:1px dashed #ddd;
  border-radius:16px;
  padding:16px;
  text-align:center;
}

@media(min-width:760px){
  .service-provider-list{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:520px){
  .service-provider-card{
    grid-template-columns:54px 1fr;
  }

  .service-provider-photo{
    width:54px;
    height:54px;
    border-radius:15px;
  }

  .service-whatsapp{
    grid-column:1 / -1;
    width:100%;
  }
}



/* =========================
   TOP MODULES
   ========================= */

.header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(10px);
}

.top-modules{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:12px 0 2px;
  margin-top:10px;
}

.top-modules::-webkit-scrollbar{
  display:none;
}

.top-module{
  border:none;
  border-radius:999px;
  background:#f1f1f1;
  color:#222;
  padding:10px 14px;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  white-space:nowrap;
  transition:.18s ease;
}

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

.top-module.active{
  background:var(--primary);
  color:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
}

@media(max-width:520px){

  .top-modules{
    padding-top:10px;
    gap:6px;
  }

  .top-module{
    font-size:12px;
    padding:9px 11px;
  }
}


/* =========================
   HARD FIX LOGO / SPLASH
   ========================= */

.brand-mark{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  border-radius:16px !important;
  background:#fff !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.brand-mark img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.splash-box{
  width:auto !important;
  max-width:90vw !important;
  text-align:center !important;
}

.splash-box img,
.splash-real-logo{
  width:132px !important;
  height:132px !important;
  min-width:132px !important;
  min-height:132px !important;
  max-width:132px !important;
  max-height:132px !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
  margin:0 auto 16px !important;
}

.splash-screen{
  overflow:hidden !important;
}

@media(max-width:520px){
  .brand-mark{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    max-height:48px !important;
  }

  .splash-box img,
  .splash-real-logo{
    width:118px !important;
    height:118px !important;
    min-width:118px !important;
    min-height:118px !important;
    max-width:118px !important;
    max-height:118px !important;
  }
}


/* =========================
   MODULOS SUPERIORES REALES
   ========================= */

.header{
  position:sticky;
  top:0;
  z-index:60;
}

.module-bar{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:11px 0 4px;
  margin-top:8px;
}

.module-bar::-webkit-scrollbar,
.module-subbar::-webkit-scrollbar,
.module-local-subcategories::-webkit-scrollbar{
  display:none;
}

.module-btn{
  border:none;
  border-radius:999px;
  padding:9px 13px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
  cursor:pointer;
}

.module-btn.active{
  background:#fff;
  color:var(--primary);
}

.module-subbar{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:7px 0 0;
}

.module-sub-btn{
  border:none;
  border-radius:999px;
  padding:8px 11px;
  background:rgba(0,0,0,.18);
  color:#fff;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}

.module-sub-btn.active{
  background:#111;
  color:#fff;
}

.module-local-subcategories{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:8px 0 2px;
}

.module-local-chip{
  border:none;
  border-radius:999px;
  padding:9px 12px;
  background:#f1f1f1;
  color:#222;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}

.module-local-chip.active{
  background:var(--primary);
  color:#fff;
}

.module-results{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

@media(min-width:760px){
  .module-results{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:520px){
  .module-bar{
    gap:6px;
    padding-top:9px;
  }

  .module-btn{
    font-size:12px;
    padding:8px 10px;
  }

  .module-sub-btn{
    font-size:11px;
    padding:7px 9px;
  }
}


/* =========================
   SOLCH FREE V1 PULIDO
   ========================= */

.header.header-compact{
  padding:8px 12px 9px !important;
  border-radius:0 0 18px 18px;
  z-index:80;
}

.brand-compact{gap:8px}

.header-compact .brand-mark{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  max-width:40px !important;
  max-height:40px !important;
  border-radius:13px !important;
}

.header-compact .brand-text strong{
  font-size:19px;
  line-height:1;
}

.header-compact .brand-text span{
  font-size:11px;
  margin-top:2px;
}

.module-bar{
  gap:6px;
  padding:7px 0 2px;
  margin-top:6px;
}

.module-btn{
  padding:7px 10px;
  font-size:12px;
  border-radius:999px;
}

.module-subbar{
  gap:6px;
  padding:6px 0 0;
}

.module-sub-btn{
  padding:6px 9px;
  font-size:11px;
  border-radius:999px;
}

.hero-card{
  background:
    radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 36%),
    linear-gradient(135deg,var(--primary),#111);
  color:#fff;
  border-radius:22px;
  padding:16px;
  margin-bottom:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.hero-copy .eyebrow{
  display:inline-block;
  background:rgba(255,255,255,.16);
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  margin-bottom:8px;
}

.hero-copy h2{
  margin:0;
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.5px;
}

.hero-copy p{
  margin:7px 0 12px;
  font-size:13px;
  opacity:.92;
}

.search-box input{
  margin-top:0;
  border:none;
}

.search-box .btn.secondary{
  background:#fff;
  color:#111;
}

.card{
  border-radius:16px;
  padding:13px;
}

.section-title{
  font-size:18px;
  letter-spacing:-.2px;
}

.promo-card{
  min-width:285px;
  height:178px;
  border-radius:20px;
}

.store-mini{
  min-width:132px;
  max-width:132px;
  border-radius:16px;
  padding:10px;
}

.store-mini img{
  width:62px;
  height:62px;
  border-radius:16px;
}

.store-head{
  text-align:left;
  padding:16px;
  border-radius:22px;
}

.store-head-inner{
  display:flex;
  align-items:center;
  gap:14px;
  position:relative;
  z-index:3;
}

.store-head-copy{
  flex:1;
  min-width:0;
}

.store-kicker{
  display:inline-block;
  background:rgba(255,255,255,.16);
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  margin-bottom:6px;
}

.store-logo{
  width:86px;
  height:86px;
  border-radius:22px;
  padding:4px;
  flex:0 0 auto;
}

.store-head h2{
  font-size:25px;
  margin:2px 0 5px;
  line-height:1.04;
}

.store-head p{
  font-size:13px;
  margin:8px 0 4px;
  opacity:.95;
}

.social-row{
  justify-content:flex-start;
}

.social-row a{
  padding:7px 9px;
  font-size:12px;
}

.catalog-grid{
  gap:10px;
}

.product-card{
  border-radius:16px;
}

.product-card img{
  height:165px;
}

.product-info{padding:9px}
.product-name{font-size:13px}
.current-price{font-size:16px}

.bottom-clean{
  padding:8px 6px calc(8px + env(safe-area-inset-bottom));
  border-radius:18px 18px 0 0;
  box-shadow:0 -4px 18px rgba(0,0,0,.14);
}

.bottom-clean .navbtn{
  min-width:58px;
  font-size:11px;
}

.bottom-clean .navbtn span{
  font-size:11px;
}

.module-highlight-scroll{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding-bottom:10px;
  margin-bottom:10px;
}

.module-highlight-scroll::-webkit-scrollbar{display:none}

.module-highlight-card{
  min-width:270px;
  background:linear-gradient(135deg,var(--primary),#111);
  color:#fff;
  border-radius:20px;
  padding:15px;
  box-shadow:0 6px 18px rgba(0,0,0,.14);
}

.module-highlight-card span{
  display:inline-block;
  background:rgba(255,255,255,.16);
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  margin-bottom:9px;
}

.module-highlight-card strong{
  display:block;
  font-size:18px;
  line-height:1.15;
}

.module-highlight-card p{
  margin:6px 0 0;
  font-size:13px;
  opacity:.92;
}

@media(max-width:520px){
  .content{padding:11px}

  .hero-copy h2{font-size:23px}

  .category-grid{grid-template-columns:repeat(3,1fr)}

  .promo-card{
    min-width:260px;
    height:165px;
  }

  .store-head-inner{align-items:flex-start}

  .store-logo{
    width:76px;
    height:76px;
    border-radius:20px;
  }

  .store-head h2{font-size:22px}

  .product-card img{height:150px}
}

@media(min-width:760px){
  .hero-card{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:18px;
    align-items:center;
  }

  .catalog-grid{grid-template-columns:repeat(4,1fr)}
}


/* =========================
   HOME PRIORIDAD PROMOS
   ========================= */

/* Header más compacto todavía */
.header.header-compact{
  padding:7px 11px 8px !important;
  border-radius:0 0 16px 16px !important;
}

.header-compact .brand-mark{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  max-height:36px !important;
  border-radius:12px !important;
}

.header-compact .brand-text strong{
  font-size:18px !important;
}

.header-compact .brand-text span{
  font-size:10.5px !important;
}

.module-bar{
  padding:6px 0 2px !important;
  margin-top:5px !important;
}

.module-btn{
  padding:6px 9px !important;
  font-size:11.5px !important;
}

.module-subbar{
  padding:5px 0 0 !important;
}

.module-sub-btn{
  padding:5px 8px !important;
  font-size:10.8px !important;
}

/* Buscador compacto: no roba pantalla */
.quick-search{
  display:grid;
  grid-template-columns:1fr 44px;
  gap:8px;
  align-items:start;
  margin-bottom:12px;
}

.quick-search input{
  margin:0;
  height:44px;
  border:none;
  border-radius:15px;
  box-shadow:0 2px 10px rgba(0,0,0,.07);
}

.quick-location{
  width:44px;
  height:44px;
  border:none;
  border-radius:15px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.07);
  font-size:18px;
  cursor:pointer;
}

.quick-search .muted{
  grid-column:1 / -1;
  margin:0;
}

/* El home arranca con contenido comercial */
#inicio > .card:first-of-type{
  margin-top:0;
}

/* Promos más protagonistas sin exagerar */
#promoList.promo-scroll{
  padding-top:2px;
}

.promo-card{
  min-width:292px !important;
  height:185px !important;
}

.promo-overlay strong{
  font-size:19px;
}

.promo-overlay span{
  font-size:12.5px;
}

/* Quita sensación de tarjeta administrativa */
.card{
  box-shadow:0 4px 16px rgba(0,0,0,.07);
}

/* Barra inferior estable */
.bottom-clean{
  border-radius:18px 18px 0 0;
}

@media(max-width:520px){
  .content{
    padding:10px !important;
  }

  .quick-search{
    grid-template-columns:1fr 42px;
    margin-bottom:10px;
  }

  .quick-search input,
  .quick-location{
    height:42px;
    border-radius:14px;
  }

  .promo-card{
    min-width:274px !important;
    height:172px !important;
  }

  .section-title{
    font-size:17px !important;
  }
}


/* =========================
   PREMIUM STORE MODE
   ========================= */

.premium-form-block{
  border:1px dashed #d7d7d7;
  background:#fbfbfb;
  border-radius:16px;
  padding:12px;
  margin:10px 0 14px;
}

.premium-form-block h3{
  margin:0 0 4px;
  font-size:17px;
}

.store-premium-page{
  animation:premiumFade .35s ease both;
}

@keyframes premiumFade{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

.premium-cover{
  min-height:310px;
  border-radius:28px;
  background-size:cover !important;
  background-position:center !important;
  color:#fff;
  display:flex;
  align-items:flex-end;
  padding:18px;
  margin-bottom:14px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  position:relative;
}

.premium-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right,rgba(255,255,255,.2),transparent 38%);
  pointer-events:none;
}

.premium-cover-content{
  position:relative;
  z-index:2;
  width:100%;
}

.premium-pill{
  display:inline-block;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:1000;
  margin-bottom:12px;
}

.premium-cover-main{
  display:flex;
  align-items:center;
  gap:14px;
}

.premium-logo{
  width:96px;
  height:96px;
  border-radius:26px;
  object-fit:cover;
  background:#fff;
  padding:5px;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  flex:0 0 auto;
}

.premium-cover h2{
  margin:0;
  font-size:32px;
  line-height:1.02;
  letter-spacing:-.8px;
}

.premium-slogan{
  margin:6px 0 0;
  font-size:15px;
  opacity:.94;
}

.premium-rubro{
  display:inline-block;
  margin-top:8px;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:950;
}

.premium-description{
  margin:12px 0 0;
  font-size:14px;
  max-width:720px;
  opacity:.94;
}

.premium-slider-wrap{
  margin-bottom:14px;
}

.premium-slider-title{
  font-weight:1000;
  font-size:18px;
  margin:2px 0 10px;
}

.premium-slider{
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:8px;
}

.premium-slider::-webkit-scrollbar{
  display:none;
}

.premium-slide{
  min-width:245px;
  height:170px;
  border-radius:22px;
  overflow:hidden;
  position:relative;
  background:#111;
  scroll-snap-align:start;
  box-shadow:0 6px 18px rgba(0,0,0,.13);
}

.premium-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.premium-slide span{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  background:rgba(0,0,0,.5);
  color:#fff;
  border-radius:999px;
  padding:6px 9px;
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(6px);
}

.premium-video-box{
  background:#111;
  color:#fff;
  border-radius:18px;
  padding:14px;
  margin-bottom:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.premium-video-box a{
  color:#111;
  background:#fff;
  text-decoration:none;
  border-radius:999px;
  padding:8px 11px;
  font-size:13px;
  font-weight:950;
}

.premium-section-title,
.free-section-title{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
  margin:4px 0 10px;
}

.premium-section-title h3,
.free-section-title h3{
  margin:0;
  font-size:20px;
  line-height:1;
}

.premium-section-title span,
.free-section-title span{
  color:var(--muted);
  font-size:12px;
}

.catalog-grid-premium{
  gap:13px;
}

.product-card-premium{
  border:1px solid rgba(0,0,0,.04);
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}

.product-card-premium img{
  height:205px;
}

.action-card{
  position:sticky;
  bottom:72px;
  z-index:10;
}

.solch-made{
  margin-top:14px;
}

@media(max-width:520px){
  .premium-cover{
    min-height:280px;
    border-radius:24px;
    padding:15px;
  }

  .premium-logo{
    width:82px;
    height:82px;
    border-radius:22px;
  }

  .premium-cover h2{
    font-size:27px;
  }

  .premium-slogan{
    font-size:13px;
  }

  .premium-slide{
    min-width:230px;
    height:158px;
  }

  .product-card-premium img{
    height:172px;
  }

  .premium-cover-main{
    align-items:flex-start;
  }
}

@media(min-width:760px){
  .premium-cover{
    min-height:360px;
  }

  .premium-logo{
    width:118px;
    height:118px;
    border-radius:30px;
  }

  .premium-cover h2{
    font-size:44px;
  }

  .catalog-grid-premium{
    grid-template-columns:repeat(4,1fr);
  }
}


/* =========================
   PREMIUM MÁS NOTORIO + FAB
   ========================= */

.store-premium-page{
  background:
    radial-gradient(circle at top right,rgba(11,102,35,.10),transparent 34%),
    linear-gradient(180deg,#ffffff,#f6f8f6);
  border-radius:26px;
  padding:8px;
}

.premium-cover{
  min-height:360px !important;
  border-radius:32px !important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.12) !important;
}

.premium-pill{
  background:linear-gradient(135deg,#ffd86b,#ffb700) !important;
  color:#171100 !important;
  box-shadow:0 8px 22px rgba(255,183,0,.24);
}

.premium-logo{
  width:112px !important;
  height:112px !important;
  border-radius:30px !important;
  border:3px solid rgba(255,255,255,.8);
}

.premium-cover h2{
  font-size:38px !important;
  text-shadow:0 4px 20px rgba(0,0,0,.35);
}

.premium-rubro{
  background:linear-gradient(135deg,#fff,#eaf7ed) !important;
  color:var(--primary) !important;
}

.premium-benefits{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:14px 0 2px;
}

.premium-benefits div{
  background:rgba(255,255,255,.15);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
  backdrop-filter:blur(8px);
}

.premium-slider-title{
  font-size:21px !important;
  margin-top:12px !important;
}

.premium-slide{
  min-width:270px !important;
  height:190px !important;
  border-radius:24px !important;
}

.product-card-premium{
  transform:translateZ(0);
  border-radius:20px !important;
  overflow:hidden;
}

.product-card-premium::before{
  content:"Premium";
  position:absolute;
  top:9px;
  left:9px;
  background:linear-gradient(135deg,#ffd86b,#ffb700);
  color:#191200;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:1000;
  z-index:2;
}

/* Botón flotante lateral de acciones */
.store-fab{
  position:fixed;
  right:14px;
  bottom:92px;
  z-index:95;
}

.store-fab-main{
  width:54px;
  height:54px;
  border:none;
  border-radius:50%;
  background:linear-gradient(135deg,var(--primary),#111);
  color:#fff;
  font-size:23px;
  font-weight:1000;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
  cursor:pointer;
}

.store-fab-menu{
  position:absolute;
  right:0;
  bottom:64px;
  display:none;
  flex-direction:column;
  gap:8px;
  min-width:150px;
}

.store-fab-menu.active{
  display:flex;
}

.store-fab-menu button{
  border:none;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:10px 12px;
  font-size:13px;
  font-weight:950;
  box-shadow:0 7px 18px rgba(0,0,0,.16);
  text-align:left;
  cursor:pointer;
}

.store-fab-menu button:first-child{
  background:#13b957;
  color:#fff;
}

/* PDF más limpio */
@media print{
  #catalogPdfArea{
    background:#fff !important;
  }

  .store-premium-page{
    padding:0 !important;
    background:#fff !important;
  }

  .premium-cover,
  .store-head{
    box-shadow:none !important;
    page-break-inside:avoid;
  }

  .premium-benefits,
  .premium-slider-wrap,
  .premium-video-box,
  .store-fab{
    display:none !important;
  }

  .product-card{
    page-break-inside:avoid;
  }
}

@media(max-width:520px){
  .premium-cover{
    min-height:315px !important;
    border-radius:28px !important;
  }

  .premium-logo{
    width:88px !important;
    height:88px !important;
    border-radius:24px !important;
  }

  .premium-cover h2{
    font-size:29px !important;
  }

  .premium-slide{
    min-width:238px !important;
    height:165px !important;
  }

  .store-fab{
    right:12px;
    bottom:86px;
  }

  .store-fab-main{
    width:50px;
    height:50px;
    font-size:21px;
  }
}


/* =========================
   STORE LANDING MODE
   ========================= */

body.store-landing-mode .header,
body.store-landing-mode .bottom{
  display:none !important;
}

body.store-landing-mode .app{
  padding-bottom:0 !important;
}

body.store-landing-mode .content{
  padding:0 !important;
  max-width:1180px;
}

body.store-landing-mode #catalogo{
  padding:0;
}

body.store-landing-mode #catalogContent{
  padding:0;
}

body.store-landing-mode .store-premium-page,
body.store-landing-mode .store-free-page{
  border-radius:0;
  min-height:100vh;
}

body.store-landing-mode .premium-cover{
  border-radius:0 0 30px 30px !important;
  margin-bottom:16px;
}

body.store-landing-mode .store-head{
  border-radius:0 0 26px 26px !important;
  margin-bottom:16px;
}

body.store-landing-mode .catalog-grid,
body.store-landing-mode .premium-slider-wrap,
body.store-landing-mode .premium-section-title,
body.store-landing-mode .free-section-title,
body.store-landing-mode .solch-made{
  margin-left:12px;
  margin-right:12px;
}

.solch-floating-home{
  position:fixed;
  top:14px;
  left:14px;
  z-index:120;
  width:48px;
  height:48px;
  border:none;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:4px;
}

.solch-floating-home img{
  width:100%;
  height:100%;
  border-radius:13px;
  object-fit:cover;
}

body.store-landing-mode .store-fab{
  bottom:18px;
}

body.store-landing-mode .store-fab-main{
  width:56px;
  height:56px;
}

body.store-landing-mode .store-fab-menu{
  bottom:66px;
}

/* en landing, el catálogo respira mejor */
body.store-landing-mode .product-card{
  box-shadow:0 5px 18px rgba(0,0,0,.10);
}

@media(max-width:520px){
  body.store-landing-mode .premium-cover{
    min-height:330px !important;
    padding-top:72px;
  }

  body.store-landing-mode .store-head{
    padding-top:72px;
  }

  .solch-floating-home{
    top:10px;
    left:10px;
    width:44px;
    height:44px;
    border-radius:15px;
  }

  body.store-landing-mode .catalog-grid{
    padding-bottom:88px;
  }
}

@media(min-width:760px){
  body.store-landing-mode .catalog-grid,
  body.store-landing-mode .premium-slider-wrap,
  body.store-landing-mode .premium-section-title,
  body.store-landing-mode .free-section-title,
  body.store-landing-mode .solch-made{
    margin-left:24px;
    margin-right:24px;
  }
}


/* =========================
   PREMIUM LIMPIO FINAL
   ========================= */

.premium-star-only{
  width:42px;
  height:42px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  font-size:22px !important;
  line-height:1;
}

.premium-benefits{
  display:none !important;
}

.premium-video-box{
  display:none !important;
}

.premium-soft-video{
  display:inline-flex;
  align-items:center;
  width:max-content;
  gap:6px;
  margin-top:10px;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:950;
  backdrop-filter:blur(8px);
}

.premium-soft-video:hover{
  background:rgba(255,255,255,.22);
}

.product-card-premium::before{
  content:"⭐" !important;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  font-size:13px !important;
  border-radius:50% !important;
}

@media(max-width:520px){
  .premium-star-only{
    width:38px;
    height:38px;
    font-size:20px !important;
  }
}


/* =========================
   SERVICIOS V1 REAL
   ========================= */

.services-hero{
  background:linear-gradient(135deg,var(--primary),#111);
  color:#fff;
}

.services-hero .muted{
  color:rgba(255,255,255,.86);
}

.service-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:950;
  color:#555;
  margin-bottom:10px;
}

.service-breadcrumb button{
  border:none;
  background:#f1f1f1;
  color:#111;
  border-radius:999px;
  padding:7px 10px;
  font-weight:950;
  cursor:pointer;
}

.service-nav-bar{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:4px;
}

.service-nav-bar::-webkit-scrollbar{
  display:none;
}

.service-nav-chip{
  border:none;
  border-radius:999px;
  background:#f1f1f1;
  color:#222;
  padding:9px 12px;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
  cursor:pointer;
}

.service-nav-chip.active{
  background:var(--primary);
  color:#fff;
}

.verified-badge{
  display:inline-block !important;
  width:max-content;
  margin-top:4px;
  background:#e9f8ee;
  color:#0b6623 !important;
  border-radius:999px;
  padding:3px 7px;
  font-size:10px !important;
  font-weight:950;
}

.profile-module-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px;
}

.profile-module-grid button{
  border:none;
  background:#f7f7f7;
  color:#111;
  border-radius:16px;
  padding:14px 10px;
  font-weight:950;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  cursor:pointer;
}

.profile-panel h3{
  margin:0 0 6px;
}

.service-checklist{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:8px 0 12px;
}

.service-check-item{
  display:flex;
  align-items:center;
  gap:8px;
  background:#f7f7f7;
  border-radius:12px;
  padding:10px;
  font-size:13px;
  font-weight:850;
}

.service-check-item input{
  width:auto;
  margin:0;
}

@media(max-width:520px){
  .profile-module-grid{
    grid-template-columns:1fr;
  }

  .service-checklist{
    grid-template-columns:1fr;
  }
}

/* =========================
   EVENTOS
   ========================= */
.event-provider-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.event-featured-card{
  border:1px solid rgba(255,193,7,.55);
  background:linear-gradient(135deg,#fff,#fff9e6);
}

.event-provider-card{
  display:grid;
  grid-template-columns:82px 1fr auto;
  gap:12px;
  align-items:center;
  background:#fff;
  border:1px solid #eee;
  border-radius:18px;
  padding:12px;
  box-shadow:0 2px 9px rgba(0,0,0,.05);
}

.event-provider-card.premium-event-provider{
  border-color:#ffc107;
  box-shadow:0 4px 16px rgba(255,193,7,.18);
}

.event-provider-photo{
  width:82px;
  height:82px;
  border-radius:18px;
  object-fit:cover;
  background:#eee;
}

.event-provider-info strong{
  display:block;
  font-size:15px;
  font-weight:1000;
}

.event-provider-info span{
  display:block;
  font-size:12px;
  color:var(--primary);
  font-weight:900;
  margin-top:2px;
}

.event-provider-info p{
  margin:4px 0 0;
  font-size:12px;
  color:#666;
}

.event-mini-gallery{
  display:flex;
  gap:6px;
  margin-top:8px;
  overflow-x:auto;
}

.event-mini-gallery img{
  width:46px;
  height:46px;
  border-radius:10px;
  object-fit:cover;
  cursor:pointer;
  background:#eee;
}

.event-gallery-preview{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(86px,1fr));
  gap:10px;
  margin:8px 0 12px;
}

.event-gallery-thumb{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  background:#eee;
  min-height:86px;
}

.event-gallery-thumb img{
  width:100%;
  height:86px;
  object-fit:cover;
  display:block;
  cursor:pointer;
}

.event-gallery-thumb button{
  position:absolute;
  top:5px;
  right:5px;
  width:26px;
  height:26px;
  border:none;
  border-radius:999px;
  background:rgba(0,0,0,.75);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

@media(min-width:760px){
  .event-provider-list{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:520px){
  .event-provider-card{
    grid-template-columns:64px 1fr;
  }

  .event-provider-photo{
    width:64px;
    height:64px;
    border-radius:15px;
  }

  .event-provider-card .service-whatsapp{
    grid-column:1 / -1;
    width:100%;
  }
}

/* =====================================================
   SOLCH UI POLISH - Profesional compacto
   ===================================================== */

:root{
  --solch-radius-xl:22px;
  --solch-radius-lg:18px;
  --solch-radius-md:13px;
  --solch-shadow-soft:0 10px 30px rgba(0,0,0,.07);
  --solch-shadow-card:0 4px 16px rgba(0,0,0,.06);
  --solch-border:1px solid rgba(0,0,0,.06);
}

body{
  letter-spacing:-.01em;
}

.content{
  max-width:1080px;
  margin:0 auto;
}

.card{
  border-radius:var(--solch-radius-lg) !important;
  box-shadow:var(--solch-shadow-card) !important;
  border:var(--solch-border);
  padding:14px !important;
}

.section-title,
h2,
h3{
  letter-spacing:-.02em;
}

/* Header y navegación más compactos */
.header{
  padding:10px 12px 12px !important;
  border-radius:0 0 20px 20px !important;
}

.brand-mark{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border-radius:13px !important;
}

.brand-text strong{
  font-size:18px !important;
}

.brand-text span{
  font-size:11px !important;
}

.module-bar,
.module-subbar{
  gap:6px !important;
  padding-top:8px !important;
}

.module-btn,
.module-sub-btn,
.service-nav-chip{
  border:none;
  border-radius:999px !important;
  padding:7px 10px !important;
  min-height:30px;
  font-size:12px !important;
  font-weight:850 !important;
  line-height:1 !important;
  box-shadow:none !important;
  white-space:nowrap;
  transition:background .16s ease, transform .16s ease, opacity .16s ease;
}

.module-btn:hover,
.module-sub-btn:hover,
.service-nav-chip:hover{
  transform:translateY(-1px);
}

.service-nav-bar{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:nowrap;
  overflow-x:auto;
  padding:4px 2px 5px;
  scroll-snap-type:x proximity;
}

.service-nav-bar::-webkit-scrollbar,
.module-bar::-webkit-scrollbar,
.module-subbar::-webkit-scrollbar{
  display:none;
}

.service-nav-chip{
  background:#f2f3f3 !important;
  color:#141414 !important;
  flex:0 0 auto;
  scroll-snap-align:start;
}

.service-nav-chip.active,
.service-nav-chip.group-chip.active{
  background:var(--primary) !important;
  color:#fff !important;
}

.service-nav-chip.sub-chip{
  background:#fff !important;
  border:1px solid rgba(11,102,35,.16) !important;
}

.service-nav-chip.sub-chip.active{
  background:#0b6623 !important;
  color:#fff !important;
}

.service-breadcrumb{
  font-size:12px !important;
  color:#6b7280 !important;
  margin-bottom:6px !important;
  font-weight:800;
}

/* Botones del perfil más chicos */
.profile-module-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:10px !important;
}

.profile-module-grid button{
  min-height:42px !important;
  padding:9px 8px !important;
  border-radius:14px !important;
  font-size:12px !important;
  font-weight:900 !important;
  background:#f6f7f7 !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.04) !important;
  box-shadow:none !important;
}

.profile-module-grid button:hover{
  background:#eef3f0 !important;
  transform:translateY(-1px);
}

.profile-panel.card{
  padding:14px !important;
}

/* Formularios más compactos */
input,
textarea,
select{
  min-height:38px !important;
  padding:9px 11px !important;
  margin-top:6px !important;
  margin-bottom:8px !important;
  border-radius:12px !important;
  font-size:14px !important;
}

textarea{
  min-height:64px !important;
}

label.muted{
  display:block;
  margin-top:4px;
  margin-bottom:2px;
  font-size:12px !important;
  font-weight:750;
}

.btn,
button.btn{
  min-height:38px !important;
  padding:9px 12px !important;
  border-radius:12px !important;
  font-size:13px !important;
  font-weight:900 !important;
}

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

.service-checklist label,
.service-check-item{
  min-height:34px !important;
  padding:8px 10px !important;
  border-radius:12px !important;
  background:#f7f7f7 !important;
  display:flex;
  align-items:center;
  gap:8px;
}

/* Premium: chico, sobrio */
.premium-label,
.premium-badge,
.event-premium-badge,
.rental-premium-badge{
  display:inline-flex !important;
  align-items:center;
  gap:4px;
  width:max-content;
  padding:3px 7px !important;
  border-radius:999px !important;
  font-size:10px !important;
  font-weight:850 !important;
  line-height:1.1 !important;
  color:#3a2b00 !important;
  background:rgba(255,193,7,.82) !important;
  border:1px solid rgba(255,193,7,.35) !important;
  box-shadow:none !important;
}

.premium-label::first-letter{
  font-size:10px;
}

/* Destacados e imágenes */
.promo-card,
.event-provider-card.featured,
.rental-provider-card.featured,
.service-provider-card.featured{
  border-radius:20px !important;
  overflow:hidden;
  box-shadow:var(--solch-shadow-soft) !important;
}

.promo-card{
  min-width:260px !important;
  height:168px !important;
}

.promo-overlay{
  background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,.28),rgba(0,0,0,.02)) !important;
  backdrop-filter:blur(1.5px);
  padding:12px !important;
}

.promo-overlay strong{
  font-size:16px !important;
  line-height:1.12 !important;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}

.promo-overlay span{
  font-size:12px !important;
  opacity:.92;
  max-width:90%;
}

.promo-btn{
  padding:7px 10px !important;
  font-size:12px !important;
  border-radius:10px !important;
}

/* Tarjetas públicas unificadas */
.service-provider-card,
.event-provider-card,
.rental-provider-card,
.store-mini,
.store-tile,
.product-card{
  border:1px solid rgba(0,0,0,.06) !important;
  box-shadow:0 4px 16px rgba(0,0,0,.05) !important;
}

.service-provider-card,
.event-provider-card,
.rental-provider-card{
  border-radius:18px !important;
  padding:10px !important;
}

.service-provider-photo,
.event-provider-photo,
.rental-provider-photo{
  width:58px !important;
  height:58px !important;
  border-radius:15px !important;
  object-fit:cover !important;
}

.event-provider-list,
.rental-provider-list,
.service-provider-list{
  gap:10px !important;
}

.service-empty{
  border-radius:16px !important;
  padding:18px !important;
  border:1px dashed rgba(0,0,0,.14) !important;
  background:#fff !important;
}

.services-hero,
.events-hero,
.rentals-hero{
  background:linear-gradient(135deg,var(--primary),#07100d) !important;
  color:#fff !important;
  padding:18px !important;
  border-radius:20px !important;
}

.services-hero .muted,
.events-hero .muted,
.rentals-hero .muted{
  color:rgba(255,255,255,.86) !important;
}

/* Destacados de módulos */
#serviceFeaturedList,
#eventFeaturedList,
#rentalFeaturedList{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-bottom:4px;
}

#serviceFeaturedList::-webkit-scrollbar,
#eventFeaturedList::-webkit-scrollbar,
#rentalFeaturedList::-webkit-scrollbar{
  display:none;
}

/* Footer más discreto */
.bottom{
  min-height:48px !important;
  padding:7px 4px !important;
  box-shadow:0 -8px 24px rgba(0,0,0,.08);
}

.navbtn{
  font-size:11px !important;
  opacity:.96;
}

.navbtn span{
  font-size:10px !important;
}

@media(min-width:760px){
  .form-grid,
  .profile-panel form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 12px;
  }
}

@media(max-width:760px){
  .content{
    padding:10px !important;
  }

  .profile-module-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .profile-module-grid button{
    min-height:38px !important;
    padding:8px 6px !important;
    font-size:11px !important;
  }

  .service-checklist{
    grid-template-columns:1fr !important;
  }

  .promo-card{
    min-width:230px !important;
    height:150px !important;
  }

  .header{
    padding-bottom:9px !important;
  }

  .module-btn,
  .module-sub-btn,
  .service-nav-chip{
    padding:6px 9px !important;
    font-size:11px !important;
  }
}


/* ==========================================================
   SOLCH CLEAN APP UI - estilo más liviano/profesional
   ========================================================== */

:root{
  --primary:#0f625b;
  --primaryDark:#0a4540;
  --accent:#3f6df6;
  --danger:#d71920;
  --textColor:#202433;
  --muted:#7a8191;
  --bg:#f5f7fb;
  --card:#ffffff;
  --line:#e7eaf0;
  --soft:#f1f4f8;
  --shadow:0 8px 22px rgba(19,31,56,.07);
  --shadowSoft:0 3px 12px rgba(19,31,56,.05);
  --radius:22px;
  --radiusSm:14px;
}

*{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

body{
  background:var(--bg);
  color:var(--textColor);
  font-size:14px;
  line-height:1.35;
}

.app{
  padding-bottom:82px;
}

/* HEADER MÁS LIVIANO */
.header,
.header-compact{
  background:linear-gradient(135deg,var(--primary),var(--primaryDark));
  border-radius:0 0 26px 26px;
  padding:13px 12px 12px;
  box-shadow:0 8px 22px rgba(11,70,63,.16);
}

.brand,
.brand-compact{
  gap:10px;
  margin-bottom:10px;
}

.brand-mark{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  max-height:44px !important;
  border-radius:15px !important;
  box-shadow:none !important;
}

.brand-text strong{
  font-size:24px;
  font-weight:850;
  letter-spacing:-.5px;
}

.brand-text span{
  font-size:14px;
  opacity:.86;
}

/* BARRAS DE NAVEGACIÓN */
.module-bar,
.module-subbar,
.compact-module-row,
.service-nav-bar,
.event-nav-bar,
.rental-nav-bar{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:3px 0 5px;
  scrollbar-width:none;
}

.module-bar::-webkit-scrollbar,
.module-subbar::-webkit-scrollbar,
.compact-module-row::-webkit-scrollbar,
.service-nav-bar::-webkit-scrollbar,
.event-nav-bar::-webkit-scrollbar,
.rental-nav-bar::-webkit-scrollbar{
  display:none;
}

.module-btn,
.module-sub-btn,
.service-nav-chip,
.event-nav-chip,
.rental-nav-chip,
.top-module,
.service-chip{
  border:none !important;
  border-radius:999px !important;
  padding:8px 12px !important;
  background:rgba(255,255,255,.15) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:760 !important;
  white-space:nowrap;
  box-shadow:none !important;
  min-height:auto !important;
}

.module-sub-btn,
.service-nav-chip,
.event-nav-chip,
.rental-nav-chip{
  background:#eef1f5 !important;
  color:#1f2937 !important;
}

.module-btn.active,
.module-sub-btn.active,
.service-nav-chip.active,
.event-nav-chip.active,
.rental-nav-chip.active,
.top-module.active,
.service-chip.active{
  background:#fff !important;
  color:var(--primary) !important;
  box-shadow:0 4px 12px rgba(0,0,0,.08) !important;
}

/* CONTENIDO */
.content{
  padding:14px 12px;
  max-width:980px;
}

.card{
  background:var(--card);
  border-radius:var(--radius);
  padding:16px;
  margin-bottom:14px;
  box-shadow:var(--shadowSoft);
  border:1px solid rgba(231,234,240,.7);
}

.section-title,
.card h2,
.card h3{
  color:var(--textColor) !important;
  font-weight:850 !important;
  letter-spacing:-.3px;
}

.section-title{
  font-size:18px !important;
  margin-bottom:12px;
}

.muted{
  color:var(--muted);
  font-size:13px;
}

/* BUSCADOR */
.quick-search{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin-bottom:14px;
}

.quick-search input,
#homeSearch{
  border:none;
  border-radius:20px;
  padding:15px 18px;
  background:#fff;
  box-shadow:var(--shadowSoft);
  font-size:15px;
}

.quick-location{
  width:54px;
  height:54px;
  border-radius:18px;
  border:none;
  background:#fff;
  box-shadow:var(--shadowSoft);
  font-size:20px;
}

/* FORMULARIOS COMPACTOS */
input,
textarea,
select{
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px 12px;
  margin-top:6px;
  margin-bottom:8px;
  font-size:14px;
  background:#fff;
}

textarea{
  min-height:62px;
}

label.muted{
  display:block;
  margin-top:6px;
}

.btn{
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
  font-weight:800;
  background:var(--primary);
  box-shadow:none;
}

.btn.secondary{
  background:#eef1f5;
  color:#273142;
}

.btn.danger{
  background:#fff0f0;
  color:#b50000;
}

.btn.small{
  padding:7px 9px;
  font-size:12px;
}

/* PERFIL: BOTONES MÁS CHICOS */
.profile-module-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}

.profile-module-grid button{
  min-height:44px !important;
  padding:9px 8px !important;
  border-radius:16px !important;
  background:#f3f5f8 !important;
  border:1px solid #edf0f4 !important;
  font-size:12px !important;
  font-weight:820 !important;
  box-shadow:none !important;
}

.profile-panel{
  padding:14px;
}

.profile-panel h3{
  font-size:17px;
  margin-bottom:6px;
}

/* CHECKLISTS MÁS COMPACTOS */
.service-checklist,
.event-checklist,
.rental-checklist{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.service-checklist label,
.event-checklist label,
.rental-checklist label{
  background:#f4f6f8;
  border-radius:13px;
  padding:9px 10px;
  font-size:13px;
  font-weight:760;
  color:var(--textColor) !important;
}

.service-checklist input,
.event-checklist input,
.rental-checklist input{
  width:auto;
  margin:0 6px 0 0;
}

/* HERO DE MÓDULOS MÁS SOBRIO */
.services-hero,
.events-hero,
.rentals-hero,
.module-hero,
.store-head{
  background:linear-gradient(135deg,var(--primary),#10201f) !important;
  border-radius:24px !important;
  padding:18px !important;
  box-shadow:var(--shadowSoft) !important;
}

.services-hero .section-title,
.events-hero .section-title,
.rentals-hero .section-title{
  color:#fff !important;
}

.services-hero p,
.events-hero p,
.rentals-hero p{
  color:rgba(255,255,255,.82) !important;
}

/* DESTACADOS: IMAGEN PROTAGONISTA, TEXTO TRANSLÚCIDO */
.promo-scroll,
.store-row,
.featured-scroll,
.module-featured-scroll{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:2px 2px 8px;
  scrollbar-width:none;
}

.promo-scroll::-webkit-scrollbar,
.store-row::-webkit-scrollbar,
.featured-scroll::-webkit-scrollbar,
.module-featured-scroll::-webkit-scrollbar{
  display:none;
}

.promo-card{
  min-width:250px;
  height:158px;
  border-radius:24px;
  box-shadow:var(--shadowSoft);
  overflow:hidden;
  background:#e8edf4;
}

.promo-card img{
  filter:none;
}

.promo-overlay{
  inset:auto 10px 10px 10px;
  border-radius:18px;
  padding:11px 12px;
  background:rgba(12,18,28,.46);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#fff;
  min-height:auto;
}

.promo-overlay strong{
  font-size:15px;
  font-weight:850;
  line-height:1.15;
}

.promo-overlay span{
  font-size:12px;
  opacity:.86;
}

.promo-btn{
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  margin-top:7px;
}

/* MINI TIENDAS / TARJETAS */
.store-mini,
.store-tile,
.service-provider-card,
.event-provider-card,
.rental-provider-card,
.module-card{
  border-radius:20px !important;
  border:1px solid var(--line) !important;
  box-shadow:var(--shadowSoft) !important;
  background:#fff !important;
}

.store-mini{
  min-width:126px;
  max-width:126px;
  padding:11px;
}

.store-mini img,
.store-tile img{
  width:58px;
  height:58px;
  border-radius:17px;
}

.store-mini strong{
  font-size:12px;
  color:var(--textColor);
}

.store-mini span{
  font-size:11px;
  color:var(--muted);
}

/* TARJETAS DE PRESTADORES */
.service-provider-card,
.event-provider-card,
.rental-provider-card{
  padding:12px !important;
  gap:10px !important;
  grid-template-columns:58px 1fr auto !important;
  align-items:center;
}

.service-provider-photo,
.event-provider-photo,
.rental-provider-photo{
  width:58px !important;
  height:58px !important;
  border-radius:17px !important;
}

.service-provider-info strong,
.event-provider-info strong,
.rental-provider-info strong{
  color:var(--textColor) !important;
  font-size:14px !important;
  font-weight:850 !important;
}

.service-provider-info span,
.event-provider-info span,
.rental-provider-info span{
  color:var(--primary) !important;
  font-size:12px !important;
  font-weight:800 !important;
}

.service-provider-info p,
.event-provider-info p,
.rental-provider-info p{
  color:var(--muted) !important;
  font-size:12px !important;
}

.service-whatsapp,
.whatsapp-btn{
  border-radius:999px !important;
  padding:9px 12px !important;
  font-size:12px !important;
  font-weight:850 !important;
  background:var(--primary) !important;
}

/* PREMIUM ELEGANTE */
.premium-label,
.premium-badge,
.premium-mini,
.premium-pill{
  display:inline-flex !important;
  align-items:center;
  gap:4px;
  width:max-content;
  background:#fff7d6 !important;
  color:#775200 !important;
  border:1px solid #f0d36d !important;
  border-radius:999px !important;
  padding:3px 7px !important;
  font-size:10px !important;
  font-weight:850 !important;
  box-shadow:none !important;
}

.premium-label::before,
.premium-badge::before,
.premium-mini::before{
  content:"★";
  font-size:10px;
}

/* IMÁGENES DE PRODUCTOS */
.catalog-grid{
  gap:12px;
}

.product-card{
  border-radius:22px;
  box-shadow:var(--shadowSoft);
  border:1px solid var(--line);
}

.product-card img{
  height:165px;
  border-radius:0;
}

.product-info{
  padding:11px;
}

.product-name{
  font-size:14px;
  font-weight:850;
  color:var(--textColor);
}

.product-desc{
  font-size:12px;
  color:var(--muted);
}

.current-price{
  color:var(--primary);
  font-size:16px;
}

/* BOTTOM NAV MÁS LIVIANA */
.bottom,
.bottom-clean{
  background:rgba(255,255,255,.95) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(225,229,236,.9);
  border-radius:24px 24px 0 0;
  box-shadow:0 -8px 28px rgba(17,24,39,.08);
  padding:8px 4px 9px;
}

.navbtn{
  color:#344052 !important;
  font-size:11px;
  font-weight:750;
}

.navbtn span{
  margin-top:2px;
}

.navbtn:first-child{
  color:var(--primary) !important;
}

/* TEXTO ROJO CONTROLADO */
h1,h2,h3,
.section-title,
#serviceSelectedTitle,
#eventSelectedTitle,
#rentalSelectedTitle{
  color:var(--textColor) !important;
}

#serviceSelectedTitle,
#eventSelectedTitle,
#rentalSelectedTitle{
  font-size:17px !important;
}

.service-empty{
  border:1px dashed #d9dee8;
  background:#fff;
  color:var(--muted);
}

/* FORMULARIOS EN PC */
@media(min-width:780px){
  .profile-panel.card{
    max-width:100%;
  }

  .profile-panel input,
  .profile-panel select,
  .profile-panel textarea{
    margin-bottom:7px;
  }

  .catalog-grid{
    grid-template-columns:repeat(4,1fr);
  }
}

/* MOBILE */
@media(max-width:640px){
  body{
    font-size:13px;
  }

  .header,
  .header-compact{
    padding:10px 10px 12px;
    border-radius:0 0 24px 24px;
  }

  .brand-mark{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
  }

  .brand-text strong{
    font-size:22px;
  }

  .brand-text span{
    font-size:12px;
  }

  .module-btn,
  .module-sub-btn,
  .service-nav-chip,
  .event-nav-chip,
  .rental-nav-chip{
    padding:7px 10px !important;
    font-size:11px !important;
  }

  .content{
    padding:12px 10px;
  }

  .card{
    border-radius:22px;
    padding:14px;
    margin-bottom:12px;
  }

  .section-title{
    font-size:17px !important;
  }

  .quick-search{
    grid-template-columns:1fr 50px;
  }

  #homeSearch{
    padding:14px 16px;
    font-size:14px;
  }

  .quick-location{
    width:50px;
    height:50px;
  }

  .promo-card{
    min-width:78vw;
    height:170px;
  }

  .profile-module-grid{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .profile-module-grid button{
    min-height:40px !important;
    padding:8px 7px !important;
    font-size:12px !important;
  }

  .service-checklist,
  .event-checklist,
  .rental-checklist{
    grid-template-columns:1fr 1fr;
    gap:6px;
  }

  .service-checklist label,
  .event-checklist label,
  .rental-checklist label{
    padding:8px 8px;
    font-size:12px;
  }

  .service-provider-card,
  .event-provider-card,
  .rental-provider-card{
    grid-template-columns:52px 1fr !important;
  }

  .service-provider-photo,
  .event-provider-photo,
  .rental-provider-photo{
    width:52px !important;
    height:52px !important;
  }

  .service-whatsapp,
  .whatsapp-btn{
    grid-column:1/-1;
    width:100%;
  }

  .bottom,
  .bottom-clean{
    padding-bottom:8px;
  }

  .product-card img{
    height:150px;
  }
}

/* PANTALLAS MUY CHICAS */
@media(max-width:390px){
  .service-checklist,
  .event-checklist,
  .rental-checklist{
    grid-template-columns:1fr;
  }

  .profile-module-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* ==========================================================
   SOLCH UI REFINAMIENTO FINAL
   ========================================================== */

/* Títulos más chicos y limpios */
.section-title,
.card h2,
.card h3{
  font-size:16px !important;
  line-height:1.15 !important;
  margin:0 0 10px !important;
  letter-spacing:-.25px;
}

.card:has(.promo-scroll) .section-title,
.card:has(#eventFeaturedList) .section-title,
.card:has(#rentalFeaturedList) .section-title{
  font-size:15px !important;
  margin-bottom:8px !important;
}

/* Hero de módulos más bajo */
.services-hero,
.events-hero,
.rentals-hero,
.module-hero{
  padding:13px 15px !important;
  min-height:auto !important;
}

.services-hero .section-title,
.events-hero .section-title,
.rentals-hero .section-title{
  font-size:18px !important;
  margin-bottom:5px !important;
}

.services-hero p,
.events-hero p,
.rentals-hero p{
  font-size:13px !important;
  margin:0 !important;
  max-width:520px;
}

/* Promos: más imagen, menos texto */
.promo-card{
  min-width:292px !important;
  height:192px !important;
  border-radius:24px !important;
}

.promo-overlay{
  left:9px !important;
  right:9px !important;
  bottom:9px !important;
  padding:9px 11px !important;
  border-radius:16px !important;
  background:rgba(12,18,28,.30) !important;
  backdrop-filter:blur(9px) !important;
  -webkit-backdrop-filter:blur(9px) !important;
}

.promo-overlay strong{
  font-size:14px !important;
  line-height:1.05 !important;
}

.promo-overlay span{
  font-size:11px !important;
}

.promo-btn{
  padding:6px 10px !important;
  font-size:11px !important;
  margin-top:6px !important;
}

/* Tiendas: imagen/logo protagonista */
.store-grid{
  gap:14px !important;
}

.store-tile{
  min-height:190px !important;
  padding:16px 12px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.store-tile img{
  width:96px !important;
  height:96px !important;
  border-radius:24px !important;
  object-fit:cover !important;
  margin-bottom:10px !important;
}

.store-tile strong{
  font-size:17px !important;
  font-weight:850 !important;
  color:#1f2430 !important;
  line-height:1.05 !important;
}

.store-tile .muted,
.store-tile p{
  font-size:13px !important;
  color:#808695 !important;
  margin:5px 0 !important;
}

/* Tiendas destacadas mini también con más logo */
.store-mini{
  min-width:138px !important;
  max-width:138px !important;
  padding:12px !important;
  text-align:center !important;
}

.store-mini img{
  width:76px !important;
  height:76px !important;
  border-radius:20px !important;
  object-fit:cover !important;
  margin-bottom:8px !important;
}

.store-mini strong{
  font-size:13px !important;
  line-height:1.1 !important;
}

.store-mini span{
  font-size:11px !important;
}

/* Premium más discreto */
.premium-label,
.premium-badge,
.premium-mini,
.premium-pill{
  font-size:9px !important;
  padding:3px 6px !important;
  border-radius:999px !important;
  gap:3px !important;
  background:#fff8dc !important;
  color:#7a5b00 !important;
  border:1px solid #ead47a !important;
  font-style:normal !important;
  margin-top:4px !important;
}

.premium-label::before,
.premium-badge::before,
.premium-mini::before{
  content:"★";
  font-size:9px;
}

/* Cards compactas de destacados/prestadores */
.compact-provider-card{
  background:#fff;
  border:1px solid #e5e9f0;
  border-radius:20px;
  padding:11px;
  display:grid;
  grid-template-columns:62px 1fr;
  gap:11px;
  align-items:center;
  min-width:250px;
  max-width:310px;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(19,31,56,.055);
  transition:.15s ease;
}

.compact-provider-card:active{
  transform:scale(.985);
}

.compact-provider-card.premium-provider{
  border-color:#ead47a;
  background:linear-gradient(135deg,#fff,#fffaf0);
}

.compact-provider-logo{
  width:62px;
  height:62px;
  border-radius:18px;
  object-fit:cover;
  background:#eef1f5;
}

.compact-provider-copy{
  min-width:0;
}

.compact-provider-copy strong{
  display:block;
  font-size:14px;
  font-weight:850;
  color:#1f2430;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.compact-provider-copy span{
  display:block;
  font-size:12px;
  font-weight:760;
  color:#0f625b;
  margin-top:4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Listas de destacados */
#eventFeaturedList,
#rentalFeaturedList,
.service-provider-list{
  display:flex;
  gap:11px;
  overflow-x:auto;
  padding:2px 2px 6px;
  scrollbar-width:none;
}

#eventFeaturedList::-webkit-scrollbar,
#rentalFeaturedList::-webkit-scrollbar,
.service-provider-list::-webkit-scrollbar{
  display:none;
}

/* Cuando se muestran resultados por rubro, permitir wrap */
.card #serviceProviderList,
.card #eventProviderList,
.card #rentalProviderList{
  flex-wrap:wrap;
}

/* Modal de detalle */
.profile-detail-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(10,17,28,.48);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  padding:18px;
  overflow:auto;
}

.profile-detail-modal.active{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.profile-detail-card{
  background:#fff;
  width:min(560px,100%);
  border-radius:28px 28px 18px 18px;
  padding:18px;
  position:relative;
  box-shadow:0 18px 60px rgba(0,0,0,.22);
  animation:detailUp .18s ease-out;
}

@keyframes detailUp{
  from{transform:translateY(30px);opacity:.4}
  to{transform:translateY(0);opacity:1}
}

.profile-detail-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:none;
  border-radius:50%;
  background:#f0f2f5;
  font-size:20px;
  font-weight:800;
}

.profile-detail-head{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:14px;
  align-items:center;
  padding-right:34px;
}

.profile-detail-head img{
  width:86px;
  height:86px;
  object-fit:cover;
  border-radius:24px;
  background:#eef1f5;
}

.profile-detail-head h2{
  font-size:20px !important;
  margin:0 0 3px !important;
  color:#1f2430 !important;
}

.profile-detail-head p{
  margin:0;
  color:#0f625b;
  font-weight:780;
  font-size:13px;
}

.profile-detail-description{
  color:#4b5563;
  font-size:14px;
  margin:14px 0 8px;
}

.profile-detail-line{
  background:#f5f7fb;
  border-radius:12px;
  padding:9px 10px;
  font-size:13px;
  margin-top:7px;
  color:#343b49;
}

.profile-detail-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:14px;
}

.profile-detail-gallery img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:16px;
  background:#eef1f5;
}

.profile-detail-whatsapp{
  width:100%;
  margin-top:16px;
  border:none;
  border-radius:18px;
  background:#0f625b;
  color:#fff;
  padding:13px;
  font-size:15px;
  font-weight:850;
}

/* Perfil más compacto */
.profile-module-grid button{
  min-height:38px !important;
  font-size:11px !important;
  padding:7px 6px !important;
}

.profile-panel.card{
  padding:12px !important;
}

.profile-panel input,
.profile-panel select,
.profile-panel textarea{
  padding:9px 10px !important;
  font-size:13px !important;
}

/* Mobile */
@media(max-width:640px){
  .card:has(.promo-scroll) .section-title,
  .card:has(#eventFeaturedList) .section-title,
  .card:has(#rentalFeaturedList) .section-title{
    font-size:14px !important;
  }

  .promo-card{
    min-width:77vw !important;
    height:185px !important;
  }

  .store-grid{
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }

  .store-tile{
    min-height:178px !important;
    padding:14px 10px !important;
  }

  .store-tile img{
    width:86px !important;
    height:86px !important;
    border-radius:22px !important;
  }

  .compact-provider-card{
    min-width:76vw;
    grid-template-columns:58px 1fr;
    padding:10px;
  }

  .compact-provider-logo{
    width:58px;
    height:58px;
    border-radius:17px;
  }

  .profile-detail-modal{
    padding:10px;
  }

  .profile-detail-card{
    border-radius:24px 24px 14px 14px;
    padding:16px;
  }

  .profile-detail-gallery{
    grid-template-columns:repeat(2,1fr);
  }
}


/* ==========================================================
   SOLCH: MÓDULOS CON DESTACADOS + LISTADO GENERAL
   ========================================================== */

.event-featured-card{
  padding:13px !important;
}

.event-featured-card .section-title{
  font-size:14px !important;
  margin-bottom:8px !important;
}

#serviceFeaturedList,
#eventFeaturedList,
#rentalFeaturedList{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:2px 2px 6px;
  scrollbar-width:none;
}

#serviceFeaturedList::-webkit-scrollbar,
#eventFeaturedList::-webkit-scrollbar,
#rentalFeaturedList::-webkit-scrollbar{
  display:none;
}

/* Resultados generales: cards limpias, sin sensación de pantalla vacía */
#serviceProviderList,
#eventProviderList,
#rentalProviderList{
  display:grid !important;
  grid-template-columns:1fr;
  gap:10px;
  overflow:visible !important;
}

#serviceFeaturedList .compact-provider-card,
#eventFeaturedList .compact-provider-card,
#rentalFeaturedList .compact-provider-card{
  min-width:230px;
  max-width:270px;
}

#serviceProviderList .compact-provider-card,
#eventProviderList .compact-provider-card,
#rentalProviderList .compact-provider-card{
  min-width:0;
  max-width:none;
  width:100%;
}

.service-breadcrumb{
  font-size:12px !important;
  color:#7a8191 !important;
  margin-bottom:8px !important;
}

.service-nav-bar{
  padding-bottom:2px !important;
}

.service-empty{
  padding:16px !important;
  border-radius:18px !important;
}

.service-empty strong{
  font-size:14px;
}

.service-empty p{
  margin-bottom:0;
}

@media(min-width:720px){
  #serviceProviderList,
  #eventProviderList,
  #rentalProviderList{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:640px){
  #serviceFeaturedList .compact-provider-card,
  #eventFeaturedList .compact-provider-card,
  #rentalFeaturedList .compact-provider-card{
    min-width:72vw;
  }
}


/* ==========================================================
   AJUSTE FINAL PARA PRUEBA CON TIENDAS REALES
   ========================================================== */

/* Promociones: que mande la imagen, no el texto */
.promo-card{
  height:210px !important;
  min-width:320px !important;
  border-radius:25px !important;
}

.promo-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.promo-overlay{
  left:10px !important;
  right:10px !important;
  bottom:10px !important;
  min-height:0 !important;
  padding:7px 10px !important;
  border-radius:14px !important;
  background:rgba(10,14,22,.22) !important;
  backdrop-filter:blur(7px) !important;
  -webkit-backdrop-filter:blur(7px) !important;
}

.promo-overlay strong{
  font-size:13px !important;
  line-height:1.05 !important;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.promo-overlay span{
  font-size:10px !important;
  opacity:.84 !important;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.promo-btn{
  margin-top:5px !important;
  padding:5px 9px !important;
  font-size:10px !important;
  border-radius:999px !important;
}

/* La sección de promos no debe sentirse pesada */
.card:has(.promo-scroll){
  padding:12px !important;
}

.card:has(.promo-scroll) .section-title{
  font-size:14px !important;
  margin-bottom:8px !important;
}

/* Sobre Solch / Contacto fijo */
.solch-info-card{
  margin-bottom:96px !important;
}

.solch-info-card h3{
  font-size:15px !important;
  margin:0 0 7px !important;
  color:#202433 !important;
}

.solch-info-card p{
  color:#697184;
  font-size:13px;
  line-height:1.35;
  margin:0;
}

.solch-info-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}

.solch-info-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border-radius:999px;
  padding:8px 12px;
  background:#0f625b;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:850;
}

.solch-info-btn.secondary{
  background:#eef1f5;
  color:#263142;
}

/* En móvil: promos más anchas, pero sin tapar imagen */
@media(max-width:640px){
  .promo-card{
    min-width:82vw !important;
    height:205px !important;
  }

  .promo-overlay{
    padding:7px 9px !important;
  }

  .promo-overlay strong{
    font-size:12px !important;
  }

  .promo-overlay span{
    font-size:10px !important;
  }
}


/* ==========================================================
   PROMOS / DESTACADOS - IMAGEN PROTAGONISTA DEFINITIVA
   ========================================================== */

.promo-card{
  height:220px !important;
  min-width:330px !important;
  border-radius:26px !important;
  overflow:hidden !important;
  position:relative !important;
}

.promo-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* Franja mínima: no tapa la imagen */
.promo-overlay{
  position:absolute !important;
  left:8px !important;
  right:8px !important;
  bottom:8px !important;

  min-height:0 !important;
  height:auto !important;

  padding:5px 8px !important;
  border-radius:12px !important;

  background:rgba(8,12,18,.18) !important;
  backdrop-filter:blur(5px) !important;
  -webkit-backdrop-filter:blur(5px) !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}

/* Texto más chico, una sola línea */
.promo-overlay strong{
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1 !important;
  margin:0 !important;

  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:58% !important;
}

/* Descripción oculta para no tapar la imagen */
.promo-overlay span{
  display:none !important;
}

/* Botón mini */
.promo-btn{
  margin:0 !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  font-size:9px !important;
  font-weight:800 !important;
  background:rgba(255,255,255,.92) !important;
  color:#111 !important;
  white-space:nowrap !important;
  min-height:auto !important;
}

/* Sección más compacta */
.card:has(.promo-scroll){
  padding:10px !important;
}

.card:has(.promo-scroll) .section-title{
  font-size:13px !important;
  margin-bottom:7px !important;
}

/* Mobile */
@media(max-width:640px){
  .promo-card{
    min-width:84vw !important;
    height:220px !important;
  }

  .promo-overlay{
    left:7px !important;
    right:7px !important;
    bottom:7px !important;
    padding:5px 7px !important;
  }

  .promo-overlay strong{
    font-size:10px !important;
    max-width:60% !important;
  }

  .promo-btn{
    font-size:9px !important;
    padding:4px 7px !important;
  }
}


/* ==========================================================
   MODO WEB PROPIA DE TIENDA (?store=ID)
   ========================================================== */

/* Ocultar navegación Solch completa en links compartidos de tienda */
.store-landing-mode .header,
.store-landing-mode .header-compact,
.store-landing-mode .topbar,
.store-landing-mode .module-bar,
.store-landing-mode .module-subbar,
.store-landing-mode .quick-search,
.store-landing-mode .bottom,
.store-landing-mode .bottom-clean,
.store-landing-mode .nav-bottom{
  display:none !important;
}

/* Más aire arriba, sin barra general */
.store-landing-mode body,
body.store-landing-mode{
  background:#f4f7fb !important;
}

.store-landing-mode .content{
  padding-top:14px !important;
  max-width:780px !important;
  margin:0 auto !important;
}

/* Acceso directo a Solch */
.store-landing-solch-link{
  display:none;
}

.store-landing-mode .store-landing-solch-link{
  position:fixed;
  z-index:9997;
  top:12px;
  left:12px;
  width:42px;
  height:42px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.7);
}

.store-landing-mode .store-landing-solch-link img{
  width:34px;
  height:34px;
  border-radius:12px;
  object-fit:cover;
}

/* Botón volver más compacto */
.store-landing-mode .back-link,
.store-landing-mode .back-btn,
.store-landing-mode [onclick*="goBack"],
.store-landing-mode [onclick*="showHome"]{
  min-height:34px !important;
  padding:6px 12px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:800 !important;
}

/* Tarjeta portada de tienda: más compacta */
.store-landing-mode .store-head,
.store-landing-mode .business-hero,
.store-landing-mode .store-hero,
.store-landing-mode .detail-hero{
  min-height:0 !important;
  padding:18px !important;
  border-radius:26px !important;
  margin-top:48px !important;
  margin-bottom:14px !important;
  box-shadow:0 12px 30px rgba(13,25,39,.12) !important;
  background:linear-gradient(135deg,#1b7a39,#103f36) !important;
}

/* Layout interno compacto */
.store-landing-mode .store-head .store-logo,
.store-landing-mode .store-logo,
.store-landing-mode .business-logo,
.store-landing-mode .detail-logo{
  width:92px !important;
  height:92px !important;
  border-radius:26px !important;
  object-fit:cover !important;
  box-shadow:0 8px 20px rgba(0,0,0,.12) !important;
}

.store-landing-mode .store-head h1,
.store-landing-mode .business-hero h1,
.store-landing-mode .store-hero h1,
.store-landing-mode .detail-hero h1{
  font-size:30px !important;
  line-height:1.04 !important;
  margin:0 0 6px !important;
  letter-spacing:-.7px !important;
}

.store-landing-mode .store-head p,
.store-landing-mode .business-hero p,
.store-landing-mode .store-hero p,
.store-landing-mode .detail-hero p{
  font-size:13px !important;
  line-height:1.25 !important;
  margin:4px 0 !important;
  opacity:.88 !important;
}

/* Chips sociales más chicos */
.store-landing-mode .social-links,
.store-landing-mode .store-socials{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:12px !important;
}

.store-landing-mode .social-links a,
.store-landing-mode .store-socials a,
.store-landing-mode .social-btn{
  min-height:32px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:850 !important;
}

/* Video más discreto */
.store-landing-mode .video-btn,
.store-landing-mode .store-video-btn{
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  font-size:12px !important;
  margin-top:10px !important;
}

/* Galería destacada: más limpia */
.store-landing-mode .gallery-section h2,
.store-landing-mode .gallery-title,
.store-landing-mode h2{
  font-size:22px !important;
  line-height:1.1 !important;
  letter-spacing:-.4px !important;
}

.store-landing-mode .gallery-scroll,
.store-landing-mode .featured-gallery,
.store-landing-mode .store-gallery{
  display:flex !important;
  overflow-x:auto !important;
  gap:12px !important;
  padding:2px 0 10px !important;
  scrollbar-width:none !important;
}

.store-landing-mode .gallery-scroll::-webkit-scrollbar,
.store-landing-mode .featured-gallery::-webkit-scrollbar,
.store-landing-mode .store-gallery::-webkit-scrollbar{
  display:none !important;
}

.store-landing-mode .gallery-scroll img,
.store-landing-mode .featured-gallery img,
.store-landing-mode .store-gallery img{
  min-width:78% !important;
  height:280px !important;
  object-fit:cover !important;
  border-radius:24px !important;
  box-shadow:0 8px 22px rgba(13,25,39,.10) !important;
}

/* Menú flotante propio de landing, si existe */
.store-landing-mode .floating-menu,
.store-landing-mode .store-floating-menu{
  width:58px !important;
  height:58px !important;
  border-radius:22px !important;
  right:18px !important;
  bottom:26px !important;
}

/* ==========================================================
   PROMOS GENERALES: MENOS CARTEL, MÁS IMAGEN
   ========================================================== */

.promo-card{
  height:230px !important;
  min-width:340px !important;
}

.promo-overlay{
  left:8px !important;
  right:8px !important;
  bottom:8px !important;
  padding:4px 7px !important;
  border-radius:11px !important;
  background:rgba(8,12,18,.14) !important;
  backdrop-filter:blur(4px) !important;
  -webkit-backdrop-filter:blur(4px) !important;
  min-height:0 !important;
}

.promo-overlay strong{
  font-size:10px !important;
  max-width:64% !important;
}

.promo-overlay span{
  display:none !important;
}

.promo-btn{
  padding:3px 7px !important;
  font-size:8px !important;
  margin:0 !important;
}

/* Mobile */
@media(max-width:640px){
  .store-landing-mode .content{
    padding:10px !important;
  }

  .store-landing-mode .store-head,
  .store-landing-mode .business-hero,
  .store-landing-mode .store-hero,
  .store-landing-mode .detail-hero{
    margin-top:52px !important;
    padding:16px !important;
    border-radius:24px !important;
  }

  .store-landing-mode .store-head .store-logo,
  .store-landing-mode .store-logo,
  .store-landing-mode .business-logo,
  .store-landing-mode .detail-logo{
    width:82px !important;
    height:82px !important;
    border-radius:23px !important;
  }

  .store-landing-mode .store-head h1,
  .store-landing-mode .business-hero h1,
  .store-landing-mode .store-hero h1,
  .store-landing-mode .detail-hero h1{
    font-size:26px !important;
  }

  .store-landing-mode .gallery-scroll img,
  .store-landing-mode .featured-gallery img,
  .store-landing-mode .store-gallery img{
    min-width:84% !important;
    height:260px !important;
  }

  .promo-card{
    min-width:84vw !important;
    height:225px !important;
  }
}


/* ==========================================================
   AJUSTE FINAL SOLCH - MINI PÁGINA COMPARTIDA + HEADER COMPACTO
   ========================================================== */

/* Cuando el link viene como ?store=ID, queda como mini página: sin barras Solch. */
html.store-landing-mode .header,
html.store-landing-mode .header-compact,
html.store-landing-mode .topbar,
html.store-landing-mode .module-bar,
html.store-landing-mode .module-subbar,
html.store-landing-mode .bottom,
html.store-landing-mode .bottom-clean,
html.store-landing-mode .nav-bottom,
body.store-landing-mode .header,
body.store-landing-mode .header-compact,
body.store-landing-mode .topbar,
body.store-landing-mode .module-bar,
body.store-landing-mode .module-subbar,
body.store-landing-mode .bottom,
body.store-landing-mode .bottom-clean,
body.store-landing-mode .nav-bottom{
  display:none !important;
}

/* También se ocultan accesos flotantes de Solch para que parezca página propia. */
html.store-landing-mode .store-landing-solch-link,
html.store-landing-mode .solch-floating-home,
body.store-landing-mode .store-landing-solch-link,
body.store-landing-mode .solch-floating-home{
  display:none !important;
}

html.store-landing-mode .app,
body.store-landing-mode .app{
  padding-bottom:0 !important;
}

html.store-landing-mode .content,
body.store-landing-mode .content{
  padding:0 10px 18px !important;
  max-width:880px !important;
  margin:0 auto !important;
}

html.store-landing-mode #catalogo,
body.store-landing-mode #catalogo,
html.store-landing-mode #catalogContent,
body.store-landing-mode #catalogContent{
  padding:0 !important;
}

/* Portada gratis más baja y menos tosca. */
.store-head.store-head-free,
body.store-landing-mode .store-head.store-head-free{
  min-height:0 !important;
  padding:12px 13px !important;
  margin:10px 0 12px !important;
  border-radius:18px !important;
  box-shadow:0 8px 22px rgba(0,0,0,.12) !important;
}

.store-head.store-head-free .store-head-inner,
body.store-landing-mode .store-head.store-head-free .store-head-inner{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.store-head.store-head-free .store-logo,
body.store-landing-mode .store-head.store-head-free .store-logo{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  border-radius:17px !important;
  padding:3px !important;
}

.store-head.store-head-free .store-kicker,
body.store-landing-mode .store-head.store-head-free .store-kicker{
  display:none !important;
}

.store-head.store-head-free h2,
body.store-landing-mode .store-head.store-head-free h2{
  font-size:21px !important;
  line-height:1.05 !important;
  margin:0 0 4px !important;
}

.store-head.store-head-free .badge,
body.store-landing-mode .store-head.store-head-free .badge{
  padding:3px 7px !important;
  font-size:10px !important;
}

.store-head.store-head-free p,
body.store-landing-mode .store-head.store-head-free p{
  font-size:12px !important;
  line-height:1.25 !important;
  margin:5px 0 2px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.store-head.store-head-free small,
body.store-landing-mode .store-head.store-head-free small{
  font-size:11px !important;
  opacity:.82 !important;
}

.store-head.store-head-free .social-row,
body.store-landing-mode .store-head.store-head-free .social-row{
  margin-top:7px !important;
  gap:5px !important;
}

.store-head.store-head-free .social-row a,
body.store-landing-mode .store-head.store-head-free .social-row a{
  padding:5px 7px !important;
  font-size:11px !important;
}

/* Portada premium también más compacta en links compartidos. */
body.store-landing-mode .premium-cover{
  min-height:230px !important;
  padding:18px 14px !important;
  border-radius:0 0 20px 20px !important;
  margin-bottom:12px !important;
}

body.store-landing-mode .premium-logo{
  width:72px !important;
  height:72px !important;
  border-radius:20px !important;
}

body.store-landing-mode .premium-cover h2{
  font-size:26px !important;
  line-height:1.05 !important;
}

body.store-landing-mode .premium-description{
  font-size:12px !important;
  line-height:1.3 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

@media(max-width:520px){
  html.store-landing-mode .content,
  body.store-landing-mode .content{
    padding:0 8px 16px !important;
  }

  .store-head.store-head-free,
  body.store-landing-mode .store-head.store-head-free{
    padding:10px !important;
    margin-top:8px !important;
    border-radius:16px !important;
  }

  .store-head.store-head-free .store-logo,
  body.store-landing-mode .store-head.store-head-free .store-logo{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    border-radius:15px !important;
  }

  .store-head.store-head-free h2,
  body.store-landing-mode .store-head.store-head-free h2{
    font-size:19px !important;
  }

  body.store-landing-mode .premium-cover{
    min-height:210px !important;
    padding:14px 12px !important;
  }
}


/* ==========================================================
   AJUSTE SOLCH LANDING V2 - MINI PÁGINA MÁS COMPACTA
   ========================================================== */

/* En link ?store=... se oculta la app madre, no la mini página */
html.store-landing-mode .header,
html.store-landing-mode .header-compact,
html.store-landing-mode .topbar,
html.store-landing-mode .module-bar,
html.store-landing-mode .module-subbar,
html.store-landing-mode .bottom,
html.store-landing-mode .bottom-clean,
html.store-landing-mode .nav-bottom,
body.store-landing-mode .header,
body.store-landing-mode .header-compact,
body.store-landing-mode .topbar,
body.store-landing-mode .module-bar,
body.store-landing-mode .module-subbar,
body.store-landing-mode .bottom,
body.store-landing-mode .bottom-clean,
body.store-landing-mode .nav-bottom{
  display:none !important;
}

/* Se recupera el botón flotante del logo para volver a Solch */
html.store-landing-mode .store-landing-solch-link,
body.store-landing-mode .store-landing-solch-link{
  position:fixed !important;
  z-index:9997 !important;
  top:12px !important;
  left:12px !important;
  width:42px !important;
  height:42px !important;
  border-radius:15px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(0,0,0,.16) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:4px !important;
}

html.store-landing-mode .store-landing-solch-link img,
body.store-landing-mode .store-landing-solch-link img{
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
  object-fit:cover !important;
}

/* Portada premium: antes quedaba tamaño cartel; ahora queda como encabezado real */
html.store-landing-mode .premium-cover,
body.store-landing-mode .premium-cover{
  min-height:175px !important;
  height:auto !important;
  max-height:210px !important;
  padding:22px 22px 18px 76px !important;
  border-radius:0 0 24px 24px !important;
  margin:0 auto 12px !important;
  display:flex !important;
  align-items:center !important;
}

html.store-landing-mode .premium-cover-content,
body.store-landing-mode .premium-cover-content{
  width:100% !important;
  padding:0 !important;
}

html.store-landing-mode .premium-cover-main,
body.store-landing-mode .premium-cover-main{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}

html.store-landing-mode .premium-logo,
body.store-landing-mode .premium-logo,
html.store-landing-mode .store-logo,
body.store-landing-mode .store-logo{
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
  border-radius:20px !important;
}

html.store-landing-mode .premium-cover h2,
body.store-landing-mode .premium-cover h2,
html.store-landing-mode .store-head h2,
body.store-landing-mode .store-head h2{
  font-size:28px !important;
  line-height:1 !important;
  margin:0 0 5px !important;
}

html.store-landing-mode .premium-description,
body.store-landing-mode .premium-description,
html.store-landing-mode .store-head p,
body.store-landing-mode .store-head p{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  font-size:13px !important;
  line-height:1.25 !important;
  margin:6px 0 0 !important;
}

html.store-landing-mode .premium-pill,
body.store-landing-mode .premium-pill{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  font-size:13px !important;
}

html.store-landing-mode .premium-soft-video,
body.store-landing-mode .premium-soft-video{
  padding:6px 10px !important;
  font-size:12px !important;
  margin-top:8px !important;
}

/* Portada free también compacta */
html.store-landing-mode .store-head,
body.store-landing-mode .store-head{
  min-height:135px !important;
  padding:18px 18px 16px 76px !important;
  margin:0 auto 12px !important;
  border-radius:0 0 24px 24px !important;
  display:flex !important;
  align-items:center !important;
}

html.store-landing-mode .store-head-inner,
body.store-landing-mode .store-head-inner{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}

html.store-landing-mode .social-row,
body.store-landing-mode .social-row{
  gap:6px !important;
  margin-top:8px !important;
  justify-content:flex-start !important;
}

html.store-landing-mode .social-row a,
body.store-landing-mode .social-row a{
  padding:6px 9px !important;
  font-size:12px !important;
}

/* Productos: tarjetas parejas, más chicas y con botón alineado */
.catalog-grid{
  align-items:stretch !important;
}

.product-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
}

.product-card img{
  height:150px !important;
  min-height:150px !important;
  object-fit:cover !important;
}

.product-info{
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  padding:9px 10px 10px !important;
}

.product-name{
  min-height:34px !important;
  line-height:1.15 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.product-desc{
  min-height:30px !important;
  max-height:30px !important;
  line-height:1.25 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.current-price{
  font-size:16px !important;
  margin-top:4px !important;
}

.chips{
  max-height:50px !important;
  overflow:hidden !important;
  gap:4px !important;
}

.chip{
  font-size:10px !important;
  padding:3px 6px !important;
}

.whatsapp-btn{
  margin-top:auto !important;
  padding:9px !important;
  min-height:36px !important;
}

html.store-landing-mode .premium-slider-wrap,
body.store-landing-mode .premium-slider-wrap{
  margin-top:8px !important;
  margin-bottom:12px !important;
}

html.store-landing-mode .premium-slide,
body.store-landing-mode .premium-slide{
  height:145px !important;
}

@media(max-width:520px){
  html.store-landing-mode .premium-cover,
  body.store-landing-mode .premium-cover{
    min-height:150px !important;
    max-height:185px !important;
    padding:58px 14px 14px 14px !important;
  }

  html.store-landing-mode .store-head,
  body.store-landing-mode .store-head{
    min-height:130px !important;
    padding:58px 14px 14px 14px !important;
  }

  html.store-landing-mode .premium-logo,
  body.store-landing-mode .premium-logo,
  html.store-landing-mode .store-logo,
  body.store-landing-mode .store-logo{
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    border-radius:18px !important;
  }

  html.store-landing-mode .premium-cover h2,
  body.store-landing-mode .premium-cover h2,
  html.store-landing-mode .store-head h2,
  body.store-landing-mode .store-head h2{
    font-size:23px !important;
  }

  .product-card img{
    height:132px !important;
    min-height:132px !important;
  }

  .catalog-grid{
    gap:10px !important;
  }
}


/* =========================
   AJUSTE FINAL SOLCH LANDING / TIENDAS
   ========================= */
html.store-landing-mode .header,
html.store-landing-mode .header-compact,
html.store-landing-mode .module-bar,
html.store-landing-mode .module-subbar,
html.store-landing-mode .bottom,
html.store-landing-mode .bottom-clean,
body.store-landing-mode .header,
body.store-landing-mode .header-compact,
body.store-landing-mode .module-bar,
body.store-landing-mode .module-subbar,
body.store-landing-mode .bottom,
body.store-landing-mode .bottom-clean{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}

html.store-landing-mode .app,
body.store-landing-mode .app{
  padding-bottom:0 !important;
}

html.store-landing-mode .content,
body.store-landing-mode .content{
  padding-top:8px !important;
  max-width:860px !important;
}

body.store-landing-mode .premium-cover{
  min-height:155px !important;
  max-height:185px !important;
  padding:14px 18px !important;
  border-radius:18px !important;
  margin:8px 0 12px !important;
}

body.store-landing-mode .premium-cover-content{
  min-height:0 !important;
  gap:6px !important;
}

body.store-landing-mode .premium-cover-main{
  gap:12px !important;
  align-items:center !important;
}

body.store-landing-mode .premium-logo{
  width:70px !important;
  height:70px !important;
  border-radius:18px !important;
}

body.store-landing-mode .premium-cover h2{
  font-size:26px !important;
  line-height:1 !important;
  margin:0 0 4px !important;
}

body.store-landing-mode .premium-description,
body.store-landing-mode .premium-slogan{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  margin:4px 0 !important;
  font-size:12px !important;
}

body.store-landing-mode .store-head{
  min-height:126px !important;
  padding:12px 16px !important;
  border-radius:18px !important;
  margin:8px 0 12px !important;
}

body.store-landing-mode .store-head-inner{
  gap:10px !important;
  align-items:center !important;
}

body.store-landing-mode .store-logo{
  width:64px !important;
  height:64px !important;
  border-radius:17px !important;
}

body.store-landing-mode .store-kicker{
  display:none !important;
}

body.store-landing-mode .store-head h2{
  font-size:25px !important;
  margin:0 0 3px !important;
}

body.store-landing-mode .store-head p{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  font-size:12px !important;
  margin:4px 0 !important;
}

body.store-landing-mode .social-row{
  margin-top:6px !important;
}

body.store-landing-mode .social-row a{
  padding:5px 8px !important;
  font-size:11px !important;
}

/* Productos parejos y más compactos */
.catalog-grid{
  align-items:stretch !important;
}

.product-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:340px !important;
  height:100% !important;
}

.product-card img{
  height:136px !important;
  flex:0 0 136px !important;
  object-fit:cover !important;
}

.product-info{
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
  padding:10px !important;
}

.product-name{
  min-height:34px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.product-desc{
  min-height:0 !important;
  max-height:28px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.current-price{
  margin-top:auto !important;
  margin-bottom:6px !important;
}

.chips{
  max-height:48px !important;
  overflow:hidden !important;
}

.whatsapp-btn{
  margin-top:8px !important;
  min-height:33px !important;
}

.stores-featured-app-card{
  margin-bottom:12px !important;
}

.stores-filter-card{
  padding:12px !important;
}

.stores-filter-card h2{
  font-size:18px !important;
  margin:0 0 8px !important;
}

@media(max-width:520px){
  body.store-landing-mode .premium-cover{
    min-height:140px !important;
    max-height:none !important;
    padding:12px !important;
  }

  body.store-landing-mode .premium-logo,
  body.store-landing-mode .store-logo{
    width:56px !important;
    height:56px !important;
  }

  body.store-landing-mode .premium-cover h2,
  body.store-landing-mode .store-head h2{
    font-size:21px !important;
  }

  .product-card{
    min-height:310px !important;
  }

  .product-card img{
    height:124px !important;
    flex-basis:124px !important;
  }
}


/* ==========================================================
   SOLCH AJUSTE FINAL: LANDING Y PRODUCTOS COMPACTOS
   ========================================================== */

/* Landing mini app: cabecera de tienda más baja y menos tosca */
body.store-landing-mode .content{
  padding-top:8px !important;
}

body.store-landing-mode .store-head{
  padding:8px 10px !important;
  border-radius:15px !important;
  margin-bottom:8px !important;
  min-height:auto !important;
}

body.store-landing-mode .store-head-inner{
  gap:8px !important;
  align-items:center !important;
}

body.store-landing-mode .store-logo{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  border-radius:14px !important;
  padding:2px !important;
}

body.store-landing-mode .store-kicker{
  display:none !important;
}

body.store-landing-mode .store-head h2{
  font-size:18px !important;
  line-height:1.02 !important;
  margin:0 0 2px !important;
}

body.store-landing-mode .store-head .badge{
  padding:2px 6px !important;
  font-size:10px !important;
  line-height:1.1 !important;
}

body.store-landing-mode .store-head p{
  font-size:11px !important;
  line-height:1.15 !important;
  margin:3px 0 1px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

body.store-landing-mode .store-head small{
  font-size:10px !important;
  opacity:.85 !important;
}

body.store-landing-mode .social-row{
  gap:4px !important;
  margin-top:4px !important;
}

body.store-landing-mode .social-row a{
  padding:4px 6px !important;
  font-size:10px !important;
}

body.store-landing-mode .premium-store-hero,
body.store-landing-mode .premium-hero{
  min-height:auto !important;
  padding:10px !important;
  border-radius:16px !important;
  margin-bottom:8px !important;
}

body.store-landing-mode .premium-store-logo,
body.store-landing-mode .premium-logo{
  width:54px !important;
  height:54px !important;
  border-radius:15px !important;
}

/* Cards de productos: menos aire, más parejas */
.catalog-grid{
  gap:8px !important;
  align-items:stretch !important;
}

.product-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:318px !important;
  border-radius:14px !important;
  overflow:hidden !important;
}

.product-card img{
  height:136px !important;
  object-fit:cover !important;
  flex:0 0 auto !important;
}

.product-info{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  padding:8px !important;
  gap:2px !important;
}

.product-name{
  font-size:13px !important;
  line-height:1.1 !important;
  margin:0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.product-desc{
  font-size:11px !important;
  line-height:1.15 !important;
  margin:1px 0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height:0 !important;
}

.current-price{
  font-size:15px !important;
  line-height:1.1 !important;
  margin:1px 0 2px !important;
}

.old-price{
  font-size:10.5px !important;
  line-height:1.05 !important;
  margin:0 !important;
}

.tag{
  width:max-content !important;
  padding:2px 5px !important;
  font-size:9.5px !important;
  line-height:1.1 !important;
  margin-bottom:1px !important;
  border-radius:999px !important;
}

.chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:3px !important;
  margin-top:3px !important;
}

.chip{
  padding:2px 5px !important;
  font-size:10px !important;
  line-height:1 !important;
  border-radius:999px !important;
  max-width:100% !important;
}

.product-info .whatsapp-btn,
.product-card .whatsapp-btn{
  margin-top:auto !important;
  padding:7px 8px !important;
  font-size:12px !important;
  line-height:1.1 !important;
  min-height:32px !important;
  border-radius:10px !important;
}

@media(max-width:520px){
  .catalog-grid{
    gap:7px !important;
  }

  .product-card{
    min-height:300px !important;
  }

  .product-card img{
    height:124px !important;
  }

  .product-info{
    padding:7px !important;
  }

  .chip{
    padding:2px 4px !important;
    font-size:9.5px !important;
  }

  body.store-landing-mode .store-head{
    padding:7px 9px !important;
  }

  body.store-landing-mode .store-logo{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
  }

  body.store-landing-mode .store-head h2{
    font-size:17px !important;
  }
}

/* ==========================================================
   REPORTES / MODERACION PUBLICA
   ========================================================== */
.report-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:220;
  background:rgba(0,0,0,.62);
  align-items:center;
  justify-content:center;
  padding:16px;
}

.report-modal.active{
  display:flex;
}

.report-card{
  width:100%;
  max-width:410px;
  background:#fff;
  color:var(--textColor,#1c1c1c);
  border-radius:22px;
  padding:18px;
  box-shadow:0 18px 55px rgba(0,0,0,.28);
  position:relative;
}

.report-card h3{
  margin:0 0 6px !important;
  font-size:18px !important;
}

.report-close{
  position:absolute;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f1f1f1;
  font-size:20px;
  cursor:pointer;
}

.profile-detail-report{
  width:100%;
  border:0;
  background:#fff3f3;
  color:#b00020;
  border-radius:999px;
  padding:10px 12px;
  font-size:12px;
  font-weight:900;
  margin-top:8px;
  cursor:pointer;
}

.store-fab-menu button:last-child{
  color:#b00020;
}


/* ==========================================================
   REPORTES VISIBLES + CARDS TIPO HISTORIAS
   ========================================================== */

.public-report-row{
  display:flex;
  justify-content:flex-end;
  margin:8px 0 10px;
}

.public-report-btn{
  border:0;
  border-radius:999px;
  background:#fff3f3;
  color:#b00020;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(176,0,32,.08);
}

.public-report-btn:active{
  transform:scale(.98);
}

/* Tarjetas de servicios/eventos/alquileres tipo historia destacada */
.compact-provider-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  gap:7px !important;
  width:118px !important;
  min-width:118px !important;
  max-width:118px !important;
  min-height:142px !important;
  padding:10px 8px 9px !important;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid #e9edf3 !important;
  box-shadow:0 5px 16px rgba(19,31,56,.07) !important;
  overflow:visible !important;
}

.compact-provider-card.premium-provider{
  border-color:#f1cf55 !important;
  background:linear-gradient(180deg,#fffdf3,#fff) !important;
}

.compact-provider-card.premium-provider::before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:19px;
  border:1px solid rgba(241,207,85,.55);
  pointer-events:none;
}

.compact-provider-logo{
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  background:#eef1f5 !important;
  padding:2px !important;
  border:3px solid #04ddd6 !important;
  box-shadow:0 4px 10px rgba(0,0,0,.09) !important;
}

.premium-provider .compact-provider-logo{
  border-color:#f4c531 !important;
}

.compact-provider-copy{
  width:100% !important;
  min-width:0 !important;
}

.compact-provider-copy strong{
  display:block !important;
  font-size:12px !important;
  font-weight:950 !important;
  color:#161b24 !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.compact-provider-copy span{
  display:block !important;
  margin-top:3px !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  color:#08746e !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.compact-provider-card .premium-mini{
  margin:5px auto 0 !important;
  padding:2px 6px !important;
  font-size:9px !important;
}

.compact-provider-report{
  position:absolute;
  top:5px;
  right:5px;
  width:26px;
  height:26px;
  border:0;
  border-radius:50%;
  background:#fff3f3;
  color:#b00020;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 3px 9px rgba(176,0,32,.12);
  z-index:4;
}

.compact-provider-report:active{
  transform:scale(.94);
}

#serviceFeaturedList,
#eventFeaturedList,
#rentalFeaturedList{
  display:flex !important;
  gap:11px !important;
  overflow-x:auto !important;
  padding:5px 2px 7px !important;
}

#serviceProviderList,
#eventProviderList,
#rentalProviderList{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(118px,118px)) !important;
  justify-content:flex-start !important;
  gap:12px !important;
}

@media(max-width:520px){
  #serviceProviderList,
  #eventProviderList,
  #rentalProviderList{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .compact-provider-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:136px !important;
    padding:9px 6px 8px !important;
  }

  .compact-provider-logo{
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
  }
}

@media(max-width:360px){
  #serviceProviderList,
  #eventProviderList,
  #rentalProviderList{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ==========================================================
   SERVICIOS / EVENTOS / ALQUILERES - ESTILO HISTORIAS
   ========================================================== */

#serviceFeaturedList,
#eventFeaturedList,
#rentalFeaturedList{
  display:flex !important;
  gap:20px !important;
  overflow-x:auto !important;
  padding:8px 4px 12px !important;
  scroll-snap-type:x proximity;
}

#serviceFeaturedList::-webkit-scrollbar,
#eventFeaturedList::-webkit-scrollbar,
#rentalFeaturedList::-webkit-scrollbar{
  display:none;
}

#serviceProviderList,
#eventProviderList,
#rentalProviderList{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(102px, 112px)) !important;
  justify-content:flex-start !important;
  gap:18px 16px !important;
  padding-top:4px !important;
}

.compact-provider-card{
  position:relative !important;
  width:108px !important;
  min-width:108px !important;
  max-width:108px !important;
  min-height:128px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  text-align:center !important;
  cursor:pointer !important;
  scroll-snap-align:start;
}

.compact-provider-card.premium-provider{
  border:0 !important;
  background:transparent !important;
}

.compact-provider-card.premium-provider::before{
  display:none !important;
}

.compact-provider-logo{
  width:82px !important;
  height:82px !important;
  min-width:82px !important;
  max-width:82px !important;
  min-height:82px !important;
  max-height:82px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  padding:4px !important;
  border:4px solid transparent !important;
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(from 220deg,#ffd600,#ff7a00,#ff0069,#d300c5,#7638fa,#ffd600) border-box !important;
  box-shadow:0 6px 16px rgba(0,0,0,.12) !important;
}

.compact-provider-card.premium-provider .compact-provider-logo{
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(from 220deg,#fff3a0,#f7c600,#b88400,#ffe36e,#fff3a0) border-box !important;
}

.compact-provider-copy{
  width:100% !important;
  min-width:0 !important;
  padding:0 2px !important;
}

.compact-provider-copy strong{
  display:block !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  color:#161b24 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.compact-provider-copy span{
  display:block !important;
  margin-top:2px !important;
  font-size:10.5px !important;
  font-weight:750 !important;
  line-height:1.1 !important;
  color:#667085 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.compact-provider-card .premium-mini{
  display:inline-flex !important;
  margin:4px auto 0 !important;
  padding:2px 6px !important;
  font-size:8.5px !important;
  line-height:1 !important;
}

.compact-provider-report{
  position:absolute !important;
  top:58px !important;
  right:10px !important;
  width:24px !important;
  height:24px !important;
  border-radius:50% !important;
  border:2px solid #fff !important;
  background:#fff5f5 !important;
  color:#b00020 !important;
  font-size:11px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 4px 10px rgba(176,0,32,.16) !important;
  z-index:5 !important;
}

@media(max-width:520px){
  #serviceFeaturedList,
  #eventFeaturedList,
  #rentalFeaturedList{
    gap:18px !important;
    padding:7px 2px 12px !important;
  }

  #serviceProviderList,
  #eventProviderList,
  #rentalProviderList{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:18px 10px !important;
  }

  .compact-provider-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:122px !important;
  }

  .compact-provider-logo{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    min-height:76px !important;
  }

  .compact-provider-report{
    top:53px !important;
    right:calc(50% - 40px) !important;
  }
}

@media(max-width:360px){
  #serviceProviderList,
  #eventProviderList,
  #rentalProviderList{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}


/* =========================
   ESTADOS VISIBLES DEL DUEÑO
   ========================= */
.owner-status-box{
  margin:8px 0 10px;
  padding:10px;
  border:1px solid #e8edf3;
  border-radius:14px;
  background:#f8fafc;
}

.owner-status-line{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  align-items:center;
}

.owner-status-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:900;
  border:1px solid transparent;
}

.owner-status-pill.pending{
  background:#fff7db;
  color:#806000;
  border-color:#efd36d;
}

.owner-status-pill.active{
  background:#e8f8ef;
  color:#0b6623;
  border-color:#bde8cc;
}

.owner-status-pill.hidden{
  background:#ffeded;
  color:#a40000;
  border-color:#ffc5c5;
}

.owner-status-pill.premium{
  background:#fff4c7;
  color:#7a5200;
  border-color:#e7c452;
}

.owner-status-pill.free{
  background:#eef2f7;
  color:#4b5563;
  border-color:#d9e1ea;
}

.owner-status-hint,
.owner-status-empty{
  margin-top:6px;
  font-size:12px;
  color:#667085;
  line-height:1.25;
}

@media(max-width:520px){
  .owner-status-box{
    padding:8px;
    border-radius:12px;
  }
  .owner-status-pill{
    padding:4px 8px;
    font-size:10.5px;
  }
}


/* =========================
   LEGAL + CONTACTO SOLCH
   ========================= */
.terms-accept-row{
  display:flex;
  gap:8px;
  align-items:flex-start;
  font-size:12px;
  color:#555;
  margin:8px 0 12px;
  line-height:1.35;
}
.terms-accept-row input{
  width:auto;
  margin:2px 0 0;
}
.terms-accept-row button{
  border:0;
  background:transparent;
  color:var(--primary);
  font-weight:900;
  padding:0;
  cursor:pointer;
}
.legal-profile-card .legal-actions-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
}
.legal-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.64);
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.legal-modal.active{display:flex}
.legal-card{
  width:min(560px,100%);
  max-height:86vh;
  overflow:auto;
  background:#fff;
  color:#1c1c1c;
  border-radius:24px;
  padding:20px;
  position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,.28);
}
.legal-card h2{
  margin:0 0 10px;
  font-size:22px;
}
.legal-card p,
.legal-card li{
  font-size:14px;
  line-height:1.45;
}
.legal-card ul{
  padding-left:20px;
}
.legal-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f1f1f1;
  font-size:20px;
  cursor:pointer;
}
.legal-contact-mini{
  background:#f7f9fb;
  border:1px solid #e8edf2;
  border-radius:16px;
  padding:12px;
  margin:12px 0;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
}
.legal-contact-mini.big{
  font-size:15px;
  font-weight:900;
}
.store-contact-card{
  background:#fff;
  border:1px solid #e9eef3;
  border-radius:18px;
  padding:14px;
  margin:14px 0;
  box-shadow:0 4px 18px rgba(0,0,0,.06);
}
.store-contact-card h3{
  margin:0 0 10px;
  font-size:16px;
}
.store-contact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:8px;
}
.store-contact-grid a,
.store-contact-grid span{
  background:#f6f8fa;
  border:1px solid #e8edf2;
  color:#1c1c1c;
  text-decoration:none;
  border-radius:999px;
  padding:9px 11px;
  font-size:13px;
  font-weight:800;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.solch-support-card{
  background:linear-gradient(135deg,#f8fffb,#ffffff);
}
.legal-mini-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.legal-mini-links button{
  border:0;
  background:#eef7f3;
  color:var(--primary);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:520px){
  .legal-card{padding:17px;border-radius:20px}
  .store-contact-grid{grid-template-columns:1fr}
}


/* =========================
   LIMPIEZA PREMIUM / REPORTES
   ========================= */
.compact-provider-report{
  display:none !important;
}

.premium-mini{
  display:none !important;
}

.premium-star{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:3px;
  font-size:10px;
  line-height:1;
  color:#d99a00;
}

.premium-star-detail{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:5px;
  padding:3px 7px;
  border-radius:999px;
  background:#fff7d6;
  color:#8a6500;
  border:1px solid #efd377;
  font-size:11px;
  font-weight:850;
}

.compact-provider-card.premium-provider .compact-provider-logo,
.story-provider-card.premium-provider .compact-provider-logo{
  border-color:#e7bd37 !important;
  box-shadow:0 0 0 3px rgba(231,189,55,.20), 0 7px 18px rgba(0,0,0,.10) !important;
}

.public-report-row{
  display:none !important;
}

.store-contact-card .legal-mini-links button:last-child{
  color:#8a1f1f;
}


/* =========================
   SOPORTE SOLCH EN MINI PAGINA
   ========================= */

.solch-support-card h3{
  display:flex;
  align-items:center;
  gap:6px;
}

.solch-support-card h3::before{
  content:"💬";
  font-size:15px;
}

.solch-support-help{
  margin:0 0 10px;
  color:#475569;
  font-size:13px;
  line-height:1.35;
}

.solch-support-card .store-contact-grid a,
.solch-support-card .store-contact-grid span{
  background:#f1faf6;
  border-color:#dcefe6;
}

@media(max-width:520px){
  .solch-support-help{
    font-size:12.5px;
  }
}


/* =========================
   SOPORTE SOLCH MINIMO
   ========================= */
.solch-footer-mini{
  margin-top:14px;
  padding-top:8px;
  border-top:1px solid rgba(0,0,0,.08);
  color:#7a7a7a;
  font-size:11px;
  line-height:1.35;
}

.solch-footer-line{
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  align-items:center;
}

.solch-footer-line span{
  display:inline;
  color:#777;
  white-space:normal;
}

.solch-footer-line span:not(:last-child)::after{
  content:"·";
  margin-left:8px;
  color:#b7b7b7;
}

.solch-footer-line strong{
  color:#5f6b63;
  font-weight:800;
}

.solch-footer-help{
  margin-top:3px;
  color:#9a9a9a;
  font-size:10.5px;
}

@media(max-width:520px){
  .solch-footer-mini{
    margin-top:10px;
    font-size:10.5px;
  }
  .solch-footer-help{
    font-size:10px;
  }
}
