@font-face {
    font-family: Schibsted Grotesk;
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
    src: url(/src/fonts/25b0293b23271008-s.woff2) format("woff2");
    unicode-range: u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff
}

@font-face {
    font-family: Schibsted Grotesk;
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
    src: url(/src/fonts/935cd3e4028ff59e-s.p.woff2) format("woff2");
    unicode-range: u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd
}

@font-face {
    font-family: Schibsted Grotesk Fallback;
    src: local("Arial");
    ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.00%;size-adjust:104.49%
}
@keyframes flyInFromTopRight {
    0% {
        opacity: 0;
        transform: translate(50px, -20px);
    }
    70% {
        opacity: 1;
        transform: translate(-5px, 2px);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
*{

    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: var(--font-roboto);
    text-decoration: none; 
    list-style: none;
}
:root{

    --bg-color: #242424;
    --header-color: #0d0d0d;
    --text-color: #fff;
    --hover-color: #f54e4e;
    --box-color: #1e0606;
    --color-bg: #110f0d;
    --color-cream-500: #ffedd9;

    --font-schibsted: "Schibsted Grotesk", "Schibsted Grotesk Fallback";
    --font-roboto: "Roboto", sans-serif;
    --spacing: .25rem;

    --m-border-style {
        syntax: "*";
        inherits: false;
        initial-value: solid;
    };

    
}
html{
    position: relative;
    box-sizing: border-box;
    min-height: 100%;
}
body{
    background: var(--bg-color);
    color: var(--text-color);
    position: relative;
    padding-bottom: 60px;
    min-height: 100%;
    margin: 0;
    min-height: 100vh;
}


/* ----Header---- */
.underheader{
    mask-image: linear-gradient(var(--bg-color) 20%, transparent calc(80%));
    backdrop-filter: blur(6px);
    --tw-backdrop-blur: blur(6px);
    background-color: color-mix(in oklab, var(--bg-color) 80%, transparent);
    width: 100%;
    height: 6rem;
    margin-inline: auto;
    z-index: 9996;
    left: calc(var(--spacing)*0);
    right: calc(var(--spacing)*0);
    top: calc(var(--spacing)*0);
    position: fixed;
}
.header_wrapper{
    padding-block: calc(var(--spacing)*4);
    padding-inline: calc(var(--spacing)*2);
    align-items: center;
    flex-direction: row;
    flex-shrink: 0;
    width: 100%;
    height: 6rem;
    display: flex;
    margin-inline: auto;
    z-index: 9997;
    isolation: isolate;
    left: calc(var(--spacing)*0);
    right: calc(var(--spacing)*0);
    top: calc(var(--spacing)*0);
    position: fixed;
}
.header{
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    padding-inline: calc(var(--spacing)*2);
    background-color: color-mix(in oklab, var(--header-color) 50%, transparent);
    border-color: color-mix(in oklab, #fff1e0 10%, transparent) !important;
    border-style: solid;
    border-width: 1px;
    border-radius : 1rem;
    gap: calc(0.25rem*8);
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    max-width: 75rem;
    width: 100%;
    height: 100%;
    display: flex;
    margin-inline: auto;
    position: relative; 
    z-index: 9998;
}
.header::before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    --tw-backdrop-blur: blur(24px);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    z-index: -1;
    border-radius : 1rem;
}
.logo{
    justify-content: flex-start;
    flex: 1;
    display: flex;
}
.logo a{
    -webkit-mask-image: linear-gradient(60deg, #000 25%, #0003 50%, #000 75%);
    mask-image: linear-gradient(60deg, #000 25%, #0003 50%, #000 75%);
    -webkit-mask-position: 0;
    mask-position: 0;
    -webkit-mask-size: 400%;
    mask-size: 400%;

    padding-inline: calc(.25rem*1);
    place-content: center;
    flex-shrink: 0;
    width: fit-content;
    height: 100%;
    display: grid;
    
}
.logo img{
    flex-shrink: 0;
    width: calc(var(--spacing)*26);
    display: flex;
}
.navbar_wrapper{
    display: flex;
    -webkit-user-select: none;
    user-select: none;
    font-size: .875rem;
    line-height: calc(1.25/.875);
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex: 1;
    height: 100%;
    position: relative;
}
.navbar{
    font-size: 1rem;
    line-height: calc(1.25/.875);
    justify-content: center;
    align-items: center;
    flex-direction: row;
    height: 100%;
    display: flex;
    position: relative;
}
.navbar a{
    opacity: .4;
    padding-inline: calc(var(--spacing)*6);
    place-content: center;
    height: 100%;
    display: grid;
    position: relative;
    color: var(--color-cream-500);
    white-space: nowrap;
    font-family: var(--font-schibsted);
    
}
.navbar a:hover{
    opacity: 1;
}
.navbar a.active{
    color: var(--hover-color);
    text-decoration: underline;
    text-underline-offset: 7px;
    opacity: 1;
    font-weight: bold;
}
.navbar_spacer{
    gap: calc(var(--spacing)*2);
    justify-content: flex-end;
    align-items: center;
    flex-direction: row;
    flex: 1;
    display: flex;
}

.navbar_spacer_clen a#clen_holstejnska {
    /* Base styles */
    user-select: none;
    -webkit-user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-size: 0.875rem; /* text-sm */
    font-weight: 500; /* font-medium */
    
    /* Colors and borders */
    background-color: #282523b7; /* bg-mocha-400 */
    border: 1px solid #433b32; /* border-mocha-300 */
    color: #fff1e0; /* text-cream-400 */
    border-radius: 1.5rem; /* rounded-xl */
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); /* shadow-sm */
    
    /* Spacing */
    padding: 0.5rem 1rem; /* px-2 py-1 */
    
    /* Transitions */
    transition: all 0.2s ease;
    
    /* Focus styles */
    outline: none;

    margin-right: 10px;
}

.navbar_spacer_clen a#clen_holstejnska:hover {
    background-color: #433b32; /* hover:bg-mocha-300 */
}

.navbar_spacer_clen a#clen_holstejnska:hover:active {
    background-color: rgba(67, 59, 50, 0.5); /* hover:active:bg-mocha-300/50 */
    transform: translateY(0.125rem) scale(0.98); /* hover:active:translate-y-0.5 hover:active:scale-[0.98] */
}

