/* Comparison Page Specific Styles */

/* Hero Section */
#comparison-hero {
    padding: var(--space-8) 0;
}

#comparison-hero h1 {
    font-size: var(--font-size-xxl);
    margin-bottom: var(--space-2);
    color: var(--color-primary);
}

/* Content Protection Effectiveness Section - Using design system components */
.protection-rating {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: var(--space-2) 0;
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-sm);
}

.protection-rating i {
    display: inline-block;
    margin: 0 2px;
    font-size: 20px;
    color: var(--color-warning);
}

.protection-rating span {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
}

/* Sharing Scenarios Section - Using design system components */
.sharing-scenarios-section {
    padding: var(--space-5) 0;
}

.sharing-scenarios-section .df-row {
    justify-content: center;
    align-items: stretch;
    margin-bottom: 0;
}

.sharing-scenarios-section .df-col {
    margin-bottom: var(--space-3);
}

/* Use design system card component */
.sharing-scenarios-section .df-card {
    margin: var(--space-1) 0;
}

.sharing-scenarios-section .df-card__content {
    display: flex;
    flex-direction: column;
}

.sharing-scenarios-section .df-card__title {
    font-size: var(--font-size-md);
    margin-bottom: var(--space-2);
    text-align: center;
    line-height: var(--line-height-tight);
}

.sharing-scenarios-section .df-card__content p {
    flex: 1 0 auto;
    margin: 0 0 var(--space-2) 0;
    line-height: var(--line-height-normal);
}

/* For compatibility with existing Materialize CSS classes */
.sharing-scenarios-section .card {
    height: 100%;
    display: flex;
    flex-direction: column;
    margin: var(--space-1) 0;
    box-shadow: var(--shadow-1);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.sharing-scenarios-section .card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-2);
}

.sharing-scenarios-section .card .card-content {
    flex: 1 0 auto;
    padding: var(--space-3);
    display: flex;
    flex-direction: column;
}

.sharing-scenarios-section .card .card-title {
    font-size: var(--font-size-md);
    margin-bottom: var(--space-2);
    text-align: center;
    line-height: var(--line-height-tight);
}

.sharing-scenarios-section .card p {
    flex: 1 0 auto;
    margin: 0 0 var(--space-2) 0;
    line-height: var(--line-height-normal);
}

.sharing-scenarios-section .card-action {
    padding: var(--space-2);
    border-top: 1px solid var(--color-grey-200);
    text-align: center;
}

.sharing-scenarios-section .card-panel {
    height: 100%;
    flex: 1;
    padding: var(--space-3);
    border-radius: var(--radius-sm);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    margin: var(--space-1) 0;
    box-shadow: var(--shadow-1);
}

.sharing-scenarios-section .card-panel:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-2);
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.sharing-scenarios-section .card-panel h5 {
    margin-top: 0;
    margin-bottom: var(--space-2);
    text-align: center;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-medium);
}

.sharing-scenarios-section .card-panel p {
    margin: 0 0 var(--space-2) 0;
    line-height: var(--line-height-normal);
    flex: 1 0 auto;
}

.sharing-scenarios-section .card-panel .btn-small {
    align-self: center;
}

/* Protection cards styling - Using design system components */
.content-protection-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-1);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.content-protection-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-2);
}

.content-protection-card .card-content {
    flex: 1;
    padding: var(--space-3);
}

.content-protection-card .card-action {
    margin-top: auto;
    text-align: center;
    padding: var(--space-3);
    border-top: 1px solid var(--color-grey-200);
}

/* Item content styling */
.item-content {
    display: inline-block;
    padding-top: 1px;
    line-height: 1.5;
    width: calc(100% - 30px);
    vertical-align: top;
}

/* CSS changes from mobile-fixes implemented in this file:
 * 1. Fixed Content Protection Effectiveness section with absolute positioning for icons
 * 2. Improved feature cards for mobile display
 * 3. Added responsive display utility classes (d-none, d-md-block)
 * 4. Enhanced star rating display with flex layout
 * 5. Standardized icon sizes and positioning across all sections
 * 6. Ensured consistent card heights for all comparison sections
 * 7. Fixed horizontal alignment issues
 * 8. Implemented Material Design elevation and spacing standards
 */

/* Global icon standardization */
.material-icons.tiny {
    font-size: 1rem !important;
}

.card .collection .collection-item i,
.card-panel .collection .collection-item i,
.overview-section .collection .collection-item i,
.feature-card i,
.advantage-tag i {
    font-size: 16px !important;
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

/* Feature Table Styles - Using design system components */
.overflow-x-auto {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: var(--space-3);
}

/* Apply design system table styles */
.df-table-container {
    overflow-x: auto;
    margin: var(--space-4) 0;
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-1);
}

.df-table {
    width: 100%;
    border-collapse: collapse;
    background-color: white;
}

.df-table th {
    background-color: var(--color-primary);
    color: white;
    padding: var(--space-3);
    text-align: left;
    font-weight: var(--font-weight-medium);
}

