.elementor-kit-7{--e-global-color-primary:#2F3045;--e-global-color-secondary:#FFB800;--e-global-color-text:#1E1E1E;--e-global-color-accent:#1AB9DF;--e-global-color-ca1c097:#F3F3F3;--e-global-color-70bcf84:#FFE7A2;--e-global-color-7a489e6:#FFF3D2;--e-global-color-d2a08e0:#FFFAEB;--e-global-color-c48c6b8:#14AE5C;--e-global-color-81acdf2:#26C7F1;--e-global-color-15479d5:#585B71;--e-global-color-17f3217:#767676;--e-global-color-ed4deef:#B3B3B3;--e-global-color-f685a1f:#D9D9D9;--e-global-color-4e6ef9f:#000000;--e-global-color-77f1916:#FFFFFF;--e-global-color-6a6e64c:#126FA6;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Space Grotesk";--e-global-typography-secondary-font-size:50px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-secondary-letter-spacing:-1px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;--e-global-typography-a8fff28-font-family:"Space Grotesk";--e-global-typography-a8fff28-font-size:50px;--e-global-typography-a8fff28-font-weight:400;--e-global-typography-a8fff28-text-transform:uppercase;--e-global-typography-a8fff28-line-height:1.1em;--e-global-typography-a8fff28-letter-spacing:0.6px;--e-global-typography-8ef352c-font-family:"Space Grotesk";--e-global-typography-8ef352c-font-size:32px;--e-global-typography-8ef352c-font-weight:600;--e-global-typography-8ef352c-line-height:1.1em;--e-global-typography-fb5ac74-font-family:"Space Grotesk";--e-global-typography-fb5ac74-font-size:24px;--e-global-typography-fb5ac74-line-height:1.2em;--e-global-typography-80b3de2-font-family:"Inter";--e-global-typography-80b3de2-font-size:14px;--e-global-typography-80b3de2-font-weight:500;--e-global-typography-a510e40-font-family:"Space Grotesk";--e-global-typography-a510e40-font-size:48px;--e-global-typography-a510e40-font-weight:700;--e-global-typography-a510e40-line-height:1em;--e-global-typography-617d9fb-font-family:"Space Grotesk";--e-global-typography-617d9fb-font-size:32px;--e-global-typography-617d9fb-font-weight:600;--e-global-typography-617d9fb-line-height:1.1em;--e-global-typography-18ef2f6-font-family:"Space Grotesk";--e-global-typography-18ef2f6-font-size:25px;--e-global-typography-18ef2f6-font-weight:600;--e-global-typography-18ef2f6-line-height:1.1em;--e-global-typography-263e7f4-font-family:"Space Grotesk";--e-global-typography-263e7f4-font-size:26px;--e-global-typography-263e7f4-font-weight:600;--e-global-typography-263e7f4-line-height:1.1em;color:var( --e-global-color-text );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-6a6e64c );font-weight:500;}.elementor-kit-7 a:hover{color:var( --e-global-color-accent );}.elementor-kit-7 h1{color:var( --e-global-color-text );}.elementor-kit-7 h2{color:var( --e-global-color-text );font-family:"Space Grotesk", Sans-serif;font-size:32px;font-weight:600;line-height:1.1em;}.elementor-kit-7 h3{color:var( --e-global-color-text );font-family:"Space Grotesk", Sans-serif;font-size:21px;font-weight:700;line-height:1.1em;}.elementor-kit-7 h4{color:var( --e-global-color-text );font-family:"Space Grotesk", Sans-serif;font-size:18px;font-weight:600;line-height:1.1em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{color:var( --e-global-color-text );border-radius:8px 8px 8px 8px;padding:12px 024px 12px 24px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{color:var( --e-global-color-15479d5 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:010px;--container-default-padding-right:10px;--container-default-padding-bottom:10px;--container-default-padding-left:10px;}.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-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:46px;--e-global-typography-primary-line-height:1em;--e-global-typography-secondary-font-size:34px;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-a8fff28-font-size:33px;--e-global-typography-a8fff28-line-height:1.1em;--e-global-typography-8ef352c-line-height:1.1em;--e-global-typography-a510e40-line-height:1em;--e-global-typography-18ef2f6-font-size:21px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*
Theme Name: LFM30
Template: hello-elementor
Text Domain: hello-elementor-child
Version: 1.0
*/

/* ═══════════════════════════════════════════════════════════════
   LFM30 – Global Stylesheet
   Organiserad i sektioner:
   1.  Reset & globala fixes
   2.  Typografi
   3.  Header & navigation
   4.  Megameny-knapp (hamburger)
   5.  Kontakt-toggle (fast knapp)
   6.  Sökfält (global live search)
   7.  Animationer & hover
   8.  Kort & listor
   9.  Tidslinje-widget
   10. Statistiklista
   11. Logo-ticker
   12. Bildtext
   13. Blockquote & innehållslistor
   14. Kontaktformulär
   15. Stilar knappar
   16. Event
   ═══════════════════════════════════════════════════════════════ */


/* ── 1. Reset & globala fixes ─────────────────────────────────── */

/* Ta bort rosa fokusram på knappar – BARA i formulär, inte globalt */
.elementor-widget-form [type="button"],
.elementor-widget-form [type="submit"] {
    border: none !important;
    outline: none !important;
}

#tribe-events-pg-template
 {
    margin: 0 auto;
    max-width: inherit!important;
}

/* ── 2. Typografi ─────────────────────────────────────────────── */

h1, h2, h3, h4, h5, h6 {
    margin-block-end: 0.3rem;
    margin-block-start: 1.5rem;
}

/* Blockquote / citat */
.wp-block-quote,
blockquote {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 36px;
    gap: 16px;
    border-left: 4px solid #FFC726;
    border-radius: 0 14px 14px 0;
    margin: 32px 0;
    background: none;
}

.wp-block-quote p,
blockquote p {
    font-family: 'Space Grotesk', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 120%;
    color: #1E1E1E;
    margin: 0;
}

.wp-block-quote cite,
blockquote cite {
    font-family: 'Inter', sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #1E1E1E;
}

/* Punktlistor i inlägg/sidor */
.wp-block-list,
.entry-content ul,
.entry-content ol {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 16px;
    list-style: none;
    margin: 0;
}

.wp-block-list li,
.entry-content ul li,
.entry-content ol li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 140%;
    color: #1E1E1E;
    margin: 0;
    padding: 0;
}

