.elementor-39780 .elementor-element.elementor-element-6c2fe50a{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-39780 .elementor-element.elementor-element-6c2fe50a > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-39780 .elementor-element.elementor-element-b83a09f:not(.elementor-motion-effects-element-type-background), .elementor-39780 .elementor-element.elementor-element-b83a09f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#078586;}.elementor-39780 .elementor-element.elementor-element-b83a09f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:15px 0px 15px 0px;}.elementor-39780 .elementor-element.elementor-element-b83a09f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}@media(min-width:768px){.elementor-39780 .elementor-element.elementor-element-6c4d78ae{width:20%;}.elementor-39780 .elementor-element.elementor-element-25f22749{width:59.332%;}.elementor-39780 .elementor-element.elementor-element-4b87f1ad{width:20%;}}@media(max-width:1024px){.elementor-39780 .elementor-element.elementor-element-b83a09f{padding:0px 0px 0px 0px;}}@media(max-width:767px){.elementor-39780 .elementor-element.elementor-element-b83a09f{padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-631da8d *//* --- GLOBALA INSTÄLLNINGAR FÖR KATALOGEN --- */
html { scroll-behavior: smooth; } /* För mjuk scrollning i navigeringen */
.sp-wrapper-kat { font-family: 'Poppins', sans-serif; color: #1f2937; background-color: #f3f4f6; width: 100vw; max-width: 100vw; position: relative; left: 50%; transform: translateX(-50%); overflow-x: hidden; padding: 3rem 0; margin: 0 !important; -webkit-font-smoothing: antialiased; }
@media(min-width: 768px) { .sp-wrapper-kat { padding: 5rem 0; } }
.sp-wrapper-kat * { box-sizing: border-box; }
.sp-kat-main { width: 100%; padding: 0 1rem; }
@media(min-width: 640px) { .sp-kat-main { padding: 0 1.5rem; } }

.sp-hidden-md-up { display: block; }
@media(min-width: 768px) { .sp-hidden-md-up { display: none; } }

/* Huvudbehållare för hela katalogen */
.sp-kat-catalog-box { max-width: 64rem; margin: 0 auto; background-color: white; box-shadow: 0 20px 60px rgba(0,0,0,0.1); border-radius: 1rem; overflow: hidden; }
@media(min-width: 768px) { .sp-kat-catalog-box { border-radius: 1.5rem; } }

/* --- 1. OMSLAG / HERO --- */
.sp-kat-hero { background-color: #282F3B; text-align: center; padding: 6rem 1.5rem; position: relative; overflow: hidden; }
@media(min-width: 640px) { .sp-kat-hero { padding: 8rem 1.5rem; } }
@media(min-width: 768px) { .sp-kat-hero { padding: 12rem 1.5rem; } }

.sp-kat-hero-bg-icon { position: absolute; right: -5rem; top: -5rem; font-size: 400px; color: white; opacity: 0.05; transform: rotate(12deg); pointer-events: none; }

.sp-kat-hero-content { position: relative; z-index: 10; display: flex; flex-direction: column; align-items: center; }

.sp-kat-h1 { font-size: 1.875rem; font-weight: 900; color: white; margin: 0 0 0.5rem 0; letter-spacing: 0.15em; text-transform: uppercase; line-height: 1.2; text-shadow: 0 4px 6px rgba(0,0,0,0.1); width: 100%; }
@media(min-width: 640px) { .sp-kat-h1 { font-size: 2.25rem; } }
@media(min-width: 768px) { .sp-kat-h1 { font-size: 3rem; } }
@media(min-width: 1024px) { .sp-kat-h1 { font-size: 3.25rem; } }

.sp-kat-h2 { font-size: 1.25rem; color: #09a4a5; font-weight: 300; letter-spacing: 0.05em; margin: 0 0 3rem 0; width: 100%; }
@media(min-width: 640px) { .sp-kat-h2 { font-size: 1.5rem; } }
@media(min-width: 768px) { .sp-kat-h2 { font-size: 1.875rem; } }
@media(min-width: 1024px) { .sp-kat-h2 { font-size: 2rem; } }

.sp-kat-slogan { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.2em; color: #d1d5db; font-weight: 600; margin: 0 0 3rem 0; }
@media(min-width: 768px) { .sp-kat-slogan { font-size: 1.125rem; } }

.sp-kat-hero-footer { border-top: 2px solid #078586; padding-top: 2.5rem; max-width: 48rem; margin: 0 auto; color: #d1d5db; line-height: 1.625; font-size: 1rem; }
@media(min-width: 768px) { .sp-kat-hero-footer { font-size: 1.25rem; } }
.sp-kat-hero-text { margin: 0 0 1.5rem 0; }
.sp-kat-hero-author { font-weight: 700; color: white; margin: 0; }
.sp-kat-author-highlight { color: #09a4a5; font-weight: 400; }

/* --- 2. REGISTER / ÄMNESOMRÅDEN --- */
.sp-kat-nav-section { background-color: #f9fafb; border-bottom: 1px solid #e5e7eb; padding: 2.5rem 1.5rem; text-align: center; }
@media(min-width: 768px) { .sp-kat-nav-section { padding: 3.5rem 3rem; } }

.sp-kat-nav-title { font-size: 1.25rem; font-weight: 700; color: #282F3B; margin: 0 0 0.5rem 0; text-transform: uppercase; letter-spacing: 0.1em; }
@media(min-width: 768px) { .sp-kat-nav-title { font-size: 1.5rem; } }

.sp-kat-nav-desc { color: #6b7280; font-size: 0.875rem; max-width: 42rem; margin: 0 auto 2rem auto; }
@media(min-width: 768px) { .sp-kat-nav-desc { font-size: 1rem; } }

.sp-kat-nav-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; }
@media(min-width: 768px) { .sp-kat-nav-grid { gap: 1rem; } }

.sp-kat-nav-btn { display: inline-block; background-color: white; border: 1px solid #e5e7eb; color: #374151; padding: 0.625rem 1.25rem; border-radius: 9999px; font-size: 0.875rem; font-weight: 600; text-decoration: none !important; transition: all 0.3s ease; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); }
.sp-kat-nav-btn:hover { border-color: #078586; background-color: rgba(7,133,134,0.1); color: #056364; }

/* --- 3. INLAGAN (Själva föreläsningarna) --- */
.sp-kat-content-area { background-color: white; width: 100%; padding: 4rem 0; }
@media(min-width: 640px) { .sp-kat-content-area { padding: 4rem 2rem; } }
@media(min-width: 768px) { .sp-kat-content-area { padding: 6rem 3rem; } }
@media(min-width: 1024px) { .sp-kat-content-area { padding: 6rem 4rem; } }

/* Varje huvudkategori */
.sp-kat-category { scroll-margin-top: 3rem; margin-bottom: 4rem; background-color: rgba(249,250,251,0.6); border: 1px solid #f3f4f6; border-radius: 1.5rem; padding: 1.5rem; }
@media(min-width: 640px) { .sp-kat-category { padding: 2.5rem; } }
@media(min-width: 768px) { .sp-kat-category { border-radius: 2rem; padding: 3rem; margin-bottom: 4rem; } }

.sp-kat-cat-title { font-size: 1.875rem; font-weight: 800; color: #282F3B; text-transform: uppercase; letter-spacing: 0.025em; margin: 0 0 0.75rem 0; line-height: 1.1; }
@media(min-width: 768px) { .sp-kat-cat-title { font-size: 3rem; } }

.sp-kat-cat-divider { width: 100%; height: 0.25rem; background-color: #078586; margin-bottom: 3.5rem; }

/* Själva Föreläsningen */
.sp-kat-lecture { margin-bottom: 4rem; }

.sp-kat-lecture-divider { width: 2.5rem; height: 0.25rem; background-color: #078586; border-radius: 9999px; margin-bottom: 1rem; }

.sp-kat-lecture-title { font-size: 1.5rem; font-weight: 700; color: #282F3B; margin: 0 0 1rem 0; line-height: 1.3; }
@media(min-width: 768px) { .sp-kat-lecture-title { font-size: 1.875rem; } }

.sp-kat-lecture-desc { font-size: 1rem; color: #374151; line-height: 1.625; margin: 0 0 1.5rem 0; }

.sp-kat-list-header { color: #078586; font-weight: 700; font-size: 0.9375rem; margin: 0 0 0.75rem 0; }

.sp-kat-list-box { background-color: rgba(7,133,134,0.1); border-radius: 0.375rem; padding: 1rem; margin-bottom: 1.5rem; color: #282F3B; font-weight: 700; font-size: 0.875rem; display: flex; flex-direction: column; gap: 0.375rem; }
@media(min-width: 768px) { .sp-kat-list-box { flex-direction: row; flex-wrap: wrap; column-gap: 1rem; row-gap: 0; } }

/* Meta-rutan (Kategori, Tid, Pris) */
.sp-kat-meta-box { display: flex; flex-direction: column; border: 1px solid #e5e7eb; border-radius: 0.375rem; padding: 1rem; font-size: 0.875rem; color: #374151; background-color: white; margin-bottom: 2rem; gap: 0.75rem; }
@media(min-width: 768px) { .sp-kat-meta-box { flex-direction: row; align-items: center; justify-content: space-between; gap: 0; } }
.sp-kat-meta-box strong { font-weight: 700; color: #111827; margin-right: 0.25rem; }

/* Knapp (Full beskrivning) */
.sp-kat-btn { display: inline-flex; align-items: center; justify-content: center; background-color: #078586; color: white !important; font-weight: 700; padding: 0.5rem 1.25rem; border-radius: 0.375rem; transition: all 0.3s ease; box-shadow: 0 4px 10px rgba(7,133,134,0.3); text-decoration: none !important; font-size: 0.875rem; }
.sp-kat-btn:hover { background-color: #056364; box-shadow: 0 6px 20px rgba(7,133,134,0.4); transform: translateY(-2px); }

/* --- 4. BAKSIDAN --- */
.sp-kat-back-cover { background-color: white; border-top: 8px solid #078586; padding: 4rem 1.5rem; text-align: center; }
@media(min-width: 768px) { .sp-kat-back-cover { padding: 5rem 4rem; } }

.sp-kat-back-title { font-size: 1.875rem; font-weight: 800; color: #282F3B; text-transform: uppercase; letter-spacing: 0.025em; margin: 0 0 1.5rem 0; }
@media(min-width: 768px) { .sp-kat-back-title { font-size: 2.25rem; } }

.sp-kat-back-desc { font-size: 1.0625rem; color: #4b5563; max-width: 48rem; margin: 0 auto 1.5rem auto; line-height: 1.625; }

.sp-kat-back-desc-bold { font-size: 1.0625rem; color: #1f2937; font-weight: 700; margin: 0 0 3rem 0; }
.sp-kat-back-desc-normal { font-weight: 400; color: #4b5563; }

/* Kontaktboxen */
.sp-kat-contact-box { background-color: #282F3B; text-align: left; border-radius: 0.75rem; padding: 2rem; max-width: 42rem; margin: 0 auto; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); position: relative; overflow: hidden; border-left: 8px solid #078586; }
@media(min-width: 768px) { .sp-kat-contact-box { padding: 3rem; } }

.sp-kat-contact-bg-icon { position: absolute; right: -2.5rem; bottom: -2.5rem; font-size: 180px; color: white; opacity: 0.05; transform: rotate(-12deg); pointer-events: none; }

.sp-kat-contact-inner { position: relative; z-index: 10; display: flex; flex-direction: column; gap: 2rem; }
@media(min-width: 768px) { .sp-kat-contact-inner { flex-direction: row; align-items: center; justify-content: space-between; } }

.sp-kat-contact-tag { color: #09a4a5; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.875rem; margin: 0 0 1rem 0; }
.sp-kat-contact-name { color: white; font-size: 1.5rem; font-weight: 700; margin: 0 0 0.25rem 0; }
.sp-kat-contact-role { color: #9ca3af; font-size: 0.875rem; margin: 0 0 1.5rem 0; }

.sp-kat-contact-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; color: white; font-size: 0.9375rem; }
.sp-kat-contact-item { display: flex; align-items: center; }
.sp-kat-contact-icon { color: #078586; width: 1.5rem; }

.sp-kat-footer-text { font-size: 0.875rem; color: #9ca3af; font-weight: 500; font-style: italic; text-transform: uppercase; letter-spacing: 0.1em; margin-top: 4rem; }/* End custom CSS */