/* MC4 Nextcloud Downloads – Corporate Design mit Auto / Light / Dark */
.mc4-nc-container,
.mc4-nc-container *{box-sizing:border-box}

.mc4-nc-container{
    --mc4-nc-primary:#009fe3;
    --mc4-nc-primary-dark:#007fba;
    --mc4-nc-orange:#ef7d00;

    /* Light default */
    --mc4-nc-text:#102033;
    --mc4-nc-text-strong:#0f2236;
    --mc4-nc-muted:#64748b;
    --mc4-nc-line:#d8eafa;
    --mc4-nc-line-strong:#e6f4ff;
    --mc4-nc-soft:#eef8ff;
    --mc4-nc-shell:linear-gradient(180deg,#f5fbff 0%,#ffffff 58%);
    --mc4-nc-panel:#ffffff;
    --mc4-nc-panel-soft:#f7fbfe;
    --mc4-nc-panel-soft-2:#f8fbfd;
    --mc4-nc-shadow:0 12px 30px rgba(0,159,227,.07);
    --mc4-nc-shadow-soft:0 9px 22px rgba(0,127,186,.08);
    --mc4-nc-input-bg:#ffffff;
    --mc4-nc-file-border:#e3eff6;
    --mc4-nc-file-hover:#ffffff;
    --mc4-nc-link:#007fba;
    --mc4-nc-link-hover:#009fe3;
    --mc4-nc-error-text:#b43b45;
    --mc4-nc-error-bg:#fff4f5;
    --mc4-nc-error-border:#f2cdd1;
    --mc4-nc-empty-border:#c8dfec;

    width:100%;
    max-width:1380px;
    margin:0 auto;
    padding:36px;
    color:var(--mc4-nc-text);
    background:var(--mc4-nc-shell);
    border:1px solid var(--mc4-nc-line-strong);
    border-radius:28px;
    font-family:inherit;
    line-height:1.45;
    transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}

/* Erzwingend Light */
.mc4-nc-container.mc4-nc-theme-light{
    --mc4-nc-text:#102033;
    --mc4-nc-text-strong:#0f2236;
    --mc4-nc-muted:#64748b;
    --mc4-nc-line:#d8eafa;
    --mc4-nc-line-strong:#e6f4ff;
    --mc4-nc-soft:#eef8ff;
    --mc4-nc-shell:linear-gradient(180deg,#f5fbff 0%,#ffffff 58%);
    --mc4-nc-panel:#ffffff;
    --mc4-nc-panel-soft:#f7fbfe;
    --mc4-nc-panel-soft-2:#f8fbfd;
    --mc4-nc-shadow:0 12px 30px rgba(0,159,227,.07);
    --mc4-nc-shadow-soft:0 9px 22px rgba(0,127,186,.08);
    --mc4-nc-input-bg:#ffffff;
    --mc4-nc-file-border:#e3eff6;
    --mc4-nc-file-hover:#ffffff;
    --mc4-nc-link:#007fba;
    --mc4-nc-link-hover:#009fe3;
    --mc4-nc-error-text:#b43b45;
    --mc4-nc-error-bg:#fff4f5;
    --mc4-nc-error-border:#f2cdd1;
    --mc4-nc-empty-border:#c8dfec;
}

/* Erzwingend Dark + von Auto erkannter Dark-Mode */
.mc4-nc-container.mc4-nc-theme-dark,
.mc4-nc-container.mc4-nc-auto-is-dark{
    --mc4-nc-text:#dbe8f5;
    --mc4-nc-text-strong:#f3f8ff;
    --mc4-nc-muted:#9ab2c8;
    --mc4-nc-line:#183a53;
    --mc4-nc-line-strong:#14344c;
    --mc4-nc-soft:#0b2d43;
    --mc4-nc-shell:linear-gradient(180deg,#071f32 0%,#07263b 58%,#082337 100%);
    --mc4-nc-panel:#0b2a3d;
    --mc4-nc-panel-soft:#0d3046;
    --mc4-nc-panel-soft-2:#0a2739;
    --mc4-nc-shadow:0 18px 38px rgba(0,0,0,.24);
    --mc4-nc-shadow-soft:0 14px 30px rgba(0,0,0,.24);
    --mc4-nc-input-bg:#082438;
    --mc4-nc-file-border:#17405d;
    --mc4-nc-file-hover:#10324a;
    --mc4-nc-link:#6cc9ff;
    --mc4-nc-link-hover:#94ddff;
    --mc4-nc-error-text:#ffb5bd;
    --mc4-nc-error-bg:#40242a;
    --mc4-nc-error-border:#6e333c;
    --mc4-nc-empty-border:#29516b;
}

.mc4-nc-container a,
.mc4-nc-container button,
.mc4-nc-container input{font:inherit}

.mc4-nc-box{
    width:100%!important;
    max-width:100%!important;
    margin:0;
    overflow:visible;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}

.mc4-nc-header{
    padding:0 0 25px;
    text-align:left;
}

.mc4-nc-header-icon{display:none!important}

.mc4-nc-title{
    margin:0 0 8px;
    color:var(--mc4-nc-text-strong);
    font-size:clamp(34px,4vw,48px);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.025em;
}

.mc4-nc-description{
    max-width:900px;
    margin:0;
    color:var(--mc4-nc-muted);
    font-size:17px;
    line-height:1.45;
}

.mc4-nc-breadcrumb{
    padding:16px 22px;
    color:var(--mc4-nc-muted);
    background:var(--mc4-nc-panel);
    border:1px solid var(--mc4-nc-line);
    border-bottom:0;
    border-radius:22px 22px 0 0;
    box-shadow:var(--mc4-nc-shadow);
    font-size:13px;
}

.mc4-nc-breadcrumb a{
    color:var(--mc4-nc-link)!important;
    text-decoration:none!important;
    font-weight:700;
    transition:color .18s;
}
.mc4-nc-breadcrumb a:hover{color:var(--mc4-nc-link-hover)!important}
.mc4-nc-breadcrumb span{margin:0 7px;color:var(--mc4-nc-muted)}

.mc4-nc-filters{
    padding:0 22px 18px;
    background:var(--mc4-nc-panel);
    border-left:1px solid var(--mc4-nc-line);
    border-right:1px solid var(--mc4-nc-line);
}

.mc4-nc-search{position:relative}

.mc4-nc-search-input{
    width:100%;
    min-height:54px;
    padding:13px 16px 13px 46px;
    color:var(--mc4-nc-text);
    background:var(--mc4-nc-input-bg);
    border:1px solid var(--mc4-nc-line)!important;
    border-radius:14px!important;
    outline:none;
    box-shadow:0 3px 12px rgba(0,90,135,.04);
    font-size:15px;
    transition:border-color .18s,box-shadow .18s,background .18s,color .18s;
}
.mc4-nc-container.mc4-nc-theme-dark .mc4-nc-search-input,
.mc4-nc-container.mc4-nc-auto-is-dark .mc4-nc-search-input{box-shadow:none}

.mc4-nc-search-input:hover{border-color:#addcf3!important}
.mc4-nc-search-input:focus{
    border-color:var(--mc4-nc-primary)!important;
    box-shadow:0 0 0 3px rgba(0,159,227,.12),0 8px 20px rgba(0,159,227,.08)!important;
}

.mc4-nc-search-icon{
    position:absolute;
    left:15px;
    top:50%;
    width:20px;
    height:20px;
    color:var(--mc4-nc-muted);
    stroke:currentColor;
    transform:translateY(-50%);
    pointer-events:none;
}

.mc4-nc-files{
    padding:0 22px 22px;
    background:var(--mc4-nc-panel);
    border:1px solid var(--mc4-nc-line);
    border-top:0;
    border-radius:0 0 22px 22px;
    box-shadow:var(--mc4-nc-shadow);
}

.mc4-nc-file{
    display:flex;
    align-items:center;
    gap:14px;
    margin:0 0 10px;
    padding:15px 16px;
    background:var(--mc4-nc-panel-soft);
    border:1px solid var(--mc4-nc-file-border);
    border-radius:14px;
    transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;
}

.mc4-nc-file:last-child{margin-bottom:0}
.mc4-nc-file:hover{
    background:var(--mc4-nc-file-hover);
    border-color:#2c89bc;
    box-shadow:var(--mc4-nc-shadow-soft);
    transform:translateY(-1px);
}
.mc4-nc-file-folder:hover{cursor:pointer}

.mc4-nc-file-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    margin:0;
}
.mc4-nc-file-icon svg{width:100%;height:100%}

.mc4-nc-file-info{flex:1;min-width:0}
.mc4-nc-file-name{
    overflow:hidden;
    color:var(--mc4-nc-text-strong);
    font-size:14.5px;
    font-weight:800;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.mc4-nc-file-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
    margin-top:4px;
    color:var(--mc4-nc-muted);
    font-size:12px;
}

.mc4-nc-download-btn,
.mc4-nc-folder-link{
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    padding:0!important;
    border-radius:11px!important;
    text-decoration:none!important;
    transition:filter .18s,transform .18s,box-shadow .18s,border-color .18s,color .18s,background .18s;
}

.mc4-nc-download-btn{
    color:#fff!important;
    background:linear-gradient(135deg,var(--mc4-nc-primary),var(--mc4-nc-primary-dark))!important;
    border:0!important;
    box-shadow:0 8px 18px rgba(0,137,199,.18)!important;
}
.mc4-nc-download-btn:hover{
    color:#fff!important;
    filter:brightness(.97);
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(0,137,199,.24)!important;
}
.mc4-nc-download-btn svg{width:20px;height:20px;stroke:currentColor}

.mc4-nc-folder-link{
    color:var(--mc4-nc-link)!important;
    background:var(--mc4-nc-panel)!important;
    border:1px solid #addcf3!important;
}
.mc4-nc-container.mc4-nc-theme-dark .mc4-nc-folder-link,
.mc4-nc-container.mc4-nc-auto-is-dark .mc4-nc-folder-link{border-color:#2a6b92!important}
.mc4-nc-folder-link:hover{
    color:var(--mc4-nc-link-hover)!important;
    border-color:var(--mc4-nc-primary)!important;
    background:rgba(0,159,227,.08)!important;
    transform:translateY(-1px);
}
.mc4-nc-folder-link svg{width:20px;height:20px}

.mc4-nc-empty,
.mc4-nc-error,
.mc4-nc-no-results{
    margin:0;
    padding:42px 20px;
    color:var(--mc4-nc-muted);
    text-align:center;
    background:var(--mc4-nc-panel-soft-2);
    border:1px dashed var(--mc4-nc-empty-border);
    border-radius:14px;
}
.mc4-nc-empty p,
.mc4-nc-no-results p{margin:0}
.mc4-nc-error{color:var(--mc4-nc-error-text);background:var(--mc4-nc-error-bg);border-color:var(--mc4-nc-error-border)}

.mc4-nc-loading{
    padding:42px 20px;
    color:var(--mc4-nc-muted);
    text-align:center;
    background:var(--mc4-nc-panel);
    border:1px solid var(--mc4-nc-line);
    border-radius:22px;
    box-shadow:var(--mc4-nc-shadow);
}
.mc4-nc-loading p{margin:0}
.mc4-nc-spinner{
    width:40px;
    height:40px;
    margin:0 auto 15px;
    border:3px solid rgba(0,159,227,.18);
    border-top-color:var(--mc4-nc-primary);
    border-radius:50%;
    animation:mc4-nc-spin .8s linear infinite;
}
@keyframes mc4-nc-spin{to{transform:rotate(360deg)}}

/* Grid */
.mc4-nc-layout-grid .mc4-nc-files{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
    gap:14px;
}
.mc4-nc-layout-grid .mc4-nc-file{
    flex-direction:column;
    align-items:stretch;
    min-height:205px;
    margin:0;
    padding:20px;
    text-align:center;
}
.mc4-nc-layout-grid .mc4-nc-file-icon{
    width:52px;
    height:52px;
    margin:0 auto 10px;
}
.mc4-nc-layout-grid .mc4-nc-file-info{margin-bottom:12px}
.mc4-nc-layout-grid .mc4-nc-file-meta{justify-content:center}
.mc4-nc-layout-grid .mc4-nc-download-btn,
.mc4-nc-layout-grid .mc4-nc-folder-link{
    width:100%;
    height:42px;
    flex-basis:42px;
    margin-top:auto;
}

@media(max-width:760px){
    .mc4-nc-container{padding:20px;border-radius:20px}
    .mc4-nc-title{font-size:clamp(31px,9vw,42px)}
    .mc4-nc-description{font-size:15px}
    .mc4-nc-breadcrumb{padding:14px 16px}
    .mc4-nc-filters{padding:0 16px 16px}
    .mc4-nc-files{padding:0 16px 16px}
    .mc4-nc-file{padding:13px 12px}
    .mc4-nc-layout-grid .mc4-nc-files{grid-template-columns:1fr}
}

@media(max-width:480px){
    .mc4-nc-container{padding:16px}
    .mc4-nc-file-icon{flex-basis:36px;width:36px;height:36px}
    .mc4-nc-download-btn,
    .mc4-nc-folder-link{flex-basis:38px;width:38px;height:38px}
    .mc4-nc-file-meta{display:block}
}
