/*
 Theme Name: AI Doctor (Elementor)
 Theme URI: https://example.com/ai-doctor
 Author: ChatGPT
 Author URI: https://openai.com
 Description: Lightweight theme scaffold tailored for Elementor. Provides full-width and canvas-like page templates, registered menus, and CSS variables mapped from Figma tokens.
 Version: 1.0.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: ai-doctor
*/
:root{
  --color-primary:#1A73E8;
  --color-secondary:#0BB4A6;
  --color-accent:#FF6A3D;
  --color-text:#111827;
  --color-muted:#6B7280;
  --bg:#FFFFFF;
  --bg-soft:#F8FAFC;
  --radius:16px;
  --container:1140px;
  --gap:24px;
  --shadow:0 8px 24px rgba(0,0,0,.08);
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  --font-size-base:16px;
  --line-height:1.6;
}
html{box-sizing:border-box;}
*,*:before,*:after{box-sizing:inherit;}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--font-size-base);
  line-height:var(--line-height);
  color:var(--color-text);
  background:var(--bg);
}
img{max-width:100%; height:auto; display:block;}
.container{max-width:var(--container); margin-inline:auto; padding:0 20px;}
.site-header{position:sticky; top:0; background:#fff; box-shadow:var(--shadow); z-index:20;}
.site-header .inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0;}
.site-branding a{font-weight:700; text-decoration:none; color:var(--color-text);}
.primary-nav ul{list-style:none; display:flex; gap:20px; margin:0; padding:0;}
.primary-nav a{text-decoration:none; color:var(--color-text);}
.site-footer{padding:40px 0; background:var(--bg-soft); margin-top:60px; border-top:1px solid #e5e7eb;}
.button, .wp-element-button, .wp-block-button__link{
  display:inline-block; padding:12px 20px; border-radius:12px; text-decoration:none;
  background:var(--color-primary); color:#fff; border:0; cursor:pointer;
}
/* Utility classes helpful in Elementor */
.full-bleed{width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);}
.section{padding:80px 0;}
.section--soft{background:var(--bg-soft);}
.card{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:24px;}

.home-herosection {
  min-height: calc(100vh - 72px);
}

.mobile-ai-consultation img{
	height: calc(100vh - 100px);
    width: auto;
}

.footposts .elementor-widget-container .hfe-posts-grid .hfe-post-card {
	background-color: transparent;
}


.footposts .hfe-post-card {
    display: flex;
}

.footposts .hfe-post-card .hfe-post-image {
	padding-top:20px;
	width:50%;
}

.footposts .hfe-post-card .hfe-post-title a {
	font-size:15px;
	color:#FFFFFF;
}

.footposts .hfe-post-meta .hfe-post-date {
	color: #fed700;
}

.subscribeform .frm-fluent-form .ff-t-container {
	gap:0px;
}

.subscribeform .ff-default .ff-el-form-control {
	border-radius: 0px;
    color: #868686;
    font-size: 13.5px;
    width: 300px;
    height: 80px;
}

.we-providepoints ul li::marker, .priceplan-box ul li::marker {
	color: #27548B;
}

.serviceslip {
	overflow: visible;
	display:flex;
}

.serviceslip h2 {
	white-space: nowrap;
}

.marquee-content {
  flex-shrink: 0;
  display: inline-block;
}

.doctor-list {
	flex-wrap: wrap;
    display: flex;
}

.doctor-card {
	flex: calc(50% - 20px);
    margin-right: 20px;
    box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.20);
    border-radius: 10px;
	padding:10px;
	margin-top:20px;
}

.doctor-card .doctor-detail {
	display: flex;
}

.doctor-card .doctor-thumbnail img {
	border-radius: 200px;
	max-width: 150px;
}

.doctor-card ..doctor-info {
	padding-left:15px;
}

.doctor-card .doctor-buttons {
	display: flex;
	margin-top:20px;
}

