:root{
  --sa-bg:#f6f8fc;
  --sa-card:#ffffff;
  --sa-text:#111827;
  --sa-muted:#6b7280;
  --sa-border:#e5e7eb;
  --sa-primary:#0b63f6;
  --sa-dark:#111827;
  --sa-warn:#f59e0b;
}

.sa-v1-wrap{max-width:1160px;margin:0 auto;padding:24px}
.sa-v1-hero{padding:48px 28px;border-radius:18px;background:linear-gradient(135deg,#eef4ff 0%,#f5fbff 45%,#fff7ef 100%);border:1px solid #e6ecff;box-shadow:0 10px 26px rgba(17,24,39,.07);margin-bottom:20px}
.sa-v1-pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#e8f0ff;color:#1f4dbf;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;margin-bottom:14px}
.sa-v1-h1{font-size:48px;line-height:1.06;margin:0 0 14px;color:var(--sa-text);max-width:880px}
.sa-v1-sub{font-size:19px;color:#4b5563;max-width:820px;margin:0 0 22px}
.sa-v1-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.sa-v1-trust{font-size:14px;color:#6b7280}

.sa-v1-btn,.sa-v1-btn-dark,.sa-v1-btn-warn{display:inline-block;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700}
.sa-v1-btn{background:var(--sa-primary);color:#fff}
.sa-v1-btn-dark{background:var(--sa-dark);color:#fff}
.sa-v1-btn-warn{background:var(--sa-warn);color:#111827}

.sa-v1-search{background:#fff;border:1px solid var(--sa-border);border-radius:14px;padding:18px;box-shadow:0 6px 18px rgba(17,24,39,.05);margin-bottom:26px}
.sa-v1-search form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.sa-v1-search input[type="text"]{flex:1;min-width:260px;padding:14px;border:1px solid #d1d5db;border-radius:10px;font-size:16px}
.sa-v1-search small{display:block;margin:10px 2px 0;color:var(--sa-muted)}

.sa-section{margin:24px 0}
.sa-section h2{font-size:30px;margin:10px 0 14px;color:var(--sa-text)}

.sa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.sa-card{position:relative;display:block;background:var(--sa-card);border:1px solid var(--sa-border);border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 8px 18px rgba(17,24,39,.05);transition:.2s ease}
.sa-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(17,24,39,.11);border-color:#dbe7ff}
.sa-card img{width:100%;height:150px;object-fit:cover;display:block}
.sa-card strong{position:absolute;left:10px;right:10px;bottom:34px;color:#fff;font-size:16px;line-height:1.25;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.sa-card span{position:absolute;left:10px;bottom:10px;display:inline-block;font-size:12px;color:#e5edff;background:rgba(17,24,39,.6);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px 8px}

.sa-v1-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.sa-v1-card{display:block;background:#fff;border:1px solid var(--sa-border);border-radius:12px;padding:14px;text-decoration:none;box-shadow:0 6px 14px rgba(17,24,39,.04);transition:.2s ease}
.sa-v1-card:hover{border-color:#dbe7ff;box-shadow:0 10px 20px rgba(17,24,39,.08);transform:translateY(-1px)}
.sa-v1-title{margin:0 0 8px;font-size:18px;line-height:1.25;color:var(--sa-text)}
.sa-v1-muted{margin:0;color:var(--sa-muted);font-size:14px}

.sa-single{max-width:1020px;margin:0 auto;padding:24px}
.sa-single-card{background:#fff;border:1px solid var(--sa-border);border-radius:14px;padding:22px;box-shadow:0 8px 20px rgba(17,24,39,.05)}
.sa-meta p{margin:.35rem 0}
.sa-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

@media (max-width: 768px){
  .sa-v1-wrap,.sa-single{padding:14px}
  .sa-v1-hero{padding:28px 16px}
  .sa-v1-h1{font-size:33px}
  .sa-v1-sub{font-size:16px}
  .sa-card img{height:130px}
}

/* Paso 2 - Pulido visual cards */
.sa-card{border-radius:16px;overflow:hidden}
.sa-card img{height:170px;filter:saturate(1.05) contrast(1.02)}
.sa-card::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;top:0;
  background:linear-gradient(to top, rgba(0,0,0,.45) 0%, rgba(0,0,0,.08) 45%, rgba(0,0,0,0) 70%);
  pointer-events:none;
}
.sa-card strong{font-size:17px;font-weight:700;z-index:2}
.sa-card span{z-index:2}
.sa-v1-card{border-radius:14px;padding:16px}
.sa-v1-title{font-size:19px}
.sa-v1-muted{font-size:13px}

@media (max-width:768px){
  .sa-card img{height:145px}
}

/* Taxonomía categoría - rediseño premium */
.sa-tax-wrap{padding-top:18px}
.sa-tax-hero{position:relative;overflow:hidden;border-radius:18px;min-height:220px;margin-bottom:18px;background:linear-gradient(135deg,#0f172a,#1f2937);background-image:var(--cover);background-size:cover;background-position:center;box-shadow:0 12px 26px rgba(2,6,23,.18)}
.sa-tax-hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(2,6,23,.76),rgba(2,6,23,.35) 55%,rgba(2,6,23,.25))}
.sa-tax-hero__content{position:relative;z-index:2;padding:26px 22px;color:#fff;max-width:760px}
.sa-tax-kicker{margin:0 0 8px;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:#bfdbfe;font-weight:700}
.sa-tax-hero h1{margin:0 0 8px;font-size:36px;line-height:1.1;color:#fff}
.sa-tax-sub{margin:0;color:#d1d5db}

.sa-tax-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sa-tax-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 8px 18px rgba(17,24,39,.05);transition:.2s ease}
.sa-tax-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(17,24,39,.10);border-color:#dbe7ff}
.sa-tax-card__media{display:block;height:160px;background-size:cover;background-position:center}
.sa-tax-card__body{padding:14px}
.sa-tax-card__body h3{margin:0 0 8px;font-size:19px;line-height:1.25}
.sa-tax-card__body h3 a{color:#111827;text-decoration:none}
.sa-tax-card__body h3 a:hover{text-decoration:underline}
.sa-tax-addr{margin:0 0 10px;color:#6b7280;font-size:14px}
.sa-tax-pagination{margin-top:18px}
.sa-tax-pagination ul{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0}
.sa-tax-pagination a,.sa-tax-pagination span{display:inline-block;padding:8px 11px;border-radius:8px;border:1px solid #e5e7eb;text-decoration:none}
.sa-tax-empty{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px;box-shadow:0 8px 18px rgba(17,24,39,.05)}

@media (max-width:1024px){.sa-tax-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  .sa-tax-hero{min-height:180px}
  .sa-tax-hero h1{font-size:30px}
  .sa-tax-grid{grid-template-columns:1fr}
  .sa-tax-card__media{height:170px}
}

/* Ficha negocio - rediseño premium */
.sa-single-wrap{max-width:1120px;margin:0 auto;padding:18px}
.sa-single-hero{position:relative;overflow:hidden;border-radius:18px;min-height:240px;margin-bottom:18px;background:linear-gradient(130deg,#0f172a,#1f2937);background-image:var(--cover);background-size:cover;background-position:center;box-shadow:0 12px 26px rgba(2,6,23,.2)}
.sa-single-hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(2,6,23,.78),rgba(2,6,23,.35) 55%,rgba(2,6,23,.2))}
.sa-single-hero__content{position:relative;z-index:2;padding:24px 20px;color:#fff;max-width:820px}
.sa-single-kicker{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.35px;color:#bfdbfe;font-weight:700}
.sa-single-hero h1{margin:0 0 8px;font-size:38px;line-height:1.08;color:#fff}
.sa-single-sub{margin:0 0 12px;color:#d1d5db}

.sa-single-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}
.sa-single-main,.sa-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 8px 18px rgba(17,24,39,.05)}
.sa-single-main h2,.sa-info-card h3{margin:0 0 10px;color:#111827}
.sa-single-content{color:#374151;line-height:1.7}
.sa-info-card p{margin:0 0 10px;color:#374151;font-size:14px}
.sa-related{margin-top:18px}
.sa-related h2{margin:0 0 12px;color:#111827}

@media (max-width:900px){
  .sa-single-grid{grid-template-columns:1fr}
  .sa-single-hero{min-height:200px}
  .sa-single-hero h1{font-size:31px}
}

/* Ficha negocio profesional */
.sa-pro-wrap{max-width:1140px;margin:0 auto;padding:16px}
.sa-pro-hero{position:relative;overflow:hidden;border-radius:18px;min-height:260px;margin-bottom:16px;background:linear-gradient(130deg,#0f172a,#1f2937);background-image:var(--hero);background-size:cover;background-position:center;box-shadow:0 12px 26px rgba(2,6,23,.22)}
.sa-pro-hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(2,6,23,.78),rgba(2,6,23,.3) 60%,rgba(2,6,23,.2))}
.sa-pro-hero__content{position:relative;z-index:2;padding:24px 20px;color:#fff;max-width:820px}
.sa-pro-badge{display:inline-block;background:#f59e0b;color:#111827;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;margin-bottom:8px}
.sa-pro-hero h1{margin:0 0 8px;color:#fff;font-size:40px;line-height:1.08}
.sa-pro-sub{margin:0 0 12px;color:#d1d5db}

.sa-pro-gallery{margin:14px 0}
.sa-pro-gallery__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,1fr);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}
.sa-pro-gallery__item{margin:0;scroll-snap-align:start}
.sa-pro-gallery__item img{width:100%;height:190px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb}
.sa-pro-gallery__controls{display:flex;gap:8px;margin-top:8px}
.sa-pro-gallery__controls button{width:34px;height:34px;border-radius:999px;border:1px solid #d1d5db;background:#fff;cursor:pointer}

.sa-pro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}
.sa-pro-main,.sa-pro-side .sa-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 8px 18px rgba(17,24,39,.05)}
.sa-pro-main h2{margin:0 0 10px}
.sa-pro-desc{color:#374151;line-height:1.7}
.sa-pro-info p{margin:0 0 10px}
.sa-pro-table{width:100%;border-collapse:collapse;margin-top:6px}
.sa-pro-table td{border:1px solid #e5e7eb;padding:8px;border-radius:8px;background:#f9fafb}
.sa-open-now{display:inline-block;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:700;font-size:12px}
.sa-pro-extra ul{margin:6px 0 10px 18px}
.sa-pro-side iframe{width:100%;min-height:320px;border:0;border-radius:10px}

@media (max-width:900px){
  .sa-pro-hero{min-height:220px}
  .sa-pro-hero h1{font-size:32px}
  .sa-pro-grid{grid-template-columns:1fr}
  .sa-pro-side iframe{min-height:260px}
}