.navbar_spacer_clen a#clen_holstejnska:focus-visible {
    outline: 2px solid #a69f95; /* focus-visible:ring-2 focus-visible:ring-mocha-200 */
    outline-offset: 2px; /* ring-offset-background */
}

.navbar_spacer_clen a#clen_holstejnska:disabled,
.navbar_spacer_clen a#clen_holstejnska[disabled] {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

.dropdown {
    position: relative;
    display: inline-block;
    height: 100%;
}
.dropdown-trigger {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.dropdown-trigger svg{
    margin-left: 4px;
    transform: rotate(0deg);
    transition: transform .3s ease;
}
.dropdown:hover .dropdown-trigger svg {
    transform: rotate(180deg);
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: color-mix(in oklab, var(--header-color) 50%, transparent);
    min-width: 160px;
    border-radius: 0 0 1rem 1rem;
    border: 1px solid color-mix(in oklab, #fff1e0 10%, transparent);
    border-top: none;
    padding: 12px 0;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 9996;
}
.dropdown-content::before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    --tw-backdrop-blur: blur(24px);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    -moz-backdrop-filter: blur(24px);
    border-radius: 0 0 1rem 1rem;
    z-index: -1;
}
.dropdown-content a {
    color: var(--color-cream-500);
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: center;
    opacity: 0.4;
    height: auto;
}
.dropdown:hover .dropdown-content {
    display: block;
    opacity: 1;
}

#menu-icon {
    --icon-size: 35px;
    cursor: pointer;
    width: var(--icon-size);
    height: var(--icon-size);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0 10px;
    color: var(--text-color);
    display: none;
}

#menu-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}

#menu-icon svg .line {
    transition: all 0.3s ease;
    transform-origin: center;
    transform-box: fill-box;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

