/* ==========================================================
   P96 Amager Petanque Klub
   Public stylesheet
   Baseline: p96_index_v9.php design direction
   ========================================================== */

:root{
    --blue:#1f4a73;
    --blue-dark:#143453;
    --red:#c92835;
    --cream:#f3eee5;
    --paper:#ffffff;
    --text:#1e2b39;
    --muted:#5e6b78;
    --line:rgba(31,74,115,.16);
    --shadow:0 18px 50px rgba(20,52,83,.15);
    --radius-xl:30px;
    --radius-lg:20px;
    --max:1180px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    color:var(--text);
    background:
        linear-gradient(rgba(243,238,229,.72), rgba(243,238,229,.86)),
        url('../images/p96-hero-court.png') center 28% fixed;
    background-size:cover;
    line-height:1.55;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:
        radial-gradient(circle at 15% 12%, rgba(255,255,255,.28), transparent 25%),
        radial-gradient(circle at 88% 18%, rgba(31,74,115,.12), transparent 28%),
        linear-gradient(90deg, rgba(255,255,255,.34), rgba(255,255,255,.08), rgba(255,255,255,.34));
    pointer-events:none;
}

a{
    color:inherit;
    text-decoration:none;
}

img{
    display:block;
    max-width:100%;
}

.container{
    width:min(var(--max), calc(100% - 32px));
    margin:0 auto;
}

.site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(20,52,83,.10);
}

.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:12px 0;
}

.logo-area{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:auto;
    flex-shrink:0;
}

.logo-area img{
    width:76px;
    height:76px;
    object-fit:contain;
}

.logo-text strong{
    display:block;
    font-size:1.16rem;
    line-height:1.1;
    color:#172637;
}

.logo-text span{
    display:block;
    margin-top:3px;
    color:#5a6774;
    font-size:.94rem;
}

.main-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px;
}

.main-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 17px;
    border-radius:999px;
    background:rgba(31,74,115,.92);
    color:#fff;
    font-weight:700;
    font-size:.95rem;
    box-shadow:0 8px 18px rgba(20,52,83,.13);
}

.main-nav a:hover,
.main-nav a.is-active{
    background:var(--blue-dark);
}

.hero{
    padding:66px 0 34px;
}

.hero-grid{
    display:grid;
    grid-template-columns:1.04fr .96fr;
    gap:24px;
    align-items:stretch;
}

.hero-box{
    min-height:430px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-radius:var(--radius-xl);
    padding:48px 54px;
    color:#fff;

    background:
        linear-gradient(
            120deg,
            rgba(20,52,83,.92),
            rgba(31,74,115,.88)
        );

    box-shadow:var(--shadow);
    overflow:hidden;
    position:relative;
}

.hero-box::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:8px;
    background:var(--red);
}

.hero-label{
    align-self:flex-start;
    display:inline-flex;
    padding:9px 16px;
    border-radius:999px;
    margin-bottom:18px;
    background:rgba(0,0,0,.30);
    border:1px solid rgba(255,255,255,.18);
    font-size:.92rem;
    font-weight:700;
    text-shadow:0 1px 4px rgba(0,0,0,.55);
}

.hero h1{
    margin:0 0 16px;
    font-size:clamp(2.6rem, 6vw, 5.2rem);
    line-height:.98;
    letter-spacing:-.04em;
    text-shadow:0 4px 18px rgba(0,0,0,.42);
}

.hero p{
    max-width:690px;
    margin:0 0 26px;
    color:rgba(255,255,255,.96);
    font-size:1.12rem;
    font-weight:600;
    text-shadow:0 2px 8px rgba(0,0,0,.46);
}

.hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 22px;
    border-radius:999px;
    font-weight:800;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
}

.btn-red{
    background:var(--red);
    color:#fff;
}

.btn-blue{
    background:#fff;
    color:var(--blue-dark);
}

.hero-photo-card{
    position:relative;
    border-radius:var(--radius-xl);
    overflow:hidden;
    background:rgba(255,255,255,.92);
    box-shadow:var(--shadow);
}

.hero-photo-card img{
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover;
}

.hero-photo-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:34px 28px 28px;
    background:linear-gradient(
        to top,
        rgba(9,22,38,.88) 0%,
        rgba(9,22,38,.68) 48%,
        rgba(9,22,38,0) 100%
    );
    color:#fff;
}

.hero-photo-content h2{
    margin:0 0 8px;
    color:#fff;
    font-size:1.55rem;
    font-weight:800;
    text-shadow:0 2px 8px rgba(0,0,0,.45);
}

.hero-photo-content p{
    margin:0;
    color:rgba(255,255,255,.94);
    font-weight:700;
    line-height:1.55;
    text-shadow:0 2px 8px rgba(0,0,0,.45);
}

.section{
    margin:28px 0;
}

.card{
    border-radius:var(--radius-lg);
    background:rgba(255,255,255,.92);
    box-shadow:var(--shadow);
    border:1px solid rgba(255,255,255,.65);
    backdrop-filter:blur(7px);
}

.content-card{
    padding:30px;
}

.section-title{
    display:flex;
    align-items:center;
    gap:18px;
    margin:0 0 22px;
}

.section-title h2{
    margin:0;
    color:var(--blue-dark);
    font-size:clamp(1.55rem, 3vw, 2.35rem);
    line-height:1.05;
}

.section-title::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--line);
}

.about-grid{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:24px;
}

.about-card p{
    margin:0;
    color:#334255;
}

.list-card{
    padding:28px;
}

.list-card h3{
    margin:0 0 16px;
    color:var(--blue-dark);
}

.list-card ul{
    list-style:none;
    padding:0;
    margin:0;
}

.list-card li{
    padding:12px 0;
    border-bottom:1px solid rgba(31,74,115,.12);
    color:#344457;
}

.list-card li:last-child{
    border-bottom:0;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.feature-card{
    padding:28px;
    text-align:center;
}

.feature-icon{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    margin:0 auto 14px;
    border-radius:50%;
    background:rgba(31,74,115,.08);
    font-size:2rem;
}

.feature-card h3{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:1.3rem;
}

.feature-card p{
    margin:0;
    color:var(--muted);
}

.news-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.news-card{
    padding:26px;
    border-left:6px solid var(--red);
}

.news-card h3{
    margin:0 0 10px;
    color:var(--blue-dark);
}

.news-card p{
    margin:0;
    color:var(--muted);
}

.gallery-section{
    background:rgba(20,52,83,.94);
    border-top:3px solid var(--red);
    border-bottom:3px solid var(--red);
    padding:42px 0;
    margin:42px 0;
}

.gallery-section .section-title h2{
    color:#fff;
}

.gallery-section .section-title::after{
    background:rgba(255,255,255,.28);
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.gallery-item{
    border:6px solid rgba(255,255,255,.85);
    background:#fff;
    box-shadow:0 14px 30px rgba(0,0,0,.18);
    overflow:hidden;
}

.gallery-item img{
    width:100%;
    height:150px;
    object-fit:cover;
    transition:transform .25s ease;
}

.gallery-item:hover img{
    transform:scale(1.04);
}

.contact-grid{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:26px;
}

.contact-list{
    list-style:none;
    padding:0;
    margin:0;
}

.contact-list li{
    display:flex;
    gap:14px;
    padding:14px 0;
    border-bottom:1px solid rgba(31,74,115,.12);
}

.contact-list li:last-child{
    border-bottom:0;
}

.contact-badge{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--red);
    color:#fff;
    font-weight:800;
}

.map-placeholder{
    min-height:290px;
    border-radius:var(--radius-lg);
    overflow:hidden;
    background:
        linear-gradient(135deg, rgba(255,255,255,.66), rgba(31,74,115,.16)),
        repeating-linear-gradient(0deg, rgba(31,74,115,.06) 0 2px, transparent 2px 36px),
        repeating-linear-gradient(90deg, rgba(31,74,115,.06) 0 2px, transparent 2px 36px);
    border:1px solid rgba(31,74,115,.14);
    position:relative;
}

.map-placeholder::after{
    content:"P96 Amager";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    padding:12px 18px;
    border-radius:999px;
    background:var(--red);
    color:#fff;
    font-weight:800;
    box-shadow:0 12px 26px rgba(201,40,53,.25);
}

.site-footer{
    padding:32px 0 44px;
    text-align:center;
    color:#566575;
    font-size:.95rem;
}

@media (max-width:980px){
    .header-inner{
        flex-direction:column;
        align-items:flex-start;
    }

    .main-nav{
        justify-content:flex-start;
    }

    .hero-grid,
    .about-grid,
    .contact-grid,
    .news-grid,
    .feature-grid{
        grid-template-columns:1fr;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .hero-box{
        min-height:auto;
    }
}

@media (max-width:640px){
    .container{
        width:min(var(--max), calc(100% - 20px));
    }

    .hero{
        padding:32px 0 22px;
    }

    .hero-box{
        padding:32px 24px;
        border-radius:22px;
    }

    .content-card,
    .feature-card,
    .list-card{
        padding:22px;
    }

    .gallery-grid{
        grid-template-columns:1fr;
    }

    .main-nav a{
        min-height:36px;
        padding:0 13px;
        font-size:.9rem;
    }
}


/* ==========================================================
   P96 public news pages
   Add to bottom of assets/css/p96.css
   ========================================================== */

.page-hero{
    padding:54px 0 18px;
}

.page-hero-card{
    border-radius:var(--radius-xl);
    padding:48px 54px;
    color:#fff;
    background:
        linear-gradient(120deg, rgba(20,52,83,.94), rgba(31,74,115,.88));
    box-shadow:var(--shadow);
    position:relative;
    overflow:hidden;
}

.page-hero-card::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:8px;
    background:var(--red);
}

.page-hero-card h1{
    margin:0 0 14px;
    font-size:clamp(2.4rem, 5vw, 4.4rem);
    line-height:1;
    letter-spacing:-.04em;
}

.page-hero-card p{
    margin:0;
    max-width:720px;
    color:rgba(255,255,255,.94);
    font-size:1.12rem;
    font-weight:600;
}

.public-news-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.public-news-card{
    padding:28px;
    display:flex;
    flex-direction:column;
    min-height:245px;
}

.public-news-date{
    align-self:flex-start;
    display:inline-flex;
    padding:6px 11px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.84rem;
    font-weight:800;
    margin-bottom:12px;
}

.public-news-card h2{
    margin:0 0 12px;
    color:var(--blue-dark);
    font-size:1.35rem;
}

.public-news-card p{
    margin:0 0 22px;
    color:var(--muted);
}

.public-news-card a,
.news-read-more,
.back-link{
    margin-top:auto;
    color:var(--red);
    font-weight:800;
}

.news-article-wrap{
    max-width:900px;
}

.news-article{
    font-size:1.06rem;
    color:#2d3a49;
}

.back-link-wrap{
    margin:20px 0 0;
}

@media (max-width:980px){
    .public-news-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:640px){
    .page-hero{
        padding:30px 0 10px;
    }

    .page-hero-card{
        padding:32px 24px;
        border-radius:22px;
    }

    .public-news-grid{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   P96 lightbox
   Add to bottom of assets/css/p96.css
   ========================================================== */

.p96-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:28px;
    background:rgba(8,18,30,.86);
    backdrop-filter:blur(8px);
    cursor:pointer;
}

.p96-lightbox.is-visible{
    display:flex;
}

.p96-lightbox img{
    max-width:min(1100px, 96vw);
    max-height:90vh;
    object-fit:contain;
    border:8px solid rgba(255,255,255,.92);
    border-radius:18px;
    box-shadow:0 28px 80px rgba(0,0,0,.42);
    background:#fff;
}

.p96-lightbox-close{
    position:fixed;
    top:22px;
    right:24px;
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#143453;
    font-size:2rem;
    line-height:1;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 12px 32px rgba(0,0,0,.25);
}

.gallery-more-link{
    margin:22px 0 0;
    text-align:center;
}

.gallery-more-link a{
    display:inline-flex;
    min-height:42px;
    align-items:center;
    padding:0 18px;
    border-radius:999px;
    background:#fff;
    color:var(--blue-dark);
    font-weight:800;
    box-shadow:0 12px 28px rgba(0,0,0,.16);
}

@media (max-width:640px){
    .p96-lightbox{
        padding:14px;
    }

    .p96-lightbox img{
        border-width:5px;
        border-radius:14px;
    }

    .p96-lightbox-close{
        top:12px;
        right:12px;
    }
}

.membership-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:34px 36px;
    background:linear-gradient(
        145deg,
        rgba(20,52,83,.96),
        rgba(38,76,116,.92)
    );
    color:#fff;
    border:0;
}

.membership-badge{
    display:inline-flex;
    align-self:flex-start;
    margin-bottom:16px;
    padding:7px 13px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.03em;
}

.membership-card h3{
    margin:0 0 18px;
    color:#fff;
    font-size:1.72rem;
    line-height:1.15;
}

.membership-card p{
    margin:0;
    max-width:52ch;
    color:rgba(255,255,255,.92);
    font-size:1rem;
    line-height:1.75;
}

.membership-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:30px;
}