/* Grön punkt */
.entry-content ul li::before {
    content: '';
    display: block;
    min-width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #30C975;
    margin-top: 7px;
}

/* Numrerad lista */
.entry-content ol {
    counter-reset: lfm-counter;
}

.entry-content ol li::before {
    counter-increment: lfm-counter;
    content: counter(lfm-counter) '.';
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #1E1E1E;
    min-width: 20px;
}


.extlink a::after {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  margin-left: 0.25em;
  vertical-align: middle;
  position: relative;
  top: -0.1em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3zM5 5h5v2H5v12h12v-5h2v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3zM5 5h5v2H5v12h12v-5h2v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.elementor-widget-theme-post-content a:not(.elementor-button),
.elementor-widget-text-editor a:not(.elementor-button) {
    color: var(--e-global-color-6a6e64c, #126FA6) !important;
    font-weight: 700 !important;
}

.elementor-widget-theme-post-content a:not(.elementor-button):hover,
.elementor-widget-text-editor a:not(.elementor-button):hover {
    color: var(--e-global-color-secondary) !important;
}


/* ── 3. Header & navigation ───────────────────────────────────── */

.elementor-nav-menu--main .elementor-item,
.hover-lift {
    display: inline-block;
    transition: transform 0.25s ease;
}
.elementor-nav-menu--main .elementor-item:hover,
.hover-lift:hover {
    transform: translateY(-3px);
}

/* Search i header – ovanpå megamenyn (som har z-index 100) */
.elementor-location-header .lfm30-search-wrap,
.elementor-location-header .lfm30-search-dropdown {
    z-index: 99 !important;
}

/* Search på sidor – lägre, ska inte täcka megamenyn */
.elementor-section .lfm30-search-wrap,
.elementor-section .lfm30-search-dropdown {
    z-index: 50 !important;
}


/* ── 4. Megameny-knapp (hamburger) ────────────────────────────── */

.hb {
    display: flex;
    flex-direction: column;
    gap: 3.5px;
    width: 14px;
}

.hb span {
    display: block;
    height: 1.6px;
    background: #303030;
    border-radius: 2px;
    transition: transform .3s, opacity .3s;
    transform-origin: center;
}

/* Hover – mittenstrecket höger, understrecket vänster */
.meny-toggle:hover .hb span:nth-child(2) {
    transform: translateX(3px);
    transition: transform .2s ease;
}
.meny-toggle:hover .hb span:nth-child(3) {
    transform: translateX(-3px);
    transition: transform .2s ease;
}

/* Animering till kryss när menyn är öppen */
body:has(#off-canvas-12943fc[aria-hidden="false"]) .meny-toggle .hb span:nth-child(1) {
    transform: translateY(5.1px) rotate(45deg);
}
body:has(#off-canvas-12943fc[aria-hidden="false"]) .meny-toggle .hb span:nth-child(2) {
    opacity: 0;
}
body:has(#off-canvas-12943fc[aria-hidden="false"]) .meny-toggle .hb span:nth-child(3) {
    transform: translateY(-5.1px) rotate(-45deg);
}

/* Text-byte: Meny → Stäng */
body:has(#off-canvas-12943fc[aria-hidden="false"]) .meny-toggle .elementor-button-text {
    visibility: hidden;
    position: relative;
}
body:has(#off-canvas-12943fc[aria-hidden="false"]) .meny-toggle .elementor-button-text::after {
    content: 'Stäng';
    visibility: visible;
    position: absolute;
    left: 0;
}

/* Färgbyte på knappbakgrund */
.meny-toggle .elementor-button {
    transition: background-color .3s ease;
}
body:has(#off-canvas-12943fc[aria-hidden="false"]) .meny-toggle .elementor-button {
    background-color: #f0f0f0;
}


/* ── 5. Kontakt-toggle (fast knapp höger sida) ────────────────── */

.contact-toggle {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    z-index: 100000 !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
}
.contact-toggle.is-visible {
    opacity: 1;
    pointer-events: auto;
}

/* Popup-panel */
#off-canvas-cf365a3 {
    position: fixed !important;
    transform: none !important;
    transition: opacity 0.3s ease !important;
    opacity: 0;
    pointer-events: none;
    will-change: opacity;
    backface-visibility: hidden;
}
#off-canvas-cf365a3[aria-hidden="false"] {
    opacity: 1;
    pointer-events: none;  /* var: all */
}
#off-canvas-cf365a3[aria-hidden="false"] .e-off-canvas__content {
    pointer-events: all;  /* bara själva panelen tar klick */
}
#off-canvas-cf365a3 .e-off-canvas__overlay {
    display: none !important;
}

