/*!------------------------------------------------------------------
[MAIN STYLESHEET]

PROJECT:	Biztrox | Business HTML5 Template
VERSION:	1.0.0
-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[TABLE OF CONTENTS]

1. BASE

    1.1. Typography
    1.2. Common Styles
        1.2.1 Page Title
        1.2.1 404 page
    1.3 Button Style

2. NAVIGATION

3. HERO AREA

4. SKILL SECTION

    4.1. fun-facts
    4.2. counter

5. PROGRESS SECTION

    5.1. progressbar title
    5.2. progressbar value

6. MISSION SECTION

    6.1. card header
    6.2. card body

7. PROMO VIDEO SECTION

8. TESTIMONIAL SECTION

    8.1. testimonial slider
    8.2. testimonial content

9. CONTACT

    9.1. Address Item
    9.2. Google Map
    9.3. COntact Form

10. CLIENT LOGO SLIDER

11. FUN-FACTS SECTION

12. CONSULTATION SECTION

    12.1 background image
    12.2 form-control

13. ABOUT SECTION

    13.1 about content
    13.2 about item
    13.3 about content 2
    13.4 about video
    13.5 about content 3
    13.6 about slider
    13.7 philosophy
    13.8 ceo

        13.8.1 ceo item
        13.8.1 ceo content
        13.8.1 ceo content-2


14. SERVICE SECTION

    14.1 service item
    14.2 service item 2
    14.3 clients
    14.4 Process
    14.5 service menu
    14.6 service brochure
    14.7 service schedule
    14.8 service consultation
    14.9 service single

        14.9.1 service single image
        14.9.2 service single content
        14.9.3 service single list
        14.9.4 service single benefit
        14.9.5 widget

15. WORK SECTION

    15.1 work slider
    15.2 slick dots

16. CALL TO ACTION

17. TEAM SECTION

    17.1 team item
    17.2 team content
    17.3 team member
    17.4 team single

        17.4.1 team member info item
        17.4.2 team member details

18. PRICING SECTION

    18.1 pricing item

19. PROJECT SECTION

    19.1 project menu
    19.2 project item
    19.3 project single

        19.3.1 project overview
        19.3.2 case study
        19.3.3 project single content

    19.4 nav-tabs
    19.5 tab content

20. FAQ SECTION

21. BLOG SECTION

    21.1 blog item
    21.2 blog content
    21.3 blog content 2
    21.4 blog post

        21.4.1 post slider
        21.4.2 post video
        21.4.3 pagination
        21.4.4 sidebar

    21.5 blog single

        21.5.1 blog single container
        21.5.2 blog single content
        21.5.3 blog single list
        21.5.4 blog single testimonial
        21.5.5 share tags
        21.5.6 comments
        21.5.7 blog-sidebar

22. CONTACT SECTION

    22.1 contact item
    22.2 contact form
    22.3 google map

23. SIGNUP WRAPPER

    23.1 signup greetngs
    23.2 signup form

24. COMMING SOON

    24.1 SYOtimer

25. FOOTER SECTION

    25.1 social link
    25.2 footer link
    25.3 subcription
    25.4 copyright
    25.5 back to top
-------------------------------------------------------------------*/
/* 1.1 typography */
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600,700|Poppins:300,400,500,600,700|Work+Sans:400,500,600|Roboto:100,200,300,400,500,600,700,800,900");
body {
  font-family: "", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
}

p, .paragraph {
  font-weight: 400;
  color: #666;
  font-size: 16px;
  line-height: 25px;
  font-family: "Open Sans", sans-serif;
}

p a {
  color: #9b7615;
}

p a:hover {
  color: #6f530d;
}


h1, h2, h3, h4, h5, h6 {
  color: #222;
  font-weight: 500;
  font-family: "", sans-serif;
}

h1, .h1 {
  font-size: 60px;
}

.tit {
	font-size: 40px;	
}

.tit33 {
	font-size: 28px;	
}

.tit44 {
	font-size: 24px;	
}

.tit3 {
	font-size: 36px;	
}

.tit55 {
	font-size: 18px;	
}
.cor1 {
  color: #b28a42;	
}

@media (max-width: 400px) {
  h1, .h1 {
    font-size: 30px;
  }
}

h2, .h2 {
  font-size: 36px;
}

h3, .h3 {
  font-size: 26px;
}

h4, .h4 {
  font-size: 20px;
}

h5, .h5 {
  font-size: 18px;
}

h6, .h6 {
  font-size: 14px;
}

.tit2 {
  font-size: 17px;
}


/* 1.3 Button style */
.btn {
  font-size: 14px;
  font-family: "Open Sans", sans-serif;
  text-transform: capitalize;
  padding: 16px 44px;
  border-radius: 35px;
  font-weight: 600;
  border: 0;
  position: relative;
  z-index: 1;
  transition: .2s ease;
}

.btn:focus {
  outline: 0;
  box-shadow: none !important;
}

.btn:active {
  box-shadow: none;
}

.btn-primary {
  background: #e6cc7c;
  color: #fff;
}

.btn-primary:active {
  background: #e6cc7c !important;
}

.btn-primary:hover {
  background: #eee4c9;
}


.btn-secondary {
  background: #303032;
  color: #fff;
}

.btn-secondary:active {
  background: #b28a42!important;
}

.btn-secondary:hover {
  background: #b28a42!important;
  background: #80c0fa;
}

.btn-light {
  background: #fff;
  color: #222;
  border: 2px solid #fff;
}

.btn-light:hover {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
}

.btn-outline {
  background: transparent;
  color: #222;
  border: 2px solid #303032;
}

.btn-outline:hover {
  background: #303032;
  color: #fff;
}

.btn-sm {
  padding: 13px 40px !important;
}

/* 1.2 common style */
body {
  background-color: #fff;
  overflow-x: hidden;
}

::-moz-selection {
  background: #80c0fa;
  color: #fff;
}

::selection {
  background: #80c0fa;
  color: #fff;
}

/* preloader */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

ol,
ul {
  list-style-type: none;
  margin: 0px;
}


img {
  vertical-align: middle;
  border: 0;
}

a,
a:hover,
a:focus {
  text-decoration: none;
}

a {
  transition: .2s ease;
}

a:hover {
  color: #b28a42;
}

a.text-dark:hover,
a.text-white:hover {
  color: #b28a42!important;
}

a,
button {
  cursor: pointer;
}

.outline-0 {
  outline: 0;
}

.d-unset {
  display: unset !important;
}

.slick-slide {
  outline: 0;
}

