:root {
  --ll-black: #343434;
  --ll-white: #fff;
  --ll-hav: #7B9DBF;
  --ll-cta: #7BA68E;
  --ll-bg: #f9f7f4;
}

body {
  background-image:
    repeating-linear-gradient(90deg, transparent, transparent 40px, rgba(219, 163, 143, .05) 40px, rgba(219, 163, 143, .05) 80px),
    linear-gradient(180deg, #f9f7f4 0%, #f5f0ea 50%, #f0ece6 100%) !important;
  background-attachment: fixed !important;
  color: var(--ll-black);
  overflow-x: hidden;
}

body, h1, h2, h3, h4, h5, h6, p, a, span, button, input, textarea {
  font-family: Montserrat, Arial, sans-serif !important;
}

.ll-home-hero,
.ll-two-col,
.ll-products-box,
.ll-about-row,
.ll-events-box,
.ll-why-box,
.ll-cta-box {
  width: calc(100% - 48px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.ll-home-hero {
  min-height: 420px;
  margin-top: 18px !important;
  margin-bottom: 42px !important;
  border-radius: 28px;
  overflow: hidden;
  background: var(--ll-hav);
  position: relative;
}

.ll-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 1;
  pointer-events: none;
}

.ll-home-hero > .elementor-container {
  min-height: 420px;
  position: relative;
  z-index: 2;
  align-items: center;
}

.ll-home-hero .elementor-widget-wrap {
  padding: 64px 24px 56px !important;
  max-width: 760px;
}

.ll-home-hero h1 {
  color: #fff !important;
  font-size: 54px !important;
  line-height: 1.04 !important;
  margin: 8px 0 18px !important;
  font-weight: 700 !important;
}

.ll-home-hero p {
  color: #f4faf7 !important;
  font-size: 20px !important;
  line-height: 1.7 !important;
  max-width: 720px;
}

.elementor-button {
  border-radius: 999px !important;
  background: var(--ll-cta) !important;
  color: #fff !important;
  padding: 12px 24px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  border: 0 !important;
  text-decoration: none !important;
}

.elementor-button:hover { transform: translateY(-1px); opacity: .9; }
.ll-outline .elementor-button { background: transparent !important; border: 2px solid #fff !important; color: #fff !important; }
.ll-hero-buttons .elementor-widget-button { display: inline-block; margin-right: 10px; width: auto; }

.ll-pill {
  color: var(--ll-hav) !important;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  margin-bottom: 8px;
}

.ll-two-col { margin-top: 42px !important; margin-bottom: 42px !important; }
.ll-two-col > .elementor-container,
.ll-about-row > .elementor-container,
.ll-events-box > .elementor-container {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}
.ll-two-col > .elementor-container > .elementor-column:first-child { width: 45% !important; }
.ll-two-col > .elementor-container > .elementor-column:last-child { width: 55% !important; }
.ll-two-col .elementor-widget-wrap { padding: 0 18px !important; }
.ll-two-col .elementor-column:first-child .elementor-widget-wrap { padding-left: 0 !important; }
.ll-two-col .elementor-column:last-child .elementor-widget-wrap { padding-right: 0 !important; }

.ll-two-col h2,
.ll-about-copy h2,
.ll-why-box h2 {
  color: var(--ll-hav) !important;
  font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1.08 !important;
  margin: 6px 0 16px !important;
}

.ll-two-col p,
.ll-about-copy p { font-size: 16px; line-height: 1.65; }
.ll-site-image img { border-radius: 18px !important; filter: saturate(.96) brightness(1.03); width: 100%; height: auto; }
.ll-two-col .ll-site-image img { max-height: 430px !important; object-fit: cover !important; }

.ll-products-box {
  background: var(--ll-hav);
  border-radius: 24px;
  padding: 36px 30px;
  margin-bottom: 46px !important;
  overflow: hidden;
}
.ll-products-box .ll-pill,
.ll-products-box h2,
.ll-products-box .ll-products-intro,
.ll-products-box > .elementor-container > .elementor-column > .elementor-widget-wrap > div:not(.ll-product-slider) p {
  color: #fff !important;
}
.ll-products-box > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.ll-product-slider > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
.ll-product-slider > .elementor-container > .elementor-column { width: auto !important; }
.ll-product-slide {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 38px rgba(18,61,42,.12);
  border: 1px solid rgba(51,115,83,.14);
}
.ll-product-slide .elementor-widget-wrap { padding: 0 !important; }
.ll-product-slide img { display: block; width: 100%; height: 220px !important; object-fit: cover; background: var(--ll-hav); border-radius: 0 !important; }
.ll-card-body { padding: 0 !important; }
.ll-card-body .elementor-widget-wrap { padding: 22px !important; display: block !important; }
.ll-slide-kicker { color: var(--ll-cta) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; margin: 0 0 8px !important; }
.ll-product-slide h3 { color: var(--ll-black) !important; font-size: 22px !important; line-height: 1.15 !important; margin: 0 0 10px !important; }
.ll-product-slide p { color: var(--ll-black) !important; margin: 0 0 18px !important; }
.ll-center-button { display: block !important; margin: 26px auto 0 !important; text-align: center; }

.ll-about-row { margin-top: 46px !important; margin-bottom: 46px !important; }
.ll-about-row > .elementor-container > .elementor-column:first-child { width: 42% !important; }
.ll-about-row > .elementor-container > .elementor-column:last-child { width: 58% !important; }
.ll-about-copy a { color: var(--ll-hav); font-weight: 600; }

.ll-events-box {
  background: var(--ll-hav);
  border-radius: 28px;
  margin-top: 48px !important;
  margin-bottom: 48px !important;
  padding: 46px 28px;
}
.ll-events-box > .elementor-container > .elementor-column:first-child { width: 42% !important; }
.ll-events-box > .elementor-container > .elementor-column:last-child { width: 58% !important; }
.ll-events-box h2,
.ll-events-box p,
.ll-events-box .ll-pill { color: #fff !important; }
.ll-events-box h2 { font-size: 38px !important; line-height: 1.12 !important; margin: 8px 0 14px !important; }
.ll-events-box p { font-size: 18px; line-height: 1.7; }
.ll-event-scroll { max-height: 420px; overflow-y: auto; scroll-snap-type: y proximity; padding-right: 10px; }
.ll-event-card { display: grid !important; grid-template-columns: 92px 1fr; gap: 18px; align-items: start; background: #fff; border-radius: 22px; padding: 20px 22px; margin: 0 0 16px; box-shadow: 0 8px 24px rgba(17,105,138,.12); border-left: 5px solid var(--ll-hav); scroll-snap-align: start; }
.ll-event-card .elementor-widget-wrap { padding: 0 !important; display: contents !important; }
.ll-event-date .elementor-widget-container { background: var(--ll-hav); color: #fff; border-radius: 16px; padding: 11px 10px; text-align: center; font-weight: 700; line-height: 1.15; min-width: 72px; }
.ll-event-date span { display: block; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin-top: 4px; }
.ll-event-card h3 { margin: 0 0 6px !important; color: var(--ll-black) !important; font-size: 21px !important; }
.ll-event-card p { margin: 0 !important; color: var(--ll-black) !important; font-size: 16px !important; line-height: 1.55 !important; }
.ll-scroll-hint { text-align: right; color: #fff !important; opacity: .8; font-size: 14px !important; }

.ll-why-box { background: transparent !important; padding: 0 !important; margin-bottom: 46px !important; }
.ll-why-box h2,
.ll-why-box h3 { color: var(--ll-hav) !important; }
.ll-why-box .elementor-inner-section > .elementor-container { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 28px !important; }
.ll-why-box .elementor-inner-section .elementor-column { width: auto !important; }

.ll-cta-box { background: var(--ll-hav); border-radius: 28px; margin-top: 46px !important; padding: 42px 28px; }
.ll-cta-box h2,
.ll-cta-box p { color: #fff !important; }

.iubenda-tp-btn,
.iubenda-cs-preferences-link,
#iubenda-cs-floating-btn { display: none !important; }

/* Reusable Elementor product page template */
.ll-product-back {
  display: inline-flex !important;
  width: calc(100% - 48px) !important;
  max-width: 1180px !important;
  margin: 18px auto 22px !important;
  color: var(--ll-hav) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.ll-stage-product {
  width: calc(100% - 48px) !important;
  max-width: 1180px !important;
  margin: 0 auto 70px !important;
  color: var(--ll-black) !important;
}
.ll-stage-product > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, 520px) minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: start !important;
}
.ll-stage-product > .elementor-container > .elementor-column { width: auto !important; }
.ll-product-media-col > .elementor-widget-wrap {
  background: #fff !important;
  border-radius: 24px !important;
  padding: 18px !important;
  box-shadow: 0 16px 38px rgba(18,61,42,.10) !important;
}
.ll-product-media-col img {
  display: block !important;
  width: 100% !important;
  max-height: 560px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
}
.ll-product-copy-col h1 {
  color: #253235 !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1.04 !important;
  margin: 0 0 16px !important;
  font-weight: 800 !important;
}
.ll-product-lead {
  color: #3a4a4f !important;
  font-size: 20px !important;
  line-height: 1.65 !important;
  margin: 0 0 24px !important;
}
.ll-product-copy-col p {
  font-size: 17px !important;
  line-height: 1.78 !important;
}
.ll-stage-variants { margin: 22px 0 30px !important; }
.ll-variant-group { margin-bottom: 16px !important; }
.ll-variant-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: #253235 !important;
  margin-bottom: 8px !important;
}
.ll-variant-label span { font-weight: 400 !important; color: #6b7f84 !important; text-transform: none !important; letter-spacing: 0 !important; }
.ll-swatch-row, .ll-size-row { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; }
.ll-swatch {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 2.5px solid transparent !important;
  background: var(--swatch) !important;
  cursor: pointer !important;
  position: relative !important;
  transition: transform .15s, border-color .2s !important;
}
.ll-swatch:hover { transform: scale(1.12) !important; }
.ll-swatch.active { border-color: #253235 !important; }
.ll-swatch span {
  position: absolute !important;
  bottom: calc(100% + 6px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #253235 !important;
  color: #fff !important;
  font-size: 11px !important;
  padding: 3px 9px !important;
  border-radius: 5px !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.ll-swatch:hover span { opacity: 1 !important; }
.ll-size-btn {
  min-width: 40px !important;
  height: 36px !important;
  border: 1.5px solid #c5ccd0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #253235 !important;
  cursor: pointer !important;
  padding: 0 14px !important;
}
.ll-size-btn:hover { border-color: #253235 !important; }
.ll-size-btn.active { background: #253235 !important; color: #fff !important; border-color: #253235 !important; }
.ll-product-cta {
  background: var(--ll-cta) !important;
  border-radius: 22px !important;
  margin-top: 36px !important;
  padding: 28px 24px !important;
  color: #fff !important;
}
.ll-product-cta p { color: #fff !important; margin: 0 0 18px !important; }

@media (max-width: 781px) {
  .ll-home-hero,
  .ll-two-col,
  .ll-products-box,
  .ll-about-row,
  .ll-events-box,
  .ll-why-box,
  .ll-cta-box { width: calc(100% - 28px) !important; }
  .ll-home-hero { min-height: 360px; border-radius: 24px; }
  .ll-home-hero > .elementor-container { min-height: 360px; }
  .ll-home-hero h1 { font-size: 32px !important; }
  .ll-home-hero p { font-size: 16px !important; }
  .ll-two-col > .elementor-container,
  .ll-about-row > .elementor-container,
  .ll-events-box > .elementor-container { display: block !important; }
  .ll-two-col > .elementor-container > .elementor-column,
  .ll-events-box > .elementor-container > .elementor-column,
  .ll-about-row > .elementor-container > .elementor-column { width: 100% !important; }
  .ll-product-slider > .elementor-container { display: flex !important; overflow-x: auto !important; }
  .ll-product-slider > .elementor-container > .elementor-column { flex: 0 0 84vw !important; }
  .ll-event-card { grid-template-columns: 1fr; }
  .ll-why-box .elementor-inner-section > .elementor-container { display: block !important; }
  .ll-product-back,
  .ll-stage-product { width: calc(100% - 28px) !important; }
  .ll-stage-product > .elementor-container { display: block !important; }
  .ll-product-media-col > .elementor-widget-wrap { margin-bottom: 28px !important; padding: 12px !important; border-radius: 20px !important; }
  .ll-product-copy-col h1 { font-size: 34px !important; }
  .ll-product-lead { font-size: 17px !important; }
  .ll-product-copy-col p { font-size: 16px !important; }
}

/* Pass 0.1.1 — product cards + event parity */
body, h1, h2, h3, h4, h5, h6, p, a, li, span, button, input, textarea {
  font-family: 'Montserrat', Arial, sans-serif !important;
}

/* Product section: clean white cards inside blue panel */
.ll-products-box {
  background-color: var(--ll-hav) !important;
  border-radius: 24px !important;
  padding: 36px 30px !important;
}

.ll-product-slider > .elementor-container {
  align-items: stretch !important;
}

.ll-product-slide,
.ll-products-box .ll-product-slide,
.ll-products-box .elementor-column.ll-product-slide {
  background: #ffffff !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 38px rgba(18, 61, 42, .12) !important;
  border: 1px solid rgba(51, 115, 83, .14) !important;
  height: 100% !important;
}

.ll-product-slide > .elementor-widget-wrap {
  background: #ffffff !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.ll-product-slide .elementor-widget-image {
  margin-bottom: 0 !important;
}

.ll-product-slide img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}

.ll-card-body {
  background: #ffffff !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
}

.ll-card-body > .elementor-container,
.ll-card-body .elementor-widget-wrap {
  background: #ffffff !important;
  padding: 22px !important;
  display: block !important;
}

.ll-products-box .ll-product-slide h3,
.ll-products-box .ll-product-slide p:not(.ll-slide-kicker),
.ll-products-box .ll-card-body h3,
.ll-products-box .ll-card-body p:not(.ll-slide-kicker) {
  color: var(--ll-black) !important;
}

.ll-products-box .ll-slide-kicker,
.ll-product-slide .ll-slide-kicker,
.ll-card-body .ll-slide-kicker {
  color: var(--ll-cta) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Event section: match live — blue rounded panel, text left, scrollable white cards right */
.ll-events-box {
  background-color: var(--ll-hav) !important;
  border-radius: 28px !important;
  padding: 46px 28px !important;
  margin-top: 48px !important;
  margin-bottom: 48px !important;
  color: #fff !important;
}

.ll-events-box > .elementor-container {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
}

.ll-events-box > .elementor-container > .elementor-column:first-child {
  width: 42% !important;
}

.ll-events-box > .elementor-container > .elementor-column:last-child {
  width: 58% !important;
}

.ll-events-box .ll-pill,
.ll-events-box h2,
.ll-events-box p {
  color: #ffffff !important;
}

.ll-events-box h2 {
  font-size: 38px !important;
  line-height: 1.12 !important;
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}

.ll-event-scroll {
  max-height: 420px !important;
  overflow-y: auto !important;
  scroll-snap-type: y proximity !important;
  padding-right: 10px !important;
}

.ll-event-scroll::-webkit-scrollbar { width: 8px; }
.ll-event-scroll::-webkit-scrollbar-track { background: rgba(17,105,138,.16); border-radius: 999px; }
.ll-event-scroll::-webkit-scrollbar-thumb { background: var(--ll-hav); border-radius: 999px; }

.ll-event-card,
.ll-events-box .ll-event-card,
.ll-events-box .elementor-column.ll-event-card {
  display: grid !important;
  grid-template-columns: 92px 1fr !important;
  gap: 18px !important;
  align-items: start !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 20px 22px !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 8px 24px rgba(17,105,138,.12) !important;
  border-left: 5px solid var(--ll-hav) !important;
  scroll-snap-align: start !important;
}

.ll-event-card > .elementor-widget-wrap {
  padding: 0 !important;
  display: contents !important;
}

.ll-event-date .elementor-widget-container {
  background: var(--ll-hav) !important;
  color: #ffffff !important;
  border-radius: 16px !important;
  padding: 11px 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  min-width: 72px !important;
}

.ll-event-date span {
  display: block !important;
  color: #ffffff !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-top: 4px !important;
}

.ll-event-card h3,
.ll-events-box .ll-event-card h3 {
  color: var(--ll-black) !important;
  font-size: 21px !important;
  margin: 0 0 6px !important;
}

.ll-event-card p,
.ll-events-box .ll-event-card p {
  color: var(--ll-black) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.ll-scroll-hint {
  color: #ffffff !important;
  opacity: .8 !important;
  text-align: right !important;
  font-size: 14px !important;
}

@media (max-width: 781px) {
  .ll-events-box > .elementor-container {
    display: block !important;
  }
  .ll-events-box > .elementor-container > .elementor-column:first-child,
  .ll-events-box > .elementor-container > .elementor-column:last-child {
    width: 100% !important;
  }
  .ll-event-scroll { max-height: 360px !important; }
  .ll-event-card { grid-template-columns: 1fr !important; }
  .ll-scroll-hint { text-align: left !important; }
}

/* Pass 0.1.2 — force horizontal swipe cards for products and events */
.ll-product-slider > .elementor-container,
.ll-event-scroll > .elementor-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 22px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 4px 4px 18px !important;
  scrollbar-width: thin !important;
  align-items: stretch !important;
}

.ll-product-slider > .elementor-container > .elementor-column,
.ll-product-slide {
  flex: 0 0 min(82vw, 340px) !important;
  width: min(82vw, 340px) !important;
  max-width: 340px !important;
  scroll-snap-align: start !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 38px rgba(18, 61, 42, .12) !important;
  border: 1px solid rgba(51, 115, 83, .14) !important;
}

.ll-event-scroll {
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
}

.ll-event-scroll > .elementor-container > .elementor-column,
.ll-event-card {
  flex: 0 0 min(82vw, 340px) !important;
  width: min(82vw, 340px) !important;
  max-width: 340px !important;
  scroll-snap-align: start !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 20px 22px !important;
  box-shadow: 0 8px 24px rgba(17,105,138,.12) !important;
  border-left: 5px solid var(--ll-hav) !important;
}

.ll-product-slide > .elementor-widget-wrap,
.ll-event-card > .elementor-widget-wrap {
  background: #ffffff !important;
}

.ll-product-slide .elementor-widget-image img {
  height: 220px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

.ll-products-box .ll-product-slide h3,
.ll-products-box .ll-product-slide p,
.ll-products-box .ll-card-body h3,
.ll-products-box .ll-card-body p,
.ll-events-box .ll-event-card h3,
.ll-events-box .ll-event-card p {
  color: var(--ll-black) !important;
}

.ll-event-card .ll-event-date .elementor-widget-container,
.ll-event-date .elementor-widget-container {
  background: var(--ll-hav) !important;
  color: #fff !important;
  border-radius: 16px !important;
  padding: 11px 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  width: max-content !important;
  min-width: 72px !important;
  margin-bottom: 12px !important;
}

.ll-events-box > .elementor-container {
  align-items: flex-start !important;
}

.ll-events-box > .elementor-container > .elementor-column:last-child {
  overflow: hidden !important;
}

@media (min-width: 782px) {
  .ll-product-slider > .elementor-container > .elementor-column,
  .ll-product-slide,
  .ll-event-scroll > .elementor-container > .elementor-column,
  .ll-event-card {
    flex-basis: 340px !important;
  }
}

/* Pass 0.1.3 — mobile parity fixes */
.ll-home-hero {
  background-image: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)), url('https://staging.lovelangeland.dk/wp-content/uploads/2026/05/sk-rmbillede-2026-04-19-kl-16-09-47-4.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

@media (max-width: 781px) {
  .ll-home-hero {
    width: calc(100% - 28px) !important;
    min-height: 360px !important;
    border-radius: 24px !important;
    margin-top: 14px !important;
    margin-bottom: 34px !important;
  }

  .ll-home-hero > .elementor-container {
    min-height: 360px !important;
  }

  .ll-home-hero .elementor-widget-wrap {
    padding: 42px 20px 38px !important;
    max-width: 100% !important;
  }

  .ll-home-hero h1 {
    font-size: 32px !important;
    line-height: 1.15 !important;
    margin-bottom: 14px !important;
  }

  .ll-home-hero p {
    font-size: 16px !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
  }

  .ll-hero-buttons > .elementor-container,
  .ll-hero-buttons .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  .ll-hero-buttons .elementor-widget-button {
    display: block !important;
    margin: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }

  .ll-hero-buttons .elementor-button {
    max-width: 100% !important;
    white-space: normal !important;
  }

  .ll-two-col {
    margin-top: 34px !important;
    margin-bottom: 34px !important;
  }

  .ll-two-col > .elementor-container,
  .ll-about-row > .elementor-container,
  .ll-events-box > .elementor-container {
    display: block !important;
  }

  .ll-two-col > .elementor-container > .elementor-column,
  .ll-about-row > .elementor-container > .elementor-column,
  .ll-events-box > .elementor-container > .elementor-column {
    width: 100% !important;
  }

  .ll-two-col .elementor-widget-wrap,
  .ll-about-row .elementor-widget-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ll-two-col h2,
  .ll-about-copy h2,
  .ll-why-box h2 {
    font-size: 32px !important;
    line-height: 1.12 !important;
  }

  .ll-two-col p,
  .ll-about-copy p {
    max-width: 38ch !important;
  }

  .ll-two-col .ll-site-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    margin-top: 12px !important;
  }

  .ll-products-box,
  .ll-events-box,
  .ll-cta-box {
    width: calc(100% - 28px) !important;
    padding: 30px 20px !important;
    border-radius: 24px !important;
  }

  .ll-products-box h2,
  .ll-events-box h2 {
    font-size: 32px !important;
    line-height: 1.12 !important;
  }

  .ll-product-slider > .elementor-container,
  .ll-event-scroll > .elementor-container {
    gap: 18px !important;
    padding-bottom: 16px !important;
  }

  .ll-product-slider > .elementor-container > .elementor-column,
  .ll-product-slide,
  .ll-event-scroll > .elementor-container > .elementor-column,
  .ll-event-card {
    flex: 0 0 84vw !important;
    width: 84vw !important;
    max-width: 340px !important;
  }

  .ll-product-slide img {
    height: 190px !important;
  }

  .ll-event-scroll {
    overflow: visible !important;
    max-height: none !important;
  }

  #iubenda-cs-banner .iubenda-cs-container,
  #iubenda-cs-banner .iubenda-cs-content {
    max-height: 45vh !important;
    overflow: auto !important;
  }
}

/* Pass 0.1.4 — tighter mobile containment */
@media (max-width: 781px) {
  .ll-home-hero,
  .ll-home-hero * {
    box-sizing: border-box !important;
  }

  .ll-home-hero {
    min-height: 330px !important;
    background-position: center center !important;
  }

  .ll-home-hero > .elementor-container {
    min-height: 330px !important;
  }

  .ll-home-hero .elementor-widget-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 36px 18px 34px !important;
  }

  .ll-home-hero h1,
  .ll-home-hero p,
  .ll-home-hero .elementor-widget-text-editor {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .ll-home-hero h1 {
    font-size: 31px !important;
  }

  .ll-hero-buttons,
  .ll-hero-buttons > .elementor-container,
  .ll-hero-buttons .elementor-container,
  .ll-hero-buttons .elementor-widget-wrap {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  .ll-hero-buttons .elementor-column,
  .ll-hero-buttons .elementor-widget-button,
  .ll-hero-buttons .elementor-button-wrapper {
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 !important;
  }

  .ll-hero-buttons .elementor-button {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    padding: 11px 20px !important;
  }

  .ll-two-col h2,
  .ll-about-copy h2,
  .ll-products-box h2,
  .ll-events-box h2,
  .ll-why-box h2 {
    font-size: 30px !important;
    line-height: 1.12 !important;
  }

  .ll-two-col .ll-site-image img {
    aspect-ratio: 16 / 9 !important;
    max-height: 240px !important;
  }

  #iubenda-cs-banner .iubenda-cs-container,
  #iubenda-cs-banner .iubenda-cs-content,
  #iubenda-cs-banner .iubenda-cs-rationale {
    max-height: 42vh !important;
    overflow-y: auto !important;
  }
}

/* Pass 0.1.5 — mobile full-width stacked content fix */
@media (max-width: 781px) {
  .elementor .ll-home-hero,
  .elementor .ll-two-col,
  .elementor .ll-products-box,
  .elementor .ll-about-row,
  .elementor .ll-events-box,
  .elementor .ll-why-box,
  .elementor .ll-cta-box {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .elementor .ll-two-col > .elementor-container,
  .elementor .ll-products-box > .elementor-container,
  .elementor .ll-about-row > .elementor-container,
  .elementor .ll-events-box > .elementor-container,
  .elementor .ll-why-box > .elementor-container,
  .elementor .ll-cta-box > .elementor-container,
  .elementor .ll-card-body > .elementor-container,
  .elementor .ll-hero-buttons > .elementor-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor .ll-two-col .elementor-column,
  .elementor .ll-products-box .elementor-column,
  .elementor .ll-about-row .elementor-column,
  .elementor .ll-events-box .elementor-column,
  .elementor .ll-why-box .elementor-column,
  .elementor .ll-cta-box .elementor-column,
  .elementor .ll-card-body .elementor-column,
  .elementor .ll-hero-buttons .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
  }

  .elementor .ll-two-col .elementor-widget-wrap,
  .elementor .ll-products-box .elementor-widget-wrap,
  .elementor .ll-about-row .elementor-widget-wrap,
  .elementor .ll-events-box .elementor-widget-wrap,
  .elementor .ll-why-box .elementor-widget-wrap,
  .elementor .ll-cta-box .elementor-widget-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .elementor .ll-two-col .elementor-widget,
  .elementor .ll-about-row .elementor-widget,
  .elementor .ll-events-box .elementor-widget,
  .elementor .ll-why-box .elementor-widget,
  .elementor .ll-cta-box .elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor .ll-two-col p,
  .elementor .ll-about-copy p,
  .elementor .ll-events-box p,
  .elementor .ll-why-box p,
  .elementor .ll-cta-box p,
  .elementor .ll-two-col h2,
  .elementor .ll-about-copy h2,
  .elementor .ll-events-box h2,
  .elementor .ll-why-box h2,
  .elementor .ll-cta-box h2 {
    max-width: 100% !important;
  }

  .elementor .ll-site-image,
  .elementor .ll-site-image .elementor-widget-container,
  .elementor .ll-site-image img {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor .ll-site-image img {
    display: block !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  /* Keep swipe rows horizontal, but let each card use the viewport neatly. */
  .elementor .ll-product-slider > .elementor-container,
  .elementor .ll-event-scroll > .elementor-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
  }

  .elementor .ll-product-slider > .elementor-container > .elementor-column,
  .elementor .ll-product-slide,
  .elementor .ll-event-scroll > .elementor-container > .elementor-column,
  .elementor .ll-event-card {
    flex: 0 0 calc(100vw - 56px) !important;
    width: calc(100vw - 56px) !important;
    max-width: 340px !important;
  }
}

/* Pass 0.1.6 — force concept/about mobile columns to full width */
@media (max-width: 781px) {
  body .elementor .elementor-section.ll-two-col,
  body .elementor .elementor-section.ll-about-row {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
  }

  body .elementor .elementor-section.ll-two-col > .elementor-container,
  body .elementor .elementor-section.ll-about-row > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body .elementor .elementor-section.ll-two-col > .elementor-container > .elementor-column,
  body .elementor .elementor-section.ll-about-row > .elementor-container > .elementor-column,
  body .elementor .elementor-section.ll-two-col .elementor-column.elementor-col-45,
  body .elementor .elementor-section.ll-two-col .elementor-column.elementor-col-55,
  body .elementor .elementor-section.ll-about-row .elementor-column.elementor-col-42,
  body .elementor .elementor-section.ll-about-row .elementor-column.elementor-col-58 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
  }

  body .elementor .elementor-section.ll-two-col .elementor-widget-wrap,
  body .elementor .elementor-section.ll-about-row .elementor-widget-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body .elementor .elementor-section.ll-two-col .elementor-widget,
  body .elementor .elementor-section.ll-about-row .elementor-widget,
  body .elementor .elementor-section.ll-two-col .elementor-widget-container,
  body .elementor .elementor-section.ll-about-row .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body .elementor .elementor-section.ll-two-col h2,
  body .elementor .elementor-section.ll-two-col p,
  body .elementor .elementor-section.ll-about-row h2,
  body .elementor .elementor-section.ll-about-row p {
    width: 100% !important;
    max-width: 100% !important;
  }

  body .elementor .elementor-section.ll-two-col .ll-site-image,
  body .elementor .elementor-section.ll-about-row .ll-site-image,
  body .elementor .elementor-section.ll-two-col .ll-site-image img,
  body .elementor .elementor-section.ll-about-row .ll-site-image img {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Pass 0.1.7 — live-style vertical event cards */
.ll-events-box {
  background-color: var(--ll-hav) !important;
  border-radius: 28px !important;
  margin-top: 48px !important;
  margin-bottom: 48px !important;
  padding: 46px 28px !important;
  color: #fff !important;
}

.ll-events-box > .elementor-container {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
}

.ll-events-box > .elementor-container > .elementor-column:first-child {
  width: 42% !important;
  flex: 0 0 42% !important;
}

.ll-events-box > .elementor-container > .elementor-column:last-child {
  width: 58% !important;
  flex: 0 0 58% !important;
  overflow: visible !important;
}

.ll-events-box .ll-pill,
.ll-events-box h2,
.ll-events-box p {
  color: #fff !important;
}

.ll-events-box h2 {
  color: #fff !important;
  font-size: 38px !important;
  line-height: 1.12 !important;
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}

.ll-events-box p {
  font-size: 18px !important;
  line-height: 1.7 !important;
}

/* Override previous horizontal swipe rules for events only. */
.ll-event-scroll {
  max-height: 420px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scroll-snap-type: y proximity !important;
  padding-right: 10px !important;
}

.ll-event-scroll > .elementor-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
}

.ll-event-scroll::-webkit-scrollbar { width: 8px !important; }
.ll-event-scroll::-webkit-scrollbar-track { background: rgba(17,105,138,.16) !important; border-radius: 999px !important; }
.ll-event-scroll::-webkit-scrollbar-thumb { background: var(--ll-hav) !important; border-radius: 999px !important; }

.ll-event-scroll > .elementor-container > .elementor-column,
.ll-event-card {
  display: grid !important;
  grid-template-columns: 92px 1fr !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  flex-basis: auto !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 20px 22px !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 8px 24px rgba(17,105,138,.12) !important;
  border-left: 5px solid var(--ll-hav) !important;
  scroll-snap-align: start !important;
  box-sizing: border-box !important;
}

.ll-event-card > .elementor-widget-wrap {
  display: contents !important;
  padding: 0 !important;
  background: transparent !important;
}

.ll-event-date {
  margin: 0 !important;
}

.ll-event-date .elementor-widget-container {
  background: var(--ll-hav) !important;
  color: #ffffff !important;
  border-radius: 16px !important;
  padding: 11px 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  width: auto !important;
  min-width: 72px !important;
  margin: 0 !important;
}

.ll-event-date span {
  display: block !important;
  color: #ffffff !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-top: 4px !important;
}

.ll-event-card h3,
.ll-events-box .ll-event-card h3 {
  color: var(--ll-black) !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  margin: 0 0 6px !important;
}

.ll-event-card p,
.ll-events-box .ll-event-card p {
  color: var(--ll-black) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.ll-scroll-hint {
  color: #ffffff !important;
  opacity: .8 !important;
  text-align: right !important;
  font-size: 14px !important;
  margin-top: 10px !important;
}

@media (max-width: 781px) {
  .ll-events-box > .elementor-container {
    display: block !important;
  }

  .ll-events-box > .elementor-container > .elementor-column:first-child,
  .ll-events-box > .elementor-container > .elementor-column:last-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  .ll-event-scroll {
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .ll-event-scroll > .elementor-container > .elementor-column,
  .ll-event-card {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 20px !important;
  }

  .ll-event-date .elementor-widget-container {
    text-align: left !important;
    display: inline-block !important;
    width: max-content !important;
    min-width: 88px !important;
    margin-bottom: 4px !important;
  }

  .ll-scroll-hint {
    text-align: left !important;
  }
}

/* Pass 0.1.8 — final hard override: events are vertical, never swipe */
body .elementor .ll-events-box .ll-event-scroll,
body .elementor .elementor-section.ll-events-box .ll-event-scroll {
  display: block !important;
  max-height: 420px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scroll-snap-type: y proximity !important;
  padding-right: 10px !important;
}

body .elementor .ll-events-box .ll-event-scroll > .elementor-container,
body .elementor .elementor-section.ll-events-box .ll-event-scroll > .elementor-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-scroll > .elementor-container > .elementor-column,
body .elementor .ll-events-box .ll-event-card,
body .elementor .elementor-section.ll-events-box .ll-event-scroll > .elementor-container > .elementor-column,
body .elementor .elementor-section.ll-events-box .ll-event-card {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  flex-grow: 0 !important;
  flex-shrink: 1 !important;
  flex-basis: auto !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 20px 22px !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 8px 24px rgba(17,105,138,.12) !important;
  border-left: 5px solid var(--ll-hav) !important;
  scroll-snap-align: start !important;
  box-sizing: border-box !important;
}

body .elementor .ll-events-box .ll-event-card > .elementor-widget-wrap,
body .elementor .elementor-section.ll-events-box .ll-event-card > .elementor-widget-wrap {
  display: contents !important;
  padding: 0 !important;
  background: transparent !important;
  width: auto !important;
  max-width: none !important;
}

body .elementor .ll-events-box .ll-event-date .elementor-widget-container,
body .elementor .elementor-section.ll-events-box .ll-event-date .elementor-widget-container {
  background: var(--ll-hav) !important;
  color: #ffffff !important;
  border-radius: 16px !important;
  padding: 11px 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  width: auto !important;
  min-width: 72px !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-card h3,
body .elementor .elementor-section.ll-events-box .ll-event-card h3 {
  color: var(--ll-black) !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  margin: 0 0 6px !important;
}

body .elementor .ll-events-box .ll-event-card p,
body .elementor .elementor-section.ll-events-box .ll-event-card p {
  color: var(--ll-black) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

@media (max-width: 781px) {
  body .elementor .ll-events-box .ll-event-scroll,
  body .elementor .elementor-section.ll-events-box .ll-event-scroll {
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body .elementor .ll-events-box .ll-event-scroll > .elementor-container,
  body .elementor .elementor-section.ll-events-box .ll-event-scroll > .elementor-container {
    display: block !important;
    overflow: visible !important;
  }

  body .elementor .ll-events-box .ll-event-scroll > .elementor-container > .elementor-column,
  body .elementor .ll-events-box .ll-event-card,
  body .elementor .elementor-section.ll-events-box .ll-event-scroll > .elementor-container > .elementor-column,
  body .elementor .elementor-section.ll-events-box .ll-event-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    flex-basis: auto !important;
    padding: 18px 20px !important;
    margin: 0 0 16px 0 !important;
  }
}

/* Pass 0.1.9 — exact live-style event card treatment */
body .elementor .ll-events-box {
  background: var(--ll-hav) !important;
  border-radius: 28px !important;
  padding: 46px 28px !important;
}

body .elementor .ll-events-box .ll-event-scroll {
  max-height: 420px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scroll-snap-type: y proximity !important;
  padding-right: 10px !important;
}

body .elementor .ll-events-box .ll-event-scroll::-webkit-scrollbar { width: 8px !important; }
body .elementor .ll-events-box .ll-event-scroll::-webkit-scrollbar-track { background: rgba(17,105,138,.16) !important; border-radius: 999px !important; }
body .elementor .ll-events-box .ll-event-scroll::-webkit-scrollbar-thumb { background: var(--ll-hav) !important; border-radius: 999px !important; }

body .elementor .ll-events-box .ll-event-scroll > .elementor-container {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 18px !important;
  row-gap: 4px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 20px 22px !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 8px 24px rgba(17,105,138,.12) !important;
  border-left: 5px solid var(--ll-hav) !important;
  scroll-snap-align: start !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body .elementor .ll-events-box .ll-event-card > .elementor-widget-wrap {
  display: contents !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget {
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-date {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: start !important;
}

body .elementor .ll-events-box .ll-event-date .elementor-widget-container {
  background: var(--ll-hav) !important;
  color: #ffffff !important;
  border-radius: 16px !important;
  padding: 11px 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body .elementor .ll-events-box .ll-event-date span {
  display: block !important;
  color: #ffffff !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-top: 4px !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-heading h3,
body .elementor .ll-events-box .ll-event-card h3 {
  color: var(--ll-hav) !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date),
body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) .elementor-widget-container,
body .elementor .ll-events-box .ll-event-card p {
  color: var(--ll-black) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

@media (max-width: 781px) {
  body .elementor .ll-events-box .ll-event-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 10px !important;
    padding: 18px 20px !important;
  }

  body .elementor .ll-events-box .ll-event-date,
  body .elementor .ll-events-box .ll-event-card .elementor-widget-heading,
  body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body .elementor .ll-events-box .ll-event-date .elementor-widget-container {
    width: max-content !important;
    min-width: 88px !important;
    max-width: none !important;
    text-align: left !important;
  }
}

/* Pass 0.1.10 — event card badge/border/alignment polish */
body .elementor .ll-events-box .ll-event-card,
body .elementor .elementor-section.ll-events-box .ll-event-card {
  border-left: 7px solid var(--ll-hav) !important;
  padding: 22px 24px !important;
  column-gap: 20px !important;
  row-gap: 6px !important;
  box-shadow: 0 10px 28px rgba(17, 105, 138, .16) !important;
}

body .elementor .ll-events-box .ll-event-date,
body .elementor .elementor-section.ll-events-box .ll-event-date {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: start !important;
  justify-self: start !important;
  width: 92px !important;
  max-width: 92px !important;
}

body .elementor .ll-events-box .ll-event-date .elementor-widget-container,
body .elementor .elementor-section.ll-events-box .ll-event-date .elementor-widget-container {
  display: block !important;
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  min-height: 66px !important;
  background: var(--ll-hav) !important;
  color: #ffffff !important;
  border-radius: 16px !important;
  padding: 12px 10px !important;
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  box-sizing: border-box !important;
  box-shadow: 0 8px 18px rgba(123, 157, 191, .25) !important;
}

body .elementor .ll-events-box .ll-event-date span,
body .elementor .elementor-section.ll-events-box .ll-event-date span {
  display: block !important;
  color: #ffffff !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-top: 5px !important;
  font-weight: 700 !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-heading,
body .elementor .elementor-section.ll-events-box .ll-event-card .elementor-widget-heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  margin: 0 !important;
  padding-top: 1px !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-heading h3,
body .elementor .elementor-section.ll-events-box .ll-event-card .elementor-widget-heading h3 {
  color: var(--ll-hav) !important;
  font-size: 21px !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  margin: 0 0 7px !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date),
body .elementor .elementor-section.ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) .elementor-widget-container,
body .elementor .elementor-section.ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) .elementor-widget-container {
  color: var(--ll-black) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

@media (max-width: 781px) {
  body .elementor .ll-events-box .ll-event-card,
  body .elementor .elementor-section.ll-events-box .ll-event-card {
    border-left-width: 6px !important;
    padding: 20px 22px !important;
    gap: 10px !important;
  }

  body .elementor .ll-events-box .ll-event-date,
  body .elementor .elementor-section.ll-events-box .ll-event-date {
    width: auto !important;
    max-width: 100% !important;
  }

  body .elementor .ll-events-box .ll-event-date .elementor-widget-container,
  body .elementor .elementor-section.ll-events-box .ll-event-date .elementor-widget-container {
    display: inline-block !important;
    width: auto !important;
    min-width: 88px !important;
    max-width: none !important;
    min-height: 0 !important;
    text-align: left !important;
  }
}

/* Pass 0.1.11 — inherit live .ll-home-event-mini card layout */
body .elementor .ll-events-box .ll-event-scroll {
  max-height: 420px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scroll-snap-type: y proximity !important;
  padding-right: 10px !important;
}

body .elementor .ll-events-box .ll-event-scroll > .elementor-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

body .elementor .ll-events-box .ll-event-card {
  display: grid !important;
  grid-template-columns: 92px 1fr !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 20px 22px !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 8px 24px rgba(17,105,138,.12) !important;
  border-left: 5px solid var(--ll-hav) !important;
  scroll-snap-align: start !important;
  box-sizing: border-box !important;
}

body .elementor .ll-events-box .ll-event-card > .elementor-widget-wrap {
  display: contents !important;
  padding: 0 !important;
  background: transparent !important;
}

body .elementor .ll-events-box .ll-event-date {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-date .elementor-widget-container {
  background: var(--ll-hav) !important;
  color: #fff !important;
  border-radius: 16px !important;
  padding: 11px 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-date span {
  display: block !important;
  color: #fff !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-top: 4px !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-card h3 {
  margin: 0 0 6px !important;
  color: var(--ll-hav) !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date),
body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) .elementor-widget-container,
body .elementor .ll-events-box .ll-event-card p {
  margin: 0 !important;
  color: var(--ll-black) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

@media (max-width: 781px) {
  body .elementor .ll-events-box .ll-event-scroll {
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body .elementor .ll-events-box .ll-event-card {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 18px 20px !important;
  }

  body .elementor .ll-events-box .ll-event-date,
  body .elementor .ll-events-box .ll-event-card .elementor-widget-heading,
  body .elementor .ll-events-box .ll-event-card .elementor-widget-text-editor:not(.ll-event-date) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body .elementor .ll-events-box .ll-event-date .elementor-widget-container {
    display: inline-block !important;
    width: max-content !important;
    min-width: 88px !important;
    max-width: none !important;
    text-align: left !important;
  }
}

/* Pass 0.1.12 — explicit event structure: date + content wrapper */
body .elementor .ll-events-box .ll-event-card {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  background: #fff !important;
  border-radius: 22px !important;
  padding: 20px 22px !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 8px 24px rgba(17,105,138,.12) !important;
  border-left: 5px solid var(--ll-hav) !important;
}
body .elementor .ll-events-box .ll-event-card > .elementor-widget-wrap { display: contents !important; padding: 0 !important; }
body .elementor .ll-events-box .ll-event-date { grid-column: 1 !important; margin: 0 !important; }
body .elementor .ll-events-box .ll-event-date .elementor-widget-container {
  background: var(--ll-hav) !important;
  color: #fff !important;
  border-radius: 16px !important;
  padding: 11px 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  width: 72px !important;
  min-width: 72px !important;
  box-sizing: border-box !important;
}
body .elementor .ll-events-box .ll-event-date span { display: block !important; color: #fff !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: .06em !important; margin-top: 4px !important; }
body .elementor .ll-events-box .ll-event-copy-wrap { grid-column: 2 !important; margin: 0 !important; width: 100% !important; }
body .elementor .ll-events-box .ll-event-copy-wrap > .elementor-container { display: block !important; padding: 0 !important; }
body .elementor .ll-events-box .ll-event-copy { width: 100% !important; }
body .elementor .ll-events-box .ll-event-copy > .elementor-widget-wrap { display: block !important; padding: 0 !important; }
body .elementor .ll-events-box .ll-event-copy h3 { margin: 0 0 6px !important; color: var(--ll-hav) !important; font-size: 21px !important; line-height: 1.2 !important; font-weight: 700 !important; }
body .elementor .ll-events-box .ll-event-copy .elementor-widget-text-editor,
body .elementor .ll-events-box .ll-event-copy .elementor-widget-text-editor .elementor-widget-container { margin: 0 !important; color: var(--ll-black) !important; font-size: 16px !important; line-height: 1.55 !important; }
@media (max-width: 781px) {
  body .elementor .ll-events-box .ll-event-card { grid-template-columns: 1fr !important; gap: 10px !important; padding: 18px 20px !important; }
  body .elementor .ll-events-box .ll-event-date,
  body .elementor .ll-events-box .ll-event-copy-wrap { grid-column: 1 !important; }
  body .elementor .ll-events-box .ll-event-date .elementor-widget-container { display: inline-block !important; width: auto !important; min-width: 88px !important; text-align: left !important; }
}

/* Pass 0.1.13 — event card inner padding + date pill hard fix */
body .elementor .ll-events-box .ll-event-card {
  padding: 24px 26px !important;
  gap: 20px !important;
  border-left: 6px solid var(--ll-hav) !important;
}

body .elementor .ll-events-box .ll-event-card > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
  width: 100% !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body .elementor .ll-events-box .ll-event-copy-wrap,
body .elementor .ll-events-box .ll-event-copy,
body .elementor .ll-events-box .ll-event-copy > .elementor-widget-wrap {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body .elementor .ll-events-box .ll-event-copy-wrap > .elementor-container,
body .elementor .ll-events-box .ll-event-copy > .elementor-widget-wrap {
  padding: 0 4px 0 0 !important;
  box-sizing: border-box !important;
}

body .elementor .ll-events-box .ll-event-copy h3,
body .elementor .ll-events-box .ll-event-copy .elementor-heading-title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--ll-hav) !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
}

body .elementor .ll-events-box .ll-event-copy .elementor-widget-text-editor,
body .elementor .ll-events-box .ll-event-copy .elementor-widget-text-editor .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ll-black) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

body .elementor .ll-events-box .ll-event-date {
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .elementor .ll-events-box .ll-event-date .elementor-widget-container {
  display: block !important;
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  background-color: var(--ll-hav) !important;
  color: #ffffff !important;
  border-radius: 16px !important;
  padding: 12px 10px !important;
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

body .elementor .ll-events-box .ll-event-date span {
  display: block !important;
  color: #ffffff !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-top: 5px !important;
  font-weight: 700 !important;
}

@media (max-width: 781px) {
  body .elementor .ll-events-box .ll-event-card {
    padding: 20px 22px !important;
  }

  body .elementor .ll-events-box .ll-event-card > .elementor-widget-wrap {
    display: block !important;
    width: 100% !important;
  }

  body .elementor .ll-events-box .ll-event-date {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-bottom: 12px !important;
  }

  body .elementor .ll-events-box .ll-event-date .elementor-widget-container {
    display: inline-block !important;
    width: auto !important;
    min-width: 88px !important;
    max-width: none !important;
    text-align: left !important;
  }
}

/* Pass 0.1.5 — Elementor-built event cards; horizontal row without HTML widgets */
.ll-events-box .ll-event-scroll,
.ll-events-box .ll-event-scroll > .elementor-container,
.ll-events-box .ll-event-scroll > .elementor-container > .ll-event-card {
  box-sizing: border-box !important;
}

.ll-events-box .ll-event-scroll {
  width: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.ll-events-box .ll-event-scroll > .elementor-container {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 4px 4px 18px !important;
  align-items: stretch !important;
}

.ll-events-box .ll-event-scroll > .elementor-container > .ll-event-card {
  display: block !important;
  flex: 0 0 min(82vw, 340px) !important;
  width: min(82vw, 340px) !important;
  max-width: 340px !important;
  min-width: 280px !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 20px 22px !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  box-shadow: 0 8px 24px rgba(17,105,138,.12) !important;
  border-left: 5px solid var(--ll-hav) !important;
  scroll-snap-align: start !important;
}

.ll-events-box .ll-event-card > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  padding: 0 !important;
  background: #ffffff !important;
}

.ll-events-box .ll-event-copy-wrap,
.ll-events-box .ll-event-copy-wrap > .elementor-container,
.ll-events-box .ll-event-copy,
.ll-events-box .ll-event-copy > .elementor-widget-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ll-events-box .ll-event-date {
  margin: 0 !important;
}

.ll-events-box .ll-event-date .elementor-widget-container,
.ll-events-box .ll-event-date {
  background: var(--ll-hav) !important;
  color: #fff !important;
  border-radius: 16px !important;
  padding: 11px 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

.ll-events-box .ll-event-copy h3,
.ll-events-box .ll-event-copy .elementor-heading-title {
  color: var(--ll-black) !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  margin: 0 0 6px !important;
}

.ll-events-box .ll-event-copy p,
.ll-events-box .ll-event-copy .elementor-widget-text-editor {
  color: var(--ll-black) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

@media (max-width: 781px) {
  .ll-events-box .ll-event-scroll > .elementor-container > .ll-event-card {
    flex-basis: 84vw !important;
    width: 84vw !important;
    min-width: 0 !important;
  }
  .ll-events-box .ll-event-card > .elementor-widget-wrap {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .ll-events-box .ll-event-date {
    width: max-content !important;
    min-width: 88px !important;
  }
}


/* Pass 0.1.14 — date pills: full Danish date, blue rounded background, white text */
.ll-events-box .ll-event-date,
.ll-events-box .ll-event-date .elementor-widget-container {
  background: var(--ll-hav) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
}

.ll-events-box .ll-event-date *,
.ll-events-box .ll-event-date .elementor-widget-container * {
  color: #ffffff !important;
}

.ll-events-box .ll-event-date span {
  display: inline !important;
  color: #ffffff !important;
  font-size: inherit !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.ll-events-box .ll-event-card > .elementor-widget-wrap {
  grid-template-columns: minmax(132px, max-content) minmax(0, 1fr) !important;
}

@media (max-width: 781px) {
  .ll-events-box .ll-event-date,
  .ll-events-box .ll-event-date .elementor-widget-container {
    width: max-content !important;
    max-width: 100% !important;
  }
}

/* Remaining page Elementor parity pass */
.ll-page-hero{width:calc(100% - 48px)!important;max-width:1180px!important;margin:18px auto 42px!important;border-radius:28px!important;overflow:hidden!important;position:relative!important;background:#7B9DBF!important;min-height:360px!important;}
.ll-page-hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.58);z-index:1;pointer-events:none;}
.ll-page-hero>.elementor-container{min-height:360px;position:relative;z-index:2;align-items:center;}
.ll-page-hero .elementor-widget-wrap{padding:58px 28px!important;max-width:780px;}
.ll-page-hero h1{color:#fff!important;font-size:clamp(40px,5vw,58px)!important;line-height:1.04!important;margin:0 0 16px!important;font-weight:700!important;}
.ll-page-hero .elementor-widget-text-editor{color:#fff!important;font-size:20px!important;line-height:1.7!important;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.ll-blog-grid,.ll-card-grid{width:calc(100% - 48px)!important;max-width:1180px!important;margin:42px auto!important;}
.ll-card-grid>.elementor-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;}
.ll-card-grid>.elementor-container>.elementor-column,.ll-blog-card{width:auto!important;background:#fff!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 16px 38px rgba(18,61,42,.10)!important;border:1px solid rgba(51,115,83,.12)!important;}
.ll-blog-card>.elementor-widget-wrap{padding:0 22px 22px!important;display:block!important;}
.ll-blog-card .ll-site-image{margin-left:-22px!important;margin-right:-22px!important;}
.ll-blog-card img{height:220px!important;width:100%!important;object-fit:cover!important;border-radius:0!important;}
.ll-blog-card h3{color:var(--ll-black)!important;font-size:22px!important;margin:20px 0 10px!important;}
.ll-blog-card p{color:var(--ll-black)!important;line-height:1.6!important;}
.ll-contact-hero + .ll-two-col .elementor-column:last-child{background:#fff!important;border-radius:22px!important;box-shadow:0 16px 38px rgba(18,61,42,.10)!important;border:1px solid rgba(51,115,83,.12)!important;padding:28px!important;}
.ll-event-scroll{max-height:none!important;overflow:visible!important;padding:0!important;}
.ll-event-scroll>.elementor-container{display:flex!important;flex-wrap:nowrap!important;gap:18px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;padding:4px 4px 18px!important;align-items:stretch!important;}
.ll-event-scroll>.elementor-container>.ll-event-card{flex:0 0 min(82vw,340px)!important;width:min(82vw,340px)!important;max-width:340px!important;min-width:280px!important;margin:0!important;display:block!important;}
.ll-event-card>.elementor-widget-wrap{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:18px!important;align-items:start!important;width:100%!important;}
.ll-scroll-hint{margin-top:12px!important;}
@media(max-width:781px){.ll-page-hero,.ll-blog-grid,.ll-card-grid{width:calc(100% - 28px)!important}.ll-card-grid>.elementor-container{grid-template-columns:1fr!important}.ll-event-card>.elementor-widget-wrap{grid-template-columns:1fr!important}.ll-event-scroll>.elementor-container>.ll-event-card{flex-basis:84vw!important;min-width:0!important}}


/* === 2026-05-18 unified remaining-page polish === */
.ll-page-hero,
.ll-products-hero,
.ll-about-hero,
.ll-events-hero,
.ll-contact-hero,
.ll-blog-hero{
  width:calc(100% - 48px)!important;max-width:1180px!important;margin:18px auto 42px!important;
  border-radius:28px!important;overflow:hidden!important;position:relative!important;min-height:390px!important;
  background-color:var(--ll-hav)!important;background-position:center!important;background-size:cover!important;
}
.ll-page-hero:before,.ll-products-hero:before,.ll-about-hero:before,.ll-events-hero:before,.ll-contact-hero:before,.ll-blog-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,61,42,.78),rgba(18,61,42,.48) 48%,rgba(18,61,42,.16));z-index:1;pointer-events:none;}
.ll-page-hero>.elementor-container,.ll-products-hero>.elementor-container,.ll-about-hero>.elementor-container,.ll-events-hero>.elementor-container,.ll-contact-hero>.elementor-container,.ll-blog-hero>.elementor-container{min-height:390px!important;position:relative!important;z-index:2!important;align-items:center!important;}
.ll-page-hero .elementor-widget-wrap,.ll-products-hero .elementor-widget-wrap,.ll-about-hero .elementor-widget-wrap,.ll-events-hero .elementor-widget-wrap,.ll-contact-hero .elementor-widget-wrap,.ll-blog-hero .elementor-widget-wrap{padding:64px 34px 58px!important;max-width:780px!important;}
.ll-page-hero h1,.ll-products-hero h1,.ll-about-hero h1,.ll-events-hero h1,.ll-contact-hero h1,.ll-blog-hero h1{color:#fff!important;font-size:clamp(42px,5.4vw,64px)!important;line-height:1.03!important;margin:0 0 16px!important;font-weight:700!important;letter-spacing:-.02em!important;}
.ll-page-hero .elementor-widget-text-editor,.ll-products-hero .elementor-widget-text-editor,.ll-about-hero .elementor-widget-text-editor,.ll-events-hero .elementor-widget-text-editor,.ll-contact-hero .elementor-widget-text-editor,.ll-blog-hero .elementor-widget-text-editor{color:#fff!important;font-size:20px!important;line-height:1.7!important;text-shadow:0 2px 16px rgba(0,0,0,.35)!important;max-width:720px!important;}
.ll-blog-grid,.ll-card-grid{width:calc(100% - 48px)!important;max-width:1180px!important;margin:42px auto!important;box-sizing:border-box!important;}
.ll-card-grid>.elementor-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;align-items:stretch!important;}
.ll-card-grid>.elementor-container>.elementor-column,.ll-blog-card{width:auto!important;background:#fff!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 16px 38px rgba(18,61,42,.10)!important;border:1px solid rgba(51,115,83,.12)!important;}
.ll-blog-card>.elementor-widget-wrap{padding:0 22px 22px!important;display:flex!important;flex-direction:column!important;height:100%!important;}
.ll-blog-card .ll-site-image{margin-left:-22px!important;margin-right:-22px!important;width:calc(100% + 44px)!important;}
.ll-blog-card img{height:220px!important;width:100%!important;object-fit:cover!important;border-radius:0!important;display:block!important;}
.ll-blog-card h3{color:var(--ll-black)!important;font-size:22px!important;margin:20px 0 10px!important;line-height:1.16!important;}
.ll-blog-card p{color:var(--ll-black)!important;line-height:1.6!important;}
.ll-blog-card .elementor-widget-button{margin-top:auto!important;}
.ll-contact-hero + .ll-two-col .elementor-column:last-child>.elementor-widget-wrap{background:#fff!important;border-radius:22px!important;box-shadow:0 16px 38px rgba(18,61,42,.10)!important;border:1px solid rgba(51,115,83,.12)!important;padding:30px!important;}
.ll-form-note,.ll-contact-hero + .ll-two-col .elementor-column:last-child .elementor-widget-text-editor:last-child{background:#f9f7f4!important;border:1px dashed rgba(51,115,83,.28)!important;border-radius:18px!important;padding:18px!important;color:var(--ll-black)!important;}
.ll-events-box .ll-event-scroll{max-height:none!important;overflow:visible!important;padding:0!important;}
.ll-events-box .ll-event-scroll>.elementor-container{display:flex!important;flex-wrap:nowrap!important;gap:18px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;padding:4px 4px 18px!important;align-items:stretch!important;}
.ll-events-box .ll-event-scroll>.elementor-container>.ll-event-card{flex:0 0 min(82vw,350px)!important;width:min(82vw,350px)!important;max-width:350px!important;min-width:292px!important;margin:0!important;display:block!important;scroll-snap-align:start!important;}
.ll-events-box .ll-event-card>.elementor-widget-wrap{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:18px!important;align-items:start!important;width:100%!important;}
.ll-events-box .ll-scroll-hint{margin-top:12px!important;text-align:right!important;}
@media(max-width:781px){.ll-page-hero,.ll-products-hero,.ll-about-hero,.ll-events-hero,.ll-contact-hero,.ll-blog-hero,.ll-blog-grid,.ll-card-grid{width:calc(100% - 28px)!important}.ll-card-grid>.elementor-container{grid-template-columns:1fr!important}.ll-events-box .ll-event-card>.elementor-widget-wrap{grid-template-columns:1fr!important}.ll-events-box .ll-event-scroll>.elementor-container>.ll-event-card{flex-basis:84vw!important;min-width:0!important}.ll-page-hero .elementor-widget-wrap,.ll-products-hero .elementor-widget-wrap,.ll-about-hero .elementor-widget-wrap,.ll-events-hero .elementor-widget-wrap,.ll-contact-hero .elementor-widget-wrap,.ll-blog-hero .elementor-widget-wrap{padding:48px 22px!important}}

/* Pass 0.1.17 — responsive heading scale across all staging pages */
body .elementor h1,
body .elementor h2,
body .elementor h3,
body .elementor h4,
body .elementor h5,
body .elementor h6,
body .elementor .elementor-heading-title {
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
  text-wrap: balance;
}

body .elementor h1,
body .elementor .elementor-widget-heading h1.elementor-heading-title,
.ll-home-hero h1,
.ll-page-hero h1,
.ll-products-hero h1,
.ll-about-hero h1,
.ll-events-hero h1,
.ll-contact-hero h1,
.ll-blog-hero h1 {
  font-size: clamp(34px, 7vw, 64px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.025em !important;
}

body .elementor h2,
body .elementor .elementor-widget-heading h2.elementor-heading-title,
.ll-two-col h2,
.ll-about-copy h2,
.ll-products-box h2,
.ll-events-box h2,
.ll-why-box h2,
.ll-cta-box h2 {
  font-size: clamp(28px, 4.8vw, 44px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.018em !important;
}

body .elementor h3,
body .elementor .elementor-widget-heading h3.elementor-heading-title,
.ll-product-slide h3,
.ll-blog-card h3,
.ll-events-box .ll-event-copy h3,
.ll-events-box .ll-event-copy .elementor-heading-title,
.ll-event-card h3,
.ll-why-box h3 {
  font-size: clamp(20px, 3.6vw, 24px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.012em !important;
}

@media (max-width: 781px) {
  body .elementor h1,
  body .elementor .elementor-widget-heading h1.elementor-heading-title,
  .ll-home-hero h1,
  .ll-page-hero h1,
  .ll-products-hero h1,
  .ll-about-hero h1,
  .ll-events-hero h1,
  .ll-contact-hero h1,
  .ll-blog-hero h1 {
    font-size: clamp(31px, 9.4vw, 40px) !important;
    line-height: 1.08 !important;
  }

  body .elementor h2,
  body .elementor .elementor-widget-heading h2.elementor-heading-title,
  .ll-two-col h2,
  .ll-about-copy h2,
  .ll-products-box h2,
  .ll-events-box h2,
  .ll-why-box h2,
  .ll-cta-box h2 {
    font-size: clamp(25px, 7.4vw, 32px) !important;
    line-height: 1.12 !important;
  }

  body .elementor h3,
  body .elementor .elementor-widget-heading h3.elementor-heading-title,
  .ll-product-slide h3,
  .ll-blog-card h3,
  .ll-events-box .ll-event-copy h3,
  .ll-events-box .ll-event-copy .elementor-heading-title,
  .ll-event-card h3,
  .ll-why-box h3 {
    font-size: clamp(19px, 5.4vw, 22px) !important;
    line-height: 1.18 !important;
  }

  .ll-home-hero .elementor-widget-wrap,
  .ll-page-hero .elementor-widget-wrap,
  .ll-products-hero .elementor-widget-wrap,
  .ll-about-hero .elementor-widget-wrap,
  .ll-events-hero .elementor-widget-wrap,
  .ll-contact-hero .elementor-widget-wrap,
  .ll-blog-hero .elementor-widget-wrap {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 430px) {
  body .elementor h1,
  body .elementor .elementor-widget-heading h1.elementor-heading-title,
  .ll-home-hero h1,
  .ll-page-hero h1,
  .ll-products-hero h1,
  .ll-about-hero h1,
  .ll-events-hero h1,
  .ll-contact-hero h1,
  .ll-blog-hero h1 {
    font-size: clamp(28px, 8.5vw, 34px) !important;
    line-height: 1.1 !important;
  }

  body .elementor h2,
  body .elementor .elementor-widget-heading h2.elementor-heading-title,
  .ll-two-col h2,
  .ll-about-copy h2,
  .ll-products-box h2,
  .ll-events-box h2,
  .ll-why-box h2,
  .ll-cta-box h2 {
    font-size: clamp(23px, 6.8vw, 29px) !important;
  }
}

@media (max-width: 360px) {
  body .elementor h1,
  body .elementor .elementor-widget-heading h1.elementor-heading-title,
  .ll-home-hero h1,
  .ll-page-hero h1,
  .ll-products-hero h1,
  .ll-about-hero h1,
  .ll-events-hero h1,
  .ll-contact-hero h1,
  .ll-blog-hero h1 {
    font-size: 27px !important;
  }

  body .elementor h2,
  body .elementor .elementor-widget-heading h2.elementor-heading-title,
  .ll-two-col h2,
  .ll-about-copy h2,
  .ll-products-box h2,
  .ll-events-box h2,
  .ll-why-box h2,
  .ll-cta-box h2 {
    font-size: 24px !important;
  }
}

/* Pass 0.1.18 — mobile text breathing room under responsive headings */
@media (max-width: 781px) {
  .ll-home-hero p,
  .ll-home-hero .elementor-widget-text-editor,
  .ll-page-hero .elementor-widget-text-editor,
  .ll-products-hero .elementor-widget-text-editor,
  .ll-about-hero .elementor-widget-text-editor,
  .ll-events-hero .elementor-widget-text-editor,
  .ll-contact-hero .elementor-widget-text-editor,
  .ll-blog-hero .elementor-widget-text-editor {
    max-width: 34ch !important;
    font-size: clamp(15px, 4vw, 17px) !important;
    line-height: 1.5 !important;
    overflow-wrap: normal !important;
  }

  .ll-home-hero .elementor-widget-wrap,
  .ll-page-hero .elementor-widget-wrap,
  .ll-products-hero .elementor-widget-wrap,
  .ll-about-hero .elementor-widget-wrap,
  .ll-events-hero .elementor-widget-wrap,
  .ll-contact-hero .elementor-widget-wrap,
  .ll-blog-hero .elementor-widget-wrap {
    padding-left: clamp(18px, 6vw, 26px) !important;
    padding-right: clamp(18px, 6vw, 26px) !important;
  }
}

/* Pass 0.1.22 — close mobile header-to-home-hero gap */
@media (max-width: 781px) {
  body.home #content.site-main {
    padding-top: 0 !important;
  }

  body.home .elementor .ll-home-hero,
  body.home .ll-home-hero {
    margin-top: 0 !important;
  }
}

/* Pass 0.1.19 — responsive text scale across all staging pages */
body .elementor p,
body .elementor li,
body .elementor a,
body .elementor span,
body .elementor .elementor-widget-text-editor,
body .elementor .elementor-widget-text-editor p,
body .elementor .elementor-button,
body .elementor .elementor-icon-list-text {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
}

body .elementor p,
body .elementor li,
body .elementor .elementor-widget-text-editor,
body .elementor .elementor-widget-text-editor p {
  font-size: clamp(15px, 1.35vw, 18px) !important;
  line-height: 1.65 !important;
}

body .elementor .ll-pill,
body .elementor .ll-slide-kicker {
  font-size: clamp(11px, 1.05vw, 13px) !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

body .elementor .elementor-button {
  font-size: clamp(14px, 1.25vw, 16px) !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  text-align: center !important;
}

body .elementor .ll-products-box .ll-products-intro,
body .elementor .ll-events-box p,
body .elementor .ll-cta-box p,
body .elementor .ll-page-hero .elementor-widget-text-editor,
body .elementor .ll-products-hero .elementor-widget-text-editor,
body .elementor .ll-about-hero .elementor-widget-text-editor,
body .elementor .ll-events-hero .elementor-widget-text-editor,
body .elementor .ll-contact-hero .elementor-widget-text-editor,
body .elementor .ll-blog-hero .elementor-widget-text-editor {
  font-size: clamp(16px, 1.7vw, 20px) !important;
  line-height: 1.6 !important;
}

body .elementor .ll-product-slide p,
body .elementor .ll-blog-card p,
body .elementor .ll-event-card p,
body .elementor .ll-events-box .ll-event-copy p,
body .elementor .ll-events-box .ll-event-copy .elementor-widget-text-editor {
  font-size: clamp(14px, 1.25vw, 16px) !important;
  line-height: 1.55 !important;
}

@media (max-width: 781px) {
  body .elementor p,
  body .elementor li,
  body .elementor .elementor-widget-text-editor,
  body .elementor .elementor-widget-text-editor p {
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.55 !important;
  }

  body .elementor .ll-home-hero p,
  body .elementor .ll-home-hero .elementor-widget-text-editor,
  body .elementor .ll-page-hero .elementor-widget-text-editor,
  body .elementor .ll-products-hero .elementor-widget-text-editor,
  body .elementor .ll-about-hero .elementor-widget-text-editor,
  body .elementor .ll-events-hero .elementor-widget-text-editor,
  body .elementor .ll-contact-hero .elementor-widget-text-editor,
  body .elementor .ll-blog-hero .elementor-widget-text-editor,
  body .elementor .ll-products-box .ll-products-intro,
  body .elementor .ll-events-box p,
  body .elementor .ll-cta-box p {
    font-size: clamp(15px, 4.2vw, 17px) !important;
    line-height: 1.5 !important;
    max-width: 36ch !important;
  }

  body .elementor .ll-product-slide p,
  body .elementor .ll-blog-card p,
  body .elementor .ll-event-card p,
  body .elementor .ll-events-box .ll-event-copy p,
  body .elementor .ll-events-box .ll-event-copy .elementor-widget-text-editor {
    font-size: clamp(14px, 3.9vw, 15.5px) !important;
    line-height: 1.5 !important;
  }

  body .elementor .elementor-button {
    font-size: clamp(13px, 3.8vw, 15px) !important;
    line-height: 1.2 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body .elementor .ll-pill,
  body .elementor .ll-slide-kicker,
  body .elementor .ll-scroll-hint {
    font-size: clamp(11px, 3.3vw, 13px) !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 430px) {
  body .elementor p,
  body .elementor li,
  body .elementor .elementor-widget-text-editor,
  body .elementor .elementor-widget-text-editor p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  body .elementor .elementor-button {
    font-size: 14px !important;
  }
}

/* Header parity with live lovelangeland.dk */
#site-header.site-header {
  background: #fff !important;
  border-bottom: 1px solid rgba(52,52,52,.08) !important;
  box-shadow: none !important;
}
#site-header .header-inner {
  max-width: 1140px !important;
  min-height: 90px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}
#site-header .site-branding,
#site-header .site-logo,
#site-header .custom-logo-link {
  display: flex !important;
  align-items: center !important;
}
#site-header .custom-logo {
  width: 210px !important;
  max-width: 210px !important;
  height: auto !important;
  display: block !important;
}
#site-header .site-navigation ul.menu {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#site-header .site-navigation a {
  color: #1a1a1a !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
#site-header .site-navigation a:hover,
#site-header .site-navigation .current-menu-item > a,
#site-header .site-navigation .current_page_item > a {
  color: #7B9DBF !important;
}
.page-header { display: none !important; }
#content.site-main {
  padding-top: 0 !important;
}
@media (max-width: 1024px) {
  #site-header .header-inner { min-height: 78px !important; }
  #site-header .custom-logo { width: 160px !important; max-width: 160px !important; }
  #site-header .site-navigation { display: none !important; }
  #site-header .site-navigation-toggle-holder { display: flex !important; }
  #site-header .site-navigation-dropdown ul.menu { margin: 0 !important; padding: 12px 24px 20px !important; list-style: none !important; }
  #site-header .site-navigation-dropdown a { color:#1a1a1a !important; font-family: Montserrat, Arial, sans-serif !important; font-weight:600 !important; text-decoration:none !important; }
}