#menu-icon.bx-x svg .line-1 {
    transform: translateY(6px) rotate(45deg);
}

#menu-icon.bx-x svg .line-2 {
    opacity: 0;
}

#menu-icon.bx-x svg .line-3 {
    transform: translateY(-6px) rotate(-45deg);
}

/* ----/Header---- */


/* ----Mobile header---- */
.mobile_navbar{
    background-color: var(--color-bg);
    z-index: 9996;
    inset: calc(var(--spacing)*0);
    position: fixed;
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
    opacity: 0;
    font-family: var(--font-schibsted);
    display: block;
    unicode-bidi: isolate;
    right: 200%;
    pointer-events: none;
}
.mobile_navbar a{
    display: block;
    margin: 12px 0;
    padding: 0px 25px;
    transition: all .50s ease;
}
.mobile_navbar.open{
    right: 0;
    opacity: 1;
    pointer-events: auto;
}
.mobile_navbar_mid{
    flex-direction: column;
    height: 100%;
    display: flex;
}
.mobile_navbar_links{
    padding-inline: calc(var(--spacing)*10);
    gap: calc(var(--spacing)*6);
    flex-direction: column;
    flex: 1;
    display: flex;
    margin-top: calc(var(--spacing)*24);
}
.mobile_navbar_links a{
    font-family: var(--font-schibsted);
    transform: none;
    width: 100%;
    display: flex;
    color: var(--text-color);
    font-weight: 500;
    font-size: 1.5rem;
    line-height: calc(2/1.5);
    opacity: 0;
    transform: translate(50px, -20px);
}
.mobile_navbar_links a:active{
    transform: translateX(-2px);
}
.mobile_navbar_links a:hover{
    transform: translateX(10px);
}
.mobile_navbar_links .active{
    color: var(--hover-color);
    text-decoration: underline;
    text-underline-offset: 7px;
}
.mobile_navbar.open .mobile_navbar_links > a:nth-child(1),
.mobile_navbar.open .mobile_navbar_links > .mobile_dropdown:nth-child(2),
.mobile_navbar.open .mobile_navbar_links > a:nth-child(3),
.mobile_navbar.open .mobile_navbar_links > a:nth-child(4),
.mobile_navbar.open .mobile_navbar_links > a:nth-child(5),
.mobile_navbar.open .mobile_navbar_links > .mobile_dropdown:nth-child(2) .mobile_dropdown-trigger {
    animation: flyInFromTopRight 0.5s cubic-bezier(.4,0,.2,1) forwards;
}

/* Animation delays for main items */
.mobile_navbar.open .mobile_navbar_links > a:nth-child(1) {
    animation-delay: 0.10s;
}

.mobile_navbar.open .mobile_navbar_links > .mobile_dropdown:nth-child(2) .mobile_dropdown-trigger {
    animation-delay: 0.12s;
}

.mobile_navbar.open .mobile_navbar_links > a:nth-child(3) {
    animation-delay: 0.14s;
}

.mobile_navbar.open .mobile_navbar_links > a:nth-child(4) {
    animation-delay: 0.16s;
}

.mobile_navbar.open .mobile_navbar_links > a:nth-child(5) {
    animation-delay: 0.18s;
}
.mobile_dropdown {
    width: 100%;
}
.mobile_dropdown-trigger {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}
.mobile_dropdown-trigger svg{
    margin: 0;
    transform: rotate(0deg);
    transition: .3s;
}
.mobile_dropdown.open .mobile_dropdown-trigger svg {
    transform: rotate(180deg);
}
.mobile_dropdown-content {
    display: none;
    padding-left: 20px;
    margin: 10px 0;
}

.mobile_dropdown-content a {
    transform: translateX(20px);
    font-size: 1.2rem !important;
    opacity: 0;
}

.mobile_dropdown.open .mobile_dropdown-content {
    display: block;
}

.mobile_dropdown.open .mobile_dropdown-content a {
    animation: flyInFromTopRight 0.5s cubic-bezier(.4,0,.2,1) forwards;
}