/* ==========================================================
   P96 admin gallery albums
   Add to bottom of assets/css/admin.css
   ========================================================== */

.admin-button-light{
    background:rgba(31,74,115,.10) !important;
    color:#143453 !important;
}

.admin-album-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:20px;
}

.admin-album-card{
    overflow:hidden;
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 34px rgba(20,52,83,.10);
    border:1px solid rgba(31,74,115,.10);
}

.admin-album-cover img,
.admin-album-placeholder{
    width:100%;
    height:185px;
    object-fit:cover;
}

.admin-album-placeholder{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, rgba(31,74,115,.18), rgba(201,40,53,.10));
    color:#143453;
    font-weight:900;
}

.admin-album-body{
    padding:18px;
}

.admin-album-body h2{
    margin:0 0 6px;
    color:#143453;
    font-size:1.12rem;
}

.admin-album-body p{
    margin:0 0 12px;
    color:var(--admin-muted);
    font-size:.94rem;
}

.admin-form select,
.admin-form input[type="date"],
.admin-form input[type="number"],
.admin-form input[type="file"]{
    width:100%;
    border:1px solid rgba(31,74,115,.20);
    border-radius:14px;
    padding:12px 14px;
    font:inherit;
    color:var(--admin-text);
    background:#fff;
}

.admin-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:20px;
}

.admin-gallery-card{
    overflow:hidden;
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 34px rgba(20,52,83,.10);
    border:1px solid rgba(31,74,115,.10);
}

.admin-gallery-card img{
    width:100%;
    height:185px;
    object-fit:cover;
}

.admin-gallery-card-body{
    padding:18px;
}

.admin-gallery-card-body h2{
    margin:0 0 6px;
    color:#143453;
    font-size:1.12rem;
}

.admin-gallery-card-body p{
    margin:0 0 12px;
    color:var(--admin-muted);
    font-size:.94rem;
}

.admin-card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:14px;
}

.admin-card-actions a{
    color:#143453;
    font-weight:800;
}

.admin-card-actions .danger-link{
    color:var(--admin-red);
}

.admin-current-image{
    margin-bottom:22px;
    max-width:520px;
    overflow:hidden;
    border-radius:18px;
    box-shadow:0 14px 32px rgba(20,52,83,.12);
}

.admin-current-image img{
    width:100%;
    max-height:320px;
    object-fit:cover;
}

.file-upload-wrapper{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    width:100%;
    min-height:56px;
    padding:8px 0;
}

.file-upload-input{
    position:absolute;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0, 0, 0, 0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

.file-upload-button{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 22px;
    border-radius:999px;
    background:#143453;
    color:#ffffff !important;
    text-decoration:none;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(20,52,83,.18);
    transition:transform .2s ease, background .2s ease;
}

.file-upload-button:hover{
    background:#1f4a73;
    transform:translateY(-1px);
}

.file-upload-name{
    color:var(--admin-muted);
    font-size:.95rem;
    font-weight:700;
}

@media (max-width:1100px){
    .admin-album-grid,
    .admin-gallery-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:700px){
    .admin-album-grid,
    .admin-gallery-grid{
        grid-template-columns:1fr;
    }
}

.public-album-card{
    overflow: hidden;
    border-radius: 28px;
    background: rgba(255,255,255,0.94);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
    border: 1px solid rgba(255,255,255,0.75);
}

.public-album-card > div{
    padding: 22px;
}

/* ==========================================================
   P96 album overview refinement
   Add to bottom of assets/css/p96.css
   ========================================================== */

.album-overview-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(290px, 360px));
    gap:24px;
    align-items:start;
}

.album-overview-card{
    overflow:hidden;
    border-radius:var(--radius-lg);
    background:rgba(255,255,255,.95);
    box-shadow:var(--shadow);
    border:1px solid rgba(255,255,255,.75);
}

.album-overview-image{
    display:block;
    overflow:hidden;
    background:rgba(31,74,115,.08);
}

.album-overview-image img,
.album-overview-placeholder{
    width:100%;
    height:230px;
    object-fit:cover;
}

.album-overview-image img{
    transition:transform .25s ease;
}

.album-overview-card:hover .album-overview-image img{
    transform:scale(1.04);
}

.album-overview-placeholder{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, rgba(31,74,115,.18), rgba(201,40,53,.10));
    color:var(--blue-dark);
    font-weight:900;
}

.album-overview-content{
    padding:22px;
}

.album-overview-meta{
    display:inline-flex;
    margin-bottom:12px;
    padding:6px 11px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:800;
}

.album-overview-content h2{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:1.32rem;
    line-height:1.18;
}

.album-overview-content p{
    margin:0 0 18px;
    color:var(--muted);
}

.album-overview-link{
    color:var(--red);
    font-weight:800;
}

@media (max-width:640px){
    .album-overview-grid{
        grid-template-columns:1fr;
    }

    .album-overview-image img,
    .album-overview-placeholder{
        height:220px;
    }
}

/* ==========================================================
   Album page refinement
   ========================================================== */

.public-gallery-card{
    overflow:hidden;
    border-radius:32px;
    background:rgba(255,255,255,.94);
    box-shadow:0 20px 48px rgba(15,23,42,.16);
    border:1px solid rgba(255,255,255,.75);
}

.public-gallery-card > a{
    display:block;
    position:relative;
}

.public-gallery-card img{
    width:100%;
    max-height:720px;
    object-fit:cover;
    display:block;
}

.public-gallery-card > div{
    position:relative;
    margin-top:-170px;
    padding:28px;
    background:linear-gradient(
        to top,
        rgba(10,20,35,.88),
        rgba(10,20,35,.72),
        rgba(10,20,35,.10)
    );
    color:#ffffff;
}

.public-gallery-card span{
    display:inline-flex;
    align-items:center;
    margin-bottom:14px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(6px);
    color:#ffffff;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.02em;
}

.public-gallery-card h2{
    margin:0 0 12px;
    color:#ffffff;
    font-size:2rem;
    line-height:1.1;
}

.public-gallery-card p{
    margin:0;
    max-width:720px;
    color:rgba(255,255,255,.92);
    font-size:1.02rem;
    line-height:1.7;
}

.back-link-wrap{
    margin-top:28px;
}

.back-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 20px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-weight:800;
    text-decoration:none;
    transition:all .2s ease;
}

.back-link:hover{
    background:var(--red);
    color:#ffffff;
    transform:translateY(-1px);
}

@media (max-width:768px){

    .public-gallery-card > div{
        margin-top:-120px;
        padding:22px;
    }

    .public-gallery-card h2{
        font-size:1.55rem;
    }

    .public-gallery-card p{
        font-size:.96rem;
    }
}

/* ==========================================================
   P96 board / club contacts
   Add to bottom of assets/css/admin.css and p96.css
   ========================================================== */

/* Admin */

.board-admin-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.board-admin-card{
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 40px rgba(15,23,42,.10);
}

.board-admin-card-featured{
    position:relative;
}

.board-admin-card-featured::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:6px;
    background:var(--admin-red);
    z-index:2;
}

.board-admin-image img,
.board-admin-placeholder{
    width:100%;
    height:230px;
    object-fit:cover;
}

.board-admin-placeholder{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, rgba(31,74,115,.18), rgba(201,40,53,.10));
    color:#143453;
    font-size:4rem;
    font-weight:900;
}

.board-admin-content{
    padding:22px;
}

.board-admin-content h2{
    margin:0 0 8px;
    color:#143453;
}

.board-admin-content p{
    margin:0 0 8px;
    color:var(--admin-muted);
}

.board-role{
    color:var(--admin-red) !important;
    font-weight:900;
}

.board-featured-badge,
.board-group-badge{
    display:inline-flex;
    margin:0 8px 12px 0;
    padding:6px 12px;
    border-radius:999px;
    font-size:.82rem;
    font-weight:900;
}

.board-featured-badge{
    background:rgba(201,40,53,.10);
    color:var(--admin-red);
}

.board-group-badge{
    background:rgba(31,74,115,.10);
    color:#143453;
}

/* Public */

.board-section-title{
    margin-top:42px;
}

.board-public-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    margin-bottom:34px;
}

.board-public-card{
    overflow:hidden;
    border-radius:28px;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(255,255,255,.75);
    box-shadow:0 18px 44px rgba(15,23,42,.12);
}

.board-public-card-featured{
    position:relative;
}

.board-public-card-featured::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:7px;
    background:var(--red);
    z-index:2;
}

.board-public-image img,
.board-public-placeholder{
    width:100%;
    height:260px;
    object-fit:cover;
}

.board-public-placeholder{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, rgba(31,74,115,.18), rgba(201,40,53,.10));
    color:var(--blue-dark);
    font-size:4rem;
    font-weight:900;
}

.board-public-content{
    padding:24px;
}

.board-public-content h3{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:1.35rem;
}

.board-public-role{
    display:inline-flex;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.84rem;
    font-weight:900;
}

