/* Zentrale Zusatz-Styles fuer das landing-Layout.
   Zusammengefuehrt aus den frueheren <style>-Bloecken der Views.
   Neue Regeln bitte hier ergaenzen, nicht in den Views. */

/* --- resources/additional/landing/head.php --- */
.lang-option .lang-check { display: none; }
.lang-option[data-lang-active="1"] { background-color: rgba(255, 140, 0, .1); color: #ff8c00; border: 1px solid rgba(255, 140, 0, .2); }
.lang-option[data-lang-active="1"] .lang-check { display: inline-block; }

:root { --accent-rgb: 255, 140, 0; }
.hover-lift { transition: transform .18s ease, border-color .2s ease, box-shadow .25s ease; }
.hover-lift:hover { transform: translateY(-2px); box-shadow: 0 20px 44px -22px rgba(0, 0, 0, .85); }
.light .hover-lift:hover { box-shadow: 0 20px 44px -22px rgba(24, 24, 27, .18); }
html.light input.peer.sr-only + div.w-5.h-5.rounded { box-shadow: 0 1px 3px rgba(0, 0, 0, .14), inset 0 0 0 1px rgba(0, 0, 0, .06); }
input.peer.sr-only + div.w-5.h-5.rounded + div { display: flex; align-items: center; justify-content: center; }

.is-active { box-shadow: 0 0 20px rgba(var(--accent-rgb), .20), inset 0 0 12px rgba(var(--accent-rgb), .08); }
.dropdown-wrap {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition:
            max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1),
            opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}
.dropdown-wrap.open { opacity: 1; }
.dropdown-wrap .dd-item {
    opacity: 0;
    transform: translateX(-6px);
    transition:
            opacity 0.2s ease,
            transform 0.2s ease;
}
.dropdown-wrap.open .dd-item {
    opacity: 1;
    transform: translateX(0);
}
.dropdown-wrap.open .dd-item:nth-child(1) { transition-delay: 0.04s; }
.dropdown-wrap.open .dd-item:nth-child(2) { transition-delay: 0.08s; }
.dropdown-wrap.open .dd-item:nth-child(3) { transition-delay: 0.12s; }
.dropdown-wrap.open .dd-item:nth-child(4) { transition-delay: 0.16s; }
.dropdown-wrap.open .dd-item:nth-child(5) { transition-delay: 0.20s; }
.dropdown-wrap:not(.open) .dd-item { transition-delay: 0s !important; }
.dropdown-chevron { transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1); }
.dropdown-chevron.rotate { transform: rotate(180deg); }

/* --- resources/additional/landing/preloader.php --- */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #050506;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.5s ease, visibility 0.5s;
    overflow: hidden;
}

.particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    overflow: hidden;
}

.particle {
    position: absolute;
    background: #FF8C00;
    border-radius: 50%;
    opacity: 0.3;
}

.loader-content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 90%;
}

.loader-logo-container {
    position: relative;
    margin-bottom: 40px;
}

.loader-logo {
    width: 350px;
    max-width: 90vw;
    filter: drop-shadow(0 0 20px rgba(255, 140, 0, 0.3));
    animation: subtle-pulse 1.5s infinite ease-in-out;
}

@keyframes subtle-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); }
}

.loader-progress-container {
    position: relative;
    width: 400px;
    max-width: 90vw;
}

.loader-progress {
    height: 4px;
    width: 100%;
    background: #0b0b0d;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.loader-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #FF8C00, #FFA500);
    box-shadow: 0 0 15px rgba(255, 140, 0, 0.7);
    transition: width 0.1s linear;
    position: relative;
}

.loader-bar::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 10px;
    background: rgba(255, 255, 255, 0.5);
    filter: blur(3px);
}

.loader-percentage {
    position: absolute;
    right: 0;
    top: -30px;
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #FF8C00;
}

.glow-effect {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: 100px;
    background: radial-gradient(ellipse at center, rgba(255, 140, 0, 0.2) 0%, rgba(255, 140, 0, 0) 70%);
    filter: blur(20px);
    z-index: -1;
}

body.loading {
    overflow: hidden;
}