.mobile_dropdown.open .mobile_dropdown-content a:nth-child(1) {
    animation-delay: 0.10s;
}

.mobile_dropdown.open .mobile_dropdown-content a:nth-child(2) {
    animation-delay: 0.12s;
}

.mobile_dropdown.open .mobile_dropdown-content a:nth-child(3) {
    animation-delay: 0.14s;
}

.mobile_dropdown.open .mobile_dropdown-content a:nth-child(4) {
    animation-delay: 0.16s;
}

.mobile_dropdown.open .mobile_dropdown-content a:nth-child(5) {
    animation-delay: 0.18s;
}

.mobile_dropdown.open .mobile_dropdown-content a:nth-child(6) {
    animation-delay: 0.20s;
}
/* ----/Mobile header---- */


/*-------------------------------------------------------*/


.main{
    max-width: 95%;
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
    border: 0 solid;
    flex: 1;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    padding-bottom: calc(var(--spacing)*14);
    padding-top: calc(var(--spacing)*24);
}


/* ----Hero Section---- */
.hero {
    position: relative;
    width: 100%;
    height: calc(30vh + var(--spacing) * 24);
    min-height: calc(250px + var(--spacing) * 24);
    margin-top: 0;
    padding-top: calc(var(--spacing) * 24);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive image as background */
.hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.85);
    pointer-events: none;
    user-select: none;
}

/* Gradient overlay - works with both img and CSS background */
.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(135deg, rgba(30, 6, 6, 0.65) 0%, rgba(36, 36, 36, 0.45) 50%, rgba(13, 13, 13, 0.65) 100%);
    z-index: 1;
}

/* CSS background image fallback (for pages without responsive images) */
.hero--bg::before {
    background: 
        linear-gradient(135deg, rgba(30, 6, 6, 0.65) 0%, rgba(36, 36, 36, 0.45) 50%, rgba(13, 13, 13, 0.65) 100%),
        var(--hero-bg-image);
    background-size: cover;
    background-position: center;
    filter: saturate(0.85);
}

/* Bottom fade gradient */
.hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 60%, var(--bg-color) 100%);
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 20px;
}

.hero h1 {
    font-family: var(--font-schibsted);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 700;
    color: var(--text-color);
    margin: 0;
    letter-spacing: -0.02em;
    animation: fadeIn 1s ease-out forwards;
}

.hero p {
    font-family: var(--font-schibsted);
    font-size: 1.1rem;
    color: rgba(255, 237, 217, 0.7);
    margin-top: 0.75rem;
    max-width: 600px;
    animation: fadeIn 1.2s ease-out forwards;
}
/* ----/Hero Section---- */


/* ----Title+underline---- */
.main .main_title{
    text-align: center;
    margin: 0 auto;
    width: 100%;
    font-size: 1.7em;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.main .main_title svg{
    width: 8em;
    color: var(--hover-color);
    margin-top: -30px;
}
/* ----/Title+underline---- */


.main h2{
    font-size: 1.6em;
    line-height: 1.3;
}
.main p{
    line-height: 1.3;
    font-size: 1.2em;
}
.main_credits{
    color: #b3b3b3;
    line-height: 1.3;
    font-size: 0.9em;
    text-align: right;
    margin-top: calc(var(--spacing)*6);
}
.date_history{
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: bold;
    line-height: 1.6;
}
#map{
    height: 50vh;
    width: 80vh;
    max-width: 60%;
    align-self: center;
}
#map iframe{
    border-radius: 1rem;
}
.mail_contacts{
    text-decoration: underline;
    color: var(--text-color);
    word-break: break-all;
}
.h3_contacts{
    font-size: 1.8em;
}
.h4_contacts{
    font-size: 1.5em;
}
.main_contacts{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}
.contacts_text_2 svg{
    height: 12vh;
    max-width: 1vh;
    flex: none;
}
.img_desciption{
    color: #b3b3b3;
    line-height: 1.3;
    font-size: 1em;
    text-align: center;
    margin-top: calc(var(--spacing)*2);
}
.main_img{
    margin-top: calc(var(--spacing)*12);
    max-width: 50%;
    max-height: 80vh;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    margin-inline: auto;
    cursor: pointer;
}
u{
    text-decoration: underline;
    text-underline-offset: 2px;
}




