/* Cuba Marketplace — estilos de páginas interiores.
 * v0.9.54: los estilos de portada se consolidan en home-ux-v0949.css.
 * Mantener aquí solamente las demás páginas y los componentes compartidos.
 */

/* 2. CATÁLOGO: filtros y fichas reales de anuncios. */
body.cmp-page-catalog main{
  width:min(calc(100% - 30px),1240px);
  max-width:none;
  margin:clamp(22px,3vw,44px) auto 70px;
  padding:0;
}
body.cmp-page-catalog main>h1{max-width:900px}
body.cmp-page-catalog .seo-intro{max-width:880px;line-height:1.65}
body.cmp-page-catalog #filters{
  border-radius:22px;background:linear-gradient(140deg,#fff,#f8fbff);
  border:1px solid #d8e5f5;
  box-shadow:var(--cmp-shadow);
  padding:clamp(16px,2.5vw,28px);
  gap:14px;
}
body.cmp-page-catalog #filters :is(input,select){margin-top:8px;background:#fafdff;border-color:#bfd0ea}
body.cmp-page-catalog #filters button[type=submit]{background:var(--cmp-blue-dark);color:white}
body.cmp-page-catalog #results{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,295px),1fr));
  gap:18px;
}
body.cmp-page-catalog #results .cmp-ad-card{
  padding:clamp(15px,1.6vw,20px);margin:0;
  border-radius:21px;border:1px solid var(--cmp-border);
  box-shadow:var(--cmp-shadow);gap:10px;
}
body.cmp-page-catalog #results .cmp-ad-card h3{font-size:18px;color:var(--cmp-navy)}
body.cmp-page-catalog #results .cmp-ad-price{color:var(--cmp-blue-dark)}
body.cmp-page-catalog #results .cmp-ad-meta{color:var(--cmp-muted)}
body.cmp-page-catalog #pagination button{width:auto}
body.cmp-page-catalog #pagination button:disabled{box-shadow:none}
body.cmp-page-catalog .seo-section{margin-top:36px;padding:clamp(18px,2vw,28px)}
@media(max-width:700px){
  body.cmp-page-catalog main{width:calc(100% - 28px)}
  body.cmp-page-catalog #filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.cmp-page-catalog #results{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:410px){
  body.cmp-page-catalog #filters{grid-template-columns:minmax(0,1fr)}
  body.cmp-page-catalog #filters>*{grid-column:1/-1}
}

