.elementor-kit-7{--e-global-color-primary:#FF3131;--e-global-color-secondary:#0F1216;--e-global-color-text:#4A5259;--e-global-color-accent:#D91A21;--e-global-color-lys:#F7F8FA;--e-global-color-hvid:#FFFFFF;--e-global-color-kant:#E4E7EB;--e-global-color-muted:#8B949E;--e-global-color-rodblod:#FFF1F1;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:-0.025em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:1.35em;--e-global-typography-secondary-letter-spacing:-0.01em;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.7em;--e-global-typography-text-letter-spacing:0em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-line-height:1.3em;--e-global-typography-accent-letter-spacing:0em;--e-global-typography-display-font-family:"Plus Jakarta Sans";--e-global-typography-display-font-size:62px;--e-global-typography-display-font-weight:800;--e-global-typography-display-text-transform:none;--e-global-typography-display-line-height:1.08em;--e-global-typography-display-letter-spacing:-0.03em;--e-global-typography-lead-font-family:"Plus Jakarta Sans";--e-global-typography-lead-font-size:19px;--e-global-typography-lead-font-weight:400;--e-global-typography-lead-text-transform:none;--e-global-typography-lead-line-height:1.65em;--e-global-typography-lead-letter-spacing:0em;--e-global-typography-stat-font-family:"Plus Jakarta Sans";--e-global-typography-stat-font-size:40px;--e-global-typography-stat-font-weight:800;--e-global-typography-stat-text-transform:none;--e-global-typography-stat-line-height:1.1em;--e-global-typography-stat-letter-spacing:-0.02em;--e-global-typography-chip-font-family:"Plus Jakarta Sans";--e-global-typography-chip-font-size:13px;--e-global-typography-chip-font-weight:600;--e-global-typography-chip-text-transform:none;--e-global-typography-chip-line-height:1.3em;--e-global-typography-chip-letter-spacing:0.02em;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:400;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-family:"Plus Jakarta Sans", Sans-serif;font-weight:600;border-radius:999px 999px 999px 999px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-primary-font-size:34px;--e-global-typography-secondary-font-size:19px;--e-global-typography-display-font-size:46px;--e-global-typography-lead-font-size:18px;--e-global-typography-stat-font-size:34px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:28px;--e-global-typography-secondary-font-size:18px;--e-global-typography-display-font-size:34px;--e-global-typography-lead-font-size:17px;--e-global-typography-stat-font-size:30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* == BCT FONTS START ==
   Plus Jakarta Sans served from this server. One variable file per
   subset covers weights 200 to 800, so no visitor request reaches
   fonts.googleapis.com and the bytes are fetched once.
   == */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('https://bct.dk/wp-content/uploads/bct-fonts/plus-jakarta-sans-variable-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('https://bct.dk/wp-content/uploads/bct-fonts/plus-jakarta-sans-variable-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* == BCT FONTS END == */

/* ---------------------------------------------------------------
   BCT: back-to-top button and off-canvas motion.
   Colours come from the kit's own global variables, not literals.
   --------------------------------------------------------------- */

.bct-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 998;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--e-global-color-primary);
  display: grid;
  place-items: center;
  overflow: hidden;
  box-shadow: 0 12px 28px -8px rgba(255, 49, 49, 0.6);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(0.9);
  transition: opacity .28s ease, transform .28s cubic-bezier(.22,.61,.36,1), visibility .28s;
}
.bct-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.bct-top:hover { box-shadow: 0 16px 34px -8px rgba(255, 49, 49, 0.75); }
.bct-top:focus-visible { outline: 3px solid var(--e-global-color-secondary); outline-offset: 3px; }

.bct-top svg {
  position: absolute;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .44s cubic-bezier(.22,.61,.36,1), opacity .26s ease;
}
.bct-top__truck { transform: translateX(0); opacity: 1; }
.bct-top__arrow { transform: translateY(135%); opacity: 0; }
.bct-top:hover .bct-top__truck,
.bct-top:focus-visible .bct-top__truck { transform: translateX(175%); opacity: 0; }
.bct-top:hover .bct-top__arrow,
.bct-top:focus-visible .bct-top__arrow { transform: translateY(0); opacity: 1; }

/* ---------------------------------------------------------------
   Buttons: one hover system for every button on the site.

   The lift and the press are deliberately small. These are calls to
   action on a haulage site, not toys, and a 2px rise reads as
   responsive without turning the page into a trampoline.

   drop-shadow rather than box-shadow: the primary buttons already
   carry a red glow in their base state, and overriding box-shadow on
   hover would delete it at the exact moment the button is focused on.
   drop-shadow composes on top instead, and works on any colour, so
   one rule covers red, white and translucent buttons alike.
   --------------------------------------------------------------- */