.centralized {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.hilighted {
  background: #303032;
  color: #919E4D;
  border-radius: 3px;
  padding: 2px 5px;
}

.section {
  padding: 10px 0;
}

@media (max-width: 575px) {
  .section {
    padding: 80px 0;
  }
}

.section-sm {
  padding: 80px 0;
}

.section-title {
  margin-bottom: 55px;
}

.section-title-sm {
  margin-bottom: 10px;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  color: #666;
}

.overlay {
  position: relative;
}

.overlay::before {
  position: absolute;
  content: '';
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: #000;
  opacity: .6;
}

.overlay-dark {
  position: relative;
}

.overlay-dark::before {
  position: absolute;
  content: '';
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: #000;
  opacity: .8;
}

.overlay-primary {
  position: relative;
}

.overlay-primary::before {
  position: absolute;
  content: '';
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: #b28a42;
  opacity: .6;
}

.overlay-white {
  position: relative;
}

.overlay-white::before {
  position: absolute;
  content: '';
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: #fff;
  opacity: .7;
}

.overlay-rounded::before {
  border-radius: 5px;
}

.section-title-border {
  position: relative;
}

.section-title-border::before {
  position: absolute;
  content: '';
  height: 2px;
  width: 120px;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #b28a42;
}

.section-title-border::after {
  position: absolute;
  content: '';
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #b28a42;
  box-shadow: 0 0 0 5px #fff;
  bottom: -14px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.section-title-border-gray {
  position: relative;
}

.section-title-border-gray::before {
  position: absolute;
  content: '';
  height: 2px;
  width: 120px;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #b28a42;
}

.section-title-border-gray::after {
  position: absolute;
  content: '';
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background: #f5f5f5;
  border: 2px solid #b28a42;
  box-shadow: 0 0 0 5px #f5f5f5;
  bottom: -14px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.section-title-border-half {
  position: relative;
}

.section-title-border-half::before {
  position: absolute;
  content: '';
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background: transparent;
  border: 2px solid #b28a42;
  bottom: -14px;
  left: 0;
}

.section-title-border-half::after {
  position: absolute;
  content: '';
  height: 2px;
  width: 50px;
  left: 16px;
  bottom: -10px;
  background: #b28a42;
}

.section-title-border-half-white {
  position: relative;
}

.section-title-border-half-white::before {
  position: absolute;
  content: '';
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background: transparent;
  border: 2px solid #fff;
  bottom: -14px;
  left: 0;
}

.section-title-border-half-white::after {
  background: #fff;
  position: absolute;
  content: '';
  height: 2px;
  width: 50px;
  left: 16px;
  bottom: -10px;
}

/* 1.2.1 page title */
.page-title {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 160px 0 100px;
}

/* breadcrumb */
.breadcrumb {
  background-color: transparent !important;
  justify-content: center;
}

.breadcrumb li,
.breadcrumb a {
  color: #fff;
  font-family: "", sans-serif;
  font-weight: 600;
  font-size: 12px;
  margin: 0 10px;
}

.breadcrumb a {
  position: relative;
}

.breadcrumb a::before {
  position: absolute;
  content: '/';
  right: -17px;
  top: 2px;
  height: 12px;
}

/* 1.2.2 404 page start */
.page-404 {
  padding: 600px 0 60px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (max-width: 767px) {
  .page-404 {
    padding: 450px 0 50px;
  }
}

@media (max-width: 575px) {
  .page-404 {
    padding-top: 250px;
  }
}

@media (max-width: 400px) {
  .page-404 {
    padding-top: 150px;
  }
}

.page-404 h1 {
  font-size: 40px;
}

/* 404 page end */
/* play-icon */
.play-icon {
  width: 85px;
  height: 85px;
  border: 3px solid #fff;
  border-radius: 50%;
  display: block;
  text-align: center;
}

.play-icon:focus {
  outline: 0;
}

.play-icon i {
  line-height: 79px;
  display: block;
  font-size: 30px;
  color: #fff;
}

/* round icon */
.round-icon {
  height: 70px;
  min-width: 70px;
  max-width: 70px;
  border-radius: 50%;
  border: 1px solid #e5e5e5;
  background: #fff;
  text-align: center;
  line-height: 70px;
  font-size: 30px;
  color: #b28a42;
  display: inline-block;
}

/* 18. squre icon */
.square-icon {
  height: 65px;
  width: 65px;
  background: #b28a42;
  color: #fff;
  font-size: 35px;
  line-height: 65px;
  border-radius: 5px;
  text-align: center;
  display: inline-block;
}

/* team social icon */
.social-icon-lg {
  height: 50px;
  width: 50px;
  border-radius: 50%;
  line-height: 50px;
  text-align: center;
  color: #fff;
  font-size: 25px;
  display: inline-block;
}

.social-icon-lg i {
  margin: 0;
  color: #fff;
}

.box-shadow {
  box-shadow: 0px 10px 35px 0px rgba(0, 0, 0, 0.1);
}

.golden {
  color: #efaf27 !important;
}

.bg-gray {
  background-color: #f5f5f5;
}

.bg-verde {
  background-color: #000000;
}

.bg-gray2 {
  background-color: #fbfaf7;
}

.bg-gray3 {
  background-color: #e3eff8;
}
.bg-primary {
  background-color: #b28a42!important;
}

.bg-secondary {
  background:
        radial-gradient(
            circle at 75% 20%,
            rgba(255, 214, 112, 0.06),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #050505 0%,
            #0b0b0b 55%,
            #111111 100%
        );
}

.text-primary {
  color: #b28a42!important;
}

.bg-facebook {
  background-color: #4267b2;
}

.bg-twitter {
  background-color: #449de8;
}

.bg-linkedin {
  background-color: #2f6ea3;
}

.bg-google {
  background-color: #e62211;
}

.text-color {
  color: #666;
}

.text-dark {
  color: #222;
}

.text-dark2 {
  color: #000;
}

.text-underline {
  text-decoration: underline;
}

.text-underline:hover {
  text-decoration: underline;
}

.font-primary {
  font-family: "", sans-serif;
}

.font-secondary {
  font-family: "Open Sans", sans-serif;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-50 {
  margin-bottom: 50px;
}

@media (max-width: 991px) {
  .mb-md-50 {
    margin-bottom: 50px;
  }
}

.mb-60 {
  margin-bottom: 60px;
}

.mb-70 {
  margin-bottom: 70px;
}

.mb-80 {
  margin-bottom: 80px;
}

.mb-90 {
  margin-bottom: 90px;
}

.mb-100 {
  margin-bottom: 100px;
}

.py-10 {
  padding: 10px 0;
}

.py-50 {
  padding: 50px 0;
}

.py-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.py-160 {
  padding: 160px 0;
}

.ml-65 {
  margin-left: 65px;
}

.pb-xl-200-lg-100 {
  padding-bottom: 200px;
}

@media (max-width: 1199px) {
  .pb-xl-200-lg-100 {
    padding-bottom: 100px;
  }
}

.mb-xl-150-lg-100 {
  margin-bottom: 150px;
}

@media (max-width: 1199px) {
  .mb-xl-150-lg-100 {
    margin-bottom: 100px;
  }
}

.translateY-25 {
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
}

.translateY-10 {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}

.translateY-33 {
  -webkit-transform: translateY(-33px);
          transform: translateY(-33px);
}

/* 2. Navigation */
.top-header {
  background: #000000;
}

@media (max-width: 575px) {
  .top-header ul {
    text-align: center;
  }
}

.top-header ul li {
  margin: 16px 0;
}

@media (max-width: 575px) {
  .top-header ul li {
    margin: 10px 0;
  }
}

.top-header ul li a {
  display: inline-block;
  padding: 0 20px;
  border-right: 1px solid #e5e5e5;
  color: #ffffff;
}

@media (max-width: 575px) {
  .top-header ul li a {
    border: 0;
  }
}

.top-header ul li a span {
  color: #ffffff;
}

.top-header ul li:last-child a {
  padding-right: 0;
  border-right: 0;
}

.navigation .navbar {
  padding: 0;
  background: #fff !important;
  position: relative;
}

.navigation .navbar-brand {
  position: absolute;
  left: 0;
  top: -52px;
  height: 170px;
  width: 220px;
  background: #fff;
  text-align: center;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
  z-index: 9;
}

@media (max-width: 991px) {
  .navigation .navbar-brand {
    position: relative;
    height: unset;
    width: unset;
    box-shadow: none;
    top: 24px;
    background: none;
  }
  .navigation .navbar-brand img {
    height: 50px;
    width: auto;
  }
}

.navigation .navbar-brand img {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.navigation .navbar .nav-item {
  padding: 28px 0;
}

@media (max-width: 991px) {
  .navigation .navbar .nav-item {
    padding: 0;
  }
}

.navigation .navbar .nav-item .nav-link {
  padding: 16px 10px;
  font-family: "", sans-serif;
  font-weight: 600;
  color: #222;
  text-transform: uppercase;
  transition: .2s ease;
  font-size: 14px;
}

@media (max-width: 1199px) {
  .navigation .navbar .nav-item .nav-link {
    font-size: 12px;
    padding: 16px 6px;
  }
}

@media (max-width: 991px) {
  .navigation .navbar .nav-item .nav-link {
    padding: 16px 0;
    font-size: 14px;
    text-align: center;
  }
}

.navigation .navbar .nav-item .nav-link:hover {
  color: #d5a514;
}

.navigation .navbar .nav-item.nav-button {
  padding: 28px 0 28px 30px;
}

@media (max-width: 991px) {
  .navigation .navbar .nav-item.nav-button {
    padding: 0;
    margin-bottom: 20px;
  }
}

.navigation .navbar .nav-item.nav-button .nav-link {
  color: #fff;
}

.navigation .navbar .nav-item.nav-button .nav-link.pgactive {
  color: #b28a42;
}

.navigation .navbar .nav-item.active .nav-link {
  color: #b28a42;
}

.navigation .navbar .dropdown:hover .dropdown-menu {
  visibility: visible;
  opacity: 1;
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}

.navigation .navbar .dropdown-menu {
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.12);
  padding: 40px 30px;
  border: 0;
  border-radius: 0;
  top: 80%;
  left: -20px;
  display: block;
  visibility: hidden;
  transition: .3s ease;
  opacity: 0;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
}

@media (max-width: 991px) {
  .navigation .navbar .dropdown-menu {
    display: none;
    opacity: 1;
    visibility: visible;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: unset;
            transform-origin: unset;
  }
}

.navigation .navbar .dropdown-menu.show {
  visibility: visible;
  opacity: 1;
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}

@media (max-width: 991px) {
  .navigation .navbar .dropdown-menu.show {
    display: block;
  }
}

.navigation .navbar .dropdown-item {
  position: relative;
  color: #848484;
  transition: .2s ease;
}

.navigation .navbar .dropdown-item:not(:last-child) {
  margin-bottom: 20px;
}

.navigation .navbar .dropdown-item:hover {
  color: #b28a42;
  text-decoration: underline;
  background: transparent;
}

.navigation .navbar .dropdown-item::before {
  position: absolute;
  content: '';
  left: 5px;
  top: 12px;
  height: 4px;
  width: 4px;
  border-radius: 50%;
  background: #848484;
  border: 1px solid #fff;
  display: inline-block;
  box-shadow: 0 0 0 2px #848484;
}

@media (max-width: 991px) {
  .navigation .navbar .dropdown-item {
    text-align: center;
  }
  .navigation .navbar .dropdown-item::before {
    display: none;
  }
}

/* 2.3. Search Form */
.search-form {
  padding: 230px 0;
  background: #303032;
  position: absolute;
  width: 100%;
  top: -800px;
  z-index: 10;
  transition: .3s ease-in;
}

.search-form .close {
  position: absolute;
  top: 30px;
  right: 30px;
  color: #fff;
}

.search-form .close i {
  transition: .3s ease;
  display: inline-block;
}

.search-form .close:hover i {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.search-form.open {
  top: 0;
}

.search-form .form-control {
  background: transparent;
  border: 1px solid #e5e5e5;
  border-radius: 0;
  font-size: 20px;
  transition: .3s ease;
  position: relative;
  color: #fff;
  height: 130px;
  padding: 30px 40px;
}

.search-form h3 {
  font-size: 35px;
  color: #fff;
  margin-bottom: 35px;
}

.search-form .input-wrapper {
  position: relative;
}

.search-form .input-wrapper button {
  background: none;
  border: 0;
  position: absolute;
  font-size: 20px;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
  padding: 20px;
}

.search-form .input-wrapper button i {
  color: #fff;
}

/* 3. hero area */
.hero-slider.slick-slider {
  margin-bottom: 80px;
}

.hero-slider [data-animation-in] {
  opacity: 0;
}

.hero-slider-item {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  outline: 0;
}

.hero-slider .prevArrow,
.hero-slider .nextArrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 9;
  height: 70px;
  width: 70px;
  border-radius: 50%;
  background: rgba(48, 48, 50, 0.5);
  color: #fff;
  border: 0;
  font-size: 25px;
  line-height: 70px;
  opacity: 0;
  transition: all linear .2s;
}

@media (max-width: 575px) {
  .hero-slider .prevArrow,
  .hero-slider .nextArrow {
    display: none;
  }
}

.hero-slider .prevArrow:focus,
.hero-slider .nextArrow:focus {
  outline: 0;
}

.hero-slider .prevArrow:hover,
.hero-slider .nextArrow:hover {
  background: rgba(232, 68, 68, 0.5);
}

.hero-slider .prevArrow {
  left: 20px;
}

.hero-slider .nextArrow {
  right: 20px;
}

.hero-slider:hover .prevArrow,
.hero-slider:hover .nextArrow {
  opacity: 1;
}

.hero-slider .slick-dots {
  bottom: -81px;
  padding-left: 0;
  text-align: center;
  border-bottom: 1px solid #e5e5e5;
}

.hero-slider .slick-dots li {
  width: 295px;
  height: 80px;
  background: #fff;
  margin: 0;
  display: inline-block;
  position: relative;
  /* @include mobile-xs {
                    width: 50px;
                } */
}

@media (max-width: 1199px) {
  .hero-slider .slick-dots li {
    width: 230px;
  }
}

@media (max-width: 991px) {
  .hero-slider .slick-dots li {
    width: 180px;
  }
}

@media (max-width: 767px) {
  .hero-slider .slick-dots li {
    width: 120px;
  }
}

@media (max-width: 575px) {
  .hero-slider .slick-dots li {
    width: 25%;
  }
}

.hero-slider .slick-dots li::before {
  position: absolute;
  content: '';
  left: 50%;
  top: -12px;
  height: 25px;
  width: 25px;
  background: #303032;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
  opacity: 0;
}

.hero-slider .slick-dots li a {
  display: block;
  position: relative;
  text-align: center;
  transition: .3s ease;
  color: #303032;
}

.hero-slider .slick-dots li a i {
  display: inline-block;
  font-size: 30px;
  line-height: 80px;
  margin-right: 16px;
  vertical-align: middle;
}

@media (max-width: 991px) {
  .hero-slider .slick-dots li a i {
    font-size: 20px;
    margin-right: 5px;
  }
}

@media (max-width: 767px) {
  .hero-slider .slick-dots li a i {
    margin: 0;
  }
}

.hero-slider .slick-dots li a span {
  font-size: 18px;
  font-weight: 500;
  line-height: 80px;
}

@media (max-width: 991px) {
  .hero-slider .slick-dots li a span {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .hero-slider .slick-dots li a span {
    display: none;
  }
}

.hero-slider .slick-dots li.slick-active {
  background: #303032;
}

.hero-slider .slick-dots li.slick-active a {
  color: #fff;
}

.hero-slider .slick-dots li.slick-active::before {
  opacity: 1;
}

.hero-content h4 {
  letter-spacing: 2px;
}

/*--------------------------------------------------------------
	swipwe slider
--------------------------------------------------------------*/
.swiper {
  /* slider dots */
  /* slider arrows */
}

.swiper-slider {
  width: 100%;
  min-height: calc(100vh - 150px);
  display: flex;
  position: relative;
  z-index: 0;
}

.swiper-container {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.swiper-slide {
  overflow: hidden;
}

.swiper-slide .slide-inner {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  text-align: center;
  line-height: 12px;
  font-size: 12px;
  color: #000;
  opacity: 1;
  background: rgba(232, 68, 68, 0.2);
}

.swiper-pagination-bullet-active {
  color: #fff;
  background: #b28a42;
  width: 16px;
  height: 16px;
  text-align: center;
  line-height: 16px;
}

.swiper-button-prev, .swiper-button-next {
  background: transparent;
  width: auto;
  height: auto;
  opacity: 0.3;
  text-align: center;
  transition: all 0.3s;
}

@media (max-width: 767px) {
  .swiper-button-prev, .swiper-button-next {
    display: none;
  }
}

.swiper-button-prev:hover, .swiper-button-next:hover {
  opacity: 1;
}

.swiper-button-prev {
  left: 25px;
}

.swiper-button-prev::before {
  font-family: "themify";
  content: "\e64a";
  font-size: 40px;
  color: #b28a42;
}

.swiper-button-next {
  right: 25px;
}

.swiper-button-next::before {
  font-family: "themify";
  content: "\e649";
  font-size: 40px;
  color: #b28a42;
}

/* 5. progrgess bar start */
.progressbar-title {
  font-size: 17px;
  font-family: "Open Sans", sans-serif;
  margin-bottom: 7px;
  color: #222 !important;
}

.progress {
  border-radius: 35px;
  overflow: visible;
  margin-bottom: 35px;
  /* 5.2 progressbar value */
}

.progress-bar {
  background-color: #303032;
  border-radius: 35px;
  position: relative;
}

.progress-bar-value {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  color: #fff;
  background: #303032;
  padding: 5px 9px;
  position: absolute;
  top: -35px;
  right: -16px;
  border-radius: 5px;
}

.progress-bar-value::before {
  position: absolute;
  content: '';
  bottom: -5px;
  left: 50%;
  background: #303032;
  height: 10px;
  width: 10px;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

/* progrgess bar End */
/* 6. mission section start */
.card-header:first-child {
  border-radius: 2px;
}

/* 7. promo video section start */
.promo-video {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.promo-video p {
  font-family: "Work Sans", sans-serif;
}

/* promo video section end */
/* 8. testimonial section start */
.testimonial-slider {
  box-shadow: 0px 10px 35px 0px rgba(0, 0, 0, 0.1);
  position: relative;
}

.testimonial-slider .prevArrow,
.testimonial-slider .nextArrow {
  position: absolute;
  top: 85px;
  border: 0;
  font-size: 20px;
  background: transparent;
  color: #b28a42;
  z-index: 9;
}

.testimonial-slider .prevArrow:focus,
.testimonial-slider .nextArrow:focus {
  outline: 0;
}

.testimonial-slider .prevArrow {
  right: 90px;
}

.testimonial-slider .nextArrow {
  right: 50px;
}

.testimonial-slider .slick-disabled {
  color: #e5e5e5;
}

.testimonial-icon {
  height: 80px;
  width: 80px;
  border-radius: 50%;
  background: #f5f5f5;
  color: #b28a42;
  font-size: 25px;
  line-height: 80px;
  display: inline-block;
  text-align: center;
  margin-bottom: 25px;
}

/* testimonial section end */
/* 10. client logo slider start */
.client-logo-slider .slick-track {
  display: flex;
  align-items: center;
}

/* client logo slider end */
/* 11. fun-facts section start */
.fun-facts {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* fun-facts section end */
/* 12. consultation section start */
.consultation {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* consultation section end */
/* 16. call to action start */
.cta {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* card */
.card-img-wrapper {
  position: relative;
}

.card-img-wrapper::before {
  position: absolute;
  content: '';
  height: 100%;
  width: 100%;
  background: #000;
  opacity: 0;
  top: 0;
  left: 0;
  transition: .2s;
}


.padingquadro {
  padding: 20px;
}

.card-body-2 {
  position: relative;
  transition: .2s ease;
  border-radius: 0 0 5px 5px;
}

.card-body-2::before {
  position: absolute;
  content: '';
  height: 30px;
  width: 30px;
  background: #fff;
  top: -16px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
  transition: .2s ease;
}

.card:hover .card-img-wrapper::before {
  opacity: .4;
}

.card:hover .card-body-2 {
  background: #b28a42;
}

.card:hover .card-body-2 h5,
.card:hover .card-body-2 h6,
.card:hover .card-body-2 a {
  color: #fff;
}

.card:hover .card-body-2::before {
  background: #b28a42;
}

.overlay-rounded-top::before {
  border-radius: 5px 5px 0 0;
}

/* 13. about section */
.about {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  /* 13.4 about video */
  /* 13.6 about slider */
}

.about-video {
  min-height: 300px;
}

.about-slider {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.about-slider .prevArrow,
.about-slider .nextArrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 9;
  height: 55px;
  width: 55px;
  border-radius: 50%;
  border: 0;
  line-height: 55px;
  text-align: center;
  background: #fff;
  transition: .2s ease;
}

.about-slider .prevArrow:focus,
.about-slider .nextArrow:focus {
  outline: 0;
}

.about-slider .prevArrow:hover,
.about-slider .nextArrow:hover {
  background: #b28a42;
  color: #fff;
}

.about-slider .prevArrow {
  left: 25px;
}

.about-slider .nextArrow {
  right: 25px;
}

/* 13.8 ceo section start */
.ceo-image {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 400px;
}

/* ceo section end */
/* 14.3 clients */
.clients {
  background-position: center right;
  background-size: 50%;
  background-repeat: no-repeat;
}

@media (max-width: 991px) {
  .clients {
    background-size: cover !important;
    background-position: center center;
    text-align: center;
  }
}

.clients ul li {
  height: 66px;
}

.clients ul li img {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
}

/* 14.4 process */
.process-item {
  width: 330px;
}

@media (max-width: 1199px) {
  .process-item {
    width: unset;
  }
}

.process-item-number {
  position: absolute;
  left: -35px;
  top: -35px;
  height: 70px;
  width: 70px;
  line-height: 70px;
  border-radius: 50%;
  text-align: center;
  background: #fff;
  box-shadow: -5px 0px 40px 0px rgba(0, 0, 0, 0.1);
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: 32px;
  color: #222;
}

@media (max-width: 1199px) {
  .process-item-number {
    top: -35px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.process-item h5 {
  margin-bottom: 5px;
  color: #b28a42;
}

img.arrow-top {
  position: absolute;
  top: 220px;
  right: 250px;
}

@media (max-width: 1199px) {
  img.arrow-top {
    display: none;
  }
}

img.arrow-bottom {
  position: absolute;
  bottom: 100px;
  left: 250px;
}

@media (max-width: 1199px) {
  img.arrow-bottom {
    display: none;
  }
}

/* service single start */
.service-menu li.active {
  position: relative;
}

.service-menu li.active a {
  background: #303032;
  color: #fff !important;
}

.service-menu li.active::before {
  position: absolute;
  content: '';
  height: 16px;
  width: 16px;
  background: #303032;
  top: 50%;
  right: -7px;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

@media (max-width: 991px) {
  .service-menu li.active::before {
    display: none;
  }
}

.service-menu li:hover a {
  color: #fff !important;
  background: #303032;
}

/* service single end */
/* 15. work section */
.work {
  /* 15.1 work slider */
}

.work-slider {
  /* 15.2 slick dots */
}

.work-slider-image {
  position: relative;
}

.work-slider-image .image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.75);
  height: 100%;
  width: 100%;
  padding: 16px 25px;
  opacity: 0;
  transition: .2s;
}

.work-slider-image .image-overlay i {
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: inline-block;
  font-size: 24px;
  transition: .2s ease;
  padding: 10px;
}

.work-slider-image .image-overlay i:hover {
  font-size: 30px;
}

.work-slider-image .image-overlay a.h4 {
  position: absolute;
  bottom: 50px;
  color: #fff;
  transition: .2s ease;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  opacity: 0;
}

.work-slider-image .image-overlay a.h4:hover {
  color: #b28a42;
}

.work-slider-image .image-overlay p {
  position: absolute;
  bottom: 16px;
  color: #fff;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  opacity: 0;
  transition: .3s ease;
  transition-delay: .1s;
}

.work-slider-image:hover .image-overlay {
  opacity: 1;
}

.work-slider-image:hover a.h4,
.work-slider-image:hover p {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.work-slider .slick-dots {
  padding-left: 0;
  position: absolute;
  bottom: -60px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.work-slider .slick-dots li {
  margin: 0 14px;
}

@media (max-width: 400px) {
  .work-slider .slick-dots li {
    margin: 0 2px;
  }
}

.work-slider .slick-dots li:first-child {
  margin-left: 0;
}

.work-slider .slick-dots li button {
  height: 10px;
  width: 40px;
  border-radius: 25px;
  color: transparent;
  overflow: hidden;
  border: 0;
  border: 2px solid #e5e5e5;
  background: transparent;
  outline: 0;
  display: block;
}

.work-slider .slick-dots li button::before {
  display: none;
}

@media (max-width: 400px) {
  .work-slider .slick-dots li button {
    width: 10px;
  }
}

.work-slider .slick-dots li.slick-active button {
  border-color: #b28a42;
}

/* 19. project section */
.project {
  /* 19.1 project menu */
  /* 19.2 project item */
}

.project-menu ul li {
  padding: 5px 20px;
  border-radius: 35px;
  color: #222;
  font-size: 16px;
  font-weight: 400;
  border: 1px solid #e5e5e5;
  cursor: pointer;
  background: #f5f5f5;
  margin: 0 10px 25px;
}

.project-menu ul li.active {
  background: #b28a42;
  color: #fff;
}

.project-info {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: .2s ease;
}

.project-info a {
  color: #fff;
  position: absolute;
  left: 30px;
  bottom: 40px;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  opacity: 0;
}

.project-info a:hover {
  color: #b28a42;
}

.project-info p {
  position: absolute;
  left: 25px;
  bottom: 0;
  color: #fff;
  transition: .2s ease;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  opacity: 0;
  transition-delay: .1s;
}

.project-info p i {
  margin-right: 5px;
}

.project-info:hover {
  opacity: 1;
}

.project-info:hover a {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.project-info:hover p {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: .7;
}

/* 19.3 project single page start */
/* 19.4 nav tabs */
.nav-tabs {
  border: 0;
  margin-bottom: 30px;
}

@media (max-width: 991px) {
  .nav-tabs {
    justify-content: center;
  }
}

.nav-tabs .nav-item:not(:last-child) {
  margin-right: 10px;
}

@media (max-width: 575px) {
  .nav-tabs .nav-item {
    margin-bottom: 10px;
  }
}

.nav-tabs .nav-item .nav-link {
  padding: 10px 30px;
  border: 1px solid #e5e5e5;
  background: #f5f5f5;
  border-radius: 45px;
  text-align: center;
  vertical-align: middle;
  color: #222;
  transition: .2s ease;
  font-size: 16px;
  font-family: "Robotto", sans-serif;
}

.nav-tabs .nav-item .active {
  background: #fff;
  color: #b28a42;
  border-color: #b28a42;
}

/* 19.5 tab content */
.tab-content {
  padding: 40px;
  margin-bottom: 60px;
  border-radius: 5px;
  background: #fff;
  border: 1px solid #e5e5e5;
}

.tab-content-item {
  margin-left: 20px;
}

.tab-content-item:not(:last-child) {
  margin-bottom: 45px;
}

.tab-content-item h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #222;
  margin-bottom: 25px;
  position: relative;
}

.tab-content-item h6::before {
  position: absolute;
  content: "\e65d";
  font-family: "themify";
  top: 0;
  left: -20px;
  color: #b28a42;
}

.tab-content-item p {
  margin-bottom: 0;
}

/* project single page end */
/* 21.4.3 pagination */
.pagination .page-item .page-link {
  background: transparent;
  border: none;
  color: #000;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  transition: .3s ease;
}

.pagination .page-item .page-link:hover {
  color: #b28a42;
}

.pagination .page-item.active .page-link {
  color: #b28a42;
}

.pagination .prev,
.pagination .next {
  border: 1px solid #e5e5e5;
  border-radius: 30px;
  padding: 5px 10px;
  transition: .3s ease;
}

.pagination .prev:hover,
.pagination .next:hover {
  border-color: #b28a42;
}

.pagination .prev:hover .page-link,
.pagination .next:hover .page-link {
  color: #b28a42;
}

.pagination .prev {
  margin-right: 30px;
}

.pagination .next {
  margin-left: 30px;
}

/* 21.4.1 post slider */
.post-slider {
  position: relative;
}

.post-slider .prevArrow,
.post-slider .nextArrow {
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  line-height: 50px;
  top: 50%;
  border: 0;
  font-size: 20px;
  background: transparent;
  color: #b28a42;
  z-index: 9;
  background: rgba(255, 255, 255, 0.8);
  transition: .3s ease;
}

.post-slider .prevArrow:focus,
.post-slider .nextArrow:focus {
  outline: 0;
}

.post-slider .prevArrow:hover,
.post-slider .nextArrow:hover {
  background: rgba(232, 68, 68, 0.25);
}

.post-slider .prevArrow {
  left: 40px;
}

.post-slider .nextArrow {
  right: 40px;
}

.post-slider .slick-disabled {
  color: #e5e5e5;
}

/* 21.4.4 sidebar */
.search-wrapper {
  position: relative;
}

.search-wrapper input {
  background: #f5f5f5;
  border-radius: 30px;
  font-weight: 400;
  height: 40px;
  line-height: 40px;
  padding: 0 25px;
  font-size: 13px;
}

.search-wrapper::before {
  content: "\e610";
  font-family: "themify";
  position: absolute;
  top: 50%;
  right: 20px;
  color: #666;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

ul.tag-list li {
  margin-bottom: 7px;
}

ul.tag-list li a {
  color: #666;
  padding: 10px 16px;
  display: block;
  border: 1px solid #e5e5e5;
  border-radius: 30px;
  font-size: 13px;
  transition: .3s ease;
}

ul.tag-list li a:hover {
  background: #b28a42;
  border-color: #b28a42;
  color: #fff;
}

.newsletter .form-control {
  font-weight: 400;
  padding: 0 20px;
  height: 40px;
  line-height: 40px;
  border-radius: 30px;
  font-size: 13px;
}

/* 21.5 blog single start */
/* share icon */
.share-icon {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  line-height: 40px;
  text-align: center;
  font-size: 16px;
  display: inline-block;
}

.share-icon i {
  color: #fff;
}

/* 21.5.7 blog sidebar */
.sidebar-box-shadow {
  box-shadow: -3px 0px 3px 0px rgba(0, 0, 0, 0.06);
}

/* blog single end */
/* 22. contact section */
.form-control {
  border-radius: 5px;
  padding: 0 16px 2px;
  height: 40px;
  margin-bottom: 16px;
  border: 1px solid #e5e5e5;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #666;
}

.form-control:focus {
  border-color: #b28a42;
  box-shadow: none !important;
}

.form-control::-webkit-input-placeholder {
  color: #666;
}

.form-control::-moz-placeholder {
  color: #666;
}

.form-control::-ms-input-placeholder {
  color: #666;
}

.form-control::placeholder {
  color: #666;
}

/* 22.3 google map */
.map {
  position: relative;
}

.map #map_canvas {
  height: 450px;
}

/* 23.1 signup greetings */
.signup {
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0px 10px 35px 0px rgba(0, 0, 0, 0.1);
  /* 23.2 signup form */
}

.signup-greeting {
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 70px 0 140px;
  text-align: center;
}

@media (max-width: 1199px) {
  .signup-greeting {
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .signup-greeting {
    padding-top: 200px;
  }
}

@media (max-width: 575px) {
  .signup-greeting {
    padding-top: 400px;
  }
}

.signup-greeting img {
  margin-bottom: 50px;
  position: relative;
  z-index: 9;
}

.signup-greeting h4 {
  color: #fff;
  margin-bottom: 20px;
  position: relative;
  z-index: 9;
}

.signup-greeting p {
  color: #fff;
  position: relative;
  z-index: 9;
  margin: 0 40px;
}

.signup-form {
  padding: 50px 50px 50px 35px;
}

@media (max-width: 1199px) {
  .signup-form {
    padding: 50px 16px 50px 0;
  }
}

@media (max-width: 767px) {
  .signup-form {
    padding: 50px;
  }
}

@media (max-width: 575px) {
  .signup-form {
    text-align: center;
  }
}

.signup-form h4 {
  float: left;
  font-size: 26px;
  margin-bottom: 35px;
}

@media (max-width: 575px) {
  .signup-form h4 {
    float: unset;
  }
}

.signup-form a {
  color: #b28a42;
}

.signup-form .btn {
  margin-top: 30px;
}

.signup-form p.signup-with {
  display: inline-block;
  margin-top: 42px;
}

.signup-form ul {
  margin-top: 37px;
  display: inline-block;
}

.signup-form ul li a {
  height: 30px;
  width: 30px;
  line-height: 30px;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  display: inline-block;
}

/* 24. comming soon */
.comming-soon {
  height: 100vh;
  background-size: cover;
  display: flex;
  align-items: center;
}

.comming-soon h1 {
  font-size: 50px;
  font-weight: 600;
}

@media (max-width: 575px) {
  .comming-soon h1 {
    font-size: 30px;
  }
}

.comming-soon .form-control {
  height: 45px;
  border-radius: 45px;
  position: relative;
  background: transparent;
  border: 1px solid #e5e5e5;
  color: #fff;
  margin-bottom: 40px;
}

.comming-soon .form-control::-webkit-input-placeholder {
  color: #666;
}

.comming-soon .form-control::-moz-placeholder {
  color: #666;
}

.comming-soon .form-control::-ms-input-placeholder {
  color: #666;
}

.comming-soon .form-control::placeholder {
  color: #666;
}

.comming-soon .btn-email {
  position: absolute;
  top: 0;
  right: 16px;
  background: #fff;
  border: 0;
  color: #b28a42;
  border-radius: 45px;
  height: 45px;
  padding: 0 50px;
}

@media (max-width: 575px) {
  .comming-soon .btn-email {
    padding: 0 10px;
  }
}

.comming-soon i {
  color: #5c5c5c;
  margin: 0 16px;
  transition: .2s ease;
  font-size: 24px;
}

.comming-soon i:hover {
  color: #b28a42;
}

/* 24.1 syotimer */
.syotimer {
  text-align: center;
  margin: 0 auto 40px;
}

.syotimer-cell:last-child .syotimer-cell__value::before {
  opacity: 0;
}

.syotimer-cell {
  display: inline-block;
  margin: 0 25px;
}

@media (max-width: 1199px) {
  .syotimer-cell {
    margin: 0 20px;
  }
}

@media (max-width: 575px) {
  .syotimer-cell {
    margin: 0 10px;
  }
}

@media (max-width: 400px) {
  .syotimer-cell {
    margin: 0 5px;
  }
}

.syotimer-cell__value {
  font-size: 60px;
  font-weight: 600;
  color: #fff;
  position: relative;
}

@media (max-width: 1199px) {
  .syotimer-cell__value {
    font-size: 50px;
  }
}

@media (max-width: 575px) {
  .syotimer-cell__value {
    font-size: 30px;
  }
}

@media (max-width: 400px) {
  .syotimer-cell__value {
    font-size: 24px;
  }
}

.syotimer-cell__value::before {
  position: absolute;
  content: ':';
  height: 30px;
  color: #fff;
  right: -30px;
  top: 0;
}

@media (max-width: 575px) {
  .syotimer-cell__value::before {
    right: -20px;
  }
}

@media (max-width: 400px) {
  .syotimer-cell__value::before {
    right: -12px;
  }
}

.syotimer-cell__unit {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
}

/* 25.1 social link */
.social-icon-outline {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid #fff;
  text-align: center;
  transition: .2s ease;
  display: inline-block;
}

.social-icon-outline i {
  line-height: 40px;
  color: #fff;
  font-size: 14px;
}

.social-icon-outline:hover {
  border-color: #b28a42;
}

/* 25.2 footer link */
.footer-links {
  padding-left: 18px;
}

.footer-links li {
  margin-bottom: 20px;
  position: relative;
}

.footer-links li::before {
  position: absolute;
  font-family: "themify";
  content: "\e649";
  top: 0;
  left: -20px;
  height: 12px;
  width: auto;
  color: #fff;
}

.footer-links li a {
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  transition: .2s ease;
  display: block;
}

.footer-links li a:hover {
  text-decoration: underline;
  color: #b28a42;
}

/* 25.3 subcription */
.form-control.subscribe {
  width: 100%;
  border-radius: 35px;
  border: 0;
  padding: 0 20px !important;
  height: 50px;
}

/* subscribe button */
.btn-subscribe {
  position: absolute;
  right: 5px;
  top: 5px;
  border: 0;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  color: #fff;
  background: #b28a42;
  transition: all linear .2s;
}

.btn-subscribe:hover {
  padding-left: 16px;
}

.btn-subscribe:focus {
  outline: 0;
}

/* back to top button */
.back-to-top {
  position: absolute;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  color: #fff;
  background: #303032;
  top: -25px;
  right: 10px;
  border: 1px solid #454547;
  text-align: center;
  display: block;
  transition: .2s ease;
}

.back-to-top i {
  line-height: 50px;
}

.back-to-top:hover {
  border-color: #b28a42;
}

.back-to-top:focus {
  outline: 0;
}

.lista-personalizada {
  font-weight: 400;
  color: #666;
  font-size: 16px;
  font-family: "Open Sans", sans-serif;
  list-style-type: disc;
  padding-left: 1.5rem;
}
/*# sourceMappingURL=maps/style.css.map */


/* Tabela de composição dos planos de saúde MEI */
.tabela-responsiva {
  width: 100%;
  margin: 25px 0;
  overflow-x: auto;
  border-radius: 5px;
}

.tabela-mei {
  width: 100%;
  border-collapse: collapse;
  background-color: #ffffff;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

.tabela-mei th,
.tabela-mei td {
  padding: 14px 16px;
  border: 1px solid #cfd6dc;
  text-align: left;
  vertical-align: middle;
}

.tabela-mei th {
  background-color: #173f5f;
  color: #ffffff;
  font-weight: 700;
}

.tabela-mei th:first-child {
  width: 27%;
}

.tabela-mei tbody tr:nth-child(even) {
  background-color: #f3f6f8;
}

.tabela-mei tbody tr:hover {
  background-color: #eaf4f7;
}

/* Ajuste para celular */
@media (max-width: 600px) {
  .tabela-mei {
    min-width: 620px;
    font-size: 14px;
  }

  .tabela-mei th,
  .tabela-mei td {
    padding: 11px 12px;
  }
}


.informacoes-editoriais {
  margin: 30px 0;
  padding: 20px 22px;
  background-color: #f3f7fa;
  border-left: 5px solid #194868;
  border-radius: 6px;
}

.informacoes-editoriais p {
  margin: 0 0 8px;
  color: #444444;
  font-size: 15px;
  line-height: 1.6;
}

.informacoes-editoriais p:last-child {
  margin-bottom: 0;
}

.informacoes-editoriais strong {
  color: #194868;
}

.informacoes-editoriais a {
  color: #1676a3;
  text-decoration: underline;
}

.informacoes-editoriais a:hover {
  color: #0d4f70;
}



.cv-linhas-aviso {
  margin-top: 25px;
  padding: 19px 22px;
  border: 1px solid #ead597;
  border-left: 5px solid #d5a514;
  border-radius: 12px;
  background: #fff9e8;
  color: #624f19;
  font-size: 15px;
  line-height: 1.65;
}

.cv-linhas-aviso strong {
  color: #503e0c;
}

/* =====================================================
   FAQ AMIL BLACK
   Cores: preto, grafite, branco e dourado
   ===================================================== */

.faq-black,
.faq-black * {
  box-sizing: border-box;
}

.faq-black {
  --black: #111111;
  --graphite: #292929;
  --dark-gray: #3b3b3b;
  --gold: #b89a5d;
  --gold-dark: #96783f;
  --gold-light: #d7c18e;
  --off-white: #f7f7f5;
  --light-gray: #ececec;
  --border: #dedede;
  --white: #ffffff;

  width: 100%;
  max-width: 1180px;
  margin: 60px auto;
  padding: 0 20px;
  color: var(--graphite);
  font-family: inherit;
}

.faq-black__cabecalho {
  max-width: 850px;
  margin: 0 auto 34px;
  text-align: center;
}

.faq-black__etiqueta {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--gold-dark);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 1.8px;
}

.faq-black__titulo {
  margin: 0 0 15px;
  color: var(--black);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.5px;
}

.faq-black__introducao {
  max-width: 760px;
  margin: 0 auto;
  color: #5a5a5a;
  font-size: 17px;
  line-height: 1.7;
}

.faq-black__lista {
  display: grid;
  gap: 12px;
}

.faq-black__item {
  position: relative;
  overflow: hidden;
  margin: 0;
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 4px solid var(--gold);
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.055);
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.faq-black__item:hover {
  border-color: var(--gold-light);
  border-left-color: var(--gold);
  box-shadow: 0 9px 28px rgba(0, 0, 0, 0.09);
  transform: translateY(-1px);
}

.faq-black__item[open] {
  border-color: var(--gold-light);
  border-left-color: var(--gold);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.09);
}

.faq-black__pergunta {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 74px;
  padding: 20px 68px 20px 24px;
  color: var(--black);
  font-size: 17px;
  font-weight: 750;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
  transition:
    color 0.25s ease,
    background-color 0.25s ease;
}

.faq-black__pergunta::-webkit-details-marker {
  display: none;
}

.faq-black__pergunta::marker {
  display: none;
  content: "";
}

.faq-black__pergunta::before,
.faq-black__pergunta::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  width: 18px;
  height: 2px;
  background: var(--gold-dark);
  border-radius: 3px;
  transform: translateY(-50%);
  transition: transform 0.25s ease;
}

.faq-black__pergunta::after {
  transform: translateY(-50%) rotate(90deg);
}

.faq-black__item[open] .faq-black__pergunta {
  color: var(--gold-dark);
  background: linear-gradient(
    90deg,
    rgba(184, 154, 93, 0.08),
    rgba(184, 154, 93, 0.015)
  );
}

.faq-black__item[open] .faq-black__pergunta::after {
  transform: translateY(-50%) rotate(0);
}

.faq-black__pergunta:focus-visible {
  outline: 3px solid rgba(184, 154, 93, 0.35);
  outline-offset: -3px;
}

.faq-black__resposta {
  padding: 0 68px 23px 24px;
  color: #515151;
  font-size: 16px;
  line-height: 1.75;
  animation: faqBlackAbrir 0.28s ease;
}

.faq-black__resposta p {
  margin: 0 0 13px;
}

.faq-black__resposta p:last-child {
  margin-bottom: 0;
}

.faq-black__resposta p:nth-child(2)::first-letter {
  color: var(--gold-dark);
  font-weight: 700;
}

.faq-black__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 36px;
  padding: 34px;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(184, 154, 93, 0.24),
      transparent 30%
    ),
    linear-gradient(135deg, #101010, #292929);
  border: 1px solid #3c3c3c;
  border-radius: 14px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.18);
}

.faq-black__cta-conteudo {
  max-width: 730px;
}

.faq-black__cta-etiqueta {
  display: block;
  margin-bottom: 7px;
  color: var(--gold-light);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
}

.faq-black__cta h3 {
  margin: 0 0 9px;
  color: var(--white);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  line-height: 1.25;
}

.faq-black__cta p {
  margin: 0;
  color: #dfdfdf;
  font-size: 16px;
  line-height: 1.65;
}

.faq-black__botao {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 25px;
  color: var(--black) !important;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  border: 1px solid var(--gold-light);
  border-radius: 7px;
  box-shadow: 0 7px 20px rgba(184, 154, 93, 0.23);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.faq-black__botao:hover {
  color: var(--white) !important;
  background: var(--gold-dark);
  border-color: var(--gold-dark);
  box-shadow: 0 9px 24px rgba(184, 154, 93, 0.3);
  transform: translateY(-2px);
}

.faq-black__botao:focus-visible {
  outline: 3px solid var(--gold-light);
  outline-offset: 4px;
}

.faq-black__aviso {
  max-width: 900px;
  margin: 18px auto 0;
  color: #747474;
  font-size: 12px;
  line-height: 1.55;
  text-align: center;
}

@keyframes faqBlackAbrir {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Tablet e celular */

@media (max-width: 768px) {
  .faq-black {
    margin: 42px auto;
    padding: 0 15px;
  }

  .faq-black__cabecalho {
    margin-bottom: 26px;
  }

  .faq-black__introducao {
    font-size: 16px;
  }

  .faq-black__pergunta {
    min-height: 68px;
    padding: 18px 55px 18px 18px;
    font-size: 16px;
  }

  .faq-black__pergunta::before,
  .faq-black__pergunta::after {
    right: 19px;
    width: 16px;
  }

  .faq-black__resposta {
    padding: 0 20px 20px 18px;
    font-size: 15px;
    line-height: 1.7;
  }

  .faq-black__cta {
    flex-direction: column;
    align-items: flex-start;
    padding: 27px 22px;
  }

  .faq-black__botao {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .faq-black__item {
    border-left-width: 3px;
    border-radius: 8px;
  }

  .faq-black__pergunta {
    padding-left: 15px;
    font-size: 15.5px;
  }

  .faq-black__resposta {
    padding-left: 15px;
  }
}

/* Reduz animações para quem prefere menor movimento */

@media (prefers-reduced-motion: reduce) {
  .faq-black__item,
  .faq-black__pergunta,
  .faq-black__pergunta::before,
  .faq-black__pergunta::after,
  .faq-black__botao,
  .faq-black__resposta {
    animation: none;
    transition: none;
  }
}

.imagem-arredondada {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
}



/* ==================================================
   BANNER - PLANOS DE SAÚDE RIBEIRÃO PRETO
================================================== */

.rp-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(255,255,255,.13) 0,
            rgba(255,255,255,0) 35%
        ),
        linear-gradient(
            135deg,
            #000000 0%,
            #000000 52%,
            #666666 100%
        );

    padding: 72px 20px 125px;
    isolation: isolate;
}


/* Curva branca inferior */

.rp-hero::after {
    content: "";
    position: absolute;
    z-index: 1;

    left: -5%;
    bottom: -82px;

    width: 110%;
    height: 155px;

    background: #ffffff;

    border-radius:
        50% 50% 0 0 /
        100% 100% 0 0;
}


/* Container */

.rp-hero__container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1320px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.05fr .95fr;

    gap: 65px;
    align-items: center;
}


/* ==================================================
   LADO ESQUERDO
================================================== */

.rp-hero__conteudo {
    max-width: 720px;
}


/* Selo superior */

.rp-hero__selo {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 25px;

    padding: 9px 17px;

    border: 1px solid rgba(255,255,255,.22);

    background: rgba(255,255,255,.13);

    backdrop-filter: blur(6px);

    border-radius: 30px;

    color: #ffffff;

    font-size: 15px;
    font-weight: 600;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12);
}


.rp-hero__selo-icone {
    width: 22px;
    height: 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.18);

    color: #fff;

    font-size: 12px;
}


/* Título sem usar H1/H2/H3 */

.rp-hero__titulo {
    max-width: 740px;

    margin-bottom: 23px;

    color: #ffffff;

    font-size: clamp(36px, 4vw, 45px);
    line-height: 1.10;

    font-weight: 800;

    letter-spacing: -1.8px;
}


.rp-hero__titulo span {
    color: #f4df9e;
}


/* Texto */

.rp-hero__texto {
    max-width: 680px;

    margin: 0 0 26px;

    color: rgba(255,255,255,.94);

    font-size: 18px;
    line-height: 1.75;

    font-weight: 400;
}


/* Botão */

.rp-hero__botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 57px;

    padding: 0 27px;

    background:
        linear-gradient(
            135deg,
            #f1db91,
            #e6cc7c
        );

    border: 1px solid rgba(255,255,255,.18);

    border-radius: 12px;

    color: #3c3325;

    text-decoration: none;

    font-size: 16px;
    font-weight: 700;

    box-shadow:
        0 12px 28px rgba(70,48,21,.24),
        inset 0 1px 0 rgba(255,255,255,.45);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}


.rp-hero__botao:hover {
    transform: translateY(-3px);

    background:
        linear-gradient(
            135deg,
            #f7e8b3,
            #ead184
        );

    color: #30281d;

    box-shadow:
        0 15px 35px rgba(70,48,21,.30),
        inset 0 1px 0 rgba(255,255,255,.50);
}


.rp-hero__botao-icone {
    font-size: 22px;
    line-height: 1;
}


/* ==================================================
   LADO DIREITO
================================================== */

.rp-hero__visual {
    width: 100%;
    max-width: 560px;

    justify-self: end;
}


/* Imagem */

.rp-hero__imagem-box {
    position: relative;

    width: 100%;

    margin-bottom: 18px;

    padding: 10px 12px 0;

    background: rgba(255,255,255,.09);

    border: 1px solid rgba(255,255,255,.16);

    border-radius: 34px;

    box-shadow:
        0 18px 45px rgba(77,51,22,.14);

    backdrop-filter: blur(3px);
}


.rp-hero__imagem {
    display: block;

    width: 100%;
    height: auto;

    border-radius: 26px;

    object-fit: contain;
}


/* ==================================================
   QUADROS / NÚMEROS
================================================== */

.rp-hero__numeros {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}


.rp-hero__numero {
    min-height: 105px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 17px 10px;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.17),
            rgba(255,255,255,.08)
        );

    border: 1px solid rgba(255,255,255,.24);

    border-radius: 17px;

    backdrop-filter: blur(7px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.15),
        0 12px 26px rgba(74,49,19,.10);

    transition:
        transform .25s ease,
        background .25s ease;
}


.rp-hero__numero:hover {
    transform: translateY(-3px);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.23),
            rgba(255,255,255,.11)
        );
}


.rp-hero__numero strong {
    display: block;

    margin-bottom: 4px;

    color: #f5dfa0;

    font-size: 34px;
    line-height: 1;

    font-weight: 800;
}


.rp-hero__numero span {
    display: block;

    color: #ffffff;

    font-size: 12px;

    font-weight: 700;

    line-height: 1.25;

    text-transform: uppercase;

    letter-spacing: .55px;
}


/* LEGENDA DAS IMAGENS — HERO HOSPITAIS */

.rp-hero__legenda {
    margin: 12px 0 0;
    color: #bfbfbf;
    font-size: 12px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.2px;
}



/* ==================================================
   TABLET
================================================== */

@media (max-width: 1050px) {

    .rp-hero {
        padding-top: 58px;
    }

    .rp-hero__container {
        gap: 38px;
    }

    .rp-hero__titulo {
        font-size: clamp(34px, 5vw, 48px);
    }

    .rp-hero__texto {
        font-size: 17px;
    }

}


/* ==================================================
   CELULAR
================================================== */

@media (max-width: 820px) {

    .rp-hero {
        padding:
            46px 18px
            105px;
    }


    .rp-hero__container {
        display: flex;
        flex-direction: column;

        gap: 35px;
    }


    .rp-hero__conteudo {
        width: 100%;

        text-align: center;
    }


    .rp-hero__selo {
        margin-left: auto;
        margin-right: auto;

        font-size: 13px;
    }


    .rp-hero__titulo {
        margin-left: auto;
        margin-right: auto;

        font-size: clamp(32px, 9vw, 43px);

        letter-spacing: -1px;
    }


    .rp-hero__texto {
        margin-left: auto;
        margin-right: auto;

        font-size: 16px;
        line-height: 1.65;
    }


    .rp-hero__botao {
        width: 100%;
        max-width: 330px;
    }


    .rp-hero__visual {
        max-width: 530px;

        margin: 0 auto;

        justify-self: auto;
    }


    .rp-hero__imagem-box {
        padding: 7px;

        border-radius: 25px;
    }


    .rp-hero__imagem {
        border-radius: 20px;
    }


    .rp-hero__numero {
        min-height: 92px;
    }


    .rp-hero__numero strong {
        font-size: 29px;
    }


    .rp-hero__numero span {
        font-size: 11px;
    }


    .rp-hero::after {
        height: 120px;

        bottom: -72px;
    }

}


/* ==================================================
   CELULAR PEQUENO
================================================== */

@media (max-width: 480px) {

    .rp-hero {
        padding-top: 38px;
    }


    .rp-hero__titulo {
        font-size: 32px;
    }


    .rp-hero__numeros {
        gap: 10px;
    }


    .rp-hero__numero {
        min-height: 88px;

        padding: 13px 6px;
    }


    .rp-hero__numero strong {
        font-size: 26px;
    }


    .rp-hero__numero span {
        font-size: 10px;

        letter-spacing: .25px;
    }

}







/* =================================
   TABELAS PADRÃO — AMIL BLACK
================================= */

.secao-tabela {
  width: 100%;
  margin: 45px 0;
}

.secao-tabela h2 {
  margin: 0 0 15px;
  color: #111111;
}

.secao-tabela > p {
  max-width: 950px;
  margin: 0 0 25px;
  color: #454545;
  line-height: 1.7;
}

.tabela-responsiva {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #dedede;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
  -webkit-overflow-scrolling: touch;
}

.tabela-padrao {
  width: 100%;
  min-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
  color: #222222;
  font-size: 16px;
  line-height: 1.5;
}

.tabela-padrao caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.tabela-padrao thead th {
  padding: 18px 16px;
  color: #ffffff;
  background: #111111;
  border-bottom: 3px solid #b79655;
  font-weight: 700;
  text-align: left;
  vertical-align: middle;
}

.tabela-padrao thead th:first-child {
  border-radius: 15px 0 0 0;
}

.tabela-padrao thead th:last-child {
  border-radius: 0 15px 0 0;
}

.tabela-padrao tbody th,
.tabela-padrao tbody td {
  padding: 16px;
  border-bottom: 1px solid #e2e2e2;
  text-align: left;
  vertical-align: middle;
}

.tabela-padrao tbody th {
  width: 25%;
  color: #171717;
  font-weight: 600;
}

.tabela-padrao tbody tr:nth-child(even) {
  background: #f7f7f7;
}

.tabela-padrao tbody tr:nth-child(odd) {
  background: #ffffff;
}

.tabela-padrao tbody tr:hover {
  background: #f3eee5;
}

.tabela-padrao tbody tr:last-child th,
.tabela-padrao tbody tr:last-child td {
  border-bottom: 0;
}

.tabela-sim {
  color: #176b3a;
  font-weight: 700;
}

.tabela-nao {
  color: #666666;
  font-weight: 600;
}

.notas-tabela {
  background-color: #faf8f5;
  border-left: 4px solid #c9a96e;
  padding: 20px 24px;
  margin: 24px 0;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.notas-tabela p {
  margin: 0;
  color: #2c2c2c;
  font-size: 15px;
  line-height: 1.6;
}

.notas-tabela strong {
  color: #1a1a1a;
  font-weight: 600;
}

/* Celulares e tablets */
@media (max-width: 768px) {
  .secao-tabela {
    margin: 32px 0;
  }

  .tabela-responsiva {
    border-radius: 12px;
  }

  .tabela-padrao {
    min-width: 820px;
    font-size: 15px;
  }

  .tabela-padrao thead th,
  .tabela-padrao tbody th,
  .tabela-padrao tbody td {
    padding: 14px 12px;
  }

  .notas-tabela {
    padding: 14px;
  }
}


/* ===================================
   LINHAS AMIL BLACK — CARTÕES PREMIUM
=================================== */

.linhas-black {
  --black: #111111;
  --black-soft: #222222;
  --gold: #b79655;
  --gold-light: #e8dcc5;
  --cream: #f7f4ee;
  --gray: #5d5d5d;
  --border: #dddddd;

  width: 100%;
  padding: 60px 0;
}

.linhas-black,
.linhas-black * {
  box-sizing: border-box;
}

.linhas-black__cabecalho {
  max-width: 880px;
  margin: 0 auto 38px;
  text-align: center;
}

.linhas-black__etiqueta {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.5px;
}

.linhas-black__cabecalho h2 {
  margin: 0 0 16px;
  color: var(--black);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.15;
}

.linhas-black__cabecalho p {
  margin: 0;
  color: var(--gray);
  font-size: 18px;
  line-height: 1.75;
}

.linhas-black__grade {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

/* Cartão */

.plano-black-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 34px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--border);
  border-top: 4px solid var(--black);
  border-radius: 20px;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}



.plano-black-card:hover {
  transform: translateY(-6px);
  border-color: var(--gold);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.13);
}

/* Cartão destacado */

.plano-black-card--destaque {
  border: 2px solid var(--gold);
  border-top: 4px solid var(--gold);
  background:
    linear-gradient(145deg, #ffffff 0%, #ffffff 70%, #faf7f1 100%);
}

.plano-black-card__selo {
  position: absolute;
  top: 18px;
  right: 20px;
  padding: 7px 12px;
  color: #ffffff;
  background: var(--black);
  border-radius: 30px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.7px;
}

/* Número */

.plano-black-card__numero {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 23px;
  color: #ffffff;
  background: var(--black);
  border: 2px solid var(--gold);
  border-radius: 15px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  font-size: 16px;
  font-weight: 800;
}

/* Título */

.plano-black-card__topo {
  position: relative;
  z-index: 1;
}

.plano-black-card__categoria {
  display: block;
  margin-bottom: 7px;
  color: var(--gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.plano-black-card__topo h3 {
  margin: 0 0 10px;
  color: var(--black);
  font-size: 28px;
  line-height: 1.2;
}

.plano-black-card__subtitulo {
  min-height: 52px;
  margin: 0 0 20px;
  color: var(--black-soft);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}

.plano-black-card__descricao {
  margin: 0 0 22px;
  color: var(--gray);
  font-size: 16px;
  line-height: 1.75;
}

/* Benefícios */

.plano-black-card__lista {
  display: grid;
  gap: 12px;
  margin: 0 0 25px;
  padding: 0;
  list-style: none;
}

.plano-black-card__lista li {
  position: relative;
  padding-left: 29px;
  color: #333333;
  font-size: 15px;
  line-height: 1.5;
}

.plano-black-card__lista li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--gold);
  font-size: 19px;
  font-weight: 900;
}

/* Destaque intermediário */

.plano-black-card__destaque {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: auto;
  margin-bottom: 22px;
  padding: 15px 17px;
  background: var(--cream);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
}

.plano-black-card__destaque span {
  color: #555555;
  font-size: 13px;
}

.plano-black-card__destaque strong {
  color: var(--black);
  font-size: 15px;
  text-align: right;
}

/* Botão */

.plano-black-card__botao {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  width: 100%;
  min-height: 58px;
  padding: 15px 20px;
  color: #ffffff;
  background: var(--black);
  border: 2px solid var(--black);
  border-radius: 11px;
  font-size: 16px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.plano-black-card__botao span {
  color: var(--gold);
 }

/* Amil Black — um produto por linha no celular */
@media (max-width: 767px) {
  .linhas-black__grade {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  .plano-black-card {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}


/* ==========================================
   LOGOS DAS OPERADORAS — CAMPINAS
========================================== */

.linhas-black .plano-black-card__logo {
  position: absolute;
  z-index: 1;
  top: 22px;
  right: 32px;
  width: min(220px, calc(100% - 135px));
  height: 85px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  pointer-events: none;
}

.linhas-black .plano-black-card__logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: right center;
}

/* TABLET E CELULAR */

@media (max-width: 767px) {
  .linhas-black .plano-black-card__logo {
    top: 20px;
    right: 24px;
    width: min(190px, calc(100% - 115px));
    height: 75px;
  }
}

/* CELULARES PEQUENOS */

@media (max-width: 380px) {
  .linhas-black .plano-black-card {
    padding: 24px;
  }

  .linhas-black .plano-black-card__logo {
    top: 18px;
    right: 20px;
    width: calc(100% - 110px);
    height: 65px;
  }
}


/* ==========================================
   TABELA PRECOS
========================================== */


/* Tabela de preços Amil Black */
.tabela-black {
  --black-azul: #071b35;
  --black-azul-claro: #0b3154;
  --black-dourado: #b08a3e;
  --black-dourado-claro: #f5ecd9;
  --black-borda: #dfe5eb;
  --black-texto: #243244;
  --black-fundo: #f6f8fa;

  width: 100%;
  margin: 32px 0;
  color: var(--black-texto);
  font-family: inherit;
}

.tabela-black__cabecalho {
  margin-bottom: 20px;
}

.tabela-black__tag {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 13px;
  border-radius: 999px;
  background: var(--black-dourado-claro);
  color: #74581f;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tabela-black__cabecalho h3 {
  margin: 0 0 10px;
  color: var(--black-azul);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.2;
}

.tabela-black__cabecalho p {
  margin: 0;
  line-height: 1.7;
}

.tabela-black__rolagem {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--black-borda);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(7, 27, 53, 0.08);
  -webkit-overflow-scrolling: touch;
}

.tabela-black table {
  width: 100%;
  min-width: 650px;
  margin: 0;
  border-collapse: collapse;
}

.tabela-black caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.tabela-black thead th {
  padding: 18px 20px;
  border: 0;
  background: var(--black-azul);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
}

.tabela-black thead th:not(:first-child) {
  text-align: center;
}

.tabela-black thead .tabela-black__premium {
  background: var(--black-dourado);
}

.tabela-black tbody th,
.tabela-black tbody td {
  padding: 15px 20px;
  border: 0;
  border-bottom: 1px solid var(--black-borda);
  font-size: 15px;
}

.tabela-black tbody th {
  color: var(--black-azul);
  font-weight: 700;
  text-align: left;
}

.tabela-black tbody td {
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.tabela-black tbody tr:nth-child(even) {
  background: var(--black-fundo);
}

.tabela-black tbody tr:hover {
  background: var(--black-dourado-claro);
}

.tabela-black tbody tr:last-child th,
.tabela-black tbody tr:last-child td {
  border-bottom: 0;
}

.tabela-black tbody td:last-child {
  color: #74581f;
  font-weight: 700;
}

.tabela-black__informacoes {
  margin-top: 18px;
  padding: 18px 20px;
  border-left: 4px solid var(--black-azul-claro);
  border-radius: 0 10px 10px 0;
  background: #f1f6fa;
}

.tabela-black__informacoes p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
}

.tabela-black__informacoes p + p {
  margin-top: 8px;
}

.tabela-black__aviso {
  margin-top: 16px;
  padding: 18px 20px;
  border: 1px solid #e4c988;
  border-radius: 10px;
  background: var(--black-dourado-claro);
  color: #5d481d;
}

.tabela-black__aviso strong {
  display: block;
  margin-bottom: 5px;
  color: #4d3a14;
  font-size: 16px;
}

.tabela-black__aviso p {
  margin: 0;
  line-height: 1.6;
}

/* Ajustes para celular */
@media (max-width: 680px) {
  .tabela-black {
    margin: 24px 0;
  }

  .tabela-black__rolagem {
    border-radius: 10px;
  }

  .tabela-black table {
    min-width: 590px;
  }

  .tabela-black thead th,
  .tabela-black tbody th,
  .tabela-black tbody td {
    padding: 13px 14px;
    font-size: 14px;
  }

  .tabela-black__informacoes,
  .tabela-black__aviso {
    padding: 16px;
  }
}


/* ==================================================
   ÍNDICE PREMIUM — AMIL BLACK
================================================== */

.indice-black {
  position: relative;
  width: 100%;
  margin: 38px 0 48px;
  padding: 32px;
  overflow: hidden;
  border: 1px solid #ded7ca;
  border-left: 6px solid #b28a42;
  border-radius: 12px;
  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f8f6f1 100%
    );
  box-shadow: 0 9px 30px rgba(18, 40, 59, 0.11);
}

/* Detalhe decorativo dourado */

.indice-black::after {
  content: "";
  position: absolute;
  top: -85px;
  right: -75px;
  width: 205px;
  height: 205px;
  border-radius: 50%;
  background:
    linear-gradient(
      135deg,
      rgba(178, 138, 66, 0.16),
      rgba(178, 138, 66, 0.04)
    );
  pointer-events: none;
}

/* Pequeno detalhe interno */

.indice-black::before {
  content: "";
  position: absolute;
  top: 0;
  right: 66px;
  width: 1px;
  height: 105px;
  background:
    linear-gradient(
      to bottom,
      rgba(178, 138, 66, 0.55),
      transparent
    );
  pointer-events: none;
}

/* Cabeçalho */

.indice-black__cabecalho {
  position: relative;
  z-index: 1;
  padding-bottom: 22px;
  margin-bottom: 23px;
  border-bottom: 1px solid #ded7ca;
}

.indice-black__etiqueta {
  display: inline-block;
  margin-bottom: 8px;
  color: #9a732f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.indice-black__cabecalho h2 {
  margin: 0 0 9px;
  color: #142c42;
  font-size: 29px;
  font-weight: 700;
  line-height: 1.25;
}

.indice-black__cabecalho p {
  max-width: 830px;
  margin: 0;
  color: #596a78;
  font-size: 16px;
  line-height: 1.65;
}

/* Lista em duas colunas */

.indice-black__lista {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 25px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: indice-black;
}

.indice-black__lista li {
  min-width: 0;
  margin: 0;
  padding: 0;
  counter-increment: indice-black;
}

/* Links */

.indice-black__lista a {
  display: flex;
  align-items: center;
  min-height: 55px;
  padding: 10px 13px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #142c42;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

/* Numeração automática */

.indice-black__lista a::before {
  content: counter(indice-black, decimal-leading-zero);
  display: inline-flex;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 12px;
  border: 1px solid #b28a42;
  border-radius: 50%;
  background:
    linear-gradient(
      135deg,
      #1b344b 0%,
      #0f2436 100%
    );
  color: #e5c987;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 3px 10px rgba(18, 40, 59, 0.15);
}

/* Efeito ao passar o mouse */

.indice-black__lista a:hover {
  color: #8b672a;
  border-color: #dfd0af;
  background-color: #ffffff;
  box-shadow: 0 5px 15px rgba(18, 40, 59, 0.08);
  transform: translateY(-2px);
}

.indice-black__lista a:hover::before {
  border-color: #c9a65d;
  background:
    linear-gradient(
      135deg,
      #c6a35b 0%,
      #9b722f 100%
    );
  color: #ffffff;
}

.indice-black__lista a:focus-visible {
  outline: 3px solid rgba(178, 138, 66, 0.32);
  outline-offset: 2px;
}

/* Posicionamento após clicar nas âncoras */

#o-que-e,
#planos-amil-black,
#comparativo-amil-black,
#rede-credenciada,
#reembolso,
#beneficios,
#viagem-internacional,
#dental,
#prevencao,
#servicos,
#quem-pode-contratar,
#preco,
#regras,
#como-contratar,
#faq {
  scroll-margin-top: 100px;
}

/* Tablet */

@media (max-width: 900px) {
  .indice-black {
    padding: 27px;
  }

  .indice-black__lista {
    grid-template-columns: 1fr;
    gap: 9px;
  }
}

/* Celular */

@media (max-width: 600px) {
  .indice-black {
    margin: 28px 0 38px;
    padding: 22px 17px;
    border-left-width: 5px;
    border-radius: 10px;
  }

  .indice-black::after {
    top: -95px;
    right: -95px;
  }

  .indice-black__cabecalho {
    padding-bottom: 18px;
    margin-bottom: 16px;
  }

  .indice-black__cabecalho h2 {
    font-size: 23px;
  }

  .indice-black__cabecalho p {
    font-size: 15px;
  }

  .indice-black__lista a {
    min-height: 51px;
    padding: 8px;
    font-size: 15px;
  }

  .indice-black__lista a::before {
    flex-basis: 33px;
    width: 33px;
    height: 33px;
    margin-right: 10px;
    font-size: 11px;
  }
}


/* ==========================================
   MATÉRIAS EM DESTAQUE — AMIL BLACK
========================================== */

.atualizacoes-black {
  position: relative;
  width: 100%;
  max-width: 1240px;
  margin: 65px auto;
  padding: 55px 42px;
  overflow: hidden;
  border: 1px solid #dedede;
  border-top: 4px solid #b79655;
  border-radius: 24px;
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(183, 150, 85, 0.13),
      transparent 32%
    ),
    linear-gradient(145deg, #ffffff 0%, #f7f7f7 100%);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.09);
}

.atualizacoes-black::before {
  content: "";
  position: absolute;
  top: -110px;
  right: -110px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(183, 150, 85, 0.28);
  border-radius: 50%;
  pointer-events: none;
}

.atualizacoes-black__cabecalho {
  position: relative;
  max-width: 850px;
  margin: 0 auto 38px;
  text-align: center;
  z-index: 1;
}

.atualizacoes-black__chapeu {
  display: inline-block;
  margin-bottom: 12px;
  color: #a47f38;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.6px;
}

.atualizacoes-black__cabecalho h2 {
  margin: 0 0 15px;
  color: #111111;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 500;
  line-height: 1.15;
}

.atualizacoes-black__cabecalho p {
  max-width: 760px;
  margin: 0 auto;
  color: #555555;
  font-size: 18px;
  line-height: 1.7;
}

.atualizacoes-black__grade {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  z-index: 1;
}

.atualizacoes-black__card {
  position: relative;
  display: flex;
  min-height: 315px;
  padding: 32px;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid #dfdfdf;
  border-top: 3px solid #171717;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.07);
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.atualizacoes-black__card::after {
  content: "";
  position: absolute;
  top: -58px;
  right: -58px;
  width: 135px;
  height: 135px;
  border: 1px solid rgba(183, 150, 85, 0.28);
  border-radius: 50%;
  pointer-events: none;
}

.atualizacoes-black__card:hover {
  transform: translateY(-5px);
  border-color: #b79655;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12);
}

.atualizacoes-black__numero {
  display: inline-flex;
  width: 52px;
  height: 52px;
  margin-bottom: 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid #b79655;
  border-radius: 14px;
  background: #111111;
  box-shadow: 0 5px 13px rgba(0, 0, 0, 0.16);
  color: #ffffff;
  font-size: 17px;
  font-weight: 800;
}

.atualizacoes-black__categoria {
  display: block;
  margin-bottom: 10px;
  color: #a47f38;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.2px;
}

.atualizacoes-black__card h3 {
  margin: 0 0 15px;
  padding: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
}

.atualizacoes-black__card h3 a {
  color: #111111;
  text-decoration: none;
  transition: color 0.2s ease;
}

.atualizacoes-black__card h3 a:hover,
.atualizacoes-black__card h3 a:focus {
  color: #9b762f;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.atualizacoes-black__card p {
  margin: 0 0 24px;
  color: #555555;
  font-size: 16px;
  line-height: 1.7;
}

.atualizacoes-black__link {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  align-items: center;
  gap: 9px;
  color: #111111;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

.atualizacoes-black__link span {
  color: #b79655;
  font-size: 21px;
  transition: transform 0.2s ease;
}

.atualizacoes-black__link:hover {
  color: #9b762f;
  text-decoration: none;
}

.atualizacoes-black__link:hover span {
  transform: translateX(5px);
}

.atualizacoes-black__card a:focus-visible {
  outline: 3px solid rgba(183, 150, 85, 0.45);
  outline-offset: 4px;
  border-radius: 3px;
}

/* Tablet */
@media (max-width: 991px) {
  .atualizacoes-black {
    padding: 45px 28px;
  }

  .atualizacoes-black__card {
    padding: 28px;
  }

  .atualizacoes-black__card h3 {
    font-size: 21px;
  }
}

/* Celular */
@media (max-width: 767px) {
  .atualizacoes-black {
    margin: 42px auto;
    padding: 38px 18px;
    border-radius: 18px;
  }

  .atualizacoes-black__cabecalho {
    margin-bottom: 28px;
    text-align: left;
  }

  .atualizacoes-black__cabecalho h2 {
    font-size: 30px;
  }

  .atualizacoes-black__cabecalho p {
    font-size: 16px;
  }

  .atualizacoes-black__grade {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .atualizacoes-black__card {
    min-height: auto;
    padding: 25px 22px;
  }

  .atualizacoes-black__numero {
    width: 47px;
    height: 47px;
    margin-bottom: 18px;
  }

  .atualizacoes-black__card h3 {
    font-size: 20px;
  }
}

/* ==================================================
   SELOS DE CONFIANÇA - AMIL BLACK
   ================================================== */

.selos-confianca-black {
    max-width: 980px;
    margin: 35px auto 28px;
    padding: 22px 15px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;

    border-top: 1px solid rgba(255,255,255,.08);
}


/* QUADRO */

.selo-black {
    min-height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    padding: 10px 14px;

    background: rgba(255,255,255,.035);

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 7px;

    color: rgba(255,255,255,.88);

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


/* ÍCONE */

.selo-black__icone {
    width: 17px;
    height: 17px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 17px;

    opacity: .90;
}

.selo-black__icone svg {
    width: 17px;
    height: 17px;

    stroke: #ffffff;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* TEXTO */

.selo-black__texto {
    font-size: 13px;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: .05px;

    color: rgba(255,255,255,.82);
}


/* EFEITO MUITO DISCRETO */

.selo-black:hover {
    background: rgba(255,255,255,.055);
    border-color: rgba(255,255,255,.24);
    transform: translateY(-1px);
}


/* TABLET */

@media (max-width: 900px) {

    .selos-confianca-black {
        grid-template-columns: repeat(2, 1fr);
        max-width: 620px;
    }

}


/* CELULAR */



@media (min-width: 901px) {
    .selos-confianca-black {
        max-width: 1100px;
    }

    .selo-black__texto {
        white-space: nowrap;
        font-size: 12.5px;
    }
}

@media (max-width: 768px) {

    .selos-confianca-black {
        grid-template-columns: 1fr;
    }

}


/* ==================================================
   VANTAGENS - AMIL BLACK
================================================== */

.black-vantagens {
    width: 100%;
    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(255, 214, 112, 0.06),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #050505 0%,
            #0b0b0b 55%,
            #111111 100%
        );

    padding: 85px 20px;
    color: #ffffff;
}

.black-vantagens__container {
    max-width: 1180px;
    margin: 0 auto;
}


/* CABEÇALHO */

.black-vantagens__cabecalho {
    max-width: 780px;
    margin-bottom: 42px;
}

.black-vantagens__etiqueta {
    display: inline-block;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;

    color: #e8c96f;

    margin-bottom: 18px;
}

.black-vantagens__titulo {
    font-size: 44px;
    line-height: 1.12;
    font-weight: 700;

    color: #ffffff;

    margin-bottom: 18px;
}

.black-vantagens__intro {
    font-size: 17px;
    line-height: 1.7;

    color: #d1d1d1;

    margin: 0;
}


/* GRID */

.black-vantagens__grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;
}


/* CARD */

.black-vantagens__card {
    display: flex;

    gap: 15px;

    min-height: 158px;

    padding: 24px 22px;

    border: 1px solid
        rgba(255, 255, 255, 0.12);

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.075),
            rgba(255, 255, 255, 0.025)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.04);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}


/* EFEITO AO PASSAR O MOUSE */

.black-vantagens__card:hover {
    transform: translateY(-4px);

    border-color:
        rgba(232, 201, 111, 0.45);

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.10),
            rgba(232, 201, 111, 0.035)
        );
}


/* ÍCONE */

.black-vantagens__icone {
    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e8c96f;

    color: #090909;

    font-size: 16px;
    font-weight: 800;

    margin-top: 1px;

    box-shadow:
        0 5px 18px
        rgba(232, 201, 111, 0.14);
}


/* CONTEÚDO */

.black-vantagens__conteudo {
    flex: 1;
}

.black-vantagens__card-titulo {
    color: #ffffff;

    font-size: 17px;
    line-height: 1.25;

    font-weight: 700;

    margin-bottom: 7px;
}

.black-vantagens__conteudo p {
    color: #cccccc;

    font-size: 14px;
    line-height: 1.65;

    margin: 0;
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 991px) {

    .black-vantagens {
        padding: 70px 20px;
    }

    .black-vantagens__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .black-vantagens__titulo {
        font-size: 38px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 650px) {

    .black-vantagens {
        padding: 55px 18px;
    }

    .black-vantagens__cabecalho {
        margin-bottom: 30px;
    }

    .black-vantagens__etiqueta {
        font-size: 11px;
        letter-spacing: 1.5px;
    }

    .black-vantagens__titulo {
        font-size: 31px;
        line-height: 1.15;
    }

    .black-vantagens__intro {
        font-size: 15px;
        line-height: 1.65;
    }

    .black-vantagens__grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .black-vantagens__card {
        min-height: auto;

        padding: 21px 19px;

        border-radius: 14px;
    }

    .black-vantagens__card-titulo {
        font-size: 16px;
    }

    .black-vantagens__conteudo p {
        font-size: 14px;
    }

}

/* =========================================
   MAPA DOS HOSPITAIS DE BRASÍLIA
========================================= */

.mapa-hospitais-brasilia {
  margin: 45px 0;
}

.mapa-hospitais__cabecalho {
  margin-bottom: 22px;
}

.mapa-hospitais__etiqueta {
  display: inline-block;
  margin-bottom: 8px;
  color: #a47a42;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.mapa-hospitais__cabecalho h2 {
  margin: 0 0 12px;
  line-height: 1.3;
}

.mapa-hospitais__cabecalho p {
  margin: 0;
  line-height: 1.7;
}

#mapa-hospitais {
  width: 100%;
  height: 540px;
  border-radius: 18px;
  overflow: hidden;
  background: #eeeeee;
  box-shadow:
    0 10px 35px rgba(0, 0, 0, 0.12);
}

/* Marcador personalizado */

.marcador-hospital {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 38px;
  height: 38px;

  background: #1c1c1c;
  border: 3px solid #c79a59;
  border-radius: 50%;

  color: #ffffff;
  font-size: 14px;
  font-weight: 700;

  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.28);
}

/* Popup */

.popup-hospital {
  min-width: 220px;
  line-height: 1.5;
}

.popup-hospital__numero {
  display: block;
  margin-bottom: 4px;

  color: #a47738;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.popup-hospital strong {
  display: block;
  margin-bottom: 6px;

  color: #222222;
  font-size: 15px;
  line-height: 1.3;
}

.popup-hospital__endereco,
.popup-hospital__telefone {
  display: block;
  margin-bottom: 5px;

  color: #555555;
  font-size: 13px;
}

.popup-hospital__rota {
  display: inline-block;

  margin-top: 8px;
  padding: 8px 14px;

  background: #1d1d1d;
  border-radius: 6px;

  color: #ffffff !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;

  transition:
    background .2s ease,
    transform .2s ease;
}

.popup-hospital__rota:hover {
  background: #a47738;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* Ajuste do popup do Leaflet */

.leaflet-popup-content {
  margin: 15px 16px;
}

.leaflet-popup-content-wrapper {
  border-radius: 12px;
}

.leaflet-control-attribution {
  font-size: 10px;
}

/* Mobile */


.mapa-hospitais-brasilia {
  margin: 45px 0;
}

.mapa-hospitais__cabecalho {
  margin-bottom: 22px;
}

.mapa-hospitais__etiqueta {
  display: inline-block;
  margin-bottom: 8px;
  color: #a47a42;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

#mapa-hospitais {
  width: 100%;
  height: 540px;
  border-radius: 18px;
  overflow: hidden;
  background: #eeeeee;
  box-shadow: 0 10px 35px rgba(0,0,0,0.12);
}

.marcador-hospital {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: #1c1c1c;
  border: 3px solid #c79a59;
  border-radius: 50%;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(0,0,0,0.28);
}

.popup-hospital {
  min-width: 220px;
  line-height: 1.5;
}

.popup-hospital__numero {
  display: block;
  margin-bottom: 4px;
  color: #a47738;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.popup-hospital strong {
  display: block;
  margin-bottom: 6px;
  color: #222222;
  font-size: 15px;
  line-height: 1.3;
}

.popup-hospital__endereco,
.popup-hospital__telefone {
  display: block;
  margin-bottom: 5px;
  color: #555555;
  font-size: 13px;
}

.popup-hospital__rota {
  display: inline-block;
  margin-top: 8px;
  padding: 8px 14px;
  background: #1d1d1d;
  border-radius: 6px;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
}

.popup-hospital__rota:hover {
  background: #a47738;
  color: #ffffff !important;
}

.leaflet-popup-content {
  margin: 15px 16px;
}

.leaflet-popup-content-wrapper {
  border-radius: 12px;
}

@media (max-width: 768px) {
  #mapa-hospitais {
    height: 420px;
    border-radius: 12px;
  }
}


/* =========================================
   TÍTULOS DO RODAPÉ
========================================= */

.footer-titulo {
    position: relative;
    margin-bottom: 28px;
    padding-left: 16px;

    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.2px;
}

/* Barra dourada lateral */
.footer-titulo::before {
    content: "";
    position: absolute;

    left: 0;
    top: 3px;

    width: 3px;
    height: 24px;

    background: #c9a25f;
    border-radius: 3px;
}

/* Linha decorativa inferior */
.footer-titulo::after {
    content: "";
    display: block;

    width: 42px;
    height: 2px;

    margin-top: 10px;

    background: linear-gradient(
        90deg,
        #c9a25f,
        rgba(201, 162, 95, 0)
    );
}

.footer-links a {
    transition: color 0.25s ease, padding-left 0.25s ease;
}

.footer-links a:hover {
    color: #c9a25f;
    padding-left: 4px;
}

/* CSS antigo dos selos fica como está */


/* NOVO AJUSTE DOS SELOS - COLE NO FINAL */

.selo-black {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 14px 18px;
    border-radius: 12px;

    background: linear-gradient(
        135deg,
        rgba(201, 162, 95, 0.18),
        rgba(184, 138, 60, 0.10)
    );

    border: 1px solid rgba(201, 162, 95, 0.35);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}

.selo-black__texto {
    color: #f4d9a5;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

.selo-black__icone {
    color: #d4a85c;
}

.selo-black__icone svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    stroke-width: 1.8;
}




.img-fluid {
    max-width: 100%;
    height: auto;

    border: 1px solid rgba(201, 162, 95, 0.35);
    border-radius: 14px;

    padding: 5px;

    background: #ffffff;

    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.08),
        0 2px 8px rgba(0, 0, 0, 0.04);

    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.img-fluid:hover {
    transform: translateY(-2px);

    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.11),
        0 4px 10px rgba(0, 0, 0, 0.05);
}


/* =========================================
   REDES SOCIAIS NO RODAPÉ
========================================= */

.footer-redes-sociais {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
}

.footer-social {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    text-decoration: none;

    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);

    transition: 
        transform 0.28s ease,
        background 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.footer-social svg {
    width: 18px;
    height: 18px;
    fill: #97a8c3;
    transition: fill 0.28s ease;
}

/* efeito inicial apagado */
.footer-social:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

/* WhatsApp */
.footer-social--whatsapp:hover {
    background: #25d366;
    border-color: #25d366;
}

.footer-social--whatsapp:hover svg {
    fill: #ffffff;
}

/* Instagram */
.footer-social--instagram:hover {
    background: linear-gradient(135deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%);
    border-color: rgba(255, 255, 255, 0.18);
}

.footer-social--instagram:hover svg {
    fill: #ffffff;
}

/* Facebook */
.footer-social--facebook:hover {
    background: #1877f2;
    border-color: #1877f2;
}

.footer-social--facebook:hover svg {
    fill: #ffffff;
}



/* =========================================================
   BANNER DE COOKIES - CONSULT VIDA
========================================================= */

.cv-cookie-banner,
.cv-cookie-modal {
    font-family: inherit;
    box-sizing: border-box;
}

.cv-cookie-banner *,
.cv-cookie-modal * {
    box-sizing: border-box;
}

/* BANNER PRINCIPAL */

.cv-cookie-banner {
    position: fixed;
    left: 22px;
    right: 22px;
    bottom: 22px;
    z-index: 99998;

    max-width: 1180px;
    margin: 0 auto;

    background: rgba(18, 18, 18, 0.98);
    border: 1px solid rgba(195, 159, 103, 0.42);
    border-radius: 14px;

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.02);

    padding: 22px 24px;

    color: #ffffff;

    display: none;
}

.cv-cookie-banner.cv-cookie-show {
    display: block;
    animation: cvCookieEntrada 0.35s ease;
}

@keyframes cvCookieEntrada {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cv-cookie-banner__conteudo {
    display: flex;
    align-items: center;
    gap: 24px;
}

.cv-cookie-banner__texto {
    flex: 1;
}

.cv-cookie-banner__etiqueta {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 7px;

    color: #d9b56f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.cv-cookie-banner__texto h2 {
    margin: 0 0 8px;

    color: #ffffff;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.cv-cookie-banner__texto p {
    margin: 0;

    color: #d6d6d6;
    font-size: 14px;
    line-height: 1.65;
}

.cv-cookie-banner__texto a {
    color: #d9b56f;
    font-weight: 600;
    text-decoration: none;
}

.cv-cookie-banner__texto a:hover {
    color: #f0d394;
    text-decoration: underline;
}

/* BOTÕES */

.cv-cookie-banner__acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;

    min-width: 430px;
}

.cv-cookie-btn {
    border: 0;
    border-radius: 8px;

    padding: 11px 17px;

    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.cv-cookie-btn:hover {
    transform: translateY(-1px);
}

.cv-cookie-btn--aceitar {
    background: #c39f67;
    color: #151515;
}

.cv-cookie-btn--aceitar:hover {
    background: #ddbd82;
}

.cv-cookie-btn--recusar {
    background: transparent;
    color: #ffffff;
    border: 1px solid #555555;
}

.cv-cookie-btn--recusar:hover {
    border-color: #888888;
    background: #202020;
}

.cv-cookie-btn--preferencias {
    background: rgba(195, 159, 103, 0.10);
    color: #d9b56f;
    border: 1px solid rgba(195, 159, 103, 0.42);
}

.cv-cookie-btn--preferencias:hover {
    background: rgba(195, 159, 103, 0.18);
}


/* =========================================================
   MODAL DE PREFERÊNCIAS
========================================================= */

.cv-cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 20px;

    background: rgba(0, 0, 0, 0.72);
}

.cv-cookie-modal.cv-cookie-show {
    display: flex;
}

.cv-cookie-modal__caixa {
    width: 100%;
    max-width: 640px;
    max-height: 90vh;
    overflow-y: auto;

    background: #151515;
    border: 1px solid rgba(195, 159, 103, 0.42);
    border-radius: 14px;

    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.50);

    color: #ffffff;
}

