/*
 Theme Name:   GeneratePress Child Art8AI Pro
 Theme URI:    https://generatepress.com
 Version:      1.0.2
 Template:     generatepress
 Author:       EgnevaDesigns
 Description:  Custom styles for the Art8AI Pro Child Theme, optimized for SEO and performance.
*/

/* ==========================================
   General Styles
   ========================================== */
/* Basic resets and global tweaks for better SEO (e.g., improved readability) and performance. */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.site-footer a {
  text-decoration: none;
}

.footer-bar p {
    margin-bottom: 0;
}

.entry-content:not(:first-child) {
  margin-top: 1rem;
}

@media (min-width: 769px) {

  body.page .inside-article {
      padding: 64px clamp(40px, 15vw, 240px); 
  }
  
  body.page .entry-content {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto;
  }
  .entry-content-s {
    max-width: 820px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ==========================================
	Copy Prompt Button 
   ========================================== */
.prompt-block-wrapper {
    margin-bottom: 20px;
}
.prompt-block-wrapper blockquote {
	margin: 0 !important;
	padding: 20px 28px; 
	font-size: 18px;
	line-height: 1.7;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(27, 136, 219, 0.05) 0%, rgba(255, 64, 114, 0.05) 100%);
    border: 1px solid var(--accent);
	border-left: 5px solid var(--accent);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

@media (max-width: 768px) {
.prompt-block-wrapper blockquote {

    padding: 15px 15px;
    font-size: 17px;
		line-height: 1.6;
	}
}

.copy-prompt-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 12px 0 0 auto;
    padding: 8px 14px;
    background: var(--base-3);
    color: var(--dark-blue);
    border: 1px solid var(--accent);
    font-weight: 500;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.copy-prompt-btn:hover {
    background: var(--accent);
    color: var(--base-3);
}

.copy-prompt-btn.copied {
    background: var(--accent-2);
	border-color: var(--accent-2);
    color: var(--base-3);
}

.copy-prompt-btn svg {
    display: block;
}

/* ==========================================
   Header Styles
   ========================================== */
/* General header elements, including shadows, navigation, and widgets. */
.site-header,
#mobile-header,
#sticky-navigation {
  border-bottom: 1px solid var(--base);
}

.site-footer {
  border-top: 1px solid var(--base);
}

.inside-article {
  border: 1px solid var(--base);
  border-radius: 12px;
}

.main-navigation .main-nav ul li a {
  line-height: 50px;
}

/* Remove margins from paragraphs in header widgets for cleaner layout. */
.header-widget p {
  margin: 0 !important;
}

/* Header-specific media queries for desktop and mobile layouts. */
/* Desktop Layout (769px+): Logo first, widget second, nav third. */
@media (min-width: 769px) {

  .site-branding{
    order: 2;
  }

  .site-logo {
    order: 1;
  }

  /* Header Widget - Full Width */
  .header-widget {
    order: 3;
    flex: 1;
    min-width: 200px;
    max-width: 700px;
  }

  /* Make the search form inside header-widget expand. */
  .header-widget .widget_block {
    width: 100%;
  }

  #site-navigation {
    padding-left: 20px;
    order: 4; /* Navigation (Third) */
  }

  /* Navigation items get closer together. */
  #site-navigation .main-nav {
    height: 50px;
  }
}

/* Mobile Layout (768px and below): Logo, search, mobile-menu order. */
@media (max-width: 768px) {
  /* Make header use flexbox with CENTER alignment. */
  .inside-header {
    display: flex !important;
    align-items: center !important; /* This is the key fix */
    flex-wrap: nowrap; /* Prevent wrapping */
    padding: 15px !important;
  }

  /* Reduce logo size on mobile. */
  .site-logo {
    width: 40px;
    height: 40px;
  }

  /* Header Widget - Order 2 */
  .header-widget {
    flex: 1;
    margin-top: 10px !important;
  }
}

/* Tablet Adjustments (Optional, up to 1024px). */
@media (max-width: 1024px) {
  /* Add tablet-specific tweaks here if needed. */
}

/* ==========================================
   Breadcrumbs Styles
   ========================================== */
