/* asrc-medical.pt — the small amount of CSS the static restore needs on top of the theme.
   Nothing here restyles the site; every rule answers a measured defect. */

/* ---------------------------------------------------------------- the hero
   Rebuilt from the site's own three slide photographs and its own caption text after slider
   Revolution proved unrunnable: it loads its animation extensions at run time from the plugin
   directory of the LIVE domain, those files were never archived, and without them it paints an
   empty coloured band where the hero used to be. Layout follows the original: caption block on
   the left over the pale side of each photograph, in the site's own #095c83. */
.asrc-hero {
  position: relative;
  overflow: hidden;
  background: #e8f2f5;
}
.asrc-hero-slides {
  position: relative;
  min-height: 320px;
  height: 33.33vw;
  max-height: 600px;
}
.asrc-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity .45s ease-in-out;
  pointer-events: none;
}
.asrc-hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}
.asrc-hero-inner {
  max-width: 1240px;
  height: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
/* The scrim is not decoration. The pale left third of each photograph is pale, not white, and it
   moves under `background-size: cover` as the viewport narrows, so the ground under the caption
   is not the same colour at 1440 and at 390. A near-opaque panel makes it the same everywhere and
   is what the measured 8-9:1 contrast is measured against. */
.asrc-hero-text {
  max-width: 46%;
  padding: 22px 26px;
  background: rgba(255, 255, 255, .86);
  border-radius: 2px;
}
.asrc-hero-title {
  margin: 0 0 6px;
  font-family: Montserrat, "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 2.6vw, 46px);
  line-height: 1.16;
  color: #095c83;
  letter-spacing: 0;
}
.asrc-hero-kicker {
  margin: 0 0 10px;
  font-size: clamp(14px, 1.5vw, 26px);
  line-height: 1.25;
  font-weight: 400;
  color: #095c83;
}
.asrc-hero-lead {
  margin: 0;
  font-size: clamp(13px, 1.05vw, 18px);
  line-height: 1.5;
  color: #0b4a68;
}
/* Controls appear only once the script that drives them is running: with JavaScript off the hero
   is a single honest still, not a row of buttons that do nothing. */
.asrc-hero-nav,
.asrc-hero-dots { display: none; }
.asrc-js .asrc-hero-nav { display: flex; }
.asrc-js .asrc-hero-dots { display: flex; }

.asrc-hero-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(9, 92, 131, .78);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  z-index: 3;
}
.asrc-hero-nav:hover,
.asrc-hero-nav:focus { background: #095c83; }
.asrc-hero-prev { left: 14px; }
.asrc-hero-next { right: 14px; }
.asrc-hero-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  justify-content: center;
  gap: 6px;
  z-index: 3;
}
.asrc-hero-dot {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.asrc-hero-dot::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: rgba(9, 92, 131, .35);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .7);
}
.asrc-hero-dot[aria-selected="true"]::before { background: #095c83; }

@media (max-width: 767px) {
  .asrc-hero-slides { height: auto; min-height: 0; }
  .asrc-hero-slide { position: relative; inset: auto; display: none; }
  .asrc-hero-slide.is-active { display: block; }
  .asrc-hero-inner { padding: 26px 16px 46px; }
  .asrc-hero-text { max-width: 100%; }
  .asrc-hero-nav { width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .asrc-hero-slide { transition: none; }
}

/* --------------------------------------------- the closed off-canvas panel must be unreachable
   Betheme parks #Side_slide at right:-250px and leaves it visibility:visible, so its close button
   is focusable by keyboard and clickable by a gate at widths where the panel cannot be opened at
   all. The theme adds .enabled when it slides in, which is the only state in which the panel is a
   control a visitor can meet. */
#Side_slide { visibility: hidden; }
#Side_slide.enabled { visibility: visible; }

/* ---------------------------------------------------------------- footer credit hit box
   "Desenvolvido por Alphascript" renders 19px tall on a desktop and 16px on a phone. The link is
   real and stays; only its hit box grows, and the negative margin keeps the footer line exactly
   where it was. */
#Footer .copyright a {
  display: inline-block;
  padding: 8px 6px;
  margin: -8px -6px;
}

/* ----------------------------------------------- the contact page's information panel
   It replaces a 450px-tall empty <div class="google-map"> - the live embed's leftover socket.
   Same width and the same place in the flow, carrying what a visitor came to the page for. */
.asrc-contact-panel {
  padding: 26px 30px 30px;
  box-sizing: border-box;
}
.asrc-contact-panel h3 {
  margin: 1.4em 0 .3em;
  font-size: 17px;
  line-height: 1.3;
}
.asrc-contact-panel h3:first-child { margin-top: 0; }
.asrc-contact-panel p { margin: 0 0 .4em; }
.asrc-hours {
  width: 100%;
  max-width: 460px;
  border-collapse: collapse;
  margin: .2em 0 1.2em;
}
.asrc-hours th,
.asrc-hours td {
  text-align: left;
  padding: 7px 10px 7px 0;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  font-weight: 400;
}
.asrc-hours th { white-space: nowrap; }

/* ------------------------------------------------------- the two authored pages
   The attachment template they were built on centres nothing and sets no measure, because it was
   only ever asked to hold one image. */
.asrc-authored { max-width: 46em; text-align: left; }
.asrc-authored h1 { margin: 0 0 .5em; line-height: 1.2; }
.asrc-authored h2 { margin: 1.6em 0 .4em; line-height: 1.3; }
.asrc-authored p { margin: 0 0 .9em; }
.asrc-authored .image_frame { margin-bottom: 1.4em; }

/* The footer's legal links. The theme's footer holds one centred credit line and nothing else, so
   they sit above it in the same rhythm rather than inventing a footer column layout. */
#Footer .asrc-legal-links {
  margin: 0 0 .4em;
  font-size: 14px;
}
#Footer .asrc-legal-links a {
  display: inline-block;
  padding: 8px 6px;
}