.board-public-content p{
    margin:0 0 18px;
    color:var(--muted);
    line-height:1.7;
}

.board-public-contact{
    display:flex;
    flex-direction:column;
    gap:8px;
    color:#344457;
}

.board-public-contact a{
    color:var(--blue-dark);
    font-weight:800;
}

@media (max-width:1100px){
    .board-admin-grid,
    .board-public-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:700px){
    .board-admin-grid,
    .board-public-grid{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   P96 board / contacts
   Clean version
   ========================================================== */

.club-contact-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:24px;
    margin-bottom:40px;
}

.club-contact-card{
    overflow:hidden;
    border-radius:28px;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(255,255,255,.75);
    box-shadow:0 18px 44px rgba(15,23,42,.12);
    position:relative;
}

.club-contact-card-featured::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:7px;
    background:var(--red);
    z-index:2;
}

.club-contact-image img,
.club-contact-placeholder{
    width:100%;
    height:170px;
    object-fit:cover;
}

.club-contact-placeholder{
    display:grid;
    place-items:center;
    background:linear-gradient(
        135deg,
        rgba(31,74,115,.18),
        rgba(201,40,53,.10)
    );
    color:var(--blue-dark);
    font-size:4rem;
    font-weight:900;
}

.club-contact-content{
    padding:22px;
}

.club-contact-content h3{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:1.25rem;
    line-height:1.2;
}

.club-contact-role{
    display:inline-flex;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
}

.club-contact-details{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.contact-link{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:var(--blue-dark);
    font-weight:800;
    line-height:1.4;
    word-break:break-word;
}

.contact-symbol{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:24px;
    padding:0 8px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.72rem;
    font-weight:900;
}

@media (max-width:1120px){

    .club-contact-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}

@media (max-width:860px){

    .club-contact-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:640px){

    .club-contact-grid{
        grid-template-columns:1fr;
    }

    .club-contact-image img,
    .club-contact-placeholder{
        height:230px;
    }
}

.about-link-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
    margin-top:6px;
}

.about-link-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:140px;
    padding:30px;
    transition:transform .2s ease, box-shadow .2s ease;
}

.about-link-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.about-link-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:170px;
    height:34px;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
}
.about-link-card strong{
    display:block;
    color:var(--blue-dark);
    font-size:1.45rem;
    line-height:1.25;
    max-width:260px;
}

@media (max-width:860px){
    .about-link-grid{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   Mobile navigation
   ========================================================== */

.mobile-menu-toggle{
    display:none;
    width:54px;
    height:54px;
    border:none;
    border-radius:16px;
    background:var(--blue-dark);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(15,23,42,.18);
}

.mobile-menu-toggle span{
    width:22px;
    height:2px;
    background:#fff;
    border-radius:999px;
    transition:.2s ease;
}

@media (max-width:860px){

    .mobile-menu-toggle{
        display:flex;
    }

    .main-nav{
        position:absolute;
        top:100%;
        left:20px;
        right:20px;
        display:none;
        flex-direction:column;
        gap:12px;
        padding:20px;
        border-radius:24px;
        background:rgba(255,255,255,.98);
        box-shadow:0 24px 60px rgba(15,23,42,.18);
        z-index:1000;
    }

    .main-nav.nav-open{
        display:flex;
    }

    .main-nav a{
        width:100%;
        justify-content:flex-start;
    }
}

/* ==========================================================
   P96 contact page
   Add to bottom of assets/css/p96.css
   ========================================================== */

.contact-page-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:24px;
    align-items:stretch;
}

.contact-page-main p{
    margin:0 0 18px;
    color:#334255;
}

.contact-info-list{
    display:grid;
    gap:18px;
    margin-top:26px;
}

.contact-info-item{
    padding:22px;
    border-radius:22px;
    background:rgba(31,74,115,.06);
    border:1px solid rgba(31,74,115,.12);
}

.contact-info-item span{
    display:inline-flex;
    margin-bottom:10px;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
}

.contact-info-item strong{
    display:block;
    color:var(--blue-dark);
    font-size:1.12rem;
    margin-bottom:6px;
}

.contact-info-item p{
    margin:0;
    color:var(--muted);
}

.contact-info-item a{
    color:var(--blue-dark);
}

.contact-page-cta{
    padding:34px 36px;
}

.contact-map-grid{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:24px;
    align-items:stretch;
}

.contact-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:24px;
}

.contact-map-card{
    padding:0;
    overflow:hidden;
}

.contact-map-placeholder{
    min-height:330px;
    height:100%;
    display:grid;
    place-items:center;
    padding:30px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.70), rgba(31,74,115,.18)),
        repeating-linear-gradient(0deg, rgba(31,74,115,.07) 0 2px, transparent 2px 36px),
        repeating-linear-gradient(90deg, rgba(31,74,115,.07) 0 2px, transparent 2px 36px);
    position:relative;
}

.contact-map-placeholder::before{
    content:"";
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--red);
    box-shadow:0 0 0 12px rgba(201,40,53,.14);
    position:absolute;
    left:50%;
    top:44%;
    transform:translate(-50%, -50%);
}

.contact-map-placeholder div{
    margin-top:86px;
    padding:16px 22px;
    border-radius:999px;
    background:#fff;
    color:var(--blue-dark);
    box-shadow:0 16px 36px rgba(15,23,42,.16);
    text-align:center;
}

.contact-map-placeholder strong{
    display:block;
    font-size:1.05rem;
}

.contact-map-placeholder span{
    display:block;
    color:var(--muted);
    font-size:.92rem;
}

.contact-shortcuts{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.contact-shortcut-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:140px;
    padding:30px;
    transition:transform .2s ease, box-shadow .2s ease;
}

.contact-shortcut-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.contact-shortcut-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-width:120px;
    height:34px;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
    line-height:1;
}

.contact-shortcut-card strong{
    display:block;
    color:var(--blue-dark);
    font-size:1.35rem;
    line-height:1.25;
}

@media (max-width:960px){
    .contact-page-grid,
    .contact-map-grid{
        grid-template-columns:1fr;
    }

    .contact-shortcuts{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    .contact-page-cta,
    .contact-shortcut-card{
        padding:24px;
    }

    .contact-map-placeholder{
        min-height:280px;
    }
}

/* ==========================================================
   P96 about page additions
   Add to bottom of assets/css/p96.css
   ========================================================== */

.about-page-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:24px;
    align-items:stretch;
}

.about-page-main p{
    margin:0 0 18px;
    color:#334255;
}

.about-page-main p:last-child{
    margin-bottom:0;
}

.about-page-cta{
    padding:34px 36px;
}

.club-facts-card{
    padding:30px;
}

.club-facts-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:18px;
}

.club-fact{
    padding:22px;
    border-radius:22px;
    background:rgba(31,74,115,.06);
    border:1px solid rgba(31,74,115,.12);
}

.club-fact span{
    display:inline-flex;
    margin-bottom:10px;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
}

.club-fact strong{
    display:block;
    color:var(--blue-dark);
    font-size:1.05rem;
    line-height:1.3;
}

.club-fact p{
    margin:8px 0 0;
    color:var(--muted);
    line-height:1.45;
}

.document-card{
    display:flex;
    align-items:center;
    gap:28px;
    padding:34px;
}

.document-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:86px;
    height:86px;
    border-radius:24px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:1.25rem;
    font-weight:900;
    flex-shrink:0;
}

.document-content span{
    display:inline-flex;
    margin-bottom:10px;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(31,74,115,.10);
    color:var(--blue-dark);
    font-size:.82rem;
    font-weight:900;
}

.document-content h2{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:1.75rem;
    line-height:1.15;
}

.document-content p{
    margin:0 0 20px;
    max-width:760px;
    color:var(--muted);
}

.about-link-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
    margin-top:6px;
}

.about-link-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:140px;
    padding:30px;
    transition:transform .2s ease, box-shadow .2s ease;
}

.about-link-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.about-link-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-width:170px;
    height:34px;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
    line-height:1;
}

.about-link-card strong{
    display:block;
    color:var(--blue-dark);
    font-size:1.45rem;
    line-height:1.25;
    max-width:280px;
}

@media (max-width:1060px){
    .club-facts-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:860px){
    .about-page-grid,
    .about-link-grid{
        grid-template-columns:1fr;
    }

    .document-card{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media (max-width:640px){
    .club-facts-grid{
        grid-template-columns:1fr;
    }

    .club-facts-card,
    .document-card,
    .about-link-card{
        padding:24px;
    }
}

/* ==========================================================
   Sponsors
   ========================================================== */

.sponsor-section{
    padding-top:10px;
}

.sponsor-title{
    text-align:center;
}

.sponsor-title p{
    margin-top:10px;
    color:var(--muted);
}

.sponsor-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:22px;
    margin-top:30px;
}

.sponsor-card{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:140px;
    padding:24px;
    transition:transform .2s ease, box-shadow .2s ease;
}

.sponsor-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.sponsor-card img{
    max-width:100%;
    max-height:72px;
    object-fit:contain;
}

@media (max-width:860px){
    .sponsor-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }
}

@media (max-width:560px){
    .sponsor-grid{
        grid-template-columns:1fr;
    }
}

/* Public */

.sponsor-section{
    padding-top:10px;
}

.sponsor-title{
    align-items:baseline;
}

.sponsor-title p{
    margin:0;
    color:var(--muted);
}

.sponsor-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:22px;
    margin-top:28px;
}

.sponsor-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:142px;
    padding:24px;
    gap:12px;
    transition:transform .2s ease, box-shadow .2s ease;
}

.sponsor-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.sponsor-card img{
    max-width:100%;
    max-height:78px;
    object-fit:contain;
}

.sponsor-card strong{
    color:var(--blue-dark);
    font-size:1.1rem;
}

.sponsor-card span{
    color:var(--muted);
    font-size:.92rem;
    text-align:center;
}

/* ==========================================================
   P96 result links
   ========================================================== */

.useful-links-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:22px;
}

.useful-link-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:150px;
    padding:30px;
    transition:transform .2s ease, box-shadow .2s ease;
}

.useful-link-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.useful-link-card span{
    display:inline-flex;
    align-self:flex-start;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(31,74,115,.10);
    color:var(--blue-dark);
    font-size:.82rem;
    font-weight:900;
}

.useful-link-card strong{
    color:var(--blue-dark);
    font-size:1.15rem;
    line-height:1.3;
}

/* Public */

.result-links-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:22px;
}

.result-link-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:190px;
    padding:22px;
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
}

.result-link-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.result-link-card img{
    width:100%;
    height:82px;
    object-fit:contain;
    margin-bottom:18px;
    padding:8px;
    border-radius:16px;
    background:rgba(31,74,115,.04);
}

