/*
 Theme Name: Afrinex
 Theme URI: https://furnituredesigns.xyz
 Description: Child theme for GeneratePress
 Author: Afrinex Network
 Author URI: https://furnituredesigns.xyz
 Template: generatepress
 Version: 1.0.0
*/

/* Import parent theme styles */
@import url("../generatepress/style.css");

/* Custom Afrinex styles go below */
body {
    font-family: 'Poppins', sans-serif;
}

/* Afrinex Sngle Services styles */

/* Afrinex color variables */
:root{
  --af-yellow:#F7F701;
  --af-green:#28A745;
  --af-blue:#0000E7;
  --af-text:#111;
  --af-muted:#f6f7f8;
}

/* Layout wrapper */

/* === Fix homepage full-width layout === */

/* Apply sidebar flex layout on single posts, archives, categories, tags, search results, blog index, and custom Blog Page (ID 272) */
body.single .with-sidebar,
body.archive .with-sidebar,
body.category .with-sidebar,
body.tag .with-sidebar,
body.search .with-sidebar,
body.blog .with-sidebar,
body.page-id-272 .with-sidebar {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 20px;
  box-sizing: border-box;
}

/* Ensure main and sidebar sizing for all the above templates */
body.single .with-sidebar .site-main,
body.archive .with-sidebar .site-main,
body.category .with-sidebar .site-main,
body.tag .with-sidebar .site-main,
body.search .with-sidebar .site-main,
body.blog .with-sidebar .site-main,
body.page-id-272 .with-sidebar .site-main {
  flex: 1 1 0%;
  min-width: 0;
  max-width: 100%;
}

body.single .with-sidebar .sidebar,
body.archive .with-sidebar .sidebar,
body.category .with-sidebar .sidebar,
body.tag .with-sidebar .sidebar,
body.search .with-sidebar .sidebar,
body.blog .with-sidebar .sidebar,
body.page-id-272 .with-sidebar .sidebar {
  flex: 0 0 200px;
  max-width: 200px;
  background: #fff;
  border-left: 4px solid var(--af-blue);
  padding: 16px;
  box-sizing: border-box;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/* Homepage override: force full canvas */
body.home #main.af-main {
  width: 100%;
  float: none;
  margin: 0 auto;
}

body.home .with-sidebar {
  display: block;
  padding: 0;
}

/* Sidebar branding */
.sidebar .widget {
  margin-bottom: 18px;
  padding: 14px;
  background: var(--af-muted);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.sidebar .widget .widget-title, .sidebar h3, .sidebar h4 {
  color: var(--af-blue);
  margin: 0 0 8px 0;
  font-weight: 800;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .6px;
}

.sidebar a {
  color: var(--af-blue);
  text-decoration: none;
}

.sidebar a:hover {
  color: var(--af-green);
}

.sidebar .widget .button, .sidebar .widget a.button {
  display: inline-block;
  background: var(--af-blue);
  color: #fff;
  padding: 10px 14px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0,0,231,0.12);
}

.sidebar .widget .button.secondary {
  background: var(--af-green);
}

/* Ensure no duplicate inner sidebars are visible */
.service-sidebar {
  display: none !important;
}

/* Service template */
.afrinex-service-template {
  background: #fff;
  border: 3px solid var(--af-blue);
  border-radius: 10px;
  padding: 18px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}

/* Hero area */
.service-hero {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
}

.service-image img {
  width: 220px;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  border: 2px solid rgba(0,0,0,0.04);
}

.service-hero-meta {
  flex: 1;
  text-align: center;
}

/* Sticky elements */
.sticky-element {
  position: -webkit-sticky;
  position: sticky;
  top: 12px;
  z-index: 20;
}

/* Title styling */
.service-title {
  color: var(--af-blue);
  margin: 0 0 8px 0;
  font-size: 1.9rem;
  line-height: 1.1;
}

/* Old price (italic, smaller, centered, struck) */
.service-old-price {
  margin: 8px 0;
  text-align: center;
}

