/*
Theme Name: CRD Medicina Diagnóstica
Theme URI: https://crd.med.br
Author: CRD
Author URI: https://crd.med.br
Description: Tema personalizado para CRD - Medicina Diagnóstica
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: crdmed
Tags: medical, healthcare, diagnostics
*/

/* Este arquivo é necessário para o WordPress reconhecer o tema */
/* Os estilos principais estão em assets/css/ */

/* ========================================
   CSS dos Cards de Blog
   ======================================== */

/* Limitar título dos cards de blog a 2 linhas */
.elementskit-post-image-card .entry-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.4;
}

/* ========================================
   CSS do Slider da Home - Sobreposição com Header
   ======================================== */

/* Slider da home sobrepõe o header para esconder espaço branco */
.elementor-12701 .elementor-element-a49677a {
	margin-top: -280px;
	padding-top: 200px;
}

/* ========================================
   CSS da Página: Preparo de Exames (page-preparo-de-exames.php)
   ======================================== */

/* Reduzir espaçamento entre título e acordeões - APENAS nesta página */
.page-preparo-exames .elementor-element-8f7f521 {
	margin-bottom: 20px !important;
	padding-bottom: 0 !important;
}

/* Remover padding inferior do primeiro e-con-inner (do título) */
.page-preparo-exames .elementor-element-0e8a7ae:first-of-type .e-con-inner {
	padding-bottom: 0 !important;
}

/* Remover padding superior do segundo e-con-inner (dos dropdowns) */
.page-preparo-exames .elementor-element-0e8a7ae:last-of-type .e-con-inner {
	padding-top: 0 !important;
}

/* Remover espaçamento do container do título */
.page-preparo-exames .elementor-element-8af0994 {
	gap: 0 !important;
}

/* Remover margens dos headings */
.page-preparo-exames .elementor-element-9f4e9d3,
.page-preparo-exames .elementor-element-e31571f {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Garantir que os acordeões ocupem 100% da largura do container - APENAS nesta página */
.page-preparo-exames .elementor-element-b74fb20 {
	width: 100% !important;
	max-width: 100% !important;
	margin-top: 0 !important;
}

.page-preparo-exames .elementor-element-f8ab9b7 {
	width: 100% !important;
}

.page-preparo-exames .elementskit-accordion {
	width: 100% !important;
}

.page-preparo-exames .elementskit-card {
	width: 100% !important;
	margin-bottom: 15px;
	box-sizing: border-box;
}

/* Ajustar padding do container interno - APENAS nesta página */
.page-preparo-exames .elementor-element-8af0994 {
	width: 100% !important;
}

/* ========================================
   CSS da Página: Convênios (page-convenios.php)
   ======================================== */

/* Título da seção de convênios */
.page-convenios .convenios-titulo-section {
	text-align: center;
	margin-bottom: 50px;
}

.page-convenios .convenios-titulo-section h3 {
	font-size: 14px !important;
	color: #46448B !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 10px !important;
	font-weight: 600;
}

.page-convenios .convenios-titulo-section h2 {
	font-size: 36px !important;
	color: #2c2c2c !important;
	font-weight: 600 !important;
	line-height: 1.3;
	margin: 0 !important;
}

.page-convenios .convenios-titulo-section h2 span {
	color: #46448B !important;
}

/* Grid de convênios - 4 colunas */
.convenios-grid-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	padding: 20px 0;
	width: 100%;
}

.convenio-item {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 20px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	transition: all 0.3s ease;
	min-height: 180px;
}

.convenio-item:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	transform: translateY(-2px);
}

.convenio-logo {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	margin-bottom: 10px;
}

.convenio-logo img {
	max-width: 100%;
	height: auto;
	max-height: 100px;
	object-fit: contain;
	display: block;
}

.convenio-title {
	width: 100%;
	padding-top: 10px;
	border-top: 1px solid #f0f0f0;
	font-size: 14px;
	font-weight: 600;
	color: #2c2c2c;
	text-align: center;
	line-height: 1.4;
	margin: 0;
}

/* Mensagem quando não há convênios */
.convenios-empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 60px 20px;
	background: #f9f9f9;
	border-radius: 8px;
	border: 2px dashed #ddd;
}

.convenios-empty p {
	font-size: 16px;
	color: #666;
	margin-bottom: 15px;
}

.convenios-empty .button {
	background: #46448B;
	color: white;
	padding: 10px 20px;
	border-radius: 4px;
	text-decoration: none;
	display: inline-block;
	transition: background 0.3s;
}

.convenios-empty .button:hover {
	background: #363375;
}