.result-link-card-content{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.result-link-card span{
    display:inline-flex;
    align-self:flex-start;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(31,74,115,.10);
    color:var(--blue-dark);
    font-size:.82rem;
    font-weight:900;
}

.result-link-card strong{
    color:var(--blue-dark);
    font-size:1.12rem;
    line-height:1.3;
    text-shadow:none;
}

.result-link-card-plain{
    background:rgba(255,255,255,.95);
}

.result-link-card-image::after{
    display:none;
}

@media (max-width:1100px){
    .result-links-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:640px){
    .result-links-grid{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   P96 footer update
   Add to bottom of assets/css/p96.css
   ========================================================== */

.site-footer{
    margin-top:52px;
    padding:54px 0 28px;
    text-align:left;
    color:#ffffff;
    background:
        linear-gradient(135deg, rgba(20,52,83,.98), rgba(31,74,115,.96));
    border-top:8px solid var(--red);
    box-shadow:0 -18px 50px rgba(20,52,83,.18);
}

.footer-grid{
    display:grid;
    grid-template-columns:1.35fr .9fr .9fr .9fr;
    gap:34px;
    align-items:start;
}

.footer-logo-row{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.footer-logo-row img{
    width:68px;
    height:68px;
    object-fit:contain;
    border-radius:18px;
    background:#fff;
    padding:6px;
}

.footer-logo-row strong{
    display:block;
    font-size:1.25rem;
    line-height:1.1;
}

.footer-logo-row span{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.72);
}

.footer-brand p{
    margin:0;
    max-width:410px;
    color:rgba(255,255,255,.78);
    line-height:1.7;
}

.footer-column h2{
    margin:0 0 16px;
    color:#fff;
    font-size:1.05rem;
}

.footer-column ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-column li{
    margin:0 0 10px;
    color:rgba(255,255,255,.76);
    line-height:1.45;
}

.footer-column a{
    color:rgba(255,255,255,.86);
    font-weight:700;
}

.footer-column a:hover{
    color:#ffffff;
    text-decoration:underline;
    text-underline-offset:4px;
}

.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:38px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.16);
    color:rgba(255,255,255,.62);
    font-size:.92rem;
}

@media (max-width:980px){
    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:640px){
    .site-footer{
        margin-top:36px;
        padding:38px 0 24px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:26px;
    }

    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }
}

.gallery-section{
    margin-bottom:0;
}

.gallery-section + .site-footer{
    margin-top:0;
}

.gallery-section{
    margin-bottom:0 !important;
    padding-bottom:70px;
}

.gallery-section + .site-footer{
    margin-top:0 !important;
}

.site-footer{
    margin-top:0 !important;
}

/* ==========================================================
   News cards refinement
   ========================================================== */

.news-grid,
.news-list{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 380px));
    gap:22px;
    justify-content:start;
}

.news-card{
    min-height:190px;
    padding:28px;
    border-radius:26px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    max-width:380px;
}

.news-card h3{
    margin:0 0 12px;
    color:var(--blue-dark);
    font-size:1.22rem;
    line-height:1.25;
}

.news-card p{
    margin:0 0 18px;
    color:var(--muted);
    line-height:1.55;
}

.news-card a,
.news-card .read-more{
    color:var(--red);
    font-weight:900;
}

@media (max-width:640px){
    .news-grid,
    .news-list{
        grid-template-columns:1fr;
    }

    .news-card{
        max-width:none;
    }
}

/* ==========================================================
   P96 bliv medlem page
   Add to bottom of assets/css/p96.css
   ========================================================== */

.member-intro-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:24px;
    align-items:stretch;
}

.member-intro-card p{
    margin:0 0 18px;
    color:#334255;
}

.member-intro-card p:last-child{
    margin-bottom:0;
}

.member-cta-card{
    padding:34px 36px;
}

.member-steps-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.member-step-card{
    padding:30px;
}

.member-step-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    margin-bottom:18px;
    border-radius:16px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-weight:900;
}

.member-step-card h3{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:1.28rem;
}

.member-step-card p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.member-benefits-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:stretch;
}

.member-benefits-list{
    list-style:none;
    margin:0;
    padding:0;
}

.member-benefits-list li{
    position:relative;
    padding:13px 0 13px 30px;
    border-bottom:1px solid rgba(31,74,115,.12);
    color:#334255;
}

.member-benefits-list li:last-child{
    border-bottom:0;
}

.member-benefits-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:21px;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--red);
    box-shadow:0 0 0 6px rgba(201,40,53,.10);
}

.member-practical-card p{
    margin:0;
    color:#334255;
}

.member-practical-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:26px;
}

.member-link-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.member-link-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:140px;
    padding:30px;
    transition:transform .2s ease, box-shadow .2s ease;
}

.member-link-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.member-link-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-width:120px;
    height:34px;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
    line-height:1;
}

.member-link-card strong{
    display:block;
    color:var(--blue-dark);
    font-size:1.35rem;
    line-height:1.25;
}

@media (max-width:960px){
    .member-intro-grid,
    .member-benefits-grid{
        grid-template-columns:1fr;
    }

    .member-steps-grid,
    .member-link-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    .member-cta-card,
    .member-step-card,
    .member-link-card{
        padding:24px;
    }
}

.proef-card{
    padding:42px;
    background:
        linear-gradient(135deg,
        rgba(20,52,83,.96),
        rgba(31,74,115,.92));
    color:#fff;
}

.proef-card h2{
    margin:14px 0 16px;
    color:#fff;
    font-size:2rem;
}

.proef-card p{
    max-width:720px;
    color:rgba(255,255,255,.88);
    line-height:1.7;
    margin-bottom:28px;
}

/* ==========================================================
   P96 bliv medlem page with trial training
   Add to bottom of assets/css/p96.css
   ========================================================== */

.member-intro-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:24px;
    align-items:stretch;
}

.member-intro-card p{
    margin:0 0 18px;
    color:#334255;
}

.member-intro-card p:last-child{
    margin-bottom:0;
}

.member-cta-card{
    padding:34px 36px;
}

.trial-training-card{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:0;
    overflow:hidden;
    padding:0;
    background:
        linear-gradient(135deg, rgba(20,52,83,.98), rgba(31,74,115,.94));
    color:#fff;
}

.trial-training-content{
    padding:42px;
}

.trial-training-content h2{
    margin:16px 0 16px;
    color:#fff;
    font-size:2rem;
    line-height:1.12;
}

.trial-training-content p{
    max-width:760px;
    margin:0 0 26px;
    color:rgba(255,255,255,.88);
    line-height:1.7;
}

.trial-training-meta{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    margin:0 0 28px;
}

.trial-training-meta div{
    padding:18px;
    border-radius:20px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.14);
}

.trial-training-meta span{
    display:block;
    margin-bottom:6px;
    color:rgba(255,255,255,.68);
    font-size:.85rem;
    font-weight:800;
}

.trial-training-meta strong{
    display:block;
    color:#fff;
    font-size:1rem;
}

.trial-training-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.btn-light{
    background:#fff;
    color:var(--blue-dark);
}

.training-card{
    padding:28px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.92),
            rgba(245,248,252,.96)
        );

    border:1px solid rgba(31,74,115,.10);
    border-top:6px solid #2f5f8f;

    box-shadow:0 18px 40px rgba(15,23,42,.10);

    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
}

.trial-training-visual-inner{
    width:min(320px, 100%);
    min-height:190px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:30px;
    border-radius:30px;
    background:rgba(255,255,255,.72);
backdrop-filter:blur(4px);
-webkit-backdrop-filter:blur(4px);
    color:var(--blue-dark);
    box-shadow:0 24px 60px rgba(0,0,0,.18);
}

.trial-training-visual-inner strong{
    display:block;
    margin-bottom:8px;
    font-size:1.45rem;
}

.trial-training-visual-inner span{
    display:block;
    color:var(--muted);
    line-height:1.45;
}

.member-steps-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.member-step-card{
    padding:30px;
}

.member-step-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    margin-bottom:18px;
    border-radius:16px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-weight:900;
}

.member-step-card h3{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:1.28rem;
}

.member-step-card p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.member-benefits-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:stretch;
}

.member-benefits-list{
    list-style:none;
    margin:0;
    padding:0;
}

.member-benefits-list li{
    position:relative;
    padding:13px 0 13px 30px;
    border-bottom:1px solid rgba(31,74,115,.12);
    color:#334255;
}

.member-benefits-list li:last-child{
    border-bottom:0;
}

.member-benefits-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:21px;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--red);
    box-shadow:0 0 0 6px rgba(201,40,53,.10);
}

.member-practical-card p{
    margin:0;
    color:#334255;
}

.member-practical-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:26px;
}

.member-link-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.member-link-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:140px;
    padding:30px;
    transition:transform .2s ease, box-shadow .2s ease;
}

.member-link-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 54px rgba(15,23,42,.16);
}

.member-link-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-width:120px;
    height:34px;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
    line-height:1;
}

.member-link-card strong{
    display:block;
    color:var(--blue-dark);
    font-size:1.35rem;
    line-height:1.25;
}

@media (max-width:960px){
    .member-intro-grid,
    .trial-training-card,
    .member-benefits-grid{
        grid-template-columns:1fr;
    }

    .member-steps-grid,
    .member-link-grid{
        grid-template-columns:1fr;
    }

 .trial-training-visual{
    position:relative;
    min-height:360px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:36px;

    background:url('../images/proevetraening.jpg');
    background-size:cover;
    background-position:center;
}
}

@media (max-width:640px){
    .member-cta-card,
    .member-step-card,
    .member-link-card,
    .trial-training-content{
        padding:24px;
    }

    .trial-training-meta{
        grid-template-columns:1fr;
    }
}

/* Public */

.training-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}



.training-day{
    display:inline-flex;
    margin-bottom:14px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
}

.training-card h3{
    margin:0 0 12px;
    color:var(--blue-dark);
    font-size:1.35rem;
    line-height:1.2;
}

.training-time{
    margin-bottom:8px;
    color:var(--blue-dark);
    font-size:1.08rem;
    font-weight:900;
}

.training-season{
    margin-bottom:14px;
    color:var(--muted);
    font-weight:800;
}

.training-card p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.training-cta{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:28px;
}

 .trial-training-visual{
    position:relative;
    min-height:360px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:36px;

    background:url('../images/proevetraening.jpg');
    background-size:cover;
    background-position:center;
}

/* ==========================================================
   P96 traeningstider.php
   Add to bottom of assets/css/p96.css
   ========================================================== */

.training-page-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.training-page-card{
    overflow:hidden;
    padding:0;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 40px rgba(15,23,42,.10);
}

.training-page-card-header{
    padding:26px 28px 20px;
    border-top:6px solid #2f5f8f;
    background:
        linear-gradient(
            135deg,
            rgba(31,74,115,.04),
            rgba(31,74,115,.09)
        );
}

.training-page-card-header h3{
    margin:14px 0 0;
    color:var(--blue-dark);
    font-size:1.45rem;
    line-height:1.2;
}

.training-page-card-body{
    padding:24px 28px 28px;
}

.training-page-info{
    margin-bottom:18px;
}

.training-page-info span{
    display:block;
    margin-bottom:5px;
    color:var(--muted);
    font-size:.88rem;
    font-weight:800;
}

