/* restore extras — generated by restore_04_polish.py */

/* Consent overlays: the restore ships no analytics or third-party tracking at all, so there
   is nothing to consent to. Their scripts are gone too, meaning the banner can never be
   dismissed and would cover the top of every page. Removing the markup is unreliable when a
   JS bundle re-renders it, so it is hidden here as well. */
.cookies-banner, .cookies-banner-content, .cookie-banner, .cookie-consent, .cookie-notice,
.cc-window, .cc-banner, #cookie-law-info-bar, #cookieChoiceInfo, .gdpr-banner,
#tarteaucitronRoot, .consent-overlay, .cookiebar {
  display: none !important;
}
body.cookie-banner-open, body.has-cookie-banner, html.cookies-open {
  overflow: auto !important;
}

/* Dead account/login modals left by the CMS (no backend on a static host) */
.modal-login, #loginModal, .login-modal { display: none !important; }

/* Carousel slots the platform's JS bundles would have filled at runtime: without a working
   bundle they stay as <img> elements with no src and render as broken-image icons. Nothing is
   lost by hiding them — they never had content in the restore. */
img:not([src]), img[src=""], img[src="#"] { display: none !important; }

/* The client's backlink block must read as the page's own copy. Where a theme only colours
   links inside specific containers, the anchor would otherwise look like plain text — inherit
   the surrounding colour but keep an underline so it is still visibly a link. */
.content-wraparea a { color: inherit; text-decoration: underline; }

/* A few px of horizontal overflow on phones (an absolutely-positioned login list, a wide footer
   logo) makes the whole page pannable sideways, which reads as broken.
   NB: use `clip`, never `hidden`, and never on html together with height:100%. `overflow:hidden`
   turns the element into a scroll container: on themes that set html{height:100%} it stops body's
   overflow propagating to the viewport, the window stops scrolling entirely and every
   scroll-driven behaviour (sticky nav, back-to-top, in-page anchors, PageDown/End) dies.
   `clip` suppresses the sideways pan without creating a scroll container. */
body { overflow-x: clip; }
/* ---- end generated block; anything below is preserved across re-runs ---- */

