/*
 * CSS depurado contra index(2).html.
 * Se han eliminado selectores que dependen de clases/IDs ausentes del HTML.
 * Se conservan estados dinámicos usados por JavaScript/Bootstrap
 * (por ejemplo: .smaller, .active, .in, .collapsing).
 */

/*! * Centre d'Acupuntura Li * Copyright 2017 Nosolomono Cristina Fàbregas */

/* Global Styles */

html, body {
     height: 100%;
}

a {
     outline: none;
}

p a, p a:hover, p a:focus {
     color: #222222 !important;
}

body {
     padding-top: 175px;
    /* Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */
     font-family: "Lora", serif;
     font-size: 1.65em;
     line-height: 1.55em;
     text-align: center;
}

body.smaller {
     padding-top: 85px;
    /* Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */
}

a.offset {
     padding-top: 228px;
    /* Required padding for smooth scrolling to anchor tags. Add .navbar-fixed-top height. */
}

.smaller a.offset {
     padding-top: 68px;
    /* Required padding for smooth scrolling to anchor tags. Add .navbar-fixed-top height. */
}

body {
     background-color: #e3e3e3;
}

section {
     background-color: #FFFFFF;
}

/* Header nav navbar */

header nav * {
     transition: all 500ms ease 0s;
}

.smaller header nav * {
     transition: all 500ms ease 0s;
}

.header-page-title {
     display: block;
     padding: 1.2em;
     background: #222222;
     color: #e3e3e3;
     margin: 0;
     font-size: 1.5em;
}

.smaller .header-page-title {
     padding: 0em;
     font-size: 0em;
     color: #222222;
}

.header-page-mobile {
     display: none;
}

.navbar-fixed-top.navbar-custom {
	 background: #e3e3e3;
     background: rgba(227,227,227,1);
     border: none;
}

ul.navbar-nav {
     font-family: "Montserrat", sans-serif;
     font-size: 0.95em;
     letter-spacing: 0.05em;
     display: block;
     float: none;
     transition: all 200ms ease 0s;
}

nav.navbar-custom ul.navbar-nav > li {
     float: none;
     display: inline-block;
}

nav.navbar-custom ul.navbar-nav > li.logo > a {
     padding: 5px 10px 0;
}

nav.navbar-custom ul.navbar-nav > li > a {
     color: #777777;
     padding: 20px 20px;
     transition: all 20ms ease 0s;
}

@media (max-width: 1050px) {
ul.navbar-nav {
         font-size: 0.8em;
    }

nav.navbar-custom ul.navbar-nav > li > a {
         padding: 20px 10px;
    }
}

.smaller nav.navbar-custom ul.navbar-nav > li > a {
     padding-bottom: 0;
}

.smaller nav.navbar-custom ul.navbar-nav > li > a img {
     width: 45px;
}

nav.navbar-custom ul.navbar-nav > li > a:hover, nav.navbar-custom ul.navbar-nav > li> a:focus {
     color: #222222;
     text-decoration: none;
     background-color: transparent;
}

nav.navbar-custom ul.navbar-nav > li > a > span {
     border: 1px solid #7a9553;
     display: block;
     margin: 5px auto 0 auto;
     width: 0%;
     opacity: 0;
}

nav.navbar-custom ul.navbar-nav > li > a:hover > span, nav.navbar-custom ul.navbar-nav > li > a:focus > span {
     border: 1px solid var(--genzo-terracotta);
     width: 100%;
     opacity: 1;
}

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

h1, h2, h3, h4 {
     font-family: "Montserrat", sans-serif;
     text-align: center;
}

h1, h2 {
     text-transform: uppercase;
     letter-spacing: 0.2em;
     font-size: 2.2em;
}

h3.reviews, h3.indicators {
     font-size: 18px;
	 font-family: "Montserrat", sans-serif;
     display: inline-block;
     padding: 0 0 0.15em;
     margin-bottom: 4em;
}

h3.reviews a, h3.indicators a {
	 color: #333;
	 text-decoration: none;
}

h3.reviews a:hover, h3.indicators a:hover span {
	 text-decoration: none;
	 border-bottom: 1px solid #333;
}

h3.reviews a img {
    width: 73px;
    height: auto;
    display: inline-block;
    padding-bottom: 3px;
}

h3.reviews a:hover img {
	 text-decoration: underline;
}

h3.indicators img {
    width: 22px;
    height: auto;
    margin-right: 9px;
}

h3.page-header {
     font-size: 30px;
     text-transform: none;
     display: inline-block;
     border-bottom: 2px solid #222222;
     padding: 0 0 0.3em;
     margin-bottom: 1.5em;
     letter-spacing: 0.05em;
}

h3.page-header.philosophy {
     text-transform: none;
     display: inline-block;
     border: 0.07em solid #222222;
     padding: 0.3em 0.8em;
     margin-bottom: 1.5em;
}

span.philosophy {
     width: 10%;
     border: 1px solid #222222;
     display: inline-block;
     margin-bottom: 0.6em;
}

.therapies figure img {
     transition: transform 2000ms ease 0s, opacity 500ms ease 0s;
     max-width: 100%;
}

.therapies figure img:hover {
    /*transform: scale(1.1,1.1);
    */
     opacity: 1;
     transform: rotate(360deg);
}

.therapies figure span {
     display: block;
     background-size: cover;
}

.therapies figure {
     position: relative;
}

.therapies figcaption span {
     font-size: 1.1em;
     font-family: "Montserrat",sans-serif;
     font-weight: 500;
     line-height: 1.1;
}

.therapies > div:hover {
     position: relative;
     z-index: 1000;
}

.therapies figure span.therapy:hover {
}

.therapies figure div.info {
     position: absolute;
     display: block;
     left: 0;
     padding: 0;
     text-align: center;

     opacity: 0;
     background: #f1f1f1;
     transition: all 200ms ease 0s;
     cursor: pointer;
     min-height: 102%;

}

.therapies figure div.info h3 {
     margin: 0 0 1em 0;
}

