/*
Theme Name: FlowSpag Child
Template: generatepress
*/

.nav-cta-button a {
  background: linear-gradient(135deg, #6E3FF3 0%, #B24FF3 100%);
  color: #ffffff !important;
  font-weight: 600;
  padding: 6px 8px;
  border-radius: 8px;
  transition: all 0.3s ease;
  line-height: 30px!important;
}

.nav-cta-button a:hover {
  background: linear-gradient(135deg, #8B5CF6 0%, #C77BF6 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(110,63,243,0.3);
}

.main-navigation ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}

.main-navigation a {
  color: #1A1A2E;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  transition: color 0.3s ease;
}

.main-navigation a:hover {
  color: #FF6B35;
}
/* ============================================
   FLOWSPAG - WORDPRESS NATIVE CODE BLOCKS
   ============================================ */

/* Reset default WordPress code block styling */
.wp-block-code {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 30px 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
  position: relative;
}

/* Code element inside */
.wp-block-code code {
  display: block;
  background: #1e1e1e !important;
  color: #D4D4D4 !important;
  padding: 24px !important;
  font-family: 'Fira Code', 'Consolas', 'Monaco', 'Courier New', monospace !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  overflow-x: auto !important;
  border-radius: 0 !important;
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
}

/* Ajouter header automatique avec CSS */
.wp-block-code::before {
  content: "📋 Code";
  display: block;
  background: linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);
  color: #ffffff;
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}



.wp-block-code:hover::after {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.3);
}

/* ============================================
   CLASSES PERSONNALISÉES
   ============================================ */