/* Styles for breadcrumbs (integrated with Yoast for SEO). */
.breadcrumbs {
  font-size: 14px;
  margin-bottom: 20px;
  margin-left: 15px;
  color: var(--contrast-3);
}

.breadcrumbs a {
  font-weight: 500;
  text-decoration: none;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

/* ==========================================
   Term Description Styles
   ========================================== */
/* For category/tag descriptions on archive pages. */
.term-description {
  font-size: 0.95rem;
  color: var(--contrast-3);
  margin-bottom: 30px;
}

/* ==========================================
   Grid and Card Styles
   ========================================== */
/* Masonry-style grid for images, optimized for performance (lazy loading implied). */
.art8ai-grid {
  columns: 4;
  column-gap: 16px;
  margin-bottom: 30px;
}

.art8ai-card {
  break-inside: avoid;
  margin-bottom: 16px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  border-radius: 8px;
}

.art8ai-card img {
  width: 100%;
  height: auto;
  display: block;
  background: var(--base-2);
  transition: transform 0.3s ease;
}

.art8ai-card:hover img {
  transform: scale(1.05);
}

.art8ai-card .art8ai-meta {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  color: white;
  padding: 10px;
  background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
  z-index: 2;
}

.art8ai-card:hover .art8ai-meta,
.art8ai-card:focus-within .art8ai-meta {
  
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* ==========================================
   RESPONSIVE BREAKPOINTS
   ========================================== */

/* Desktop: 4 columns */
@media (max-width: 1024px) {
  .separate-containers .inside-article {
    padding: 20px;
  }
  .art8ai-grid, .related .art8ai-grid {
    columns: 3;
    column-gap: 15px;
    margin-bottom: 15px;
  }
  .art8ai-card { margin-bottom: 15px; }
}

@media (max-width: 768px) {
  .grid-sort select {
    padding: 6px 25px 6px 10px;
  }
  .separate-containers .inside-article {
    padding: 10px;
  }
  .art8ai-grid {
    columns: 3;
    column-gap: 10px;
  }
  .art8ai-card { margin-bottom: 10px; }
}

@media (max-width: 480px) {

  .separate-containers .inside-article {
    padding: 6px;
  }
  .art8ai-grid {
    columns: 2;
    column-gap: 6px;
  }
  .art8ai-card { margin-bottom: 6px; }
  /*404 page adjustments*/
  .error-navigation ul {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 2rem 0;
  }
}

/* ==========================================
   Related Grids - Matches Archive
   ========================================== */

/* === FEATURED GRIDS (Homepage, 404, etc.) === */
.art8ai-featured-grids h3 {
  font-size: 1.2rem;
  margin: 20px 0 10px;
  color: var(--contrast-2);
  font-weight: 600;
}
.art8ai-featured-grids {
  margin-bottom: 40px;
}

/* === RELATED GRID (Single Pages) === */
.related .art8ai-grid {
  columns: 4;
  column-gap: 16px;
  margin-bottom: 30px;
}

.related .art8ai-card {
  break-inside: avoid;
  margin-bottom: 16px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  border-radius: 8px;
}

.related .art8ai-card img {
  width: 100%;
  height: auto;
  display: block;
  background: var(--base-2);
  transition: transform 0.3s ease;
}

.related .art8ai-card:hover img {
  transform: scale(1.05);
}

.related .art8ai-card .art8ai-meta {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  color: white;
  padding: 10px;
  background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
  z-index: 2;
}

.related .art8ai-card:hover .art8ai-meta,
.related .art8ai-card:focus-within .art8ai-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Responsive */
@media (max-width: 768px) {
  .related .art8ai-grid {
	  columns: 3; 
	  column-gap: 10px;
	  margin-bottom: 10px; 
	}
}

@media (max-width: 480px) {
  .related .art8ai-grid { 
	  columns: 2; 
	  column-gap: 6px; 
	  margin-bottom: 6px;
	}
}

/* === ICONS IN LOAD MORE / STATS (Global Fix) === */
.load-more svg,
.art8ai-views svg,
.art8ai-downloads svg {
  flex-shrink: 0;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .load-more svg,
  .art8ai-views svg,
  .art8ai-downloads svg {
      margin-left: 4px;
  }
}

/* ==========================================
   Grid Header and Sorting Styles
   ========================================== */
/* Header above the image grid with info and sort dropdown. */
.art8ai-grid-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding: 15px 3px;
  border-bottom: 1px solid var(--gray-border);
}

.grid-info .total-assets, .grid-sort label {
  font-size: 0.95rem;
  color: var(--contrast-3);
  font-weight: 500;
}

.grid-sort {
  display: flex;
  align-items: center;
  gap: 10px;
}

.grid-sort select {
  padding: 8px 30px 8px 12px;
  border: 1px solid var(--gray-border);
  border-radius: 8px;
  background: var(--base-3);
  color: var(--contrast-2);
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}

.grid-sort select:hover {
  border-color: var(--accent);
}

.grid-sort select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.1);
}