.training-page-info strong{
    display:block;
    color:var(--blue-dark);
    font-size:1.12rem;
}

.training-page-card-body p{
    margin:10px 0 0;
    color:var(--muted);
    line-height:1.65;
}

.training-page-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:28px;
}

.training-empty-card p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.training-page-cta-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:38px;
    background:
        linear-gradient(135deg, rgba(20,52,83,.98), rgba(31,74,115,.94));
    color:#fff;
}

.training-page-cta-card span{
    display:inline-flex;
    margin-bottom:12px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:.82rem;
    font-weight:900;
}

.training-page-cta-card h2{
    margin:0 0 12px;
    color:#fff;
    font-size:2rem;
}

.training-page-cta-card p{
    margin:0;
    max-width:720px;
    color:rgba(255,255,255,.84);
    line-height:1.65;
}

.training-page-cta-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    flex-shrink:0;
}

@media (max-width:1100px){
    .training-page-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .training-page-cta-card{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media (max-width:640px){
    .training-page-grid{
        grid-template-columns:1fr;
    }

    .training-page-cta-card{
        padding:28px;
    }
}

/* ==========================================================
   P96 news admin/frontpage control
   Admin part: add to assets/css/admin.css
   ========================================================== */

.news-admin-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.news-admin-card{
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 40px rgba(15,23,42,.10);
}

.news-admin-content{
    padding:24px;
}

.news-admin-pill{
    display:inline-flex;
    margin-bottom:16px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--admin-red);
    font-size:.8rem;
    font-weight:900;
}

.news-admin-content h2{
    margin:0 0 12px;
    color:#143453;
}

.news-admin-content p{
    margin:0 0 10px;
    color:var(--admin-muted);
    word-break:break-word;
}

.news-frontpage-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:28px;
}

@media (max-width:1100px){
    .news-admin-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:640px){
    .news-admin-grid{
        grid-template-columns:1fr;
    }
}

.news-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    align-items:stretch;
}

.news-card{
    min-height:190px;
    height:100%;
    display:flex;
    flex-direction:column;
}

.news-card p{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.news-read-more{
    margin-top:auto;
}

@media (max-width:1000px){
    .news-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:640px){
    .news-grid{
        grid-template-columns:1fr;
    }
}

.training-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    max-width:980px;
    overflow:hidden;
    border-radius:24px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 16px 42px rgba(20,52,83,.10);
}

.training-card{
    display:grid;
    grid-template-columns:120px 1fr 180px 180px;
    gap:22px;
    align-items:center;
    min-height:auto;
    padding:20px 28px;
    border:0;
    border-bottom:1px solid rgba(31,74,115,.08);
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.training-card:last-child{
    border-bottom:0;
}

.training-card .training-day{
    justify-self:start;
}

.training-card h3{
    margin:0;
    font-size:1.05rem;
}

.training-card p{
    margin:0;
    color:var(--muted);
}

.training-card strong,
.training-card .training-time{
    color:var(--blue-dark);
    font-weight:900;
}

@media (max-width:900px){
    .training-card{
        grid-template-columns:1fr;
        gap:8px;
        padding:22px;
    }
}

/* ==========================================================
   P96 frontpage training list - admin inspired layout
   Add to bottom of assets/css/p96.css
   ========================================================== */

.front-training-panel{
    max-width:980px;
    overflow:hidden;
    border-radius:24px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 16px 42px rgba(20,52,83,.10);
}

.front-training-table{
    width:100%;
}

.front-training-table-head,
.front-training-row{
    display:grid;
    grid-template-columns:120px 170px 1.25fr 180px;
    gap:22px;
    align-items:center;
}

.front-training-table-head{
    padding:15px 28px;
    background:rgba(31,74,115,.045);
    border-bottom:1px solid rgba(31,74,115,.10);
}

.front-training-table-head span{
    color:var(--muted);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.front-training-row{
    padding:18px 28px;
    border-bottom:1px solid rgba(31,74,115,.08);
}

.front-training-row:last-child{
    border-bottom:0;
}

.front-training-row:hover{
    background:rgba(31,74,115,.025);
}

.front-training-day small,
.front-training-title small{
    display:block;
    color:var(--muted);
    line-height:1.35;
}

.front-training-day small{
    margin-bottom:6px;
    font-size:.76rem;
    font-weight:900;
    text-transform:uppercase;
}

.front-training-day strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    min-height:38px;
    padding:0 12px;
    border-radius:10px;
    background:rgba(35,120,78,.12);
    color:#23784e;
    font-weight:900;
}

.front-training-time{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--blue-dark);
}

.front-training-time strong,
.front-training-title strong,
.front-training-season strong{
    color:var(--blue-dark);
    font-weight:900;
}

.front-training-clock{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#23784e;
    flex-shrink:0;
}

.front-training-clock svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.front-training-title strong{
    display:block;
    font-size:1.02rem;
}

.front-training-title small{
    margin-top:4px;
}

.front-training-season strong{
    display:block;
}

.training-cta{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:22px;
}

@media (max-width:980px){
    .front-training-table-head{
        display:none;
    }

    .front-training-row{
        grid-template-columns:110px 1fr;
        gap:12px 18px;
        align-items:start;
    }

    .front-training-time,
    .front-training-title,
    .front-training-season{
        grid-column:2;
    }
}

@media (max-width:640px){
    .front-training-panel{
        border-radius:20px;
    }

    .front-training-row{
        grid-template-columns:1fr;
        padding:20px;
    }

    .front-training-time,
    .front-training-title,
    .front-training-season{
        grid-column:1;
    }
}

/* Add to bottom of assets/css/p96.css */

.training-page-panel{
    margin-top:18px;
}

.training-page-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:22px;
}

.training-page-cta-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:32px;
    background:
        linear-gradient(
            135deg,
            rgba(20,52,83,.96),
            rgba(31,74,115,.92)
        );
    color:#fff;
}

.training-page-cta-card span{
    display:inline-flex;
    margin-bottom:12px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-weight:900;
    font-size:.82rem;
}

.training-page-cta-card h2{
    margin:0 0 10px;
    color:#fff;
}

.training-page-cta-card p{
    margin:0;
    color:rgba(255,255,255,.84);
    line-height:1.7;
}

.training-page-cta-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    flex-shrink:0;
}

.training-empty-card{
    max-width:760px;
}

