/**
 * Faktura Creator — full responsive (mobile · tablet · desktop)
 * Frontend shell + CMS content + WP admin embed
 */

/* —— Breakpoints ——
   mobile:  < 640px
   tablet:  640px – 899px
   desktop: 900px+
*/

/* ========== FRONTEND SHELL ========== */

.fkcr-app,
.fkcr-wp-admin-wrap .fkcr-adm-embed {
    -webkit-text-size-adjust: 100%;
}

.fkcr-app .fk-top-bar.nav-open,
.fk-top-bar.fkcr-shell-header.nav-open {
    z-index: 120;
}

.fkcr-app .fk-mobile-overlay.is-open,
.fk-top-bar .fk-mobile-overlay.is-open {
    display: block !important;
    opacity: 1;
    pointer-events: auto;
}

.fkcr-app .fk-mobile-panel.open,
.fk-top-bar .fk-mobile-panel.open {
    display: block !important;
}

/* Bottom icon dock — mobile & tablet */
.fkcr-dock-nav {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 95;
    padding: .35rem .5rem calc(.35rem + env(safe-area-inset-bottom, 0px));
    background: #fff;
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -4px 20px rgb(15 23 42 / 8%);
    gap: .15rem;
    justify-content: space-around;
    align-items: stretch;
}

.fkcr-dock-link {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    padding: .4rem .2rem;
    text-decoration: none;
    color: #334155;
    font-size: .62rem;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    border-radius: 10px;
    transition: background .15s, color .15s;
}

.fkcr-dock-link i {
    font-size: 1.05rem;
    color: #1e40af;
    line-height: 1;
}

.fkcr-dock-link span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fkcr-dock-link.is-active,
.fkcr-dock-link:hover {
    background: #eff6ff;
    color: #1e40af;
}

.fkcr-app:has(.fkcr-dock-nav),
body.fkcr-faktura-page,
body:has(.fkcr-dock-nav):not(.fk-embed) {
    padding-bottom: calc(4.25rem + env(safe-area-inset-bottom, 0px));
}

body.fk-embed:has(.fkcr-dock-nav) {
    padding-bottom: 0;
}

.fkcr-shell-main,
.fkcr-native .fk-main {
    padding-bottom: 1rem;
}

/* —— Mobile < 640px —— */
@media (max-width: 639px) {
    .fkcr-app .fk-demo-strip,
    .fk-top-bar .fk-demo-strip {
        font-size: .68rem;
        padding: .35rem .75rem;
        gap: .3rem .5rem;
    }

    .fkcr-app .fk-header-inner,
    .fk-top-bar .fk-header-inner {
        padding: .55rem .75rem;
        flex-wrap: nowrap;
    }

    .fkcr-app .fk-logo-text,
    .fk-top-bar .fk-logo-text {
        font-size: .92rem;
        max-width: 9rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .fkcr-app .fk-header-actions,
    .fk-top-bar .fk-header-actions {
        gap: .35rem;
        flex-shrink: 0;
    }

    .fkcr-app .fk-menu-btn,
    .fk-top-bar .fk-menu-btn {
        width: 2.5rem;
        height: 2.5rem;
        flex-shrink: 0;
    }

    .fkcr-dock-nav {
        display: flex;
    }

    .fkcr-app .fk-main,
    .fkcr-app .fk-main.fkcr-shell-main,
    .fkcr-native .fk-main {
        padding: 1rem .75rem 1.5rem;
    }

    .fk-home-hero h1 {
        font-size: clamp(1.35rem, 6vw, 1.75rem);
    }

    .fk-home-cta {
        flex-direction: column;
        align-items: stretch;
    }

    .fk-home-cta .fk-btn {
        width: 100%;
        justify-content: center;
    }

    .fk-country-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem;
    }

    .fk-grid--main,
    .fk-grid--2 {
        grid-template-columns: 1fr !important;
    }

    .fk-card {
        padding: 1rem .85rem;
    }

    .fk-field-row {
        flex-direction: column;
    }

    .fk-lines-table {
        min-width: 36rem;
        font-size: .78rem;
    }

    .fk-help-layout {
        grid-template-columns: 1fr !important;
    }

    .fk-contact-layout {
        grid-template-columns: 1fr !important;
    }

    .fk-demo-preview-wrap {
        flex-direction: column;
    }

    .fk-demo-picker .fk-select {
        font-size: .82rem;
    }
}