.df-table td {
    padding: var(--space-3);
    border-bottom: 1px solid var(--color-grey-200);
}

.df-table tr:last-child td {
    border-bottom: none;
}

/* For compatibility with existing Materialize CSS classes */
table.striped {
    margin: var(--space-4) 0;
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-1);
}

table.striped thead {
    background-color: var(--color-primary);
}

table.striped th {
    color: white;
    padding: var(--space-3);
    font-weight: var(--font-weight-medium);
}

table.striped td {
    padding: var(--space-3);
    border-bottom: 1px solid var(--color-grey-200);
}

table.striped tbody tr:last-child td {
    border-bottom: none;
}

/* Mobile Feature Card Comparison - Using design system components */
.feature-cards {
    margin: var(--space-4) 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

/* Use design system feature card component */
.df-feature-card {
    margin-bottom: var(--space-3);
}

/* For compatibility with existing implementation */
.feature-card {
    background-color: white;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-1);
    margin-bottom: var(--space-3);
    overflow: hidden;
    min-width: 0;
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.feature-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-2);
}

.feature-card-header {
    background-color: var(--color-primary);
    color: white;
    padding: var(--space-2);
    text-align: center;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-card-header h3 {
    margin: 0;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-tight);
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
    text-align: center;
}

.feature-card-body {
    padding: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: hidden;
}

.product-implementation {
    padding: var(--space-3);
    position: relative;
    width: 100%;
    word-wrap: break-word;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.product-implementation h4 {
    margin: 0 0 var(--space-1) 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

.product-implementation p {
    margin: 0 0 var(--space-2) 0;
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
    flex: 1;
}

.docfortify {
    background-color: rgba(21, 101, 192, 0.05);
    border-bottom: 1px solid var(--color-grey-200);
}

.advantage-tag {
    display: inline-flex;
    align-items: center;
    background-color: var(--color-primary);
    color: white;
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    margin-top: auto;
    text-align: center;
    word-wrap: break-word;
    max-width: 100%;
    box-sizing: border-box;
    position: relative;
    align-self: flex-start;
}

.advantage-tag i {
    font-size: 16px;
    margin-right: var(--space-1);
}

.competitor {
    background-color: var(--color-grey-100);
}

/* Use Case Cards - Using design system components */
.card .card-title {
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-md);
}

.card .divider {
    background-color: var(--color-grey-200);
    margin: var(--space-2) 0;
}

/* Use design system feature list for all lists */
.df-feature-list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
}

.df-feature-list__item {
    display: flex;
    align-items: flex-start;
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--color-grey-100);
    position: relative;
    padding-left: 28px;
}

.df-feature-list__item:last-child {
    border-bottom: none;
}

.df-feature-list__icon {
    position: absolute;
    left: 0;
    top: var(--space-2);
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
}

/* Use Case Section - Using design system components */
.use-case-section .df-row {
    display: flex;
    flex-wrap: wrap;
}

.use-case-section .df-col {
    display: flex;
    flex-direction: column;
}

.use-case-section .df-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.use-case-section .df-card__content {
    flex: 1 0 auto;
}

/* For compatibility with existing Materialize CSS classes */
.use-case-section .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--space-2) * -1);
    margin-right: calc(var(--space-2) * -1);
}

.use-case-section .row .col {
    display: flex;
    flex-direction: column;
    padding: 0 var(--space-2);
}

.use-case-section .card {
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-1);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.use-case-section .card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-2);
}

.use-case-section .card .card-content {
    flex: 1 0 auto;
    padding: var(--space-3);
}

/* Overview Section - Using design system components */
.overview-section .df-row {
    display: flex;
    flex-wrap: wrap;
}

.overview-section .df-col {
    display: flex;
    flex-direction: column;
}

.overview-section .df-card {
    height: 100%;
}

/* For compatibility with existing Materialize CSS classes */
.overview-section .card {
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-1);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.overview-section .card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-2);
}

.overview-section .card .card-content {
    flex: 1 0 auto;
    padding: var(--space-3);
}

.overview-section .card .collection {
    border: none;
    margin: 0;
    list-style: none;
    padding: 0;
}

.overview-section .card .collection .collection-item {
    border-bottom: 1px solid var(--color-grey-200);
    padding: var(--space-2);
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-left: 28px;
}

.overview-section .card .collection .collection-item:last-child {
    border-bottom: none;
}

.overview-section .card .collection .collection-item i {
    position: absolute;
    left: 0;
    top: var(--space-2);
    color: var(--color-primary);
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Customer Experience Section - Using design system components */
.card-panel h4 {
    font-size: var(--font-size-md);
    margin-top: 0;
    margin-bottom: var(--space-3);
    color: var(--color-primary);
    font-weight: var(--font-weight-medium);
}

.card-panel ol {
    padding-left: var(--space-3);
    margin: 0;
}

.card-panel ol li {
    padding: var(--space-1) 0;
    line-height: var(--line-height-normal);
}

.card-panel .badge {
    margin: var(--space-1);
    display: inline-block;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-pill);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    background-color: var(--color-primary-light);
    color: var(--color-primary);
}