/* The client's backlink block, in the column the About text already occupies. It gets the same
   measure and rhythm as the paragraphs above it and no decoration of its own - it is body copy. */
.content-wraparea { margin: 1.6em 0 0; }
.content-wraparea h4 { margin: 0 0 .4em; line-height: 1.3; }
.content-wraparea p { margin: 0; }

/* ------------------------------------------------ the SOBRE band, below the desktop breakpoint
   The theme paints that section's photograph at `right center`, which is beside the text on a
   desktop and directly UNDER it once the column goes full width. Measured on the built page at
   390: the first paragraph renders at 2.45:1 against the faces behind it, and the client's
   backlink paragraph sits in the same block. The photograph stays; a near-opaque panel goes
   between it and the words, which is the only thing that makes the ground the same everywhere.
   Keyed on the inline background the theme itself wrote, so it cannot touch another section. */
@media (max-width: 1023px) {
  .section[style*="about-bg"] .column_attr {
    background: rgba(255, 255, 255, .93);
    padding: 18px 16px;
    border-radius: 2px;
  }
}

/* The hero arrows are 40px wide and sat on top of the caption panel at phone widths. */
@media (max-width: 767px) {
  .asrc-hero-inner { padding: 26px 58px 46px; }
}

/* ------------------------------------------- the four teal service tiles, first screen (rework)
   MEASURED on the built page before this rule, with the theme's fixed 35px h3 in a tile that is
   exactly a quarter of the viewport minus 40px of padding: the single word BRANQUEAMENTO renders
   349px wide against 320px of room at 1440, 255px at 1180 and 216px at 1024, so its last letters
   were painted under the next tile's background at every desktop width (ORTODONTIA, 250px, did
   the same from 1100 down). The theme sized that heading in pixels and never asked how wide the
   column was; the word is the clinic's own and must stay whole, so the type is what gives way.
   2.4vw - 4px is the widest type that leaves the longest word inside the tile at every width from
   768 up (tile inner width is viewport/4 - 40px, the word is 9.97x the font size), capped at the
   theme's own 35px so nothing grows beyond the original on a wide monitor. */
@media only screen and (min-width: 768px) {
  .asrc-tiles .column_attr h3 { font-size: min(35px, calc(2.4vw - 4px)); }
}
/* The tiles used to be four independent floats whose height was whatever their own text needed,
   so the coloured blocks ended at four different heights - measured 427px against 453px at 1024,
   1100 and 1180 - leaving a white notch in the middle of the band. The theme's equal-height
   script is one of the bundles that no longer runs. Flex gives the same result with no script. */
.asrc-tiles .mcb-wrap-inner { display: flex; flex-wrap: wrap; align-items: stretch; }
.asrc-tiles .mcb-wrap-inner > .column { float: none; display: flex; }
.asrc-tiles .mcb-wrap-inner > .column > .column_attr { width: 100%; }