/* Responsivo - 3 colunas em tablets */
@media (max-width: 1024px) {
	.convenios-grid-container {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

/* Responsivo - 2 colunas em tablets pequenos */
@media (max-width: 768px) {
	.convenios-grid-container {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
	
	.page-convenios .convenios-titulo-section h2 {
		font-size: 28px !important;
	}
	
	.convenio-item {
		min-height: 120px;
		padding: 15px;
	}
}

/* Responsivo - 1 coluna em mobile */
@media (max-width: 480px) {
	.convenios-grid-container {
		grid-template-columns: 1fr;
		gap: 15px;
	}
}

/* ========================================
   CSS da Página: Corpo Clínico (page-corpo-clinico.php)
   ======================================== */

/* Título da seção */
.page-corpo-clinico .cc-titulo-section {
	text-align: center;
	margin-bottom: 0;
}

.page-corpo-clinico .cc-titulo-section h3 {
	font-size: 14px !important;
	color: #46448B !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 10px !important;
	font-weight: 600;
}

.page-corpo-clinico .cc-titulo-section h2 {
	font-size: 36px !important;
	color: #2c2c2c !important;
	font-weight: 600 !important;
	line-height: 1.3;
	margin: 0 !important;
}

.page-corpo-clinico .cc-titulo-section h2 span {
	color: #46448B !important;
}

.page-corpo-clinico .e-con-inner {
	margin-bottom: -100px;
}

/* Filtro de Especialidades */
.cc-filtro-container {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-bottom: 10px;
	margin-top: -110px;
	padding: 20px;
	background: #f9f9f9;
	border-radius: 15px;
	width: 100%;
}

.page-corpo-clinico .cc-filtro-btn {
	padding: 8px 12px;
	background: transparent;
	border: 2px solid #e5e5e5;
	border-radius: 25px;
	font-size: 14px;
	font-weight: 600;
	color: #666;
	cursor: pointer;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 0.1px;
}

.page-corpo-clinico .cc-filtro-btn:hover {
	border-color: #46448B;
	color: #46448B;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(70, 68, 139, 0.2);
}

.page-corpo-clinico .cc-filtro-btn.active {
	background: #46448B !important;
	border-color: #46448B !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(70, 68, 139, 0.3);
}

/* Grid do Corpo Clínico */
.corpo-clinico-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	padding: 20px 0;
	width: 100%;
}

.cc-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 20px;
	padding: 25px;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: all 0.3s ease;
	min-height: 300px;
}

.cc-card:hover {
	box-shadow: 0 8px 20px rgba(0,0,0,0.12);
	transform: translateY(-5px);
}

.cc-card-foto {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	margin-bottom: 20px;
	border: 4px solid #f0f0f0;
	transition: all 0.3s ease;
}

.cc-card:hover .cc-card-foto {
	border-color: #46448B;
	transform: scale(1.05);
}

.cc-card-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cc-placeholder {
	width: 100%;
	height: 100%;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ccc;
}

.cc-placeholder svg {
	opacity: 1;
}

.cc-card-info {
	width: 100%;
	text-align: center;
}

.cc-card-nome {
	font-size: 18px;
	font-weight: 700;
	color: #2c2c2c;
	margin: 0 0 8px 0;
	line-height: 1.3;
}

.cc-card-especialidade {
	font-size: 14px;
	color: #46448B;
	font-weight: 600;
	margin: 0 0 15px 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.cc-card-social {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #f0f0f0;
}

.cc-social-link {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	background: #f5f5f5;
	color: #666;
}

.cc-social-link:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.cc-instagram:hover {
	background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
	color: white;
}

.cc-facebook:hover {
	background: #1877f2;
	color: white;
}

.cc-linkedin:hover {
	background: #0077b5;
	color: white;
}

/* Mensagem quando não há profissionais */
.cc-empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 60px 20px;
	background: #f9f9f9;
	border-radius: 20px;
	border: 2px dashed #ddd;
}

.cc-empty p {
	font-size: 16px;
	color: #666;
	margin-bottom: 15px;
}

.cc-empty .button {
	background: #46448B;
	color: white;
	padding: 10px 20px;
	border-radius: 4px;
	text-decoration: none;
	display: inline-block;
	transition: background 0.3s;
}

.cc-empty .button:hover {
	background: #363375;
}

/* Responsivo - 3 colunas em tablets */
@media (max-width: 1024px) {
	.corpo-clinico-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
	
	.cc-filtro-container {
		padding: 15px;
	}
	
	.cc-filtro-btn {
		padding: 8px 16px;
		font-size: 12px;
	}
}

/* Responsivo - 2 colunas em tablets pequenos */
@media (max-width: 768px) {
	.corpo-clinico-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
	
	.page-corpo-clinico .cc-titulo-section h2 {
		font-size: 28px !important;
	}
	
	.cc-card {
		padding: 20px;
		min-height: 280px;
	}
	
	.cc-card-foto {
		width: 100px;
		height: 100px;
	}
	
	.cc-filtro-container {
		gap: 8px;
	}
}

/* Responsivo - 1 coluna em mobile */
@media (max-width: 480px) {
	.corpo-clinico-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	
	.cc-filtro-btn {
		padding: 8px 12px;
		font-size: 11px;
	}
	
	.cc-card {
		min-height: auto;
	}
}

/* ========================================
   CSS da Página: Telerradiologia (page-telerradiologia.php)
   ======================================== */

/* Wrapper do conteúdo adicional do Elementor */
.telerradiologia-content-wrapper {
	padding: 50px;
	background: white;
	border-radius: 30px;
	margin-top: 20px;
}

/* Responsivo para mobile */
@media (max-width: 768px) {
	.telerradiologia-content-wrapper {
		padding: 30px 20px;
		border-radius: 20px;
	}
}

/* ========================================
   CSS da Seção: Depoimentos (front-page.php) - NOVO SLIDER
   ======================================== */

/* Container principal do slider - fundo branco, mesma altura da div ao lado */
.depoimentos-container {
	background: white;
	padding: 40px;
	border-radius: 30px;
	height: 319px;
	display: flex;
	flex-direction: column;
}

/* Forçar mesma altura da div da esquerda (35f7a69) */
.elementor-element-ba6c355 {
	height: 100% !important;
	min-height: 100% !important;
}

.elementor-element-da95cf3 {
	display: flex !important;
	align-items: stretch !important;
}

.elementor-element-da95cf3 > .elementor-element {
	height: 100% !important;
}

/* Wrapper do Swiper */
.depoimentos-swiper {
	width: 100%;
	height: 100%;
}

/* Slide individual */
.depoimentos-swiper .swiper-slide {
	height: auto;
}

/* Conteúdo de cada depoimento */
.depoimento-content {
	display: flex;
	flex-direction: column;
}

/* Header com foto e texto lado a lado */
.depoimento-header {
	display: flex;
	gap: 15px;
	align-items: flex-start;
}

/* Foto do depoimento - 72x72px circular, alinhada à esquerda no topo */
.depoimento-foto {
	flex-shrink: 0;
}

.depoimento-img {
	width: 72px !important;
	height: 72px !important;
	border-radius: 50%;
	object-fit: cover;
}

/* Texto do depoimento - ao lado da foto */
.depoimento-texto {
	flex: 1;
	display: flex;
	flex-direction: column;
	margin-top: -20px;
}

.depoimento-texto p {
	margin: 0 0 15px 0;
	padding: 0;
	line-height: 1.6;
	text-align: left;
}

/* Nome/título do autor - alinhado com o texto, não com a imagem */
.depoimento-autor {
	text-align: left;
	margin: 0;
	padding: 0;
}

.depoimento-autor strong {
	font-size: 16px;
	font-weight: 600;
	color: #333;
}

/* Paginação do Swiper - ESCONDER COMPLETAMENTE */
.depoimentos-pagination,
.swiper-pagination {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Esconder navegadores (setas) do slider */
.depoimentos-swiper .swiper-button-next,
.depoimentos-swiper .swiper-button-prev,
.swiper-button-next,
.swiper-button-prev {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Responsivo para mobile */
@media (max-width: 768px) {
	.depoimentos-container {
		padding: 25px;
	}
	
	.depoimento-header {
		gap: 12px;
	}
}

/* Responsivo para mobile */
@media (max-width: 768px) {
	.elementskit-single-testimonial-slider {
		padding: 20px;
	}
	
	.elementskit-profile-image-card img {
		max-width: 72px !important;
		max-height: 72px !important;
		width: 72px !important;
		height: 72px !important;
	}
}

/* ========================================
   CSS da Seção de Avaliações Google
   ======================================== */

/* Estrelas amarelas */
.elementor-element-31f299d .e-icon-marked {
	color: #FFD700 !important;
}

.elementor-element-31f299d .e-icon-marked i {
	color: #FFD700 !important;
}

/* ========================================
   CSS das Miniaturas de Depoimentos (Avaliações Google)
   ======================================== */

/* Container das miniaturas */
.elementor-element-5755a59 {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: -10 !important;
}

/* Wrapper de cada miniatura */
.elementor-element-5755a59 .elementor-widget-image {
	margin-left: -10px !important;
	position: relative !important;
	z-index: 1 !important;
}

/* Primeira miniatura sem sobreposição */
.elementor-element-5755a59 .elementor-widget-image:first-child {
	margin-left: 0 !important;
}

/* Estilo das miniaturas circulares */
.elementor-element-5755a59 .elementor-widget-image img {
	width: 50px !important;
	height: 50px !important;
	min-width: 50px !important;
	min-height: 50px !important;
	max-width: 50px !important;
	max-height: 50px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 3px solid white !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
	display: block !important;
}

/* Hover effect */
.elementor-element-5755a59 .elementor-widget-image:hover {
	z-index: 10 !important;
}

.elementor-element-5755a59 .elementor-widget-image img:hover {
	transform: scale(1.1);
	transition: transform 0.3s ease;
}