/* Static map that replaced the Google Maps iframe: same band, no third-party request. */
.restore-static-map { position: relative; }
.restore-static-map img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: center;
}
.restore-map-credit {
	margin: 0;
	padding: 8px 15px;
	font-size: 13px;
	line-height: 1.5;
	color: #2b2b2b;
	background: #f2f2f2;
	text-align: center;
}
.restore-map-credit a { color: #0a5c78; text-decoration: underline; }

/* ------------------------------------------------------------------------------------------
   Legibility repairs, all of them measured in a browser with _scripts/qa_legibility.js.
   This file is the last stylesheet on every page, so these rules win without !important.

   ROOT CAUSE for the first two blocks: five of the homepage's section background PHOTOGRAPHS
   (2020/09/Atividade_Cerebral_GIF.gif, 1.jpg, 22.jpg, asd.png, reflexologia.jpg) are recorded
   ok:false in _raw/.../_assets.json - the crawler never captured them and they cannot be
   recovered. The build correctly resolved them to `background-image:none`, which left the hero's
   white h1/h2 on white (contrast 1:1, measured) and left the two blue panels' white body copy on
   a 65-70%-opacity tint that was designed to sit over a dark photo. No photograph is invented
   here: the sections keep the site's own colour, at the density its own white type needs.
   ------------------------------------------------------------------------------------------ */

/* Hero: the site's own section blue, darkened just enough that its own white type clears AA.
   Measured after: h1/h2 5.5:1 instead of 1:1. */
.elementor-667 .elementor-element.elementor-element-5a3df7d {
	background-color: #2C6E94;
}

/* The two blue panels (PSICOLOGIA/PSICOLOGIA INFANTIL, JOVENS/SENIORES). Their overlay was
   #3686B7 at 0.65/0.70 over a photograph; with the photograph gone it composites against white
   and the white text on it measured 4:1 where 4.5 is needed. Solid, slightly deeper, same hue. */
.elementor-667 .elementor-element.elementor-element-91e8150 > .elementor-background-overlay,
.elementor-667 .elementor-element.elementor-element-16b7f86 > .elementor-background-overlay {
	background-color: #2C6E94;
	opacity: 1;
}

/* The Customizer set `a { color:#ffffff }` site-wide. In the header and footer that is right;
   in body copy it means every link is white on white - on /politica-de-privacidade/ the browser
   links (GOOGLE, Internet Explorer, Firefox, Safari) measured 1:1 and were simply not there.
   Scoped to the article area so the header, the nav and the footer keep their own colours, and
   left as a plain rule so the site's own inline `style="color:..."` choices still win. */
#primary a,
#content .elementor-widget-container a {
	color: #C2490F;
}
#primary a:hover,
#content .elementor-widget-container a:hover {
	color: #8F3409;
}
/* ...but not inside the two dark panels, where white is the correct colour. */
.elementor-667 .elementor-element.elementor-element-91e8150 a,
.elementor-667 .elementor-element.elementor-element-16b7f86 a,
.restore-map-credit a {
	color: inherit;
}
.restore-map-credit a { color: #0a5c78; }

/* Tap targets. The logo link is an inline <a> around an 89px image, so its own box was 16px
   high; the two footer links are 14px lines. Nothing moves visually - only the hit area grows. */
.custom-logo-link { display: inline-block; line-height: 0; }
.site-info .copyright a { display: inline-block; padding: 6px 0; }

/* Footer: #516F8E on #14172A measured 3.39:1 where 4.5 is needed at 12px. */
.site-info, .site-info .copyright { color: #C8D4E2; }
.site-info a, .site-info .copyright a { color: #9DC1E0; }
.site-info a:hover, .site-info .copyright a:hover { color: #FFFFFF; }

/* Primary navigation: the site's orange on the #f9f9f9 header band measured 2.88:1 where 3 is
   needed. One step darker, same hue. */
.navigation-default .menu-primary > ul > li > a,
.navigation-default .primary-menu > ul > li > a {
	color: #C2490F;
}

/* The phone and e-mail in the top bar are links (tel:/mailto:) that looked exactly like the
   text around them. Underline them so a visitor can see they are clickable. */
.header-info-links li span a { text-decoration: underline; }

/* The no-JS half of restore-header-space.js: the header is position:fixed above 992px and the
   theme's own compensation lives in a JS branch whose dependency the archive never captured, so
   without this the top 74-111px of every inner page is behind the header bar. 171px is the largest
   wrapper height measured across 992/1024/1180/1440; the script narrows it to the exact value. */
@media (min-width: 992px) {
	body:not(.home) .site-header.header-sticky { min-height: 171px; }
}

/* Tap targets in the blog chrome. The theme sets its post-meta and comment-meta links on a 19px
   line, and they are standalone controls (a date, an author, a comment count, a reply link), not
   links inside a sentence - so WCAG 2.5.8's running-text exemption does not cover them and
   qa_legibility counts every one. Only the hit area grows: the type, the colour and the line
   the eye reads are unchanged. */
.entry-meta a,
.comment-meta a,
.comment-metadata a,
.comment-author .fn a,
.comment-body .reply a,
.comment-reply-link,
.entry-footer .cat-links a,
.entry-footer .tags-links a {
	display: inline-block;
	padding-top: 4px;
	padding-bottom: 4px;
}

/* The footer menu uses the same #516F8E as the copyright line did: 3.39:1 on the #14172A footer,
   where 4.5 is needed at 12px. Same replacement, same hue family. */
.footer-navigation .footer-menu a { color: #9DC1E0; }
.footer-navigation .footer-menu a:hover { color: #FFFFFF; }


/* ==== rework 2026-09-11 (independent visual review) ==== */

/* R2. Contact Form 7 wraps its hidden inputs in <fieldset class="hidden-fields-container">
   and hid that fieldset from its own stylesheet, which was removed together with the CF7
   runtime. A bare fieldset keeps the UA's 1px groove border, so the form opened with an
   empty 600x17px box sitting directly above the "Nome" label - measured display:block,
   border 1px solid, at 1440 and 390. The inputs are hidden either way; only the box goes. */
.wpcf7 fieldset.hidden-fields-container { display: none; }

/* R3. The WhatsApp icon is marked up `fab fa-whatsapp`, but Elementor's brands.min.css is
   ok:false in _assets.json so no "Font Awesome 5 Brands" face was ever declared: the <i>
   fell back to Open Sans and ::before resolved to an empty string, leaving an empty
   orange-bordered 50x50 square next to the phone number.
   The FONT is on disk - /fonts/fa-brands-400.woff2, captured by the crawler. Read with
   fontTools: family "Font Awesome 5 Brands Regular", 457 glyphs, U+F232 -> glyph
   "whatsapp". These three declarations are the vendor stylesheet for a file the site
   already serves, written in the same shape as this site's own solid.min/regular.min. */
@font-face {
	font-family: "Font Awesome 5 Brands";
	font-style: normal;
	font-weight: 400;
	font-display: block;
	src: url(/fonts/fa-brands-400.woff2) format("woff2");
}
.fab {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	font-family: "Font Awesome 5 Brands";
	font-weight: 400;
}
.fa-whatsapp:before { content: "\f232"; }

/* R6. Elementor section 08b26ca is a parallax strip holding nothing but a 189px spacer over
   a background photograph that is one of the five unrecoverable ok:false images. Its
   overlay is #8A8888 at 0.7 with brightness(175%), which over the lost photo composites to
   a bare light-grey band (~210px at 1440, ~180px at 390) between the AREAS DE INTERVENCAO
   heading and the blue checklist - an empty placeholder row. No photograph is invented and
   no stock image is substituted: the overlay and the spacer collapse, the section keeps its
   own 40px top margin, and the two sections it used to separate simply meet. */
.elementor-667 .elementor-element.elementor-element-08b26ca > .elementor-background-overlay {
	display: none;
}
.elementor-667 .elementor-element.elementor-element-08b26ca .elementor-spacer-inner {
	--spacer-size: 0px;
	height: 0;
}
.elementor-667 .elementor-element.elementor-element-08b26ca .elementor-widget-spacer,
.elementor-667 .elementor-element.elementor-element-08b26ca .elementor-widget-wrap {
	margin-bottom: 0;
	padding: 0;
}

/* R9 (not on the reviewer's list either; found because qa_legibility kept printing "Sobre Nós
   2.88:1 needs 3" on every page even though the block above already sets the nav to #C2490F).
   MEASURED with CDP getMatchedStylesForNode: the winning declaration is
   `.primary-menu a{color:#FF6000!important}` from the site's own inline wp-custom-css, and the
   computed colour is rgb(255,96,0) on rgb(249,249,249) - 2.88:1, where 3 is needed. The earlier
   repair was in the stylesheet and never reached the page; a fix that satisfies a property while
   leaving the defect is not a fix. Same colour decision as before, now weighted to win.
   Scoped to .navigation-default, which is the desktop bar only: the mobile drawer is
   #mobile-navigation.mobile-navigation and keeps the theme's white-on-#2c3c4d. */
.navigation-default .menu-primary > ul > li > a,
.navigation-default .primary-menu > ul > li > a {
	color: #C2490F !important;
}


/* ==== owner-bar round 1 (2026-09-15) - the owner's "would I call anything broken?" review ==== */

/* OB2. Menu targets landed under the fixed header bar at >= 992px (heading top 133px, bar bottom
   171px). js/restore-nav-extras.js measures the bar and publishes --fmp-fixed-header; 191px is the
   fallback for the tallest bar measured (171px) + 20px. Covers native jumps too: /#servicos from
   another page and the inline "contate-nos" link. Below 992px the header scrolls away. */
@media (min-width: 992px) {
	html { scroll-padding-top: var(--fmp-fixed-header, 191px); }
}
/* Below 992px the header scrolls away; a native jump from the phone drawer put the heading's
   top edge at exactly 0px. A little air so it does not read as clipped. */
@media (max-width: 991px) {
	html { scroll-padding-top: 16px; }
}

/* OB3. Legibility. Body copy was 14px on both policy pages and the 404, and the homepage's
   Psicologia Infantil / Adultos columns were #7A7A7A (Elementor's default kit "text" colour, about
   4.3:1). Same words, same fonts, same layout: 15px on desktop, 16px on phone, #444 text.
   Headings styled as <p class="elementor-heading-title"> and the map credit keep their sizes.
   The grey is set per widget in post-667.css (d43756d, b2698fb), not through the kit variable,
   so the override names the same two widgets. */
.elementor-667 .elementor-element.elementor-element-d43756d,
.elementor-667 .elementor-element.elementor-element-b2698fb { color: #444444; }
#content p:not(.elementor-heading-title):not(.restore-map-credit),
#content li {
	font-size: 15px;
}
@media (max-width: 767px) {
	#content p:not(.elementor-heading-title):not(.restore-map-credit),
	#content li,
	#content .elementor-widget-text-editor {
		font-size: 16px;
	}
}

/* OB4. The hero is an Elementor "full height" section (height:100vh) whose background was
   Atividade_Cerebral_GIF.gif, one of the five ok:false photographs. Without it the section was
   900px of flat blue around 152px of text. No image is substituted: the section is sized to its
   content with proportionate space instead. Phone was already sized to content.
   On the homepage the header is fixed above 992px and draws over the top of this section
   (measured: section top 0px at 1180-1440 where its own margin-top is -60px, 60px at 992-1024,
   bar bottom 171px), so the reserved space starts under the bar - 360px of visible band. */
@media (min-width: 768px) {
	.elementor-667 .elementor-element.elementor-element-5a3df7d.elementor-section-height-full { height: auto; }
	.elementor-667 .elementor-element.elementor-element-5a3df7d > .elementor-container { height: auto; min-height: 360px; }
}
@media (min-width: 992px) {
	.elementor-667 .elementor-element.elementor-element-5a3df7d.elementor-section-height-full {
		padding-top: calc(var(--fmp-fixed-header, 191px) - 80px) !important;
	}
}
@media (min-width: 1025px) {
	.elementor-667 .elementor-element.elementor-element-5a3df7d.elementor-section-height-full {
		padding-top: calc(var(--fmp-fixed-header, 191px) - 20px) !important;
	}
}

/* OB5. NATUROPATIA's right column (6c015be) held only an image widget whose photograph was never
   captured - an empty 449x467 box beside the text. The empty column goes and the text takes the
   full row, exactly like the REFLEXOLOGIA block directly above it.
   ADULTOS: the 400px image sat at the top of a ~730px text column, leaving ~330px of blank column
   under it. While the header is fixed the image now stays in view beside the text it illustrates. */
.elementor-667 .elementor-element.elementor-element-6c015be { display: none; }
@media (min-width: 768px) {
	.elementor-667 .elementor-element.elementor-element-57a27f4 { width: 100%; }
}
@media (min-width: 992px) {
	.elementor-667 .elementor-element.elementor-element-03fc5a2 > .elementor-widget-wrap {
		position: sticky;
		top: var(--fmp-fixed-header, 191px);
		align-self: flex-start;
	}
}

/* OB6. Short pages (the 404) ended mid-screen with the dark footer followed by bare white. The
   theme has no sticky footer; the page wrapper becomes a full-height column so the footer sits at
   the bottom of the viewport. Home is long and untouched. */
body:not(.home) #page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
body:not(.home) #page > #content { flex: 1 0 auto; min-width: 0; }

/* OB8. AREAS DE INTERVENCAO: 100px above the first row and 100px under the last row of a panel
   whose rows are only an icon and one word read as an empty blue band. Same symmetry, tighter. */
.elementor-667 .elementor-element.elementor-element-0b28ee1 { padding-top: 60px; }
.elementor-667 .elementor-element.elementor-element-7273290 { padding-bottom: 60px; }

/* OB9. The inline "contate-nos" link carried an editor-inserted style="color:#0000ff" (browser
   blue) where every other body link on the site is the practice's orange. */
#content .elementor-widget-container span[style*="#0000ff"],
#content .elementor-widget-container a[style*="#0000ff"] {
	color: #C2490F !important;
}
/* ...and underlined: in the orange alone, inside a centred sentence, qa_legibility measured it as
   a link that looks like plain text. */
#content .elementor-widget-container a[style*="#0000ff"] { text-decoration: underline; }

/* OB3b. PSICOLOGIA (section e413c7d): white 15px body copy on #3686B7 measured 4.0:1 where 4.5 is
   needed. The 2026-09-11 pass left it as "the clinic's design"; the owner's bar asks for strong
   contrast on all body copy, so it takes the same deeper #2C6E94 already used by the JOVENS and
   SENIORES panels a scroll below it. Same hue family, same white type, same words. */
.elementor-667 .elementor-element.elementor-element-e413c7d:not(.elementor-motion-effects-element-type-background),
.elementor-667 .elementor-element.elementor-element-e413c7d > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #2C6E94;
}

/* OB3c. AURICULOTERAPIA (section e86b0bb): the same white 15px body copy on #3686B7 at 4.0:1, found
   once the PSICOLOGIA panel stopped filling qa_legibility's report. Same cure, same #2C6E94. */
.elementor-667 .elementor-element.elementor-element-e86b0bb:not(.elementor-motion-effects-element-type-background),
.elementor-667 .elementor-element.elementor-element-e86b0bb > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #2C6E94;
}
/* The OpenStreetMap credit link (our own block) measured 4.41:1 on #f2f2f2: the orange from
   `#content .elementor-widget-container a` wins on ID specificity over every class-only rule above,
   so the intended blue never applied. Same specificity, darker blue. */
#content .elementor-widget-container .restore-map-credit a { color: #07485E; }


/* ==== owner-bar round 2 (2026-09-15) ==== */

/* R2-04a. The PSICOLOGIA illustration (Psicologia_Caldas_da_Rainha_-_Filipa_Med.gif, a 500x500
   animated GIF) was drawn at width:59%; height:300px by the page's own Elementor CSS, i.e. squeezed
   to 241x300 at 1440 and 201x300 at 390 - a stretched brain. Same file, same place, square again:
   300px on desktop (the height it already had), 240px on phone. The white outline around the brain
   is inside the artwork itself (the GIF's corners are transparent) and is left alone. */
.elementor-667 .elementor-element.elementor-element-9b0280c img {
	width: 300px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
@media (max-width: 767px) {
	.elementor-667 .elementor-element.elementor-element-9b0280c img { width: 240px; }
	/* R2-04b. A 50px Elementor spacer (4882797) opens the panel so the heading lines up with the
	   illustration beside it on desktop. Stacked on a phone there is nothing to line up with, and it
	   read as ~110px of empty blue above PSICOLOGIA. */
	.elementor-667 .elementor-element.elementor-element-4882797 { margin-bottom: 0; }
	.elementor-667 .elementor-element.elementor-element-4882797 .elementor-spacer-inner {
		--spacer-size: 10px;
		height: 10px;
	}
}

/* R2-05. AREAS DE INTERVENCAO on a phone: the clinic's 3x3 grid of icon-over-word boxes collapsed to
   one column of nine 107px boxes 153px apart, ~1,500px of blue for nine words. Below 768px each box
   becomes a checklist row - the same check icon to the left of the same word - in a centred column.
   Desktop and tablet keep the 3x3 grid. Words, icons and colours unchanged. */
@media (max-width: 767px) {
	.elementor-667 .elementor-element-0b28ee1 > .elementor-container,
	.elementor-667 .elementor-element-9596eaa > .elementor-container,
	.elementor-667 .elementor-element-7273290 > .elementor-container {
		max-width: 320px;
		margin-left: auto;
		margin-right: auto;
	}
	.elementor-667 .elementor-element.elementor-element-9596eaa,
	.elementor-667 .elementor-element.elementor-element-7273290 { padding-top: 0; }
	.elementor-667 .elementor-element.elementor-element-0b28ee1 { padding-top: 40px; }
	.elementor-667 .elementor-element.elementor-element-7273290 { padding-bottom: 40px; }
	.elementor-667 .elementor-element-0b28ee1 .elementor-column > .elementor-element-populated,
	.elementor-667 .elementor-element-9596eaa .elementor-column > .elementor-element-populated,
	.elementor-667 .elementor-element-7273290 .elementor-column > .elementor-element-populated {
		margin: 0;
		padding: 6px 10px;
	}
	.elementor-667 .elementor-element-0b28ee1 .elementor-widget-icon-box > .elementor-widget-container,
	.elementor-667 .elementor-element-9596eaa .elementor-widget-icon-box > .elementor-widget-container,
	.elementor-667 .elementor-element-7273290 .elementor-widget-icon-box > .elementor-widget-container {
		margin: 0;
	}
	.elementor-667 .elementor-element-0b28ee1 .elementor-icon-box-wrapper,
	.elementor-667 .elementor-element-9596eaa .elementor-icon-box-wrapper,
	.elementor-667 .elementor-element-7273290 .elementor-icon-box-wrapper {
		display: flex;
		flex-direction: row;
		align-items: center;
		text-align: left;
	}
	.elementor-667 .elementor-element-0b28ee1 .elementor-icon-box-icon,
	.elementor-667 .elementor-element-9596eaa .elementor-icon-box-icon,
	.elementor-667 .elementor-element-7273290 .elementor-icon-box-icon {
		flex: 0 0 auto;
		margin: 0 16px 0 0;
	}
	.elementor-667 .elementor-element-0b28ee1 .elementor-icon-box-icon .elementor-icon,
	.elementor-667 .elementor-element-9596eaa .elementor-icon-box-icon .elementor-icon,
	.elementor-667 .elementor-element-7273290 .elementor-icon-box-icon .elementor-icon {
		font-size: 30px;
	}
	.elementor-667 .elementor-element-0b28ee1 .elementor-icon-box-title,
	.elementor-667 .elementor-element-9596eaa .elementor-icon-box-title,
	.elementor-667 .elementor-element-7273290 .elementor-icon-box-title {
		margin: 0;
	}
}

/* R2-06. The privacy policy's cookie list (<li>, 15px) inherited the theme's body line-height 1.3
   (19.5px) while every paragraph around it sits on 24px. Same 1.6 rhythm for list items. */
#content li { line-height: 1.6; }

/* R2-08. /politica-de-privacidade/ opened with "PSICOLOGA CLINICA / FILIPA MEDEIROS" in 48px #424143
   directly on top of the page title "POLITICA DE PRIVACIDADE" in the same 48px, so the two read as one
   broken title with a blank strip above. The banner (section 8c8321a) was a photograph with the name
   over it: its image widget de0603d held wp-content/uploads/2020/05/1.jpg (1512x1080), recorded ok:false
   in _assets.json in every size, so the build rightly dropped the <img> and left a 0px widget and bare
   headings. No photograph is substituted. The banner gets the same treatment the homepage hero received
   for the same loss: the site's own #2C6E94 band with the same white Poppins type, centred, and the page
   title sits on white below it. Words and tags unchanged. This banner exists on this page only. */
.elementor-596 .elementor-element.elementor-element-de0603d { display: none; }
.elementor-596 .elementor-element.elementor-element-8c8321a {
	background-color: #2C6E94;
	padding: 44px 20px 48px;
	text-align: center;
}
.elementor-596 .elementor-element.elementor-element-b4fa23d { margin-bottom: 10px; }
.elementor-596 .elementor-element.elementor-element-b4fa23d p {
	margin: 0;
	color: #FFFFFF;
	letter-spacing: 0.12em;
	text-align: center;
}
.elementor-596 .elementor-element.elementor-element-3fd9bef h1 {
	color: #FFFFFF;
	font-size: 40px;
	line-height: 1.15;
	text-align: center;
}
.elementor-596 .elementor-element.elementor-element-1364fee { margin-top: 40px; }
@media (max-width: 767px) {
	.elementor-596 .elementor-element.elementor-element-8c8321a { padding: 28px 16px 32px; }
	.elementor-596 .elementor-element.elementor-element-3fd9bef h1 { font-size: 30px; }
	.elementor-596 .elementor-element.elementor-element-1364fee { margin-top: 28px; }
}


/* ==== owner-bar round 3 (2026-09-15) ==== */

/* R3-04. REFLEXOLOGIA (text widget ba6347f) is the one body-copy block the page's Elementor CSS sets
   to pure #000000; every other paragraph on the site is #444/#424143. Same size, same words, same
   inline markup; the colour joins the rest of the page. */
.elementor-667 .elementor-element.elementor-element-ba6347f,
.elementor-667 .elementor-element.elementor-element-ba6347f p { color: #444444; }

/* R3-06. The OpenStreetMap credit under the static map was 13px, the only running text on the site
   below 15px. 14px keeps it visibly a caption under the 15/16px body copy. */
.restore-map-credit { font-size: 14px; }


/* ==== owner-bar round 4 (2026-09-16) ==== */

/* R4-01. Contact form: what a visitor TYPES into Nome/Email/Telefone rendered #AEB1BD on #F9FAFB (2:1) in the
   UA "sans-serif", because the Suffice theme styles .wpcf7-text as if the value were a hint; the textarea was
   black on white. All four fields now share one look: the site's body font, #333 typed text (12:1), the theme's
   #F9FAFB ground. Border and the theme's #00BAF4 focus border are left to the theme rules. */
form.wpcf7-form .wpcf7-text,
form.wpcf7-form .wpcf7-textarea {
	color: #333333;
	-webkit-text-fill-color: #333333;
	caret-color: #333333;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	line-height: 1.5;
	background: #F9FAFB;
	padding: 10px 15px;
}
form.wpcf7-form .wpcf7-text::placeholder,
form.wpcf7-form .wpcf7-textarea::placeholder { color: #6B6E78; -webkit-text-fill-color: #6B6E78; opacity: 1; }

/* R4-03. The panel titles' ids were reused as style hooks (#jovens on SENIORES and AURICULOTERAPIA, #adultos on
   REFLEXOLOGIA and NATUROPATIA). Each heading now has its own id; the owner's inline rules
   "#psicologia, #jovens, #seniores {color:white;font-size:24px}" and "#pInfantil, #adultos {font-size:24px}"
   are extended here to the new ids so every title keeps the same colour and size. */
#auriculoterapia { color: white; font-size: 24px; }
#reflexologia, #naturopatia { font-size: 24px; }

/* R4-02. Contact column captions are now links (tel:, mailto:, WhatsApp). Their colour is the site's content-link
   #C2490F (rule "#primary a, #content .elementor-widget-container a" above), the same orange the WhatsApp and
   e-mail icon links already had; underlined so the caption reads as a link and not as a label. */
.elementor-667 .elementor-widget-icon-box .elementor-icon-box-description a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