.service-old-price .old-price-text {
  color: #666;
  font-style: italic;
  text-decoration: line-through;
  font-weight: 700;
  display: inline-block;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 0.95rem;
  background: rgba(0,0,0,0.02);
}

/* Centered current price below title (modern look) */
.centered-price {
  margin-top: 10px;
  text-align: center;
}

.centered-price .price-value {
  display: inline-block;
  background: linear-gradient(90deg, rgba(247,247,1,1), rgba(255,250,200,1));
  color: #000;
  padding: 12px 18px;
  border-radius: 10px;
  font-weight: 900;
  font-size: 1.4rem;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.04);
  transition: transform .18s ease;
}

.centered-price .price-value:hover {
  transform: scale(1.03);
}

/* Service body */
.service-body {
  display: block;
}

.service-main {
  width: 100%;
}

/* Requirements list as bullets */
.requirements-list {
  margin: 8px 0 0 20px;
  padding: 0;
  list-style-type: disc;
  color: var(--af-text);
}

.requirements-list li {
  margin: 6px 0;
}

/* CTAs: sticky and prominent */
.service-ctas {
  margin-top: 18px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.cta-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

/* CTA buttons */
.cta-button {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 8px;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  transition: transform .12s ease, box-shadow .12s ease;
  min-width: 220px;
  text-align: center;
  border: none;
  cursor: pointer;
}

.cta-button.whatsapp {
  background: var(--af-green);
  box-shadow: 0 8px 22px rgba(40,167,69,0.18);
}

.cta-button.order-online {
  background: var(--af-blue);
  box-shadow: 0 8px 22px rgba(0,0,231,0.18);
}

.cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(0,0,0,0.12);
}

/* Archive grid / cards */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.service-card {
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  transition: transform .2s ease, box-shadow .2s ease;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 26px rgba(0,0,0,0.12);
}

.card-thumb img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.card-body {
  padding: 12px;
  text-align: center;
}

.card-title {
  color: var(--af-blue);
  margin: 0 0 8px 0;
  font-size: 1.2rem;
}

.card-excerpt {
  font-size: 0.95rem;
  color: #444;
  margin-bottom: 10px;
}

.card-old-price {
  font-size: 0.85rem;
  color: #666;
  text-decoration: line-through;
  font-style: italic;
  margin-top: 6px;
}

.card-price {
  background: var(--af-yellow);
  color: #000;
  padding: 6px 12px;
  border-radius: 6px;
  font-weight: 700;
  margin-top: 6px;
  display: inline-block;
}

/* Hover subtle animation for price badge */
.card-price, .centered-price .price-value {
  transition: transform .18s ease, box-shadow .18s ease;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Keep sidebar sizing consistent on medium screens */
  .with-sidebar .sidebar {
    flex: 0 0 200px;
    max-width: 200px;
  }

  .service-image img {
    width: 180px;
  }
}

@media (max-width: 768px) {
  /* On small screens stack content vertically */
  .with-sidebar {
    flex-direction: column;
    padding: 12px;
  }

  .with-sidebar .sidebar {
    order: 2;
    width: 100%;
    max-width: 100%;
    border-left: none;
    border-top: 4px solid var(--af-blue);
    margin-top: 14px;
  }

  .service-hero {
    flex-direction: column;
    align-items: stretch;
  }

  /* Reduce featured image size on small screens */
  .service-image img {
    width: 100%;
    max-height: 180px;
    object-fit: cover;
  }

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

  .centered-price .price-value {
    font-size: 1.15rem;
    padding: 10px 12px;
    min-width: auto;
  }

  /* Make CTAs full width on mobile */
  .cta-button {
    width: 100%;
    min-width: 0;
  }

  .card-thumb img {
    height: 140px;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }
}

/* Small polish */
.archive-title, .service-title, .card-title {
  word-break: break-word;
}

/* Accessibility and focus states */
a:focus, button:focus {
  outline: 3px solid rgba(0,0,231,0.12);
  outline-offset: 2px;
}

