/*
Theme Name: CDR Prazeres
Theme URI: http://xaviernunes.pt/wpxnunes
Author: Xavier Nunes
Author URI: http://xaviernunes.pt
Description: Tema Personalizado
Version: 1.0
Text Domain: wpxnunes
*/
body {
	font-family: 'Montserrat', sans-serif;
	background: #fafafa;
	color: #444;
}
img { max-width: 100%; }
.logged-in #wp-admin-bar-wp-logo { 
    display: none; 
    visibility: hidden; 
}
.admin-bar .navbar.fixed-top { top: 32px !important; }
h1, h2, h3, h4, h5, h6 { 
	margin-top: 0;
	font-weight: normal;
}
h1, h2, h3, h4 { font-weight: bold; }
h1 {
	font-size: 32px;
	line-height: 38px;
}
h2 {
	font-size: 26px;
	line-height: 32px;	
}
h3 {
	font-size: 20px;
	line-height: 26px;	
}
#header {
    transition: all 0.5s;
    z-index: 997;
    padding: 20px 0;
}
form .website { display:none; }
.required::before {
    font-weight: bold;
    color: red;
    content: "*";
}
#topbar {
	padding: 0 0 10px 0;
	font-size: 14px;
	transition: all 0.5s;
}  
.social-links a {
	color: #535074;
	padding: 4px 12px;
	display: inline-table;
	line-height: 1px;
}
.social-links a:hover {
	color: #1bb1dc;
}
#topbar .social-links a:first-child { border-left: 0; }
.main-nav,
.main-nav * {
	margin: 0;
	padding: 0;
	list-style: none;
}
.main-nav > ul > li {
	position: relative;
	white-space: nowrap;
	display: inline-block;
}
.main-nav a {
	display: block;
	position: relative;
	color: #112641;
	padding: 10px 15px;
	transition: 0.3s;
	font-size: 14px;
	font-family: "Open Sans", sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
}
.main-nav a:hover, .main-nav .active > a, .main-nav li:hover > a {
	color: #112641;
	text-decoration: none;
}
.main-nav .sub-menu {
	display: block;
	position: absolute;
	left: 0;
	top: calc(100% - 30px);
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	padding: 10px 0;
	background: #fff;
	box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
	transition: ease all 0.3s;
}
.main-nav .menu-item-has-children:hover > ul {
	opacity: 1;
	top: 100%;
	visibility: visible;
}
.main-nav .menu-item-has-children li {
	min-width: 180px;
	position: relative;
	text-align: left !important;
}
.main-nav .menu-item-has-children ul a {
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
	color: #065e77;
}
.main-nav .menu-item-has-children ul a:hover,
.main-nav .menu-item-has-children ul .active > a,
.main-nav .menu-item-has-children ul li:hover > a { color: #1bb1dc; }
.main-nav .menu-item-has-children > a:after {
	content: "+";
	padding-left: 10px;
}
.main-nav .menu-item-has-children .menu-item-has-children ul {
	top: 0;
	left: calc(100% - 30px);
}
.main-nav .menu-item-has-children .menu-item-has-children:hover > ul {
	opacity: 1;
	top: 0;
	left: 100%;
}
.main-nav .menu-item-has-children .menu-item-has-children > a { padding-right: 35px; }
.main-nav .menu-item-has-children .menu-item-has-children > a:after {
	content: "+";
	position: absolute;
	right: 15px;
}
/* nav mobile */
.main-menu-mobile-trigger { display: none; }
.main-menu-mobile {
	width: 100%;
    height: auto;
    background: rgba(0,0,0,.9);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1001;	
	color: #fff;
	z-index: 1001;
}
.main-menu-mobile a, .main-menu-mobile a:visited, .main-menu-mobile a:active, .main-menu-mobile a:focus, .main-menu-mobile a:hover {
	color: #fff;
	text-decoration: none;
	font-size: 1.2em;
}
.main-menu-mobile ul {
	list-style: none;
	padding: 1em 2em;
}
.main-menu-mobile ul li {
	margin-bottom: 0.5em;
}
.admin-bar .main-menu-mobile {
	top: 32px;
}
.main-menu-mobile .main-nav-mobile-trigger {
	margin-left: 2em;
    margin-top: 2em;
}
/* o item vira um "hero" com imagem responsive */
.slide-item { position: relative; }

.slide-link {
  display: block;
  position: relative;
  text-decoration: none;
  color: inherit;
}

/* controla alturas aqui */
.slide-media {
  position: relative;
  height: 520px;        /* desktop */
  overflow: hidden;
}

@media (max-width: 767px) {
  .slide-media { height: 340px; } /* mobile */
}

/* imagem cobre como background, mas com <img> */
.slide-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.slide-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.35));
}

