/*
Theme Name: Darfasystems Minimalist
Theme URI: https://darfataraproteksi.com/
Author: Darfasystems
Author URI: https://darfataraproteksi.com/
Description: Tema WordPress yang plain, sederhana, dan minimalis. Sangat ringan dan terintegrasi secara optimal dengan Elementor Page Builder. (Last Updated: 2026-10-20 09:10:00*/

/* Tambahkan CSS dasar Anda di sini. Disarankan menggunakan assets/css/ untuk styling lebih lanjut. */

/* ============================================================================
   Header Layout (Sticky & Flexbox)
   ========================================================================= */
html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Mengunci scroll horizontal */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.darfa-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
    background-color: transparent;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    /* Pengaturan Sticky Header */
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999999;
    box-sizing: border-box;
}

.darfa-header.is-scrolled {
    background-color: #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* Penyesuaian agar tidak menimpa WordPress Admin Bar saat login */
.admin-bar .darfa-header {
    top: 32px;
}
@media screen and (max-width: 782px) {
    .admin-bar .darfa-header {
        top: 46px;
    }
}

/* Pengaturan Custom Logo Link (Latar/Background) */
.custom-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 0px;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

/* Membatasi ukuran custom logo */
.site-branding img {
    max-height: 50px; /* Diperbesar agar logo terlihat jelas */
    width: auto;
    display: block;
}

.site-branding-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.site-branding h1.site-title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1; /* Dipersempit */
    letter-spacing: -0.5px; /* Jarak huruf judul dirapatkan agar terlihat premium */
}

.site-branding h1.site-title a {
    text-decoration: none;
    color: #333;
}

.site-branding p.site-description {
    margin: 0; /* Menempel erat dengan judul */
    font-size: 13px;
    color: #777;
    line-height: 1.2;
    letter-spacing: 6px; /* Jarak huruf deskripsi direnggangkan untuk kemudahan membaca */
}

/* Pengaturan Layout Menu & Dropdown */
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
    position: relative;
}

.main-navigation li {
    position: relative;
}