/* Prompt Gummi */
.wp-block-code.prompt-block::before {
  content: "🤖 Prompt pour Gummi";
  background: linear-gradient(135deg, #6E3FF3 0%, #B24FF3 100%);
}

	
	/* Terminal/Bash */
.wp-block-code.terminal-block::before {
  content: "⚡ Terminal";
  background: linear-gradient(135deg, #2D3748 0%, #1A202C 100%);
}

.wp-block-code.terminal-block code {
  background: #1A202C !important;
  color: #48BB78 !important;
}

/* JSON */
.wp-block-code.json-block::before {
  content: "{ } JSON";
  background: linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);
}

/* Output/Result */
.wp-block-code.output-block::before {
  content: "📊 Résultat";
  background: linear-gradient(135deg, #059669 0%, #10B981 100%);
}

.wp-block-code.output-block code {
  background: #064E3B !important;
  color: #D1FAE5 !important;
}

/* Warning/Error */
.wp-block-code.warning-block::before {
  content: "⚠️ Attention";
  background: linear-gradient(135deg, #DC2626 0%, #EF4444 100%);
}

.wp-block-code.warning-block code {
  background: #7F1D1D !important;
  color: #FEE2E2 !important;
}

/* Config/Settings */
.wp-block-code.config-block::before {
  content: "⚙️ Configuration";
  background: linear-gradient(135deg, #7C3AED 0%, #A78BFA 100%);
}

/* ============================================
   SCROLLBAR STYLING
   ============================================ */

.wp-block-code code::-webkit-scrollbar {
  height: 8px;
}

.wp-block-code code::-webkit-scrollbar-track {
  background: #2d2d2d;
}

.wp-block-code code::-webkit-scrollbar-thumb {
  background: #555;
  border-radius: 4px;
}

.wp-block-code code::-webkit-scrollbar-thumb:hover {
  background: #777;
}

/* ============================================
   SYNTAX HIGHLIGHTING (optionnel)
   ============================================ */

/* Comments */
.wp-block-code code .comment {
  color: #6A9955;
  font-style: italic;
}

/* Keywords */
.wp-block-code code .keyword {
  color: #C586C0;
  font-weight: 600;
}

/* Strings */
.wp-block-code code .string {
  color: #CE9178;
}

/* Numbers */
.wp-block-code code .number {
  color: #B5CEA8;
}

/* ============================================
   INLINE CODE
   ============================================ */

/* Inline code (pas dans pre) */
code:not(pre code) {
  background: #F1F5F9 !important;
  color: #FF6B35 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  font-family: 'Fira Code', 'Consolas', 'Monaco', 'Courier New', monospace !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: 1px solid #E2E8F0 !important;
}

/* ============================================
   MOBILE RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
  .wp-block-code::before {
    padding: 10px 16px;
    font-size: 12px;
  }
  
  .wp-block-code::after {
    padding: 5px 10px;
    font-size: 11px;
    top: 10px;
    right: 16px;
  }
  
  .wp-block-code code {
    padding: 16px !important;
    font-size: 13px !important;
  }
}


/* ============================================
   PRINT STYLES (optionnel)
   ============================================ */

@media print {
  .wp-block-code::after {
    display: none !important;
  }
  
  .wp-block-code code {
    background: #f5f5f5 !important;
    color: #000000 !important;
  }
}

/* ============================================
   FLOWSPAG - SINGLE POST TEMPLATE
   Modern, Clean, Professional
   ============================================ */

/* ============================================
   LAYOUT PRINCIPAL
   ============================================ */

/* Container général */
.single-post {
  background: #ffffff;
  padding: 0;
  margin: 0;
}

/* Wrapper principal avec sidebar */
.post-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px 40px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 60px;
  align-items: start;
}

/* Contenu principal (article) */
.post-content-area {
  max-width: 800px;
  margin: 0;
}



/* ============================================
   HEADER ARTICLE
   ============================================ */

.post-header {
  margin-bottom: 50px;
  padding-bottom: 40px;
  border-bottom: 2px solid #f0f0f0;
}

/* Breadcrumbs */
.post-breadcrumbs {
  font-size: 14px;
  color: #888;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.post-breadcrumbs a {
  color: #888;
  text-decoration: none;
  transition: color 0.3s ease;
}

.post-breadcrumbs a:hover {
  color: #FF6B35;
}

.breadcrumb-separator {
  color: #ccc;
  user-select: none;
}

/* Catégorie badge */
.post-category {
  display: inline-block;
  background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 100%);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  margin-bottom: 20px;
  transition: transform 0.3s ease;
}

.post-category:hover {
  transform: translateY(-2px);
}

/* Titre H1 */
.post-title {
  font-size: 48px;
  font-weight: 800;
  color: #1A1A2E;
  line-height: 1.2;
  margin: 0 0 24px 0;
  letter-spacing: -0.5px;
}

/* Excerpt/Description */
.post-excerpt {
  font-size: 20px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 30px;
  font-weight: 400;
}

/* Meta info */
.post-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
  color: #888;
}

.post-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.post-meta-icon {
  font-size: 16px;
}

.post-author {
  font-weight: 600;
  color: #1A1A2E;
}

/* Tags */
.post-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.post-tag {
  background: #F8F9FA;
  color: #666;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 20px;
  text-decoration: none;
  border: 1px solid #e0e0e0;
  transition: all 0.3s ease;
}

.post-tag:hover {
  background: #FF6B35;
  color: #ffffff;
  border-color: #FF6B35;
}

/* ============================================
   CONTENU ARTICLE
   ============================================ */

.post-content {
  font-size: 17px;
  line-height: 1.8;
  color: #333;
}

/* Paragraphes */
.post-content p {
  margin-bottom: 24px;
  line-height: 1.8;
}

/* Liens dans le contenu */
.post-content a {
  color: #FF6B35;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}

.post-content a:hover {
  border-bottom-color: #FF6B35;
}

/* Titres H2 */
.post-content h2 {
  font-size: 32px;
  font-weight: 800;
  color: #1A1A2E;
  margin: 60px 0 24px 0;
  line-height: 1.3;
  scroll-margin-top: 100px;
}

/* Titres H3 */
.post-content h3 {
  font-size: 24px;
  font-weight: 700;
  color: #1A1A2E;
  margin: 40px 0 20px 0;
  line-height: 1.4;
  scroll-margin-top: 100px;
}

/* Titres H4 */
.post-content h4 {
  font-size: 20px;
  font-weight: 700;
  color: #1A1A2E;
  margin: 30px 0 16px 0;
}

/* Strong/Bold */
.post-content strong {
  font-weight: 700;
  color: #1A1A2E;
}

/* Listes */
.post-content ul,
.post-content ol {
  margin: 24px 0 24px 30px;
  padding: 0;
}

.post-content li {
  margin-bottom: 12px;
  line-height: 1.7;
}

.post-content ul li {
  list-style: none;
  position: relative;
  padding-left: 20px;
}

.post-content ul li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: #FF6B35;
  font-weight: 700;
}

/* Listes numérotées */
.post-content ol li {
  padding-left: 10px;
}

/* Images */
.post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 30px 0;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.post-content figure {
  margin: 40px 0;
}

.post-content figcaption {
  text-align: center;
  font-size: 14px;
  color: #888;
  font-style: italic;
  margin-top: 12px;
}

/* Blockquotes */
.post-content blockquote {
  background: #F8F9FA;
  border-left: 4px solid #FF6B35;
  padding: 24px 30px;
  margin: 30px 0;
  border-radius: 8px;
  font-style: italic;
  color: #555;
}

.post-content blockquote p:last-child {
  margin-bottom: 0;
}

/* HR */
.post-content hr {
  border: none;
  border-top: 2px solid #f0f0f0;
  margin: 50px 0;
}

/* ============================================
   BOXES SPÉCIAUX
   ============================================ */

/* Info Box (tip) */
.post-content .info-box,
.post-content .tip-box {
  background: #F0F9FF;
  border: 2px solid #3B82F6;
  border-radius: 12px;
  padding: 24px;
  margin: 30px 0;
}

.post-content .info-box::before {
  content: "💡 Astuce";
  display: block;
  font-weight: 700;
  color: #3B82F6;
  margin-bottom: 12px;
  font-size: 16px;
}

/* Warning Box */
.post-content .warning-box {
  background: #FFF5F0;
  border: 2px solid #FF6B35;
  border-radius: 12px;
  padding: 24px;
  margin: 30px 0;
}

.post-content .warning-box::before {
  content: "⚠️ Attention";
  display: block;
  font-weight: 700;
  color: #FF6B35;
  margin-bottom: 12px;
  font-size: 16px;
}

/* Success Box */
.post-content .success-box {
  background: #F0FDF4;
  border: 2px solid #22C55E;
  border-radius: 12px;
  padding: 24px;
  margin: 30px 0;
}

.post-content .success-box::before {
  content: "✅ Résultat";
  display: block;
  font-weight: 700;
  color: #22C55E;
  margin-bottom: 12px;
  font-size: 16px;
}

/* ============================================
   TABLEAUX
   ============================================ */

.post-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.post-content table thead {
  background: linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);
  color: #ffffff;
}