/* ------------------------------------ the SOBRE band, 1024px and up (rework)
   The companion of the <=1023px rule above, for the band between them that no gate measures.
   The photograph is a background painted at its natural 817px against the section's right edge,
   so its left edge sits at (viewport - 817) and walks LEFT as the window narrows while the text
   column stays at three fifths. MEASURED: the text's right edge reaches 846px at 1440, 809 at
   1366, 766 at 1280, 685 at 1180 and 607 at 1024, while the photograph's faces begin 220px in
   from its own left edge - so from 1440 down the words were printed over the faces, 173px deep at
   1024, and the paragraph carrying the client's link was one of them. Scaling the photograph to
   half the section keeps its composition, its right-edge bleed and its vertical centring, and
   puts the start of the faces at viewport*0.61 - clear of the text at every width in the band.
   min() caps it at the original 817px above ~1634px, where there is already room. */
@media only screen and (min-width: 1024px) {
  .section[style*="about-bg"] { background-size: min(817px, 50%) auto; }
}

/* ============================================================ OWNER-BAR ROUND 1 (2026-09-15)
   The owner's bar is "would anything read as broken, empty, stubbed or shabby at 1440 and 390".
   Every rule below answers one item of the round-1 defect list; the words and the palette are the
   clinic's, only size, contrast and layout move. */

/* ---- body copy (r0-03). The theme writes body #78788c: 4.32:1 on white and 3.98:1 on the #f1f8f9
   bands. Below 768px Betheme also scales body type down to 13px/19px, which is the whole reason
   every paragraph on a phone read as fine print. #444 is the theme's own blockquote colour. */
