:root {
  /* Brand Colors */
  --brand-red: #ff0000;
  --brand-red-hover: #cc0000;
  --brand-red-alt: #e60012; /* Original red used in some places */
  
  /* Neutral Colors */
  --brand-dark: #18181B; /* text-brandText / bg-brandDark */
  --brand-white: #FFFFFF;
  
  /* Grays */
  --brand-gray-light: #f7f7f7; /* bg-brandSurface */
  --brand-gray-border: #E4E4E7; /* border-brandBorder */
  --brand-gray-text: #71717A; /* text-brandGray */
  --brand-gray-text-light: #A1A1AA;
  
  /* Animations */
  --primary-bezier: cubic-bezier(0.19, 1, 0.22, 1);
  --standard-bezier: cubic-bezier(0.16, 1, 0.3, 1);
}

    /* Sharp glow and elevation adjustments for strict squared aesthetics */
    .glow-red:hover {
      box-shadow: 0 0 25px rgba(230, 0, 18, 0.35);
    }
    .glassmorphism {
      background: rgba(255, 255, 255, 0.9);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--brand-gray-border);
    }
    /* Square transition curves - no border-radii allowed */
    .card-lift {
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-lift:hover {
      transform: translateY(-6px);
      border-color: var(--brand-red-alt);
    }
    /* Fix browser autofill background color */
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active,
    textarea:-webkit-autofill,
    textarea:-webkit-autofill:hover,
    textarea:-webkit-autofill:focus,
    textarea:-webkit-autofill:active,
    select:-webkit-autofill,
    select:-webkit-autofill:hover,
    select:-webkit-autofill:focus,
    select:-webkit-autofill:active {
      -webkit-box-shadow: 0 0 0 30px transparent inset !important;
      -webkit-text-fill-color: white !important;
      transition: background-color 5000s ease-in-out 0s;
      background-color: transparent !important;
    }
    /* Ensure form inputs have transparent background and only bottom border */
    #rfqForm input,
    #rfqForm textarea,
    #rfqForm select,
    [id^="infility_form"] input,
    [id^="infility_form"] textarea,
    [id^="infility_form"] select {
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
      padding: 12px 0 !important;
      background-color: transparent !important;
      border: none !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
      border-radius: 0 !important;
      color: var(--brand-white) !important;
    }
    #rfqForm input:focus,
    #rfqForm textarea:focus,
    #rfqForm select:focus,
    [id^="infility_form"] input:focus,
    [id^="infility_form"] textarea:focus,
    [id^="infility_form"] select:focus {
      border-bottom-color: rgba(255,255,255,0.7) !important;
      outline: none !important;
      box-shadow: none !important;
      background-color: rgba(255,255,255,0.08) !important;
    }
    #rfqForm select:hover,
    [id^="infility_form"] select:hover {
      background-color: rgba(255,255,255,0.05) !important;
    }
    #rfqForm select option,
    [id^="infility_form"] select option {
      background-color: #FFFFFF;
      color: var(--brand-dark);
    }
    /* Light blueprint grid background */
    .grid-bg {
      background-image: radial-gradient(rgba(230, 0, 18, 0.05) 1px, transparent 1px);
      background-size: 24px 24px;
    }
    /* Custom delicate lineart icon adjustment to match image_c7aca8.jpg styling */
    .floating-lineart-icon svg {
      stroke-width: 1.2px !important;
    }

    .label-caps {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.25em;
      font-weight: 600;
      color: #888;
    }

    .container-bg { 
      position: absolute; 
      inset: -1em; 
      --c: 7px; 
      background-color: #000; 
      background-image: radial-gradient( 
          circle at 50% 50%, 
          #0000 1.5px, 
          #000 0 var(--c), 
          #0000 var(--c) 
      ), 
      radial-gradient( 
          circle at 50% 50%, 
          #0000 1.5px, 
          #000 0 var(--c), 
          #0000 var(--c) 
      ), 
      radial-gradient(circle at 50% 50%, #f00, #f000 60%), 
      radial-gradient(circle at 50% 50%, #ff0, #ff00 60%), 
      radial-gradient(circle at 50% 50%, #0f0, #0f00 60%), 
      radial-gradient(ellipse at 50% 50%, #00f, #00f0 60%); 
      background-size: 
          12px 20.7846097px, 
          12px 20.7846097px, 
          200% 200%, 
          200% 200%, 
          200% 200%, 
          200% 20.7846097px; 
      --p: 0 0, 6px 10.39230485px; 
      background-position: 
          var(--p), 
          0% 0%, 
          0% 0%, 
          0% 0; 
      animation: 
          wee 40s linear infinite, 
          filt 6s linear infinite; 
      z-index: 0;
    } 

    @keyframes filt { 
      0% { 
          filter: hue-rotate(0deg); 
      } 
      to { 
          filter: hue-rotate(360deg); 
      } 
    } 

    @keyframes wee { 
      0% { 
          background-position: 
          var(--p), 
          800% 400%, 
          1000% -400%, 
          -1200% -600%, 
          400% 41.5692194px; 
      } 
      to { 
          background-position: 
          var(--p), 
          0% 0%, 
          0% 0%, 
          0% 0%, 
          0% 0%; 
      } 
    }

    /* Single Layer Navigation */
    .nav-wrapper {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .main-nav {
      height: 80px;
      background: transparent;
      border-bottom: 1px solid rgba(255, 255, 255, 0.15);
      transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .nav-wrapper.is-scrolled .main-nav {
      background: rgba(255, 255, 255, 0.98);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-bottom: 1px solid var(--brand-gray-border);
    }

    /* Text color transitions for transparent header */
    .nav-wrapper:not(.is-scrolled) .main-nav .text-brandText,
    .nav-wrapper:not(.is-scrolled) .main-nav a:not(.bg-brandRed) {
      color: #FFFFFF;
    }
    .nav-wrapper:not(.is-scrolled) .main-nav .nav-item > a,
    .nav-wrapper:not(.is-scrolled) .main-nav .dropdown-item > a {
      color: rgba(255, 255, 255, 0.9);
    }
    .nav-wrapper:not(.is-scrolled) .main-nav .nav-item > a:hover,
    .nav-wrapper:not(.is-scrolled) .main-nav .dropdown-item > a:hover {
      color: var(--brand-red);
    }
    .nav-wrapper:not(.is-scrolled) .main-nav .menu-icon {
      color: #FFFFFF;
    }

    /* Mega Menu */
    .mega-menu {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background: white;
      border: none;
      box-shadow: 0 15px 40px rgba(0,0,0,0.08);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-10px);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 50;
    }
    .nav-item:hover .mega-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .nav-item > a {
      position: relative;
    }
    .dropdown-item > a {
      position: relative;
    }
    .nav-item > a::after,
    .dropdown-item > a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0;
      height: 2px;
      background: var(--brand-red-alt);
      transition: width 0.3s ease;
    }
    .nav-item:hover > a::after,
    .dropdown-item:hover > a::after {
      width: 100%;
    }

    /* Dropdown */
    .dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      min-width: 260px;
      background: white;
      border: none;
      box-shadow: 0 10px 30px rgba(0,0,0,0.1);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-10px);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 60;
    }
    .dropdown-item:hover .dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .nav-wrapper:not(.is-scrolled) .main-nav .dropdown a,
    .nav-wrapper:not(.is-scrolled) .main-nav .mega-menu a,
    .nav-wrapper:not(.is-scrolled) .main-nav .dropdown h4,
    .nav-wrapper:not(.is-scrolled) .main-nav .mega-menu h4,
    .nav-wrapper:not(.is-scrolled) .main-nav .dropdown h5,
    .nav-wrapper:not(.is-scrolled) .main-nav .mega-menu h5,
    .nav-wrapper:not(.is-scrolled) .main-nav .dropdown span,
    .nav-wrapper:not(.is-scrolled) .main-nav .mega-menu span,
    .nav-wrapper:not(.is-scrolled) .main-nav .dropdown p,
    .nav-wrapper:not(.is-scrolled) .main-nav .mega-menu p {
      color: var(--brand-dark) !important;
    }
    .nav-wrapper:not(.is-scrolled) .main-nav .mega-menu a.sub-item {
      color: var(--brand-dark) !important;
    }
    .nav-wrapper:not(.is-scrolled) .main-nav .dropdown a:hover,
    .nav-wrapper:not(.is-scrolled) .main-nav .mega-menu a:hover,
    .nav-wrapper:not(.is-scrolled) .main-nav .lsft-dropdown a:hover {
      color: var(--brand-red-alt) !important;
    }

    /* Fix Transposh language switcher colors on transparent header */
    .nav-wrapper:not(.is-scrolled) .main-nav #sh_lsft_custom_dropdown_flags_names > li > a {
      color: var(--brand-white) !important;
    }
    .nav-wrapper:not(.is-scrolled) .main-nav #sh_sc_flags_names_submenu {
      background-color: white !important;
    }
    .nav-wrapper:not(.is-scrolled) .main-nav #sh_sc_flags_names_submenu a {
      color: var(--brand-dark) !important;
    }
    .nav-wrapper:not(.is-scrolled) .main-nav #sh_sc_flags_names_submenu a:hover {
      color: var(--brand-red-alt) !important;
    }

    /* Replace flag with a globe icon on the top-level active language item and format text */
    ul#sh_lsft_custom_dropdown_flags_names {
      margin: 0;
      padding: 0;
      list-style: none;
      height: 100%;
    }
    ul#sh_lsft_custom_dropdown_flags_names > li.stylable-list {
      height: 100%;
      display: flex;
      align-items: center;
      position: relative; /* Ensure submenu positions relative to this li */
    }
    
    /* Target ONLY the top-level toggle using its unique ID */
    #stylable-list-first-item {
      background-image: none !important;
      padding: 2rem 0 !important; /* Remove horizontal padding entirely to rely on width */
      margin: 0 !important; /* Ensure no external margin */
      position: relative;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      font-size: 0 !important; /* Force invisible text to 0 width */
      font-weight: 800 !important;
      text-transform: uppercase !important;
      letter-spacing: 0 !important; /* Remove letter spacing to collapse text */
      color: transparent !important; /* Make sure it's transparent */
      transition: color 0.3s;
      font-family: inherit;
      white-space: nowrap; /* Prevent text wrapping */
      visibility: hidden !important; /* Hide the original text node safely */
      width: 22px !important; /* Adjusted for larger icon */
      min-width: 22px !important; /* Prevent flex min-width auto expansion */
      max-width: 22px !important;
    }
    
    /* Restore visibility for pseudo elements */
    #stylable-list-first-item::before {
      visibility: visible !important;
    }

    /* Specific language abbreviations and fallback text removed, keeping only the globe icon */

    /* Chevron Down Icon */
    ul#sh_lsft_custom_dropdown_flags_names > li.stylable-list::after {
      content: '';
      display: inline-block;
      width: 12px;
      height: 12px;
      margin-left: -8px; /* More negative margin to offset the SVG internal blank space and bring it closer to the icon */
      background-color: currentColor;
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      -webkit-mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center;
      pointer-events: none;
    }
    .nav-wrapper:not(.is-scrolled) .main-nav ul#sh_lsft_custom_dropdown_flags_names > li.stylable-list::after {
      background-color: #FFFFFF;
    }

    #stylable-list-first-item::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 22px;
      height: 22px;
      background-color: var(--brand-dark); /* Default color */
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E");
      -webkit-mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E");
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center;
    }
    .nav-wrapper:not(.is-scrolled) .main-nav #stylable-list-first-item::before {
      background-color: #FFFFFF;
    }
    #stylable-list-first-item:hover::before,
    ul#sh_lsft_custom_dropdown_flags_names > li.stylable-list:hover::after {
      background-color: var(--brand-red-alt) !important;
    }

    /* Submenu styling to match the theme */
    ul#sh_sc_flags_names_submenu {
      position: absolute !important;
      top: 100% !important;
      left: 0 !important; /* Align left edge of submenu with left edge of the globe icon */
      right: auto !important;
      min-width: 120px !important;
      background: white !important;
      border: none !important;
      box-shadow: 0 10px 30px rgba(0,0,0,0.1) !important;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-10px);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 60;
      padding: 0 !important;
      margin: 0 !important;
      display: block !important; /* Need to be block to animate opacity */
    }
    .language-switcher-wrapper:hover ul#sh_sc_flags_names_submenu,
    ul#sh_lsft_custom_dropdown_flags_names > li.stylable-list:hover ul#sh_sc_flags_names_submenu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    ul#sh_sc_flags_names_submenu > li {
      margin: 0 !important;
      padding: 0 !important;
      list-style: none !important;
      display: block !important;
    }
    #navWrapper ul#sh_sc_flags_names_submenu > li > a {
      display: block !important;
      padding: 12px 24px 12px 54px !important; /* Ensure plenty of room for the flag */
      font-size: 13px !important; 
      font-weight: 700 !important; 
      color: var(--brand-dark) !important; 
      background-color: transparent !important;
      transition: all 0.3s !important;
      background-position: 16px center !important; /* Push flag slightly right */
      background-size: 24px auto !important; /* Ensure flag is not too big */
      white-space: nowrap !important;
      text-decoration: none !important;
      line-height: 1.5 !important;
      text-align: left !important;
      box-sizing: border-box !important;
      text-indent: 0 !important;
      margin: 0 !important;
      width: 100% !important;
    }
    #navWrapper ul#sh_sc_flags_names_submenu > li > a:hover {
      color: var(--brand-red) !important; /* hover:text-brandRed */
      background-color: var(--brand-gray-light) !important; /* hover:bg-brandSurface */
    }

    /* Mobile Menu */
    #mobileMenu {
      visibility: hidden;
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s 0.4s;
    }
    #mobileMenu.mobile-menu-open {
      visibility: visible;
      transform: translateX(0) !important;
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s 0s;
    }
    #mobileMenu .menu-icon {
      pointer-events: none;
    }

    /* Mobile Accordion */
    #mobileMenu [onclick*="toggleMobileAccordion"] {
      -webkit-tap-highlight-color: transparent;
      -webkit-user-select: none;
      user-select: none;
    }
    #mobileMenu [onclick*="toggleMobileAccordion"]:active,
    #mobileMenu [onclick*="toggleMobileAccordion"]:focus-visible {
      background: transparent;
      color: var(--brand-red);
    }
    .mobile-accordion-body {
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      margin-top: 0;
    }
    .mobile-accordion-body.mobile-accordion-open {
      max-height: 999px;
      opacity: 1;
      margin-top: 0.75rem;
    }

    /* Nav Dropdown Overlay */
    #navOverlay {
      position: fixed;
      top: 80px;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.5);
      z-index: 0;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
      pointer-events: none;
    }
    #navOverlay.active {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

/* =========================================
   SHONE 通用页面板块样式 (Universal Section Styles)
   ========================================= */