/* ==========================================
   Message and Error Styles
   ========================================== */
/* For no-results messages or errors. */
.art8ai-error {
  color: var(--accent);
  text-align: center;
  margin: 20px 0;
  font-size: 1rem;
  padding: 15px;
  background: #ffebee;
}

.art8ai-message {
  color: var(--contrast-2);
  text-align: center;
  margin: 20px 0;
  padding: 15px;
  background: var(--base-2);
}

/* ==========================================
   Button Styles
   ========================================== */
/* Load more button. */
.load-more {
  display: block;
  margin: 40px auto;
  padding: 12px 15px 12px 25px;
  color: var(--base-3);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px; /* This will now work! */
  border: 2px solid transparent;
  background-color: var(--accent);

  background-origin: padding-box, border-box;
  background-clip: padding-box, border-box;
}

.load-more:hover,
.load-more:focus {
  background-color: var(--accent);
  transform: translateY(-2px);
}

.load-more:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 480px) {
  .load-more {
    margin: 20px auto;
    padding: 8px 10px 8px 12px;
    font-size: 0.9rem;
  }
}


.download-btn-main {
  display: inline-block;
  padding: 12px 24px;
  background-color: var(--dark-blue);
  color: var(--base-3) !important;
  border-radius: 8px 0 0 8px;
  text-decoration: none;
  font-weight: 500;
}

.download-btn-main svg {
  vertical-align: middle;
}

.download-btn-main:hover {
  background-color: var(--accent);
}

.download-btn-main:focus {
  outline: none;
  background-color: var(--accent);
}

/* Download Dropdown Styles */
.download-dropdown {
  margin: 15px 0;
}

.download-wrapper {
  display: inline-flex;
  margin: 15px;

}

.download-select {
  padding: 12px 30px 10px 12px;
  border: 1px solid var(--accent);
  border-radius: 0 8px 8px 0;
  background: var(--base-2);
  color: var(--contrast-2);
  font-weight: 500;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}

.download-select:hover {
  border-color: var(--accent);
}

.download-select:focus {
  outline: none;
  border-color: var(--accent);
}

/* ==========================================
   License Info Styles
   ========================================== */
/* For license notices on single images. */
.license-info {
  font-size: 0.85rem;
  color: var(--contrast-3);
  margin-top: 15px;
}

.license-info a {
  color: var(--dark-blue);
  font-weight: 500;
}

.license-info a:hover {
  text-decoration: underline;
}


/* ==========================================
   Single Image Page - Semantic Styles
   ========================================== */

/* Section spacing */
.art8ai-single section {
  margin: 2rem 0;
}

.art8ai-single h2 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.art8ai-single h3 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

/* Figure (image wrapper) */
figure.asset-wrapper {
  text-align: center;
	margin: 2rem 0;
	background-color: var(--base-2);
}

figcaption.asset-info {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 0.9rem;
  color: var(--contrast-3);
	margin-top: 5px;
	padding-bottom: 8px;
}

/* Definition list (meta info) */
dl.meta-info {
		    display: inline-flex;
		flex-wrap: wrap;
  	align-items: center;
    padding-bottom: 1.5rem;
    font-size: 0.95rem;
    color: var(--contrast-3);
    border-bottom: 1px solid var(--base);
}

dl.meta-info dd {
	margin-right: 1rem;
  margin-bottom: 0;
	margin-left: 0.25rem;
}

dl.meta-info dt {
    margin-right: 0.25rem;
		margin-left: 0.25rem;
}

/* Tags in definition list */
dd.tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 10px;
}