.cv-cookie-modal__cabecalho {
    position: relative;

    padding: 25px 28px 20px;

    border-bottom: 1px solid #2c2c2c;
}

.cv-cookie-modal__cabecalho span {
    display: block;

    margin-bottom: 7px;

    color: #d9b56f;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.cv-cookie-modal__cabecalho h2 {
    margin: 0 40px 7px 0;

    color: #ffffff;
    font-size: 24px;
    line-height: 1.3;
}

.cv-cookie-modal__cabecalho p {
    margin: 0;

    color: #cfcfcf;
    font-size: 14px;
    line-height: 1.65;
}

.cv-cookie-modal__fechar {
    position: absolute;
    top: 20px;
    right: 20px;

    width: 36px;
    height: 36px;

    border: 1px solid #3c3c3c;
    border-radius: 50%;

    background: #202020;
    color: #ffffff;

    font-size: 21px;
    line-height: 1;

    cursor: pointer;
}

.cv-cookie-modal__fechar:hover {
    border-color: #c39f67;
    color: #d9b56f;
}

.cv-cookie-modal__conteudo {
    padding: 10px 28px 22px;
}

.cv-cookie-opcao {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;

    padding: 20px 0;

    border-bottom: 1px solid #292929;
}

.cv-cookie-opcao:last-child {
    border-bottom: 0;
}

