/* Global */
body {
    padding-top: 140px !important; 
    background-color: #ffffff;

    background-image:
        linear-gradient(rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px);

    background-size: 40px 40px;

    font-size: 21px !important;
    line-height: 1.7 !important;
    color: #334155;
}

/* Container */
.p-main {
    width: 100%;
}

.p-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
}

/* Navbar */
body .navbar.navbar-default,
body .navbar.navbar-transparent {
    background-color: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.04) !important;
    max-width: 94%;
    width: 1320px;
    margin: 40px auto 20px auto !important; 
    border-radius: 100px !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 45px !important;
    height: 85px !important; 
    min-height: 85px !important;
}

/* Navbar Container */
body .navbar .container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: 85px !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Logo */
body .navbar .navbar-brand,
body .navbar.navbar-transparent .navbar-brand,
body .navbar .title-logo-wrapper a {
    display: flex !important;
    align-items: center !important;
    color: #0f172a !important;
    font-size: 2.1rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    height: 85px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Menü */
body .navbar-collapse {
    display: flex !important;
    align-items: center !important;
    height: 85px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body .navbar-nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    margin: 0 !important;
}

/* Menü Links */
body .navbar .navbar-nav > li > a {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #475569 !important;
    padding: 12px 22px !important;
    margin: 0 4px !important;
    border-radius: 50px !important;
    line-height: 1 !important;
    background: transparent !important;
    border: 1px solid transparent !important; 
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important; 
}

/* Hover */
body .navbar .navbar-nav > li > a:hover {
    color: #0f172a !important;
    background-color: rgba(255, 255, 255, 1) !important;
    border-color: rgba(37, 99, 235, 0.2) !important; 
    transform: translateY(-2px) !important; 
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important; 
}

/* Aktiv */
body .navbar .navbar-nav > li.current-menu-item > a,
body .navbar .navbar-nav > li.current_page_item > a,
body .navbar .navbar-nav > li.active > a {
    color: #ffffff !important;
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.3) !important;
}

/* Überschriften */
h1,
.entry-title,
.page-title {
    font-size: clamp(2.8rem, 6vw, 4.2rem) !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.05em !important;
    margin-bottom: 2rem !important;
    line-height: 1.1 !important;
}

h2 {
    font-size: 2.4rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.04em !important;
    margin-top: 4rem !important;
    margin-bottom: 1.2rem !important;
}

h3 {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-top: 2.5rem !important;
}

/* Text */
p {
    font-size: 1.75rem !important;
    line-height: 1.8 !important;
    color: #475569 !important;
}

li {
    font-size: 1.7rem !important;
    line-height: 1.8 !important;
}

/* Buttons */
.wp-block-button__link,
button,
.btn,
input[type="submit"] {
    background: transparent !important;
    color: #475569 !important;
    border: 1px solid transparent !important;
    border-radius: 50px !important;
    padding: 12px 22px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Hover */
.wp-block-button__link:hover,
button:hover,
.btn:hover,
input[type="submit"]:hover {
    color: #0f172a !important;
    background-color: rgba(255, 255, 255, 1) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
}

/* Primary */
.wp-block-button__link,
.btn-primary,
button.primary {
    background-color: #2563eb !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25) !important;
}

.wp-block-button__link:hover,
.btn-primary:hover,
button.primary:hover {
    background-color: #1d4ed8 !important;
    color: #ffffff !important;
    border-color: #1d4ed8 !important;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.35) !important;
}

/* Bilder */
img {
    border-radius: 24px;
}

/* Footer */
footer.footer,
.footer,
.footer-big {
    display: none !important;
}

/* Mobile */
@media (max-width: 768px) {

    body {
        padding-top: 120px !important;
    }

    body .navbar.navbar-default,
    body .navbar.navbar-transparent {
        width: calc(100% - 24px) !important;
        margin: 20px auto 10px auto !important; 
        padding: 0 15px !important;
        height: 70px !important;
        min-height: 70px !important;
    }

    body .navbar .container {
        height: 70px !important;
    }

    body .navbar .navbar-brand {
        font-size: 1.5rem !important;
    }

    h1,
    .entry-title,
    .page-title {
        font-size: 2.8rem !important;
    }
}

/* Social Links */
.social-links-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 30px;
}

.social-link {
    display: flex;
    align-items: center;
    text-decoration: none !important;
    color: #475569 !important;
    font-size: 1.7rem !important;
    font-weight: 600 !important;
    transition: color 0.25s ease, transform 0.25s ease !important;
}

.social-link:hover {
    color: #2563eb !important;
    transform: translateX(5px) !important;
}

/* Icons */
.social-link::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    margin-right: 18px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: background-image 0.25s ease !important;
}

/* Outlook */
.social-link.outlook-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}
.social-link.outlook-icon:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232563eb'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

/* Instagram */
.social-link.instagram-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.051.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E");
}
.social-link.instagram-icon:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232563eb'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.051.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E");
}

/* LinkedIn */
.social-link.linkedin-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z'/%3E%3C/svg%3E");
}
.social-link.linkedin-icon:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232563eb'%3E%3Cpath d='M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z'/%3E%3C/svg%3E");
}