/* Customer Experience Section - Using design system layout components */
.customer-experience-section .df-row {
    display: flex;
    flex-wrap: wrap;
}

.customer-experience-section .df-col {
    display: flex;
    flex-direction: column;
}

.customer-experience-section .df-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.customer-experience-section .df-card__content ol {
    flex: 1;
    padding-left: var(--space-3);
    margin: 0;
}

.customer-experience-section .df-card__footer {
    margin-top: auto;
    text-align: center;
}

/* For compatibility with existing Materialize CSS classes */
.customer-experience-section .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--space-2) * -1);
    margin-right: calc(var(--space-2) * -1);
}

.customer-experience-section .row .col {
    display: flex;
    flex-direction: column;
    padding: 0 var(--space-2);
}

.customer-experience-section .card-panel {
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-1);
    border-radius: var(--radius-sm);
    padding: var(--space-3);
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.customer-experience-section .card-panel:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-2);
}

.customer-experience-section .card-panel ol {
    flex: 1;
    padding-left: var(--space-3);
    margin: 0;
}

.customer-experience-section .card-panel .center-align {
    margin-top: auto;
    padding-top: var(--space-2);
}

/* Core Strategic Differences section - Using design system components */
.strategic-differences-section .df-row {
    display: flex;
    flex-wrap: wrap;
}

.strategic-differences-section .df-col {
    display: flex;
    flex-direction: column;
}

.strategic-differences-section .df-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.strategic-differences-section .df-card__content {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

.strategic-differences-section .df-card__content ul {
    margin-top: auto;
    list-style: none;
    padding: 0;
}

/* For compatibility with existing Materialize CSS classes */
.strategic-differences-section .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--space-2) * -1);
    margin-right: calc(var(--space-2) * -1);
}

.strategic-differences-section .row .col {
    display: flex;
    flex-direction: column;
    padding: 0 var(--space-2);
}

.strategic-differences-section .card {
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-1);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.strategic-differences-section .card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-2);
}

.strategic-differences-section .card-content {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    padding: var(--space-3);
}

.strategic-differences-section .card-content ul {
    margin-top: auto;
    list-style: none;
    padding: 0;
}

.strategic-differences-section .card-content ul li {
    padding: var(--space-1) 0;
    position: relative;
    padding-left: 24px;
    line-height: var(--line-height-normal);
}

.strategic-differences-section .card-content ul li:before {
    content: '\E5CA'; /* Material Icons check code */
    font-family: 'Material Icons';
    position: absolute;
    left: 0;
    top: var(--space-1);
    color: var(--color-primary);
    font-size: 16px;
}

/* ROI Calculator Section - Removed */

/* FAQ Section - Using design system components */
.df-accordion {
    margin: var(--space-4) 0;
    list-style: none;
    padding: 0;
}