.cv-cookie-opcao__texto {
    flex: 1;
}

.cv-cookie-opcao__texto h3 {
    margin: 0 0 5px;

    color: #ffffff;
    font-size: 16px;
}

.cv-cookie-opcao__texto p {
    margin: 0;

    color: #bdbdbd;
    font-size: 13px;
    line-height: 1.6;
}

.cv-cookie-opcao__status {
    color: #d9b56f;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}


/* SWITCH */

.cv-cookie-switch {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 25px;
    flex-shrink: 0;
    margin-top: 3px;
}

.cv-cookie-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.cv-cookie-slider {
    position: absolute;
    inset: 0;

    cursor: pointer;

    background: #555555;
    border-radius: 30px;

    transition: 0.25s;
}

.cv-cookie-slider::before {
    content: "";

    position: absolute;

    width: 19px;
    height: 19px;

    left: 3px;
    bottom: 3px;

    background: #ffffff;
    border-radius: 50%;

    transition: 0.25s;
}

.cv-cookie-switch input:checked + .cv-cookie-slider {
    background: #b68c4d;
}

.cv-cookie-switch input:checked + .cv-cookie-slider::before {
    transform: translateX(21px);
}


/* RODAPÉ DO MODAL */

.cv-cookie-modal__rodape {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;

    padding: 20px 28px;

    border-top: 1px solid #2c2c2c;
    background: #111111;

    border-radius: 0 0 14px 14px;
}

.cv-cookie-modal__politica {
    padding: 0 28px 22px;
}

.cv-cookie-modal__politica p {
    margin: 0;

    font-size: 13px;
    line-height: 1.6;
    color: #bdbdbd;
}

.cv-cookie-modal__politica a {
    color: #d9b56f;
    text-decoration: none;
    font-weight: 600;
}

.cv-cookie-modal__politica a:hover {
    text-decoration: underline;
}


/* =========================================================
   BOTÃO PARA REABRIR PREFERÊNCIAS
========================================================= */

.cv-cookie-configurar {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 9990;

    border: 1px solid rgba(195, 159, 103, 0.50);
    border-radius: 50%;

    width: 44px;
    height: 44px;

    display: none;
    align-items: center;
    justify-content: center;

    background: #171717;
    color: #d9b56f;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.22);

    cursor: pointer;
    font-size: 18px;
}

.cv-cookie-configurar:hover {
    background: #222222;
    border-color: #d9b56f;
}

.cv-cookie-configurar.cv-cookie-show {
    display: flex;
}


/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 900px) {

    .cv-cookie-banner {
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 19px;
    }

    .cv-cookie-banner__conteudo {
        display: block;
    }

    .cv-cookie-banner__acoes {
        min-width: 0;
        justify-content: flex-start;
        margin-top: 17px;
    }

}

