:root {
    --paper-bg: var(--judoapp-bg, #eeeeee);
    --paper-bg-alt: var(--judoapp-bg-alt, #e6e6e6);
    --paper-surface: var(--judoapp-surface, #ffffff);
    --paper-primary: var(--judoapp-primary, #d75f5f);
    --paper-secondary: var(--judoapp-secondary, #d79921);
    --paper-accent: var(--judoapp-accent, #b854d4);
    --paper-muted: var(--judoapp-muted, #7c7c7c);
    --paper-border: var(--judoapp-border, #d8d8d8);
    --paper-radius: var(--judoapp-radius, 12px);
    --paper-shadow: var(--judoapp-shadow, 0 12px 32px rgba(45, 45, 45, 0.16));
}

body {
    background: var(--paper-bg);
    color: #4d4d4c;
    line-height: 1.6;
}

.site-header {
    background: var(--judoapp-nav-bg, var(--paper-surface));
    border-bottom: 1px solid var(--paper-border);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
    position: sticky;
    top: 0;
    z-index: 1020;
}

.site-brand {
    font-weight: 700;
    color: var(--paper-primary);
    text-decoration: none;
}

.site-brand span {
    color: var(--paper-muted);
    font-weight: 500;
}

.custom-logo {
    height: 35px !important;
    width: auto !important;
    mix-blend-mode: multiply;
}

.navbar-nav .nav-link {
    font-weight: 600;
    color: var(--judoapp-nav-text, #2d2d2d);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: var(--paper-primary);
}

.btn-primary {
    background: var(--paper-primary);
    border-color: var(--paper-primary);
    box-shadow: 0 10px 30px rgba(215, 95, 95, 0.22);
}

.btn-primary:hover {
    background: #c04e4e;
    border-color: #c04e4e;
}

.judoapp-single-product .judoapp-menu-desc {
    -webkit-line-clamp: initial;
    display: block;
    overflow: visible;
    white-space: normal;
}

.judoapp-single-product .judoapp-menu-actions form.cart {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
}

.judoapp-single-product .judoapp-menu-actions .quantity {
    margin: 0;
}

.judoapp-single-product .judoapp-menu-actions .qty {
    width: 70px;
    padding: 6px 8px;
    border: 1px solid var(--paper-border);
    border-radius: 10px;
    font-weight: 600;
}

.judoapp-single-product .judoapp-menu-actions .single_add_to_cart_button {
    background: var(--paper-primary);
    border-color: var(--paper-primary);
    color: #fff;
    box-shadow: 0 10px 26px rgba(215, 95, 95, 0.18);
}

.judoapp-single-product .judoapp-menu-actions .single_add_to_cart_button:hover {
    background: #c04e4e;
    border-color: #c04e4e;
    color: #fff;
}

@page {
    size: A4;
    margin: 10mm;
}

@media print {
    body.single-product,
    body.single-product html,
    html {
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product #wpadminbar,
    body.single-product .site-header,
    body.single-product .site-footer,
    body.single-product .woocommerce-breadcrumb,
    body.single-product .judoapp-sidebar,
    body.single-product .judoapp-nav,
    body.single-product .woocommerce-MyAccount-navigation {
        display: none !important;
    }

    body.single-product .container,
    body.single-product .container-fluid,
    body.single-product .site-main,
    body.single-product main,
    body.single-product .judoapp-account-shell,
    body.single-product .judoapp-papercolor,
    body.single-product .judoapp-content,
    body.single-product .card,
    body.single-product .judoapp-endpoint-content {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    body.single-product .judoapp-menu-section.judoapp-single-product {
        margin: 10mm 12mm 12mm 6mm !important;
        padding: 0 !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    body.single-product table {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
}

.btn-outline-primary {
    color: var(--paper-primary);
    border-color: var(--paper-primary);
}

.btn-outline-primary:hover {
    background: var(--paper-primary);
    color: #fff;
}


.hero {
    padding: 96px 0 72px;
    background: linear-gradient(135deg, rgba(215, 95, 95, 0.14), rgba(184, 84, 212, 0.12));
}

.hero .card {
    border: none;
    box-shadow: var(--paper-shadow);
}

.section-title {
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 700;
    margin-bottom: 1rem;
}

.muted {
    color: var(--paper-muted);
}

.card {
    border: 1px solid var(--paper-border);
    border-radius: var(--paper-radius);
    box-shadow: var(--paper-shadow);
}

.paper-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(184, 84, 212, 0.1);
    color: var(--paper-primary);
    font-weight: 600;
    font-size: 0.9rem;
}

.paper-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.papercard {
    padding: 18px;
    background: var(--paper-surface);
    border: 1px solid var(--paper-border);
    border-radius: var(--paper-radius);
    box-shadow: var(--paper-shadow);
}

.papercard .label {
    color: var(--paper-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.85rem;
}

.papercard .value {
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 6px;
}

.site-footer {
    border-top: 1px solid var(--paper-border);
    background: var(--paper-surface);
    color: var(--paper-muted);
}

.site-footer a {
    color: var(--paper-primary);
}

.woocommerce-account .woocommerce {
    background: transparent;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    border: 1px solid var(--paper-border);
    border-radius: var(--paper-radius);
    background: var(--paper-surface);
    padding: 16px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.woocommerce-account .woocommerce-MyAccount-content {
    border: 1px solid var(--paper-border);
    border-radius: var(--paper-radius);
    background: var(--paper-surface);
    padding: 24px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.judoapp-account-shell {
    padding: 32px 0;
}

.wp-block-button__link {
    border-radius: 999px;
}

.alignwide {
    max-width: min(1200px, 92vw);
    margin-left: auto;
    margin-right: auto;
}

.skip-link {
    position: absolute;
    left: -999px;
    top: -999px;
    padding: 10px 14px;
    background: var(--paper-primary);
    color: #fff;
    z-index: 2000;
    border-radius: 8px;
    box-shadow: var(--paper-shadow);
}

.skip-link:focus {
    left: 16px;
    top: 12px;
}