@media (max-width:800px){
    .training-page-cta-card{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* ==========================================================
   P96 public gallery v2
   Add to bottom of assets/css/p96.css
   ========================================================== */

.gallery-hero-card-v2,
.album-hero-card-v2{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:32px;
}

.gallery-hero-stats-v2{
    display:flex;
    gap:14px;
    flex-shrink:0;
}

.gallery-hero-stats-v2 article,
.album-hero-count-v2{
    min-width:116px;
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 12px 28px rgba(20,52,83,.10);
    text-align:center;
}

.gallery-hero-stats-v2 strong,
.album-hero-count-v2 strong{
    display:block;
    color:var(--blue-dark);
    font-size:2.1rem;
    line-height:1;
}

.gallery-hero-stats-v2 span,
.album-hero-count-v2 span{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-weight:900;
}

.gallery-feature-section-v2{
    padding-top:0;
}

.gallery-feature-card-v2{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:0;
    overflow:hidden;
    border-radius:34px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 22px 58px rgba(20,52,83,.14);
}

.gallery-feature-image-v2{
    min-height:420px;
    position:relative;
    overflow:hidden;
    background:rgba(31,74,115,.08);
}

.gallery-feature-image-v2 img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.gallery-feature-card-v2:hover .gallery-feature-image-v2 img{
    transform:scale(1.04);
}

.gallery-feature-placeholder-v2{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:var(--blue-dark);
    font-weight:900;
}

.gallery-feature-content-v2{
    padding:42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gallery-feature-content-v2 span,
.album-overview-meta-v2,
.public-gallery-caption-v2 span{
    display:inline-flex;
    align-self:flex-start;
    margin-bottom:14px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
}

.gallery-feature-content-v2 h2{
    margin:0 0 14px;
    color:var(--blue-dark);
    font-size:clamp(2rem, 3vw, 3rem);
    line-height:1.05;
}

.gallery-feature-content-v2 h2 a{
    color:inherit;
}

.gallery-feature-content-v2 p{
    margin:0 0 18px;
    color:var(--muted);
    line-height:1.75;
}

.gallery-feature-meta-v2{
    margin-bottom:24px;
    color:#344457;
    font-weight:900;
}

.album-overview-grid-v2{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
    gap:26px;
}

.album-overview-card-v2{
    overflow:hidden;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 44px rgba(20,52,83,.12);
    transition:transform .22s ease, box-shadow .22s ease;
}

.album-overview-card-v2:hover{
    transform:translateY(-3px);
    box-shadow:0 24px 58px rgba(20,52,83,.16);
}

.album-overview-image-v2{
    position:relative;
    display:block;
    height:260px;
    overflow:hidden;
    background:rgba(31,74,115,.08);
}

.album-overview-image-v2 img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .42s ease;
}

.album-overview-card-v2:hover .album-overview-image-v2 img{
    transform:scale(1.05);
}

.album-overview-placeholder-v2{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:var(--blue-dark);
    font-weight:900;
}

.album-image-count-v2{
    position:absolute;
    right:16px;
    bottom:16px;
    display:inline-flex;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(20,52,83,.88);
    color:#fff;
    font-size:.84rem;
    font-weight:900;
}

.album-overview-content-v2{
    padding:24px;
}

.album-overview-content-v2 h2{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:1.35rem;
}

.album-overview-content-v2 h2 a{
    color:inherit;
}

.album-overview-content-v2 p{
    margin:0 0 18px;
    color:var(--muted);
    line-height:1.65;
}

.album-overview-link-v2{
    color:var(--blue-dark);
    font-weight:900;
}

.public-gallery-grid-v2{
    columns:3 280px;
    column-gap:22px;
}

.public-gallery-card-v2{
    display:inline-block;
    width:100%;
    margin:0 0 22px;
    overflow:hidden;
    border-radius:26px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 16px 40px rgba(20,52,83,.12);
    break-inside:avoid;
}

.public-gallery-image-v2{
    position:relative;
    display:block;
    overflow:hidden;
    background:rgba(31,74,115,.08);
}

.public-gallery-image-v2 img{
    width:100%;
    height:auto;
    display:block;
    transition:transform .42s ease, filter .42s ease;
}

.public-gallery-card-v2:hover .public-gallery-image-v2 img{
    transform:scale(1.045);
    filter:brightness(.86);
}

.public-gallery-overlay-v2{
    position:absolute;
    inset:auto 16px 16px auto;
    opacity:0;
    transform:translateY(6px);
    padding:8px 13px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:var(--blue-dark);
    font-size:.84rem;
    font-weight:900;
    transition:opacity .22s ease, transform .22s ease;
}

.public-gallery-card-v2:hover .public-gallery-overlay-v2{
    opacity:1;
    transform:translateY(0);
}

.public-gallery-caption-v2{
    padding:20px;
}

.public-gallery-caption-v2 h2{
    margin:0 0 8px;
    color:var(--blue-dark);
    font-size:1.08rem;
    line-height:1.25;
}

.public-gallery-caption-v2 p{
    margin:0;
    color:var(--muted);
    line-height:1.6;
    font-size:.95rem;
}

.gallery-back-wrap-v2{
    margin-top:34px;
}

@media (max-width:900px){
    .gallery-hero-card-v2,
    .album-hero-card-v2,
    .gallery-feature-card-v2{
        grid-template-columns:1fr;
        flex-direction:column;
        align-items:flex-start;
    }

    .gallery-hero-stats-v2{
        width:100%;
    }

    .gallery-hero-stats-v2 article,
    .album-hero-count-v2{
        flex:1;
    }

    .gallery-feature-image-v2{
        min-height:300px;
    }
}

@media (max-width:640px){
    .gallery-hero-stats-v2{
        flex-direction:column;
    }

    .gallery-feature-content-v2{
        padding:28px;
    }

    .album-overview-image-v2{
        height:220px;
    }
}

.gallery-feature-image-v2{
    min-height:300px;
    max-height:360px;
}

.album-overview-image-v2{
    height:220px;
}

.public-gallery-grid-v2{
    columns:3 260px;
}

.public-gallery-image-v2 img{
    max-height:360px;
    object-fit:cover;
}

@media (max-width:900px){
    .gallery-feature-image-v2{
        min-height:240px;
        max-height:300px;
    }
}

/* =========================
   Galleri størrelse-fix
   ========================= */

.gallery-feature-image-v2{
    min-height:260px;
    max-height:340px;
}

.gallery-feature-image-v2 img{
    height:100%;
    object-fit:cover;
}

.album-overview-image-v2{
    height:210px;
}

.public-gallery-grid-v2{
    columns:3 240px;
    column-gap:18px;
}

.public-gallery-card-v2{
    margin-bottom:18px;
}

.public-gallery-image-v2 img{
    max-height:280px;
    object-fit:cover;
}

.public-gallery-caption-v2{
    padding:16px;
}

@media (max-width:900px){

    .gallery-feature-image-v2{
        min-height:220px;
        max-height:280px;
    }

    .album-overview-image-v2{
        height:190px;
    }

    .public-gallery-image-v2 img{
        max-height:240px;
    }
}

.public-gallery-caption-v2{
    min-height:140px;
    display:flex;
    flex-direction:column;
}

.public-gallery-caption-v2 p{
    margin-top:8px;
}

.public-gallery-caption-v2 h2{
    min-height:52px;
}

.public-gallery-card-v2{
    display:flex;
    flex-direction:column;
}

.public-gallery-grid-v2{
    columns:unset;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.public-gallery-card-v2{
    display:flex;
    flex-direction:column;
    height:100%;
}

.public-gallery-image-v2{
    height:240px;
}

.public-gallery-image-v2 img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
}

.public-gallery-caption-v2{
    flex:1;
    min-height:140px;
    display:flex;
    flex-direction:column;
}

.public-gallery-caption-v2 h2{
    min-height:44px;
}

@media (max-width:1000px){
    .public-gallery-grid-v2{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:640px){
    .public-gallery-grid-v2{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   P96 nyhed.php premium redesign
   Add to bottom of assets/css/p96.css
   ========================================================== */

.news-hero-card-v2{
    max-width:920px;
}

.news-hero-meta-v2{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
}

.news-date-v2{
    color:var(--muted);
    font-weight:800;
}

.news-lead-v2{
    max-width:760px;
    font-size:1.12rem;
    line-height:1.8;
}

.news-layout-v2{
    display:grid;
    grid-template-columns:minmax(0, 1.4fr) minmax(320px, .7fr);
    gap:34px;
    align-items:start;
}

.news-article-v2{
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 48px rgba(20,52,83,.10);
}

.news-article-content-v2{
    padding:42px;
    color:#243648;
    line-height:1.95;
    font-size:1.04rem;
}

.news-article-content-v2 p{
    margin:0 0 1.6rem;
}

.news-article-footer-v2{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    padding:28px 42px;
    border-top:1px solid rgba(31,74,115,.08);
    background:rgba(31,74,115,.025);
}

.news-sidebar-v2{
    display:grid;
    gap:24px;
}

.news-sidebar-card-v2{
    padding:30px;
    border-radius:28px;
    background:
        linear-gradient(
            135deg,
            rgba(20,52,83,.97),
            rgba(31,74,115,.94)
        );
    color:#fff;
    box-shadow:0 18px 48px rgba(20,52,83,.14);
}

.news-sidebar-card-v2 span{
    display:inline-flex;
    margin-bottom:14px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:.82rem;
    font-weight:900;
}

.news-sidebar-card-v2 h2{
    margin:0 0 12px;
    color:#fff;
}

.news-sidebar-card-v2 p{
    margin:0 0 20px;
    color:rgba(255,255,255,.82);
    line-height:1.75;
}

.news-sidebar-list-v2{
    padding:28px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 48px rgba(20,52,83,.10);
}

.news-sidebar-items-v2{
    display:grid;
    gap:16px;
}

.news-sidebar-item-v2{
    display:block;
    padding:18px;
    border-radius:20px;
    background:rgba(31,74,115,.035);
    transition:all .2s ease;
}

.news-sidebar-item-v2:hover{
    background:rgba(31,74,115,.08);
    transform:translateY(-2px);
}

.news-sidebar-item-v2 small{
    display:block;
    margin-bottom:6px;
    color:var(--muted);
    font-weight:800;
}

.news-sidebar-item-v2 strong{
    display:block;
    margin-bottom:6px;
    color:var(--blue-dark);
    line-height:1.4;
}

.news-sidebar-item-v2 span{
    color:var(--muted);
    line-height:1.55;
    font-size:.94rem;
}

@media (max-width:980px){

    .news-layout-v2{
        grid-template-columns:1fr;
    }

}

@media (max-width:640px){

    .news-article-content-v2{
        padding:28px;
    }

    .news-article-footer-v2{
        padding:22px 28px;
    }

    .news-sidebar-card-v2,
    .news-sidebar-list-v2{
        padding:24px;
    }

}

/* ==========================================================
   P96 nyheder.php premium redesign
   Add to bottom of assets/css/p96.css
   ========================================================== */

.news-overview-hero-card-v2{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:32px;
}

.news-overview-count-v2{
    min-width:130px;
    padding:20px;
    border-radius:24px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 12px 28px rgba(20,52,83,.10);
    text-align:center;
    flex-shrink:0;
}

.news-overview-count-v2 strong{
    display:block;
    color:var(--blue-dark);
    font-size:2.3rem;
    line-height:1;
}

.news-overview-count-v2 span{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-weight:900;
}

.news-feature-section-v2{
    padding-top:0;
}

.news-feature-card-v2{
    overflow:hidden;
    border-radius:34px;
    background:
        linear-gradient(
            135deg,
            rgba(20,52,83,.97),
            rgba(31,74,115,.94)
        );
    color:#fff;
    box-shadow:0 24px 58px rgba(20,52,83,.16);
}

.news-feature-content-v2{
    max-width:860px;
    padding:44px;
}

.news-feature-content-v2 span{
    display:inline-flex;
    margin-bottom:14px;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:.82rem;
    font-weight:900;
}

.news-feature-date-v2{
    margin-bottom:14px;
    color:rgba(255,255,255,.78);
    font-weight:800;
}

.news-feature-content-v2 h2{
    margin:0 0 16px;
    color:#fff;
    font-size:clamp(2rem, 3vw, 3.3rem);
    line-height:1.05;
}

.news-feature-content-v2 h2 a{
    color:inherit;
}

.news-feature-content-v2 p{
    max-width:760px;
    margin:0 0 26px;
    color:rgba(255,255,255,.84);
    line-height:1.85;
    font-size:1.05rem;
}

.news-overview-grid-v2{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    gap:26px;
}

.news-overview-card-v2{
    overflow:hidden;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 48px rgba(20,52,83,.10);
    transition:transform .22s ease, box-shadow .22s ease;
}

.news-overview-card-v2:hover{
    transform:translateY(-3px);
    box-shadow:0 26px 58px rgba(20,52,83,.15);
}

.news-overview-card-inner-v2{
    min-height:100%;
    padding:28px;
    display:flex;
    flex-direction:column;
}

.news-overview-meta-v2{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}

.news-overview-meta-v2 span{
    display:inline-flex;
    padding:7px 13px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.8rem;
    font-weight:900;
}

.news-overview-meta-v2 small{
    color:var(--muted);
    font-weight:800;
}

.news-overview-card-v2 h2{
    margin:0 0 14px;
    color:var(--blue-dark);
    font-size:1.45rem;
    line-height:1.25;
}

.news-overview-card-v2 h2 a{
    color:inherit;
}

.news-overview-card-v2 p{
    margin:0 0 22px;
    color:var(--muted);
    line-height:1.75;
    flex:1;
}

.news-overview-link-v2{
    color:var(--blue-dark);
    font-weight:900;
}

.news-overview-card-v2.is-featured{
    background:
        linear-gradient(
            135deg,
            rgba(20,52,83,.97),
            rgba(31,74,115,.94)
        );
}

.news-overview-card-v2.is-featured h2,
.news-overview-card-v2.is-featured h2 a,
.news-overview-card-v2.is-featured .news-overview-link-v2{
    color:#fff;
}

.news-overview-card-v2.is-featured p,
.news-overview-card-v2.is-featured small{
    color:rgba(255,255,255,.80);
}

.news-overview-card-v2.is-featured .news-overview-meta-v2 span{
    background:rgba(255,255,255,.14);
    color:#fff;
}

.news-cta-card-v2{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px;
    padding:36px;
    border-radius:34px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 48px rgba(20,52,83,.10);
}

.news-cta-card-v2 span{
    display:inline-flex;
    margin-bottom:12px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(31,74,115,.08);
    color:var(--blue-dark);
    font-size:.82rem;
    font-weight:900;
}

.news-cta-card-v2 h2{
    margin:0 0 10px;
    color:var(--blue-dark);
}

.news-cta-card-v2 p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
}

.news-cta-actions-v2{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    flex-shrink:0;
}

@media (max-width:900px){

    .news-overview-hero-card-v2,
    .news-cta-card-v2{
        flex-direction:column;
        align-items:flex-start;
    }

    .news-overview-count-v2{
        width:100%;
    }

}

@media (max-width:640px){

    .news-feature-content-v2,
    .news-overview-card-inner-v2,
    .news-cta-card-v2{
        padding:26px;
    }

}

/* ==========================================================
   P96 public sponsors v2
   Add to bottom of assets/css/p96.css
   ========================================================== */

.sponsor-section-v2{
    position:relative;
}

.sponsor-section-header-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:28px;
}

.sponsor-section-header-v2 span{
    display:inline-flex;
    margin-bottom:12px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
}

.sponsor-section-header-v2 h2{
    margin:0 0 10px;
    color:var(--blue-dark);
    font-size:clamp(2rem, 3vw, 2.8rem);
    line-height:1.05;
}

.sponsor-section-header-v2 p{
    max-width:680px;
    margin:0;
    color:var(--muted);
    line-height:1.75;
}

.sponsor-grid-v2{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    gap:22px;
}


a.sponsor-card-v2:hover{
    transform:translateY(-3px);
    box-shadow:0 26px 58px rgba(20,52,83,.15);
}



.sponsor-logo-v2 img{
    max-width:100%;
    max-height:90px;
    width:auto;
    height:auto;
    object-fit:contain;
}

.sponsor-logo-v2 strong{
    color:var(--blue-dark);
    font-size:1.15rem;
    text-align:center;
}

.sponsor-card-content-v2 h3{
    margin:0 0 8px;
    color:var(--blue-dark);
    font-size:1.08rem;
}

.sponsor-card-content-v2 p{
    margin:0 0 12px;
    color:var(--muted);
    line-height:1.55;
    font-size:.95rem;
}

.sponsor-card-content-v2 span{
    color:var(--blue-dark);
    font-weight:900;
    font-size:.92rem;
}

.sponsors-hero-card-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
}

.sponsors-hero-count-v2{
    min-width:130px;
    padding:20px;
    border-radius:24px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 12px 28px rgba(20,52,83,.10);
    text-align:center;
    flex-shrink:0;
}

.sponsors-hero-count-v2 strong{
    display:block;
    color:var(--blue-dark);
    font-size:2.3rem;
    line-height:1;
}

.sponsors-hero-count-v2 span{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-weight:900;
}

.sponsors-page-grid-v2{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
    gap:26px;
}

.sponsors-page-card-v2{
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 48px rgba(20,52,83,.10);
    transition:transform .22s ease, box-shadow .22s ease;
}

.sponsors-page-card-v2.has-link:hover{
    transform:translateY(-3px);
    box-shadow:0 26px 58px rgba(20,52,83,.15);
}

.sponsors-page-logo-v2{
    height:190px;
    display:grid;
    place-items:center;
    padding:32px;
    background:
        linear-gradient(
            135deg,
            rgba(31,74,115,.045),
            rgba(31,74,115,.085)
        );
    border-bottom:1px solid rgba(31,74,115,.08);
}

.sponsors-page-logo-v2 img{
    max-width:100%;
    max-height:120px;
    width:auto;
    height:auto;
    object-fit:contain;
}

.sponsors-page-logo-v2 strong{
    display:grid;
    place-items:center;
    width:92px;
    height:92px;
    border-radius:50%;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:2.4rem;
    font-weight:900;
}

.sponsors-page-content-v2{
    padding:26px;
}

.sponsors-page-content-v2 span{
    display:inline-flex;
    margin-bottom:14px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.82rem;
    font-weight:900;
}

.sponsors-page-content-v2 h2{
    margin:0 0 12px;
    color:var(--blue-dark);
    font-size:1.35rem;
}

.sponsors-page-content-v2 p{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.7;
}

.sponsors-page-content-v2 strong{
    color:var(--blue-dark);
}

.sponsor-cta-card-v2{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px;
    padding:36px;
    border-radius:34px;
    background:
        linear-gradient(
            135deg,
            rgba(20,52,83,.97),
            rgba(31,74,115,.94)
        );
    color:#fff;
    box-shadow:0 24px 58px rgba(20,52,83,.16);
}

.sponsor-cta-card-v2 span{
    display:inline-flex;
    margin-bottom:12px;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:.82rem;
    font-weight:900;
}

.sponsor-cta-card-v2 h2{
    margin:0 0 10px;
    color:#fff;
}

.sponsor-cta-card-v2 p{
    margin:0;
    max-width:720px;
    color:rgba(255,255,255,.84);
    line-height:1.7;
}

.sponsor-cta-actions-v2{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    flex-shrink:0;
}

@media (max-width:900px){
    .sponsor-section-header-v2,
    .sponsors-hero-card-v2,
    .sponsor-cta-card-v2{
        flex-direction:column;
        align-items:flex-start;
    }

    .sponsors-hero-count-v2{
        width:100%;
    }
}

@media (max-width:640px){
    .sponsor-cta-card-v2{
        padding:28px;
    }

    .sponsors-page-grid-v2{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   Sponsor layout repair - clean final override
   ========================================================== */

.sponsor-card-v2{
    overflow:hidden;
    border-radius:26px;
    background:#ffffff;
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 44px rgba(20,52,83,.10);
    transition:transform .22s ease, box-shadow .22s ease;
}

.sponsor-logo-v2{
    height:130px;
    display:grid;
    place-items:center;
    padding:24px;
    background:#ffffff;
    border-bottom:1px solid rgba(31,74,115,.08);
}

.sponsor-card-content-v2{
    padding:20px;
    background:rgba(31,74,115,.018);
}

/* ==========================================================
   Sponsor logo background refinement
   ========================================================== */

.sponsors-page-logo-v2{
    background:#ffffff;
    border-bottom:1px solid rgba(31,74,115,.08);
}

.sponsors-page-content-v2{
    background:
        linear-gradient(
            135deg,
            rgba(31,74,115,.025),
            rgba(31,74,115,.05)
        );
}

.news-card{
    position:relative;
    overflow:hidden;
    min-height:220px;
    padding:30px;
    border-left:0;
    border-radius:28px;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(245,248,252,.96)
        );
    border:1px solid rgba(31,74,115,.10);
    box-shadow:0 18px 44px rgba(20,52,83,.11);
}

.news-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:7px;
    background:var(--red);
}

.news-card::after{
    content:"Nyhed";
    position:absolute;
    top:22px;
    right:24px;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.78rem;
    font-weight:900;
}

.news-card h3{
    max-width:75%;
    font-size:1.25rem;
}

.news-read-more{
    align-self:flex-start;
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 15px;
    border-radius:999px;
    background:rgba(31,74,115,.08);
    color:var(--blue-dark);
    font-weight:900;
}

.news-read-more:hover{
    background:var(--blue-dark);
    color:#fff;
}

.contact-map-embed{
    width:100%;
    min-height:330px;
    height:100%;
    overflow:hidden;
    border-radius:20px;
}

.contact-map-embed iframe{
    width:100%;
    height:100%;
    min-height:330px;
    border:0;
    display:block;
}

/* ==========================================================
   BESTYRELSE - PUBLIC
   ========================================================== */

.board-public-grid-v1 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.board-public-card-v1 {
    overflow: hidden;
    padding: 0;
}

.board-public-photo-v1 {
    height: 260px;

    display: grid;
    place-items: center;

    background: rgba(31, 74, 115, 0.08);

    color: #143453;
    font-size: 4rem;
    font-weight: 900;
}

.board-public-photo-v1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.board-public-body-v1 {
    padding: 24px;
}

.board-public-body-v1 span {
    display: inline-flex;
    margin-bottom: 10px;

    color: var(--red);
    font-weight: 900;
}

.board-public-body-v1 h2 {
    margin: 0 0 12px;
}

.board-public-body-v1 p {
    margin: 0 0 16px;
}

.board-public-contact-v1 {
    display: grid;
    gap: 7px;
}

.board-public-contact-v1 a {
    font-weight: 900;
    text-decoration: none;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1100px) {

    .board-active-grid-v1,
    .board-public-grid-v1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {

    .board-active-grid-v1,
    .board-public-grid-v1 {
        grid-template-columns: 1fr;
    }

    .board-active-card-v1 {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   BESTYRELSE - PUBLIC
   ========================================================== */

.board-public-grid-v1 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.board-public-card-v1 {
    overflow: hidden;
    padding: 0;
}

.board-public-photo-v1 {
    height: 260px;

    display: grid;
    place-items: center;

    background: rgba(31, 74, 115, 0.08);

    color: #143453;
    font-size: 4rem;
    font-weight: 900;
}

.board-public-photo-v1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.board-public-body-v1 {
    padding: 24px;
}

.board-public-body-v1 span {
    display: inline-flex;
    margin-bottom: 10px;

    color: var(--red);
    font-weight: 900;
}

.board-public-body-v1 h2 {
    margin: 0 0 12px;
}

.board-public-body-v1 p {
    margin: 0 0 16px;
}

.board-public-contact-v1 {
    display: grid;
    gap: 7px;
}

.board-public-contact-v1 a {
    font-weight: 900;
    text-decoration: none;
}


/* ==========================================================
   BESTYRELSE - RESPONSIVE PUBLIC
   ========================================================== */

@media (max-width: 1100px) {

    .board-public-grid-v1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {

    .board-public-grid-v1 {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   P96 lightbox navigation v2
   Add to bottom of assets/css/p96.css
   ========================================================== */

body.p96-lightbox-open {
    overflow: hidden;
}

.p96-lightbox {
    cursor: zoom-out;
}

.p96-lightbox-frame {
    position: relative;
    max-width: min(1120px, 82vw);
    max-height: 90vh;
    margin: 0;
    cursor: default;
}

.p96-lightbox-frame img {
    width: auto;
    max-width: 100%;
    max-height: 88vh;
}

.p96-lightbox-nav {
    position: fixed !important;
    top: 50% !important;
    z-index: 10020 !important;

    width: 64px !important;
    height: 64px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 50% !important;

    background: rgba(20, 52, 83, 0.92) !important;
    color: #ffffff !important;

    font-size: 2.45rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.32) !important;
    cursor: pointer !important;

    transform: translateY(-50%) !important;
    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease !important;
}

.p96-lightbox-nav span {
    display: block;
    transform: translateY(-2px);
}

.p96-lightbox-nav:hover {
    background: var(--red) !important;
    transform: translateY(-50%) scale(1.08) !important;
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.38) !important;
}

.p96-lightbox-prev {
    left: clamp(18px, 4vw, 74px) !important;
}

.p96-lightbox-next {
    right: clamp(18px, 4vw, 74px) !important;
}

.p96-lightbox-nav[hidden] {
    display: none !important;
}

.p96-lightbox-counter {
    position: absolute;
    left: 50%;
    bottom: 18px;

    transform: translateX(-50%);

    padding: 7px 14px;
    border-radius: 999px;

    background: rgba(20, 52, 83, 0.88);
    color: #ffffff;

    font-size: 0.86rem;
    font-weight: 900;

    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.28);
}

.p96-lightbox-close {
    z-index: 10030;
}

@media (max-width: 820px) {

    .p96-lightbox {
        padding: 16px;
    }

    .p96-lightbox-frame {
        max-width: 100%;
    }

    .p96-lightbox-nav {
        width: 52px !important;
        height: 52px !important;
        font-size: 2rem !important;
    }

    .p96-lightbox-prev {
        left: 14px !important;
    }

    .p96-lightbox-next {
        right: 14px !important;
    }

    .p96-lightbox-counter {
        bottom: 12px;
    }
}

@media (max-width: 520px) {

    .p96-lightbox-nav {
        width: 46px !important;
        height: 46px !important;
        font-size: 1.75rem !important;
    }

    .p96-lightbox-prev {
        left: 8px !important;
    }

    .p96-lightbox-next {
        right: 8px !important;
    }
}

/* ==========================================================
   P96 KLUBKALENDER - PUBLIC VISNING
   ========================================================== */

.activity-filter-panel {
    margin-bottom: 30px;
    padding: 24px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(31, 74, 115, 0.10);
    box-shadow: 0 18px 44px rgba(20, 52, 83, 0.10);
}

.activity-filter-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 18px;
}

.activity-filter-title strong {
    display: block;
    color: var(--blue-dark);
    font-size: 1.2rem;
    font-weight: 900;
}

.activity-filter-title span {
    display: block;
    color: var(--muted);
    font-weight: 700;
    text-align: right;
}

.activity-filter-bar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0;
}

.activity-filter {
    --activity-color: var(--blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(31, 74, 115, 0.055);
    border: 1px solid color-mix(in srgb, var(--activity-color) 28%, rgba(31, 74, 115, 0.12));
    color: var(--blue-dark);
    font-size: 0.92rem;
    font-weight: 900;
    box-shadow: none;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.activity-filter:hover {
    transform: translateY(-1px);
    background: color-mix(in srgb, var(--activity-color) 12%, #ffffff);
}

.activity-filter.is-active {
    background: var(--blue-dark);
    border-color: var(--blue-dark);
    color: #ffffff;
}


/* ==========================================================
   P96 KLUBKALENDER - MÅNEDER
   ========================================================== */

.activity-public-list {
    display: grid;
    gap: 34px;
}

.activity-month-group {
    padding: 0;
}

.activity-month-group > h2 {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    margin: 0 0 18px;
    padding: 0 20px;
    border-radius: 999px;
    background: rgba(20, 52, 83, 0.94);
    color: #ffffff;
    font-size: 1.18rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(20, 52, 83, 0.16);
}

.activity-month-items {
    display: grid;
    gap: 16px;
}


/* ==========================================================
   P96 KLUBKALENDER - BEGIVENHEDSKORT
   ========================================================== */

.activity-public-row {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 22px;
    padding: 22px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(31, 74, 115, 0.10);
    box-shadow: 0 18px 46px rgba(20, 52, 83, 0.11);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.activity-public-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 58px rgba(20, 52, 83, 0.15);
}

.activity-public-date {
    min-height: 106px;
    display: grid;
    place-items: center;
    align-self: start;
    padding: 12px 8px;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--blue-dark), var(--blue));
    color: #ffffff;
    box-shadow: 0 16px 34px rgba(20, 52, 83, 0.20);
}

.activity-public-date small,
.activity-public-date strong,
.activity-public-date em {
    display: block;
    line-height: 1;
    text-align: center;
}

.activity-public-date small {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    font-weight: 900;
    opacity: 0.82;
}

.activity-public-date strong {
    margin: 7px 0 6px;
    font-size: 2.35rem;
    font-weight: 900;
}

.activity-public-date em {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.74rem;
    font-style: normal;
    font-weight: 900;
}

.activity-public-main {
    min-width: 0;
    display: grid;
    gap: 10px;
}

.activity-public-main h3 {
    margin: 0;
    color: var(--blue-dark);
    font-size: 1.35rem;
    line-height: 1.2;
    font-weight: 900;
}

.activity-public-main p {
    margin: 0;
    max-width: 840px;
    color: #344457;
    line-height: 1.72;
}

.activity-public-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 800;
}

.activity-public-meta > span:not(.activity-category-pill) {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(31, 74, 115, 0.06);
    color: #344457;
}

.activity-category-pill {
    --activity-color: var(--blue);
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    min-height: 32px;
    gap: 6px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--activity-color) 34%, transparent);
    background: color-mix(in srgb, var(--activity-color) 12%, #ffffff);
    color: var(--blue-dark);
    font-size: 0.86rem;
    font-weight: 900;
}


/* ==========================================================
   P96 KLUBKALENDER - TOM VISNING
   ========================================================== */

.training-empty-card {
    max-width: 860px;
}

.training-empty-card p {
    color: var(--muted);
    line-height: 1.7;
}


/* ==========================================================
   P96 KLUBKALENDER - RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

    .activity-filter-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .activity-filter-title span {
        text-align: left;
    }

    .activity-public-row {
        grid-template-columns: 1fr;
    }

    .activity-public-date {
        width: 100%;
        min-height: 82px;
        grid-template-columns: auto auto auto;
        gap: 10px;
        justify-content: center;
        align-items: center;
    }

    .activity-public-date strong {
        margin: 0;
        font-size: 2rem;
    }
}

@media (max-width: 520px) {

    .activity-filter-panel,
    .activity-public-row {
        padding: 18px;
        border-radius: 24px;
    }

    .activity-filter {
        width: 100%;
        justify-content: flex-start;
    }
}

/* =====================================================
   KLUBKALENDER - IKONER I METAINFO
   ===================================================== */

.activity-public-meta span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.activity-public-meta i{
    font-size:.90rem;
    color:#5d6b7b;
}

/* =====================================================
   KLUBKALENDER - Læs mere link
   ===================================================== */

.activity-read-more{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:8px;
    color:#163a63;
    font-weight:600;
    text-decoration:none;
    transition:all .2s ease;
}

.activity-read-more:hover{
    color:#d72638;
    gap:10px;
}

.activity-read-more::after{
    content:"→";
    transition:transform .2s ease;
}

.activity-read-more:hover::after{
    transform:translateX(3px);
}

/* =====================================================
   KLUBKALENDER - DISKRETE TEKSTLINKS
   ===================================================== */

.activity-text-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:8px;
    color:#143453;
    font-weight:900;
    text-decoration:none;
    transition:color .2s ease, gap .2s ease;
}

.activity-text-link::after{
    content:"→";
    transition:transform .2s ease;
}

.activity-text-link:hover{
    color:#1f4a73;
    gap:10px;
}

.activity-text-link:hover::after{
    transform:translateX(3px);
}

/* ==========================================================
   P96 offentlige hold
   Tilføj nederst i assets/css/p96.css
   ========================================================== */

.public-teams-section-v1{
    padding-top:8px;
}

.public-teams-intro-v1{
    max-width:720px;
    margin:-8px 0 24px;
    color:var(--muted);
}

.public-teams-grid-v1{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
    align-items:start;
}

.public-team-card-v1{
    overflow:hidden;
    min-height:100%;
}

.public-team-card-header-v1{
    padding:26px;
}

.public-team-card-header-v1 > span{
    display:inline-flex;
    margin-bottom:14px;
    padding:7px 13px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.8rem;
    font-weight:900;
}

.public-team-card-header-v1 h3{
    margin:0 0 12px;
    color:var(--blue-dark);
    font-size:1.42rem;
    line-height:1.18;
}

.public-team-card-header-v1 p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.public-team-members-v1{
    border-top:1px solid rgba(31,74,115,.10);
}

.public-team-members-v1 summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:17px 22px;
    list-style:none;
    color:var(--blue-dark);
    font-weight:900;
    cursor:pointer;
    background:rgba(31,74,115,.035);
}

