/* Сетка контента */
.content-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    align-items: start;
}

.main-content-area {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.sidebar-info {
    position: sticky;
    top: 200px;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.info-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #3498db;
}

.info-card h3 {
    color: #2c3e50;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.info-card h4 {
    color: #2c3e50;
    font-size: 1.25rem;
    margin: 1.5rem 0 1rem 0;
}

.info-card h5 {
    color: #2c3e50;
    font-size: 1.1rem;
    margin: 1rem 0 0.5rem 0;
}

.info-card p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.info-card ul {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.info-card li {
    color: #555;
    line-height: 1.6;
    margin-bottom: 0.5rem;
}

/* Состав препарата */
.composition-info ul {
    list-style: none;
    padding: 0;
}

.composition-info li {
    padding: 0.5rem 0;
    border-bottom: 1px solid #eee;
}

/* Механизм действия */
.mechanism-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.mechanism-item {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 10px;
    border-left: 4px solid #3498db;
}

.mechanism-item h5 {
    color: #2c3e50;
    margin-bottom: 0.75rem;
}

.mechanism-item p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Быстрые факты */
.quick-facts {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 2rem;
    border-radius: 15px;
}

.quick-facts h4 {
    margin-bottom: 1.5rem;
    text-align: center;
}

.fact-item {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.fact-item:last-child {
    border-bottom: none;
}

.fact-label {
    font-weight: 500;
    opacity: 0.9;
}

.fact-value {
    font-weight: 600;
}

/* Условия хранения */
.storage-info {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 15px;
    border: 2px solid #e9ecef;
}

.storage-info h4 {
    color: #2c3e50;
    margin-bottom: 1rem;
}

.storage-info ul {
    list-style: none;
    padding: 0;
}

.storage-info li {
    padding: 0.5rem 0;
    color: #555;
    position: relative;
    padding-left: 1.5rem;
}

.storage-info li::before {
    content: "📦";
    position: absolute;
    left: 0;
}

/* Показания к применению */
.indications-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.indication-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.indication-card:hover {
    transform: translateY(-5px);
}

.indication-card.primary {
    border-top: 4px solid #e74c3c;
}

.indication-card.secondary {
    border-top: 4px solid #f39c12;
}

.indication-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 1.5rem;
    position: relative;
}

.indication-header h3 {
    color: #2c3e50;
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
}

.indication-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
}

.indication-badge.primary {
    background: #e74c3c;
    color: white;
}

.indication-badge.secondary {
    background: #f39c12;
    color: white;
}

.indication-content {
    padding: 2rem;
}

.indication-content h4 {
    color: #2c3e50;
    font-size: 1.1rem;
    margin: 1.5rem 0 1rem 0;
}

.indication-content ul {
    margin-bottom: 1.5rem;
}

.clinical-note {
    background: #e8f4fd;
    padding: 1rem;
    border-radius: 10px;
    border-left: 4px solid #3498db;
    margin-top: 1.5rem;
}

.clinical-note h5 {
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.clinical-note p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

/* Критерии отбора пациентов */
.patient-criteria {
    margin-top: 3rem;
}

.patient-criteria h3 {
    color: #2c3e50;
    font-size: 2rem;
    margin-bottom: 2rem;
}

.criteria-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.criteria-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #27ae60;
}

.criteria-card h4 {
    color: #2c3e50;
    margin-bottom: 1rem;
}

.criteria-card ul {
    list-style: none;
    padding: 0;
}

.criteria-card li {
    padding: 0.5rem 0;
    color: #555;
    position: relative;
    padding-left: 1.5rem;
}

.criteria-card li::before {
    content: "✓";
    color: #27ae60;
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Дозировка */
.dosage-content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.dosage-warning {
    background: linear-gradient(135deg, #fff3cd, #ffeaa7);
    border: 2px solid #f39c12;
    border-radius: 15px;
    padding: 2rem;
    text-align: center;
}

.dosage-warning h3 {
    color: #d68910;
    margin-bottom: 1rem;
}

.dosage-warning p {
    color: #5d4e37;
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
}

.dosage-table-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.dosage-table-card h3 {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    padding: 1.5rem;
    margin: 0;
    font-size: 1.5rem;
}

.responsive-table {
    overflow-x: auto;
}

.dosage-table {
    width: 100%;
    border-collapse: collapse;
}

.dosage-table th,
.dosage-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.dosage-table th {
    background: #f8f9fa;
    font-weight: 600;
    color: #2c3e50;
}

.dosage-table tr:hover {
    background: #f8f9fa;
}

/* Коррекция дозы */
.dosage-adjustments {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 2rem;
}

.dosage-adjustments h3 {
    color: #2c3e50;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}

.adjustment-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.adjustment-card {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 10px;
    border-left: 4px solid #e74c3c;
}

.adjustment-card h4 {
    color: #2c3e50;
    margin-bottom: 1rem;
}

.toxicity-levels {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.toxicity-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: white;
    border-radius: 8px;
}

.severity {
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
    min-width: 80px;
    text-align: center;
}

.severity.grade-3 {
    background: #e74c3c;
    color: white;
}

.severity.grade-2 {
    background: #f39c12;
    color: white;
}

.action {
    color: #555;
    line-height: 1.5;
    font-size: 0.95rem;
}

/* Правила приема */
.administration-rules {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 2rem;
}

.administration-rules h3 {
    color: #2c3e50;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.rules-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.rule-card {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 10px;
    text-align: center;
    transition: transform 0.3s ease;
}

.rule-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.rule-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.rule-card h4 {
    color: #2c3e50;
    margin-bottom: 0.75rem;
    font-size: 1.1rem;
}

.rule-card p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

/* Противопоказания */
.contraindications-content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.absolute-contraindications h3 {
    color: #e74c3c;
    font-size: 2rem;
    margin-bottom: 2rem;
}

.contraindication-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contraindication-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: white;
    padding: 1.5rem;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.contraindication-item.severe {
    border-left: 4px solid #e74c3c;
}

.contraindication-icon {
    font-size: 2rem;
    min-width: 40px;
}

.contraindication-info h4 {
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.contraindication-info p {
    color: #555;
    line-height: 1.6;
    margin: 0;
}

.relative-contraindications h3 {
    color: #f39c12;
    font-size: 2rem;
    margin-bottom: 2rem;
}

.caution-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.caution-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #f39c12;
}

.caution-card h4 {
    color: #2c3e50;
    margin-bottom: 1rem;
}

.caution-card ul {
    list-style: none;
    padding: 0;
}

.caution-card li {
    padding: 0.5rem 0;
    color: #555;
    position: relative;
    padding-left: 1.5rem;
}

.caution-card li::before {
    content: "⚠️";
    position: absolute;
    left: 0;
}

/* Беременность и лактация */
.pregnancy-warning h3 {
    color: #e74c3c;
    font-size: 2rem;
    margin-bottom: 2rem;
}

.pregnancy-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.pregnancy-card {
    background: #fff3cd;
    border: 2px solid #f39c12;
    padding: 2rem;
    border-radius: 15px;
}

.pregnancy-card h4 {
    color: #d68910;
    margin-bottom: 1rem;
}

.pregnancy-card p {
    color: #5d4e37;
    line-height: 1.6;
    margin: 0;
}

/* Побочные эффекты */
.side-effects-content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.severity-introduction h3 {
    color: #2c3e50;
    font-size: 2rem;
    margin-bottom: 2rem;
}

.frequency-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 3rem;
}

.frequency-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: white;
    padding: 0.75rem 1rem;
    border-radius: 25px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.frequency-badge {
    font-weight: 600;
    font-size: 0.9rem;
}

.frequency-desc {
    font-size: 0.8rem;
    opacity: 0.8;
}

.frequency-item.very-common .frequency-badge {
    color: #e74c3c;
}

.frequency-item.common .frequency-badge {
    color: #f39c12;
}

.frequency-item.uncommon .frequency-badge {
    color: #3498db;
}

.frequency-item.rare .frequency-badge {
    color: #27ae60;
}

.effects-by-system {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.system-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.system-card h3 {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    padding: 1.5rem;
    margin: 0;
    font-size: 1.25rem;
}

.effects-list {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.effect-item {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    border-radius: 10px;
    background: #f8f9fa;
}

.effect-name {
    font-weight: 600;
    color: #2c3e50;
}

.effect-frequency {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    text-align: center;
    align-self: start;
}

.effect-item.very-common .effect-frequency {
    background: #e74c3c;
    color: white;
}

.effect-item.common .effect-frequency {
    background: #f39c12;
    color: white;
}

.effect-item.uncommon .effect-frequency {
    background: #3498db;
    color: white;
}

.effect-desc {
    grid-column: 1 / -1;
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

/* Серьезные побочные эффекты */
.serious-effects-warning {
    background: #fff3cd;
    border: 2px solid #f39c12;
    border-radius: 15px;
    padding: 2rem;
}

.serious-effects-warning h3 {
    color: #d68910;
    margin-bottom: 2rem;
    text-align: center;
}

.serious-effects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.serious-effect-card {
    background: white;
    padding: 1.5rem;
    border-radius: 10px;
    border-left: 4px solid #e74c3c;
}

.serious-effect-card h4 {
    color: #e74c3c;
    margin-bottom: 1rem;
}

.serious-effect-card p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 0.75rem;
}

/* Взаимодействия */
.interactions-content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.interaction-warning {
    background: linear-gradient(135deg, #fff3cd, #ffeaa7);
    border: 2px solid #f39c12;
    border-radius: 15px;
    padding: 2rem;
    text-align: center;
}

.interaction-warning h3 {
    color: #d68910;
    margin-bottom: 1rem;
}

.interaction-warning p {
    color: #5d4e37;
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
}

.interactions-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.interaction-category {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    position: relative;
}

.interaction-category h3 {
    color: #2c3e50;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.interaction-level {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}

.interaction-level.contraindicated {
    background: #e74c3c;
    color: white;
}

.interaction-level.major {
    background: #f39c12;
    color: white;
}

.interaction-level.moderate {
    background: #3498db;
    color: white;
}

.drug-list {
    margin: 1.5rem 0;
}

.drug-list h4 {
    color: #2c3e50;
    margin-bottom: 0.75rem;
}

.drug-list ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.5rem;
    list-style: none;
    padding: 0;
}

.drug-list li {
    background: #f8f9fa;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    color: #555;
}

.interaction-effect,
.interaction-management {
    margin: 1rem 0;
    padding: 1rem;
    border-radius: 8px;
}

.interaction-effect {
    background: #e8f4fd;
    border-left: 4px solid #3498db;
}

.interaction-management {
    background: #d4edda;
    border-left: 4px solid #27ae60;
}

/* Взаимодействие с пищей */
.food-interactions {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 2rem;
}

.food-interactions h3 {
    color: #2c3e50;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.food-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
}

.food-card {
    padding: 1.5rem;
    border-radius: 10px;
    text-align: center;
}

.food-card.avoid {
    background: #f8d7da;
    border: 2px solid #e74c3c;
}

.food-card.caution {
    background: #fff3cd;
    border: 2px solid #f39c12;
}

.food-card.safe {
    background: #d4edda;
    border: 2px solid #27ae60;
}

.food-card h4 {
    margin-bottom: 1rem;
    font-size: 1.1rem;
}

.food-card p {
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

.food-card.avoid p {
    color: #721c24;
}

.food-card.caution p {
    color: #856404;
}

.food-card.safe p {
    color: #155724;
}

/* Меры предосторожности */
.precautions-content {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

/* График мониторинга */
.monitoring-schedule {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 2rem;
}

.monitoring-schedule h3 {
    color: #2c3e50;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.monitoring-timeline {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.timeline-item {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 2rem;
    align-items: start;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 10px;
    border-left: 4px solid #3498db;
}

.timeline-period {
    font-weight: 600;
    color: #2c3e50;
    font-size: 1.1rem;
}

.timeline-tests ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.timeline-tests li {
    padding: 0.25rem 0;
    color: #555;
    position: relative;
    padding-left: 1.5rem;
}

.timeline-tests li::before {
    content: "🔬";
    position: absolute;
    left: 0;
}

/* Особые группы пациентов */
.special-populations h3 {
    color: #2c3e50;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.populations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.population-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    border-left: 4px solid #f39c12;
}

.population-card h4 {
    color: #2c3e50;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.population-card ul {
    list-style: none;
    padding: 0;
}

.population-card li {
    padding: 0.5rem 0;
    color: #555;
    position: relative;
    padding-left: 1.5rem;
}

.population-card li::before {
    content: "⚠️";
    position: absolute;
    left: 0;
}

/* Экстренные ситуации */
.emergency-situations h3 {
    color: #e74c3c;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.emergency-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.emergency-card {
    border-radius: 15px;
    padding: 2rem;
}

.emergency-card.critical {
    background: #f8d7da;
    border: 2px solid #e74c3c;
}

.emergency-card.urgent {
    background: #fff3cd;
    border: 2px solid #f39c12;
}

.emergency-card h4 {
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.emergency-card.critical h4 {
    color: #721c24;
}

.emergency-card.urgent h4 {
    color: #856404;
}

.emergency-card ul {
    list-style: none;
    padding: 0;
}

.emergency-card li {
    padding: 0.5rem 0;
    position: relative;
    padding-left: 1.5rem;
}

.emergency-card.critical li {
    color: #721c24;
}

.emergency-card.urgent li {
    color: #856404;
}

.emergency-card.critical li::before {
    content: "🚨";
    position: absolute;
    left: 0;
}

.emergency-card.urgent li::before {
    content: "⚠️";
    position: absolute;
    left: 0;
}

/* Рекомендации по образу жизни */
.lifestyle-recommendations h3 {
    color: #2c3e50;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.lifestyle-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.lifestyle-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    text-align: center;
    transition: transform 0.3s ease;
    border-left: 4px solid #27ae60;
}

.lifestyle-card:hover {
    transform: translateY(-5px);
}

.lifestyle-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.lifestyle-card h4 {
    color: #2c3e50;
    margin-bottom: 1rem;
    font-size: 1.1rem;
}

.lifestyle-card p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
}

/* Контакты для консультации */
.consultation-contacts {
    padding: 60px 0;
}

.consultation-contacts h2 {
    text-align: center;
    color: #2c3e50;
    font-size: 2.5rem;
    margin-bottom: 3rem;
}

.contacts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.contact-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #3498db;
}

.contact-card h3 {
    color: #2c3e50;
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

.contact-card p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.contact-item strong {
    color: #2c3e50;
}

.info-links {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.info-link {
    color: #3498db;
    text-decoration: none;
    font-weight: 500;
    padding: 0.5rem 0;
    border-bottom: 1px solid #eee;
    transition: color 0.3s ease;
}

.info-link:hover {
    color: #2980b9;
    text-decoration: underline;
}

/* Дисклеймер */
.disclaimer {
    padding: 60px 0;
}

.disclaimer-card {
    background: linear-gradient(135deg, #fff3cd, #ffeaa7);
    border: 2px solid #f39c12;
    border-radius: 15px;
    padding: 2rem;
    max-width: 900px;
    margin: 0 auto;
}

.disclaimer-card h3 {
    color: #d68910;
    font-size: 1.5rem;
    margin-bottom: 1rem;
    text-align: center;
}

.disclaimer-content p {
    color: #5d4e37;
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.disclaimer-content ul {
    list-style: none;
    padding: 0;
}

.disclaimer-content li {
    padding: 0.75rem 0;
    color: #5d4e37;
    position: relative;
    padding-left: 1.5rem;
    line-height: 1.5;
}

.disclaimer-content li::before {
    content: "⚠️";
    position: absolute;
    left: 0;
}

/* Адаптивный дизайн */
@media (max-width: 1024px) {
    .content-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .sidebar-info {
        position: static;
        order: -1;
    }
    
    .timeline-item {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .timeline-period {
        text-align: center;
        padding-bottom: 0.5rem;
        border-bottom: 2px solid #3498db;
    }
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .drug-info-badge {
        padding: 1rem 1.5rem;
    }
    
    .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: scroll;
        padding-bottom: 1rem;
    }
    
    .nav-tab {
        font-size: 0.8rem;
        padding: 0.5rem 1rem;
    }
    
    .section-header {
        flex-direction: column;
        text-align: center;
    }
    
    .section-header h2 {
        font-size: 2rem;
    }
    
    .indications-grid,
    .criteria-grid,
    .adjustment-cards,
    .rules-grid,
    .caution-grid,
    .pregnancy-info,
    .serious-effects-grid,
    .food-grid,
    .populations-grid,
    .emergency-grid,
    .lifestyle-grid,
    .contacts-grid {
        grid-template-columns: 1fr;
    }
    
    .effect-item {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
    
    .effect-frequency {
        align-self: start;
        justify-self: start;
    }
    
    .frequency-legend {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .drug-list ul {
        grid-template-columns: 1fr;
    }
    
    .dosage-table {
        font-size: 0.9rem;
    }
    
    .dosage-table th,
    .dosage-table td {
        padding: 0.75rem 0.5rem;
    }
}

@media (max-width: 480px) {
    .instruction-section {
        padding: 40px 0;
    }
    
    .consultation-contacts,
    .disclaimer {
        padding: 40px 0;
    }
    
    .info-card,
    .indication-card,
    .criteria-card,
    .dosage-table-card,
    .dosage-adjustments,
    .administration-rules,
    .contraindication-item,
    .caution-card,
    .pregnancy-card,
    .system-card,
    .serious-effects-warning,
    .interaction-category,
    .food-interactions,
    .monitoring-schedule,
    .population-card,
    .emergency-card,
    .lifestyle-card,
    .contact-card {
        padding: 1.5rem;
    }
    
    .drug-info-badge {
        padding: 1rem;
    }
    
    .drug-name {
        font-size: 1.25rem;
    }
    
    .quick-facts,
    .storage-info {
        padding: 1.5rem;
    }
    
    .fact-item {
        flex-direction: column;
        gap: 0.25rem;
        text-align: left;
    }
    
    .nav-tab {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
    }
    
    .instruction-nav {
        top: 60px;
    }
}

/* Анимации */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.info-card,
.indication-card,
.criteria-card,
.adjustment-card,
.rule-card,
.contraindication-item,
.caution-card,
.pregnancy-card,
.system-card,
.serious-effect-card,
.interaction-category,
.food-card,
.timeline-item,
.population-card,
.emergency-card,
.lifestyle-card,
.contact-card {
    animation: fadeInUp 0.6s ease forwards;
}

.sidebar-info .quick-facts,
.sidebar-info .storage-info {
    animation: slideInLeft 0.6s ease forwards;
}

/* Печать */
@media print {
    .instruction-nav,
    .consultation-contacts,
    .disclaimer {
        display: none;
    }
    
    .instruction-section {
        display: block !important;
        page-break-inside: avoid;
        padding: 20px 0;
    }
    
    .hero-section {
        background: none !important;
        color: black !important;
    }
    
    .content-grid {
        grid-template-columns: 1fr;
    }
    
    .info-card,
    .indication-card,
    .system-card {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}

/* Утилиты */
.bg-light {
    background-color: #f8f9fa;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Скрытие/показ контента */
.instruction-section:not(.active) {
    display: none;
}

/* Улучшение доступности */
.nav-tab:focus {
    outline: 2px solid #3498db;
    outline-offset: 2px;
}

button {
    cursor: pointer;
}

/* Улучшение читаемости */
.info-card p,
.indication-content p,
.contraindication-info p,
.caution-card p,
.pregnancy-card p,
.serious-effect-card p,
.interaction-effect p,
.interaction-management p,
.food-card p,
.lifestyle-card p,
.contact-card p,
.disclaimer-content p {
    line-height: 1.6;
}

/* Улучшение контрастности для темных тем */
@media (prefers-color-scheme: dark) {
    .info-card,
    .indication-card,
    .criteria-card,
    .system-card,
    .contact-card {
        background: #2c3e50;
        color: #ecf0f1;
    }
    
    .info-card h3,
    .info-card h4,
    .indication-card h3,
    .criteria-card h4,
    .system-card h3,
    .contact-card h3 {
        color: #ecf0f1;
    }
}/* Страница инструкции - стили */

/* Hero секция */
.instruction-hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 80px 0;
    text-align: center;
}

.hero-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.hero-subtitle {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    opacity: 0.9;
}

.drug-info-badge {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    padding: 1.5rem 2rem;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    max-width: 400px;
    margin: 0 auto;
}

.drug-name {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.active-substance {
    font-size: 1rem;
    opacity: 0.9;
    margin-bottom: 0.5rem;
}

.manufacturer {
    font-size: 0.9rem;
    opacity: 0.8;
}

/* Навигация по разделам */
.instruction-nav {
    background: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 80px;
    z-index: 100;
    padding: 1rem 0;
}

.nav-tabs {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}

.nav-tab {
    background: #f8f9fa;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    font-weight: 500;
    color: #555;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    font-size: 0.9rem;
}

.nav-tab:hover {
    background: #e9ecef;
    color: #333;
}

.nav-tab.active {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    box-shadow: 0 2px 10px rgba(52, 152, 219, 0.3);
}

/* Секции инструкции */
.instruction-section {
    display: none;
    padding: 60px 0;
}

.instruction-section.active {
    display: block;
}

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 3rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.section-header h2 {
    font-size: 2.5rem;
    color: #2c3e50;
    margin: 0;
}

.section-badge {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 500;
}

