.doctor-bio { padding: 60px 0; }
.bio-flex { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 40px; align-items: center; }
.doctor-photo { border-radius: 32px; overflow: hidden; background: #d9e6f5; }
.btn-block { display: flex; width: 100%; }
.review-form-container{max-width:600px;margin:50px auto 0;background:white;border-radius:28px;padding:32px;box-shadow:0 10px 30px rgba(0,0,0,.05);border:1px solid #eef2f8}.review-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--secondary);font-size:.9rem}.form-group input,.form-group textarea{padding:12px 16px;border:1px solid #e2e8f0;border-radius:16px;font-family:inherit;font-size:.95rem;transition:border-color 0.2s;background:#fafcff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.rating-select{display:flex;gap:8px;font-size:2rem;cursor:pointer}.rating-select span{color:#cbd5e1;transition:color 0.2s;cursor:pointer}.rating-select span.active,.rating-select span:hover{color:#f5b042}.form-message{margin-top:20px;padding:12px;border-radius:16px;text-align:center;font-size:.9rem;display:none}.form-message.success{display:block;background:#e0f2e9;color:#00a86b}.form-message.error{display:block;background:#fee2e2;color:#dc2626}.loading-reviews{text-align:center;padding:40px;color:#5a6e85;width:100%}@media (max-width:640px){.form-row{grid-template-columns:1fr;gap:16px}.review-form-container{padding:24px}}
.carousel-container { position: relative; margin: 30px 0; display: flex; align-items: center; gap: 8px; }
.carousel-track-wrapper { overflow: hidden; width: 100%; border-radius: 20px; }
.carousel-track { display: flex; gap: 20px; transition: transform 0.4s cubic-bezier(0.2, 0.9, 0.4, 1.1); will-change: transform; }
.carousel-btn { background: white; border: 1px solid #e2e8f0; border-radius: 60px; width: 40px; height: 40px; font-size: 20px; cursor: pointer; transition: all 0.2s; box-shadow: 0 2px 8px rgba(0,0,0,0.1); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.carousel-btn:hover { background: var(--primary); color: white; border-color: var(--primary); }
.carousel-dots { display: flex; justify-content: center; gap: 10px; margin-top: 24px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; cursor: pointer; transition: all 0.2s; }
.dot.active { background: var(--primary); width: 20px; border-radius: 10px; }
.cert-card{background:white;border-radius:20px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.05);transition:all 0.3s ease;cursor:pointer;display:flex;flex-direction:column;height:100%;width:100%}.cert-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.cert-image{background:#f0f4f9;text-align:center;padding:16px;border-bottom:1px solid #eef2f8;flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:260px;max-height:260px;overflow:hidden}.cert-image img{max-height:260px;max-width:100%;width:auto;height:auto;object-fit:contain;display:block;margin:0 auto}.cert-info{padding:12px 16px 16px;flex:1 1 auto;display:flex;flex-direction:column}.cert-info h3{font-size:.95rem;margin-bottom:4px;color:var(--primary)}.cert-info p{font-size:.75rem;color:#5a6e85;margin-bottom:6px}.cert-badge{display:inline-block;background:#e8f0fe;color:var(--primary);padding:2px 10px;border-radius:40px;font-size:.6rem;font-weight:600;align-self:flex-start}.swiper-slide{height:auto!important;display:flex!important;align-items:stretch}.swiper-wrapper{align-items:stretch}.swiper{padding:10px 0 30px!important;overflow:hidden}.swiper-button-prev,.swiper-button-next{color:var(--primary)!important;background:white!important;width:40px!important;height:40px!important;border-radius:50%!important;box-shadow:0 2px 10px rgba(0,0,0,.1)!important}.swiper-button-prev::after,.swiper-button-next::after{font-size:18px!important;font-weight:700!important}.swiper-button-prev{left:0!important}.swiper-button-next{right:0!important}.swiper-pagination-bullet{background:#cbd5e1!important;opacity:1!important}.swiper-pagination-bullet-active{background:var(--primary)!important;width:20px!important;border-radius:10px!important}.swiper-pagination{bottom:0!important;position:relative!important;margin-top:20px!important}@media (max-width:1200px){.cert-image{min-height:460px;max-height:420px}.cert-image img{max-height:480px}}@media (max-width:992px){.cert-image{min-height:340px;max-height:400px}.cert-image img{max-height:360px}}@media (max-width:768px){.cert-image{min-height:320px;max-height:380px}.cert-image img{max-height:340px}}
.review-card { flex: 0 0 calc(33.33% - 14px); min-width: 280px; background: white; padding: 24px; border-radius: 24px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); border: 1px solid #eef2f8; }
.review-header { display: flex; gap: 14px; align-items: center; margin-bottom: 16px; }
.reviewer-avatar { width: 48px; height: 48px; background: linear-gradient(135deg, var(--primary), var(--accent)); border-radius: 100px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; color: white; }
.reviewer-info h3 { margin: 0; font-size: 1.1rem; }
.rating { color: #f5b042; font-size: 0.9rem; letter-spacing: 2px; }
.review-text { line-height: 1.5; color: #2c3e50; margin: 12px 0; font-style: italic; font-size: 0.95rem; }
.review-date { font-size: 0.75rem; color: #5a6e85; margin-top: 12px; }
.prices-section { padding: 60px 0; background: white; }
.section-subtitle { text-align: center; color: #5a6e85; margin-bottom: 40px; font-size: 1rem; }
.prices-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin: 30px 0 24px; }
.price-card { background: #f8fafc; padding: 20px; border-radius: 20px; border-left: 4px solid var(--primary); }
.price-service { font-weight: 700; font-size: 1rem; color: var(--secondary); margin-bottom: 8px; }
.price-value { font-size: 1.6rem; font-weight: 800; color: var(--primary); margin-bottom: 6px; }
.price-desc { font-size: 0.8rem; color: #5a6e85; }
.price-note { text-align: center; font-size: 0.8rem; color: #7f8c8d; background: #f0f4fa; padding: 14px; border-radius: 60px; margin-top: 20px; }
.contact-section { padding: 60px 0; background: var(--gray-bg); }
.contact-flex { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.info-block { background: white; padding: 28px; border-radius: var(--border-radius); }
.contact-details p { margin: 18px 0; display: flex; align-items: center; gap: 12px; font-size: 1rem; word-break: break-word; }
.contact-details a { color: var(--primary); text-decoration: none; font-weight: 500; }
.map { height: 300px; background: #e2e8f0; border-radius: var(--border-radius); overflow: hidden; }
iframe { width: 100%; height: 100%; border: 0; }
.faq-section { padding: 60px 0; }
.faq-grid { max-width: 800px; margin: 32px auto 0; }
.faq-item { border-bottom: 1px solid #e2e8f0; padding: 16px 0; }
.faq-question { font-weight: 700; font-size: 1.1rem; margin-bottom: 6px; }
.footer { background: var(--secondary); color: white; text-align: center; padding: 28px 0; font-size: 0.85rem; }
.cert-modal{display:none;position:fixed;z-index:1100;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);backdrop-filter:blur(8px);cursor:pointer}.modal-content{max-width:90%;max-height:85%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:12px;object-fit:contain}#modalCaption{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:80%;max-width:600px;text-align:center;color:white;font-size:.9rem;background:rgba(0,0,0,.6);padding:10px 16px;border-radius:40px;pointer-events:none}.modal-close{position:absolute;top:15px;right:25px;color:white;font-size:35px;font-weight:700;cursor:pointer;z-index:10}@media (max-width:768px){.modal-content{max-width:95%;max-height:80%}#modalCaption{bottom:10px;font-size:.75rem;padding:6px 12px;width:90%}.modal-close{top:10px;right:15px;font-size:28px}}@media (max-width:480px){.modal-content{max-height:70%;max-width:98%}#modalCaption{font-size:.65rem;padding:4px 10px;bottom:8px;width:94%;border-radius:20px}}
@media (max-width: 1024px) { .review-card { flex: 0 0 calc(50% - 10px); } }
@media (max-width: 768px) { .bio-flex, .contact-flex { grid-template-columns: 1fr; gap: 28px; } .review-card { flex: 0 0 100%; } .carousel-btn { width: 32px; height: 32px; font-size: 18px; }}
@media (max-width: 480px) { h2 { font-size: 1.5rem; } .price-value { font-size: 1.4rem; } .contact-details p { font-size: 0.9rem; flex-wrap: wrap; } }