/**
 * Courses Archive Styles
 * 
 * @package DNCG_Pathways
 * @version 3.2.1
 * 
 * File Location: /public/css/archive-courses.css
 * 
 * Changelog v3.2.1:
 * - Fixed keyboard navigation for checkboxes (visually-hidden pattern)
 * - Fixed tab order for collapsed accordions (display: none)
 * - Added focus-visible indicators for accessibility
 */

/* ========================================
   Global Variables
   ======================================== */

:root {
    --primary-color: #667eea;
    --primary-dark: #5a67d8;
    --secondary-color: #764ba2;
    --text-dark: #2d3748;
    --text-medium: #4a5568;
    --text-light: #718096;
    --border-color: #e2e8f0;
    --bg-light: #f7fafc;
    --bg-white: #ffffff;
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 15px rgba(0,0,0,0.1);
    --shadow-lg: 0 12px 30px rgba(0,0,0,0.15);
    --transition: all 0.3s ease;
}

/* ========================================
   Archive Wrapper
   ======================================== */

.dncg-courses-archive-wrapper {
    min-height: 100vh;
    background: var(--bg-light);
}

/* ========================================
   Hero Section
   ======================================== */

.dncg-courses-hero {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    padding: 80px 0 60px;
    position: relative;
    overflow: hidden;
}

.dncg-courses-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    animation: float 20s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

.dncg-courses-hero-content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.dncg-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.dncg-container-wide {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.dncg-courses-title {
    font-size: 3rem;
    font-weight: 700;
    color: white;
    margin: 0 0 15px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}

.dncg-courses-intro {
    font-size: 1.15rem;
    color: rgba(255,255,255,0.95);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ========================================
   Mobile Filter Toggle
   ======================================== */

.dncg-mobile-filter-toggle {
    display: none;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: white;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-dark);
    cursor: pointer;
    transition: var(--transition);
    margin-bottom: 20px;
    width: 100%;
    justify-content: center;
}

.dncg-mobile-filter-toggle:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.dncg-mobile-filter-toggle .filter-count {
    background: var(--primary-color);
    color: white;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.85rem;
    font-weight: 700;
}

/* ========================================
   Active Filters Bar
   ======================================== */

.dncg-active-filters {
    background: white;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    box-shadow: var(--shadow-sm);
}

.active-filters-label {
    font-weight: 600;
    color: var(--text-medium);
    font-size: 0.9rem;
}

.active-filters-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex: 1;
}

.filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    font-size: 0.875rem;
    color: var(--text-dark);
    text-decoration: none;
    transition: var(--transition);
}

.filter-tag:hover {
    background: #fee;
    border-color: #fcc;
    color: #c00;
}

.filter-tag svg {
    stroke: currentColor;
}

.clear-all-btn {
    color: var(--primary-color);
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    padding: 6px 12px;
    transition: var(--transition);
}

.clear-all-btn:hover {
    text-decoration: underline;
}

/* ========================================
   Main Layout
   ======================================== */

.dncg-courses-content {
    padding: 40px 0 80px;
}

.dncg-courses-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
    align-items: start;
}

/* ========================================
   Filter Sidebar
   ======================================== */

.dncg-filter-sidebar {
    background: white;
    border-radius: 12px;
    padding: 25px;
    box-shadow: var(--shadow-md);
}

.filter-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--border-color);
}

.filter-sidebar-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0;
}

.mobile-close-filters {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: var(--text-medium);
    transition: var(--transition);
}

.mobile-close-filters:hover {
    color: var(--text-dark);
}

/* ========================================
   Filter Accordion - WITH KEYBOARD NAV FIX
   ======================================== */

.filter-accordion-item {
    border-bottom: 1px solid var(--border-color);
}

.filter-accordion-item:last-child {
    border-bottom: none;
}

.filter-accordion-toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    background: none;
    border: none;
    cursor: pointer;
    transition: var(--transition);
}

.filter-accordion-toggle:hover .accordion-title {
    color: var(--primary-color);
}

/* Enhanced focus for keyboard navigation */
.filter-accordion-toggle:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.accordion-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-dark);
    text-align: left;
    transition: var(--transition);
}