.doctor-card .doctor-buttons > a.doctor-detail-btn {
    flex: calc(50% - 40px);
    border: 1px solid #27548B;
    color: #27548B;
    text-align: center;
    border-radius: 5px;
    margin-right: 15px;
	line-height:35px;
}

.doctor-card .doctor-buttons > a.doctor-detail-btn:last-child {
    margin-right: 0px;
}

.doctor-card .doctor-buttons > a.doctor-detail-btn.primary {
	background-color: #27548B;
	color: #FFFFFF;
}

.doctor-card .doctor-detail > div {
	flex: 30%;
}

.doctor-card .doctor-detail > div:last-child {
	flex: 20%;
}

.doctor-card .reviews {
	text-align:right;
}

.doctor-card .reviews p strong {
	display: block;
}

.doctor-filter-form {
	text-align:center;
}

.filterinputs {
	color: #27548B;
    border: 1px solid #27548B;
    border-radius: 5px;
	font-size:18px;
	padding:5px 10px;
	margin-right:10px;
}

.filterinputs:last-child {
	margin-right:0px;
}

select.filterinputs:focus {
	background: #27548B;
	color: #FFF;
	border: 1px solid #27548B;
	outline: none;
}

.filterinputs::placeholder {
	color: #27548B;
}

.tabfilter {
	border: 1px solid #E6E7E8;
    border-radius: 25px;
    margin: 20px auto 20px auto;
    display: flex;
	justify-content: space-between;
    width: fit-content;
}

.tab {
	font-size:20px;
	padding: 5px 20px;
}

.tabfilterfirst {
	border: 1px solid #E6E7E8;
    border-radius: 25px;
    margin-top: -40px;
    display: inline-flex;
    background: #FFF;
    justify-content: space-between;
    width: fit-content;
}

.tabfilterfirst .tab {
	font-size:15px;
}

.tabfilter .tab.active, .tabfilterfirst .tab.active {
	background-color:#27548B;
	color:#FFF;
	border-radius: 25px;
}

.roundborderfilter {
	box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.20);
	border-radius: 20px;
	background-color:#FFF;
	padding: 20px;
	display: flex;
	flex-direction:column;
	margin-bottom:30px;
	margin-top: -50px;
}

.filteropt {
	display: flex;
	justify-content: space-between;
}

.filteropt .filterfield {
    display: flex;
    flex-direction: column;
}

.filterbtn.filterfield {
	flex-direction: row;
}

.filteropt .filter_btn {
	background-color:#27548B;
	color:#FFF;
	padding:10px;
	width:140px;
	text-align:center;
	align-self: flex-end;
	border: 0px;
    border-radius: 30px;
    font-size: 20px;
}


.filteropt .filterfield select {
	color: #27548B;
    border: 1px solid #27548B;
    border-radius: 5px;
    font-size: 18px;
    padding: 5px 10px;
}

.filteropt .filterfield select:focus {
	background: #27548B;
	color: #FFF;
	border: 1px solid #27548B;
	outline: none;
}

/* doctor profile page style start */
.doctor-provile-banner {
	background: url(/wp-content/themes/ai-doctor-theme/images/doctor-detail-profile-optimized.jpg);
    min-height: 310px;
    background-repeat: no-repeat;
    background-size: cover;
}

.doctor-profile .doctor-infotop {
	display: flex;
    align-items: baseline;
    margin-top: -50px;
    background: #FFF;
    border-radius: 25px;
    padding: 30px 20px;
    box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.20);
    margin-bottom: 20px;
}

.doctor-profile .doctor-infotop .doctor-topcol {
    flex: auto;
}

.doctor-profile .doctor-infotop .doctor-name.doctor-topcol h3 {
	margin-top:0px;
	margin-bottom:0px;
}

.doctor-profile .doctor-infotop .doctor-topcol div:last-child {
	color:#27548B;
	font-size:16px;
}

.doctor-profile .doctor-infotop .doctor-topcol:last-child {
	align-self: center;
}