.post-content table th {
  padding: 16px;
  text-align: left;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.post-content table td {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.post-content table tbody tr:hover {
  background: #F8F9FA;
}

.post-content table tbody tr:last-child td {
  border-bottom: none;
}

/* ============================================
   CTA BOXES
   ============================================ */

.post-cta-box {
  background: linear-gradient(135deg, #6E3FF3 0%, #B24FF3 100%);
  color: #ffffff;
  padding: 40px;
  border-radius: 16px;
  text-align: center;
  margin: 50px 0;
}

.post-cta-box h3 {
  color: #ffffff !important;
  margin: 0 0 12px 0 !important;
  font-size: 28px !important;
}

.post-cta-box p {
  color: rgba(255,255,255,0.9) !important;
  margin-bottom: 24px !important;
  font-size: 18px;
}

.post-cta-button {
  display: inline-block;
  background: #ffffff;
  color: #6E3FF3;
  padding: 16px 32px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  transition: all 0.3s ease;
}

.post-cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

/* ============================================
   SIDEBAR
   ============================================ */

/* Widget générique */
.sidebar-widget {
  background: #ffffff;
  border: 2px solid #f0f0f0;
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 24px;
  transition: all 0.3s ease;
}

.sidebar-widget:hover {
  border-color: #FF6B35;
  box-shadow: 0 4px 20px rgba(255, 107, 53, 0.1);
}

.sidebar-widget-title {
  font-size: 18px;
  font-weight: 700;
  color: #1A1A2E;
  margin: 0 0 20px 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #f0f0f0;
}

/* Table des matières */
.toc-widget {
  background: #F8F9FA;
  border: 2px solid #e0e0e0;
}

.toc-widget .sidebar-widget-title {
  color: #1A1A2E;
}

.toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.toc-list li {
  margin-bottom: 12px;
}

.toc-list a {
  color: #666;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  display: block;
  padding: 8px 12px;
  border-radius: 6px;
}

.toc-list a:hover {
  background: #ffffff;
  color: #FF6B35;
  padding-left: 16px;
}

.toc-list li.active a {
  background: #ffffff;
  color: #FF6B35;
}

/* Nested TOC */
.toc-list ul {
  margin-top: 8px;
  margin-left: 16px;
  list-style: none;
  padding: 0;
}

.toc-list ul a {
  font-size: 13px;
  font-weight: 500;
}

/* Articles reliés */
.related-posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.related-post-item {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.related-post-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.related-post-link {
  color: #1A1A2E;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  transition: color 0.3s ease;
  display: block;
}

.related-post-link:hover {
  color: #FF6B35;
}

.related-post-meta {
  font-size: 12px;
  color: #888;
  margin-top: 6px;
}

/* CTA Widget */
.sidebar-cta {
  background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 100%);
  color: #ffffff;
  border: none;
}

.sidebar-cta .sidebar-widget-title {
  color: #ffffff;
  border-color: rgba(255,255,255,0.2);
}

.sidebar-cta p {
  color: rgba(255,255,255,0.9);
  line-height: 1.6;
  margin-bottom: 20px;
}

.sidebar-cta-button {
  display: block;
  background: #ffffff;
  color: #FF6B35;
  text-align: center;
  padding: 12px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.3s ease;
}

.sidebar-cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Newsletter widget */
.newsletter-widget input[type="email"] {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 12px;
  transition: border-color 0.3s ease;
}

.newsletter-widget input[type="email"]:focus {
  outline: none;
  border-color: #FF6B35;
}

.newsletter-widget button {
  width: 100%;
  background: #FF6B35;
  color: #ffffff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.newsletter-widget button:hover {
  background: #ff8c5f;
  transform: translateY(-2px);
}

/* ============================================
   NAVIGATION ARTICLE (précédent/suivant)
   ============================================ */

.post-navigation {
  margin: 80px 0 60px 0;
  padding: 40px 0;
  border-top: 2px solid #f0f0f0;
  border-bottom: 2px solid #f0f0f0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.post-nav-item {
  padding: 24px;
  background: #F8F9FA;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.post-nav-item:hover {
  background: #ffffff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}

.post-nav-label {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
  color: #888;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  display: block;
}

.post-nav-title {
  font-size: 18px;
  font-weight: 700;
  color: #1A1A2E;
  line-height: 1.4;
}

.post-nav-next {
  text-align: right;
}

/* ============================================
   COMMENTAIRES (optionnel)
   ============================================ */

.post-comments {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 2px solid #f0f0f0;
}

.comments-title {
  font-size: 28px;
  font-weight: 800;
  color: #1A1A2E;
  margin-bottom: 30px;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

/* Tablet */
@media (max-width: 1200px) {
  .post-wrapper {
    grid-template-columns: 1fr 300px;
    gap: 40px;
    padding: 40px 30px;
  }
  
  .post-title {
    font-size: 40px;
  }
  
  .post-content h2 {
    font-size: 28px;
  }
}

/* Mobile */
@media (max-width: 992px) {
  .post-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 30px 20px;
  }
  
  .post-sidebar {
    position: static;
    max-height: none;
    margin-top: 60px;
  }
  
  .post-title {
    font-size: 32px;
  }
  
  .post-excerpt {
    font-size: 18px;
  }
  
  .post-content {
    font-size: 16px;
  }
  
  .post-content h2 {
    font-size: 24px;
    margin: 40px 0 20px 0;
  }
  
  .post-content h3 {
    font-size: 20px;
  }
  
  .post-navigation {
    grid-template-columns: 1fr;
  }
  
  .post-nav-next {
    text-align: left;
  }
}

/* Small mobile */
@media (max-width: 640px) {
  .post-wrapper {
    padding: 20px 16px;
  }
  
  .post-header {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  
  .post-title {
    font-size: 28px;
  }
  
  .post-excerpt {
    font-size: 16px;
  }
  
  .post-content h2 {
    font-size: 22px;
  }
  
  .sidebar-widget {
    padding: 20px;
  }
  
  .post-cta-box {
    padding: 30px 20px;
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
  .post-sidebar,
  .post-navigation,
  .post-comments,
  .post-cta-box {
    display: none !important;
  }
  
  .post-wrapper {
    grid-template-columns: 1fr;
  }
  
  .post-content a {
    color: #000000;
    text-decoration: underline;
  }
}

/* ============================================
   SMOOTH SCROLL
   ============================================ */

html {
  scroll-behavior: smooth;
}

/* Offset pour les ancres (à cause du header fixe) */
:target {
  scroll-margin-top: 100px;
}
/* ============================================
   FLOWSPAG - SINGLE POST TEMPLATE
   Modern, Clean, Professional
   ============================================ */

/* ============================================
   LAYOUT PRINCIPAL
   ============================================ */

/* Container général */
.single-post {
  background: #ffffff;
  padding: 0;
  margin: 0;
}

/* Wrapper principal avec sidebar */
.post-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px 40px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 60px;
  align-items: start;
}

/* Contenu principal (article) */
.post-content-area {
  max-width: 800px;
  margin: 0;
}

/* Sidebar */
.post-sidebar {
  position: relative;
  top: 100px;
  align-self: start;
}

/* ============================================
   HEADER ARTICLE
   ============================================ */

.post-header {
  margin-bottom: 50px;
  padding-bottom: 40px;
  border-bottom: 2px solid #f0f0f0;
}

/* Breadcrumbs */
.post-breadcrumbs {
  font-size: 14px;
  color: #888;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.post-breadcrumbs a {
  color: #888;
  text-decoration: none;
  transition: color 0.3s ease;
}

.post-breadcrumbs a:hover {
  color: #FF6B35;
}

.breadcrumb-separator {
  color: #ccc;
  user-select: none;
}

/* Catégorie badge */
.post-category {
  display: inline-block;
  background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 100%);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  margin-bottom: 20px;
  transition: transform 0.3s ease;
}

.post-category:hover {
  transform: translateY(-2px);
}

/* Titre H1 */
.post-title {
  font-size: 48px;
  font-weight: 800;
  color: #1A1A2E;
  line-height: 1.2;
  margin: 0 0 24px 0;
  letter-spacing: -0.5px;
}

/* Excerpt/Description */
.post-excerpt {
  font-size: 20px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 30px;
  font-weight: 400;
}

/* Meta info */
.post-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
  color: #888;
}

.post-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.post-meta-icon {
  font-size: 16px;
}

.post-author {
  font-weight: 600;
  color: #1A1A2E;
}

/* Tags */
.post-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.post-tag {
  background: #F8F9FA;
  color: #666;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 20px;
  text-decoration: none;
  border: 1px solid #e0e0e0;
  transition: all 0.3s ease;
}

.post-tag:hover {
  background: #FF6B35;
  color: #ffffff;
  border-color: #FF6B35;
}

/* ============================================
   CONTENU ARTICLE
   ============================================ */

.post-content {
  font-size: 17px;
  line-height: 1.8;
  color: #333;
}

/* Paragraphes */
.post-content p {
  margin-bottom: 24px;
  line-height: 1.8;
}

/* Liens dans le contenu */
.post-content a {
  color: #FF6B35;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}

.post-content a:hover {
  border-bottom-color: #FF6B35;
}

/* Titres H2 */
.post-content h2 {
  font-size: 32px;
  font-weight: 800;
  color: #1A1A2E;
  margin: 60px 0 24px 0;
  line-height: 1.3;
  scroll-margin-top: 100px;
}

/* Titres H3 */
.post-content h3 {
  font-size: 24px;
  font-weight: 700;
  color: #1A1A2E;
  margin: 40px 0 20px 0;
  line-height: 1.4;
  scroll-margin-top: 100px;
}

/* Titres H4 */
.post-content h4 {
  font-size: 20px;
  font-weight: 700;
  color: #1A1A2E;
  margin: 30px 0 16px 0;
}

/* Strong/Bold */
.post-content strong {
  font-weight: 700;
  color: #1A1A2E;
}

/* Listes */
.post-content ul,
.post-content ol {
  margin: 24px 0 24px 30px;
  padding: 0;
}

.post-content li {
  margin-bottom: 12px;
  line-height: 1.7;
}

.post-content ul li {
  list-style: none;
  position: relative;
  padding-left: 20px;
}

.post-content ul li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: #FF6B35;
  font-weight: 700;
}

/* Listes numérotées */
.post-content ol li {
  padding-left: 10px;
}

/* Images */
.post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 30px 0;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.post-content figure {
  margin: 40px 0;
}

.post-content figcaption {
  text-align: center;
  font-size: 14px;
  color: #888;
  font-style: italic;
  margin-top: 12px;
}

/* Blockquotes */
.post-content blockquote {
  background: #F8F9FA;
  border-left: 4px solid #FF6B35;
  padding: 24px 30px;
  margin: 30px 0;
  border-radius: 8px;
  font-style: italic;
  color: #555;
}

.post-content blockquote p:last-child {
  margin-bottom: 0;
}

/* HR */
.post-content hr {
  border: none;
  border-top: 2px solid #f0f0f0;
  margin: 50px 0;
}

/* ============================================
   BOXES SPÉCIAUX
   ============================================ */

/* Info Box (tip) */
.post-content .info-box,
.post-content .tip-box {
  background: #F0F9FF;
  border: 2px solid #3B82F6;
  border-radius: 12px;
  padding: 24px;
  margin: 30px 0;
}

.post-content .info-box::before {
  content: "💡 Astuce";
  display: block;
  font-weight: 700;
  color: #3B82F6;
  margin-bottom: 12px;
  font-size: 16px;
}

/* Warning Box */
.post-content .warning-box {
  background: #FFF5F0;
  border: 2px solid #FF6B35;
  border-radius: 12px;
  padding: 24px;
  margin: 30px 0;
}

.post-content .warning-box::before {
  content: "⚠️ Attention";
  display: block;
  font-weight: 700;
  color: #FF6B35;
  margin-bottom: 12px;
  font-size: 16px;
}

/* Success Box */
.post-content .success-box {
  background: #F0FDF4;
  border: 2px solid #22C55E;
  border-radius: 12px;
  padding: 24px;
  margin: 30px 0;
}

.post-content .success-box::before {
  content: "✅ Résultat";
  display: block;
  font-weight: 700;
  color: #22C55E;
  margin-bottom: 12px;
  font-size: 16px;
}

/* ============================================
   TABLEAUX
   ============================================ */

.post-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.post-content table thead {
  background: linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);
  color: #ffffff;
}

.post-content table th {
  padding: 16px;
  text-align: left;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.post-content table td {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.post-content table tbody tr:hover {
  background: #F8F9FA;
}

.post-content table tbody tr:last-child td {
  border-bottom: none;
}

/* ============================================
   CTA BOXES
   ============================================ */

.post-cta-box {
  background: linear-gradient(135deg, #6E3FF3 0%, #B24FF3 100%);
  color: #ffffff;
  padding: 40px;
  border-radius: 16px;
  text-align: center;
  margin: 50px 0;
}

.post-cta-box h3 {
  color: #ffffff !important;
  margin: 0 0 12px 0 !important;
  font-size: 28px !important;
}

.post-cta-box p {
  color: rgba(255,255,255,0.9) !important;
  margin-bottom: 24px !important;
  font-size: 18px;
}

.post-cta-button {
  display: inline-block;
  background: #ffffff;
  color: #6E3FF3;
  padding: 16px 32px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  transition: all 0.3s ease;
}

.post-cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

/* ============================================
   SIDEBAR
   ============================================ */

/* Widget générique */
.sidebar-widget {
  background: #ffffff;
  border: 2px solid #f0f0f0;
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 24px;
  transition: all 0.3s ease;
}

.sidebar-widget:hover {
  border-color: #FF6B35;
  box-shadow: 0 4px 20px rgba(255, 107, 53, 0.1);
}

.sidebar-widget-title {
  font-size: 18px;
  font-weight: 700;
  color: #1A1A2E;
  margin: 0 0 20px 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #f0f0f0;
}

/* Table des matières */
.toc-widget {
  background: #F8F9FA;
  border: 2px solid #e0e0e0;
}

.toc-widget .sidebar-widget-title {
  color: #1A1A2E;
}

.toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.toc-list li {
  margin-bottom: 12px;
}

.toc-list a {
  color: #666;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  display: block;
  padding: 8px 12px;
  border-radius: 6px;
}

.toc-list a:hover {
  background: #ffffff;
  color: #FF6B35;
  padding-left: 16px;
}

.toc-list li.active a {
  background: #ffffff;
  color: #FF6B35;
}

/* Nested TOC */
.toc-list ul {
  margin-top: 8px;
  margin-left: 16px;
  list-style: none;
  padding: 0;
}

.toc-list ul a {
  font-size: 13px;
  font-weight: 500;
}

/* Articles reliés */
.related-posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.related-post-item {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.related-post-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.related-post-link {
  color: #1A1A2E;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  transition: color 0.3s ease;
  display: block;
}

.related-post-link:hover {
  color: #FF6B35;
}

.related-post-meta {
  font-size: 12px;
  color: #888;
  margin-top: 6px;
}

/* CTA Widget */
.sidebar-cta {
  background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 100%);
  color: #ffffff;
  border: none;
}

.sidebar-cta .sidebar-widget-title {
  color: #ffffff;
  border-color: rgba(255,255,255,0.2);
}

.sidebar-cta p {
  color: rgba(255,255,255,0.9);
  line-height: 1.6;
  margin-bottom: 20px;
}

.sidebar-cta-button {
  display: block;
  background: #ffffff;
  color: #FF6B35;
  text-align: center;
  padding: 12px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.3s ease;
}

.sidebar-cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Newsletter widget */
.newsletter-widget input[type="email"] {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 12px;
  transition: border-color 0.3s ease;
}

.newsletter-widget input[type="email"]:focus {
  outline: none;
  border-color: #FF6B35;
}

.newsletter-widget button {
  width: 100%;
  background: #FF6B35;
  color: #ffffff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.newsletter-widget button:hover {
  background: #ff8c5f;
  transform: translateY(-2px);
}

/* ============================================
   NAVIGATION ARTICLE (précédent/suivant)
   ============================================ */

.post-navigation {
  margin: 80px 0 60px 0;
  padding: 40px 0;
  border-top: 2px solid #f0f0f0;
  border-bottom: 2px solid #f0f0f0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.post-nav-item {
  padding: 24px;
  background: #F8F9FA;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.post-nav-item:hover {
  background: #ffffff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}

.post-nav-label {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
  color: #888;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  display: block;
}

.post-nav-title {
  font-size: 18px;
  font-weight: 700;
  color: #1A1A2E;
  line-height: 1.4;
}

.post-nav-next {
  text-align: right;
}

/* ============================================
   COMMENTAIRES (optionnel)
   ============================================ */

.post-comments {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 2px solid #f0f0f0;
}

.comments-title {
  font-size: 28px;
  font-weight: 800;
  color: #1A1A2E;
  margin-bottom: 30px;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

/* Tablet */
@media (max-width: 1200px) {
  .post-wrapper {
    grid-template-columns: 1fr 300px;
    gap: 40px;
    padding: 40px 30px;
  }
  
  .post-title {
    font-size: 40px;
  }
  
  .post-content h2 {
    font-size: 28px;
  }
}

/* Mobile */
@media (max-width: 992px) {
  .post-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 30px 20px;
  }
  
  .post-sidebar {
    position: static;
    max-height: none;
    margin-top: 60px;
  }
  
  .post-title {
    font-size: 32px;
  }
  
  .post-excerpt {
    font-size: 18px;
  }
  
  .post-content {
    font-size: 16px;
  }
  
  .post-content h2 {
    font-size: 24px;
    margin: 40px 0 20px 0;
  }
  
  .post-content h3 {
    font-size: 20px;
  }
  
  .post-navigation {
    grid-template-columns: 1fr;
  }
  
  .post-nav-next {
    text-align: left;
  }
}

/* Small mobile */
@media (max-width: 640px) {
  .post-wrapper {
    padding: 20px 16px;
  }
  
  .post-header {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  
  .post-title {
    font-size: 28px;
  }
  
  .post-excerpt {
    font-size: 16px;
  }
  
  .post-content h2 {
    font-size: 22px;
  }
  
  .sidebar-widget {
    padding: 20px;
  }
  
  .post-cta-box {
    padding: 30px 20px;
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
  .post-sidebar,
  .post-navigation,
  .post-comments,
  .post-cta-box {
    display: none !important;
  }
  
  .post-wrapper {
    grid-template-columns: 1fr;
  }
  
  .post-content a {
    color: #000000;
    text-decoration: underline;
  }
}

/* ============================================
   SMOOTH SCROLL
   ============================================ */

html {
  scroll-behavior: smooth;
}

/* Offset pour les ancres (à cause du header fixe) */
:target {
  scroll-margin-top: 100px;
}


/* ============================================
   FEATURED IMAGE
   ============================================ */

.post-featured-image {
  margin: 40px 0 50px 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,0.12);
  position: relative;
}

.post-featured-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.05) 100%);
  pointer-events: none;
  z-index: 1;
}

.featured-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.6s ease;
  margin-top:0px!important;
}

/* Effet hover sur image (optionnel) */
.post-featured-image:hover .featured-image {
  transform: scale(1.02);
}

/* Caption/légende */
.featured-image-caption {
  text-align: center;
  font-size: 14px;
  color: #888;
  font-style: italic;
  margin-top: 16px;
  padding: 0 20px;
}

/* Aspect ratio 16:9 (optionnel, pour forcer ratio) */
.post-featured-image.ratio-16-9 {
  aspect-ratio: 16 / 9;
}

.post-featured-image.ratio-16-9 .featured-image {
  height: 100%;
  object-fit: cover;
}

/* Variantes de style */

/* Style 1: Fullwidth (déborde légèrement) */
.post-featured-image.style-fullwidth {
  margin-left: -40px;
  margin-right: -40px;
  border-radius: 0;
}

/* Style 2: Avec badge catégorie flottant */
.post-featured-image.with-category-badge {
  position: relative;
}

.featured-image-category {
  position: absolute;
  top: 20px;
  left: 20px;
  background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 100%);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 8px 16px;
  border-radius: 8px;
  z-index: 2;
  box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
}

/* Style 3: Parallax effect (avancé) */
.post-featured-image.parallax {
  position: relative;
  overflow: hidden;
  height: 500px;
}

.post-featured-image.parallax .featured-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
}

/* Mobile responsive */
@media (max-width: 992px) {
  .post-featured-image {
    margin: 30px 0 40px 0;
    border-radius: 12px;
  }
  
  .post-featured-image.style-fullwidth {
    margin-left: -20px;
    margin-right: -20px;
  }
  
  .post-featured-image.parallax {
    height: 300px;
  }
}

@media (max-width: 640px) {
  .post-featured-image {
    margin: 20px 0 30px 0;
    border-radius: 8px;
  }
  
  .post-featured-image.style-fullwidth {
    margin-left: -16px;
    margin-right: -16px;
  }
  
  .featured-image-category {
    top: 12px;
    left: 12px;
    font-size: 11px;
    padding: 6px 12px;
  }
  
  .post-featured-image.parallax {
    height: 200px;
  }
}

/* Print styles */
@media print {
  .post-featured-image {
    box-shadow: none;
    page-break-inside: avoid;
  }
}


/* ============================================
   FLOWSPAG - ARCHIVE & BLOG PAGES
   ============================================ */
/* ============================================
   ENHANCED ARCHIVE HEADER
   ============================================ */

.archive-header {
  background: linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);
  padding: 100px 20px 80px;
  color: #ffffff;
  margin-bottom: 60px;
  position: relative;
  overflow: hidden;
  
  /* Full width breakout */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Pattern background (optionnel) */
.archive-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(255, 107, 53, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(110, 63, 243, 0.1) 0%, transparent 50%);
  pointer-events: none;
}