/* 通用基础样式 */
.shone-container {
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.shone-container-wide {
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.shone-hero-stage {
  min-height: 600px;
}
.shone-hero-copy {
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6875rem;
}
.shone-hero-visual {
  height: 380px;
}
.shone-redline-divider {
  height: 1px;
}
.shone-designer-copy {
  width: 100%;
}
.shone-mfg-media {
  min-height: 460px;
}
.shone-case-studies-bleed {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: hidden;
}
.shone-insights-intro {
  max-width: 886px;
}
.shone-insights-grid {
  height: auto;
}
.shone-featured-article-media {
  min-height: 200px;
}
.shone-media-3x2 {
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
}
.shone-media-4x3 {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.shone-media-16x9 {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.shone-media-square {
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
}
.shone-media-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shone-media-zoom {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease-out;
}
.group:hover .shone-media-zoom {
  transform: scale(1.05);
}
.shone-media-zoom-slow {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
  transition: transform 2s;
}
.group:hover .shone-media-zoom-slow {
  transform: scale(1.1);
}
@media (min-width: 768px) {
  .shone-container {
    padding-left: 60px;
    padding-right: 60px;
  }
  .shone-container-wide {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1280px) {
  .shone-container { max-width: 1536px; }
  .shone-container-wide { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .shone-container { max-width: 1600px; }
  .shone-container-wide { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .shone-container { max-width: 1800px; }
  .shone-container-wide { max-width: 1800px; }
}
@media (min-width: 1024px) {
  .shone-hero-visual {
    height: 450px;
  }
  .shone-designer-copy {
    width: 70%;
  }
  .shone-insights-grid {
    height: auto;
  }
}
.shone-section {
  padding: 40px 0;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .shone-section {
    padding: 80px 0;
  }
}
.shone-section.no-padding-top {
  padding-top: 0;
}
.shone-section.no-padding-bottom {
  padding-bottom: 0;
}
/* Universal Section Heading Block (Based on page-home.php Tailwind spacing) */
.shone-section-header {
  margin-bottom: 3rem; /* mb-12 (48px) - Distance to actual content below */
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 60px;
}
.shone-section-header.text-left {
  margin-bottom: 2rem; /* mb-8 (32px) - Distance to content when left aligned */
}
@media (max-width: 767px) {
  .shone-section-header {
    margin-bottom: 20px;
  }
  #solutions .shone-section-header,
  #solutions .shone-dual-card-grid {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 1280px) { .shone-section-header { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-section-header { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-section-header { max-width: 1800px; } }
.shone-heading-1 {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .shone-heading-1 {
    font-size: 2.75rem;
  }
}
.shone-section-title,
.shone-home-heading,
.shone-heading-2 {
  font-size: 1.75rem; /* 28px - mobile */
  font-weight: 800; /* font-extrabold */
  letter-spacing: -0.025em; /* tracking-tight */
  color: var(--brand-dark); /* text-brandText */
  line-height: 1.25;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: pretty;
}
@media (min-width: 768px) {
  .shone-section-title,
  .shone-home-heading,
  .shone-heading-2 {
    font-size: 2.25rem; /* 36px - desktop */
  }
}
.shone-section-title {
  margin-bottom: 1rem; /* mb-4 (16px) - Standard distance to subtitle */
  text-align: center;
}
.shone-section-header.compact .shone-section-title {
  margin-bottom: 0.75rem; /* mb-3 (12px) - Compact distance to subtitle */
}
.shone-section-subtitle {
  font-size: 1rem; /* text-base (16px) */
  color: var(--brand-gray-text); /* text-brandGray */
  line-height: 1.5; /* leading-[24px] */
  text-align: center;
  margin-bottom: 0; /* Margin handled by parent .shone-section-header */
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.subheadline,
p,
.shone-section-subtitle,
.shone-closing-copy,
.shone-text-body,
.shone-app-desc {
  text-wrap: pretty;
}
h3 {
  text-wrap: balance;
}
.shone-section-intro {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  text-align: center;
}
.shone-section-intro-narrow {
  max-width: 48rem;
}
.shone-section-intro-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.shone-heading-3 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.3;
  color: inherit;
}
.shone-card-heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}
.shone-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-right: 1rem;
  padding-left: 1rem;
}
.shone-card-summary {
  margin-top: 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--brand-gray-text);
}
.shone-card-summary strong {
  color: var(--brand-dark);
}
.shone-home-card-body {
  margin-top: 0.75rem;
  gap: 0.375rem;
}
.shone-home-card-summary {
  margin-top: 0.5rem;
}
.shone-card-list-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 900;
  color: var(--brand-dark);
}
.shone-card-list-item::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  background-color: var(--brand-red);
}
.shone-hero-feature-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1 1 0%;
  padding: 1.5rem;
  background-color: #FFFFFF;
}
.shone-hero-feature-item-surface {
  background-color: var(--brand-gray-light);
}
.shone-hero-feature-item-red {
  background-color: var(--brand-red);
}
.shone-home-hero-copy {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.shone-hero-lead {
  max-width: 42rem;
  font-size: 1.125rem;
  line-height: 1.6;
}
.shone-hero-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1rem;
}
.shone-hero-cta-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .shone-hero-feature-item {
    padding: 2rem;
  }
  .shone-hero-lead {
    font-size: 1.25rem;
  }
}
.shone-section-copy {
  margin-bottom: 2rem;
}
.shone-inquiry-media {
  position: relative;
  background-color: var(--brand-gray-light);
  border-radius: 0.125rem;
}
.shone-inquiry-stack {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-self: flex-start;
}
.section-closing-inquiry h2,
.shone-closing-heading {
  font-size: 2.25rem; /* 36px */
}
@media (max-width: 767px) {
  .section-closing-inquiry h2,
  .shone-closing-heading {
    font-size: 28px;
  }
}
.shone-closing-heading {
  margin-bottom: 0.75rem;
  word-break: break-word;
}
/* 底部 CTA 统一为首页同款双栏布局 */
.section-closing-inquiry .shone-closing-inquiry-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5rem;
  align-items: normal;
  width: 100%;
}
@media (min-width: 1024px) {
  .section-closing-inquiry .shone-closing-inquiry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6rem;
  }
}
.section-closing-inquiry .shone-inquiry-stack {
  align-self: stretch;
  max-width: 100%;
  overflow: hidden;
}
.section-closing-inquiry .shone-inquiry-right {
  align-self: stretch;
  height: 100%;
  max-width: 100%;
}
.shone-closing-copy {
  margin-bottom: 2rem;
  word-break: break-word;
}
.shone-trust-list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: 1rem;
}
.shone-trust-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.shone-redline-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.shone-redline-body {
  padding-top: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.shone-redline-copy {
  margin-bottom: 2rem;
  line-height: 1.625;
}
.shone-dual-card-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 768px) {
  .shone-dual-card-grid {
    padding: 0 60px;
  }
}
@media (min-width: 1280px) { .shone-dual-card-grid { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-dual-card-grid { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-dual-card-grid { max-width: 1800px; } }
.shone-home-case-intro {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 3rem;
  align-items: flex-start;
}
.shone-home-case-copy {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.shone-support-card {
  border: 0;
  border-radius: 0;
  padding: 2rem 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.shone-support-card-stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  flex: 1 1 auto;
}
.shone-section-cta-top {
  margin-top: 3rem;
  text-align: center;
}
.shone-section-cta-flush {
  margin-top: 0;
  text-align: center;
}
.shone-inline-action-row {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.shone-insights-header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 3rem;
}
.shone-inquiry-panel {
  padding: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  word-break: break-word;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
}
.shone-inquiry-panel form,
.shone-inquiry-panel input,
.shone-inquiry-panel select,
.shone-inquiry-panel textarea {
  max-width: 100%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .shone-inquiry-panel {
    padding: 2rem;
  }
}
@media (min-width: 1024px) {
  .shone-inquiry-panel {
    padding: 3rem;
  }
}
.shone-heading-4 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  color: inherit;
}
.shone-text-body {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--brand-gray-text);
}
.shone-hero-title {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
}
@media (min-width: 640px) {
  .shone-hero-title {
    font-size: 3rem;
  }
}
@media (min-width: 1024px) {
  .shone-hero-title {
    font-size: 3rem;
    line-height: 1.125;
  }
}
.shone-section-footer {
  margin-top: 2rem; /* mt-8 */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  padding: 0 20px;
}
.shone-section-footer .shone-btn-primary,
.shone-section-footer .shone-btn-secondary,
.shone-mfg-actions .shone-btn-primary,
.shone-mfg-actions .shone-btn-secondary {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
@media (min-width: 640px) {
  .shone-section-footer {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0;
  }
  .shone-section-footer .shone-btn-primary,
  .shone-section-footer .shone-btn-secondary,
  .shone-mfg-actions .shone-btn-primary,
  .shone-mfg-actions .shone-btn-secondary {
    width: auto;
  }
}
.shone-section-dark {
  background-color: var(--brand-dark);
  color: #FFFFFF;
}
.shone-section-dark .shone-section-title,
.shone-section-dark .shone-section-subtitle {
  color: #FFFFFF;
}
.shone-section-subtitle strong {
  color: var(--brand-dark);
}
.shone-section-dark .shone-section-subtitle strong {
  color: #FFFFFF;
}
.shone-section-light {
  background-color: var(--brand-gray-light);
}
.shone-red-gradient-cta {
  background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-red) 45%, #B91C1C 100%);
}
.shone-red-gradient-accent {
  background: linear-gradient(135deg, var(--brand-red) 0%, #990000 100%);
}
.shone-red-gradient-panel {
  background: linear-gradient(135deg, var(--brand-red) 0%, #9B2C2C 52%, #7B1F1F 100%);
}
.shone-btn-primary {
  display: inline-block;
  background-color: var(--brand-red);
  color: #FFFFFF;
  padding: 1rem 2rem; /* py-4 px-8 */
  font-size: 1rem; /* text-base */
  font-weight: 800; /* font-extrabold */
  letter-spacing: 0.025em; /* tracking-wide */
  text-decoration: none;
  text-align: center;
  border-radius: 0.25rem; /* rounded */
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
  border: 1px solid var(--brand-red);
}
.shone-btn-primary:hover {
  background-color: var(--brand-red-hover); /* hover:bg-brandRedHover */
  border-color: var(--brand-red-hover);
  color: #FFFFFF;
  transform: translateY(-4px); /* hover:-translate-y-1 */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
}

.shone-btn-secondary {
  display: inline-block;
  background-color: transparent;
  color: var(--brand-dark);
  padding: 1rem 2rem; /* py-4 px-8 */
  font-size: 1rem; /* text-base */
  font-weight: 800; /* font-extrabold */
  letter-spacing: 0.025em; /* tracking-wide */
  text-decoration: none;
  text-align: center;
  border-radius: 0.25rem;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border: 1px solid var(--brand-dark);
}
.shone-section-dark .shone-btn-secondary {
  background-color: #FFFFFF;
  color: var(--brand-dark);
  border-color: #FFFFFF;
}
.shone-btn-secondary:hover {
  background-color: var(--brand-red); /* hover:bg-brandRed */
  color: #FFFFFF;
  border-color: var(--brand-red);
  transform: translateY(-4px); /* hover:-translate-y-1 */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
}
.shone-btn-secondary-light {
  background-color: #FFFFFF;
  color: var(--brand-red);
  border-color: #FFFFFF;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.shone-btn-secondary-accent {
  color: var(--brand-red);
  border-color: var(--brand-red);
}
.shone-section-no-padding-bottom {
  padding-bottom: 0;
}
.shone-btn-secondary-light:hover {
  background-color: #F4F4F5;
  color: var(--brand-red);
  border-color: #FFFFFF;
}
.shone-section-dark .shone-btn-secondary:hover {
  background-color: var(--brand-red-hover);
  color: #FFFFFF;
  border-color: var(--brand-red-hover);
}
.shone-section-hero .shone-btn-secondary {
  background-color: #FFFFFF;
  color: var(--brand-dark);
  border-color: #FFFFFF;
}
.shone-section-hero .shone-btn-secondary:hover {
  background-color: var(--brand-red-hover);
  color: #FFFFFF;
  border-color: var(--brand-red-hover);
}
.shone-btn-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 900;
  color: var(--brand-red);
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.shone-btn-link:hover {
  gap: 0.75rem;
  color: var(--brand-red);
  transform: translateY(-4px);
}
.shone-meta-text {
  margin-bottom: 0.5rem;
  font-family: ui-monospace, SFMono-Regular, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-transform: lowercase;
  color: var(--brand-dark);
}
.shone-note-text {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--brand-gray-text);
}
.shone-note-text-light {
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.8);
  font-style: italic;
}
.shone-feature-copy {
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  line-height: 1.375;
  color: var(--brand-gray-text);
}
.shone-feature-copy > strong {
  font-size: 1.25rem;
  color: var(--brand-dark);
}
.shone-feature-copy > span {
  margin-top: 0.5rem;
  font-size: 1rem;
}
.shone-feature-copy-light {
  color: rgba(255, 255, 255, 0.9);
}
.shone-feature-copy-light > strong {
  color: #FFFFFF;
}
.shone-btn-compact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--brand-gray-border);
  background-color: #FFFFFF;
  color: var(--brand-dark);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  transition: border-color 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}
.shone-btn-compact:hover {
  border-color: var(--brand-red);
  color: var(--brand-red);
}
.shone-link-compact {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-transform: none;
  color: var(--brand-dark);
  text-decoration: none;
  transition: color 0.3s ease;
}
.shone-link-compact:hover {
  color: var(--brand-red);
}
.shone-card-links {
  margin-top: 1rem;
  padding-top: 1rem;
  padding-right: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  border-top: 1px solid rgba(228, 228, 231, 0.5);
  transition: color 0.3s ease;
}
.shone-home-card-links {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.shone-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 900;
  color: var(--brand-dark);
  text-decoration: none;
  transition: color 0.3s ease, gap 0.3s ease, transform 0.3s ease;
}
.shone-card-link:hover {
  color: var(--brand-red);
  gap: 0.75rem;
  transform: translateY(-0.25rem);
}
.shone-card-title-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.25;
  color: var(--brand-dark);
  text-decoration: none;
  transition: color 0.2s ease, gap 0.2s ease;
}
.shone-card-title-link:hover {
  color: var(--brand-red);
  gap: 0.75rem;
}
.shone-insights-featured {
  grid-column: span 6 / span 6;
  display: flex;
  flex-direction: column;
  height: auto;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--brand-gray-border);
}
.shone-insights-list {
  grid-column: span 6 / span 6;
  display: flex;
  flex-direction: column;
  height: auto;
}
.shone-insights-list-item {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
.shone-insights-list-thumb {
  width: 180px;
  aspect-ratio: 3 / 2;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--brand-gray-light);
}
.shone-insights-list-copy {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media (min-width: 1024px) {
  .shone-insights-featured {
    height: 100%;
  }
  .shone-insights-list {
    height: 100%;
    border-left: 1px solid var(--brand-gray-border);
    padding-left: 2rem;
  }
}
@media (max-width: 639px) {
  .shone-insights-list-item {
    flex-direction: column;
    align-items: stretch;
  }
  .shone-insights-list-thumb {
    width: 100%;
  }
}
.shone-form-note {
  margin-top: 1rem;
  text-align: left;
}
.shone-modal-card {
  width: 100%;
  border: 1px solid var(--brand-gray-border);
  border-radius: 0;
  background-color: #FFFFFF;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-align: center;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  transition: all 0.3s ease;
  transform: scale(0.95);
}
.shone-modal-card-sm {
  max-width: 24rem;
}
.shone-modal-card-md {
  max-width: 28rem;
}
.shone-modal-status {
  padding: 1rem;
  border: 1px solid var(--brand-gray-border);
  border-radius: 0;
  background-color: var(--brand-gray-light);
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.75rem;
  color: var(--brand-red);
}
.shone-btn-block-center {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}
.shone-btn-secondary-neutral {
  border-color: var(--brand-dark);
  color: var(--brand-dark);
}
.shone-empty-note {
  text-align: center;
  color: var(--brand-gray-text);
}
.shone-feature-list {
  padding-top: 0;
}
.shone-feature-list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.shone-feature-list-copy {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--brand-gray-text);
}
.shone-feature-list-copy strong {
  color: var(--brand-dark);
  font-weight: 600;
}
.shone-feature-list-copy-light {
  color: rgba(255, 255, 255, 0.9);
}
.shone-feature-list-copy-light strong {
  color: #FFFFFF;
}
.shone-cta-divider {
  margin-top: auto;
  padding-top: 1.5rem;
  border-top: 1px solid var(--brand-gray-border);
}
.shone-cta-divider-light {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.shone-badge-label {
  display: inline-block;
  padding: 0.5rem 0.75rem;
  background-color: var(--brand-red);
  color: #FFFFFF;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
@media (min-width: 1024px) {
  .shone-dual-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .shone-home-case-intro {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .shone-support-card {
    padding: 2.5rem;
  }
  .shone-insights-featured {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .shone-insights-header {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media (min-width: 640px) {
  .shone-hero-cta {
    flex-direction: row;
  }
}
.shone-trust-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  flex-shrink: 0;
  background-color: rgba(255, 0, 0, 0.12);
}
.shone-trust-badge-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--brand-red);
}
.shone-trust-copy {
  font-size: 1.125rem; /* 18px - mobile */
  font-weight: 700;
  line-height: 1.375;
}
@media (min-width: 768px) {
  .shone-trust-copy {
    font-size: 1.25rem; /* 20px - desktop */
  }
}

/* 5. Product Range & SKU Selection */
.shone-sku-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 1280px) {
  .shone-sku-container { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .shone-sku-container { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .shone-sku-container { max-width: 1800px; }
}
.shone-sku-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.5rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid var(--brand-gray-border);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.shone-sku-tabs::-webkit-scrollbar {
  display: none;
}
.shone-sku-tab {
  position: relative;
  padding: 0.5rem 0.875rem;
  font-size: 13px;
  font-weight: 700;
  color: var(--brand-gray-text);
  background: transparent;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 0.3s;
  letter-spacing: 0.01em;
}
@media (min-width: 480px) {
  .shone-sku-tab {
    padding: 0.625rem 1.125rem;
    font-size: 14px;
  }
}
@media (min-width: 768px) {
  .shone-sku-tab {
    padding: 0.75rem 1.5rem;
    font-size: 16px;
  }
}
@media (min-width: 1024px) {
  .shone-sku-tabs {
    justify-content: flex-start;
    gap: 1rem;
  }
  .shone-sku-tab {
    padding: 0.875rem 0.5rem;
    font-size: 16px;
  }
}
.shone-sku-tab::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--brand-red);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.shone-sku-tab:hover,
.shone-sku-tab.is-active {
  color: var(--brand-dark);
  font-weight: 700;
  background: transparent;
}
.shone-sku-tab:hover::after,
.shone-sku-tab.is-active::after {
  transform: scaleX(1);
}
.shone-sku-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 640px) {
  .shone-sku-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .shone-sku-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1280px) {
  .shone-sku-grid { grid-template-columns: repeat(4, 1fr); }
}
.shone-sku-card {
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.shone-sku-card > a:first-child {
  display: block;
  line-height: 0;
}
.shone-sku-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: 1rem;
  transition: transform 0.4s ease;
  border: 1px solid var(--brand-gray-border);
}
.shone-sku-card:hover img {
  transform: none;
}
.shone-sku-card h3,
.shone-sku-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 0.75rem;
  padding: 0 1rem;
  transition: color 0.3s ease;
  line-height: 1.3;
}
.shone-sku-card:hover h3,
.shone-sku-card:hover .shone-sku-title {
  color: var(--brand-red-alt);
}
.shone-sku-card h3 a,
.shone-sku-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.shone-sku-card:hover h3 a,
.shone-sku-card:hover .shone-sku-title a {
  color: var(--brand-red-alt);
}
.shone-sku-card p {
  font-size: 1rem; /* 16px */
  color: var(--brand-gray-text);
  line-height: 1.5;
  padding: 0 1rem;
  margin-bottom: 1rem;
}
.shone-sku-actions {
  text-align: center;
  margin-top: 32px;
}
.shone-sku-actions .shone-btn-primary {
  display: block;
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .shone-sku-actions .shone-btn-primary {
    display: inline-block;
    width: auto;
  }
}

/* SKU Product Pagination */
.shone-sku-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 2rem;
  gap: 0;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .shone-sku-pagination {
    gap: 0.5rem;
  }
}
.shone-sku-page-prev-text,
.shone-sku-page-next-text {
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-gray-text);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s;
  white-space: nowrap;
}
.shone-sku-page-prev-text:hover:not(.disabled) {
  color: var(--brand-red);
}
.shone-sku-page-next-text:hover:not(.disabled) {
  color: var(--brand-red);
}
.shone-sku-page-prev-text.disabled,
.shone-sku-page-next-text.disabled {
  color: #D4D4D8;
  cursor: default;
  pointer-events: none;
}
.shone-sku-page-numbers {
  display: flex;
  gap: 0.5rem;
  margin: 0 1rem;
  flex-wrap: wrap;
  justify-content: center;
}
@media (max-width: 767px) {
  .shone-sku-page-numbers {
    margin: 0 0.5rem;
  }
}
.shone-sku-page-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-dark);
  background: var(--brand-surface);
  cursor: pointer;
  border-radius: 0;
  transition: all 0.3s ease;
  text-decoration: none;
}
.shone-sku-page-num:hover {
  color: #fff;
  background: var(--brand-red);
}
.shone-sku-page-num.current {
  color: #fff;
  background: var(--brand-red);
}

/* Legacy button-style pagination (blog, category pages) */
.shone-sku-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 1rem;
  border-radius: 0;
  background-color: var(--brand-surface);
  color: var(--brand-dark);
  border: 1px solid transparent;
  transition: all 0.3s ease;
  font-size: 16px;
  font-weight: 700;
  flex: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  text-decoration: none;
}
.shone-sku-page-btn svg {
  width: 20px;
  height: 20px;
  display: none;
}
.shone-sku-page-prev, .shone-sku-page-next {
  background: var(--brand-surface);
  color: var(--brand-dark);
}
.shone-sku-page-prev:hover:not(:disabled):not(.disabled),
.shone-sku-page-next:hover:not(:disabled):not(.disabled) {
  background-color: var(--brand-red);
  color: #fff;
  border-color: var(--brand-red);
}
.shone-sku-page-prev:disabled, .shone-sku-page-next:disabled,
.shone-sku-page-prev.disabled, .shone-sku-page-next.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.shone-sku-page-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  background: var(--brand-gray-light);
  color: #52525b;
  border-color: var(--brand-gray-border);
}

/* SKU Filter Tabs - Inherits .shone-sku-tabs and .shone-sku-tab styles above */
.shone-sku-card[style*="display: none"] {
  display: none !important;
}

