/*
Theme Name: Consultmed
Theme URI: https://consultmed.ro
Description: Tema custom Consultmed — implementarea 1:1 a designului aprobat. Clinica de diabet, nutritie si boli metabolice, Iasi. URL-uri si SEO pastrate identic; continut editabil din admin (Setari Consultmed, Echipa, Locatii, FAQ, Recenzii + campuri pe pagini).
Author: Seofy
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: consultmed
*/

/* ============ Baza (din design) ============ */
html, body { margin: 0; padding: 0; background: #FFFFFF; scroll-behavior: smooth; }
img { max-width: 100%; }
body { font-family: Manrope, system-ui, sans-serif; color: #111315; -webkit-font-smoothing: antialiased; text-wrap: pretty; }
*, *::before, *::after { box-sizing: border-box; }
a { color: #3AB4E7; text-decoration: none; }
a:hover { color: #3AB4E7; }
input, select, textarea, button { font-family: inherit; font-size: inherit; color: inherit; }
::selection { background: #3AB4E7; color: #fff; }
.navscroll::-webkit-scrollbar { display: none; }

/* Accesibilitate: focus vizibil (UX/CRO — nu blocam navigarea din tastatura) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 3px solid rgba(58, 180, 231, .65); outline-offset: 2px; border-radius: 6px;
}

/* ============ Stari hover (portate din design) ============ */
.cm-hov-nav:hover { background: #EAF7FD; color: #3AB4E7 !important; }
.cm-hov-btnblue:hover { background: #2497C4 !important; color: #fff !important; }
.cm-hov-btnblue-solid:hover { background: #3AB4E7 !important; color: #fff !important; }
.cm-hov-whitebtn:hover { background: #EAF7FD !important; color: #188CBA !important; }
.cm-hov-border:hover { border-color: #3AB4E7 !important; color: #3AB4E7 !important; }
.cm-hov-bluetext:hover { color: #3AB4E7 !important; }
.cm-hov-bluetext2:hover { color: #188CBA !important; }
.cm-hov-wfaint:hover { background: rgba(255, 255, 255, .12); color: #fff !important; }
.cm-hov-wfaint16:hover { background: rgba(255, 255, 255, .16) !important; color: #fff !important; }
.cm-hov-wa:hover { background: #1EB855 !important; color: #fff !important; }
.cm-hov-phone:hover { background: #136F94 !important; color: #fff !important; }
.cm-hov-card:hover { box-shadow: 0 20px 44px rgba(17, 19, 21, .12); transform: translateY(-3px); color: #111315 !important; }
.cm-input:focus { border-color: #3AB4E7 !important; background: #fff !important; outline: none; }

/* Filtre echipa */
.cm-filter.is-active { border-color: #3AB4E7 !important; background: #3AB4E7 !important; color: #fff !important; }
.cm-filter:hover { border-color: #3AB4E7; }

/* ============ Responsive: desktop >= 1240px / mobil < 1240px (ca in design) ============ */
@media (max-width: 1239px) {
	.cm-nav-desktop { display: none !important; }
	.cm-mobile-ctrls { display: flex !important; }
	/* v1.3.0: pe mobil pastram iconitele sticky in dreapta-jos (fara bara centrata) */
	.cm-float-cta { right: 14px; bottom: 18px; gap: 10px; }
	.cm-booking-grid { grid-template-columns: 1fr !important; }
	.cm-booking-aside { position: static !important; }
	.cm-simple-grid { grid-template-columns: 1fr !important; }
}
@media (min-width: 1240px) {
	.cm-mobile-ctrls { display: none !important; }
	#cm-drawer { display: none !important; }
}

/* Confort tactil pe mobil (CRO): tinte de atins generoase, fara zoom pe inputuri iOS */
@media (max-width: 767px) {
	input, select, textarea { font-size: 16px !important; }
	iframe { max-width: 100%; }
}

/* Admin bar fix pentru header sticky */
body.admin-bar header { top: 32px; }
@media (max-width: 782px) { body.admin-bar header { top: 46px; } }

/* ============ Continut articole (design „Articol" aplicat pe the_content) ============ */
.cm-article { font-size: 17px; line-height: 1.75; color: #3A3F45; }
.cm-article > p:first-child { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65; color: #111315; font-weight: 500; }
.cm-article h2 { font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(22px, 2.4vw, 28px); font-weight: 600; letter-spacing: -.02em; margin: 34px 0 12px; color: #111315; }
.cm-article h3 { font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(19px, 2vw, 23px); font-weight: 600; letter-spacing: -.01em; margin: 26px 0 10px; color: #111315; }
.cm-article h4 { font-size: 17px; font-weight: 700; margin: 22px 0 8px; color: #111315; }
.cm-article p { margin: 0 0 16px; }
.cm-article a { font-weight: 600; }
.cm-article ul, .cm-article ol { margin: 0 0 18px; padding: 0 0 0 4px; list-style: none; display: grid; gap: 10px; }
.cm-article ul li, .cm-article ol li {
	position: relative; padding: 14px 16px 14px 44px; background: #F7F8F9;
	border: 1px solid #ECEEF0; border-radius: 12px; font-size: 15.5px; line-height: 1.6;
}
.cm-article ul li::before, .cm-article ol li::before {
	content: ""; position: absolute; left: 16px; top: 17px; width: 18px; height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233AB4E7' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5 9 17l10.5-10.5'/%3E%3C/svg%3E") no-repeat center / contain;
}
.cm-article ol { counter-reset: cmol; }
.cm-article ol li::before { content: counter(cmol); counter-increment: cmol; background: #EAF7FD; color: #3AB4E7; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; border-radius: 6px; top: 15px; }
.cm-article img { border-radius: 14px; height: auto; }
.cm-article blockquote { margin: 0 0 18px; padding: 18px 22px; border-left: 4px solid #3AB4E7; background: #F7F8F9; border-radius: 0 12px 12px 0; font-style: italic; }
.cm-article iframe { max-width: 100%; border-radius: 14px; }
.cm-article .wp-block-image figcaption { font-size: 13px; color: #9AA0A6; text-align: center; margin-top: 8px; }
.cm-article table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 15px; }
.cm-article table th, .cm-article table td { border: 1px solid #E3E5E8; padding: 10px 14px; text-align: left; }
.cm-article table th { background: #F7F8F9; font-weight: 700; }

/* Paginare listing */
.cm-pagination { margin-top: 30px; }
.cm-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.cm-pagination .page-numbers { display: inline-block; padding: 11px 16px; border: 1px solid #E3E5E8; border-radius: 10px; font-size: 14px; font-weight: 700; color: #111315; background: #fff; }
.cm-pagination .page-numbers.current { background: #3AB4E7; border-color: #3AB4E7; color: #fff; }
.cm-pagination .page-numbers:hover { border-color: #3AB4E7; color: #3AB4E7; }
.cm-pagination .page-numbers.current:hover { color: #fff; }

/* ============ Skin Amelia (branding pe formularul de programari) ============ */
.cm-amelia { --amelia-primary: #3AB4E7; }
.cm-amelia .amelia-app-booking, .cm-amelia .amelia-v2-booking { font-family: Manrope, system-ui, sans-serif !important; }
.cm-amelia .amelia-v2-booking { --am-c-primary: #3AB4E7 !important; --am-c-btn-prim: #3AB4E7 !important; --am-c-btn-prim-text: #ffffff !important; --am-font-family: Manrope, system-ui, sans-serif !important; --am-c-inp-border: #D6D9DC !important; --am-rad-btn: 11px !important; --am-rad-input: 11px !important; }
.cm-amelia .el-button--primary { background: #3AB4E7 !important; border-color: #3AB4E7 !important; border-radius: 11px !important; font-weight: 800 !important; }
.cm-amelia .el-button--primary:hover { background: #2497C4 !important; border-color: #2497C4 !important; }

/* ============ Diverse ============ */
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cm-content .aligncenter { margin-left: auto; margin-right: auto; display: block; }
.cm-content .alignleft { float: left; margin: 0 18px 12px 0; }
.cm-content .alignright { float: right; margin: 0 0 12px 18px; }

/* Reduce motion pentru utilizatorii care o cer (accesibilitate) */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.cm-hov-card, .cm-hov-card:hover { transition: none; transform: none; }
}

/* v1.3.0: top bar centrat pe mobil */
@media (max-width: 767px) {
	.cm-topbar-inner { justify-content: center !important; text-align: center; }
	.cm-topbar-inner > span { justify-content: center !important; }
}

/* v1.3.0: badge-uri lizibile in hero (Spitalizare de zi etc.) */
.cm-hero-check { background: rgba(13,74,99,.38); padding: 7px 13px; border-radius: 999px; backdrop-filter: blur(3px); color: #fff !important; }

/* v1.3.0: submeniuri pliabile in drawer */
.cm-drawer-group-toggle:hover { background: #EAF7FD; color: #3AB4E7; }
.cm-drawer-group.is-open .cm-drawer-sub { display: grid !important; gap: 2px; }

/* v1.3.0: container Trustindex pe Home */
.cm-trustindex .ti-widget { font-family: inherit !important; }

/* v1.3.0: Amelia pe mobil — formular pe toata latimea, campuri confortabile */
@media (max-width: 767px) {
	.cm-amelia { padding: 10px 8px !important; }
	.cm-amelia .amelia-v2-booking, .cm-amelia .amelia-app-booking { width: 100% !important; max-width: 100% !important; }
	.cm-amelia .el-form-item, .cm-amelia .el-input, .cm-amelia .el-select, .cm-amelia .el-input__inner { width: 100% !important; }
	.cm-amelia input, .cm-amelia select { font-size: 16px !important; min-height: 46px; }
	.cm-amelia .vue-tel-input, .cm-amelia .iti { width: 100% !important; }
	.cm-amelia .am-fs__phone, .cm-amelia [class*="phone"] input { width: 100% !important; }
}
.cm-amelia .el-button--primary, .cm-amelia .am-button--filled { background: #3AB4E7 !important; border-color: #3AB4E7 !important; border-radius: 11px !important; font-weight: 800 !important; }
.cm-amelia .el-button--primary:hover, .cm-amelia .am-button--filled:hover { background: #2497C4 !important; border-color: #2497C4 !important; }

/* v1.3.1: serviciile pe Home pe 3 randuri pe PC (4 coloane) */
@media (min-width: 1100px) {
	.cm-services-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 18px !important; }
	.cm-services-grid > a > div:first-child { height: 165px !important; }
	.cm-services-grid h3 { font-size: 17.5px !important; }
}

/* v1.3.2: articolele vechi construite cu Divi — neutralizam stilurile lor ca sa arate ca in design */
.cm-article .et_pb_section, .cm-article .et_pb_row, .cm-article .et_pb_column {
	background: transparent !important; padding: 0 !important; margin: 0 !important;
	position: static !important; width: 100% !important; max-width: 100% !important;
}
.cm-article .et_pb_module { margin: 0 0 16px !important; }
.cm-article .et_pb_text h1 { display: none !important; } /* titlul e deja afisat de tema */
.cm-article .et_pb_text, .cm-article .et_pb_text p, .cm-article .et_pb_text li, .cm-article .et_pb_text span,
.cm-article .et_pb_text strong, .cm-article .et_pb_text em {
	font-family: inherit !important; color: inherit !important; font-style: normal !important;
	font-size: inherit !important; line-height: inherit !important;
}
.cm-article .et_pb_text h2, .cm-article .et_pb_text h3, .cm-article .et_pb_text h4 {
	font-family: 'Source Serif 4', Georgia, serif !important; color: #111315 !important; font-style: normal !important;
}
.cm-article .et_pb_image img, .cm-article img { position: static !important; border-radius: 14px; height: auto; }
.cm-article .et_pb_button_module_wrapper, .cm-article .et_pb_sidebar, .cm-article .et_pb_widget_area { display: none !important; }
.cm-article .et_pb_blurb_position_left .et_pb_blurb_container { padding: 0 !important; }

/* v1.3.3: scoatem din articole promo-urile vechi Divi (calculator risc + buton apel) */
.cm-article .et_pb_image a[href*="determinarea-riscului"],
.cm-article .et_pb_image a[href^="tel"] { display: none !important; }

/* v1.3.9: bara Complianz — ascundem linkurile-placeholder {title}; stil pe brand */
.cmplz-cookiebanner .cmplz-links.cmplz-documents { display: none !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: #3AB4E7 !important; border-color: #3AB4E7 !important; }