dd.category-list a{
  text-decoration: none;
}

dd.tags-list a {
  padding: 0.4rem 0.6rem;
  background: var(--base-3);
  border-radius: 12px;
  border: 1px solid var(--gray-border);
  font-size: 0.85rem;
  text-decoration: none;
  color: var(--contrast-2);
  transition: all 0.2s ease;
}

dd.tags-list a:hover {
  background-color: var(--accent);
  color: var(--base-3);
  transform: translateY(-1px);
}

/* Download and share sections */
.download-options {
  padding-top: 1.5rem;
	border-bottom: 1px solid var(--base);
	border-top: 1px solid var(--base);
}

.share-buttons {
  padding-bottom: 1rem;
	border-bottom: 1px solid var(--base);
}

/* Buttons in paragraphs */
.share-buttons p {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.share-btn {
  padding: 0.7rem 1rem;
  border-radius: 6px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--contrast-2);
  background-color: var(--base-3);
  border: 1px solid var(--gray-border);
  cursor: pointer;
}

.share-btn svg{
	  vertical-align: middle;
  	flex-shrink: 0;
	margin-left: 5px;
}

/* Share button colors 
.share-btn[href*="x"] { background: #000; }
.share-btn[href*="facebook"] { background: #1877f2; }
.share-btn[href*="pinterest"] { background: #e60023; }
.share-btn[onclick] { background: var(--contrast-3); }
*/

/* Post navigation */
nav.post-navigation {
  margin-top: 3rem;
  display: flex;
  gap: 1rem;
}

.nav-link {
  flex: 1;
  padding: 1.25rem;
  border: 1px solid var(--contrast-3);
  border-radius: 8px;
  text-decoration: none;
  color: var(--contrast-2) !important;
}

.nav-link:hover {
  background: var(--base-2);
}

.nav-link.prev:hover {
  transform: translateX(-2px);
}

.nav-link.next {
  text-align: right;
}

.nav-link.next:hover {
  transform: translateX(2px);
}

.nav-link span {
  font-size: 0.85rem;
  display: block;
  margin-bottom: 0.5rem;
  color: var(--dark-blue);
}

.nav-link strong {
  font-size: 1rem;
  line-height: 1.4;
}

/* Responsive */
@media (max-width: 768px) {

	dl.meta-info {
  display: grid;
  grid-template-columns: auto 1fr;
		gap: 0.75rem;
    border-bottom: 1px solid var(--gray-border);
	}
	
	dl.meta-info dd {
		margin: 0;
	}
	
	dd.tags-list {
  gap: 0.25rem;
}
  
.share-buttons .share-text {
  display: none;
}
nav.post-navigation {
    flex-direction: column;
  }
  
.nav-link.next {
    text-align: left;
  }
}


/* -------------------------------------------------
   RELATED TAGS – ONE LINE, 4 TAGS MOBILE, NO COUNT
   ------------------------------------------------- */

   .related-tags {
    margin: 15px 0;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid var(--base);
  }
  
  /* Header = tags + button on the SAME line */
  .tags-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;          /* wrap only if screen is tiny */
    gap: 8px;
  }
  
  /* Tag list takes the remaining space */
  .tag-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;                  /* push button to the right */
    max-height: 44px;         /* ~1 line */
    overflow: hidden;
    transition: max-height .3s ease;
  }
  
  /* ---- Hide extra tags (CSS fallback) ---- */
  .tag-buttons li:nth-child(n+6) { display: none; }   /* desktop 5 visible */
  
  /* Expanded */
  .tag-buttons.expanded {
    max-height: 600px;
  }
  .tag-buttons.expanded li { display: inline-flex !important; }
  
  /* ---- Toggle button ---- */
  .tags-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    color: var(--contrast-2);
    font-size: .85rem;
    font-weight: 500;
    cursor: pointer;
    padding: 4px 8px;
    flex-shrink: 0;
  }

  .toggle-icon { 
    transition: transform .25s; 
    width:12px; 
    height:12px; 
  }
  
  /* ---- Tag button ---- */
  .tag-button {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    background: var(--base-3);
    border: 1px solid var(--gray-border);
    border-radius: 6px;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 500;
    white-space: nowrap;
    transition: .2s;
  }
  .tag-button:hover,
  .tag-button:focus-visible {
    background-color: var(--accent);
    color: var(--base-3);
  }

  .tag-count {
    /* Basic styling for the count bubble/number */
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
  padding: 2px 6px;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 500;
  }

  .tags-header button {
    background-color: var(--base-3);
    border: 1px solid var(--gray-border);
    border-radius: 6px;
  }

  .tags-header button:hover,
  .tags-header button:focus {
    background-color: var(--base-3);
    border: 1px solid var(--accent);
    color: var(--contrast-2);
  }

  /* Mobile: 4 visible, hide count */
  @media (max-width: 600px) {
    .tag-buttons li:nth-child(n+5) { display: none; }
    .tag-buttons li:nth-child(-n+4) { display: inline-flex; }
    .tag-count { display: none; }
    .tag-buttons { max-height: 38px; }

    .tag-button { padding: 4px 8px; font-size: .78rem; }
  }
  