/* 1. Hero Banner */
.shone-section-hero {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
  padding: 100px 0 60px;
  background-color: var(--brand-dark); /* zinc-900 */
  background-size: cover;
  background-position: center;
}
.shone-section-hero-banner-facade {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/08/Architectural-Facade-Lighting-for-Commercial-Building-Projects.webp");
}
.shone-section-hero-banner-bg4 {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/06/banner4.webp");
}
.shone-section-hero-banner-theme-park {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/08/Theme-Park-and-Monument-Lighting-for-Dynamic-Experiences.webp");
}
.shone-section-hero-banner-landscape {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/08/Commercial-Landscape-and-Hardscape-Lighting-for-Outdoor-Projects.webp");
}
.shone-section-hero-banner-road {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/08/Road-Bridge-and-Tunnel-Outdoor-Lighting-Systems.webp");
}
.shone-section-hero-banner-medical {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/08/Medical-and-Special-Spaces-Commercial-Lighting.webp");
}
.shone-section-hero-banner-bg1 {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/08/OEM-ODM-Custom-Manufacturing-for-Project-Level-Outdoor-Lighting.webp");
}
.shone-section-hero-product3 {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/07/Outdoor-Lighting-Factory-with-Automated-Manufacturing-and-RD-Control.webp");
}
.shone-section-hero-about-bg4 {
  background-image: url("https://shone.wxkntest.com/wp-content/uploads/2026/08/Luminous-Building-Materials-Manufacturer-for-Global-Landscape-Projects.webp");
}
@media (min-width: 768px) {
  .shone-section-hero {
    min-height: 600px;
    height: 100vh;
    padding-top: 80px;
    padding-bottom: 0;
  }
  .shone-section-hero--compact {
    min-height: 360px;
    height: auto;
    padding-top: calc(80px + 80px);
    padding-bottom: 80px;
  }
}
.shone-section-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to top, var(--brand-dark), rgba(24, 24, 27, 0.6), transparent);
  z-index: 1;
}
@media (min-width: 768px) {
  .shone-section-hero::before {
    background: linear-gradient(to right, var(--brand-dark), rgba(24, 24, 27, 0.8), transparent);
  }
}
.shone-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
  color: #FFFFFF;
}
@media (max-width: 767px) {
  .shone-hero-content {
    padding: 0 !important;
  }
}
@media (min-width: 1280px) {
  .shone-hero-content { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .shone-hero-content { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .shone-hero-content { max-width: 1800px; }
}
.shone-hero-content-inner {
  max-width: 58.333333%; /* lg:col-span-7 equivalent */
}
.shone-hero-content h1 {
  font-size: 2rem; /* 32px — mobile */
  font-weight: 800;
  margin-bottom: 0.75rem;
  line-height: 1.2;
  width: 100%;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .shone-hero-content h1 {
    font-size: 1.875rem; /* 30px — tablet */
    line-height: 1.125;
    width: 70%;
  }
}
@media (min-width: 1024px) {
  .shone-hero-content h1 {
    font-size: 3rem; /* 48px — desktop */
    margin-bottom: 1rem;
    width: 70%;
  }
}
.shone-hero-content .subheadline {
  font-size: 1rem;
  color: #ffffffd9;
  line-height: 1.45;
  margin-bottom: 1.5rem;
  width: 100%;
}
.shone-hero-content .subheadline strong {
  color: #FFFFFF;
}
.shone-section-subtitle strong,
.shone-category-card p strong,
.shone-sku-card p strong,
.shone-redline-card p strong,
.shone-solution-card-white .shone-solution-list p strong,
.shone-mfg-item p strong {
  color: var(--brand-dark);
}
@media (min-width: 768px) {
    .shone-hero-content .subheadline {
      font-size: 1.25rem;
      line-height: 1.35;
      margin-bottom: 2rem;
      width: 70%;
    }
  }
  .shone-hero-features {
    display: none; /* Hide features to match page-home.php */
  }
  .shone-hero-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 640px) {
  .shone-hero-actions {
    flex-direction: row;
    align-items: center;
    gap: 24px;
    padding-top: 1rem;
  }
}
.shone-hero-actions .shone-btn-primary,
.shone-hero-actions .shone-btn-secondary {
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .shone-hero-actions .shone-btn-primary,
  .shone-hero-actions .shone-btn-secondary {
    width: auto;
  }
}

.shone-breadcrumb {
  padding-top: 1.5rem;
}
.shone-breadcrumb ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.shone-breadcrumb li {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  color: #bababa;
}
.shone-breadcrumb li + li::before {
  content: "/";
  margin-right: 0.5rem;
  color: #bababa;
}
.shone-breadcrumb li a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
}
.shone-breadcrumb li a:hover {
  color: var(--brand-red);
}
.shone-breadcrumb li[aria-current="page"] {
  color: #ffffffd9;
}
@media (max-width: 767px) {
  .shone-section-hero--mobile-adapted {
    height: auto;
    min-height: auto;
    padding: calc(80px + 40px) 0px 40px;
  }
  .shone-section-hero--mobile-adapted .shone-hero-content {
    padding: 0;
  }
  .shone-section-hero--mobile-adapted .shone-hero-content h1 {
    width: 100%;
    max-width: none;
  }
  .shone-section-hero--mobile-adapted .shone-hero-actions .shone-btn-primary,
  .shone-section-hero--mobile-adapted .shone-hero-actions .shone-btn-secondary {
    display: block;
    width: 100%;
  }
  .shone-section-hero--mobile-adapted .shone-breadcrumb {
    padding-top: 1rem;
  }
}

/* 2. Universal Inquiry Form */
.shone-section-inquiry {
  background-color: #FFFFFF;
  color: var(--brand-dark);
  padding: 40px 0;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .shone-section-inquiry {
    padding: 80px 0;
  }
}
.shone-inquiry-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.625rem; /* mobile (10px) */
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 1024px) {
  .shone-inquiry-container {
    grid-template-columns: 1fr 1fr;
    gap: 6rem; /* desktop (96px) */
  }
}
@media (min-width: 1280px) {
  .shone-inquiry-container { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .shone-inquiry-container { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .shone-inquiry-container { max-width: 1800px; }
}
.shone-inquiry-left {
  display: flex;
  flex-direction: column;
  gap: 3rem; /* gap-8 */
  align-self: flex-start;
}
.shone-inquiry-left-content {
  width: 100%;
}
.shone-inquiry-left-content p {
  color: var(--brand-gray-text);
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}
.shone-inquiry-trust-notes {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem; /* gap-y-4 */
}
.shone-inquiry-trust-notes li {
  font-size: 1.25rem; /* text-xl */
  font-weight: 700;
  line-height: 1.375; /* leading-snug */
  display: flex;
  align-items: center;
  gap: 0.75rem; /* gap-3 */
  color: var(--brand-dark);
}
.shone-inquiry-trust-notes li::before {
  content: '';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem; /* w-10 */
  height: 2.5rem; /* h-10 */
  background-color: rgba(255, 0, 0, 0.2); /* bg-shone-red/20 */
  border-radius: 9999px; /* rounded-full */
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ff0000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-award'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}
.shone-inquiry-image-wrapper {
  border-radius: 0.125rem; /* rounded-sm */
  overflow: hidden;
  position: relative;
  background-color: var(--brand-gray-light); /* bg-brandSurface */
  aspect-ratio: 3 / 2;
}
.shone-inquiry-image-wrapper img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease-out;
}
.shone-inquiry-image-wrapper:hover img {
  transform: scale(1.05);
}
.shone-inquiry-right {
  width: 100%;
}
.shone-inquiry-right > div {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.shone-inquiry-form {
  background: linear-gradient(to bottom right, var(--brand-red), #9B2C2C, #7B1F1F);
  padding: 2rem; /* p-8 */
  border: 1px solid rgba(255, 255, 255, 0.2);
  height: 100%;
}
@media (min-width: 1024px) {
  .shone-inquiry-form {
    padding: 3rem; /* lg:p-12 */
  }
}
.shone-inquiry-form .form-group {
  margin-bottom: 1.5rem;
}
.shone-inquiry-form label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1rem; /* 16px */
  color: #FFFFFF;
  text-transform: capitalize;
  font-weight: 600;
}
.shone-inquiry-form input,
.shone-inquiry-form select,
.shone-inquiry-form textarea {
  width: 100%;
  padding: 12px 0; /* py-3 */
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  color: #FFFFFF;
  transition: border-color 0.3s;
  border-radius: 0;
  outline: none;
}
.shone-inquiry-form input::placeholder,
.shone-inquiry-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.shone-inquiry-form input:focus,
.shone-inquiry-form select:focus,
.shone-inquiry-form textarea:focus {
  outline: none;
  border-bottom-color: rgba(255,255,255,0.7);
}
.shone-inquiry-form select:hover {
  background-color: rgba(255,255,255,0.05);
}
.shone-inquiry-form select:focus {
  background-color: rgba(255,255,255,0.08);
}
.shone-inquiry-form select option {
  background-color: #FFFFFF;
  color: var(--brand-dark);
}

/* 3. Product Category Matrix */
.shone-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem; /* gap-4 */
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px; /* px-[24px] */
}
@media (min-width: 1024px) {
  .shone-category-grid {
    gap: 1.5rem; /* md:gap-6 */
  }
}
@media (min-width: 1280px) {
  .shone-category-grid { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .shone-category-grid { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .shone-category-grid { max-width: 1800px; }
}
.shone-category-card {
  background: #FFFFFF;
  border: 1px solid transparent;
  padding: 0; /* Remove internal padding to match edge-to-edge image */
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}
.shone-category-card:hover {
  transform: translateY(0); /* Remove translateY */
  border-color: transparent; /* Remove red border */
  box-shadow: none; /* Remove box-shadow */
}
.shone-category-img-container {
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  margin-bottom: 1rem; /* mb-4 */
  position: relative;
}
.shone-category-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #f4f4f5;
  transition: transform 0.5s ease;
}

.shone-category-card:hover .shone-category-img {
  transform: scale(1.05);
}
.shone-category-content {
  padding: 0 1rem; /* px-4 */
  margin-top: 1rem; /* mt-4 */
}
.shone-category-card h3 {
  font-size: 1.5rem; /* text-2xl */
  font-weight: 700; /* font-bold */
  letter-spacing: -0.025em; /* tracking-tight */
  color: var(--brand-dark); /* text-brandText */
  line-height: 1.25; /* leading-tight */
  margin-bottom: 0.75rem; /* mt-3 equivalent */
}
.shone-category-card h3 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s;
}
.shone-category-card h3 a:hover {
  color: inherit; /* Remove hover red color for title */
}
.shone-category-card p {
  font-size: 1rem; /* 16px */
  color: var(--brand-gray-text); /* brandGray */
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;  
  overflow: hidden;
  margin-top: 0.75rem; /* mt-3 */
}
.shone-category-uses {
  list-style: none;
  padding: 1rem 1rem 1rem; /* pt-4 px-4 pb-4 */
  margin-top: 1rem; /* mt-4 */
  border-top: 1px solid rgba(228, 228, 231, 0.5); /* border-t border-t-brandBorder/50 */
  display: flex;
  flex-direction: column;
  gap: 0.75rem; /* space-y-3 */
}
.shone-category-uses li {
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 900;
  color: var(--brand-dark);
}
.shone-category-uses li::before {
  content: ''; /* Remove bullet point dash */
}
.shone-category-uses li a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem; /* gap-2 */
  color: inherit;
  text-decoration: none;
  transition: all 0.3s;
}
.shone-category-uses li a:hover {
  color: var(--brand-red); /* hover:text-brandRed */
  gap: 0.75rem; /* hover:gap-3 */
  transform: translateY(-4px); /* hover:-translate-y-1 */
}

/* ========================================= */
/* S03 ENGINEERING REDLINES (Replacing 4 & 6) */
/* ========================================= */
.shone-redlines-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem 2.5rem; /* mobile */
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 768px) {
  .shone-redlines-grid { grid-template-columns: repeat(2, 1fr); gap: 4rem 2.5rem; /* desktop */ }
}
@media (min-width: 1024px) {
  .shone-redlines-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1280px) { .shone-redlines-grid { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-redlines-grid { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-redlines-grid { max-width: 1800px; } }

.shone-redline-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: 100%;
  padding-top: 1.5rem; /* pt-6 */
}
@media (min-width: 768px) {
  .shone-redline-card {
    align-items: flex-start;
    text-align: left;
  }
}
.shone-redline-border-base {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}
.shone-redline-border-active {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--brand-red);
  transition: all 0.7s ease-out;
}
.shone-redline-card:hover .shone-redline-border-active {
  width: 100%;
}
.section-technical-foundation .shone-redline-border-base,
.section-technical-foundation .shone-redline-border-active {
  display: none;
}
.shone-redline-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background-color: var(--brand-red);
  border-radius: 9999px;
  margin-bottom: 1rem; /* mobile */
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .shone-redline-icon-wrap {
    margin-bottom: 2rem; /* desktop */
  }
}
.shone-redline-icon {
  width: 28px;
  height: 28px;
}
.shone-redline-number {
  font-size: 3.75rem;
  line-height: 1;
  font-weight: 300;
  color: var(--brand-red);
  margin-bottom: 1rem; /* mobile */
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
@media (min-width: 768px) {
  .shone-redline-number {
    margin-bottom: 2rem; /* desktop */
  }
}
.shone-redline-card h3 {
  font-size: 1.25rem; /* text-xl */
  font-weight: 700;
  margin-bottom: 1rem; /* mb-4 */
  color: var(--brand-dark);
}
.shone-redline-card p {
  font-size: 1rem; /* 16px */
  color: var(--brand-gray-text);
  line-height: 1.625; /* leading-relaxed */
  margin-bottom: 2rem; /* mb-8 */
}
.shone-redline-img-wrapper {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  margin-top: auto;
  width: 100%;
}
.shone-redline-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ========================================= */
/* S03-B 工程痛点 (Project Challenges)        */
/* ========================================= */
.shone-challenges-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 768px) {
  .shone-challenges-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1280px) { .shone-challenges-grid { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-challenges-grid { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-challenges-grid { max-width: 1800px; } }
.shone-challenge-card {
  background: #FFFFFF;
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 2rem;
}
.shone-challenge-icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F4F4F5;
  border-radius: 50%;
  color: var(--brand-gray-text);
}
.shone-challenge-body h3 {
  font-size: 1.25rem; /* text-xl (20px) */
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 0.5rem;
}
.shone-challenge-body p {
  font-size: 1rem; /* 16px */
  color: var(--brand-gray-text);
  line-height: 1.625;
  margin: 0;
}

/* ========================================= */
/* S05-B 打样验证流程 (Sample Validation)      */
/* ========================================= */
.shone-workflow-container {
  max-width: 1400px;
  margin: 2rem auto 0;
  padding: 0 60px;
}
@media (min-width: 1280px) { .shone-workflow-container { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-workflow-container { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-workflow-container { max-width: 1800px; } }
.shone-workflow-steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem 2rem;
}
@media (min-width: 768px) {
  .shone-workflow-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .shone-workflow-steps { grid-template-columns: repeat(5, 1fr); gap: 2rem; }
}
.shone-workflow-step {
  position: relative;
  text-align: left;
}
.shone-workflow-indicator {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  position: relative;
}
.shone-workflow-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: var(--brand-red);
  color: #FFFFFF;
  font-size: 1.125rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(255, 0, 0, 0.25);
}
.shone-workflow-line {
  display: none;
}
@media (min-width: 1024px) {
  .shone-workflow-line {
    display: block;
    position: absolute;
    top: 50%;
    left: 48px;
    width: calc(100% + 2rem - 48px);
    height: 2px;
    background-color: var(--brand-gray-border);
    transform: translateY(-50%);
    z-index: 1;
  }
  .shone-workflow-step:last-child .shone-workflow-line {
    display: none;
  }
}
.shone-workflow-content h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 0.75rem;
  line-height: 1.4;
}
.shone-workflow-content p {
  font-size: 1rem;
  color: var(--brand-gray-text);
  line-height: 1.6;
  margin: 0;
}
.shone-workflow-content p strong {
  color: var(--brand-dark);
}

/* ========================================= */
/* S04 APPLICATION ZONES (Replacing 7)       */
/* ========================================= */
.shone-app-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .shone-app-grid { grid-template-columns: repeat(4, 1fr); }
}
/* App grid row variants — mobile single column */
.shone-app-grid-row2,
.shone-app-grid-row3,
.shone-app-grid-row4 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .shone-app-grid-row2 { grid-template-columns: repeat(2, 1fr); }
  .shone-app-grid-row3 { grid-template-columns: repeat(3, 1fr); }
  .shone-app-grid-row4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .shone-app-grid-row4 { grid-template-columns: repeat(4, 1fr); }
}
.shone-app-card {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  display: block;
  background: var(--brand-dark);
  text-decoration: none;
}
.shone-app-card-large {
  grid-column: span 1;
}
@media (min-width: 768px) {
  .shone-app-card-large {
    grid-column: span 2;
  }
}
@media (min-width: 1024px) {
  .shone-home-case-grid {
    grid-template-rows: repeat(2, minmax(0, 1fr));
    height: min(88dvh, 55vw);
    max-height: 88dvh;
  }
  .shone-home-case-card-primary {
    grid-column: span 1;
    aspect-ratio: auto;
    height: 100%;
  }
  .shone-home-case-card-secondary {
    aspect-ratio: auto;
    height: 100%;
  }
}
.shone-app-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 1s ease-out;
}
.shone-app-card:hover img {
  transform: scale(1.05);
}
.shone-app-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent, transparent);
  z-index: 10;
  pointer-events: none;
}
.shone-app-content {
  position: absolute;
  bottom: 1.5rem; /* bottom-6 */
  left: 1.5rem; /* left-6 */
  right: 1.5rem; /* right-6 */
  color: #FFFFFF;
  z-index: 30;
  pointer-events: none;
}
.shone-app-content h3,
.shone-overlay-title {
  font-size: 1.25rem; /* text-xl */
  font-weight: 700;
  margin: 0;
  pointer-events: auto;
}
.shone-app-grid-row2 .shone-app-content h3,
.shone-app-grid-row2 .shone-overlay-title,
.shone-app-grid-row3 .shone-app-content h3,
.shone-app-grid-row3 .shone-overlay-title {
  font-size: 1.875rem; /* 30px */
}
@media (max-width: 767px) {
  .shone-app-grid-row2 .shone-app-content h3,
  .shone-app-grid-row2 .shone-overlay-title,
  .shone-app-grid-row3 .shone-app-content h3,
  .shone-app-grid-row3 .shone-overlay-title {
    font-size: 1.25rem; /* Match the default text-xl */
  }
}
.shone-app-desc {
  font-size: 1rem;
  font-weight: normal;
  color: rgba(255,255,255,0.9);
  line-height: 1.5;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.5s ease, margin-top 0.5s ease;
  margin-top: 0;
}
.shone-app-card:hover .shone-app-desc {
  max-height: 8rem;
  opacity: 1;
  margin-top: 1rem;
}
.shone-app-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 900;
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  pointer-events: auto;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.5s ease, margin-top 0.5s ease;
  margin-top: 0;
}
.shone-app-card:hover .shone-app-link {
  max-height: 2rem;
  opacity: 1;
  margin-top: 0.75rem;
}
.shone-app-link:hover {
  color: var(--brand-red);
}
.shone-app-content h3 a,
.shone-overlay-title a {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 0.3s;
}
.shone-app-content h3 a:hover,
.shone-overlay-title a:hover {
  color: var(--brand-red);
}
.shone-app-card:hover .shone-app-content h3,
.shone-app-card:hover .shone-overlay-title {
  color: var(--brand-red);
  transition: color 0.3s;
}
.shone-page .section-app-zones .shone-app-card:hover .shone-app-content h3,
.shone-page .section-app-zones .shone-app-content h3 a:hover {
  color: inherit !important;
}
.shone-app-card-large .shone-app-content {
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
}
@media (min-width: 768px) {
  .shone-app-card-large .shone-app-content {
    bottom: 3rem;
    left: 3rem;
    right: 3rem;
  }
  .shone-app-card-large .shone-app-content h3,
  .shone-app-card-large .shone-overlay-title {
    font-size: 1.875rem;
  }
}
.shone-app-content p {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem; /* 16px */
  font-weight: 900; /* font-black */
  opacity: 0;
  transform: translateY(1rem); /* translate-y-4 */
  transition: all 0.5s;
  color: rgba(255,255,255,0.7); /* text-white/70 */
  pointer-events: auto;
}
.shone-app-card:hover .shone-app-content p {
  opacity: 1;
  transform: translateY(0);
}
.shone-app-content p:hover {
  color: var(--brand-red);
}