.public-team-members-v1 summary::-webkit-details-marker{
    display:none;
}

.public-team-members-v1 summary::after{
    content:"⌄";
    color:var(--red);
    font-size:1.2rem;
    transition:transform .2s ease;
}

.public-team-members-v1[open] summary::after{
    transform:rotate(180deg);
}

.public-team-members-v1 summary strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:28px;
    margin-left:auto;
    padding:0 9px;
    border-radius:999px;
    background:rgba(31,74,115,.10);
    font-size:.86rem;
}

.public-team-member-list-v1{
    padding:8px 22px 18px;
}

.public-team-member-v1{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 0;
    border-bottom:1px solid rgba(31,74,115,.09);
    color:#344457;
}

.public-team-member-v1:last-child{
    border-bottom:0;
}

.public-team-member-v1 small{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    background:rgba(201,40,53,.10);
    color:var(--red);
    font-size:.75rem;
    font-weight:900;
}

.public-teams-actions-v1{
    display:flex;
    margin-top:24px;
}

.public-team-groups-v1{
    display:grid;
    gap:38px;
}

.public-team-group-v1 .section-title{
    margin-bottom:20px;
}

.public-teams-empty-v1{
    max-width:760px;
}

.public-teams-empty-v1 h2{
    margin:0 0 10px;
    color:var(--blue-dark);
}