.archive-header-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 1;
}

/* Breadcrumbs */
.archive-breadcrumbs {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.archive-breadcrumbs a {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  transition: color 0.3s ease;
}

.archive-breadcrumbs a:hover {
  color: #FF6B35;
}

.breadcrumb-separator {
  color: rgba(255,255,255,0.3);
}

/* Hero Content */
.archive-hero {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

/* Badge */
.archive-badge {
  display: inline-block;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(10px);
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 8px 20px;
  border-radius: 30px;
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,0.2);
}

/* Title */
.archive-title {
  font-size: 56px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 24px 0;
  line-height: 1.2;
  letter-spacing: -1px;
  text-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Subtitle */
.archive-subtitle {
  font-size: 20px;
  color: rgba(255,255,255,0.85);
  line-height: 1.6;
  margin: 0 0 32px 0;
  font-weight: 400;
}

/* Meta */
.archive-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 32px;
}

.archive-count {
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(10px);
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 14px;
  border: 1px solid rgba(255,255,255,0.2);
}

/* Stats (for home page) */
.archive-stats {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,0.2);
}

.archive-stat-item {
  text-align: center;
}

.stat-number {
  display: block;
  font-size: 40px;
  font-weight: 800;
  color: #FF6B35;
  margin-bottom: 8px;
  text-shadow: 0 2px 10px rgba(255, 107, 53, 0.3);
}