@media (max-width: 600px) {

    .cv-cookie-banner__acoes {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cv-cookie-btn {
        width: 100%;
        min-height: 44px;
    }

    .cv-cookie-modal {
        padding: 10px;
    }

    .cv-cookie-modal__cabecalho,
    .cv-cookie-modal__conteudo {
        padding-left: 20px;
        padding-right: 20px;
    }

    .cv-cookie-modal__rodape {
        padding: 18px 20px;
        display: grid;
        grid-template-columns: 1fr;
    }

    .cv-cookie-modal__politica {
        padding-left: 20px;
        padding-right: 20px;
    }

    .cv-cookie-opcao {
        gap: 14px;
    }

}


/* =====================================================
   CIDADES ATENDIDAS - cps E REGIÃO
===================================================== */

.regiao-cps {
    position: relative;
    padding: 70px 0;
    margin: 50px 0;
    background:
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #ffffff 52%,
            #f5f7f9 100%
        );
    overflow: hidden;
}


/* detalhe decorativo */
.regiao-cps::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    background: rgba(195, 159, 103, 0.08);
    pointer-events: none;
}


/* CABEÇALHO */

.regiao-cps__cabecalho {
    position: relative;
    max-width: 850px;
    margin: 0 auto 38px;
    text-align: center;
}


