
:root {
    --accent: #0d6efd; /* Bootstrap primary */
    --accent-600: #0b5ed7;
    --bg: #f6f9ff;
    --ink: #111827;
    --muted: #6b7280;
    --card: #f8fafc;
    --ring: rgba(13, 110, 253, .25);
}

* {
    box-sizing: border-box
}

html, body {
    height: 100%
}

body {
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
    color: var(--ink);
    background: var(--bg);
}

.navbar-brand {
    letter-spacing: .2px
}

.topbar {
    background: linear-gradient(90deg, #f8fafc, #fff)
}

.hero {
    background: radial-gradient(1200px 400px at 30% -10%, rgba(13, 110, 253, .08), transparent),
    radial-gradient(800px 300px at 80% 10%, rgba(13, 110, 253, .06), transparent);
}

.hero .badge {
    background: var(--card)
}

.card-offer {
    transition: transform .2s ease, box-shadow .2s ease;
    border: 1px solid #eef2f7;
    background: rgb(245, 245, 255);
}

.card-offer:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06)
}

.rating i {
    color: #f59e0b
}

.logo-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap: .5rem
}

.logo-cell {
    background: #f3f4f6;
    border: 1px dashed #d1d5db;
    color: #9ca3af;
    font-weight: 600;
    text-align: center;
    padding: .75rem;
    border-radius: .5rem
}

.footer {
    border-top: 1px solid #eef2f7
}
.footer {
    color: #fff!important;
}
.footer .text-secondary {
    color: #aaa!important;
}

.badge-soft {
    background: #eef5ff;
    color: #0d47a1;
    border: 1px solid #d8e7ff
}

.checklist li {
    margin: .35rem 0
}

.age-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .56);
    display: none;
    z-index: 1055;
}

.age-modal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 1060;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.age-card {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 1rem;
    padding: 1.25rem;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .2);
    border: 1px solid #eef2f7;
}

.age-actions .btn {
    min-width: 150px
}

@media (max-width: 575.98px) {
    .logo-grid {
        grid-template-columns:repeat(2, 1fr)
    }
}

.section {
    padding: 5rem 0;
    background: var(--card);
}

.section.alt {
    background: #eef3ff;
}

.section.alt-2 {
    background: #fafcff;
}

.hero {
    background: linear-gradient(180deg, rgba(13, 110, 253, .06), transparent 60%)
}

.section-title {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: .75rem
}

.section-title .bullet {
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background: var(--accent)
}

.kpi {
    display: grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap: .75rem
}

.kpi .k {
    background: #ffffff;
    border: 1px solid #e5eaf3;
    border-radius: .75rem;
    padding: .9rem;
    text-align: center
}

.kpi .k .v {
    font-weight: 800;
    font-size: 1.15rem
}

.topbar {
    background: #9ab7f0
}

.footer {
    background: #222
}
section.hero {
  background: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3)),
  url('../img/main-bg.png') !important;
  background-size: cover!important;
  background-position: center!important;
}
section#offers, section#faq {
    background: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3)),
    url('../img/section.png') !important;
    background-size: cover!important;
    background-position: center!important;
    background-attachment: fixed!important;
}
.text-secondary {
    color: #222!important;
}
.bg-white {
    background-color: rgb(245, 245, 255) !important
}
.logo-brand {
    padding: 0 10px;
    display: inline-block;
    background: #222;
    margin: 8px 0;
    border-radius: 10px;
}
.footer-link {
    width: 100%;
}
.logo-grid {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 15px 0
}
footer .logo-cell {
    width: 130px;
    height: 50px;
    display: inline-block;
    padding: 8px;
    background: #fff;
    border-radius: 5px;
}
footer .logo-cell img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* =============================
   Legal/Tech Pages — Modern UI
   v1.0 — bestslotscroatia.com
   ============================= */

/* Root design tokens */
:root{
    --legal-bg: #f7f9fc;
    --legal-surface: #ffffff;
    --legal-surface-alt: #fbfcff;
    --legal-text: #0f172a;
    --legal-muted: #475569;
    --legal-border: #e5eaf2;
    --legal-accent: #4f46e5;         /* индиго-фиолетовый */
    --legal-accent-2: #0ea5e9;       /* небесно-синий для градиентов */
    --legal-ok: #10b981;
    --legal-warn: #f59e0b;
    --legal-danger: #ef4444;
    --radius-sm: 10px;
    --radius: 14px;
    --radius-lg: 18px;
    --shadow-1: 0 6px 18px rgba(15,23,42,.06);
    --shadow-2: 0 10px 32px rgba(15,23,42,.07);
    --focus: 0 0 0 3px rgba(79,70,229,.18);
    --maxw: 960px;
}

/* Container */
.legal-container{
    max-width: var(--maxw);
    margin: clamp(16px,5vw,48px) auto;
    padding: 0 clamp(12px,3vw,20px);
}

/* Header row */
.legal-head{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-bottom: 16px;
}
.legal-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 12px;
    border-radius: 999px;
    border:1px solid var(--legal-border);
    background:
            linear-gradient(180deg, var(--legal-surface), var(--legal-surface-alt));
    box-shadow: var(--shadow-1);
    color: var(--legal-muted);
    font-weight:600;
    font-size: .85rem;
    letter-spacing:.2px;
}