/* ========================================= */
/* S05 MANUFACTURING RIGOR (Replacing 10)    */
/* ========================================= */
.shone-mfg-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
}
@media (min-width: 768px) {
  .shone-mfg-grid {
    padding: 0 60px;
  }
}
/* 父级产品分类页 S05/S06 - 图片比例 1:1 */
.shone-mfg-grid--text-right .shone-media-square,
.section-manufacturing-rigor .shone-mfg-media-square {
  aspect-ratio: 1 / 1;
}
/* S05 文案与图片垂直居中 */
.shone-section-light .shone-mfg-grid--text-right,
.section-design-support-scope .shone-mfg-grid--text-right,
.section-lab-validation .shone-mfg-grid--text-right {
  align-items: center;
}
.section-certifications .shone-mfg-grid--text-left {
  align-items: center;
}
.shone-mfg-grid--text-right {
  align-items: start;
}
.shone-mfg-grid--text-left {
  align-items: start;
}
.shone-mfg-grid--text-right .shone-media-zoom {
  transition: none;
}
.shone-mfg-grid--text-right:hover .shone-media-zoom {
  transform: none;
}

/* 移动端上图下文 */
.shone-mfg-grid--text-left,
.shone-mfg-grid--text-right {
  row-gap: 2.5rem;
}
.shone-mfg-grid--text-left > :first-child { order: 2; }
.shone-mfg-grid--text-left > :nth-child(2) { order: 1; }
@media (min-width: 1024px) {
  .shone-mfg-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
  }
  .shone-mfg-grid--text-left,
  .shone-mfg-grid--text-right {
    row-gap: 0;
  }
  .shone-mfg-grid--text-left > :first-child { order: 0; }
  .shone-mfg-grid--text-left > :nth-child(2) { order: 0; }
  .shone-mfg-grid--text-left > :first-child {
    padding-right: 2rem;
  }
  .shone-mfg-grid--text-right > :last-child {
    padding-left: 2rem;
  }
  .shone-mfg-grid--copy-padded > :first-child {
    padding-right: 2rem;
  }
}
@media (min-width: 1280px) {
  .shone-mfg-grid--text-left > :first-child {
    padding-right: 3rem;
  }
  .shone-mfg-grid--text-right > :last-child {
    padding-left: 3rem;
  }
  .shone-mfg-grid--copy-padded > :first-child {
    padding-right: 3rem;
  }
}
@media (min-width: 1536px) {
  .shone-mfg-grid--text-left > :first-child {
    padding-right: 4rem;
  }
  .shone-mfg-grid--text-right > :last-child {
    padding-left: 4rem;
  }
  .shone-mfg-grid--copy-padded > :first-child {
    padding-right: 4rem;
  }
}
@media (min-width: 1280px) { .shone-mfg-grid { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-mfg-grid { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-mfg-grid { max-width: 1800px; } }

/* 父级产品分类页 S06 - 文案右内边距 + 去除图片放大效果 */
.section-manufacturing-rigor .shone-closing-inquiry-grid:not(.shone-mfg-grid--copy-padded) > :first-child {
  padding-right: 0;
}
.section-manufacturing-rigor .shone-mfg-img-wrapper img {
  transition: none;
}
.section-manufacturing-rigor .shone-mfg-img-wrapper:hover img {
  transform: none;
}

/* 子级产品分类页 S07 移动端上图下文 */
@media (max-width: 1023px) {
  .section-manufacturing-rigor .shone-mfg-grid > :first-child {
    order: 2;
  }
  .section-manufacturing-rigor .shone-mfg-grid > :nth-child(2) {
    order: 1;
    margin-bottom: 20px;
  }
}
@media (min-width: 1024px) {
  .section-manufacturing-rigor .shone-closing-inquiry-grid:not(.shone-mfg-grid--copy-padded) > :first-child {
    padding-right: 2rem;
  }
}
@media (min-width: 1280px) {
  .section-manufacturing-rigor .shone-closing-inquiry-grid:not(.shone-mfg-grid--copy-padded) > :first-child {
    padding-right: 3rem;
  }
}
@media (min-width: 1536px) {
  .section-manufacturing-rigor .shone-closing-inquiry-grid:not(.shone-mfg-grid--copy-padded) > :first-child {
    padding-right: 4rem;
  }
}

.shone-mfg-list {
  display: flex;
  flex-direction: column;
  gap: 2rem; /* space-y-8 */
  margin-top: 2rem; /* mt-8 */
}
.shone-mfg-copy {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.shone-mfg-copy .shone-text-body strong {
  color: var(--brand-dark);
}
.shone-mfg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.5rem;
}
.shone-mfg-item {
  display: flex;
  gap: 0.75rem; /* gap-3 */
}
.shone-mfg-item-icon {
  width: 1.5rem; /* w-6 */
  height: 1.5rem; /* h-6 */
  color: var(--brand-red);
  flex-shrink: 0;
  margin-top: 2px;
}
.shone-mfg-item h3,
.shone-mfg-item h4 {
  font-size: 1.25rem; /* 20px */
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 0.5rem;
}
.shone-mfg-item p {
  font-size: 1rem; /* 16px */
  color: var(--brand-gray-text);
  line-height: 1.5;
}
.shone-mfg-img-wrapper {
  position: relative;
  height: 100%;
  min-height: auto;
  background: var(--brand-gray-light);
  border: 1px solid var(--brand-gray-border);
  overflow: hidden;
}
@media (min-width: 1024px) {
  .shone-mfg-img-wrapper {
    min-height: 460px;
  }
}
.shone-mfg-media-fill {
  height: 100%;
}
.shone-mfg-media-square {
  aspect-ratio: 3 / 2;
  height: auto;
  min-height: 0;
}
.shone-mfg-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
  transition: transform 2s;
}
.shone-mfg-img-wrapper:hover img {
  transform: scale(1.1);
}
.shone-mfg-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6rem; /* w-24 */
  height: 6rem; /* h-24 */
  background: linear-gradient(to bottom right, var(--brand-red), #990000);
  color: #FFFFFF;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  transition: all 0.5s;
}
.shone-mfg-play-btn:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

/* ========================================= */
/* S06 STRATEGIC SOLUTIONS (Replacing 8)     */
/* ========================================= */
.shone-solutions-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem; /* gap-8 */
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 1024px) {
  .shone-solutions-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1280px) { .shone-solutions-grid { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-solutions-grid { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-solutions-grid { max-width: 1800px; } }

.shone-solution-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem; /* p-8 */
  position: relative;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}
@media (min-width: 768px) {
  .shone-solution-card { padding: 2.5rem; /* p-10 */ }
}
.shone-solution-card:hover {
  transform: translateY(-4px);
}
.shone-solution-card-red {
  background: linear-gradient(to bottom right, var(--brand-red), #9B2C2C, #7B1F1F);
  color: #FFFFFF;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.shone-solution-card-white {
  background: #FFFFFF;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.shone-solution-glow {
  position: absolute;
  top: -8rem; /* -top-32 */
  left: -8rem; /* -left-32 */
  width: 24rem; /* w-96 */
  height: 24rem; /* h-96 */
  background: rgba(255, 255, 255, 0.1); /* bg-white/10 */
  filter: blur(64px); /* blur-3xl */
  pointer-events: none;
}
.shone-solution-img-wrapper {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin-bottom: 2rem; /* mb-8 */
  position: relative;
  z-index: 10;
}
.shone-solution-card-red .shone-solution-img-wrapper {
  border: 1px solid rgba(255,255,255,0.2);
}
.shone-solution-card-white .shone-solution-img-wrapper {
  border: 1px solid var(--brand-gray-border); /* brandBorder */
}
.shone-solution-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.shone-solution-card:hover .shone-solution-img-wrapper img {
  transform: scale(1.05);
}
.shone-solution-card h3 {
  font-size: 1.25rem; /* 20px */
  font-weight: 700;
  margin-bottom: 1rem;
  position: relative;
  z-index: 10;
  transition: color 0.3s;
  text-align: left;
}
.shone-solution-card-red h3 { color: #FFFFFF; }
.shone-solution-card-red:hover h3 { color: rgba(255,255,255,0.9); }
.shone-solution-card-white h3 { color: var(--brand-dark); }
.shone-solution-card-white:hover h3 { color: var(--brand-red); }

.shone-solution-list {
  list-style: none;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  margin: 0 0 1.5rem 0 !important;
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.shone-solution-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0;
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
}
.shone-solution-list li::before {
  display: none;
}
.shone-solution-list-icon {
  width: 1.25rem; /* w-5 */
  height: 1.25rem; /* h-5 */
  margin-top: 0.125rem; /* mt-0.5 */
  flex-shrink: 0;
}
.shone-solution-card-red .shone-solution-list-icon { color: #FFFFFF; }
.shone-solution-card-white .shone-solution-list-icon { color: var(--brand-red); }
.shone-solution-list p {
  font-size: 1rem; /* 16px */
  line-height: 1.5;
  margin: 0;
}
.shone-solution-card-red .shone-solution-list p { color: rgba(255,255,255,0.9); }
.shone-solution-card-white .shone-solution-list p { color: var(--brand-gray-text); }

.shone-solution-footer {
  padding-top: 1.5rem; /* pt-6 */
  position: relative;
  z-index: 10;
}
.shone-solution-footer .shone-btn-primary {
  display: block;
  width: 100%;
  text-align: center;
}
.shone-solution-card-red .shone-solution-footer { border-top: 1px solid rgba(255,255,255,0.2); }
.shone-solution-card-white .shone-solution-footer { border-top: 1px solid var(--brand-gray-border); }

/* ========================================= */
.shone-cases-header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 2rem;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 60px;
}
@media (min-width: 1280px) { .shone-cases-header { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-cases-header { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-cases-header { max-width: 1800px; } }

@media (min-width: 768px) {
  .shone-cases-header {
    flex-direction: row;
    align-items: flex-end;
    margin-bottom: 3rem;
  }
}
.shone-cases-header-text {
  max-width: 100%;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .shone-cases-header-text {
    max-width: 60%;
    margin-bottom: 0;
  }
}
.shone-cases-header .shone-section-title {
  text-align: left;
  margin-bottom: 1rem;
}
.shone-cases-header .shone-section-subtitle {
  text-align: left;
  margin-bottom: 0;
}

/* S07 CASE STUDIES (Replacing 12)           */
/* ========================================= */
.shone-case-full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.shone-case-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media (min-width: 768px) {
  .shone-case-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .shone-case-grid { grid-template-columns: repeat(3, 1fr); }
}
.shone-case-card {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--brand-dark);
  cursor: pointer;
}
.shone-case-card-large {
  grid-column: span 1;
}
@media (min-width: 1024px) {
  .shone-case-card-large {
    grid-column: span 2;
    grid-row: span 2;
  }
}
.shone-case-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 1s ease-out;
}
.shone-case-card:hover img {
  transform: scale(1.05);
}
.shone-case-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent, transparent);
  z-index: 10;
  pointer-events: none;
}
.shone-case-content {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  color: #FFFFFF;
  z-index: 30;
  pointer-events: none;
}
.shone-case-content h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  pointer-events: auto;
}
.shone-case-content h3 a {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 0.3s;
}
.shone-case-content h3 a:hover {
  color: var(--brand-red);
}
.shone-case-card:hover .shone-case-content h3 a {
  color: var(--brand-red);
}
.shone-case-desc {
  font-size: 1rem;
  font-weight: normal;
  color: rgba(255,255,255,0.9);
  line-height: 1.5;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.5s ease, margin-top 0.5s ease;
  margin-top: 0;
  pointer-events: auto;
}
.shone-case-card:hover .shone-case-desc {
  max-height: 3rem;
  overflow: hidden;
  opacity: 1;
  margin-top: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.shone-case-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 900;
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.5s ease, margin-top 0.5s ease;
  margin-top: 0;
  pointer-events: auto;
}
.shone-case-card:hover .shone-case-link {
  max-height: 2rem;
  opacity: 1;
  margin-top: 0.75rem;
}
.shone-case-link:hover {
  color: var(--brand-red);
  gap: 0.75rem;
}

/* Section content container (standard page width) */
.section-case-studies {
  background-color: var(--brand-gray-light);
}
.section-case-studies .shone-section-content {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 1280px) { .section-case-studies .shone-section-content { max-width: 1536px; } }
@media (min-width: 1536px) { .section-case-studies .shone-section-content { max-width: 1600px; } }
@media (min-width: 1921px) { .section-case-studies .shone-section-content { max-width: 1800px; } }
.section-case-studies .shone-section-content .shone-cases-header {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

/* Case Container (standard width for case grid) */
.shone-case-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 1280px) { .shone-case-container { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-case-container { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-case-container { max-width: 1800px; } }

/* Case Layout: sidebar + content */
.case-layout {
  display: flex;
  flex-direction: row;
  gap: 2rem;
}
@media (max-width: 767px) {
  .case-layout {
    flex-direction: column;
  }
}

/* Case Filter Sidebar */
.case-filter-sidebar {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 300px;
  min-width: 300px;
  flex-shrink: 0;
  border-right: 1px solid var(--brand-gray-border);
  order: 0;
}

.case-filter-group + .case-filter-group {
  margin-top: 2rem;
  padding-top: 2rem;
}

.case-filter-heading {
  position: relative;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brand-gray-text);
  margin: 0 0 1rem 0;
  padding: 0 0 0.75rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.case-filter-toggle-icon {
  display: none;
}

.case-filter-heading::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--brand-gray-border);
  padding: 0;
}
@media (max-width: 767px) {
  .case-filter-sidebar {
    width: 100%;
    min-width: 0;
    flex-direction: column;
    border-right: none;
    border-bottom: 1px solid var(--brand-gray-border);
  }

  .case-filter-group {
    width: 100%;
  }

  .case-filter-group + .case-filter-group {
    margin-top: 1rem;
    padding-top: 1rem;
  }

  .case-filter-heading {
    cursor: pointer;
    margin-bottom: 0;
  }
  
  .case-filter-toggle-icon {
    display: block;
    transition: transform 0.3s;
  }
  
  .case-filter-list {
    display: none;
    padding-top: 1rem;
  }

  .case-filter-group.is-open .case-filter-list {
    display: block;
  }
  
  .case-filter-group.is-open .case-filter-toggle-icon {
    transform: rotate(180deg);
  }
}

.case-filter-tab {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-gray-text);
  text-decoration: none;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.3s;
  letter-spacing: 0.01em;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.4;
}

.case-filter-tab::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: 0.05rem;
  border: 1px solid var(--brand-gray-border);
  background: #fff;
  transition: all 0.3s;
}

.case-filter-tab:hover,
.case-filter-tab.is-active {
  color: var(--brand-dark);
}

.case-filter-tab.is-active::before {
  border-color: var(--brand-red);
  background-color: var(--brand-red);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.2 7.5 11.7 13 6.2' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

/* Case Content Area */
.case-content-area {
  flex: 1;
  min-width: 0;
}

/* Case Filter Tabs (legacy horizontal - removed) */
.case-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid var(--brand-gray-border);
}
/* Case Pagination */
.case-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 2.5rem;
  flex-wrap: wrap;
}
.case-pagination .page-btn,
.case-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--brand-gray-text);
  text-decoration: none;
  border: 1px solid var(--brand-gray-border);
  background: var(--brand-white);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.case-pagination .page-btn:hover,
.case-pagination .page-numbers:hover,
.case-pagination a.page-numbers:hover {
  color: var(--brand-red);
  border-color: var(--brand-red);
}
.case-pagination .page-btn.active,
.case-pagination .page-numbers.current {
  background: var(--brand-red);
  color: var(--brand-white);
  border-color: var(--brand-red);
}
.case-pagination .page-btn.disabled {
  opacity: 0.4;
  pointer-events: none;
}

/* Case Application Label (hidden by default) */
.shone-case-app-label {
  display: block;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 0;
  transition: max-height 0.5s ease, opacity 0.5s ease, margin-bottom 0.5s ease;
}
.shone-case-card:hover .shone-case-app-label {
  max-height: 1rem;
  opacity: 1;
  margin-bottom: 0.25rem;
}
.page-case-studies .shone-case-card .shone-case-app-label {
  display: none;
}
.page-case-studies .shone-case-card-large {
  grid-column: span 1;
  grid-row: span 1;
}
@media (min-width: 1024px) {
  .page-case-studies .shone-case-card-large {
    grid-column: span 1;
    grid-row: span 1;
  }
}
/* ========================================= */
/* S08 TECHNICAL INSIGHTS & FAQs             */
/* ========================================= */
.shone-faq-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 1280px) { .shone-faq-container { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-faq-container { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-faq-container { max-width: 1800px; } }
.shone-faq-item {
  border-bottom: 1px solid var(--brand-gray-border);
  background: transparent;
  transition: all 0.3s ease;
}
.shone-faq-item:first-child {
  border-top: 1px solid var(--brand-gray-border);
}
.shone-faq-question {
  padding: 1.5rem 0;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  font-size: 1.125rem;
  color: var(--brand-dark);
  transition: color 0.3s ease;
}
.shone-faq-question:hover {
  color: var(--brand-red);
}
.shone-faq-qmark {
  flex-shrink: 0;
  color: var(--brand-gray-text);
  transition: color 0.3s ease;
}
.shone-faq-item.active .shone-faq-qmark {
  color: var(--brand-red);
}
.shone-faq-label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.shone-faq-icon {
  position: relative;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 1rem;
}
.shone-faq-icon::before,
.shone-faq-icon::after {
  content: '';
  position: absolute;
  background-color: var(--brand-dark);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s ease;
}
.shone-faq-icon::before {
  width: 14px;
  height: 2px;
}
.shone-faq-icon::after {
  width: 2px;
  height: 14px;
}
.shone-faq-question:hover .shone-faq-icon::before,
.shone-faq-question:hover .shone-faq-icon::after {
  background-color: var(--brand-red);
}
.shone-faq-item.active .shone-faq-question {
  color: var(--brand-red);
}
.shone-faq-item.active .shone-faq-icon::before,
.shone-faq-item.active .shone-faq-icon::after {
  background-color: var(--brand-red);
}
.shone-faq-item.active .shone-faq-icon::after {
  transform: rotate(90deg);
}
.shone-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  padding: 0;
  color: var(--brand-gray-text);
  font-size: 1rem;
  line-height: 1.6;
}
.shone-faq-item.active .shone-faq-answer {
  max-height: 500px;
  opacity: 1;
  padding: 1rem 0 1.5rem 1.5rem;
  background-color: #FFFFFF;
}
.shone-faq-answer strong {
  color: var(--brand-dark);
}

/* ========================================= */
/* CUSTOMIZATION OPTIONS CARDS               */
/* ========================================= */
.shone-custom-grid {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .shone-custom-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .shone-custom-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1280px) { .shone-custom-grid { max-width: 1536px; } }
@media (min-width: 1536px) { .shone-custom-grid { max-width: 1600px; } }
@media (min-width: 1921px) { .shone-custom-grid { max-width: 1800px; } }

.shone-custom-card {
  background: #FFFFFF;
  overflow: hidden;
}
.shone-custom-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.shone-custom-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-dark);
  padding: 1.25rem 20px 0.5rem;
  border-top: 4px solid var(--brand-red);
}
.shone-custom-card p {
  font-size: 1rem;
  color: var(--brand-gray-text);
  line-height: 1.5;
  padding: 0 20px 1.25rem;
}

