 :root {
        --patent-green: #28a745;
        --patent-green-dark: #218838;
        --patent-blue: #0066cc;
        --patent-orange: #ff6b35;
        --patent-purple: #6f42c1;
        --primary: #1a5490;
        --secondary: #2980b9;
    }

    /* Patents Section Background */
    #patents {
        background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
        position: relative;
        overflow: hidden;
    }

    #patents::before {
        content: '';
        position: absolute;
        width: 600px;
        height: 600px;
        background: radial-gradient(circle, rgba(40, 167, 69, 0.1), transparent);
        border-radius: 50%;
        top: -300px;
        right: -300px;
        animation: float-patent 20s ease-in-out infinite;
    }

    #patents::after {
        content: '';
        position: absolute;
        width: 500px;
        height: 500px;
        background: radial-gradient(circle, rgba(0, 102, 204, 0.08), transparent);
        border-radius: 50%;
        bottom: -250px;
        left: -250px;
        animation: float-patent 16s ease-in-out infinite reverse;
    }

    @keyframes float-patent {
        0%, 100% { transform: translate(0, 0); }
        50% { transform: translate(-50px, 50px); }
    }

    /* Section Title */
    .patent-title {
        background: linear-gradient(135deg, var(--patent-green) 0%, var(--patent-green-dark) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        animation: shine-patent 3s ease-in-out infinite;
    }

    @keyframes shine-patent {
        0%, 100% { filter: brightness(1); }
        50% { filter: brightness(1.3); }
    }

    /* Title Underline */
    .patent-underline {
        width: 120px;
        height: 4px;
        background: linear-gradient(90deg, var(--patent-green), var(--patent-blue));
        position: relative;
        overflow: hidden;
    }

    .patent-underline::before {
        content: '';
        position: absolute;
        width: 50%;
        height: 100%;
        background: rgba(255, 255, 255, 0.7);
        animation: slide-underline 2s ease-in-out infinite;
    }

    @keyframes slide-underline {
        0% { left: -50%; }
        100% { left: 150%; }
    }

    /* Section Cards */
    .patent-section-card {
        background: white;
        border-top: 5px solid var(--patent-green);
        transition: all 0.4s ease;
        position: relative;
        overflow: hidden;
    }

    .patent-section-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(40, 167, 69, 0.1), transparent);
        transition: left 0.6s;
    }

    .patent-section-card:hover::before {
        left: 100%;
    }

    .patent-section-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 50px rgba(40, 167, 69, 0.2) !important;
    }

    .progress-card {
        border-top-color: var(--patent-orange);
    }

    .progress-card:hover {
        box-shadow: 0 15px 50px rgba(255, 107, 53, 0.2) !important;
    }

    .list-card {
        border-top-color: var(--patent-blue);
    }

    .list-card:hover {
        box-shadow: 0 15px 50px rgba(0, 102, 204, 0.2) !important;
    }

    /* Section Badge */
    .section-badge {
        width: 60px;
        height: 60px;
        position: absolute;
        top: -10px;
        right: 20px;
        animation: float-badge 3s ease-in-out infinite;
    }

    @keyframes float-badge {
        0%, 100% { transform: translateY(0) rotate(0deg); }
        50% { transform: translateY(-10px) rotate(10deg); }
    }

    .badge-green {
        background: linear-gradient(135deg, var(--patent-green), var(--patent-green-dark));
    }

    .badge-orange {
        background: linear-gradient(135deg, var(--patent-orange), #e55a2b);
    }

    .badge-blue {
        background: linear-gradient(135deg, var(--patent-blue), #0052a3);
    }

    /* Country Item */
    .country-item {
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        border-left: 4px solid var(--patent-green);
        transition: all 0.3s ease;
        cursor: pointer;
    }

    .country-item:hover {
        transform: translateX(10px);
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
        border-left-color: var(--patent-orange);
    }

    .country-number {
        width: 35px;
        height: 35px;
        background: linear-gradient(135deg, var(--patent-green), var(--patent-green-dark));
        font-size: 0.85rem;
    }

    /* Download Buttons */
    .patent-download-btn {
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
    }

    .patent-download-btn::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        background: rgba(255, 255, 255, 0.3);
        border-radius: 50%;
        transform: translate(-50%, -50%);
        transition: width 0.5s, height 0.5s;
    }

    .patent-download-btn:hover::before {
        width: 300px;
        height: 300px;
    }

    .patent-download-btn:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    }

    .patent-download-btn i {
        transition: transform 0.3s ease;
    }

    .patent-download-btn:hover i {
        transform: scale(1.2) rotate(10deg);
    }

    /* Link Buttons */
    .patent-link-btn {
        transition: all 0.3s ease;
    }

    .patent-link-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0, 102, 204, 0.3);
    }

    .patent-link-btn i {
        transition: transform 0.3s ease;
    }

    .patent-link-btn:hover i {
        transform: translateX(5px);
    }

    /* Bootstrap Table Enhanced */
    .table-modern {
        background: white;
        border-radius: 15px;
        overflow: hidden;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    }

    .table-modern thead {
        background: linear-gradient(135deg, var(--patent-blue), #0052a3);
    }

    .table-modern thead th {
        color: white;
        font-weight: 600;
        border: none;
        padding: 15px;
        font-size: 0.95rem;
    }

    .table-modern tbody tr {
        transition: all 0.3s ease;
        border-bottom: 1px solid #e9ecef;
    }

    .table-modern tbody tr:hover {
        background: linear-gradient(90deg, rgba(0, 102, 204, 0.05), transparent);
        transform: scale(1.01);
    }

    .table-modern tbody td {
        padding: 12px 15px;
        vertical-align: middle;
        font-size: 0.9rem;
    }

    /* Responsive Table */
    .table-responsive {
        border-radius: 15px;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    }

    /* OAPI Countries Badge */
    .oapi-countries {
        background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
        border-left: 4px solid var(--patent-orange);
        font-size: 0.85rem;
    }

    /* Icon Animations */
    .icon-rotate {
        animation: rotate-icon 6s linear infinite;
    }

    @keyframes rotate-icon {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

    .icon-bounce {
        animation: bounce-icon 2s ease-in-out infinite;
    }

    @keyframes bounce-icon {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-8px); }
    }

    /* Responsive */
    @media (max-width: 768px) {
        .section-badge {
            width: 45px;
            height: 45px;
            right: 10px;
        }

        .table-modern thead th {
            font-size: 0.8rem;
            padding: 10px 8px;
        }

        .table-modern tbody td {
            font-size: 0.8rem;
            padding: 10px 8px;
        }
    }