.accordion-icon {
    stroke: var(--text-medium);
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.filter-accordion-toggle.is-active .accordion-icon {
    transform: rotate(180deg);
}

/* KEYBOARD NAV FIX: Hide collapsed content from tab order */
.filter-accordion-content {
    display: none; /* Removes from tab order when collapsed */
}

.filter-accordion-content.is-open {
    display: block; /* Restores to tab order when open */
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.filter-options {
    padding: 10px 0 15px;
}

/* ========================================
   Custom Checkboxes - FIXED FOR KEYBOARD NAV
   ======================================== */

.filter-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    cursor: pointer;
    transition: var(--transition);
}

.filter-checkbox-label:hover {
    color: var(--primary-color);
}

/* KEYBOARD NAV FIX: Visually hide but keep in tab order */
.filter-checkbox {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Visual focus indicator for keyboard users */
.filter-checkbox:focus-visible + .checkbox-custom {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.checkbox-custom {
    width: 18px;
    height: 18px;
    border: 2px solid var(--border-color);
    border-radius: 4px;
    flex-shrink: 0;
    transition: var(--transition);
    position: relative;
}

.filter-checkbox:checked + .checkbox-custom {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.filter-checkbox:checked + .checkbox-custom::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.checkbox-text {
    flex: 1;
    font-size: 0.9rem;
    color: var(--text-medium);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.option-count {
    color: var(--text-light);
    font-size: 0.85rem;
}

/* ========================================
   Filter Actions
   ======================================== */

.filter-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 20px;
    margin-top: 20px;
    border-top: 2px solid var(--border-color);
}

.btn-apply-filters,
.btn-clear-filters {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.95rem;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition);
    border: none;
}

.btn-apply-filters {
    background: var(--primary-color);
    color: white;
}

.btn-apply-filters:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
}

.btn-apply-filters:focus-visible {
    outline: 2px solid var(--primary-dark);
    outline-offset: 2px;
}

.btn-clear-filters {
    background: var(--bg-light);
    color: var(--text-medium);
}

.btn-clear-filters:hover {
    background: var(--border-color);
}

.btn-clear-filters:focus-visible {
    outline: 2px solid var(--text-medium);
    outline-offset: 2px;
}

/* ========================================
   Results Section
   ======================================== */

.dncg-courses-results {
    min-height: 500px;
}

.results-header {
    margin-bottom: 25px;
}

.results-count {
    font-size: 1.05rem;
    color: var(--text-medium);
    margin: 0;
}

.results-count strong {
    color: var(--text-dark);
    font-weight: 700;
}

/* ========================================
   Courses Grid
   ======================================== */

.courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
}

/* ========================================
   Course Card
   ======================================== */

.course-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    height: 100%;
}

.course-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.course-card-link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.course-card-link:focus-visible {
    outline: 3px solid var(--primary-color);
    outline-offset: 2px;
}

/* Course Image */
.course-image {
    height: 160px;
    background-size: cover;
    background-position: center;
    position: relative;
    background-color: var(--bg-light);
}

.course-image-placeholder {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.placeholder-icon {
    position: relative;
    z-index: 2;
}

.placeholder-icon svg {
    stroke: rgba(255,255,255,0.7);
}

.course-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
}

/* Course Content */
.course-content {
    padding: 20px;
}

.course-subject {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.course-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0 0 12px;
    line-height: 1.4;
    min-height: 2.8em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.course-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: var(--text-light);
}

.meta-item svg {
    flex-shrink: 0;
    stroke: var(--text-light);
}

/* ========================================
   Partner Courses
   ======================================== */

.partner-courses-divider {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 60px 0 20px;
}

.divider-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--border-color), transparent);
}

.divider-text {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-medium);
}

.partner-courses-intro {
    text-align: center;
    color: var(--text-light);
    font-size: 0.95rem;
    margin: 0 0 30px;
}

.partner-course-card {
    opacity: 0.92;
    border: 1px solid var(--border-color);
}

.partner-course-card:hover {
    opacity: 1;
    border-color: var(--primary-color);
}

.partner-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--primary-color);
    color: white;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    z-index: 3;
    pointer-events: none;
}

.partner-placeholder {
    background: linear-gradient(135deg, #94a3b8 0%, #64748b 100%);
}

.partner-campus {
    font-size: 0.85rem;
    color: var(--text-light);
    font-style: italic;
    margin: 4px 0 8px;
}

.external-icon {
    display: inline-block;
    margin-left: 4px;
    vertical-align: middle;
    stroke: var(--primary-color);
}

/* ========================================
   Pagination
   ======================================== */

.dncg-pagination {
    margin: 50px 0 40px;
}

.pagination-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pagination-wrapper a,
.pagination-wrapper span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 14px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    background: white;
    color: var(--text-dark);
    transition: var(--transition);
    gap: 6px;
}

