/* --- RESET & VARIABLES --- */
:root {
    --primary-color: #2e7d32; /* Зеленый (Eco) */
    --accent-color: #ffca28; /* Золото */
    --alert-color: #d32f2f; /* Красный (Акцент) */
    --text-main: #222;
    --bg-light: #f5f7fa;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Merriweather', serif; line-height: 1.7; color: var(--text-main); background: var(--bg-light); }
h1, h2, h3, h4 { font-family: 'Montserrat', sans-serif; font-weight: 800; line-height: 1.3; color: #1a1a1a; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }

.container { max-width: 960px; margin: 0 auto; background: #fff; box-shadow: 0 5px 25px rgba(0,0,0,0.05); }
.content-padding { padding: 30px 50px; }

/* --- HEADER --- */
header { background: #fff; border-bottom: 3px solid var(--primary-color); padding: 15px 50px; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.logo { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 22px; color: #333; text-transform: uppercase; }
.logo span { color: var(--primary-color); }
.meta-header { font-family: 'Roboto Condensed', sans-serif; color: #888; font-size: 14px; }

/* --- STORY HERO --- */
.story-title { font-size: 34px; margin: 20px 0 10px; color: #000; letter-spacing: -0.5px; }
.story-meta { color: #888; font-size: 13px; margin-bottom: 30px; border-bottom: 1px solid #eee; padding-bottom: 15px; display: flex; gap: 20px; }
.story-image { width: 100%; margin-bottom: 30px; border-radius: 8px; overflow: hidden; }

/* --- TEXT STYLES --- */
.story-text { font-size: 19px; color: #333; }
.story-text p { margin-bottom: 25px; }
.story-text h3 { margin: 35px 0 15px; font-size: 24px; color: var(--primary-color); }
.highlight { background: #fff9c4; padding: 0 5px; border-bottom: 2px solid var(--accent-color); }

.quote { 
    border-left: 5px solid var(--alert-color); 
    padding: 20px 25px; 
    font-style: italic; 
    color: #444; 
    background: #fff5f5; 
    margin: 30px 0; 
    font-size: 20px; 
    border-radius: 0 10px 10px 0;
    font-weight: 600;
}

.timeline-box {
    background: #e8f5e9;
    padding: 25px;
    border-radius: 10px;
    margin: 30px 0;
    border: 1px solid #c8e6c9;
}
.timeline-item { margin-bottom: 15px; display: block; }
.timeline-day { font-weight: 900; font-family: 'Montserrat', sans-serif; color: var(--primary-color); min-width: 90px; text-transform: uppercase; }

/* --- SYMPTOMS (Warning) --- */
.symptoms-box { background: #fff3e0; border: 2px dashed #ffb74d; padding: 30px; border-radius: 10px; margin: 40px 0; }
.symptoms-title { text-align: center; color: #e65100; margin-bottom: 20px; font-size: 24px; }
.check-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.check-list li { position: relative; padding-left: 30px; font-weight: bold; font-family: 'Montserrat', sans-serif; font-size: 16px; }
.check-list li::before { content: '⚠️'; position: absolute; left: 0; top: 0; }

/* --- PRODUCT & MECHANISM --- */
.product-reveal { text-align: center; margin: 40px 0; background: linear-gradient(to bottom, #ffffff, #f1f8e9); padding: 40px 20px; border-radius: 10px; border: 1px solid #dcedc8; }
.product-reveal h2 { color: var(--primary-color); margin-bottom: 20px; }
.product-img-center { max-width: 280px; margin: 0 auto 25px; filter: drop-shadow(0 15px 25px rgba(0,0,0,0.15)); transition: transform 0.3s; }
.product-img-center:hover { transform: scale(1.02); }

.mech-list { text-align: left; max-width: 600px; margin: 0 auto; }
.mech-item { margin-bottom: 10px; position: relative; padding-left: 20px;}
.mech-item::before { content: ''; position: absolute; left: 0; }

/* --- INGREDIENTS --- */
.ing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-top: 20px; }
.ing-item { background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); border-top: 3px solid var(--primary-color); }
.ing-name { font-weight: bold; font-family: 'Montserrat', sans-serif; color: var(--primary-color); margin-bottom: 5px; }

/* --- DOCTOR --- */
.doctor-box { background: #f0f4c3; padding: 30px; display: flex; gap: 30px; align-items: center; border-radius: 10px; margin: 40px 0; border: 1px solid #dce775; }
.doc-img { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; border: 4px solid white; flex-shrink: 0; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.doc-content h3 { color: #33691e; margin-bottom: 10px; }
.doc-sign { font-family: cursive; margin-top: 15px; color: #558b2f; font-weight: bold; }

/* --- ORDER FORM SECTION --- */
.order-section { background: url("../images/green-park-view_1417-1492.jpg") center/cover; padding: 60px 20px; text-align: center; border-radius: 10px; position: relative; overflow: hidden; margin-bottom: 50px; }
.order-section::before { content: ''; position: absolute; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.6); z-index: 1; backdrop-filter: blur(2px); }
.order-wrapper { position: relative; z-index: 2; max-width: 480px; margin: 0 auto; background: white; padding: 35px; border-radius: 15px; color: #333; box-shadow: 0 20px 40px rgba(0,0,0,0.4); border: 4px solid var(--accent-color); }

.price-box { justify-content: center; align-items: center; gap: 20px; margin-bottom: 25px; }
.old-price { text-decoration: line-through; color: #999; font-size: 20px; }
.new-price { font-size: 52px; font-weight: 900; color: var(--alert-color); font-family: 'Roboto Condensed', sans-serif; line-height: 1; }
.timer { color: #d32f2f; font-weight: bold; font-size: 18px; margin-bottom: 15px; background: #ffebee; display: inline-block; padding: 5px 15px; border-radius: 20px; }

.form-group { margin-bottom: 15px; position: relative; } /* Added relative positioning for error msg */
.form-control { width: 100%; padding: 18px; font-size: 16px; border: 2px solid #eee; border-radius: 8px; background: #fafafa; transition: 0.3s; }
.form-control:focus { border-color: var(--accent-color); outline: none; background: #fff; }
.btn-order { width: 100%; padding: 20px; background: linear-gradient(45deg, #d32f2f, #b71c1c); color: white; font-size: 24px; font-weight: 800; text-transform: uppercase; border: none; border-radius: 8px; cursor: pointer; box-shadow: 0 5px 20px rgba(211, 47, 47, 0.5); animation: pulse 2s infinite; font-family: 'Roboto Condensed', sans-serif; }
.btn-order:hover { background: linear-gradient(45deg, #b71c1c, #9a0007); }
.btn-order:disabled { background: #999; cursor: not-allowed; animation: none; }

/* --- COMMENTS --- */
.comments-section { margin-top: 50px; border-top: 2px solid #eee; padding-top: 40px; }
.comments-title { margin-bottom: 30px; font-size: 26px; border-left: 5px solid var(--primary-color); padding-left: 15px; }
.comment-item { display: flex; gap: 15px; margin-bottom: 30px; border-bottom: 1px solid #f9f9f9; padding-bottom: 20px; }
.ava { width: 60px; height: 60px; background: #ddd; border-radius: 50%; flex-shrink: 0; overflow: hidden; }
.ava img { width: 100%; height: 100%; object-fit: cover; }
.comm-body { flex: 1; background: #fdfdfd; padding: 15px; border-radius: 10px; border: 1px solid #eee; }
.comm-name { font-weight: bold; color: #365899; font-family: Arial, sans-serif; font-size: 15px; }
.comm-meta { font-size: 12px; color: #999; margin-bottom: 10px; }
.comm-text { font-size: 16px; line-height: 1.5; color: #222; }
.comm-img { max-width: 180px; margin-top: 15px; border-radius: 5px; cursor: pointer; display: block; }

@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }

/* --- MOBILE --- */
@media (max-width: 768px) {
    .content-padding { padding: 20px; }
    header { padding: 15px 20px; }
    .story-title { font-size: 26px; }
    .check-list { grid-template-columns: 1fr; }
    .doctor-box { flex-direction: column; text-align: center; }
    .doc-img { margin: 0 auto; }
    .new-price { font-size: 42px; }
    .btn-order { font-size: 20px; }
}

/* --- ADDED FOR MAIN.JS SCRIPTS --- */
.phone-error {
    color: var(--alert-color);
    font-size: 13px;
    margin-top: 5px;
    font-weight: bold;
    display: none; 
    text-align: left;
}

.comm-actions { margin-top: 10px; font-size: 13px; color: #555; display: flex; gap: 15px; }
.action-like, .action-dislike { cursor: pointer; transition: color 0.2s; user-select: none; }
.action-like:hover, .action-dislike:hover { color: #365899; }
.action-like.liked { color: var(--primary-color); font-weight: bold; }
.action-dislike.disliked { color: var(--alert-color); font-weight: bold; }