/* ==========================================
   Favorites Button Styles
   ========================================== */
/* Lightweight heart button for favorites (JS-handled). */
.art8ai-meta {
  position: relative;
}

.fav-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  transition: transform 0.2s ease;
}

.fav-btn:hover {
  transform: scale(1.15);
}

.fav-btn:active {
  transform: scale(0.9);
}

.fav-btn svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  transition: all 0.2s ease;
}

.fav-btn.active svg {
  fill: #ff4757;
  stroke: #ff4757;
}

.fav-btn:not(.active):hover svg {
  stroke: #ff4757;
}


/* ==========================================
   404 Page Styles (Simplified & Robust)
   ========================================== */

   .error-navigation ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 2rem;
}

.error-navigation .error-btn {
    display: inline-block;
    padding: 0.7rem 1rem;
    text-decoration: none; 
    font-weight: 600;
    font-size: 1rem;

}

.error-navigation .primary-action {
  background-color: var(--accent);
    color: #fff; 
    border: 2px solid var(--contrast-3);
    border-radius: 8px;
}
.error-navigation .primary-action:hover,
.error-navigation .primary-action:focus {
  background: transparent;
    color: var(--accent);
    text-decoration: none;
    border: 2px solid var(--accent);
}

.error-navigation .secondary-action {
    background-color: transparent;
    color: var(--contrast-3);
    border: 2px solid var(--contrast-3);
    border-radius: 8px;
}
.error-navigation .secondary-action:hover,
.error-navigation .secondary-action:focus {
  background-color: var(--accent);
    color: #fff;
    text-decoration: none;
}

/* ==========================================
   Category Tabs Styles (Compact with Horizontal Scrolling Shadow on Mobile)
   ========================================== */
/* Compact tabs for category navigation, optimized for space efficiency and readability. */

.art8ai-category-tabs {
  margin-top: 30px;
  position: relative; /* For absolute positioning of shadow */
}

.art8ai-category-tabs .tab-buttons {
  display: flex;
  flex-wrap: wrap; /* Wrap on desktop */
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.art8ai-category-tabs .tab-buttons li {
  display: inline-flex;
  margin: 0;
}

.art8ai-category-tabs .tab-button {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--contrast-2);
  font-size: 0.85rem;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
  border: 1px solid var(--gray-border);
}

.art8ai-category-tabs .tab-button:hover {
  background-color: var(--accent);
  color: var(--base-3);
  border: none;
  transform: translateY(-1px);
}

.art8ai-category-tabs .tab-button.active {
  background-color: var(--accent);
  border: none;
  color: var(--base-3);
}

.art8ai-category-tabs .tab-count {
  margin-left: 6px;
  padding: 2px 6px;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 600;
}