.regiao-cps__etiqueta {
    display: inline-block;
    margin-bottom: 10px;
    color: #a47a42;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}


.regiao-cps__cabecalho h2 {
    margin: 0 0 15px;
    color: #17283b;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
}


.regiao-cps__cabecalho p {
    max-width: 760px;
    margin: 0 auto;
    color: #5f6872;
    font-size: 17px;
    line-height: 1.75;
}


/* MAPA */

.regiao-cps__mapa {
    position: relative;
    max-width: 1040px;
    margin: 0 auto 42px;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(23, 40, 59, 0.09);
    box-shadow:
        0 20px 50px rgba(23, 40, 59, 0.10);
}


.regiao-cps__mapa img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border-radius: 0;
}


.regiao-cps__mapa-legenda {
    position: absolute;
    left: 24px;
    bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 17px;
    border-radius: 10px;
    background: rgba(16, 34, 52, 0.92);
    color: #fff;
    backdrop-filter: blur(8px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.16);
}


.regiao-cps__mapa-legenda span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 9px;
    border-radius: 50%;
    background: #c39f67;
    color: #17283b;
    font-size: 13px;
    font-weight: 800;
}


.regiao-cps__mapa-legenda strong {
    font-size: 14px;
    font-weight: 600;
}


/* GRADE DE CIDADES */