/* texto por cima */
.slide-caption{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
}

.slide-title{ margin:0 0 .5rem 0; }
.slide-excerpt{ margin:0; }
#slider .slide-title,
#slider .slide-excerpt {
  color: #fff;
}
.content-banner {
	width: 100%;
	height: 50px;
	background: repeat-x left url('img/page-padrao.jpg');
	margin-top: 1em;
	margin-bottom: 2em;
}
.content-banner.small { height: 10px !important; }
#main-content, #sidebar {
	margin-top: 1em;
	margin-bottom: 1em;
}
#main-content article {
	margin-bottom: 1em;
	transition: ease all 0.3s;
}
#main-content article:hover { opacity: .8; }
#main-content h1.title, #sidebar h1.title, #sidebar h1.wp-block-heading { border-bottom: 1px solid #222;	}
#main-content h1.title span, #sidebar h1.title span, #sidebar h1.wp-block-heading span { color: #666; }
#main-content h1, #sidebar h1.title, #sidebar h1.wp-block-heading {
	font-size: 18px;
    line-height: 24px;
	text-transform: uppercase;
	padding-bottom: 5px;
	color: #222;
}
#main-content h2, #sidebar h2 {
	font-size: 16px;
    line-height: 20px;
	text-transform: uppercase;
	padding-bottom: 5px;
	color: #222;
}
#main-content h3, #sidebar h3  {
	font-size: 14px;
    line-height: 18px;
	padding-bottom: 5px;
	text-transform: uppercase;
	color: #222;
}
#main-content article a {
	color: #444;
	display: block;
	text-decoration: none;
}
#main-content article a:visited, #main-content article a:active, #main-content article a:focus, #main-content article a:hover {
	color: #444;
	text-decoration: none;
}
#main-content article h1 {
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	margin-top: 10px;
	margin-bottom: 5px;
}
#main-content article .article-img {
	width: 100%;
	height: 150px;
	background-color: #ededed;
	background-repeat: no-repeat;
	background-size: cover;
    background-position: center;
}
#main-content article span {
	font-size: 13px;
	color: #666;
}
#footer {
	color: #555;
	font-size: 14px;
	margin-top: 4em;
	margin-bottom: 3em;
}
#sidebar ul, #sidebar ol {
	list-style: none;
    padding-left: 0 !important;
}
#sidebar ul li, #sidebar ol li { margin-bottom: 0.3em; }
#sidebar .photogallery .gallery-img-prev {
	width: 100%;
	height: 50px;
	background-color: #ededed;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
}
#topbar { text-align: right; }
/* docs */
ul.doc-year-select li { display: inline; }
ul.doc-year-select li a { 
	display: inline-block;
	padding: 0.5em 1em;
	margin-right: 1em;
	background: #112641;
	color: #fff;
	text-decoration: none;
}
ul.doc-year-select li a.current { 
	font-weight: bold;
	text-decoration: underline;
}
ul.doc-year-select li:last-child a { margin-right: 0; }
.widget-container { margin-bottom: 0.8em; }
.parceiro-box {
	height: 110px; /* Altura uniforme para todos os blocos na sidebar */
	display: flex !important;
	align-items: center; /* Centra verticalmente */
	justify-content: center; /* Centra horizontalmente */
	padding: 10px;
	background-color: #fff;
	border: 1px solid #dee2e6;
	border-radius: 0.5rem;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.parceiro-box:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
.parceiro-box img {
	max-height: 100% !important;
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	display: block;
	margin: 0 auto;
}
/* lg */
@media (max-width: 1399px) {
}
/* md */
@media (max-width: 1199px) {
}
/* sm */
@media (max-width: 991px) {
}
/* xs */
@media (max-width: 767px) {
}
@media (max-width: 575px) {
	#slider .item { height: 25vh; }
	#slider .slide-content div { padding-top: 2vh; }
	#head { text-align: center; }
	#topbar { text-align: center; }
	#head img { max-width: 70%; }
	.main-nav { display: none; }
	.main-menu-mobile-trigger { 
		padding-top: 2em;
		display: block;
	}
	.mobile-trigger-wrapper a, .mobile-trigger-wrapper a:active, .mobile-trigger-wrapper a:focus, .mobile-trigger-wrapperr a:visited, .mobile-trigger-wrapper a:hover { color: #333; }
	.mobile-trigger-wrapper { text-align: center; }
	.mobile-trigger-wrapper-close { padding: 3em 0 1em 0; }
	.main-nav-mobile .menu-item-has-children > a:first-child { 
		font-weight: bold;
		cursor: default;
	}
}