
 /* Reset address browser italic */
 address {
     font-style: normal;
 }

 .container {
     width: 90%;
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 15px;
 }

 .section-padding {
     padding: 80px 0;
 }

 .text-center {
     text-align: center;
 }

 .text-white {
     color: var(--white);
 }

 .bg-grey {
     background-color: var(--bg-grey);
 }

 .icon {
     width: 24px;
     height: 24px;
     display: inline-block;
     vertical-align: middle;
 }

 /* Buttons */
 .btn {
     display: inline-block;
     background-color: var(--action-red);
     color: var(--white);
     padding: 12px 30px;
     text-transform: uppercase;
     font-weight: 700;
     border-radius: 4px;
     border: 2px solid var(--action-red);
     cursor: pointer;
     font-size: var(--fs-sm);
     font-family: var(--font-primary);
     transition: all 0.3s;
 }

 .btn:hover {
     background-color: #a00001;
     border-color: #a00001;
 }

 .btn-green {
     background-color: var(--nature-green);
     border: 2px solid var(--nature-green);
     color: var(--white);
     padding: 12px 30px;
     text-transform: uppercase;
     font-weight: 700;
     border-radius: 4px;
     cursor: pointer;
     font-family: var(--font-primary);
     transition: 0.3s;
     display: inline-block;
 }

 .btn-green:hover {
     background-color: #4a6b38;
     border-color: #4a6b38;
 }

 /* Section Title */
 .section-title {
     font-size: var(--fs-4xl);
     font-weight: 700;
     color: var(--primary-blue);
     margin-bottom: 1rem;
     position: relative;
     display: inline-block;
 }

 .section-title::after {
     content: '';
     display: block;
     width: 100%;
     height: 4px;
     background-color: var(--accent-yellow);
     margin-top: 5px;
 }

 .section-subtitle {
     font-size: var(--fs-lg);
     font-weight: 300;
     color: var(--text-light);
     max-width: 750px;
     margin: 0 auto 50px auto;
 }

 /* Accessibility */
 a:focus-visible,
 button:focus-visible {
     outline: 2px dashed var(--secondary-blue);
     outline-offset: 4px;
 }





 /* =============================================
           4. PAGE SECTIONS
        ============================================= */

 /* Hero */
 .pl-hero {
     position: relative;
     height: 70vh;
     min-height: 500px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     color: var(--white);
     background-image: linear-gradient(rgba(33, 29, 82, 0.85), rgba(33, 29, 82, 0.7)),
         url('https://images.unsplash.com/photo-1606756627883-9b2447990796?q=80&w=1920&auto=format&fit=crop');
     background-size: cover;
     background-position: center;
 }

 .pl-hero h1 {
     font-size: var(--fs-5xl);
     font-weight: 700;
     margin-bottom: 10px;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 .pl-hero-sub {
     font-size: var(--fs-2xl);
     color: var(--accent-yellow);
     font-weight: 700;
     margin-bottom: 20px;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 .pl-hero p {
     font-size: var(--fs-xl);
     max-width: 800px;
     margin: 0 auto 40px auto;
     opacity: 0.95;
     font-weight: 300;
 }

 /* Business Models */
 .models-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 40px;
 }

 @media (min-width: 900px) {
     .models-grid {
         grid-template-columns: 1fr 1fr;
     }
 }

 .model-card {
     background: var(--white);
     border-radius: 8px;
     padding: 40px;
     transition: 0.3s;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
     display: flex;
     flex-direction: column;
     height: 100%;
     border-top: 5px solid transparent;
 }

 .model-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
 }

 .model-pl {
     border-top-color: var(--secondary-blue);
 }

 .model-pl .model-icon {
     background-color: var(--secondary-blue);
 }

 .model-custom {
     border-top-color: var(--brand-orange);
 }

 .model-custom .model-icon {
     background-color: var(--brand-orange);
 }

 .model-icon {
     width: 70px;
     height: 70px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 25px;
     color: white;
 }

 .model-icon svg {
     width: 35px;
     height: 35px;
     fill: white;
 }

 .model-card h3 {
     color: var(--primary-blue);
     font-size: var(--fs-2xl);
     font-weight: 700;
     margin-bottom: 15px;
 }

 .model-desc {
     color: var(--text-light);
     margin-bottom: 25px;
     font-size: var(--fs-lg);
     flex-grow: 1;
 }

 .check-list li {
     position: relative;
     padding-left: 30px;
     margin-bottom: 12px;
     font-weight: 600;
     color: var(--text-dark);
 }

 .check-list li::before {
     content: '✓';
     position: absolute;
     left: 0;
     color: var(--nature-green);
     font-weight: 800;
     font-size: var(--fs-lg);
 }

 /* Packaging Library */
 .pack-category {
     margin-bottom: 50px;
 }

 .pack-cat-title {
     font-size: var(--fs-xl);
     font-weight: 700;
     color: var(--primary-blue);
     border-bottom: 2px solid #ddd;
     padding-bottom: 10px;
     margin-bottom: 25px;
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .pack-grid {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 20px;
 }

 .pack-item {
     background: var(--white);
     padding: 20px;
     border-radius: 8px;
     text-align: center;
     border-bottom: 4px solid transparent;
     transition: 0.3s;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
     flex: 0 1 calc(50% - 20px);
     max-width: 280px;
 }

 @media (min-width: 900px) {
     .pack-item {
         flex: 0 1 calc(25% - 20px);
     }
 }

 .pack-item:hover {
     transform: translateY(-3px);
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
 }

 .cat-retail .pack-item {
     border-bottom-color: var(--brand-orange);
 }

 .cat-horeca .pack-item {
     border-bottom-color: var(--nature-green);
 }

 .pack-icon {
     margin-bottom: 15px;
     height: 60px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .pack-icon svg {
     height: 50px;
     width: auto;
     fill: var(--primary-blue);
     transition: transform 0.3s, fill 0.3s;
 }

 .cat-retail .pack-item:hover .pack-icon svg {
     fill: var(--brand-orange);
 }

 .cat-horeca .pack-item:hover .pack-icon svg {
     fill: var(--nature-green);
 }

 .pack-item:hover .pack-icon svg {
     transform: scale(1.1);
 }

 .pack-name {
     font-weight: 700;
     color: var(--text-dark);
     font-size: var(--fs-sm);
 }

 .pack-size {
     font-size: var(--fs-xs);
     color: var(--text-light);
     margin-top: 5px;
 }

 /* Development Process */
 .process-container {
     position: relative;
     padding: 20px 0;
 }

 .process-timeline {
     display: flex;
     flex-direction: column;
     gap: 40px;
 }

 @media (min-width: 900px) {
     .process-timeline {
         flex-direction: row;
         justify-content: space-between;
         position: relative;
     }

     .process-timeline::before {
         content: '';
         position: absolute;
         top: 30px;
         left: 50px;
         right: 50px;
         height: 4px;
         background: linear-gradient(to right, var(--secondary-blue), var(--brand-orange), var(--action-red), var(--nature-green), var(--primary-blue));
         z-index: 0;
     }
 }

 .proc-step {
     position: relative;
     z-index: 1;
     flex: 1;
     text-align: center;
     background: var(--white);
 }

 @media (max-width: 899px) {
     .proc-step {
         display: flex;
         text-align: left;
         align-items: flex-start;
         gap: 20px;
     }
 }

 .proc-icon-circle {
     width: 65px;
     height: 65px;
     color: var(--white);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 20px auto;
     border: 5px solid var(--white);
     flex-shrink: 0;
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
 }

 @media (max-width: 899px) {
     .proc-icon-circle {
         margin: 0;
     }
 }

 .step-1 .proc-icon-circle {
     background-color: var(--secondary-blue);
 }

 .step-2 .proc-icon-circle {
     background-color: var(--brand-orange);
 }

 .step-3 .proc-icon-circle {
     background-color: var(--action-red);
 }

 .step-4 .proc-icon-circle {
     background-color: var(--nature-green);
 }

 .step-5 .proc-icon-circle {
     background-color: var(--primary-blue);
 }

 .proc-icon-circle svg {
     width: 30px;
     height: 30px;
     fill: var(--white);
 }

 .proc-content h4 {
     color: var(--primary-blue);
     margin-bottom: 10px;
     font-size: var(--fs-lg);
     font-weight: 700;
 }

 .proc-content p {
     font-size: var(--fs-sm);
     color: var(--text-light);
     line-height: 1.5;
 }

 /* Product Range */
 .range-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 30px;
 }

 @media (min-width: 768px) {
     .range-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media (min-width: 1024px) {
     .range-grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 .category-card {
     background: var(--white);
     border-radius: 8px;
     overflow: hidden;
     box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
     transition: 0.3s;
     display: flex;
     flex-direction: column;
     text-align: left;
     height: 100%;
 }

 .category-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
 }

 .cat-img-wrap {
     height: 200px;
     overflow: hidden;
 }

 .cat-img-wrap img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: 0.5s;
 }

 .category-card:hover .cat-img-wrap img {
     transform: scale(1.1);
 }

 .cat-content {
     padding: 25px;
     flex-grow: 1;
     display: flex;
     flex-direction: column;
 }

 .cat-title {
     font-size: var(--fs-xl);
     font-weight: 700;
     color: var(--primary-blue);
     margin-bottom: 10px;
 }

 .cat-desc {
     font-size: var(--fs-sm);
     color: var(--text-light);
     margin-bottom: 20px;
     flex-grow: 1;
 }

 .cat-link {
     color: var(--action-red);
     font-weight: 700;
     font-size: var(--fs-sm);
     display: flex;
     align-items: center;
     gap: 5px;
 }

 .cat-link:hover {
     gap: 10px;
 }

 




 /* FAB */
 .fab {
     position: fixed;
     bottom: 30px;
     right: 30px;
     width: 60px;
     height: 60px;
     background-color: var(--action-red);
     border-radius: 50%;
     display: flex;
     justify-content: center;
     align-items: center;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
     z-index: 2000;
     cursor: pointer;
     transition: transform 0.2s, opacity 0.3s, visibility 0.3s;
     opacity: 0;
     visibility: hidden;
     pointer-events: none;
 }

 .fab.visible {
     opacity: 1;
     visibility: visible;
     pointer-events: auto;
 }

 .fab:hover {
     transform: scale(1.1);
 }

 .fab svg {
     width: 24px;
     height: 24px;
     fill: white;
 }