.df-accordion__item {
    margin-bottom: var(--space-2);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.df-accordion__header {
    background-color: white;
    padding: var(--space-3);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    border: 1px solid var(--color-grey-200);
    border-radius: var(--radius-sm);
    transition: background-color var(--transition-fast);
}

.df-accordion__header:hover {
    background-color: var(--color-grey-100);
}

.df-accordion__icon {
    margin-right: var(--space-2);
    color: var(--color-primary);
    transition: transform var(--transition-fast);
}

.df-accordion__item.active .df-accordion__icon {
    transform: rotate(180deg);
}

.df-accordion__body {
    padding: var(--space-3);
    background-color: white;
    border: 1px solid var(--color-grey-200);
    border-top: none;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    margin-top: -1px;
    display: none;
}

.df-accordion__item.active .df-accordion__body {
    display: block;
}

/* For compatibility with existing Materialize CSS classes */
.collapsible {
    box-shadow: none;
    border: none;
    margin: var(--space-4) 0;
    list-style: none;
    padding: 0;
}

.collapsible-header {
    background-color: white;
    border: 1px solid var(--color-grey-200);
    border-radius: var(--radius-sm);
    margin-bottom: var(--space-1);
    font-weight: var(--font-weight-medium);
    padding: var(--space-2) var(--space-3);
    transition: background-color var(--transition-fast);
}

.collapsible-header:hover {
    background-color: var(--color-grey-100);
}

.collapsible-header i {
    margin-right: var(--space-2);
    color: var(--color-primary);
}

.collapsible-body {
    padding: var(--space-3);
    border: 1px solid var(--color-grey-200);
    border-top: none;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    margin-top: calc(-1 * var(--space-1));
    margin-bottom: var(--space-1);
    background-color: white;
    line-height: var(--line-height-normal);
}

/* Responsive Adjustments - Using design system variables */
@media only screen and (max-width: 992px) {
    #comparison-hero h1 {
        font-size: var(--font-size-xl);
    }
    
    /* Password protection section */
    .section-title {
        margin-bottom: var(--space-3);
    }
    
    .section-subtitle {
        margin-bottom: var(--space-4);
    }
    
    .password-header {
        padding: var(--space-2);
    }
    
    .password-content {
        padding: var(--space-2);
    }
    
    .password-issue {
        padding: var(--space-2) var(--space-1);
    }
    
    .password-issue-row {
        margin-bottom: var(--space-2);
    }
    
    /* Standardize all card sizes on tablet */
    section .card,
    section .card-panel {
        margin: var(--space-1) var(--space-1);
    }
    
    section .card .card-content {
        padding: var(--space-3) !important;
    }
    
    section .card-action {
        padding: var(--space-2) !important;
    }
    
    /* Improved card item layout for medium screens */
    .content-protection-card .collection .collection-item {
        padding: var(--space-2);
        padding-left: 36px;
        min-height: 30px;
    }
    
    .content-protection-card .collection .collection-item i {
        left: var(--space-1);
        top: var(--space-2);
    }
    
    /* Feature card layout for tablets */
    .feature-cards {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-2);
        justify-content: center;
    }
    
    .feature-card {
        flex: 0 0 calc(50% - var(--space-1));
        margin-bottom: 0;
        max-width: calc(50% - var(--space-1));
    }
    
    .feature-card-header {
        padding: var(--space-2);
        height: 50px;
    }
    
    .feature-card-header h3 {
        font-size: var(--font-size-sm);
    }
    
    .feature-card-body {
        min-height: 220px;
    }
    
    .product-implementation {
        padding: var(--space-2);
    }
    
    .product-implementation h4 {
        font-size: var(--font-size-sm);
        margin-bottom: var(--space-1);
    }
    
    .product-implementation p {
        font-size: var(--font-size-xs);
        margin-bottom: var(--space-2);
    }
    
    /* Standardize column widths for all sections on tablet */
    section .row .col.s12.m4,
    section .row .col.s12.m6 {
        box-sizing: border-box;
        padding: 0 var(--space-1);
    }
    
    .customer-experience-section .row .col,
    .strategic-differences-section .row .col,
    .overview-section .row .col,
    .use-case-section .row .col,
    .pricing-section .row .col,
    .sharing-scenarios-section .row .col,
    .comparison-grid .row .col {
        display: flex;
    }
    
    /* Make all m6 columns exactly 50% width */
    section .row .col.s12.m6 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
    
    /* Make all m4 columns exactly 33.333% width */
    section .row .col.s12.m4 {
        width: 33.333%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
    
    /* Fix card titles on tablet */
    section .card .card-title,
    section .card-panel h4 {
        font-size: var(--font-size-md);
        margin-bottom: var(--space-2);
    }
    
    /* Fix list spacing on tablet */
    section .card .card-content ul li,
    section .card .card-content ol li,
    section .card-panel ol li,
    section .card-panel ul li {
        padding: var(--space-1) 0;
        font-size: var(--font-size-xs);
    }
    
    /* Apply design system to tablet-specific components */
    .df-feature-card__header {
        min-height: 50px;
        padding: var(--space-2);
    }
    
    .df-feature-card__header h3 {
        font-size: var(--font-size-sm);
    }
    
    .df-feature-card__section {
        padding: var(--space-2);
    }
    
    .df-card__header {
        padding: var(--space-2);
    }
    
    .df-card__content {
        padding: var(--space-2);
    }
    
    .df-card__footer {
        padding: var(--space-2);
    }
}