.stat-label {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
}

/* Author variant */
.archive-hero-author {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.author-avatar-large {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 24px;
  border: 4px solid rgba(255,255,255,0.2);
  box-shadow: 0 8px 30px rgba(0,0,0,0.2);
}

.author-avatar-large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Home variant (bigger) */
.archive-header-home {
  padding: 120px 20px 100px;
}

.archive-header-home .archive-title {
  font-size: 64px;
  margin-bottom: 28px;
}

.archive-header-home .archive-subtitle {
  font-size: 22px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================
   RESPONSIVE
   ============================================ */

/* Tablet */
@media (max-width: 1200px) {
  .archive-header {
    padding: 80px 20px 60px;
  }
  
  .archive-header-home {
    padding: 100px 20px 80px;
  }
  
  .archive-title {
    font-size: 48px;
  }
  
  .archive-header-home .archive-title {
    font-size: 56px;
  }
  
  .archive-stats {
    gap: 40px;
  }
  
  .stat-number {
    font-size: 32px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .archive-header {
    padding: 60px 20px 40px;
  }
  
  .archive-header-home {
    padding: 80px 20px 60px;
  }
  
  .archive-header-container {
    padding: 0 20px;
  }
  
  .archive-title {
    font-size: 36px;
  }
  
  .archive-header-home .archive-title {
    font-size: 42px;
  }
  
  .archive-subtitle {
    font-size: 17px;
  }
  
  .archive-header-home .archive-subtitle {
    font-size: 18px;
  }
  
  .archive-stats {
    flex-direction: column;
    gap: 30px;
  }
  
  .stat-number {
    font-size: 28px;
  }
  
  .author-avatar-large {
    width: 100px;
    height: 100px;
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  .archive-header {
    padding: 40px 16px 30px;
  }
  
  .archive-header-home {
    padding: 60px 16px 40px;
  }
  
  .archive-title {
    font-size: 28px;
  }
  
  .archive-header-home .archive-title {
    font-size: 32px;
  }
  
  .archive-subtitle {
    font-size: 16px;
  }
  
  .archive-badge {
    font-size: 11px;
    padding: 6px 16px;
  }
  
  .archive-count {
    font-size: 13px;
    padding: 8px 16px;
  }
}


/* ============================================
   ARCHIVE LAYOUT
   ============================================ */

.archive-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px 80px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 60px;
  align-items: start;
}

/* Main content */
.archive-main {
  min-width: 0; /* Fix grid overflow */
}

/* ============================================
   POSTS GRID
   ============================================ */

.posts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

/* Featured post (first) = full width */
.posts-grid .post-card.featured-post {
  grid-column: 1 / -1;
}

/* ============================================
   POST CARD
   ============================================ */

.post-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.post-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* Featured post layout */
.post-card.featured-post {
  display: grid;
  
  gap: 0;
  height: auto;
}

/* Post Image */
.post-card-image {
  position: relative;
  overflow: hidden;
  display: block;
  background: #f0f0f0;
  aspect-ratio: 16 / 10;
}

.post-card.featured-post .post-card-image {
  aspect-ratio: unset;
  height: 100%;
}

.post-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.post-card:hover .post-card-image img {
  transform: scale(1.05);
}

/* Category badge on image */
.post-card-category {
  position: absolute;
  top: 16px;
  left: 16px;
  background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 100%);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 12px;
  border-radius: 6px;
  z-index: 2;
  box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
}

/* Post Content */
.post-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.post-card.featured-post .post-card-content {
  padding: 40px;
}

/* Meta */
.post-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #888;
  margin-bottom: 12px;
}

.meta-separator {
  color: #ccc;
}

/* Title */
.post-card-title {
  font-size: 20px;
  font-weight: 700;
  color: #1A1A2E;
  line-height: 1.4;
  margin: 0 0 12px 0;
}

.post-card.featured-post .post-card-title {
  font-size: 32px;
  margin-bottom: 16px;
}

.post-card-title a {
  color: #1A1A2E;
  text-decoration: none;
  transition: color 0.3s ease;
}

.post-card-title a:hover {
  color: #FF6B35;
}

/* Excerpt */
.post-card-excerpt {
  font-size: 15px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 20px;
  flex: 1;
}

.post-card.featured-post .post-card-excerpt {
  font-size: 17px;
  margin-bottom: 24px;
}

/* Tags (featured only) */
.post-card-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.post-card-tag {
  background: #F8F9FA;
  color: #666;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 15px;
  text-decoration: none;
  border: 1px solid #e0e0e0;
  transition: all 0.3s ease;
}

.post-card-tag:hover {
  background: #FF6B35;
  color: #ffffff;
  border-color: #FF6B35;
}

/* Read More Link */
.post-card-link {
  color: #FF6B35;
  font-weight: 600;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.post-card-link:hover {
  color: #ff8c5f;
  gap: 8px;
}

/* ============================================
   PAGINATION
   ============================================ */

.archive-pagination {
  margin-top: 60px;
  display: flex;
  justify-content: center;
}

.archive-pagination ul {
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.archive-pagination li {
  margin: 0;
}

.archive-pagination a,
.archive-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 16px;
  background: #F8F9FA;
  color: #666;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  border-radius: 8px;
  border: 2px solid #e0e0e0;
  transition: all 0.3s ease;
}

.archive-pagination a:hover {
  background: #ffffff;
  border-color: #FF6B35;
  color: #FF6B35;
}

.archive-pagination .current {
  background: #FF6B35;
  color: #ffffff;
  border-color: #FF6B35;
}

/* ============================================
   NO POSTS
   ============================================ */

.no-posts {
  text-align: center;
  padding: 80px 20px;
}

.no-posts-icon {
  font-size: 80px;
  margin-bottom: 20px;
}

.no-posts-title {
  font-size: 32px;
  font-weight: 800;
  color: #1A1A2E;
  margin: 0 0 16px 0;
}

.no-posts-text {
  font-size: 18px;
  color: #666;
  margin-bottom: 30px;
}

.no-posts-button {
  display: inline-block;
  background: #FF6B35;
  color: #ffffff;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  transition: all 0.3s ease;
}

.no-posts-button:hover {
  background: #ff8c5f;
  transform: translateY(-2px);
}

/* ============================================
   SIDEBAR
   ============================================ */

.archive-sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
}

/* Search Widget */
.search-widget .search-form {
  display: flex;
  gap: 8px;
}

.search-field {
  flex: 1;
  padding: 12px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.3s ease;
}

.search-field:focus {
  outline: none;
  border-color: #FF6B35;
}

.search-submit {
  background: #FF6B35;
  color: #ffffff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 18px;
}

.search-submit:hover {
  background: #ff8c5f;
}

/* Categories Widget */
.categories-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.category-item {
  margin-bottom: 8px;
}

.category-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
  background: #F8F9FA;
  border-radius: 8px;
  text-decoration: none;
  color: #666;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
}