.public-teams-empty-v1 p{
    margin:0;
    color:var(--muted);
}

@media (max-width:980px){
    .public-teams-grid-v1{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:640px){
    .public-teams-grid-v1{
        grid-template-columns:1fr;
    }

    .public-team-card-header-v1{
        padding:22px;
    }

    .public-team-member-v1{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }
}

/* P96 offentligt dokumentarkiv */
.document-folder-grid-v1{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.document-folder-card-v1{display:grid;grid-template-columns:78px minmax(0,1fr);gap:20px;min-height:220px;padding:28px;transition:transform .2s ease,box-shadow .2s ease}
.document-folder-card-v1:hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(20,52,83,.18)}
.document-folder-icon-v1{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,rgba(31,74,115,.12),rgba(201,40,53,.08));font-size:2.2rem}
.document-folder-card-v1 span{display:inline-flex;margin-bottom:10px;padding:6px 11px;border-radius:999px;background:rgba(201,40,53,.1);color:var(--red);font-size:.82rem;font-weight:900}
.document-folder-card-v1 h2{margin:0 0 10px;color:var(--blue-dark);font-size:1.42rem}.document-folder-card-v1 p{margin:0 0 18px;color:var(--muted)}.document-folder-card-v1 strong{color:var(--red)}
.document-list-v1{display:grid;gap:18px;max-width:920px}
.document-item-v1{display:grid;grid-template-columns:86px minmax(0,1fr);gap:22px;padding:26px}
.document-item-icon-v1{width:78px;height:78px;display:grid;place-items:center;border-radius:22px;background:rgba(201,40,53,.1);color:var(--red);font-weight:900}
.document-item-meta-v1{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;color:var(--muted);font-size:.86rem;font-weight:800}
.document-item-meta-v1 span:not(:last-child)::after{content:"·";margin-left:10px}
.document-item-content-v1 h2{margin:0 0 10px;color:var(--blue-dark);font-size:1.35rem}.document-item-content-v1 p{margin:0 0 16px;color:var(--muted)}.document-open-link-v1{color:var(--red);font-weight:900}
.document-empty-v1{max-width:760px}.document-empty-v1 h2{margin:0 0 10px;color:var(--blue-dark)}.document-empty-v1 p{margin:0;color:var(--muted)}
@media(max-width:1050px){.document-folder-grid-v1{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.document-folder-grid-v1{grid-template-columns:1fr}.document-folder-card-v1,.document-item-v1{grid-template-columns:1fr}}

Tilføj nederst i /assets/css/p96.css:

.footer-credit a {
    color: inherit;
    font-weight: 700;
    text-decoration: none;
}

.footer-credit a:hover {
    text-decoration: underline;
}