.elementor-button {
  transition:
    transform .22s cubic-bezier(.22, .61, .36, 1),
    filter .22s ease,
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease;
}
.elementor-button:hover,
.elementor-button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.06) drop-shadow(0 7px 14px rgba(15, 18, 22, 0.20));
}
.elementor-button:active {
  transform: translateY(0) scale(0.985);
  filter: brightness(0.98);
  transition-duration: .08s;
}
.elementor-button:focus-visible {
  outline: 3px solid var(--e-global-color-primary);
  outline-offset: 3px;
}

/* Any icon inside a button leans in the direction of travel. */
.elementor-button .elementor-button-icon {
  display: inline-flex;
  transition: transform .25s cubic-bezier(.22, .61, .36, 1);
}
.elementor-button:hover .elementor-button-icon { transform: translateX(3px); }

/* The two round icon buttons should not drift: they sit in the header
   and in the panel head, where a moving target is just annoying. */
.bct-oc-open .elementor-button:hover,
.bct-oc-close .elementor-button:hover,
.bct-oc-open .elementor-button:active,
.bct-oc-close .elementor-button:active {
  transform: none;
  filter: none;
}

/* Gallery: a tidy grid. The source photos have two different aspect ratios,
   so a shared height plus object-fit keeps the rows even. */
.elementor-image-gallery .gallery-item img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  border-radius: 18px;
  border: none !important;
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}
.elementor-image-gallery .gallery-item { padding: 0 !important; }
.elementor-image-gallery .gallery-item a { display: block; overflow: hidden; border-radius: 18px; }
.elementor-image-gallery .gallery-item a:hover img { transform: scale(1.04); }
@media (max-width: 767px) {
  .elementor-image-gallery .gallery-item img { height: 200px; }
}

/* Partner logos: one shared optical height, since the two marks have very
   different aspect ratios and would otherwise read as different sizes. */
.bct-partner-logo img {
  height: 58px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
@media (max-width: 767px) {
  .bct-partner-logo img { height: 42px; }
}

/* Off-canvas open and close controls: true circles, whatever the icon metrics.
   The "times" glyph is narrower than it is tall, so padding alone gives an oval. */
.bct-oc-open .elementor-button,
.bct-oc-close .elementor-button {
  width: 44px;
  height: 44px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  transition: background-color .2s ease, border-color .2s ease;
}
.bct-oc-close .elementor-button { width: 42px; height: 42px; }
.bct-oc-open .elementor-button:hover,
.bct-oc-close .elementor-button:hover { background-color: var(--e-global-color-lys); }
.bct-oc-open .elementor-button i,
.bct-oc-close .elementor-button i { font-size: 17px; line-height: 1; }
.bct-oc-open .elementor-button .elementor-button-content-wrapper,
.bct-oc-close .elementor-button .elementor-button-content-wrapper { margin: 0; }

/* Off-canvas: content settles in after the panel itself has slid in. */
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element {
  animation: bctPanelIn .42s cubic-bezier(.22,.61,.36,1) backwards;
}
@keyframes bctPanelIn {
  from { opacity: 0; transform: translateX(22px); }
  to   { opacity: 1; transform: none; }
}
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(1)  { animation-delay: .10s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(2)  { animation-delay: .14s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(3)  { animation-delay: .18s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(4)  { animation-delay: .22s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(5)  { animation-delay: .26s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(6)  { animation-delay: .30s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(7)  { animation-delay: .34s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(8)  { animation-delay: .38s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(9)  { animation-delay: .42s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(10) { animation-delay: .46s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(11) { animation-delay: .50s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(12) { animation-delay: .54s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(13) { animation-delay: .58s }
body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element:nth-child(14) { animation-delay: .62s }

@media (prefers-reduced-motion: reduce) {
  .bct-top, .bct-top svg { transition: none; }
  body.e-off-canvas__no-scroll .e-off-canvas__content .e-con > .elementor-element { animation: none; }
  .elementor-button,
  .elementor-button .elementor-button-icon,
  .elementor-image-gallery .gallery-item img { transition: none; }
  .elementor-button:hover,
  .elementor-button:focus-visible,
  .elementor-button:active { transform: none; }
  .elementor-button:hover .elementor-button-icon { transform: none; }
  .elementor-image-gallery .gallery-item a:hover img { transform: none; }
}/* End custom CSS */