/* Sub-menu (Dropdown) */
.main-navigation ul ul {
    visibility: hidden;
    opacity: 0;
    pointer-events: none; /* Mencegah bug flicker animasi */
    transform: translateY(-15px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    display: flex; /* Selalu flex, tapi disembunyikan via opacity/visibility */
    
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 15px; /* Menurunkan kotak dropdown */
    flex-direction: column;
    background-color: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    min-width: 220px;
    z-index: 99999;
    padding: 10px 0;
    border-radius: 4px;
    gap: 0;
}

/* Jembatan tak kasat mata agar dropdown tidak tertutup saat kursor melewati jarak/gap */
.main-navigation ul ul::before {
    content: '';
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 15px;
    background: transparent;
}

.main-navigation li:hover > ul {
    visibility: visible;
    opacity: 1;
    pointer-events: auto; /* Mengaktifkan kembali interaksi kursor */
    transform: translateY(0);
}

.main-navigation ul ul li {
    margin: 0;
}

.main-navigation ul ul li a {
    padding: 10px 20px;
    display: block;
    color: #333;
}

.main-navigation ul ul li a:hover {
    background-color: #f5f5f5;
}

.main-navigation a {
    text-decoration: none;
    color: #333;
    font-weight: 500;
    transition: color 0.3s ease;
}

/* Animasi Garis Bawah (Underline) untuk Menu Utama */
.main-navigation > ul > li > a,
.main-navigation > div > ul > li > a {
    position: relative;
    padding-bottom: 5px;
}

.main-navigation > ul > li > a::after,
.main-navigation > div > ul > li > a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 3px;
    bottom: -2px;
    left: 0;
    background-color: var(--darfasystems-primary, #eb6404); /* Mengikuti Primary Color */
    transition: width 0.3s ease;
}

.main-navigation > ul > li > a:hover::after,
.main-navigation > div > ul > li > a:hover::after {
    width: 100%;
}

/* Hindari warna hover default agar fokus ke garis */
.main-navigation > ul > li > a:hover,
.main-navigation > div > ul > li > a:hover,
.search-toggle:hover {
    color: var(--darfasystems-primary, #eb6404) !important;
}

.search-toggle {
    transition: color 0.3s ease;
}

/* Animasi Inline Search Bar (Expanding) */
.inline-search-form {
    display: flex;
    align-items: center;
    overflow: hidden;
}

.inline-search-field {
    width: 0;
    opacity: 0;
    padding: 0;
    border: none;
    border-bottom: 2px solid var(--darfasystems-primary, #eb6404);
    background: transparent;
    color: inherit;
    font-size: 15px;
    outline: none;
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.4s ease, padding 0.4s ease;
}

.inline-search-field::placeholder {
    color: inherit;
    opacity: 0.5;
}

.header-search-wrapper.is-active .inline-search-field {
    width: 180px;
    opacity: 1;
    padding: 5px 10px;
    margin-right: 5px;
}

/* ============================================================================
   Footer Layout
   ========================================================================= */
.site-footer {
    background-color: #f9f9f9;
    padding: 60px 30px 20px;
    border-top: 1px solid #eaeaea;
}

.footer-widgets-area {
    display: grid;
    gap: 0; /* Gap dihilangkan karena diganti padding agar divider berada di tengah */
    max-width: 1200px;
    margin: 0 auto 40px;
}

.footer-widgets-area.columns-1 {
    grid-template-columns: 1fr;
    text-align: center;
}

.footer-widgets-area.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.footer-widgets-area.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.footer-column {
    padding: 0 30px;
    border-right: 1px solid #ddd; /* Divider Vertikal */
}
.footer-column:last-child {
    border-right: none;
    padding-right: 0;
}
.footer-column:first-child {
    padding-left: 0;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 12px;
}

.footer-column ul li a {
    text-decoration: none;
    color: #555;
    transition: color 0.3s;
}

.footer-column ul li a:hover {
    color: #0073aa;
}

.placeholder-text {
    color: #999;
    font-style: italic;
    font-size: 14px;
}

/* ============================================================================
   Gutenberg Block Widgets Styling (Footer & Sidebar)
   ========================================================================= */
.footer-column .widget-title,
.footer-column h2 {
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 600;
    color: #333;
    position: relative;
    padding-bottom: 10px;
}

.footer-column .widget-title::after,
.footer-column h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background-color: var(--darfasystems-primary, #0073aa);
    border-radius: 2px;
}

/* 1. Block Image & Media Umum */
.footer-column .wp-block-image {
    margin-bottom: 15px;
}
.footer-column .wp-block-image img {
    border-radius: 6px;
    max-width: 100%;
    max-height: 180px; /* Batasi tinggi agar tidak raksasa */
    width: auto;
    object-fit: cover;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* 2. Block Gallery (Dibuat menjadi Grid Mini/Instagram Style) */
.footer-column .wp-block-gallery {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}
.footer-column .wp-block-gallery .wp-block-image {
    width: calc(33.333% - 6px) !important; /* Paksa 3 kolom */
    margin: 0 !important;
}
.footer-column .wp-block-gallery .wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1; /* Kotak sempurna */
    border-radius: 4px;
    object-fit: cover;
}

/* 2B. Block Media & Text (Dibuat Menumpuk Vertikal untuk Footer) */
.footer-column .wp-block-media-text {
    display: flex !important;
    flex-direction: column !important; /* Susun vertikal dari atas ke bawah */
    gap: 15px !important;
    margin-bottom: 20px !important;
}
.footer-column .wp-block-media-text .wp-block-media-text__media,
.footer-column .wp-block-media-text .wp-block-media-text__content {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.footer-column .wp-block-media-text img {
    width: 100% !important;
    max-height: 150px !important;
    object-fit: cover;
    border-radius: 6px;
}

/* 3. Block Quote */
.footer-column .wp-block-quote {
    border-left: 4px solid var(--darfasystems-primary, #0073aa);
    padding: 10px 0 10px 15px;
    margin: 0 0 20px 0;
    font-style: italic;
    color: #555;
    background: rgba(0,0,0,0.02);
    border-radius: 0 4px 4px 0;
}
.footer-column .wp-block-quote p {
    margin: 0;
    font-size: 15px;
}

/* 4. Block Search */
.footer-column .wp-block-search {
    margin-bottom: 20px;
}
.footer-column .wp-block-search__input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    background-color: #fff;
    margin-bottom: 10px;
    box-sizing: border-box;
}
.footer-column .wp-block-search__button {
    background-color: var(--darfasystems-primary, #0073aa);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.3s;
}
.footer-column .wp-block-search__button:hover {
    background-color: #005a88;
}

/* 5. Block Latest Posts / Lists */
.footer-column .wp-block-latest-posts {
    padding: 0;
    list-style: none;
}
.footer-column .wp-block-latest-posts li {
    margin-bottom: 15px;
    border-bottom: 1px dashed #ddd;
    padding-bottom: 15px;
}
.footer-column .wp-block-latest-posts li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.footer-column .wp-block-latest-posts a {
    color: #444;
    font-weight: 500;
}
.footer-column .wp-block-latest-posts a:hover {
    color: var(--darfasystems-primary, #0073aa);
}
.footer-column .wp-block-latest-posts .wp-block-latest-posts__post-date {
    display: block;
    font-size: 12px;
    color: #999;
    margin-top: 5px;
}

/* 6. Block Paragraph & Text */
.footer-column p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px;
    font-size: 15px;
}
.footer-column > *:last-child,
.footer-column p:last-child {
    margin-bottom: 0 !important;
}

.footer-social-media {
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
}

.footer-social-media a.social-icon {
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
    background-color: #333333;
    padding: 10px 18px;
    border-radius: 6px;
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
}

.footer-social-media a.social-icon:hover {
    background-color: #0073aa;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.site-info {
    font-size: 13px;
    color: #777;
    text-align: center;
    border-top: 1px solid #eaeaea;
    padding-top: 25px;
}

.site-info a {
    color: #333;
    text-decoration: none;
}

/* ============================================================================
   Responsive (Mobile & Tablet)
   ========================================================================= */
@media screen and (max-width: 768px) {
    /* Header Responsive */
    .darfa-header {
        flex-direction: column;
        padding: 15px;
    }
    
    .site-branding {
        margin-bottom: 12px;
        text-align: center;
    }
    
    .main-navigation ul {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }
    
    /* Footer Responsive */
    .footer-widgets-area.columns-2,
    .footer-widgets-area.columns-3 {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-column {
        border-right: none; /* Hilangkan divider vertikal */
        border-bottom: 1px solid #ddd; /* Ganti dengan divider horizontal */
        padding: 0 0 30px 0;
        margin-bottom: 30px;
    }
    .footer-column:last-child {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .footer-column:first-child {
        padding-top: 0;
    }
    .site-footer {
        padding: 40px 20px 20px;
    }
}

/* ============================================================================
   Sidebar & Layout Grid
   ========================================================================= */
.site-content-wrapper {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
    display: flex;
    gap: 40px;
}

.site-content-wrapper.no-sidebar {
    display: block;
    max-width: 800px;
}

.site-content-wrapper.left-sidebar {
    flex-direction: row-reverse;
}

.site-main-content {
    flex: 1;
    min-width: 0;
}

.sidebar-widget-area {
    width: 320px;
    flex-shrink: 0;
}

/* Sidebar Widget Umum */
.widget {
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eaeaea;
}

.widget:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

/* Override Khusus untuk Widget di Footer (Mencegah Melar ke Bawah) */
.footer-column .widget,
.footer-column .widget_block,
.footer-column .widget_text {
    margin-bottom: 30px;
    padding-bottom: 0;
    border-bottom: none;
}

.footer-column .widget:last-child,
.footer-column .widget_block:last-child,
.footer-column .widget_text:last-child {
    margin-bottom: 0 !important;
}

.widget-title {
    font-size: 18px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
}

.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget ul li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #eaeaea;
}

.widget ul li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.widget ul li a {
    text-decoration: none;
    color: #555;
    transition: color 0.3s ease;
}

.widget ul li a:hover {
    color: var(--darfasystems-primary, #0073aa);
}

/* ============================================================================
   Breadcrumbs SEO
   ========================================================================= */
.darfasystems-breadcrumbs {
    font-size: 14px;
    color: #777;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #eaeaea;
}

.darfasystems-breadcrumbs a {
    text-decoration: none;
    color: var(--darfasystems-primary, #0073aa);
    font-weight: 500;
}

.darfasystems-breadcrumbs a:hover {
    text-decoration: underline;
}

.breadcrumb-separator {
    margin: 0 8px;
    color: #ccc;
}

.breadcrumb-current {
    color: #333;
}

/* ============================================================================
   Blog Archive Styling (index.php)
   ========================================================================= */
.darfasystems-blog-archive {
    max-width: 800px;
    margin: 60px auto;
    padding: 0 20px;
}

.archive-post-item {
    margin-bottom: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid #eaeaea;
}

.archive-post-item:last-child {
    border-bottom: none;
}

.archive-post-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

.archive-post-thumbnail a:hover img {
    transform: translateY(-5px);
}

.archive-post-item .entry-title {
    margin-bottom: 8px;
}

.archive-post-item .entry-title a {
    text-decoration: none;
    color: #333;
    transition: color 0.3s ease;
}

.archive-post-item .entry-title a:hover {
    color: #0073aa;
}

.archive-post-item .entry-meta {
    font-size: 13px;
    color: #888;
    margin-bottom: 15px;
}

.archive-post-item .entry-summary {
    color: #555;
    line-height: 1.6;
    font-size: 16px;
}

/* Featured Image (Thumbnail) Styles */
.archive-post-thumbnail img,
.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* Efek daun/sudut asimetris: Atas Kiri dan Bawah Kanan */
    border-radius: 30px 0 30px 0;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, border-radius 0.3s ease;
}

.archive-post-thumbnail img:hover {
    transform: scale(1.02);
    /* Tukar sudut saat hover untuk efek dinamis */
    border-radius: 0 30px 0 30px;
}

.read-more-link {
    display: inline-block;
    margin-top: 15px;
    font-weight: 600;
    color: #0073aa;
    text-decoration: none;
}

.read-more-link:hover {
    text-decoration: underline;
}

.nav-links {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eaeaea;
}

.nav-links a {
    color: #0073aa;
    text-decoration: none;
    font-weight: 600;
}

/* ============================================================================
   Single Post & Comments Styling
   ========================================================================= */
.container-single {
    margin: 0 auto;
}

.entry-header {
    margin-bottom: 30px;
    text-align: center;
}

.entry-title {
    margin-bottom: 10px;
}

.entry-meta {
    font-size: 13px;
    color: #888;
    margin-top: 10px;
}

.post-thumbnail {
    text-align: center;
}

.post-thumbnail img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.entry-content {
    line-height: 1.8;
    color: #444;
    font-size: 16px;
}

.entry-content p {
    margin-bottom: 1.5em;
}

/* Comments Standard Styling */
#comments {
    margin-top: 60px;
    border-top: 1px solid #eaeaea;
    padding-top: 40px;
}

.comments-title {
    font-size: 20px;
    margin-bottom: 30px;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-list .comment {
    margin-bottom: 30px;
}

.comment-body {
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 8px;
}

.comment-meta {
    margin-bottom: 15px;
    font-size: 14px;
    color: #666;
}

.comment-meta a {
    color: #333;
    text-decoration: none;
    font-weight: 600;
}

.comment-reply-link {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    color: #0073aa;
    text-decoration: none;
}

.comment-reply-link:hover {
    text-decoration: underline;
}

.comment-respond {
    margin-top: 40px;
}

.comment-reply-title {
    font-size: 18px;
    margin-bottom: 20px;
}

/* ============================================================================
   Scroll to Top Button
   ========================================================================= */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #333333;
    color: #ffffff;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    text-decoration: none;
}

.scroll-to-top svg {
    width: 22px;
    height: 22px;
}

.scroll-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-to-top.show:hover {
    background-color: #0073aa;
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.2);
    color: #ffffff;
}

/* Dynamic Hero Banner (Khusus Page/Post dengan Featured Image) */
.dynamic-hero-banner {
    position: relative;
    width: 100%;
    height: 35vh; /* Proporsi yang lebih ringkas untuk sub-page */
    min-height: 280px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 40px; /* Jarak menuju konten */
}

/* Mengatasi overlap dengan header melayang */
.dynamic-hero-banner {
    margin-top: 0;
}

.dynamic-hero-banner .hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.7) 100%);
}

.dynamic-hero-banner .hero-content {
    position: relative;
    z-index: 2;
    padding: 0 20px;
    max-width: 900px;
}

.dynamic-hero-banner .hero-title {
    color: #ffffff;
    font-size: clamp(28px, 5vw, 46px);
    font-weight: 700;
    margin: 0;
    text-shadow: 0 4px 15px rgba(0,0,0,0.5);
    line-height: 1.2;
}

.dynamic-hero-banner .hero-meta {
    color: #e0e0e0;
    margin-top: 15px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.dynamic-hero-banner .hero-meta span {
    margin: 0 8px;
}

/* Breadcrumbs di dalam Hero Banner */
.dynamic-hero-banner .darfasystems-breadcrumbs {
    border-bottom: none;
    margin-bottom: 15px;
    padding-bottom: 0;
    color: rgba(255, 255, 255, 0.7);
}
.dynamic-hero-banner .darfasystems-breadcrumbs a {
    color: #ffffff;
}
.dynamic-hero-banner .darfasystems-breadcrumbs .breadcrumb-separator {
    color: rgba(255, 255, 255, 0.5);
}
.dynamic-hero-banner .darfasystems-breadcrumbs .breadcrumb-current {
    color: rgba(255, 255, 255, 0.9);
}


/* v1.7.1 — Premium editable four-column footer inspired by supplied reference. */
.pn-footer.site-footer{--pn-footer-bg:#3b3b3b;--pn-footer-text:#d0d2d4;--pn-footer-heading:#fff;--pn-footer-accent:#ff6a1a;--pn-footer-line:rgba(255,255,255,.12);background-color:var(--pn-footer-bg)!important;background-image:linear-gradient(rgba(42,43,43,.28),rgba(42,43,43,.38)),url("assets/images/footer-world-map.png")!important;background-size:cover,cover!important;background-position:center center!important;background-repeat:no-repeat!important;color:var(--pn-footer-text);border-top:0!important;padding:28px 3.65% 18px!important;font-size:var(--pn-footer-font-size,14px);}
.pn-footer,.pn-footer *{box-sizing:border-box}
.pn-footer__grid{width:100%;max-width:var(--pn-footer-width,1400px);margin:0 auto 42px;display:grid;grid-template-columns:1.65fr .72fr .78fr .82fr;column-gap:clamp(28px,5vw,92px);align-items:start}
.pn-footer__brand-lockup{display:flex;align-items:center;gap:var(--pn-footer-brand-logo-gap,15px);text-decoration:none!important;color:var(--pn-footer-heading)!important;min-width:0}
.pn-footer__logo{width:auto;height:auto;max-width:var(--pn-footer-brand-logo-size,48px);max-height:var(--pn-footer-brand-logo-size,48px);object-fit:contain;flex:0 0 auto;filter:brightness(0) invert(1)}
/* v1.7.5 — Recolor footer brand mark to white, matching the supplied reference. */
.pn-footer__logo--site .custom-logo-link{display:block}.pn-footer__logo--site img{width:auto;max-width:var(--pn-footer-brand-logo-size,48px);max-height:var(--pn-footer-brand-logo-size,48px);object-fit:contain}
.pn-footer__mark{font-size:24px;line-height:1;font-weight:800;color:#fff;min-width:37px;text-align:center}
.pn-footer__brand-text{display:flex;flex-direction:column;gap:var(--pn-footer-brand-text-gap,4px);min-width:0}
.pn-footer__brand-text strong{font-family:var(--pn-footer-brand-name-font,inherit);font-size:var(--pn-footer-brand-name-size,18px);line-height:1.25;font-weight:750;color:var(--pn-footer-brand-name-color,var(--pn-footer-heading));white-space:normal}
.pn-footer__brand-text small{font-family:var(--pn-footer-brand-tagline-font,inherit);font-size:var(--pn-footer-brand-tagline-size,10px);line-height:1.4;font-weight:800;letter-spacing:.08em;color:var(--pn-footer-brand-tagline-color,var(--pn-footer-accent))}
.pn-footer__description,.pn-footer__column p{font-size:var(--pn-footer-font-size,14px);line-height:1.62;color:var(--pn-footer-text);margin:22px 0 0}
.pn-footer__social{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.pn-footer__social-link{width:37px;height:37px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--pn-footer-social-bg,#30305c);color:#fff!important;text-decoration:none!important;transition:transform .2s ease,background .2s ease}
.pn-footer__social-link:hover{background:var(--pn-footer-accent);transform:translateY(-2px)}
.pn-footer__column h2{font-size:var(--pn-footer-heading-size,14px);line-height:1.35;font-weight:800;letter-spacing:.025em;color:var(--pn-footer-heading)!important;margin:0 0 22px;padding:0;border:0}
.pn-footer__column h2::after{content:"";display:block!important;width:var(--pn-footer-heading-rule-width,40px);height:var(--pn-footer-heading-rule-height,4px);margin-top:10px;background:var(--pn-footer-accent);border:0;border-radius:0;opacity:1}
.pn-footer__links{list-style:none;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:13px}
.pn-footer__links li{margin:0!important;padding:0!important}
.pn-footer__links a,.pn-footer__contact a{font-size:var(--pn-footer-font-size,14px);line-height:1.45;color:var(--pn-footer-text)!important;text-decoration:none!important;transition:color .2s ease}
.pn-footer__links a:hover,.pn-footer__contact a:hover{color:var(--pn-footer-accent)!important}
.pn-footer__hint{font-size:12px!important;opacity:.7;margin:0!important}
.pn-footer__newsletter>p{margin:-2px 0 17px!important}
.pn-footer__subscribe{display:flex;gap:8px;align-items:center;margin:0 0 25px}
.pn-footer__subscribe input{height:41px;min-width:0;flex:1;width:100%;padding:0 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font:inherit;outline:none}
.pn-footer__subscribe input::placeholder{color:#a4a5c8;opacity:1}
.pn-footer__subscribe input:focus{border-color:var(--pn-footer-accent);box-shadow:0 0 0 2px rgba(255,106,26,.18)}
.pn-footer__subscribe button{border:0;border-radius:50%;width:41px;height:41px;flex:0 0 41px;display:flex;align-items:center;justify-content:center;background:var(--pn-footer-accent);color:#fff;cursor:pointer}
.pn-footer__subscribe button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pn-footer__contact{display:flex;flex-direction:column;gap:10px;font-style:normal;color:var(--pn-footer-text)}.pn-footer__contact span{color:var(--pn-footer-text)}
.pn-footer__contact>div{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;align-items:start}
.pn-footer__contact i{color:var(--pn-footer-accent);font-size:14px;line-height:1.5;padding-top:1px}
.pn-footer__contact span,.pn-footer__contact a{overflow-wrap:anywhere}
.pn-footer__bottom{max-width:var(--pn-footer-width,1400px);margin:0 auto;border-top:1px solid var(--pn-footer-line);padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.pn-footer__bottom p{font-size:12px;line-height:1.5;color:var(--pn-footer-text);margin:0}
.pn-footer__legal{display:flex;flex-wrap:wrap;gap:26px}
.pn-footer__legal a{font-size:12px;color:var(--pn-footer-text)!important;text-decoration:none!important}
.pn-footer__legal a:hover{color:var(--pn-footer-accent)!important}
@media(max-width:1024px){.pn-footer__grid{grid-template-columns:1.2fr 1fr;gap:36px 42px}.pn-footer__brand{grid-column:1/-1}.pn-footer__description{max-width:560px}.pn-footer__bottom{margin-top:0}}
@media(max-width:600px){.pn-footer.site-footer{padding:32px 22px 20px!important}.pn-footer__grid{grid-template-columns:1fr;gap:30px;margin-bottom:32px}.pn-footer__brand{grid-column:auto}.pn-footer__description{margin-top:16px}.pn-footer__social{margin-top:18px}.pn-footer__column h2{margin-bottom:15px}.pn-footer__newsletter>p{margin-bottom:14px!important}.pn-footer__bottom{padding-top:20px;align-items:flex-start;flex-direction:column;gap:13px}.pn-footer__legal{gap:20px}}


/* v1.10.0 — Footer bottom controls: editable copyright alignment and legal link visibility. */
.pn-footer__bottom { width:100%; box-sizing:border-box; }
.pn-footer__bottom--copyright-left { justify-content:space-between; }
.pn-footer__bottom--copyright-left .pn-footer__copyright { text-align:left; margin-right:auto; }
.pn-footer__bottom--copyright-center { position:relative; }
.pn-footer__bottom--copyright-center .pn-footer__copyright { position:absolute; left:50%; top:30px; transform:translateX(-50%); text-align:center; width:max-content; max-width:48%; }
.pn-footer__bottom--copyright-center .pn-footer__legal { margin-left:auto; }
.pn-footer__bottom--copyright-right { justify-content:space-between; }
.pn-footer__bottom--copyright-right .pn-footer__copyright { text-align:right; margin-left:auto; order:2; }
.pn-footer__bottom--copyright-right .pn-footer__legal { order:1; margin-right:auto; }
@media (min-width: 1025px) { .pn-footer__legal-desktop-hidden { display:none !important; } }
@media (max-width: 600px) {
  .pn-footer__bottom--copyright-center { display:flex; flex-direction:column; align-items:flex-start; }
  .pn-footer__bottom--copyright-center .pn-footer__copyright { position:static; transform:none; text-align:left; width:auto; max-width:100%; }
  .pn-footer__bottom--copyright-right { align-items:flex-end; }
  .pn-footer__bottom--copyright-right .pn-footer__copyright { text-align:right; }
  .pn-footer__bottom--copyright-right .pn-footer__legal { margin-right:0; margin-left:auto; }
}
/* Keep the area behind any browser viewport overscroll consistent with the footer, without changing header markup. */
html { background-color:#2b2c2c; }


/* v1.10.2 — Footer legal links: independent device visibility and balanced copyright centering. */
@media (min-width: 1025px) {
  .pn-footer__legal-desktop-hidden { display:none !important; }
}
@media (min-width: 601px) and (max-width: 1024px) {
  .pn-footer__legal-tablet-hidden { display:none !important; }
}
@media (max-width: 600px) {
  .pn-footer__legal-mobile-hidden { display:none !important; }
}
/* Center the copyright in the actual footer width; do not position it lower with top offsets. */
.pn-footer__bottom--copyright-center {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  column-gap:20px;
  padding-top:20px;
}
.pn-footer__bottom--copyright-center .pn-footer__copyright {
  position:static;
  grid-column:2;
  grid-row:1;
  justify-self:center;
  transform:none;
  width:auto;
  max-width:100%;
  margin:0;
  text-align:center;
}
.pn-footer__bottom--copyright-center .pn-footer__legal {
  grid-column:3;
  grid-row:1;
  justify-self:end;
  margin:0;
}
@media (max-width: 600px) {
  .pn-footer__bottom--copyright-center {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:13px;
    padding-top:20px;
  }
  .pn-footer__bottom--copyright-center .pn-footer__copyright {
    width:auto;
    max-width:100%;
    text-align:center;
  }
  .pn-footer__bottom--copyright-center .pn-footer__legal {
    justify-content:center;
    margin:0;
  }
}