.therapies figure div.info:hover {
     opacity: 1;
     padding: 40px 10px;
}

.therapies figure span.therapy-1 {
    background-image: url(../img/tecnica1.png);
}

.therapies figure span.therapy-2 {
    background-image: url(../img/tecnica2.png);
}

.therapies figure span.therapy-3 {
    background-image: url(../img/tecnica3.png);
}

.therapies figure span.therapy-4 {
    background-image: url(../img/tecnica4.png);
}

.therapies figure span.therapy-5 {
    background-image: url(../img/tecnica5.png);
}

.therapies figure span.therapy-6 {
    background-image: url(../img/tecnica6.png);
}

span.therapies {
     width: 100%;
     margin-left: -100%;
     border: 1px solid #222222;
     display: inline-block;
     margin-bottom: -16.5px;
}

.philosophy+p {
     margin: 0 auto 4em auto;
    ;
}

p {
     margin-bottom: 1.5em;
}

p:last-child {
     margin-bottom: 2em;
}

.therapies-sheet {
	 background: #FFFFFF;
     background: rgba(255,255,255,0.9);
     padding: 1.5em 2.5em;
     margin: 3em auto;
    /*border: 2px solid #222222;
    */
}

.therapies-sheet .page-header {
     margin-top: 0em;
     margin-left: -2000px;
     padding-left: 2000px;
}

ul.therapies {
     list-style: none;
     padding: 0;
     font-size: 1em;
}

ul.therapies li {
     padding-left: 1.5em;
     margin-top: 0.5em;
}

ul.therapies li:before {
     content: "";
    /* FontAwesome Unicode (use \f105 for ">" symbol) */
     font-family: FontAwesome;
     display: inline-block;
     margin-left: -1.5em;
    /* same as padding-left set on li */
     width: 1.5em;
    /* same as padding-left set on li */
     color: #22c8b1;
}

ul.transport {
     list-style: none;
     text-align: left;
     margin: 0 auto 3em;
     display: inline-block;
     line-height: 2.5em;
}

ul.transport li {
     float: left;
     margin-right: 1.5em;
}

ul.transport img {
     height: 27px;
     width: 36px;
     margin-right: 0.3em;
     text-align: left;
     vertical-align: middle;
}

.row.information div > img:first-child {
     display: block;
     margin: 0 auto 0em;
}

.information .page-header {
     margin: 0.5em auto 1em auto;
     border-bottom: 2px solid #222222;
     display: inline-block;
     padding: 0 0 0.3em;
     text-transform: none;
     font-family: "Montserrat",sans-serif;
     text-align: center;
     font-size: 30px;
}

.row.social p {
     margin: 2em auto;
}

.row.social a {
     color: #222222;
     text-decoration: none;
}

.row.social img {
     vertical-align: middle;
     text-align: center;
     margin-left: 0.7em;
}

.row div {
     z-index: 999;
}

.quienes-somos {
     position: relative;
}

.quienes-somos1 {
     position: relative;
     margin-top: 100px;
}

section.grey {
     background: #f1f1f1;
}

.quienes-somos2 {
     position: relative;
}

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

/* carousel */

/* Control buttons */

/* Previous button */

/* Next button */

/* Changes the position of the indicators */

/* Changes the color of the indicators */

/* End carousel */

.item blockquote {
     border-left: none;
     margin: 0;
}

.item blockquote img {
     margin-bottom: 10px;
}

.item blockquote p:before {
     content: "";
     font-family: "Fontawesome";
     float: left;
     margin-right: 10px;
}

/** MEDIA QUERIES */

/* Small devices (tablets, 768px and up) */

/* Small devices (tablets, up to 768px) */

@media (max-width: 768px) {
/* Make the indicators larger for easier clicking with fingers/thumb on mobile */
}

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

.terapias0 {
     padding-bottom: 2em;
}

.terapias1 {
     text-align: left;
     position: relative;
}

.terapias1 span.inner {
     background-image: url(../img/therapies.jpg);
     background-position: right center;
     background-repeat: no-repeat;
     background-size: contain ;
    /*background: url(../img/therapies.jpg) center right no-repeat;
    */
     transition: position 1s ease-in 0s;
     z-index: 1;
     position: absolute;
     top: 0;
     right: 0;
     height: 100%;
     width: 100%;
}

.tarifas p {
     text-align: center;
     display: inline-block;
     margin: auto;
     margin-bottom: 3em;
}

.tarifas span.price {
     font-family: "Montserrat", sans-serif;
     height: 155px;
     width: 155px;
     background:url(../img/tarifas.svg);
     line-height: 0;
     padding: 20px 0 0 0;
     position: relative;
     vertical-align: middle;
     margin: 0 20px 0 0;
     display: inline-block;
}

.tarifas span.price .amount {
     font-size: 70px;
     display: inline-block;
     height: 60px;
     position: relative;
     top: 54px;
}

.tarifas span.price .euro {
     font-size: 30px;
     display: inline-block;
     height: 30px;
     position: relative;
     top: 54px;
}

.tarifas span.text {
     max-width: 220px;
     display: inline-block;
     margin-top: 20px;
}

.donde-estamos1 {
     height: 500px;
     width:100%;
     position: relative;
}

iframe.map {
     height: 500px;
     width:100%;
}

.map .overlay {
     width:100%;
     min-height:500px;
     position:absolute;
     top:0;
}

section .black, section .black {
     background: #222222;
}

section .black h2, section .black h3, section .black p, .black ul, .black p a {
     color: #e3e3e3 !important;
     border-color: #e3e3e3;
}

.logos {
     margin: 2.5em auto;
     display: flex;
     flex-wrap: wrap;
     align-items: center;
}

.logos a {
    display: flex;
    width: 33%;
    box-sizing: border-box;
    padding: 0.5em;
}

@media (min-width: 768px) and (max-width: 1199px) {
.logos a {
		 width: 100%;
		 padding: 0.5em 25%;
	}
}

@media (max-width: 576px) {
.logos a {
		 width: 100%;
		 padding: 0.5em 20%;
	}
}