/* Utility */
.text-center {
  text-align: center;
}

/* Modern stacked search widget */
.sidebar .widget_search {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.sidebar .widget_search .widget-title {
  margin-bottom: 12px;
  font-size: 1rem;
  font-weight: 800;
  color: var(--af-blue);
  text-transform: uppercase;
  letter-spacing: .6px;
}

/* Stack elements vertically */
.sidebar .widget_search form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Search input box */
.sidebar .widget_search input[type="search"] {
  width: 100%;
  padding: 12px;
  border: 2px solid var(--af-blue);
  border-radius: 6px;
  font-size: 0.95rem;
  color: var(--af-text);
  background: var(--af-muted);
  transition: border-color .2s ease, box-shadow .2s ease;
  box-sizing: border-box;
}

.sidebar .widget_search input[type="search"]:focus {
  border-color: var(--af-green);
  box-shadow: 0 0 0 3px rgba(40,167,69,0.15);
  outline: none;
}

/* Search button */
.sidebar .widget_search input[type="submit"],
.sidebar .widget_search button {
  background: var(--af-blue) !important;
  color: #fff !important;
  border: none;
  padding: 12px;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .2s ease;
  box-shadow: 0 6px 18px rgba(0,0,231,0.12);
  text-align: center;
  width: 100%; /* match input width */
}

.sidebar .widget_search input[type="submit"]:hover,
.sidebar .widget_search button:hover {
  background: var(--af-green) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(40,167,69,0.18);
}

/*home page*/
:root{
  --af-blue:#0b66c3;
  --af-green:#28a745;
  --af-text:#0b1a2b;
  --af-muted:#f6f7f8;
}

/* Full canvas container aligned with GeneratePress */
.af-container{
  width:100%;
  margin:0;
  padding:0 40px; /* matches site canvas padding */
  box-sizing:border-box;
}

/* Sections */
.af-section{
  padding:40px 0;
  background:#fff;
  border-bottom:1px solid rgba(11,26,43,0.06);
}

/* Hero */
.af-hero{
  background:linear-gradient(90deg,rgba(11,102,195,0.06),rgba(40,167,69,0.03));
  text-align:center;
}

.af-hero-title{font-size:2.2rem;color:var(--af-blue);font-weight:800;}
.af-hero-sub{color:#334155;margin:0 0 18px;font-size:1.05rem;}
.af-hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px;}

/* Buttons */
.af-cta{display:inline-block;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:800;text-align:center;}
.af-cta-primary{background:var(--af-blue);color:#fff;}
.af-cta-secondary{background:var(--af-green);color:#fff;}
.af-cta-outline{background:transparent;color:var(--af-blue);border:2px solid rgba(11,102,195,0.08);}

/* Categories */
.af-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;list-style:none;padding:0;margin:0;}
.af-category-card{background:#fff;border:1px solid rgba(11,26,43,0.04);border-radius:12px;transition:transform .18s ease,box-shadow .18s ease;}
.af-category-card:hover{transform:translateY(-6px);box-shadow:0 14px 40px rgba(11,26,43,0.06);}
.af-category-link{display:block;padding:16px;text-decoration:none;color:inherit;}
.af-cat-title{margin:0 0 6px;color:var(--af-blue);font-size:1.05rem;font-weight:800;}
.af-cat-desc{margin:0 0 8px;color:#475569;font-size:0.95rem;}
.af-cat-meta{font-size:0.9rem;color:#64748b;}

/* Latest Cyber Guides cards - remove underline and style */
.af-guides-grid .card-title a {
  text-decoration: none;
  color: var(--af-blue);   /* brand blue by default */
  font-weight: 800;
}

.af-guides-grid .card-excerpt {
  text-decoration: none;
  color: var(--af-text);   /* muted text color */
}

/* Hover effect: change title to Afrinex green */
.af-guides-grid .card-title a:hover {
  color: #28A745;
}


/* Map */
.af-map-wrapper{border-radius:12px;overflow:hidden;border:1px solid rgba(11,26,43,0.04);box-shadow:0 12px 30px rgba(11,26,43,0.04);margin-bottom:16px;background:#f8fafc;}
.af-map-wrapper iframe{display:block;width:100%;height:420px;border:0;}
.af-map-ctas{display:flex;gap:12px;justify-content:center;margin-top:8px;flex-wrap:wrap;}
.af-map-ctas .af-cta{min-width:160px;}

/* Responsive */
@media (max-width:720px){
  .af-hero-title{font-size:1.6rem;}
  .af-map-wrapper iframe{height:300px;}
  .af-map-ctas .af-cta{width:100%;min-width:0;}
}

/*About page*/
.af-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.af-section {
  padding: 40px 0;
  background: #fff;
}

.af-logo {
  max-height: 80px;
  margin-bottom: 20px;
}

.af-hero {
  background: linear-gradient(90deg, rgba(11,102,195,0.06), rgba(40,167,69,0.03));
  text-align: center;
}

.af-hero-title {
  font-size: 2.2rem;
  color: #0b66c3;
  font-weight: 800;
}

.af-tagline {
  font-size: 1.2rem;
  color: #28a745;
  font-weight: 700;
}

.af-lead {
  color: #444;
  font-size: 1rem;
  margin-top: 10px;
}

.af-section h2 {
  color: #0b66c3;
  font-weight: 800;
  margin-bottom: 12px;
}

.af-services li,
.af-section ul li {
  margin-bottom: 8px;
  font-size: 1rem;
}

.af-team {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.af-team-member {
  flex: 1 1 260px;
  text-align: center;
}

.af-team-member img {
  max-width: 160px;
  border-radius: 12px;
  margin-bottom: 12px;
}

.af-cta-banner {
  background: linear-gradient(90deg, #0b66c3, #28a745);
  color: #fff;
  text-align: center;
  border-radius: 12px;
  padding: 30px 20px;
}

.af-hero-ctas {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 12px;
}

.af-cta {
  display: inline-block;
}

/* Remove underline from card links and text */
.card-link,
.card-link .card-title,
.card-link .card-excerpt {
  text-decoration: none;
}

/* Default card title color: brand blue */
.card-link .card-title {
  color: var(--af-blue);
  font-weight: 800;
}

/* Excerpt styling */
.card-link .card-excerpt {
  color: var(--af-text);
}

/* Hover effect: change title color to Afrinex green */
.card-link:hover .card-title {
  color: #28A745;
}

/* Pagination styling */
.pagination,
.nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 24px 0;
}

.pagination .page-numbers,
.nav-links .page-numbers {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
  color: var(--af-blue);
  background: var(--af-muted);
  transition: background .2s ease, color .2s ease;
}

.pagination .page-numbers:hover,
.nav-links .page-numbers:hover {
  background: var(--af-green);
  color: #fff;
}

.pagination .page-numbers.current,
.nav-links .page-numbers.current {
  background: var(--af-blue);
  color: #fff;
}


/* Single post none-services layout */
/* Single post hero layout */
.regular-hero {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.regular-thumb img {
  border-radius: 8px;
  max-width: 240px;
  height: auto;
}

.regular-meta-block {
  flex: 1;
}

.regular-title {
  color: var(--af-blue);
  font-size: 2rem;
  margin: 0 0 8px;
}

.regular-title a {
  text-decoration: none;
  color: var(--af-blue);
}

.regular-title a:hover {
  color: #28A745;
}

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

.regular-separator {
  border: 0;
  border-top: 2px solid var(--af-muted);
  margin: 20px 0;
}

/* Related posts grid */
.related-posts {
  margin-top: 40px;
}

.related-title {
  color: var(--af-blue);
  font-size: 1.4rem;
  margin-bottom: 20px;
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 18px;
}

.related-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 8px;
  padding: 12px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.related-card .card-title {
  color: var(--af-blue);
  font-size: 1rem;
  margin-top: 10px;
}

.related-card .card-title:hover {
  color: #28A745;
}
/* Sticky sidebar on single posts (desktop only) */
@media (min-width: 1024px) {
  body.single .with-sidebar .sidebar {
    position: -webkit-sticky; /* Safari support */
    position: sticky;
    top: 20px; /* distance from top when scrolling */
    align-self: flex-start; /* ensures it respects flex container */
    height: fit-content;
  }
}

/* Contact page styling */
/* Contact page styling */
.af-contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 20px;
}

.af-contact-card {
  background: #fff;
  border: 1px solid rgba(11,26,43,0.06);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  transition: transform .18s ease, box-shadow .18s ease;
}

.af-contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(11,26,43,0.08);
}

.af-contact-card a {
  color: var(--af-blue);
  font-weight: 700;
  text-decoration: none;
}

.af-contact-card a:hover {
  color: var(--af-green);
}

.af-contact-map .af-map-wrapper {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(11,26,43,0.06);
  margin-top: 16px;
}

/* Force sidebar to full width globally */
.with-sidebar .sidebar {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
}

/* On small screens, stack naturally */
@media (max-width: 768px) {
    .with-sidebar {
        flex-direction: column;
    }
    .with-sidebar .sidebar {
        order: 2;
        width: 100%;
        max-width: 100%;
    }
}
/* Default layout: two columns side by side */
.content-area.with-sidebar {
    display: flex;
    flex-wrap: nowrap;
}

/* Main content takes most of the width */
.content-area.with-sidebar main.site-main {
    flex: 3;
    padding-right: 20px;
}

/* Sidebar takes the rest */
.content-area.with-sidebar .sidebar {
    flex: 1;
}

/* Responsive fix for small screens */
@media (max-width: 768px) {
    .content-area.with-sidebar {
        flex-direction: column;   /* stack vertically */
    }

    .content-area.with-sidebar main.site-main,
    .content-area.with-sidebar .sidebar {
        flex: none;
        width: 100%;              /* full width */
        padding-right: 0;
    }

    .content-area.with-sidebar .sidebar {
        margin-top: 20px;         /* spacing between content and sidebar */
    }
}
/* Force content + sidebar to stack on mobile */
@media (max-width: 768px) {
    .content-area.with-sidebar {
        display: block !important;   /* override flex */
        width: 100% !important;
    }

    .content-area.with-sidebar main.site-main,
    .content-area.with-sidebar .sidebar {
        width: 100% !important;      /* full width */
        margin: 0 auto;
        padding: 0;
    }

    .content-area.with-sidebar .sidebar {
        margin-top: 20px;            /* spacing below content */
    }
}

/* Force archive/blog layout full width on mobile */
@media (max-width: 768px) {
    /* Break out of GeneratePress grid */
    .site-content {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Stack content + sidebar vertically */
    .content-area.with-sidebar {
        display: block !important;
        width: 100% !important;
    }

    /* Make both main and sidebar fill screen */
    .content-area.with-sidebar main.site-main,
    .content-area.with-sidebar .sidebar {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Optional: add spacing between them */
    .content-area.with-sidebar .sidebar {
        margin-top: 20px;
    }
}
/* ---------- Mobile full-bleed for archive/blog pages ---------- */
@media (max-width: 768px) {

  /* Target archive/blog/search/category/tag and the custom blog page */
  body.archive .af-container,
  body.category .af-container,
  body.tag .af-container,
  body.search .af-container,
  body.blog .af-container,
  body.page-id-272 .af-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 12px !important;   /* small horizontal padding for breathing room */
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  /* Also override GeneratePress wrappers if present */
  body.archive .site-content,
  body.category .site-content,
  body.tag .site-content,
  body.search .site-content,
  body.blog .site-content,
  body.page-id-272 .site-content,
  body.archive .grid-container,
  body.category .grid-container,
  body.tag .grid-container,
  body.search .grid-container,
  body.blog .grid-container,
  body.page-id-272 .grid-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Ensure content and sidebar stack and fill full width */
  body.archive .with-sidebar,
  body.category .with-sidebar,
  body.tag .with-sidebar,
  body.search .with-sidebar,
  body.blog .with-sidebar,
  body.page-id-272 .with-sidebar {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }

  body.archive .with-sidebar .site-main,
  body.category .with-sidebar .site-main,
  body.tag .with-sidebar .site-main,
  body.search .with-sidebar .site-main,
  body.blog .with-sidebar .site-main,
  body.page-id-272 .with-sidebar .site-main,
  body.archive .with-sidebar .sidebar,
  body.category .with-sidebar .sidebar,
  body.tag .with-sidebar .sidebar,
  body.search .with-sidebar .sidebar,
  body.blog .with-sidebar .sidebar,
  body.page-id-272 .with-sidebar .sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Visual separation between content and sidebar */
  body.archive .with-sidebar .sidebar,
  body.category .with-sidebar .sidebar,
  body.tag .with-sidebar .sidebar,
  body.search .with-sidebar .sidebar,
  body.blog .with-sidebar .sidebar,
  body.page-id-272 .with-sidebar .sidebar {
    margin-top: 18px !important;
    border-left: none !important;
    border-top: 4px solid var(--af-blue) !important;
    border-radius: 8px !important;
    padding: 14px !important;
    background: #fff !important;
  }
}
/* ---------- Full-width sidebar on small screens ---------- */
@media (max-width: 768px) {
  /* Break out of GeneratePress grid */
  .site-content,
  .grid-container,
  .inside-site-content {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Stack content + sidebar vertically */
  .content-area.with-sidebar {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }

  /* Force both main and sidebar to fill screen */
  .content-area.with-sidebar main.site-main,
  .content-area.with-sidebar .sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Sidebar styling when stacked */
  .content-area.with-sidebar .sidebar {
    margin-top: 18px !important;
    border-left: none !important;
    border-top: 4px solid var(--af-blue) !important;
    border-radius: 8px !important;
    padding: 14px !important;
    background: #fff !important;
  }
}

/* Stack hero on mobile for regular blog single posts (not Services) */
@media (max-width: 768px) {

  /* Target single posts that do NOT have the category-services body class */
  body.single:not(.category-services) .regular-hero,
  body.single:not(.category-services) .post-hero,
  body.single:not(.category-services) .hero {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 14px !important;
    padding: 12px !important;
    box-sizing: border-box !important;
  }

  /* Make featured image full width and cap height */
  body.single:not(.category-services) .regular-thumb,
  body.single:not(.category-services) .post-hero .hero-image,
  body.single:not(.category-services) .hero-image {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single:not(.category-services) .regular-thumb img,
  body.single:not(.category-services) .post-hero .hero-image img,
  body.single:not(.category-services) .hero-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 220px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
  }

  /* Ensure meta/title block fills width and centers */
  body.single:not(.category-services) .regular-meta-block,
  body.single:not(.category-services) .hero-meta,
  body.single:not(.category-services) .post-hero .hero-meta {
    width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
  }

  /* Scale down title and meta for mobile */
  body.single:not(.category-services) .regular-title,
  body.single:not(.category-services) .post-title,
  body.single:not(.category-services) .hero-title {
    font-size: 1.4rem !important;
    line-height: 1.25 !important;
    margin: 8px 0 !important;
  }

  body.single:not(.category-services) .meta,
  body.single:not(.category-services) .post-meta {
    font-size: 0.9rem !important;
    color: #666 !important;
  }

  /* Disable sticky behavior on mobile to avoid overlap */
  body.single:not(.category-services) .sticky-element,
  body.single:not(.category-services) .regular-title.sticky-element {
    position: static !important;
    top: auto !important;
  }

  /* Add breathing room for the content below the hero */
  body.single:not(.category-services) .entry-content,
  body.single:not(.category-services) .service-description,
  body.single:not(.category-services) .post-content {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }
}