.content {
    opacity: 0;
    transition: opacity 0.5s ease;
}

body:not(.loading) .content {
    opacity: 1;
}

/* --- resources/customer/adventcalendar.php --- */
.advent-door {
    position: relative;
    background: linear-gradient(135deg, #0b0b0d 0%, #202024 100%);
    border: 2px solid rgba(59, 59, 66, 0.5);
    border-radius: 0.75rem;
    height: 100%;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

@media (min-width: 640px) {
    .advent-door {
        border-radius: 1rem;
        padding: 1.5rem;
    }
}

.advent-door.can-open:hover {
    transform: translateY(-4px);
    border-color: rgba(220, 38, 38, 0.5);
    box-shadow: 0 10px 15px -3px rgba(220, 38, 38, 0.2);
    background: linear-gradient(135deg, #202024 0%, #0b0b0d 100%);
}

.advent-door.today {
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.15) 0%, rgba(22, 163, 74, 0.15) 100%);
    border: 2px solid rgba(250, 204, 21, 0.4);
    box-shadow: 0 0 20px rgba(250, 204, 21, 0.2);
}

.advent-door.expired {
    opacity: 0.5;
    background: linear-gradient(135deg, rgba(234, 88, 12, 0.1) 0%, rgba(107, 114, 128, 0.1) 100%);
}

.advent-door.opening {
    animation: doorOpen 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes doorOpen {
    0% {
        transform: scale(1) rotateY(0deg);
    }
    50% {
        transform: scale(1.1) rotateY(10deg);
    }
    100% {
        transform: scale(1.05) rotateY(0deg);
        background: linear-gradient(135deg, #dc2626 0%, #16a34a 100%);
        border-color: rgba(250, 204, 21, 0.8);
        box-shadow: 0 0 40px rgba(250, 204, 21, 0.6), 0 20px 40px -10px rgba(220, 38, 38, 0.4);
    }
}

.advent-door-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
}

.advent-door-locked {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    z-index: 10;
}

@media (min-width: 640px) {
    .advent-door-locked {
        border-radius: 1rem;
    }
}

#door_modal {
    animation: modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

#modal_box {
    animation: modalBounceIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes modalBounceIn {
    0% {
        transform: scale(0.3) rotate(-10deg);
        opacity: 0;
    }
    50% {
        transform: scale(1.05) rotate(5deg);
    }
    70% {
        transform: scale(0.95) rotate(-2deg);
    }
    100% {
        transform: scale(1) rotate(0deg);
        opacity: 1;
    }
}

#modal_icon {
    animation: giftBounce 1s ease-in-out infinite;
}

@keyframes giftBounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* --- resources/customer/product/order/order/checkout.php --- */
.slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #ff8c00; cursor: pointer; box-shadow: 0 2px 8px rgba(255,140,0,0.3); transition: transform 0.15s ease; }
.slider::-webkit-slider-thumb:hover { transform: scale(1.1); }
.slider::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #ff8c00; border: none; cursor: pointer; box-shadow: 0 2px 8px rgba(255,140,0,0.3); transition: transform 0.15s ease; }
.slider::-moz-range-thumb:hover { transform: scale(1.1); }

/* --- resources/customer/product/order/order/server-config.php --- */
.slider::-webkit-slider-thumb { appearance: none; width: 20px; height: 20px; border-radius: 50%; background: linear-gradient(135deg, #ff8c00, #ff8c00); cursor: pointer; box-shadow: 0 2px 8px rgba(255,140,0,0.3); }
.slider::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: linear-gradient(135deg, #ff8c00, #ff8c00); border: none; cursor: pointer; box-shadow: 0 2px 8px rgba(255,140,0,0.3); }

/* --- resources/docs/api.php --- */
.nexo-editor-wrap {
    display: grid;
    grid-template-columns: auto 1fr;
    background: #050506;
    border: 1px solid rgb(32 32 36 / 0.6);
    border-radius: 0.5rem;
    overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}
.nexo-editor-wrap:focus-within {
    border-color: rgb(255 140 0 / 0.6);
    box-shadow: 0 0 0 1px rgb(255 140 0 / 0.3);
}
.nexo-gutter {
    padding: 12px 10px 12px 14px;
    min-width: 44px;
    color: #52525b;
    text-align: right;
    user-select: none;
    border-right: 1px solid rgb(32 32 36 / 0.6);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    line-height: 1.65;
    overflow: hidden;
    white-space: pre;
}
.nexo-area {
    position: relative;
    min-height: 380px;
    overflow: hidden;
}
.nexo-output,
.nexo-area textarea {
    margin: 0;
    padding: 12px 14px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    line-height: 1.65;
    border: 0;
    background: transparent;
    box-sizing: border-box;
    white-space: pre;
    word-wrap: normal;
    tab-size: 2;
    -moz-tab-size: 2;
}
.nexo-output {
    position: absolute;
    inset: 0;
    color: #e4e4e7;
    overflow: auto;
    pointer-events: none;
    scrollbar-width: none;
}
.nexo-output::-webkit-scrollbar { display: none; }
.nexo-area textarea {
    position: relative;
    display: block;
    width: 100%;
    min-height: 380px;
    height: 100%;
    color: transparent;
    caret-color: #ff8c00;
    resize: vertical;
    outline: none;
    overflow: auto;
}
.nexo-area textarea::selection      { background: rgb(255 140 0 / 0.28); color: transparent; }
.nexo-area textarea::-moz-selection { background: rgb(255 140 0 / 0.28); color: transparent; }
.nexo-area textarea::-webkit-scrollbar { width: 8px; height: 8px; }
.nexo-area textarea::-webkit-scrollbar-track { background: transparent; }
.nexo-area textarea::-webkit-scrollbar-thumb { background: rgb(32 32 36 / 0.8); border-radius: 4px; }
.nexo-area textarea::-webkit-scrollbar-thumb:hover { background: rgb(82 82 91 / 0.8); }
.nexo-area textarea::placeholder { color: #3b3b42; }

.nexo-output .tk-key   { color: #93c5fd; }
.nexo-output .tk-str   { color: #86efac; }
.nexo-output .tk-num   { color: #fbbf24; }
.nexo-output .tk-bool  { color: #ff8c00; font-weight: 600; }
.nexo-output .tk-null  { color: #ff8c00; font-weight: 600; }
.nexo-output .tk-punct { color: #71717a; }

/* --- resources/legal/imprint.php --- */
a, button, label[for], [onclick] { cursor: pointer; }

/* --- resources/sites/company/branding.php --- */
@keyframes fadeUp   { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeDown { from{opacity:0;transform:translateY(-12px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }

/* --- resources/sites/company/changelog.php --- */

/* --- resources/sites/company/datacenter.php --- */

/* --- resources/sites/company/ddos_protection.php --- */

/* --- resources/sites/company/hardware.php --- */

@keyframes ledBlink { 0%,100%{opacity:1} 48%,52%{opacity:.1} }
@keyframes barGrow  { from{width:0} to{width:var(--w)} }

/* --- resources/sites/company/partner.php --- */

/* --- resources/sites/company/payment_methods.php --- */

/* --- resources/sites/main_page.php --- */

@keyframes dropLetter { 0% { transform: translateY(-30px) rotateX(-90deg); opacity: 0; } 50% { transform: translateY(5px) rotateX(-20deg); } 70% { transform: translateY(-2px) rotateX(10deg); } 100% { transform: translateY(0) rotateX(0); opacity: 1; } }
@keyframes slideOut { 0% { transform: translateY(0) rotateX(0); opacity: 1; } 100% { transform: translateY(30px) rotateX(90deg); opacity: 0; } }
@keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-12px); } }
.letter { display: inline-block; opacity: 0; animation: dropLetter 0.4s ease-out forwards; }
.letter.out { animation: slideOut 0.3s ease-in forwards; }
.animate-float { animation: float 6s ease-in-out infinite; }

/* --- resources/sites/maintenance.php --- */

@keyframes spin-slow { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
@keyframes spin-rev  { 100%{transform:rotate(-360deg)} }
@keyframes blink     { 48%,52%{opacity:0} }
.spin-slow { animation: spin-slow 12s linear infinite; }
.spin-rev  { animation: spin-rev   8s linear infinite; }
.cursor    { animation: blink 1s step-end infinite; }

/* --- resources/sites/server/dedicated/amd_dedicated_servers.php --- */

@keyframes floatP { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }

@keyframes scanline { 0%{top:-40px} 100%{top:110%} }
@keyframes cpuFill { to{width:74%} }
@keyframes ramFill { to{width:67%} }
@keyframes nvmeFill { to{width:31%} }
@keyframes cpuLive { 0%{width:74%} 15%{width:79%} 30%{width:70%} 45%{width:83%} 60%{width:72%} 75%{width:78%} 90%{width:68%} 100%{width:74%} }
@keyframes curBlink { 0%,49%{opacity:1} 50%,100%{opacity:0} }
@keyframes lnCmd { 0%,3%{opacity:0;transform:translateY(6px)} 6%{opacity:1;transform:translateY(0)} 92%{opacity:1} 97%,100%{opacity:0} }
@keyframes ln1 { 0%,11%{opacity:0;transform:translateY(6px)} 15%{opacity:1;transform:translateY(0)} }
@keyframes ln2 { 0%,19%{opacity:0;transform:translateY(6px)} 23%{opacity:1;transform:translateY(0)} }
@keyframes ln3 { 0%,27%{opacity:0;transform:translateY(6px)} 31%{opacity:1;transform:translateY(0)} }
@keyframes ln4 { 0%,35%{opacity:0;transform:translateY(6px)} 39%{opacity:1;transform:translateY(0)} }
@keyframes ln5 { 0%,43%{opacity:0;transform:translateY(6px)} 47%{opacity:1;transform:translateY(0)} }
@keyframes chkPop { 0%,4%{transform:scale(0);opacity:0} 9%{transform:scale(1.25);opacity:1} 13%{transform:scale(1)} 100%{transform:scale(1)} }
@keyframes prog { 0%,5%{width:0%} 52%{width:100%} 90%{width:100%} 97%,100%{width:0%} }
@keyframes lnReady { 0%,55%{opacity:0;transform:translateY(6px)} 60%{opacity:1;transform:translateY(0)} }
@keyframes readyGlow { 0%,55%{box-shadow:0 0 0 rgba(16,185,129,0)} 62%{box-shadow:0 0 26px rgba(16,185,129,.35)} 74%,92%{box-shadow:0 0 12px rgba(16,185,129,.12)} 100%{box-shadow:0 0 0 rgba(16,185,129,0)} }

/* --- resources/sites/server/dedicated/configure.php --- */

/* --- resources/sites/server/dedicated/intel_dedicated_servers.php --- */

/* --- resources/sites/server/dedicated/sale_dedicated_servers.php --- */

/* --- resources/sites/server/epyc_kvm_servers.php --- */

@keyframes floatTerm{ 50%{transform:translateY(-8px)} }
@keyframes termBlink{ 50%{opacity:0} }

/* --- resources/sites/server/event/blackweek.php --- */
.countdown-digit-stable {
    font-variant-numeric: tabular-nums;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* --- resources/sites/server/ryzen_kvm_servers.php --- */

/* --- resources/sites/server/storage_kvm_servers.php --- */

@keyframes diskPulse{ 50%{opacity:.35} }
@keyframes arcFill  { to{width:82%} }

/* --- resources/sites/service/colocation.php --- */

/* --- resources/sites/service/proxmox-backup-storage.php --- */

/* --- resources/sites/teamspeak/servers.php --- */

@keyframes soundbar { 0%, 100% { transform: scaleY(0.3); } 50% { transform: scaleY(1);}}

/* --- resources/sites/webhosting/dns.php --- */

/* --- resources/sites/webhosting/domain-pricelist.php --- */

/* --- resources/sites/webhosting/domains.php --- */

@keyframes slideIn  { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
@keyframes rowIn    { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
@keyframes cardIn   { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* --- resources/sites/webhosting/ssl.php --- */

/* --- resources/sites/webhosting/webspaces.php --- */