/* Footer */
.footer{
    height: 60px;
    background-color: var(--header-color);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    width: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    padding-inline: calc(var(--spacing)*8);
}
.footer_socials {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing)*32);
}

.footer_socials a {
    color: #fff;
    transition: color 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer_socials a svg {
    width: 40px;
    height: 40px;
}
.footer_socials a:hover {
    color: #3a3a3a;
}
.footer_copyright{
    position: absolute;
    left: calc(var(--spacing)*8);
    color: var(--text-color);
}
.footer_copyright a{
    text-decoration: none;
}
.footer_madeby{
    position: absolute;
    right: calc(var(--spacing)*8);
    color: var(--text-color);
}
.footer_madeby a{
    text-decoration: none;
    color: #fff;
}

/* index.php Upcoming Events Section */
.main-content-wrapper {
    display: flex;
    flex-direction: row;
    gap: 30px;
    margin-top: 20px;
}

.main-text {
    flex: 2;
}

.upcoming-events {
    flex: 1;
    background-color: rgba(30, 6, 6, 0.4);
    border-radius: 10px;
    padding: 20px;
    max-width: 300px;
    align-self: flex-start;
}

.upcoming-events h3 {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.4em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 10px;
    color: var(--text-color);
}

.event-card {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.event-card:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}

.event-title {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 5px;
    color: var(--hover-color);
}

.event-date {
    font-size: 0.9em;
    margin-bottom: 5px;
    color: #ccc;
}

.event-location {
    font-size: 0.9em;
    color: #ccc;
}

.no-events {
    font-style: italic;
    color: #aaa;
    text-align: center;
    padding: 10px 0;
}




@media (width >= 51rem){
    .underheader{
        padding-block: calc(var(--spacing)*5);
    }
    .header_wrapper{
        padding-block: calc(var(--spacing)*5);
    }
    .mobile_navbar{
        display: none;
    }
    .contacts_text_2 svg{
        display: none;
    }
}

@media (width <= 51rem){
    #menu-icon{
        display: block;
    }
    .navbar{
        display: none;
    }
    .logo img{
        width: calc(var(--spacing)*24);
    }
    .header_wrapper{
        height: 5.5rem;
    }
    .navbar_spacer{
        display: flex;
    }
    .main{
        padding-top: calc(var(--spacing)*22);
        margin-bottom: calc(var(--spacing)*6);
    }
    .hero {
        height: calc(25vh + var(--spacing) * 22);
        min-height: calc(200px + var(--spacing) * 22);
        padding-top: calc(var(--spacing) * 22);
    }
    .main_contacts{
        flex-direction: column;
        gap: calc(var(--spacing)*6);
    }
    .h3_contacts{
        text-align: center;
    }
    .contacts_text_2{
        display: flex;
        flex-direction: row;
        justify-content: center;
        text-align: center;
        width: 100%;
        gap: calc(var(--spacing)*2) 
    }
    .contacts_text_adress, 
    .contacts_text_email {
    flex: 1;
    max-width: 300px;
    }
    #map{
        max-width: 95%;
    }
    .main_img{
        max-width: 95%;
    }
    .footer {
        height: auto;
        min-height: 80px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-inline: calc(var(--spacing)*4);
        padding-top: calc(var(--spacing)*2);
        padding-bottom: calc(var(--spacing)*2);
    }
    .footer_socials {
        position: static;
        margin-bottom: calc(var(--spacing)*2);
    }
    .footer_copyright {
        position: static;
        text-align: center;
        margin: 0;
        margin-bottom: calc(var(--spacing)*1);
    }
    .footer_madeby {
        position: static;
        text-align: center;
        margin: 0;
    }

    /* index.php events */
    .main-content-wrapper {
        flex-direction: column;
    }
    
    .upcoming-events {
        max-width: 100%;
        margin-top: 30px;
        order: 2;
        align-self: center;
    }
    
    .main-text {
        order: 1;
    }
    .navbar_spacer {
        display: none;
    }
}