.doctor-profile .doctor-infotop .doctor-topcol a.btn.primay-btn {
	background-color: #27548B;
    color: #FFF;
    font-size: 18px;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
}

.doctor-profile .doctor-detailinfo {
	display: flex;
	margin-top: 40px;
    border-top: 1px solid #DDD;
    padding-top: 5px;
}

.doctor-profile .doctor-sidebar {
	flex: 0 0 285px;
	margin-right: 15px;
}

.doctor-profile .doctor-sidebar .doctor-sidebox {
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	margin-bottom:20px;
	padding: 15px;
}

.doctor-sidebar h3 {
	color:#292929;
	font-size:24px;
}

.doctor-sidebar .sideheadingbotbor:after {
	content: "";
    border-bottom: 5px solid #000;
    display: block;
    width: 60px;
}

.doctor-sidebar .doctor-contactinfo {
	display: flex;
}

.doctor-sidebar .doctor-contactinfo div:nth-child(1){
	margin-right:4px;
}

.doctor-sidebar .doctor-socialsicons {
	display: flex;
}

.doctor-sidebar .doctor-socialsicons a {
	color:#000;
}

.doctor-sidebar .doctor-socialsicons i.fab {
	flex: 0 0 40px;
}

.doctor-sidebar .doctor-socialsicons i.fab:first-child {
	margin-left:15px;
}

.doctor-sidebar .emergency-case-box {
	background: #2A2A2A;
    padding: 20px;
    display: flex;
    align-items: center;
	border-radius: 5px;
}

.doctor-sidebar .emergency-case-box > img {
	flex: 0 0 45px;
    width: auto;
    height: 50px;
}

.doctor-sidebar .emergency-contactinfo, .doctor-sidebar .emergency-contactinfo h3 {
	color: #FFF;
    padding-left: 10px;
}

.doctor-sidebar .emergency-contactinfo h3 {
	font-size: 18px;
    margin-top: 5px;
    margin-bottom: 0px;
    font-weight: normal;
    padding: 0px;
}

.emergency-contactinfo > div {
	font-size: 14px;
}

.doctor-detail-infos {
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    padding: 15px 30px;
	border-radius: 5px;
}

.doctor-detail-infos h2 {
	color: #27548B;
}

.doctor-detail-infos h2:after {
	content: "";
    display: block;
    border-top: 4px solid #000;
    width: 60px;
}

.doctor-basicinfo div:nth-child(2) {
	font-weight:bold;
}

table.doctortable {
	width:100%;
}

table.doctortable.doctor-experience-table td:nth-child(1) {
	width:20%;
}

table.doctortable tr:nth-child(even), table.doctortable thead tr{
  background-color: #f4f6f9;
}

table.doctortable th {
	text-align:left;
}

table.doctortable th, table.doctortable td {
	line-height:35px;
}

a.btn.btn-secondary {
	color: #000;
    text-decoration: none;
    border: 1px solid #000;
    border-radius: 5px;
    padding: 0px 20px;
	display: inline-block;
    font-size: 13px;
}

.doctor_interviewbox, .doctor_locationaddressbox, .doctor_reviews_section {
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    padding: 15px 30px;
	border-radius: 5px;
	margin-top:20px;
}

.doctor_interviewbox h3, .doctor_locationaddressbox h3 {
	border-bottom: 1px solid #DBDBDB;
	color: #222222;
}

.doctor-comments-section h3.comments-title {
	border-bottom: 1px solid #DBDBDB;
	color: #222222;
}

.doctor-comments-section .comment-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.doctor-comments-section .doctor-review {
  display: flex;
  border-bottom: 1px solid #eee;
  padding: 15px 0;
}

.doctor-comments-section .review-avatar {
  flex: 0 0 60px;
}

.doctor-comments-section .review-avatar img {
  border-radius: 50%;
  border: 1px solid #000;
}

