/*
Theme Name: Fulfillant
Theme URI: https://fulfillant.com
Author: Fulfillant Team
Author URI: https://fulfillant.com
Description: A modern WordPress theme for Fulfillant e-commerce fulfillment services. Converted from React to WordPress format.
Version: 260608c
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fulfillant
Tags: e-commerce, business, fulfillment, modern, responsive
*/

/* WordPress Default Styles Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
  color: #333;
  margin: 0;
  padding: 0;
}

/* Reset WordPress default styles that might interfere */
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.wp-block-group__inner-container {
  margin: 0 !important;
  padding: 0 !important;
}

.alignwide,
.alignfull {
  max-width: 100% !important;
}

/* Ensure images don't break layout */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Fix for WordPress content area */
.entry-content,
.post-content {
  width: 100%;
}

/* WordPress Block Editor Content Styles */
.wp-block-group,
.wp-block-columns,
.wp-block-column {
  margin: 1rem 0;
}

.wp-block-image {
  margin: 1.5rem 0;
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
}

.wp-block-heading {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.wp-block-paragraph {
  margin: 1rem 0;
  line-height: 1.75;
}

.wp-block-list {
  margin: 1rem 0;
  padding-left: 2rem;
}

.wp-block-button {
  margin: 1rem 0;
}

/* Ensure content is visible */
.entry-content p,
.entry-content ul,
.entry-content ol,
.entry-content li {
  margin: 0.75rem 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.entry-content h1 { font-size: 2.25rem; }
.entry-content h2 { font-size: 1.875rem; }
.entry-content h3 { font-size: 1.5rem; }
.entry-content h4 { font-size: 1.25rem; }

/* Custom Color Variables */
:root {
  --primary-blue: #1e3a8a;
  --primary-orange: #f18202;
  --primary-orange-hover: #d97002;
  --background-cream: #fbf6e7;
}

/* ============================================
   Article / Post Content Typography
   (Replaces the non-functional .prose class)
   ============================================ */

/* ============================================
   Article / Post Content Typography
   HIGH SPECIFICITY SELECTORS to override WordPress/Tailwind
   ============================================ */

/* Article wrapper - using body prefix for higher specificity */
body article,
body article .article-content {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: #374151 !important;
}

/* Article content area */
body article .article-content {
  width: 100%;
}

/* Article header */
body article header {
  margin-bottom: 2rem !important;
}

/* Headings - maximum specificity */
body article h1,
body article h2,
body article h3,
body article h4,
body article h5,
body article h6,
body.single-post article h1,
body.single-post article h2,
body.single-post article h3,
body.single-post article h4,
body.single-post article h5,
body.single-post article h6 {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, 'Helvetica Neue', Arial, sans-serif !important;
  color: #1e3a8a !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}

body article h1 { font-size: 2.25rem !important; margin-top: 0 !important; margin-bottom: 1.5rem !important; }
body article h2 { font-size: 1.75rem !important; margin-top: 3rem !important; margin-bottom: 1.25rem !important; }
body article h3 { font-size: 1.375rem !important; margin-top: 2.5rem !important; margin-bottom: 1rem !important; }
body article h4 { font-size: 1.125rem !important; margin-top: 2rem !important; margin-bottom: 0.75rem !important; }
body article h5 { font-size: 1rem !important; margin-top: 1.5rem !important; margin-bottom: 0.5rem !important; }
body article h6 { font-size: 0.875rem !important; color: #6b7280 !important; margin-top: 1.5rem !important; margin-bottom: 0.5rem !important; }

/* Paragraphs */
body article p {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
  line-height: 1.85 !important;
  color: #374151 !important;
}

/* First paragraph after heading should be tighter */
body article h1 + p,
body article h2 + p,
body article h3 + p,
body article h4 + p,
body article h5 + p,
body article h6 + p {
  margin-top: 0 !important;
}

/* Lead paragraph (first paragraph of article) */
body article .article-content > p:first-child {
  margin-top: 0 !important;
}

/* Links inside article */
body article a {
  color: #f18202 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body article a:hover {
  color: #d97002 !important;
}

/* Lists */
body article ul,
body article ol {
  margin: 1.25rem 0 !important;
  padding-left: 1.75rem !important;
}

body article li {
  margin-bottom: 0.5rem !important;
  line-height: 1.7 !important;
}

body article ul { list-style-type: disc !important; }
body article ol { list-style-type: decimal !important; }

body article ul ul { list-style-type: circle !important; margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }

/* Images */
body article img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 2rem auto !important;
  border-radius: 0.5rem !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

body article figure {
  margin: 2rem 0 !important;
}

body article figcaption {
  text-align: center !important;
  font-size: 0.875rem !important;
  color: #6b7280 !important;
  margin-top: 0.5rem !important;
}

/* Tables — responsive horizontal scroll */
body article table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  margin: 2rem 0 !important;
  overflow-x: auto !important;
  display: block !important;
  -webkit-overflow-scrolling: touch !important;
}

body article table::-webkit-scrollbar {
  height: 6px;
}

body article table::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

body article thead {
  background-color: #1e3a8a !important;
  color: #ffffff !important;
}

body article th,
body article td {
  padding: 0.75rem 1rem !important;
  text-align: left !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
  border-bottom: 1px solid #e5e7eb !important;
}

body article th {
  font-weight: 600 !important;
  white-space: nowrap !important;
}

body article td {
  color: #374151 !important;
  vertical-align: top !important;
}

body article tr:nth-child(even) td {
  background-color: #f9fafb !important;
}

body article tr:hover td {
  background-color: #f3f4f6 !important;
}

/* Blockquotes */
body article blockquote {
  margin: 2rem 0 !important;
  padding: 1.25rem 1.5rem !important;
  border-left: 4px solid #f18202 !important;
  background-color: #fffbeb !important;
  border-radius: 0 0.375rem 0.375rem 0 !important;
  font-style: italic !important;
  color: #4b5563 !important;
}

body article blockquote p {
  margin: 0 !important;
  font-size: 1.05rem !important;
}

/* Code */
body article code {
  font-family: 'Courier New', Courier, monospace !important;
  font-size: 0.875em !important;
  background-color: #f3f4f6 !important;
  padding: 0.2em 0.4em !important;
  border-radius: 0.25rem !important;
  color: #b45309 !important;
}

body article pre {
  background-color: #1f2937 !important;
  color: #f9fafb !important;
  padding: 1.25rem !important;
  border-radius: 0.5rem !important;
  overflow-x: auto !important;
  margin: 1.5rem 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
}

body article pre code {
  background: none !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
}

/* Horizontal rule / separator */
article hr {
  border: none;
  border-top: 2px solid #e5e7eb;
  margin: 2.5rem 0;
}

/* Strong / Bold */
article strong {
  font-weight: 700;
  color: #1f2937;
}

/* ============================================
   Article Header Styles
   ============================================ */

article .post-title,
article h1 {
  color: #1e3a8a;
  font-size: 2.25rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1rem;
}

article .post-meta,
article .post-meta time,
article .post-meta a {
  font-size: 0.875rem;
  color: #6b7280;
}

/* ============================================
   Navigation - Remove underlines from all nav links
   ============================================ */
.nav-links a,
.post-navigation a,
.nav-subtitle,
.nav-title,
.post-navigation .nav-subtitle,
.post-navigation .nav-title {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.nav-links a::after,
.post-navigation a::after {
  display: none !important;
}

/* ============================================
   Post Navigation
   ============================================ */

.post-navigation {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid #e5e7eb !important;
}

.post-navigation .nav-links {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  gap: 1rem !important;
  max-width: 100% !important;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
  flex: 0 0 calc(50% - 0.5rem) !important;
  max-width: calc(50% - 0.5rem) !important;
  min-width: 0 !important;
}

.post-navigation .nav-next {
  margin-left: auto !important;
}

.post-navigation .nav-links a,
.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.25rem !important;
  color: #1e3a8a !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  padding: 1rem 1.25rem !important;
  border: 2px solid #e5e7eb !important;
  border-radius: 0.5rem !important;
  transition: all 0.2s ease !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.post-navigation .nav-next a {
  align-items: flex-end !important;
  text-align: right !important;
}

.post-navigation .nav-links a:hover {
  border-color: #f18202 !important;
  color: #f18202 !important;
  background-color: #fffbeb !important;
}

.post-navigation .nav-subtitle {
  font-size: 0.7rem !important;
  color: #6b7280 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  display: block !important;
}

.post-navigation .nav-title {
  font-size: 0.925rem !important;
  font-weight: 600 !important;
  color: inherit !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ============================================
   Mobile Responsive
   ============================================ */

@media (max-width: 768px) {
  article h1 { font-size: 1.75rem; }
  article h2 { font-size: 1.5rem; }
  article h3 { font-size: 1.25rem; }

  article table {
    font-size: 0.8rem;
  }

  article th,
  article td {
    padding: 0.5rem 0.75rem;
  }

  article .post-navigation {
    flex-direction: column;
  }

  article .post-navigation a {
    max-width: 100%;
    text-align: center;
  }
}

/* Button Styles */
.btn-primary {
  background-color: var(--primary-orange);
  color: white;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
  border: none;
  cursor: pointer;
}

.btn-primary:hover {
  background-color: var(--primary-orange-hover);
  color: white;
}

.btn-outline {
  border: 2px solid var(--primary-blue);
  color: var(--primary-blue);
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
  background: transparent;
}

.btn-outline:hover {
  background-color: var(--background-cream);
  color: var(--primary-blue);
}

/* Animation Classes */
.fade-in {
  animation: fadeIn 0.6s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile Menu Styles */
.mobile-menu {
  display: none;
}

.mobile-menu.active {
  display: block;
}

/* ============================================
   Header Navigation - Dropdown Menus
   ============================================ */

/* Dropdown containers need relative positioning */
.solutions-dropdown,
.services-dropdown,
.resources-dropdown {
  position: relative !important;
}

/* Dropdown menus - hidden by default */
.solutions-menu,
.services-menu,
.resources-menu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 1000 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-width: 12rem !important;
}

/* Show menu on hover */
.solutions-dropdown:hover .solutions-menu,
.services-dropdown:hover .services-menu,
.resources-dropdown:hover .resources-menu {
  display: block !important;
}

/* Only target header navigation specifically */
header nav a,
header nav a:hover,
nav.bg-white a,
nav.bg-white a:hover {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
}

@media (max-width: 768px) {
  .desktop-nav {
    display: none;
  }
}

@media (min-width: 769px) {
  .mobile-menu-toggle {
    display: none;
  }
}

/* ============================================
   Footer - Remove underlines from links
   ============================================ */

footer a,
footer a:hover {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* Navigation Dropdown Menu - Remove Background on Hover */
.solutions-menu a:hover,
.services-menu a:hover,
.resources-menu a:hover {
  background-color: transparent !important;
  background: transparent !important;
}

/* Ensure no background color on dropdown menu items */
.solutions-menu a,
.services-menu a,
.resources-menu a {
  background-color: transparent !important;
}

.solutions-menu a:hover,
.services-menu a:hover,
.resources-menu a:hover {
  background-color: transparent !important;
}

/* Remove background color from dropdown button triggers */
.solutions-dropdown button,
.services-dropdown button,
.resources-dropdown button {
  background-color: transparent !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  height: auto !important;
  min-height: 0 !important;
}

.solutions-dropdown button:hover,
.services-dropdown button:hover,
.resources-dropdown button:hover {
  background-color: transparent !important;
  background: transparent !important;
}

/* Ensure dropdown containers don't add extra spacing */
.solutions-dropdown,
.services-dropdown,
.resources-dropdown {
  display: inline-flex;
  align-items: center;
}


/*
*
*与contact有冲突  先屏蔽掉
*
*/

/*

    html body .contact-page-wrapper,
    html body .contact-page-wrapper *,
    html body .contact-page-wrapper *::before,
    html body .contact-page-wrapper *::after {
      box-sizing: border-box !important;
    }
    
    html body .contact-page-wrapper {
      margin: 0 !important;
      padding: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      overflow-x: hidden !important;
      position: relative !important;
    }
    
    html body .contact-page-wrapper main {
      margin: 0 !important;
      padding: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
    }
    
    html body .contact-page-wrapper section {
      margin: 0 !important;
      padding: 0 !important;
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      position: relative !important;
    }
    
    html body .contact-page-wrapper .max-w-7xl {
      margin-left: auto !important;
      margin-right: auto !important;
      padding-left: 1rem !important;
      padding-right: 1rem !important;
      width: 100% !important;
      max-width: 80rem !important;
      box-sizing: border-box !important;
    }
    
    html body .contact-page-wrapper p,
    html body .contact-page-wrapper h1,
    html body .contact-page-wrapper h2,
    html body .contact-page-wrapper h3,
    html body .contact-page-wrapper h4,
    html body .contact-page-wrapper h5,
    html body .contact-page-wrapper h6,
    html body .contact-page-wrapper span,
    html body .contact-page-wrapper div,
    html body .contact-page-wrapper label {
      margin: 0 !important;
      padding: 0 !important;
      font-weight: inherit !important;
      line-height: inherit !important;
      font-size: inherit !important;
    }
    
    html body .contact-page-wrapper ul,
    html body .contact-page-wrapper ol {
      margin: 0 !important;
      padding: 0 !important;
      list-style: none !important;
    }
    
    html body .contact-page-wrapper li {
      margin: 0 !important;
      padding: 0 !important;
      list-style: none !important;
    }
    
    html body .contact-page-wrapper img {
      max-width: 100% !important;
      height: auto !important;
      display: block !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
    }
    
    html body .contact-page-wrapper a {
      text-decoration: none !important;
      color: inherit !important;
      background: transparent !important;
    }
    
    html body .contact-page-wrapper button,
    html body .contact-page-wrapper input,
    html body .contact-page-wrapper select,
    html body .contact-page-wrapper textarea {
      font-family: inherit !important;
      font-size: inherit !important;
      line-height: inherit !important;
      margin: 0 !important;
      border: 0 !important;
      background: transparent !important;
      box-sizing: border-box !important;
    }
    
    html body .contact-page-wrapper [class*="grid"] {
      display: grid !important;
    }
    
    html body .contact-page-wrapper [class*="flex"] {
      display: flex !important;
    }
    
    html body .contact-page-wrapper .entry-content,
    html body .contact-page-wrapper .post-content,
    html body .contact-page-wrapper .wp-block-group,
    html body .contact-page-wrapper .wp-block-columns,
    html body .contact-page-wrapper .wp-block-column {
      margin: 0 !important;
      padding: 0 !important;
      max-width: 100% !important;
      width: 100% !important;
    }
    
    html body .contact-page-wrapper .entry-content *,
    html body .contact-page-wrapper .post-content *,
    html body .contact-page-wrapper .wp-block-group * {
      margin: 0 !important;
      padding: 0 !important;
    }
    
    html body .contact-page-wrapper form {
      margin: 0 !important;
      padding: 0 !important;
      width: 100% !important;
    }
    
    html body .contact-page-wrapper input[type="text"],
    html body .contact-page-wrapper input[type="email"],
    html body .contact-page-wrapper input[type="tel"],
    html body .contact-page-wrapper select,
    html body .contact-page-wrapper textarea {
      width: 100% !important;
      box-sizing: border-box !important;
    }


*/