.missing-error-content {
    text-align: center;
    text-underline-offset: 6px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 0 20px;
}
.missing-error-content a{
    text-decoration: underline;
    text-underline-offset: 6px;
    color: var(--hover-color);
    font-weight: bold;
    font-size: 1.5em;
    line-height: 1.3;
    margin-top: calc(var(--spacing)*6);
}

/* Mobile-specific styles for image viewer */
@media (max-width: 768px) {
    #img_box_container button {
        width: 35px !important;
        height: 35px !important;
        font-size: 18px !important;
    }
    
    #img_box_container .zoom-controls {
        bottom: 10px !important;
        padding: 8px !important;
    }
}

/* Additional cursor styles */
.draggable {
    cursor: grab;
}

.dragging {
    cursor: grabbing;
}

/* Prevent text selection while dragging */
.no-select {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Smooth zoom transition */
.smooth-zoom {
    transition: transform 0.1s ease-out;
}

/* Tooltip for zoom controls */
.zoom-button[title]::after {
    content: attr(title);
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
}

.zoom-button[title]:hover::after {
    opacity: 1;
    visibility: visible;
}


/* ----Cave Page Styles---- */
.cave-links {
    display: flex;
    justify-content: center;
    gap: calc(var(--spacing) * 8);
    flex-wrap: wrap;
}

.cave-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--hover-color);
    font-family: var(--font-schibsted);
    font-weight: 500;
    font-size: 0.95rem;
    text-decoration: none;
    padding: 8px 16px;
    border: 1px solid rgba(245, 78, 78, 0.3);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.cave-link:hover {
    background: rgba(245, 78, 78, 0.1);
    border-color: var(--hover-color);
}

.cave-link svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.cave-map {
    margin: calc(var(--spacing) * 10) auto;
    max-width: 80vw;
}

.cave-map img {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    cursor: pointer;
    max-width: 100%;
    margin-top: 0;
}

.cave-map-caption {
    text-align: center;
    color: #b3b3b3;
    font-size: 0.9rem;
    margin-top: calc(var(--spacing) * 2);
}

.cave-content {
    margin: 0 auto calc(var(--spacing) * 12);
}

.cave-content p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
}

.cave-gallery {
    margin-top: calc(var(--spacing) * 12);
}

.cave-gallery h2 {
    font-family: var(--font-schibsted);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-color);
    margin-bottom: calc(var(--spacing) * 6);
    text-align: center;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: calc(var(--spacing) * 4);
    max-width: 1400px;
    margin-inline: auto;
}

.gallery-item {
    aspect-ratio: 4/3;
    background: linear-gradient(135deg, rgba(30, 6, 6, 0.6) 0%, rgba(17, 15, 13, 0.8) 100%);
    border: 1px solid rgba(255, 241, 224, 0.15);
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}

.gallery-item:hover {
    border-color: rgba(245, 78, 78, 0.5);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

.gallery-item-more {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    background: linear-gradient(135deg, rgba(30, 6, 6, 0.8) 0%, rgba(17, 15, 13, 0.95) 100%);
}

.gallery-item-more span {
    font-family: var(--font-schibsted);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--hover-color);
}

.gallery-item-more small {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.5);
}

.gallery-placeholder-item {
    aspect-ratio: 4/3;
    background: linear-gradient(135deg, rgba(30, 6, 6, 0.6) 0%, rgba(17, 15, 13, 0.8) 100%);
    border: 1px dashed rgba(255, 241, 224, 0.2);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.3);
}

.gallery-placeholder-item svg {
    width: 40px;
    height: 40px;
}

@media (max-width: 51rem) {
    .cave-links {
        gap: calc(var(--spacing) * 4);
    }

    .cave-link {
        font-size: 0.85rem;
        padding: 6px 12px;
    }
}
/* ----/Cave Page Styles---- */