/* —— Tablet 640–899px —— */
@media (min-width: 640px) and (max-width: 899px) {
    .fkcr-app .fk-header-inner,
    .fk-top-bar .fk-header-inner {
        padding: .65rem 1rem;
    }

    .fkcr-dock-nav {
        display: flex;
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .fkcr-dock-link {
        font-size: .68rem;
    }

    .fkcr-dock-link i {
        font-size: 1.15rem;
    }

    .fk-country-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fk-grid--main {
        grid-template-columns: 1fr !important;
    }

    .fk-grid--2 {
        grid-template-columns: 1fr 1fr;
    }

    .fk-home-benefits {
        grid-template-columns: 1fr 1fr;
    }

    .fk-help-layout {
        grid-template-columns: minmax(0, 14rem) minmax(0, 1fr);
    }
}

/* —— Desktop 900px+ —— */
@media (min-width: 900px) {
    .fkcr-dock-nav {
        display: none !important;
    }

    body.fkcr-faktura-page,
    .fkcr-app:has(.fkcr-dock-nav) {
        padding-bottom: 0;
    }

    .fkcr-app .fk-nav a span,
    .fk-top-bar .fk-nav a span {
        display: inline;
    }

    .fkcr-app .fk-nav a i,
    .fk-top-bar .fk-nav a i {
        font-size: .85rem;
        width: 1.1rem;
    }
}

/* Tablet+: compact icon+text in desktop nav when space tight */
@media (min-width: 900px) and (max-width: 1099px) {
    .fkcr-app .fk-nav a,
    .fk-top-bar .fk-nav a {
        padding: .45rem .5rem;
        font-size: .8rem;
    }
}

@media (min-width: 1100px) {
    .fkcr-app .fk-nav a,
    .fk-top-bar .fk-nav a {
        padding: .45rem .7rem;
    }
}

/* Touch targets */
@media (hover: none) and (pointer: coarse) {
    .fkcr-app .fk-nav a,
    .fk-top-bar .fk-nav a,
    .fkcr-app .fk-mobile-nav a,
    .fk-top-bar .fk-mobile-nav a,
    .fkcr-dock-link,
    .fkcr-app .fk-lang-dropdown-btn,
    .fk-top-bar .fk-lang-dropdown-btn {
        min-height: 44px;
    }
}

/* ========== WP ADMIN EMBED ========== */

.fkcr-wp-admin-wrap {
    overflow-x: hidden;
}

.fkcr-wp-admin-wrap .adm-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -0.25rem;
    padding: 0 .25rem;
}

.fkcr-wp-admin-wrap .adm-table {
    min-width: 32rem;
}

@media (max-width: 899px) {
    .fkcr-wp-admin-wrap .adm-top-wp .adm-top-icon {
        width: 2.25rem;
        height: 2.25rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        border: 1px solid #e2e8f0;
        background: #fff;
    }

    .fkcr-wp-admin-wrap {
        margin-left: -10px;
        margin-right: 0;
    }

    .fkcr-wp-admin-wrap .adm-top-wp {
        flex-wrap: wrap;
        gap: .5rem;
        padding: .55rem .75rem;
    }

    .fkcr-wp-admin-wrap .adm-top-crumb {
        flex: 1 1 100%;
        order: -1;
        font-size: .88rem;
    }

    .fkcr-wp-admin-wrap .adm-top-tools {
        width: 100%;
        justify-content: flex-end;
        margin-left: 0;
    }

    .fkcr-wp-admin-wrap .adm-body-pc .adm-main,
    .fkcr-wp-admin-wrap .adm-main {
        padding: 1rem .75rem 2rem;
    }

    .fkcr-wp-admin-wrap .adm-page-title {
        font-size: 1.15rem;
    }

    .fkcr-wp-admin-wrap .adm-card {
        padding: 1rem;
    }

    .fkcr-wp-admin-wrap .adm-form-grid {
        grid-template-columns: 1fr !important;
    }

    .fkcr-wp-admin-wrap .adm-pc-grid {
        grid-template-columns: 1fr !important;
    }

    .fkcr-wp-admin-wrap .adm-doc-head {
        flex-direction: column;
        align-items: stretch;
        gap: .65rem;
    }

    .fkcr-wp-admin-wrap .adm-doc-toolbar {
        flex-wrap: wrap;
    }

    .fkcr-wp-admin-wrap .adm-feature-grid {
        grid-template-columns: 1fr;
    }

    .fkcr-wp-admin-wrap .adm-layout-split {
        grid-template-columns: 1fr !important;
    }

    .fkcr-wp-admin-wrap .adm-filter-btn span {
        display: none;
    }

    .fkcr-wp-admin-wrap .adm-ai-link-row {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    .fkcr-wp-admin-wrap .adm-feature-grid {
        grid-template-columns: 1fr 1fr;
    }

    .fkcr-wp-admin-wrap .adm-form-grid {
        grid-template-columns: 1fr 1fr;
    }

    .fkcr-wp-admin-wrap .adm-pc-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 900px) {
    .fkcr-wp-admin-wrap .adm-body-pc .adm-main {
        padding: 1.25rem 1.5rem 2.5rem;
    }
}

@media (min-width: 1200px) {
    .fkcr-wp-admin-wrap .adm-layout-split {
        grid-template-columns: minmax(0, 1fr) minmax(380px, 42%);
    }
}

/* WP admin on narrow phones — stack fold menu offset */
@media (max-width: 600px) {
    .folded .fkcr-wp-admin-wrap {
        margin-left: 0;
    }
}

/* ========== STANDALONE CMS (style.css shell) ========== */

body:has(.fkcr-dock-nav) .fk-footer {
    padding-bottom: calc(3.5rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 639px) {
    .fk-logo-text {
        max-width: 9rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: .92rem;
    }

    .fk-header-inner {
        padding: .55rem .75rem;
    }

    .fk-demo-strip {
        font-size: .68rem;
        padding: .35rem .75rem;
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    .fk-header-inner {
        padding: .65rem 1rem;
    }
}

