/* Steuer-Ratgeber Specific Styles */

/* Country Notice */
.country-notice {
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.1) 0%, rgba(239, 68, 68, 0.1) 100%);
    border: 1px solid rgba(220, 38, 38, 0.3);
    border-radius: var(--border-radius);
    padding: 1rem;
    margin: 1rem 0;
    text-align: center;
    color: #dc2626;
}

/* Tax Basics Grid */
.tax-basics-grid {
    display: grid;
    grid-template-columns: repeat(2, 300px);
    width: fit-content;
    margin: auto;
    gap: 2rem;
    margin-top: 2rem;
}

.tax-basic-card {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(29, 78, 216, 0.1) 100%);
    padding: 1.5rem;
    border-radius: var(--border-radius);
    border-left: 4px solid #3b82f6;
    transition: var(--transition);
}

.tax-basic-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
    border-left-color: #1d4ed8;
}

.tax-basic-card h3 {
    color: #3b82f6;
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
}

.tax-basic-card ul {
    margin: 0;
    padding-left: 1.5rem;
}

.tax-basic-card li {
    margin: 0.5rem 0;
    font-size: 0.9rem;
}

/* Tax Calculation */
.tax-calculation {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(29, 78, 216, 0.05) 100%);
    padding: 2rem;
    border-radius: var(--border-radius);
    border: 1px solid rgba(59, 130, 246, 0.2);
    margin-top: 2rem;
}

.calculation-example {
    display: grid;
    grid-template-columns: repeat(2, 300px);
    width: fit-content;
    margin: auto;
    gap: 2rem;
    margin-top: 1.5rem;
}

.example-card, .tax-components {
    background: white;
    padding: 1.5rem;
    border-radius: var(--border-radius);
    border: 1px solid #e5e7eb;
}

.example-card h4, .tax-components h4 {
    color: #3b82f6;
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
}

.calculation-steps, .tax-components {
    margin-top: 1rem;
}

.step, .component {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f3f4f6;
}

.step:last-child, .component:last-child {
    border-bottom: none;
}

.step.total, .component.total {
    background: rgba(59, 130, 246, 0.1);
    padding: 0.75rem;
    border-radius: 4px;
    border-bottom: none;
    margin-top: 0.5rem;
    font-weight: 600;
}

.label {
    color: var(--text-color);
}

.value {
    font-weight: 600;
    color: #3b82f6;
}

/* Freistellungsauftrag Tips */
.freistellungsauftrag-tips {
    margin-top: 2rem;
}

.tips-grid {
    display: grid;
    grid-template-columns: repeat(2, 280px);
    width: fit-content;
    margin: auto;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.tip-card {
    background: white;
    border: 2px solid #3b82f6;
    border-radius: var(--border-radius);
    padding: 1.5rem;
    text-align: center;
    transition: var(--transition);
}

.tip-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
    border-color: #1d4ed8;
}

.tip-card h4 {
    color: #3b82f6;
    margin: 0 0 1rem 0;
    font-size: 1rem;
}

/* ETF Tax Info */
.etf-tax-info {
    margin-top: 2rem;
}

.etf-tax-types {
    display: grid;
    grid-template-columns: repeat(2, 300px);
    width: fit-content;
    margin: auto;
    gap: 2rem;
    margin-top: 1.5rem;
}

.etf-type {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, rgba(16, 185, 129, 0.1) 100%);
    padding: 1.5rem;
    border-radius: var(--border-radius);
    border-left: 4px solid #22c55e;
    transition: var(--transition);
}

.etf-type:hover {
    transform: translateX(5px);
    border-left-color: #10b981;
}

.etf-type h4 {
    color: #22c55e;
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
}

.vorabpauschale-info {
    background: rgba(59, 130, 246, 0.05);
    padding: 1.5rem;
    border-radius: var(--border-radius);
    border: 1px solid rgba(59, 130, 246, 0.2);
    margin-top: 2rem;
}

.calculation-formula {
    background: white;
    padding: 1rem;
    border-radius: 4px;
    margin-top: 1rem;
    border-left: 4px solid #3b82f6;
}

/* Loss Calculation */
.loss-calculation-grid {
    display: grid;
    grid-template-columns: repeat(2, 300px);
    width: fit-content;
    margin: auto;
    gap: 2rem;
    margin-top: 2rem;
}

.loss-type {
    background: white;
    border: 2px solid #ef4444;
    border-radius: var(--border-radius);
    padding: 1.5rem;
    transition: var(--transition);
}

.loss-type:nth-child(2) {
    border-color: #f59e0b;
}

.loss-type:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
}

.loss-type h3 {
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
}

.loss-type:first-child h3 {
    color: #ef4444;
}

.loss-type:nth-child(2) h3 {
    color: #f59e0b;
}

.loss-type ul {
    margin: 1rem 0 0 0;
    padding-left: 1.5rem;
}

/* Tax Strategies */
.tax-strategies {
    margin-top: 2rem;
}

.strategy-list {
    display: grid;
    grid-template-columns: repeat(2, 300px);
    width: fit-content;
    margin: auto;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.strategy-item {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(29, 78, 216, 0.1) 100%);
    padding: 1.5rem;
    border-radius: var(--border-radius);
    border-left: 4px solid #3b82f6;
    transition: var(--transition);
}

.strategy-item:hover {
    transform: translateX(5px);
    border-left-color: #1d4ed8;
}

.strategy-item h4 {
    color: #3b82f6;
    margin: 0 0 0.5rem 0;
    font-size: 1rem;
}

/* Foreign Broker Info */
.foreign-broker-info {
    margin-top: 2rem;
}

.info-card.warning {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(220, 38, 38, 0.1) 100%);
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.info-card.warning h3 {
    color: #ef4444;
    margin: 0 0 1rem 0;
}

.obligations-grid {
    display: grid;
    grid-template-columns: repeat(2, 280px);
    width: fit-content;
    margin: auto;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.obligation {
    background: white;
    border: 2px solid #f59e0b;
    border-radius: var(--border-radius);
    padding: 1.5rem;
    text-align: center;
    transition: var(--transition);
}

.obligation:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
    border-color: #d97706;
}

.obligation h4 {
    color: #f59e0b;
    margin: 0 0 1rem 0;
    font-size: 1rem;
}

/* Tips Section */
.tips-list {
    /* display: grid; */
    /* grid-template-columns: repeat(2, 300px);
    width: fit-content;
    margin: auto; */
    column-count: 2; /* For a two-column Masonry-like layout */
    column-gap: 1.5rem;
    margin-top: 2rem;
}

.tip-item {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(29, 78, 216, 0.1) 100%);
    padding: 1.5rem;
    border-radius: var(--border-radius);
    border-left: 4px solid #3b82f6;
    transition: var(--transition);
    margin-bottom: 1.5rem; /* Add vertical spacing between items in columns */
    break-inside: avoid; /* Prevent items from breaking across columns */
}

.tip-item:hover {
    transform: translateX(5px);
    border-left-color: #1d4ed8;
}

.tip-item h3 {
    color: #3b82f6;
    margin: 0 0 0.5rem 0;
    font-size: 1.1rem;
}

/* Responsive Design */
@media (max-width: 768px) {
    .tax-basics-grid,
    .calculation-example,
    .etf-tax-types,
    .loss-calculation-grid,
    .strategy-list,
    .obligations-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .tips-list {
        column-count: 1; /* Single column on small screens */
    }
} 