:root {
  --theme-primary-color: #2D5A3D;
  --theme-secondary-color: #6BA539;
  --theme-white: #ffffff;
  --theme-background-color: #F5F7F2;
  --theme-background-light: #f8f9fa;
  --theme-background-medium: #E8F5E8;
  --theme-text-color: #383C40;
  --theme-text-dark: #1a2e1a;
  --theme-text-medium: #6B7280;
  --theme-text-light: #9CA3AF;
  --theme-font-family: Poppins, sans-serif;
  --theme-heading-font-family: Nunito, sans-serif;
}

/* Base CSS */
/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800&family=Nunito:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap');

/* Standard Breakpoints (use these values in @media queries):
   xl: 1200px, lg: 992px, md: 768px, sm: 576px, xs: 480px */

/* CSS Custom Properties (Variables) - Integrated with Theme Config */
:root {
  /* Theme Colors - These will be overridden by Theme config */
  --white-color: #ffffff;
  --primary-color: var(--theme-primary-color, #1e3d78);
  --secondary-color: var(--theme-secondary-color, #3D405B);
  --background-color: var(--theme-background-color, #F4F1DE);
  --section-bg-color: var(--theme-background-color, #F4F1DE);
  --custom-btn-bg-color: #F2CC8F;
  --custom-btn-bg-hover-color: #E07A5F;
  --dark-color: #000000;
  --p-color: #717275;
  --link-hover-color: #F2CC8F;

  /* Text colors from theme */
  --text-dark: var(--theme-text-dark, #1A1A1A);
  --text-medium: var(--theme-text-medium, #6B6B6B);
  --text-light: var(--theme-text-light, #8A8A8A);

  /* Button and border colors */
  --primary-dark: #1E3D2A;
  --border-color: #e5e5e5;
  --error-color: #dc2626;
  --surface-color: #f9f9f9;
  --phone-frame-color: #1a1a1a;
  --phone-frame-highlight: #2a2a2a;
  --primary-color-light: rgba(45, 90, 61, 0.1);

  /* Typography */
  --body-font-family: 'DM Sans', sans-serif;
  --font-family: var(--body-font-family);
  --heading-font-family: var(--body-font-family);

  /* Font Sizes */
  --h1-font-size: 42px;
  --h2-font-size: 36px;
  --h3-font-size: 28px;
  --h4-font-size: 24px;
  --h5-font-size: 22px;
  --h6-font-size: 20px;
  --p-font-size: 18px;
  --menu-font-size: 16px;
  --btn-font-size: 14px;
  --copyright-font-size: 12px;

  /* Border Radius */
  --border-radius-large: 100px;
  --border-radius-medium: 20px;
  --border-radius-small: 10px;

  /* Font Weights */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;

  /* Text Color */
  --text-color: var(--dark-color);
}

/* Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-family: var(--font-family, sans-serif);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body {
  background-color: var(--background-color, #fff);
  color: var(--text-color, #333);
  font-family: var(--body-font-family);
}

/* Typography */
h2,
h3,
h4,
h5,
h6 {
  color: var(--dark-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--heading-font-family, var(--font-family, sans-serif));
  font-weight: var(--font-weight-medium);
  letter-spacing: -1px;
  line-height: 1.2;
}

h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--font-weight-bold);
}

h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight-bold);
}

h3 {
  font-size: var(--h3-font-size);
}

h4 {
  font-size: var(--h4-font-size);
}

h5 {
  font-size: var(--h5-font-size);
}

h6 {
  font-size: var(--h6-font-size);
}

p {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-normal);
  overflow-wrap: break-word;
}

ul li {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-normal);
}

a,
button {
  touch-action: manipulation;
  transition: all 0.3s;
}

a {
  display: inline-block;
  color: var(--secondary-color);
  text-decoration: none;
}

a:hover {
  color: var(--link-hover-color);
}

b,
strong {
  font-weight: var(--font-weight-bold);
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

/* Global Section Styles */
.section-bg {
  background-color: var(--section-bg-color);
}

.section-padding {
  padding-top: 100px;
  padding-bottom: 100px;
}

.section-overlay {
  content: "";
  background: rgba(0, 0, 0, 0) linear-gradient(rgba(39, 48, 83, 0.01) 0%, rgb(39, 48, 83) 100%) repeat scroll 0% 0%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

::selection {
  background-color: var(--primary-color);
  color: var(--white-color);
}

/* Global Button Styles */
.custom-btn {
  background: var(--custom-btn-bg-color);
  border: 2px solid transparent;
  border-radius: var(--border-radius-large);
  color: var(--white-color);
  font-size: var(--btn-font-size);
  font-weight: var(--font-weight-bold);
  line-height: normal;
  transition: all 0.3s;
  padding: 10px 20px;
}

.custom-btn:hover {
  background: var(--custom-btn-bg-hover-color);
  color: var(--white-color);
}

.custom-border-btn {
  background: transparent;
  border: 2px solid var(--custom-btn-bg-color);
  color: var(--custom-btn-bg-color);
}

.custom-border-btn:hover {
  background: var(--custom-btn-bg-color);
  border-color: transparent;
  color: var(--white-color);
}

.custom-btn-bg-white {
  border-color: var(--white-color);
  color: var(--white-color);
}

.custom-btn-group .link {
  color: var(--white-color);
  font-weight: var(--font-weight-medium);
}

.custom-btn-group .link:hover {
  color: var(--link-hover-color);
}

/* Global Form Styles */
.custom-form .form-control {
  border-radius: var(--border-radius-large);
  border-width: 2px;
  box-shadow: none;
  color: var(--p-color);
  margin-bottom: 20px;
  padding: 10px;
  padding-left: 20px;
  outline: none;
}

.custom-form .form-control:focus,
.custom-form .form-control:hover {
  border-color: var(--dark-color);
}

.form-floating>label {
  padding-left: 20px;
}

.custom-form button[type="submit"] {
  background: var(--custom-btn-bg-color);
  border: none;
  border-radius: var(--border-radius-large);
  color: var(--white-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-medium);
  transition: all 0.3s;
  margin-bottom: 0;
  padding-left: 10px;
}

.custom-form button[type="submit"]:hover,
.custom-form button[type="submit"]:focus {
  background: var(--custom-btn-bg-hover-color);
  border-color: transparent;
}

/* Responsive Typography */
@media screen and (max-width: 992px) {
  h1 {
    font-size: 36px;
  }

  h2 {
    font-size: 28px;
  }

  h3 {
    font-size: 22px;
  }

  h4 {
    font-size: 20px;
  }

  h5 {
    font-size: 18px;
  }

  h6 {
    font-size: 16px;
  }

  .section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .hero-section {
    position: relative;
    top: 82px;
    margin-bottom: 82px;
  }

  .events-listing-section {
    margin-bottom: 50px;
  }

  .events-detail-section .custom-block-info {
    padding: 40px;
  }

  .events-detail-info {
    padding: 35px 25px;
  }

  .contact-info-item {
    width: 60%;
  }

  .events-detail-section .contact-info-item {
    width: 70%;
  }

  .section-bg-image {
    margin-bottom: 0;
  }

  .section-bg-image-block {
    padding: 30px;
  }

  .site-footer {
    padding-top: 20px;
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 480px) {
  .navbar-brand {
    font-size: var(--p-font-size);
  }

  .navbar-brand-icon {
    width: 30px;
    height: 30px;
  }

  .navbar-brand-icon::after {
    top: 5px;
  }

  .section-bg-image-block {
    padding: 30px;
  }

  .contact-info-item {
    width: 72%;
  }

  .custom-btn {
    font-size: 12px;
    padding: 4px 12px;
  }
}


/* Component CSS: pakbon */
/* Pakbon Generator Component Styles */

.pakbon {
    min-height: 100vh;
    padding: 3rem 1.5rem;
}

.pakbon-container {
    max-width: 800px;
    margin: 0 auto;
}

.pakbon-title {
    text-align: center;
    margin-bottom: 0.75rem;
    font-size: 2.75rem;
    font-weight: 700;
    color: var(--text-dark);
    letter-spacing: -0.03em;
}

.pakbon-subtitle {
    text-align: center;
    margin-bottom: 1.5rem;
    color: var(--text-medium);
    font-size: 1.125rem;
}

/* Tabs */
.pakbon-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid var(--border-color, #E4E7EB);
}

.pakbon-tab {
    background: none !important;
    border: none !important;
    padding: 0.875rem 1.5rem !important;
    font-size: 1rem;
    font-weight: 500;
    color: var(--text-medium, #6B7280) !important;
    cursor: pointer;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
    width: auto !important;
}

.pakbon-tab:hover {
    color: var(--text-dark) !important;
    transform: none !important;
    box-shadow: none !important;
}

.pakbon-tab.active {
    color: var(--primary-color) !important;
    border-bottom-color: var(--primary-color) !important;
    font-weight: 600;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.pakbon-card {
    background: var(--white-color, #ffffff);
    border-radius: 16px;
    padding: 2rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--border-color, #E4E7EB);
    box-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
}

.pakbon-card.hidden {
    display: none;
}

.pakbon label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.9375rem;
    color: var(--text-dark);
}

.pakbon textarea,
.pakbon input[type="text"],
.pakbon input[type="number"] {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 1px solid var(--border-color, #E4E7EB);
    border-radius: 10px;
    background: var(--background-color, #F5F6F7);
    color: var(--text-color, #383C40);
    font-size: 1rem;
    margin-bottom: 1.25rem;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.pakbon textarea {
    min-height: 160px;
    resize: vertical;
}

.pakbon textarea::placeholder {
    color: var(--text-light, #9CA3AF);
    white-space: pre-line;
}

.pakbon input:focus,
.pakbon textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 10%, transparent);
    background: var(--white-color, #ffffff);
}

/* Buttons */
.pakbon button:not(.remove-btn):not(.add-row-btn):not(.secondary-btn):not(.add-klant-btn):not(.pakbon-tab):not(.next-order-btn):not(.search-select-option) {
    background: var(--primary-color, #2534DE);
    color: white;
    border: none;
    padding: 1rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
    width: 100%;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}

.pakbon button:not(.remove-btn):not(.add-row-btn):not(.secondary-btn):not(.add-klant-btn):not(.pakbon-tab):not(.next-order-btn):not(.search-select-option):hover {
    background: var(--primary-color-dark, var(--primary-color));
    transform: translateY(-1px);
    box-shadow: 0 4px 12px var(--primary-color-shadow, rgba(0, 0, 0, 0.2));
}

.pakbon button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

.secondary-btn {
    background: transparent !important;
    color: var(--text-medium, #6B7280) !important;
    border: 1px solid var(--border-color, #E4E7EB) !important;
    padding: 1rem 2rem;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.2s;
}

.secondary-btn:hover {
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}

/* Status / Loading */
#status {
    text-align: center;
    padding: 1.5rem;
    color: var(--text-medium);
    display: none;
}

#status.loading {
    display: block;
}

.spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid var(--border-color, #E4E7EB);
    border-radius: 50%;
    border-top-color: var(--primary-color);
    animation: spin 0.8s linear infinite;
    margin-right: 0.625rem;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Error */
.error-card {
    display: none;
    color: var(--error-color, #b91c1c);
    background: var(--error-bg, #fef2f2) !important;
    border-color: var(--error-border, #fecaca) !important;
}

.error-card.show {
    display: block;
}

/* Results */
#resultsCard {
    display: none;
}

#resultsCard.show {
    display: block;
}

.result-header {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.result-header .field-group {
    flex: 1;
}

.result-header input {
    margin-bottom: 0;
}

/* Order Table */
.order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
}

.order-table th {
    text-align: left;
    padding: 0.75rem 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--text-medium);
    border-bottom: 2px solid var(--border-color, #E4E7EB);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.order-table td {
    padding: 0.375rem 0.25rem;
}

.order-table input {
    margin-bottom: 0 !important;
    padding: 0.625rem 0.75rem;
    font-size: 0.9375rem;
}

.order-table input[type="number"] {
    width: 80px;
    text-align: center;
}

.order-table th:last-child,
.order-table td:last-child {
    width: 40px;
    text-align: center;
}

.remove-btn {
    background: none;
    border: none;
    color: var(--text-light, #9CA3AF);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.25rem;
    line-height: 1;
    transition: color 0.2s;
}

.remove-btn:hover {
    color: var(--error-color, #b91c1c);
}

.add-row-btn {
    background: none !important;
    border: 1px dashed var(--border-color, #E4E7EB) !important;
    color: var(--text-medium, #6B7280) !important;
    padding: 0.75rem;
    width: 100%;
    font-size: 0.9375rem;
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 1.5rem;
    transition: border-color 0.2s, color 0.2s;
}

.add-row-btn:hover {
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}

/* Actions */
.actions {
    display: flex;
    gap: 1rem;
}

.actions .secondary-btn {
    flex: 0 0 auto;
}

.actions button:not(.secondary-btn) {
    flex: 1;
}

/* Snelstart Section */
.snelstart-section {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 2px solid var(--border-color, #E4E7EB);
}

.snelstart-section h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 1.5rem;
}

.snelstart-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.25rem;
}

.snelstart-field {
    flex: 1;
    min-width: 0;
}

.snelstart-section select {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 1px solid var(--border-color, #E4E7EB);
    border-radius: 10px;
    background: var(--background-color, #F5F6F7);
    color: var(--text-color, #383C40);
    font-size: 1rem;
    margin-bottom: 1.25rem;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
}

.snelstart-section select:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 10%, transparent);
    background-color: var(--white-color, #ffffff);
}

.snelstart-section button#snelstartBtn {
    margin-top: 0.5rem;
}

.snelstart-message {
    display: none;
    margin-top: 1rem;
    padding: 0.875rem 1rem;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 500;
}

.snelstart-success {
    color: var(--success-color, #166534);
    background: var(--success-bg, #f0fdf4);
    border: 1px solid var(--success-border, #bbf7d0);
}

.snelstart-error {
    color: var(--error-color, #b91c1c);
    background: var(--error-bg, #fef2f2);
    border: 1px solid var(--error-border, #fecaca);
}

/* New klant form */
.klant-input-row {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}

.klant-input-row .search-select {
    flex: 1;
    min-width: 0;
}

.add-klant-btn {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    padding: 0 !important;
    border: 1px solid var(--border-color, #E4E7EB) !important;
    border-radius: 10px;
    background: var(--background-color, #F5F6F7) !important;
    color: var(--primary-color) !important;
    font-size: 1.25rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.add-klant-btn:hover {
    border-color: var(--primary-color) !important;
    background: var(--white-color, #ffffff) !important;
    transform: none !important;
    box-shadow: none !important;
}

.new-klant-form {
    margin-top: 0.75rem;
    padding: 1rem;
    border: 1px solid var(--border-color, #E4E7EB);
    border-radius: 10px;
    background: var(--background-color, #F5F6F7);
}

.new-klant-form input {
    margin-bottom: 0.5rem !important;
}

.new-klant-row {
    display: flex;
    gap: 0.5rem;
}

.new-klant-row input {
    flex: 1;
    min-width: 0;
}

.new-klant-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.new-klant-actions button {
    flex: 1;
    padding: 0.625rem 1rem !important;
    font-size: 0.875rem !important;
}

/* Product BTW column */
.products-col-btw {
    flex: 0 0 80px;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--text-medium);
}

.product-btw-field {
    flex: 0 0 100px !important;
}

.product-btw-field select {
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--border-color, #E4E7EB);
    border-radius: 10px;
    background: var(--background-color, #F5F6F7);
    color: var(--text-color, #383C40);
    font-size: 0.9375rem;
    font-family: inherit;
    margin-bottom: 0 !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    padding-right: 2rem;
}

.product-btw-field select:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 10%, transparent);
    background-color: var(--white-color, #ffffff);
}

/* Readonly factuurnummer */
input[readonly] {
    background: var(--background-color, #F5F6F7) !important;
    color: var(--text-medium) !important;
    cursor: default;
}

/* Settings checkbox */
.pakbon input[type="checkbox"] {
    width: auto;
    margin-right: 0.5rem;
    vertical-align: middle;
}

/* Price column */
.order-table input.line-price {
    width: 100px;
    text-align: right;
}

/* Searchable dropdown */
.search-select {
    position: relative;
}

.search-select input[type="text"] {
    margin-bottom: 0;
}

.search-select-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--white-color, #ffffff);
    border: 1px solid var(--border-color, #E4E7EB);
    border-top: none;
    border-radius: 0 0 10px 10px;
    max-height: 240px;
    overflow-y: auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.search-select-dropdown.open {
    display: block;
}

.search-select-option {
    padding: 0.625rem 1rem;
    cursor: pointer;
    font-size: 0.9375rem;
    color: var(--text-color, #383C40);
    transition: background 0.15s;
}

.search-select-option:hover {
    background: var(--background-color, #F5F6F7);
    color: var(--primary-color);
}

/* Next order button inside success message */
.next-order-btn {
    display: inline-block;
    margin-left: 1rem;
    padding: 0.5rem 1rem !important;
    width: auto !important;
    font-size: 0.875rem !important;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    background: var(--primary-color) !important;
    color: white !important;
    border: none;
    vertical-align: middle;
    transition: background 0.2s, transform 0.2s;
}

.next-order-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px var(--primary-color-shadow, rgba(0, 0, 0, 0.2));
}

/* Products tab */
.products-header {
    margin-bottom: 1.5rem;
}

.products-header h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
}

.products-description {
    color: var(--text-medium);
    font-size: 0.9375rem;
}

/* Product cards (accordion) */
.product-card {
    margin-bottom: 0.5rem;
    border: 1px solid var(--border-color, #E4E7EB);
    border-radius: 10px;
    background: var(--white-color, #ffffff);
    overflow: hidden;
}

.product-card-summary {
    display: flex;
    align-items: center;
    padding: 0.875rem 1rem;
    cursor: pointer;
    gap: 0.75rem;
    transition: background 0.15s;
}

.product-card-summary:hover {
    background: var(--background-color, #F5F6F7);
}

.product-card-name {
    font-weight: 600;
    color: var(--text-dark);
    white-space: nowrap;
}

.product-card-info {
    flex: 1;
    color: var(--text-medium);
    font-size: 0.875rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-card-chevron {
    color: var(--text-light);
    font-size: 0.75rem;
    transition: transform 0.2s;
    flex-shrink: 0;
}

.product-card.collapsed .product-card-chevron {
    transform: rotate(-90deg);
}

.product-card-details {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--border-color, #E4E7EB);
}

.product-card.collapsed .product-card-details {
    display: none;
}

.product-card-header {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    padding-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.product-card-header .product-name {
    flex: 1;
    margin-bottom: 0 !important;
    font-weight: 600;
}

.product-card-header .product-btw {
    flex: 0 0 110px;
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--border-color, #E4E7EB);
    border-radius: 10px;
    background: var(--background-color, #F5F6F7);
    color: var(--text-color, #383C40);
    font-size: 0.875rem;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    padding-right: 2rem;
}

.product-card-header .remove-btn {
    flex-shrink: 0;
}

/* Size rows within a product card */
.product-sizes-list {
    margin-bottom: 0.5rem;
}

.product-size-row {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.375rem;
}

.product-size-row .size-name {
    flex: 1;
    margin-bottom: 0 !important;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
}

.product-size-row .size-price {
    flex: 0 0 100px;
    margin-bottom: 0 !important;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    text-align: right;
}

.product-size-row .remove-btn {
    font-size: 1.125rem;
}

.add-size-btn {
    background: none !important;
    border: none !important;
    color: var(--primary-color) !important;
    padding: 0.375rem 0 !important;
    font-size: 0.8125rem !important;
    font-weight: 500;
    cursor: pointer;
    width: auto !important;
    transition: opacity 0.2s;
}

.add-size-btn:hover {
    opacity: 0.7;
    transform: none !important;
    box-shadow: none !important;
}

/* History table */
.history-table {
    width: 100%;
    border-collapse: collapse;
}

.history-table th {
    text-align: left;
    padding: 0.75rem 0.5rem;
    font-weight: 600;
    font-size: 0.8125rem;
    color: var(--text-medium);
    border-bottom: 2px solid var(--border-color, #E4E7EB);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.history-table td {
    padding: 0.625rem 0.5rem;
    font-size: 0.9375rem;
    color: var(--text-color, #383C40);
    border-bottom: 1px solid var(--border-color, #E4E7EB);
}

.history-table tr:last-child td {
    border-bottom: none;
}

.history-table tr:hover td {
    background: var(--background-color, #F5F6F7);
}

/* Responsive */
@media screen and (max-width: 768px) {
    .pakbon {
        padding: 2rem 1rem;
    }

    .pakbon-title {
        font-size: 2rem;
    }

    .pakbon-card {
        padding: 1.5rem;
    }

    .result-header {
        flex-direction: column;
    }

    .actions {
        flex-direction: column;
    }

    .order-table input[type="text"] {
        min-width: 100px;
    }

    .snelstart-row {
        flex-direction: column;
    }

    .order-table input.line-price {
        width: 80px;
    }

    .product-fields {
        flex-direction: column;
        gap: 0.5rem;
    }

    .product-card-header {
        flex-wrap: wrap;
    }

    .product-card-header .product-name {
        flex: 1 1 100%;
    }

    .product-size-row .size-price {
        flex: 0 0 80px;
    }

    .new-klant-row {
        flex-direction: column;
        gap: 0;
    }

    .next-order-btn {
        display: block;
        margin-left: 0;
        margin-top: 0.75rem;
    }

    .history-table {
        font-size: 0.8125rem;
    }

    .history-table th,
    .history-table td {
        padding: 0.5rem 0.25rem;
        font-size: 0.8125rem;
    }
}


/* Component CSS: footer3 */
.footer3 {
    background-color: #fff;
    padding: 2rem 0;
    border-top: 1px solid #eee;
}

.footer3-container {
    text-align: center;
}

.footer3-logo {
    margin-bottom: 1rem;
}

.footer3-logo a {
    text-decoration: none;
    color: var(--text-color);
    font-weight: bold;
    font-size: 1.5rem;
}

.footer3-nav-list {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.footer3-nav-link {
    text-decoration: none;
    color: #6c757d;
}

.footer3-nav-link:hover {
    color: var(--primary-color);
}

.footer3-copy {
    font-size: 0.9rem;
    color: #6c757d;
}

/* Site Custom CSS */
/* Custom styles for Pakbon Generator */