/* Ikonbyte kuvert → kryss */
body:has(#off-canvas-cf365a3[aria-hidden="false"]) .contact-toggle .icon-envelope {
    opacity: 0;
    transform: rotate(90deg);
}
body:has(#off-canvas-cf365a3[aria-hidden="false"]) .contact-toggle .icon-close {
    opacity: 1 !important;
    transform: rotate(0deg) !important;
}

/* Text-byte */
.contact-toggle .elementor-button-text {
    transition: opacity .3s;
}
body:has(#off-canvas-cf365a3[aria-hidden="false"]) .contact-toggle .elementor-button-text {
    visibility: hidden;
    position: relative;
}
body:has(#off-canvas-cf365a3[aria-hidden="false"]) .contact-toggle .elementor-button-text::after {
    content: 'Stäng';
    visibility: visible;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

/* Dölj ikonen tills JS kört */
.contact-toggle .elementor-button-icon {
    visibility: hidden;
}
.contact-toggle .elementor-button-icon.js-ready {
    visibility: visible;
    width: 48px !important;
    height: 48px !important;
    font-size: 48px !important;
    line-height: 1 !important;
}

/* SVG-storlek */
.contact-toggle .icon-envelope,
.contact-toggle .icon-close {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
}


/* ── 6. Sökfält – Global Live Search ──────────────────────────── */

/* Wrapper */
.lfm30-search-wrap {
    position: relative;
    width: 100%;
    max-width: 554px;
}
.lfm30-search-wrap--hero   { margin: 0 auto; }
.lfm30-search-wrap--header { max-width: 380px; }

/* Sökfält */
.lfm30-search-field {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 0 0 18px;
    background: #fff;
    border: 1.5px solid var(--e-global-color-accent) !important;
    border-radius: 10px;
    box-sizing: border-box;
    overflow: hidden;
    transition: box-shadow .2s;
}
.lfm30-search-field:focus-within {
    box-shadow: 0 0 0 3px rgba(26,185,223,.2);
}
.lfm30-search-wrap:has(.lfm30-search-dropdown:not([hidden])) .lfm30-search-field {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* Sök-ikon vänster */
.lfm30-search-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    margin-right: 10px;
    color: var(--e-global-color-17f3217);
    line-height: 0;
}

/* Input */
.lfm30-search-input {
    flex: 1;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0;
    height: 100%;
    font-size: 15px;
    color: var(--e-global-color-text);
}
.lfm30-search-input::placeholder       { color: var(--e-global-color-17f3217); }
.lfm30-search-input::-webkit-search-cancel-button { display: none; }

/* Rensa-knapp */
.lfm30-search-wrap .lfm30-search-clear {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 4px !important;
    padding: 6px !important;
    border: none !important;
    border-radius: 50% !important;
    background: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    color: var(--e-global-color-17f3217) !important;
    transition: background .15s !important;
}
.lfm30-search-wrap .lfm30-search-clear:hover {
    background: var(--e-global-color-ca1c097) !important;
    color: var(--e-global-color-text) !important;
}

/* Sök-knapp höger */
.lfm30-search-wrap .lfm30-search-btn {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 100% !important;
    background: var(--e-global-color-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 8.5px 8.5px 0 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    line-height: 0;
    transition: background .15s !important;
}
.lfm30-search-wrap .lfm30-search-btn:hover {
    background: var(--e-global-color-81acdf2) !important;
}
.lfm30-search-wrap:has(.lfm30-search-dropdown:not([hidden])) .lfm30-search-btn {
    border-bottom-right-radius: 3px !important;
}

/* Dropdown */
.lfm30-search-dropdown {
    position: absolute;
    top: calc(56px - 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1.5px solid var(--e-global-color-accent);
    border-top-color: #e0f9fd;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 8px 32px rgba(26,185,223,.13), 0 2px 8px rgba(0,0,0,.06);
    max-height: 480px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--e-global-color-accent) transparent;
}

/* Resultatlista */
.lfm30-sr-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 6px 0 !important;
}
.lfm30-sr-item { margin: 0 !important; padding: 0 !important; }

.lfm30-sr-link {
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    padding: 9px 14px !important;
    text-decoration: none !important;
    color: var(--e-global-color-text) !important;
    transition: background .1s !important;
}
.lfm30-sr-item:hover .lfm30-sr-link,
.lfm30-sr-item.is-active .lfm30-sr-link {
    background: #f0fbfe !important;
}

/* Ikon-cirkel */
.lfm30-sr-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    line-height: 0;
    background: #e0f9fd;
    color: #0e8aaa;
}
.lfm30-sr-icon--news         { background: #fff8e1; color: #a06000; }
.lfm30-sr-icon--page         { background: var(--e-global-color-ca1c097); color: var(--e-global-color-15479d5); }
.lfm30-sr-icon--project      { background: #e8f4ff; color: #1e40af; }
.lfm30-sr-icon--research     { background: #fff0f6; color: #9d174d; }
.lfm30-sr-icon--document     { background: #f5f3ff; color: #5b21b6; }
.lfm30-sr-icon--person       { background: #f0fdf4; color: var(--e-global-color-c48c6b8); }
.lfm30-sr-icon--organisation { background: var(--e-global-color-d2a08e0); color: #92400e; }
.lfm30-sr-icon--event        { background: #ede9fe; color: #6d28d9; }
.lfm30-sr-icon--category     { background: var(--e-global-color-ca1c097); color: var(--e-global-color-15479d5); }
.lfm30-sr-icon--tag          { background: var(--e-global-color-7a489e6); color: #a06000; }

/* Text */
.lfm30-sr-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.lfm30-sr-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--e-global-color-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}
.lfm30-sr-excerpt {
    font-size: 12px;
    color: var(--e-global-color-17f3217);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Badge */
.lfm30-sr-badge {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 20px;
    background: var(--e-global-color-ca1c097);
    color: var(--e-global-color-17f3217);
    white-space: nowrap;
    border: 1px solid var(--e-global-color-f685a1f);
}

/* Highlight */
.lfm30-sr-title mark {
    background: #cdf4fd;
    color: #0e6e8a;
    padding: 0 1px;
    border-radius: 2px;
    font-weight: 700;
}

/* Visa alla */
.lfm30-sr-showall { border-top: 1px solid #e0f9fd; }
.lfm30-sr-showall-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
    padding: 10px 14px !important;
    font-size: 13px;
    font-weight: 500;
    color: var(--e-global-color-accent) !important;
    text-decoration: none !important;
}
.lfm30-sr-showall-link:hover,
.lfm30-sr-showall.is-active .lfm30-sr-showall-link {
    background: #f0fbfe !important;
}

/* Tom / laddning */
.lfm30-sr-empty,
.lfm30-sr-loading {
    padding: 14px 18px;
    font-size: 13px;
    color: var(--e-global-color-17f3217);
}
.lfm30-sr-loading::after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-left: 8px;
    border: 2px solid var(--e-global-color-accent);
    border-top-color: transparent;
    border-radius: 50%;
    animation: lfm-spin .6s linear infinite;
    vertical-align: middle;
}
@keyframes lfm-spin { to { transform: rotate(360deg); } }

/* Tillgänglighet */
.lfm30-sr-link:focus-visible {
    outline: 2px solid var(--e-global-color-accent);
    outline-offset: -2px;
}

/* Mobil */
@media (max-width: 600px) {
    .lfm30-search-wrap--hero { max-width: 100%; }
    .lfm30-sr-excerpt        { display: none; }
}


/* ── 7. Animationer & hover ───────────────────────────────────── */

/* Animerade mittensektioner */
.animerade-sektioner > .e-con {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    will-change: opacity, transform;
}
.elementor-editor-active .animerade-sektioner > .e-con {
    opacity: 1 !important;
    transform: none !important;
}

/* Avdelare mellan kolumner */
.mitten-avdelare > .e-con {
    position: relative;
}
.mitten-avdelare > .e-con:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 10%;
    height: 80%;
    width: 1px;
    background: #D9D9D9;
    transform: translateX(calc(50% + 15px));
}
@media (max-width: 1024px) {
    .mitten-avdelare > .e-con:not(:last-child)::after {
        right: auto;
        top: auto;
        left: 10%;
        bottom: 0;
        width: 80%;
        height: 1px;
        transform: translateY(50%);
    }
}

/* Animerad ikonlista */
.elementor-widget-icon-list.animerad-lista .elementor-icon-list-item {
    opacity: 0;
    transform: translateX(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    will-change: opacity, transform;
}
.elementor-editor-active .elementor-widget-icon-list.animerad-lista .elementor-icon-list-item {
    opacity: 1 !important;
    transform: none !important;
}
.elementor-editor-active .animerad-loop .e-loop-item {
    opacity: 1 !important;
    transform: none !important;
}

/* Arrow-card – fadeUp + hover */
.arrow-card {
    opacity: 0;
    animation: fadeUp 0.5s ease forwards;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.arrow-card:nth-child(1) { animation-delay: 0.1s; }
.arrow-card:nth-child(2) { animation-delay: 0.2s; }
.arrow-card:nth-child(3) { animation-delay: 0.3s; }

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(15px); }
    to   { opacity: 1; transform: translateY(0); }
}

.arrow-card .arrow-diagonal { transition: transform 0.3s ease; }
.arrow-card:hover .arrow-diagonal { transform: translate(4px, -4px) !important; }

.arrow-card .arrow-scale { transition: transform 0.3s ease; }
.arrow-card:hover .arrow-scale { transform: scale(1.2); }

.elementor-editor-active .arrow-card {
    opacity: 1 !important;
    animation: none !important;
}

/* Extern länk-ikon */
a:has(.extern-ikon) { display: inline; }
.extern-ikon {
    display: inline-flex;
    vertical-align: middle;
    margin-left: 4px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
a:has(.extern-ikon):hover .extern-ikon {
    transform: translateX(4px);
}

/* Ikon-knapp SVG fill */
.elementor-button .elementor-button-icon svg {
    fill: currentColor;
}

.pilknapp-hover .arrow-right {
  transition: transform 0.3s ease;
}

.pilknapp-hover:hover .arrow-right {
  transform: translateX(5px);
}


/* ── 8. Kort & listor ─────────────────────────────────────────── */

/* List-hover (rad) */
.list-hover {
    transition: background-color 0.3s ease;
}
.list-hover:hover {
    background-color: #FFF3D2;
}
.list-hover .arrow-right { transition: transform 0.3s ease; }
.list-hover:hover .arrow-right { transform: translateX(5px); }

/* List-card (kort) */
.list-card {
    transition: background-color 0.3s ease, transform 0.3s ease;
}
.list-card:hover {

    transform: translateY(-4px);
}
.list-card .arrow-right { transition: transform 0.3s ease; }
.list-card:hover .arrow-right { transform: translateX(5px); }


.truncate-2.elementor-icon-box-description,
.truncate-2 .elementor-icon-box-description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lfm30-related-news__heading {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 1rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.lfm30-related-news__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lfm30-related-news__item {
    border-top: 1px solid #e0e0e0;
    padding-top: 1rem;
}

.lfm30-related-news__link {
    display: flex;
    flex-direction: column; /* Ändrat från row */
    gap: .5rem;
    text-decoration: none;
    color: inherit;
}

.lfm30-related-news__link:hover .lfm30-related-news__title {
    text-decoration: underline;
}

.lfm30-related-news__thumb img {
    width: 100px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

.lfm30-related-news__text {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.lfm30-related-news__date {
    font-size: .75rem;
    color: #666;
}

.lfm30-related-news__title {
    font-size: .9rem;
    line-height: 1.3;
}

.lfm30-related-news__excerpt {
    font-size: .8rem;
    color: #555;
    margin: 0;
    line-height: 1.4;
}


.lfm30-related-events__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lfm30-related-events__item {
    border-top: 1px solid #e0e0e0;
    padding-top: 1rem;
}

.lfm30-related-events__link {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    text-decoration: none;
    color: inherit;
}

.lfm30-related-events__link:hover .lfm30-related-events__title {
    text-decoration: underline;
}

.lfm30-related-events__thumb img {
    width: 100px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

.lfm30-related-events__date {
    font-size: .75rem;
    color: #666;
    display: flex;
    gap: .4rem;
}

.lfm30-related-events__title {
    font-size: .9rem;
    line-height: 1.3;
}

.lfm30-related-events__excerpt {
    font-size: .8rem;
    color: #555;
    margin: 0;
    line-height: 1.4;
}



.lfm30-relationer__grupp + .lfm30-relationer__grupp {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e0e0e0;
}

.lfm30-relationer__rubrik {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #666;
    margin: 0 0 .5rem;
}

.lfm30-relationer .lfm30-sr-item + .lfm30-sr-item {
    border-top: 1px solid #f0f0f0;
}

.lfm30-relationer .lfm30-sr-item:hover .lfm30-sr-link {
    background: #FFE7A2 !important;
}


/* ── 9. Tidslinje-widget ──────────────────────────────────────── */

.lfm-timeline .elementor-price-list-item {
    display: grid !important;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto;
    gap: 2px 28px;
    align-items: start;
    text-decoration: none;
}
.lfm-timeline .elementor-price-list-text    { display: contents !important; }
.lfm-timeline .elementor-price-list-header  { display: contents !important; }

.lfm-timeline .elementor-price-list-price {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--e-global-color-70bcf84) !important;
    font-weight: 600;
    font-size: 18px;
}
.lfm-timeline .elementor-price-list li:first-child .elementor-price-list-price {
    background-color: var(--e-global-color-accent) !important;
    color: #fff;
}

.lfm-timeline .elementor-price-list-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center;
}
.lfm-timeline .elementor-price-list-description {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: -10px 0 0 0 !important;
}
.lfm-timeline .elementor-price-list-separator { display: none !important; }

.lfm-timeline .elementor-price-list li {
    position: relative;
    padding-bottom: 32px;
    margin-bottom: 0 !important;
    list-style: none;
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.lfm-timeline .elementor-price-list li:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 31px;
    top: 64px;
    width: 2px;
    height: calc(100% - 64px);
    background-color: var(--e-global-color-70bcf84) !important;
}
.lfm-timeline .elementor-price-list li:first-child:not(:last-child)::after {
    background-color: var(--e-global-color-accent) !important;
}


/* ── Flip Card ── */
.flip-card {
  cursor: pointer;
  perspective: 1000px;
  height: 400px;
}

.flip-card > .e-con-inner {
  width: 100%;
  max-width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.flip-front,
.flip-back {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.flip-back {
  transform: rotateY(180deg);
}

@media (hover: hover) {
  .flip-card:hover > .e-con-inner {
    transform: rotateY(180deg);
  }
}

.flip-card.is-flipped > .e-con-inner {
  transform: rotateY(180deg);
}

.elementor-editor-active .flip-front,
.elementor-editor-active .flip-back {
  position: relative !important;
  transform: none !important;
}

.elementor-editor-active .flip-back {
  opacity: 0.5;
}



/* ── 10. Statistiklista ───────────────────────────────────────── */

.lfm-stat-list .elementor-price-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.lfm-stat-list .elementor-price-list-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 24px 40px;
    background: #FFF3D2;
    border-radius: 14px;
    width: 100%;
    box-sizing: border-box;
}
.lfm-stat-list .elementor-price-list-description      { display: none; }
.lfm-stat-list .elementor-price-list-separator-container { display: none; }

.lfm-stat-list .elementor-price-list-title {
    display: inline-block;
    transition: transform 0.25s ease;
}
.lfm-stat-list .elementor-price-list-item:hover .elementor-price-list-title {
    transform: scale(1.04);
}


/* ── 11. Logo-ticker ──────────────────────────────────────────── */

.lfm30-ticker-wrap {
    overflow: hidden;
    display: flex;
    width: 100%;
}
.lfm30-ticker-track {
    display: flex;
    align-items: center;
    gap: 60px;
    flex-shrink: 0;
    min-width: 100%;
    padding-right: 40px;
    animation: lfm30-scroll 400s linear infinite;
}
.lfm30-ticker-item img {
    width: 100px;
    height: 60px;
    object-fit: contain;
}
@keyframes lfm30-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-100%); }
}


/* ── 12. Bildtext ─────────────────────────────────────────────── */

figure.wp-caption {
    position: relative;
}
figcaption.widget-image-caption {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: #FFFAEB;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 0.8em !important;
    font-style: normal !important;
    margin: 0;
}


/* ── 13. Kontaktformulär (ENDAST popup "Kontaktrutan") ────────────
   Scope: .elementor-element-a0c20b0 = det specifika form-widget-ID:t.
   Ikoner/styling gäller bara popup-formuläret – inga andra formulär.
   ─────────────────────────────────────────────────────────────── */

.elementor-element-a0c20b0 .elementor-field-group-name,
.elementor-element-a0c20b0 .elementor-field-group-email,
.elementor-element-a0c20b0 .elementor-field-group-message {
    position: relative;
}

.elementor-element-a0c20b0 .elementor-field-group-name input,
.elementor-element-a0c20b0 .elementor-field-group-email input,
.elementor-element-a0c20b0 .elementor-field-group-message textarea {
    border: 1px solid #009951 !important;
    border-radius: 10px !important;
    padding: 12px 16px 12px 44px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1E1E1E !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.elementor-element-a0c20b0 .elementor-field-group-message textarea {
    padding-left: 44px !important;
    resize: vertical;
}

/* Person-ikon (namn) */
.elementor-element-a0c20b0 .elementor-field-group-name::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='6' r='3' stroke='%23303030' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3 15.75v-1.5a4.5 4.5 0 0 1 4.5-4.5h3A4.5 4.5 0 0 1 15 14.25v1.5' stroke='%23303030' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

/* E-post-ikon */
.elementor-element-a0c20b0 .elementor-field-group-email::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Crect x='1.5' y='3' width='15' height='12' rx='1.5' stroke='%23303030' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.5 4.5 9.818 9.773a1.5 1.5 0 0 1-1.636 0L1.5 4.5' stroke='%23303030' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

/* Meddelande-ikon */
.elementor-element-a0c20b0 .elementor-field-group-message::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 16px;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Crect x='1.5' y='1.5' width='15' height='12' rx='1.5' stroke='%23303030' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.5 16.5 1.5 13.5' stroke='%23303030' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}


/* ── 14. Sökresultatsida ──────────────────────────────────────── */

/* Mer space mellan sökresultat */
#lfm30-sr-list .lfm30-sr-page__inner {
    gap: 12px !important;
}

/* Thumbnail object-fit */
#lfm30-sr-list .lfm30-sr-page__thumb {
    overflow: hidden !important;
}
#lfm30-sr-list .lfm30-sr-page__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    max-width: none !important;
}

/* ── 15. Stilar Knappar ──────────────────────────────────────── */

.tribe-common-c-btn {
    background-color: #FFB800!important;
    color: black!important;
}

.tribe-common-c-btn:hover {
 background-color: #FFE7A2!important;
}


/* ── 16. Event venue box ─────────────────────────────────── */



/* =========================================================
   LFM30 – Venue card (The Events Calendar / Elementor)
   ========================================================= */

.tec-events-elementor-event-widget__venue-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  background: #FFF3D2 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  width: 100% !important;           /* override fit-content */
  max-width: 400px !important;
  height: auto !important;          /* override fit-content */
  grid-template-columns: unset !important;
  grid-template-rows: unset !important;
  justify-content: flex-start !important;
  border: none !important;          /* ta bort TEC-border */
  margin: 0 !important;
}

/* Karta överst – fast höjd */
.tec-events-elementor-event-widget__venue-map {
  order: -1 !important;
  width: 100% !important;
  height: 270px !important;
  min-height: 270px !important;
  line-height: 0 !important;
  max-width: none!important;
}

.tec-events-elementor-event-widget__venue-map iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

/* Detaljer-wrapper */
.tec-events-elementor-event-widget__venue-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 0px !important;
  padding: 40px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

 
/* "PLATS"-etikett ovanför venue-namn */
.tec-events-elementor-event-widget__venue-name::before {
  content: 'PLATS' !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0.1em !important;
  color: #303030 !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}

/* Venue-namn */
.tec-events-elementor-event-widget__venue-name {
  margin: 0 !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  line-height: 120% !important;
  letter-spacing: -0.02em !important;
  color: #303030 !important;
}

/* Adress + telefon */
.tec-events-elementor-event-widget__venue-address,
.tec-events-elementor-event-widget__venue-phone,
.tec-events-elementor-event-widget__venue-website {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 140% !important;
  color: #1E1E1E !important;
}

.tec-events-elementor-event-widget__venue-address address {
  font-style: normal !important;
  margin: 0 !important;
}

.tec-events-elementor-event-widget__venue-phone p,
.tec-events-elementor-event-widget__venue-website p {
  margin: 0 !important;
}

/* Länkar */
.tec-events-elementor-event-widget__venue-details a {
  color: #303030 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.tec-events-elementor-event-widget__venue-details a:hover {
  text-decoration: none !important;
}

.tec-events-elementor-event-widget__venue-address-map-link a {
  font-weight: 500 !important;
  color: #0F172B !important;
}

/* Responsivt */
@media (max-width: 640px) {
  .tec-events-elementor-event-widget__venue-details { padding: 24px !important; }
  .tec-events-elementor-event-widget__venue-name { font-size: 32px !important; }
  .tec-events-elementor-event-widget__venue-map { height: 200px !important; min-height: 200px !important; }
}


/* =========================================================
   LFM30 – Organisationsfält i RSVP-formuläret
   ========================================================= */

.lfm30-rsvp-org-field {
  margin-top: 12px;
}

.lfm30-rsvp-org-field .tribe-tickets__form-field-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #303030 !important;
}

.lfm30-rsvp-org-field input {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  padding: 10px 14px !important;
  border: 1px solid #D9D9D9 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #1E1E1E !important;
}

.lfm30-rsvp-org-field input:focus {
  border-color: #2F3045 !important;
  outline: none !important;
}

/* =========================================================
   LFM30 – RSVP restyling
   ========================================================= */

/* Hela blocket: ingen bakgrund, ram eller padding */
.tribe-tickets__rsvp,
.tribe-tickets__rsvp-wrapper,
.event-tickets,
#rsvp-now {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Knapp överst via column-reverse */
.tribe-tickets__rsvp.tribe-common-g-row {
  display: flex !important;
  flex-direction: column-reverse !important;
  gap: 12px !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Kolumner: full bredd, nollställ allt centrerat */
.tribe-tickets__rsvp-details-wrapper,
.tribe-tickets__rsvp-actions-wrapper {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-left: none !important;
  justify-content: flex-start !important;
  text-align: left !important;
  align-items: flex-start !important;
  flex: none !important;
  display: block !important;
}

/* Dölj titel och beskrivning */
.tribe-tickets__rsvp-title,
.tribe-tickets__rsvp-description {
  display: none !important;
}

/* Info-rad: attendance + availability på en linje */
.tribe-tickets__rsvp-details {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  padding: 0 !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

.tribe-tickets__rsvp-attendance,
.tribe-tickets__rsvp-availability {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Separator · mellan de två blocken */
.tribe-tickets__rsvp-attendance::after {
  content: '·' !important;
  margin-left: 4px !important;
  color: #767676 !important;
}

/* Samma typografi på all info */
.tribe-tickets__rsvp-attendance-number,
.tribe-tickets__rsvp-attendance-going,
.tribe-tickets__rsvp-availability,
.tribe-tickets__rsvp-availability-quantity {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #303030 !important;
  margin: 0 !important;
}

/* Knapp-wrappers: vänsterställda */
.tribe-tickets__rsvp-actions {
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tribe-tickets__rsvp-actions-rsvp {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tribe-tickets__rsvp-actions-rsvp-going {
  display: flex !important;
  justify-content: flex-start !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Dölj "Svara här" */
.tribe-tickets__rsvp-actions-rsvp > span {
  display: none !important;
}

/* Knapp */
.tribe-tickets__rsvp-actions-button-going {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  background: #FFB800 !important;
  color: #000 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 24px !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
  display: inline-block !important;
  width: auto !important;
  white-space: nowrap !important;
}

.tribe-tickets__rsvp-actions-button-going:hover {
  background: #1a1b2e !important;
  color: #fff !important;
}/* End custom CSS */