/*
Theme Name:     Neve Child
Theme URI:      https://themeisle.com/themes/neve/
Template: neve
Author:         ThemeIsle
Author URI:     https://themeisle.com
Description:    Neve is a super fast, easily customizable, multi-purpose theme. It’s perfect for blogs, small business, startups, agencies, firms, e-commerce shops (WooCommerce storefront) as well as personal portfolio sites and most types of projects. A fully AMP optimized and responsive theme, Neve will load in mere seconds and adapt perfectly on any viewing device. While it is lightweight and has a minimalist design, the theme is highly extendable, it has a highly SEO optimized code, resulting in top rankings in Google search results. Neve works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer, SiteOrigin, Divi). Neve is also WooCommerce ready, responsive, RTL & translation ready. Look no further. Neve is the perfect theme for you!
Version:        1.0.0
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    neve
Tags: blog, custom-logo, e-commerce, rtl-language-support, post-formats, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, accessibility-ready, wide-blocks, block-styles
*/

@charset "UTF-8";

:root {
    --se-green: #4f7255;        /* Skogsgrön (Primär) */
    --se-sand: #d0cac3;         /* Sand/Grå (Sekundär) */
    --se-darksand: #bfbbb6;         /*Mörkare grå - borders */
    --se-ivory: #F7F5F2;        /* Ivory (Offwhite Bakgrund) */
    --se-wood: #b57b54;         /* Trä (Accent/Varning) */
    --se-text: #232220;         /* Textfärg */
    --se-alert: #822224;        /* Accent/Varning */
}

/* Registrera Montserrat Lokalt */