/* Title & meta */
.legal-title{
    margin: 8px 0 6px 0;
    font-size: clamp(28px, 4vw, 40px);
    line-height:1.2;
    letter-spacing: -.02em;
    font-weight:800;
    background: linear-gradient(90deg, var(--legal-text), #1f2937 30%, var(--legal-accent));
    -webkit-background-clip:text;
    background-clip:text;
    color: transparent;
}
.legal-meta{
    color: var(--legal-muted);
    font-size: .95rem;
    display:inline-flex;
    gap:10px;
    align-items:center;
    margin-bottom: 22px;
}
.legal-meta::before{
    content:"";
    width:8px;height:8px;border-radius:50%;
    background: linear-gradient(90deg, var(--legal-accent), var(--legal-accent-2));
    box-shadow: 0 0 0 3px rgba(79,70,229,.12);
}

/* Cards & articles */
.legal-card{
    background: var(--legal-surface);
    border:1px solid var(--legal-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-2);
}
.legal{
    padding: clamp(16px,2.2vw,24px);
    margin: 14px 0;
}
.legal h2{
    margin: 0 0 12px 0;
    font-size: clamp(20px,2.6vw,28px);
    line-height:1.25;
    letter-spacing:-.01em;
}
.legal p,
.legal ul,
.legal ol{
    margin: 10px 0;
    color: var(--legal-text);
}
.legal a{
    color: var(--legal-accent);
    text-decoration: none;
    border-bottom: 1px dashed rgba(79,70,229,.4);
}
.legal a:hover{
    border-bottom-style: solid;
}

/* Table — responsive, clean */
.table{
    width:100%;
    border-collapse: collapse;
    border:1px solid var(--legal-border);
    border-radius: var(--radius);
    overflow:hidden;
    display:block;             /* enable horizontal scroll on small screens */
    max-width:100%;
    overflow-x:auto;
}
.table thead th{
    background: linear-gradient(180deg, #f3f6fc, #eef3fb);
    color:#0b1220;
    font-weight:700;
    text-align:left;
}
.table th, .table td{
    padding: 12px 14px;
    border-bottom:1px solid var(--legal-border);
    min-width: 220px;
}
.table tbody tr:nth-child(even){
    background: #fafcff;
}

/* TOC (Sadržaj) */
.legal-toc{
    padding: clamp(14px,2vw,18px);
}
.legal-toc h3{
    margin:0 0 8px 0;
    font-size: 1.05rem;
    color:#111827;
    letter-spacing:.2px;
}
.legal-toc ul{
    list-style:none;
    margin:0;padding:0;
    display:grid;
    gap:8px;
}
.legal-toc a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 10px;
    border-radius: 10px;
    border:1px dashed rgba(79,70,229,.25);
    background: linear-gradient(180deg, var(--legal-surface), var(--legal-surface-alt));
    color:#0b1220;
}
.legal-toc a::before{
    content:"↳";
    opacity:.6;
}
.legal-toc a:hover{
    border-style: solid;
}

/* Sticky TOC on wide screens */
@media (min-width: 1024px){
    .legal-container{
        display:grid;
        grid-template-columns: 320px 1fr;
        gap: 24px;
    }
    .legal-head, .legal-title, .legal-meta{
        grid-column: 1 / -1;
    }
    .legal-toc{
        top: 16px;
        align-self: start;
    }
}

/* Notice & Callouts */
.notice{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:12px 14px;
    border:1px solid #e8eef7;
    background: #f3f7ff;
    border-left: 4px solid var(--legal-accent);
    border-radius: 12px;
    margin-top: 12px;
}
.notice svg{flex:0 0 auto; opacity:.85}
.notice a{border-bottom-color: rgba(14,165,233,.45)}

.callout{
    margin-top: 12px;
    padding:12px 14px;
    border-radius: 12px;
    border:1px solid var(--legal-border);
    background: var(--legal-surface-alt);
}
.callout.ok{
    border-left:4px solid var(--legal-ok);
    background: linear-gradient(180deg, #f1fdf7, #f7fffb);
}
.callout.warn{
    border-left:4px solid var(--legal-warn);
    background: linear-gradient(180deg, #fff8eb, #fffaf0);
}
.callout.danger{
    border-left:4px solid var(--legal-danger);
    background: linear-gradient(180deg, #fff1f2, #fff7f7);
}

/* Footer row in article */
.footer-legal{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 14px;
    border-top:1px solid var(--legal-border);
    color: var(--legal-muted);
}
.footer-legal .dot{
    width:6px;height:6px;border-radius:50%;background:#cbd5e1;display:inline-block;
}
.footer-legal .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius: 12px;
    font-weight:700;
    letter-spacing:.2px;
    color:#fff;
    background: linear-gradient(90deg, var(--legal-accent), var(--legal-accent-2));
    box-shadow: var(--shadow-1);
}
.footer-legal .btn:hover{transform: translateY(-1px)}
.footer-legal .btn:active{transform: translateY(0)}

/* Anchors: offset under sticky headers (if any) */
[id]{scroll-margin-top: 90px}

/* Focus & a11y */
a, button, [role="button"], .legal-toc a{
    outline:none;
}
a:focus-visible, .legal-toc a:focus-visible, .footer-legal .btn:focus-visible{
    box-shadow: var(--focus);
    border-radius: 12px;
}
.age-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.6);
    backdrop-filter: blur(2px);
    display: none;
    z-index: 1055;
}
.age-modal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 1060;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.age-card {
    max-width: 500px;
    width: 100%;
    background: #fff;
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    border: 1px solid #e5e7eb;
}
.age-actions .btn {
    min-width: 140px;
}
