/*-----------------------------------------------------------

 Theme Name: Novo Espaco Potencial 4 
 Version: 2.0
 Description: Theme developed for Espaco Potencial website
 Author: Nuno Palma
 Author URI: 
 Designed & Developed by Nuno Palma
 Theme URI: http://www.espacopotencial.com
 License: GNU General Public License version 2.0
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: psychology

/* Reset */
*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{ margin:0; /*font-size:2.2vh;*/ font-size:15px; background:#FFF; 
	/*font-family: "Inter", sans-serif;*/
	/*font-family: "Quicksand", sans-serif;*/
	/*font-family: "Libre Franklin", sans-serif;*/
	/*font-family: "Lato", sans-serif;*/
	/*font-family: "Google Sans", sans-serif;*/
	/*font-family: "Roboto", sans-serif;*/
	font-family: "Montserrat", sans-serif;
	color:#1a1a1a;}
ol, ul { list-style: none }
blockquote, q { quotes: none }
:focus { outline: 0 }
table { border-collapse: collapse; border-spacing: 0; }
img { max-width: 100%; height: auto; }
mark { background: none; }
select { max-width: 100%; }
h1,h2,h3,h4{ /*font-family: "Google Sans", sans-serif;*/ }


/* Helper */
.justify-center{ justify-content: center; }
.shadow-light{ box-shadow: 0 0 6px 1px rgb(0 0 0 / 0.12); transition:0.2s ease; transition:0.2s; }
.shadow-light:hover{ box-shadow: 0 3px 10px 1px rgb(0 0 0 / 0.18); }
.shadow-medium{ box-shadow: 0 0 7px 1px rgb(0 0 0 / 0.15); transition:0.2s ease; transition:0.2s; }
.shadow-medium:hover{ box-shadow: 0 3px 10px 1px rgb(0 0 0 / 0.25); }

/* Header */
.main-header{ padding:1.25em 2em; position:fixed; top:0; left:0; width:100%; z-index:99; background:#FFF; border:1px solid #DDD; }
.main-header > .row{ align-items: center;}
.main-logo{ margin:0; }
.main-logo img{ width:230px; display:block; }
.header-flex{ display:flex; justify-content: flex-end; align-items: center;}

/* Menu */
/*** Main menu ***/
.main-menu{ text-align:center; font-size:1em; /*text-transform: uppercase;*/ font-weight:400; /*font-family: 'Cabin';*/ }
.main-menu ul, .main-menu li{ padding:0; margin:0; list-style-type:none; font-size:1em;  }
.main-menu ul{  }
.main-menu ul li{ position:relative; display:inline-block; margin:0 1.5em 0 0; }
.main-menu ul li:hover{  }
.main-menu ul li.current-menu-item{ }
.main-menu a{ color:#666; text-decoration: none; transition: 0.2s; }
.main-menu a:hover{ color:#b15247; }

.main-menu ul li.menu-item-has-children{ cursor: default; }
.main-menu ul li.menu-item-has-children > a:after{ content: "\f0dd"; font-family:"Font Awesome 6 Free"; display:inline-block; vertical-align:top; font-size:0.8em; margin:0.1em 0 0 0.3em; font-weight: 900;}
.main-menu ul li ul{ position:absolute; z-index:9; top:100%; left:0; width: max-content; max-width:20vw; text-align:left; /*white-space: nowrap; */ margin-top:1em; background:#FFF; box-shadow: 0 0 5px rgba(0,0,0,0.3); visibility:hidden; opacity:0; transition: 0.3s;  }
.main-menu ul li ul:before{ content:''; display:block; position:absolute; width:100%; height:1em; bottom:100%; }
.main-menu ul li:hover > ul{ visibility:visible; opacity:1;  }
.main-menu ul li ul li{ padding:0; display:block; padding:1.25em 1.5em 0 1.5em; font-size:1em; }
.main-menu ul li ul li:first-child{  }
.main-menu ul li ul li:last-child{  padding-bottom:1.25em; }

/* 3rd level submenu: opens to the right of its parent submenu instead of below it */
.main-menu ul li ul li.menu-item-has-children > a:after{ transform: rotate(-90deg); }
.main-menu ul li ul li ul{ top:0; left:100%; margin-top:0; }
.main-menu ul li ul li ul:before{ content:none; }

.menu-flex{ display:flex; justify-content: flex-end; align-items: center; }
.menu-book-button{ }
.bookings-link{ display:inline-block; padding:0.75em 1.25em; border:1px solid #b15247; border-radius:1.5em; text-decoration: none; background-color:#b15247; color:#FFF; transition:0.3s; }
.bookings-link i{ margin-left:0.25em;}
.mobile-menu-button{ display: none;}
.top-icons{ margin:0 1em 0 0; position:relative; }
.top-icons a{ margin:0 0.25em; font-size:1.25em; text-decoration: none;  }
.header-social-link{  color:#666; }
.header-search-link{  color:#666; cursor:pointer; }
.header-account-link{  color:#666; }
.top-buttons{ display:flex; justify-content: flex-end; align-items: center;}

.mobile-menu-close{ display:none; }
.mobile-menu-overlay{ display:none; }
.submenu-toggle{ display:none; }
.mobile-menu-book{ display:none; }

.header-search-box{ position:absolute; top:100%; right:0; margin-top:0.9em; background:#FFF; box-shadow:0 6px 20px rgba(0,0,0,0.15); border-radius:0.75em; padding:0.75em; display:none; z-index:100; }
.header-search-box.is-open{ display:block; }
.header-search-box form{ display:flex; gap:0.5em; }
.header-search-box input[type="search"]{ padding:0.6em 0.9em; border:1px solid #ddd; border-radius:0.5em; font-family:inherit; font-size:0.95em; width:220px; }
.header-search-box button{ border:none; background:#b15247; color:#FFF; border-radius:0.5em; padding:0 0.9em; cursor:pointer; transition:0.2s; }
.header-search-box button:hover{ background:#96453b; }

/*** Footer ***/
.main-footer{ background:#0e1420; color:#9fa8b8; font-size:0.9em; margin-top:5em; }
.footer-top{ padding:3em 2em 2em 2em; display:flex; flex-wrap: wrap; align-items: flex-end; }
.footer-logo{ width:20%; }
.footer-logo img{max-width:125px; opacity:0.5;}
.footer-right{ width:80%; text-align:right; }
.footer-social{ margin-bottom:2em; }
.footer-social a{ font-size:2em; color:inherit; text-decoration: none; margin-left:0.5em; }
.footer-contacts{ display:flex; justify-content: flex-end; margin-top:1em;}
.footer-contact{ margin-left:1em; }
.footer-contact i{ margin-right:0.25em; }
.footer-menu{ margin-top:2em;}
.footer-menu ul{ padding:0; margin:0; }
.footer-menu ul li{ display:inline-block; margin-left:1em; }
.footer-menu ul li a{ color:inherit; text-decoration: none;}
.sub-footer{ padding:2em 0; width:calc(100% - 4em); margin:0 auto; text-align: center; border-top:1px solid rgba(159, 168, 184,0.2);}
.grecaptcha-badge{visibility: hidden;} 


/* HOMEPAGE */
.home-intro{ position:relative; height:100vh; color:#FFF; overflow:hidden; }
#intro-background{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:0; background:no-repeat left center; background-size:cover;}
.intro-header-wrapper{ position:relative; z-index:1; height:100vh; width:55%; margin:0 auto; 
	
/*background: radial-gradient( ellipse 60% 80% at 45% 40%, rgba(34, 37, 32, 0.8) 0%, transparent 80%);	*/
	background: radial-gradient( ellipse 60% 80% at 45% 40%, rgba(60, 37, 32, 0.8) 0%, transparent 80%) , radial-gradient(ellipse 80% 60% at 55% 60%, rgba(60, 37, 32, 0.8) 0%, transparent 60% );
}
.intro-header{ position:absolute; right:0; top:50%; transform:translateY(-50%); width:100%; padding:2em 3em 2em 2em; /*font-family: "Inter";*/ text-align:center;  }
.intro-header h2{ /*font-family: "Inter";*/ width:100%; font-size:3.25em; margin:1em 0 0 0; line-height: 1.2em; font-weight: 500;}
.intro-header h2 span{ color:#ff7666; font-style: italic; }
.intro-header p{ font-size:1.25em; line-height: 1.6em; color:#f2f2f2; font-weight:300;}
.intro-header a.intro-link1{ color:#ff7666; text-decoration: none; font-size:1.5em; font-style: italic; font-weight: 300; }
.intro-header a.intro-link1:hover{ text-decoration: underline; }
.intro-header a.intro-link2{ display:inline-block; font-size:1.15em; margin:2em 0.5em 0 0.5em; padding:1em 1.5em;   border-radius:1.5em; text-decoration: none; color:#FFF; background:#b15247; transition:0.3s;}
.intro-header a.intro-link2:hover{ background:#FFF; color:#b15247; }
.intro-header a.intro-link2.is-outline{ color:#b15247; background:#FFF; }
.intro-header a.intro-link2.is-outline:hover{ color:#FFF; background:#b15247; }

.home-section{ padding:5em 0; background: linear-gradient(to bottom in oklab, #ffffff 0%, #f9fafb 100%); }
.home-section-header{ text-align:center; margin:0 auto 4em auto; }
.home-section-header h2{ font-size:3em; font-weight: 300; position:relative; margin:0; }
.home-section-header h2 span{ color:#b15247; }
.home-section-header p{ font-size:1.25em; color:#555; width:60%; margin:1em auto 0 auto; line-height: 1.5em; }
.home-red-section{ background: #b15247; color:#FFF;}
.home-section-more{ margin-top:1em; text-align: center; font-size:1.25em; }
.home-section-more a{ display: inline-block; border:1px solid #b15247; color:#b15247; padding:0.75em 1.5em; border-radius:1em; text-decoration: none; transition:0.2s; }
.home-section-more a:hover{ background-color:#b15247; color:#FFF; }

.home-locations-row{ justify-content: center; }
.card-row .col{ padding-bottom:30px; }
.home-card { padding: 2em; border-radius: 1.5em; height:100%; }
.home-card:hover {}
.card-icon{ position:relative; width:2.25em; height:2.25em; border-radius:50%; background:rgba(177, 82, 71, 0.15); color:#b15247; font-size:1.6em; transition:0.2s; }
.card-icon i{ position:absolute; top:50%; left:50%; transform: translate(-50%,-50%);}
.home-card:hover .card-icon{ background:#b15247; color:#FFF; }
.home-card header h3{ font-weight: 400; font-size:1.5em; margin:1em 0 0.75em 0;  }
.home-card:hover h3{  }
.home-card header h3 a{ color:inherit; text-decoration: none;}
.home-card header p{ line-height: 1.5em; margin:0 0 1em 0; color:#555; }
.home-card header .read-more{ color:#b15247; text-decoration: none;}
.home-card header .read-more i{ font-size:0.7em; vertical-align: middle;}

/*** Equipa ***/
.team-photo-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#bbb; font-size:2em; background:#f2f2f2; border-radius:50%; box-shadow:0 0 6px 1px rgb(0 0 0 / 0.12); }

.team-section-title{ display:flex; align-items:center; gap:0.5em; font-size:1.5em; font-weight:600; color:#b15247; margin:2em 0 1em 0; }
.team-section-title:first-of-type{ margin-top:0; }
.team-section-title i{ font-size:0.85em; }

/* Cabeçalho de secção com ícone (usado em "Os nossos especialistas" e
   "Artigos Relacionados" nas páginas de especialidade) */
.section-title-icon{ display:flex; align-items:center; gap:1em; margin:0 0 2em 0; }
.section-title-icon-badge{ flex:0 0 auto; width:3em; height:3em; border-radius:0.9em; background:#fdf0ef; color:#b15247; display:flex; align-items:center; justify-content:center; font-size:1.4em; }
.section-title-icon-text h2{ margin:0; font-size:1.8em; font-weight:700; color:#1a1a1a; }
.section-title-icon-text p{ margin:0.25em 0 0 0; color:#666; font-size:1em; }

.team-card{ display:flex; flex-direction:column; padding:1.5em; text-align:left; text-decoration:none; color:inherit; height:100%; background:#FFF; border:1px solid #eee; border-radius:1.25em; transition:0.2s; }
.team-card:hover{ border-color:#b15247; }
.team-card-photo{ width:9em; height:9em; margin:0 0 1em 0; }
.team-card-photo img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; box-shadow:0 0 2px 2px rgba(0,0,0,0.1); }
.team-card-body{ flex:1 1 auto; }
.team-card-body h3{ font-size:1.15em; font-weight:700; margin:0 0 0.3em 0; color:#1a1a1a; }
.team-card-position{ font-size:0.9em; font-weight:600; color:#b15247; line-height:1.4em; margin:0 0 0.6em 0; }
.team-card-places{ font-size:0.85em; color:#777; margin:0 0 0.6em 0; }
.team-card-places i{ color:#b15247; margin-right:0.3em; }
.team-card-short{ font-size:0.85em; color:#666; line-height:1.5em; margin:0; }
.team-card-footer{ display:flex; align-items:center; justify-content:space-between; margin-top:1.25em; padding-top:1em; border-top:1px solid #eee; font-weight:600; font-size:0.9em; color:#1a1a1a; }
.team-card-arrow{ flex:0 0 auto; width:2.2em; height:2.2em; border-radius:50%; background:#FFF; border:1px solid #b15247; color:#b15247; display:flex; align-items:center; justify-content:center; font-size:0.8em; transition:0.2s; }
.team-card:hover .team-card-arrow{ background:#b15247; color:#FFF; }

.team-profile{ margin-bottom:2em !important; }
.team-profile-back{ display:inline-flex; align-items:center; gap:0.5em; margin-bottom:2em; color:#666; text-decoration:none; font-size:0.9em; }
.team-profile-back:hover{ color:#b15247; }
.team-profile-photo{ aspect-ratio:1/1; }
.team-profile-photo img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; box-shadow:0 0 6px 1px rgb(0 0 0 / 0.12); }
.team-profile-position{ color:#b15247; font-weight:600; text-transform:uppercase; font-size:0.8em; letter-spacing:0.03em; margin:0 0 0.4em 0; }
.team-profile-places{ color:#777; font-size:0.9em; margin:0 0 0.75em 0; }
.team-profile-places i{ color:#b15247; margin-right:0.3em; }
.team-profile-name{ margin:0 0 0.75em 0; font-size:2.5em; font-weight:600; }
.team-profile-short{ font-size:1.1em; color:#555; margin:0 0 1.5em 0; line-height:1.5em; }
.team-profile-description{ line-height:1.7em; color:#333; }
.team-profile-description p{ margin:0 0 1em 0; }
.team-profile-cta{ margin-top:1em; }

.home-spec header{ display:flex; align-items: center; }
.spec-icon{  position:relative; display:inline-block; background:#FFF; color:#b15247; border-radius:0.75em; padding:0.5em; width:4em; height:4em; }
.spec-icon i{ font-size:1.5em; position:absolute; left:50%; top:50%; transform: translate(-50%,-50%);}
.home-spec h3{ margin:0 0 0 0.5em; font-weight: 400; font-size:1.5em; }

.home-article{ position:relative; border-radius: 2em; overflow: hidden; height:100%;}
.home-article figure{ position:relative; padding-top:56.6%; margin:0; overflow: hidden; }
.home-article figure img{ display:block; position:absolute; top:0; left:0; width:100%; height: 100%; object-fit: cover; transition: 0.2s;}
.home-article header{ padding:2em;}
.home-article header h3{ margin:0; font-size:1.75em; font-weight: 400;}
.home-article header h3 a{ color:inherit; }
.home-article header a{ color:#b15247; text-decoration: none; }
.home-article header p{ margin:0.8em 0 1em 0; line-height: 1.7em; color:#555; }
.home-article:hover figure img{ transform:scale(1.05,1.05); }
.home-article header a:hover{ text-decoration: underline; }

.home-article-headline{ position:relative; border-radius: 2em; overflow: hidden; display:flex; flex-wrap: wrap; margin-bottom:30px; }
.home-article-headline figure{ position:relative; padding-top:40%; height:100%; margin:0; overflow: hidden; }
.home-article-headline figure img{ display:block; position:absolute; top:0; left:0; width:100%; height: 100%; object-fit: cover; transition: 0.4s;}
.article-category{ display:inline-block; background:rgba(177, 82, 71, 0.25); color:#b15247; padding:0.5em 1em; border-radius:1em; font-size:0.8em; font-weight:300; margin-bottom:1em; }
.home-article-headline header{ padding:4em;  }
.home-article-headline header h3{ font-size:2.5em; font-weight: 400; margin:0; transition: 0.2s;}
.home-article-headline header h3 a{ color:inherit; }
.home-article-headline header p{ font-size:1.15em; color:#666; line-height: 1.6em;}
.home-article-headline header a{ color:#b15247; text-decoration: none;}
.home-article-headline header a i{ margin-left: 0.25em;}
.home-article-headline header a:hover{ text-decoration: underline;}
.home-article-headline:hover figure img{ transform:scale(1.05,1.05); }
.article-time{ color:#666; font-size:0.9em; }

.wizard-main{ background:#7f876f;padding-bottom:4em; }

/* Pesquisa */
.search-results-title{ font-size:2.25em; font-weight:400; margin:0 0 1em 0; color:#1a1a1a; }
.search-results-form{ display:flex; gap:0.5em; max-width:420px; margin-bottom:2.5em; }
.search-results-form input[type="search"]{ flex:1; padding:0.8em 1em; border:1px solid #ddd; border-radius:0.5em; font-family:inherit; font-size:1em; }
.search-results-form button{ border:none; background:#b15247; color:#FFF; border-radius:0.5em; padding:0 1.25em; cursor:pointer; transition:0.2s; }
.search-results-form button:hover{ background:#96453b; }

.search-results-list{ display:flex; flex-direction:column; gap:1.5em; }
.search-result-item{ display:flex; gap:0; border-radius:1.25em; overflow:hidden; background:#FFF; box-shadow: 0 0 6px 1px rgb(0 0 0 / 0.1); }
.search-result-photo{ flex:0 0 220px; height:220px; position:relative; overflow:hidden; }
.search-result-photo img{ display:block; width:100%; height:100%; object-fit:cover; }
.search-result-photo-placeholder{ width:100%; height:100%; min-height:150px; display:flex; align-items:center; justify-content:center; background:#f2f2f2; color:#ccc; font-size:2em; }
.search-result-content{ flex:1; padding:1.5em; display:flex; flex-direction:column; justify-content:center; min-width:0; }
.search-result-content .article-category{ align-self:flex-start; }
.search-result-title{ margin:0 0 0.5em 0; font-size:1.4em; font-weight:400; }
.search-result-title a{ color:#1a1a1a; text-decoration:none; }
.search-result-title a:hover{ color:#b15247; }
.search-result-excerpt{ margin:0 0 0.75em 0; color:#555; line-height:1.6em; }
.search-result-more{ color:#b15247; text-decoration:none; font-weight:600; }
.search-result-more:hover{ text-decoration:underline; }
.search-result-more i{ margin-left:0.3em; }
.search-results-empty{ color:#666; }

.search-results-pagination{ margin-top:2.5em; }
.search-results-pagination .nav-links{ display:flex; gap:0.5em; align-items:center; }
.search-results-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:2.5em; height:2.5em; padding:0 0.5em; border-radius:0.5em; text-decoration:none; color:#1a1a1a; }
.search-results-pagination .page-numbers.current{ background:#b15247; color:#FFF; }
.search-results-pagination a.page-numbers:hover{ background:#fdf0ef; color:#b15247; }

.home-call-row .col:nth-child(odd) article{ background: linear-gradient(315deg, transparent, rgba(171, 80, 79, 0.15)); }
.home-call-row .col:nth-child(even) article{ background: linear-gradient( 315deg, transparent, rgba(124, 152, 133, 0.15)
); }
.home-call figure{ padding-top:70%;}
.home-call figure figcaption a{ position:absolute; bottom:0; width:100%; padding:6rem 2rem 2rem 2rem; background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.8)); font-size:1.5em; font-weight: 300; margin:0; transition: 0.2s; color:#FFF; font-style: italic; text-decoration: none; }
.home-call header h3 {  transition: 0.3s; }
.home-call header{padding-bottom:6em; }
.home-call a.read-more2{ position:absolute; display:block; width:calc(100% - 4em); bottom:2em; color:#1a1a1a; background:#FFF; border-radius:1.5em; text-align: center; box-shadow:0 0 5px rgba(0,0,0,0.2); padding:1em; margin-top:2em; transition:0.3s; }
.home-call a.read-more2:hover{ text-decoration:none; background:#0e1420; color:#FFF; }
.home-call:hover h3{ color:#b15247; }

.home-section-cta{ text-align:center; margin-top:2.5em; }
.home-section-cta .pro-buy-button-outline{ margin-left:0; }

/*** Artigos Profissionais — selos nas listagens (homepage + arquivo) ***/
.pro-article-noimg{ position:absolute; top:0; left:0; width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#f2f2f2; color:#ccc; font-size:2.5em; }
.pro-article-price{ position:absolute; top:0.85em; right:0.85em; z-index:2; background:#b15247; color:#FFF; font-weight:700; font-size:0.82em; letter-spacing:0.01em; padding:0.4em 0.85em; border-radius:1.5em; box-shadow:0 2px 8px rgba(0,0,0,0.2); }
.pro-article-play{ position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; color:#FFF; font-size:2.75em; text-shadow:0 2px 10px rgba(0,0,0,0.35); pointer-events:none; }
.pro-article-play i{ opacity:0.92; transition:transform 0.2s; }
.home-article:hover .pro-article-play i{ transform:scale(1.08); }

.home-place{ padding:2em 1.5em; border-radius:1em; background:#f7f3f2; height:100%; }
.home-place h3{ font-weight: 400; font-size:1.35em; margin:0; }
.home-place h3 i{ color:#b15247; margin-right:0.25em; }
.home-place p{ font-size:1em; color:#555; line-height: 1.6em; font-weight: 400; margin:1em 0 0 0; }

.home-contact{ margin-top:30px; font-size:1.5em; text-align:center; background:#f7f3f2; padding:2em; border-radius:1em;}
.home-contact a{ color:inherit; text-decoration: none;}
.home-contact i{ color:#b15247;}

#contact-us-section{ /*background:url('assets/img/background2.jpg') no-repeat fixed; background-size: cover;*/}
.home-contact-us{ width:80%; margin:0 auto; display:flex; flex-wrap: wrap; border-radius:2em; overflow: hidden; box-shadow: 0 0 10px rgba(0,0,0,0.2);}
.home-contact-info{ width:50%; background:#b15247; color:#FFF; padding:3em; }
.home-contact-info h3, .home-contact-form h3{ font-size:1.75em; font-weight: 400; margin:0 0 1.25em 0;}
.contact-info-item{ display:flex; margin-bottom:2em; }
.contact-info-icon{ font-size:1.5em; margin-right:1em; }
.contact-info-content div{ margin-bottom:0.5em;}
.home-contact-form{ width:50%; padding:3em; background:#FFF; }
.home-contact-form label{display:block; font-size:0.9em; margin-bottom:0.35em;}
.home-contact-form input, .home-contact-form textarea, .home-contact-form select{ display:block; margin-bottom:1em; width:100%; border:1px solid #CCC; border-radius:0.65em; padding:0.75em 1em; font-family: inherit; font-size:inherit; background:#FFF; }
.home-contact-form textarea{ height:10em; resize: none;}
.home-contact-form input[type="submit"]{ background:#b15247; color:#FFF; border:none; }

/* Checkbox de aceitação (CF7): a regra genérica de input acima aplicava
   display:block+width:100% também ao checkbox, empurrando o texto do
   consentimento para a linha de baixo em vez de ficar ao lado. */
.home-contact-form input[type="checkbox"],
.home-contact-form input[type="radio"]{ display:inline-block; width:auto; margin:0; border:none; padding:0; background:none; }
.home-contact-form .wpcf7-list-item{ margin:0; }
.home-contact-form .wpcf7-acceptance label{ display:flex; align-items:flex-start; gap:0.5em; font-weight:400; font-size:0.85em; color:#666; margin-bottom:1em; }

/*
	Main Content
*/
.main-content{ padding-top:5.75em; }
.main-content ul, .main-content ol{ list-style: revert;}

/*** Page Header ***/
.page-intro{ position:relative; min-height:60vh; width:100%; }
.page-intro figure{ position:absolute; top:0; left:0; width:100%; height:100%; background:#f2f2f2;}
.page-intro figure img{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit: cover;}
.page-header2{ position:absolute; width:100%; bottom:0; z-index:9; color:#FFF; background: linear-gradient(to bottom, rgba(0,0,0,0) , rgba(0,0,0,0.5) 75%); padding:4em 0 6em 0;}
.single-page-header{ padding:4em 0 4em 0; }
.page-header2 p{ font-size:1.25em; width:80%; line-height: 1.6em; margin-bottom:0;}

.page-intro-breadcrumbs{ position:absolute; top:0; left:0; padding-top:1em; width:100%; z-index:9; padding-bottom:2.5em; background: linear-gradient(to bottom, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 100%); }
.page-intro-breadcrumbs .breadcrumbs{ margin:0; }
.page-intro-breadcrumbs .breadcrumbs a{ color:rgba(255,255,255,0.85); }
.page-intro-breadcrumbs .breadcrumbs a:hover{ color:#FFF; }
.page-intro-breadcrumbs .breadcrumbs span{ color:#FFF; }
.page-intro-breadcrumbs .breadcrumbs .breadcrumb-sep{ color:rgba(255,255,255,0.5); }
.page-title2{ font-size:3.25em; font-weight:400; line-height:1.2em; margin:0; color:#1a1a1a; color:#FFF; width:80%;}

.page-intro-wave{ position:absolute; bottom:-1px; left:0; width:100%; z-index:10; line-height:0; pointer-events:none; }
.page-intro-wave svg{ display:block; width:100%; height:90px; }

/* Layout do cabeçalho sem hero (single_backup.php) — não usado pelo
   single.php atual (que passou a usar o hero .page-intro, como o page.php),
   mantido comentado para poder voltar atrás sem ter de reescrever o CSS. */
/*
.page-header{ padding:2em 0 2.5em 0; }
.page-header h1{ font-size:3.5em; }
.page-title{ font-size:3em; font-weight:400; line-height:1.2em; margin:0 0 0.5em 0; color:#1a1a1a; }
.page-featured-image{ margin-top:2em; }
.page-featured-image img{ display:block; width:100%; height:auto; border-radius:1.5em; }
*/

.breadcrumbs{ font-size:0.85em; color:#888; margin:0.25em 0 2em 0; }
.breadcrumbs a{ color:#888; text-decoration:none; transition:0.2s; }
.breadcrumbs a:hover{ color:#b15247; }
.breadcrumbs a i{ margin-right:0.3em; }
.breadcrumbs .breadcrumb-sep{ font-size:0.7em; margin:0 0.6em; color:#CCC; }

.page-badge{ display:inline-block; /*background:rgba(177, 82, 71, 0.25); color:#b15247;*/ background: rgba(177, 82, 71, 0.35); color: rgba(255,255,255,0.8); padding:0.5em 1.25em; border-radius:1.5em; font-size:0.85em; font-weight:400; margin-bottom:1.25em; }
.article-badge{ display:inline-block; background:rgba(177, 82, 71, 0.15); color:#b15247; padding:0.5em 1.25em; border-radius:1.5em; font-size:0.85em; font-weight:400; margin-bottom:1.25em; }
.page-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:1.75em; font-size:0.9em; color:#666; margin-bottom:1.5em; }
.page-meta-item i{ margin-right:0.4em; color:#b15247; }
.page-share{ display:inline-flex; align-items:center; background:none; border:none; padding:0; font-family:inherit; font-size:0.9em; color:#666; cursor:pointer; transition:0.2s; }
.page-share i{ margin-right:0.4em; }
.page-share:hover{ color:#b15247; }
.page-share.copied:after{ content:'Link copiado!'; margin-left:0.6em; color:#b15247; font-size:0.9em; }

/* Dentro do hero (.page-header2) o fundo é uma imagem com gradiente escuro
   por baixo — o page-meta/share herdado do layout sem hero fica ilegível
   com as cores escuras de origem, por isso ganha aqui cores claras. */
/*.page-header2 .page-badge{ background:rgba(255,255,255,0.2); color:#FFF; }*/
.page-header2 .page-meta{ color:rgba(255,255,255,0.85); margin-top:1em; }
.page-header2 .page-meta-item i{ color:#FFF; }
.page-header2 .page-share{ color:rgba(255,255,255,0.85); }
.page-header2 .page-share:hover{ color:#FFF; }
.page-header2 .page-share.copied:after{ color:#FFF; }

.page-content{ line-height:1.7em; font-size:1.1em;}
.page-content h2{ font-size:1.5em; margin:1em 0 0em 0; font-weight:500;}
.page-content h3{ font-size:1.35em; margin:1em 0 0em 0; font-weight:500; color:#b15247; }
.page-content a:link{ color:#7c3a32; }
.page-content p:first-child{margin-top:0;}

.page-content figure.wp-block-pullquote{ color:#333; font-size:1.35em; font-weight:500; margin:0; padding:0; }
.page-content blockquote{ position:relative; margin:0 0 1em 0; padding:2.5em 3em 2.5em 3.5em; background:rgba(177, 82, 71, 0.05); border-radius:1.5em; /*border-left:4px solid #b15247;*/ width:100%; }
.page-content blockquote::before{ content:"\f10d"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; top:0.5em; left:1em; font-size:2em; color:#b15247; /*opacity:0.3;*/ }
.page-content blockquote p{ margin:0; font-size:1.35em; font-weight:500; font-style:italic; line-height:1.6em; color:#333; }
.page-content blockquote p:not(:last-child){ margin-bottom:0.75em; }
.page-content blockquote cite{ display:block; margin-top:1em; font-size:0.85em; font-style:normal; font-weight:400; color:#777; }
.page-content blockquote cite:before{ content:"— "; }

/*** Contactos: formulário Contact Form 7 ***/
.page-contact-form{ margin-top:2em; background:#f9fafb; border-radius:1.5em; padding:2.5em; }
.page-contact-form .item{ margin-bottom:1.2em; }
.page-contact-form label{ display:block; font-size:0.9em; font-weight:600; margin-bottom:0.4em; }
.page-contact-form input[type="text"],
.page-contact-form input[type="email"],
.page-contact-form input[type="tel"],
.page-contact-form select,
.page-contact-form textarea{ display:block; width:100%; border:1px solid #ddd; border-radius:0.65em; padding:0.75em 1em; font-family:inherit; font-size:1em; background:#FFF; }
.page-contact-form textarea{ min-height:8em; resize:vertical; }
.page-contact-form .wpcf7-list-item{ margin:0; }
.page-contact-form .wpcf7-acceptance label{ display:flex; align-items:flex-start; gap:0.5em; }
.page-contact-form .wpcf7-acceptance .wpcf7-list-item-label{ font-size:0.85em; color:#666; }
.page-contact-form input[type="submit"]{ width:auto; display:inline-block; padding:0.85em 2em; border:none; border-radius:1.5em; background:#b15247; color:#FFF; font-weight:600; cursor:pointer; transition:0.2s; }
.page-contact-form input[type="submit"]:hover{ background:#8f4038; }
.page-contact-form .wpcf7-not-valid-tip{ display:block; color:#a00; font-size:0.85em; margin-top:0.3em; }
.page-contact-form .wpcf7-response-output{ margin-top:1.5em; padding:1em 1.25em; border-radius:0.75em; }

/*** Newsletter: formulário MC4WP (form 469) ***/
.page-content .mc4wp-form{ margin:1.5em 0 0.5em; max-width:520px; }
.page-content .mc4wp-form .newsletter-link{ display:flex; align-items:stretch; gap:0.5em; }
.page-content .mc4wp-form input[type="email"]{ flex:1; min-width:0; border:1px solid #ddd; border-radius:0.65em; padding:0.75em 1em; font-family:inherit; font-size:1em; background:#FFF; }
.page-content .mc4wp-form input[type="email"]:focus{ outline:none; border-color:#b15247; }
.page-content .mc4wp-form .submit-button{ position:relative; flex:0 0 3.25em; border-radius:0.65em; background:#b15247; transition:background 0.2s; }
.page-content .mc4wp-form .submit-button:hover{ background:#8f4038; }
.page-content .mc4wp-form .submit-button input[type="submit"]{ position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; border:none; background:none; color:transparent; font-size:0; cursor:pointer; }
.page-content .mc4wp-form .submit-button .icon{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#FFF; font-size:1.1em; pointer-events:none; }
.page-content .mc4wp-form .terms{ margin-top:0.75em; line-height:1.5; }
.page-content .mc4wp-form .terms a{ color:#b15247; }
.page-content .mc4wp-form .mc4wp-response{ margin-top:1em; }
.page-content .mc4wp-form .mc4wp-response p{ margin:0; padding:0.9em 1.15em; border-radius:0.75em; font-size:0.95em; }
.page-content .mc4wp-form .mc4wp-alert.mc4wp-success p,
.page-content .mc4wp-form .mc4wp-response .mc4wp-alert.mc4wp-success{ background:rgba(45, 122, 74, 0.1); color:#2d7a4a; }
.page-content .mc4wp-form .mc4wp-alert.mc4wp-error p,
.page-content .mc4wp-form .mc4wp-response .mc4wp-alert.mc4wp-error{ background:rgba(170, 0, 0, 0.08); color:#a00; }

@media screen and (max-width:480px){
	.page-content .mc4wp-form .newsletter-link{ flex-direction:column; }
	.page-content .mc4wp-form .submit-button{ flex-basis:3em; height:3em; }
}

.sidebar{ margin-top:0em; position:sticky; top:7.75em; }
.sidebar-widget-title{ font-size:1.25em; font-weight:600; margin:0 0 1em 0; color:#b15247; }

.contact-card{ background:#FFF; border-radius:1.5em; padding:2em; }

.contact-line{ display:flex; align-items:center; gap:0.85em; padding:0.5em 0; color:#1a1a1a; text-decoration:none; font-size:0.95em; transition:0.2s; }
.contact-line:hover{ color:#b15247; }
.contact-icon{ display:flex; align-items:center; justify-content:center; flex-shrink:0; width:2.25em; height:2.25em; border-radius:50%; background:rgba(177, 82, 71, 0.12); color:#b15247; font-size:0.9em; }

/*** Área Profissional ***/
.pro-form-errors{ background:#fdf0ef; border-radius:0.75em; padding:1em 1.25em; margin-bottom:1.5em; color:#a00; }
.pro-form-errors ul{ margin:0; padding-left:1.25em; list-style:disc; }

.pro-auth-form{ display:flex; flex-direction:column; gap:0.4em; max-width:420px; }
.pro-auth-form label{ font-size:0.9em; font-weight:600; margin-top:0.6em; }
.pro-auth-form input{ padding:0.75em 1em; border:1px solid #ddd; border-radius:0.65em; font-family:inherit; font-size:1em; }
.pro-auth-form label.pro-checkbox{ display:flex; align-items:flex-start; gap:0.6em; font-weight:400; font-size:0.85em; color:#555; line-height:1.5; margin-top:1em; }
.pro-auth-form label.pro-checkbox input{ width:auto; margin:0.15em 0 0; padding:0; flex-shrink:0; }
.pro-auth-form label.pro-checkbox a{ color:#b15247; }

.pro-buy-button{ display:inline-block; margin-top:1.5em; padding:0.85em 1.75em; border:none; border-radius:1.5em; background:#b15247; color:#FFF; font-weight:600; font-size:1em; cursor:pointer; text-decoration:none; text-align:center; transition:0.2s; }
.pro-buy-button:hover{ background:#8f4038; color:#FFF; }
.pro-buy-button-outline{ background:#FFF; color:#b15247; border:1px solid #b15247; margin-left:0.75em; }
.pro-buy-button-outline:hover{ background:#b15247; color:#FFF; }
/* Dentro de .page-content os links herdam .page-content a:link (#7c3a32) —
   é preciso subir a especificidade para o botão manter o texto branco. */
.page-content a.pro-buy-button,
.page-content a.pro-buy-button:link,
.page-content a.pro-buy-button:visited,
.page-content a.pro-buy-button:hover{ color:#FFF; }
.page-content a.pro-buy-button.pro-buy-button-outline,
.page-content a.pro-buy-button.pro-buy-button-outline:link,
.page-content a.pro-buy-button.pro-buy-button-outline:visited{ color:#b15247; }
.page-content a.pro-buy-button.pro-buy-button-outline:hover{ color:#FFF; }

.pro-locked{ background:#f9fafb; border-radius:1.5em; padding:2.5em; margin-top:1.5em; }
.pro-locked-excerpt{ font-size:1.1em; color:#555; line-height:1.6em; }
.pro-locked-price{ font-size:1.1em; }
.pro-locked-price i{ color:#b15247; margin-right:0.35em; }
.pro-locked-pending{ color:#e69500; font-weight:600; }

/*** Compra de artigo — resumo + pagamento ***/
.pro-checkout, .pro-pay-panel{ background:#f9fafb; border-radius:1.5em; padding:2.5em; margin-top:1.5em; }
.pro-checkout-title{ margin:0 0 1.25em; font-size:1.5em; font-weight:600; }
.pro-checkout-summary{ display:flex; flex-wrap:wrap; gap:1em 2.5em; padding:1.25em 1.5em; background:#FFF; border-radius:1em; margin-bottom:1.5em; }
.pro-checkout-label{ display:block; font-size:0.75em; text-transform:uppercase; letter-spacing:0.05em; color:#999; margin-bottom:0.2em; }
.pro-checkout-summary strong{ font-size:1.1em; }
.pro-checkout-price{ margin-left:auto; text-align:right; }

.pro-pay-methods{ border:0; margin:0 0 1.25em; padding:0; }
.pro-pay-methods legend{ font-size:0.9em; font-weight:600; margin-bottom:0.6em; padding:0; }
.pro-pay-method{ display:flex; align-items:flex-start; gap:0.85em; background:#FFF; border:1px solid #e2e5ea; border-radius:1em; padding:1em 1.25em; margin-bottom:0.75em; cursor:pointer; transition:border-color 0.15s, box-shadow 0.15s; }
.pro-pay-method:has(input:checked){ border-color:#b15247; box-shadow:0 0 0 1px #b15247 inset; }
.pro-pay-method input{ margin-top:0.25em; flex-shrink:0; accent-color:#b15247; }
.pro-pay-method-body{ display:flex; flex-direction:column; gap:0.2em; }
.pro-pay-method-name{ font-weight:600; }
.pro-pay-method-name i{ color:#b15247; margin-right:0.4em; }
.pro-pay-method-desc{ font-size:0.88em; color:#777; }

.pro-pay-phone{ margin-bottom:1.25em; }
.pro-pay-phone label{ display:block; font-size:0.9em; font-weight:600; margin-bottom:0.4em; }
.pro-pay-phone input{ width:100%; max-width:280px; padding:0.75em 1em; border:1px solid #ddd; border-radius:0.65em; font-family:inherit; font-size:1em; }

.pro-checkout-back{ display:inline-block; margin-left:1em; color:#777; text-decoration:none; font-size:0.9em; }
.pro-checkout-back:hover{ color:#b15247; }

.pro-pay-panel-head{ display:flex; align-items:center; gap:0.85em; margin-bottom:1em; }
.pro-pay-panel-head h2{ margin:0; font-size:1.4em; font-weight:600; }
.pro-pay-panel-note{ color:#666; font-size:0.95em; }
.pro-pay-panel-warning{ color:#b9770a; font-weight:600; }
.pro-pay-ref{ border-collapse:collapse; margin:0.5em 0 1em; }
.pro-pay-ref th{ text-align:left; color:#888; font-weight:500; padding:0.35em 2em 0.35em 0; vertical-align:top; }
.pro-pay-ref td{ font-weight:700; font-size:1.15em; letter-spacing:0.03em; padding:0.35em 0; }
.pro-pay-panel-actions{ margin-top:1.25em; }
.pro-pay-panel-actions button{ background:none; border:0; padding:0; }

.pro-pay-spinner{ width:1.4em; height:1.4em; border:3px solid rgba(177,82,71,0.25); border-top-color:#b15247; border-radius:50%; animation:pro-spin 0.8s linear infinite; flex-shrink:0; }
@keyframes pro-spin{ to{ transform:rotate(360deg); } }

.pro-purchased-list{ list-style:disc; padding-left:1.5em; }
.pro-purchased-list li{ margin-bottom:0.5em; }
.pro-purchased-list a{ color:#b15247; text-decoration:none; }
.pro-purchased-list a:hover{ text-decoration:underline; }

/*** Área Pessoal — dashboard ***/
.pro-area-hero{ position:relative; background:linear-gradient(135deg, #b15247 0%, #8f4038 100%); color:#FFF; padding:3.5em 0 5.5em; }
.pro-area-hero .container{ position:relative; z-index:2; }
.pro-area-badge{ display:inline-block; background:rgba(255,255,255,0.15); color:#FFF; padding:0.45em 1.1em; border-radius:1.5em; font-size:0.8em; font-weight:600; letter-spacing:0.02em; margin-bottom:1em; }
.pro-area-badge i{ margin-right:0.4em; }
.pro-area-hero h1{ font-size:3em; font-weight:400; line-height:1.15; margin:0; color:#FFF; }
.pro-area-hero p{ margin:0.6em 0 0; font-size:1.15em; color:rgba(255,255,255,0.9); }
.pro-area-hero .page-intro-wave svg{ height:70px; }

.pro-area-body{ margin-top:-2.5em; position:relative; z-index:3; padding-bottom:2em; }

.pro-account-card{ display:flex; flex-wrap:wrap; gap:1em; align-items:center; justify-content:space-between; background:#FFF; border-radius:1.25em; padding:1.5em 1.75em; box-shadow:0 0 6px 1px rgb(0 0 0 / 0.12); margin-bottom:2.5em; }
.pro-account-id{ display:flex; align-items:center; gap:1em; }
.pro-account-avatar{ display:flex; align-items:center; justify-content:center; width:3em; height:3em; border-radius:50%; background:rgba(177, 82, 71, 0.12); color:#b15247; font-weight:700; font-size:1.15em; flex-shrink:0; }
.pro-account-meta{ display:flex; flex-direction:column; line-height:1.35; }
.pro-account-meta strong{ font-size:1.05em; }
.pro-account-email{ font-size:0.9em; color:#888; }
.pro-account-logout{ display:inline-flex; align-items:center; gap:0.5em; color:#b15247; text-decoration:none; font-weight:600; font-size:0.95em; }
.pro-account-logout:hover{ text-decoration:underline; }

.pro-section{ margin-bottom:2.75em; }
.pro-section-head{ display:flex; align-items:center; gap:0.75em; margin-bottom:1.25em; }
.pro-section-head h2{ font-size:1.4em; font-weight:600; margin:0; }
.pro-section-head h2 i{ color:#b15247; margin-right:0.4em; }
.pro-count{ display:inline-flex; align-items:center; justify-content:center; min-width:1.8em; height:1.8em; padding:0 0.5em; border-radius:1em; background:rgba(177, 82, 71, 0.12); color:#b15247; font-size:0.8em; font-weight:700; }
.pro-count-pending{ background:rgba(230, 149, 0, 0.15); color:#b9770a; }

.pro-article-card{ display:flex; flex-direction:column; height:100%; background:#FFF; border-radius:1.25em; overflow:hidden; }
.pro-article-thumb{ display:block; position:relative; padding-top:56%; overflow:hidden; }
.pro-article-thumb img{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:0.2s; }
.pro-article-card:hover .pro-article-thumb img{ transform:scale(1.05); }
.pro-article-body{ display:flex; flex-direction:column; gap:0.5em; padding:1.5em; flex:1; }
.pro-article-body h3{ margin:0; font-size:1.2em; font-weight:600; line-height:1.35; }
.pro-article-body h3 a{ color:inherit; text-decoration:none; }
.pro-article-date{ font-size:0.82em; color:#999; }
.pro-article-read{ margin-top:auto; color:#b15247; text-decoration:none; font-weight:600; font-size:0.95em; }
.pro-article-read i{ margin-left:0.35em; transition:0.2s; }
.pro-article-card:hover .pro-article-read i{ transform:translateX(3px); }

.pro-empty{ text-align:center; background:#f9fafb; border:1px dashed #dcdfe4; border-radius:1.25em; padding:3em 2em; }
.pro-empty i{ font-size:2.25em; color:#c7ccd4; }
.pro-empty p{ margin:0.75em 0 0; color:#666; }
.pro-empty .pro-buy-button{ margin-top:1.25em; }

.pro-pending{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.75em; }
.pro-pending li{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0.75em 1.5em; background:#f9fafb; border-radius:1em; padding:1.15em 1.5em; }
.pro-pending-info{ display:flex; flex-direction:column; line-height:1.4; }
.pro-pending-sub{ font-size:0.85em; color:#888; }
.pro-pending-status{ font-size:0.85em; font-weight:600; color:#b9770a; background:rgba(230, 149, 0, 0.12); padding:0.4em 0.9em; border-radius:1em; }
.pro-pending-ref{ display:flex; flex-direction:column; gap:0.15em; font-size:0.9em; text-align:right; }
.pro-pending-ref strong{ letter-spacing:0.03em; }

.pro-area-foot{ border-top:1px solid #eee; padding-top:1.75em; }
.pro-area-foot a{ color:#b15247; text-decoration:none; font-weight:600; }
.pro-area-foot a i{ margin-left:0.35em; }
.pro-area-foot a:hover{ text-decoration:underline; }

@media screen and (max-width:600px){
	.pro-area-hero{ padding:2.5em 0 4.5em; }
	.pro-area-hero h1{ font-size:2.2em; }
	.pro-account-card{ flex-direction:column; align-items:flex-start; }
	.pro-pending li{ flex-direction:column; align-items:flex-start; }
	.pro-pending-ref{ text-align:left; }
}

.contact-divider{ height:1px; background:#eee; margin:1.5em 0; }

.contact-subtitle{ font-size:0.75em; text-transform:uppercase; letter-spacing:0.06em; font-weight:600; color:#999; margin:0 0 1.25em 0; }

.contact-locations{ display:flex; flex-direction:column; gap:1.25em; }
.contact-location{ display:flex; align-items:flex-start; gap:0.75em; }
.contact-location i{ width:1em; margin-top:0.3em; color:#b15247; font-size:0.9em; flex-shrink:0; }
.contact-location strong{ display:block; font-weight:500; font-size:0.95em; margin-bottom:0.2em; }
.contact-location span{ display:block; font-size:0.85em; color:#777; line-height:1.5em; }

.cta-booking{ padding:2em 0 2em 0; }
.cta-booking-box{ display:flex; flex-wrap:wrap; gap:2em; align-items:center; justify-content:space-between; background:linear-gradient(135deg, #b15247, #7c3a32); border-radius:2em; padding:3.5em 4em; color:#FFF; }
.cta-booking-content{ max-width:32em; }
.cta-booking-eyebrow{ display:inline-block; font-size:0.8em; text-transform:uppercase; letter-spacing:0.08em; font-weight:600; color:#ffd0c9; margin-bottom:0.75em; }
.cta-booking-content h2{ font-size:2em; font-weight:400; margin:0 0 0.5em 0; line-height:1.3em; }
.cta-booking-content p{ font-size:1em; color:#f2d9d6; line-height:1.6em; margin:0; }
.cta-booking-button{ flex-shrink:0; display:inline-flex; align-items:center; gap:0.5em; background:#FFF; color:#b15247; padding:1em 2em; border-radius:1.5em; text-decoration:none; font-weight:500; white-space:nowrap; transition:0.3s; }
.cta-booking-button:hover{ background:#1a1a1a; color:#FFF; }

.related-articles{ padding:0em 0 0em 0; }
.related-articles .col{ padding-bottom:30px; }

.related-specialists{ padding:2em 0 0 0; }

.price-table{ width:90%;  border-radius:1.5em; overflow:hidden; background:#FFF; box-shadow:0 0 6px 1px rgb(0 0 0 / 0.08); border-collapse:collapse; }
.price-table tr{  }
.price-table td, .price-table th{ border:none; padding:0.75em 1em; }
.price-table th:first-child{ text-align:left; padding:1.25em 1em;}
.price-table thead{ border:none; }
.price-table th{ background:#b15247; color:#FFF; border-bottom:none; font-weight:400; }
.price-table tr:nth-child(even){ background:#F2F2F2;}
.price-table td{ font-size:0.9em; font-weight: 700; color:#b15247; }
.price-table td:first-child{ font-weight: 400; color:#1a1a1a; }
.price-table tbody tr:hover td{ background:#f3e8e6; }
.price-table tbody td:not(:first-child) em{ font-weight:400; font-style:italic; color:#999; }

/* Articles */
.article-header{ padding:2em 0; }
.article-header h1{ color:#b15247; margin:0; }
.article-header h1 i{ margin-right:0.25em;}

/*.price-table{ width:90%; border-radius:1.5em; overflow:hidden; background:#FFF; box-shadow:0 0 6px 1px rgb(0 0 0 / 0.08); }
.price-table table{ width:100%; border-collapse:collapse; }
.price-table thead{ border:none; }
.price-table thead th{ border:none; padding:1.25em 1.5em; background:rgba(177, 82, 71, 0.08); color:#b15247; font-size:0.8em; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; text-align:center; }
.price-table thead th:first-child{ text-align:left; }
.price-table tbody td{ border:none; padding:1.1em 1.5em; font-size:0.95em; color:#333; text-align:center; transition:0.2s; }
.price-table tbody tr:nth-child(even){ background:#faf7f6; }
.price-table tbody td:first-child{ text-align:left; font-weight:500; color:#1a1a1a; }
.price-table tbody td:not(:first-child){ font-weight:600; color:#b15247; }
.price-table tbody td:not(:first-child) em{ font-weight:400; font-style:italic; color:#999; }
.price-table tbody tr:hover td{ background:#f3e8e6; }*/

/*** Grid ***/
.container{max-width:1200px;margin:0 auto;padding:0 15px; position:relative; z-index:1;}
.row{margin:0 -15px; display:flex; flex-wrap:wrap; align-items:stretch;}
.row:after{content:'.';clear:both;display:block;height:0;visibility:hidden;}
.col{padding:0 15px;min-height:1px;}
.col1{width:8.333%;}
.col2{width:16.666%;}
.col3{width:25%;}
.col4{width:33.333%;}
.col5{width:41.666%;}
.col6{width:50%;}
.col7{width:58.33%;}
.col8{width:66.666%;}
.col9{width:75%;}
.col10{width:83.333%;}
.col11{width:91.666%;}
.col12{width:100%;}

/* ==========================================================
   Responsive — todos os media queries do ficheiro, agrupados
   aqui por breakpoint (do maior para o menor), em vez de
   espalhados junto de cada secção.
   ========================================================== */

/*** max-width:992px — Cabeçalho / menu móvel ***/
@media screen and (max-width:992px){

	html.mobile-menu-locked{ overflow:hidden; }

	.main-header{ /*padding:1em 1.25em;*/ }
	.main-header .row{ flex-wrap:nowrap; justify-content:space-between; }
	.main-header .col3, .main-header .col9{  padding:0; }
	.main-logo img{ width:150px; }

	.header-flex{ justify-content:flex-end; }
	.top-buttons{ /*gap:0.5em;*/ }

	/* O botão "Marcar Consulta" sai do cabeçalho compacto (ocupava espaço a
	   mais) e passa a viver dentro do painel do menu — só sobra a lupa e o
	   hamburger no cabeçalho. */
	.menu-book-button{ display:none; }

	/* O painel passa a off-canvas: escondido fora do ecrã por omissão,
	   desliza para dentro quando .is-open é aplicada pelo JS. */
	.main-menu{
		position:fixed;
		top:0;
		right:0;
		width:85%;
		max-width:340px;
		height:100vh;
		height:100dvh;
		overflow-y:auto;
		background:#FFF;
		box-shadow:-8px 0 30px rgba(0,0,0,0.2);
		z-index:200;
		text-align:left;
		padding:4.5em 1.5em 2em 1.5em;
		transform:translateX(100%);
		transition:transform 0.3s ease;
	}
	.main-menu.is-open{ transform:translateX(0); }

	.mobile-menu-overlay{
		display:block;
		position:fixed;
		inset:0;
		background:rgba(0,0,0,0.45);
		z-index:150;
		opacity:0;
		visibility:hidden;
		transition:opacity 0.3s ease;
	}
	.mobile-menu-overlay.is-open{ opacity:1; visibility:visible; }

	.mobile-menu-close{
		display:flex;
		align-items:center;
		justify-content:center;
		position:absolute;
		top:1em;
		right:1em;
		width:2.5em;
		height:2.5em;
		border:none;
		background:#f5f5f5;
		color:#1a1a1a;
		border-radius:50%;
		font-size:1.1em;
		cursor:pointer;
	}

	.mobile-menu-button{
		/*display:flex;
		align-items:center;
		justify-content:center;*/
		display:block;
		font-size:1.75em;
		color:#1a1a1a;
		border:none;
		background:none;
	}

	/* Lista vertical em vez de horizontal — cada item ocupa a linha toda. */
	.main-menu ul li{ display:block; margin:0; border-bottom:1px solid #eee; }
	.main-menu ul li a{ display:block; padding:0.9em 0; }
	.main-menu ul li:last-child{ border-bottom:none; }

	/* O item com filhos vira flex: o link e o botão de expandir partilham a
	   primeira linha, o submenu ocupa a linha seguinte quando aberto. */
	.main-menu ul li.menu-item-has-children{ display:flex; flex-wrap:wrap; align-items:center; cursor:pointer; }
	.main-menu ul li.menu-item-has-children > a{ flex:1 1 auto; }
	.main-menu ul li.menu-item-has-children > a:after{ content:none; } /* a seta do desktop dá lugar ao botão próprio */

	.submenu-toggle{
		display:flex;
		align-items:center;
		justify-content:center;
		flex:0 0 auto;
		width:2.5em;
		height:2.5em;
		border:none;
		background:none;
		color:#666;
		cursor:pointer;
		transition:transform 0.2s ease;
	}
	.main-menu ul li.submenu-open > .submenu-toggle{ transform:rotate(180deg); }

	/* Submenus: já não são popovers flutuantes — ficam encaixados no fluxo,
	   recuados, colapsados até ao toque no botão. */
	.main-menu ul li ul{
		position:static;
		flex:1 1 100%;
		width:auto;
		max-width:none;
		margin:0 0 0 1em;
		padding:0;
		background:none;
		box-shadow:none;
		visibility:visible;
		opacity:1;
		transition:none;
		display:none;
	}
	.main-menu ul li ul:before{ content:none; }
	.main-menu ul li.submenu-open > ul{ display:block; }
	.main-menu ul li ul li ul{ margin-left:1em; }

	/* Botão de marcação, destacado no fim da lista de items do menu. */
	.main-menu .mobile-menu-book{
		display:block;
		margin-top:1.5em;
		padding-top:1.5em;
		border-top:1px solid #eee;
		color:#FFF;
	}
	.main-menu .mobile-menu-book-link{
		display:flex;
		align-items:center;
		justify-content:center;
		gap:0.5em;
		padding:0.9em 1.25em;
		border-radius:1.5em;
		text-decoration:none;
		font-weight:500;
		color:#FFF;
		background:#b15247;
		transition:0.3s;
	}
	.mobile-menu-book-link:hover{ background:#96453b; }
}

/*** max-width:768px — Hero, secções da homepage e grelha ***/
@media screen and (max-width:768px){

	/*** Hero ***/
	.home-intro{ height:auto; min-height:100vh; }

	.intro-header-wrapper{
		width:100%;
		height:auto;
		min-height:100vh;
		margin:0;
		display:flex;
		align-items:flex-end;
		background:linear-gradient(180deg, rgba(60,10,8,0.15) 0%, rgba(60,10,8,0.55) 55%, rgba(60,8,0.9) 100%);
		
	}
	.intro-header{
		position:static;
		transform:none;
		width:100%;
		padding:2em 1.5em 3em 1.5em;
		text-align:center;
		box-sizing:border-box;
	}
	.intro-header h2{ font-size:2.3em; margin-top:0; }
	.intro-header p{ font-size:1em; }
	.intro-header a.intro-link1{ font-size:1.35em; }
	.intro-header > div:last-child{ display:flex; flex-direction:column; gap:0.75em; margin-top:1.5em; }
	.intro-header a.intro-link2{ display:block; width:100%; margin:0; text-align:center; box-sizing:border-box; }
	.page-header2{ padding:2em 0 3em 0;  background: linear-gradient(to bottom, rgba(0,0,0,0) , rgba(0,0,0,0.7) 75%); }
	.page-title2{ font-size:2.5em; width:100%;}
	.page-header2 p{ font-size:1.1em; width:100%; }
	.page-intro-wave svg{ height:40px; }

	.page-content figure.wp-block-pullquote{ font-size:1.25em; }
	.page-content blockquote{ padding:1.5em 1em 2.5em 1.5em;}
	.page-content blockquote::before{ top:0.25em; left:0.5em; font-size:2em;  }
	
	.team-card{ text-align: center;}
	.team-card-photo{margin:0 auto 1em auto;}

	/*** Homepage — secções ***/
	.home-section{ padding:3em 0; }
	.home-section-header{ margin-bottom:2.5em; }
	.home-section-header h2{ font-size:1.85em; }
	.home-section-header p{ width:100%; font-size:1.1em; }

	/* Cartões de dúvidas/serviços/parentalidade: uma coluna, dão muito
	   texto para caberem lado a lado num telemóvel. */
	.home-call-row .col4,
	.card-row .col3,
	.home-articles-row .col6{ width:100%; }

	/* Locais: conteúdo mais curto (título + morada), fica bem a par. */
	.home-locations-row .col3{ width:50%; }

	/* Artigo em destaque (o maior, imagem+texto lado a lado): empilha. */
	.home-article-headline{ flex-direction:column; }
	.home-article-headline figure.col6,
	.home-article-headline header.col6{ width:100%; }
	.home-article-headline header{ padding:2em; }
	.home-article-headline header h3{ font-size:1.75em; }

	/* Contactos: info + formulário lado a lado passa a empilhado. */
	.home-contact-us{ width:100%; flex-direction:column; }
	.home-contact-info, .home-contact-form{ width:100%; padding:2em; }

	.home-call-row .col{ padding:15px;}

	.wizard-main{ background:#FFF; }


	/*** M Grid ***/
	.m-col1{width:8.333%;}
	.m-col2{width:16.666%;}
	.m-col3{width:25%;}
	.m-col4{width:33.333%;}
	.m-col5{width:41.666%;}
	.m-col6{width:50%;}
	.m-col7{width:58.333%;}
	.m-col8{width:66.666%;}
	.m-col9{width:75%;}
	.m-col10{width:83.333%;}
	.m-col11{width:91.666%;}
	.m-col12{width:100%;}

	/*** M Equipa ***/
	.team-grid .col3{ width:50%; }
	.team-profile .col4, .team-profile .col8{ width:100%; }
	.team-profile-photo{ max-width:16em; margin:0 auto 1.5em auto; }

	/*** Footer ***/
	.footer-top{ flex-direction:column; align-items:center; text-align:center; gap:1.5em; padding:2.5em 1.5em 1.5em 1.5em; }
	.footer-logo{ width:auto; }
	.footer-right{ width:100%; text-align:center; }
	.footer-social{ margin-bottom:0; }
	.footer-contacts{ justify-content:center; flex-wrap:wrap; gap:0.5em 1.5em; margin-top:1.5em; }
	.footer-contact{ margin-left:0; }
	.footer-menu{ margin-top:1.5em; }
	.footer-menu ul{ display:flex; flex-wrap:wrap; justify-content:center; gap:0.5em 1.25em; }
	.footer-menu ul li{ margin-left:0; }
	.sub-footer{ padding:1.5em 1em; width:calc(100% - 2em); font-size:0.85em; }

}

/*** max-width:640px — Resultados de pesquisa ***/
@media (max-width:640px){
	.search-result-item{ flex-direction:column; }
	.search-result-photo{ flex-basis:auto; height:180px; }
}

/*** max-width:480px — Grelha pequena ***/
@media screen and (max-width:480px){

	/*** S Grid ***/
	.s-col1{width:8.333%;}
	.s-col2{width:16.666%;}
	.s-col3{width:25%;}
	.s-col4{width:33.333%;}
	.s-col5{width:41.666%;}
	.s-col6{width:50%;}
	.s-col7{width:58.33%;}
	.s-col8{width:66.666%;}
	.s-col9{width:75%;}
	.s-col10{width:83.333%;}
	.s-col11{width:91.666%;}
	.s-col12{width:100%;}

	/*** S Equipa ***/
	.team-grid .col3{ width:100%; }

	/*** S Footer ***/
	.footer-contacts{ flex-direction:column; gap:0.6em; }

}