span.bamboo, span.rocks {
     display: block;
     position: absolute;
}

span.bamboo {
     height: 590px;
     width: 316px;
     background: url(../img/bamboo.png) no-repeat;
     top: 0;
     left: 0;
     z-index: 990;
}

span.rocks {
     height: 431px;
     width: 251px;
     background: url(../img/rocks.png) no-repeat 60px center;
     right: 0;
     bottom: 0;
}

.round-image img {
     width: 180px;
     height: 180px;
     border-radius: 150px;
     margin: -90px auto 40px auto;
     transition: all 500ms ease 0s;
}

.round-image img:hover {
     transform: scale(1.1,1.1);
     transition-timing-function: ease-in;
}

.therapies figcaption {
     margin: 1em auto 2.5em auto;
}

.page-header {
     margin: 1.8em 0 1em;
     padding-bottom: 9px;
     border-bottom: none;
}

.img-thumb {
     margin-bottom: 30px;
	 width: 100%;
	 height: auto;
}

.photos {
     display: table;
     margin: 3em 0;
}

.img-hover {
     opacity: 0.75;
     transition: all 500ms ease 0s;
}

.img-thumb.img-hover:hover {
     opacity: 1;
     transform: scale(1.05,1.05);
}

/* Home Page Carousel */

div.carousel {
     height: 100%;
    /*50%*/
     transition: height 200ms ease 0s;
}

/*
* {
     transition: all 200ms ease 0s !important;
}
 nav * {
opacity: 0;
}
 nav {
background: transparent !important;
border: 3px solid blue !important;
}
 body {
border: 3px solid red !important;
}*/

div.carousel .item, div.carousel .item.active, div.carousel .carousel-inner {
     height: 100%;
}

div.carousel .fill {
     width: 100%;
     height: 100%;
     background-position: center;
     background-size: cover;
}

div.carousel .carousel-caption {
     padding: 0 0 0 0;
     text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
     position: absolute;
     height: 100%;
}

div.carousel .carousel-caption div {
     display: inline-block;
     padding: 0.3em 1em;
     border: 0.1em solid #FFFFFF;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	 background: #000000;
     background: rgba(0,0,0,0.24);
     position: relative;
     bottom: 0;
     top: 45%;
     margin: 0;
     font-size: 3em;
     transition: all 500ms ease 0s;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     font-family: "Montserrat",sans-serif;
     font-weight: 500;
     line-height: 1.1;
     box-decoration-break: clone;
}

div.carousel .carousel-caption div br {
     display: none;
}

@media (max-width: 1600px) {
div.carousel .carousel-caption div br {
         display: inline;
    }
}

@media (max-width: 991px) {
div.carousel .carousel-caption div {
         font-size: 2.5em;
         top: 41%;
         padding: 0.2em 0.2em;
    }

.carousel-control .icon-next, .carousel-control .icon-prev {
         font-size: 8em !important;
         margin-top: -5px !important;
         width: 20px !important;
    }
}

@media (max-width: 768px) {
div.carousel .carousel-caption div {
         font-size: 2em;
         top: 50%;
    }

.carousel-control .icon-next, .carousel-control .icon-prev {
         font-size: 6em !important;
         margin-top: -5px !important;
         width: 20px !important;
    }
}

@media (max-width: 621px) {
div.carousel .carousel-caption div {
         font-size: 6vw;
         top: 50%;
         padding: 0.5em;
    }

.carousel-control .icon-next, .carousel-control .icon-prev {
         font-size: 5em !important;
         margin-top: -5px !important;
         width: 20px !important;
    }
}

@media (max-width: 421px) {
div.carousel .carousel-caption div {
         font-size: 7vw;
         top: 49%;
         padding: 0.5em;
    }

.carousel-control .icon-next, .carousel-control .icon-prev {
         font-size: 4em !important;
         margin-top: -5px !important;
         width: 20px !important;
    }
}

.carousel-control .icon-next, .carousel-control .icon-prev {
     font-family: "Quicksand", sans-serif;
     font-weight: 100;
     height: 60px;
     line-height: 0;
     width: 60px;
     font-size: 10em;
     margin-top: -25px;
}

.carousel-control.left {
     background-image: linear-gradient(to right, rgba(0, 0, 0, 1) 0px, rgba(0, 0, 0, 0) 100%);
     background-repeat: repeat-x;
}

.carousel-control.right {
     background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 1) 100%);
     background-repeat: repeat-x;
     left: auto;
     right: 0;
}

.carousel-control {
     opacity: 0.4;
}

.carousel-control:hover, .carousel-control:focus {
     color: #fff;
     text-decoration: none;
     outline: 0;
     opacity: 0.5;
}

/* 404 Page Styles */

/* Pricing Page Styles */

.price {
     display: block;
     font-size: 50px;
     line-height: 50px;
}

.price sup {
     top: -20px;
     left: 2px;
     font-size: 20px;
}

.col-centered {
     margin: 0 10%;
     width: 80%;
}

.col-centered-wide {
     margin: 0 10%;
     width: 80%;
}

/* =========================
   FOOTER
   ========================= */

.site-footer {
    background: #21372f;
    color: rgba(255, 255, 255, 0.82);
    font-family: "Inter", sans-serif;
}

.site-footer .container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 35px;
    padding-right: 35px;
}

.site-footer-inner {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.site-footer-copyright {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.78);
}

.site-footer-links {
    display: flex;
    align-items: center;
    gap: 18px;
}

.site-footer-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0.82;
    transition: opacity 0.2s ease;
}

.site-footer-social:hover, .site-footer-social:focus {
    opacity: 1;
}