@font-face {
    font-family: 'Montserrat';
    src: url('assets/fonts/MontserratLight.woff2') format('woff2'),
    url('assets/fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('assets/fonts/MontserratRegular.woff2') format('woff2'),
    url('assets/fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('assets/fonts/MontserratMedium.woff2') format('woff2'),
    url('assets/fonts/Montserrat-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('assets/fonts/MontserratBold.woff2') format('woff2'),
    url('assets/fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


html {
    margin-top: 0px !important;
}

#wpadminbar {
    display: none;
}

ul.child-page-list li {
    list-style: none;
}

/* Applicera typsnittet på hela sajten */
body, input, select, textarea, a, p, span {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 200;
}
/* Applicera typsnittet på hela sajten */
button,.site-title, h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 15px !important;
    margin-bottom: 10px !important;
}

h1, h2 {
    margin-bottom: 25px !important;
}
a {
    text-decoration: none !important;
}
ul {
    margin: 20px 0px !important;
}
ul li {
    margin-top: 0px !important;
}
.strong {
    font-weight: 600;
}
input,
textarea {
    border: 1px solid var(--se-ivory) !important;
    padding: 10px !important;
    border-radius: 25px !important;
}
.se-hidden { display: none; }
.se-visible { display: block; }

.wpcf7-spinner {
    margin: 5px auto;
}

form.submitting .wpcf7-spinner {
    visibility: visible;
    display: block;
}
.top-bar {
    background-color: #252525;
    color: white;
}

.top-bar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 50px;
}

.top-bar a,
.top-bar a:hover,
.top-bar a:focus,
.top-bar a:active {
    color: white;
}

.top-bar .topbar-left,
.top-bar .topbar-right {
    flex: 1; /* Tar upp 1/3 av ytan */
    display: flex;
    align-items: center;
    gap: 15px;
}

.top-bar .topbar-left {
    justify-content: flex-start;
}
.topbar-right {
    justify-content: flex-end;
}

.top-bar .filter-container {
    flex: 2; /* Tar upp mittenytan */
    display: flex;
    justify-content: center; /* Centrerar innehållet i mittenytan */
    align-items: center;
    gap: 15px;
}

/* Behållaren för varje val */
.filter-container label {
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
}
.level-trigger {
    appearance: none !important;
    -webkit-appearance: none !important;

    /* Storleken på själva ringen */
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;

    border: 2px solid #366b39;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    display: inline-grid;
    place-content: center;
    flex-shrink: 0;
    margin-right: 8px;
}
.level-trigger::before {
    content: "";
    /* Storleken på pricken i mitten (måste vara mindre än 16px) */
    width: 14px;
    height: 14px;
    border-radius: 50%;
    transform: scale(0);
    transition: 0.1s transform ease-in-out;
    background-color: #366b39;
}

.level-trigger:checked::before {
    transform: scale(1);
}

/* En liten hover-effekt */
.level-trigger:hover {
    background-color: #f0fdf4;
    border-color: #2d5a30;
}

.page .nv-post-cover {
    margin-bottom: 20px !important;
}

.wp-block-columns {
    margin-top: 20px !important;
}
@media (max-width: 767px) {
    .page .nv-post-cover {
        margin-bottom: 0px !important;
    }
}
@media (max-width: 767px) {
    .level-trigger {
        margin-right: 5px;
    }
}

@media (max-width: 900px) {
    /* Tillåt containern att bryta rader */
    .top-bar .container {
        flex-wrap: wrap;
        height: auto; /* Låt höjden växa när vi har två rader */
        padding: 10px 15px;
    }

    /* 1. Tillbaka-knappen tar hela översta raden */
    .topbar-left {
        flex: 0 0 100% !important; /* Tvingar den att ta 100% bredd */
        order: 1; /* Hamnar först */
        margin-bottom: 10px; /* Lite luft till nästa rad */
    }

    /* 2. Level-switch hamnar i mitten på rad två */
    .filter-container {
        flex: 1;
        order: 2;
        justify-content: flex-start !important;
        margin-left: 0px;
        gap: 5px !important;
    }

    .filter-container label {
        font-size: 13px;
        margin-right: 0px;
        margin-left: 5px;
    }

    /* 3. Språk + Profil hamnar till höger på rad två */
    .topbar-right {
        flex: 0 0 auto; /* Tar bara den plats den behöver */
        order: 3;
        justify-content: flex-end;
    }
}


/* Se till att länkarna runt flaggorna är flex-behållare */
.custom-language-switcher a {
    display: flex;
    align-items: center;
    line-height: 0; /* Tar bort extra radhöjd */
    text-decoration: none;
}

/* Fixa själva flagg-bilderna */
.custom-language-switcher img {
    display: block;    /* Tar bort "inline-spacing" under bilden */
    margin: 0;         /* Rensar eventuella marginaler */
    vertical-align: middle; /* Extra säkerhetsåtgärd */
    min-width: 26px;
}

/* Om du har ett avstånd mellan flaggorna */
.custom-language-switcher {
    display: flex;
    align-items: center;
    gap: 8px; /* Avståndet mellan flaggorna */
}

/* Behållaren för hela användarnavigeringen */
.se-user-nav {
    display: inline-block;
    position: relative;
    margin-left: 15px;
}

/* Själva ikonen */
.se-icon-trigger {
    color: var(--se-green);
    font-size: 1.2rem;
    display: block;
    padding: 5px;
}

/* Dropdown-menyn (Göm som standard) */
.se-dropdown-menu {
    position: absolute;
    right: 0;
    top: 100%; /* Placeras direkt under top-baren */
    background-color: var(--se-ivory);
    border: 1px solid var(--se-sand);
    border-radius: 8px;
    list-style: none;
    padding: 10px 0;
    margin: 0;
    min-width: 160px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    z-index: 9999;

    /* Animationer */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.25s ease;
}

/* Visa dropdown vid hovring över behållaren */
.se-dropdown:hover .se-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.se-dropdown-menu li {
    text-align: center;
}
/* Länkarna inuti menyn */
.se-dropdown-menu li a {
    display: block;
    padding: 10px 20px;
    color: var(--se-text);
    text-decoration: none;
    font-size: 0.85rem;
    transition: background 0.2s;
}

.se-dropdown-menu li a:hover {
    background-color: var(--se-sand);
    color: var(--se-green);
}

.hfg_header.site-header {
    box-shadow: none !important;
}

.filter-container {
    display: none;
}

.nav-menu-primary a {
    font-weight: 500;
    text-transform: uppercase;
    font-size: 13px;
}
.cart-icon-wrapper .cart-count {
    background: var(--nv-primary-accent) !important;
    color: white !important;
    font-size: 10px!important;
    padding: 4px!important;
    bottom: -7px;
    right: -13px;
    font-weight: 600!important;
    border-radius: 10px!important;
    min-width: 18px;
    text-align: center;
}

.wrapper {
    min-height: 80vh !important;
}

.widget .widget-title {
    font-weight: 600 !important;
    font-size: 16px !important;
}

/* Dölj Neves standard-SVG i varukorgen */
.nv-cart svg {
    display: none !important;
}

/* Lägg till din FontAwesome-ikon istället */
.nv-icon.nv-cart::before {
    font-family: "FontAwesome"; /* Eller "FontAwesome" beroende på din version */
    font-weight: 900;
    content: "\f290"; /* Detta är koden för en shopping-basket. För cart: \f07a */
    font-size: 1.2rem;
    margin-right: 5px;
    display: inline-block;
    vertical-align: middle;
}

.entry-content {
    min-height: 300px;
    padding: 40px 0;
}
/* Styling för utbildningskolumner */
.wp-block-columns {
    margin-top: 4em;
    gap: 2em;
}

.wp-block-column h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    margin-top: 1em;
}

.wp-block-column p {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #444;
}

/* Gör bilderna runda eller ge dem en mjuk skugga om du vill */
.wp-block-column img {
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.wp-block-column img:hover {
    transform: translateY(-5px);
}

.wp-block-image  {
    text-align: center;
}

.component-wrap {
    display: block !important;
    margin: 4px 0;
    text-align: center;
}

.header-topbar {
    background-color: #252525;
    color: white
}

.header-topbar a {
    color: white;
}

.wpcf7-form-control-wrap {
    display: block;
}

.wpcf7-form p {
    margin-bottom: 18px;
}
.wpcf7-form textarea {
    height: 150px;
    min-height: 100px;
}

.page-template-page-map .neve-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.page-template-page-map #content {
    padding-top: 0;
}

.column-wrap {
    display: grid;
    gap: 20px;
    padding: 20px;
    /* Standard: 1 kolumn (Mobil) */
    grid-template-columns: repeat(1, 1fr);
    background-color: #F2F5F6; /* Din krispiga ljusgrå */
}

/* Tablet: 2 kolumner (från 600px och uppåt) */
@media (min-width: 600px) {
    .column-wrap {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Desktop: 3 kolumner (från 1000px och uppåt) */
@media (min-width: 1000px) {
    .column-wrap {
        grid-template-columns: repeat(3, 1fr);
    }
}

.footer-top {
    padding-top: 30px;
    color: #eeeeee;
}

.footer-top img {
    max-width: 200px;
}
.footer-top .wp-block-image {
    text-align: left;
}

.footer-top .widget-title {
    color: white !important;
    margin-top: 7px;
}

.footer-top .widget {
    font-size: 15px !important;
    margin-bottom: 20px !important;
}

.footer-top ul li {
    margin-top: 2px;
}

.footer-insta {
    font-size: 30px;
    background-color: var(--se-text);
    padding: 10px;
    border-radius: 45px;
    width: 60px;
    height: 60px;
    line-height: 41px;
    text-align: center;
}

.wpml-ls-statics-footer a {
    background-color: inherit !important;
}

.sbi_follow_btn .sbi_custom a {
    background-color: #111111 !important;
}
.student-login-box {
    max-width: 400px;
    margin: 0 auto;
    padding: 40px;
    background-color: var(--se-ivory); /* Ivory bakgrund */
    border: 1px solid var(--se-darksand); /* Sandfärgad ram */
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.student-login-box label {
    display: block;
    margin-bottom: 8px;
    color: var(--se-green); /* Skogsgrön */
    font-weight: bold;
    font-size: 0.9em;
}
.student-login-box input[type="text"],
.student-login-box input[type="password"] {
    width: 100%;
    padding: 12px;
    margin-bottom: 20px;
    border: 1px solid var(--se-sand) !important;
    border-radius: 6px;
    background-color: #ffffff;
    box-sizing: border-box;
}
.student-login-box input[type="submit"] {
    width: 100%;
    background-color: var(--se-green); /* Skogsgrön */
    color: #ffffff;
    border: none;
    padding: 16px;
    border-radius: 15px; /* Matchar dina andra knappar */
    font-weight: bold;
    cursor: pointer;
    font-size: 1.1em;
    transition: background 0.3s, transform 0.2s;
}
.student-login-box input[type="submit"]:hover {
    background-color: #3d5a42; /* Något mörkare vid hover */
}
.student-login-box input[type="submit"]:active {
    transform: scale(0.98);
}
.login-remember {
    margin-bottom: 20px;
    display: block;
    font-size: 0.85em;
    color: #666;
}
.lost-password-link {
    display: block;
    text-align: center;
    margin-top: 20px;
    color: #822224;
    text-decoration: underline;
    font-size: 0.9em;
}
.student-dashboard {
    border: 1px solid var(--se-sand);
    padding: 30px;
    border-radius: 12px;
    background-color: var(--se-ivory); /* Ivory */
    color: var(--se-text);
    font-family: sans-serif;
}
.student-dashboard h2 { color: var(--se-green); margin-top: 0; }

.status-badge {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 0.85em;
    letter-spacing: 0.5px;
    color: #ffffff;
}
.status-active { background-color: var(--se-green); }
.status-expired { background-color: #822224; } /* Din skarpa vinröda/träfärg */

.action-button {
    display: inline-block;
    background-color: var(--se-green);
    color: #ffffff !important;
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 15px;
    font-weight: bold;
    border: none;
    transition: opacity 0.2s;
    cursor: pointer;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
}
.action-button:hover { opacity: 0.9; }
.button-expired { background-color: var(--se-alert); }

.portal-box {
    margin: 25px 0;
    padding: 25px;
    border-radius: 10px;
    background-color: var(--se-sand); /* Sand */
    color: var(--se-text);
}

span.link {
    color: var(--se-green);
    cursor: pointer;
}

.pw-form { margin-top: 25px; padding-top: 25px; border-top: 1px solid var(--se-sand); }
.pw-form input {
    display: block; width: 100%; max-width: 350px;
    margin-bottom: 15px; padding: 10px;
    border: 1px solid var(--se-sand); border-radius: 6px;
}
.error-msg { color: #822224; font-weight: bold; margin: 10px 0; }
.login-status {
    margin-top: 15px;
    padding: 10px;
    background-color: var(--se-ivory);
    font-size: 0.9em;
    color: var(--se-text);
}

/* Behållare för mätaren */
.se-ip-meter {
    width: 100%;
    background-color: #eeeeee;
    height: 8px;
    border-radius: 4px;
    margin-top: 8px;
    overflow: hidden;
}

/* Själva mätar-stapeln */
.se-ip-meter-bar {
    /* Vi använder variablerna från PHP här */
    width: var(--ip-width, 0%);
    background-color: var(--ip-color, var(--se-green));

    height: 100%;
    transition: width 0.5s ease-in-out, background-color 0.3s ease;
}
/* Behållare för hela formuläret */
.wpcf7-form.init {
    background-color: var(--se-ivory, #f9f7f2); /* Din ljusa bakgrund */
    padding: 40px;
    border-radius: 12px;
    border: 1px solid var(--se-sand, #dbd7d2);
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    max-width: 600px;
    margin: 20px auto;
}

/* Rubriken */
.wpcf7-form h2.normal {
    color: var(--se-green, #2c3e50);
    font-family: inherit;
    font-weight: 800;
    text-align: center;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Etiketter (Labels) */
.wpcf7-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--se-charcoal, #333);
    font-size: 0.95rem;
}

/* Input-fält och Textarea */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid var(--se-sand, #dbd7d2) !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
    font-family: inherit;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box;
}

/* Fokus-effekt på fälten */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    border-color: var(--se-green, #2c3e50) !important;
    box-shadow: 0 0 0 3px rgba(44, 62, 80, 0.1) !important;
    outline: none;
}

/* Skicka-knappen */
.wpcf7-submit {
    width: 100%;
    background-color: var(--se-green, #784826) !important; /* Din accentfärg */
    color: #ffffff !important;
    padding: 15px !important;
    border: none !important;
    border-radius: 15px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease !important;
    margin-top: 10px;
}

.wpcf7-submit:hover {
    background-color: #5a361c !important; /* Mörkare variant av vinröd */
}

.wpcf7-submit:active {
    transform: scale(0.98);
}

/* Avstånd mellan fältgrupper */
.form-field-wrapper {
    margin-bottom: 20px;
}

/* Felmeddelanden och bekräftelse */
.wpcf7-not-valid-tip {
    color: #d9534f;
    font-size: 0.85rem;
    margin-top: 5px;
}

.wpcf7-response-output {
    border: none !important;
    background: #e7f3ef;
    color: #3e755d;
    padding: 15px !important;
    border-radius: 6px;
    text-align: center;
    margin-top: 20px !important;
}