/* Closing Inquiry */
.shone-closing-desc strong {
  color: var(--brand-dark); /* text-brandText */
}

/* ========================================= */
/* PAGE: MANUFACTURING                      */
/* ========================================= */

/* S02 Proof Snapshot Cards (no template) */
.page-manufacturing .proof-card {
  background: #FFFFFF;
  padding: 1.25rem;
  border: 1px solid var(--brand-gray-border);
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}
.page-manufacturing .proof-right {
  display: flex; flex-direction: column;
}
.page-manufacturing .proof-right-title { text-align: left; }
.page-manufacturing .proof-right-subtitle { text-align: left; margin-bottom: 2rem; }
.page-manufacturing .proof-grid-2col {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.25rem;
}
.page-manufacturing .proof-card h3 { font-size: 1.25rem; font-weight: 700; color: var(--brand-dark); margin: 0; }
.page-manufacturing .proof-card p { font-size: 1rem; color: var(--brand-gray-text); line-height: 1.5; margin: 0; margin-top: 8px; }
.page-manufacturing .proof-card p strong { color: var(--brand-dark); }
.page-manufacturing .proof-card-icon { width: 1.5rem; height: 1.5rem; color: var(--brand-red); flex-shrink: 0; margin-top: 0.15rem; }

@media (min-width: 640px) {
  .page-manufacturing .proof-grid-2col { grid-template-columns: repeat(2, 1fr); }
}

/* S03 Production Flow Cards (image + text) */
.page-manufacturing .flow-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 768px) {
  .flow-card-grid {
    padding: 0 60px;
  }
}
@media (min-width: 640px) { .page-manufacturing .flow-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .page-manufacturing .flow-card-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1280px) { .page-manufacturing .flow-card-grid { max-width: 1536px; } }
@media (min-width: 1536px) { .page-manufacturing .flow-card-grid { max-width: 1600px; } }
@media (min-width: 1921px) { .page-manufacturing .flow-card-grid { max-width: 1800px; } }
.page-manufacturing .flow-card-item {
  background: #FFFFFF;
  border: 1px solid var(--brand-gray-border);
  overflow: hidden;
}
.page-manufacturing .flow-card-item img {
  width: 100%; height: auto; display: block;
  aspect-ratio: 16 / 9; object-fit: cover;
}
.page-manufacturing .flow-card-item h3 {
  font-size: 1.25rem; font-weight: 700; color: var(--brand-dark);
  padding: 1.25rem 20px 0.5rem; margin: 0;
}
.page-manufacturing .flow-card-item p {
  font-size: 1rem; color: var(--brand-gray-text); line-height: 1.5;
  padding: 0 20px 1.25rem; margin: 0;
}
.page-manufacturing .flow-card-item p strong { color: var(--brand-dark); }

/* flow-card — 通用卡片网格样式（非页面特定） */
.flow-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 768px) {
  .flow-card-grid {
    padding: 0 60px;
  }
}
@media (min-width: 640px) { .flow-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .flow-card-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1280px) { .flow-card-grid { max-width: 1536px; } }
@media (min-width: 1536px) { .flow-card-grid { max-width: 1600px; } }
@media (min-width: 1921px) { .flow-card-grid { max-width: 1800px; } }
.flow-card-item {
  background: #FFFFFF;
  border: 1px solid var(--brand-gray-border);
  overflow: hidden;
}
.flow-card-item img {
  width: 100%; height: auto; display: block;
  aspect-ratio: 16 / 9; object-fit: cover;
}
.flow-card-item h3 {
  font-size: 1.25rem; font-weight: 700; color: var(--brand-dark);
  padding: 1.25rem 20px 0.5rem; margin: 0;
}
.flow-card-item p {
  font-size: 1rem; color: var(--brand-gray-text); line-height: 1.5;
  padding: 0 20px 1.25rem; margin: 0;
}
.flow-card-item p strong { color: var(--brand-dark); }
.section-application-zones .flow-card-item p strong {
  color: inherit;
  font-weight: inherit;
}