.pagination-wrapper a:hover {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.pagination-wrapper a:focus-visible {
    outline: 3px solid var(--primary-color);
    outline-offset: 2px;
}

.pagination-wrapper .current {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
    cursor: default;
}

.pagination-wrapper .dots {
    border: none;
    background: transparent;
    color: var(--text-light);
    cursor: default;
    min-width: 30px;
}

.pagination-wrapper a.prev svg,
.pagination-wrapper a.next svg {
    stroke: currentColor;
}

/* ========================================
   Empty State
   ======================================== */

.dncg-no-courses-found {
    text-align: center;
    padding: 80px 20px;
}

.no-courses-content {
    max-width: 500px;
    margin: 0 auto;
    padding: 50px 40px;
    background: white;
    border-radius: 12px;
    box-shadow: var(--shadow-md);
}

.no-courses-content svg {
    stroke: var(--border-color);
    margin-bottom: 20px;
}

.no-courses-content h3 {
    font-size: 1.5rem;
    color: var(--text-dark);
    margin: 0 0 15px;
    font-weight: 700;
}

.no-courses-content p {
    color: var(--text-medium);
    line-height: 1.6;
    margin: 0 0 25px;
}

.btn-clear-search {
    display: inline-block;
    padding: 12px 24px;
    background: var(--primary-color);
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: var(--transition);
}

.btn-clear-search:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
}

.btn-clear-search:focus-visible {
    outline: 2px solid var(--primary-dark);
    outline-offset: 2px;
}

/* ========================================
   Mobile Styles
   ======================================== */

@media (max-width: 992px) {
    .dncg-courses-layout {
        grid-template-columns: 1fr;
    }
    
    .dncg-mobile-filter-toggle {
        display: flex;
    }
    
    .dncg-filter-sidebar {
        position: fixed;
        top: 0;
        left: -100%;
        width: 320px;
        max-width: 85vw;
        height: 100vh;
        overflow-y: auto;
        z-index: 1000;
        transition: left 0.3s ease;
        border-radius: 0;
        margin: 0;
    }
    
    .dncg-filter-sidebar.is-open {
        left: 0;
        box-shadow: 0 0 50px rgba(0,0,0,0.3);
    }
    
    .mobile-close-filters {
        display: block;
    }
    
    .filter-sidebar-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.5);
        z-index: 999;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    
    body.filter-sidebar-open .filter-sidebar-overlay {
        opacity: 1;
        visibility: visible;
    }
    
    body.filter-sidebar-open {
        overflow: hidden;
    }
    
    .courses-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
}

