/* ============================================
   BLOG-SPECIFIC STYLES
   ============================================ */

/* Blog Index Page Hero */
body:not(.blog-index-premium-page) .blog-index-hero {
  background: linear-gradient(135deg, #0b5ed7 0%, #0b3d91 100%);
  color: white;
  padding: 4rem 1rem 3rem;
  text-align: center;
}

body:not(.blog-index-premium-page) .blog-index-hero h1 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

body:not(.blog-index-premium-page) .blog-index-hero .lead {
  font-size: 1.25rem;
  max-width: 700px;
  margin: 0 auto 2rem;
  opacity: 0.95;
}

body:not(.blog-index-premium-page) .blog-index-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 1rem;
}

body:not(.blog-index-premium-page) .blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

body:not(.blog-index-premium-page) .blog-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}

body:not(.blog-index-premium-page) .blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

body:not(.blog-index-premium-page) .blog-card-image {
  width: 100%;
  height: 200px;
  background: linear-gradient(135deg, #0b5ed7 0%, #0b3d91 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  color: white;
}

body:not(.blog-index-premium-page) .blog-card-content {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

body:not(.blog-index-premium-page) .blog-card-tag {
  display: inline-block;
  background: #e0f2fe;
  color: #0369a1;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  width: fit-content;
}

body:not(.blog-index-premium-page) .blog-card h2 {
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
  color: #1e293b;
  line-height: 1.3;
}

body:not(.blog-index-premium-page) .blog-card p {
  color: #64748b;
  margin-bottom: 1.5rem;
  flex: 1;
  line-height: 1.6;
}

body:not(.blog-index-premium-page) .blog-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  color: #5f728f;
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}

body:not(.blog-index-premium-page) .blog-card-link {
  display: inline-block;
  color: #0ea5e9;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

body:not(.blog-index-premium-page) .blog-card-link:hover {
  color: #0369a1;
  text-decoration: underline;
}

body:not(.blog-index-premium-page) .blog-cta {
  background: #f8fafc;
  border-radius: 12px;
  padding: 2rem;
  text-align: center;
  margin-top: 3rem;
}

body:not(.blog-index-premium-page) .blog-cta h3 {
  font-size: 1.75rem;
  margin-bottom: 1rem;
  color: #1e293b;
}

body:not(.blog-index-premium-page) .blog-cta p {
  color: #64748b;
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  body:not(.blog-index-premium-page) .blog-index-hero h1 {
    font-size: 2rem;
  }

  body:not(.blog-index-premium-page) .blog-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   SOBRE AREAS PAGE STYLES
   ============================================ */

.about-mission-box {
  background: white;
  border-radius: 12px;
  padding: 2.5rem;
  margin-bottom: 3rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.about-section-title {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  color: #0369a1;
}

.about-mission-text-main {
  font-size: 1.1rem;
  color: #334155;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.about-mission-text-sub {
  font-size: 1.05rem;
  color: #475569;
  line-height: 1.7;
  margin: 0;
}

.about-bello-box {
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
  border-radius: 12px;
  padding: 2.5rem;
  margin-bottom: 3rem;
}

.about-features-grid {
  display: grid;
  gap: 1.25rem;
}

.about-feature-card {
  background: white;
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid #0ea5e9;
}

.about-feature-card.savings {
  border-left-color: #0ea5e9;
}

.about-feature-card.connectivity {
  border-left-color: #10b981;
}

.about-feature-card.residential {
  border-left-color: #f59e0b;
}

.about-feature-title {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  color: #0f172a;
}

.about-feature-text {
  margin: 0;
  color: #475569;
  line-height: 1.6;
}

.about-differentiators-box {
  background: white;
  border-radius: 12px;
  padding: 2.5rem;
  margin-bottom: 3rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.about-differentiators-list {
  padding-left: 1.5rem;
  color: #334155;
  line-height: 2;
  font-size: 1.05rem;
}

.about-qube-box {
  background: #f8fafc;
  border-radius: 12px;
  padding: 2.5rem;
  margin-bottom: 3rem;
}

.about-qube-text-main {
  font-size: 1.05rem;
  color: #334155;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.about-qube-text-sub {
  font-size: 1.05rem;
  color: #475569;
  line-height: 1.7;
  margin: 0;
}

/* Blog Index Specific Footer */
body:not(.blog-index-premium-page) .blog-footer-index {
  background: #1e293b;
  color: white;
  padding: 2rem 1rem;
  text-align: center;
  margin-top: 3rem;
}

.footer-text-muted {
  margin-top: 0.5rem;
  opacity: 0.7;
}

.footer-link-white-inline {
  color: white;
  margin: 0 0.5rem;
  text-decoration: none;
}

.footer-link-white-inline:hover {
  text-decoration: underline;
}

.btn-margin-left {
  margin-left: 1rem;
}

/* ==============================================
   Blog Article Styles
   Estilos para artículos y páginas de blog
   ============================================== */

/* Body & Layout */

/* Breadcrumbs */
.breadcrumb-nav {
  padding: 1rem 0;
  background: #f5f5f5;
}

.breadcrumb-list {
  list-style: none;
  display: flex;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
}

.breadcrumb-list a {
  color: #0066cc;
}

.breadcrumb-separator {
  color: #666;
}

.breadcrumb-current {
  color: #333;
}

/* Main Article Container */
.article-container {
  max-width: 800px;
  margin: 2rem auto;
  padding: 0 1rem;
}

/* Article Header */
.article-header {
  margin-bottom: 2rem;
}

.article-title {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  line-height: 1.2;
}

.article-meta {
  color: #666;
  font-size: 0.95rem;
}

/* Article Sections */
.article-section {
  margin-bottom: 3rem;
}

.section-intro {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #333;
}

.section-title {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  color: #222;
}

.subsection-title {
  font-size: 1.4rem;
  margin: 2rem 0 1rem;
  color: #333;
}

.subsection-title-small {
  font-size: 1.2rem;
  margin-bottom: 0.75rem;
  color: #333;
}

/* Text Elements */
.article-text {
  line-height: 1.8;
  margin-bottom: 1rem;
}

.article-list {
  line-height: 1.8;
  margin-left: 1.5rem;
  margin-bottom: 1.5rem;
}

/* Comparison Table */
.table-container {
  overflow-x: auto;
  margin-bottom: 2rem;
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.comparison-table thead tr {
  background: #f5f5f5;
}

.comparison-table th,
.comparison-table td {
  padding: 0.75rem;
  border: 1px solid #ddd;
}

.comparison-table th {
  text-align: left;
}

.comparison-table td {
  text-align: right;
}

.comparison-table td:first-child {
  text-align: left;
}

.comparison-table tbody tr:nth-child(even) {
  background: #fafafa;
}

.price-highlight {
  color: #059669;
  font-weight: 600;
}

/* Info Box / Alert */
.info-box {
  background: #f0f9ff;
  border-left: 4px solid #0284c7;
  padding: 1rem;
  margin-bottom: 1.5rem;
  line-height: 1.8;
}

/* Feature Cards Grid */
.feature-cards {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.feature-card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 1.5rem;
}

.feature-card h3 {
  font-size: 1.2rem;
  margin-bottom: 0.75rem;
  color: #333;
}

.feature-card p {
  line-height: 1.8;
  margin: 0;
}

/* CTA Section */
.cta-section {
  background: linear-gradient(135deg, #4f46e5 0%, #5b21b6 100%);
  color: white;
  padding: 2.5rem;
  border-radius: 12px;
  text-align: center;
  margin: 3rem 0;
}

.cta-title {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: white;
}

.cta-text {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
  line-height: 1.6;
  opacity: 0.95;
}

.cta-button {
  display: inline-block;
  background: white;
  color: #5046e4;
  padding: 1rem 2rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  font-size: 1.1rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Article Footer / Metadata */
.article-footer {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e7eb;
  color: #666;
  font-size: 0.9rem;
}

.article-footer p {
  margin-bottom: 0.5rem;
}

.article-footer strong {
  color: #333;
}

.about-box {
  background: #f9fafb;
  padding: 1rem;
  border-radius: 6px;
  margin-top: 1.5rem;
}

.about-box p {
  margin: 0;
  line-height: 1.6;
}

/* Site Footer (for blog pages) */
.site-footer {
  background: #1f2937;
  color: white;
  padding: 2rem 0;
  margin-top: 4rem;
}

.site-footer .container {
  text-align: center;
}

.footer-logo {
  height: 40px;
  margin-bottom: 1rem;
}

.footer-text {
  margin-bottom: 0.5rem;
}

.footer-subtext {
  color: #9ca3af;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.footer-nav {
  margin-bottom: 1rem;
}

.footer-nav a {
  color: white;
  margin: 0 1rem;
  text-decoration: none;
}

.footer-nav a:hover {
  text-decoration: underline;
}

.footer-copyright {
  color: #9ca3af;
  font-size: 0.85rem;
}

/* FAQ Specific Styles */
.faq-container {
  max-width: 900px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.faq-intro {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #444;
  margin-bottom: 3rem;
  text-align: center;
}

.faq-item {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.faq-question {
  font-size: 1.3rem;
  margin-bottom: 1rem;
  color: #1f2937;
  font-weight: 600;
}

.faq-answer {
  line-height: 1.8;
  color: #374151;
  margin: 0;
}

.faq-answer ul {
  margin: 1rem 0;
  padding-left: 1.5rem;
}

.faq-answer li {
  margin-bottom: 0.5rem;
}

/* Blog Index Styles */
.blog-index-container {
  max-width: 1000px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.blog-index-title {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  text-align: center;
}

.blog-index-subtitle {
  font-size: 1.1rem;
  color: #666;
  text-align: center;
  margin-bottom: 3rem;
}

.blog-card-category {
  font-size: 0.85rem;
  color: #667eea;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.blog-card-title {
  font-size: 1.4rem;
  margin-bottom: 0.75rem;
  color: #1f2937;
  line-height: 1.3;
}

.blog-card-title a {
  color: inherit;
  text-decoration: none;
}

.blog-card-title a:hover {
  color: #667eea;
}

.blog-card-excerpt {
  color: #6b7280;
  line-height: 1.6;
  margin-bottom: 1rem;
}

/* Footer adicional */
.footer-muted {
  color: #9ca3af;
  margin-bottom: 0.5rem;
}

.footer-link {
  color: white;
  margin: 0 1rem;
  text-decoration: none;
}

.footer-link:hover {
  text-decoration: underline;
}

.footer-link-blue {
  color: #0ea5e9 !important;
  text-decoration: none;
}

.footer-link-blue:hover {
  text-decoration: underline;
}

.footer-links {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

/* Clases para tablas adicionales */
.price-success {
  padding: 0.75rem;
  text-align: right;
  border: 1px solid #ddd;
  font-weight: 600;
  color: #059669;
}

/* Info cards (para estudiantes) */
.info-card {
  background: #f0f9ff;
  border: 1px solid #0ea5e9;
  border-radius: 8px;
  padding: 1.25rem;
}

.info-card-title {
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
  color: #0369a1;
}

.info-card-text {
  margin: 0;
  color: #475569;
  font-size: 0.95rem;
}

/* Secciones especiales */
.section-title-special {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  color: #0369a1;
  border-bottom: 3px solid #0ea5e9;
  padding-bottom: 0.5rem;
}

/* Steps / Pasos */
.steps-grid {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.step-item {
  display: flex;
  gap: 1.25rem;
  align-items: start;
}

.step-number {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  flex-shrink: 0;
  color: white;
}

.step-number-blue {
  background: #0ea5e9;
}

.step-number-green {
  background: #10b981;
}

.step-number-orange {
  background: #f59e0b;
}

.step-title {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  color: #0f172a;
}

.step-text {
  margin: 0;
  color: #475569;
  line-height: 1.6;
}

.link-primary {
  color: #0ea5e9;
  text-decoration: none;
  font-weight: 600;
}

.link-primary:hover {
  text-decoration: underline;
}

/* Testimonios */
.testimonial {
  background: #f8fafc;
  padding: 1.5rem;
  border-radius: 4px;
  border-left: 4px solid;
}

.testimonial-blue {
  border-left-color: #0ea5e9;
}

.testimonial-green {
  border-left-color: #10b981;
}

.testimonial-orange {
  border-left-color: #f59e0b;
}

.testimonial-text {
  margin-bottom: 1rem;
  font-style: italic;
  color: #334155;
  line-height: 1.6;
}

.testimonial-author {
  margin: 0;
  font-weight: 600;
  color: #0369a1;
}

/* FAQ adicional */
.faq-item details {
  cursor: pointer;
}

.faq-item summary {
  cursor: pointer;
  font-weight: 600;
  color: #0369a1;
  font-size: 1.05rem;
}

/* CTA especial */
.cta-box-special {
  background: linear-gradient(135deg, #0b5ed7 0%, #0b3d91 100%);
  color: white;
  padding: 3rem 2rem;
  border-radius: 12px;
  text-align: center;
  margin-bottom: 2.5rem;
}

.cta-title-large {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  font-weight: 700;
  color: white;
}

.cta-subtitle {
  font-size: 1.1rem;
  margin-bottom: 2rem;
  opacity: 0.95;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.cta-buttons-flex {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-cta-white {
  background: white;
  color: #0369a1;
  padding: 1rem 2rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: transform 0.2s;
}

.btn-cta-white:hover {
  transform: translateY(-2px);
}

.btn-cta-green {
  background: #047857;
  color: white;
  padding: 1rem 2rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.btn-cta-green:hover {
  transform: translateY(-2px);
}

/* Secciones relacionadas */
.related-section {
  background: #f8fafc;
  padding: 2rem;
  border-radius: 8px;
  margin-bottom: 2rem;
}

.related-title {
  font-size: 1.4rem;
  margin-bottom: 1.25rem;
  color: #0f172a;
}

.related-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

.related-link {
  color: #0ea5e9;
  text-decoration: none;
  font-weight: 500;
}

.related-link:hover {
  text-decoration: underline;
}

/* Footer del artículo metadata */
.article-footer-meta {
  border-top: 2px solid #e2e8f0;
  padding-top: 1.5rem;
  margin-top: 3rem;
}

.meta-item {
  margin-bottom: 0.5rem;
  color: #64748b;
  font-size: 0.9rem;
}

.meta-text {
  margin-top: 1.5rem;
  color: #64748b;
  font-size: 0.9rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .article-title {
    font-size: 2rem;
  }

  .section-title {
    font-size: 1.5rem;
  }

  .subsection-title {
    font-size: 1.2rem;
  }

  .cta-section {
    padding: 1.5rem;
  }

  .cta-title {
    font-size: 1.5rem;
  }

  .blog-grid {
    grid-template-columns: 1fr;
  }
  
  .step-item {
    flex-direction: column;
  }
  
  .cta-buttons-flex {
    flex-direction: column;
  }
}

/* ============================================
   FAQ PAGE SPECIFIC STYLES
   ============================================ */

/* FAQ Hero Section */
.faq-hero {
  background: linear-gradient(135deg, #0b5ed7 0%, #0b3d91 100%);
  color: white;
  padding: 4rem 1rem;
  text-align: center;
}

.faq-hero-container {
  max-width: 1000px;
  margin: 0 auto;
}

.faq-hero h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

.faq-hero p {
  font-size: 1.15rem;
  margin-bottom: 1rem;
  opacity: 0.95;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* FAQ Content Section */
.faq-section-content {
  padding: 4rem 1rem;
}

.faq-content-container {
  max-width: 900px;
  margin: 0 auto;
}

/* Info Box Blue (for intro box) */
.info-box-blue {
  background: #f0f9ff;
  border-left: 4px solid #0ea5e9;
  padding: 1.5rem;
  margin-bottom: 3rem;
  border-radius: 4px;
}

.info-box-blue p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #164e63;
}

.info-link-blue {
  color: #0369a1;
  font-weight: 600;
  text-decoration: none;
}

.info-link-blue:hover {
  text-decoration: underline;
}

/* FAQ Grid Container */
.faq-grid-container {
  display: grid;
  gap: 1.25rem;
  margin-bottom: 3rem;
}

/* FAQ Answer Content Wrapper */
.faq-answer-content {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}

/* FAQ Text Elements */
.faq-text {
  margin-bottom: 1rem;
  color: #334155;
  line-height: 1.7;
}

.faq-text-last {
  margin: 0;
  color: #334155;
  line-height: 1.7;
}

.faq-text-mt {
  margin-top: 1rem;
  color: #334155;
  line-height: 1.7;
}

.faq-text-mb-half {
  margin-bottom: 0.5rem;
  color: #334155;
  line-height: 1.7;
}

.faq-text-mb-075 {
  margin-bottom: 0.75rem;
  color: #334155;
  line-height: 1.7;
}

.faq-text-success {
  margin-top: 1rem;
  color: #16a34a;
  font-weight: 600;
}

/* FAQ Lists */
.faq-list {
  margin: 0;
  padding-left: 1.5rem;
  color: #334155;
  line-height: 1.7;
}

.faq-list-mb {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  color: #334155;
  line-height: 1.7;
}

.faq-list-ordered {
  margin: 0;
  padding-left: 1.5rem;
  color: #334155;
  line-height: 2;
}

.faq-link {
  color: #0ea5e9;
  font-weight: 600;
  text-decoration: none;
}

.faq-link:hover {
  text-decoration: underline;
}

/* Included Items Grid (for checkmarks) */
.included-items-grid {
  display: grid;
  gap: 1rem;
}

.included-item {
  display: flex;
  gap: 0.75rem;
  align-items: start;
}

.checkmark-green {
  color: #16a34a;
  font-weight: bold;
  flex-shrink: 0;
}

.item-description {
  color: #334155;
  line-height: 1.6;
}

/* FAQ CTA Box */
.faq-cta-box {
  background: linear-gradient(135deg, #0b5ed7 0%, #0b3d91 100%);
  color: white;
  padding: 3rem 2rem;
  border-radius: 12px;
  text-align: center;
  margin-top: 4rem;
}

.faq-cta-box h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.faq-cta-box p {
  font-size: 1.1rem;
  margin-bottom: 2rem;
  opacity: 0.95;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.faq-cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-whatsapp-green {
  background: #047857;
  color: white;
  padding: 1rem 2rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: transform 0.2s;
}

.btn-whatsapp-green:hover {
  transform: translateY(-2px);
}

/* Tenant Payment Page */
body:not(.tenant-payment-premium-page) .tenant-payment-intro{
  margin:0;
  font-size:1.05rem;
  line-height:1.6;
  color:#164e63;
}

body:not(.tenant-payment-premium-page) .tenant-payment-card{
  margin-top:2rem;
  padding:2.5rem;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

body:not(.tenant-payment-premium-page) .tenant-payment-card-title{
  margin:0 0 1.5rem;
  color:#0369a1;
  font-size:1.6rem;
  text-align:center;
}

body:not(.tenant-payment-premium-page) .tenant-payment-options{
  display:grid;
  gap:1.5rem;
  margin-bottom:2rem;
}

body:not(.tenant-payment-premium-page) .tenant-payment-option{
  padding-left:1.5rem;
  border-left:4px solid #0ea5e9;
}

body:not(.tenant-payment-premium-page) .tenant-payment-option.is-wallet{
  border-left-color:#047857;
}

body:not(.tenant-payment-premium-page) .tenant-payment-option.is-coming-soon{
  border-left-color:#b45309;
}

body:not(.tenant-payment-premium-page) .tenant-payment-option h3{
  margin:0 0 .75rem;
  color:#0f172a;
  font-size:1.2rem;
}

body:not(.tenant-payment-premium-page) .tenant-payment-option p{
  margin:0;
  color:#475569;
  line-height:1.6;
}

body:not(.tenant-payment-premium-page) .tenant-payment-actions{
  margin-top:2.5rem;
  text-align:center;
}

body:not(.tenant-payment-premium-page) .tenant-payment-wa-link{
  display:inline-block;
  padding:1rem 2.5rem;
  border-radius:8px;
  background:#047857;
  color:#fff;
  text-decoration:none;
  font-size:1.1rem;
  font-weight:600;
  box-shadow:0 4px 12px rgba(4,120,87,0.28);
  transition:transform .2s ease, box-shadow .2s ease;
}

body:not(.tenant-payment-premium-page) .tenant-payment-wa-link:hover,
body:not(.tenant-payment-premium-page) .tenant-payment-wa-link:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(4,120,87,0.2);
}

body:not(.tenant-payment-premium-page) .tenant-payment-note{
  margin-top:2rem;
  padding:1.5rem;
  border-radius:8px;
  background:#f8fafc;
}

body:not(.tenant-payment-premium-page) .tenant-payment-note h3{
  margin:0 0 1rem;
  color:#0f172a;
  font-size:1.2rem;
}

body:not(.tenant-payment-premium-page) .tenant-payment-note ul{
  margin:0;
  padding-left:1.5rem;
  color:#475569;
  line-height:1.8;
}

body:not(.tenant-payment-premium-page) .tenant-payment-footer{
  margin-top:3rem;
  padding-top:2rem;
  border-top:2px solid #e2e8f0;
  text-align:center;
}

body:not(.tenant-payment-premium-page) .tenant-payment-footer p{
  margin:0;
  color:#475569;
  font-size:.95rem;
}

body:not(.tenant-payment-premium-page) .tenant-payment-footer a{
  color:#0369a1;
  font-weight:700;
}

.btn-explore-white {
  background: white;
  color: #0369a1;
  padding: 1rem 2rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: transform 0.2s;
}

.btn-explore-white:hover {
  transform: translateY(-2px);
}

/* ============================================
   PREMIUM OVERRIDES: BLOG INDEX + TENANT PAYMENTS
   ============================================ */

body.blog-index-premium-page,
body.tenant-payment-premium-page{
  background-image:
    radial-gradient(circle at top left, rgba(207,225,255,0.9) 0%, rgba(207,225,255,0) 34%),
    radial-gradient(circle at top right, rgba(245,250,255,0.95) 0%, rgba(245,250,255,0) 42%),
    linear-gradient(180deg, #f5f3ee 0%, #f7f8fb 100%);
}

.blog-index-hero,
.tenant-payment-hero{
  position:relative;
  overflow:hidden;
  padding:42px 0 22px;
  background:transparent;
  color:#10203f;
  text-align:left;
}

.blog-index-hero::before,
.tenant-payment-hero::before{
  content:"";
  position:absolute;
  inset:18px 20px 0;
  border-radius:36px;
  background:
    radial-gradient(circle at 12% 18%, rgba(113,165,255,0.22), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(11,31,77,0.18), transparent 26%),
    linear-gradient(135deg, #0d1f4d 0%, #1f4ea7 48%, #edf4ff 140%);
  box-shadow:0 28px 60px rgba(12,27,63,0.18);
}

.blog-index-hero-shell,
.tenant-payment-hero-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) 360px;
  gap:24px;
  align-items:stretch;
}

.blog-index-hero-copy,
.tenant-payment-hero-copy{
  display:grid;
  gap:18px;
  padding:54px 0 54px 14px;
  color:#f7fbff;
}

.blog-index-kicker,
.tenant-payment-kicker{
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#1e4fae;
}

.blog-index-hero-copy .blog-index-kicker,
.tenant-payment-hero-copy .tenant-payment-kicker{
  color:#8fb6ff;
}

.blog-index-hero h1,
.tenant-payment-hero h1{
  margin:0;
  max-width:13ch;
  font-size:clamp(2.5rem,4.4vw,4.4rem);
  line-height:.96;
  color:#f7fbff;
  text-shadow:0 16px 32px rgba(7,16,41,0.28);
}

.blog-index-hero .lead,
.tenant-payment-lead{
  margin:0;
  max-width:62ch;
  font-size:1.08rem;
  line-height:1.75;
  color:rgba(240,246,255,0.9);
}

.blog-index-actions,
.tenant-payment-hero-actions,
.blog-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.blog-index-hero .btn.ghost,
.tenant-payment-hero .btn.ghost{
  border-color:rgba(255,255,255,0.48);
  color:#f7fbff;
  background:rgba(8,22,58,0.28);
}

.blog-index-hero-card,
.tenant-payment-hero-card{
  position:relative;
  z-index:1;
  align-self:end;
  display:grid;
  gap:14px;
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(198,219,255,0.42);
  background:linear-gradient(180deg, rgba(250,252,255,0.94), rgba(234,241,255,0.88));
  box-shadow:0 22px 44px rgba(12,27,63,0.18);
}

.blog-index-hero-card h2,
.tenant-payment-hero-card h2{
  margin:0;
  font-size:1.6rem;
  line-height:1.1;
  color:#11264a;
}

.blog-index-highlights,
.tenant-payment-points,
.tenant-payment-note-list,
.tenant-payment-policy-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.blog-index-highlights li,
.tenant-payment-points li,
.tenant-payment-note-list li,
.tenant-payment-policy-list li{
  position:relative;
  padding-left:26px;
  color:#334761;
  line-height:1.65;
}

.blog-index-highlights li::before,
.tenant-payment-points li::before,
.tenant-payment-note-list li::before,
.tenant-payment-policy-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62rem;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg,#1e4fae,#6ea3ff);
  box-shadow:0 0 0 4px rgba(30,79,174,0.12);
}

.blog-index-content,
.tenant-payment-section{
  padding:18px 0 72px;
}

.blog-index-layout,
.tenant-payment-shell{
  display:grid;
  gap:24px;
}

.blog-index-intro,
.tenant-payment-intro-card{
  display:grid;
  gap:10px;
}

.blog-index-intro h2,
.tenant-payment-intro-card h2{
  margin:0;
  max-width:18ch;
  font-size:clamp(2rem,3vw,2.8rem);
  line-height:1;
  color:#12284f;
}

.blog-index-intro p:last-child,
.tenant-payment-intro{
  margin:0;
  max-width:72ch;
  color:#4b5d77;
  line-height:1.75;
}

body.blog-index-premium-page .blog-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:0;
}

body.blog-index-premium-page .blog-card{
  position:relative;
  border-radius:24px;
  border:1px solid #cbd9ef;
  background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);
  box-shadow:0 18px 34px rgba(11,28,66,0.08);
}

body.blog-index-premium-page .blog-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 40px rgba(11,28,66,0.14);
}

body.blog-index-premium-page .blog-card-image{
  height:164px;
  padding:22px;
  align-items:flex-start;
  justify-content:space-between;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.15), transparent 38%),
    linear-gradient(145deg,#0d1f4d 0%,#1d4ba2 62%,#3c7bde 100%);
}

.blog-card-code{
  font-family:'Orbitron','Space Grotesk',sans-serif;
  font-size:2.4rem;
  line-height:1;
  color:#f7fbff;
  text-shadow:0 10px 20px rgba(6,13,34,0.24);
}

.blog-card-pill{
  align-self:flex-end;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.42);
  background:rgba(7,18,45,0.34);
  color:#ffffff;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

body.blog-index-premium-page .blog-card-content{
  padding:22px;
}

body.blog-index-premium-page .blog-card-tag{
  margin-bottom:.95rem;
  border:1px solid #cfe0ff;
  background:#edf4ff;
  color:#1a4c9b;
}

body.blog-index-premium-page .blog-card h2{
  margin-top:0;
  margin-bottom:.85rem;
  font-size:1.45rem;
  line-height:1.18;
  color:#12284f;
}

body.blog-index-premium-page .blog-card p{
  margin-bottom:1.1rem;
  color:#49607d;
}

body.blog-index-premium-page .blog-card-meta{
  justify-content:flex-start;
  gap:16px;
  color:#49607d;
}

body.blog-index-premium-page .blog-card-link{
  color:#1a4c9b;
}

body.blog-index-premium-page .blog-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:28px;
  margin-top:6px;
  border-radius:26px;
  border:1px solid #c8d8f5;
  background:linear-gradient(145deg,#ffffff,#eef4ff);
  box-shadow:0 18px 34px rgba(11,28,66,0.08);
  text-align:left;
}

body.blog-index-premium-page .blog-cta h3,
body.blog-index-premium-page .blog-cta p{
  margin:0;
}

body.blog-index-premium-page .blog-cta h3{
  font-size:1.8rem;
  color:#12284f;
}

body.blog-index-premium-page .blog-cta p{
  color:#4a5c76;
  line-height:1.7;
}

body.blog-index-premium-page .blog-footer-index{
  background:transparent;
  color:inherit;
  padding-top:0;
  text-align:left;
  margin-top:0;
}

.tenant-payment-shell{
  gap:20px;
}

.tenant-payment-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:20px;
  align-items:start;
}

.tenant-payment-card,
.tenant-payment-side-card,
.tenant-payment-note,
.tenant-payment-intro-card{
  margin:0;
  padding:28px;
  border-radius:24px;
  border:1px solid #cad9f0;
  background:linear-gradient(145deg,#ffffff,#f5f9ff);
  box-shadow:0 18px 34px rgba(11,28,66,0.08);
}

.tenant-payment-card-head,
.tenant-payment-note-head{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.tenant-payment-card-title,
.tenant-payment-note h2,
.tenant-payment-side-card h2{
  margin:0;
  font-size:1.7rem;
  line-height:1.1;
  text-align:left;
  color:#12284f;
}

body.tenant-payment-premium-page .tenant-payment-options{
  gap:14px;
  margin-bottom:0;
}

body.tenant-payment-premium-page .tenant-payment-option{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:flex-start;
  padding:18px;
  border-radius:18px;
  border:1px solid #d6e2f6;
  background:linear-gradient(145deg,#ffffff,#f8fbff);
  border-left:none;
}

body.tenant-payment-premium-page .tenant-payment-option-index{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg,#0d1f4d,#1e4fae);
  color:#f7fbff;
  font-family:'Orbitron','Space Grotesk',sans-serif;
  font-size:.95rem;
}

body.tenant-payment-premium-page .tenant-payment-option.is-wallet .tenant-payment-option-index{
  background:linear-gradient(135deg,#163d88,#3a7ee8);
}

body.tenant-payment-premium-page .tenant-payment-option.is-coming-soon .tenant-payment-option-index{
  background:linear-gradient(135deg,#4f6a9d,#90b5ff);
}

body.tenant-payment-premium-page .tenant-payment-option h3{
  margin:0 0 6px;
  font-size:1.16rem;
  color:#12284f;
}

body.tenant-payment-premium-page .tenant-payment-option p{
  margin:0;
  color:#4c617c;
}

body.tenant-payment-premium-page .tenant-payment-actions{
  margin-top:18px;
  text-align:left;
}

body.tenant-payment-premium-page .tenant-payment-wa-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  padding:1rem 1.4rem;
  border-radius:12px;
  background:linear-gradient(110deg,#0d1f4d,#1e4fae);
  color:#fff;
  box-shadow:0 12px 24px rgba(8,20,48,0.26);
}

body.tenant-payment-premium-page .tenant-payment-wa-link:hover,
body.tenant-payment-premium-page .tenant-payment-wa-link:focus-visible{
  box-shadow:0 0 0 1px rgba(143,194,255,0.45),0 0 18px rgba(86,166,255,0.42),0 14px 28px rgba(11,28,66,0.38);
}

.tenant-payment-side-card{
  display:grid;
  gap:14px;
}

.tenant-payment-side-note,
body.tenant-payment-premium-page .tenant-payment-footer p{
  margin:0;
  color:#4b5d77;
  line-height:1.7;
}

body.tenant-payment-premium-page .tenant-payment-footer{
  margin-top:0;
  padding-top:0;
  border-top:none;
  text-align:left;
}

body.tenant-payment-premium-page .tenant-payment-footer a{
  color:#1a4c9b;
}

@media (max-width: 1100px){
  .blog-index-hero-shell,
  .tenant-payment-hero-shell,
  .tenant-payment-grid,
  .blog-cta{
    grid-template-columns:1fr;
  }
}

@media (max-width: 900px){
  body.blog-index-premium-page .blog-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .blog-index-hero::before,
  .tenant-payment-hero::before{
    inset:12px 12px 0;
    border-radius:26px;
  }

  .blog-index-hero-copy,
  .tenant-payment-hero-copy{
    padding:40px 0 24px;
  }

  .blog-index-hero-shell,
  .tenant-payment-hero-shell{
    grid-template-columns:1fr;
  }

  .blog-index-hero h1,
  .tenant-payment-hero h1{
    max-width:none;
  }

  .blog-card-image{
    height:140px;
  }

  body.blog-index-premium-page .blog-cta,
  .tenant-payment-card,
  .tenant-payment-side-card,
  .tenant-payment-note,
  .tenant-payment-intro-card,
  .blog-index-hero-card,
  .tenant-payment-hero-card{
    padding:22px;
  }
}

@media (max-width: 560px){
  .blog-index-actions,
  .tenant-payment-hero-actions,
  .blog-cta-actions{
    flex-direction:column;
  }

  .blog-index-actions .btn,
  .tenant-payment-hero-actions .btn,
  .blog-cta-actions .btn,
  .tenant-payment-wa-link{
    width:100%;
    min-width:0;
  }

  body.blog-index-premium-page .blog-card-content{
    padding:18px;
  }

  body.blog-index-premium-page .blog-card-meta{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
}