.site-footer-social img {
    display: block;
    width: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.site-footer-social:first-child img {
    height: 32px;
}

.site-footer-social img {
    height: 25px;
}

.site-footer-divider {
    display: block;
    width: 1px;
    height: 30px;
    background: rgba(255, 255, 255, 0.22);
}

.site-footer-privacy {
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.site-footer-privacy:hover, .site-footer-privacy:focus {
    color: #ffffff;
    text-decoration: none;
}

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

@media (max-width: 767px) {
.site-footer .container {
        padding-left: 20px;
        padding-right: 20px;
    }

.site-footer-inner {
        min-height: auto;
        padding: 24px 0;
        flex-direction: column;
        justify-content: center;
        gap: 16px;
        text-align: center;
    }

.site-footer-copyright {
        font-size: 13px;
        line-height: 1.5;
    }

.site-footer-links {
        justify-content: center;
        gap: 15px;
        flex-wrap: wrap;
    }

.site-footer-divider {
        height: 24px;
    }

.site-footer-privacy {
        font-size: 13px;
    }
}

/* Responsive Styles */

@media (max-width:991px) {
span.bamboo {
         left: -60px;
    }

span.rocks {
         right: 0;
    }

span.bamboo, span.rocks {
         transition: all 1s ease-in 0s;
    }

ul.transport li {
         float: none;
    }
}

@media (max-width: 1200px) {
/* carousel */
}

@media (max-width:767px) {
body.smaller, body {
         padding-top: 70px;
    }

.smaller a.offset {
         padding-top: 32px;
        /* Required padding for smooth scrolling to anchor tags. Add .navbar-fixed-top height. */
    }

span.header-page-mobile {
         color: #e3e3e3;
         display: block;
         float: left;
         font-family: "Montserrat", sans-serif;
         font-size: 0.95em;
         padding-left: 70px;
         line-height: 1.2em;
         letter-spacing: 0.1em;
         text-align: left;
         background: url(../img/centro_logo_inv.png) left no-repeat;
         background-size: contain;
         margin: 0 0 0 10px;
    }

.navbar-header {
height: 70px;
  display: flex;
  flex-direction: row;
    }

.navbar-fixed-top.navbar-custom {
         background: #222222 none repeat scroll 0 0;
         border: medium none;
    }

.navbar-toggle {
         margin: 15px;

         padding: 8px 10px 4px 10px;
         border-radius: 0.5em;
    }

.navbar-toggle .icon-bar {
         background: #e3e3e3;
         border-radius: 3px;
         display: block;
         height: 3px;
         width: 25px;
         margin-bottom: 5px;
    }

nav.navbar-custom ul.navbar-nav > li > a > span {
         display: none;
    }

.header-page-title {
         display: none;
    }

nav.navbar-custom ul.navbar-nav > li {
         display: block;
    }

nav.navbar-custom ul.navbar-nav > .logo {
         display: none;
    }

nav.navbar-custom ul.navbar-nav > li > a {
         font-size: 1em;
         color: #e3e3e3;
         padding: 8px;
         text-transform: uppercase;
         letter-spacing: 0.2em;
    }

nav.navbar-custom ul.navbar-nav > li > a:hover, nav.navbar-custom ul.navbar-nav > li > a:focus {
         color: #e3e3e3;
    }

.col-centered {
         margin: 0;
         width: 100%;
    }

.col-centered-wide.therapies {
         margin: 0 25%;
         width: 50%;
    }

.col-centered-wide {
         margin: 0 0;
         width: 100%;
    }

.carousel-indicators {
         display: none !important;
    }

.photos {
         margin-top: 1em;
    }

.img-thumb {
         margin-bottom: 15px;
         opacity: 1;
    }

.img-thumb.img-hover:hover {
         transform: none;
    }

div.carousel .carousel {
         height: 70%;
    }

span.philosophy {
         display: none;
    }

span.bamboo, span.rocks {
         opacity: 0.3;
         transition: opacity 1s ease-in 0s;
    }

.terapias1 span.inner {
         background-position: right center;
         background-repeat: no-repeat;
         background-size: cover;
         transition: position 1s ease-in 0s;
         z-index: 1;
         position: absolute;
         top: 0;
         right: 0;
         height: 100%;
         width: 100%;
    }
}

@media (max-width: 421px) {
.col-centered-wide.therapies {
         margin: 0 5%;
         width: 90%;
    }
}

/* ==========================================================
   Adaptação visual Genzō Medicina Chinesa — 2026
   Mantém a estrutura original e atualiza paleta, tipografia e
   componentes para o novo conteúdo.
   ========================================================== */

:root {
    --genzo-ink: #3e342c;
    --genzo-dark: #2b2722;
    --genzo-gold: #e4ad58;
    --genzo-gold-dark: #bd7f2f;
    --genzo-cream: #f7f2ea;
    --genzo-sand: #eee4d6;
    --genzo-clay: #9b5d45;
    --genzo-sage: #72745b;
}

body {
    background-color: var(--genzo-sand);
    color: var(--genzo-ink);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.82em;
    line-height: 1.48;
}

p a, p a:hover, p a:focus { color: var(--genzo-ink) !important; }

section { background-color: var(--genzo-cream); }

section.grey { background: #efe7dc; }

section .black, section.black { background: var(--genzo-dark); }

.header-page-title {
    background: var(--genzo-dark);
    color: #f8f1e7;
    letter-spacing: .28em;
    font-weight: 400;
}

.navbar-fixed-top.navbar-custom { background: rgba(242, 237, 230, .98); /*box-shadow: 0 3px 16px rgba(56,43,31,.08);*/ }

ul.navbar-nav { font-size: .86em; letter-spacing: .04em; }

nav.navbar-custom ul.navbar-nav > li > a { color: #70685f; }

nav.navbar-custom ul.navbar-nav > li > a:hover, nav.navbar-custom ul.navbar-nav > li > a:focus { color: var(--genzo-clay); }

nav.navbar-custom ul.navbar-nav > li > a > span { border-color: var(--genzo-gold-dark); }

nav.navbar-custom ul.navbar-nav > li.logo > a { padding: 4px 18px 3px; line-height: 0; }

nav.navbar-custom ul.navbar-nav > li.logo > a img { width: 72px; height: auto; display: block; }

.smaller nav.navbar-custom ul.navbar-nav > li.logo > a img { width: 48px; height: auto; }

h1, h2, h3, h4 { font-family: "Montserrat", sans-serif; }

h1, h2 { font-weight: 400; }

h2.page-header::after {
    content: "";
    display: block;
    width: 58px;
    height: 3px;
    margin: 16px auto 0;
    background: var(--genzo-gold);
}

h3.page-header { border-color: var(--genzo-gold-dark); }

h3.page-header.philosophy { border-color: var(--genzo-ink); background: rgba(247,242,234,.88); }

span.philosophy { border-color: var(--genzo-ink); }

span.bamboo {
    width: 285px;
    height: 530px;
    background: url(../img/ginkgo-left.png) top left / contain no-repeat;
    top: 35px;
    left: -20px;
    opacity: .58;
}

span.rocks {
    width: 280px;
    height: 430px;
    background: url(../img/ginkgo-right.png) right top / contain no-repeat;
    opacity: .28;
}

.round-image img { box-shadow: 0 8px 24px rgba(71,47,27,.18); object-fit: cover; }

.therapies figure div.info { background: rgba(247,242,234,.97); color: var(--genzo-ink); padding-left: 18px; padding-right: 18px; }

.therapies figure div.info h3 { color: var(--genzo-clay); font-size: 1.12em; }

.therapies figcaption span { color: var(--genzo-ink); }

.therapies figure img:hover { transform: none; }

.terapias0 { padding-bottom: 3em; }

.terapias1 span.inner {
    background-image: linear-gradient(90deg, rgba(247,242,234,0) 35%, rgba(247,242,234,.08)), url(../img/benefits-care.jpg);
    background-position: right center;

    filter: saturate(.8) sepia(.12);
}

.therapies-sheet { background: rgba(247,242,234,.94); box-shadow: 0 12px 38px rgba(61,43,27,.08); }

.therapies-sheet .page-header { border-color: var(--genzo-gold-dark); }

ul.therapies li:before { color: var(--genzo-gold-dark); }

.areas-section {
    padding: 2em 0 5em;
    background: #f7f2ea;
    position: relative;
}

.areas-section::before {
    content: "";
    position: absolute;
    left: -90px;
    bottom: -110px;
    width: 310px;
    height: 420px;
    background: url(../img/ginkgo-left.png) left bottom / contain no-repeat;
    opacity: .09;
    pointer-events: none;
}

.areas-accordion { text-align: left; margin-top: 2em; }

.areas-accordion .panel { border: 0; border-radius: 0; box-shadow: 0 5px 18px rgba(65,47,31,.07); margin-bottom: 12px; background: #fffaf3; }

.areas-accordion .panel-heading { padding: 0; background: transparent; border: 0; }

.areas-accordion .panel-title { text-align: left; font-size: 18px; letter-spacing: .02em; }

.areas-accordion .panel-title a { display: block; padding: 18px 54px 18px 22px; color: var(--genzo-ink); text-decoration: none; position: relative; }

.areas-accordion .panel-title a:hover { color: var(--genzo-gold-dark); }

.areas-accordion .accordion-icon::before, .areas-accordion .accordion-icon::after { content: ""; position: absolute; right: 22px; top: 50%; width: 14px; height: 2px; background: var(--genzo-gold-dark); transition: transform .2s ease; }

.areas-accordion .accordion-icon::after { transform: rotate(90deg); }

.areas-accordion a:not(.collapsed) .accordion-icon::after { transform: rotate(0deg); }

.areas-accordion .panel-body { border-top: 1px solid #ead8c2 !important; padding: 18px 26px 20px; }

.areas-accordion .panel-body ul { margin: 0; columns: 2; column-gap: 45px; padding-left: 20px; }

.areas-accordion .panel-body li { margin-bottom: 7px; break-inside: avoid; }

.brand-quote { position: relative; overflow: hidden; padding: 3.3em 0; background: var(--genzo-dark); }

.brand-quote::after { content: ""; position: absolute; right: 3%; top: -55%; width: 360px; height: 520px; background: url(../img/ginkgo-right.png) center / contain no-repeat; opacity: .10; }

.brand-quote blockquote { position: relative; z-index: 2; border: 0; color: #f5eadc; font-size: 2em; font-style: italic; line-height: 1.25; margin: 0 auto; max-width: 900px; }

.quienes-somos3.black { background: #332d27; }

.photos .img-thumb { aspect-ratio: 720 / 462; object-fit: cover; }

.tarifas0 { padding-bottom: 3em; }

.fees-grid { display: flex; flex-wrap: wrap; justify-content: center; }

.fee-card { padding: 0 20px 28px; }

.tarifas .fee-card p { display: block; margin: 1.2em auto 0; max-width: 300px; color: #f3eadf !important; }

.tarifas span.price { background: none; border: 1px solid var(--genzo-gold); border-radius: 50%; color: #f4e8d8; }

.tarifas span.price .amount, .tarifas span.price .euro { color: #f4e8d8; }

.contacta1 { background: var(--genzo-cream); }

.information-three { margin-bottom: 1em; }

.information .page-header { border-color: var(--genzo-gold-dark); font-size: 22px; }

.row.information div > img:first-child { filter: sepia(.8) saturate(.85) hue-rotate(347deg); opacity: .85; }

div.carousel .carousel-caption div { background: rgba(0,0,0,0.24); border-color: #f6eee4; text-shadow: 0 1px 5px rgba(0,0,0,.38); }

.carousel-indicators li { border-color: #f7eee4; }

.carousel-indicators .active { background-color: var(--genzo-gold); }

.carousel-control.left { background-image: linear-gradient(to right, rgba(46,36,28,.65) 0, rgba(46,36,28,0) 100%); }

.carousel-control.right { background-image: linear-gradient(to right, rgba(46,36,28,0) 0, rgba(46,36,28,.65) 100%); }

@media (max-width: 991px) {
span.bamboo { left: -110px; opacity: .35; }

span.rocks { right: -110px; opacity: .18; }

.terapias1 span.inner { opacity: .35; background-size: cover; }

.therapies-sheet { position: relative; z-index: 3; }

.areas-accordion .panel-body ul { columns: 1; }
}

@media (max-width: 767px) {
.navbar-fixed-top.navbar-custom { background: var(--genzo-dark); }

span.header-page-mobile { background-image: url(../img/logo.png); color: #f2e5d5; padding-left: 4.2em; }

.navbar-toggle { margin-top: 15px; }

.navbar-toggle .icon-bar { background: var(--genzo-gold); }

nav.navbar-custom ul.navbar-nav > li.logo { display: none; }

nav.navbar-custom ul.navbar-nav > li > a { color: #f0e6da; }

nav.navbar-custom ul.navbar-nav > li > a:hover { color: var(--genzo-gold); }

h1, h2 { font-size: 1.75em; letter-spacing: .14em; }

.brand-quote blockquote { font-size: 1.5em; padding: 0 12px; }

.fees-grid { display: block; }
}

@media (max-width: 576px) {
body { font-size: 1.6em; }

.col-centered, .col-centered-wide { margin: 0 5%; width: 90%; }

span.bamboo, span.rocks { display: none; }

.therapies figure div.info { font-size: .94em; }

.areas-accordion .panel-title { font-size: 16px; }

.brand-quote::after { opacity: .06; }
}

/* Final content-fit refinements */

.therapies-sheet .page-header { margin-left:0; padding-left:0; display:block; text-align:left; font-size:24px; line-height:1.25; }

.fee-card > p { min-height:3em; margin-bottom:.8em !important; }

.tarifas .fee-card p + .price { margin-top:.4em; }

/* ================================================================
   Genzō v02 — contraste, tipografia e alinhamentos finais
   Mantém o layout histórico da página e adapta a linguagem visual.
   ================================================================ */

:root {
    --genzo-forest: #21372f;
    --genzo-forest-2: #304d42;
    --genzo-ink: #26332d;
    --genzo-terracotta: #a9553f;
    --genzo-coral: #c87455;
    --genzo-gold: #dfa64e;
    --genzo-sage: #708473;
    --genzo-blue: #56747a;
    --genzo-cream: #fbf6ed;
    --genzo-sand: #eadfce;
    --genzo-rose: #f0ddd3;
    --genzo-white: #fffdf8;
}

html { scroll-behavior: smooth; }

body {
    background: rgba(255,253,248,.985);
    color: var(--genzo-ink);
    font-family: "Inter", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.72;
    font-weight: 400;
    letter-spacing: 0;
}

p, li { font-family: "Inter", Arial, sans-serif; }

p { max-width: 920px; margin-left: auto; margin-right: auto; }

strong { font-weight: 600; }

h1, h2, h3, h4, .carousel-caption div, .brand-quote blockquote {
    font-family: "Lora", Georgia, serif;
}

h1, h2, h3, h4 { color: var(--genzo-forest); }

h1, h2 {
    text-transform: none;
    letter-spacing: .025em;
    font-weight: 500;
}

h2.page-header {
    font-size: clamp(38px, 4vw, 56px);
    line-height: 1.04;
    margin-bottom: .9em;
}

h2.page-header::after {
    width: 120px;
    height: 4px;
    margin-top: 18px;
    background: linear-gradient(90deg, var(--genzo-gold-dark), var(--genzo-gold));
}

h3.page-header {
    font-family: "Lora", Georgia, serif;
    font-size: clamp(28px, 2.8vw, 38px);
    line-height: 1.12;
    letter-spacing: .01em;
    border-color: var(--genzo-terracotta);
}

/* Header and navigation */

.header-page-title {
    padding: 24px 15px 22px;
    background: var(--genzo-forest);
    color: var(--genzo-white);
    font-family: "Lora", Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: none;
    line-height: 1.15;
}

.navbar-fixed-top.navbar-custom {
    background: rgba(255,253,248,.985);
    /*border-bottom: 1px solid rgba(33,55,47,.13);
    box-shadow: 0 5px 20px rgba(33,55,47,.10);*/
}

.navbar-collapse {
    padding-left: 0;
    padding-right: 0;
}

ul.navbar-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-height: 86px;
    margin: 0 auto;
    font-family: "Inter", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .035em;
}

nav.navbar-custom ul.navbar-nav > li {
    display: flex;
    float: none;
    align-items: center;
    align-self: stretch;
}

nav.navbar-custom ul.navbar-nav > li > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 86px;
    padding: 0 19px;
    color: var(--genzo-ink);
    line-height: 1.2;
    padding-top: 10px;
    
}

nav.navbar-custom ul.navbar-nav > li > a:hover, nav.navbar-custom ul.navbar-nav > li > a:focus { color: var(--genzo-terracotta); }

nav.navbar-custom ul.navbar-nav > li > a > span {
    border-color: var(--genzo-terracotta);
    margin-top: 7px;
}

nav.navbar-custom ul.navbar-nav > li.logo > a {
    min-height: 86px;
    padding: 3px 23px;
}

nav.navbar-custom ul.navbar-nav > li.logo > a img {
    width: 68px;
    height: auto;
    display: block;
}

.smaller .header-page-title { padding: 0; line-height: 0; }

.smaller ul.navbar-nav { min-height: 68px; }

.smaller nav.navbar-custom ul.navbar-nav > li > a, .smaller nav.navbar-custom ul.navbar-nav > li.logo > a { min-height: 68px; padding-top: 5px; padding-bottom: 0; }

.smaller nav.navbar-custom ul.navbar-nav > li.logo > a img { width: 50px; height: auto; }

/* Hero */

div.carousel, .smaller div.carousel {
    height: clamp(520px, 67vh, 720px);
    min-height: 520px;
}

div.carousel .fill {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.hero-acupuncture .fill { background-position: center 24%; }

.hero-consultation .fill { background-position: center 25%; }

.hero-space .fill { background-position: center 45%; }

.hero-herbs .fill { background-position: center 52%; }

div.carousel .item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(25,42,35,.35), rgba(25,42,35,.06) 50%, rgba(25,42,35,.18));
    pointer-events: none;
}

div.carousel .carousel-caption { z-index: 2; }

div.carousel .carousel-caption div {
    top: 41%;
    max-width: 760px;
    padding: .30em .85em .36em;
    border: 1px solid rgba(255,253,248,.88);
    background: rgba(0,0,0,.24);
    color: var(--genzo-white);
    font-size: clamp(38px, 4vw, 64px);
    font-weight: normal;
    line-height: 1.02;
    letter-spacing: .035em;
    text-transform: none;
    text-shadow: none;
    box-shadow: 0 16px 50px rgba(20,33,28,.25);
    font-family: "Lora", Georgia, serif;
}

.carousel-indicators .active { background: var(--genzo-gold); }

.carousel-control.left { background-image: linear-gradient(to right, rgba(33,55,47,.70), rgba(33,55,47,0)); }

.carousel-control.right { background-image: linear-gradient(to right, rgba(33,55,47,0), rgba(33,55,47,.70)); }

/* Alternating sections with stronger contrast */

section { background: var(--genzo-cream); }

.quienes-somos > .container { background: var(--genzo-cream); }

.quienes-somos1.bio-panel {
    background: var(--genzo-rose);
    border-top: 1px solid rgba(169,85,63,.14);
    border-bottom: 1px solid rgba(169,85,63,.14);
}

.quienes-somos2 {
    background: var(--genzo-forest);
    color: var(--genzo-white);
}

.quienes-somos2 h3, .quienes-somos2 p { color: var(--genzo-white); }

h3.page-header.philosophy {
    background: transparent;
    border-color: var(--genzo-gold);
    color: var(--genzo-white);
}

span.philosophy { border-color: var(--genzo-gold); }

span.bamboo, span.rocks { filter: saturate(.8) sepia(.15); }

span.bamboo { opacity: .22; }

span.rocks { opacity: .16; }

.round-image img {
    border: 6px solid var(--genzo-white);
    box-shadow: 0 13px 34px rgba(33,55,47,.22);
}

/* University logos */

.logos-three {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 44px;
    width: 100%;
    max-width: 1080px;
    margin: 34px auto 6px;
    padding: 20px 26px;

}

.logos-three a {
    width: 31%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logos-three img {
    width: auto;
    max-width: 100%;
    max-height: 74px;
    object-fit: contain;
    opacity: .88;
}

.logos-three a:nth-child(3) img { max-height: 82px; }

.logos-three img:hover { opacity: 1; transform: none; }

/* Techniques — correct visual mapping */

.terapias0.techniques-panel { background: var(--genzo-white); padding-bottom: 4em; }

.therapies figure span.therapy-1 { background-image: url(../img/tecnica1.png); }

.therapies figure span.therapy-2 { background-image: url(../img/tecnica2.png); }

.therapies figure span.therapy-3 { background-image: url(../img/tecnica3.png); }

.therapies figure span.therapy-4 { background-image: url(../img/tecnica5.png); }

.therapies figure span.therapy-5 { background-image: url(../img/tecnica4.png); }

.therapies figure span.therapy-6 { background-image: url(../img/tecnica6.png); }

.therapies figcaption span {
    font-family: "Inter", Arial, sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--genzo-forest);
}

.therapies figure div.info {
    background: rgba(33,55,47,.97);
    color: var(--genzo-white);
    font-size: 16px;
    line-height: 1.55;
    padding-left: 24px;
    padding-right: 24px;
}

.therapies figure div.info h3 {
    font-family: "Lora", Georgia, serif;
    color: #f1bd68;
    font-size: 26px;
    line-height: 1.1;
}

/* Benefits and clinical areas */

.terapias1.benefits-section { background: #3d1c15; }

.terapias1.benefits-section .therapies-sheet {
    background: rgba(22,18,18,.65);
    color: var(--genzo-ink);
    box-shadow: 0 20px 46px rgba(20,35,36,.22);
}

.terapias1.benefits-section h3, .terapias1.benefits-section p, .terapias1.benefits-section ul {
    color: var(--genzo-white);
}

.terapias1 span.inner { filter: saturate(.9) contrast(1.02); }

ul.therapies li:before { color: var(--genzo-gold); }

.areas-section { background: var(--genzo-sand); }

.areas-accordion .panel {
    background: var(--genzo-white);
    border-left: 4px solid transparent;
}

.areas-accordion .panel:hover { border-left-color: var(--genzo-gold); }

.areas-accordion .panel-title, .areas-accordion .panel-title a { font-family: "Inter", Arial, sans-serif; }

.areas-accordion .panel-title a { font-size: 18px; font-weight: 600; color: var(--genzo-forest); }

.areas-accordion .accordion-icon::before, .areas-accordion .accordion-icon::after { background: var(--genzo-terracotta); }

.brand-quote { background: var(--genzo-gold-dark); }

.brand-quote blockquote {
    color: var(--genzo-white);
    font-weight: 400;
    font-style: normal;
}

/* Clinic, fees and contact */

.quienes-somos3.black { background: var(--genzo-forest); }

.quienes-somos3.black h3.page-header { color: var(--genzo-white); border-color: var(--genzo-gold); }

.photos .img-thumb { border: 1px solid rgba(255,255,255,.12); }

.tarifas0.black { background: var(--genzo-sage); }

.tarifas0 h2.page-header { color: var(--genzo-white); }

.tarifas span.price { border: 2px solid var(--genzo-gold); }

.contacta1 { background: var(--genzo-cream); }

.information .page-header { font-family: "Lora", Georgia, serif; color: var(--genzo-forest); }

/* Legal pages */

@media (max-width: 1120px) and (min-width: 768px) {
ul.navbar-nav { font-size: 12px; }

nav.navbar-custom ul.navbar-nav > li > a { padding-left: 11px; padding-right: 11px; }

nav.navbar-custom ul.navbar-nav > li.logo > a { padding-left: 13px; padding-right: 13px; }
}

@media (max-width: 991px) {
body { font-size: 17px; }

div.carousel, .smaller div.carousel { height: 570px; min-height: 570px; }

.logos-three { gap: 26px; }

.logos-three img { max-height: 62px; }
}

@media (max-width: 767px) {
body { font-size: 17px; line-height: 1.66; }

.navbar-fixed-top.navbar-custom { background: var(--genzo-forest); }

.navbar-collapse { padding-left: 15px; padding-right: 15px; }

ul.navbar-nav {
        display: block;
        min-height: 0;
        margin: 0 -15px;
        padding: 10px 0 16px;
    }

nav.navbar-custom ul.navbar-nav > li { display: block; }

nav.navbar-custom ul.navbar-nav > li > a, .smaller nav.navbar-custom ul.navbar-nav > li > a {
        min-height: 46px;
        padding: 12px 20px;
        color: var(--genzo-white);
    }

span.header-page-mobile {
color: var(--genzo-white);
    font-family: "Lora", Georgia, serif;
    font-size: 20px;
    line-height: 1.05;
    padding-left: 65px;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    height: 70px;
    }

.navbar-toggle .icon-bar { background: var(--genzo-gold); }

div.carousel, .smaller div.carousel { height: 520px; min-height: 520px; }

div.carousel .carousel-caption div {
        top: 42%;
        font-size: clamp(34px, 9vw, 48px);
        max-width: 90%;
    }

.hero-acupuncture .fill { background-position: 38% 24%; }

.hero-consultation .fill { background-position: 64% 24%; }

.logos-three {
        flex-direction: column;
        gap: 22px;
        padding: 26px 14%;
    }

.logos-three a { width: 100%; }

.logos-three img { max-height: 68px; }

h2.page-header { font-size: 38px; }
}

@media (max-width: 480px) {
div.carousel, .smaller div.carousel { height: 470px; min-height: 470px; }

div.carousel .carousel-caption div { top: 40%; font-size: 32px; }

.areas-accordion .panel-title a { font-size: 16px; }
}

/* Small final alignment fixes */

.logos-three {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: min(1080px, calc(100vw - 90px));
    max-width: none;
    flex-wrap: nowrap;
}

@media (max-width: 767px) {
.logos-three {
        left: auto;
        transform: none;
        width: 100%;
        flex-wrap: nowrap;
    }
}

@media (min-width: 992px) {
.container {
    min-width: 980px;
  }
}

@media (max-width: 767px) {
/* Cabecera móvil */

.navbar-header {
		display: flex;
		align-items: center;
		justify-content: space-between;

	}
}
/* =========================
   PÁGINA LEGAL / PRIVACIDADE
   ========================= */

.privacy-page {
    background: var(--genzo-cream);
}

.privacy-page .legal {
    min-height: 70vh;
    padding: 70px 0 90px;
    background: var(--genzo-cream);
    text-align: left;
}

.privacy-page .legal .container {
    max-width: 1100px;
}

.privacy-page .legal .page-header {
    margin-top: 0;
    margin-bottom: 45px;

    font-size: 34px;
    line-height: 1.15;
    letter-spacing: 0.01em;

    text-align: center;
    white-space: nowrap;
}

.privacy-page .legal h3 {
    margin-top: 42px;
    margin-bottom: 16px;

    font-family: "Lora", Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.25;

    color: var(--genzo-forest);
    text-align: left;
}

.privacy-page .legal p {
    max-width: none;
    margin: 0 0 18px;

    font-family: "Inter", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.75;

    color: var(--genzo-ink);
    text-align: left;
}

.privacy-page .legal ul {
    margin: 0 0 24px;
    padding-left: 22px;
}

.privacy-page .legal li {
    margin-bottom: 8px;

    font-family: "Inter", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;

    color: var(--genzo-ink);
}

.privacy-page .legal a {
    color: var(--genzo-terracotta);
    text-decoration: underline;
}

.privacy-page .legal a:hover,
.privacy-page .legal a:focus {
    color: var(--genzo-forest);
}

.privacy-page .legal code {
    padding: 2px 5px;

    background: rgba(33, 55, 47, 0.07);
    border-radius: 3px;

    color: var(--genzo-forest);
    font-size: 0.9em;
}


/* Tablet */
@media (max-width: 991px) {

    .privacy-page .legal {
        padding: 55px 0 75px;
    }

    .privacy-page .legal .container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .privacy-page .legal .page-header {
        font-size: 30px;
        white-space: normal;
    }

}


/* Mobile */
@media (max-width: 767px) {

    .privacy-page .legal {
        padding: 45px 0 60px;
    }

    .privacy-page .legal .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .privacy-page .legal .page-header {
        margin-bottom: 38px;
        font-size: 26px;
        white-space: normal;
    }

    .privacy-page .legal h3 {
        margin-top: 34px;
        font-size: 24px;
    }

    .privacy-page .legal p,
    .privacy-page .legal li {
        font-size: 15px;
        line-height: 1.7;
    }

}
.cedula-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  margin-top: 22px;
  padding: 9px 18px;

  border: 1px solid #c99a4b;
  /*border-radius: 999px;*/

  background: rgba(255, 255, 255, 0.16);

  color: #173c35;
}

.cedula-badge__icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}

.cedula-badge__label,
.cedula-badge__numero {
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
}

.cedula-badge__label {
  letter-spacing: 1px;
  color: #9b7437;
}

.cedula-badge__numero {
  white-space: nowrap;
}

/* Responsive */
@media (max-width: 600px) {
  .cedula-badge {
    gap: 7px;
    padding: 8px 13px;
  }

  .cedula-badge__icon {
    width: 19px;
    height: 19px;
  }

  .cedula-badge__label,
  .cedula-badge__numero {
    font-size: 12px;
  }

  .cedula-badge__label {
    letter-spacing: 0.6px;
  }
}
@media (max-width: 480px) {
  div.carousel .carousel-caption div {
    top: 48%;
    font-size: clamp(2.35rem, 7vw, 2rem);
    max-width: calc(100vw - 90px);
  }
}