/* WhatsApp */
.social-link.whatsapp-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946C.06 5.348 5.397.01 12.008.01c3.202.001 6.212 1.246 8.477 3.514 2.266 2.268 3.507 5.28 3.505 8.484-.004 6.657-5.34 11.997-11.953 11.997-2.005-.001-3.973-.502-5.713-1.457L0 24zm6.59-4.846c1.6.95 3.188 1.449 4.825 1.451 5.436 0 9.86-4.42 9.863-9.855.001-2.633-1.022-5.101-2.879-6.958C16.538 1.934 14.076.916 11.453.916 6.016.916 1.593 5.338 1.59 10.775c-.001 1.708.452 3.369 1.311 4.815l-.996 3.637 3.734-.973zm11.367-7.374c-.321-.16-.1.1.48.513.16.08.348.271.429.434.08.163.08.951-.241 1.272-.321.321-1.116.602-1.554.643-.438.041-.832-.016-2.507-.698-1.675-.683-2.731-2.38-2.811-2.488-.08-.108-.66-1.144-.66-1.637 0-.493.257-.736.348-.832.091-.096.241-.144.348-.144.107 0 .214 0 .307.005.097.004.221-.034.338.25.117.285.4.978.434 1.052.035.074.059.16.01.258-.05.098-.074.16-.16.258-.086.099-.181.221-.258.307-.086.096-.176.2-.076.372.1.172.443.731.95 1.182.654.582 1.205.762 1.376.848.171.086.273.074.337-.005.064-.08.273-.321.348-.482.075-.16.149-.134.251-.097z'/%3E%3C/svg%3E");
}
.social-link.whatsapp-icon:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232563eb'%3E%3Cpath d='M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946C.06 5.348 5.397.01 12.008.01c3.202.001 6.212 1.246 8.477 3.514 2.266 2.268 3.507 5.28 3.505 8.484-.004 6.657-5.34 11.997-11.953 11.997-2.005-.001-3.973-.502-5.713-1.457L0 24zm6.59-4.846c1.6.95 3.188 1.449 4.825 1.451 5.436 0 9.86-4.42 9.863-9.855.001-2.633-1.022-5.101-2.879-6.958C16.538 1.934 14.076.916 11.453.916 6.016.916 1.593 5.338 1.59 10.775c-.001 1.708.452 3.369 1.311 4.815l-.996 3.637 3.734-.973zm11.367-7.374c-.321-.16-.1.1.48.513.16.08.348.271.429.434.08.163.08.951-.241 1.272-.321.321-1.116.602-1.554.643-.438.041-.832-.016-2.507-.698-1.675-.683-2.731-2.38-2.811-2.488-.08-.108-.66-1.144-.66-1.637 0-.493.257-.736.348-.832.091-.096.241-.144.348-.144.107 0 .214 0 .307.005.097.004.221-.034.338.25.117.285.4.978.434 1.052.035.074.059.16.01.258-.05.098-.074.16-.16.258-.086.099-.181.221-.258.307-.086.096-.176.2-.076.372.1.172.443.731.95 1.182.654.582 1.205.762 1.376.848.171.086.273.074.337-.005.064-.08.273-.321.348-.482.075-.16.149-.134.251-.097z'/%3E%3C/svg%3E");
}

/* Grid */
.portfolio-grid,
.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
    margin-top: 3rem;
    margin-bottom: 4rem;
}

/* Card */
.custom-card {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
}

.custom-card:hover {
    transform: translateY(-5px);
    border-color: rgba(37, 99, 235, 0.15);
    box-shadow: 0 20px 40px rgba(37, 99, 235, 0.08);
}

/* Bild */
.card-image-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%; 
    background-color: #f8fafc;
}

.card-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0px !important;
}

/* Inhalt */
.card-content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card-badge {
    align-self: flex-start;
    background-color: rgba(37, 99, 235, 0.08);
    color: #2563eb;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 50px;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.card-title {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    color: #0f172a !important;
}

.card-text {
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    margin-bottom: 20px !important;
    flex-grow: 1;
}

.card-button {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #2563eb !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
}

.card-button:hover {
    color: #1d4ed8 !important;
}

/* Unterseiten */
.page-header.header-filter,
.page-header {
    background-image: none !important;
    background-color: transparent !important;
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin-top: 40px !important;
}

.page-header .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.main-raised {
    margin: 0 auto !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    width: 100% !important;
}

.main .container {
    max-width: 1200px !important;
    width: 100% !important;
    padding: 0 32px !important;
}

footer, 
.footer, 
.footer-big,
footer.footer.footer-black {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
}

/* Bilder-Box */
.page-image-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    background-color: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 2.5rem;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.03);
}

.page-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
}

/* Blog Liste */
ul.blog-cards-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 30px !important;
    padding: 0 !important;
    margin: 3rem 0 !important;
    list-style: none !important;
}

/* Card */
ul.blog-cards-list > li {
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 24px !important;
    padding: 28px !important;
    min-height: 230px;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.04) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    color: #475569 !important;
}

/* Hover */
ul.blog-cards-list > li:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 45px rgba(37, 99, 235, 0.12) !important;
}

/* Titel */
ul.blog-cards-list > li strong,
ul.blog-cards-list > li h3 {
    display: block !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 10px !important;
}

/* Text */
ul.blog-cards-list > li p {
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    color: #475569 !important;
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 768px) {
    ul.blog-cards-list {
        grid-template-columns: 1fr !important;
    }
}