.doctor-comments-section .review-content {
  flex: 1;
}

.doctor-comments-section .review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.doctor-comments-section .review-author {
  font-weight: bold;
  font-size: 15px;
}

.doctor-comments-section .review-stars {
  color: #FFD700;
  font-size: 16px;
}

.doctor-comments-section .review-date {
  font-size: 13px;
  color: #888;
}

.doctor-comments-section .doctor-commentbox {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.doctor-comments-section .comment-avatar-box, .doctor-comments-section .review-inner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.doctor-comments-section .doctor-comment-avatar {
  border-radius: 50%;
  border: 1px solid #000;
}

.doctor-comments-section .comment-input-area {
  flex: 1;
  width: 100%;
}

.doctor-comments-section .comment-input-area textarea {
  width: 100%;
  min-height: 80px;
  border-radius: 6px;
  border: 1px solid #ddd;
  padding: 10px;
  resize: vertical;
}

.doctor-comments-section .rating-select {
  margin-bottom: 6px;
}

.doctor-comments-section .rating-stars {
  direction: rtl;
  unicode-bidi: bidi-override;
  display: inline-flex;
  gap: 3px;
}

.doctor-comments-section .rating-stars input {
  display: none;
}

.doctor-comments-section .rating-stars label {
  font-size: 22px;
  color: #ccc;
  cursor: pointer;
  transition: color 0.2s;
}

.doctor-comments-section .rating-stars input:checked ~ label,
.doctor-comments-section .rating-stars label:hover,
.doctor-comments-section .rating-stars label:hover ~ label {
  color: #FFD700;
}

.doctor-comments-section .comment-form-comment textarea {
  width: 100%;
  min-height: 100px;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px;
}

.doctor-comments-section .form-submit {
	text-align: right;
}

.doctor-comments-section .form-submit input[type="submit"] {
  background: #f7f7f7;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 8px 20px;
  cursor: pointer;
}

.doctor-comments-section .load-more {
  text-align: center;
  margin-top: 20px;
}

.doctor-comments-section .view-more-btn {
  border: 1px solid #ddd;
  padding: 6px 15px;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
/* doctor profile page style end */

.footer-width-fixer .elementor-element.subscribeform .fluentform-widget-wrapper .ff-el-group .ff-btn-submit {
	background-color: #fed700 !important;
    border-radius: 0px;
    height: 80px;
    border: 0px;
	color: #27548b !important;
    font-weight: bold;
}

@media (max-width: 1024px) {
  /* Tablet */
  .home-herosection {
    min-height: calc(100vh - 87px);
  }
}

@media (max-width: 767px) {
  /* Mobile */
	html {
		overflow-x: hidden;
	}
	
	body {
		overflow-x: hidden;
	}
	
  .home-herosection {
    min-height: calc(100vh - 250px);
  }
	
	.topmenu{
		position: absolute;
		top: 0px;
		right: 10px;
		width: 50px;
	}
	
	.mobile-ai-consultation img{
		height: auto;
		width: auto;
	}
	
	.filteropt {
		flex-wrap: wrap;
	}
	
	.filteropt .filterfield {
		flex: 1 1 calc(50% - 13px);
	}
	
	.filteropt .filterfield:nth-child(3) {
		flex: 1 100%;
		margin-top:10px;
	}
	
	.filteropt .locationfield {
		margin-right:10px;
	}
	
	.doctor-card {
		flex:calc(100%);
		margin-right:0px;
	}
	
	.doctor-card .doctor-detail .doctor-info {
		padding-left: 10px;
	}
	
	.doctor-card .doctor-detail > div:nth-child(1) {
		flex: 30%;
	}
	
	.doctor-card .doctor-detail > div:nth-child(2) {
		flex: 40%;
	}
	
	.doctor-card .doctor-detail > div:nth-child(3) {
		flex: 20%;
	}
	
	input[name="doctor_name"].filterinputs {
		margin-bottom: 10px;
	}
}