@innovastudio/contentbox 1.6.175 → 1.6.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbox",
3
3
  "type": "module",
4
- "version": "1.6.175",
4
+ "version": "1.6.176",
5
5
  "description": "",
6
6
  "main": "public/contentbox/contentbox.esm.js",
7
7
  "types": "index.d.ts",
@@ -59,7 +59,7 @@
59
59
  "ws": "^8.13.0"
60
60
  },
61
61
  "dependencies": {
62
- "@innovastudio/contentbuilder": "^1.5.188",
62
+ "@innovastudio/contentbuilder": "^1.5.190",
63
63
  "js-beautify": "^1.14.0",
64
64
  "marked": "^17.0.0",
65
65
  "sortablejs": "^1.15.2"
@@ -115901,6 +115901,9 @@ class CodeChat$1 {
115901
115901
  this.systemModel = this.builder.systemModel;
115902
115902
  }
115903
115903
  this.codeModels = [{
115904
+ id: 'anthropic/claude-opus-4.5',
115905
+ label: 'Claude Opus 4.5'
115906
+ }, {
115904
115907
  id: 'google/gemini-3-pro-preview',
115905
115908
  label: 'Google Gemini 3 Pro Preview'
115906
115909
  }, {
@@ -117915,6 +117918,10 @@ ${this.builder.html()}
117915
117918
  TASK: ${task.description}
117916
117919
 
117917
117920
  IMPORTANT: Follow the Best Practices in Content framework.
117921
+ ${this.builder.editor ? `CRITICAL: This project uses the Content.css and Box framework, NOT Tailwind. ONLY use classes explicitly documented in this framework guide.
117922
+ DO NOT use Tailwind classes like gap-4, w-1/2, top-4, hover:scale-120, etc.` : `CRITICAL: This project uses the Content.css framework, NOT Tailwind. ONLY use classes explicitly documented in this framework guide.
117923
+ DO NOT use Tailwind classes like gap-4, w-1/2, top-4, hover:scale-120, etc.`}
117924
+ For flexibility, you can use inline styles or embedded <style> at the end of the generated HTML.
117918
117925
 
117919
117926
  ${imageContext}
117920
117927
  ${chatContext}
@@ -118782,6 +118789,87 @@ Use grayscale for minimalist design.
118782
118789
 
118783
118790
  > **Editorial Style:** Stick to black, white, and grays for a clean, minimalist aesthetic. Use color sparingly for accents.
118784
118791
 
118792
+ ` + `
118793
+
118794
+ ### Animation
118795
+
118796
+ **Transition**
118797
+
118798
+ Classes: transition-none, transition, transition-colors, transition-opacity, transition-shadow, transition-transform, transition-all
118799
+
118800
+ **Duration**
118801
+
118802
+ Classes: duration-75, duration-100, duration-150, duration-200, duration-300, duration-500, duration-700, duration-1000
118803
+
118804
+ **Timing**
118805
+
118806
+ Classes: ease-linear, ease-in, ease-out, ease-in-out
118807
+
118808
+ **Delay**
118809
+
118810
+ Classes: delay-75, delay-100, delay-150, delay-200, delay-300, delay-500
118811
+
118812
+ **Scale**
118813
+
118814
+ Classes: scale-0, scale-50, scale-75, scale-90, scale-95, scale-100, scale-105, scale-110, scale-125, scale-150
118815
+
118816
+ **Rotate**
118817
+
118818
+ Classes: rotate-0, rotate-45, rotate-90, rotate-180
118819
+
118820
+ **Translate X**
118821
+
118822
+ Classes: translate-x-0, translate-x-1, translate-x-2, translate-x-4, translate-x-8
118823
+
118824
+ **Translate Y**
118825
+
118826
+ Classes: translate-y-0, translate-y-1, translate-y-2, translate-y-4, translate-y-8
118827
+
118828
+ **Skew**
118829
+
118830
+ Classes: skew-x-0, skew-x-3, skew-x-6, skew-y-0, skew-y-3, skew-y-6
118831
+
118832
+ **Overflow**
118833
+
118834
+ Classes: overflow-hidden, overflow-visible, overflow-scroll, overflow-auto
118835
+
118836
+ **Opacity**
118837
+
118838
+ Classes:
118839
+
118840
+ | Class | Color |
118841
+ | ------------ | ------------- |
118842
+ | '.opacity-0' | opacity: 0 |
118843
+ | '.opacity-2' | opacity: 0.02 |
118844
+ | '.opacity-4' | opacity: 0.04 |
118845
+ | '.opacity-5' | opacity: 0.05 |
118846
+ | '.opacity-6' | opacity: 0.06 |
118847
+ | '.opacity-8' | opacity: 0.07 |
118848
+ | '.opacity-10' | opacity: 0.1 |
118849
+ | '.opacity-12' | opacity: 0.12 |
118850
+ | '.opacity-15' | opacity: 0.15 |
118851
+ | '.opacity-20' | opacity: 0.2 |
118852
+ | '.opacity-25' | opacity: 0.25 |
118853
+ | '.opacity-30' | opacity: 0.3 |
118854
+ | '.opacity-35' | opacity: 0.35 |
118855
+ | '.opacity-40' | opacity: 0.4 |
118856
+ | '.opacity-45' | opacity: 0.45 |
118857
+ | '.opacity-50' | opacity: 0.5 |
118858
+ | '.opacity-55' | opacity: 0.55 |
118859
+ | '.opacity-60' | opacity: 0.6 |
118860
+ | '.opacity-65' | opacity: 0.65 |
118861
+ | '.opacity-70' | opacity: 0.7 |
118862
+ | '.opacity-75' | opacity: 0.75 |
118863
+ | '.opacity-80' | opacity: 0.8 |
118864
+ | '.opacity-85' | opacity: 0.85 |
118865
+ | '.opacity-90' | opacity: 0.9 |
118866
+ | '.opacity-95' | opacity: 0.95 |
118867
+ | '.opacity-100' | opacity: 1 |
118868
+
118869
+ **Animation keyframes**
118870
+
118871
+ Classes: spin, ping, pulse, bounce
118872
+ ` + `
118785
118873
  ---
118786
118874
  ` + `
118787
118875
  ## Common Patterns
@@ -119240,6 +119328,180 @@ Remember: The goal is to create code blocks that are **self-contained**, **confl
119240
119328
  </div>
119241
119329
  `;
119242
119330
 
119331
+ const contextDesignGuide$1 = `
119332
+ # Design Directive:
119333
+
119334
+ ## Purpose
119335
+
119336
+ This guide complements the Content Framework documentation. It explains how to create **diverse, creative designs** that go beyond default aesthetics while strictly adhering to framework utility classes.
119337
+
119338
+ ## Core Philosophy: Design Freedom Within Constraints
119339
+
119340
+ The frameworks provide utility classes for structure and typography. To create rich, varied designs:
119341
+
119342
+ 1. **Use framework classes** for all structural elements
119343
+ 2. **Add inline styles** for colors, backgrounds, gradients, shadows, transforms, and animations
119344
+ 3. **Create embedded styles** in '<style>...</style>' blocks at the end when needed for animations, transitions, or reusable patterns
119345
+
119346
+ **Example <style>: When needed for animations, transitions, or reusable patterns**
119347
+
119348
+ <div class="row">
119349
+ <div class="column">
119350
+
119351
+ <div class="featured-image">
119352
+ <img src="https://placehold.co/1600x700" alt="Featured Project">
119353
+ </div>
119354
+
119355
+ </div>
119356
+ </div>
119357
+
119358
+ <div class="row portfolio-row">
119359
+ <div class="column">
119360
+
119361
+ <div class="row-image">
119362
+ <img src="https://placehold.co/1200x900" alt="Digital Banking">
119363
+ </div>
119364
+
119365
+ </div>
119366
+ <div class="column">
119367
+
119368
+ <!-- Content -->
119369
+
119370
+ </div>
119371
+ </div>
119372
+
119373
+ <div class="row">
119374
+
119375
+ <div class="column">
119376
+
119377
+ <div class="p-12 bg-gray-50 hover-lift">
119378
+ <p class="size-18 leading-17 text-black pb-8">The level of professionalism and expertise demonstrated throughout the project was outstanding. Highly recommend to anyone looking for quality work.</p>
119379
+ <p class="size-14 font-semibold text-black pb-1">Michael Chen</p>
119380
+ <p class="size-13 text-gray-600 tracking-wide">Founder, Innovation Labs</p>
119381
+ </div>
119382
+
119383
+ </div>
119384
+ <div class="column">
119385
+
119386
+ <!-- Content -->
119387
+
119388
+ </div>
119389
+ </div>
119390
+ <style>
119391
+ /* Featured image */
119392
+
119393
+ .featured-image {
119394
+ width: 100%;
119395
+ aspect-ratio: 21/9;
119396
+ overflow: hidden;
119397
+ position: relative;
119398
+ background: #fafafa;
119399
+ }
119400
+
119401
+ .featured-image img {
119402
+ width: 100%;
119403
+ height: 100%;
119404
+ object-fit: cover;
119405
+ transition: transform 2s cubic-bezier(0.4, 0, 0.2, 1);
119406
+ }
119407
+
119408
+ .featured-image:hover img {
119409
+ transform: scale(1.03);
119410
+ }
119411
+
119412
+ /* Row image */
119413
+
119414
+ .row-image {
119415
+ width: 100%;
119416
+ aspect-ratio: 4/3;
119417
+ overflow: hidden;
119418
+ position: relative;
119419
+ background: #fafafa;
119420
+ }
119421
+
119422
+ .row-image img {
119423
+ width: 100%;
119424
+ height: 100%;
119425
+ object-fit: cover;
119426
+ transition: transform 1.4s cubic-bezier(0.4, 0, 0.2, 1);
119427
+ }
119428
+
119429
+ .portfolio-row:hover .row-image img {
119430
+ transform: scale(1.05);
119431
+ }
119432
+
119433
+ /* Smooth hover animations */
119434
+ .hover-lift {
119435
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
119436
+ }
119437
+
119438
+ .hover-lift:hover {
119439
+ transform: translateY(-4px);
119440
+ }
119441
+ </style>
119442
+
119443
+
119444
+ ## Key Aesthetic Philosophy:
119445
+ **Swiss/Minimalist meets Portfolio Presentation** - Clean, grid-based, information-focused design where content hierarchy is created through scale, weight, and spacing rather than color or decoration. Every element serves a functional purpose. Photography is professional and high-quality. Typography creates drama through size contrast. The overall feel is sophisticated, professional, and timeless.
119446
+
119447
+ ## Design Characteristics:
119448
+
119449
+ ### Typography Treatment
119450
+ - **Extreme scale contrast**: Massive headlines (80px-140px) paired with tiny metadata text
119451
+ - **Version/number typography**: Large numbers (like "1.1", "2.4", "2027") used as design elements
119452
+ - **Mix of weights**: Bold project names with light secondary information
119453
+
119454
+ ### Layout Patterns
119455
+ - **Horizontal information bars**: Thin lines (1px-2px) separating sections or containing metadata
119456
+ - **Asymmetric content placement**: Image on left (40-45%), text/info on right (55-60%)
119457
+ - **Card-based presentation**: Content contained in white cards floating on gray backgrounds
119458
+ - **Top metadata strips**: Small text in corners (studio name, project type, year)
119459
+ - **Multi-column text blocks**: Body copy split into 2-3 narrow columns for readability
119460
+
119461
+ ### Image Treatment
119462
+ - **Photography as hero**: Large, high-quality images dominating the layout (not decorative)
119463
+ - **Clean crops**: Images in rectangular containers, no fancy shapes
119464
+ - **Generous padding**: White space around images, never cramping them
119465
+ - **Grid systems for galleries**: Even-sized thumbnails in rows (4x2, 4x4 grids)
119466
+ - **Product-on-white aesthetic**: Clean product photography on pure white backgrounds
119467
+
119468
+ ### Color & Background
119469
+ - **Pure white dominant**: Clean #ffffff backgrounds, not cream or off-white
119470
+ - **Minimal color usage**: Mostly black text on white, with occasional single accent color
119471
+ - **Light gray backgrounds**: #f5f5f5 or #e5e5e5 for page backgrounds behind white cards
119472
+ - **Strategic black sections**: Full black backgrounds for contrast moments
119473
+ - **Accent color blocks**: Small pops of color (red, orange) used sparingly as highlights
119474
+
119475
+ ### Information Architecture
119476
+ - **Numbered lists**: "1. OVERVIEW", "2. SERVICES", etc. as section headers
119477
+ - **Metadata in lines**: "Client Name | Project Type | Year" separated by pipes or lines
119478
+ - **Small label categories**: Uppercase 11px labels like "SPECIALISED IN", "CONTACT", "ABOUT"
119479
+ - **Horizontal dividing lines**: Thin rules (1px) creating visual sections
119480
+ - **List-style information**: Stacked items with consistent spacing and alignment
119481
+
119482
+ ### Spatial Organization
119483
+ - **Air and breathing room**: Generous margins and padding throughout
119484
+ - **Contained sections**: Content lives in defined rectangular areas
119485
+ - **Aligned grids**: Everything aligns to invisible grid lines
119486
+ - **Consistent gaps**: Equal spacing between elements (20px, 30px, 40px)
119487
+ - **Edge-to-edge in black sections**: Dark sections can be full-bleed
119488
+
119489
+ ### Professional Polish
119490
+ - **Precise alignment**: Everything lines up perfectly (left edges, baselines, top edges)
119491
+ - **Consistent typography system**: Limited font sizes used repeatedly (12px, 14px, 16px, 32px, 80px, 120px)
119492
+ - **No decorative elements**: Everything serves a purpose, nothing ornamental
119493
+ - **Clean hover states**: Understated interactions, not flashy
119494
+
119495
+ ### What to AVOID:
119496
+ - ❌ Gradients (use solid colors only)
119497
+ - ❌ Rounded corners on everything (keep rectangular, maybe subtle 4-8px radius on cards)
119498
+ - ❌ Drop shadows (use very subtle if any, like 0 2px 8px rgba(0,0,0,0.04))
119499
+ - ❌ Overly decorative fonts (stick to clean system-ui)
119500
+ - ❌ Busy patterns or textures
119501
+ - ❌ Too many accent colors (pick one, use sparingly)
119502
+ - ❌ Cramped spacing (always err on the side of more whitespace)
119503
+ `;
119504
+
119243
119505
  class ContentBuilder {
119244
119506
  constructor(opts = {}) {
119245
119507
  let defaults = {
@@ -120526,7 +120788,7 @@ class ContentBuilder {
120526
120788
  this.ShortcutInfo = new ShortcutInfo(this);
120527
120789
  if (!this.opts.isContentBox) {
120528
120790
  this.codechat = new CodeChat$1({
120529
- context: contextContentFramework$1 + contextCodeBlock$1
120791
+ context: contextContentFramework$1 + contextCodeBlock$1 + contextDesignGuide$1
120530
120792
  }, this);
120531
120793
  if (this.startAIAssistant) {
120532
120794
  this.openAIAssistant();
@@ -143387,6 +143649,9 @@ class CodeChat {
143387
143649
  }
143388
143650
 
143389
143651
  this.codeModels = [{
143652
+ id: 'anthropic/claude-opus-4.5',
143653
+ label: 'Claude Opus 4.5'
143654
+ }, {
143390
143655
  id: 'google/gemini-3-pro-preview',
143391
143656
  label: 'Google Gemini 3 Pro Preview'
143392
143657
  }, {
@@ -145414,6 +145679,10 @@ ${this.builder.html()}
145414
145679
  TASK: ${task.description}
145415
145680
 
145416
145681
  IMPORTANT: Follow the Best Practices in Content framework.
145682
+ ${this.builder.editor ? `CRITICAL: This project uses the Content.css and Box framework, NOT Tailwind. ONLY use classes explicitly documented in this framework guide.
145683
+ DO NOT use Tailwind classes like gap-4, w-1/2, top-4, hover:scale-120, etc.` : `CRITICAL: This project uses the Content.css framework, NOT Tailwind. ONLY use classes explicitly documented in this framework guide.
145684
+ DO NOT use Tailwind classes like gap-4, w-1/2, top-4, hover:scale-120, etc.`}
145685
+ For flexibility, you can use inline styles or embedded <style> at the end of the generated HTML.
145417
145686
 
145418
145687
  ${imageContext}
145419
145688
  ${chatContext}
@@ -146311,6 +146580,87 @@ Use grayscale for minimalist design.
146311
146580
 
146312
146581
  > **Editorial Style:** Stick to black, white, and grays for a clean, minimalist aesthetic. Use color sparingly for accents.
146313
146582
 
146583
+ ` + `
146584
+
146585
+ ### Animation
146586
+
146587
+ **Transition**
146588
+
146589
+ Classes: transition-none, transition, transition-colors, transition-opacity, transition-shadow, transition-transform, transition-all
146590
+
146591
+ **Duration**
146592
+
146593
+ Classes: duration-75, duration-100, duration-150, duration-200, duration-300, duration-500, duration-700, duration-1000
146594
+
146595
+ **Timing**
146596
+
146597
+ Classes: ease-linear, ease-in, ease-out, ease-in-out
146598
+
146599
+ **Delay**
146600
+
146601
+ Classes: delay-75, delay-100, delay-150, delay-200, delay-300, delay-500
146602
+
146603
+ **Scale**
146604
+
146605
+ Classes: scale-0, scale-50, scale-75, scale-90, scale-95, scale-100, scale-105, scale-110, scale-125, scale-150
146606
+
146607
+ **Rotate**
146608
+
146609
+ Classes: rotate-0, rotate-45, rotate-90, rotate-180
146610
+
146611
+ **Translate X**
146612
+
146613
+ Classes: translate-x-0, translate-x-1, translate-x-2, translate-x-4, translate-x-8
146614
+
146615
+ **Translate Y**
146616
+
146617
+ Classes: translate-y-0, translate-y-1, translate-y-2, translate-y-4, translate-y-8
146618
+
146619
+ **Skew**
146620
+
146621
+ Classes: skew-x-0, skew-x-3, skew-x-6, skew-y-0, skew-y-3, skew-y-6
146622
+
146623
+ **Overflow**
146624
+
146625
+ Classes: overflow-hidden, overflow-visible, overflow-scroll, overflow-auto
146626
+
146627
+ **Opacity**
146628
+
146629
+ Classes:
146630
+
146631
+ | Class | Color |
146632
+ | ------------ | ------------- |
146633
+ | '.opacity-0' | opacity: 0 |
146634
+ | '.opacity-2' | opacity: 0.02 |
146635
+ | '.opacity-4' | opacity: 0.04 |
146636
+ | '.opacity-5' | opacity: 0.05 |
146637
+ | '.opacity-6' | opacity: 0.06 |
146638
+ | '.opacity-8' | opacity: 0.07 |
146639
+ | '.opacity-10' | opacity: 0.1 |
146640
+ | '.opacity-12' | opacity: 0.12 |
146641
+ | '.opacity-15' | opacity: 0.15 |
146642
+ | '.opacity-20' | opacity: 0.2 |
146643
+ | '.opacity-25' | opacity: 0.25 |
146644
+ | '.opacity-30' | opacity: 0.3 |
146645
+ | '.opacity-35' | opacity: 0.35 |
146646
+ | '.opacity-40' | opacity: 0.4 |
146647
+ | '.opacity-45' | opacity: 0.45 |
146648
+ | '.opacity-50' | opacity: 0.5 |
146649
+ | '.opacity-55' | opacity: 0.55 |
146650
+ | '.opacity-60' | opacity: 0.6 |
146651
+ | '.opacity-65' | opacity: 0.65 |
146652
+ | '.opacity-70' | opacity: 0.7 |
146653
+ | '.opacity-75' | opacity: 0.75 |
146654
+ | '.opacity-80' | opacity: 0.8 |
146655
+ | '.opacity-85' | opacity: 0.85 |
146656
+ | '.opacity-90' | opacity: 0.9 |
146657
+ | '.opacity-95' | opacity: 0.95 |
146658
+ | '.opacity-100' | opacity: 1 |
146659
+
146660
+ **Animation keyframes**
146661
+
146662
+ Classes: spin, ping, pulse, bounce
146663
+ ` + `
146314
146664
  ---
146315
146665
  ` + `
146316
146666
  ## Common Patterns
@@ -147355,45 +147705,109 @@ The frameworks provide utility classes for structure and typography. To create r
147355
147705
  <!-- Content -->
147356
147706
  </div>
147357
147707
 
147358
- <!-- More sections... -->
147708
+ <!-- Section 3 -->
147709
+ <div class="is-section is-box is-section-100 type-system-ui">
147710
+
147711
+ <div class="is-container leading-14 size-18 is-content-1100">
147712
+
147713
+ <div class="row">
147714
+ <div class="column">
147715
+
147716
+ <div class="featured-image">
147717
+ <img src="https://placehold.co/1600x700" alt="Featured Project">
147718
+ </div>
147719
+
147720
+ </div>
147721
+ </div>
147722
+
147723
+ <div class="row portfolio-row">
147724
+ <div class="column">
147725
+
147726
+ <div class="row-image">
147727
+ <img src="https://placehold.co/1200x900" alt="Digital Banking">
147728
+ </div>
147359
147729
 
147360
- <!-- Embedded styles if needed -->
147730
+ </div>
147731
+ <div class="column">
147732
+
147733
+ <!-- Content -->
147734
+
147735
+ </div>
147736
+ </div>
147737
+
147738
+ <div class="row">
147739
+
147740
+ <div class="column">
147741
+
147742
+ <div class="p-12 bg-gray-50 hover-lift">
147743
+ <p class="size-18 leading-17 text-black pb-8">The level of professionalism and expertise demonstrated throughout the project was outstanding. Highly recommend to anyone looking for quality work.</p>
147744
+ <p class="size-14 font-semibold text-black pb-1">Michael Chen</p>
147745
+ <p class="size-13 text-gray-600 tracking-wide">Founder, Innovation Labs</p>
147746
+ </div>
147747
+
147748
+ </div>
147749
+ <div class="column">
147750
+
147751
+ <!-- Content -->
147752
+
147753
+ </div>
147754
+ </div>
147755
+ </div>
147756
+ </div>
147757
+
147758
+ <!-- Embedded Styke -->
147361
147759
  <style>
147362
- @keyframes pulse {
147363
- 0%,
147364
- 100% {
147365
- opacity: 1;
147366
- transform: scale(1);
147367
- }
147368
- 50% {
147369
- opacity: 0.8;
147760
+ /* Subtle hover zoom for background images */
147761
+ .is-overlay-bg {
147762
+ transition: transform 1s ease;
147763
+ }
147764
+ .is-box:hover .is-overlay-bg {
147370
147765
  transform: scale(1.05);
147371
147766
  }
147372
- }
147373
147767
 
147374
- @keyframes scroll {
147375
- 0%,
147376
- 100% {
147377
- transform: translateY(0);
147378
- opacity: 0;
147768
+ /* Featured image */
147769
+ .featured-image {
147770
+ width: 100%;
147771
+ aspect-ratio: 21/9;
147772
+ overflow: hidden;
147773
+ position: relative;
147774
+ background: #fafafa;
147379
147775
  }
147380
- 50% {
147381
- opacity: 1;
147776
+ .featured-image img {
147777
+ width: 100%;
147778
+ height: 100%;
147779
+ object-fit: cover;
147780
+ transition: transform 2s cubic-bezier(0.4, 0, 0.2, 1);
147781
+ }
147782
+ .featured-image:hover img {
147783
+ transform: scale(1.03);
147382
147784
  }
147383
- }
147384
147785
 
147385
- @keyframes rotate {
147386
- from {
147387
- transform: rotate(0deg);
147786
+ /* Row image */
147787
+ .row-image {
147788
+ width: 100%;
147789
+ aspect-ratio: 4/3;
147790
+ overflow: hidden;
147791
+ position: relative;
147792
+ background: #fafafa;
147388
147793
  }
147389
- to {
147390
- transform: rotate(360deg);
147794
+ .row-image img {
147795
+ width: 100%;
147796
+ height: 100%;
147797
+ object-fit: cover;
147798
+ transition: transform 1.4s cubic-bezier(0.4, 0, 0.2, 1);
147799
+ }
147800
+ .portfolio-row:hover .row-image img {
147801
+ transform: scale(1.05);
147391
147802
  }
147392
- }
147393
147803
 
147394
- .custom-hover-effect {
147395
- transition: all 0.3s ease;
147396
- }
147804
+ /* Smooth hover animations */
147805
+ .hover-lift {
147806
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
147807
+ }
147808
+ .hover-lift:hover {
147809
+ transform: translateY(-4px);
147810
+ }
147397
147811
  </style>
147398
147812
 
147399
147813
 
@@ -147425,9 +147839,9 @@ The frameworks provide utility classes for structure and typography. To create r
147425
147839
  - **Pure white dominant**: Clean #ffffff backgrounds, not cream or off-white
147426
147840
  - **Minimal color usage**: Mostly black text on white, with occasional single accent color
147427
147841
  - **Light gray backgrounds**: #f5f5f5 or #e5e5e5 for page backgrounds behind white cards
147428
- - **Strategic black sections**: Full black backgrounds for contrast moments
147429
- - **Accent color blocks**: Small pops of color (red, orange) used sparingly as highlights
147430
-
147842
+ ` + // - **Strategic black sections**: Full black backgrounds for contrast moments
147843
+ // - **Accent color blocks**: Small pops of color (red, orange) used sparingly as highlights
147844
+ `
147431
147845
  ### Information Architecture
147432
147846
  - **Numbered lists**: "1. OVERVIEW", "2. SERVICES", etc. as section headers
147433
147847
  - **Metadata in lines**: "Client Name | Project Type | Year" separated by pipes or lines
@@ -157480,7 +157894,8 @@ Add an image for each feature.`, 'Create a new block showcasing a photo gallery
157480
157894
  }
157481
157895
  });
157482
157896
  arrSections.forEach(section => {
157483
- // Code Blocks Handling
157897
+ if (!section.classList.contains('is-section')) return; // Code Blocks Handling
157898
+
157484
157899
  let codeBlocks = section.querySelectorAll('[data-html]');
157485
157900
  codeBlocks.forEach(element => {
157486
157901
  let html = decodeURIComponent(element.getAttribute('data-html')); // Original code is stored in data-html attribute
@@ -158317,6 +158732,8 @@ Add an image for each feature.`, 'Create a new block showcasing a photo gallery
158317
158732
  // Add missing is-box class for full width (non splitted) section
158318
158733
  if (!section.querySelector('.is-box')) {
158319
158734
  section.classList.add('is-box');
158735
+ } else {
158736
+ section.classList.remove('is-box');
158320
158737
  }
158321
158738
 
158322
158739
  const containers = section.querySelectorAll('.is-container');