/* Freespins Spel front end. Green and orange palette to match the site. */

.freespins-spel-wrap { overflow-x: auto; margin: 1.2em 0; border: 1px solid #e2e4e8; border-radius: 10px; }

.freespins-spel-tabell {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.97em;
}
.freespins-spel-tabell thead th {
    background: #0c3b26;
    color: #fff;
    text-align: left;
    padding: 0.6em 0.8em;
    font-weight: 600;
}
.freespins-spel-tabell tbody td {
    padding: 0.55em 0.8em;
    border-bottom: 1px solid #e2e4e8;
    vertical-align: middle;
}
.freespins-spel-tabell tbody tr:nth-child(even) { background: #f4f8f5; }
.freespins-spel-tabell tbody tr:last-child td { border-bottom: none; }
/* Lankar i tabellceller (leverantorer och speltitlar) i paletten. CTA-knappen undantas. */
.freespins-spel-tabell tbody td a:not(.freespins-spel-cta) {
    color: #1e874e;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.freespins-spel-tabell tbody td a:not(.freespins-spel-cta):hover { color: #145e37; }
.freespins-spel-lev-titlar a { color: #1e874e; }
.freespins-spel-tabell.freespins-sortbar thead th { cursor: pointer; user-select: none; white-space: nowrap; }
.freespins-spel-tabell.freespins-sortbar thead th:hover { background: #145e37; }
.freespins-sort-pil { opacity: 0.45; font-size: 0.8em; margin-left: 5px; }
.freespins-spel-tabell.freespins-sortbar thead th[aria-sort] .freespins-sort-pil { opacity: 1; }

.freespins-spel-cta {
    display: inline-block;
    padding: 0.35em 0.9em;
    background: #c2410c;
    border-radius: 4px;
    font-weight: 600;
    white-space: nowrap;
}
/* Tvinga vit text i alla lanklagen sa temats lankfarg inte slar over. */
.freespins-spel-cta,
.freespins-spel-cta:link,
.freespins-spel-cta:visited,
.freespins-spel-cta:hover,
.freespins-spel-cta:focus,
.freespins-spel-cta:active {
    color: #fff !important;
    text-decoration: none !important;
}
.freespins-spel-cta:hover { background: #9a3412; }

.freespins-spel-snitt {
    border: 1px solid #d3dad5;
    border-left: 4px solid #0c3b26;
    border-radius: 6px;
    padding: 1em 1.1em;
    margin: 1.4em 0;
    background: #f8fbf9;
}
.freespins-spel-snitt-rubrik { font-weight: 700; color: #0c3b26; margin-bottom: 0.2em; }
.freespins-spel-snitt-tal { font-size: 2em; font-weight: 700; color: #0c3b26; line-height: 1.1; }
.freespins-spel-snitt-not { color: #2b333d; margin-top: 0.3em; }
.freespins-spel-snitt-fot { color: #5a6b60; font-size: 0.9em; margin-top: 0.5em; }
.freespins-spel-snitt-jmf { display: inline-block; margin-top: 0.35em; padding: 2px 10px; border-radius: 999px; font-size: 0.85em; font-weight: 600; background: #eef2ef; color: #2b333d; }
.freespins-spel-snitt-jmf--over { background: #eaf6ef; color: #145e37; }
.freespins-spel-snitt-jmf--under { background: #fdeaea; color: #b3261e; }
.freespins-spel-snitt-lank { margin-top: 0.6em; font-size: 0.9em; color: #2b333d; }
.freespins-spel-snitt-lank a { color: #1e874e; }

.freespins-spel-lev-block { margin: 1.2em 0; }
.freespins-spel-lev-head {
    display: flex;
    gap: 1.2em;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 1em;
}
.freespins-spel-lev-logo {
    max-width: 160px;
    height: auto;
    border: 1px solid #e2e4e8;
    border-radius: 6px;
    padding: 0.4em;
    background: #fff;
}
.freespins-spel-lev-lista { margin: 0; padding: 0; list-style: none; }
.freespins-spel-lev-lista li {
    padding: 0.25em 0;
    border-bottom: 1px dashed #e2e4e8;
}
.freespins-spel-lev-profil { margin: 0.8em 0 1.2em; }
.freespins-spel-fakta-tabell tbody th {
    padding: 0.55em 0.8em;
    border-bottom: 1px solid #e2e4e8;
    text-align: left;
    font-weight: 600;
    color: #0c3b26;
    vertical-align: middle;
    width: 38%;
}
.freespins-spel-fakta-tabell tbody tr:last-child th { border-bottom: none; }
.freespins-spel-lev-titlar { color: #2b333d; margin: 1em 0 1.2em; }

/* Faktaruta on game pages. */
.freespins-fakta { margin: 1.2em 0 1.6em; }
.freespins-fakta-betyg {
    display: inline-block;
    background: #0c3b26;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.3em 0.85em;
    margin-bottom: 0.85em;
}
.freespins-betygmodell { margin: -0.3em 0 1em; }
.freespins-betygmodell > summary {
    cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 6px;
    font-size: 0.82rem; font-weight: 600; color: #1e874e;
}
.freespins-betygmodell > summary::-webkit-details-marker { display: none; }
.freespins-betygmodell > summary::before { content: "+"; font-weight: 700; font-size: 0.95rem; line-height: 1; }
.freespins-betygmodell[open] > summary::before { content: "\2212"; }
.freespins-betygmodell__inner { margin-top: 10px; display: grid; gap: 8px; max-width: 460px; }
.freespins-betygmodell__rad {
    display: grid; grid-template-columns: minmax(96px, auto) 1fr minmax(64px, auto);
    align-items: center; gap: 12px; font-size: 0.82rem; color: #0c3b26;
}
.freespins-betygmodell__namn small { color: #5a6b60; font-weight: 400; }
.freespins-betygmodell__bar { height: 6px; background: #e2e4e8; border-radius: 4px; overflow: hidden; }
.freespins-betygmodell__bar > span { display: block; height: 100%; background: #1e874e; border-radius: 4px; }
.freespins-betygmodell__varde { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.freespins-betygmodell__not { margin: 10px 0 0; font-size: 0.78rem; color: #5a6b60; line-height: 1.5; }
.freespins-betygmodell__manuell { margin: -0.3em 0 1em; font-size: 0.82rem; color: #5a6b60; }
@media (max-width: 480px) {
    .freespins-betygmodell__rad { grid-template-columns: 1fr auto; }
    .freespins-betygmodell__bar { grid-column: 1 / -1; order: 3; }
}

.freespins-spel-version {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.freespins-spel-version--hogsta { background: #eaf6ef; color: #145e37; }
.freespins-spel-version--sankt { background: #fbeaea; color: #b32d2e; }

.freespins-fakta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}
.freespins-fakta-cell {
    background: #f4f8f5;
    border: 1px solid #e2e4e8;
    border-radius: 10px;
    padding: 0.6em 0.8em;
}
.freespins-fakta-cell .k { display: block; font-size: 0.82em; color: #5a6b60; }
.freespins-fakta-cell .v { display: block; font-weight: 600; color: #0c3b26; margin-top: 2px; }
.freespins-fakta-avvik {
    margin-top: 12px;
    padding: 10px 13px;
    background: #eaf6ef;
    border-left: 3px solid #1e874e;
    border-radius: 8px;
    font-size: 0.9em;
    line-height: 1.5;
    color: #0c3b26;
}
.freespins-fakta-avvik-tagg {
    display: inline-block;
    font-size: 0.72em;
    font-weight: 700;
    color: #fff;
    background: #1e874e;
    padding: 1px 8px;
    border-radius: 20px;
    margin-right: 6px;
    vertical-align: middle;
    letter-spacing: 0.02em;
}
.freespins-fakta-avvik b { color: #145e37; font-variant-numeric: tabular-nums; }
.freespins-fakta-avvik-txt { color: #5a6b60; }
.freespins-fakta-video {
    position: relative;
    padding-top: 56.25%;
    margin-top: 1.1em;
    border-radius: 12px;
    overflow: hidden;
}
.freespins-fakta-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.freespins-spel-ej { color: #5a6b60; font-style: italic; }

/* Spelgalleri: rutnat med spelkort och ladda fler. */
.freespins-spel-galleri { margin: 1.4em 0; }
.freespins-galleri-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 14px;
}
.freespins-spel-kort {
    display: flex;
    flex-direction: column;
    border: 1px solid #e2e4e8;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    text-decoration: none !important;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.freespins-spel-kort:hover { box-shadow: 0 6px 18px rgba(12, 59, 38, 0.14); transform: translateY(-2px); }
.freespins-spel-kort__bild {
    display: block;
    position: relative;
    aspect-ratio: 4 / 3;
    background: #0c3b26;
    overflow: hidden;
}
.freespins-spel-kort__bild img,
.freespins-kort-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.freespins-kort-platshallare {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 2.4em;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #145e37, #0c3b26);
}
.freespins-spel-kort__titel {
    padding: 0.6em 0.7em 0.1em;
    font-weight: 600;
    color: #0c3b26 !important;
    line-height: 1.25;
}
.freespins-spel-kort__fot {
    margin-top: auto;
    padding: 0.3em 0.7em 0.7em;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.freespins-spel-kort__lev {
    font-size: 0.85em;
    color: #5a6b60 !important;
}
.freespins-spel-kort__rtp {
    font-size: 0.82em;
    font-weight: 600;
    color: #0c3b26 !important;
}
.freespins-spel-kort__lanserad {
    font-size: 0.82em;
    color: #5a6b60 !important;
}
.freespins-spel-kort__vol {
    font-size: 0.82em;
    color: #5a6b60 !important;
}
.freespins-galleri-fot { text-align: center; margin-top: 1.3em; }
.freespins-galleri-mer {
    display: inline-block;
    padding: 0.7em 1.6em;
    background: #0c3b26;
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    cursor: pointer;
}
.freespins-galleri-mer:hover { background: #145e37; }
.freespins-galleri-mer[disabled] { opacity: 0.6; cursor: default; }
@media (max-width: 600px) {
    .freespins-galleri-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
}

/* Verktygsrad: sok, tillverkarfilter och sortering. */
.freespins-galleri-verktyg {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 1.1em;
}
.freespins-galleri-sok,
.freespins-galleri-lev,
.freespins-galleri-sort,
.freespins-galleri-vol {
    padding: 0.5em 0.7em;
    border: 1px solid #d3dad5;
    border-radius: 8px;
    font-size: 0.95em;
    background: #fff;
    color: #0c3b26;
}
.freespins-galleri-sok { flex: 1 1 200px; min-width: 0; }
.freespins-galleri-lev,
.freespins-galleri-sort,
.freespins-galleri-vol { flex: 0 1 auto; }
.freespins-galleri-tom { color: #5a6b60; margin: 0.4em 0 0.2em; }
/* Egenskapsfilter: ja-falt som klickbara chip-etiketter. */
.freespins-galleri-egenskaper { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.freespins-galleri-egenskap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.35em 0.7em;
    border: 1px solid #d3dad5;
    border-radius: 20px;
    font-size: 0.85em;
    color: #0c3b26;
    background: #fff;
    cursor: pointer;
    user-select: none;
}
.freespins-galleri-egenskap input { margin: 0; cursor: pointer; }
.freespins-galleri-egenskap:has(input:checked) { background: #eaf6ef; border-color: #1e874e; color: #145e37; font-weight: 600; }

/* Aggregerad RTP-insikt ovanfor per-casino-tabellen (variabla slots). */
.freespins-spel-insikt { margin: 0 0 18px; padding: 16px 18px; background: #f4f8f5; border: 1px solid #e4eae6; border-radius: 10px; }
.freespins-spel-insikt-tal { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-bottom: 14px; }
.freespins-spel-insikt-cell { display: flex; flex-direction: column; gap: 2px; }
.freespins-spel-insikt-cell .k { font-size: 0.78rem; color: #5a6b60; }
.freespins-spel-insikt-cell .v { font-size: 1.15rem; font-weight: 700; color: #0c3b26; font-variant-numeric: tabular-nums; }
.freespins-spel-insikt-rubrik { display: block; font-weight: 700; color: #0c3b26; font-size: 0.9rem; margin-bottom: 8px; }
.freespins-spel-insikt-dist ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.freespins-spel-insikt-dist li { display: grid; grid-template-columns: 78px 1fr auto; align-items: center; gap: 12px; }
.freespins-spel-insikt-dist .rtp { font-weight: 600; color: #145e37; font-variant-numeric: tabular-nums; white-space: nowrap; }
.freespins-spel-insikt-dist .stapel { height: 9px; border-radius: 5px; background: #e4eae6; overflow: hidden; }
.freespins-spel-insikt-dist .stapel > span { display: block; height: 100%; background: #1e874e; border-radius: 5px; }
.freespins-spel-insikt-dist .n { font-size: 0.85rem; color: #2b333d; white-space: nowrap; font-variant-numeric: tabular-nums; }
.freespins-spel-insikt-not { margin: 10px 0 0; font-size: 0.82rem; color: #5a6b60; line-height: 1.5; }
@media (max-width: 480px) { .freespins-spel-insikt-dist li { grid-template-columns: 64px 1fr auto; gap: 8px; } }

/* Antal casinon bakom ett snitt i spellistan. */
.freespins-spel-tabell .freespins-spel-n { display: block; margin-top: 2px; font-size: 0.8em; color: #5a6b60; font-weight: 400; }