/* 3. DIRECTORIO / NEGOCIOS: tarjeta profesional y WhatsApp real. */
body.cmp-page-services .preview{
  width:min(calc(100% - 30px),1200px);
  max-width:none;
  margin:clamp(22px,3vw,44px) auto 70px;padding:0;
}
body.cmp-page-services .preview>p{max-width:980px;color:var(--cmp-muted);line-height:1.65}
body.cmp-page-services #lookup{
  margin:24px 0 28px;
  padding:clamp(16px,2.4vw,27px);
  border:1px solid var(--cmp-border);
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f7faff);
  box-shadow:var(--cmp-shadow);
}
body.cmp-page-services .preview-fields{margin:0 0 14px;gap:14px}
body.cmp-page-services .preview-fields select{
  min-height:50px;margin-top:7px;
  background:#fff;border-color:#bacce7;
}
body.cmp-page-services .filter-actions{margin:0}
body.cmp-page-services #lookup button[type=submit]{background:var(--cmp-blue-dark)}
body.cmp-page-services .provider-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,335px),1fr));gap:18px}
body.cmp-page-services .provider{
  border-radius:22px;border:1px solid var(--cmp-border);
  padding:clamp(18px,2vw,25px);
  background:white;box-shadow:var(--cmp-shadow);
  min-width:0;
}
body.cmp-page-services .provider-avatar{
  width:60px;height:60px;flex:0 0 60px;
  background:linear-gradient(145deg,#e3eeff,#edf5ff);
  color:var(--cmp-blue-dark);border-radius:17px;
}
body.cmp-page-services .provider-heading h3{font-size:21px;color:var(--cmp-navy)}
body.cmp-page-services .provider-description{color:var(--cmp-muted)}
body.cmp-page-services .provider-actions a:first-child{
  color:var(--cmp-blue-dark);background:#f1f6ff;
  border:1px solid #cdddf1;
}
body.cmp-page-services .provider-actions a[href^="https://wa.me/"]{
  background:var(--cmp-green)!important;
  color:white!important;
  border-color:var(--cmp-green)!important;
}
body.cmp-page-services .seo-section{margin-top:35px;padding:clamp(18px,2vw,28px)}
body.cmp-page-directory .cmp-seo.shell,
body.cmp-page-service-detail .cmp-seo.shell{
  width:min(calc(100% - 30px),1240px);max-width:none;margin:clamp(20px,3vw,42px) auto 75px;padding:0;
}
body.cmp-page-directory .cmp-directory-groups{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px;
}
body.cmp-page-directory .cmp-directory-group{padding:clamp(18px,2vw,26px);border-radius:21px}
body.cmp-page-directory .cmp-seo-grid a{
  border-radius:12px;min-height:44px;background:#f7faff;
}
body.cmp-page-service-detail .cmp-provider{
  border:1px solid var(--cmp-border);border-radius:21px;
  padding:clamp(18px,2vw,26px);
}
body.cmp-page-service-detail .cmp-links a{min-height:46px;display:inline-flex;align-items:center}
body.cmp-page-service-detail .cmp-links a[href^="https://wa.me/"]{
  background:var(--cmp-green);border-color:var(--cmp-green);color:white;
}

/* 4. PUBLICACIÓN / PROVEEDOR / REGISTRO: claridad de formularios. */
body.cmp-page-publish main,
body.cmp-page-provider main,
body.cmp-page-auth main{
  width:min(calc(100% - 30px),960px);max-width:none;
  padding:0;margin:clamp(22px,3vw,44px) auto 78px;
}
body.cmp-page-auth main{max-width:740px}
body.cmp-page-publish main>p,body.cmp-page-provider main>p,body.cmp-page-auth main>p{
  color:var(--cmp-muted);line-height:1.65;
}
body.cmp-page-publish #editor,
body.cmp-page-provider #profile,
body.cmp-page-auth :is(#register,#login){
  background:linear-gradient(160deg,#fff,#fcfdff);
  border:1px solid var(--cmp-border);
  border-radius:24px;
  box-shadow:var(--cmp-shadow);
  padding:clamp(18px,3vw,32px);
}
body.cmp-page-publish #editor h2,
body.cmp-page-auth :is(#register,#login) h2{
  color:var(--cmp-navy);font-size:clamp(21px,2.1vw,27px)
}
body.cmp-page-publish #save-ad,
body.cmp-page-provider #save,
body.cmp-page-auth #register button[type=submit],
body.cmp-page-auth #register button:not([type]){
  background:var(--cmp-red);color:#fff;
  border-color:var(--cmp-red);
  box-shadow:0 8px 18px rgba(218,12,49,.13);
}
body.cmp-page-publish #save-ad:hover,
body.cmp-page-provider #save:hover,
body.cmp-page-auth #register button:hover{background:var(--cmp-red-dark)}
body.cmp-page-publish #photo-panel{
  border-radius:22px;padding:clamp(16px,2vw,26px);
  background:#fff;box-shadow:var(--cmp-shadow)
}
body.cmp-page-publish #my-summary{
  padding:clamp(16px,2vw,25px);
  background:#fff;
  border:1px solid var(--cmp-border);
  border-radius:21px;
  box-shadow:var(--cmp-shadow)
}
body.cmp-page-publish #results .ad{
  border-radius:20px;background:#fff;box-shadow:var(--cmp-shadow)
}
body.cmp-page-publish #editor :is(label,fieldset){min-width:0}
body.cmp-page-provider .form-intro{
  border:1px solid var(--cmp-border);
  border-left:4px solid var(--cmp-blue);
  border-radius:17px;
  background:linear-gradient(100deg,#eff5ff,#fff);
  padding:clamp(16px,2.1vw,24px);
  margin:20px 0;
}
body.cmp-page-provider #profile{gap:18px}
body.cmp-page-provider #profile fieldset{background:#fbfdff}
body.cmp-page-provider #profile #services.services{border:1px solid var(--cmp-border);border-radius:14px;padding:13px;background:#fff}
body.cmp-page-provider #profile #services.services label{font-weight:500;min-height:35px}
body.cmp-page-provider #profile .form-actions{gap:12px}
body.cmp-page-auth :is(#register,#login){gap:15px}
body.cmp-page-auth #login button{background:var(--cmp-blue-dark)}
body.cmp-page-auth #register label.trap{position:absolute;left:-9999px;top:auto}
body.cmp-page-auth #msg{min-height:0}
@media(min-width:800px){
  body.cmp-page-auth #register,body.cmp-page-auth #login{padding:clamp(22px,3vw,32px)}
}
@media(max-width:700px){
  body.cmp-page-publish main,body.cmp-page-provider main,body.cmp-page-auth main{width:calc(100% - 28px)}
  body.cmp-page-publish #editor{grid-template-columns:minmax(0,1fr)}
  body.cmp-page-publish #editor>*{grid-column:1/-1}
  body.cmp-page-provider #profile .grid2{grid-template-columns:minmax(0,1fr)}
}

/* 5. DETALLES DE ANUNCIO / CONTACTO */
body.cmp-page-detail .single-wrap{
  width:min(calc(100% - 30px),1280px);max-width:none;
  margin:clamp(24px,3vw,40px) auto 80px;
  padding:0;
}
body.cmp-page-detail .single-card{
  border-radius:26px;border:1px solid var(--cmp-border);
  padding:clamp(17px,3vw,34px);
  box-shadow:var(--cmp-shadow);
}
body.cmp-page-detail .single-hero{
  border:1px solid #d9e5f6;border-radius:18px;background:#f2f6fc;
}
body.cmp-page-detail .single-info h1{color:var(--cmp-navy)}
body.cmp-page-detail .single-price{color:var(--cmp-blue-dark)}
body.cmp-page-detail .single-seller{
  border:1px solid var(--cmp-border);
  background:#f5f9ff;border-radius:16px;
}
body.cmp-page-detail .single-contact a[href^="https://wa.me/"]{
  background:var(--cmp-green);color:white;border-color:var(--cmp-green);
}
body.cmp-page-detail .single-share a[data-facebook]{background:#1765cf}
body.cmp-page-detail .single-related{border-radius:22px}
body.cmp-page-detail .single-related-grid a{
  border:1px solid var(--cmp-border);border-radius:14px;
  background:#fafdff;min-height:85px;
}

/* 6. PERFIL Y ADMINISTRACIÓN: mismos materiales y navegación. */
body.cmp-page-account .account-wrap{
  width:min(calc(100% - 30px),1100px);
  max-width:none;
  padding:clamp(22px,3vw,36px) 0 80px;
}
body.cmp-page-account .account-card{
  border:1px solid var(--cmp-border);border-radius:23px;
  padding:clamp(18px,2.4vw,28px);
  box-shadow:var(--cmp-shadow);margin:18px 0;
}
body.cmp-page-account #account{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
}
body.cmp-page-account #account>.account-card{margin:0;min-width:0}
body.cmp-page-account #admin-center-card{
  border:1px solid #accbf3!important;
  background:linear-gradient(125deg,#edf4ff,#fff)!important;
}
body.cmp-page-account #admin-center-card .account-links{margin-top:20px}
body.cmp-page-account .account-links{display:grid;gap:10px}
body.cmp-page-account nav.account-links a:not(.publish){
  display:flex!important;align-items:center;
  width:100%;min-width:0;min-height:50px;
  padding:12px 16px;border:1px solid var(--cmp-border);
  border-radius:13px;
  background:#f8fbff;
  color:var(--cmp-blue-dark);
  font-size:14px;text-decoration:none;
}
body.cmp-page-account nav.account-links a:not(.publish):hover{background:#ecf4ff;border-color:#afc8f0}
body.cmp-page-account nav.account-links a.hidden{display:none!important}
body.cmp-page-account .cmp-avatar-edit{background:#f3f7fe;border-radius:18px}
body.cmp-page-account .cmp-avatar-actions{gap:10px}
body.cmp-page-account #logout{background:#fff;color:var(--cmp-red-dark);border:1px solid #eeb6c1}
body.cmp-page-account #logout:hover{background:#fff2f4}
@media(min-width:1040px){
  body.cmp-page-account #admin-center-card,
  body.cmp-page-account #customer-spaces{grid-column:auto}
}
@media(max-width:780px){
  body.cmp-page-account .account-wrap{width:calc(100% - 28px)}
  body.cmp-page-account #account{grid-template-columns:minmax(0,1fr);gap:14px}
}
body.cmp-page-admin main{
  width:min(calc(100% - 30px),1220px);max-width:none;
  margin:clamp(22px,3vw,44px) auto 78px;padding:0;
}
body.cmp-page-admin .admin-shortcuts{
  gap:10px;margin:0 0 25px;
}
body.cmp-page-admin .admin-shortcuts a{
  display:inline-flex!important;align-items:center;min-height:44px;
  padding:10px 15px;border:1px solid var(--cmp-border);
  border-radius:13px;background:white;
  color:var(--cmp-blue-dark);
  font-weight:700;font-size:14px;text-decoration:none;
}
body.cmp-page-admin .cards{gap:17px}
body.cmp-page-admin .card,body.cmp-page-admin .admin-card,
body.cmp-page-admin #results>.ad{
  background:white;border:1px solid var(--cmp-border);
  border-radius:21px;padding:clamp(17px,2vw,24px);
  box-shadow:var(--cmp-shadow);
}
body.cmp-page-admin .card strong{color:var(--cmp-blue-dark)}
body.cmp-page-admin .admin-toolbar{
  padding:clamp(16px,2vw,24px);
  border:1px solid var(--cmp-border);
  border-radius:21px;background:white;
  box-shadow:var(--cmp-shadow);
}
body.cmp-page-admin #results .actions,
body.cmp-page-admin .admin-actions{display:flex;gap:10px;flex-wrap:wrap}
body.cmp-page-admin #results .actions button,
body.cmp-page-admin .admin-actions button{width:auto;min-width:0;margin:0}
body.cmp-page-admin :is(button.danger,.admin-actions button.reject,.admin-actions button.suspend){background:#b52b38;color:white}
body.cmp-page-admin dialog{
  max-width:min(calc(100% - 24px),820px);
  max-height:calc(100dvh - 32px);
  overflow:auto;
  border:1px solid var(--cmp-border);border-radius:22px;
  box-shadow:0 28px 90px rgba(4,21,48,.34);
  padding:clamp(16px,2.5vw,28px);
  background:#fff;
}
body.cmp-page-admin dialog::backdrop{background:rgba(8,23,56,.65)}
body.cmp-page-admin table{width:100%}
body.cmp-page-admin th{background:#eef5ff;color:var(--cmp-blue-dark)}
body.cmp-page-admin td,body.cmp-page-admin th{border-color:var(--cmp-border)}
@media(max-width:700px){
  body.cmp-page-admin main{width:calc(100% - 28px)}
  body.cmp-page-admin #results .actions button,
  body.cmp-page-admin .admin-actions button{flex:1 1 130px}
}

/* 7. PÁGINAS LEGALES Y TEXTOS INFORMATIVOS */
body.cmp-page-legal main{
  width:min(calc(100% - 30px),900px);
  max-width:none;
  margin:clamp(24px,3vw,46px) auto 70px;
  padding:clamp(22px,3.5vw,46px);
  background:white;border:1px solid var(--cmp-border);
  border-radius:24px;box-shadow:var(--cmp-shadow);
  line-height:1.75;
}
body.cmp-page-legal main h1{color:var(--cmp-navy)}
body.cmp-page-legal main h2{color:var(--cmp-blue-dark);margin-top:30px}
body.cmp-page-legal main>nav{
  display:flex;flex-wrap:wrap;gap:8px 16px;
  margin-bottom:24px;
}
body.cmp-page-legal main>nav a{
  display:inline-flex!important;align-items:center;
  min-height:40px;margin:0;color:var(--cmp-blue-dark);
}
body.cmp-page-legal main>p>a,body.cmp-page-legal main li>a{
  color:var(--cmp-blue-dark);text-decoration:underline;
}
@media(max-width:600px){
  body.cmp-page-legal main{width:calc(100% - 24px);margin:18px auto 50px;padding:20px}
}

/* Perfil público de negocio: solamente datos reales de proveedores aprobados. */
body.cmp-page-business-detail .cmp-business-profile{
  width:min(calc(100% - 32px),920px);
  max-width:none;
  margin:clamp(22px,4vw,52px) auto 70px;
  padding:0;
}
body.cmp-page-business-detail .cmp-business-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  font-size:14px;
  margin-bottom:22px;
  color:var(--cmp-muted);
}
body.cmp-page-business-detail .cmp-business-breadcrumb a{color:var(--cmp-blue-dark)}
body.cmp-page-business-detail .cmp-business-profile__card{
  background:#fff;
  border:1px solid #d7e4f4;
  border-radius:22px;
  box-shadow:0 14px 40px rgba(15,53,109,.08);
  padding:clamp(20px,3vw,42px);
}
body.cmp-page-business-detail .cmp-business-profile__header{
  display:flex;
  align-items:center;
  gap:clamp(14px,2vw,24px);
  margin-bottom:clamp(20px,3vw,32px);
  min-width:0;
}
body.cmp-page-business-detail .cmp-business-profile__mark{
  flex:0 0 86px;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  color:#1453ac;
  background:linear-gradient(140deg,#e4efff,#f5f9ff);
  border-radius:21px;
}
body.cmp-page-business-detail .cmp-business-profile__mark svg{
  width:42px;height:42px;
}
body.cmp-page-business-detail .cmp-business-profile__verified{
  color:#147143;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.09em;
}
body.cmp-page-business-detail h1{
  font-size:clamp(27px,3.4vw,39px);
  margin:7px 0 8px;
}
body.cmp-page-business-detail h2{font-size:clamp(19px,2.3vw,24px)}
body.cmp-page-business-detail .cmp-business-profile__location{
  display:flex;
  gap:7px;
  align-items:center;
  color:var(--cmp-muted);
  margin:4px 0;
  font-size:14px;
}
body.cmp-page-business-detail .cmp-business-profile__location svg{
  flex:0 0 17px;
  width:17px;
  height:17px;
  color:var(--cmp-blue);
}
body.cmp-page-business-detail .cmp-business-profile__card section{
  padding-top:clamp(20px,2.5vw,28px);
  margin-top:clamp(18px,2vw,24px);
  border-top:1px solid var(--cmp-border);
}
body.cmp-page-business-detail .cmp-business-profile__description{line-height:1.75;overflow-wrap:anywhere}
body.cmp-page-business-detail .cmp-business-profile__services{
  display:flex;flex-wrap:wrap;gap:9px;
  list-style:none;padding:0;margin:17px 0;
}
body.cmp-page-business-detail .cmp-business-profile__services li{
  background:#edf4ff;color:#12438c;
  border-radius:10px;padding:8px 12px;font-size:14px;font-weight:650;
}
body.cmp-page-business-detail .cmp-business-profile__hint{color:var(--cmp-muted);font-size:14px}
body.cmp-page-business-detail .cmp-business-profile__actions{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:17px;
}
body.cmp-page-business-detail .cmp-business-profile__actions a{
  display:inline-flex;gap:9px;align-items:center;justify-content:center;
  min-height:48px;padding:11px 16px;
  color:var(--cmp-blue-dark);background:#f0f5ff;
  border:1px solid var(--cmp-border);border-radius:12px;
  text-decoration:none;font-size:14px;font-weight:750;
}
body.cmp-page-business-detail .cmp-business-profile__actions .cmp-business-profile__wa{
  background:#15834f;color:white;border-color:#15834f;
}
body.cmp-page-business-detail .cmp-business-profile__actions svg{width:20px;height:20px}
body.cmp-page-business-detail .cmp-business-profile__back{margin-top:25px}
body.cmp-page-business-detail .cmp-business-profile__back a{color:var(--cmp-blue-dark);font-weight:750}
@media(max-width:530px){
 body.cmp-page-business-detail .cmp-business-profile__mark{
   flex-basis:60px;width:60px;height:60px;border-radius:16px;
 }
 body.cmp-page-business-detail .cmp-business-profile__mark svg{width:32px;height:32px}
 body.cmp-page-business-detail .cmp-business-profile__card{padding:20px}
 body.cmp-page-business-detail .cmp-business-profile__actions a{flex:1 1 135px}
}