.regiao-cps__grade {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    max-width: 1100px;
    margin: 0 auto;
}


/* CARD DA CIDADE */

.regiao-cps__cidade {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 88px;
    padding: 16px 18px;
    border: 1px solid #e4e8ec;
    border-radius: 14px;
    background: #ffffff;
    color: #17283b;
    text-decoration: none;
    box-shadow:
        0 8px 20px rgba(23, 40, 59, 0.04);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}


.regiao-cps__cidade:hover {
    transform: translateY(-4px);
    border-color: rgba(195, 159, 103, 0.65);
    background: #fffdf9;
    box-shadow:
        0 14px 30px rgba(23, 40, 59, 0.10);
    text-decoration: none;
}


/* destaque cps */

.regiao-cps__cidade--destaque {
    background:
        linear-gradient(
            135deg,
            #17283b 0%,
            #203951 100%
        );
    border-color: #17283b;
}


.regiao-cps__cidade--destaque strong,
.regiao-cps__cidade--destaque small,
.regiao-cps__cidade--destaque .regiao-cps__seta {
    color: #ffffff;
}


.regiao-cps__cidade--destaque:hover {
    background:
        linear-gradient(
            135deg,
            #1c3248 0%,
            #27445f 100%
        );
}


/* ÍCONE */

.regiao-cps__icone {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(195, 159, 103, 0.13);
    color: #a47a42;
    font-size: 20px;
    font-weight: 700;
}


.regiao-cps__cidade--destaque
.regiao-cps__icone {
    background: #c39f67;
    color: #17283b;
}


/* TEXTO */

.regiao-cps__conteudo {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}


.regiao-cps__conteudo strong {
    margin-bottom: 3px;
    color: #17283b;
    font-size: 16px;
    font-weight: 700;
}


.regiao-cps__conteudo small {
    color: #7b848d;
    font-size: 12.5px;
    line-height: 1.4;
}


/* SETA */

.regiao-cps__seta {
    margin-left: 10px;
    color: #a47a42;
    font-size: 20px;
    transition: transform 0.25s ease;
}


.regiao-cps__cidade:hover
.regiao-cps__seta {
    transform: translateX(4px);
}


/* RODAPÉ / CTA */

.regiao-cps__rodape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    max-width: 1100px;
    margin: 34px auto 0;
    padding: 24px 28px;
    border-radius: 16px;
    background:
        linear-gradient(
            135deg,
            #17283b 0%,
            #203951 100%
        );
    box-shadow:
        0 14px 35px rgba(23, 40, 59, 0.13);
}


.regiao-cps__rodape-etiqueta {
    display: block;
    margin-bottom: 5px;
    color: #d5b27b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}


.regiao-cps__rodape strong {
    display: block;
    margin-bottom: 3px;
    color: #ffffff;
    font-size: 19px;
}


.regiao-cps__rodape p {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
}


/* BOTÃO */

.regiao-cps__botao {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border-radius: 9px;
    background: #c39f67;
    color: #17283b !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition:
        transform 0.2s ease,
        background 0.2s ease;
}


.regiao-cps__botao:hover {
    background: #d2b17b;
    transform: translateY(-2px);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .regiao-cps {
        padding: 55px 0;
    }

    .regiao-cps__cabecalho h2 {
        font-size: 31px;
    }

    .regiao-cps__grade {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .regiao-cps {
        padding: 45px 0;
        margin: 35px 0;
    }

    .regiao-cps__cabecalho {
        margin-bottom: 28px;
    }

    .regiao-cps__cabecalho h2 {
        font-size: 27px;
    }

    .regiao-cps__cabecalho p {
        font-size: 15.5px;
        line-height: 1.65;
    }

    .regiao-cps__mapa {
        margin-bottom: 28px;
        border-radius: 13px;
    }

    .regiao-cps__mapa-legenda {
        position: static;
        border-radius: 0;
        padding: 12px 15px;
        background: #17283b;
    }

    .regiao-cps__mapa-legenda span {
        min-width: 38px;
        height: 38px;
        font-size: 12px;
    }

    .regiao-cps__grade {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .regiao-cps__cidade {
        min-height: 78px;
        padding: 14px 15px;
    }

    .regiao-cps__conteudo strong {
        font-size: 15px;
    }

    .regiao-cps__conteudo small {
        font-size: 12px;
    }

    .regiao-cps__rodape {
        flex-direction: column;
        align-items: flex-start;
        padding: 22px;
    }

    .regiao-cps__botao {
        width: 100%;
    }

}

/* =========================================
   AJUSTE DO CARD DESTACADO DE cps
========================================= */

.regiao-cps__cidade--destaque {
    background: linear-gradient(135deg, #17283b 0%, #203951 100%);
    border-color: #17283b;
}

.regiao-cps__cidade--destaque .regiao-cps__conteudo strong {
    color: #ffffff !important;
}

.regiao-cps__cidade--destaque .regiao-cps__conteudo small {
    color: rgba(255, 255, 255, 0.82) !important;
}

.regiao-cps__cidade--destaque .regiao-cps__seta {
    color: #ffffff !important;
}

.regiao-cps__cidade--destaque .regiao-cps__icone {
    background: #c39f67;
    color: #17283b;
}






/* =========================================
   BLOCO DE COTAÇÃO - cps
========================================= */

.cotacao-cps {
    position: relative;
    width: 100%;
    padding: 80px 20px;

    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(255, 214, 112, 0.06),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #050505 0%,
            #0b0b0b 55%,
            #111111 100%
        );

    overflow: hidden;
}


/* CONTAINER */

.cotacao-cps__container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}


/* =========================================
   COLUNA ESQUERDA
========================================= */

.cotacao-cps__conteudo {
    max-width: 520px;

    /* SOBE O CONTEÚDO DA ESQUERDA NO DESKTOP */
    transform: translateY(-60px);
}


.cotacao-cps__etiqueta {
    display: inline-block;

    margin-bottom: 18px;

    color: #d6b36a;

    font-size: 14px;
    font-weight: 600;

    letter-spacing: 0.7px;
    text-transform: uppercase;
}


.cotacao-cps__conteudo h2 {
    margin: 0 0 24px;

    color: #ffffff;

    font-size: 46px;
    line-height: 1.13;

    font-weight: 700;
}


.cotacao-cps__conteudo p {
    max-width: 470px;

    margin: 0 0 32px;

    color: #e3e3e3;

    font-size: 19px;
    line-height: 1.65;
}


/* =========================================
   BOTÃO WHATSAPP
========================================= */

.cotacao-cps__whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 14px 25px;

    border-radius: 40px;

    background: #25d366;
    color: #ffffff;

    font-size: 17px;
    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 10px 30px rgba(37, 211, 102, 0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


.cotacao-cps__whatsapp:hover {
    background: #20bd5a;
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 14px 34px rgba(37, 211, 102, 0.26);
}


.cotacao-cps__whatsapp-icone {
    font-size: 17px;
}


/* =========================================
   FORMULÁRIO
========================================= */

.cotacao-cps__formulario {
    position: relative;

    padding: 38px;

    border: 1px solid rgba(214, 179, 106, 0.18);
    border-radius: 20px;

    background: rgba(14, 14, 14, 0.92);

    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.35);
}


.cotacao-cps__formulario::before {
    content: "";

    position: absolute;

    top: 0;
    left: 45px;
    right: 45px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(214, 179, 106, 0.75),
            transparent
        );
}


.cotacao-cps__formulario h3 {
    margin: 0 0 26px;

    color: #ffffff;

    font-size: 25px;
    line-height: 1.3;

    font-weight: 600;
    text-align: center;
}


/* =========================================
   CAMPOS
========================================= */

.cotacao-cps__campo {
    margin-bottom: 14px;
}


.cotacao-cps__campo input,
.cotacao-cps__campo textarea {
    width: 100%;

    padding: 14px 17px;

    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 11px;

    outline: none;

    background: #202020;

    color: #ffffff;

    font-family: inherit;
    font-size: 15px;

    box-sizing: border-box;

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


.cotacao-cps__campo textarea {
    min-height: 105px;

    resize: vertical;
}


.cotacao-cps__campo input::placeholder,
.cotacao-cps__campo textarea::placeholder {
    color: #c8c8c8;
    opacity: 1;
}


.cotacao-cps__campo input:focus,
.cotacao-cps__campo textarea:focus {
    border-color: #c9a45c;

    background: #252525;

    box-shadow:
        0 0 0 3px rgba(201, 164, 92, 0.08);
}


/* =========================================
   CONSENTIMENTO
========================================= */

.cotacao-cps__consentimento {
    display: flex;
    align-items: flex-start;
    gap: 10px;

    margin: 20px 0 24px;

    cursor: pointer;
}


.cotacao-cps__consentimento input {
    width: 17px;
    height: 17px;

    margin-top: 3px;

    accent-color: #c9a45c;

    flex: 0 0 auto;
}


.cotacao-cps__consentimento span {
    color: #dddddd;

    font-size: 13px;
    line-height: 1.55;
}


.cotacao-cps__consentimento a {
    color: #d6b36a;

    font-weight: 600;
    text-decoration: none;
}


.cotacao-cps__consentimento a:hover {
    color: #e8c981;

    text-decoration: underline;
}


/* =========================================
   BOTÃO SOLICITAR COTAÇÃO
========================================= */

.cotacao-cps__botao {
    display: block;

    width: 100%;

    padding: 15px 25px;

    border: 0;
    border-radius: 40px;

    background:
        linear-gradient(
            135deg,
            #e1c06f 0%,
            #c9a45c 55%,
            #b89045 100%
        );

    color: #111111;

    font-family: inherit;
    font-size: 16px;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 12px 28px rgba(201, 164, 92, 0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease;
}


.cotacao-cps__botao:hover {
    transform: translateY(-2px);

    filter: brightness(1.07);

    box-shadow:
        0 16px 32px rgba(201, 164, 92, 0.26);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .cotacao-cps {
        padding: 65px 22px;
    }

    .cotacao-cps__container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .cotacao-cps__conteudo {
        max-width: 680px;

        /* VOLTA À POSIÇÃO NORMAL */
        transform: none;
    }

    .cotacao-cps__conteudo h2 {
        font-size: 39px;
    }

    .cotacao-cps__formulario {
        width: 100%;
        max-width: 680px;

        box-sizing: border-box;
    }

}


/* =========================================
   CELULAR
========================================= */

@media (max-width: 600px) {

    .cotacao-cps {
        padding: 52px 18px;
    }

    .cotacao-cps__container {
        gap: 38px;
    }

    .cotacao-cps__etiqueta {
        margin-bottom: 14px;

        font-size: 12px;
        line-height: 1.5;
    }

    .cotacao-cps__conteudo h2 {
        margin-bottom: 18px;

        font-size: 32px;
        line-height: 1.18;
    }

    .cotacao-cps__conteudo p {
        margin-bottom: 26px;

        font-size: 17px;
        line-height: 1.55;
    }

    .cotacao-cps__whatsapp {
        width: 100%;

        padding: 14px 18px;

        box-sizing: border-box;
    }

    .cotacao-cps__formulario {
        padding: 28px 20px;

        border-radius: 16px;
    }

    .cotacao-cps__formulario h3 {
        font-size: 22px;
    }

    .cotacao-cps__campo input,
    .cotacao-cps__campo textarea {
        font-size: 16px;
    }

}

/* ==================================================
   GUIAS DE SAÚDE EM cps
================================================== */

.guias-saude-cps {
    margin: 55px 0;
    padding: 38px;

    border: 1px solid #e1d3b5;
    border-radius: 20px;

    background:
        radial-gradient(
            circle at top right,
            rgba(178, 138, 66, 0.11),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fbf8f2 100%
        );

    box-shadow: 0 15px 40px rgba(20, 20, 20, 0.06);
}


/* CABEÇALHO */

.guias-saude__cabecalho {
    max-width: 820px;
    margin-bottom: 28px;
}

.guias-saude__cabecalho > span {
    display: inline-block;

    margin-bottom: 7px;

    color: #a47c35;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.guias-saude__cabecalho h2 {
    margin: 0 0 12px;

    color: #171717;

    font-size: clamp(27px, 3vw, 37px);
    line-height: 1.2;
}

.guias-saude__cabecalho p {
    margin: 0;

    color: #555;

    font-size: 15px;
    line-height: 1.7;
}


/* GRID */

.guias-saude__grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;
}


/* CARD */

.guias-saude__card {
    display: grid;

    grid-template-columns: 64px 1fr;

    border: 1px solid #e4ded2;
    border-radius: 15px;

    background: #fff;

    overflow: hidden;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.guias-saude__card:hover {
    transform: translateY(-3px);

    border-color: #d4ba82;

    box-shadow: 0 15px 35px rgba(20,20,20,.08);
}


/* NÚMERO */

.guias-saude__numero {
    display: flex;
    justify-content: center;

    padding-top: 27px;

    background:
        linear-gradient(
            180deg,
            #141414 0%,
            #222222 100%
        );

    color: #d8b96f;

    font-size: 18px;
    font-weight: 800;
}


/* CONTEÚDO */

.guias-saude__conteudo {
    padding: 25px 25px 27px;
}

.guias-saude__tag {
    display: inline-block;

    margin-bottom: 8px;
    padding: 5px 9px;

    border: 1px solid #dfcca4;
    border-radius: 30px;

    background: #fbf7ef;

    color: #8b6728;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.guias-saude__conteudo h3 {
    margin: 0 0 12px;

    font-size: 23px;
    line-height: 1.25;
}

.guias-saude__conteudo h3 a {
    color: #171717;
    text-decoration: none;
}

.guias-saude__conteudo h3 a:hover {
    color: #9a722d;
}

.guias-saude__conteudo p {
    margin: 0 0 15px;

    color: #555;

    font-size: 14px;
    line-height: 1.65;
}

.guias-saude__link {
    color: #8b6728;

    font-size: 13px;
    font-weight: 800;

    text-decoration: none;
}

.guias-saude__link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* RESPONSIVO */

@media (max-width: 750px) {

    .guias-saude-cps {
        padding: 27px 20px;
    }

    .guias-saude__grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 500px) {

    .guias-saude__card {
        grid-template-columns: 1fr;
    }

    .guias-saude__numero {
        justify-content: flex-start;

        padding: 10px 20px;

        font-size: 14px;
    }

}


/* ============================================
   SEÇÃO REDE CREDENCIADA - HOSPITAIS
   ============================================ */

#rede-credenciada {
  scroll-margin-top: 80px;
}

.rede-intro {
  max-width: 100%;
  margin-bottom: 40px;
}

.rede-intro p {
  font-size: 16px;
  line-height: 1.7;
  color: #4a4a4a;
  margin-bottom: 16px;
  
}

/* Grid de hospitais */
.hospitais-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
  margin: 40px 0;
}

/* Card do hospital */
.hospital-card {
  background: #ffffff;
  border: 1px solid #e8e0d5;
  border-radius: 8px;
  padding: 28px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.hospital-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #c9a96e 0%, #d4b87a 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.hospital-card:hover {
  box-shadow: 0 8px 24px rgba(201, 169, 110, 0.15);
  transform: translateY(-2px);
  border-color: #c9a96e;
}

.hospital-card:hover::before {
  opacity: 1;
}

.hospital-card h3 {
  font-size: 20px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 12px 0;
  padding-bottom: 12px;
  border-bottom: 2px solid #f5f0e8;
}

.hospital-card .hospital-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 20px;
}