/* Mobile: Enable horizontal scrolling with fixed shadow */
@media (max-width: 768px) {
  /* Wrapper needs to be positioned but NOT scrolling */



  /* The tab-buttons container scrolls */
  .art8ai-category-tabs .tab-buttons {
    flex-wrap: nowrap; /* Single row for scrolling */
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin; /* Slim scrollbar for Firefox */
    scrollbar-color: rgba(200, 200, 200, 0.2) transparent;
    padding-right: 30px; /* Space for shadow overlay */
    padding-bottom: 18px; /* Space for scrollbar */
  }

  /* Slim scrollbar for webkit browsers */
  .art8ai-category-tabs .tab-buttons::-webkit-scrollbar {
    height: 4px;
  }

  .art8ai-category-tabs .tab-buttons::-webkit-scrollbar-track {
    background: transparent;
  }

  .art8ai-category-tabs .tab-buttons::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 2px;
  }

  .art8ai-category-tabs .tab-buttons li {
    flex-shrink: 0; /* Prevent tabs from shrinking */
  }

  .art8ai-category-tabs .tab-button {
    background-color: var(--base-3);
    padding: 8px 12px;
    font-size: 0.8rem;
    border-radius: 14px;
  }

  .art8ai-category-tabs .tab-count {
    margin-left: 4px;
    padding: 1px 5px;
    font-size: 0.65rem;
    border-radius: 6px;
  }

  /* Fixed shadow overlay on the right edge - stays in place while content scrolls */
  .art8ai-category-tabs::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 40px;
    background: linear-gradient(to left, var(--base-3) 0%, transparent 100%);
    pointer-events: none; /* Allow clicks through the shadow */
    z-index: 2; /* Above the scrolling content */
  }
}

/* Extra small mobile adjustments */
@media (max-width: 480px) {
  .art8ai-category-tabs .tab-button {
    padding: 8px 10px;
  }

  .art8ai-category-tabs .tab-count {
    display: none;
  }

  /* Narrower shadow on small screens */
  .art8ai-category-tabs::after {
    width: 30px;
  }
}

/* ==========================================
   Heading Icons
   ========================================== */
/* Styles for SVG icons in entry titles (categories, tags, archives) */
.entry-header .entry-title {
  display: flex;
  justify-content: center;
  align-items: center !important;
  gap: 10px; /* Space between icon and text */
}

.entry-header .entry-title svg {
  flex-shrink: 0; /* Prevent icon from shrinking */
  fill: var(--base-2);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .entry-header .entry-title {
    margin-top: 20px;
    gap: 8px;
  }
  
  .entry-header .entry-title svg {
    width: 22px;
    height: 22px;
    padding-bottom: 2px;
  }
}

/* ==========================================
   Download button image
   ========================================== */

.wp-block-button__link img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

/* ==========================================
   Home Hero Banner - Fully Responsive
   ========================================== */

.home .inside-article {
	background-color: var(--base-2) !important;
}
.home .hero-title {
    color: #fff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.home .hero-subtitle {
    color: rgba(255,255,255,0.95) !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .home .hero-banner {
        min-height: 400px;
    }  
}

@media (max-width: 768px) {
 
    /* ===== MINIMIZE HERO (Keep H1 only) ===== */
    .home .hero-banner {
        min-height: auto !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .home .hero-subtitle,
    .home .hero-banner .wp-block-spacer,
    .home .hero-banner .asl_w_container {
        display: none !important;
    }
    
    .home .inside-article {
        padding: 6px !important;
        border: none !important;
    }  
}

/* ================================================
   FEATURED CATEGORIES GRID
   ================================================ */

.art8ai-featured-categories {
    margin-bottom: 60px;
}

.featured-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 30px;
}

@media (max-width: 768px) {
    .featured-categories-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 16px;
    }
}

@media (max-width: 480px) {
    .featured-categories-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Category Card */
.featured-category-card {
    background: var(--base-3);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.featured-category-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.category-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* Category Thumbnail */
.category-thumbnail {
    position: relative;
    width: 100%;
    padding-bottom: 66.67%; /* 3:2 aspect ratio */
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);
    overflow: hidden;
}

.category-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.featured-category-card:hover .category-thumbnail img {
    transform: scale(1.05);
}

/* Category Info */
.category-info {
    padding: 20px;
}

.category-name {
    font-size: 18px;
    font-weight: 600;
    color: var(--contrast);
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.category-description {
    font-size: 14px;
    color: var(--contrast-2);
    margin: 0 0 12px 0;
    line-height: 1.5;
}

.category-count {
    display: inline-block;
    font-size: 13px;
    color: var(--contrast);
    font-weight: 500;
    padding: 4px 10px;
    background: rgba(102, 126, 234, 0.1);
    border-radius: 12px;
}