html body { color: #444; }
#Content .asrc-hours td { color: #444; }
@media only screen and (max-width: 767px) {
  html body { font-size: 16px; line-height: 1.6; }
  html body big, html body .big { font-size: 17px; line-height: 1.6; }
  #Content .column_attr p, #Content .column_attr li,
  #Content .the_content_wrapper p, #Content .the_content_wrapper li,
  #Content td, #Content th { font-size: 16px; line-height: 1.6; }
  html body h4 { font-size: 17px; line-height: 1.4; }
  html body h5 { font-size: 16px; line-height: 1.4; }
  html body h6 { font-size: 15px; line-height: 1.4; }
  .asrc-hero-lead { font-size: 16px; }
  #Action_bar .contact_details, #Action_bar .contact_details a { font-size: 15px; }
}

/* ---- the action bar (r0-04). The address label was #bbb on #f1f8f9 (1.79:1) and the telephone
   links the accent teal (3.78:1). The address is now a link to the contact page like the items
   beside it, all in a deeper shade of the same teal (5.25:1), icons in grey (6.94:1). */
#Action_bar .contact_details { color: #555; }
#Action_bar .contact_details i { color: #555; }
#Action_bar .contact_details a { color: #087376; }
#Action_bar .contact_details a:hover,
#Action_bar .contact_details a:focus { color: #0b8c8f; text-decoration: underline; }

/* ---- the published team as name cards (r0-01, r0-02, r0-05). The homepage slider and the team
   grid were eighteen copies of two clip-art avatars carrying no information; the names and
   specialties the clinic published are the information, so they are the content now. The two
   people this site has a page for link to it. */
.asrc-team {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
  text-align: left;
}
.asrc-team li { list-style: none; margin: 0; padding: 0; }
.asrc-team .asrc-team-card {
  display: block;
  height: 100%;
  box-sizing: border-box;
  padding: 14px 16px;
  background: #fff;
  border-left: 3px solid #0b8c8f;
  box-shadow: 0 1px 3px rgba(35, 58, 70, .08);
}
.asrc-team .asrc-team-name {
  display: block;
  font-family: Montserrat, Arial, Tahoma, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.35;
  color: #233a46;
}
.asrc-team .asrc-team-role {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  line-height: 1.4;
  color: #444;
}
.asrc-team a.asrc-team-card { text-decoration: none; }
.asrc-team a.asrc-team-card .asrc-team-name {
  color: #087376;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.asrc-team a.asrc-team-card:hover,
.asrc-team a.asrc-team-card:focus { background: #e6f3f4; }
.asrc-team-cta { margin: 28px 0 0; text-align: center; }
a.asrc-team-button {
  display: inline-block;
  padding: 12px 28px;
  background: #087376;
  color: #fff;
  font-family: Montserrat, Arial, Tahoma, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
  text-decoration: none;
  border-radius: 2px;
}
a.asrc-team-button:hover, a.asrc-team-button:focus { background: #0b8c8f; color: #fff; }
@media only screen and (max-width: 767px) {
  .asrc-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .asrc-team .asrc-team-card { padding: 10px 10px 10px 12px; }
  .asrc-team .asrc-team-role { font-size: 16px; }
}
@media only screen and (max-width: 339px) {
  .asrc-team { grid-template-columns: 1fr; }
}
/* A heading that is a link must still look like one. */
h4 a.asrc-more { color: #087376; text-decoration: underline; text-underline-offset: 3px; }
h4 a.asrc-more:hover, h4 a.asrc-more:focus { color: #0b8c8f; }

/* ---- the contact page (r0-06). The theme's map shortcode floats the card absolutely at
   left:50% + 300px over a full-bleed map; the map is gone and the information panel that replaced
   it ran the full 1440px from x=30, so its closing paragraph was ~200 characters a line. From
   768px up the panel and the card share the content container as two columns. */
@media only screen and (min-width: 768px) {
  .column_map .google-map-wrapper {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
    gap: 48px;
    max-width: 1220px;
    margin: 0 auto;
    padding: 50px 12px 40px;
    box-sizing: border-box;
  }
  .section.full-width .wrap.one .column_map.one .google-map-wrapper .google-map-contact-wrapper {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    margin: 0;
    flex: 0 0 360px;
  }
  .column_map .google-map-wrapper .google-map-contact-wrapper .get_in_touch {
    width: auto;
    box-sizing: border-box;
  }
  .column_map .asrc-contact-panel { flex: 0 1 44em; min-width: 0; padding: 0; }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .column_map .google-map-wrapper { gap: 28px; padding-left: 20px; padding-right: 20px; }
  .section.full-width .wrap.one .column_map.one .google-map-wrapper .google-map-contact-wrapper { flex-basis: 300px; }
}

/* ---- the testimonial on a phone (r0-07). The theme keeps its desktop box - 6% side margins,
   40px padding, a 25px indent for the quote glyph and a ruled-line background image at 31px - so
   at 390 the words got a 169px column with a rule under every line and the glyph printed over the
   first word. Below 768px the glyph sits centred above the words and the words get the box. */
@media only screen and (max-width: 767px) {
  .testimonials_slider.single-photo .testimonials_slider_ul li .bq_wrapper { margin: 0 0 20px; padding: 58px 18px 18px; }
  .testimonials_slider .testimonials_slider_ul li .bq_wrapper blockquote {
    margin: 0;
    top: 0;
    background-image: none;
    font-size: 16px;
    line-height: 1.6;
  }
  .testimonials_slider .testimonials_slider_ul li .bq_wrapper blockquote:after {
    left: 50%;
    margin-left: -27px;
    top: -46px;
  }
}

/* ---- authored pages (r0-08). The subheader title is now the page's H1, so the second copy of the
   same words under it is gone, and the section headings take the size and colour the rest of the
   site gives its headings instead of the theme's 48px navy H2. */
#Subheader h1.title { margin: 0; }
.asrc-authored h2,
.texte-legal h2 {
  margin: 1.6em 0 .5em;
  font-size: 26px;
  line-height: 1.3;
  color: #0b8c8f;
  text-transform: uppercase;
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  .asrc-authored h2, .texte-legal h2 { font-size: 20px; }
}

/* ---- minor items (r0-10, r0-13, r0-14, r0-18) */
/* The especialidades icon row ends in its captions; 80px of section padding under that read as an
   empty band. */
.section.asrc-icons { padding-bottom: 36px !important; }
/* The sticky header is 60px tall, but the theme writes its "line below, 80%" underline only for the
   non-sticky state, so once sticky the underline fell to top:60px, under the bar. Same line, same
   place relative to the label, in both states. */
.menu-line-below-80 #Top_bar.is-sticky .menu > li > a:after {
  height: 4px; left: 10%; width: 80%; top: 50%; margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  /* The fixed back-to-top button sat over the last footer line at the end of every page. */
  #Footer .footer_copy { padding-bottom: 64px; }
  /* Below 768 the SOBRE photograph could only ever show as faces peeking round a white panel. */
  .section[style*="about-bg"] { background-image: none !important; }
}

/* ---- remaining contrast found while verifying round 1 (r0-03 continued), measured on the built
   pages after the rules above: the theme gives lists inside a column #737E86 (4.15:1 - every
   treatment list on /especialidades/), its h5 captions the accent teal #0b8c8f at 16px (4.07:1 -
   the especialidades icon captions and the testimonial names), and the four service tiles on the
   homepage print white 16px copy on #00dba5 (1.80:1) and #00bf99 (2.36:1) and #108f9b (3.87:1).
   Lists and captions take the body grey and a deeper shade of the same teal. The tiles keep their
   order - green, green-teal, teal, blue - each moved along the same hue ramp to the lightest shade
   that holds white text at 4.5:1; the blue tile already did (5.37:1) and is untouched. */
.column_column ul, .column_column ol,
.the_content_wrapper ul, .the_content_wrapper ol { color: #444; }
#Content h5, #Content h5 a { color: #087376; }
.asrc-tiles .column_attr[style*="#00dba5"] { background-color: #00805a !important; }
.asrc-tiles .column_attr[style*="#00bf99"] { background-color: #007a6b !important; }
.asrc-tiles .column_attr[style*="#108f9b"] { background-color: #0c7580 !important; }
/* Links in body copy: the theme accent #0b8c8f is 4.07:1 on white and 3.78:1 on the pale bands -
   every e-mail, telephone and cross-page link in the content failed. The same hue one shade deeper
   (#087376, 5.64:1 / 5.25:1) for the resting state; the original accent is kept for hover. The
   teal section headings on authored and legal pages take the same shade at their phone size. */
a { color: #087376; }
a:hover { color: #0b8c8f; }
.asrc-authored h2, .texte-legal h2 { color: #087376; }
/* Second pass of the same measurement (qa_legibility on every page after the rules above):
   - the plain a rule above also reached the footer, whose ground is near-black, where the deeper
     shade is the WRONG direction (3.76:1); the legal links there keep the original accent;
   - teal h3 section headings render at 21px on a phone, below large-text size, at 3.78-4.07:1;
   - the active tab label and the white copy of the contact card sit on or in the same #0b8c8f;
   - breadcrumb, card and in-paragraph links were told apart from the words around them by colour
     alone, which is not enough when the two colours are one shade apart;
   - the two linked h4 headings had a 23px hit box;
   - at 390 the word Comportamental is wider than its half-width card. */
#Footer .asrc-legal-links a { color: #0b8c8f; }
#Footer .asrc-legal-links a:hover { color: #1da6b8; }
h3, h3 a, h3 a:hover { color: #087376; }
.ui-tabs .ui-tabs-nav li.ui-state-active a,
.ui-tabs .ui-tabs-nav li.ui-tabs-active a { color: #087376; }
.get_in_touch, .infobox { background-color: #087376; }
.get_in_touch a { text-decoration: underline; text-underline-offset: 3px; }
#Subheader ul.breadcrumbs li a { text-decoration: underline; text-underline-offset: 3px; }
.asrc-authored p a,
.asrc-contact-panel p a,
#Content .column_attr p a:not(.asrc-team-button) { text-decoration: underline; text-underline-offset: 2px; }
h4 a.asrc-more { display: inline-block; padding: 3px 0; }
.asrc-team .asrc-team-name,
.asrc-team .asrc-team-role { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
/* Correction, measured: the footer ground is #233a46 (the site navy), not near-black, so no teal of
   this palette holds on it (#0b8c8f 2.92:1). The legal links take the light grey family of the
   credit line beside them (#ccc) and an underline to stay visibly links: #dddddd is 8.8:1. The SOBRE
   heading carries its teal in an inline style, which only an attribute-keyed !important can reach;
   it renders at 21px on a phone, below large-text size. */
#Footer .asrc-legal-links a { color: #dddddd; text-decoration: underline; text-underline-offset: 3px; }
#Footer .asrc-legal-links a:hover { color: #ffffff; }
h3[style*="#0b8c8f"] { color: #087376 !important; }
/* Advisory items qa_legibility still printed after it passed: the developer credit link in the
   navy footer, the breadcrumb at 60% white on the teal subheader (2.42:1 - now full white, 4.07:1,
   the most that band allows without repainting it), and the teal ASRCCard banner on /precos/
   whose title renders at 21px on a phone (moved to the same deeper teal as every other small teal). */
#Footer .copyright a { color: #dddddd; text-decoration: underline; text-underline-offset: 3px; }
#Subheader ul.breadcrumbs li, #Subheader ul.breadcrumbs li a { color: #ffffff; }
.column_attr[style*="background-color:#0b8c8f"] { background-color: #087376 !important; }

/* ============================================================ OWNER-BAR ROUND 2 (2026-09-15)
   Second evaluator pass. Same principle as round 1: words and palette are the clinic's; only size,
   measure, spacing and layout move. Each rule names the defect it answers. */

/* ---- r1c-01: page titles on a phone. The theme writes #Subheader .title at a fixed 40px inline in
   every page head. The single word ESPECIALIDADES is 9.18x its font size wide, so at 40px it is
   367px against 324px of room at 390 (294 at 360) and its last letter was cut at the screen edge -
   the same in the archived theme. 8.4vw keeps the longest word inside the box down to 320px and
   reaches the theme's own 40px again at 476px; the word is never broken unless it still cannot fit. */
@media only screen and (max-width: 767px) {
  html body #Subheader .title { font-size: min(40px, 8.4vw); line-height: 1.2; overflow-wrap: break-word; }
}

/* ---- r1c-02: the two authored article pages. Their column had a measure (46em) but no centring,
   so at 1440 photo and text sat at x=122 with a 580px empty band to their right, which read as a
   sidebar that never loaded, while the legal pages built on the same template centre theirs.
   Same box as .texte-legal from 768 up: 46em wide, centred, 1.25em inner padding. */
.asrc-authored { margin-left: auto; margin-right: auto; }
@media only screen and (min-width: 768px) {
  .asrc-authored { box-sizing: border-box; padding-left: 1.25em; padding-right: 1.25em; }
}

/* ---- r1c-03: centred intro paragraphs. The theme's "one column, align center" wrapper lets a
   paragraph run the whole 1196px container: /precos/ printed five centred lines of ~128 characters,
   the homepage team intro ~103. The text stays centred; its measure is capped so a line is ~70-75
   characters and each new line starts where the eye expects it. */
#Content .column_attr.align_center > p { max-width: 38em; margin-left: auto; margin-right: auto; }

/* ---- r1c-04: the contact page's hours table (ours). Cells had no left padding, so the day names
   and hours sat against the rules like unstyled HTML; the theme's homepage table pads by 10px. */
#Content .asrc-hours th,
#Content .asrc-hours td { padding: 9px 12px; }
#Content .asrc-hours { border-top: 1px solid rgba(0, 0, 0, .08); }
#Content .asrc-hours th { font-weight: 600; color: #233a46; }

/* ---- r1c-05: names are never hyphenated. Round 1 turned hyphenation on for both card lines so
   "Comportamental" could not overflow its half-width card at 390; that also split a person's name
   (Mi-guel). A name wraps only at its spaces; the specialty line keeps hyphenation. */
.asrc-team .asrc-team-name { -webkit-hyphens: manual; hyphens: manual; }

/* ---- r1c-06: a telephone number is one unit and never breaks across lines. */
a[href^="tel:"] { white-space: nowrap; }

/* ---- r1c-07: the first testimonial photo is the clinic's own 85x68 upload inside the theme's
   85x85 circle, so the circle was cut flat along its bottom. Cover-fit fills the circle. The #Content
   prefix is needed: the theme's "#Content img{height:auto}" outranks any class-only selector. */
#Content .testimonials_slider.single-photo .testimonials_slider_ul li .single-photo-img img {
  width: 85px; height: 85px; max-width: none; object-fit: cover;
}

/* ---- r1c-10: the theme gives every table margin-bottom:15px; where the table is the last thing in
   a white column (the homepage HORARIO box) that margin painted as an empty white strip. */
#Content .column_attr > table:last-child { margin-bottom: 0; }

/* ---- r1c-11: the contact form's fields. The theme draws only a 3px bottom border in #edf2ff, which
   is invisible on the #f1f8f9 band, so the fields read as missing. A 1px outline in a muted shade
   of the site navy (3.1:1 against the band, the non-text contrast minimum) makes each field a box;
   the theme's own focus colour still marks the active one. */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  border: 1px solid #6f9197;
  border-radius: 2px;
  box-sizing: border-box;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus { border-color: #087376; outline: 2px solid rgba(8, 115, 118, .25); }

/* ---- r1c-04 continued, measured at 390 after the padding: the day column was nowrap, so
   "Segunda a sexta-feira" took half the table and the hours cell broke a time range in two
   ("15:00 -" / "18:00"). On a phone the day name may wrap; each time range is one unit. */
.asrc-nw { white-space: nowrap; }
@media only screen and (max-width: 767px) {
  #Content .asrc-hours th { white-space: normal; }
  #Content .asrc-hours th, #Content .asrc-hours td { padding: 9px 10px; }
}
