:root{
  --accent:#0ea5a4;
  --bg:#f6f9fc;
  --card:#ffffff;
  --muted:#6b7280;
  --radius:12px;
  --shadow: 0 6px 18px rgba(14,21,47,0.06);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

body .ifv-container { 
  max-width:1200px; 
  margin:24px auto; 
  padding:0 16px; 
  display:grid; 
  grid-template-columns: 1fr; /* antes 1fr 360px */
  gap:24px; 
  align-items:start; 
}

#ifv-map-mini, 
.ifv-map-mini {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

.ifv-main { 
  grid-column: 1 / -1; /* ocupa todo el ancho */
}

.ifv-aside, 
.ifv-map-mini { 
  display: none !important; 
}

.card { 
  background:var(--card); 
  border-radius:var(--radius); 
  box-shadow:var(--shadow); 
  padding:16px; 
  margin-bottom:16px; 
}

.ifv-logo { max-width:200px; margin-bottom:15px; }
.ifv-gallery img { transition: transform 0.2s; }
.ifv-gallery img:hover { transform: scale(1.05); }


.ifv-pagination {
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:20px;
  align-items:center;
}
.ifv-pagination button {
  background:#0ea5e9;
  color:#fff;
  border:none;
  padding:6px 12px;
  border-radius:6px;
  cursor:pointer;
}
.ifv-pagination span {
  color:#374151;
  font-weight:500;
}


.ifv-header { 
  display:flex; 
  justify-content:space-between; 
  gap:16px; 
  align-items:flex-start; 
  margin-bottom:12px; 
}

.ifv-title h1 { 
  margin:0; 
  font-size:1.6rem; 
  color:#0f172a; 
}

.ifv-verified { 
  display:inline-block; 
  background:linear-gradient(90deg,var(--accent),#06b6d4); 
  color:#fff; 
  padding:6px 10px; 
  border-radius:999px; 
  font-size:13px; 
  margin-left:8px; 
  box-shadow:0 4px 10px rgba(14,165,132,0.12); 
}

.ifv-sub { 
  margin:6px 0 0; 
  color:var(--muted); 
}

.ifv-cta { 
  display:flex; 
  flex-direction:column; 
  gap:8px; 
}

.ifv-call, 
.ifv-visit { 
  display:inline-block; 
  text-decoration:none; 
  padding:8px 12px; 
  border-radius:10px; 
  background:var(--accent); 
  color:#fff !important;
  box-shadow: 0 6px 18px rgba(14,165,132,0.08); 
}

a.ifv-call, 
a.ifv-visit { 
  display:inline-block; 
  text-decoration:none; 
  padding:8px 12px; 
  border-radius:10px; 
  background:var(--accent); 
  color:#fff;  /* ✅ blanco correcto */
  box-shadow: 0 6px 18px rgba(14,165,132,0.08); 
}

.ifv-visit { 
  background:transparent; 
  color:var(--accent); 
  border:1px solid rgba(14,165,132,0.12); 
}

.ifv-about-grid { 
  display:grid; 
  grid-template-columns:repeat(2,1fr); 
  gap:12px; 
  margin-top:8px; 
  color:var(--muted); 
}

.ifv-about-grid div { 
  
  padding:10px; 
  border-radius:8px; 
  border:1px solid rgba(14,165,132,0.12); 
}

.ifv-gallery img { 
  width:64px; 
  height:64px; 
  object-fit:cover; 
  border-radius:8px; 
  margin:6px 6px 0 0; 
}

.ifv-review { 
  border-top:1px solid #eef2f7; 
  padding:12px 0; 
}

.ifv-review small { 
  color:var(--muted); 
  margin-left:8px; 
}

.ifv-single.modern .ifv-card-aside { 
  background:linear-gradient(180deg, rgba(255,255,255,0.8), rgba(250,250,250,0.8)); 
  padding:16px; 
  border-radius:var(--radius); 
  box-shadow:var(--shadow); 
}

.ifv-logo { 
  width:100%; 
  height:auto; 
  border-radius:8px; 
  margin-bottom:12px; 
}

.ifv-reviews .ifv-review-form { 
  display:flex; 
  flex-direction:column; 
  gap:8px; 
  margin-top:12px; 
}

.ifv-reviews input[type="text"], 
.ifv-reviews textarea { 
  padding:10px; 
  border-radius:8px; 
  border:1px solid #e6eef5; 
  background:#fff; 
}

.ifv-btn { 
  background:var(--accent); 
  color:#fff; 
  border:none; 
  padding:10px 14px; 
  border-radius:10px; 
  cursor:pointer; 
}

.ifv-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:16px;
  margin-top:1rem;
}

.ifv-card {
  border-radius:12px;
  padding:14px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 8px 24px rgba(2,6,23,0.04);
  border:1px solid rgba(15,23,42,0.04);
}

.ifv-card img {
  width:100%;
  height:140px;
  object-fit:cover;
  border-radius:8px;
  margin-bottom:10px;
}

.ifv-card h3 {
  margin:0 0 6px;
  font-size:1.05rem;
  color:#0f172a;
}

.ifv-card .ifv-excerpt {
  color:var(--muted);
  margin-bottom:8px;
}

.ifv-panel {
  padding:12px;
  background:linear-gradient(180deg,#fff,#f7ffff);
  border-radius:12px;
  border:1px solid rgba(15,23,42,0.03);
  box-shadow:0 6px 18px rgba(2,6,23,0.02);
}

.ifv-row {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.ifv-row input, 
.ifv-row select {
  padding:8px;
  border:1px solid #e6eef5;
  border-radius:10px;
}

/* responsive */
@media screen and (max-width:1000px){
  body .ifv-container { 
    grid-template-columns: 1fr; 
  }
  .ifv-main { 
    order:1; 
  }
  .ifv-aside, 
  .ifv-map-mini { 
    display:none !important; 
  }
}

/* Para pantallas más pequeñas (tablets) */
@media (max-width: 768px) {
  .ifv-about-grid {
    grid-template-columns: 1fr; /* 1 columna */
  }
}