.category-item a:hover,
.category-item.active a {
  background: #ffffff;
  color: #FF6B35;
  box-shadow: 0 2px 10px rgba(255, 107, 53, 0.15);
}

.category-count {
  background: #ffffff;
  color: #888;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 12px;
  font-weight: 700;
}

.category-item.active .category-count {
  background: #FF6B35;
  color: #ffffff;
}

/* Tags Cloud */
.tags-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag-item {
  background: #F8F9FA;
  color: #666;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 15px;
  text-decoration: none;
  border: 1px solid #e0e0e0;
  transition: all 0.3s ease;
}

.tag-item:hover {
  background: #FF6B35;
  color: #ffffff;
  border-color: #FF6B35;
}

/* Popular Posts Widget */
.popular-posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.popular-post-item {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.popular-post-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.popular-post-thumbnail {
  flex-shrink: 0;
  width: 70px;
  height: 70px;
  border-radius: 8px;
  overflow: hidden;
}

.popular-post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.popular-post-item:hover .popular-post-thumbnail img {
  transform: scale(1.1);
}

.popular-post-content {
  flex: 1;
  min-width: 0;
}

.popular-post-title {
  color: #1A1A2E;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.4;
  display: block;
  margin-bottom: 6px;
  transition: color 0.3s ease;
}

.popular-post-title:hover {
  color: #FF6B35;
}

.popular-post-meta {
  font-size: 12px;
  color: #888;
}

/* ============================================
   RESPONSIVE
   ============================================ */

/* Tablet */
@media (max-width: 1200px) {
  .archive-wrapper {
    grid-template-columns: 1fr 280px;
    gap: 40px;
    padding: 0 30px 60px;
  }
  
  .archive-title {
    font-size: 48px;
  }
  
  .post-card.featured-post {
    grid-template-columns: 1fr;
  }
  
  .post-card.featured-post .post-card-content {
    padding: 32px;
  }
}

/* Mobile Large */
@media (max-width: 992px) {
  .archive-header {
    padding: 60px 20px 40px;
  }
  
  .archive-header-container {
    padding: 0 20px;
  }
  
  .archive-wrapper {
    grid-template-columns: 1fr;
    padding: 0 20px 60px;
  }
  
  .posts-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .archive-sidebar {
    position: static;
    margin-top: 60px;
  }
  
  .archive-title {
    font-size: 40px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .archive-header {
    padding: 40px 16px 30px;
  }
  
  .archive-header-container {
    padding: 0 16px;
  }
  
  .archive-wrapper {
    padding: 0 16px 40px;
  }
  
  .archive-title {
    font-size: 32px;
  }
  
  .archive-description {
    font-size: 16px;
  }
  
  .post-card-content,
  .post-card.featured-post .post-card-content {
    padding: 20px;
  }
  
  .post-card-title {
    font-size: 18px;
  }
  
  .post-card.featured-post .post-card-title {
    font-size: 24px;
  }
  
  .sidebar-widget {
    padding: 20px;
  }
}