@media (max-width: 768px) {
    .dncg-courses-title {
        font-size: 2.25rem;
    }
    
    .dncg-courses-intro {
        font-size: 1rem;
    }
    
    .courses-grid {
        grid-template-columns: 1fr;
    }
    
    .dncg-active-filters {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .pagination-wrapper a,
    .pagination-wrapper span {
        min-width: 40px;
        height: 40px;
        font-size: 0.9rem;
    }
    
    .pagination-wrapper a span {
        display: none;
    }
}

@media (max-width: 480px) {
    .dncg-courses-hero {
        padding: 60px 0 40px;
    }
    
    .dncg-courses-title {
        font-size: 1.75rem;
    }
    
    .dncg-filter-sidebar {
        width: 100%;
        max-width: 100vw;
    }
    
    .course-content {
        padding: 16px;
    }
    
    .pagination-wrapper {
        gap: 6px;
    }
}/**
 Responsive table courtesy of Mark Wiltshire: mark@bamboorocketapps.com (thanks!)

 For more styles try: http://icant.co.uk/csstablegallery/
 ----
 Generic styles:
 Here you could e.g. customise width of column 1 and 2,
 or add a generic roll-over effect on table rows
*/
.cookielawinfo-column-1 {width: 25%;}
.cookielawinfo-column-2 {width: 10%;}
.cookielawinfo-column-3 {width: 15%;}
.cookielawinfo-column-4 {width: 50%;}

/** Simple style */
.cookielawinfo-simple thead {width: 100%;}
.cookielawinfo-simple td {padding: 5px 5px 5px 0;vertical-align: top;}
.cookielawinfo-simple thead th {padding-right: 10px;text-align: left;}

/** Modern style */
.cookielawinfo-modern {border: 1px solid #e3e3e3;background-color: #f2f2f2;width: 100%;border-radius: 6px;-webkit-border-radius: 6px;-moz-border-radius: 6px;}
.cookielawinfo-modern td, .cookielawinfo-modern th {padding: 5px;color: #333;}
.cookielawinfo-modern thead {font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;padding: .2em 0 .2em .5em;text-align: left;color: #4B4B4B;background-color: #C8C8C8;background-image: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#e3e3e3), color-stop(.6,#B3B3B3));background-image: -moz-linear-gradient(top, #D6D6D6, #B0B0B0, #B3B3B3 90%);border-bottom: solid 1px #999;}
.cookielawinfo-modern th {font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size: 17px;line-height: 20px;font-style: normal;font-weight: normal;text-align: left;text-shadow: white 1px 1px 1px;}
.cookielawinfo-modern td {line-height: 20px;font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size: 14px;border-bottom: 1px solid #fff;border-top: 1px solid #fff;}
.cookielawinfo-modern tr.cookielawinfo-row:hover {background-color: #fff;}

/** Elegant style */
.cookielawinfo-elegant {border: 1px solid #DFDFDF;background-color: #F9F9F9;width: 100%;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;font-family: Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;color: #333;}
.cookielawinfo-elegant tr {border-top-color: white;border-bottom: 1px solid #DFDFDF;color: #555;}
.cookielawinfo-elegant th {text-shadow: rgba(255, 255, 255, 0.796875) 0px 1px 0px;font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight: normal;padding: 7px 7px 8px;text-align: left;line-height: 1.3em;font-size: 14px;}
.cookielawinfo-elegant td {font-size: 12px;padding: 4px 7px 2px;vertical-align: top;}

/** Rounded style */
.cookielawinfo-rounded {background-color: #f5f5f5;padding: 5px;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;border: 1px solid #ebebeb;}
.cookielawinfo-rounded td, .rounded th {padding: 1px 5px;}
.cookielawinfo-rounded thead {text-shadow: 0 1px 0 white;color: #999;}
.cookielawinfo-rounded th {text-align: left;text-transform: uppercase;font-size: 11pt;border-bottom: 1px solid #fff;padding: 1px 5px;}
.cookielawinfo-rounded td {font-size: 10pt;padding: 5px;}
.cookielawinfo-rounded tr.cookielawinfo-row:hover {background-color: #fff;}

/** Classic Style */
table.cookielawinfo-classic {font-family: Verdana, Arial, Helvetica, sans-serif;border-collapse: collapse;border-left: 1px solid #ccc;border-top: 1px solid #ccc; color: #333;}
table.cookielawinfo-classic thead tr th {text-transform: uppercase;background: #e2e2e2;}
table.cookielawinfo-classic tfoot tr th, table.cookielawinfo-classic tfoot tr td {text-transform: uppercase;color: #000;font-weight: bold;}
table.cookielawinfo-classic tfoot tr th {width: 20%;}
table.cookielawinfo-classic tfoot tr td {width: 80%;}
table.cookielawinfo-classic td, table.cookielawinfo-classic th {border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;padding: 5px;line-height: 1.8em;font-size: 0.8em;vertical-align: top;width: 20%;}
table.cookielawinfo-classic tr.odd th, table.cookielawinfo-classic tr.odd td {background: #efefef;}

/* "Winter Blues" CSS theme for CSS Table Gallery (http://icant.co.uk/csstablegallery/) by Gunta Klavina (http://www.klavina.com) */
table.cookielawinfo-winter {font: 85% "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", sans-serif;padding: 0; margin: 10px 0 20px; border-collapse: collapse; color: #333; background: #F3F5F7;}
table.cookielawinfo-winter a {color: #3A4856; text-decoration: none; border-bottom: 1px solid #C6C8CB;}
table.cookielawinfo-winter a:visited {color: #777;}
table.cookielawinfo-winter a:hover {color: #000;}
table.cookielawinfo-winter caption {text-align: left; text-transform: uppercase;  padding-bottom: 10px; font: 200% "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", sans-serif;}
table.cookielawinfo-winter thead th {background: #3A4856; padding: 15px 10px; color: #fff; text-align: left; font-weight: normal;}
table.cookielawinfo-winter tbody {border-left: 1px solid #EAECEE; border-right: 1px solid #EAECEE;}
table.cookielawinfo-winter tbody {border-bottom: 1px solid #EAECEE;}
table.cookielawinfo-winter tbody td, table.cookielawinfo-winter tbody th {padding: 10px; background: url("/wp-content/plugins/cookie-law-info/legacy/images/td_back.gif") repeat-x; text-align: left;}
table.cookielawinfo-winter tbody tr {background: #F3F5F7;}
table.cookielawinfo-winter tbody tr.odd {background: #F0F2F4;}
table.cookielawinfo-winter tbody  tr:hover {background: #EAECEE; color: #111;}
table.cookielawinfo-winter tfoot td, table.cookielawinfo-winter tfoot th, table.cookielawinfo-winter tfoot tr {text-align: left; font: 120%  "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", sans-serif; text-transform: uppercase; background: #fff; padding: 10px;}

/** 27/05/2013: responsive table by Mark Wiltshire */
@media(max-width:800px) {
		table.cookielawinfo-row-cat-table td, table.cookielawinfo-row-cat-table th
		{
		  width:23%;
		  font-size:12px;
		  word-wrap: break-word;
		}
		table.cookielawinfo-row-cat-table .cookielawinfo-column-4, table.cookielawinfo-row-cat-table .cookielawinfo-column-4
		{
		  width:45%;
		}
}

.cookielawinfo-row-cat-title{
	border-bottom: 1px solid #eee;
	text-align: center;
}
.cookielawinfo-row-cat-title-head{
	text-align: center;
}
.cookielawinfo-row-cat-table{
	width: 99%;
	margin-left: 5px;
}