@media only screen and (max-width: 600px) {
    /* Hero adjustments */
    #comparison-hero {
        padding: var(--space-5) 0;
    }
    
    #comparison-hero h1 {
        font-size: var(--font-size-lg);
    }
    
    /* Password protection section */
    .passwords-section {
        padding-top: var(--space-4);
        padding-bottom: var(--space-4);
    }
    
    .section-title {
        margin-bottom: var(--space-2);
    }
    
    .section-subtitle {
        margin-bottom: var(--space-4);
    }
    
    .password-fails-card {
        margin: 0 auto;
    }
    
    .password-content {
        padding: var(--space-2);
    }
    
    .password-issue {
        padding: var(--space-3) var(--space-2);
        margin-bottom: var(--space-2);
    }
    
    .password-issue i {
        margin-bottom: var(--space-1);
    }
    
    .password-issue h5 {
        margin-bottom: var(--space-1);
    }
    
    .password-issue-row {
        margin-bottom: 0;
    }
    
    /* Mobile overrides for content protection section */
    .content-protection-card .collection .collection-item {
        position: relative !important;
        padding-left: var(--space-5) !important;
        min-height: 40px !important;
        padding-top: var(--space-1) !important;
        padding-bottom: var(--space-1) !important;
    }
    
    .content-protection-card .collection .collection-item i {
        position: absolute !important;
        left: var(--space-1) !important;
        top: var(--space-1) !important;
        font-size: 16px !important;
        margin-right: 0 !important;
    }
    
    .content-protection-card .collection .collection-item .item-content {
        width: 100% !important;
    }
    
    /* Protection card spacing */
    .content-protection-card {
        margin-bottom: var(--space-4);
    }
    
    /* Mobile rating styles */
    .protection-rating {
        margin: 0;
        padding: 0;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .protection-rating i {
        font-size: 18px;
        display: inline-block;
        margin: 0 1px;
    }
    
    .protection-rating span {
        display: block;
        margin-top: var(--space-1);
        font-size: var(--font-size-xs);
    }
    
    /* Feature cards for mobile */
    .feature-cards {
        display: block;
    }
    
    .feature-card {
        margin-bottom: var(--space-3);
        width: 100%;
    }
    
    /* Apply design system to mobile feature cards */
    .df-feature-card {
        margin-bottom: var(--space-3);
        width: 100%;
    }
    
    .df-feature-card__header {
        min-height: auto;
        padding: var(--space-2);
    }
    
    .df-feature-card__header h3 {
        font-size: var(--font-size-sm);
    }
    
    .df-feature-card__section {
        padding: var(--space-2);
    }
    
    /* Feature card body height fix */
    .feature-card-body {
        height: auto;
        display: block;
        overflow: hidden;
    }
    
    /* Product implementation mobile fixes */
    .product-implementation {
        overflow-wrap: break-word;
        word-wrap: break-word;
        hyphens: auto;
        width: 100%;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        overflow: hidden;
        padding: var(--space-2);
    }
    
    .product-implementation h4 {
        font-size: var(--font-size-sm);
        margin-bottom: var(--space-1);
    }
    
    .product-implementation p {
        font-size: var(--font-size-xs);
        margin-bottom: var(--space-2);
    }
    
    .advantage-tag {
        display: inline-flex;
        align-items: center;
        width: auto; 
        max-width: 100%;
        margin-top: auto;
        text-align: left;
        word-break: normal;
        overflow: hidden;
        box-sizing: border-box;
        padding: var(--space-1) var(--space-2);
        border-radius: var(--radius-sm);
        font-size: var(--font-size-xs);
        background-color: var(--color-primary);
        color: white;
    }
    
    .advantage-tag span {
        display: inline-block;
        vertical-align: middle;
        font-size: var(--font-size-xs);
    }
    
    .advantage-tag i {
        font-size: 16px;
        margin-right: var(--space-1);
    }
    
    /* Apply design system to mobile buttons */
    .df-btn {
        width: 100%;
        white-space: normal;
        padding: var(--space-2) var(--space-3);
    }
    
    /* Adjust button sizes for mobile */
    .btn-large {
        height: auto;
        line-height: 1.5;
        padding: var(--space-2) var(--space-3);
        font-size: var(--font-size-sm);
        white-space: normal;
    }
    
    /* Table responsiveness improvements */
    .df-table th,
    .df-table td {
        padding: var(--space-2);
        font-size: var(--font-size-xs);
    }
    
    table.striped {
        font-size: var(--font-size-xs);
    }
    
    table.striped th, 
    table.striped td {
        padding: var(--space-1) var(--space-2);
        word-break: break-word;
    }
    
    table.responsive-table {
        width: 100%;
        border-collapse: collapse;
        border-spacing: 0;
    }
    
    table.responsive-table td {
        min-height: unset;
        white-space: normal;
    }
    
    /* Overview cards */
    .card .collection-item {
        display: flex;
        align-items: flex-start;
    }
    
    .card .collection-item i {
        margin-top: var(--space-1);
        margin-right: var(--space-2);
    }
    
    /* Feature comparison toggle */
    .feature-comparison-toggle {
        display: flex;
        margin-bottom: var(--space-2);
    }
    
    .feature-comparison-toggle button {
        flex: 1;
        background-color: var(--color-grey-200);
        color: var(--color-grey-800);
        border: none;
        padding: var(--space-1) var(--space-2);
        text-align: center;
        font-weight: var(--font-weight-medium);
        outline: none;
    }
    
    .feature-comparison-toggle button:first-child {
        border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    }
    
    .feature-comparison-toggle button:last-child {
        border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    }
    
    .feature-comparison-toggle button.active {
        background-color: var(--color-primary);
        color: white;
    }
    
    /* Pricing section mobile improvements */
    .plan-highlight {
        margin-bottom: var(--space-2) !important;
    }
    
    .plan-highlight .badge {
        font-size: var(--font-size-xs) !important;
        padding: var(--space-1) var(--space-1) !important;
        white-space: normal !important;
        height: auto !important;
        line-height: var(--line-height-normal) !important;
    }
    
    /* New pricing section mobile fixes */
    .pricing-section .card {
        margin: var(--space-1) 0 var(--space-2) 0 !important;
        overflow: visible !important;
    }
    
    .pricing-section .card .card-content {
        padding: var(--space-2) !important;
        overflow: visible !important;
    }
    
    .pricing-section .card .card-content .card-title {
        font-size: var(--font-size-md) !important;
        margin-bottom: var(--space-2) !important;
        word-wrap: break-word !important;
    }
    
    /* Override Materialize CSS defaults that may be causing problems */
    .pricing-section .collection {
        overflow: visible !important;
    }
    
    .pricing-section .card .card-content .collection {
        margin: 0 !important;
        border: none !important;
    }
    
    .pricing-section .card .card-content .collection .collection-item {
        border-bottom: 1px solid var(--color-grey-100) !important;
        padding: var(--space-1) var(--space-1) var(--space-1) 35px !important;
        min-height: 40px !important;
        position: relative !important;
        margin: 0 !important;
        background-color: transparent !important;
        display: block !important;
        width: 100% !important;
        word-break: break-word !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    
    .pricing-section .card .card-content .collection .collection-item:last-child {
        border-bottom: none !important;
    }
    
    .pricing-section .card .card-content .collection .collection-item i {
        position: absolute !important;
        left: var(--space-1) !important;
        top: var(--space-1) !important;
        font-size: 16px !important;
        width: 16px !important;
        height: 16px !important;
        line-height: 1 !important;
        display: block !important;
        margin: 0 !important;
    }
    
    .pricing-section .card .card-content .collection .collection-item span,
    .pricing-section .card .card-content .collection .collection-item .pricing-content {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: var(--line-height-normal) !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }
    
    /* Fix for any nested divs in collection items */
    .pricing-section .card .card-content .collection .collection-item div {
        padding-left: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
        display: block !important;
    }
    
    .pricing-section .card .card-action {
        padding: var(--space-2) !important;
    }
    
    .pricing-section .card .card-action .btn {
        width: 100% !important;
        margin: 0 !important;
        padding: var(--space-1) var(--space-2) !important;
        height: auto !important;
        line-height: var(--line-height-normal) !important;
        font-size: var(--font-size-xs) !important;
    }
    
    /* Additional mobile adjustments for design system */
    .df-section-title {
        font-size: var(--font-size-lg);
        margin-bottom: var(--space-3);
    }
    
    .df-section-subtitle {
        font-size: var(--font-size-sm);
        margin-bottom: var(--space-4);
    }
    
    .df-card__header {
        padding: var(--space-2);
    }
    
    .df-card__content {
        padding: var(--space-2);
    }
    
    .df-card__footer {
        padding: var(--space-2);
    }
    
    .df-card__title {
        font-size: var(--font-size-sm);
    }
}

/* Global card and section fixes for desktop - Using design system components */
@media only screen and (min-width: 601px) {
    /* Card alignment fixes for all sections */
    section .row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: stretch;
        margin-left: calc(var(--space-2) * -1);
        margin-right: calc(var(--space-2) * -1);
    }
    
    section .row .col {
        display: flex;
        flex-direction: column;
        padding: 0 var(--space-2);
    }
    
    section .card,
    section .card-panel {
        height: 100%;
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: var(--space-1) 0;
        box-sizing: border-box;
        box-shadow: var(--shadow-1);
        border-radius: var(--radius-sm);
        overflow: hidden;
        transition: transform var(--transition-normal), box-shadow var(--transition-normal);
    }
    
    section .card:hover,
    section .card-panel:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-2);
    }
    
    section .card .card-content,
    section .card-panel {
        flex: 1 0 auto;
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: var(--space-3);
    }
    
    section .card .card-action,
    section .card-panel .center-align {
        margin-top: auto;
        padding: var(--space-3);
        border-top: 1px solid var(--color-grey-200);
    }

    /* Collection item alignment */
    section .collection {
        flex: 1 0 auto;
        margin: 0;
        list-style: none;
        padding: 0;
    }
    
    section .collection .collection-item {
        display: flex;
        align-items: flex-start;
        position: relative;
        padding: var(--space-2);
        padding-left: 40px;
        border-bottom: 1px solid var(--color-grey-100);
    }
    
    section .collection .collection-item:last-child {
        border-bottom: none;
    }
    
    /* Fix spacing for card titles */
    section .card .card-title,
    section .card-panel h4 {
        margin-top: 0;
        margin-bottom: var(--space-2);
        padding: 0;
        font-size: var(--font-size-md);
        line-height: var(--line-height-tight);
        height: auto;
        text-align: center;
        font-weight: var(--font-weight-medium);
        color: var(--color-grey-900);
    }

    /* Ensure icons and text are properly aligned */
    section .card .collection .collection-item i {
        position: absolute;
        left: var(--space-2);
        top: var(--space-2);
        font-size: 16px;
        color: var(--color-primary);
    }

    section .card .collection .collection-item .item-content {
        width: 100%;
        line-height: var(--line-height-normal);
        padding-right: var(--space-1);
    }
    
    /* Fix for use case cards */
    .use-case-section .card .card-content {
        padding: var(--space-3);
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
    }
    
    .use-case-section .card .card-content p {
        margin: var(--space-1) 0;
        line-height: var(--line-height-normal);
    }
    
    /* Equal heights for comparison cards */
    .overview-section .card,
    .strategic-differences-section .card,
    .customer-experience-section .card-panel {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    
    /* Ensure dividers have consistent margins */
    .divider {
        margin: var(--space-2) 0 !important;
        background-color: var(--color-grey-200);
    }
    
    /* Fix ul/ol lists in cards */
    section .card .card-content ul,
    section .card .card-content ol,
    section .card-panel ol,
    section .card-panel ul {
        flex: 1 0 auto;
        margin-top: 0;
        margin-bottom: 0;
        padding-left: var(--space-3);
    }
    
    section .card .card-content ul li,
    section .card .card-content ol li,
    section .card-panel ol li,
    section .card-panel ul li {
        padding: var(--space-1) 0;
        line-height: var(--line-height-normal);
    }
    
    /* Apply design system to desktop components */
    .df-feature-card {
        margin-bottom: 0;
    }
    
    .df-feature-card__header {
        min-height: 60px;
    }
    
    .df-feature-card__header h3 {
        font-size: var(--font-size-md);
    }
}