/* Bloco de contato */
.hospital-contato {
  background: #faf8f5;
  border-left: 3px solid #c9a96e;
  padding: 16px 20px;
  border-radius: 4px;
  margin-top: 20px;
}

.hospital-contato-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 14px;
  color: #2c2c2c;
}

.hospital-contato-item:last-child {
  margin-bottom: 0;
}

.hospital-contato-item .icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin-top: 2px;
}

.hospital-contato-item .label {
  font-weight: 600;
  color: #1a1a1a;
  margin-right: 4px;
}

.hospital-contato-item a {
  color: #8b6f3a;
  text-decoration: none;
  transition: color 0.2s ease;
}

.hospital-contato-item a:hover {
  color: #c9a96e;
  text-decoration: underline;
}

/* Alerta de confirmação */
.rede-alerta {
  background: linear-gradient(135deg, #f5f0e8 0%, #faf8f5 100%);
  border-left: 4px solid #c9a96e;
  padding: 24px 28px;
  margin: 40px 0;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(184, 149, 106, 0.1);
}

.rede-alerta p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #2c2c2c;
}

.rede-alerta strong {
  color: #1a1a1a;
  font-weight: 700;
}

/* Responsivo */
@media (max-width: 768px) {
  .hospitais-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .hospital-card {
    padding: 24px;
  }
  
  .hospital-card h3 {
    font-size: 18px;
  }
}

/* ============================================
   LISTAS DE CHECKLIST E ERROS
   ============================================ */

/* Lista de Checklist (✓) */
.checklist-positivo ul {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.checklist-positivo li {
  padding: 8px 0;
  padding-left: 36px;
  position: relative;
  font-size: 17px;
  line-height: 1.6;
  color: #2c2c2c;
  border-bottom: 1px solid #f0f0f0;
}

.checklist-positivo li:last-child {
  border-bottom: none;
}

.checklist-positivo li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 8px;
  font-size: 17px;
  font-weight: bold;
  color: #977433;
}

/* Lista de Erros (✕) */
.checklist-erros ul {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.checklist-erros li {
  padding: 8px 0;
  padding-left: 36px;
  position: relative;
  font-size: 17px;
  line-height: 1.6;
  color: #2c2c2c;
  border-bottom: 1px solid #f0f0f0;
}

.checklist-erros li:last-child {
  border-bottom: none;
}

.checklist-erros li::before {
  content: '✕';
  position: absolute;
  left: 0;
  top: 8px;
  font-size: 17px;
  font-weight: bold;
  color: #977433;
}

/* Versão simplificada (sem bordas) */
.lista-simples ul {
  list-style: none;
  padding: 0;
  margin: 16px 0;
}

.lista-simples li {
  padding: 6px 0;
  padding-left: 32px;
  position: relative;
  font-size: 17px;
  line-height: 1.5;
  color: #4a4a4a;
}

.lista-simples li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 6px;
  font-size: 17px;
  font-weight: bold;
  color: #977433;
}


/* ==================================================
   FRASE DE DESTAQUE — PADRÃO GLOBAL
================================================== */

.frase-destaque {
    position: relative;
    margin: 28px 0;
    padding: 22px 26px 22px 30px;

    border: 1px solid #e4d6ad;
    border-left: 4px solid #c7a45a;
    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #fffdf8 0%,
            #f9f4e8 100%
        );

    color: #2c2c2c;

    font-size: 18px;
    font-weight: 600;
    line-height: 1.65;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.05);
}

.frase-destaque::before {
    content: "";
    position: absolute;
    top: 18px;
    left: -5px;

    width: 5px;
    height: 34px;

    border-radius: 4px;

    background:
        linear-gradient(
            180deg,
            #e4c978,
            #a9843e
        );
}



/* ESPAÇAMENTO SUPERIOR PARA TÍTULOS H2 */

.h2-espacamento {
    margin-top: 65px;
    margin-bottom: 25px;
}

@media (max-width: 767px) {
    .h2-espacamento {
        margin-top: 40px;
        margin-bottom: 20px;
    }
}



/* ==========================================
   MODALIDADES CAMPINAS — MOLDURA 3 CARDS
========================================== */

.modalidades-campinas {
    --mc-gold: #b28a42;
    --mc-gold-dark: #916a2b;
    --mc-border: #e4d1ad;
    --mc-black: #191919;
    --mc-gray: #626262;

    width: 100%;
    padding: 35px 0 48px;
    margin: 0 auto;
}

.modalidades-campinas,
.modalidades-campinas * {
    box-sizing: border-box;
}

/* CABEÇALHO */

.modalidades-campinas__cabecalho {
    max-width: 850px;
    margin: 0 auto 35px;
    text-align: center;
}

.modalidades-campinas__etiqueta {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--mc-gold-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.modalidades-campinas__cabecalho h2 {
    margin: 0 0 15px;
    color: var(--mc-black);
    font-size: clamp(25px, 2.7vw, 34px);
    line-height: 1.25;
    font-weight: 700;
}

.modalidades-campinas__cabecalho p {
    margin: 0;
    color: var(--mc-gray);
    font-size: 16px;
    line-height: 1.8;
}

/* GRID */

.modalidades-campinas__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

/* CARDS */

.modalidades-campinas__card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px 25px 27px;
    background: linear-gradient(145deg, #ffffff, #fdfaf5);
    border: 1px solid var(--mc-border);
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.035);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.modalidades-campinas__card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 25px;
    width: 55px;
    height: 3px;
    background: var(--mc-gold);
    border-radius: 0 0 4px 4px;
}

.modalidades-campinas__card:hover {
    transform: translateY(-5px);
    border-color: var(--mc-gold);
    box-shadow: 0 15px 32px rgba(145, 106, 43, 0.12);
}

/* CATEGORIA */

.modalidades-campinas__categoria {
    display: block;
    margin-bottom: 15px;
    color: var(--mc-gold-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.1px;
}

/* TÍTULOS */

.modalidades-campinas__card h3 {
    margin: 0 0 15px;
    color: var(--mc-black);
    font-size: 23px;
    line-height: 1.3;
    font-weight: 700;
}

.modalidades-campinas__card h3 a {
    color: inherit;
    text-decoration: none;
    transition: color .25s ease;
}

.modalidades-campinas__card h3 a:hover {
    color: var(--mc-gold-dark);
}

/* DESCRIÇÕES */

.modalidades-campinas__card p {
    margin: 0 0 28px;
    color: var(--mc-gray);
    font-size: 15px;
    line-height: 1.8;
}

/* LINKS */

.modalidades-campinas__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin-top: auto;
    padding-top: 8px;
    color: var(--mc-gold-dark);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: gap .25s ease, color .25s ease;
}

.modalidades-campinas__link span {
    font-size: 21px;
    line-height: 1;
}

.modalidades-campinas__link:hover {
    gap: 16px;
    color: var(--mc-black);
}

.modalidades-campinas__card a:focus-visible {
    outline: 2px solid var(--mc-gold-dark);
    outline-offset: 4px;
    border-radius: 3px;
}

/* TABLETS */

@media (max-width: 991px) {
    .modalidades-campinas__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .modalidades-campinas__card {
        padding: 27px 22px;
    }
}

/* CELULARES */

@media (max-width: 640px) {
    .modalidades-campinas {
        padding: 28px 0 38px;
    }

    .modalidades-campinas__cabecalho {
        margin-bottom: 25px;
    }

    .modalidades-campinas__cabecalho h2 {
        font-size: 26px;
    }

    .modalidades-campinas__cabecalho p {
        font-size: 15px;
    }

    .modalidades-campinas__grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .modalidades-campinas__card {
        padding: 27px 23px;
    }

    .modalidades-campinas__card h3 {
        font-size: 22px;
    }

    .modalidades-campinas__card p {
        margin-bottom: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .modalidades-campinas__card,
    .modalidades-campinas__card h3 a,
    .modalidades-campinas__link {
        transition: none;
    }
}



/* ==============================================
   COTAÇÃO FINAL CAMPINAS — PRETO E DOURADO
============================================== */

.cotacao-final-campinas {
    --cf-ouro: #c9a261;
    --cf-ouro-claro: #f1d9a3;
    --cf-branco: #ffffff;
    --cf-texto: #d8d2cb;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    max-width: 1080px;
    margin: 65px auto 70px;
    padding: 62px 48px;
    border-radius: 20px;
    background:
        radial-gradient(ellipse at 100% 100%, rgba(174, 120, 44, 0.14), transparent 55%),
        radial-gradient(ellipse at 70% 0%, rgba(148, 103, 48, 0.09), transparent 50%),
        linear-gradient(135deg, #080808 0%, #18120d 100%);
    border: 1px solid rgba(201, 162, 97, 0.16);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.09);
    text-align: center;
}

.cotacao-final-campinas,
.cotacao-final-campinas * {
    box-sizing: border-box;
}

.cotacao-final-campinas__conteudo {
    position: relative;
    z-index: 1;
    max-width: 830px;
    margin: 0 auto;
}

.cotacao-final-campinas__etiqueta {
    display: block;
    margin-bottom: 20px;
    color: var(--cf-ouro-claro);
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: 2px;
}

.cotacao-final-campinas h2 {
    max-width: 800px;
    margin: 0 auto 22px;
    color: var(--cf-branco);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3.6vw, 45px);
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: -1.2px;
}

.cotacao-final-campinas p {
    max-width: 735px;
    margin: 0 auto 30px;
    color: var(--cf-texto);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.85;
}

.cotacao-final-campinas__acoes {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 22px;
}

.cotacao-final-campinas__botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 17px 30px;
    border-radius: 7px;
    background: linear-gradient(110deg, #f0d59a, #c49a56);
    color: #101010 !important;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    text-decoration: none !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.cotacao-final-campinas__botao span {
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
    transition: transform 0.25s ease;
}

.cotacao-final-campinas__botao:hover {
    transform: translateY(-3px);
    background: linear-gradient(110deg, #f6e1b0, #d8ae68);
    box-shadow: 0 10px 25px rgba(201, 162, 97, 0.25);
    color: #080808 !important;
}

.cotacao-final-campinas__botao:hover span {
    transform: translateX(4px);
}

.cotacao-final-campinas__botao:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 4px;
}

.cotacao-final-campinas__observacao {
    display: block;
    color: #bdb4a8;
    font-family: Arial, sans-serif;
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: 0.25px;
}

/* ==============================================
   RESPONSIVIDADE — TABLETS
============================================== */

@media (max-width: 991px) {
    .cotacao-final-campinas {
        margin: 50px 20px 60px;
        padding: 52px 35px;
    }

    .cotacao-final-campinas h2 {
        font-size: clamp(30px, 4vw, 39px);
    }
}

/* ==============================================
   RESPONSIVIDADE — CELULARES
============================================== */

@media (max-width: 600px) {
    .cotacao-final-campinas {
        margin: 42px 15px 50px;
        padding: 42px 22px;
        border-radius: 15px;
    }

    .cotacao-final-campinas__etiqueta {
        font-size: 10px;
        letter-spacing: 1.3px;
        margin-bottom: 16px;
    }

    .cotacao-final-campinas h2 {
        font-size: 30px;
        line-height: 1.25;
        letter-spacing: -0.7px;
        margin-bottom: 19px;
    }

    .cotacao-final-campinas p {
        font-size: 15px;
        line-height: 1.8;
        margin-bottom: 26px;
    }

    .cotacao-final-campinas__botao {
        width: 100%;
        max-width: 330px;
        padding: 17px 16px;
        font-size: 14px;
    }

    .cotacao-final-campinas__observacao {
        font-size: 11px;
        line-height: 1.8;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cotacao-final-campinas__botao,
    .cotacao-final-campinas__botao span {
        transition: none;
    }
}


.hospital-card h3 a,
.hospital-card h3 a:visited,
.hospital-card h3 a:hover,
.hospital-card h3 a:focus,
.hospital-card h3 a:active {
    color: inherit;
    text-decoration: none;
}