/* S04 Core Craft — Premium Overlay Cards */
/* S05 R&D Feature Tech Grid */
.page-manufacturing .rd-tech-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
/* 移动端：图在上，文在下 */
.page-manufacturing .rd-tech-grid--text-left .rd-tech-cards { order: 2; }
.page-manufacturing .rd-tech-grid--text-left .rd-tech-img-card { order: 1; }
@media (min-width: 1024px) {
  .page-manufacturing .rd-tech-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    align-items: center;
  }
  .page-manufacturing .rd-tech-grid--text-left .rd-tech-cards { order: 0; }
  .page-manufacturing .rd-tech-grid--text-left .rd-tech-img-card { order: 0; }
  .page-manufacturing .rd-tech-grid--text-left .rd-tech-cards {
    padding-right: 2rem;
  }
  .page-manufacturing .rd-tech-img-card {
    min-height: 400px;
  }
}
@media (min-width: 1280px) {
  .page-manufacturing .rd-tech-grid--text-left .rd-tech-cards {
    padding-right: 3rem;
  }
  .page-manufacturing .rd-tech-grid { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .page-manufacturing .rd-tech-grid--text-left .rd-tech-cards {
    padding-right: 4rem;
  }
  .page-manufacturing .rd-tech-grid { max-width: 1600px; }
}
@media (min-width: 1921px) { .page-manufacturing .rd-tech-grid { max-width: 1800px; } }

.page-manufacturing .rd-tech-cards {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-manufacturing .rd-tech-cards .shone-section-title {
  text-align: left;
  margin-bottom: 0;
}
.page-manufacturing .rd-tech-cards .shone-section-subtitle {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}

.page-manufacturing .rd-tech-card {
  background: #FFFFFF;
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.page-manufacturing .rd-tech-icon {
  width: 3.5rem;
  height: 3.5rem;
  background: #FFF5F5;
  color: var(--brand-red);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.page-manufacturing .rd-tech-content h3 {
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--brand-dark);
  margin: 0 0 0.75rem;
  line-height: 1.4;
}
.page-manufacturing .rd-tech-content p {
  font-size: 0.9375rem;
  color: var(--brand-gray-text);
  line-height: 1.6;
  margin: 0;
}
.page-manufacturing .rd-tech-content p strong {
  color: var(--brand-dark);
}
.page-manufacturing .rd-tech-img-card {
  border: 1px solid var(--brand-gray-border);
  overflow: hidden;
  position: relative;
  aspect-ratio: 1 / 1;
  width: 100%;
}
.page-manufacturing .rd-tech-img-card img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Section backgrounds (浅灰-白循环) */
.page-manufacturing .section-proof-snapshot { background-color: var(--brand-gray-light); }
.page-manufacturing .section-production-flow { background-color: #FFFFFF; }
.page-manufacturing .section-core-craft { background-color: var(--brand-gray-light); }
.page-manufacturing .section-rd-strength { background-color: #FFFFFF; }
.page-manufacturing .section-lab-validation { background-color: var(--brand-gray-light); }
.page-manufacturing .section-certifications { background-color: #FFFFFF; }
.page-manufacturing .section-project-workflow { background-color: var(--brand-gray-light); }

/* S06 sub mfg-grid spacing */
.page-manufacturing .section-lab-validation .shone-mfg-grid + .shone-mfg-grid { margin-top: 5rem; }

/* ========================================= */
/* SINGLE PRODUCT PAGE                       */
/* ========================================= */

.shone-product-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
.shone-product-title {
  font-size: 1.125rem; /* 18px - mobile */
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--brand-dark);
}
@media (min-width: 768px) {
  .shone-product-title {
    font-size: 2rem; /* 32px - desktop */
  }
}
.sp-hero-half .shone-heading-3 {
  font-size: 1rem; /* 16px - mobile */
}
@media (min-width: 768px) {
  .sp-hero-half .shone-heading-3 {
    font-size: 1.25rem; /* 20px - desktop */
  }
}
@media (min-width: 1280px) {
  .shone-product-container { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .shone-product-container { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .shone-product-container { max-width: 1800px; }
}

/* Buttons: btn-primary and btn-outline */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.025em;
  background-color: var(--brand-red);
  color: #FFFFFF;
  border: 1px solid var(--brand-red);
  border-radius: 0.25rem;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.btn-primary:hover {
  background-color: var(--brand-red-hover);
  border-color: var(--brand-red-hover);
  color: #FFFFFF;
  transform: translateY(-4px);
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.025em;
  background-color: transparent;
  color: var(--brand-red);
  border: 1px solid var(--brand-red);
  border-radius: 0.25rem;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-outline:hover {
  background-color: var(--brand-red);
  color: #FFFFFF;
  transform: translateY(-4px);
}

/* --- Product Prose (WordPress Content) --- */
.shone-product-prose {
  padding: 1.5rem;
}
@media (min-width: 768px) {
  .shone-product-prose {
    padding: 2rem;
  }
}
.shone-product-prose .shone-section-subtitle {
  text-align: left;
}
.shone-product-prose .shone-section-header {
  padding-left: 0;
  padding-right: 0;
}
.shone-product-prose h2 {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--brand-dark);
  margin-top: 0;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .shone-product-prose h2 {
    font-size: 2.25rem;
  }
}
.shone-product-prose h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.shone-product-prose h3.sp-feature-heading {
  margin-top: 0;
  margin-bottom: 0;
}
.shone-product-prose .sp-feature-desc {
  color: #52525b;
  line-height: 1.75;
}
.shone-product-prose .sp-feature-desc > * {
  margin-top: 1rem;
}
.shone-product-prose p {
  font-size: 1rem;
  color: #52525b;
  line-height: 1.75;
  margin-bottom: 1.5rem;
}
.shone-product-prose a {
  color: var(--brand-red);
  text-decoration: underline;
}
.shone-product-prose a:hover {
  color: var(--brand-red-hover);
}
.shone-product-prose img {
  border-radius: 0.375rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  max-width: 100%;
  height: auto;
}
.shone-product-prose hr {
  border: none;
  border-top: 1px solid var(--brand-gray-border);
  margin: 1rem 0;
}
.shone-product-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
}
.shone-product-prose thead th {
  background-color: var(--brand-gray-light);
  padding: 1rem;
  font-weight: 700;
  color: var(--brand-dark);
  border-bottom: 1px solid var(--brand-gray-border);
  font-size: 16px;
}
.shone-product-prose tbody td {
  padding: 1rem;
  border-bottom: 1px solid #f3f4f6;
  color: var(--brand-gray-text);
  font-size: 16px;
}
.shone-product-prose tbody td:first-child {
  font-weight: 500;
  color: var(--brand-dark);
  white-space: nowrap;
}
/* WYSIWYG grid fallback (Tailwind not loaded) */
.shone-product-prose .grid {
  display: grid;
}
.shone-product-prose .grid-cols-1 {
  grid-template-columns: repeat(1, 1fr);
}
.shone-product-prose .gap-4 {
  gap: 1rem;
}
.shone-product-prose .gap-6 {
  gap: 1.5rem;
}
.shone-product-prose .mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.shone-product-prose .px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.shone-product-prose .aspect-\[3\/2\] {
  aspect-ratio: 3 / 2;
}
.shone-product-prose .overflow-hidden {
  overflow: hidden;
}
.shone-product-prose .relative {
  position: relative;
}
.shone-product-prose .mb-4 {
  margin-bottom: 1rem;
}
.shone-product-prose .w-full {
  width: 100%;
}
.shone-product-prose .rounded-md {
  border-radius: 0;
}
.shone-product-prose .shadow-sm {
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.shone-product-prose .flex {
  display: flex;
}
.shone-product-prose .flex-col {
  flex-direction: column;
}
.shone-product-prose .rounded-none {
  border-radius: 0;
}
.shone-product-prose .transition-colors {
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

/* ========================================= */
/* PAGE: Municipal Plaza Lighting (P04-1)    */
/* ========================================= */
.page-municipal-plaza-lighting .shone-section-hero {
  background-position: center 40%;
}
.page-municipal-plaza-lighting .section-challenges .shone-challenge-icon svg {
  width: 24px;
  height: 24px;
}
.page-municipal-plaza-lighting .section-app-zones .shone-app-grid {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
}
.page-municipal-plaza-lighting .section-app-zones .shone-app-card {
  border-right: 1px solid rgba(24,24,27,0.05);
  border-bottom: 1px solid rgba(24,24,27,0.05);
  aspect-ratio: 3 / 2; /* 恢复原本的比例 */
}
/* 前两张大卡片，各占2列 */
.page-municipal-plaza-lighting .section-app-zones .shone-app-card:nth-child(1),
.page-municipal-plaza-lighting .section-app-zones .shone-app-card:nth-child(2) { 
  grid-column: span 2; 
}
/* 后四张小卡片，各占1列 */
.page-municipal-plaza-lighting .section-app-zones .shone-app-card:nth-child(n+3) { 
  grid-column: span 1; 
}
@media (max-width: 767px) {
  .page-municipal-plaza-lighting .section-app-zones .shone-app-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .page-municipal-plaza-lighting .section-app-zones .shone-app-card:nth-child(1),
  .page-municipal-plaza-lighting .section-app-zones .shone-app-card:nth-child(2) {
    grid-column: span 1;
  }
  .page-municipal-plaza-lighting .section-app-zones .shone-app-card {
    border-right: none;
    border-bottom: none;
  }
}
.page-municipal-plaza-lighting .section-app-zones {
  background-color: #FFFFFF;
  color: var(--brand-dark);
  padding-bottom: 0;
}
.page-municipal-plaza-lighting .section-customization {
  background-color: var(--brand-gray-light);
  color: var(--brand-dark);
}
/* 修复 section-customization 内部多余的 container 导致的双重内边距和宽度缩水问题 */
.section-customization .shone-container {
  max-width: 100% !important;
  padding: 0 !important;
}
.page-municipal-plaza-lighting .section-customization .shone-section-title,
.page-municipal-plaza-lighting .section-customization .shone-section-subtitle {
  color: var(--brand-dark);
}
.page-municipal-plaza-lighting .section-customization .shone-section-subtitle strong {
  color: var(--brand-dark);
}
.page-municipal-plaza-lighting .section-products {
  background-color: #FFFFFF;
}
.page-municipal-plaza-lighting .section-products .shone-category-grid {
  max-width: 100%;
  padding: 0 60px;
}
@media (min-width: 1280px) {
  .page-municipal-plaza-lighting .section-products .shone-category-grid { max-width: 100%; }
}
@media (min-width: 1536px) {
  .page-municipal-plaza-lighting .section-products .shone-category-grid { max-width: 100%; }
}
@media (min-width: 1921px) {
  .page-municipal-plaza-lighting .section-products .shone-category-grid { max-width: 100%; }
}
.page-municipal-plaza-lighting .section-products .shone-section-header {
  max-width: 100%;
  padding: 0 60px;
}
@media (min-width: 1280px) {
  .page-municipal-plaza-lighting .section-products .shone-section-header { max-width: 100%; }
}
@media (min-width: 1536px) {
  .page-municipal-plaza-lighting .section-products .shone-section-header { max-width: 100%; }
}
@media (min-width: 1921px) {
  .page-municipal-plaza-lighting .section-products .shone-section-header { max-width: 100%; }
}
.page-municipal-plaza-lighting .section-products .shone-category-card h3 a:hover {
  color: var(--brand-red);
}
.page-municipal-plaza-lighting .section-products .shone-category-uses li a {
  transition: none;
}
.page-municipal-plaza-lighting .section-products .shone-category-uses li a:hover {
  color: inherit;
  gap: 0.5rem;
  transform: none;
}
.page-municipal-plaza-lighting .section-quality {
  background-color: #FFFFFF;
}
.page-municipal-plaza-lighting .section-app-zones .shone-section-title,
.page-municipal-plaza-lighting .section-app-zones .shone-section-subtitle {
  color: var(--brand-dark);
}
.page-municipal-plaza-lighting .section-app-zones .shone-section-subtitle strong {
  color: var(--brand-dark);
}
.page-municipal-plaza-lighting .shone-section-dark .shone-app-card {
  border-color: rgba(255,255,255,0.05);
}
.page-municipal-plaza-lighting .section-case-studies {
  background-color: var(--brand-gray-light);
  padding-top: 80px;
}
.page-municipal-plaza-lighting .section-case-studies .shone-section-title,
.page-municipal-plaza-lighting .section-case-studies .shone-section-subtitle {
  color: var(--brand-dark);
}
.page-municipal-plaza-lighting .section-case-studies .shone-section-subtitle strong {
  color: var(--brand-dark);
}
.page-lighting-design-project-deepening .section-related-product-families .shone-category-grid {
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 768px) {
  .page-lighting-design-project-deepening .section-related-product-families .shone-category-grid {
    padding-left: 60px;
    padding-right: 60px;
  }
}
.shone-product-prose .duration-300 {
  transition-duration: 0.3s;
}
.shone-product-prose .bg-white {
  background-color: #FFFFFF;
}
.shone-product-prose .group {
  position: relative;
}
.shone-product-prose .items-start {
  align-items: flex-start;
}
.shone-product-prose .gap-8 {
  gap: 2rem;
}
.shone-product-prose .max-w-\[1400px\] {
  max-width: 1400px;
}
@media (min-width: 768px) {
  .shone-product-prose .md\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .shone-product-prose .md\:gap-6 {
    gap: 1.5rem;
  }
  .shone-product-prose .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .shone-product-prose .md\:flex-row {
    flex-direction: row;
  }
  .shone-product-prose .md\:w-1\/2 {
    width: 50%;
  }
}
@media (min-width: 1280px) {
  .shone-product-prose .xl\:max-w-\[1536px\] {
    max-width: 1536px;
  }
}

/* --- Case Detail Content (prose fallback) --- */
.page-case-study-detail .prose :is(p, h2, h3, h4, ul, ol, blockquote, figure, .wp-block-image, table, hr) {
  max-width: none;
}
.page-case-study-detail .prose h2 {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--brand-dark);
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .page-case-study-detail .prose h2 {
    font-size: 2rem;
  }
}
.page-case-study-detail .prose h3 {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}
.page-case-study-detail .prose h4 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
.page-case-study-detail .prose p {
  font-size: 1rem;
  color: #52525b;
  line-height: 1.75;
  margin-bottom: 1.25rem;
}
.page-case-study-detail .prose img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 0;
  margin: 1.5rem 0;
}
.page-case-study-detail .prose video,
.page-case-study-detail .prose iframe,
.page-case-study-detail .prose .wp-block-video,
.page-case-study-detail .prose .wp-block-embed,
/* Global fallback for Gutenberg preview & editor */
.wp-block-video,
.wp-block-embed,
.editor-styles-wrapper .wp-block-video,
.editor-styles-wrapper .wp-block-embed {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}
.page-case-study-detail .prose figure.wp-block-embed iframe,
.page-case-study-detail .prose .wp-block-embed__wrapper iframe {
  margin-bottom: 0 !important;
}
.page-case-study-detail .prose ul,
.page-case-study-detail .prose ol {
  color: #52525b;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.75;
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}
.page-case-study-detail .prose ul {
  list-style: disc;
}
.page-case-study-detail .prose ol {
  list-style: decimal;
}
.page-case-study-detail .prose li {
  display: list-item;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin-bottom: 0.5rem;
}
.page-case-study-detail .prose ul ul,
.page-case-study-detail .prose ol ul {
  list-style: circle;
}
.page-case-study-detail .prose ul ul ul,
.page-case-study-detail .prose ol ul ul {
  list-style: square;
}
.page-case-study-detail .prose a {
  color: var(--brand-red);
  text-decoration: underline;
}
.page-case-study-detail .prose a:hover {
  color: var(--brand-red-alt);
}
.page-case-study-detail .case-meta-row.bg-brandGrayLight {
  border-bottom-width: 1px;
  border-bottom-color: #e4e4e7;
}

/* Case SKU show-more button */
#case-sku-show-more:hover {
  background-color: #f7f7f7;
}

/* --- Case Detail Mobile --- */
@media (max-width: 1023px) {
  /* S02 grid gap */
  .page-case-study-detail .grid.lg\:grid-cols-4 {
    gap: 2.5rem;
  }
  /* Meta bar padding */
  .page-case-study-detail .case-meta-row {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  /* Sidebar heading */
  .page-case-study-detail h3.text-xl.font-extrabold {
    font-size: 1.125rem;
  }
  /* Sidebar top divider */
  .page-case-study-detail .lg\:col-span-1 {
    border-top: 1px solid #e5e5e5;
    padding-top: 2rem;
  }
  /* CTA button full width */
  .page-case-study-detail .shone-btn-primary.block.text-center {
    width: 100%;
  }
}

@media (max-width: 767px) {
  /* Hero h1 */
  .page-case-study-detail .shone-hero-content h1 {
    font-size: 1.75rem;
    line-height: 1.25;
  }
  /* Breadcrumb wrap */
  .page-case-study-detail .lvk-breadcrumbs__list {
    flex-wrap: wrap;
    row-gap: 0.25rem;
  }
  .page-case-study-detail .lvk-breadcrumbs__item .lvk-breadcrumbs__text {
    word-break: break-all;
  }
  /* Meta grid narrower gap + card bg */
  .page-case-study-detail .case-meta-row {
    gap: 1rem;
    display: grid;
    grid-template-columns: 1fr;
  }
  .page-case-study-detail .case-meta-row.bg-brandGrayLight {
    background: transparent;
  }
  .page-case-study-detail .case-meta-card {
    background: #f7f7f7;
    padding: 1rem;
    border-radius: 4px;
    width: 100%;
  }
  /* S03 inquiry spacing */
  .page-case-study-detail .grid.lg\:grid-cols-2.gap-2\.5 {
    gap: 2rem;
  }
  /* S03 trust text smaller */
  .page-case-study-detail .text-xl.font-bold.leading-snug {
    font-size: 1rem;
  }
  /* S03 heading smaller */
  .page-case-study-detail h2.text-3xl {
    font-size: 1.5rem;
  }
  /* Prose h2 smaller */
  .page-case-study-detail .prose h2 {
    font-size: 1.35rem;
  }
  .page-case-study-detail .prose h3 {
    font-size: 1.15rem;
  }
}

@media (min-width: 640px) {
  .page-case-study-detail .case-meta-row {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-content: space-between;
    align-items: stretch;
    column-gap: 2rem;
  }
  .page-case-study-detail .case-meta-card {
    width: auto;
    min-width: 220px;
    max-width: none;
  }
}

/* --- Sticky Quote Form Sidebar --- */
/* Hero section: 2-col on desktop, accounts for 80px gap */
.sp-hero-half {
  width: 100%;
}
.sp-hero-row {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 1024px) {
  .sp-hero-row {
    flex-direction: row;
    gap: 5rem;
  }
  .sp-hero-half {
    width: calc(50% - 2.5rem);
  }
}
.sp-product-content {
  width: 100%;
}
.shone-product-form-sidebar {
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .sp-product-content {
    flex: 1 1 0%;
    margin-right: 2rem;
  }
  .shone-product-form-sidebar {
    flex: 0 0 33.333%;
    width: 33.333%;
  }
}
.shone-product-form-card {
  position: sticky;
  top: 6rem;
  z-index: 10;
  background: linear-gradient(to bottom right, var(--brand-red), #9B2C2C, #7B1F1F);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 2rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 8px 16px -8px rgba(0, 0, 0, 0.15);
  border-radius: 0.125rem;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.shone-product-form-card:hover {
  box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.35), 0 10px 20px -8px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}
.shone-product-form-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #FFFFFF;
}
.shone-product-form-desc {
  font-size: 0.875rem;
  color: #FFFFFF !important;
  margin-bottom: 2rem;
  line-height: 1.625;
}
/* Form inputs inside red gradient card — match .shone-inquiry-form */
.shone-product-form-card .form-container input,
.shone-product-form-card .form-container select,
.shone-product-form-card .form-container textarea {
  width: 100%;
  padding: 12px 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
  border-radius: 0;
  outline: none;
  font-size: 1rem;
}
.shone-product-form-card .form-container input::placeholder,
.shone-product-form-card .form-container textarea::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.shone-product-form-card .form-container input:focus,
.shone-product-form-card .form-container select:focus,
.shone-product-form-card .form-container textarea:focus {
  border-bottom-color: #FFFFFF;
  outline: none;
  box-shadow: none;
}
.shone-product-form-card .form-container label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1rem;
  color: #FFFFFF;
  font-weight: 600;
}
.shone-product-form-card .form-container .form-group {
  margin-bottom: 1.5rem;
}
.shone-product-form-card .form-container button[type="submit"],
.shone-product-form-card .form-container input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.025em;
  background-color: #FFFFFF;
  color: var(--brand-red);
  border: 1px solid #FFFFFF;
  border-radius: 0.25rem;
  cursor: pointer;
  width: 100%;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.shone-product-form-card .form-container button[type="submit"]:hover,
.shone-product-form-card .form-container input[type="submit"]:hover {
  background-color: #f0f0f0;
  color: var(--brand-red-hover);
  transform: translateY(-2px);
}

/* --- Utility Classes for Single Product --- */
/* Arrow link — matches home page sub-category jump button style */
.sp-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 900;
  color: var(--brand-dark);
  text-decoration: none;
  transition: all 0.2s ease;
}
.sp-link-arrow:hover {
  color: var(--brand-red);
  gap: 0.75rem;
  transform: translateY(-1px);
}
.section-product-matrix {
  /* Reserved for product matrix section — inherits bg-base */
}
.section-product-matrix .shone-section-title {
  text-align: left;
  margin-bottom: 0;
}
/* Scroll reveal animation — visible by default, animated only if JS adds .is-visible */
.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.is-reveal-hidden {
  opacity: 0;
  transform: translateY(24px);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hide scrollbar utility */
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

/* ========================================= */
/* PRODUCT PAGE COLOR UTILITIES              */
/* (replaces Tailwind color classes)         */
/* ========================================= */
.sp-text-heading { color: var(--brand-dark); }
.sp-text-dark    { color: #52525b; }
.sp-text-gray    { color: var(--brand-gray-text); }
.sp-text-red     { color: var(--brand-red); }
.sp-bg-light     { background-color: var(--brand-gray-light); }
.sp-bg-white     { background-color: #FFFFFF; }
.sp-bg-white-90  { background-color: rgba(255, 255, 255, 0.9); }
.sp-border-light { border-color: #f3f4f6; }
.sp-border       { border-color: var(--brand-gray-border); }
.sp-border-red   { border-color: var(--brand-red); }
.sp-border-md    { border-color: #d1d5db; }
.sp-flex-row     { display: flex; flex-direction: column; }
.sp-gap-8        { gap: 2rem; }
.sp-items-start  { align-items: flex-start; }
.sp-my-4         { margin-top: 1rem; margin-bottom: 1rem; }
.sp-my-8         { margin-top: 2rem; margin-bottom: 2rem; }
.w-full          { width: 100%; }
.rounded-md      { border-radius: 0.375rem; }
.shadow-sm       { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.aspect-video    { aspect-ratio: 16 / 9; }
.overflow-hidden { overflow: hidden; }
.sp-hover-bg-light:hover { background-color: var(--brand-gray-light); }
.sp-hover-bg-white:hover { background-color: #FFFFFF; }
.sp-hover-border-red:hover { border-color: var(--brand-red); }
@media (min-width: 768px) {
  .sp-flex-row { flex-direction: row; }
  .sp-flex-row-reverse { flex-direction: row-reverse; }
  .sp-w-half { width: calc(50% - 1rem); }
}

/* Product detail section hr spacing */
.shone-product-prose > hr.my-4.sp-border,
.shone-product-prose > hr.sp-border.my-0 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

/* ========================================= */
/* TAILWIND UTILITY FALLBACKS                */
/* (critical layout classes — TW not loaded) */
/* ========================================= */

/* Ensure border-box sizing to prevent overflow */
.single-product, .single-product *, .single-product *::before, .single-product *::after {
  box-sizing: border-box;
}
.single-product {
  overflow-x: clip;
}

/* Container — matches GeneratePress full-width */
.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
@media (min-width: 1400px) { .container { max-width: 1400px; } }
@media (min-width: 1536px) { .container { max-width: 1536px; } }
@media (min-width: 1921px) { .container { max-width: 1800px; } }

/* Margin / Padding */
.mx-auto   { margin-left: auto; margin-right: auto; }
.px-4      { padding-left: 1rem; padding-right: 1rem; }
.px-6      { padding-left: 1.5rem; padding-right: 1.5rem; }
.p-4       { padding: 1rem; }
.p-6       { padding: 1.5rem; }
.p-8       { padding: 2rem; }
.\!p-0     { padding: 0 !important; }
.py-4      { padding-top: 1rem; padding-bottom: 1rem; }
.py-12     { padding-top: 3rem; padding-bottom: 3rem; }
.py-16     { padding-top: 4rem; padding-bottom: 4rem; }
.pt-8      { padding-top: 2rem; }
.my-0      { margin-top: 0; margin-bottom: 0; }
.my-8      { margin-top: 2rem; margin-bottom: 2rem; }
.my-12     { margin-top: 3rem; margin-bottom: 3rem; }
.mt-0\.5   { margin-top: 0.125rem; }
.mb-2      { margin-bottom: 0.5rem; }
.mb-4      { margin-bottom: 1rem; }
.mb-8      { margin-bottom: 2rem; }
.mb-10     { margin-bottom: 2.5rem; }
.mb-12     { margin-bottom: 3rem; }
.mr-4      { margin-right: 1rem; }
.mr-8      { margin-right: 2rem; }

/* Flexbox */
.flex           { display: flex; }
.flex-col       { flex-direction: column; }
.inline-flex    { display: inline-flex; }
.items-center   { align-items: center; }
.items-start    { align-items: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.flex-wrap      { flex-wrap: wrap; }
.shrink-0       { flex-shrink: 0; }
.flex-shrink-0  { flex-shrink: 0; }
.flex-1         { flex: 1 1 0%; }
.gap-2          { gap: 0.5rem; }
.gap-3          { gap: 0.75rem; }
.gap-4          { gap: 1rem; }
.gap-6          { gap: 1.5rem; }
.gap-8          { gap: 2rem; }
.gap-12         { gap: 3rem; }
.space-y-4 > * + * { margin-top: 1rem; }

/* Grid */
.grid             { display: grid; }
.grid-cols-1      { grid-template-columns: repeat(1, 1fr); }

/* Positioning */
.relative { position: relative; }
.absolute { position: absolute; }
.sticky   { position: sticky; }
.z-10     { z-index: 10; }
.top-1\/2  { top: 50%; }
.left-0   { left: 0; }
.left-4   { left: 1rem; }
.right-0  { right: 0; }
.right-4  { right: 1rem; }

/* Transform */
.-translate-y-1\/2 { transform: translateY(-50%); }
.-translate-x-2    { transform: translateX(-0.5rem); }
.translate-x-2     { transform: translateX(0.5rem); }

/* Visibility */
.hidden { display: none; }
.block  { display: block; }

/* Width / Height */
.h-4    { height: 1rem; }
.h-5    { height: 1.25rem; }
.h-6    { height: 1.5rem; }
.h-8    { height: 2rem; }
.h-10   { height: 2.5rem; }
.w-4    { width: 1rem; }
.w-5    { width: 1.25rem; }
.w-6    { width: 1.5rem; }
.w-8    { width: 2rem; }
.w-10   { width: 2.5rem; }
.w-24   { width: 6rem; }

/* Text */
.text-center { text-align: center; }
.text-left   { text-align: left; }
.font-bold   { font-weight: 700; }
.font-semibold { font-weight: 600; }
.font-medium  { font-weight: 500; }
.font-extrabold { font-weight: 800; }
.leading-relaxed { line-height: 1.625; }
.tracking-tight  { letter-spacing: -0.025em; }

/* Borders & Shadows */
.border       { border: 1px solid var(--brand-gray-border); }
.border-b     { border-bottom: 1px solid var(--brand-gray-border); }
.border-t     { border-top: 1px solid var(--brand-gray-border); }
.border-2     { border-width: 2px; }
.rounded-none { border-radius: 0; }
.rounded-sm   { border-radius: 0.125rem; }
.rounded-full { border-radius: 9999px; }
.shadow-md    { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); }

/* Scroll */
.overflow-x-auto { overflow-x: auto; }
.scroll-smooth   { scroll-behavior: smooth; }

/* Transitions */
.transition-colors   { transition: color 0.2s, background-color 0.2s, border-color 0.2s; }
.transition-opacity   { transition: opacity 0.2s; }
.transition-transform { transition: transform 0.2s; }
.duration-300  { transition-duration: 0.3s; }
.duration-500  { transition-duration: 0.5s; }
.opacity-0     { opacity: 0; }

/* Object fit */
.object-cover   { object-fit: cover; }
.object-contain { object-fit: contain; }

/* Group hover effects */
.group:hover .group-hover\:scale-105 { transform: scale(1.05); }
.group:hover .group-hover\:opacity-100 { opacity: 1; }

@media (min-width: 640px) {
  .sm\:flex-row { flex-direction: row; }
}
@media (min-width: 768px) {
  .md\:block { display: block; }
  .md\:inline-flex { display: inline-flex; }
  .md\:hidden { display: none; }
  .md\:flex-row { flex-direction: row; }
  .md\:flex-row-reverse { flex-direction: row-reverse; }
  .md\:w-1\/2 { width: 50%; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .md\:py-20 { padding-top: 5rem; padding-bottom: 5rem; }
  .md\:py-24 { padding-top: 6rem; padding-bottom: 6rem; }
  .md\:gap-6 { gap: 1.5rem; }
  .md\:p-12 { padding: 3rem; }
  .md\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 1024px) {
  .lg\:flex-row { flex-direction: row; }
  .lg\:flex-row-reverse { flex-direction: row-reverse; }
  .lg\:w-1\/2 { width: 50%; }
  .lg\:w-2\/3 { width: 66.667%; }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
  .lg\:gap-0 { gap: 0; }
  .lg\:gap-20 { gap: 5rem; }
}

/* ========================================= */
/* BREADCRUMBS                               */
/* ========================================= */
/* Single product: remove any theme-added top gap so breadcrumb starts at viewport top */
html, body {
  max-width: 100%;
}

.single-product #page,
.single-product #content,
.single-product #primary,
.single-product #main,
.single-product .site-content,
.single-product .content-area {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: clip;
}

.single-product #main {
  margin-top: 0 !important;
}

/* Breadcrumb wrapper - dark bar from viewport top, internal padding houses the 80px fixed header */
.shone-breadcrumb-wrap {
  padding-top: calc(80px + 1rem);
  padding-bottom: 1rem;
  background-color: var(--brand-dark) !important;
  border-bottom: 1px solid #333;
}
.lvk-breadcrumbs {
  font-size: 0.875rem;
  color: #ffffffd9;
}
.lvk-breadcrumbs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.lvk-breadcrumbs__item {
  display: flex;
  align-items: center;
}
.lvk-breadcrumbs__link {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
}
.lvk-breadcrumbs__link:hover {
  color: var(--brand-red);
}
.lvk-breadcrumbs__text {
  color: #ffffffd9;
}
.lvk-breadcrumbs__separator {
  color: #bababa;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* ============================================= */
/* G03 Modals — Global Popup Components          */
/* ============================================= */

/* Overlay */
.shone-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(15, 15, 17, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s var(--primary-bezier),
              visibility 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
.shone-modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Modal Container */
.shone-modal {
  display: flex;
  width: 100%;
  max-width: 1100px;
  max-height: calc(100vh - 3rem);
  background: #FFFFFF;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.06),
    0 30px 60px -18px rgba(0,0,0,0.35);
  transform: scale(0.92) translateY(32px);
  transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
  overflow: hidden;
}
.shone-modal-overlay.active .shone-modal {
  transform: scale(1) translateY(0);
}

@media (max-width: 767px) {
  .shone-modal-overlay {
    padding: 0;
    align-items: flex-end;
  }
  .shone-modal {
    flex-direction: column;
    max-height: 92vh;
    max-width: 100%;
    border-radius: 0;
    transform: translateY(100%);
    overflow-y: auto;
  }
  .shone-modal-overlay.active .shone-modal {
    transform: translateY(0);
  }
}

/* Modal Header Bar (mobile title area) */
.shone-modal-header {
  display: none;
  padding: 1.25rem 1.5rem;
  background: linear-gradient(135deg, var(--brand-red), #9B2C2C);
  color: #FFFFFF;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .shone-modal-header {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 20;
  }
}
.shone-modal-header h4 {
  font-size: 1rem;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0;
}

/* Left Panel — White Background (Trust Notes) */
.shone-modal-left {
  flex: 1 1 48%;
  background: #FFFFFF;
  padding: 3.5rem 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--brand-dark);
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .shone-modal-left {
    padding: 2rem 1.5rem;
    flex: none;
  }
}
.shone-modal-left > * {
  position: relative;
  z-index: 1;
}
.shone-modal-left > div {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (max-width: 767px) {
  .shone-modal-left > div {
    gap: 12px;
  }
}
.shone-modal-left h3 {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--brand-dark);
  margin: 0;
  line-height: 1.25;
  letter-spacing: -0.025em;
}
@media (min-width: 768px) {
  .shone-modal-left h3 {
    font-size: 2.25rem;
  }
}
.shone-modal-left .modal-desc {
  font-size: 18px;
  color: var(--brand-gray-text);
  margin: 0;
  line-height: 1.5;
  max-width: 380px;
}
@media (max-width: 767px) {
  .shone-modal-left .modal-desc {
    font-size: 14px;
  }
}
.shone-modal-highlights {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 767px) {
  .shone-modal-highlights {
    gap: 0.75rem;
  }
}
.shone-modal-highlights .modal-hl-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.shone-modal-highlights .modal-hl-icon {
  width: 2.5rem;
  height: 2.5rem;
  background: rgba(255,0,0,0.2);
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.shone-modal-highlights .modal-hl-text {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.375;
  color: var(--brand-dark);
}
@media (max-width: 767px) {
  .shone-modal-highlights .modal-hl-text {
    font-size: 1rem;
  }
}

.shone-modal-right {
  flex: 1 1 52%;
  background: linear-gradient(160deg, var(--brand-red-hover) 0%, #9B2C2C 35%, #7B1F1F 100%);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  position: relative;
}
@media (max-width: 767px) {
  .shone-modal-right {
    flex: none;
    overflow-y: visible;
  }
}
/* Close Button */
.shone-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  color: var(--brand-gray-text);
  cursor: pointer;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s, transform 0.2s;
  z-index: 10;
  line-height: 1;
}
.shone-modal-close:hover {
  background: transparent;
  color: var(--brand-dark);
  transform: scale(1.15);
}
/* Close button on red panel — white version */
.shone-modal-right .shone-modal-close {
  color: rgba(255,255,255,0.7);
}
@media (max-width: 767px) {
  .shone-modal-right .shone-modal-close {
    display: none;
  }
}
.shone-modal-right .shone-modal-close:hover {
  background: transparent;
  color: #FFFFFF;
}

/* ===== infility form inside modal — white focus border ===== */
.shone-modal-right [id^="infility_form"] input:focus,
.shone-modal-right [id^="infility_form"] textarea:focus,
.shone-modal-right [id^="infility_form"] select:focus {
  border-bottom-color: rgba(255,255,255,0.7) !important;
  background-color: rgba(255,255,255,0.08) !important;
}
/* File upload input — no border (all forms) */
.shone-inquiry-form input[type="file"],
[id^="infility_form"] input[type="file"] {
  border-bottom: none !important;
}
/* Submit button spacing */
[id^="infility_form"] button[type="submit"] {
  margin-top: 1rem;
}

/* ===== inquiry-form inside modal — fill the red panel ===== */
.shone-modal-right .shone-inquiry-form {
  background: transparent;
  flex-grow: 1;
  border: none;
  padding: 3.5rem 3rem 0;
}
@media (max-width: 767px) {
  .shone-modal-right .shone-inquiry-form {
    padding: 2rem 1.5rem 0;
  }
}

.shone-modal-right .shone-form-note {
  padding: 0 3rem 2rem;
}
@media (max-width: 767px) {
  .shone-modal-right .shone-form-note {
    padding: 0 1.5rem 1.5rem;
  }
}

.lvk-breadcrumbs__separator i,
.lvk-breadcrumbs__separator svg {
  width: 1rem;
  height: 1rem;
}

/* ========================================= */
/* P03-1: OEM/ODM Custom Manufacturing Page  */

.page-oem-odm-custom-manufacturing .shone-section-hero {
  background-position: center 32%;
}
@media (max-width: 767px) {
  .page-oem-odm-custom-manufacturing .shone-section-hero {
    height: auto;
    min-height: auto;
    padding: calc(80px + 40px) 20px 40px;
    background-position: 68% center;
  }
  .page-oem-odm-custom-manufacturing .shone-hero-content {
    padding: 0;
  }
  .page-oem-odm-custom-manufacturing .shone-hero-content h1 {
    font-size: 1.75rem;
    line-height: 1.15;
    margin-bottom: 1rem;
    width: 100%;
    max-width: none;
  }
  .page-oem-odm-custom-manufacturing .shone-hero-content .subheadline {
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.25rem;
  }
  .page-oem-odm-custom-manufacturing .shone-hero-actions {
    gap: 0.875rem;
  }
  .page-oem-odm-custom-manufacturing .shone-hero-actions .shone-btn-primary,
  .page-oem-odm-custom-manufacturing .shone-hero-actions .shone-btn-secondary {
    display: block;
    width: 100%;
  }
  .page-oem-odm-custom-manufacturing .shone-breadcrumb {
    padding-top: 1rem;
  }
}

/* S03 Section text — override dark bg for background image */
.page-oem-odm-custom-manufacturing .section-customization-library {
  position: relative;
  overflow: hidden;
}
.page-oem-odm-custom-manufacturing .section-customization-library::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(247, 247, 247, 0.5);
  z-index: 0;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 1280px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content { max-width: 1800px; }
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content .shone-section-title {
  color: var(--brand-dark);
  text-align: left;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content .shone-section-subtitle {
  color: var(--brand-gray-text);
  text-align: left !important;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content .shone-section-header {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}

/* S03 Appearance Customization Tabs */
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-layout {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
}
@media (min-width: 1024px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-layout {
    flex-direction: row;
  }
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-body {
  flex: 1;
  min-width: 0;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-panel {
  display: none;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-panel.is-active {
  display: block;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar {
    flex-direction: column;
    width: 220px;
    gap: 0;
    position: relative;
    border-left: 2px solid var(--brand-gray-border);
    padding-left: 0;
    align-self: flex-start;
  }
}

.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn {
  position: relative;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--brand-gray-text);
  background: #FFFFFF;
  border: none;
  cursor: pointer;
  transition: all 0.3s;
  letter-spacing: 0.01em;
  text-align: left;
  margin-bottom: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
@media (min-width: 1024px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn {
    padding: 0.75rem 1rem;
    border-left: none;
    border-radius: 0 4px 4px 0;
    margin-left: 0;
    margin-right: 0;
  }
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn::before {
    display: none;
  }
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn:last-child {
  margin-bottom: 0;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn:hover {
  color: var(--brand-dark);
  background: var(--brand-gray-light);
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn.is-active {
  color: #FFFFFF;
  background: var(--brand-red);
  box-shadow: 0 2px 6px rgba(255, 0, 0, 0.25);
}

/* S03 mobile: content padding & tab button sizing */
@media (max-width: 767px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-bottom-note {
    padding-left: 16px;
    padding-right: 16px;
  }
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content .shone-section-header {
    margin-bottom: 1.5rem;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar {
    flex-wrap: wrap;
    justify-content: center;
  }
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn {
    padding: 0.5rem 0.75rem;
    font-size: 12px;
    margin-bottom: 0;
    gap: 0;
    border-radius: 4px;
  }
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn i,
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-tab-sidebar .shone-custom-tab-btn svg {
    display: none;
  }
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-bottom-note {
    font-size: 14px;
  }
}

@keyframes shoneCardFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-image-card {
  opacity: 0;
  transform: translateY(12px);
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-image-card.is-visible {
  animation: shoneCardFadeIn 0.45s ease forwards;
}

/* S03 Customization Library image grid */
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-image-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding: 0;
}
@media (min-width: 768px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-image-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-image-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-image-card {
  background: #FFFFFF;
  overflow: hidden;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-image-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.page-oem-odm-custom-manufacturing .section-customization-library .shone-custom-image-card .shone-custom-image-label {
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--brand-dark);
  text-align: center;
}

/* S02 2x3 scope grid */
.page-oem-odm-custom-manufacturing .shone-scope-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 768px) {
  .page-oem-odm-custom-manufacturing .shone-scope-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .page-oem-odm-custom-manufacturing .shone-scope-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1280px) {
  .page-oem-odm-custom-manufacturing .shone-scope-grid { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .page-oem-odm-custom-manufacturing .shone-scope-grid { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .page-oem-odm-custom-manufacturing .shone-scope-grid { max-width: 1800px; }
}
@media (min-width: 1024px) {
  .section-category-matrix--two-by-two .shone-category-grid--two-by-two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 2.25rem;
  }
}

.page-oem-odm-custom-manufacturing .shone-scope-card {
  background: #f7f7f7;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.page-oem-odm-custom-manufacturing .shone-scope-card .shone-redline-icon-wrap {
  margin-bottom: 0;
}

/* S05 workflow - extend line on last step for sampling-production section */
.section-sampling-production .shone-workflow-step:last-child .shone-workflow-line,
.page-oem-odm-custom-manufacturing .shone-workflow-step:last-child .shone-workflow-line {
  display: block !important;
  width: calc(100% - 48px);
}
@media (min-width: 1024px) {
  .section-sampling-production--three-cols .shone-workflow-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem 2rem;
  }
  .section-sampling-production--three-cols .shone-workflow-line,
  .section-sampling-production--three-cols .shone-workflow-step:last-child .shone-workflow-line {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .section-sampling-production .shone-section-header,
  .section-sampling-production .shone-section-title,
  .section-sampling-production .shone-section-subtitle {
    text-align: center;
  }
  .section-sampling-production .shone-section-header {
    padding: 0 16px;
  }
  .section-sampling-production .shone-workflow-step {
    text-align: center;
  }
  .section-sampling-production .shone-workflow-indicator {
    justify-content: center;
  }
  .section-sampling-production .shone-workflow-step:last-child .shone-workflow-line {
    display: none !important;
  }
}
.page-oem-odm-custom-manufacturing .shone-scope-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 0;
}
.page-oem-odm-custom-manufacturing .shone-scope-card p {
  font-size: 1rem;
  color: var(--brand-gray-text);
  line-height: 1.5;
  margin-bottom: 0;
}
.page-oem-odm-custom-manufacturing .shone-scope-card p strong {
  color: var(--brand-dark);
}

/* S04 Quality Control Grid */
.page-oem-odm-custom-manufacturing .shone-quality-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (min-width: 768px) {
  .page-oem-odm-custom-manufacturing .shone-quality-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .page-oem-odm-custom-manufacturing .shone-quality-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1280px) {
  .page-oem-odm-custom-manufacturing .shone-quality-grid { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .page-oem-odm-custom-manufacturing .shone-quality-grid { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .page-oem-odm-custom-manufacturing .shone-quality-grid { max-width: 1800px; }
}

.page-oem-odm-custom-manufacturing .shone-quality-card {
  background: #FFFFFF;
  overflow: hidden;
}
.page-oem-odm-custom-manufacturing .shone-quality-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.page-oem-odm-custom-manufacturing .shone-quality-text {
  padding: 1.5rem 0;
  border-top: 4px solid var(--brand-red);
}
.page-oem-odm-custom-manufacturing .shone-quality-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin: 0 0 0.5rem;
}
.page-oem-odm-custom-manufacturing .shone-quality-card p {
  font-size: 1rem;
  color: var(--brand-gray-text);
  line-height: 1.5;
  margin: 0;
}
.page-oem-odm-custom-manufacturing .shone-quality-card p strong {
  color: var(--brand-dark);
}

/* ==============================================
   T03 — Blog Detail (single-post.php)
   ============================================== */

/* S01 Content Header */
/* S01 Hero — dark theme, matched to blog listing page */
.post-detail-hero {
  background-color: #18181b;
  height: auto;
  min-height: 0;
  padding: 100px 0;
}
@media (min-width: 768px) {
  .post-detail-hero {
    padding: 100px 0;
    min-height: 0;
    height: auto;
  }
}
.post-detail-hero .shone-hero-content {
  display: flex;
  flex-direction: column;
}

/* Breadcrumb Wrap — dark bg, separated from hero */
.page-post-detail .shone-breadcrumb-wrap {
  padding-top: 91px;
  padding-bottom: 0.75rem;
  background-color: #18181b;
  border-bottom: 1px solid #333;
}
.page-post-detail .shone-breadcrumb-wrap .shone-hero-content {
  display: block;
}

/* Category tag */
.post-detail-cat {
  display: inline-block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 700;
  color: var(--brand-red);
  background: rgba(255, 0, 0, 0.12);
  padding: 0.25rem 0.75rem;
  margin-bottom: 1rem;
  align-self: flex-start;
}

/* H1 — dark variant */
.post-detail-hero h1 {
  font-size: 2rem;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.25;
  margin-bottom: 1.25rem;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .post-detail-hero h1 {
    font-size: 2.75rem;
    width: 80%;
  }
}

/* Meta Info — dark variant */
.post-detail-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
}
.post-detail-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.post-detail-meta-item svg {
  color: rgba(255, 255, 255, 0.5);
}
.post-detail-meta-divider {
  color: rgba(255, 255, 255, 0.25);
}

/* Share Component — dark variant */
.post-detail-share {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.post-detail-share-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
}
.post-detail-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.6);
  background: transparent;
  transition: color 0.2s, border-color 0.2s;
}
.post-detail-share-btn:hover {
  color: var(--brand-red);
  border-color: var(--brand-red);
  background: rgba(255, 0, 0, 0.1);
}

/* ==============================================
   S02 Body & TOC
   ============================================== */

.post-detail-body {
  padding: 3rem 0;
  background: var(--brand-white);
}
@media (min-width: 768px) {
  .post-detail-body {
    padding: 4rem 0;
  }
}
.post-detail-body-grid {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.25rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .post-detail-body-grid {
    padding: 0 60px;
  }
}
@media (min-width: 1024px) {
  .post-detail-body-grid {
    grid-template-columns: 220px 1fr;
    gap: 3rem;
  }
}
@media (min-width: 1280px) {
  .post-detail-body-grid { 
    grid-template-columns: 260px 1fr;
    max-width: 1536px;
  }
}
@media (min-width: 1536px) {
  .post-detail-body-grid { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .post-detail-body-grid { max-width: 1800px; }
}

/* Left TOC */
.post-detail-toc {
}
.post-detail-toc-sticky {
  display: block;
  margin-bottom: 2rem;
}
@media (min-width: 1024px) {
  .post-detail-toc-sticky {
    display: block;
    position: sticky;
    top: 5.625rem;
  }
}
.post-detail-toc-mobile-toggle {
  display: none;
}

.post-detail-toc-title {
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--brand-gray-text);
  margin-bottom: 1rem;
  font-weight: 700;
}

.post-detail-toc-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--brand-gray-border);
}
.post-detail-toc-nav a {
  display: block;
  padding: 0.375rem 0 0.375rem 1rem;
  font-size: 1rem;
  color: var(--brand-gray-text);
  text-decoration: none;
  border-left: 2px solid transparent;
  margin-left: -2px;
  transition: color 0.2s, border-color 0.2s;
  line-height: 1.4;
}
.post-detail-toc-nav a:hover,
.post-detail-toc-nav a.is-active {
  color: var(--brand-red);
  border-left-color: var(--brand-red);
}
.toc-level-h3 a {
  padding-left: 1.75rem;
  font-size: 0.875rem;
}

/* Right Content */
.post-detail-content {
  min-width: 0; /* prevent grid overflow */
}
.post-detail-content--full {
  grid-column: 1 / -1;
}

.post-detail-prose {
  width: 100%;
  color: var(--brand-dark);
  line-height: 1.8;
  font-size: 1.0625rem;
}
.post-detail-prose h2:first-of-type {
  margin-top: 0;
}
.post-detail-prose h2 {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--brand-dark);
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  line-height: 1.3;
  letter-spacing: -0.025em;
}
@media (min-width: 768px) {
  .post-detail-prose h2 {
    font-size: 2.25rem;
  }
}
.post-detail-prose h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  line-height: 1.4;
}
.post-detail-prose h4 {
  font-size: 1.0625rem;
  font-weight: 700;
  margin-top: 1.75rem;
  margin-bottom: 0.5rem;
}
.post-detail-prose p {
  margin-bottom: 1.25rem;
  line-height: 1.8;
}
.post-detail-prose ul {
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
  list-style-type: disc;
}
.post-detail-prose ol {
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
  list-style-type: decimal;
}
.post-detail-prose li {
  margin-bottom: 0.5rem;
  line-height: 1.7;
}
.post-detail-prose blockquote {
  border-left: 3px solid var(--brand-red);
  padding-left: 1.25rem;
  margin: 1.5rem 0;
  color: var(--brand-gray-text);
  font-style: italic;
}
.post-detail-prose img {
  max-width: 100%;
  height: auto;
  margin: 1.5rem 0;
}
.post-detail-prose video,
.post-detail-prose iframe,
.post-detail-prose .wp-block-video,
.post-detail-prose .wp-block-embed {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}
.post-detail-prose pre {
  background: var(--brand-gray-light);
  padding: 1rem;
  overflow-x: auto;
  font-size: 0.875rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}
.post-detail-prose code {
  font-size: 0.875em;
  background: var(--brand-gray-light);
  padding: 0.125em 0.375em;
}
.post-detail-prose pre code {
  padding: 0;
  background: none;
}

/* Internal links — brand red + underline */
.post-detail-prose a {
  color: var(--brand-red);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.post-detail-prose a:hover {
  color: var(--brand-red-hover);
}

/* Tags */
.post-detail-tags {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--brand-gray-border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  max-width: 760px;
}
.post-detail-tag {
  display: inline-block;
  font-size: 0.75rem;
  color: var(--brand-gray-text);
  background: var(--brand-gray-light);
  padding: 0.25rem 0.75rem;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.post-detail-tag:hover {
  background: var(--brand-red);
  color: #fff;
}

/* ==============================================
   S03 Conversion & Reads
   ============================================== */

.post-detail-bottom {
  background: var(--brand-white);
}

/* CTA Banner */
.post-detail-cta {
  text-align: center;
  padding: 0;
  width: 100%;
}
.post-detail-cta-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.25rem;
}
@media (min-width: 768px) {
  .post-detail-cta-container {
    padding: 0 60px;
  }
}
.page-author .post-detail-cta-container {
  max-width: 1400px;
}
.page-author .shone-breadcrumb-wrap .shone-hero-content {
}
.page-author .post-detail-hero .shone-hero-content {
}
.post-detail-cta-inner {
  width: 100%;
  margin: 0 auto;
  background: linear-gradient(135deg, #ff0000 0%, #cc0000 50%, #9B2C2C 100%);
  padding: 3rem 1.5rem;
}
@media (min-width: 1024px) {
  .post-detail-cta-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding: 4rem 4rem;
  }
}
@media (min-width: 1280px) {
  .post-detail-cta-container { max-width: 1536px; }
}
@media (min-width: 1536px) {
  .post-detail-cta-container { max-width: 1600px; }
}
@media (min-width: 1921px) {
  .post-detail-cta-container { max-width: 1800px; }
}
.post-detail-cta h2 {
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 1.5rem;
  width: 100%;
  line-height: 1.3;
  letter-spacing: -0.025em;
}
@media (min-width: 768px) {
  .post-detail-cta h2 {
    font-size: 2.25rem;
  }
}
@media (min-width: 1024px) {
  .post-detail-cta h2 {
    margin-bottom: 0;
    width: 65%;
  }
}

/* Related Reads */
.post-detail-related {
  padding: 2rem 0 3rem;
  background: var(--brand-white);
}
@media (min-width: 768px) {
  .post-detail-related {
    padding: 3rem 0 4rem;
  }
}

.post-detail-related-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--brand-dark);
  margin-bottom: 1.5rem;
}

.post-detail-related-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) {
  .post-detail-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .post-detail-related-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.post-detail-related-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--brand-gray-border);
  background: var(--brand-white);
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.3s, border-color 0.3s;
}
.post-detail-related-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: var(--brand-red);
}

.post-detail-related-thumb {
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: var(--brand-gray-light);
}
.post-detail-related-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.post-detail-related-card:hover .post-detail-related-thumb img {
  transform: scale(1.05);
}
.post-detail-related-thumb-placeholder {
  width: 100%;
  height: 100%;
  background: var(--brand-gray-border);
}

.post-detail-related-card-body {
  padding: 1rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.post-detail-related-card-body h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 0.5rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s;
}
.post-detail-related-card:hover .post-detail-related-card-body h3 {
  color: var(--brand-red);
}
.post-detail-related-card-body p {
  font-size: 0.8125rem;
  color: var(--brand-gray-text);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/* ==============================================
   T04 — Author Page (author.php)
   ============================================== */

.page-author .lvk-breadcrumbs__list {
  padding: 12px 0;
}

/* Author Hero Layout */
.author-hero-body {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
}
.author-hero-avatar {
  flex-shrink: 0;
}
.author-hero-avatar-img {
  border-radius: 9999px;
  width: 140px;
  height: 140px;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,0.2);
}
.author-hero-info {
  flex: 1;
  min-width: 0;
}
.author-hero-info h1 {
  font-size: 2rem;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.25;
  margin-bottom: 0.5rem;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .author-hero-info h1 {
    font-size: 2.75rem;
  }
}
.author-hero-bio {
  font-size: 1rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.6;
  margin-bottom: 1.25rem;
  max-width: 640px;
}
.author-hero-info .post-detail-meta {
  margin-bottom: 1.25rem;
  color: rgba(255,255,255,0.6);
}

/* Author Posts Grid */
.author-posts-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) {
  .author-posts-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .author-posts-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Author Empty State */
.author-empty {
  text-align: center;
  padding: 4rem 1.25rem;
  color: var(--brand-gray-text);
  font-size: 1rem;
}

/* Author Pagination — mirrors case-pagination */
.author-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  margin-top: 3rem;
  flex-wrap: wrap;
}
.author-pagination a,
.author-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--brand-dark);
  border: 1px solid var(--brand-gray-border);
  background: var(--brand-white);
  transition: all 0.2s;
}
.author-pagination a:hover {
  background: var(--brand-gray-light);
  border-color: var(--brand-dark);
}
.author-pagination span.current {
  background: var(--brand-red);
  color: var(--brand-white);
  border-color: var(--brand-red);
}
.author-pagination a svg {
  display: block;
}

/* ==============================================
   T05 — Post Detail Author Card (single-post.php)
   ============================================== */

.post-detail-author-card {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: flex-start;
  padding: 1.5rem;
  margin-top: 2.5rem;
  background: #f7f7f7;
}
@media (min-width: 640px) {
  .post-detail-author-card {
    flex-direction: row;
    flex-wrap: nowrap;
  }
}
.post-detail-author-card-avatar {
  flex-shrink: 0;
}
.post-detail-author-card-avatar img {
  border-radius: 9999px;
  width: 72px;
  height: 72px;
  object-fit: cover;
  border: 2px solid var(--brand-gray-border);
}
.post-detail-author-card-body {
  flex: 1;
  min-width: 100%;
}
@media (min-width: 640px) {
  .post-detail-author-card-body {
    min-width: 0;
  }
}
.post-detail-author-card-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin: 0 0 0.25rem;
}
.post-detail-author-card-bio {
  font-size: 0.875rem;
  color: var(--brand-gray-text);
  line-height: 1.6;
  margin: 0 0 1rem;
  max-width: 540px;
}
.post-detail-author-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.post-detail-author-card-social {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.post-detail-author-card-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--brand-gray-text);
  transition: color 0.2s, transform 0.2s;
}
.post-detail-author-card-social-link:hover {
  color: var(--brand-red);
  transform: scale(1.1);
}

/* Mobile fallback for unified desktop gutters */
@media (max-width: 767px) {
  .shone-section-header,
  .shone-sku-container,
  .shone-hero-content,
  .shone-inquiry-container,
  .shone-redlines-grid,
  .shone-challenges-grid,
  .shone-workflow-container,
  .shone-mfg-grid,
  .shone-solutions-grid,
  .shone-cases-header,
  .section-case-studies .shone-section-content,
  .shone-case-container,
  .shone-faq-container,
  .shone-custom-grid,
  .page-manufacturing .flow-card-grid,
  .page-manufacturing .rd-tech-grid,
  .shone-product-container,
  .page-municipal-plaza-lighting .section-products .shone-category-grid,
  .page-municipal-plaza-lighting .section-products .shone-section-header,
  .page-oem-odm-custom-manufacturing .section-customization-library .shone-section-content,
  .page-oem-odm-custom-manufacturing .shone-scope-grid,
  .page-oem-odm-custom-manufacturing .shone-quality-grid,
  .flow-card-grid {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* 移动端不避免单词孤行 */
@media (max-width: 767px) {
  * {
    text-wrap: wrap !important;
  }
}

/* ==============================================
   Search Page (search.php)
   ============================================== */

.page-search .shone-hero-content .subheadline {
  margin-bottom: 0.75rem;
}
.page-search .shone-hero-content .shone-breadcrumb {
  padding-top: 0.5rem;
}

/* Search Results Grid */
.page-search-results-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) {
  .page-search-results-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .page-search-results-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Search Result Card */
.page-search-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--brand-gray-border);
  background: var(--brand-white);
  text-decoration: none;
  color: inherit;
}
.page-search-card:hover {
  border-color: var(--brand-red);
}
.page-search-card-thumb {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--brand-gray-light);
}
.page-search-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s var(--standard-bezier);
}
.page-search-card:hover .page-search-card-thumb img {
  transform: scale(1.05);
}
.page-search-card-thumb-placeholder {
  width: 100%;
  height: 100%;
  background: var(--brand-gray-light);
}
.page-search-card-body {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.page-search-card-type {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand-red);
  margin-bottom: 0.5rem;
}
.page-search-card-body h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--brand-dark);
  line-height: 1.35;
  margin: 0 0 0.5rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.page-search-card:hover .page-search-card-body h3 {
  color: var(--brand-red);
}
.page-search-card-body p {
  font-size: 0.8125rem;
  color: var(--brand-gray-text);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Search Pagination - replaced by .case-pagination */
/* Search Empty State - replaced by Tailwind */

/* Dynamic Description Color for Light Gray Backgrounds */
.bg-brandSurface p,
.bg-brandSurface .shone-section-subtitle,
.bg-brandSurface .shone-card-summary,
.bg-brandSurface .shone-home-card-summary,
.bg-brandSurface .shone-text-body,
.bg-brandSurface .text-brandGray,
.bg-industrial-light p,
.bg-industrial-light .shone-section-subtitle,
.bg-industrial-light .shone-card-summary,
.bg-industrial-light .shone-home-card-summary,
.bg-industrial-light .shone-text-body,
.bg-industrial-light .text-brandGray,
.shone-section-light p,
.shone-section-light .shone-section-subtitle,
.shone-section-light .shone-card-summary,
.shone-section-light .shone-home-card-summary,
.shone-section-light .shone-text-body,
.shone-section-light .text-brandGray,
.sp-bg-light p,
.sp-bg-light .shone-section-subtitle,
.sp-bg-light .shone-card-summary,
.sp-bg-light .shone-home-card-summary,
.sp-bg-light .shone-text-body,
.sp-bg-light .text-brandGray,
.section-case-studies p,
.section-case-studies .shone-section-subtitle,
.section-case-studies .shone-card-summary,
.section-case-studies .shone-home-card-summary,
.section-case-studies .shone-text-body,
.section-case-studies .text-brandGray,
.bg-\[\#f7f7f7\] p,
.bg-\[\#f7f7f7\] .shone-section-subtitle,
.bg-\[\#f7f7f7\] .shone-card-summary,
.bg-\[\#f7f7f7\] .shone-home-card-summary,
.bg-\[\#f7f7f7\] .shone-text-body,
.bg-\[\#f7f7f7\] .text-brandGray,
.bg-\[\#F7F7F7\] p,
.bg-\[\#F7F7F7\] .shone-section-subtitle,
.bg-\[\#F7F7F7\] .shone-card-summary,
.bg-\[\#F7F7F7\] .shone-home-card-summary,
.bg-\[\#F7F7F7\] .shone-text-body,
.bg-\[\#F7F7F7\] .text-brandGray,
.bg-light p,
.bg-light .shone-section-subtitle,
.bg-light .shone-card-summary,
.bg-light .shone-home-card-summary,
.bg-light .shone-text-body,
.bg-light .text-brandGray,
.page-manufacturing .section-proof-snapshot p,
.page-manufacturing .section-core-craft p,
.page-manufacturing .section-lab-validation p,
.page-manufacturing .section-project-workflow p,
.page-municipal-plaza-lighting .section-customization p,
.page-municipal-plaza-lighting .section-case-studies p,
.page-manufacturing .section-proof-snapshot .shone-section-subtitle,
.page-manufacturing .section-core-craft .shone-section-subtitle,
.page-manufacturing .section-lab-validation .shone-section-subtitle,
.page-manufacturing .section-project-workflow .shone-section-subtitle,
.page-municipal-plaza-lighting .section-customization .shone-section-subtitle,
.page-municipal-plaza-lighting .section-case-studies .shone-section-subtitle,
.page-manufacturing .section-proof-snapshot .text-brandGray,
.page-manufacturing .section-core-craft .text-brandGray,
.page-manufacturing .section-lab-validation .text-brandGray,
.page-manufacturing .section-project-workflow .text-brandGray,
.page-municipal-plaza-lighting .section-customization .text-brandGray,
.page-municipal-plaza-lighting .section-case-studies .text-brandGray {
    color: var(--brand-dark);
}

/* Add feature-copy specific overrides */
.bg-brandSurface .shone-feature-copy,
.bg-industrial-light .shone-feature-copy,
.shone-section-light .shone-feature-copy,
.sp-bg-light .shone-feature-copy,
.bg-\[\#f7f7f7\] .shone-feature-copy,
.bg-\[\#F7F7F7\] .shone-feature-copy,
.shone-hero-feature-item-surface .shone-feature-copy {
    color: var(--brand-dark);
}

/* FAQ Answer Color Override (Keep as #71717A) */
.bg-brandSurface .shone-faq-answer,
.bg-industrial-light .shone-faq-answer,
.shone-section-light .shone-faq-answer,
.sp-bg-light .shone-faq-answer,
.bg-\[\#f7f7f7\] .shone-faq-answer,
.bg-\[\#F7F7F7\] .shone-faq-answer,
.shone-faq-answer {
    color: var(--brand-gray-text);
}

/* Stronger FAQ Answer Color Override (Targeting inner div/p) */
.bg-brandSurface .shone-faq-answer div,
.bg-brandSurface .shone-faq-answer p,
.bg-industrial-light .shone-faq-answer div,
.bg-industrial-light .shone-faq-answer p,
.shone-section-light .shone-faq-answer div,
.shone-section-light .shone-faq-answer p,
.sp-bg-light .shone-faq-answer div,
.sp-bg-light .shone-faq-answer p,
.bg-\[\#f7f7f7\] .shone-faq-answer div,
.bg-\[\#f7f7f7\] .shone-faq-answer p,
.bg-\[\#F7F7F7\] .shone-faq-answer div,
.bg-\[\#F7F7F7\] .shone-faq-answer p,
.shone-faq-answer div,
.shone-faq-answer p {
    color: var(--brand-gray-text);
}
/* Restore description colors for white cards inside light sections */
.shone-custom-card p,
.shone-custom-card .shone-card-summary,
.shone-custom-card .shone-text-body,
.shone-custom-card .text-brandGray {
    color: var(--brand-gray-text);
}

/* Restore description colors for white cards inside light sections */
.shone-custom-card p,
.shone-custom-card .shone-card-summary,
.shone-custom-card .shone-text-body,
.shone-custom-card .text-brandGray,
.shone-challenge-card p,
.shone-challenge-card .shone-text-body,
.shone-category-card p,
.shone-category-card .shone-text-body,
.shone-sku-card p,
.shone-sku-card .shone-text-body,
.shone-solution-card-white p,
.shone-solution-card-white .shone-text-body {
    color: var(--brand-gray-text) !important;
}

/* Restore description colors for scope cards and similar white cards */
.shone-scope-card p,
.shone-scope-card .shone-text-body {
    color: var(--brand-dark) !important;
}

/* Restore description colors for workflow cards inside light sections */
.shone-workflow-content p {
    color: var(--brand-dark) !important;
}

/* Restore description colors for S04 subtitles on the 6 application pages */
.page-architectural-facade-lighting .section-products .shone-section-subtitle,
.page-commercial-landscape-hardscape-lighting .section-products .shone-section-subtitle,
.page-medical-special-spaces-lighting .section-products .shone-section-subtitle,
.page-municipal-plaza-lighting .section-products .shone-section-subtitle,
.page-road-bridge-tunnel-lighting .section-products .shone-section-subtitle,
.page-theme-park-monument-lighting .section-products .shone-section-subtitle {
    color: var(--brand-gray-text) !important;
}

/* Restore description color for the products page S02 subtitle on light background */
.page-products .section-filter-grid .shone-section-subtitle {
    color: var(--brand-dark) !important;
}

/* Restore description colors for S06 Quality sections on the 6 application pages */
.page-architectural-facade-lighting .section-quality p,
.page-commercial-landscape-hardscape-lighting .section-quality p,
.page-medical-special-spaces-lighting .section-quality p,
.page-municipal-plaza-lighting .section-quality p,
.page-road-bridge-tunnel-lighting .section-quality p,
.page-theme-park-monument-lighting .section-quality p {
    color: var(--brand-gray-text) !important;
}

/* Fix description colors for specific light sections in about-shone.html */
.page-about-shone .section-who-we-are p,
.page-about-shone .section-who-we-are .shone-section-subtitle,
.page-about-shone .section-global-reach .shone-section-subtitle,
.page-about-shone .section-who-serves .shone-section-subtitle {
    color: var(--brand-dark) !important;
}

/* Restore description colors for S02 white value cards in about-shone.html */
.page-about-shone .shone-values-grid .bg-white p {
    color: var(--brand-gray-text) !important;
}

/* Restore description colors for white proof cards in manufacturing page */
.page-manufacturing .proof-card p {
    color: var(--brand-gray-text) !important;
}

/* Restore description colors for blog cards in light sections */
.page-blog .shone-blog-card p,
.page-blog .shone-blog-card .shone-blog-card-excerpt {
    color: var(--brand-dark) !important;
}

/* Restore white color for case study card descriptions */
.shone-case-card .shone-case-desc {
    color: rgba(255, 255, 255, 0.9) !important;
}



/* Case Study Detail Hero Banner Override */
.page-case-study-detail .shone-section-hero::before {
  display: none !important;
}

/* Page Hero Banner — same glass treatment as case detail */
.home .shone-section-hero::before,
.page-home .shone-section-hero::before,
.shone-section-hero--parent-cat::before,
.shone-section-hero--child-cat::before,
.shone-section-hero--lighting-design::before,
.shone-section-hero--oem-odm::before,
.shone-section-hero--case-studies::before,
.shone-section-hero--about::before,
.shone-section-hero--home::before,
.shone-section-hero--manufacturing::before {
  display: none !important;
}
@media (min-width: 768px) {
  .shone-section-hero--parent-cat .shone-case-hero-glass,
  .shone-section-hero--child-cat .shone-case-hero-glass,
  .shone-section-hero--lighting-design .shone-case-hero-glass,
  .shone-section-hero--oem-odm .shone-case-hero-glass,
  .shone-section-hero--case-studies .shone-case-hero-glass,
  .shone-section-hero--about .shone-case-hero-glass,
  .shone-section-hero--home .shone-case-hero-glass,
  .shone-section-hero--manufacturing .shone-case-hero-glass {
    width: 60%;
    max-width: 60%;
  }
}
.shone-section-hero--parent-cat .shone-case-hero-glass h1,
.shone-section-hero--child-cat .shone-case-hero-glass h1,
.shone-section-hero--lighting-design .shone-case-hero-glass h1,
.shone-section-hero--oem-odm .shone-case-hero-glass h1,
.shone-section-hero--case-studies .shone-case-hero-glass h1,
.shone-section-hero--about .shone-case-hero-glass h1,
.shone-section-hero--home .shone-case-hero-glass h1,
.shone-section-hero--manufacturing .shone-case-hero-glass h1 {
  text-wrap: wrap !important;
}
.shone-section-hero--parent-cat .shone-case-hero-glass h1,
.shone-section-hero--parent-cat .shone-case-hero-glass .subheadline,
.shone-section-hero--child-cat .shone-case-hero-glass h1,
.shone-section-hero--child-cat .shone-case-hero-glass .subheadline,
.shone-section-hero--lighting-design .shone-case-hero-glass h1,
.shone-section-hero--lighting-design .shone-case-hero-glass .subheadline,
.shone-section-hero--oem-odm .shone-case-hero-glass h1,
.shone-section-hero--oem-odm .shone-case-hero-glass .subheadline,
.shone-section-hero--case-studies .shone-case-hero-glass h1,
.shone-section-hero--case-studies .shone-case-hero-glass .subheadline,
.shone-section-hero--about .shone-case-hero-glass h1,
.shone-section-hero--about .shone-case-hero-glass .subheadline,
.shone-section-hero--home .shone-case-hero-glass h1,
.shone-section-hero--home .shone-case-hero-glass .subheadline,
.shone-section-hero--manufacturing .shone-case-hero-glass h1,
.shone-section-hero--manufacturing .shone-case-hero-glass .subheadline {
  width: 100% !important;
  max-width: 100% !important;
}
.shone-section-hero--parent-cat .shone-case-hero-glass .subheadline,
.shone-section-hero--child-cat .shone-case-hero-glass .subheadline,
.shone-section-hero--lighting-design .shone-case-hero-glass .subheadline,
.shone-section-hero--oem-odm .shone-case-hero-glass .subheadline,
.shone-section-hero--case-studies .shone-case-hero-glass .subheadline,
.shone-section-hero--about .shone-case-hero-glass .subheadline,
.shone-section-hero--home .shone-case-hero-glass .subheadline,
.shone-section-hero--manufacturing .shone-case-hero-glass .subheadline {
  color: #ffffffd9 !important;
  font-weight: 300 !important;
}
.shone-section-hero--parent-cat .shone-case-hero-glass .subheadline strong,
.shone-section-hero--child-cat .shone-case-hero-glass .subheadline strong,
.shone-section-hero--lighting-design .shone-case-hero-glass .subheadline strong,
.shone-section-hero--oem-odm .shone-case-hero-glass .subheadline strong,
.shone-section-hero--case-studies .shone-case-hero-glass .subheadline strong,
.shone-section-hero--about .shone-case-hero-glass .subheadline strong,
.shone-section-hero--home .shone-case-hero-glass .subheadline strong,
.shone-section-hero--manufacturing .shone-case-hero-glass .subheadline strong {
  font-weight: 900 !important;
  color: #fff !important;
}

.shone-case-hero-glass {
  position: relative;
  padding: 3rem;
  width: fit-content;
  max-width: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.shone-case-hero-glass h1 {
  width: 100% !important;
  text-wrap: balance;
}

@media (max-width: 767px) {
  .shone-case-hero-glass {
    padding: 2rem;
    width: fit-content;
    max-width: 100%;
  }
}