@media only screen and (min-width: 993px) {
    /* Feature cards improved layout using design system */
    .feature-cards {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-3);
        margin: var(--space-4) 0;
        justify-content: center;
    }
    
    /* Using design system for feature cards */
    .df-feature-card {
        flex: 0 0 calc(33.333% - var(--space-2));
        max-width: calc(33.333% - var(--space-2));
    }
    
    /* For compatibility with existing Materialize CSS classes */
    .feature-card {
        flex: 0 0 calc(33.333% - var(--space-2));
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
        max-width: calc(33.333% - var(--space-2));
        box-shadow: var(--shadow-1);
        transition: box-shadow var(--transition-normal), transform var(--transition-normal);
    }
    
    .feature-card:hover {
        box-shadow: var(--shadow-2);
        transform: translateY(-2px);
    }
    
    .feature-card-header {
        padding: var(--space-3);
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .feature-card-header h3 {
        margin: 0;
        font-size: var(--font-size-md);
        line-height: var(--line-height-tight);
        text-align: center;
        width: 100%;
        font-weight: var(--font-weight-medium);
    }
    
    .feature-card-body {
        flex: 1;
        display: flex;
        flex-direction: column;
        min-height: 260px;
    }
    
    .product-implementation {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding: var(--space-3);
        position: relative;
    }
    
    .product-implementation h4 {
        margin: 0 0 var(--space-1) 0;
        font-size: var(--font-size-sm);
        font-weight: var(--font-weight-medium);
        text-align: left;
    }
    
    .product-implementation p {
        margin: 0 0 var(--space-2) 0;
        font-size: var(--font-size-sm);
        line-height: var(--line-height-normal);
    }
    
    /* Ensure consistent height for advantage tags */
    .advantage-tag {
        position: relative;
        margin-top: auto;
        align-self: flex-start;
        display: inline-flex;
        align-items: center;
        padding: var(--space-1) var(--space-2);
        border-radius: var(--radius-sm);
        font-size: var(--font-size-xs);
        line-height: var(--line-height-tight);
        background-color: var(--color-primary);
        color: white;
    }
    
    .advantage-tag i {
        font-size: 16px;
        margin-right: var(--space-1);
    }
    
    /* Fix comparison table column widths */
    .df-table {
        table-layout: fixed;
    }
    
    .table-view {
        width: 100%;
        table-layout: fixed;
    }
    
    .table-view th,
    .table-view td {
        width: 50%;
    }
    
    /* Content protection cards alignment fixes */
    .content-protection-card {
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    
    .content-protection-card .card-content {
        flex: 1 0 auto;
        padding: var(--space-3);
    }
    
    .content-protection-card .collection {
        flex: 1 0 auto;
        margin: 0;
        border: none;
        padding: 0;
        list-style: none;
    }
    
    .content-protection-card .collection .collection-item {
        min-height: 42px;
        display: flex;
        align-items: flex-start;
        position: relative;
        padding: var(--space-2) var(--space-2) var(--space-2) 40px;
        border-bottom: 1px solid var(--color-grey-100);
    }
    
    .content-protection-card .collection .collection-item:last-child {
        border-bottom: none;
    }
    
    .content-protection-card .collection .collection-item i {
        position: absolute;
        left: var(--space-2);
        top: var(--space-2);
        font-size: 16px;
        color: var(--color-primary);
    }
    
    .content-protection-card .collection .collection-item .item-content {
        width: 100%;
        line-height: var(--line-height-normal);
    }
    
    .content-protection-card .card-action {
        margin-top: auto;
        padding: var(--space-3);
        border-top: 1px solid var(--color-grey-200);
    }
    
    /* Protection ratings */
    .df-rating {
        padding: var(--space-1) 0;
    }
    
    .protection-rating {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: var(--space-1) 0;
    }
    
    .protection-rating i {
        font-size: 20px;
        margin: 0 2px;
        color: var(--color-warning);
    }
    
    .protection-rating span {
        margin-top: var(--space-1);
        font-size: var(--font-size-xs);
        font-weight: var(--font-weight-medium);
    }
    
    /* Customer experience section alignment */
    .customer-experience-section .card-panel {
        height: 100%;
        padding: var(--space-3);
    }
    
    .customer-experience-section .card-panel h4 {
        margin-top: 0;
        margin-bottom: var(--space-3);
        text-align: center;
        font-size: var(--font-size-md);
        font-weight: var(--font-weight-medium);
        color: var(--color-primary);
    }
    
    .customer-experience-section .card-panel ol {
        margin-top: 0;
        margin-bottom: 0;
        padding-left: var(--space-3);
        flex: 1 0 auto;
    }
    
    .customer-experience-section .card-panel ol li {
        padding: var(--space-1) 0;
        line-height: var(--line-height-normal);
    }
    
    .customer-experience-section .card-panel .center-align {
        margin-top: var(--space-3);
    }
    
    /* Pricing section cards alignment */
    .pricing-section .card {
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    
    .pricing-section .card .card-content {
        flex: 1 0 auto;
        padding: var(--space-3);
    }
    
    .pricing-section .card .card-title {
        font-size: var(--font-size-md);
        margin-bottom: var(--space-2);
        text-align: center;
        font-weight: var(--font-weight-medium);
    }
    
    .pricing-section .card .plan-highlight {
        margin-bottom: var(--space-3);
        text-align: center;
    }
    
    .pricing-section .card .collection {
        margin: 0;
        border: none;
        list-style: none;
        padding: 0;
    }
    
    .pricing-section .card .collection .collection-item {
        padding: var(--space-2) var(--space-2) var(--space-2) 40px;
        border-bottom: 1px solid var(--color-grey-100);
        position: relative;
    }
    
    .pricing-section .card .collection .collection-item:last-child {
        border-bottom: none;
    }
    
    .pricing-section .card .collection .collection-item i {
        position: absolute;
        left: var(--space-2);
        top: var(--space-2);
        font-size: 16px;
        color: var(--color-primary);
    }
    
    .pricing-section .card .card-action {
        margin-top: auto;
        padding: var(--space-3);
        text-align: center;
        border-top: 1px solid var(--color-grey-200);
    }
}

/* Material Design Enhancements - Using design system variables */
.card,
.card-panel,
.feature-card,
.content-protection-card {
    border-radius: var(--radius-sm) !important;
    box-shadow: var(--shadow-1) !important;
    transition: box-shadow var(--transition-normal), transform var(--transition-normal) !important;
}

.card:hover,
.card-panel:hover,
.feature-card:hover,
.content-protection-card:hover {
    box-shadow: var(--shadow-2) !important;
    transform: translateY(-2px);
}

/* Standard Material Design spacing */
.card .card-content,
.card-panel {
    padding: var(--space-3) !important;
}

.card .card-action {
    padding: var(--space-3) !important;
    border-top: 1px solid var(--color-grey-200) !important;
}

/* Standardized text alignment */
.center-elements {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Title standardization */
.section-title {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-regular);
    margin-bottom: var(--space-3);
    text-align: center;
    color: var(--color-primary);
}

.section-subtitle {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
    margin-bottom: var(--space-5);
    text-align: center;
    color: var(--color-grey-800);
}

/* Password Protection Problems Section */
.passwords-section {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
}

/* Center the row properly */
.center-row {
    display: flex;
    justify-content: center;
}

/* Password Fails Card Styling */
.password-fails-card {
    width: 100%;
    margin: 0 auto;
}

.password-header {
    background-color: var(--color-secondary); 
    color: white; 
    padding: var(--space-3);
    text-align: center;
}

.password-header h3 {
    color: white; 
    margin: 0; 
    font-size: var(--font-size-md); 
    font-weight: var(--font-weight-medium);
}

.password-content {
    padding: var(--space-3);
}

.password-issue-row {
    margin-bottom: var(--space-3);
}

.password-issue-row:last-child {
    margin-bottom: 0;
}

.password-issue {
    text-align: center;
    padding: var(--space-2);
}

.password-issue i {
    color: var(--color-secondary); 
    font-size: 48px; 
    margin-bottom: var(--space-2);
}

.password-issue h5 {
    font-size: var(--font-size-md); 
    font-weight: var(--font-weight-medium); 
    margin-bottom: var(--space-2);
}

.password-issue p {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
}

/* Utility classes for display */
.d-none {
    display: none !important;
}

@media (min-width: 768px) {
    .d-md-block {
        display: block !important;
    }
}

/* Material Design badge standardization */
.badge {
    font-weight: var(--font-weight-medium) !important;
    border-radius: var(--radius-pill) !important;
    display: inline-block !important;
    padding: var(--space-1) var(--space-2) !important;
    line-height: var(--line-height-normal) !important;
    font-size: var(--font-size-xs) !important;
}